Triton-commits
Threads by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
December 2011
- 1 participants
- 49 discussions
Triton Repository branch, aesop-dist, updated. 55591753d0e92c96aed00262f7615e8e84b8b210
by noreply@mcs.anl.gov 19 Dec '11
by noreply@mcs.anl.gov 19 Dec '11
19 Dec '11
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Triton Repository".
The branch, aesop-dist has been updated
via 55591753d0e92c96aed00262f7615e8e84b8b210 (commit)
from b01c416b9e0664c66faa58d4fd7ce0d1a07ebe9e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 55591753d0e92c96aed00262f7615e8e84b8b210
Author: Phil Carns <carns(a)mcs.anl.gov>
Date: Mon Dec 19 13:26:28 2011 -0500
more libtriton->libaesop changes
-----------------------------------------------------------------------
Summary of changes:
code/src/aesop/Makefile.in | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
Diff of changes:
diff --git a/code/src/aesop/Makefile.in b/code/src/aesop/Makefile.in
index cacdb03..92759ec 100644
--- a/code/src/aesop/Makefile.in
+++ b/code/src/aesop/Makefile.in
@@ -386,28 +386,28 @@ $(TEST): %: %.o $(LIBRARIES) $(TEST_LIBRARIES)
$(Q) " LD $@"
$(E)$(call MCC_C,$*) \
-o $@ $< $(LDFLAGS) \
- -L$(builddir)/lib -ltriton $(call MODLIBS_C,$*) \
+ -L$(builddir)/lib -laesop $(call MODLIBS_C,$*) \
$(LIBS)
$(PROGRAM): %: %.o $(LIBRARIES) $(TEST_LIBRARIES)
$(Q) " LD $@"
$(E)$(call MCC_C,$*) \
-o $@ $< $(LDFLAGS) \
- -L$(builddir)/lib -ltriton $(call MODLIBS_C,$*) \
+ -L$(builddir)/lib -laesop $(call MODLIBS_C,$*) \
$(LIBS)
$(AETEST): %: %.o $(LIBRARIES) $(TEST_LIBRARIES)
$(Q) " LD $@"
$(E)$(call MCC_AE,$*) \
-o $@ $< $(LDFLAGS) \
- -L$(builddir)/lib -ltriton \
+ -L$(builddir)/lib -laesop \
$(call MODLDFLAGS_AE,$*) $(call MODLIBS_AE,$*) $(LIBS)
$(AEPROGRAM): %: %.o $(LIBRARIES)
$(Q) " LD $@"
$(E)$(call MCC_AE,$*) \
-o $@ $< $(LDFLAGS) \
- -L$(builddir)/lib -ltriton \
+ -L$(builddir)/lib -laesop \
$(call MODLDFLAGS_AE,$*) $(call MODLIBS_AE,$*) \
$(LIBS)
hooks/post-receive
--
Triton Repository
1
0
Triton Repository branch, aesop-dist, updated. b01c416b9e0664c66faa58d4fd7ce0d1a07ebe9e
by noreply@mcs.anl.gov 19 Dec '11
by noreply@mcs.anl.gov 19 Dec '11
19 Dec '11
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Triton Repository".
The branch, aesop-dist has been updated
via b01c416b9e0664c66faa58d4fd7ce0d1a07ebe9e (commit)
from 177b9fbc9bca5768cb0d6436f2df95b5bef4390b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit b01c416b9e0664c66faa58d4fd7ce0d1a07ebe9e
Author: Phil Carns <carns(a)mcs.anl.gov>
Date: Mon Dec 19 13:24:15 2011 -0500
whoops, add missing hs langc stuff
-----------------------------------------------------------------------
Summary of changes:
code/src/aesop/maint/hs/language-c-0.4.tar.gz | Bin 0 -> 108164 bytes
code/src/aesop/maint/hs/language-c.patch | 317 +++++++++++++++++++++++++
2 files changed, 317 insertions(+), 0 deletions(-)
create mode 100644 code/src/aesop/maint/hs/language-c-0.4.tar.gz
create mode 100644 code/src/aesop/maint/hs/language-c.patch
Diff of changes:
diff --git a/code/src/aesop/maint/hs/language-c-0.4.tar.gz b/code/src/aesop/maint/hs/language-c-0.4.tar.gz
new file mode 100644
index 0000000..505521f
Binary files /dev/null and b/code/src/aesop/maint/hs/language-c-0.4.tar.gz differ
diff --git a/code/src/aesop/maint/hs/language-c.patch b/code/src/aesop/maint/hs/language-c.patch
new file mode 100644
index 0000000..fffc133
--- /dev/null
+++ b/code/src/aesop/maint/hs/language-c.patch
@@ -0,0 +1,317 @@
+diff -Naur language-c-0.4/language-c.cabal language-c-0.4-new/language-c.cabal
+--- language-c-0.4/language-c.cabal 2011-01-06 11:46:35.000000000 -0600
++++ language-c-0.4-new/language-c.cabal 2011-01-06 15:31:57.629238232 -0600
+@@ -1,4 +1,4 @@
+-Name: language-c
++Name: language-aesop
+ Version: 0.4
+ Cabal-Version: >= 1.2
+ Build-Type: Simple
+@@ -6,7 +6,7 @@
+ License-File: LICENSE
+ Copyright: LICENSE
+ Author: AUTHORS
+-Maintainer: benedikt.huber(a)gmail.com
++Maintainer: benedikt.huber(a)gmail.com [Modified by Sam Lang (slang(a)mcs.anl.gov) for aesop]
+ Stability: experimental
+ Homepage: http://www.sivity.net/projects/language.c/
+ Bug-reports: http://www.sivity.net/projects/language.c/
+@@ -14,6 +14,7 @@
+ Description: Language C is a haskell library for the analysis and generation of C code.
+ It features a complete, well tested parser and pretty printer for all of C99 and a large
+ set of GNU extensions.
++ This modified version includes extensions for AESOP.
+ Category: Language
+
+ Extra-Source-Files: AUTHORS AUTHORS.c2hs ChangeLog README
+@@ -48,7 +49,6 @@
+ Build-Depends: bytestring >= 0.9.0
+ else
+ cpp-options: -DNO_BYTESTRING
+- Build-Tools: happy, alex
+
+ Hs-Source-Dirs: src
+ Exposed-Modules:
+diff -Naur language-c-0.4/src/Language/C/Data/Ident.hs language-c-0.4-new/src/Language/C/Data/Ident.hs
+--- language-c-0.4/src/Language/C/Data/Ident.hs 2011-01-06 11:46:35.000000000 -0600
++++ language-c-0.4-new/src/Language/C/Data/Ident.hs 2011-01-06 15:31:57.632007216 -0600
+@@ -17,7 +17,7 @@
+ module Language.C.Data.Ident (
+ Ident(..),
+ SUERef(..), isAnonymousRef,
+- mkIdent, builtinIdent, internalIdent, internalIdentAt, isInternalIdent, identToString, dumpIdent)
++ mkIdent, builtinIdent, internalIdent, internalIdentAt, isInternalIdent, identToString, dumpIdent, hashIdent)
+ where
+
+ -- TODO (comment from manuel):
+@@ -133,3 +133,6 @@
+ -- | dump the identifier string and its positions for debugging purposes
+ dumpIdent :: Ident -> String
+ dumpIdent ide = identToString ide ++ " at " ++ show (nodeInfo ide)
++
++hashIdent :: Ident -> Int
++hashIdent (Ident _ h _) = h
+diff -Naur language-c-0.4/src/Language/C/Data/Position.hs language-c-0.4-new/src/Language/C/Data/Position.hs
+--- language-c-0.4/src/Language/C/Data/Position.hs 2011-01-06 11:46:35.000000000 -0600
++++ language-c-0.4-new/src/Language/C/Data/Position.hs 2011-01-06 15:31:57.634482017 -0600
+@@ -50,7 +50,7 @@
+ show BuiltinPosition = "<builtin>"
+ show InternalPosition = "<internal>"
+
+-{-# DEPRECATED posColumn "column number information is inaccurate in presence of macros - do not rely on it." #-}
++{-- DEPRECATED posColumn "column number information is inaccurate in presence of macros - do not rely on it." --}
+
+ -- | @position absoluteOffset fileName lineNumber columnNumber@ initializes a @Position@ using the given arguments
+ position :: Int -> String -> Int -> Int -> Position
+diff -Naur language-c-0.4/src/Language/C/Parser/Lexer.x language-c-0.4-new/src/Language/C/Parser/Lexer.x
+--- language-c-0.4/src/Language/C/Parser/Lexer.x 2011-01-06 11:46:35.000000000 -0600
++++ language-c-0.4-new/src/Language/C/Parser/Lexer.x 2011-01-06 15:31:57.636922062 -0600
+@@ -351,6 +351,13 @@
+ idkwtok ('v' : 'o' : 'l' : 'a' : 't' : 'i' : 'l' : 'e' : []) = tok 8 CTokVolatile
+ idkwtok ('_' : '_' : 'v' : 'o' : 'l' : 'a' : 't' : 'i' : 'l' : 'e' : '_' : '_' : []) = tok 12 CTokVolatile
+ idkwtok ('w' : 'h' : 'i' : 'l' : 'e' : []) = tok 5 CTokWhile
++idkwtok ('_':'_':'b':'l':'o':'c':'k':'i':'n':'g':[]) = tok 10 CTokBlocking
++idkwtok ('_':'_':'r':'e':'m':'o':'t':'e':[]) = tok 10 CTokRemote
++idkwtok ('p':'w':'a':'i':'t':[]) = tok 5 CTokPWait
++idkwtok ('p':'b':'r':'a':'n':'c':'h':[]) = tok 7 CTokPBranch
++idkwtok ('p':'b':'r':'e':'a':'k':[]) = tok 6 CTokPBreak
++idkwtok ('p':'p':'r':'i':'v':'a':'t':'e':[]) = tok 6 CTokPPrivate
++idkwtok ('p':'s':'h':'a':'r':'e':'d':[]) = tok 6 CTokPShared
+
+ idkwtok cs = \pos -> do
+ name <- getNewName
+diff -Naur language-c-0.4/src/Language/C/Parser/Parser.y language-c-0.4-new/src/Language/C/Parser/Parser.y
+--- language-c-0.4/src/Language/C/Parser/Parser.y 2011-01-11 11:33:19.331089585 -0600
++++ language-c-0.4-new/src/Language/C/Parser/Parser.y 2011-01-11 11:44:45.593786776 -0600
+@@ -217,6 +217,8 @@
+ typedef { CTokTypedef _ }
+ typeof { CTokTypeof _ }
+ "__thread" { CTokThread _ }
++"__blocking" { CTokBlocking _ }
++"__remote" { CTokRemote _ }
+ union { CTokUnion _ }
+ unsigned { CTokUnsigned _ }
+ void { CTokVoid _ }
+@@ -236,6 +238,11 @@
+ "__builtin_va_arg" { CTokGnuC GnuCVaArg _ }
+ "__builtin_offsetof" { CTokGnuC GnuCOffsetof _ }
+ "__builtin_types_compatible_p" { CTokGnuC GnuCTyCompat _ }
++pwait { CTokPWait _ }
++pbranch { CTokPBranch _ }
++pbreak { CTokPBreak _ }
++pshared { CTokPShared _ }
++pprivate { CTokPPrivate _ }
+
+ %%
+
+@@ -359,6 +366,7 @@
+ | iteration_statement { $1 }
+ | jump_statement { $1 }
+ | asm_statement {% withNodeInfo $1 (CAsm $1) }
++ | parallel_statement { $1 }
+
+
+ -- parse C labeled statement (C99 6.8.1)
+@@ -473,6 +481,16 @@
+ | for '(' enter_scope declaration expression_opt ';' expression_opt ')' statement leave_scope
+ {% withNodeInfo $1 $ CFor (Right $4) $5 $7 $9 }
+
++-- parse Parallel C statement
++--
++parallel_statement :: { CStat }
++parallel_statement
++ : pwait statement
++ {% withNodeInfo $1 $ CPWait $2 }
++ | pbranch statement
++ {% withNodeInfo $1 $ CPBranch $2 }
++ | pbreak
++ {% withNodeInfo $1 $ CPBreak }
+
+ -- parse C jump statement (C99 6.8.6)
+ --
+@@ -550,7 +568,7 @@
+ -- storage class and type qualifier
+ ---------------------------------------------------------------------------------------------------------------
+ attr :- __attribute__((..))
+-storage_class :- typedef | extern | static | auto | register | __thread
++storage_class :- typedef | extern | static | auto | register | __thread | __blocking | pprivate | ppshared
+ type_qualifier :- const | volatile | restrict | inline
+ type_qualifier_list :- type_qualifier+
+
+@@ -755,7 +773,7 @@
+
+
+ -- A mixture of type qualifiers (const, volatile, restrict, inline) and storage class specifiers
+--- (extern, static, auto, register, __thread), in any order, but containing at least one storage class specifier.
++-- (extern, static, auto, register, __thread, __blocking, pshared, pprivate), in any order, but containing at least one storage class specifier.
+ --
+ -- declaration_qualifier_list :- <permute> type_qualifier* storage_class+
+ --
+@@ -1188,6 +1206,10 @@
+ | volatile {% withNodeInfo $1 $ CVolatQual }
+ | restrict {% withNodeInfo $1 $ CRestrQual }
+ | inline {% withNodeInfo $1 $ CInlineQual }
++ | "__blocking" {% withNodeInfo $1 $ CBlocking }
++ | "__remote" {% withNodeInfo $1 $ CRemote }
++ | pshared {% withNodeInfo $1 $ CPShared }
++ | pprivate {% withNodeInfo $1 $ CPPrivate }
+
+ -- a list containing at least one type_qualifier (const, volatile, restrict, inline)
+ -- and additionally CAttrs
+@@ -2161,13 +2183,17 @@
+ withAsmNameAttrs (mAsmName, newAttrs) declr = setAsmName mAsmName (appendObjAttrsR newAttrs declr)
+
+ appendDeclrAttrs :: [CAttr] -> CDeclrR -> CDeclrR
+-appendDeclrAttrs newAttrs (CDeclrR ident (Reversed []) asmname cattrs at)
+- = CDeclrR ident empty asmname (cattrs ++ newAttrs) at
+ appendDeclrAttrs newAttrs (CDeclrR ident (Reversed (x:xs)) asmname cattrs at)
+- = CDeclrR ident (Reversed (appendAttrs x : xs)) asmname cattrs at where
+- appendAttrs (CPtrDeclr typeQuals at) = CPtrDeclr (typeQuals ++ map CAttrQual newAttrs) at
+- appendAttrs (CArrDeclr typeQuals arraySize at) = CArrDeclr (typeQuals ++ map CAttrQual newAttrs) arraySize at
+- appendAttrs (CFunDeclr parameters cattrs at) = CFunDeclr parameters (cattrs ++ newAttrs) at
++ | hasFunDeclr (x:xs) = CDeclrR ident (Reversed (appendAttrs x : xs)) asmname cattrs at
++ | otherwise = CDeclrR ident (Reversed (x:xs)) asmname (cattrs ++ newAttrs) at
++ where appendAttrs (CPtrDeclr typeQuals at) = CPtrDeclr (typeQuals ++ map CAttrQual newAttrs) at
++ appendAttrs (CArrDeclr typeQuals arraySize at) = CArrDeclr (typeQuals ++ map CAttrQual newAttrs) arraySize at
++ appendAttrs (CFunDeclr parameters cattrs at) = CFunDeclr parameters (cattrs ++ newAttrs) at
++ isFunDeclr (CFunDeclr _ _ _) = True
++ isFunDeclr _ = False
++ hasFunDeclr ds = any isFunDeclr ds
++appendDeclrAttrs newAttrs (CDeclrR ident derived asmname cattrs at)
++ = CDeclrR ident derived asmname (cattrs ++ newAttrs) at
+
+ ptrDeclr :: CDeclrR -> [CTypeQual] -> NodeInfo -> CDeclrR
+ ptrDeclr (CDeclrR ident derivedDeclrs asmname cattrs dat) tyquals at
+diff -Naur language-c-0.4/src/Language/C/Parser/Tokens.hs language-c-0.4-new/src/Language/C/Parser/Tokens.hs
+--- language-c-0.4/src/Language/C/Parser/Tokens.hs 2011-01-06 11:46:35.000000000 -0600
++++ language-c-0.4-new/src/Language/C/Parser/Tokens.hs 2011-01-06 15:31:57.643469288 -0600
+@@ -132,6 +132,13 @@
+ | CTokTyIdent !PosLength !Ident -- `typedef-name' identifier
+ | CTokGnuC !GnuCTok !PosLength -- special GNU C tokens
+ | CTokEof -- end of file
++ | CTokBlocking !PosLength -- '__blocking'
++ | CTokRemote !PosLength -- '__remote'
++ | CTokPWait !PosLength -- `pwait'
++ | CTokPBranch !PosLength -- `pbranch'
++ | CTokPBreak !PosLength -- `pbreak'
++ | CTokPShared !PosLength -- `pshared'
++ | CTokPPrivate !PosLength -- `pprivate'
+
+ -- special tokens used in GNU C extensions to ANSI C
+ --
+@@ -242,6 +249,13 @@
+ posLenOfTok (CTokIdent pos _) = pos
+ posLenOfTok (CTokTyIdent pos _) = pos
+ posLenOfTok (CTokGnuC _ pos ) = pos
++posLenOfTok (CTokBlocking pos ) = pos
++posLenOfTok (CTokRemote pos ) = pos
++posLenOfTok (CTokPWait pos ) = pos
++posLenOfTok (CTokPBranch pos ) = pos
++posLenOfTok (CTokPBreak pos ) = pos
++posLenOfTok (CTokPPrivate pos ) = pos
++posLenOfTok (CTokPShared pos ) = pos
+ posLenOfTok CTokEof = error "tokenPos: Eof"
+
+ instance Show CToken where
+@@ -327,11 +341,18 @@
+ showsPrec _ (CTokTypedef _ ) = showString "typedef"
+ showsPrec _ (CTokTypeof _ ) = showString "typeof"
+ showsPrec _ (CTokThread _ ) = showString "__thread"
++ showsPrec _ (CTokBlocking _ ) = showString "__blocking"
++ showsPrec _ (CTokRemote _ ) = showString "__remote"
+ showsPrec _ (CTokUnion _ ) = showString "union"
+ showsPrec _ (CTokUnsigned _ ) = showString "unsigned"
+ showsPrec _ (CTokVoid _ ) = showString "void"
+ showsPrec _ (CTokVolatile _ ) = showString "volatile"
+ showsPrec _ (CTokWhile _ ) = showString "while"
++ showsPrec _ (CTokPWait _ ) = showString "pwait"
++ showsPrec _ (CTokPBranch _ ) = showString "pbranch"
++ showsPrec _ (CTokPBreak _ ) = showString "pbreak"
++ showsPrec _ (CTokPPrivate _ ) = showString "pprivate"
++ showsPrec _ (CTokPShared _ ) = showString "pshared"
+ showsPrec _ (CTokCLit _ c) = shows c
+ showsPrec _ (CTokILit _ i) = shows i
+ showsPrec _ (CTokFLit _ f) = shows f
+diff -Naur language-c-0.4/src/Language/C/Pretty.hs language-c-0.4-new/src/Language/C/Pretty.hs
+--- language-c-0.4/src/Language/C/Pretty.hs 2011-01-06 11:46:35.000000000 -0600
++++ language-c-0.4-new/src/Language/C/Pretty.hs 2011-01-06 15:31:57.646019992 -0600
+@@ -154,7 +154,11 @@
+ pretty (CReturn Nothing _) = ii $ text "return" <> semi
+ pretty (CReturn (Just e) _) = ii $ text "return" <+> pretty e <> semi
+ pretty (CAsm asmStmt _) = pretty asmStmt
+- prettyPrec p (CCompound localLabels bis _) =
++ pretty (CPWait stmt _) =
++ ii $ text "pwait" $+$ prettyPrec (-1) stmt
++ pretty (CPBranch stmt _) = ii $ text "pbranch" $+$ prettyPrec (-1) stmt
++ pretty (CPBreak _) = ii $ text "pbreak" <> semi
++ prettyPrec p (CCompound localLabels bis ni) =
+ let inner = text "{" $+$ mlistP ppLblDecls localLabels $+$ vcat (map pretty bis) $$ text "}"
+ in if p == -1 then inner else ii inner
+ where ppLblDecls = vcat . map (\l -> text "__label__" <+> identP l <+> semi)
+@@ -253,6 +257,10 @@
+ pretty (CRestrQual _) = text "__restrict"
+ pretty (CInlineQual _) = text "inline"
+ pretty (CAttrQual a) = attrlistP [a]
++ pretty (CBlocking _) = text "__blocking"
++ pretty (CRemote _) = text "__remote"
++ pretty (CPShared _) = text "pshared"
++ pretty (CPPrivate _) = text "pprivate"
+
+ instance Pretty CStructUnion where
+ pretty (CStruct tag ident Nothing cattrs _) = pretty tag <+> attrlistP cattrs <+> maybeP identP ident
+@@ -375,8 +383,8 @@
+ <+> maybeP pretty expr2 <+> text ":" <+> prettyPrec 4 expr3
+ prettyPrec p (CBinary op expr1 expr2 _) =
+ let prec = binPrec op
+- in parenPrec p prec $ prettyPrec prec expr1
+- <+> pretty op <+> prettyPrec (prec + 1) expr2
++ in parenPrec p prec $ text "(" <+> prettyPrec prec expr1
++ <+> pretty op <+> prettyPrec (prec + 1) expr2 <+> text ")"
+ prettyPrec p (CCast decl expr _) =
+ parenPrec p 25 $ text "(" <> pretty decl <> text ")"
+ <+> prettyPrec 25 expr
+diff -Naur language-c-0.4/src/Language/C/Syntax/AST.hs language-c-0.4-new/src/Language/C/Syntax/AST.hs
+--- language-c-0.4/src/Language/C/Syntax/AST.hs 2011-01-06 11:46:35.000000000 -0600
++++ language-c-0.4-new/src/Language/C/Syntax/AST.hs 2011-01-06 15:31:57.648960933 -0600
+@@ -276,6 +276,9 @@
+ | CReturn (Maybe (CExpression a)) a
+ -- | assembly statement
+ | CAsm CAsmStmt a
++ | CPWait CStat a
++ | CPBranch CStat a
++ | CPBreak a
+ deriving (Data,Typeable {-! CNode !-})
+
+ -- | GNU Assembler statement
+@@ -399,6 +402,10 @@
+ | CRestrQual a
+ | CInlineQual a
+ | CAttrQual (CAttribute a)
++ | CBlocking a -- ^ blocking function
++ | CRemote a -- ^ remote function
++ | CPShared a -- ^ shared variable across pbranch blocks
++ | CPPrivate a -- ^ private variable across pbranch blocks
+ deriving (Data,Typeable {-! CNode !-})
+
+ -- | C structure or union specifiers (K&R A8.3, C99 6.7.2.1)
+@@ -663,6 +670,9 @@
+ nodeInfo (CBreak d) = nodeInfo d
+ nodeInfo (CReturn _ t) = nodeInfo t
+ nodeInfo (CAsm _ t) = nodeInfo t
++ nodeInfo (CPWait _ t) = nodeInfo t
++ nodeInfo (CPBranch _ t) = nodeInfo t
++ nodeInfo (CPBreak t) = nodeInfo t
+ instance CNode t1 => Pos (CStatement t1)
+ where posOf x = posOfNode (nodeInfo x)
+
+@@ -726,6 +736,10 @@
+ nodeInfo (CRestrQual d) = nodeInfo d
+ nodeInfo (CInlineQual d) = nodeInfo d
+ nodeInfo (CAttrQual d) = nodeInfo d
++ nodeInfo (CBlocking d) = nodeInfo d
++ nodeInfo (CRemote d) = nodeInfo d
++ nodeInfo (CPPrivate d) = nodeInfo d
++ nodeInfo (CPShared d) = nodeInfo d
+ instance CNode t1 => Pos (CTypeQualifier t1)
+ where posOf x = posOfNode (nodeInfo x)
+
hooks/post-receive
--
Triton Repository
1
0
Triton Repository branch, aesop-dist, updated. 177b9fbc9bca5768cb0d6436f2df95b5bef4390b
by noreply@mcs.anl.gov 19 Dec '11
by noreply@mcs.anl.gov 19 Dec '11
19 Dec '11
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Triton Repository".
The branch, aesop-dist has been updated
via 177b9fbc9bca5768cb0d6436f2df95b5bef4390b (commit)
from 0ee0a3d8444ba7dd9ecf3a501dd660a18dcbade4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 177b9fbc9bca5768cb0d6436f2df95b5bef4390b
Author: Phil Carns <carns(a)mcs.anl.gov>
Date: Mon Dec 19 13:19:38 2011 -0500
libtriton -> libaesop
-----------------------------------------------------------------------
Summary of changes:
code/src/aesop/Makefile.in | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
Diff of changes:
diff --git a/code/src/aesop/Makefile.in b/code/src/aesop/Makefile.in
index ac0f78a..cacdb03 100644
--- a/code/src/aesop/Makefile.in
+++ b/code/src/aesop/Makefile.in
@@ -369,9 +369,9 @@ runVALGRIND = $(patsubst %,valgrind%,$(TESTS))
# for now we just use static if we're not on a mac
ifneq (,$(USE_DYLIBS))
-LIBRARIES=lib/libtriton.dylib
+LIBRARIES=lib/libaesop.dylib
else
-LIBRARIES=lib/libtriton.a
+LIBRARIES=lib/libaesop.a
endif
DOCHTML=$(patsubst %.txt,%.html,$(DOCSRC))
@@ -429,22 +429,22 @@ $(TESTLIBOBJS): %.o: %.c
$(LIBCFLAGS) $(CFLAGS) $(CWARNS) \
$(call MODCFLAGS_C,$*) $<
-lib/libtriton.a: $(AELIBOBJS) $(LIBOBJS) $(GENLIBOBJS)
+lib/libaesop.a: $(AELIBOBJS) $(LIBOBJS) $(GENLIBOBJS)
$(Q) " RANLIB $@"
$(E)$(INSTALL) -d lib
$(E)ar rcs $@ $(AELIBOBJS) $(LIBOBJS) $(GENLIBOBJS)
# shared objects
-lib/libtriton.so: $(AELIBOBJS) $(LIBOBJS) $(GENLIBOBJS)
+lib/libaesop.so: $(AELIBOBJS) $(LIBOBJS) $(GENLIBOBJS)
$(Q) " LDSO $@"
$(E)$(INSTALL) -d lib
- $(E)$(LDSHARED) -Wl,-soname,libtriton.so -o $@ $(AELIBOBJS) $(LIBOBJS) $(GENLIBOBJS)
+ $(E)$(LDSHARED) -Wl,-soname,libaesop.so -o $@ $(AELIBOBJS) $(LIBOBJS) $(GENLIBOBJS)
-lib/libtriton.dylib: $(AELIBOBJS) $(LIBOBJS)
+lib/libaesop.dylib: $(AELIBOBJS) $(LIBOBJS)
$(Q) " DYLIB $@"
$(E)$(INSTALL) -d lib
- $(E)$(TCC) -o lib/libtriton.dylib -dynamiclib -current_version 0.0.1 -install_name lib/libtriton.0.0.1.dylib \
+ $(E)$(TCC) -o lib/libaesop.dylib -dynamiclib -current_version 0.0.1 -install_name lib/libaesop.0.0.1.dylib \
$(AELIBOBJS) $(LIBOBJS) $(DEPLIBS)
# AE rule compiles *.ae files to object files
hooks/post-receive
--
Triton Repository
1
0
Triton Repository branch, aesop-dist, updated. 0ee0a3d8444ba7dd9ecf3a501dd660a18dcbade4
by noreply@mcs.anl.gov 19 Dec '11
by noreply@mcs.anl.gov 19 Dec '11
19 Dec '11
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Triton Repository".
The branch, aesop-dist has been updated
via 0ee0a3d8444ba7dd9ecf3a501dd660a18dcbade4 (commit)
from 8c0fc624038ebfe9f98451fb8e6022a5f2b89f5d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 0ee0a3d8444ba7dd9ecf3a501dd660a18dcbade4
Author: Phil Carns <carns(a)mcs.anl.gov>
Date: Mon Dec 19 13:12:48 2011 -0500
cut files from top level dir
-----------------------------------------------------------------------
Summary of changes:
code/Makefile.in | 697 ---
code/configure.ac | 380 --
code/maint/aecc-utils.in | 649 ---
code/maint/aecc.in | 122 -
code/maint/asciidoc/asciidoc | 1 -
code/maint/asciidoc/asciidoc-8.6.3/BUGS | 27 -
code/maint/asciidoc/asciidoc-8.6.3/BUGS.txt | 20 -
code/maint/asciidoc/asciidoc-8.6.3/CHANGELOG | 2781 ----------
code/maint/asciidoc/asciidoc-8.6.3/CHANGELOG.txt | 2683 ---------
code/maint/asciidoc/asciidoc-8.6.3/COPYING | 339 --
code/maint/asciidoc/asciidoc-8.6.3/COPYRIGHT | 18 -
code/maint/asciidoc/asciidoc-8.6.3/INSTALL | 235 -
code/maint/asciidoc/asciidoc-8.6.3/INSTALL.txt | 227 -
code/maint/asciidoc/asciidoc-8.6.3/MANIFEST | 87 -
code/maint/asciidoc/asciidoc-8.6.3/Makefile.in | 177 -
code/maint/asciidoc/asciidoc-8.6.3/README | 44 -
code/maint/asciidoc/asciidoc-8.6.3/README.txt | 35 -
code/maint/asciidoc/asciidoc-8.6.3/a2x.py | 843 ---
code/maint/asciidoc/asciidoc-8.6.3/asciidoc.conf | 604 ---
code/maint/asciidoc/asciidoc-8.6.3/asciidoc.py | 5668 --------------------
code/maint/asciidoc/asciidoc-8.6.3/asciidocapi.py | 257 -
code/maint/asciidoc/asciidoc-8.6.3/common.aap | 9 -
code/maint/asciidoc/asciidoc-8.6.3/configure.ac | 11 -
.../asciidoc-8.6.3/dblatex/asciidoc-dblatex.sty | 20 -
.../asciidoc-8.6.3/dblatex/asciidoc-dblatex.xsl | 74 -
.../asciidoc-8.6.3/dblatex/dblatex-readme.txt | 39 -
code/maint/asciidoc/asciidoc-8.6.3/doc/a2x.1 | 554 --
code/maint/asciidoc/asciidoc-8.6.3/doc/a2x.1.txt | 284 -
.../asciidoc-8.6.3/doc/article-docinfo.xml | 87 -
code/maint/asciidoc/asciidoc-8.6.3/doc/article.pdf | Bin 36206 -> 0 bytes
code/maint/asciidoc/asciidoc-8.6.3/doc/article.txt | 139 -
code/maint/asciidoc/asciidoc-8.6.3/doc/asciidoc.1 | 194 -
.../asciidoc/asciidoc-8.6.3/doc/asciidoc.1.txt | 126 -
.../asciidoc/asciidoc-8.6.3/doc/asciidoc.conf | 7 -
.../asciidoc/asciidoc-8.6.3/doc/asciidoc.dict | 1012 ----
.../maint/asciidoc/asciidoc-8.6.3/doc/asciidoc.txt | 5604 -------------------
.../asciidoc/asciidoc-8.6.3/doc/asciidocapi.txt | 188 -
.../asciidoc/asciidoc-8.6.3/doc/asciimathml.txt | 61 -
.../asciidoc/asciidoc-8.6.3/doc/book-multi.txt | 181 -
code/maint/asciidoc/asciidoc-8.6.3/doc/book.epub | Bin 17494 -> 0 bytes
code/maint/asciidoc/asciidoc-8.6.3/doc/book.txt | 156 -
.../asciidoc/asciidoc-8.6.3/doc/customers.csv | 18 -
.../asciidoc/asciidoc-8.6.3/doc/docbook-xsl.css | 1 -
.../asciidoc/asciidoc-8.6.3/doc/epub-notes.txt | 229 -
code/maint/asciidoc/asciidoc-8.6.3/doc/faq.txt | 1071 ----
code/maint/asciidoc/asciidoc-8.6.3/doc/images | 1 -
.../asciidoc/asciidoc-8.6.3/doc/latex-backend.txt | 192 -
.../asciidoc/asciidoc-8.6.3/doc/latex-bugs.txt | 134 -
.../asciidoc/asciidoc-8.6.3/doc/latex-filter.pdf | Bin 100218 -> 0 bytes
.../asciidoc/asciidoc-8.6.3/doc/latex-filter.txt | 196 -
.../asciidoc/asciidoc-8.6.3/doc/latexmath.txt | 121 -
.../asciidoc/asciidoc-8.6.3/doc/latexmathml.txt | 41 -
code/maint/asciidoc/asciidoc-8.6.3/doc/main.aap | 229 -
.../asciidoc/asciidoc-8.6.3/doc/music-filter.pdf | Bin 34533 -> 0 bytes
.../asciidoc/asciidoc-8.6.3/doc/music-filter.txt | 148 -
.../doc/publishing-ebooks-with-asciidoc.txt | 380 --
.../asciidoc/asciidoc-8.6.3/doc/slidy-example.txt | 167 -
code/maint/asciidoc/asciidoc-8.6.3/doc/slidy.txt | 114 -
.../asciidoc-8.6.3/doc/source-highlight-filter.pdf | Bin 121210 -> 0 bytes
.../asciidoc-8.6.3/doc/source-highlight-filter.txt | 228 -
.../asciidoc/asciidoc-8.6.3/doc/testasciidoc.txt | 231 -
.../docbook-xsl/asciidoc-docbook-xsl.txt | 65 -
.../asciidoc-8.6.3/docbook-xsl/chunked.xsl | 17 -
.../asciidoc/asciidoc-8.6.3/docbook-xsl/common.xsl | 106 -
.../asciidoc/asciidoc-8.6.3/docbook-xsl/epub.xsl | 39 -
.../asciidoc/asciidoc-8.6.3/docbook-xsl/fo.xsl | 152 -
.../asciidoc-8.6.3/docbook-xsl/htmlhelp.xsl | 16 -
.../asciidoc-8.6.3/docbook-xsl/manpage.xsl | 31 -
.../asciidoc/asciidoc-8.6.3/docbook-xsl/text.xsl | 55 -
.../asciidoc/asciidoc-8.6.3/docbook-xsl/xhtml.xsl | 14 -
code/maint/asciidoc/asciidoc-8.6.3/docbook45.conf | 759 ---
.../asciidoc-8.6.3/examples/website/ASCIIMathML.js | 1 -
.../asciidoc-8.6.3/examples/website/CHANGELOG.txt | 1 -
.../asciidoc-8.6.3/examples/website/INSTALL.txt | 1 -
.../asciidoc-8.6.3/examples/website/LaTeXMathML.js | 1 -
.../examples/website/README-website.txt | 29 -
.../asciidoc-8.6.3/examples/website/README.txt | 1 -
.../asciidoc-8.6.3/examples/website/a2x.1.txt | 1 -
.../examples/website/asciidoc-docbook-xsl.txt | 1 -
.../examples/website/asciidoc-graphviz-sample.txt | 1 -
.../examples/website/asciidoc-xhtml11.js | 1 -
.../examples/website/asciidocapi.txt | 1 -
.../examples/website/asciimathml.txt | 1 -
.../examples/website/build-website.sh | 25 -
.../asciidoc-8.6.3/examples/website/customers.csv | 1 -
.../asciidoc-8.6.3/examples/website/epub-notes.txt | 1 -
.../asciidoc-8.6.3/examples/website/faq.txt | 1 -
.../asciidoc-8.6.3/examples/website/images | 1 -
.../asciidoc-8.6.3/examples/website/index.txt | 418 --
.../examples/website/latex-backend.txt | 1 -
.../asciidoc-8.6.3/examples/website/latex-bugs.txt | 1 -
.../examples/website/latex-filter.txt | 1 -
.../examples/website/latexmathml.txt | 1 -
.../asciidoc-8.6.3/examples/website/layout1.conf | 162 -
.../asciidoc-8.6.3/examples/website/layout1.css | 65 -
.../asciidoc-8.6.3/examples/website/layout2.conf | 158 -
.../asciidoc-8.6.3/examples/website/layout2.css | 93 -
.../asciidoc-8.6.3/examples/website/main.aap | 159 -
.../asciidoc-8.6.3/examples/website/manpage.txt | 1 -
.../examples/website/music-filter.txt | 1 -
.../asciidoc-8.6.3/examples/website/newlists.txt | 40 -
.../asciidoc-8.6.3/examples/website/newtables.txt | 605 ---
.../website/publishing-ebooks-with-asciidoc.txt | 1 -
.../examples/website/slidy-example.txt | 1 -
.../asciidoc-8.6.3/examples/website/slidy.txt | 1 -
.../examples/website/source-highlight-filter.txt | 1 -
.../asciidoc-8.6.3/examples/website/support.txt | 5 -
.../examples/website/testasciidoc.txt | 1 -
.../asciidoc-8.6.3/examples/website/userguide.txt | 1 -
.../asciidoc-8.6.3/examples/website/version83.txt | 37 -
.../examples/website/xhtml11-manpage.css | 1 -
.../examples/website/xhtml11-quirks.css | 1 -
.../asciidoc-8.6.3/examples/website/xhtml11.css | 1 -
.../filters/code/code-filter-readme.txt | 37 -
.../filters/code/code-filter-test.txt | 15 -
.../asciidoc-8.6.3/filters/code/code-filter.conf | 8 -
.../asciidoc-8.6.3/filters/code/code-filter.py | 239 -
.../filters/graphviz/asciidoc-graphviz-sample.txt | 170 -
.../filters/graphviz/graphviz-filter.conf | 43 -
.../filters/graphviz/graphviz2png.py | 169 -
.../asciidoc-8.6.3/filters/latex/latex-filter.conf | 18 -
.../asciidoc-8.6.3/filters/latex/latex2png.py | 216 -
.../filters/music/music-filter-test.txt | 40 -
.../asciidoc-8.6.3/filters/music/music-filter.conf | 31 -
.../asciidoc-8.6.3/filters/music/music2png.py | 197 -
.../source/source-highlight-filter-test.txt | 19 -
.../filters/source/source-highlight-filter.conf | 114 -
code/maint/asciidoc/asciidoc-8.6.3/help.conf | 332 --
code/maint/asciidoc/asciidoc-8.6.3/html4.conf | 503 --
.../asciidoc/asciidoc-8.6.3/images/highlighter.png | Bin 72099 -> 0 bytes
.../asciidoc/asciidoc-8.6.3/images/icons/README | 5 -
.../asciidoc-8.6.3/images/icons/callouts/1.png | Bin 329 -> 0 bytes
.../asciidoc-8.6.3/images/icons/callouts/10.png | Bin 361 -> 0 bytes
.../asciidoc-8.6.3/images/icons/callouts/11.png | Bin 565 -> 0 bytes
.../asciidoc-8.6.3/images/icons/callouts/12.png | Bin 617 -> 0 bytes
.../asciidoc-8.6.3/images/icons/callouts/13.png | Bin 623 -> 0 bytes
.../asciidoc-8.6.3/images/icons/callouts/14.png | Bin 411 -> 0 bytes
.../asciidoc-8.6.3/images/icons/callouts/15.png | Bin 640 -> 0 bytes
.../asciidoc-8.6.3/images/icons/callouts/2.png | Bin 353 -> 0 bytes
.../asciidoc-8.6.3/images/icons/callouts/3.png | Bin 350 -> 0 bytes
.../asciidoc-8.6.3/images/icons/callouts/4.png | Bin 345 -> 0 bytes
.../asciidoc-8.6.3/images/icons/callouts/5.png | Bin 348 -> 0 bytes
.../asciidoc-8.6.3/images/icons/callouts/6.png | Bin 355 -> 0 bytes
.../asciidoc-8.6.3/images/icons/callouts/7.png | Bin 344 -> 0 bytes
.../asciidoc-8.6.3/images/icons/callouts/8.png | Bin 357 -> 0 bytes
.../asciidoc-8.6.3/images/icons/callouts/9.png | Bin 357 -> 0 bytes
.../asciidoc-8.6.3/images/icons/caution.png | Bin 2734 -> 0 bytes
.../asciidoc-8.6.3/images/icons/example.png | Bin 2599 -> 0 bytes
.../asciidoc/asciidoc-8.6.3/images/icons/home.png | Bin 1340 -> 0 bytes
.../asciidoc-8.6.3/images/icons/important.png | Bin 2980 -> 0 bytes
.../asciidoc/asciidoc-8.6.3/images/icons/next.png | Bin 1302 -> 0 bytes
.../asciidoc/asciidoc-8.6.3/images/icons/note.png | Bin 2494 -> 0 bytes
.../asciidoc/asciidoc-8.6.3/images/icons/prev.png | Bin 1348 -> 0 bytes
.../asciidoc/asciidoc-8.6.3/images/icons/tip.png | Bin 2718 -> 0 bytes
.../asciidoc/asciidoc-8.6.3/images/icons/up.png | Bin 1320 -> 0 bytes
.../asciidoc-8.6.3/images/icons/warning.png | Bin 3214 -> 0 bytes
.../asciidoc/asciidoc-8.6.3/images/smallnew.png | Bin 292 -> 0 bytes
.../maint/asciidoc/asciidoc-8.6.3/images/tiger.png | Bin 6515 -> 0 bytes
code/maint/asciidoc/asciidoc-8.6.3/install-sh | 201 -
.../asciidoc-8.6.3/javascripts/ASCIIMathML.js | 938 ----
.../asciidoc-8.6.3/javascripts/LaTeXMathML.js | 1223 -----
.../asciidoc-8.6.3/javascripts/asciidoc-xhtml11.js | 128 -
.../asciidoc/asciidoc-8.6.3/javascripts/slidy.js | 2845 ----------
.../asciidoc/asciidoc-8.6.3/javascripts/toc.js | 77 -
code/maint/asciidoc/asciidoc-8.6.3/lang-de.conf | 51 -
code/maint/asciidoc/asciidoc-8.6.3/lang-en.conf | 54 -
code/maint/asciidoc/asciidoc-8.6.3/lang-es.conf | 55 -
code/maint/asciidoc/asciidoc-8.6.3/lang-fr.conf | 55 -
code/maint/asciidoc/asciidoc-8.6.3/lang-hu.conf | 55 -
code/maint/asciidoc/asciidoc-8.6.3/lang-it.conf | 55 -
code/maint/asciidoc/asciidoc-8.6.3/lang-pt-BR.conf | 56 -
code/maint/asciidoc/asciidoc-8.6.3/lang-ru.conf | 56 -
code/maint/asciidoc/asciidoc-8.6.3/latex.conf | 700 ---
code/maint/asciidoc/asciidoc-8.6.3/main.aap | 77 -
code/maint/asciidoc/asciidoc-8.6.3/slidy.conf | 136 -
.../asciidoc-8.6.3/stylesheets/docbook-xsl.css | 277 -
.../asciidoc-8.6.3/stylesheets/pygments.css | 66 -
.../asciidoc/asciidoc-8.6.3/stylesheets/slidy.css | 445 --
.../stylesheets/volnitsky-quirks.css | 1 -
.../asciidoc-8.6.3/stylesheets/volnitsky.css | 381 --
.../asciidoc-8.6.3/stylesheets/xhtml11-manpage.css | 18 -
.../asciidoc-8.6.3/stylesheets/xhtml11-quirks.css | 43 -
.../asciidoc-8.6.3/stylesheets/xhtml11.css | 388 --
.../asciidoc/asciidoc-8.6.3/tests/asciidocapi.py | 1 -
.../tests/data/deprecated-quotes.txt | 12 -
.../asciidoc-8.6.3/tests/data/filters-test.txt | 90 -
.../asciidoc-8.6.3/tests/data/lang-de-test.txt | 106 -
.../asciidoc-8.6.3/tests/data/lang-en-test.txt | 114 -
.../asciidoc-8.6.3/tests/data/lang-es-test.txt | 106 -
.../asciidoc-8.6.3/tests/data/lang-fr-test.txt | 106 -
.../asciidoc-8.6.3/tests/data/lang-hu-test.txt | 106 -
.../asciidoc-8.6.3/tests/data/lang-pt-BR-test.txt | 106 -
.../asciidoc-8.6.3/tests/data/lang-ru-test.txt | 106 -
.../asciidoc-8.6.3/tests/data/oldtables.txt | 64 -
.../tests/data/rcs-id-marker-test.txt | 6 -
.../asciidoc-8.6.3/tests/data/testcases.txt | 655 ---
.../asciidoc-8.6.3/tests/data/utf8-bom-test.txt | 9 -
.../asciidoc-8.6.3/tests/data/utf8-examples.txt | 217 -
.../asciidoc-8.6.3/tests/testasciidoc.conf | 448 --
.../asciidoc/asciidoc-8.6.3/tests/testasciidoc.py | 411 --
code/maint/asciidoc/asciidoc-8.6.3/text.conf | 16 -
.../vim/ftdetect/asciidoc_filetype.vim | 53 -
.../asciidoc-8.6.3/vim/syntax/asciidoc.vim | 173 -
code/maint/asciidoc/asciidoc-8.6.3/wordpress.conf | 88 -
.../asciidoc/asciidoc-8.6.3/xhtml11-quirks.conf | 61 -
code/maint/asciidoc/asciidoc-8.6.3/xhtml11.conf | 680 ---
code/maint/config/bdb.m4 | 235 -
code/maint/config/ghc.m4 | 26 -
code/maint/config/install-sh | 250 -
code/maint/config/libev.m4 | 39 -
code/maint/config/sqlite.m4 | 185 -
code/maint/config/unix.m4 | 60 -
code/maint/depend-ae.sh | 20 -
code/maint/depend-hae.sh | 21 -
code/maint/depend.sh | 16 -
code/maint/ditaa/COPYING | 340 --
code/maint/ditaa/HISTORY | 16 -
code/maint/ditaa/ditaa.jar | 1 -
code/maint/ditaa/ditaa0_9.jar | Bin 186095 -> 0 bytes
code/maint/handle-ditaa.py | 70 -
code/maint/hs/language-c-0.4.tar.gz | Bin 108164 -> 0 bytes
code/maint/hs/language-c.patch | 317 --
code/maint/parse-error-spec.pl | 103 -
code/maint/search-source.sh | 7 -
code/maint/triton.supp | 40 -
code/prepare | 7 -
code/{ => src/aesop}/maint/hs/.gitignore | 0
code/{ => src/aesop}/maint/hs/setup-hs-debian | 0
code/{ => src/aesop}/maint/hs/setup-hs-local | 0
code/{ => src/aesop}/maint/hs/setup-langc | 0
230 files changed, 0 insertions(+), 47245 deletions(-)
delete mode 100644 code/Makefile.in
delete mode 100644 code/configure.ac
delete mode 100644 code/maint/aecc-utils.in
delete mode 100644 code/maint/aecc.in
delete mode 120000 code/maint/asciidoc/asciidoc
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/BUGS
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/BUGS.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/CHANGELOG
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/CHANGELOG.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/COPYING
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/COPYRIGHT
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/INSTALL
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/INSTALL.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/MANIFEST
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/Makefile.in
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/README
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/README.txt
delete mode 100755 code/maint/asciidoc/asciidoc-8.6.3/a2x.py
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/asciidoc.conf
delete mode 100755 code/maint/asciidoc/asciidoc-8.6.3/asciidoc.py
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/asciidocapi.py
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/common.aap
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/configure.ac
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/dblatex/asciidoc-dblatex.sty
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/dblatex/asciidoc-dblatex.xsl
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/dblatex/dblatex-readme.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/a2x.1
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/a2x.1.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/article-docinfo.xml
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/article.pdf
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/article.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/asciidoc.1
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/asciidoc.1.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/asciidoc.conf
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/asciidoc.dict
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/asciidoc.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/asciidocapi.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/asciimathml.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/book-multi.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/book.epub
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/book.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/customers.csv
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/doc/docbook-xsl.css
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/epub-notes.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/faq.txt
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/doc/images
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/latex-backend.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/latex-bugs.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/latex-filter.pdf
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/latex-filter.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/latexmath.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/latexmathml.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/main.aap
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/music-filter.pdf
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/music-filter.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/publishing-ebooks-with-asciidoc.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/slidy-example.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/slidy.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/source-highlight-filter.pdf
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/source-highlight-filter.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/doc/testasciidoc.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/asciidoc-docbook-xsl.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/chunked.xsl
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/common.xsl
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/epub.xsl
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/fo.xsl
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/htmlhelp.xsl
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/manpage.xsl
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/text.xsl
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/xhtml.xsl
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/docbook45.conf
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/ASCIIMathML.js
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/CHANGELOG.txt
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/INSTALL.txt
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/LaTeXMathML.js
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/examples/website/README-website.txt
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/README.txt
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/a2x.1.txt
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/asciidoc-docbook-xsl.txt
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/asciidoc-graphviz-sample.txt
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/asciidoc-xhtml11.js
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/asciidocapi.txt
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/asciimathml.txt
delete mode 100755 code/maint/asciidoc/asciidoc-8.6.3/examples/website/build-website.sh
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/customers.csv
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/epub-notes.txt
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/faq.txt
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/images
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/examples/website/index.txt
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/latex-backend.txt
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/latex-bugs.txt
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/latex-filter.txt
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/latexmathml.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/examples/website/layout1.conf
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/examples/website/layout1.css
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/examples/website/layout2.conf
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/examples/website/layout2.css
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/examples/website/main.aap
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/manpage.txt
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/music-filter.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/examples/website/newlists.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/examples/website/newtables.txt
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/publishing-ebooks-with-asciidoc.txt
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/slidy-example.txt
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/slidy.txt
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/source-highlight-filter.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/examples/website/support.txt
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/testasciidoc.txt
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/userguide.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/examples/website/version83.txt
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/xhtml11-manpage.css
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/xhtml11-quirks.css
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/examples/website/xhtml11.css
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/filters/code/code-filter-readme.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/filters/code/code-filter-test.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/filters/code/code-filter.conf
delete mode 100755 code/maint/asciidoc/asciidoc-8.6.3/filters/code/code-filter.py
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/filters/graphviz/asciidoc-graphviz-sample.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/filters/graphviz/graphviz-filter.conf
delete mode 100755 code/maint/asciidoc/asciidoc-8.6.3/filters/graphviz/graphviz2png.py
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/filters/latex/latex-filter.conf
delete mode 100755 code/maint/asciidoc/asciidoc-8.6.3/filters/latex/latex2png.py
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/filters/music/music-filter-test.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/filters/music/music-filter.conf
delete mode 100755 code/maint/asciidoc/asciidoc-8.6.3/filters/music/music2png.py
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/filters/source/source-highlight-filter-test.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/filters/source/source-highlight-filter.conf
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/help.conf
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/html4.conf
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/highlighter.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/icons/README
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/1.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/10.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/11.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/12.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/13.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/14.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/15.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/2.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/3.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/4.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/5.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/6.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/7.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/8.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/9.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/icons/caution.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/icons/example.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/icons/home.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/icons/important.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/icons/next.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/icons/note.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/icons/prev.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/icons/tip.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/icons/up.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/icons/warning.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/smallnew.png
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/images/tiger.png
delete mode 100755 code/maint/asciidoc/asciidoc-8.6.3/install-sh
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/javascripts/ASCIIMathML.js
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/javascripts/LaTeXMathML.js
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/javascripts/asciidoc-xhtml11.js
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/javascripts/slidy.js
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/javascripts/toc.js
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/lang-de.conf
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/lang-en.conf
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/lang-es.conf
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/lang-fr.conf
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/lang-hu.conf
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/lang-it.conf
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/lang-pt-BR.conf
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/lang-ru.conf
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/latex.conf
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/main.aap
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/slidy.conf
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/stylesheets/docbook-xsl.css
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/stylesheets/pygments.css
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/stylesheets/slidy.css
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/stylesheets/volnitsky-manpage.css
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/stylesheets/volnitsky-quirks.css
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/stylesheets/volnitsky.css
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/stylesheets/xhtml11-manpage.css
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/stylesheets/xhtml11-quirks.css
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/stylesheets/xhtml11.css
delete mode 120000 code/maint/asciidoc/asciidoc-8.6.3/tests/asciidocapi.py
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/tests/data/deprecated-quotes.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/tests/data/filters-test.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-de-test.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-en-test.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-es-test.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-fr-test.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-hu-test.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-pt-BR-test.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-ru-test.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/tests/data/oldtables.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/tests/data/rcs-id-marker-test.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/tests/data/testcases.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/tests/data/utf8-bom-test.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/tests/data/utf8-examples.txt
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/tests/testasciidoc.conf
delete mode 100755 code/maint/asciidoc/asciidoc-8.6.3/tests/testasciidoc.py
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/text.conf
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/vim/ftdetect/asciidoc_filetype.vim
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/vim/syntax/asciidoc.vim
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/wordpress.conf
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/xhtml11-quirks.conf
delete mode 100644 code/maint/asciidoc/asciidoc-8.6.3/xhtml11.conf
delete mode 100644 code/maint/config/bdb.m4
delete mode 100644 code/maint/config/ghc.m4
delete mode 100755 code/maint/config/install-sh
delete mode 100644 code/maint/config/libev.m4
delete mode 100644 code/maint/config/sqlite.m4
delete mode 100644 code/maint/config/unix.m4
delete mode 100755 code/maint/depend-ae.sh
delete mode 100755 code/maint/depend-hae.sh
delete mode 100755 code/maint/depend.sh
delete mode 100644 code/maint/ditaa/COPYING
delete mode 100644 code/maint/ditaa/HISTORY
delete mode 120000 code/maint/ditaa/ditaa.jar
delete mode 100644 code/maint/ditaa/ditaa0_9.jar
delete mode 100755 code/maint/handle-ditaa.py
delete mode 100644 code/maint/hs/language-c-0.4.tar.gz
delete mode 100644 code/maint/hs/language-c.patch
delete mode 100755 code/maint/parse-error-spec.pl
delete mode 100755 code/maint/search-source.sh
delete mode 100644 code/maint/triton.supp
delete mode 100755 code/prepare
rename code/{ => src/aesop}/maint/hs/.gitignore (100%)
rename code/{ => src/aesop}/maint/hs/setup-hs-debian (100%)
rename code/{ => src/aesop}/maint/hs/setup-hs-local (100%)
rename code/{ => src/aesop}/maint/hs/setup-langc (100%)
Diff of changes:
diff --git a/code/Makefile.in b/code/Makefile.in
deleted file mode 100644
index 07c42af..0000000
--- a/code/Makefile.in
+++ /dev/null
@@ -1,697 +0,0 @@
-###############################################################
-# General documentation
-#
-# This is a single makefile that runs the entire Triton build
-# process. There are no makefiles in subdirectories. For a
-# general introduction to this approach, please read this document
-# by Peter Miller:
-#
-# http://www.tip.net.au/~millerp/rmch/recu-make-cons-harm.html
-#
-# Each subdirectory contains a module.mk file that gets included
-# when make is executed. These module.mk files tell make about the
-# files in each subdirectory that must be built, including any
-# special case rules. Make uses this information to generate a
-# sinle dependency graph and orchestrate the build process from this
-# top level directory.
-#
-# We categorize our source depending on what it will be used for.
-# For example, there are lists of source files for building the
-# server, building the library, building documentation, etc.
-#
-
-###############################################################
-# Generic makefile setup
-
-# define a few generic variables that we need to use; DESTDIR may
-# be overridden on the command line during make install
-DESTDIR =
-srcdir = @srcdir@
-abs_srcdir = @abs_srcdir@
-builddir = @BUILD_ABSOLUTE_TOP@
-prefix = @prefix@
-datarootdir = @datarootdir@
-exec_prefix = @exec_prefix@
-includedir = $(DESTDIR)@includedir@
-mandir = $(DESTDIR)@mandir@
-sbindir = $(DESTDIR)@sbindir@
-bindir = $(DESTDIR)@bindir@
-libdir = $(DESTDIR)@libdir@
-
-# subdirs that contain configure/make
-# SUBDIRS = @subdirs@
-
-VPATH = $(srcdir)
-AEPRETTY =
-AEDEBUG =
-ifneq (,@AE_DEBUG@)
- AEPRETTY = --pretty
- AEDEBUG = @AE_DEBUG@
-endif
-
-# for now assume ghc is installed and in path.
-GHC = @GHC@
-
-CC = @CC@
-LD = @LD@
-BUILD_CC = @BUILD_CC@
-BUILD_LD = @BUILD_LD@
-BUILD_CFLAGS = @BUILD_CFLAGS@
-BUILD_LDFLAGS = @BUILD_LDFLAGS@
-
-STRICT_CFLAGS = @STRICT_CFLAGS@
-VALGRIND_CLEAN = @VALGRIND_CLEAN@
-CPPFLAGS = @CPPFLAGS@
-
-ifneq (0,$(VALGRIND_CLEAN))
- CPPFLAGS += -DVALGRIND_CLEAN -DVALGRIND
-endif
-
-CFLAGS= -I$(srcdir)/src/c-utils -I$(srcdir)/include -I. -I$(srcdir) @DB_CFLAGS@ @CFLAGS@ $(CPPFLAGS)
-
-# enable relocatable
-#CFLAGS += -fPIC
-
-CWARNS=
-ifneq (0,$(STRICT_CFLAGS))
- CWARNS += -Wcast-align -Wbad-function-cast
- CWARNS += -Wmissing-prototypes -Wmissing-declarations
- CWARNS += -Wundef -Wpointer-arith
- CWARNS += -Wnested-externs
- CWARNS += -Wredundant-decls
- # Very noisy, too strict
- CWARNS += -W -Wno-unused-label -Wno-sign-compare
- CWARNS += -Wcast-qual
- CWARNS += -Wshadow
- CWARNS += -Wwrite-strings
- CWARNS += -Wformat
-endif
-
-# don't want to warn when we call format functions without string literal parameters
-# e.g. triton_string_init(&str, myname);
-CWARNS += -Wno-format-security
-
-LDSHARED = $(TCC) -shared
-
-LIBCFLAGS=@LIBCFLAGS@
-# tell libev to use our config.h instead of its own; we can't just put this
-# in the module.mk.in because we need it to take effect when the .d file is
-# generated as well.
-LIBCFLAGS += -DEV_CONFIG_H=\"triton-config.h\"
-LDFLAGS += @LDFLAGS@ -L$(srcdir)/src/c-utils
-LIBS += @LIBS@ -lcrypto -lc-utils -lm
-
-DEPLIBS += @THREAD_LIB@
-
-CPPDEFS=$(filter -D%,$(LIBCFLAGS) $(CFLAGS))
-CPPINCS=$(filter -I%,$(LIBCFLAGS) $(CFLAGS))
-
-MPICC = @MPICC@
-MPICFLAGS = @MPICFLAGS@
-MPILDFLAGS = @MPILDFLAGS@
-MPILIBS = @MPILIBS@
-BUILD_MPI = @BUILD_MPI@
-
-CFLAGS += $(MPICFLAGS)
-LDFLAGS += $(MPILDFLAGS)
-LIBS += $(MPILIBS)
-
-USE_DYLIBS = @USE_DYLIBS@
-
-INSTALL = @INSTALL@
-
-AELIBSRC :=
-LIBSRC :=
-GENLIBSRC :=
-GENLIBHDR :=
-AETESTSRC :=
-AEPROGRAMSRC :=
-AESOP_HDR :=
-AETESTLIBSRC :=
-TESTLIBSRC :=
-HSSRC :=
-HSBINSRC :=
-TESTSRC :=
-PROGRAMSRC :=
-TEST_OUT :=
-TEST_RESULTS :=
-
-REMOTE_LIB_MODULES :=
-REMOTE_TESTLIB_MODULES :=
-REMOTE_TESTSRC :=
-REMOTE_PROGRAMSRC :=
-
-DOCSRC :=
-
-# Eliminate all default suffixes. We want explicit control.
-.SUFFIXES:
-
-QUIET_COMPILE = @QUIET_COMPILE@
-WARNINGS_AS_ERRORS = @WARNINGS_AS_ERRORS@
-
-ifdef V
- QUIET_COMPILE = 0
-endif
-
-ifdef W
- ifeq ($(W),1)
- WARNINGS_AS_ERRORS = 1
- else
- WARNINGS_AS_ERRORS = 0
- endif
-endif
-
-ifdef D
- DA="-l"
-else
- DA=
-endif
-
-ifeq ($(QUIET_COMPILE),1)
- # say a one-line description of the action, do not echo the command
- Q=@echo
- E=@
- VA=
-else
- # do not say the short Q lines, but do echo the entire command
- Q=@echo >/dev/null
- E=
- VA="-v"
-endif
-
-ifeq ($(WARNINGS_AS_ERRORS),1)
- EWARNS = -Werror
-else
- EWARNS =
-endif
-
-# PHONY targets are targets that do not result in the generation
-# of a file that has the same name as the target. Listing them
-# here keeps make from accidentally doing too much work (see GNU
-# make manual).
-.PHONY: all clean parserclean test_results
-
-################################################################
-# Find project subdirectories
-
-# MODULES is a list of subdirectories that we wish to operate on.
-# They are identified by the presence of module.mk files (makefile
-# includes).
-MODULES := $(shell find src/aesop -name "*.mk" | sed -e 's/^.\///;s/module.mk//')
-
-
-################################################################
-# Default target forward pointer, to avoid other targets in make stubs
-all::
-
-#all:: subdirs
-
-
-################################################################
-# Subdir configure
-################################################################
-#.PHONY: subdirs $(SUBDIRS)
-#subdirs: $(SUBDIRS)
-
-#$(SUBDIRS) :
-# make -C $@ $(MAKECMDGOALS)
-
-################################################################
-# Auto regenerate makefile / rerun configure #
-################################################################
-
-$(abs_srcdir)/configure: $(abs_srcdir)/configure.ac $(abs_srcdir)/prepare
- @echo Build files out of date. Rerunning prepare
- @( cd $(abs_srcdir); ./prepare )
-
-$(builddir)/config.status: $(abs_srcdir)/configure
- @echo Build files out of date. Rerunning configure
- @$(builddir)/config.status --recheck
-
-$(builddir)/Makefile: $(abs_srcdir)/Makefile.in $(builddir)/config.status
- @echo Build files out of date. Rerunning config.status
- @$(builddir)/config.status
-
-define addmoddep =
-$(builddir)/$(1)/module.mk: $(abs_srcdir)/$(1)/module.mk.in
- @$(builddir)/config.status
-endef
-
-$(foreach mod,$(MODULES),$(eval $(call addmoddep,$(mod))))
-
-.PHONY: buildsys
-buildsys: $(builddir)/Makefile $(patsubst %,$(builddir)/%/module.mk,$(MODULES)) \
- $(abs_srcdir)/configure
-
-all:: buildsys
-
-################################################################
-# Makefile includes
-
-# this is how we pull build information from all of the project
-# subdirectories, make sure to catch top level module.mk as well
-include $(patsubst %, %/module.mk, $(MODULES))
-
-# Just like dir, but strip the slash off the end, to be pretty.
-dirname = $(patsubst %/,%,$(dir $(1)))
-
-# Generate the canonical in-tree location of a file, given a possible out
-# of tree reference.
-canonname = $(patsubst $(srcdir)/%,%,$(call dirname,$(1)))
-
-canonfname = $(patsubst $(srcdir)/%,%,$(1))
-
-# the "lastword" function is more concise, but not available on
-# older versions of GNU Make
-# bname = $(lastword $(subst /, ,$(1)))
-bname = $(word $(words $(subst /, ,$(1))),$(subst /, ,$(1)))
-
-canondirname = $(subst /,_,$(1))
-
-################################################################
-# Derived file lists
-
-# NOTES: At this point, the subdirectory makefile includes have informed
-# us what the source files are. Now we want to generate some
-# other lists (such as objects, executables, and dependency files)
-# by manipulating the lists of source files
-
-# Grab any CFLAGS defined by the make stub for a particular file, and
-# for the directory in which the source resides.
-# Similar for ldflags.
-modcflags = $(MODCFLAGS_$(call canonname,$(1))) \
- $(MODCFLAGS_$(patsubst $(srcdir)/%,%,$(1)))
-
-MODCFLAGS_AER = $(call modcflags,$(1))
-MODCFLAGS_AE = $(call modcflags,$(1))
-MODCFLAGS_C = $(call modcflags,$(1))
-
-modldflags = $(MODLDFLAGS_$(call canonname,$(1))) \
- $(MODLDFLAGS_$(patsubst $(srcdir)/%,%,$(1)))
-
-MODLDFLAGS_AER = $(call modldflags,$(1))
-MODLDFLAGS_AE = $(call modldflags,$(1))
-MODLDFLAGS_C = $(call modldflags,$(1))
-
-modlibs = $(MODLIBS_$(call canonname,$(1))) \
- $(MODLIBS_$(patsubst $(srcdir)/%,%,$(1)))
-
-MODLIBS_AER = $(call modlibs,$(1))
-MODLIBS_AE = $(call modlibs,$(1))
-MODLIBS_C = $(call modlibs,$(1))
-
-modname = $(MODNAME_$(call canonname,$(1))) \
- $(MODNAME_$(patsubst $(srcdir)/%,%,$(1)))
-
-# use TCC variable so that we can keep CC as the system compiler
-TCC = $(if $(MPICC),$(MPICC),$(CC))
-CPPCC = $(CC)
-
-modcc = $(if $(MODCC_$(1)),$(MODCC_$(1)),$(TCC))
-
-MCC_AER = $(call modcc,$(1))
-MCC_AE = $(call modcc,$(1))
-MCC_C = $(call modcc,$(1))
-
-RMOD_FILES = $(REMOTE_MODSRC_$(call canonfname,$(1)))
-RMOD_SERVICE = $(call bname,$(1))
-RMOD_REGDIR = $(call dirname,$(1))
-RMOD_LIB_FILES = $(REMOTE_MODLIB_OBJS_$(call canonfname,$(1)))
-
-# Get the parameters for a given test
-testparams = $(TESTPARAMS_$(1))
-
-# The object files for the triton library generated from .ae files
-AELIBOBJS=$(patsubst %.ae,%.o,$(AELIBSRC))
-aelibobjs: $(AELIBOBJS)
-
-# The object files for the triton library generated from .c files
-LIBOBJS=$(patsubst %.c,%.o,$(LIBSRC))
-LIBDEPS=$(patsubst %.c,%.d,$(LIBSRC))
-
-GENLIBOBJS=$(patsubst %.c,%.o,$(GENLIBSRC))
-GENLIBDEPS=$(patsubst %.c,%.d,$(GENLIBSRC))
-GENLIBFILES=$(GENLIBSRC) $(GENLIBHDR)
-
-TESTOBJS=$(patsubst %.c,%.o,$(TESTSRC))
-TESTDEPS=$(patsubst %.c,%.d,$(TESTSRC))
-
-TEST=$(patsubst %.c,%,$(TESTSRC))
-
-PROGRAMOBJS=$(patsubst %.c,%.o,$(PROGRAMSRC))
-PROGRAM=$(patsubst %.c,%,$(PROGRAMSRC))
-
-# The object files for binary tests generated from .ae files
-AETESTOBJS=$(patsubst %.ae,%.o,$(AETESTSRC))
-
-# The binary files from .ae test files
-AETEST=$(patsubst %.ae,%,$(AETESTSRC))
-
-AEPROGRAMOBJS=$(patsubst %.ae,%.o,$(AEPROGRAMSRC))
-AEPROGRAM=$(patsubst %.ae,%,$(AEPROGRAMSRC))
-
-# The C header files generated from .hae files
-AESOP_TRHDR=$(patsubst %.hae,%.h,$(AESOP_HDR))
-AESOP_TRHDR_DEPS=$(patsubst %.hae,%.h.d,$(AESOP_HDR))
-
-# The object files for the triton test library generated from .ae files
-AETESTLIBOBJS=$(patsubst %.ae,%.o,$(AETESTLIBSRC))
-
-AEOBJS=$(AETESTLIBOBJS) $(AETESTOBJS) $(AELIBOBJS)
-AEDEPS=$(patsubst %.o,%.ae.d,$(AEOBJS))
-
-# The object files for the test library generated from .c files
-TESTLIBOBJS=$(patsubst %.c,%.o,$(TESTLIBSRC))
-TESTLIBDEPS=$(patsubst %.c,%.d,$(TESTLIBSRC))
-
-HSBIN=$(patsubst %.lhs,%,$(HSBINSRC))
-HSOBJ=$(patsubst %.lhs,%.o,$(filter %.lhs,$(HSSRC))) \
- $(patsubst %.hs,%.o,$(filter %.hs,$(HSSRC)))
-HSINT=$(patsubst %.lhs,%.hi,$(filter %.lhs,$(HSSRC))) \
- $(patsubst %.hs,%.hi,$(filter %.hs,$(HSSRC)))
-
-REMOTE_MODULES = $(REMOTE_LIB_MODULES) $(REMOTE_TESTLIB_MODULES)
-
-REMOTE_MODULES_GENFILES = $(foreach mod,$(REMOTE_MODULES),$(mod)_stubs.hae $(mod)_module.h $(mod)_module.o)
-REMOTE_MODULES_DEPFILES = $(foreach mod,$(REMOTE_MODULES),$(mod).d)
-REMOTE_MODULES_DUMMIES = $(foreach mod,$(REMOTE_MODULES),$(mod).dummy)
-
-DEPENDS=$(TESTDEPS) $(GENLIBDEPS) $(LIBDEPS) $(REMOTE_MODULES_DEPFILES) $(AEDEPS) $(AESOP_TRHDR_DEPS) $(TESTLIBDEPS)
-
-REMOTE_LIB_OBJS := $(patsubst %.aer,%.o, $(foreach mod,$(REMOTE_LIB_MODULES),$(REMOTE_MODSRC_$(mod)))) $(foreach mod,$(REMOTE_LIB_MODULES),$(mod)_module.o)
-REMOTE_TESTLIB_OBJS := $(patsubst %.aer,%.o, $(foreach mod,$(REMOTE_TESTLIB_MODULES),$(REMOTE_MODSRC_$(mod)))) $(foreach mod,$(REMOTE_TESTLIB_MODULES),$(mod)_module.o)
-REMOTE_OBJS = $(REMOTE_LIB_OBJS) $(REMOTE_TESTLIB_OBJS)
-
-REMOTE_TEST = $(patsubst %.aer,%,$(REMOTE_TESTSRC))
-REMOTE_TESTOBJS = $(patsubst %.aer,%.o,$(REMOTE_TESTSRC))
-REMOTE_PROGRAM = $(patsubst %.aer,%,$(REMOTE_PROGRAMSRC))
-
-PROGRAMS = $(REMOTE_PROGRAM) $(AEPROGRAM) $(PROGRAM)
-
-TESTS = $(REMOTE_TEST) $(AETEST) $(TEST)
-
-# TODO: Need a way to take mpiexec tests out of this
-runTESTS = $(patsubst %,run%,$(TESTS))
-runVALGRIND = $(patsubst %,valgrind%,$(TESTS))
-
-# for now we just use static if we're not on a mac
-ifneq (,$(USE_DYLIBS))
-LIBRARIES=lib/libtriton.dylib
-TEST_LIBRARIES=lib/libtriton-test.dylib
-else
-LIBRARIES=lib/libtriton.a
-TEST_LIBRARIES=lib/libtriton-test.a
-endif
-
-DOCHTML=$(patsubst %.txt,%.html,$(DOCSRC))
-DOCPDF=$(patsubst %.txt,%.pdf,$(DOCSRC))
-
-####################################################################
-# Rules and dependencies
-
-# Normal rules
-
-$(TEST): %: %.o $(LIBRARIES) $(TEST_LIBRARIES)
- $(Q) " LD $@"
- $(E)$(call MCC_C,$*) \
- -o $@ $< $(LDFLAGS) \
- -L$(builddir)/lib -ltriton-test -ltriton $(call MODLIBS_C,$*) \
- $(LIBS)
-
-$(PROGRAM): %: %.o $(LIBRARIES) $(TEST_LIBRARIES)
- $(Q) " LD $@"
- $(E)$(call MCC_C,$*) \
- -o $@ $< $(LDFLAGS) \
- -L$(builddir)/lib -ltriton $(call MODLIBS_C,$*) \
- $(LIBS)
-
-$(AETEST): %: %.o $(LIBRARIES) $(TEST_LIBRARIES)
- $(Q) " LD $@"
- $(E)$(call MCC_AE,$*) \
- -o $@ $< $(LDFLAGS) \
- -L$(builddir)/lib -ltriton-test -ltriton \
- $(call MODLDFLAGS_AE,$*) $(call MODLIBS_AE,$*) $(LIBS)
-
-$(REMOTE_TEST): %: %.o $(LIBRARIES) $(TEST_LIBRARIES)
- $(Q) " LD $@"
- $(E)$(call MCC_AER,$*) \
- -o $@ $< $(LDFLAGS) \
- -L$(builddir)/lib -ltriton-test -ltriton \
- $(call MODLDFLAGS_AER,$*) $(call MODLIBS_AER,$*) \
- $(LIBS)
-
-$(AEPROGRAM): %: %.o $(LIBRARIES)
- $(Q) " LD $@"
- $(E)$(call MCC_AE,$*) \
- -o $@ $< $(LDFLAGS) \
- -L$(builddir)/lib -ltriton \
- $(call MODLDFLAGS_AE,$*) $(call MODLIBS_AE,$*) \
- $(LIBS)
-
-$(REMOTE_PROGRAM): %: %.o $(LIBRARIES)
- $(Q) " LD $@"
- $(E)$(call MCC_AER,$*) \
- -o $@ $< $(LDFLAGS) \
- -L$(builddir)/lib -ltriton \
- $(call MODLDFLAGS_AER,$*) $(call MODLIBS_AER,$*) $(LIBS)
-
-$(GENLIBOBJS) $(LIBOBJS) $(TESTOBJS): %.o: %.c
- $(Q) " CC $@"
- $(E)$(call MCC_C,$*) -c -o $@ \
- $(LIBCFLAGS) $(CFLAGS) $(CWARNS) \
- $(call MODCFLAGS_C,$*) $<
-
-# Auto-generated dependencies for .c files
-$(LIBDEPS) $(GENLIBDEPS) $(TESTDEPS) $(TESTLIBDEPS): %.d: %.c
- $(Q) " DEP $@"
- $(E)CC=$(call MCC_C,$*) $(srcdir)/maint/depend.sh $(call dirname,$*) $(LIBCFLAGS) $(CFLAGS) $(call MODCFLAGS_C,$*) $< > $@
-
-$(TESTLIBOBJS): %.o: %.c
-
- $(Q) " CC $@"
- $(E)$(call MCC_C,$*) -c -o $@ \
- $(LIBCFLAGS) $(CFLAGS) $(CWARNS) \
- $(call MODCFLAGS_C,$*) $<
-
-lib/libtriton.a: $(AELIBOBJS) $(LIBOBJS) $(GENLIBOBJS) $(REMOTE_LIB_OBJS)
- $(Q) " RANLIB $@"
- $(E)$(INSTALL) -d lib
- $(E)ar rcs $@ $(AELIBOBJS) $(LIBOBJS) $(GENLIBOBJS) $(REMOTE_LIB_OBJS)
-
-lib/libtriton-test.a: $(AETESTLIBOBJS) $(TESTLIBOBJS) $(REMOTE_TESTLIB_OBJS)
- $(Q) " RANLIB $@"
- $(E)$(INSTALL) -d lib
- $(E)ar rcs $@ $(AETESTLIBOBJS) $(TESTLIBOBJS) $(REMOTE_TESTLIB_OBJS)
-
-# shared objects
-
-lib/libtriton.so: $(AELIBOBJS) $(LIBOBJS) $(GENLIBOBJS)
- $(Q) " LDSO $@"
- $(E)$(INSTALL) -d lib
- $(E)$(LDSHARED) -Wl,-soname,libtriton.so -o $@ $(AELIBOBJS) $(LIBOBJS) $(GENLIBOBJS)
-
-lib/libtriton-test.so: $(AETESTLIBOBJS) $(TESTLIBOBJS)
- $(Q) " LDSO $@"
- $(E)$(INSTALL) -d lib
- $(E)$(LDSHARED) -Wl,-soname,libtriton-test.so -o $@ $(AETESTLIBOBJS) $(TESTLIBOBJS)
-
-lib/libtriton.dylib: $(AELIBOBJS) $(LIBOBJS)
- $(Q) " DYLIB $@"
- $(E)$(INSTALL) -d lib
- $(E)$(TCC) -o lib/libtriton.dylib -dynamiclib -current_version 0.0.1 -install_name lib/libtriton.0.0.1.dylib \
- $(AELIBOBJS) $(LIBOBJS) $(DEPLIBS)
-
-lib/libtriton-test.dylib: $(AETESTLIBOBJS) $(TESTLIBOBJS)
- $(Q) " DYLIB $@"
- $(E)$(INSTALL) -d lib
- $(E)$(TCC) -o lib/libtriton-test.dylib -dynamiclib -current_version 0.0.1 -install_name lib/libtriton-test.0.0.1.dylib \
- $(AETESTLIBOBJS) $(TESTLIBOBJS) $(DEPLIBS) -L$(builddir)/lib -ltriton
-
-# AE rule compiles *.ae files to object files
-#
-$(AEOBJS): %.o: $(HSBIN) %.ae
- $(Q) " AECC $*.ae"
- $(E)$(builddir)/maint/aecc -o $(builddir)/$*.o $(srcdir)/$*.ae \
- -c $(call MCC_AE,$*) $(VA) $(DA) $(AEPRETTY) \
- -- $(LIBCFLAGS) $(CFLAGS) $(CWARNS) $(call MODCFLAGS_AE,$*)
-
-# Auto-generated dependencies for .ae files
-$(AEDEPS): %.ae.d: %.ae
- $(Q) " DEP $@"
- $(E)CC=$(call MCC_C,$*) $(srcdir)/maint/depend-ae.sh $(call dirname,$*) $(srcdir) $(LIBCFLAGS) $(CFLAGS) $(call MODCFLAGS_C,$*) $< > $@
-
-# rule to build remote modules (actual file names depend on dummies, see
-# module.mk.in for directories containing .aer files)
-%.dummy: $(HSBIN)
- $(Q) " AERCC $*"
- $(E)$(builddir)/maint/aercc -m $(call RMOD_SERVICE,$*) \
- -d $(call RMOD_REGDIR,$*) \
- $(patsubst %,$(srcdir)/%,$(call RMOD_FILES,$*)) \
- -c $(call MCC_AE,$*) $(VA) $(DA) $(AEPRETTY) \
- -- $(CFLAGS) $(LIBCFLAGS) $(CWARNS) $(call MODCFLAGS_AE,$*)
-
-
-# Generate header files (%.h) from AE header files
-# NOTE: this is used by resource .c files that need to include the .h
-# version of the .hae file that defines the resource interface
-$(AESOP_TRHDR): %.h: %.hae $(HSBIN)
-
- $(Q) " AECC $*.hae"
- $(E)$(builddir)/maint/aecc -o $(builddir)/$*.h $(srcdir)/$*.hae \
- -j -c $(call MCC_AE,$*) $(VA) $(DA) $(AEPRETTY) \
- -- $(LIBCFLAGS) $(CFLAGS) $(CWARNS) $(call MODCFLAGS_AE,$*)
-
-$(AESOP_TRHDR_DEPS): %.h.d: %.hae
- $(Q) " DEP $@"
- $(E)CC=$(call MCC_C,$*) $(srcdir)/maint/depend-hae.sh $(call dirname,$*) $(srcdir) $(LIBCFLAGS) $(CFLAGS) $(call MODCFLAGS_C,$*) $< > $@
-
-# TODO: we need a better solution here. The problem is that the
-# auto-dependencies often include generated headers. If we make the .d
-# files themselves depend on those same files, then we have to generate all
-# headers to produce dependency files before doing anything else. This
-# takes a long time. For now I'm adding this brute force rule to regen all
-# dependency information if any non-generated headers change. Rebuilding
-# all dependency files is faster than compiling one superfluous .aer file.
-DEP_PREREQS :=
-DEP_PREREQS += $(shell find $(srcdir)/src -name "*.haer")
-DEP_PREREQS += $(shell find $(srcdir)/src -name "*.hae")
-DEP_PREREQS += $(shell find $(srcdir)/src -name "*.h")
-%.d: $(DEP_PREREQS)
-
-# Compile parsers from haskell source using GHC
-
-$(HSBIN): %: $(srcdir)/%.lhs $(HSSRC)
- $(Q) " GHC $@"
- $(E)$(GHC) -O2 -odir $(call canonname,$<) \
- -hidir $(call canonname,$<) \
- -o $@ \
- -main-is $(call modname,$<) \
- -i$(call dir,$<) --make $< >/dev/null
-
-# User targets
-
-all:: $(PROGRAMS) $(LIBRARIES)
-
-$(runTESTS): run%: %
- @if test -n "$(call testparams,$<)"; then \
- for p in $(call testparams,$<); do \
- echo -n "Running $< $$p..."; \
- ./$< $$p > /dev/null; \
- echo "done."; \
- done \
- else \
- echo -n "Running $<..."; \
- ./$< > /dev/null; \
- echo "done."; \
- fi
-
-check: $(runTESTS) test_results
-
-test: $(TESTS)
-
-test_results: $(TEST_RESULTS)
-
-$(runVALGRIND): valgrind%: %
- @if test -n "$(call testparams,$<)"; then \
- for p in $(call testparams,$<); do \
- echo -n "Running valgrind $< $$p..."; \
- valgrind --error-exitcode=1 ./$< $$p > /dev/null 2>./.vout; \
- grep "All heap blocks were freed" ./.vout >/dev/null 2>&1; \
- if test $$? != 0; then \
- echo "\nErrors found in $<. Rerun valgrind ./$<"; \
- exit 1; \
- fi; \
- echo "done."; \
- done; \
- else \
- echo -n "Running valgrind $<..."; \
- valgrind --error-exitcode=1 ./$< > /dev/null 2>./.vout; \
- grep "All heap blocks were freed" ./.vout >/dev/null 2>&1; \
- if test $$? != 0; then \
- echo "\nErrors found in $<. Rerun valgrind ./$<"; \
- exit 1; \
- fi; \
- echo "done."; \
- fi
-
-runvalgrind: $(runVALGRIND)
-
-%.result: % %.sh
- $(Q) " SH $@"
- $(E) SRCDIR=$(srcdir) $(srcdir)/$(patsubst %,%.sh,$<) > \
- $*.tmp 2>&1
- $(E) mv $*.tmp $@
- $(E) echo -n " $@ : " && cat $@
-
-# other intermediates may exist from aecc and aercc
-INTERM_AESRC=$(patsubst %.o,%.ae.i.s,$(AEOBJS))
-INTERM_AEINC=$(patsubst %.o,%.ae.i,$(AEOBJS))
-INTERM_HAEINC=$(patsubst %.h,%.hae.i,$(AESOP_TRHDR))
-INTERM_REMOTE_MODS=$(foreach mod,$(REMOTE_MODULES),$(mod)_stubs.hae.i,$(mod)_module.ae,$(mod)_module.ae.i,$(mod)_module.ae.i.s)
-INTERM_REMOTE_AESRC=$(patsubst %.o,%.ae.i.s,$(REMOTE_OBJS))
-INTERM_REMOTE_AEINC=$(patsubst %.o,%.ae.i,$(REMOTE_OBJS))
-
-INTERM=$(INTERM_AESRC) \
- $(INTERM_AEINC) \
- $(INTERM_HAEINC) \
- $(INTERM_REMOTE_MODS) \
- $(INTERM_REMOTE_AESRC) \
- $(INTERM_REMOTE_AEINC)
-
-clean::
- $(Q) " CLEAN"
- $(E)rm -f $(AEOBJS) $(LIBOBJS) $(GENLIBOBJS) $(AETEST) $(AEPROGRAM) $(TEST) $(PROGRAM) \
- $(AESOP_TRHDR) $(TESTLIBOBJS) \
- $(LIBRARIES) $(TEST_LIBRARIES) $(DEPENDS) $(TEST_RESULTS) $(TEST_OUT) \
- $(REMOTE_MOD_GENFILES) $(REMOTE_OBJS) $(INTERM) $(REMOTE_MODULES_DUMMIES)
-
-parserclean::
- $(Q) " PARSER CLEAN"
- $(E)rm -f $(HSBIN) $(HSOBJ) $(HSINT)
-
-# this is where we include all of our automatic dependencies.
-# NOTE: we wrap this in ifneq's in order to prevent the dependencies
-# from being generated for special targets that don't require them
-ifeq (,$(filter clean parserclean nodep,$(MAKECMDGOALS)))
--include $(DEPENDS)
-endif
-# add this as a make goal to disable rebuilding deps
-.PHONY: nodep
-.nodep:; @:
-
-# rule for generating cscope information
-cscope:
- find @SRC_ABSOLUTE_TOP@ -regex ".*\.\(c\|h\|ae\|hae\|aer\|haer\)" -o -iname "*.sm" \
- > $(srcdir)/cscope.files
- ( cd @SRC_ABSOLUTE_TOP@; cscope -be -i @SRC_ABSOLUTE_TOP@/cscope.files )
-
-tags::
- find @SRC_ABSOLUTE_TOP@ -regex ".*\.\(c\|h\|ae\|hae\|aer\|haer\)" | ctags -L- --excmd=pattern -B --extra=+f --langmap=c:+.ae.aer.hae.haer -I pwait,pbranch -f @SRC_ABSOLUTE_TOP@/tags
-
-etags:
-# Note: this only reads src and prunes the test directories
- cd @SRC_ABSOLUTE_TOP@ ; find src \
- -name test -prune -o -name tests -prune -o \
- -regex ".*\.\(c\|h\|ae\|hae\|aer\|haer\)" -print \
- | xargs etags
-
-#%.txt: %.doc
-# $(srcdir)/maint/handle-ditaa.py -j $(srcdir)/maint/ditaa/ditaa.jar -d $(dir $@) $< > $@
-#
-$(DOCHTML): %.html: %.ditta_txt
- $(srcdir)/maint/asciidoc/asciidoc/asciidoc.py -a data-uri -a icons -a toc -a max-width=55em $<
-
-$(DOCPDF): %.pdf: %.ditta_txt
- $(srcdir)/maint/asciidoc/asciidoc/a2x.py -L -v -v --dblatex-opts "-P latex.output.revhistory=0" -a data-uri -a icons -a toc -a max-width=55em $<
-
-%.ditta_txt: %.txt
- $(srcdir)/maint/handle-ditaa.py -j $(srcdir)/maint/ditaa/ditaa.jar -d $(dir $@) $< > $@
-
-#%.pdf: %.txt
-# $(srcdir)/maint/asciidoc/asciidoc/a2x.py --dblatex-opts "-P latex.output.revhistory=0" -a data-uri -a icons -a toc -a max-width=55em $<
-
-docs: $(DOCPDF)
-doc: $(DOCPDF)
-docshtml: $(DOCHTML)
-dochtml: $(DOCHTML)
-
diff --git a/code/configure.ac b/code/configure.ac
deleted file mode 100644
index 75b39ff..0000000
--- a/code/configure.ac
+++ /dev/null
@@ -1,380 +0,0 @@
-dnl **************************************************************
-dnl TRITON AUTOCONF SCRIPT
-dnl
-dnl Process this file with autoconf to produce a configure script.
-dnl You may need to use autoheader as well if changing any DEFINEs
-
-CONFIGURE_TIME=`date -u +"%Y-%m-%d-%H%M%S"`
-TRITON_MAJOR=0
-TRITON_MINOR=1
-TRITON_SUB=1
-TRITON_PRE="pre-$CONFIGURE_TIME"
-
-TRITON_VERSION=$TRITON_MAJOR.$TRITON_MINOR.$TRITON_SUB$TRITON_PRE
-
-AC_PREREQ(2.50)
-AC_INIT(triton, 0.1.1, triton-dev(a)mcs.anl.gov)
-
-AC_SUBST(TRITON_VERSION)
-
-AC_DEFINE_UNQUOTED(TRITON_VERSION_MAJOR, $TRITON_MAJOR, major version number)
-AC_DEFINE_UNQUOTED(TRITON_VERSION_MINOR, $TRITON_MINOR, minor version number)
-AC_DEFINE_UNQUOTED(TRITON_VERSION_SUB, $TRITON_SUB, sub version number)
-
-AC_CONFIG_HEADER(triton-config.h)
-AC_CONFIG_AUX_DIR(maint/config)
-
-AC_PROG_INSTALL
-AC_PROG_CC
-AC_PROG_CPP
-
-AC_C_BIGENDIAN
-
-AC_CHECK_SIZEOF([long int])
-AC_CHECK_SIZEOF(void *)
-
-AC_MSG_CHECKING([for required gcc])
-if test "x$GCC" = "x"; then
- AC_MSG_ERROR([no])
-fi
-AC_MSG_RESULT(yes)
-
-AC_SYS_LARGEFILE
-
-AX_GHC("")
-
-dnl
-dnl make sure that required db development package is installed
-dnl and valid; path can be specified at configure time
-dnl
-AC_ARG_WITH(db,
- [ --with-db=<dir> Location of installed DB package
-(default=/usr)],
- [AX_BERKELEY_DB(${withval})],
- [AX_BERKELEY_DB("")])
-
-dnl ======================================================================
-dnl Try harder to be valgrind safe
-dnl ======================================================================
-AC_ARG_ENABLE(valgrind-clean,
- [AS_HELP_STRING(
- [--enable-valgrind-clean],
- [Try harder to avoid valgrind warnings])
- ])
-
-VALGRIND_CLEAN=0
-AS_IF([test "x$enable_valgrind_clean" = "xyes"], [
- VALGRIND_CLEAN=1
-])
-AC_SUBST(VALGRIND_CLEAN)
-
-
-dnl =========================================================================
-dnl == OpenPA ===============================================================
-dnl =========================================================================
-
-# OpenPA
-AC_ARG_WITH([openpa],
- [AS_HELP_STRING([[--with-openpa[=DIR]]],
- [rather than the one included in src/openpa. Pass
- "embedded" to force usage of the OpenPA source
- distributed with triton.])],
- [],
- [
- OLDLIBS="$LIBS"
- LIBS="-lopa $LIBS"
- AC_LINK_IFELSE([AC_LANG_PROGRAM([dnl
-#include "opa_primitives.h"
-],[
-OPA_int_t i;
-OPA_store_int(&i,10);
-OPA_fetch_and_incr_int(&i);
-])dnl
- ],
- [with_openpa=system],
- [with_openpa="/usr"])
- LIBS="$OLDLIBS"
- ])
-
-opadir=""
-AC_SUBST([opadir])
-
-if test "$with_openpa" = "embedded" ; then
- AC_MSG_ERROR([Embedded mode disabled for OpenPA!])
- if test -e "${srcdir}/extern/openpa" ; then
- opadir="openpa"
- EXTERNAL_SRC_DIRS="$EXTERNAL_SRC_DIRS extern/openpa"
- CPPFLAGS="-I${srcdir}/extern/openpa/src $CPPFLAGS"
- AC_CONFIG_SUBDIRS([extern/openpa])
- LIBS="-lopa $LIBS"
- else
- AC_MSG_WARN([Attempted to use the embedded OpenPA source tree in dnl
- "${srcdir}/extern/openpa", but it is missing.
- Configuration or dnl
- compilation may fail later.]) dnl
- fi
-elif test "$with_openpa" = "system" ; then
- dummy="dummy";
- dnl LIBS="-lopa $LIBS"
-elif test "$with_openpa" = "no" ; then
- AC_MSG_ERROR([OpenPA is required!])
-else
- # The user specified an already-installed OPA; just sanity check, don't
- # subconfigure it
- AS_IF([test -s "${with_openpa}/include/opa_primitives.h" -a -s "${with_openpa}/include/opa_config.h"],
- [:],[AC_MSG_ERROR([the OpenPA installation in "${with_openpa}" appears broken])])
- CPPFLAGS="-I${with_openpa}/include $CPPFLAGS"
-dnl CPPFLAGS="-I${ac_top_build_prefix}/extern/openpa"
-dnl LIBS="-lopa $LIBS"
- LDFLAGS="-L${with_openpa}/lib $LDFLAGS"
-fi
-
-
-AC_CHECK_LIB([opa],[OPA_Queue_init],[],[AC_MSG_ERROR([Could not find useable
- OpenPA library!])])
-
-dnl AC_SUBST([subdirs])
-
-dnl =========================================================================
-dnl == Google's PerfTools ===================================================
-dnl =========================================================================
-
-AC_ARG_WITH(perftools,
- AS_HELP_STRING([--with-perftools=dir],
- [Location of google perftools installation]),
- PERFTOOL_DIR="$withval",PERFTOOL_DIR="")
-
-if test -n "$PERFTOOL_DIR" ;
-then
- CPPFLAGS="$CPPFLAGS -I${PERFTOOL_DIR}/include"
- LDFLAGS="$LDFLAGS -L${PERFTOOL_DIR}/lib"
-fi
-
-if test -n "$PERFTOOL_DIR" ;
-then
-use_perftools=1
-else
-use_perftools=
-fi
-
-AC_CHECK_HEADERS([google/tcmalloc.h],[],
- [use_perftools=])
-
-if test -n "$use_perftools"; then
-AC_CHECK_LIB([tcmalloc],[tc_new],[],[use_perftools=])
-AC_CHECK_LIB([profiler],[ProfilerStart], [], [use_perftools=])
-fi
-
-AC_MSG_CHECKING([if Google Perftools are used])
-if test "x${use_perftools}" == "x1" ; then
- AC_DEFINE([HAVE_PERFTOOLS], [1], [If google perftools are available])
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
-fi
-
-dnl todo: add check making sure that if the user manually enabled perftools
-dnl and we cannot find them we complain
-
-dnl ======================================================================
-dnl Look for MPI; Auto-enable if possible, unless disabled by the user
-dnl ======================================================================
-AC_ARG_WITH([mpi],[AS_HELP_STRING([--with-mpi@<:@=DIR@:>@],
- [location of MPI library])],
- [],
- [with_mpi=check])
-
-BUILD_MPI=
-AS_IF([test "x$with_mpi" != "xno"],
-[
- if test "x$with_mpi" != "xcheck" -a "x$with_mpi" != "xyes"; then
- checkpath="${with_mpi}/bin"
- else
- checkpath="$PATH"
- fi
- AC_CHECK_PROGS(MPICC, [mpicc], [], [$checkpath])
- #
- # with mpich2-1.3, mpiCC invokes gcc... not g++
- #
- AC_CHECK_PROGS(MPICXX, [mpic++ mpicxx mpiCC], [], [$checkpath])
- if test "x$with_mpi" != "xcheck"; then
- if test -z "${MPICXX}" ; then
- AC_MSG_ERROR("--with-mpi given but could not find mpic++!")
- fi
- if test -z "${MPICC}" ; then
- AC_MSG_ERROR("--with-mpi given but could not find mpicc!")
- fi
- fi
- ])
-
-if test "${MPICXX}x" != "x" ; then
- if test "${MPICC}x" == "x"; then
- AC_MSG_ERROR("Found MPI C++ compiler but not MPI C compiler??")
- fi
- dnl
- dnl make sure mpi compiler path is a full path
- dnl
- if test "x$with_mpi" != "xcheck" -a "x$with_mpi" != "xyes"; then
- MPICXX="${checkpath}/${MPICXX}"
- fi
-
- if test "x$with_mpi" != "xcheck" -a "x$with_mpi" != "xyes"; then
- MPICC="${checkpath}/${MPICC}"
- fi
- BUILD_MPI=1
-fi
-
-AC_MSG_CHECKING([if MPI support will be enabled])
-if test "x${BUILD_MPI}" == "x1"; then
-AC_MSG_RESULT([yes])
-else
-AC_MSG_RESULT([no])
-fi
-
-MPICFLAGS=""
-MPILDFLAGS=""
-MPILIBS=""
-
-AC_SUBST(MPICC)
-AC_SUBST(MPICFLAGS)
-AC_SUBST(MPILDFLAGS)
-AC_SUBST(MPILIBS)
-AC_SUBST(BUILD_MPI)
-
-dnl check for unix variants
-AX_UNIX("")
-
-BUILD_ABSOLUTE_TOP=${PWD}
-SRC_RELATIVE_TOP=$srcdir
-SRC_ABSOLUTE_TOP=`cd $srcdir; pwd`
-
-AC_SUBST(BUILD_ABSOLUTE_TOP)
-AC_SUBST(SRC_RELATIVE_TOP)
-AC_SUBST(SRC_ABSOLUTE_TOP)
-
-AC_SUBST(CFLAGS)
-AC_SUBST(LDFLAGS)
-AC_SUBST(LIBS)
-AC_SUBST(CPPFLAGS)
-
-AC_ARG_ENABLE(verbose,
-[ --enable-verbose Enables verbose output during build process],
-QUIET_COMPILE=0,
-QUIET_COMPILE=1)
-AC_SUBST(QUIET_COMPILE)
-
-AC_ARG_ENABLE(error-on-warning,
-[ --enable-error-on-warning Generate compiler error on warnings],
-WARNINGS_AS_ERRORS=1,
-WARNINGS_AS_ERRORS=0)
-AC_SUBST(WARNINGS_AS_ERRORS)
-
-STRICT_CFLAGS=1
-AC_ARG_ENABLE(strict,
-[ --disable-strict Turn off strict compiler warnings],
-[if test "x$enableval" = "xno" ; then
- STRICT_CFLAGS=0
-fi],
-[
- STRICT_CFLAGS=1
-])
-AC_SUBST(STRICT_CFLAGS)
-
-AE_DEBUG=
-AC_ARG_ENABLE(aesop-debug,
-[ --enable-aesop-debug Turn on debugging of the aesop-parser],
- AE_DEBUG=1)
-AC_SUBST(AE_DEBUG)
-
-AC_ARG_ENABLE(release,
- [AS_HELP_STRING(
- [--enable-release],
- [Optimize for performance; disable debugging])
- ],
- [enable_release=$enableval],
- [enable_release="no"])
-
-if test "A$enable_release" = "Ayes"; then
- CPPFLAGS="-DNDEBUG $CPPFLAGS"
-elif test "A$enable_release" = "Ano"; then
- dummy=""
-else
- AC_MSG_ERROR([Invalid value for --enable-release! must be yes or no])
-fi
-
-
-
-AC_ARG_ENABLE(coverage,
-[ --enable-coverage Enable coverage analysis (disables optimizations)],
-[ CFLAGS="$CFLAGS -g -pg -ftest-coverage -O0"
- ENABLE_COVERAGE=1],
-)
-AC_SUBST(ENABLE_COVERAGE)
-
-AC_MSG_CHECKING(if initstate_r() exists)
-AC_TRY_COMPILE([#include <stdlib.h>], [
- struct random_data rnd;
- initstate_r(0, NULL, 0, &rnd);
-],
-[
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_RANDOM_DATA, 1, [Define if struct random_data is defined and initstate_r exists])
-],
- AC_MSG_RESULT(no)
-)
-
-AC_MSG_CHECKING(for __progname_full)
-AC_TRY_LINK(
- [#include <stdio.h>],
- [extern char * __progname_full;
- printf(NULL, "%s", __progname_full);],
- [AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_PROGNAME_FULL, 1, Define if __progname_full global variable exists)],
- [AC_MSG_RESULT(no)])
-
-dnl a mechanism to turn off threads in the client library
-AC_MSG_CHECKING([for client library thread safety support])
-AC_ARG_ENABLE(thread-safety,
-[ --disable-thread-safety Disables thread safety in the client library],
-[if test "x$enableval" = "xno" ; then
- LIBCFLAGS="$LIBCFLAGS -D__TRITON_NULL_LOCKING__"
- THREAD_LIB=""
- AC_MSG_RESULT(no)
-fi],
-[ LIBCFLAGS="$LIBCFLAGS -D__TRITON_POSIX_LOCKING__"
- THREAD_LIB="-lpthread"
- AC_MSG_RESULT(yes) ])
-
-
-AC_COMPILE_IFELSE(
-[#include <stdlib.h>
-#ifdef __BLOCKS__
-#error "OSX defines __BLOCKS__ and includes then aren't ANSI C"
-#endif
-],
-[BLOCKSOPT=""],
-[BLOCKSOPT="-fno-blocks"])
-
-AC_SUBST(BLOCKSOPT)
-
-AC_SUBST(LIBCFLAGS)
-AC_SUBST(THREAD_LIB)
-
-AC_CHECK_LIB([crypto], [SHA1], [],
- [AC_MSG_ERROR([-lcrypto required. Install OpenSSL.])])
-TRITON_LIB_SQLITE(3.0.0)
-
-m4_include([maint/config/libev.m4])
-
-AC_CONFIG_FILES([maint/aecc-utils], [chmod +x maint/aecc-utils])
-AC_CONFIG_FILES([maint/aecc], [chmod +x maint/aecc])
-
-AC_OUTPUT([Makefile
-src/aesop/resources/timer/test/module.mk
-src/aesop/resources/timer/module.mk
-src/aesop/module.mk
-src/aesop/tests/module.mk
-src/aesop/parser/module.mk
-src/aesop/parser/tests/blocking/module.mk
-])
-
diff --git a/code/maint/aecc-utils.in b/code/maint/aecc-utils.in
deleted file mode 100644
index a9022c8..0000000
--- a/code/maint/aecc-utils.in
+++ /dev/null
@@ -1,649 +0,0 @@
-
-SRCDIR=@SRC_RELATIVE_TOP@
-BUILDDIR=@BUILD_ABSOLUTE_TOP@
-
-AEPARSER=${BUILDDIR}/src/aesop/parser/ae-blocking-parser
-AERPARSER=${BUILDDIR}/src/aesop/parser/ae-remote-parser
-AESRCDIR=${SRCDIR}/src/aesop
-
-SPACES=" "
-optind=0
-
-HELPMESSAGE=
-
-# parameters passed to addOption:
-# short: one character representing short option (e.g. h for help)
-# long: string representing long option (e.g. "help")
-# takesArg: whether this option takes an argument (yes|no)
-# argVariable: the name of the variable to set the option argument to if given, otherwise 'none'
-# argAccum: whether more than one of this option is allowed (yes|no). Arguments will be accumulated into the variable
-# argString: string representation of the argument for this option. Used by showUsage.
-# callback: function to call if the option is found
-# message: string description of this option, used by showUsage.
-addOption()
-{
- # <short> <long> <takesArg> <arg variable> <arg accum> <arg string> <callback> <message>
- shortopt="$1" ; shift
- longopt="$1" ; shift
- takesArg="$1" ; shift
- argVar="$1" ; shift
- argAccum="$1" ; shift
- argString="$1" ; shift
- callback="$1" ; shift
- message="$1" ; shift
-
- eval optionInd${optind}="${shortopt}"
- eval optionCB${optind}=${callback}
- eval optionArg${optind}=${takesArg}
- eval optionArgVar${optind}=${argVar}
- eval optionArgAccum${optind}=${argAccum}
- eval optionArgStr${optind}="\"${argString}\""
- eval optionMessage${optind}="\"${message}\""
- eval optionShort${optind}="-${shortopt}"
- eval optionLong${optind}="--${longopt}"
-
- if test "${argVar}" != "none"; then
- eval ${argVar}=
- fi
-
- canon=$(echo ${longopt} | sed -e "s|-|_|")
- eval hasOpt_${canon}=no
- eval optionLongCanon${optind}=${canon}
-
- optind=$(expr ${optind} + 1)
-
- msg=" -${shortopt},--${longopt}"
- if test "${takesArg}" = "yes"; then
- msg="${msg} ${argString}"
- fi
- len=$(expr 40 - length "${msg}")
- sp=$(expr substr "${SPACES}" 1 $len)
-
- HELPMESSAGE="${HELPMESSAGE}${msg}${sp}${message}\n"
-}
-
-USAGEMESSAGE=
-setUsageMessage()
-{
- while test -n "$1"; do
- USAGEMESSAGE="$1\n"
- shift
- done
-}
-
-showUsage()
-{
- res=$1
- echo ""
- printf "${USAGEMESSAGE}" ""
- echo ""
- exit $res
-}
-
-setHelpStart()
-{
- HELPSTART="$@"
-}
-
-setHelpEnd()
-{
- HELPEND="$@"
-}
-
-printHelpAndExit()
-{
- echo ""
- printf "${HELPSTART}" ""
- echo ""
- printf "${HELPMESSAGE}" ""
- echo ""
- printf "${HELPEND}" ""
- echo ""
- exit 1
-}
-
-hasArg()
-{
- arg=$1
- shift
-
- if test -z "$1"; then
- echo "Option ${arg} requires an argument."
- showUsage 1
- fi
-
- case "$1" in
- -*)
- echo "Option ${arg} requires an argument."
- showUsage 1
- ;;
- *)
- esac
-}
-
-# Parses the options based on previous calls to addOption.
-# If an option is found, the variable hasOpt_<canon_long>
-# will be set to yes. For example, if --my-opt is
-# added as an option, and the --my-opt option is specified,
-# this will set hasOpt_my_opt=yes, which can be checked
-# after completion of the parseOpts call.
-parseOpts()
-{
-
- while test -n "$1"; do
- case "$1" in
- ${optionShort0}|${optionLong0})
- eval hasOpt_${optionLongCanon0}=yes
- shift
- if test "${optionArg0}" = "yes"; then
- hasArg "${optionShort0}" $@
- if test "${optionArgAccum0}" = "yes"; then
- eval ${optionArgVar0}="\"\${$optionArgVar0} $1\""
- else
- eval ${optionArgVar0}="$1"
- fi
- shift
- fi
- if test "${optionCB0}" != "none"; then
- eval ${optionCB0}
- fi
- ;;
- ${optionShort1}|${optionLong1})
- eval hasOpt_${optionLongCanon1}=yes
- shift
- if test "${optionArg1}" = "yes"; then
- hasArg "${optionShort1}" $@
- if test "${optionArgAccum1}" = "yes"; then
- eval ${optionArgVar1}="\"\${$optionArgVar1} $1\""
- else
- eval ${optionArgVar1}="$1"
- fi
- shift
- fi
- if test "${optionCB1}" != "none"; then
- eval ${optionCB1}
- fi
- ;;
- ${optionShort2}|${optionLong2})
- eval hasOpt_${optionLongCanon2}=yes
- shift
- if test "${optionArg2}" = "yes"; then
- hasArg "${optionShort2}" $@
- if test "${optionArgAccum2}" = "yes"; then
- eval ${optionArgVar2}="\"\${$optionArgVar2} $1\""
- else
- eval ${optionArgVar2}="$1"
- fi
- shift
- fi
- if test "${optionCB2}" != "none"; then
- eval ${optionCB2}
- fi
- ;;
- ${optionShort3}|${optionLong3})
- eval hasOpt_${optionLongCanon3}=yes
- shift
- if test "${optionArg3}" = "yes"; then
- hasArg "${optionShort3}" $@
- if test "${optionArgAccum3}" = "yes"; then
- eval ${optionArgVar3}="\"\${$optionArgVar3} $1\""
- else
- eval ${optionArgVar3}="$1"
- fi
- shift
- fi
- if test "${optionCB3}" != "none"; then
- eval ${optionCB3}
- fi
- ;;
- ${optionShort4}|${optionLong4})
- eval hasOpt_${optionLongCanon4}=yes
- shift
- if test "${optionArg4}" = "yes"; then
- hasArg "${optionShort4}" $@
- if test "${optionArgAccum4}" = "yes"; then
- eval ${optionArgVar4}="\"\${$optionArgVar4} $1\""
- else
- eval ${optionArgVar4}="$1"
- fi
- shift
- fi
- if test "${optionCB4}" != "none"; then
- eval ${optionCB4}
- fi
- ;;
- ${optionShort5}|${optionLong5})
- eval hasOpt_${optionLongCanon5}=yes
- shift
- if test "${optionArg5}" = "yes"; then
- hasArg "${optionShort5}" $@
- if test "${optionArgAccum5}" = "yes"; then
- eval ${optionArgVar5}="\"\${$optionArgVar5} $1\""
- else
- eval ${optionArgVar5}="$1"
- fi
- shift
- fi
- if test "${optionCB5}" != "none"; then
- eval ${optionCB5}
- fi
- ;;
- ${optionShort6}|${optionLong6})
- eval hasOpt_${optionLongCanon6}=yes
- shift
- if test "${optionArg6}" = "yes"; then
- hasArg "${optionShort6}" $@
- if test "${optionArgAccum6}" = "yes"; then
- eval ${optionArgVar6}="\"\${$optionArgVar6} $1\""
- else
- eval ${optionArgVar6}="$1"
- fi
- shift
- fi
- if test "${optionCB6}" != "none"; then
- eval ${optionCB6}
- fi
- ;;
- ${optionShort7}|${optionLong7})
- eval hasOpt_${optionLongCanon7}=yes
- shift
- if test "${optionArg7}" = "yes"; then
- hasArg "${optionShort7}" $@
- if test "${optionArgAccum7}" = "yes"; then
- eval ${optionArgVar7}="\"\${$optionArgVar7} $1\""
- else
- eval ${optionArgVar7}="$1"
- fi
- shift
- fi
- if test "${optionCB7}" != "none"; then
- eval ${optionCB7}
- fi
- ;;
- ${optionShort8}|${optionLong8})
- eval hasOpt_${optionLongCanon8}=yes
- shift
- if test "${optionArg8}" = "yes"; then
- hasArg "${optionShort8}" $@
- if test "${optionArgAccum8}" = "yes"; then
- eval ${optionArgVar8}="\"\${$optionArgVar8} $1\""
- else
- eval ${optionArgVar8}="$1"
- fi
- shift
- fi
- if test "${optionCB8}" != "none"; then
- eval ${optionCB8}
- fi
- ;;
- ${optionShort9}|${optionLong9})
- eval hasOpt_${optionLongCanon9}=yes
- shift
- if test "${optionArg9}" = "yes"; then
- hasArg "${optionShort9}" $@
- if test "${optionArgAccum9}" = "yes"; then
- eval ${optionArgVar9}="\"\${$optionArgVar9} $1\""
- else
- eval ${optionArgVar9}="$1"
- fi
- shift
- fi
- if test "${optionCB9}" != "none"; then
- eval ${optionCB9}
- fi
- ;;
- ${optionShort10}|${optionLong10})
- eval hasOpt_${optionLongCanon10}=yes
- shift
- if test "${optionArg10}" = "yes"; then
- hasArg "${optionShort10}" $@
- if test "${optionArgAccum10}" = "yes"; then
- eval ${optionArgVar10}="\"\${$optionArgVar10} $1\""
- else
- eval ${optionArgVar10}="$1"
- fi
- shift
- fi
- if test "${optionCB10}" != "none"; then
- eval ${optionCB10}
- fi
- ;;
- ${optionShort11}|${optionLong11})
- eval hasOpt_${optionLongCanon11}=yes
- shift
- if test "${optionArg11}" = "yes"; then
- hasArg "${optionShort11}" $@
- if test "${optionArgAccum11}" = "yes"; then
- eval ${optionArgVar11}="\"\${$optionArgVar11} $1\""
- else
- eval ${optionArgVar11}="$1"
- fi
- shift
- fi
- if test "${optionCB11}" != "none"; then
- eval ${optionCB11}
- fi
- ;;
- ${optionShort12}|${optionLong12})
- eval hasOpt_${optionLongCanon12}=yes
- shift
- if test "${optionArg12}" = "yes"; then
- hasArg "${optionShort12}" $@
- if test "${optionArgAccum12}" = "yes"; then
- eval ${optionArgVar12}="\"\${$optionArgVar12} $1\""
- else
- eval ${optionArgVar12}="$1"
- fi
- shift
- fi
- if test "${optionCB12}" != "none"; then
- eval ${optionCB12}
- fi
- ;;
- ${optionShort13}|${optionLong13})
- eval hasOpt_${optionLongCanon13}=yes
- shift
- if test "${optionArg13}" = "yes"; then
- hasArg "${optionShort13}" $@
- if test "${optionArgAccum13}" = "yes"; then
- eval ${optionArgVar13}="\"\${$optionArgVar13} $1\""
- else
- eval ${optionArgVar13}="$1"
- fi
- shift
- fi
- if test "${optionCB13}" != "none"; then
- eval ${optionCB13}
- fi
- ;;
- ${optionShort14}|${optionLong14})
- eval hasOpt_${optionLongCanon14}=yes
- shift
- if test "${optionArg14}" = "yes"; then
- hasArg "${optionShort14}" $@
- if test "${optionArgAccum14}" = "yes"; then
- eval ${optionArgVar14}="\"\${$optionArgVar14} $1\""
- else
- eval ${optionArgVar14}="$1"
- fi
- shift
- fi
- if test "${optionCB14}" != "none"; then
- eval ${optionCB14}
- fi
- ;;
- ${optionShort15}|${optionLong15})
- eval hasOpt_${optionLongCanon15}=yes
- shift
- if test "${optionArg15}" = "yes"; then
- hasArg "${optionShort15}" $@
- if test "${optionArgAccum15}" = "yes"; then
- eval ${optionArgVar15}="\"\${$optionArgVar15} $1\""
- else
- eval ${optionArgVar15}="$1"
- fi
- shift
- fi
- if test "${optionCB15}" != "none"; then
- eval ${optionCB15}
- fi
- ;;
- ${optionShort16}|${optionLong16})
- eval hasOpt_${optionLongCanon16}=yes
- shift
- if test "${optionArg16}" = "yes"; then
- hasArg "${optionShort16}" $@
- if test "${optionArgAccum16}" = "yes"; then
- eval ${optionArgVar16}="\"\${$optionArgVar16} $1\""
- else
- eval ${optionArgVar16}="$1"
- fi
- shift
- fi
- if test "${optionCB16}" != "none"; then
- eval ${optionCB16}
- fi
- ;;
- ${optionShort17}|${optionLong17})
- eval hasOpt_${optionLongCanon17}=yes
- shift
- if test "${optionArg17}" = "yes"; then
- hasArg "${optionShort17}" $@
- if test "${optionArgAccum17}" = "yes"; then
- eval ${optionArgVar17}="\"\${$optionArgVar17} $1\""
- else
- eval ${optionArgVar17}="$1"
- fi
- shift
- fi
- if test "${optionCB17}" != "none"; then
- eval ${optionCB17}
- fi
- ;;
- ${optionShort18}|${optionLong18})
- eval hasOpt_${optionLongCanon18}=yes
- shift
- if test "${optionArg18}" = "yes"; then
- hasArg "${optionShort18}" $@
- if test "${optionArgAccum18}" = "yes"; then
- eval ${optionArgVar18}="\"\${$optionArgVar18} $1\""
- else
- ${optionArgVar18}="$1"
- fi
- shift
- fi
- if test "${optionCB18}" != "none"; then
- eval ${optionCB18}
- fi
- ;;
- ${optionShort19}|${optionLong19})
- eval hasOpt_${optionLongCanon19}=yes
- shift
- if test "${optionArg19}" = "yes"; then
- hasArg "${optionShort19}" $@
- if test "${optionArgAccum19}" = "yes"; then
- eval ${optionArgVar19}="\"\${$optionArgVar19} $1\""
- else
- eval ${optionArgVar19}="$1"
- fi
- shift
- fi
- if test "${optionCB19}" != "none"; then
- eval ${optionCB19}
- fi
- ;;
- ${optionShort20}|${optionLong20})
- eval hasOpt_${optionLongCanon20}=yes
- shift
- if test "${optionArg20}" = "yes"; then
- hasArg "${optionShort20}" $@
- if test "${optionArgAccum20}" = "yes"; then
- eval ${optionArgVar20}="\"\${$optionArgVar20} $1\""
- else
- eval ${optionArgVar20}="$1"
- fi
- shift
- fi
- if test "${optionCB20}" != "none"; then
- eval ${optionCB20}
- fi
- ;;
- --)
- shift
- break
- ;;
- -?)
- echo "Invalid argument: $1"
- showUsage 1
- ;;
- *)
- INPUTFILES="${INPUTFILES} $1"
- shift
- ;;
- esac
- done
-
- while test -n "$1"; do
- COMPILEROPTS="${COMPILEROPTS} $1"
- shift
- done
-}
-
-runCmd()
-{
- verbose="$1" ; shift
- error="$1" ; shift
- cmd=$@
- compilerout=$(mktemp)
- if test "$verbose" = "yes"; then
- echo "$cmd"
- fi
- $cmd > ${compilerout} 2>&1
- res=$?
- if test $res -ne 0; then
- echo "$error"
- cat ${compilerout}
- rm ${compilerout}
- return $res
- fi
- if test "$verbose" = "yes"; then
- cat ${compilerout}
- else
- cat ${compilerout} | grep -v "warning: redundant redeclaration" | grep -v " note: previous declaration" | grep -v "warning: no previous prototype for ‘ptsname_r’"
- fi
- rm ${compilerout}
-}
-
-# doCPP <verbose> <compiler> <input> <output> <gendeps> <named outfile> <just cpp> [<compiler opts>]
-doCPP()
-{
- verbose="$1" ; shift
- ccpath="$1" ; shift
- cppinput="$1" ; shift
- cppout="$1" ; shift
- gendeps="$1" ; shift
- namedoutfile="$1" ; shift
- precompile="$1" ; shift
- ccopts=$@
-
- depargs=""
- if test "${gendeps}" = "yes"; then
- depoutsrc=$(echo "${cppinput}" | sed -e "s|$|.d|")
- depout=$(echo "${depoutsrc}" | sed -e "s|^${SRCDIR}|${BUILDDIR}|")
- depargs="-MMD -MF ${depout} -MT ${namedoutfile}"
- fi
-
- jcppopt="-E"
- if test "${precompile}" = "yes"; then
- jcppopt="-D__blocking='' -Dpbranch='' -Dpwait='' -Dpbreak=''"
- fi
- runCmd $verbose "Preprocessing step failed:" \
- "${ccpath} -DAESOP_PARSER -x c ${jcppopt} -o ${cppout} ${ccopts} ${cppinput} ${depargs}"
- return $?
-}
-
-# parseAesopSource <verbose> <compiler> <input file> <output file> <named input> <parser opts> <compiler opts>
-parseAesopSource()
-{
- verbose="$1" ; shift
- compiler="$1" ; shift
- input="$1" ; shift
- output="$1" ; shift
- namedinput="$1" ; shift
- popts="$1" ; shift
- if test "${popts}" = "none"; then
- popts=""
- fi
- compileropts="$@"
- if test "${compileropts}" = "none"; then
- compileropts=""
- fi
-
- runCmd $verbose "Aesop parsing step failed: " \
- "${AEPARSER} -c ${compiler} ${popts} -r ${namedinput} -o ${output} -i ${input} -- -I${AESRCDIR} ${compileropts}"
- return $?
-}
-
-# parseAesopHeader <verbose> <compiler> <input file> <output file> <named input> <parser opts> <compiler opts>
-parseAesopHeader()
-{
- verbose="$1" ; shift
- compiler="$1" ; shift
- input="$1" ; shift
- output="$1" ; shift
- namedinput="$1" ; shift
- popts="$1" ; shift
- if test "${popts}" = "none"; then
- popts=""
- fi
- compileropts="$@"
- if test "${compileropts}" = "none"; then
- compileropts=""
- fi
-
- runCmd $verbose "Aesop header parsing failed: " \
- "${AEPARSER} -c ${compiler} -j ${popts} -r ${namedinput} -o ${output} -i ${input} -- -I${AESRCDIR} ${compileropts}"
- return $?
-}
-
-# parseRemoteSource <service name> <registry dir> <verbose> <compiler> <input file> <output file> <named input> <parser opts> <compiler opts>
-parseRemoteSource()
-{
- sname="$1" ; shift
- rdir="$1" ; shift
- verbose="$1" ; shift
- compiler="$1" ; shift
- input="$1" ; shift
- output="$1" ; shift
- namedinput="$1" ; shift
- popts="$1" ; shift
- if test "${popts}" = "none"; then
- popts=""
- fi
- compileropts="$@"
- if test "${compileropts}" = "none"; then
- compileropts=""
- fi
- serviceopts=
- if test "${sname}" != "none"; then
- serviceopts="-n ${sname}"
- fi
- regopts=
- if test "${rdir}" != "none"; then
- regopts="-d ${rdir}"
- fi
- outopt=
- if test "${output}" != "none"; then
- outopt="-o ${output}"
- fi
- namedopt=
- if test "${namedinput}" != "none"; then
- namedopt="-r ${namedinput}"
- fi
-
- inputopt=
- for _ifile in ${input}; do
- inputopt="${inputopt} -i ${_ifile}"
- done
-
- runCmd $verbose "Aesop remote parsing failed: " \
- "${AERPARSER} ${serviceopts} ${regopts} -c ${compiler} ${popts} ${namedopt} ${outopt} ${inputopt} -- -I${AESRCDIR} ${compileropts}"
- return $?
-}
-
-# doCompile <verbose> <compiler> <input file> <output file> <compiler opts>
-doCompile()
-{
- verbose="$1" ; shift
- compiler="$1" ; shift
- infile="$1" ; shift
- outfile="$1" ; shift
- compileropts="$@"
- if test "${compileropts}" = "none"; then
- compileropts=""
- fi
-
- runCmd $verbose "Compilation step failed: " \
- "${compiler} -x c -c -o ${outfile} ${compileropts} ${infile}"
- return $?
-}
diff --git a/code/maint/aecc.in b/code/maint/aecc.in
deleted file mode 100644
index b03e01d..0000000
--- a/code/maint/aecc.in
+++ /dev/null
@@ -1,122 +0,0 @@
-#!/bin/sh
-
-BUILDDIR=@BUILD_ABSOLUTE_TOP@
-
-. ${BUILDDIR}/maint/aecc-utils
-
-setUsageMessage "Usage: aecc <options> <file> -- <compiler options>. Specify --help for a list of options."
-
-setHelpStart "Usage: aecc <options> <file> -- <compiler options>.\n"
-setHelpEnd "\tAll other options (after --) are passed on to the compiler.\n"
-
-addOption h help no none no empty printHelpAndExit "This message."
-addOption c compiler yes compiler no "<compiler path>" none "Path to the compiler to use. Defaults to gcc."
-addOption p "pretty" no none no empty none "Have the parser output pretty code (no source lines)."
-addOption d "debug" no none no empty none "Enable debugging for the parser."
-addOption s "just-source" no none no empty none "Just generate C source and header files."
-addOption v "show-commands" no none no empty none "Show commands run."
-addOption o "output-file" yes outputfile no "<output file>" none "Specifies the output file [default=a.out]."
-addOption i "interm-file" yes intermfile no "<interm file>" none "Specifies the intermediate file."
-addOption S "from-interm" no none no empty none "Start from (existing) intermediate file."
-addOption M "generate-deps" no none no empty none "Generate dependency file during preprocessing step."
-addOption j "parse-hae" no none no empty none "Generate a C .h header from an Aesop .hae header."
-addOption l "pre-compile" no none no empty none "Pre-compile aesop for syntax checking."
-
-compiler=gcc
-parseropts=""
-outputfile=a.out
-
-parseOpts $@
-
-clean=
-addToClean()
-{
- if test "${hasOpt_pretty}" != "yes"; then
- clean="${clean} $1"
- fi
-}
-
-exitIfFailed()
-{
- res=$1
- if test $res -ne 0; then
- rm -f ${clean}
- exit $1
- fi
-}
-
-verbose=no
-if test "${hasOpt_show_commands}" = "yes"; then
- verbose=yes
-fi
-
-if test "${hasOpt_pretty}" = "yes"; then
- parseropts="${parseropts} --pretty"
-fi
-if test "${hasOpt_debug}" = "yes"; then
- parseropts="${parseropts} --debug"
-fi
-
-if test "${hasOpt_parse_hae}" = "yes"; then
- if test "${hasOpt_from_interm}" = "yes"; then
- echo "Can't specify to only compile intermediate with --parse-hae (-j)."
- showUsage 1
- fi
-fi
-
-if test "${hasOpt_from_interm}" != "yes"; then
-
- buildifile=$(echo "${INPUTFILES}" | sed -e "s|^ *${SRCDIR}||" | sed -e "s|^/||")
- cppout=${buildifile}.i
- addToClean ${cppout}
-
- if test -z "${INPUTFILES}"; then
- echo "No input file specified!"
- showUsage 1
- fi
-
- # Step 1: first generate preprocessed file and dependency file
- doCPP ${verbose} ${compiler} ${INPUTFILES} ${cppout} "${hasOpt_generate_deps}" ${outputfile} "${hasOpt_pre_compile}" ${COMPILEROPTS}
- exitIfFailed $?
-
- # Step 2: next run parser on preprocessed file
- if test -n "${intermfile}"; then
- poutfile=${intermfile}
- elif test "${hasOpt_parse_hae}" = "yes"; then
- poutfile=${outputfile}
- else
- poutfile=${buildifile}.s
- addToClean ${poutfile}
- fi
-
- if test "${hasOpt_parse_hae}" = "yes"; then
- parseAesopHeader ${verbose} ${compiler} ${cppout} ${poutfile} "${INPUTFILES}" "${parseropts}" ${COMPILEROPTS}
- exitIfFailed $?
- else
- parseAesopSource ${verbose} ${compiler} ${cppout} ${poutfile} "${INPUTFILES}" "${parseropts}" ${COMPILEROPTS}
- exitIfFailed $?
- fi
-
- # if only source file (.c) or header (.h) was supposed to be generated, stop here
- if test "${hasOpt_just_source}" = "yes" || test "${hasOpt_parse_hae}" = "yes"; then
- rm -f ${clean}
- exit 0
- fi
-fi
-
-compileinput=${poutfile}
-if test -z "${compileinput}"; then
- if test -z "${intermfile}"; then
- echo "If only compiling, the intermediate file name must be specified."
- showUsage 1
- fi
- compileinput=${intermfile}
-fi
-
-doCompile ${verbose} ${compiler} ${compileinput} ${outputfile} ${COMPILEROPTS}
-exitIfFailed $?
-
-rm -f ${clean}
-exit 0
-
-# Done!
diff --git a/code/maint/asciidoc/asciidoc b/code/maint/asciidoc/asciidoc
deleted file mode 120000
index 4413db0..0000000
--- a/code/maint/asciidoc/asciidoc
+++ /dev/null
@@ -1 +0,0 @@
-asciidoc-8.6.3/
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/BUGS b/code/maint/asciidoc/asciidoc-8.6.3/BUGS
deleted file mode 100644
index e2b9604..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/BUGS
+++ /dev/null
@@ -1,27 +0,0 @@
- Bugs and Known Problems
-
- version 8.6.3, 14 November 2010
- __________________________________________________________________
-
-1. AsciiDoc
-
- * A benign warning with will become a reserved keyword in Python 2.6
- sometimes occurs when using Python 2.5 — it’s harmless and will
- disappear with Python 3.
- * Reported line numbers in diagnostic messages are sometimes wrong.
- * Attribute references in macro attribute lists can’t be unescaped
- (with the exception of attribute list entry {0}).
- * Section numbering is incorrect when outputting HTML from a
- multi-part book type document. This is not a biggy since multi-part
- books are generally processed to DocBook.
- * A row of apostrophes in an inline context throws AsciiDoc into an
- endless loop. The problem seems to be in the input file Reader.
- __________________________________________________________________
-
-2. dblatex
-
- See ./dblatex/dblatex-readme.txt.
- __________________________________________________________________
-
- Version 8.6.3
- Last updated 2010-10-01 15:31:40 NZDT
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/BUGS.txt b/code/maint/asciidoc/asciidoc-8.6.3/BUGS.txt
deleted file mode 100644
index b74c1a2..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/BUGS.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-Bugs and Known Problems
-=======================
-
-AsciiDoc
---------
-- A benign warning 'with will become a reserved keyword
- in Python 2.6' sometimes occurs when using Python 2.5 -- it's
- harmless and will disappear with Python 3.
-- Reported line numbers in diagnostic messages are sometimes wrong.
-- Attribute references in macro attribute lists can't be unescaped
- (with the exception of attribute list entry `{0}`).
-- Section numbering is incorrect when outputting HTML from a
- multi-part book type document. This is not a biggy since multi-part
- books are generally processed to DocBook.
-- A row of apostrophes in an inline context throws AsciiDoc into an
- endless loop. The problem seems to be in the input file 'Reader'.
-
-dblatex
--------
-See `./dblatex/dblatex-readme.txt`.
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/CHANGELOG b/code/maint/asciidoc/asciidoc-8.6.3/CHANGELOG
deleted file mode 100644
index ceeae87..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/CHANGELOG
+++ /dev/null
@@ -1,2781 +0,0 @@
- AsciiDoc ChangeLog
-
- version 8.6.3, 14 November 2010
- __________________________________________________________________
-
-1. Version 8.6.3 (2010-11-14)
-
- Additions and changes
- * Added and unbreakable option to bulleted and numbered lists (thanks
- to Henrik Maier for this patch).
- * Added ifeval::[] system macro (thanks to Henrik Maier for
- suggesting this feature).
- * The image scale attribute sets the DocBook imagedata element scale
- attribute. Patch submitted by Henrik Maier.
- * DocBook preface, colophon and dedication style section titles now
- work. Based on patch submitted by Henrik Maier.
- * a2x: Do not inject xsltproc parameters if they were specified on
- the command-line (parameter double-ups generate xsltproc Global
- parameter already defined errors).
- * a2x: Refactored xsltproc parameter injection.
- * a2x: articles chunked at section level by default.
- * attributes, titles and specialcharacters sections are now read from
- the local asciidoc.conf file before the header is parsed. This
- fixes a regression problem. See
- [1]http://groups.google.com/group/asciidoc/browse_thread/thread/1b3
- f88f1f8118ab3
- * Document header attributes take precedence over configuration file
- attributes.
- * Refactored music, graphviz and latex filter configurations.
- * Refactored source filter configuration and added literal paragraph
- source style.
- * Separated paragraph styles from paragraph syntax — any style can be
- applied to any syntax.
- * Added listing and quote paragraph styles.
- * Renamed paragraph default style to normal.
- * Updated --help option text.
- * a2x: The asciidoc_opts, dblatex_opts, fop_opts and xsltproc_opts
- command-line options can be specified multiple times. This makes
- embedding multiple a2x options in document headers easier to manage
- and less error prone.
- * Added ASCIIMathML and LaTeXMathML support to slidy backend.
- * Pass the encoding attribute to the Pygments source highlight filter
- command.
- * a2x: HTML Help .hhk file named after AsciiDoc source file.
- * a2x: Added --xsl-file option to allow custom XSL stylesheets to be
- specified.
- * Make builds the man pages. Patch submitted by Sebastian Pipping.
- See
- [2]http://groups.google.com/group/asciidoc/browse_thread/thread/c21
- c2902c29bae64
-
- Bug fixes
- * FIXED: Sometimes double backquotes were misinterpreted as inline
- literal macros. See:
- [3]http://groups.google.com/group/asciidoc/browse_thread/thread/f51
- 0ea82a88aaee8
- * FIXED: Regression in 8.6.2: command-line attributes were not
- available to the global asciidoc.conf.
- * FIXED: Postponed document title substitutions until backend conf
- files have been loaded (8.6.2 regression). See
- [4]http://groups.google.com/group/asciidoc/browse_thread/thread/42b
- 63ce90c2563b8
- * FIXED: The XSL Stylesheets customizations were preventing chapter
- and section level TOCs from being generated when using XSL
- Stylesheets via a2x. See
- [5]http://groups.google.com/group/asciidoc/browse_thread/thread/42b
- 63ce90c2563b8
- * FIXED: “UnicodeDecodeError: 'ascii' codec can’t decode byte” error.
- This error is due to a limitation in the Python HTMLParser module,
- see: [6]http://bugs.python.org/issue3932
- * FIXED: Broken --no-conf option (8.6.2 regression).
- * FIXED: Regression in 8.6.2: configuration attribute entries set in
- the document header may cause a FAILED: incomplete configuration
- files error.
- * FIXED: html4: corrected self closed meta tags.
- * FIXED: a2x regression in 8.6.2: HTML Help .hhp file name had
- reverted to default name instead of the AsciiDoc source file name.
- See:
- [7]http://groups.google.com/group/asciidoc/browse_thread/thread/ded
- c961b23e9ac56
- * FIXED: Attributes in man page title caused it to be dropped
- resulting in invalid DocBook output.
- * FIXED: make uninstall now deletes the asciidoc.1 and a2x.1 man
- pages.
- __________________________________________________________________
-
-2. Version 8.6.2 (2010-10-03)
-
- Additions and changes
- * docbook45: Enclosed bibliographic lists in a bibliodiv — you can
- now include block titles with bibliographic lists.
- * Added optional keywords, description and title document header
- meta-data attributes to HTML backends for SEO.
- * AttributeEntry values can span multiple lines with a ' +' line
- continuation.
- * Added slidy backend (based on Phillip Lord’s slidy backend
- [8]https://phillordbio-asciidoc-fixes.googlecode.com/hg/)
- * Implemented OpenBlock partintro style for book part introductions.
- * Comment lines substitute special characters only.
- * Backend specific global configuration files (all except
- asciidoc.conf) are loaded after the header has been parsed —
- virtually any attribute can now be specified in the document
- header.
- * xhtml11: Volnitsky theme: allow bulleted lists to have intervening
- children.
- * xhtml11: refactored CSS font-family rules to start of file.
- * xhtml11: list bullets colored gray.
- * ifdef and ifndef system block macros accept multiple attribute
- names: multiple names separated by commas are ored; multiple
- attribute names separated by pluses are anded.
- * xhtml11: Volnitsky theme: set max-width on labeled lists.
- * Vim syntax highlighter: Entities inside quoted text are now
- highlighted.
- * Added role and id attributes to HTML outputs generated by
- OpenBlocks.
- * Allow floating titles to generate h1 (level 0) titles in HTML
- outputs.
- * Added a start attribute to numbered lists to set the start number.
- See:
- [9]http://groups.google.com/group/asciidoc/browse_thread/thread/c14
- a4c3b1e4f6dc5
- * Added two more docinfo attributes docinfo1 and docinfo2 to allow
- and control inclusion of a shared docinfo file. See
- [10]http://groups.google.com/group/asciidoc/browse_thread/thread/c9
- 48697943432e24
- * Vim syntax highlighter highlights multi-name conditional
- attributes.
- * LaTeX backend patch submitted by Andreas Hermann Braml (see
- [11]http://groups.google.com/group/asciidoc/browse_thread/thread/1c
- 415fc4540ce5e5).
- * Implemented backend aliases; renamed docbook.conf to docbook45.conf
- and aliased docbook45 backend to docbook; aliased xhtml11 to html.
-
- Bug fixes
- * FIXED: Filter commands located in filter directories local to the
- source document that where not in the search PATH where not found.
- * FIXED: Volnitsky theme: Verseblock font set normal instead of
- monospaced.
- * FIXED: xhtml11: Callout icons were not rendered as Data URIs when
- icons and data-uri attributes were specified.
- * FIXED: Long standing bug: nested include macros did not restore the
- parent document infile and indir attributes. See:
- [12]http://groups.google.com/group/asciidoc/browse_thread/thread/87
- 12a95e95a292a7
- * FIXED: html4: set preamble ID anchor.
- * FIXED: xhtml11: dropped unusable id and role attributes from
- preamble template.
- * FIXED: Bug in multi-name conditional attributes e.g. {x,y#} fails
- if x or y is undefined.
- * FIXED: latex filter not being installed by Makefile. Thanks to
- Grant Edwards for this patch. See
- [13]http://groups.google.com/group/asciidoc/browse_thread/thread/c4
- 427a3902d130a8
- * FIXED: a2x: Long-standing bug in a2x which always passes
- --string-param navig.graphics 0 to xsltproc, regardless of whether
- icons are enabled or not. Reported by Michael Wild:
- [14]http://groups.google.com/group/asciidoc/browse_thread/thread/59
- a610068e4acb58
- __________________________________________________________________
-
-3. Version 8.6.1 (2010-08-22)
-
- Additions and changes
- * a2x: --resource-dir option renamed to --resource.
- * a2x: --resource option accepts both file and directory names.
- * a2x: Added -m,--resource-manifest option.
- * Added Vim syntax highlighting for quote attribute lists.
- * Load asciidoc.conf from all configuration directories before any
- other configuration files. This ensures that attributes used for
- conditional inclusion are set before backend configuration files
- are processed. Previously if you wanted to control global conf file
- inclusion your only choice was to modify the global asciidoc.conf
- file.
- * AsciiDoc Quote element attributes have been simplified and
- generalized — positional color and size attributes and named role
- attribute have been replaced by a single positional attribute.
-
- Bug fixes
- * FIXED: testasciidoc.py: BACKEND command argument was being ignored.
- * FIXED: Broken docinfo file functionality in html4 and xhtml11
- backends (previously the docinfo file was included in the body
- instead of the header).
-
- 3.1. Regression issues
-
- This release breaks compatibility with quoted element positional color
- and size attributes (HTML backends). To revert to the deprecated quote
- behavior define the deprecated-quotes attribute in the global
- asciidoc.conf file or on the command-line. For a more detailed
- explanation of the rationale behind this change see
- [15]http://groups.google.com/group/asciidoc/browse_thread/thread/b22603
- bfb879418c.
- __________________________________________________________________
-
-4. Version 8.6.0 (2010-08-16)
-
- Additions and changes
- * The AsciiDoc distribution can now be built “out of the box” from
- the distribution tarball or the Mercurial repository (provided you
- have the requisite build applications installed).
- * The global configuration files directory is ignored by both
- asciidoc and a2x if AsciiDoc configuration files are installed in
- the same directory as the asciidoc executable. This change allows
- both a system wide copy and multiple local copies of AsciiDoc to
- coexist on the same host PC.
- * CSS quirks mode is no longer the default xhtml11 output
- ([16]http://groups.google.com/group/asciidoc/browse_thread/thread/1
- c02d27d49221aa2).
- * Relaxed anchor ID name syntax
- ([17]http://groups.google.com/group/asciidoc/browse_thread/thread/5
- f3e825c74ed30c).
- * Added document files: doc/epub-notes.txt,
- doc/publishing-ebooks-with-asciidoc.txt.
- * a2x: If all other resource locations are exhausted then recursively
- search directories named images and stylesheets in the asciidoc
- configuration files directory.
- * a2x: options can also be set in the AsciiDoc source file. If the
- source file contains a line beginning with // a2x: then the
- remainder of the line will be treated as a2x command-line options.
- * Added dblatex table-width processing instruction — tables generated
- by dblatex now observe the AsciiDoc table width as a percentage
- (thanks to Gustav Broberg for suggesting this enhancement).
- * a2x: Don’t exit if the --epubcheck option is set and epubcheck is
- missing, issue warning and continue.
- * Added a global plaintext attribute for dealing with large amounts
- of imported text.
- * The author name format has been relaxed, if the the author does not
- match the formal specification then it is assigned to the firstname
- attribute (previously asciidoc exited with an error message).
- * FAQ and documentation updates.
- * Refactored chunked.xsl and epub.xsl files.
- * Exchanged article.epub for more relevant book.epub on website.
- * Put asciidoc.epub User Guide on website.
- * a2x: Chunking EPUB and HTML outputs set to a per chapter basis and
- the first chapter is separate from preceding contents.
- * Changed dates format in example article and books to suppress EPUB
- validation error.
- * Added style and role CSS classes to xhtml11 section templates.
- * Added the role element to xhtml11 backend block templates.
- * Suppressed md5 module deprecation warning from music and Graphviz
- filters.
- * Pygments ([18]http://pygments.org/) option added to source code
- highlight filter. Based on Pygments source code filter written by
- David Hajage
- ([19]http://groups.google.com/group/asciidoc/browse_thread/thread/d
- 8d042f5a3021369/8934ebbb8cb7144b).
- * xhtml11: Added a new theme (volnitsky). Written and contributed by
- Leonid V. Volnitsky.
- * xhtml11: Set body element class name to document type.
- * Added refentryinfo element and contents (including revdate) to man
- page DocBook output. Man pages are now dated using the revdate
- attribute value if it has been defined. Based on patch supplied by
- Rainer Muller
- [20]http://groups.google.com/group/asciidoc/browse_frm/thread/319e5
- cd94493e330/3fcb83fab067af42.
- * Added {template:...} system attribute.
- * Table of contents attribute toc can now be specified in the
- document header.
- * Reimplemented music and latex filter -m option functionality when
- the input is stdin using MD5 checksums.
- * Added latex filter.
- * Added auto file name generation to image generating filters
- (latex,music, graphviz).
- * Added counter2 and set2 system attributes (to implement image auto
- file name generation).
- * Undefined attribute in filter command generates error but does not
- exit.
- * Attribute substitution proceeds from start line to end line
- (previously was in reverse order which was really confusing).
- * Tidied up music filter code:
- + Format option is optional and default to abc unless Lilypond
- notation detected.
- + The -m option does not apply to stdin input.
- * Added paragraph styles to music and graphviz filters.
- * Documented dynamic template names. 753: Graphviz filter can now
- generate SVG format images. Patch submitted by Elmo Todurov, see:
- [21]http://groups.google.com/group/asciidoc/browse_frm/thread/fe9b3
- 3d8f5f1e0af The xhtml11 SVG Graphviz template marked EXPERIMENTAL.
- No SVG support for other backends.
- * AsciiDoc template names can now contain embedded attribute
- references.
- * Added legalnotice tag to doc/article-docinfo.xml example.
- * xhtml11 backend: Callouts and callout lists display callout icons
- when the icons attribute is defined. See
- [22]http://groups.google.com/group/asciidoc/browse_frm/thread/8eda3
- ea812968854
- * Document attribute names are case insensitive everywhere, this
- makes using attribute entries more consistent e.g. previously
- :VERS: had to be refered to
- * Hungarian translation of footer-text (submitted by Miklos Vajna).
- See
- [23]http://groups.google.com/group/asciidoc/browse_frm/thread/7174c
- b7598993c72#
- * asciidocapi.py 0.1.2: Can now load AsciiDoc script named asciidoc.
- See
- [24]http://groups.google.com/group/asciidoc/browse_frm/thread/66e7b
- 59d12cd2f91 Based on patch submitted by Phillip Lord.
- * German translation of footer-text (submitted by Simon Ruderich).
- See
- [25]http://groups.google.com/group/asciidoc/browse_frm/thread/7174c
- b7598993c72
- * Pushed HTML footer text into language conf files with the
- introduction of a [footer-text] configuration file template
- section. See
- [26]http://groups.google.com/group/asciidoc/browse_frm/thread/7174c
- b7598993c72
-
- Bug fixes
- * FIXED: Sometimes multiple double quoted text elements in the same
- paragraph were mistakenly seen as starting with an inline literal.
- See
- [27]http://groups.google.com/group/asciidoc/browse_frm/thread/219c8
- 6ae25b79a21
- * FIXED: localtime and doctime attributes calculated incorrect
- daylight saving / non daylight saving timezones and consequently so
- did HTML footers. Patch submitted by Slawomir Testowy. See
- [28]http://groups.google.com/group/asciidoc/browse_frm/thread/af652
- 507caf6cec9
- * FIXED: Missing selector for List of examples title in DocBook CSS
- file. Patch submitted by Laurent Laville. See
- [29]http://groups.google.com/group/asciidoc/browse_frm/thread/3f969
- 00f7fbf5620
- * FIXED: Broken accents in lang-hu.conf. See:
- [30]http://groups.google.com/group/asciidoc/browse_frm/thread/7174c
- b7598993c72
- * FIXED: DocBook XSL generated HTML callout lists are properly
- aligned. Submitted by Lionel Orry. See
- [31]http://groups.google.com/group/asciidoc/browse_frm/thread/2ff80
- 2547b6a75ea
- * FIXED: Filter execution now occurs prior to filter markup template
- substitution to ensure image data URI encoding happens after image
- generation (see
- [32]http://groups.google.com/group/asciidoc/browse_thread/thread/14
- e8fcb289a135b).
- * FIXED: The section numbers no longer increment when the numbered
- attribute is undefined (see
- [33]http://groups.google.com/group/asciidoc/browse_thread/thread/fa
- a36e9e5c7da019/d24cab3fe363e58d).
- __________________________________________________________________
-
-5. Version 8.5.3 (2010-01-18)
-
- Additions and changes
- * a2x: Added a2x configuration file options ASCIIDOC_OPTS,
- DBLATEX_OPTS, FOP_OPTS, XSLTPROC_OPTS (appended to same-named
- command-line options). See
- [34]http://groups.google.com/group/asciidoc/browse_frm/thread/ac4b9
- bfa2116db28
- * Dropped .hgignore from the repository. See
- [35]http://groups.google.com/group/asciidoc/browse_frm/thread/c17ab
- d175778f5ea
- * Don’t pass verbose options to asciidoc table filter so that
- asciidocapi messages are not discarded. See:
- [36]http://groups.google.com/group/asciidoc/browse_frm/thread/c17ab
- d175778f5ea
- * Added ./tests/data/lang-pt-BR-test.txt file to the repository.
- * xhtml11: Verse block and verse paragraph content enveloped in a pre
- tag (instead of a div) so it renders better in text-only browsers.
- See:
- [37]http://groups.google.com/group/asciidoc/browse_frm/thread/1b6b6
- 6adb24e710
- * User Guide: Clarified Passthrough Blocks (suggested by Simon
- Ruderich).
- * FAQ: How can I include lines of dashes inside a listing block?
- * FAQ errata and updates (submitted by Simon Ruderich).
- * User Guide errata.
- * Simplified asciidoc-toc processing instruction and included lists
- of figures, tables, examples and equations in books (i.e. revert to
- pre-8.5.0 behavior).
- * Attempted to have dblatex recognise the asciidoc-toc processing
- instruction but couldn’t get it to work.
- * Added notitle attribute to allow the document title to be hidden.
-
- Bug fixes
- * FIXED: Regression: system attribute escaping did not work.
- * FIXED: Website: broken image links in chunked User Guide.
- __________________________________________________________________
-
-6. Version 8.5.2 (2009-12-07)
-
- Additions and changes
- * Updated example article and book documents with the recommended
- explicit section name syntax (see the Special section titles vs.
- explicit template names sidebar in the AsciiDoc User Guide).
- * Added Italian language configuration file (contributed by Fabio
- Inguaggiato).
- * Added header table style. See:
- [38]http://groups.google.com/group/asciidoc/browse_frm/thread/a23fe
- a28394c8ca9
- * Pass icons, data-uri, imagesdir, iconsdir attributes to asciidoc
- table style filter so that images are rendered in table cells.
- * Pass trace and verbose attributes to asciidoc table style filter so
- diagnostic information is printed from table cell source.
- * The eval system attribute can be nested inside other system
- attributes.
- * HTML outputs: Table and figure caption punctuation set to more
- usual syntax.
- * docbook backend: footnotes can now contain embedded images. See
- [39]http://groups.google.com/group/asciidoc/browse_frm/thread/50b28
- f6941de111a
- * CSS tweaks so that tables processed by DocBook XSL Stylesheets have
- the default asciidoc xhtml11 backend styling. See
- [40]http://groups.google.com/group/asciidoc/browse_frm/thread/dfe52
- 04d5b2c9685
- * Block titles take precedence over section titles to avoid titled
- delimited blocks being mistaken for two line section titles (see
- [41]http://groups.google.com/group/asciidoc/browse_frm/thread/f0b6f
- 9989f828c3).
- * Section title trace displays level and title text.
- * FAQ additions.
- * Added {zwsp} (zero width space) attribute.
- * Undefined paragraph styles are reported (previously threw a runtime
- error).
- * Eliminated empty preamble generation.
- * Floating titles now processed in all contexts.
- * Implemented auto-lettered appendix names and updated example
- documents.
- * Section numbering can be disabled in HTML outputs with a
- :numbered!: AttributeEntry.
- * xhtml11: Nicer default quote block styling.
- * Exclude floating titles from xhtml11 table of contents. Patch
- submitted by Mark Burton (see
- [42]http://groups.google.com/group/asciidoc/browse_frm/thread/14aef
- c1cb6bd85f5).
- * Enhanced doc/article-docinfo.xml example docinfo file.
- * Vim syntax highlighter improvements.
-
- Bug fixes
- * FIXED: Absolute imagesdir and iconsdir attribute path names do not
- work with the xhtml11 data-uri encoding. See
- [43]http://groups.google.com/group/asciidoc/browse_frm/thread/cb8b7
- 694bbc82a6
- * FIXED: Regression issue with inline data-uri images. See
- [44]http://groups.google.com/group/asciidoc/browse_frm/thread/cb8b7
- 694bbc82a6
- * FIXED: An unexpected error occurred when processing a table
- containing CSV data if the cols attribute was not explicitly
- specified. See
- [45]http://groups.google.com/group/asciidoc/browse_frm/thread/4b0f3
- 64b477ec165
- __________________________________________________________________
-
-7. Version 8.5.1 (2009-10-31)
-
- Additions and changes
- * If an AsciiDoc document file begins with a UTF-8 BOM (byte order
- mark) then it is passed transparently through to the output file.
- The BOM is stripped from included files. See
- [46]http://groups.google.com/group/asciidoc/browse_frm/thread/e5e61
- 823ff4203cd
- * Added AsciiDoc role attribute to quoted text. Sets class attribute
- in HTML outputs; role attribute in DocBook outputs. See:
- [47]http://groups.google.com/group/asciidoc/browse_frm/thread/2aa3e
- 5711d243045
- * Conditional attribute syntax extended: they now accept multiple
- ORed or ANDed attribute names.
- * The xhtml11 backend dynamically processes footnotes using
- JavaScript.
- * Tidied up and namespaced xhtml11 JavaScript.
- * Superceded javascripts/toc.js with javascripts/asciidoc-xhtml11.js.
- * Added disable-javascript attribute (xhtml11 backend).
- * Styled HTML footnotes.
- * Added links to HTML footnote refs.
- * Added title attribute to inline image macros to display popup
- “tooltip” (HTML outputs only).
- * Single-quoted attribute values are substituted in block macros
- (just like the AttributeList element).
- * For consistency changed underscores to dashes in attribute names.
- Public attributes with underscores retained for compatibility.
- * Added Brazilian Portuguese language configuration file (contributed
- by Thiago Farina).
- * Added leveloffset attribute to make it easier to combine documents.
-
- Bug fixes
- * FIXED: a2x: --dblatex-opts is now processed last so
- asciidoc-dblatex.xsl params can be overridden. Patch submitted by
- Mark Fernandes (see
- [48]http://groups.google.com/group/asciidoc/browse_frm/thread/5215c
- 99dcc865e7d).
- * FIXED: An error occurred if a directory in current path with same
- name as executable.
-
- 7.1. Regression issues
-
- There’s been quite a bit of tiding up to the xhtml11 JavaScript. The
- most obvious change is that the toc.js script has been superceded by
- asciidoc-xhtml11.js so if you’re linking you’ll need get a copy of the
- new file from the distribution javascripts directory.
-
- If you use customised xhtml11 configuration file [header] and [footer]
- sections and you want them to use the new footnotes feature then you’ve
- got a bit more work to do:
- 1. The onload event expression changed.
- 2. The new <div id="content">...</div> div envelopes document content.
- 3. You need to add <div id="footnotes">...</div> div to the
- [footnotes] section for footnotes to work.
- 4. Drop the ifdef::toc[] macro that surround JavaScript inclusion.
-
- Take a look at the [header] and [footer] changes in the xhtml11.conf
- diff to see what’s going on:
- [49]http://hg.sharesource.org/asciidoc/diff/55a5999bfd04/xhtml11.conf
- __________________________________________________________________
-
-8. Version 8.5.0 (2009-10-04)
-
- Additions and changes
- * Implemented a float attribute for tables and block images (HTML
- outputs only).
- * Added unfloat::[] block macro to cancel floating.
- * Added table align attribute to (HTML outputs only).
- * The image align attribute now works with HTML backends.
- * Renamed table cell align attribute to halign so it doesn’t clash
- with the new table align attribute.
- * Added breakable and unbreakable options to AsciiDoc example and
- block image elements.
- * [miscellaneous] section entries now update properly when set from a
- document AttributeEntry.
- * [miscellaneous] section pagewidth entry accepts fractional values.
- * Fractional column widths are now calculated correctly when using
- fractional pageunits (DocBook tables).
- * Use DocBook XSL table width processing instructions.
- * asciidoc KeyboardInterrupt exits with error code 1.
- * Added set system attribute to allow attributes to be set from
- configuration file templates.
- * Allow constrained quotes to be bounded on the left by a colons and
- semicolons, see
- [50]http://groups.google.com/group/asciidoc/browse_frm/thread/b276a
- 927fdc87995
- * Titled listing and literal blocks (DocBook outputs) no longer
- default to examples. See
- [51]http://groups.google.com/group/asciidoc/browse_frm/thread/f4df7
- c9eec01a9bd
- * Updated language file table, figure and example captions to
- accommodate new auto-numbering in html4 and xhtml11 backends.
- * Titled source highlight filter listings generated by docbook
- backend are now rendered as examples. See
- [52]http://groups.google.com/group/asciidoc/browse_frm/thread/f4df7
- c9eec01a9bd
- * Implemented counter system attribute.
- * Use counter system attributes to number titled tables and block
- images in HTML backends.
- * Added program name suffix to console messages.
- * Added substitution to the AttributeEntry passthrough syntax, this
- replaces the now unnecessary attributeentry-subs attribute.
- * Allow passthrough inline macro syntax to be used in
- AttributeEntrys.
- * Reinstated 8.4.4 default lang attribute behavior. See
- [53]http://groups.google.com/group/asciidoc/browse_frm/thread/d2992
- 4043e21cb6a.
- * Added max-width attribute to the xhtml11 backend to set maximum
- display width. See
- [54]http://groups.google.com/group/asciidoc/browse_frm/thread/74d9a
- 542b79ccd50.
- * Added a2x.py, a rewritten and much enhanced version of the old a2x
- bash script.
- * The new a2x can output EPUB formatted documents.
- * Added --safe option and deprecated --unsafe option. Patch submitted
- by Todd Zullinger. See
- [55]http://groups.google.com/group/asciidoc/browse_frm/thread/ea3a8
- ea399ae5d2a and
- [56]http://groups.google.com/group/asciidoc/browse_frm/thread/69b31
- 83fdab7c6a5
- * Added CHECK and TEST todo highlight words to Vim syntax
- highlighter.
- * Line breaks, page breaks, and horizontal rulers are now processed
- by dblatex, thanks to a patch submitted by Mark Fernandes
- ([57]http://groups.google.com/group/asciidoc/browse_frm/thread/a254
- cf949ea7c6c5).
- * Allow footnote macros hard up against the preceding word so the
- rendered footnote mark can be placed against the noted text without
- an intervening space (patch submitted by Stas Bushuev,
- [58]http://groups.google.com/group/asciidoc/browse_frm/thread/e1dcb
- 7ee0efc17b5).
- * Normalized path in safe_filename function (submitted by Todd
- Zullinger,
- [59]http://groups.google.com/group/asciidoc/browse_frm/thread/69b31
- 83fdab7c6a5).
- * The Asciidoc numbered and toc attributes cause DocBook outputs to
- include asciidoc-numbered and asciidoc-toc processing instructions,
- these are used by DocBook XSL to include section numbering and
- table of contents (like Asciidoc HTML backends). For backward
- compatibility both numbered and toc attributes are defined by
- default when the docbook backend is used. See
- [60]http://groups.google.com/group/asciidoc/browse_frm/thread/1bada
- d21ff9447ac.
- * data-uri attribute is now evaluated dynamically and can be set in
- document body (previously could only be set from command-line).
- * Added sys3 and eval3 system attributes to passthrough generated
- output, this fixes the data-uri inline image problem:
- [61]http://groups.google.com/group/asciidoc/browse_frm/thread/a42db
- 6bc54c2c537.
- * Missing language file generates a warning instead of an error.
- * Updated Spanish language file (updates contributed by Gustavo
- Andrés Gómez Farhat).
-
- Bug fixes
- * FIXED: Options in an AttributeList option attribute are merged with
- (rather than replace) configuration file options.
- * FIXED: Comment blocks and comment block macros no longer consume
- preceding block titles and attribute lists.
- * FIXED: examples/website/layout1.conf and
- examples/website/layout2.conf TOC problem. Submitted by Mark
- (burtoogle). See
- [62]http://groups.google.com/group/asciidoc/browse_frm/thread/b9c63
- be67dd1d11c
- * FIXED: Only the first occurrence of passthrough macro was
- substituted. Patch submitted by Peter Johnson. See
- [63]http://groups.google.com/group/asciidoc/browse_frm/thread/1269d
- c2feb1a482c
- * FIXED: asciidoc now runs on Jython 2.5.0.
- * FIXED: Wordpress margins and pads in a number of block elements
- ([64]http://groups.google.com/group/asciidoc/browse_frm/thread/36ff
- 073c79cbc20a).
-
- 8.1. Regression issues
-
- * Tables generated by dblatex occupy 100% of the available space
- regardless of the width attribute setting. To restore width
- behavior change the pageunits miscellaneous parameter to pt. You
- can do this from the command-line with the -a pageunits=pt option.
- See [65]DocBook table widths.
- __________________________________________________________________
-
-9. Version 8.4.5 (2009-05-24)
-
- Additions and changes
- * Added manpage Name and Synopsis section title customization to
- languages configuration files.
- * Synopsis manpage section no longer mandatory.
- * Section markup templates can be specified by setting the title’s
- first positional attribute or template attribute.
- * The article and book document header can now include a revision
- remark.
- * A role attribute can now be applied to block elements. This adds
- the role attribute to DocBook elements. Patch submitted by [66]Noah
- Slater).
- * Renamed revision and date attributes to more sensible and
- consistent revnumber and revdate (old names deprecated but still
- recognized).
- * Moved backend specific attributes to Appendix H in User Guide.
- * Renamed and generalized the docbook backend revision history
- inclusion mechanism to docinfo to reflect the use of all article or
- book information elements. The old revision history names still
- work but have been deprecated.
- * Refactored docbook.conf headers.
- * Moved line break replacement from [replacements] to [replacements2]
- so the replacement occurs after the mailto macro. This fixes bug
- [67]http://groups.google.com/group/asciidoc/browse_thread/thread/4b
- dcdfb0af773e2
- * The typewriter to punctuation apostrophe replacement can be escaped
- with a backslash.
- * Graphviz filter outputs images to imagesdir if it is defined.
- * Made the block image macro generic so that it can be used for
- filter outputs. As a result Music and Graphviz filters:
- + Have been greatly simplified.
- + Honor the data-uri attribute.
- + html4 outputs no longer generate W3C validation warning.
- * The iconsdir attribute no longer requires a trailing directory
- separator character.
- * Removed borders around linked html4 images.
- * Added html4 specific HTML output for music filter.
- * a2x: Added --unsafe option (shortcut for --asciidoc-opts=--unsafe).
- * a2x: The FOP executable can now be named fop (this is the default
- name in some distributions).
- * Attributes are now substituted in the system macro attribute list.
- * If the output is set to stdout (i.e. no output directory is
- defined) then Music and Graphviz filters will output included
- images to the source file directory.
- * Added name directive to testasciidoc.
- * Added lots of testasciidoc new tests.
- * Moved language specific configuration parameters into lang-en.conf
- file.
- * lang attribute entry can be specified in the AsciiDoc source file
- (preceding the header).
- * Removed cruft from A-A-P scripts and documented them.
- * Added German language config file (lang-de.conf) contributed by
- Michael Wild.
- * Added French language config file (lang-fr.conf) contributed by
- Yves-Alexis Perez.
- * Added Russian language config file (lang-ru.conf) contributed by
- Artem Zolochevskiy.
- * Added Hungarian language config file (lang-hu.conf) contributed by
- Miklos Vajna.
-
- Bug fixes
- * FIXED: Multiple manpage names are now handled correctly when
- generating DocBook output, each name now generates a separate
- DocBook <refname> element. See
- [68]http://groups.google.com/group/asciidoc/browse_thread/thread/c9
- 3bb4db025225d8
- * FIXED: A problem that caused AttributeEntries preceding the header
- to be overwritten when the language conf file loaded.
- * FIXED: Possible inline macro name ambiguity e.g. link matches
- olink.
- * FIXED: The documented macro definition deletion behavior had been
- broken for a long time.
- * FIXED: Email addresses not recognized when followed by a period
- character.
- * FIXED: Hyphens in mailto macros can delimit nested addresses e.g.
- bloggs@mail was processed inside
- mailto:[email protected][Mail].
- * FIXED: User name in FTP URI generated incorrect FTP link. See
- [69]http://groups.google.com/group/asciidoc/browse_thread/thread/1d
- 796a9c9ddb2855
- * FIXED: Source highlighter now works with Wordpress backend (see
- [70]http://groups.google.com/group/asciidoc/browse_thread/thread/6d
- 8c716748b109e3).
-
- 9.1. Regression issues
-
- 1. A colon following the date in the AsciiDoc header is treated as a
- revision remark delimiter — this could be an issue if you have used
- a colon in the header date.
- __________________________________________________________________
-
-10. Version 8.4.4 (2009-04-26)
-
- Additions and changes
- * Added table column and row spanning.
- * Table styles can now be applied per cell.
- * Vertical cell alignment can be applied to columns and individual
- cells.
- * Added table align attribute to set horizontal alignment for entire
- table.
- * Included Geoff Eddy’s update of the experimental LaTeX backend.
- * A new attribute named trace controls the output of diagnostic
- information. If the trace attribute is defined then
- element-by-element diagnostic messages detailing output markup
- generation are printed to stderr.
- * Added literal paragraph style (allows literal style to be applied
- to normal paragraphs).
- * Deleted unused replacements2 from xhtml11.conf.
- * Added replacements2 to default substitutions.
- * testasciidoc.py: messages to stdout, only diffs to stderr.
- * Added transparency to smallnew.png image.
-
- Bug fixes
- * All combinations of leading comments and attribute entries at the
- start of a document are now skipped correctly.
- * FIXED: ./configure doesn’t support --docdir as expected (patch
- submitted by Artem Zolochevskiy)
- * FIXED: Constrained quotes were incorrectly matched across line
- boundaries e.g. the string +\nabc+ incorrectly matched a monospace
- quote.
- __________________________________________________________________
-
-11. Version 8.4.3 (2009-04-13)
-
- Additions and changes
- * DocBook outputs default to DocBook version 4.5 doctype (previously
- 4.2).
- * Configuration file [specialsections] definitions can be undefined
- by setting their configuration entry values blank.
- * The Makefile install target depends on the all target to ensure
- pre-install patches are applied.
- * testasciidoc.py now emits user friendly messages if:
- 1. the configuration file is missing.
- 2. an illegal backend is specified.
- 3. an illegal test number is specified.
-
- Bug fixes
- * Fixed [71]missing template section error.
- * The testasciidoc.py --force option no longer deletes test data
- files that were not specified.
- * Dropped second quotes substitution in table cells — it had
- effectively disabled quote escaping in table cells.
- __________________________________________________________________
-
-12. Version 8.4.2 (2009-03-19)
-
- Additions and changes
- * Added [72]testasciidoc, a tool to verify AsciiDoc conformance.
- * A warning is issued if nested inline passthroughs are encountered.
- * asciidocapi: setting an attribute value to None will undefine
- (delete) the attribute (this in addition to the name! attribute
- name format that the asciidoc(1) command uses).
- __________________________________________________________________
-
-13. Version 8.4.1 (2009-03-10)
-
- Additions and changes
- * AsciiDoc now has a [73]Python API. The following minimal example
- compiles mydoc.txt to mydoc.html:
-
- from asciidocapi import AsciiDocAPI
- asciidoc = AsciiDocAPI()
- asciidoc.execute('mydoc.txt')
-
- * Backtick quoting for monospaced text is now implemented as an
- inline literal passthrough. This makes more sense since monospace
- text is usually intended to be rendered literally. See
- [74]Regression issues below for the impact this may have on
- existing documents. Here are some examples that would previously
- have had to be escaped:
- The `++i` and `++j` auto-increments.
- Paths `~/.vim` and `~/docs`.
- The `__init__` method.
- The `{id}` attribute.
- * Added --doctest option to asciidoc(1) command.
- * Added an optional second argument to BlockId element, this sets the
- {reftext} attribute which in turn is used to set the xreflabel
- attribute in DocBook elements.
- * Added lists to --help syntax summary.
- * {infile} and {indir} attributes reflect the current input file
- (previously always referred to the root document).
- * {docfile} (new) and {docdir} (previously deprecated) attributes
- refer to the root document specified on the asciidoc(1)
- command-line.
- * Vim syntax highlighter improvements.
- * Syntax summary command (asciidoc -h syntax) additions.
- * Admonition icons now have transparent backgrounds.
- * Changed yellow W3C badges to blue ones in page footers.
-
- Bug fixes
- * Dropped asciidoc(1) broken undocumented --profile option.
- * Em dash replacement now recognized at start of block.
-
- 13.1. Regression issues
-
- Replacing backtick quoting with the inline literal passthrough raises
- two regression scenarios for existing documents:
- 1. You have escaped the expansion of enclosed inline elements, for
- example: \{id}. You would need to delete the backslashes: {id} (if
- you don’t the backslashes will be printed). Mostly it’s just a case
- of interactively finding and replacing of all occurrences of `\.
- 2. There are enclosed inline elements, for example: some *bold*
- monospaced. You would need to switch to plus character monospace
- quoting: +some *bold* monospaced+ (if you don’t the enclosed
- elements won’t be expanded).
-
- If your existing documents include these cases and you don’t want to
- upgrade then use the -a no-inline-literal command-line option,
- alternatively put this in ~/.asciidoc/asciidoc.conf:
- [attributes]
- no-inline-literal=
- __________________________________________________________________
-
-14. Version 8.3.5 (2009-02-02)
-
- Additions and changes
- * Cached compiled regular expression delimiters (speed up User Manual
- compilation by 250%).
- * Created distinct list definitions for each numbered list style to
- allow nesting of all styles.
- * Roman numbers in numbered lists are followed by a closing
- parenthesis instead of a period to eliminate i, v, x item ambiguity
- with respect to alpha numbered list items.
- * Added **, ***, ****, ***** bulleted lists.
- * Added ..., ...., ..... implicit numbered lists.
- * Added :::, :::: labeled lists.
- * Updated User Guide for new list syntaxes.
- * Optimized paragraph and list termination detection with separate
- precompiled regular expressions for performance and to prevent
- reaching Python 100 named group limit.
- * Updated Vim syntax highlighter for new list syntaxes.
- * Allow template::[] macros in conf file entries sections (not just
- in template sections).
- * Dropped unused [listdef-numbered2] conf file sections.
- * Renamed ListBlock to more appropriate OpenBlock.
- * Implemented single-line versions of ifdef::[] and ifndef::[]
- macros.
- * html4 backend styling:
- + Underlined admonition captions.
- + Added side border to Example Blocks.
- * xhtml11 backend styling:
- + Dropped right hand margin from all but quote and verse blocks.
- + html4 backend: corrected over-sized width of caption in
- admonition block.
-
- Bug fixes
- * Fixed broken numbered list nesting.
-
- 14.1. Compatibility issues
-
- The roman numbered list parenthesis syntax is incompatible with the
- potentially ambiguous roman period syntax introduced in 8.3.2.
- __________________________________________________________________
-
-15. Version 8.3.4 (2009-01-20)
-
- Additions and changes
- * Implemented a title float style. A floating title (or bridgehead)
- is rendered just like a normal section but is not formally
- associated with a text body and is not part of the regular section
- hierarchy so the normal ordering rules do not apply.
- * Implemented inline comment macro so comment lines can now appear
- inside block elements.
- * Comment lines are sent to the output if the showcomments attribute
- is defined (comment blocks are never sent to the output).
- * Single quoting attribute values in AttributeList elements causes
- them to be substituted like normal inline text (without single
- quoting only attribute substitution is performed).
- * Rewrote list item processing (was very crufty). List continuation
- and list blocks now work as expected. Updated and clarified list
- documentation in User Guide.
- * The revision attribute now recognizes the RCS $Id$ marker format.
- * An RCS $Id$ marker formatted revision line in the header does not
- need to be preceded by an author line.
- * If an RCS $Id$ formatted revision is specified and the author name
- has not already been set then the author name in the $Id$ marker
- will be used.
- * Updated Gouichi Iisaka’s Graphviz filter to version 1.1.3.
- * Added autowidth table attribute option for (X)HTML outputs.
- * DocBook backend now puts orgname optional attribute in DocBook
- header.
- * Deprecated undocumented companyname attribute in favor of DocBook’s
- corpname.
- * Removed explicit closing backslash from HTML4 self-closing tags to
- comply with WC3 recommendation.
-
- Bug fixes
- * Fixed 8.3.3 regression whereby adjacent lists with the same syntax
- but different list styles were incorrectly treated as a single
- list.
- __________________________________________________________________
-
-16. Version 8.3.3 (2009-01-02)
-
- This release supersedes 8.3.2.
-
- Bug fixes
- * The broken and confusing numeration and numeration2 numbered list
- attributes have been dropped, use the style attribute instead.
- __________________________________________________________________
-
-17. Version 8.3.2 (2009-01-01)
-
- Additions and changes
- * Added Gouichi Iisaka’s Graphviz filter to distribution.
- * The SidebarBlock element can now be rendered with an abstract
- style.
- * Reorganized filters into a separate subdirectory for each filter.
- * Updated Makefile.in and MANIFEST files to reflect new filters
- organization.
- * Added listing style to LiteralBlock element so listings with nested
- listing blocks can be rendered as a listing block.
- * Changed example code filter to use preferred ListingBlock syntax
- (the old ~ delimited filter syntax is no longer used).
- * Implemented enumeration and enumeration2 numbered list attributes
- for specifying the list numbering style (arabic, loweralpha,
- upperalpha, lowerroman and upperroman).
- * AsciiDoc now recognizes upperalpha, lowerroman and upperroman
- numbers in listdef-numbered2 numbered lists and sets the number
- style based on the style of the first numbered list item
- (alternative to setting enumeration2 attribute).
- * Updated formatlistpat definition in .vimrc example in User Guide.
- * You can now backslash escape system block macros.
- * Added Pychart FAQ.
- * Drop paragraph text and list text, index and label match groups
- from attributes — they are included in the element’s text and we
- don’t want them processed a second time as attributes.
- * Changed comment line block macro to a passthrough block macro to
- ensure no substitutions.
- * A subslist no longer has to be appended to a PassthroughBlock macro
- definition, if omitted no substitutions are performed.
- * Code tidy up: replaced deprecated <> operator with !=.
- * Removed unused linuxdoc code.
- * Code tidy ups: dropped old types module reference; replaced
- has_key() with preferred in operator.
-
- Bug fixes
- * Old syntax source highlight filter regression: special characters
- where not escaped in DocBook outputs.
- __________________________________________________________________
-
-18. Version 8.3.1 (2008-12-14)
-
- Additions and changes
- * Replaced the install.sh script with Ben Walton’s updated autoconf
- scripts — see [75]INSTALL for details.
- * Added a generalized AttributeEntry syntax to allow arbitrary
- configuration file entries to be set from within an AsciiDoc
- document (suggested by Henrik Maier).
- * Listing delimited blocks in DocBook outputs now support IDs; IDs of
- titled Listing and Literal delimited blocks have been moved to the
- enclosing DocBook example tag (thanks to Vijay Kumar for this
- patch).
- * Replaced vertical typewriter apostrophe with punctuation apostrophe
- (thanks to Noah Slater).
-
- Bug fixes
- * Regression: Excluding double-quotes from unquoted attribute values
- resulted in backward incompatibility, double-quotes in unquoted
- attribute values has been reinstated.
- * Regression: Text like &...; was sometimes mistaken for an entity
- reference — tightened up entity reference matching.
- __________________________________________________________________
-
-19. Version 8.3.0 (2008-11-29)
-
- Additions and changes
- * [76]AsciiDoc new tables is a complete redesign of the tables syntax
- and generation. The new syntax and features are a huge improvement
- over the old tables. The old tables syntax has been deprecated but
- is currently still processed.
- * [77]Lists can now be styled like other block elements. This allows
- a single list syntax for glossary, qanda (Question and Answer) and
- bibliography lists instead of having to remember a different syntax
- for each type.
- * Inline passthroughs macros have been improved and block passthrough
- macros added. Attribute substitution can be optionally specified
- when the macro is called.
- * The passthrough block has a fully transparent passthrough delimited
- block block style called pass.
- * The asciimath and latexmath [78]passthrough macros along with
- asciimath and latexmath [79]passthrough blocks provide a (backend
- dependent) mechanism for rendering mathematical formulas. There are
- [80]LaTeX Math, [81]AsciiMathML and [82]LaTeXMathML examples on the
- AsciiDoc website.
- * Reimplemented and cleaned up filter processing based on a patch
- submitted by Kelly Anderson. Uses the newer subprocess module
- instead of the deprecated popen2 module. Now works in Win32 command
- shell.
- * Addition FAQs, more documentation updates.
- * Arbitrary HTML/XML entities can be entered in AsciiDoc source.
- * Did away with the need for the shaded-literallayout.patch (thanks
- to Henrik Maier for this patch).
- * Implemented page break block macro.
- * Added line breaks and ruler processing instructions to DocBook
- outputs (thanks to Henrik Maier for this patch).
- * Added deg (degree) and wj (word joiner) entity attributes (thanks
- to Henrik Maier).
- * Tweaked DocBook indexterm2 macro to avoid white space preceding the
- term when used in table cells (thanks to Henrik Maier for this
- patch).
- * Title elements now process the options attribute like other block
- elements.
- * Added ‘single quoted’ element.
- * Spaces on both sides of a — em-dash are translated to thin space
- characters.
- * Improved detection and reporting of malformed attribute lists.
- * The list compact style is now a list option.
- * Added strong labeled list option which makes the labels bold (HTML
- outputs only).
- * Dropped unsupported linuxdoc backend.
- * Dropped deprecated xhtml-deprecated (version 6) backend.
- * Added breakable and unbreakable attribute options to tables to
- control table breaking across page boundaries (DocBook XSL/FO
- outputs). By and in collaboration with Henrik Maier.
- * Added pgwide attribute option to tables to table, block image,
- horizontal labeled lists. Specifies that the element should be
- rendered across the full text width of the page irrespective of the
- current indentation (DocBook XSL/FO outputs). Thanks to Henrik
- Maier for this patch.
- * Vim syntax highlighter: spaces before/after bullets no longer
- highlighted (which is ugly if using a theme that highlights with
- underlines). Thanks to Donald Chai for this patch.
- * Added a2x(1) --fop option.
- * Added a2x(1) --no-xmllint option.
- * Highlighted labelled list terms with the navy color in XHTML
- outputs.
- * Use w3m(1) as default a2x(1) text format generator (fallback to
- lynx(1)).
- * Changed callout formats in html4 and xhtml11 outputs to angle
- brackets to match source highlighter rendering.
- * Macros now inject user defined <optionname>-option attributes into
- markup.
- * Added IRC URLs to AsciiDoc inline macros.
- * Added depth attribute to include::[] system macro.
- * Added footnoteref inline macro.
- * Added stylesheet XHTML attribute to specify additional custom CSS
- stylesheet.
- * If a paragraph style is specified it will be added to the XHTML
- class attribute and DocBook role attribute.
- * Replacements can be set in a document using the reserved
- AttributeEntry name replacement.
- * The prefix for auto-generated section name IDs can be set with the
- idprefix attribute.
-
- Bug fixes
- * Escaped quote skipped over leading and trailing quote instead of
- just the leading quote.
- * Fixed bug that was causing false negative safe mode warnings (patch
- submitted by Julien Palmas).
- * Placed priority of AttributeEntry, AttributeList and BlockTitle
- above Title. This ensures an AttributeEntry, AttributeList or
- BlockTitle followed by a same length leading ListingBlock delimiter
- is not mistaken for a two-line title.
- * Vim syntax highlighter: fixed multi-line quoted text.
- * Contstrained quote termination after non-space character enforced.
- * Vim syntax highlighter: unterminated quoted text is no longer
- highlighted.
- * Vim syntax highlighter: passthroughs now exactly match AsciiDoc
- semantics.
- * Vim syntax highlighter: escaped quoted text, attribute references
- and inline macros are not highlighted.
- * Vim syntax highlighter: TODO’s highlighted in CommentBlocks (thanks
- to Scott Wall); non-greedy $$...$$.
- * Vim syntax highlighter: Comment lines mistaken for vertical list
- labels (thanks to Scott Wall).
- * Vim syntax highlighter: Single unmatched $$ mistakenly highlighted
- remaining text (patch contributed by Scott Wall).
- * Callouts now work in source highlighted listing generated by
- dblatex.
- * Fixed exception that occured if undefined attribute was present in
- filter command.
- * AttributeList block can now follow a paragraph without intervening
- blank line.
- * The include macro tabsize attribute is no longer propagated to
- nested includes.
-
- Omissions
- The following features were implemented but then but removed from this
- release:
- * pi, cdata and comment passthrough macros and passthrough block
- styles (creeping featurism, use pass macros instead).
- * Generic tag inline macro (creeping featurism, use pass macros
- instead).
-
- 19.1. Compatibility issues
-
- Version 8.3.0 has a number of backward incompatibilities with respect
- to the previous 8.2.7 release:
- * The old table syntax is still processed but a DEPRECATED warning is
- issued.
- * Entity references have to be escaped with a backslash.
- * You have to explicitly precede horizontal style labeled lists with
- the [horizontal] style attribute — by default all labeled lists are
- rendered vertically.
- * The list compact style has been dropped and is now a list option
- (use options="compact" in attribute lists).
- * AsciiDoc version 6 sytnax no longer supported.
- * Linuxdoc been removed from the distribution.
- * The unsupported experimental latex backend has not been tested on
- this release.
- * The introduction of single-quote quoting requires that double-quote
- quoting is escaped with two backslashes.
- __________________________________________________________________
-
-20. Version 8.2.7 (2008-07-04)
-
- Additions and changes
- * Added dvi, ps and tex output format options to a2x(1).
- * Added --dblatex option to a2x(1) so dblatex(1) can be used to
- generate PDFs.
- * Added custom dblatex(1) configuration files (in distribution
- ./dblatex directory) that are used by a2x(1).
- * dblatex(1) is now used to generate the distributed PDF version of
- the AsciiDoc User Guide.
- * If you don’t need a customized the link caption you can enter the
- http, https, ftp, file URLs and email addresses without any special
- macro syntax — you get the links by just cutting and pasting URLs
- and emails addresses. This also makes it easier to open links
- directly form AsciiDoc source ( most editors allow you to open URLs
- directly). The Vim syntax highlighter has been updated to reflect
- these changes.
- * Highlighted source code paragraphs have been implemented — it’s a
- much more convenient way to enter short code examples (see [83]the
- online docs).
- * The source highlighter and music filter syntax has changed — they
- now used the ListingBlock syntax customized with source and music
- style attribute values. This follows the Paragraph styling
- convention introduced by the source paragraph (previous item) and
- is easier to read. The old syntax still works but has been
- deprecated.
- * QuoteBlocks now have a verse style — you no longer have to nest a
- verse LiteralBlock inside a QuoteBlock for verses. The verse style
- on the LiteralBlock has been deprecated (still works though) and
- the style attribute is positional attribute 1, pushing attribution
- and citetitle attributes to the right (you’ll need to insert a
- quote attribute into your existing QuoteBlocks).
- * It is no up to the DocBook processor to highlight source code
- syntax in <programlisting> elements rather than GNU Highlighter —
- this is the correct way to handle it, plus dblatex(1) makes a much
- better job.
- * scaledwidth and align attributes have been added to the image
- macro. They apply to DocBook outputs (specifically for PDF
- documents). scaledwidth sets the image size as a percent of the
- available page width; align applies left, center or right
- horizontal image justification.
- * Added a2x(1) --fop-opts=FOP_OPTS option (patch submitted by Miklos
- Vajna).
- * Added a2x(1) --dblatex-opts=DBLATEX_OPTS option.
- * Added Mikhail Yakshin’s FOP 0.95 patch which fixes a long-standing
- fo.xsl problem and allows PDF’s to be generated with FOP 0.95
- (previously had to use FOP 0.20.5).
- * The User Guide has been updated and outdated FOP configuration and
- installation sections removed.
-
- Bug fixes
- * Fixed stylesheets/xhtml11-manpage.css not being included when
- linkcss attribute was used.
- * Configuration file *-style attributes are now dumped correctly.
- * Fixed FAILED: malformed section entry LaTeX backend error.
-
- See the also the [84]AsciiDoc repository changelog.
- __________________________________________________________________
-
-21. Version 8.2.6 (2008-04-29)
-
- Additions and changes
- * Enhancements to the Vim AsciiDoc syntax highlighter, for example,
- quoted text is now highlighted in titles and macro captions.
- * If you define the data-uri intrinsic attribute images referenced by
- image macros will be embedded in XHTML using the [85]data: URI
- scheme. NOTE: Microsoft browser support for the data: URI scheme is
- currently limited to MSIE 8 beta 1.
- * Added toc-title attribute to allow custom table of contents titles.
- * Added references to Alex Efros’s AsciiDoc Cheatsheet to AsciiDoc
- website.
- * asciidoc(1) and a2x(1) man pages formatted to conform to
- man-pages(7) recommendations.
- * Old code-filter syntax (pre-8.1.0) is no longer recognized so that
- malformed two-line level 2 titles are no longer confused with
- code-filter block delimiters.
- * Added → ← ⇒ ⇐ arrow replacements from the Arrows block of Unicode.
- * Added DocBook refentry lang attribute — patch contributed by
- VMiklos.
- * AttributeEntry names can now be numeric (“named macro targets”).
- * Hide Table of Contents title if Table of Contents empty — patch
- contributed by Alex Efros.
- * Various XHTML CSS tweaks.
- * Code cleanup:
- + Replaced realpath() with Python 2.2 os.path.realpath() library
- function.
- + Replaced old string library functions with string methods.
- + Use file generators instead of readlines().
- + Renamed entities that shadowed builtins.
- + Standardized string quoting.
- + Dropped readlines() function.
-
- Bug fixes
- * Fixed broken CSS for decimal ordered lists nested in alpha ordered
- list, thanks to Alex Efros.
- * A missing closing block delimiter now reports the opening delimiter
- line number instead of the end of file line number.
- * Fixed an error generated by the asciidoc -e option when there are
- no block definitions — patch contributed by Alejandro Mery.
- * Handle both \r\n (as well as \n) line separators that may be
- returned by {sys} attribute evaluation.
- * Numbered attribute names no longer interfere with positional
- attribute list values.
- __________________________________________________________________
-
-22. Version 8.2.5 (2007-11-18)
-
- Bug fixes
- * Fixed exception thrown by illegal command-line arguments.
- * Rolled back the with warning bug fix introduced in 8.2.4 — it was
- incompatible with Python <2.5.
- __________________________________________________________________
-
-23. Version 8.2.4 (2007-11-10)
-
- Additions and changes
- * You can now use the lang attribute to set the DocBook language
- attribute.
- * Attribute values can now contain attribute references.
- * If the lang attribute is defined then configuration files named
- like lang-<lang>.conf will be loaded automatically.
- * The help file name help-<lang>.conf is based on the AsciiDoc lang
- attribute, defaults to help.conf (English).
- * Admonition, figure and table captions have been factored into a
- predefined set of caption_* attributes. They only apply to directly
- generated (X)HTML outputs (DocBook stylesheets generate their own
- language specific captions based on the lang attribute).
- * Dropped platform dependent doc/asciidoc.chm file from distribution
- documentation formats.
-
- Bug fixes
- * The spurious warning with will become a reserved keyword in Python
- 2.6 has been suppressed.
- __________________________________________________________________
-
-24. Version 8.2.3 (2007-09-12)
-
- Additions and changes
- * Added VMiklos’s permalink patch for auto-generated section IDs
- (enabled by default by the sectids attribute).
- * Added [86]FAQ to website.
- * Changed format of {localdate} attribute to ISO 8601 (%Y-%m-%d).
- * Added abc2ly --beams=None option to make music2png.py conform to
- ABC’s notion of beams.
- * XHTML level 2 section headings are now styled with an underlining
- border.
- * XHTML links to AsciiDoc title elements are now implemented with
- title ID attributes (previously separate <a> element targets were
- generated.
- * Multi-word first, middle and last names can be entered in the
- header author line using the underscore as a word separator.
- * The nested inline macros restriction has now been lifted, for
- example you can now include links and inline images inside
- footnotes.
- * Help topic names can be shortened (so long as they are not
- ambiguous). For example asciidoc -hm will print the AsciiDoc man
- page.
- * Added {two_colons} and {two_semicolons} attributes for escaping
- labeled list ambiguity.
- * If quirks mode is disabled the XHTML Mime Type is set to the
- recommended application/xhtml+xml (rather than text/html).
-
- Bug fixes
- * Author information is now correctly set when using attribute
- entries in the header instead of an author line (previously the
- author attribute was not being calculated correctly and there were
- attribute substitution problems).
- __________________________________________________________________
-
-25. Version 8.2.2 (2007-07-22)
-
- Additions and changes
- * [87]LaTeXMathML capability has been added for users who are more
- familiar with or prefer LaTeX math formulas to the [88]ASCIIMathML
- notation (thanks to Arthur Sakellariou for the patch).
- * The source highlight and code filters now process embedded
- callouts.
- * Added an --attribute=ATTRIBUTE option to a2x(1) for passing
- attribute values to asciidoc(1) (a shortcut for --asciidoc-opts="-a
- ATTRIBUTE").
- * Image block and inline macros prepend optional {imagesdir}
- attribute to image link targets.
-
- Bug fixes
- * Fixed an assertion error that occurred when a configuration file
- containing an include::[] macro was loaded using the --conf-file
- option and the configuration file name did not include an explicit
- directory path — patch submitted by Dmitry Potapov.
- * Asciidoc titles are only converted to lower case if all characters
- are upper case otherwise case is left unchanged — patch submitted
- by Dmitry Potapov.
- * Added a missing check that input is not stdin before loading
- configuration files from the document directory — patch submitted
- by Dmitry Potapov.
- * Attribute list items must evaluate to strings, numbers or None
- (previously it was possible to evaluate to other object types which
- resulted in surprising attribute values).
- * If an AsciiDoc document has no title an empty XHTML 1.1 title
- element is created — previously the title element was dropped which
- resulted in invalid XHTML 1.1.
- * The Vim syntax file no longer highlights escaped callouts.
- * The Vim syntax highlighter now correctly highlights Double-dollar
- passthroughs when they enclose dollar delimited ASCIIMathML and
- LaTeXMathML formulas.
- __________________________________________________________________
-
-26. Version 8.2.1 (2007-04-06)
-
- Additions and changes
- * A number of improvements have been made to the Vim syntax
- highlighter, for example the word C++ is no longer mistaken for the
- start of an unconstrained monospace quote.
- * Labeled list definitions have been tightened — a list label can no
- longer containing trailing spaces. The following example is no
- longer recognized as a valid list label:
-
- Lorum ipsum
- This change implements the originally intended behavior
- (as per the AsciiDoc documentation and examples) so there
- should be very few compatibility issues.
- __________________________________________________________________
-
-27. Version 8.2.0 (2007-04-04)
-
- Additions and changes
- * A Vim syntax file is now included in the AsciiDoc distribution
- (inspired by Felix Obenhuber’s asciidoc.vim script). You can find
- it (along with a Vim filetype detection script in the distribution
- ./vim/ directory (the scripts are installed automatically by the
- AsciiDoc installer ./install.sh). See Appendix J of the AsciiDoc
- User Guide for details.
- * Added toclevel attribute (1..4) which sets the number of title
- levels reported in the table of contents. Defaults to 2 and must be
- used with the toc attribute. Example usage:
- $ asciidoc -a toc -a toclevels=3 doc/asciidoc.txt
- * Added a listindex attribute which is the current list item index
- (1..). If this attribute appears outside a list its value is the
- number of items in the most recently closed list.
- * The single line titles syntax now accepts trailing suffixes — this
- syntax matches the title line syntax of a number of popular Wiki
- markups.
- * If a QuoteBlock has no attribution or citetitle then the DocBook
- <attribution> element is not generated (previously generated empty
- <attribution> element).
- * If the text of a labeled list item is blank then no texttag is
- written.
- * An end of line backslash performs line continuation for horizontal
- labeled list items.
- * The Revision line now accommodates Subversion $Id markers (in
- addition to CVS and RCS markers). Thanks to Tiago Sturmer Daitx for
- this patch.
- * Implemented a2x(1) option --skip-asciidoc which allows a2x(1) to
- convert DocBook XML files not derived from AsciiDoc sources.
- * If a2x(1) --doctype option is not specified it defaults to manpage
- if --format=manpage else defaults to article (previously --doctype
- always defaulted to article).
- * Added an External Resources section to the [89]AsciiDoc home page.
- __________________________________________________________________
-
-28. Version 8.1.0 (2006-10-22)
-
- Additions and changes
- * AsciiDoc generated XHTML documents now display a table of contents
- if the toc attribute is defined (JavaScript needs to be enabled for
- this to work). Thanks to Troy Hanson who contributed this feature
- based on a JavaScript by Mihai Bazon. I’ve simplified things
- somewhat to match Docbook XSL Stylesheets style, see Troy’s [90]tpl
- User Guide for a fancier layout. Use the -a toc -a numbered
- command-line options to produce a number table of contents.
- * A [91]music filter is included in the distribution ./filters/
- directory. It translates music in [92]LilyPond or [93]ABC notation
- to standard classical notation in the form of a trimmed PNG image
- which is inserted into the AsciiDoc output document.
- * Incorporated Paul Melis’s Win32 filter patch. This workaround
- allows AsciiDoc to run filters under Windows.
- * Added uninstall.sh script.
- * Rather than proliferate a confusing number of filter block
- delimiters the following convention has been adopted: delimiters
- belonging to DelimitedBlock filters distributed with AsciiDoc will
- consist of a word (normally a noun identifying the block content)
- followed by four or more tilde characters. This has necessitated
- changing existing filter delimiters (the old delimiters still work
- but may be deprecated in future versions):
- + The example code filter block delimiter is now the word code
- followed by four or more tilde characters.
- + The source highlight filter block delimiter is now the word
- source followed by four or more tilde characters.
- * Conditionally redefined subscript and superscripting so they use
- the old replacements mechanism when asciidoc7compatible is defined
- rather than the asciidoc 8 default unconstrained quoting (patch for
- affected files attached).
- * Moved the source highlight filter from ./examples/ to ./filter/.
- * Added {verbose} intrinsic attribute (useful for passing verbose
- flag to filters).
- * Added {outdir} intrinsic attribute.
- * Renamed {docdir} intrinsic attribute to unambiguous {indir}
- ({docdir} still works but may be removed in future release).
- * If asciidoc(1) outputs to stdout then intrinsic attribute {docname}
- is extracted from the input file name.
- __________________________________________________________________
-
-29. Version 8.0.0 (2006-08-27)
-
- This is a major release because changes to quoting and index entry
- handling may break existing documents (see Additions and changes below
- and Appendix A: Migration Notes in the AsciiDoc User Guide).
-
- Please report any problems you encounter.
-
- [94]Stuart Rackham
-
- Additions and changes
- * Quoting can can occur within words (based on patch submitted by
- Benjamin Klum). See the Unconstrained Quotes sub-section in the
- User Guide.
- * The underline and plus characters can be used as alternatives to
- the existing apostrophe and backtick quote characters. They are
- arguably better choices than the apostrophe and backtick as they
- are not confused with punctuation.
- * The syntax for index entry macros have have been deprecated from
- +...+ and ++...++ to ((...)) and (((...))) respectively. Rationale:
- + Bracketing is consistent other with [[...]] and <<...>>
- reference macros.
- + To easily confused with triple plus passthroughs.
- + To make way for the new monospace quoting.
- * Superscripts and subscripts are implemented as constrained quotes
- so they can now be escaped with a leading backslash and prefixed
- with with an attribute list.
- * An experimental LaTeX backend has been written by Benjamin Klum (a
- number additions in this release are to accommodate the LaTeX
- backend).
- * include macro file names now expand environment variables and tilde
- expansions.
- * A configuration file [quotes] entry can be undefined by setting to
- a blank value.
- * Added callto inline macro for Skype callto links.
- * Added colnumber attribute for table data markup.
- * A leading comment block or comment lines are now skipped
- (previously a document had to start with either attribute entries
- or a document Title).
- * Experimental rows attribute (number of source lines in table)
- available in table markup templates (used by experimental LaTeX
- backend).
- * Included install shell script written by [95]Jacob Mandelson for
- installing the tarball distribution.
- * Added INSTALL documentation file.
- * Added replacements2 substitution options — a second replacements
- section.
- * Added the ability to redefine normal and verbatim substitutions
- with subsnormal and subsverbatim entries in configuration file
- [miscellaneous] section.
- * By default AttributeEntry values are substituted for
- specialcharacters and attributes, if you want a different
- AttributeEntry substitution set the attributeentry-subs attribute.
- * The name in name=value configuration file entries can now end with
- a backslash, just escape the trailing backslash with a backslash.
- For example:
- abc\\=xyz
- Results in name=abc\ and value=xyz — previously this would have
- escaped the = character.
- * A blank configuration file section deletes any preceding section
- with the same name (applies to non-markup template sections).
- * A command-line attribute value with a @ suffix does not override
- existing document and configuration file attributes (normally
- command-line attributes have precedence over document and
- configuration file attributes).
- * localtime attribute is now encoded from the native system encoding
- to the output encoding. Patch submitted by [96]FKtPp — here’s his
- description of the problem:
- “I am a Chinese user of AsciiDoc and I find that when I use UTF-8
- (the default encoding) to write asciidoc documents in Windows
- platform the resulting html footer line will get screwed. It was
- caused by a localized tzname that was always encoded in the windows
- native encoding, which in my case is cp936.”
- * a2x(1) can generate Open Document Text files using [97]docbook2odf.
- Currently docbook2odf(1) only processes a subset of DocBook,
- unimplemented elements are skipped.
- * The a2x(1) format option defaults to xhtml (previously a format had
- to be specified explicitly).
- * The -d, \--doctype=DOCTYPE option has been added to a2x(1) which is
- a shortcut for --asciidoc-options="--doctype=DOCTYPE".
- * Replaced a2x(1) --no-icons and --no-copy options with their negated
- equivalents: --icons and --copy respectively. The default behavior
- has also changed: copying and use of icons is disabled by default.
- Rationale:
- + To make the default behavior more consistent since use of
- icons and CSS stylesheets does not apply to all formats.
- + To make the default behavior less surprising (the creation of
- icon and stylesheet output files must now be explicit).
- * a2x(1) has been bumped from version 0.1.1 to version 1.0.0.
-
- Bug fixes
- * Removed duplicate ./doc/a2x.1.txt from distribution tarball.
- * Documentation errata.
- * Attribute replacement is no longer performed twice in Titles and
- AttributeEntrys.
- * a2x(1) skipped asciidoc(1) execution when rerun with different
- --asciidoc-options options, it now always executes asciidoc(1). The
- problem was that previously asciidoc(1) was executed only if the
- output file was missing or older than the source file.
- __________________________________________________________________
-
-30. Version 7.1.2 (2006-03-07)
-
- Additions and changes
- * Support for [98]ASCIIMathML has been added. See Appendix I:
- ASCIIMathML Support in the User Guide and the examples at
- [99]http://www.methods.co.nz/asciidoc/asciimath.html.
- * You can now prefix quoted text with inline attributes lists. You
- can use this to set font size and color (XHTML and HTML outputs).
- * Added ##...## quoting — it does nothing — it’s purpose is to allow
- inline attributes to be applied to normal text.
- * An inline passthrough mechanism has been implemented.
- * Configuration file comment lines can be escaped with a backslash —
- this is to allows the inclusion of configuration lines that start
- with a hash character.
- * The scriptsdir attribute can be used to specify the name of the
- directory containing linked JavaScripts (see the [100]User Guide
- for details.
- * The BackendBlock has been renamed PassthroughBlock for consistency
- with the new inline passthrough naming.
- * a2x(1) now works with the older bash(1) version 2.05b. Patch
- submitted by [101]Francis Daly.
- * Content included by the include1::[] system macro is no longer
- subject to attribute substitution so that ambiguities no longer
- arise when used to include CSS or JavaScript files.
- __________________________________________________________________
-
-31. Version 7.1.1 (2006-02-24)
-
- Additions and changes
- * The caption attribute can be used to customize admonition captions
- as well as image, table and example block element title prefixes
- (xhtml11 and html4 backends).
- * You can now override the default icon image using the icon
- attribute to specify the path of the linked image (xhtml11 and
- html4 backends only).
- * The deprecated imagesdir attribute is no longer recognized (use
- iconsdir instead).
- * Added Appendix H: Using AsciiDoc with non-English Languages to the
- AsciiDoc User Guide.
- * Added Admonition Icons and Captions subsection to the User Guide
- explaining how to customize Admonition elements.
-
- Bug fixes
- * a2x(1) failed when configuration files were installed in the global
- /etc/asciidoc/ directory — it was only searching the directory
- containing the asciidoc executable (thanks to Christian Wiese for
- finding and submitting a patch this bug).
- * The html4 backend admonition caption now correctly displays the
- admonition caption attribute (previously displayed the style
- attribute).
- __________________________________________________________________
-
-32. Version 7.1.0 (2006-01-13)
-
- Additions and changes
- * a2x(1) toolchain wrapper utility. This overcomes the biggest hurdle
- for new users which seems to be assembling and using a working
- DocBook XML toolchain. With a2x(1) you can generate XHTML (chunked
- and unchunked), PDF, man page, HTML Help and text file outputs from
- an AsciiDoc input file with a single command. All you need to
- install (in addition to AsciiDoc) is xsltproc(1), DocBook XSL
- Stylesheets and optionally FOP (if you want PDF) or lynx(1) (if you
- want text).
- * Block titles can now start with any non-space character (previously
- where not allowed to start with .~-_ characters).
- * ./stylesheets/docbook.css renamed to ./stylesheets/docbook-xsl.css
- to clarify its function.
- * Renamed ./docbook-xsl/manpages.xsl to ./docbook-xsl/manpage.xsl for
- consistency.
- * Admonition and navigation icons moved to ./images/icons/ to clarify
- usage and conform with a2x(1) usage.
- * Renamed xhtml11 intrinsic attribute imagesdir to iconsdir to keep
- vocab consistent and changed default value to ./images/icons
- (previously ./images). imagesdir attribute still accepted but
- deprecated.
- * Unused image files have been weeded out of the distribution.
- * Packager notes (appendix B) have been updated to reflect the needs
- of a2x(1).
-
- Important
- The renaming of the xhtml11 backend imagesdir intrinsic attribute and
- it’s new default value introduces a backward compatibility issue: if
- you use the icons attribute you will need to either move your icons to
- the new default ./images/icons location or include an
- --attribute{nbsp}iconsdir="your_icons_path" option in your asciidoc
- commands.
-
- Bug fixes
- * Backslash line continuation is now observed in verbatim paragraphs.
- * Fixed errors generated by example
- ./examples/website/build-website.sh script.
- __________________________________________________________________
-
-33. Version 7.0.4 (2005-12-08)
-
- Additions and changes
- * Added ternary conditional attributes
- {<name>@<regexp>:<value1>[:<value2>]} and
- {<name>$<regexp>:<value1>[:<value2>]}.
- * Safety violations now generate errors (they previously generated
- warnings).
- * asciidoc(1) now defaults to safe mode, consequently the
- [miscellaneous] safe mode entry and --safe command-line option are
- no longer necessary (though for backward compatibility asciidoc(1)
- still accepts the --safe option).
- * Backend Blocks are now flagged unsafe (they could be used to
- include arbitrary and hence potentially unsafe output content).
- * Filters are no longer considered unsafe. There’s not much point in
- insisting on filter safety since the installation of an unsafe
- filter would require the introduction of new or modified
- configuration files — if your application configurations can be
- compromised you’re in all sorts of trouble (safe mode protects
- against unsafe input files not unsafe configuration). As with all
- filters, before installing, you should verify that they can’t be
- coerced into generating malicious output or exposing sensitive
- information.
-
- Bug fixes
- * Fixed a lot of glaring grammatical and factual errors in the User
- Guide.
- __________________________________________________________________
-
-34. Version 7.0.3 (2005-12-01)
-
- Additions and changes
- * Added --safe and --unsafe command-line options — AsciiDoc can now
- be executed in a safe mode which disallows the execution of
- arbitrary code or the inclusion of arbitrary files (see
- [102]Appendix C in the AsciiDoc User Guide).
- * Included [103]source-highlight filter in the distribution
- ./examples/source-highlight-filter/ directory (based on filter
- submitted by [104]Ryan Phillips).
- * Included the DocBook XSL Stylesheets 1.69.1 customizations used to
- generate the distributed AsciiDoc documentation (read the
- asciidoc-docbook-xsl.txt file in the distribution ./docbook-xsl/
- directory).
- * AsciiDoc DocBook XSL Stylesheet drivers moved from ./doc/ to
- ./docbook-xsl/.
- * Modified ./doc/manpages.xsl so only URL content is displayed in
- manpages.
-
- Bug fixes
- * Explicitly set table CSS border style (xhtml11 backend) to solid
- because default border styles vary from browser to browser.
- __________________________________________________________________
-
-35. Version 7.0.2 (2005-08-28)
-
- Additions and changes
- * There are now long versions of all AsciiDoc options.
- * If the --backend is not specified it defaults to xhtml11.
- * Added CSS simulated frames layout to the examples website (see
- ./examples/website/layout2/README-website.txt). This layout does
- not work with IE6 and the original tables based layout is still the
- default.
- * Support page added to AsciiDoc website.
-
- Bug fixes
- * Invalid options are now trapped gracefully.
- * Documentation errata.
- __________________________________________________________________
-
-36. Version 7.0.1 (2005-06-24)
-
- Additions and changes
- * Reverted to use of strong, em, tt XHTML tags — they’re more obvious
- and no less correct than span tags, besides, the generated file
- sizes are smaller (the User Guide was 11% smaller).
- * Table title rendered with caption tag rather than a separate div.
- * The AsciiDoc stylesdir attribute (if specified) is now recognized
- when searching for embedded stylesheets (previously only searched
- default ./stylesheets directory).
- * Default charset encoding changed from ISO-8859-1 to UTF-8 — it’s
- less language specific and displays most common languages.
- * template::[] macros now expand in all configuration file sections
- previously only in markup template sections.
- * Cleaned up example website layout CSS and configuration
- (presentation has not been changed).
- * Refactored xhtml11.conf configuration file.
- * Set consistent and sensible permissions on distributed files.
- * White space is now stripped from DSV formatted table cell data.
- * class="tableblock" attribute added to tables generated by
- xhtml-deprecated-css.conf to assist CSS.
-
- Bug fixes
- * Illegal character set encoder (specified by the AsciiDoc encoding
- attribute) and character data are trapped gracefully.
- * AsciiDoc table format attribute in table attribute lists were not
- recognized.
- * The nested horizontal labeled list example in the AsciiDoc User
- Guide has been dropped — it generated invalid DocBook markup.
- __________________________________________________________________
-
-37. Version 7.0.0 (2005-06-06)
-
- This is a major release with many code and documentation changes.
- Please report any problems you encounter.
-
- [105]Stuart Rackham
-
- Additions and changes
- * A new xhtml11 backend generates XHTML 1.1 with integrated CSS2
- replacing the previous xhtml, css, and css-embedded backends.
- * The CSS stylesheets have finally been rewritten.
- * The asciidoc(1) command help now includes user [106]customizable
- help topics. When asciidoc is invoked with the --help option the
- command argument is interpreted as a help topic.
- * The previous example website has been replaced by the actual
- AsciiDoc website (see ./examples/website/.
- * XHTML generation options now controlled by the following
- attributes: badges, linkcss, icons, numbered, quirks, theme,
- stylesdir, imagesdir (see the [107]User Guide for details.
- * By default HTML and XHTML are output as stand-alone documents (no
- embedded CSS and no linked admonition icon images).
- * Documents encoded with the UTF-8 Unicode character set are now
- processed thanks to a patch supplied by [108]Viktor Vasilev.
- * The -a ^name command-line syntax to undefine an attribute has been
- deprecated in favor of the -a name! syntax.
- * AttributeEntry syntax addition: :name!: to undefine name attribute.
- * Added template system block macro to allow the inclusion of one
- configuration file template section within another.
- * A verse style attribute can now be applied to literal paragraphs
- and blocks to reproduce line breaks and white space from the source
- document.
- * Replacements and Special Words can now be escaped with leading
- backslashes.
- * Replacements are now processed in configuration file order
- (previous ordering was indeterminate).
- * System macros can now be used in the base asciidoc.conf
- configuration file.
- * Deprecated features that emitted warnings in prior versions are no
- longer tolerated.
- * The eval system attribute expression evaluates to False the
- attribute is undefined, if it evaluates to True the result is an
- empty string.
- * The Paragraph and DelimitedBlock presubs parameter can be aliased
- as subs.
- * Added verbatim substitutions option.
- * Renamed List Continuation Block to List Block and renamed the
- listcontinuation option to list.
- * Deprecated default substitutions option (use normal instead).
- * The section-numbers section numbering attribute has be renamed
- numbered.
- * Dropped the #UNDER CONSTRUCTION# block macro.
- * Rewrote Paragraph and DelimitedBlock handlers adding a [109]styles
- configuration entry.
-
- Bug fixes
- * Included files are no longer read inside conditionally excluded
- content.
- * Manpage command names containing dashes (in the manpage NAME
- section) were misinterpreted as the spaced dash command
- name/purpose separator. Bug report and patch supplied by [110]David
- Greaves.
- * Unexpected error following malformed author line error.
- __________________________________________________________________
-
-38. Version 6.0.3 (2005-04-20)
-
- Additions and changes
- * Special characters are now substituted in AttributeEntry element
- values.
- * Spaced and unspaced em dashes are now recognized (previously only
- spaced em dashes were recognized).
- * Replaced the table noborders option with richer frame and grid
- attributes.
- * The duplicate macro warning message now only occurs when the
- verbose (-v) option is enabled.
- * Single lines starting with two forward slashes hard up against the
- left margin are treated as comments and are not processed.
- * Renamed section delimited block option to sectionbody to more
- accurately reflect it’s role.
- * Added a List Continuation block — a specialized delimited block
- that is functionally equivalent to the List Item Continuation
- feature except that the list contained within the block does not
- require explicit + list item continuation lines.
- * Dropped deprecated <u> tags from generated HTML.
- * Literal Block delimiters must now consist of at least four points
- (previously three) to avoid lone ellipsis ambiguity.
-
- Bug fixes
- * Some system attribute evaluation failures caused unexpected
- exceptions to occur.
- __________________________________________________________________
-
-39. Version 6.0.2 (2005-03-30)
-
- Additions and changes
- * Three new system block macros have been added — eval, sys and sys2
- which are the block macro equivalents to the same named system
- attributes.
- * Intrinsic macros have been renamed system macros along with action
- attributes which have been renamed system attributes:
- + To reflect their common (though contextually different)
- behavior.
- + To avoid confusion with intrinsic attributes.
-
- Bug fixes
- * Asciidoc now searches in /etc/asciidoc/filters for filters.
- __________________________________________________________________
-
-40. Version 6.0.1 (2005-03-06)
-
- Additions and changes
- * A global configuration file location /etc/asciidoc has been added
- and is now processed before all other locations (patch supplied by
- [111]Fredrik Steen).
- * Recoded tempfile.mktemp() and other artifacts that are no longer
- necessary or desirable (patches supplied by [112]Fredrik Steen).
- * Added BUGS file to the distribution.
-
- Bug fixes
- * Illegal comment syntax in css-embedded-stylesheet.conf resulted in
- illegal CSS in files generated by the css-embedded backend.
- __________________________________________________________________
-
-41. Version 6.0.0 (2005-01-28)
-
- This release has had some fairly major code and documentation changes.
- Please report any problems you encounter.
-
- [113]Stuart Rackham
-
- A lot of new stuff. A new major version number — some regression
- incompatibility (hopefully mitigated by deprecated warnings).
-
- Went mad trying to rein in the current feature anarchy — established a
- unified notion of document attributes. Attempted to introduce a
- consistent vocabulary — renamed many poorly or inconsistently named
- entities.
-
- Actually, deprecated syntax is still processed correctly in almost all
- cases. One source of incompatibility that may arise if you have
- customized CSS stylesheets is the change of AsciiDoc CSS class names
- (see below). I guess the moral is if you’ve done a lot of configuration
- file customization and are happy with version 5 then you may want to
- stay put.
-
- Note
- This version requires Python 2.3 or better to run.
-
- Additions and changes
- * Glossary entries have been renamed attributes. This eliminates
- confusion with the accepted meaning of glossary.
- * An AttributeEntry block element has been added so that document
- attributes can be assigned from within an AsciiDoc document.
- * The AttributeList block element has been added which is a more
- general solution than the (now deprecated) DelimitedBlock
- arguments.
- * An BlockId element has been added for setting block element anchor
- (link target) IDs.
- * Quoted text can now span multiple lines (thanks to James Bowlin for
- this patch).
- * Inline macros can now span multiple lines.
- * ‘`double backtick / apostrophe’' quotes generate “curly quotes”.
- * A warning is now emitted for out of order list item (applies to
- explicitly enumerated numbered list items).
- * Added include action attribute.
- * A line of three or more apostrophes generates an HTML horizontal
- ruler (<hr/> tag). You will get a warning if processed with
- non-HTML backend.
- * An {imagesdir} attribute specifies image file location for images
- referenced in configuration files when generating HTML (the default
- location is images).
- * An {stylesdir} attribute specifies the location of CSS stylesheets
- when generating styled HTML (the default location for configured
- markup is .).
- * The use of the (often inappropriately named) {caption} attribute
- list entry has been deprecated, use {0} instead.
- * New ExampleBlock delimited block along with associated variants
- Note, Tip, Warning, Caution and Important.
- * The docbook.conf file now facilitates the optional inclusion of a
- DocBook revision history file.
- * To better reflect their purpose the following block elements have
- been renamed: VerbatimBlock to ListingBlock; IndentedBlock to
- LiteralBlock; IndentedParagraph to LiteralParagraph; CustomBlock to
- BackendBlock; SimpleSection to SectionBody. Any corresponding CSS
- class names have also been changed which could result in backward
- incompatibility in customized stylesheets.
- * Swapped plain DocBook admonition icons for Jimmac’s DocBook icons
- ([114]http://jimmac.musichall.cz/ikony.php3). The original plain
- icons have been moved to ./images/plain.
- * Renamed html backend to xhtml to better reflect it’s function
- (former html-4 backend renamed to html).
- * A new inline anchor macro syntax [[[<id>]]] is available, it
- displays [<id>] at the anchor location and is for anchoring
- bibliography list entries.
- * An optional single-line titles syntax can be used.
- * Tweaks to distributed CSS stylesheets and FOP fo.xsl customization
- file.
- * List Item Continuation has been implemented which allows additional
- block elements to be included in list items by separating them from
- the preceding list item element with a line containing a single
- plus character.
- * A new Horizontal Labeled List list type has been added. Generates
- two column list — the first column contains the list element
- labels, the second contains the element text. Same syntax as
- Vertical Labeled Lists except the double colon label suffix is
- followed by the start of the list item text.
-
- Bug fixes
- * Fixed broken backslash line continuation.
- * Labeled list end tags were not undergoing attribute substitution.
- * Documents without any author information now generate legitimate
- DocBook (previously if the author line was not included in the
- document header then an empty (illegal) DocBook author element was
- generated).
- * Multiple spaces in filter command arguments were replaced by a
- single space. The ./examples/asciidoc2text/asciidoc2text.sh script
- now indents text correctly.
- __________________________________________________________________
-
-42. Version 5.1.1 (2004-10-10)
-
- 15-December-2004: Interim update: Updated asciidoc.py to fix broken
- join_lines function — no other changes.
- * PDF documentation is now produced from DocBook XML using XSLTLib
- and FOP. Previously we processed DocBook SGML with jw(1) (which
- used Dvips to convert DVI files to PDF). FOP has come a long way in
- the last 12 months and produces very acceptable PDF under both
- Linux and Windows.
- * Sections detailing how to install and use the DocBook XSL
- Stylesheets, xsltproc, FOP toolchain and the AsciiDoc XSLT drivers
- have been added to the User Guide.
- * The PDF output from the he example article template has been
- included in the distribution (./doc/article.pdf).
- * Special characters are emitted using decimal Unicode character
- codes (previously used named character entities which cannot be
- assumed included in non-HTML documents).
- * Added registered trademark ® to [replacements].
- * CSS stylesheet tweaks.
- * Admonitions (Note, Tip, Important, Warning, Caution) include icons
- when generating css output.
- __________________________________________________________________
-
-43. Version 5.1.0 (2004-09-18)
-
- * Callouts have been implemented (see the Callouts section of the
- AsciiDoc User Guide for details).
- * Added XSL drivers for generating XHTML, chunked XHTML and HTML Help
- from DocBook XML using XSL stylesheets and xsltproc(1).
- * Added CSS stylesheet for HTML generated from DocBook XML using XSL
- stylesheets.
- * Distribution contains HTML Help formatted User Guide
- (./doc/asciidoc.chm), the User Guide tells you how it’s generated.
- * Images referred to by distributed stylesheets are now located in
- the ./images subdirectory (previously located in .).
- * Filters path names are now handled properly under Cygwin.
- * The usual documentation and examples additions, updates and
- polishing.
- __________________________________________________________________
-
-44. Version 5.0.9 (2004-09-09)
-
- * The convention of using a .asc file extension for AsciiDoc files
- has been dropped in favor of the familiar .txt extension. It makes
- more sense in that AsciiDoc is a text presentation format and
- because .asc clashed with the same extension used by other
- applications. It’s only a naming convention — you don’t have to
- switch if you don’t want to.
- * Changed the subscript formatting character from underline to tilde
- since underscores in file names are reasonably common (especially
- in link and image macros).
- * An alternative syntax for the index term inline macro has been
- added: ++<primary>,<secondary>,<tertiary>++.
- * Index terms that have secondary and tertiary entries now
- additionally generate separate index terms for the secondary and
- tertiary entries.
- * A +<primary>+ index term inline macro has been added which displays
- the term in the primary text flow.
- * Added alternative variable list definition using double semi-colon
- terminator as opposed to the standard double colon terminator so
- variable lists can be nested to two levels.
- * Footnotes now appear on a separate line in HTML and Linuxdoc
- outputs.
- * Python version compatibility is checked at startup.
- * Preface and appendix section titles in multi-part Book documents
- are meant to be out of sequence — warnings are no longer emitted
- when outputting HTML.
- * Empty section warnings have been replaced by error messages and are
- emitted only if invalid markup would result.
- * Missing macro sections or invalid macro name warnings are only
- generated at startup if the -v (verbose) option is set. Otherwise
- they are deferred until a matching macro is encountered in the
- input file.
- * Missing or invalid table definition warnings are only generated at
- startup if the -v (verbose) option is set. Otherwise they are
- deferred until a matching table is encountered in the input file.
- * AsciiDoc now makes more of an effort to continue in the face of
- errors.
- * Fixed broken ./examples/website/main.aap script.
- * Converted distribution text files DOS text format as a sop to
- Windows users with challenged text editors.
- * Documentation additions and corrections.
- __________________________________________________________________
-
-45. Version 5.0.8 (2004-05-15)
-
- * Spurious out of sequence level 2 warnings no longer appear when
- processing book document multi-part book top level Preface and
- Appendix sub-sections since they are (correctly) out of sequence.
- * A warning is no longer emitted for empty Index sections since this
- is normal when generating DocBook outputs.
- * Fixed: [quotes] configuration file entries where not being
- overridden by downstream configuration file entries.
- * Footnote text is now output enclosed in square brackets in HTML
- documents.
- * Added superscripts and subscripts to the standard PRS configuration
- files.
- * Adjusted CSS stylesheets so list titles don’t have so much space
- between title and first list item (broken in IE6 due to poor CSS
- compliance). Lessened sidebar title top margin.
- __________________________________________________________________
-
-46. Version 5.0.7 (2004-04-22)
-
- * The version 5.0.6 README incorrectly stated that AsciiDoc would run
- under Python 2.0, in fact it requires Python 2.1 or better. The
- README has been corrected.
- * Documented techniques for combining and splitting AsciiDoc
- documents and processing the combined and split parts (see the Tips
- and Tricks section of the User Guide).
- * An example of marking up superscripts and subscripts is documented
- in the Tips and Tricks section of the User Guide (the example
- configuration file is in the AsciiDoc examples directory).
- * Added ellipsis to shipped [replacements]; three periods output an
- ellipsis entity.
- * Removed unused SectionClose class.
- * The AsciiDoc Preamble element is output as a DocBook Preface when
- processed as a book document type (in older AsciiDoc versions a
- warning was issued and processing stopped).
- * Fixed a quoting anomaly: quoted text can no longer begin or end
- with with white space.
- __________________________________________________________________
-
-47. Version 5.0.6 (2004-03-07)
-
- * New image macro implements optional image scaling and linking and
- works in both inline and block contexts. The image macro obsolesces
- the existing graphic block macro and icon inline macro.
- * Macro substitution section names now have -inlinemacro and
- -blockmacro suffixes to resolve context ambiguity, make their
- purpose clearer and relieve section namespace congestion.
- * Header derived glossary entries can now be overridden from the
- command-line.
- * Special character substitution is now performed on AuthorLine
- derived author names.
- * A macro or block argument called options can be used as a shortcut
- for a list named arguments with zero length string values.
- * Tables can be output without borders using the options="noborders"
- argument.
- * Table data lines that do not immediately follow a table section
- underline can now be blank. This allows CSV data with embedded
- blank lines to be processed correctly.
- * Blank DSV format table data lines are silently skipped.
- * Tightened up on enforcement of configuration file section names to
- reduce the possibility of section content being seen as a section
- header line.
- * Section titles can be optionally suffixed with title arguments
- enclosed in double square brackets.
- * A replacement has been added to asciidoc.conf to replace inline
- double dashes with the — entity.
- * Changed the .UNDER-CONSTRUCTION. macro syntax to
- #UNDER-CONSTRUCTION# so it is not mistaken for a BlockTitle.
- Similarly changed the .NEW. replacement with #NEW#.
- * #NEW# and #UNDER-CONSTRUCTION# macros are now included in
- the DocBook backend.
- * Replaced shipped smallnew.gif with smallnew.png.
- * Documentation tidy ups.
- __________________________________________________________________
-
-48. Version 5.0.5 (2004-02-25)
-
- * Fixed the disappearing paragraph titles problem that was caused by
- Inline macros (incorrectly) processing BlockTitles.
- * Tightened AuthorLine validation. Previously invalid email addresses
- and embedded special characters in the AuthorLine resulted in
- invalid output markup.
- __________________________________________________________________
-
-49. Version 5.0.4 (2004-02-09)
-
- * Reinstated missing infile, outfile, filetype and
- filetype-<filetype> glossary entries.
- * As of version 5.0.3 asciidoc(1) now requires Python 2.0 or greater,
- this has now been documented.
- __________________________________________________________________
-
-50. Version 5.0.3 (2004-01-23)
-
- * Fixed problem that caused any filters directory file containing
- .conf (not just those with the .conf extension) from being loaded.
- * All [miscellaneous] configuration file entries can now be
- referenced like glossary entries (they are now processed internally
- as glossary entries).
- * The output file line terminator (previously hardwired to \r\n is
- now set using the newline entry in the configuration file
- [miscellaneous] section.
- * The misspelt blocktitles configuration file entry name has been
- corrected (to blocktitle).
- * An {empty} glossary entry has been added to the default
- configuration which is useful for outputting trailing blank lines
- from configuration file substitution sections.
- __________________________________________________________________
-
-51. Version 5.0.2 (2003-12-18)
-
- * New (alternative) anchor and xref macro syntax (old syntax still
- valid).
- * DocBook mediaobject and inlinemediaobject tags are generated in
- place of graphic and inlinegraphic tags by the AsciiDoc graphic and
- icon macros. If a macro argument is specified it is the alternative
- text output if the target document format does not support the
- specified graphic file format.
- * Dropped the LinuxDoc left and right square bracket special
- character substitutions as they interfered with macro substitution.
- * Documentation updates and corrections.
- __________________________________________________________________
-
-52. Version 5.0.1 (2003-12-09)
-
- * Fixed problem with anchor tag when generating CSS styled HTML.
- __________________________________________________________________
-
-53. Version 5.0 (2003-12-08)
-
- This release has had some fairly major code and documentation changes.
- Please report any problems you encounter.
-
- [115]Stuart Rackham
-
- * AsciiDoc can now produce a full-blown multi-part DocBook book
- including dedication, abstract, preface, colophon, glossary,
- appendix, bibliography and book part elements using the new
- specialsections configuration file section.
- * All Section element children (Paragraph, DelimitedBlock, List,
- Table, BlockMacro) can now be titled using the BlockTitle element.
- A BlockTitle element is a single line containing a title and
- beginning with a period.
- * The index and backmatter macros have been dropped, superseded by
- specialsections.
- * The AsciiDoc Preface element has been renamed Preamble (to avoid
- confusion with the DocBook book preface element).
- * Out of sequence titles are now tolerated with a warning. This
- allows book document level 0 sections to be processed.
- * An anchor inline macro has been added for document link target
- creation.
- * Note, Tip, Important and Warning paragraph types have been added to
- support the corresponding DocBook elements.
- * Title substitution is now performed in SidebarBlock titles.
- * DocBook graphics now output as figure and informalfigure elements
- rather than mediaobjects. This ensures numbered figures and a lists
- of figures are produced by the DocBook toolchain.
- * You can now escape block argument lines by appending a backslash.
- Alternatively, if you embed arguments in the delimiter line
- AsciiDoc does not check for an arguments line.
- * The default DocBook backend file extension has been changed from
- .docbook to .xml (.sgml for the docbook-sgml backend).
- * Warnings are output by default (previously they only printed when
- verbose option enabled).
- * A Question and Answer variable list definition has been added to
- the shipped configuration files, primarily to create DocBook qanda
- DocBook elements.
- * Fixed broken code-filter -b linuxdoc option. The asciidoc.asc User
- Guide can now be processed by linuxdoc(1) (although tables are
- dropped because LinuxDoc does not implement tables).
-
- Compatibility issues:
- 1. Table titles are no longer in the arguments line, use the new
- BlockTitles.
- 2. Graphic titles are no longer in the graphic block macro caption,
- use the new BlockTitles.
- 3. The code-filter title must be placed in a preceding BlockTitle.
- 4. SidebarBlock titles must be placed in a preceding BlockTitle.
- 5. The DelimitedBlock option sidebar has been renamed to section.
- 6. The default DocBook backend file extension has been changed from
- .docbook to .xml (.sgml for the docbook-sgml backend).
- __________________________________________________________________
-
-54. Version 4.2 (2003-11-26)
-
- * The default HTML output is now XHTML 1.0 markup. To output the
- former HTML 4 markup specify the html-4 backend.
- * The default DocBook output is now DocBook XML. To output the former
- DocBook SGML specify the docbook-sgml backend. The associated
- docbook-sgml.conf file illustrates how to support minor DTD
- variations. Examples of using the xmlto(1) command for DocBook
- conversion have been added to the User Guide.
- * Glossary entries set using the command-line -g option can now be
- referenced in configuration files.
- * Configuration dumps (-c command-line option) no longer output
- redundant undefined glossary entries.
- * DelimitedBlock arguments can now be specified in a separate
- arguments line immediately following the leading delimiter line,
- This is in preference to the existing delimiter embedded arguments.
- Reasons:
- + The syntax is in keeping with the Tables arguments syntax.
- + It’s easier to enter and implements line continuation.
- * A new QuoteBlock DelimitedBlock definition has been added to the
- distribution configuration files.
- * The table arguments lines can be continued using the backslash line
- continuation character.
- * Added new calculated glossary reference type {<name>%<value>}.
- * Double-quote characters can now appear in unquoted positional
- arguments.
- __________________________________________________________________
-
-55. Version 4.1 (2003-11-13)
-
- * Added DSV (Delimiter Separated Values) tables format.
- * {eval:<expr>} glossary references drop the containing line if
- <expr> evaluates to None.
- * Block, Table and Macro arguments can now be positional (quoted or
- unquoted).
- * Vocabulary change: DelimitedBlock, Table and Macro attributes are
- now referred to as arguments. This makes more sense in light of the
- extended syntax and avoids confusion with backend markup tag
- attributes.
- * tablewidth table ruler parameter can now be expressed in percent
- units (0..100). If between 0 and 1 then the original fractional
- unit measure is applied.
- * The use of quoting for generating footnotes and index entries has
- been dropped in favor of footnote and indexterm inline macros.
- * backmatter inline macro included in distribution.
- * Fixed: CSS styled HTML tables are now fully XHTML 1.0 conformant.
- * Fixed: tablewidth was processed incorrectly when passed as table
- argument.
- * Fixed: Glossary references like {x=\{y}} were one character off if
- {x] was defined and {y} was not.
- __________________________________________________________________
-
-56. Version 4.0 (2003-11-08)
-
- This release has had some fairly major code and documentation changes.
- Please report any problems you encounter.
-
- Stuart Rackham
-
- * Added tables to AsciiDoc.
- * Added two special subs options: default specifies the default
- substitution options and none specifies no substitution. These
- options can only appear singly.
- * Line continuation using a trailing backslash character is available
- in Paragraphs, ListItems, Tables.
- * The left and right quotes for quoted text can now be specified
- separately.
- * Shipped configuration files implement footnotes (only useful for
- DocBook output) using \[[]] quoting.
- * Shipped configuration files implement index terms (only useful for
- DocBook and LinuxDoc output) using \(()) quoting.
- * The shipped html backend configuration now emits valid HTML 4.01
- Transitional.
- * Added new calculated glossary reference types {<name>!<value>} and
- {<name>#<value>}.
- * The DelimitedBlock params option has been dropped in favor of the
- new block attributes mechanism. If you have customized block params
- options you may need to adjust source files to use the block
- attributes syntax. The example code filter has been updated to
- reflect these changes.
- * The code filter now has a -t tabsize option.
- * Replaced -w option with -v (verbose) option. The warnings option
- was just to confusing.
- * Named attributes can now be specified in macro calls.
- * The tabsize attribute is recognized in the built-in include macros.
- A tabsize of zero suppresses tab expansion.
- * The configuration file [options] section has been split into
- [miscellaneous] and [titles]. If you have customized any of these
- settings you will need to adjust the affected configuration files.
- * Configuration file [miscellaneous] entries can now also be set
- using the command-line -g option.
- * Fixed: error that occurred when attempting to use zero length
- configuration and source files.
- * Fixed: blocking filter halt problem.
- * Fixed: inline macro escape prefix problem.
- * Fixed: missing macros from configuration dump problem.
- * Fixed: named macros were dumped incorrectly.
- * Many documentation changes/additions/corrections.
- __________________________________________________________________
-
-57. Version 3.2.2 (2003-10-26)
-
- * Added -n option (synonym for -g section-numbers).
- * Dropped the processing commentary (hey, this is Unix).
- * Added new calculated glossary reference type {<name>?<value>}.
- <name> is the glossary entry name and <value> is the text
- substituted if the glossary entry is defined. <value> can only
- contain literal text (no glossary references allowed).
- * Added asciidoc2text to distribution examples/asciidoc2text
- directory (converts AsciiDoc source to text file with section
- numbering).
- * Fixed incorrect nesting of Simple lists inside Variable lists.
- * List definitions have been modified so that list items can be
- indented. This allows a more intuitive indentation of nested lists
- in AsciiDoc source.
- * Lists must be separated from preceding paragraphs by a blank line.
- This is to avoid paragraph lines being mistaken for list items.
- * Corrected asciidoc man page documentation error: the`-f` option
- does not search relative to source document directory for the
- configuration file.
- * Minor updates to various distribution .conf files.
- * Included badges.conf in examples directory.
- * css-embedded-stylesheet.conf now supports footer badges.
- * The default in-line element processing order has been changed:
- Glossary References are now processed before Inline Macros. This
- allows glossary expansions to occur inside macro references.
- * Glossary entries are now allowed in Author and Revision lines.
- * Default List subs options and Paragraph presubs options are
- assigned the following default value if not specified:
- specialcharacters,quotes,specialwords,replacements,glossary,macros
- * Documentation changes/additions/corrections.
- __________________________________________________________________
-
-58. Version 3.2 (2003-05-26)
-
- * Added a -s command-line option to suppress the output of [header]
- and [footer] sections.
- * Article document headers are no longer mandatory: this allows
- AsciiDoc to process arbitrary chunks of text. When used in
- conjunction with the new -s command-line option corresponding
- chunks of backend markup can be generated.
- * AsciiDoc now emits a warning message and continues when an out of
- sequence section title is detected (previously it failed and
- halted). This allows document sections to be processed separately.
- * Optional presubs and postsubs entries have been added to
- DelimitedBlock and Paragraph definitions. As a consequence
- substitution options are no longer legal in options entries.
- * presubs and postsubs substitutions are processed in the order the
- options are specified (rather than the fixed options order of
- previous versions).
- * ./filters subdirectories are automatically searched for filter
- commands.
- * A title-subs configuration option specifies the substitutions
- performed on document Header and Section titles.
- * A subs entry in now included in List configuration file definitions
- that specified substitutions performed on list entry text.
- * Configuration files are auto-loaded from ./filters subdirectories.
- * Added example code filter (see ./examples/filters).
- * Bug fix: if section was empty you may have got erroneous missing
- tag "paragraph" error.
- * Internal code tidy up.
- __________________________________________________________________
-
-59. Version 3.1 (2003-05-18)
-
- * In version 3.0 a [macros] section entry of the form name was
- equivalent to name=. An entry of the form name now undefines the
- entry (to bring it in line with the behavior of other special
- sections).
- * Paragraphs have now been generalized (in the same way as Lists and
- DelimitedBlocks).
- * The indentsize option has been dropped as as consequence of
- paragraph generalization.
- * Pipe | characters can be included in substituted tag and
- substitution section text using the {brvbar} (broken vertical bar)
- glossary reference.
- * Removed the restriction requiring substitution section text
- placeholders | to be on a separate line.
- * Added an -e asciidoc(1) command option that excludes implicit
- configuration files (used in conjunction with -c generated
- configuration files).
- * Version 3.0 documentation has undergone a considerable cleanup.
- * The dumping of quoted section entries (see -c option) now works
- correctly.
- * The format of special section entries has been made consistent:
- name undefines the entry; name= sets the entry value to a blank
- string; name=value sets the entry value to value.
- * As a consequence of the previous change the caret prefix is no
- longer used in glossary configuration file entries (although it is
- still used when undefining an entry using the -g command-line
- option).
- __________________________________________________________________
-
-60. Version 3.0 (2003-05-13)
-
- This version is the culmination of work begun in the 2.x releases
- whereby fixed policy has been replaced by extensible mechanisms.
- * Added -c command-line option to dump a composite asciidoc(1)
- configuration file to stdout.
- * Lists and Delimited Blocks are now defined by a set of
- configuration file parameter sections. The user can modify the
- default definitions or add new ones.
- * Block content can now be processed through external filters.
- * The default behavior for Custom Blocks is to perform glossary
- substitution (previously there was no substitution inside Custom
- Blocks).
- * The old 2.x style macros have been reimplemented; as with Lists and
- Delimited Blocks there syntax and behavior can be configured by the
- user. The default macro syntax remains the same but the semantics
- are now (hopefully) a bit more intelligible.
- * Block and Builtin macros use :: delimiter instead of the 2.x single
- colon delimit (to distinguish them from inline macros). The 2.x
- syntax is still supported for backward compatibility.
- * Nested lists are now supported and IndentedParagraphs can be
- included in list items.
- * Conditional source inclusion can be specified using built in ifdef,
- ifndef and endif macros.
- * The new conditional source inclusion feature has been used to
- reduce the number of default configuration files down to one per
- backend.
- * A change of name: 2.x Substitutions are now called Replacements and
- the 2.x [substitutions] configuration file section is now called
- [replacements] (the old name is still recognized for backward
- compatibility).
- * The line break is now implemented as a Replacements substitution.
- * Inline icon macro for inline images has been added to default
- configuration files.
- __________________________________________________________________
-
-61. Version 2.2 (2003-04-07)
-
- * The master.conf configuration file name has been deprecated in
- favor of asciidoc.conf.
- * The standard configuration files set is now loaded from the
- .asciidoc folder in the users home directory (if it exists) and
- then from the source document directory. Configuration files that
- don’t exist are silently skipped.
- * Configuration files named like the source file will be
- automatically loaded if they are found in the source file
- directory. For example if the source file is mydoc.asc and the -b
- html option is used then asciidoc(1) will look for mydoc.conf and
- mydoc-html.conf in that order.
- * The characters used to quote formatted text can be configured and
- extended by the user (see the master.conf [quotes] section).
- * Quoted text can now be escaped by prefixing a backslash character
- to the leading quote.
- * The double single-quote '' strong text quote has been deprecated in
- favor of an asterisk * character.
- * Added {eval:expression}, {sys:command} and {sys2:command} glossary
- reference actions.
- * Trailing brace characters } are now allowed inside glossary
- references provided they are escaped with a backslash character.
- * Glossary entries can now be escaped by prefixing a backslash
- character to the leading brace character (use this in preference to
- placing the backslash inside the brace).
- * The output macro has been deprecated (use the new include1 macro
- inside a CustomBlock).
- * The default document type is article (asciidoc no longer attempts
- to guess).
- * Files included within DelimitedBlocks are not searched for block
- termination underlines. This ensures the entire file is part of the
- DelimitedBlock.
- * include macros can now be used in configuration files.
- * Corrected {infile} and {outfile} glossary entry documentation.
- * File inclusion is now limited to a depth of 5 to catch recursion
- loops.
- * Inline tags have been deprecated, they’re not necessary and they
- immediately make the source document backend specific. Use
- CustomBlocks or Substitutions instead.
- __________________________________________________________________
-
-62. Version 2.1 (2003-03-17)
-
- * Added section auto numbering {sectnum} glossary entry
- (auto-numbering function contributed by Ludovico Magnocavallo).
- * asciidoc(1) now correctly returns non-zero exit status if an error
- occurs.
- * An AsciiDoc example website has been included in the AsciiDoc
- distribution examples/website directory.
- * NOTE: The asciidoc wrapper script included in the 2.0 distribution
- has been dropped, if you’ve symlinked or aliased to asciidoc you’ll
- need to change them to point directly to asciidoc.py instead.
- * An RCS $Id$ marker can be used as the document header revision line
- (based on a patch submitted by Ludovico Magnocavallo).
- * In addition to the name=value glossary entry format two new ones
- have been introduced: name (the default value is set to an empty
- string) and ^name (the glossary entry is undefined).
- * The -q command-line option has been deprecated and the -w level
- command-line option added.
- NOTE: By default skipped substitution warnings are now suppressed.
- * If a configuration file specified with the -f command-line option
- is not found relative to the current working directory then the
- search is repeated relative to the asciidoc(1) directory. This
- allows global configuration files to be used.
- * Added {infile}, {outfile} predefined glossary entries.
- * Added under-construction macro to HTML article configuration files.
- * Deprecated {asciidoc_version} glossary entry in favor of
- {asciidoc-version} (to it consistent with other entries).
- __________________________________________________________________
-
-63. Version 2.0 (2003-02-24)
-
- * The emphasized, strong and monospaced words options have been
- generalized with the introduction of macro based special words
- lists.
- * Glossary references can now appear in both the document and macro
- bodies.
- * All output files use crlf line termination (previously used UNIX lf
- (newline) termination).
- * Added [substitutions] section which implements arbitrary regular
- expression based substitutions.
- * An optional master.conf configuration file can be used for entries
- that are not backend or document type specific.
- * Special character definitions moved from the code to the new
- [special_characters] configuration file section.
- * Configuration file glossary added.
- * Command-line -g glossary entry added.
- * A new book document type has been implemented for the docbook
- backend. It outputs DocBook book documents.
- * A major internal change has been the implementation of parametrized
- user definable macros. Internally most document elements are now
- processed as macros.
- * Configuration file macro variables can be specified with default
- values (literals or other macro variables).
- * An attempt has been made to tighten up the vocabulary used to
- describe the AsciiDoc document syntax.
- * The term abstract has been replaced by the more general term
- preface and a new preface section introduced into article
- configuration files (replacing the synopsis sections).
- * Any section elements can now be put in the document preface
- (previous versions only allowed paragraphs).
- * AsciiDoc Blocks have been unified and their behavior can be user
- defined and parametrized.
- * An output inclusion allows an external file to be written directly
- to the backend output file.
- * A new CustomBlock has been added. Default behavior is to insert the
- enveloped AsciiDoc source lines directly into the output file.
- * A line break tag can be inserted by terminating a line with a +
- character (only really useful for HTML backends).
- * An fourth section level has been introduced.
- * The SidebarBlock delimiter line characters have been changed. The
- deprecated underline is still accepted.
- * Levels 2 and 3 title underline characters have been changed. The
- deprecated underlines are still accepted.
- * Lines with backend specific inline tags can be inserted into
- AsciiDoc source files.
- * Single words enveloped by underscores are no longer emphasized.
- This feature was deprecated as it is redundant (use single quotes
- instead) and was being applied to file names with underscores.
- * A -q quiet option has been added to suppress warning messages.
- * Badge images sourced locally.
- * Added author and author-mail meta tags to HTML configuration files.
- __________________________________________________________________
-
-64. Version 1.5 (2003-01-08)
-
- * Implemented sidebar document elements.
- * Explicit checks for user specified configuration files and input
- file (rather than throwing exception).
- __________________________________________________________________
-
-65. Version 1.4 (2003-01-04)
-
- * New configuration file options emphasizedwords and strongwords.
- These allow the definition of words that will always be emphasized
- or rendered in a strong font without inline formatting.
- * Document and section titles are no long subject to inline
- formatting.
- * Multiple configuration files can be overlaid in a single command.
- * Configuration file tags and options entries can now be overridden
- on an entry by entry basis (previously the entire section was
- overloaded).
- * Configuration file tags and options entries are now cached this has
- resulted in around 37% performance improvement over version 1.3.
- * Variable lists can now contain multiple terms per list item.
- * Placeholder paragraph eliminated from empty sections that contain
- subsections.
- * Added {asciidoc_version} substitution variable.
- * More documentation additions and tidy ups.
- __________________________________________________________________
-
-66. Version 1.3 (2003-01-01)
-
- * A new strong text formatting convention has been implemented: Word
- phrases enclosed in pairs of single quote characters (acute
- accents) are rendered in a strong font (usually bold).
- * Paragraphs can now be followed immediately by Simple lists and
- Ordered lists without an intervening blank line.
- * A user specified configuration file (asciidoc(1) -f option)
- overlays the default configuration file rather than replacing it.
- Custom configuration files need only contain those sections that
- have been customized.
- * Comment Block delimiters have been relaxed slightly. They must
- start with three forward slashes /// but the remainder can contain
- any characters, this allows comments to be embedded in the
- delimiter line.
- * Leading non-digit characters preceding revision number are now
- ignored.
- * Set default indentsize [option] from 2 to documented default value
- of zero in HTML backend html-article.conf and html-manpage.conf
- files.
- * Fixed error that occurred when taking input from stdin without
- explicitly specifying a document type.
- * Restored file name and line number error message information.
- * Changed deprecated -t option to -d in asciidoc --help and usage
- command output.
- * CSS styles tweaking.
- * Code, configuration file and documentation tidy ups.
- __________________________________________________________________
-
-67. Version 1.2 (2002-12-28)
-
- * Implemented include URL to allow file inclusion.
- * fileextension configuration file [option] renamed to more sensible
- outfilesuffix (fileextension still accepted by this version but
- will be dropped in future).
- * Improved error reporting.
- * CSS backends generate valid XHTML.
- * New css-embedded backend generates HTML with embedded stylesheets
- (use the css backend for linked stylesheets). The css-embedded
- backend output contains no linked images so the generated html
- files are completely self contained.
- * Bug fixes.
- __________________________________________________________________
-
-68. Version 1.1 (2002-12-03)
-
- * Added css (cascading style sheets) backend
- * Implemented IndentedBlock document element.
- * Tabsize command-line option has been deprecated in favor of
- configuration file.
- * Default indent width changed to zero.
- * Added {localdate} and {localtime} substitution variables.
- * Added optional [options] configuration file section with
- fileextension, tabsize and indentsize options.
- * Implemented {authorinitials} substitution variable.
- * Added https link type.
- * Corrected [graphic] substitution from {title} to {caption} in
- linuxdoc-article.conf configuration file.
- * Fixed error that occurred when == title underline was used.
- __________________________________________________________________
-
-69. Version 1.0 (2002-11-25)
-
- First AsciiDoc public release along with AsciiDoc web site
- ([116]http://www.methods.co.nz/asciidoc/) and SourceForge.net project
- registration ([117]https://sourceforge.net/projects/asciidoc/)
- __________________________________________________________________
-
- Version 8.6.3
- Last updated 2010-11-13 13:31:29 NZDT
-
-References
-
- 1. http://groups.google.com/group/asciidoc/browse_thread/thread/1b3f88f1f8118a…
- 2. http://groups.google.com/group/asciidoc/browse_thread/thread/c21c2902c29bae…
- 3. http://groups.google.com/group/asciidoc/browse_thread/thread/f510ea82a88aae…
- 4. http://groups.google.com/group/asciidoc/browse_thread/thread/42b63ce90c2563…
- 5. http://groups.google.com/group/asciidoc/browse_thread/thread/42b63ce90c2563…
- 6. http://bugs.python.org/issue3932
- 7. http://groups.google.com/group/asciidoc/browse_thread/thread/dedc961b23e9ac…
- 8. https://phillordbio-asciidoc-fixes.googlecode.com/hg/
- 9. http://groups.google.com/group/asciidoc/browse_thread/thread/c14a4c3b1e4f6d…
- 10. http://groups.google.com/group/asciidoc/browse_thread/thread/c948697943432e…
- 11. http://groups.google.com/group/asciidoc/browse_thread/thread/1c415fc4540ce5…
- 12. http://groups.google.com/group/asciidoc/browse_thread/thread/8712a95e95a292…
- 13. http://groups.google.com/group/asciidoc/browse_thread/thread/c4427a3902d130…
- 14. http://groups.google.com/group/asciidoc/browse_thread/thread/59a610068e4acb…
- 15. http://groups.google.com/group/asciidoc/browse_thread/thread/b22603bfb87941…
- 16. http://groups.google.com/group/asciidoc/browse_thread/thread/1c02d27d49221a…
- 17. http://groups.google.com/group/asciidoc/browse_thread/thread/5f3e825c74ed30c
- 18. http://pygments.org/
- 19. http://groups.google.com/group/asciidoc/browse_thread/thread/d8d042f5a30213…
- 20. http://groups.google.com/group/asciidoc/browse_frm/thread/319e5cd94493e330/…
- 21. http://groups.google.com/group/asciidoc/browse_frm/thread/fe9b33d8f5f1e0af
- 22. http://groups.google.com/group/asciidoc/browse_frm/thread/8eda3ea812968854
- 23. http://groups.google.com/group/asciidoc/browse_frm/thread/7174cb7598993c72
- 24. http://groups.google.com/group/asciidoc/browse_frm/thread/66e7b59d12cd2f91
- 25. http://groups.google.com/group/asciidoc/browse_frm/thread/7174cb7598993c72
- 26. http://groups.google.com/group/asciidoc/browse_frm/thread/7174cb7598993c72
- 27. http://groups.google.com/group/asciidoc/browse_frm/thread/219c86ae25b79a21
- 28. http://groups.google.com/group/asciidoc/browse_frm/thread/af652507caf6cec9
- 29. http://groups.google.com/group/asciidoc/browse_frm/thread/3f96900f7fbf5620
- 30. http://groups.google.com/group/asciidoc/browse_frm/thread/7174cb7598993c72
- 31. http://groups.google.com/group/asciidoc/browse_frm/thread/2ff802547b6a75ea
- 32. http://groups.google.com/group/asciidoc/browse_thread/thread/14e8fcb289a135b
- 33. http://groups.google.com/group/asciidoc/browse_thread/thread/faa36e9e5c7da0…
- 34. http://groups.google.com/group/asciidoc/browse_frm/thread/ac4b9bfa2116db28
- 35. http://groups.google.com/group/asciidoc/browse_frm/thread/c17abd175778f5ea
- 36. http://groups.google.com/group/asciidoc/browse_frm/thread/c17abd175778f5ea
- 37. http://groups.google.com/group/asciidoc/browse_frm/thread/1b6b66adb24e710
- 38. http://groups.google.com/group/asciidoc/browse_frm/thread/a23fea28394c8ca9
- 39. http://groups.google.com/group/asciidoc/browse_frm/thread/50b28f6941de111a
- 40. http://groups.google.com/group/asciidoc/browse_frm/thread/dfe5204d5b2c9685
- 41. http://groups.google.com/group/asciidoc/browse_frm/thread/f0b6f9989f828c3
- 42. http://groups.google.com/group/asciidoc/browse_frm/thread/14aefc1cb6bd85f5
- 43. http://groups.google.com/group/asciidoc/browse_frm/thread/cb8b7694bbc82a6
- 44. http://groups.google.com/group/asciidoc/browse_frm/thread/cb8b7694bbc82a6
- 45. http://groups.google.com/group/asciidoc/browse_frm/thread/4b0f364b477ec165
- 46. http://groups.google.com/group/asciidoc/browse_frm/thread/e5e61823ff4203cd
- 47. http://groups.google.com/group/asciidoc/browse_frm/thread/2aa3e5711d243045
- 48. http://groups.google.com/group/asciidoc/browse_frm/thread/5215c99dcc865e7d
- 49. http://hg.sharesource.org/asciidoc/diff/55a5999bfd04/xhtml11.conf
- 50. http://groups.google.com/group/asciidoc/browse_frm/thread/b276a927fdc87995
- 51. http://groups.google.com/group/asciidoc/browse_frm/thread/f4df7c9eec01a9bd
- 52. http://groups.google.com/group/asciidoc/browse_frm/thread/f4df7c9eec01a9bd
- 53. http://groups.google.com/group/asciidoc/browse_frm/thread/d29924043e21cb6a
- 54. http://groups.google.com/group/asciidoc/browse_frm/thread/74d9a542b79ccd50
- 55. http://groups.google.com/group/asciidoc/browse_frm/thread/ea3a8ea399ae5d2a
- 56. http://groups.google.com/group/asciidoc/browse_frm/thread/69b3183fdab7c6a5
- 57. http://groups.google.com/group/asciidoc/browse_frm/thread/a254cf949ea7c6c5
- 58. http://groups.google.com/group/asciidoc/browse_frm/thread/e1dcb7ee0efc17b5
- 59. http://groups.google.com/group/asciidoc/browse_frm/thread/69b3183fdab7c6a5
- 60. http://groups.google.com/group/asciidoc/browse_frm/thread/1badad21ff9447ac
- 61. http://groups.google.com/group/asciidoc/browse_frm/thread/a42db6bc54c2c537
- 62. http://groups.google.com/group/asciidoc/browse_frm/thread/b9c63be67dd1d11c
- 63. http://groups.google.com/group/asciidoc/browse_frm/thread/1269dc2feb1a482c
- 64. http://groups.google.com/group/asciidoc/browse_frm/thread/36ff073c79cbc20a
- 65. http://www.methods.co.nz/asciidoc/userguide.html#X89
- 66. http://groups.google.com/group/asciidoc/browse_thread/thread/62278a054188a0…
- 67. http://groups.google.com/group/asciidoc/browse_thread/thread/4bdcdfb0af773e2
- 68. http://groups.google.com/group/asciidoc/browse_thread/thread/c93bb4db025225…
- 69. http://groups.google.com/group/asciidoc/browse_thread/thread/1d796a9c9ddb28…
- 70. http://groups.google.com/group/asciidoc/browse_thread/thread/6d8c716748b109…
- 71. http://groups.google.com/group/asciidoc/browse_thread/thread/fd27add515597c…
- 72. http://www.methods.co.nz/asciidoc/testasciidoc.html
- 73. http://www.methods.co.nz/asciidoc/asciidocapi.html
- 74. file://localhost/tmp/lynxXXXXIyl6Xn/L3703-6283TMP.html#X2
- 75. http://www.methods.co.nz/asciidoc/INSTALL.html
- 76. http://www.methods.co.nz/asciidoc/newtables.html
- 77. http://www.methods.co.nz/asciidoc/newlists.html
- 78. http://www.methods.co.nz/asciidoc/userguide.html#X77
- 79. http://www.methods.co.nz/asciidoc/userguide.html#X76
- 80. http://www.methods.co.nz/asciidoc/latexmath.pdf
- 81. http://www.methods.co.nz/asciidoc/asciimathml.html
- 82. http://www.methods.co.nz/asciidoc/latexmathml.html
- 83. http://www.methods.co.nz/asciidoc/source-highlight-filter.html
- 84. https://sharesource.org/hg/asciidoc/
- 85. http://en.wikipedia.org/wiki/Data:_URI_scheme
- 86. http://www.methods.co.nz/asciidoc/faq.html
- 87. http://www.maths.nottingham.ac.uk/personal/drw/lm.html
- 88. http://www.methods.co.nz/asciidoc/asciimathml.html
- 89. http://www.methods.co.nz/asciidoc/index.html
- 90. http://tpl.sourceforge.net/userguide.html
- 91. http://www.methods.co.nz/asciidoc/music-filter.html
- 92. http://lilypond.org/
- 93. http://abcnotation.org.uk/
- 94. mailto:[email protected]
- 95. mailto:[email protected]
- 96. mailto:[email protected]
- 97. http://open.comsultia.com/docbook2odf/
- 98. http://www1.chapman.edu/~jipsen/mathml/asciimath.html
- 99. http://www.methods.co.nz/asciidoc/asciimath.html
- 100. file://localhost/tmp/lynxXXXXIyl6Xn/userguide.html#X33
- 101. mailto:[email protected]
- 102. file://localhost/tmp/lynxXXXXIyl6Xn/userguide.html#X39
- 103. file://localhost/tmp/lynxXXXXIyl6Xn/source-highlight-filter.html
- 104. mailto:[email protected]
- 105. mailto:[email protected]
- 106. file://localhost/tmp/lynxXXXXIyl6Xn/userguide.html#X36
- 107. file://localhost/tmp/lynxXXXXIyl6Xn/userguide.html#X33
- 108. mailto:[email protected]
- 109. file://localhost/tmp/lynxXXXXIyl6Xn/userguide.html#X23
- 110. mailto:[email protected]
- 111. mailto:[email protected]
- 112. mailto:[email protected]
- 113. mailto:[email protected]
- 114. http://jimmac.musichall.cz/ikony.php3
- 115. mailto:[email protected]
- 116. http://www.methods.co.nz/asciidoc/
- 117. https://sourceforge.net/projects/asciidoc/
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/CHANGELOG.txt b/code/maint/asciidoc/asciidoc-8.6.3/CHANGELOG.txt
deleted file mode 100644
index c753c65..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/CHANGELOG.txt
+++ /dev/null
@@ -1,2683 +0,0 @@
-AsciiDoc ChangeLog
-==================
-
-:replacements.\bweb:: http://www.methods.co.nz/asciidoc/
-
-
-Version 8.6.3 (2010-11-14)
---------------------------
-.Additions and changes
-- Added and 'unbreakable' option to bulleted and numbered lists
- (thanks to Henrik Maier for this patch).
-- Added `ifeval::[]` system macro (thanks to Henrik Maier for
- suggesting this feature).
-- The image 'scale' attribute sets the DocBook 'imagedata' element
- 'scale' attribute. Patch submitted by Henrik Maier.
-- DocBook 'preface', 'colophon' and 'dedication' style section titles
- now work. Based on patch submitted by Henrik Maier.
-- 'a2x': Do not inject xsltproc parameters if they were specified on
- the command-line (parameter double-ups generate xsltproc 'Global
- parameter already defined' errors).
-- 'a2x': Refactored xsltproc parameter injection.
-- 'a2x': articles chunked at section level by default.
-- 'attributes', 'titles' and 'specialcharacters' sections are now read
- from the local `asciidoc.conf` file before the header is parsed.
- This fixes a regression problem. See
- http://groups.google.com/group/asciidoc/browse_thread/thread/1b3f88f1f8118a…
-- Document header attributes take precedence over configuration file
- attributes.
-- Refactored 'music', 'graphviz' and 'latex' filter configurations.
-- Refactored source filter configuration and added literal paragraph
- source style.
-- Separated paragraph styles from paragraph syntax -- any style can be
- applied to any syntax.
-- Added 'listing' and 'quote' paragraph styles.
-- Renamed paragraph 'default' style to 'normal'.
-- Updated `--help` option text.
-- 'a2x': The `asciidoc_opts`, `dblatex_opts`, `fop_opts` and
- `xsltproc_opts` command-line options can be specified multiple
- times. This makes embedding multiple 'a2x' options in document
- headers easier to manage and less error prone.
-- Added ASCIIMathML and LaTeXMathML support to slidy backend.
-- Pass the 'encoding' attribute to the Pygments source highlight
- filter command.
-- 'a2x': HTML Help `.hhk` file named after AsciiDoc source file.
-- 'a2x': Added `--xsl-file` option to allow custom XSL stylesheets to
- be specified.
-- Make builds the man pages. Patch submitted by Sebastian Pipping. See
- http://groups.google.com/group/asciidoc/browse_thread/thread/c21c2902c29bae…
-
-.Bug fixes
-- *FIXED*: Sometimes double backquotes were misinterpreted as inline
- literal macros. See:
- http://groups.google.com/group/asciidoc/browse_thread/thread/f510ea82a88aae…
-- *FIXED*: Regression in 8.6.2: command-line attributes were not
- available to the global asciidoc.conf.
-- *FIXED*: Postponed document title substitutions until backend conf
- files have been loaded (8.6.2 regression). See
- http://groups.google.com/group/asciidoc/browse_thread/thread/42b63ce90c2563…
-- *FIXED*: The XSL Stylesheets customizations were preventing chapter
- and section level TOCs from being generated when using XSL
- Stylesheets via 'a2x'. See
- http://groups.google.com/group/asciidoc/browse_thread/thread/42b63ce90c2563…
-- *FIXED*: ``UnicodeDecodeError: \'ascii' codec can't decode byte''
- error. This error is due to a limitation in the Python HTMLParser
- module, see: http://bugs.python.org/issue3932
-- *FIXED*: Broken `--no-conf` option (8.6.2 regression).
-- *FIXED*: Regression in 8.6.2: configuration attribute entries set in
- the document header may cause a 'FAILED: incomplete configuration
- files' error.
-- *FIXED*: 'html4': corrected self closed meta tags.
-- *FIXED*: 'a2x' regression in 8.6.2: HTML Help `.hhp` file name had
- reverted to default name instead of the AsciiDoc source file name.
- See:
- http://groups.google.com/group/asciidoc/browse_thread/thread/dedc961b23e9ac…
-- *FIXED*: Attributes in man page title caused it to be dropped
- resulting in invalid DocBook output.
-- *FIXED*: `make uninstall` now deletes the `asciidoc.1` and `a2x.1`
- man pages.
-
-
-Version 8.6.2 (2010-10-03)
---------------------------
-.Additions and changes
-- 'docbook45': Enclosed bibliographic lists in a 'bibliodiv' -- you
- can now include block titles with bibliographic lists.
-- Added optional 'keywords', 'description' and 'title' document header
- meta-data attributes to HTML backends for SEO.
-- AttributeEntry values can span multiple lines with a ' +' line
- continuation.
-- Added 'slidy' backend (based on Phillip Lord's slidy backend
- https://phillordbio-asciidoc-fixes.googlecode.com/hg/)
-- Implemented 'OpenBlock' 'partintro' style for book part
- introductions.
-- Comment lines substitute special characters only.
-- Backend specific global configuration files (all except
- `asciidoc.conf`) are loaded *after* the header has been parsed --
- virtually any attribute can now be specified in the document header.
-- 'xhtml11': Volnitsky theme: allow bulleted lists to have intervening
- children.
-- 'xhtml11': refactored CSS font-family rules to start of file.
-- 'xhtml11': list bullets colored gray.
-- 'ifdef' and 'ifndef' system block macros accept multiple attribute
- names: multiple names separated by commas are 'ored'; multiple
- attribute names separated by pluses are 'anded'.
-- 'xhtml11': Volnitsky theme: set max-width on labeled lists.
-- Vim syntax highlighter: Entities inside quoted text are now
- highlighted.
-- Added 'role' and 'id' attributes to HTML outputs generated by
- 'OpenBlocks'.
-- Allow floating titles to generate 'h1' (level 0) titles in HTML
- outputs.
-- Added a 'start' attribute to numbered lists to set the start number.
- See:
- http://groups.google.com/group/asciidoc/browse_thread/thread/c14a4c3b1e4f6d…
-- Added two more docinfo attributes 'docinfo1' and 'docinfo2' to allow
- and control inclusion of a shared docinfo file. See
- http://groups.google.com/group/asciidoc/browse_thread/thread/c948697943432e…
-- Vim syntax highlighter highlights multi-name conditional attributes.
-- LaTeX backend patch submitted by Andreas Hermann Braml (see
- http://groups.google.com/group/asciidoc/browse_thread/thread/1c415fc4540ce5…)
-- Implemented 'backend aliases'; renamed `docbook.conf` to
- `docbook45.conf` and aliased 'docbook45' backend to 'docbook';
- aliased 'xhtml11' to 'html'.
-
-.Bug fixes
-- *FIXED*: Filter commands located in filter directories local to the
- source document that where not in the search 'PATH' where not found.
-- *FIXED*: Volnitsky theme: Verseblock font set normal instead of
- monospaced.
-- *FIXED*: 'xhtml11': Callout icons were not rendered as Data URIs
- when 'icons' and 'data-uri' attributes were specified.
-- *FIXED*: Long standing bug: nested include macros did not restore
- the parent document 'infile' and 'indir' attributes. See:
- http://groups.google.com/group/asciidoc/browse_thread/thread/8712a95e95a292…
-- *FIXED*: 'html4': set preamble ID anchor.
-- *FIXED*: 'xhtml11': dropped unusable 'id' and 'role' attributes from
- preamble template.
-- *FIXED*: Bug in multi-name conditional attributes e.g. `{x,y#}`
- fails if x or y is undefined.
-- *FIXED*: latex filter not being installed by Makefile. Thanks to
- Grant Edwards for this patch. See
- http://groups.google.com/group/asciidoc/browse_thread/thread/c4427a3902d130…
-- *FIXED*: 'a2x': Long-standing bug in a2x which always passes
- `--string-param navig.graphics 0` to 'xsltproc', regardless of
- whether icons are enabled or not. Reported by Michael Wild:
- http://groups.google.com/group/asciidoc/browse_thread/thread/59a610068e4acb…
-
-
-Version 8.6.1 (2010-08-22)
---------------------------
-.Additions and changes
-- 'a2x': `--resource-dir` option renamed to `--resource`.
-- 'a2x': `--resource` option accepts both file and directory names.
-- 'a2x': Added `-m,--resource-manifest` option.
-- Added Vim syntax highlighting for quote attribute lists.
-- Load 'asciidoc.conf' from all configuration directories before any
- other configuration files. This ensures that attributes used for
- conditional inclusion are set before backend configuration files are
- processed. Previously if you wanted to control global conf file
- inclusion your only choice was to modify the global 'asciidoc.conf'
- file.
-- AsciiDoc 'Quote element' attributes have been simplified and
- generalized -- positional color and size attributes and named 'role'
- attribute have been replaced by a single positional attribute.
-
-.Bug fixes
-- *FIXED*: 'testasciidoc.py': `BACKEND` command argument was being
- ignored.
-- *FIXED*: Broken 'docinfo' file functionality in 'html4' and
- 'xhtml11' backends (previously the docinfo file was included in
- the 'body' instead of the 'header').
-
-Regression issues
-~~~~~~~~~~~~~~~~~
-This release breaks compatibility with quoted element positional color
-and size attributes (HTML backends). To revert to the deprecated quote
-behavior define the 'deprecated-quotes' attribute in the global
-`asciidoc.conf` file or on the command-line. For a more detailed
-explanation of the rationale behind this change see
-http://groups.google.com/group/asciidoc/browse_thread/thread/b22603bfb879418c.
-
-
-Version 8.6.0 (2010-08-16)
---------------------------
-.Additions and changes
-- The AsciiDoc distribution can now be built ``out of the box''
- from the distribution tarball or the Mercurial repository
- (provided you have the requisite build applications installed).
-- The global configuration files directory is ignored by both
- 'asciidoc' and 'a2x' if AsciiDoc configuration files are installed
- in the same directory as the asciidoc executable. This change
- allows both a system wide copy and multiple local copies of AsciiDoc
- to coexist on the same host PC.
-- CSS 'quirks' mode is no longer the default 'xhtml11' output
- (http://groups.google.com/group/asciidoc/browse_thread/thread/1c02d27d49221a…)
-- Relaxed anchor ID name syntax
- (http://groups.google.com/group/asciidoc/browse_thread/thread/5f3e825c74ed30c)
-- Added document files: `doc/epub-notes.txt`,
- `doc/publishing-ebooks-with-asciidoc.txt`.
-- 'a2x': If all other resource locations are exhausted then recursively
- search directories named 'images' and 'stylesheets' in the
- 'asciidoc' configuration files directory.
-- 'a2x': options can also be set in the AsciiDoc source file. If the
- source file contains a line beginning with '// a2x:' then the
- remainder of the line will be treated as a2x command-line options.
-- Added dblatex table-width processing instruction -- tables generated
- by dblatex now observe the AsciiDoc table width as a percentage
- (thanks to Gustav Broberg for suggesting this enhancement).
-- 'a2x': Don't exit if the `--epubcheck` option is set and 'epubcheck'
- is missing, issue warning and continue.
-- Added a global 'plaintext' attribute for dealing with large amounts
- of imported text.
-- The author name format has been relaxed, if the the author does not
- match the formal specification then it is assigned to the
- 'firstname' attribute (previously asciidoc exited with an error
- message).
-- FAQ and documentation updates.
-- Refactored chunked.xsl and epub.xsl files.
-- Exchanged article.epub for more relevant book.epub on website.
-- Put asciidoc.epub User Guide on website.
-- 'a2x': Chunking EPUB and HTML outputs set to a per chapter basis and
- the first chapter is separate from preceding contents.
-- Changed dates format in example article and books to suppress EPUB
- validation error.
-- Added 'style' and 'role' CSS classes to xhtml11 section templates.
-- Added the 'role' element to xhtml11 backend block templates.
-- Suppressed md5 module deprecation warning from music and Graphviz filters.
-- Pygments (http://pygments.org/) option added to source code
- highlight filter. Based on Pygments source code filter written by
- David Hajage
- (http://groups.google.com/group/asciidoc/browse_thread/thread/d8d042f5a30213…)
-- xhtml11: Added a new theme (volnitsky). Written and contributed by
- Leonid V. Volnitsky.
-- xhtml11: Set body element class name to document type.
-- Added refentryinfo element and contents (including revdate) to man
- page DocBook output. Man pages are now dated using the revdate
- attribute value if it has been defined. Based on patch supplied by
- Rainer Muller
- http://groups.google.com/group/asciidoc/browse_frm/thread/319e5cd94493e330/….
-- Added `{template:...}` system attribute.
-- Table of contents attribute 'toc' can now be specified in the
- document header.
-- Reimplemented music and latex filter -m option functionality when
- the input is stdin using MD5 checksums.
-- Added 'latex' filter.
-- Added auto file name generation to image generating filters
- (latex,music, graphviz).
-- Added `counter2` and `set2` system attributes (to implement image
- auto file name generation).
-- Undefined attribute in filter command generates error but does not
- exit.
-- Attribute substitution proceeds from start line to end line
- (previously was in reverse order which was really confusing).
-- Tidied up music filter code:
- * Format option is optional and default to 'abc' unless Lilypond
- notation detected.
- * The -m option does not apply to stdin input.
-- Added paragraph styles to music and graphviz filters.
-- Documented dynamic template names. 753: Graphviz filter can now
- generate SVG format images. Patch submitted by Elmo Todurov, see:
- http://groups.google.com/group/asciidoc/browse_frm/thread/fe9b33d8f5f1e0af
- The xhtml11 SVG Graphviz template marked EXPERIMENTAL. No SVG
- support for other backends.
-- AsciiDoc template names can now contain embedded attribute
- references.
-- Added 'legalnotice' tag to `doc/article-docinfo.xml` example.
-- xhtml11 backend: Callouts and callout lists display callout icons
- when the 'icons' attribute is defined. See
- http://groups.google.com/group/asciidoc/browse_frm/thread/8eda3ea812968854
-- Document attribute names are case insensitive everywhere, this makes using
-attribute entries more consistent e.g. previously :VERS: had to be refered to
-with {vers} ({VERS} did not work).
-- Hungarian translation of footer-text (submitted by Miklos Vajna).
- See
- http://groups.google.com/group/asciidoc/browse_frm/thread/7174cb7598993c72#
-- asciidocapi.py 0.1.2: Can now load AsciiDoc script named asciidoc.
- See
- http://groups.google.com/group/asciidoc/browse_frm/thread/66e7b59d12cd2f91
- Based on patch submitted by Phillip Lord.
-- German translation of footer-text (submitted by Simon Ruderich). See
- http://groups.google.com/group/asciidoc/browse_frm/thread/7174cb7598993c72
-- Pushed HTML footer text into language conf files with the
- introduction of a [footer-text] configuration file template section.
- See
- http://groups.google.com/group/asciidoc/browse_frm/thread/7174cb7598993c72
-
-.Bug fixes
-- *FIXED*: Sometimes multiple double quoted text elements in the same
- paragraph were mistakenly seen as starting with an inline literal.
- See
- http://groups.google.com/group/asciidoc/browse_frm/thread/219c86ae25b79a21
-- *FIXED*: 'localtime' and 'doctime' attributes calculated incorrect
- daylight saving / non daylight saving timezones and consequently so
- did HTML footers. Patch submitted by Slawomir Testowy. See
- http://groups.google.com/group/asciidoc/browse_frm/thread/af652507caf6cec9
-- *FIXED*: Missing selector for 'List of examples' title in DocBook
- CSS file. Patch submitted by Laurent Laville. See
- http://groups.google.com/group/asciidoc/browse_frm/thread/3f96900f7fbf5620
-- *FIXED*: Broken accents in lang-hu.conf. See:
- http://groups.google.com/group/asciidoc/browse_frm/thread/7174cb7598993c72
-- *FIXED*: DocBook XSL generated HTML callout lists are properly
- aligned. Submitted by Lionel Orry. See
- http://groups.google.com/group/asciidoc/browse_frm/thread/2ff802547b6a75ea
-- *FIXED*: Filter execution now occurs prior to filter markup template
- substitution to ensure image data URI encoding happens after image
- generation (see
- http://groups.google.com/group/asciidoc/browse_thread/thread/14e8fcb289a135b)
-- *FIXED*: The section numbers no longer increment when the 'numbered'
- attribute is undefined (see
- http://groups.google.com/group/asciidoc/browse_thread/thread/faa36e9e5c7da0…)
-
-
-Version 8.5.3 (2010-01-18)
---------------------------
-.Additions and changes
-- a2x: Added a2x configuration file options ASCIIDOC_OPTS,
- DBLATEX_OPTS, FOP_OPTS, XSLTPROC_OPTS (appended to same-named
- command-line options). See
- http://groups.google.com/group/asciidoc/browse_frm/thread/ac4b9bfa2116db28
-- Dropped `.hgignore` from the repository. See
- http://groups.google.com/group/asciidoc/browse_frm/thread/c17abd175778f5ea
-- Don't pass verbose options to asciidoc table filter so that
- asciidocapi messages are not discarded. See:
- http://groups.google.com/group/asciidoc/browse_frm/thread/c17abd175778f5ea
-- Added `./tests/data/lang-pt-BR-test.txt` file to the repository.
-- xhtml11: Verse block and verse paragraph content enveloped in a
- 'pre' tag (instead of a 'div') so it renders better in text-only
- browsers. See:
- http://groups.google.com/group/asciidoc/browse_frm/thread/1b6b66adb24e710
-- User Guide: Clarified Passthrough Blocks (suggested by Simon
- Ruderich).
-- FAQ: 'How can I include lines of dashes inside a listing block?'
-- FAQ errata and updates (submitted by Simon Ruderich).
-- User Guide errata.
-- Simplified 'asciidoc-toc' processing instruction and included lists
- of figures, tables, examples and equations in books (i.e. revert to
- pre-8.5.0 behavior).
-- Attempted to have dblatex recognise the 'asciidoc-toc' processing
- instruction but couldn't get it to work.
-- Added 'notitle' attribute to allow the document title to be hidden.
-
-
-.Bug fixes
-- *FIXED*: Regression: system attribute escaping did not work.
-- *FIXED*: Website: broken image links in chunked User Guide.
-
-
-Version 8.5.2 (2009-12-07)
---------------------------
-.Additions and changes
-- Updated example article and book documents with the recommended
- explicit section name syntax (see the 'Special section titles
- vs. explicit template names' sidebar in the AsciiDoc 'User Guide').
-- Added Italian language configuration file (contributed by Fabio
- Inguaggiato).
-- Added 'header' table style. See:
- http://groups.google.com/group/asciidoc/browse_frm/thread/a23fea28394c8ca9
-- Pass 'icons', 'data-uri', 'imagesdir', 'iconsdir' attributes to
- 'asciidoc' table style filter so that images are rendered in table
- cells.
-- Pass 'trace' and 'verbose' attributes to 'asciidoc' table style
- filter so diagnostic information is printed from table cell source.
-- The 'eval' system attribute can be nested inside other system
- attributes.
-- HTML outputs: Table and figure caption punctuation set to more usual
- syntax.
-- docbook backend: footnotes can now contain embedded images. See
- http://groups.google.com/group/asciidoc/browse_frm/thread/50b28f6941de111a
-- CSS tweaks so that tables processed by DocBook XSL Stylesheets have
- the default asciidoc xhtml11 backend styling. See
- http://groups.google.com/group/asciidoc/browse_frm/thread/dfe5204d5b2c9685
-- Block titles take precedence over section titles to avoid titled
- delimited blocks being mistaken for two line section titles (see
- http://groups.google.com/group/asciidoc/browse_frm/thread/f0b6f9989f828c3)
-- Section title trace displays level and title text.
-- FAQ additions.
-- Added `{zwsp}` (zero width space) attribute.
-- Undefined paragraph styles are reported (previously threw a runtime
- error).
-- Eliminated empty preamble generation.
-- Floating titles now processed in all contexts.
-- Implemented auto-lettered appendix names and updated example
- documents.
-- Section numbering can be disabled in HTML outputs with a
- ':numbered!:' AttributeEntry.
-- xhtml11: Nicer default quote block styling.
-- Exclude floating titles from xhtml11 table of contents. Patch
- submitted by Mark Burton (see
- http://groups.google.com/group/asciidoc/browse_frm/thread/14aefc1cb6bd85f5)
-- Enhanced `doc/article-docinfo.xml` example docinfo file.
-- Vim syntax highlighter improvements.
-
-.Bug fixes
-- *FIXED*: Absolute 'imagesdir' and 'iconsdir' attribute path names
- do not work with the xhtml11 data-uri encoding. See
- http://groups.google.com/group/asciidoc/browse_frm/thread/cb8b7694bbc82a6
-- *FIXED*: Regression issue with inline data-uri images. See
- http://groups.google.com/group/asciidoc/browse_frm/thread/cb8b7694bbc82a6
-- *FIXED*: An unexpected error occurred when processing a table
- containing CSV data if the 'cols' attribute was not explicitly
- specified. See
- http://groups.google.com/group/asciidoc/browse_frm/thread/4b0f364b477ec165
-
-
-Version 8.5.1 (2009-10-31)
---------------------------
-.Additions and changes
-- If an AsciiDoc document file begins with a UTF-8 BOM (byte order
- mark) then it is passed transparently through to the output file.
- The BOM is stripped from included files. See
- http://groups.google.com/group/asciidoc/browse_frm/thread/e5e61823ff4203cd
-- Added AsciiDoc 'role' attribute to quoted text. Sets 'class'
- attribute in HTML outputs; 'role' attribute in DocBook outputs. See:
- http://groups.google.com/group/asciidoc/browse_frm/thread/2aa3e5711d243045
-- Conditional attribute syntax extended: they now accept multiple ORed
- or ANDed attribute names.
-- The 'xhtml11' backend dynamically processes footnotes using
- JavaScript.
-- Tidied up and namespaced 'xhtml11' JavaScript.
-- Superceded `javascripts/toc.js` with `javascripts/asciidoc-xhtml11.js`.
-- Added 'disable-javascript' attribute ('xhtml11' backend).
-- Styled HTML footnotes.
-- Added links to HTML footnote refs.
-- Added title attribute to inline image macros to display popup
- ``tooltip'' (HTML outputs only).
-- Single-quoted attribute values are substituted in block macros (just
- like the AttributeList element).
-- For consistency changed underscores to dashes in attribute names.
- Public attributes with underscores retained for compatibility.
-- Added Brazilian Portuguese language configuration file (contributed
- by Thiago Farina).
-- Added 'leveloffset' attribute to make it easier to combine
- documents.
-
-.Bug fixes
-- *FIXED:* a2x: `--dblatex-opts` is now processed last so
- `asciidoc-dblatex.xsl` params can be overridden. Patch submitted by
- Mark Fernandes (see
- http://groups.google.com/group/asciidoc/browse_frm/thread/5215c99dcc865e7d)
-- *FIXED:* An error occurred if a directory in current path with same
- name as executable.
-
-Regression issues
-~~~~~~~~~~~~~~~~~
-There's been quite a bit of tiding up to the xhtml11 JavaScript. The
-most obvious change is that the toc.js script has been superceded by
-asciidoc-xhtml11.js so if you're linking you'll need get a copy of
-the new file from the distribution javascripts directory.
-
-If you use customised xhtml11 configuration file `[header]` and
-`[footer]` sections and you want them to use the new footnotes feature
-then you've got a bit more work to do:
-
-. The onload event expression changed.
-. The new `<div id="content">...</div>` div envelopes document
- content.
-. You need to add `<div id="footnotes">...</div>` div to the
- `[footnotes]` section for footnotes to work.
-. Drop the `ifdef::toc[]` macro that surround JavaScript inclusion.
-
-Take a look at the [header] and [footer] changes in the xhtml11.conf
-diff to see what's going on:
-http://hg.sharesource.org/asciidoc/diff/55a5999bfd04/xhtml11.conf
-
-
-Version 8.5.0 (2009-10-04)
---------------------------
-.Additions and changes
-- Implemented a 'float' attribute for tables and block images (HTML
- outputs only).
-- Added `unfloat::[]` block macro to cancel floating.
-- Added table 'align' attribute to (HTML outputs only).
-- The image 'align' attribute now works with HTML backends.
-- Renamed table cell 'align' attribute to 'halign' so it doesn't clash
- with the new table 'align' attribute.
-- Added 'breakable' and 'unbreakable' options to AsciiDoc example and
- block image elements.
-- `[miscellaneous]` section entries now update properly when set from
- a document 'AttributeEntry'.
-- `[miscellaneous]` section `pagewidth` entry accepts fractional
- values.
-- Fractional column widths are now calculated correctly when using
- fractional 'pageunits' (DocBook tables).
-- Use DocBook XSL table width processing instructions.
-- asciidoc 'KeyboardInterrupt' exits with error code 1.
-- Added 'set' system attribute to allow attributes to be set from
- configuration file templates.
-- Allow constrained quotes to be bounded on the left by a colons and
- semicolons, see
- http://groups.google.com/group/asciidoc/browse_frm/thread/b276a927fdc87995
-- Titled listing and literal blocks (DocBook outputs) no longer default
- to examples. See
- http://groups.google.com/group/asciidoc/browse_frm/thread/f4df7c9eec01a9bd
-- Updated language file table, figure and example captions to
- accommodate new auto-numbering in html4 and xhtml11 backends.
-- Titled source highlight filter listings generated by docbook backend
- are now rendered as examples. See
- http://groups.google.com/group/asciidoc/browse_frm/thread/f4df7c9eec01a9bd
-- Implemented 'counter' system attribute.
-- Use 'counter' system attributes to number titled tables and block
- images in HTML backends.
-- Added program name suffix to console messages.
-- Added substitution to the 'AttributeEntry' passthrough syntax, this
- replaces the now unnecessary 'attributeentry-subs' attribute.
-- Allow passthrough inline macro syntax to be used in
- 'AttributeEntrys'.
-- Reinstated 8.4.4 default 'lang' attribute behavior. See
- http://groups.google.com/group/asciidoc/browse_frm/thread/d29924043e21cb6a.
-- Added 'max-width' attribute to the 'xhtml11' backend to set maximum
- display width. See
- http://groups.google.com/group/asciidoc/browse_frm/thread/74d9a542b79ccd50.
-- Added 'a2x.py', a rewritten and much enhanced version of the old
- 'a2x' bash script.
-- The new 'a2x' can output EPUB formatted documents.
-- Added `--safe` option and deprecated `--unsafe` option. Patch
- submitted by Todd Zullinger. See
- http://groups.google.com/group/asciidoc/browse_frm/thread/ea3a8ea399ae5d2a
- and
- http://groups.google.com/group/asciidoc/browse_frm/thread/69b3183fdab7c6a5
-- Added 'CHECK' and 'TEST' todo highlight words to Vim syntax
- highlighter.
-- Line breaks, page breaks, and horizontal rulers are now processed by
- dblatex, thanks to a patch submitted by Mark Fernandes
- (http://groups.google.com/group/asciidoc/browse_frm/thread/a254cf949ea7c6c5)
-- Allow footnote macros hard up against the preceding word so the
- rendered footnote mark can be placed against the noted text without
- an intervening space (patch submitted by Stas Bushuev,
- http://groups.google.com/group/asciidoc/browse_frm/thread/e1dcb7ee0efc17b5)
-- Normalized path in `safe_filename` function (submitted by Todd
- Zullinger,
- http://groups.google.com/group/asciidoc/browse_frm/thread/69b3183fdab7c6a5)
-- The Asciidoc 'numbered' and 'toc' attributes cause DocBook outputs
- to include `asciidoc-numbered` and `asciidoc-toc` processing
- instructions, these are used by DocBook XSL to include section
- numbering and table of contents (like Asciidoc HTML backends). For
- backward compatibility both 'numbered' and 'toc' attributes are
- defined by default when the 'docbook' backend is used. See
- http://groups.google.com/group/asciidoc/browse_frm/thread/1badad21ff9447ac.
-- 'data-uri' attribute is now evaluated dynamically and can be set in
- document body (previously could only be set from command-line).
-- Added 'sys3' and 'eval3' system attributes to passthrough generated
- output, this fixes the data-uri inline image problem:
- http://groups.google.com/group/asciidoc/browse_frm/thread/a42db6bc54c2c537.
-- Missing language file generates a warning instead of an error.
-- Updated Spanish language file (updates contributed by Gustavo Andrés
- Gómez Farhat).
-
-.Bug fixes
-- *FIXED:* Options in an 'AttributeList' option attribute are merged
- with (rather than replace) configuration file options.
-- *FIXED:* Comment blocks and comment block macros no longer consume
- preceding block titles and attribute lists.
-- *FIXED:* `examples/website/layout1.conf` and
- `examples/website/layout2.conf` TOC problem. Submitted by Mark
- (burtoogle). See
- http://groups.google.com/group/asciidoc/browse_frm/thread/b9c63be67dd1d11c
-- *FIXED:* Only the first occurrence of passthrough macro was
- substituted. Patch submitted by Peter Johnson. See
- http://groups.google.com/group/asciidoc/browse_frm/thread/1269dc2feb1a482c
-- *FIXED:* asciidoc now runs on Jython 2.5.0.
-- *FIXED:* Wordpress margins and pads in a number of block
- elements
- (http://groups.google.com/group/asciidoc/browse_frm/thread/36ff073c79cbc20a)
-
-Regression issues
-~~~~~~~~~~~~~~~~~
-- Tables generated by 'dblatex' occupy 100% of the available space
- regardless of the 'width' attribute setting. To restore width
- behavior change the 'pageunits' miscellaneous parameter to 'pt'. You
- can do this from the command-line with the `-a pageunits=pt` option.
- See web:userguide.html#X89[DocBook table widths].
-
-
-Version 8.4.5 (2009-05-24)
---------------------------
-.Additions and changes
-- Added manpage 'Name' and 'Synopsis' section title customization to languages
- configuration files.
-- Synopsis manpage section no longer mandatory.
-- Section markup templates can be specified by setting the title's
- first positional attribute or 'template' attribute.
-- The article and book document header can now include a revision
- remark.
-- A 'role' attribute can now be applied to block elements. This adds
- the 'role' attribute to DocBook elements. Patch submitted by
- http://groups.google.com/group/asciidoc/browse_thread/thread/62278a054188a0…
- Slater]).
-- Renamed 'revision' and 'date' attributes to more sensible and consistent
- 'revnumber' and 'revdate' (old names deprecated but still
- recognized).
-- Moved backend specific attributes to Appendix H in User Guide.
-- Renamed and generalized the docbook backend revision history
- inclusion mechanism to 'docinfo' to reflect the use of all article
- or book information elements. The old revision history names still
- work but have been deprecated.
-- Refactored docbook.conf headers.
-- Moved line break replacement from `[replacements]` to
- `[replacements2]` so the replacement occurs after the mailto macro.
- This fixes bug
- http://groups.google.com/group/asciidoc/browse_thread/thread/4bdcdfb0af773e2
-- The typewriter to punctuation apostrophe replacement can be escaped
- with a backslash.
-- Graphviz filter outputs images to 'imagesdir' if it is defined.
-- Made the block image macro generic so that it can be used for filter
- outputs. As a result Music and Graphviz filters:
- * Have been greatly simplified.
- * Honor the 'data-uri' attribute.
- * 'html4' outputs no longer generate W3C validation warning.
-- The 'iconsdir' attribute no longer requires a trailing directory
- separator character.
-- Removed borders around linked html4 images.
-- Added 'html4' specific HTML output for music filter.
-- 'a2x': Added `--unsafe` option (shortcut for
- `--asciidoc-opts=--unsafe`).
-- 'a2x': The FOP executable can now be named `fop` (this is the
- default name in some distributions).
-- Attributes are now substituted in the system macro attribute list.
-- If the output is set to stdout (i.e. no output directory is defined)
- then Music and Graphviz filters will output included images to the
- source file directory.
-- Added 'name' directive to 'testasciidoc'.
-- Added lots of 'testasciidoc' new tests.
-- Moved language specific configuration parameters into `lang-en.conf`
- file.
-- 'lang' attribute entry can be specified in the AsciiDoc source file
- (preceding the header).
-- Removed cruft from A-A-P scripts and documented them.
-- Added German language config file (`lang-de.conf`) contributed by
- Michael Wild.
-- Added French language config file (`lang-fr.conf`) contributed by
- Yves-Alexis Perez.
-- Added Russian language config file (`lang-ru.conf`) contributed by
- Artem Zolochevskiy.
-- Added Hungarian language config file (`lang-hu.conf`) contributed by
- Miklos Vajna.
-
-.Bug fixes
-- *FIXED:* Multiple manpage names are now handled correctly when
- generating DocBook output, each name now generates a separate
- DocBook `<refname>` element. See
- http://groups.google.com/group/asciidoc/browse_thread/thread/c93bb4db025225…
-- *FIXED:* A problem that caused AttributeEntries preceding the header
- to be overwritten when the language conf file loaded.
-- *FIXED:* Possible inline macro name ambiguity e.g. link matches olink.
-- *FIXED:* The documented macro definition deletion behavior had been
- broken for a long time.
-- *FIXED:* Email addresses not recognized when followed by a period
- character.
-- *FIXED:* Hyphens in mailto macros can delimit nested addresses e.g.
- \bloggs@mail was processed inside
- \mailto:[email protected][Mail].
-- *FIXED:* User name in FTP URI generated incorrect FTP link. See
- http://groups.google.com/group/asciidoc/browse_thread/thread/1d796a9c9ddb28…
-- *FIXED:* Source highlighter now works with Wordpress backend (see
- http://groups.google.com/group/asciidoc/browse_thread/thread/6d8c716748b109…)
-
-[[X2]]
-Regression issues
-~~~~~~~~~~~~~~~~~
-. A colon following the date in the AsciiDoc header is treated as a
- revision remark delimiter -- this could be an issue if you have used
- a colon in the header date.
-
-
-Version 8.4.4 (2009-04-26)
---------------------------
-.Additions and changes
-- Added table column and row spanning.
-- Table styles can now be applied per cell.
-- Vertical cell alignment can be applied to columns and individual
- cells.
-- Added table 'align' attribute to set horizontal alignment for entire
- table.
-- Included Geoff Eddy's update of the experimental LaTeX backend.
-- A new attribute named 'trace' controls the output of diagnostic
- information. If the 'trace' attribute is defined then
- element-by-element diagnostic messages detailing output markup
- generation are printed to stderr.
-- Added 'literal' paragraph style (allows 'literal' style to be
- applied to normal paragraphs).
-- Deleted unused `replacements2` from `xhtml11.conf`.
-- Added `replacements2` to default substitutions.
-- 'testasciidoc.py': messages to 'stdout', only diffs to 'stderr'.
-- Added transparency to `smallnew.png` image.
-
-.Bug fixes
-- All combinations of leading comments and attribute entries at the
- start of a document are now skipped correctly.
-- *FIXED:* `./configure` doesn't support `--docdir` as expected (patch
- submitted by Artem Zolochevskiy)
-- *FIXED:* Constrained quotes were incorrectly matched across line
- boundaries e.g. the string `+\nabc+` incorrectly matched a monospace
- quote.
-
-
-Version 8.4.3 (2009-04-13)
---------------------------
-.Additions and changes
-- DocBook outputs default to DocBook version 4.5 doctype (previously
- 4.2).
-- Configuration file `[specialsections]` definitions can be undefined
- by setting their configuration entry values blank.
-- The Makefile 'install' target depends on the 'all' target to ensure
- pre-install patches are applied.
-- 'testasciidoc.py' now emits user friendly messages if:
- . the configuration file is missing.
- . an illegal backend is specified.
- . an illegal test number is specified.
-
-.Bug fixes
-- Fixed
- http://groups.google.com/group/asciidoc/browse_thread/thread/fd27add515597c…
- template section] error.
-- The 'testasciidoc.py' `--force` option no longer deletes test data
- files that were not specified.
-- Dropped second quotes substitution in table cells -- it had
- effectively disabled quote escaping in table cells.
-
-
-Version 8.4.2 (2009-03-19)
---------------------------
-.Additions and changes
-- Added web:testasciidoc.html[testasciidoc], a tool to verify AsciiDoc
- conformance.
-- A warning is issued if nested inline passthroughs are encountered.
-- 'asciidocapi': setting an attribute value to `None` will undefine
- (delete) the attribute (this in addition to the `name!` attribute
- name format that the `asciidoc(1)` command uses).
-
-.Bug fixes
-
-
-Version 8.4.1 (2009-03-10)
---------------------------
-.Additions and changes
-- AsciiDoc now has a web:asciidocapi.html[Python API]. The following
- minimal example compiles `mydoc.txt` to `mydoc.html`:
-+
-[source,python]
--------------------------------------------------------------------------------
-from asciidocapi import AsciiDocAPI
-asciidoc = AsciiDocAPI()
-asciidoc.execute('mydoc.txt')
--------------------------------------------------------------------------------
-
-- Backtick quoting for monospaced text is now implemented as an
- 'inline literal' passthrough. This makes more sense since monospace
- text is usually intended to be rendered literally. See
- <<X2,Regression issues>> below for the impact this may have on
- existing documents. Here are some examples that would previously
- have had to be escaped:
-
- The `++i` and `++j` auto-increments.
- Paths `~/.vim` and `~/docs`.
- The `__init__` method.
- The `{id}` attribute.
-
-- Added `--doctest` option to `asciidoc(1)` command.
-- Added an optional second argument to 'BlockId' element, this sets
- the `{reftext}` attribute which in turn is used to set the `xreflabel`
- attribute in DocBook elements.
-- Added lists to `--help` syntax summary.
-- `{infile}` and `{indir}` attributes reflect the current input file
- (previously always referred to the root document).
-- `{docfile}` (new) and `{docdir}` (previously deprecated) attributes
- refer to the root document specified on the `asciidoc(1)`
- command-line.
-- Vim syntax highlighter improvements.
-- Syntax summary command (`asciidoc -h syntax`) additions.
-- Admonition icons now have transparent backgrounds.
-- Changed yellow W3C badges to blue ones in page footers.
-
-.Bug fixes
-- Dropped `asciidoc(1)` broken undocumented `--profile` option.
-- Em dash replacement now recognized at start of block.
-
-Regression issues
-~~~~~~~~~~~~~~~~~
-Replacing backtick quoting with the 'inline literal' passthrough
-raises two regression scenarios for existing documents:
-
-1. You have escaped the expansion of enclosed inline elements, for
- example: `\{id}`. You would need to delete the backslashes: `{id}`
- (if you don't the backslashes will be printed). Mostly it's just a
- case of interactively finding and replacing of all occurrences of
- `\.
-
-2. There are enclosed inline elements, for example: `some *bold*
- monospaced`. You would need to switch to plus character monospace
- quoting: `+some *bold* monospaced+` (if you don't the enclosed
- elements won't be expanded).
-
-If your existing documents include these cases and you don't want to
-upgrade then use the `-a no-inline-literal` command-line option,
-alternatively put this in `~/.asciidoc/asciidoc.conf`:
-
- [attributes]
- no-inline-literal=
-
-
-Version 8.3.5 (2009-02-02)
---------------------------
-.Additions and changes
-- Cached compiled regular expression delimiters (speed up 'User
- Manual' compilation by 250%).
-- Created distinct list definitions for each numbered list style to
- allow nesting of all styles.
-- Roman numbers in numbered lists are followed by a closing
- parenthesis instead of a period to eliminate 'i', 'v', 'x' item
- ambiguity with respect to alpha numbered list items.
-- Added `**`, `***`, `****`, `*****`
- bulleted lists.
-- Added `...`, `....`, `.....` implicit numbered
- lists.
-- Added `:::`, `::::` labeled lists.
-- Updated User Guide for new list syntaxes.
-- Optimized paragraph and list termination detection with separate
- precompiled regular expressions for performance and to prevent
- reaching Python 100 named group limit.
-- Updated Vim syntax highlighter for new list syntaxes.
-- Allow `template::[]` macros in conf file entries sections (not just
- in template sections).
-- Dropped unused `[listdef-numbered2]` conf file sections.
-- Renamed 'ListBlock' to more appropriate 'OpenBlock'.
-- Implemented single-line versions of `ifdef::[]` and `ifndef::[]`
- macros.
-- 'html4' backend styling:
- * Underlined admonition captions.
- * Added side border to Example Blocks.
-- 'xhtml11' backend styling:
- * Dropped right hand margin from all but quote and verse blocks.
- * html4 backend: corrected over-sized width of caption in admonition
- block.
-
-.Bug fixes
-- Fixed broken numbered list nesting.
-
-Compatibility issues
-~~~~~~~~~~~~~~~~~~~~
-The roman numbered list parenthesis syntax is incompatible with the
-potentially ambiguous roman period syntax introduced in 8.3.2.
-
-
-Version 8.3.4 (2009-01-20)
---------------------------
-.Additions and changes
-- Implemented a title 'float' style. A floating title (or bridgehead)
- is rendered just like a normal section but is not formally
- associated with a text body and is not part of the regular section
- hierarchy so the normal ordering rules do not apply.
-- Implemented inline comment macro so comment lines can now appear
- inside block elements.
-- Comment lines are sent to the output if the 'showcomments' attribute
- is defined (comment blocks are never sent to the output).
-- Single quoting attribute values in 'AttributeList' elements causes
- them to be substituted like normal inline text (without single
- quoting only attribute substitution is performed).
-- Rewrote list item processing (was very crufty). List continuation
- and list blocks now work as expected. Updated and clarified list
- documentation in User Guide.
-- The 'revision' attribute now recognizes the RCS $Id$ marker format.
-- An RCS $Id$ marker formatted revision line in the header does not
- need to be preceded by an author line.
-- If an RCS $Id$ formatted revision is specified and the author name
- has not already been set then the author name in the $Id$ marker
- will be used.
-- Updated Gouichi Iisaka's Graphviz filter to version 1.1.3.
-- Added 'autowidth' table attribute option for (X)HTML outputs.
-- DocBook backend now puts 'orgname' optional attribute in DocBook
- header.
-- Deprecated undocumented 'companyname' attribute in favor of
- DocBook's 'corpname'.
-- Removed explicit closing backslash from HTML4 self-closing tags to
- comply with WC3 recommendation.
-
-.Bug fixes
-- Fixed 8.3.3 regression whereby adjacent lists with the same syntax
- but different list styles were incorrectly treated as a single list.
-
-
-Version 8.3.3 (2009-01-02)
---------------------------
-This release supersedes 8.3.2.
-
-.Bug fixes
-- The broken and confusing numeration and numeration2 numbered list
- attributes have been dropped, use the style attribute instead.
-
-
-Version 8.3.2 (2009-01-01)
---------------------------
-.Additions and changes
-- Added Gouichi Iisaka's Graphviz filter to distribution.
-- The 'SidebarBlock' element can now be rendered with an 'abstract'
- style.
-- Reorganized filters into a separate subdirectory for each filter.
-- Updated `Makefile.in` and `MANIFEST` files to reflect new filters
- organization.
-- Added 'listing' style to 'LiteralBlock' element so listings with
- nested listing blocks can be rendered as a listing block.
-- Changed example 'code' filter to use preferred 'ListingBlock' syntax
- (the old `~` delimited filter syntax is no longer used).
-- Implemented 'enumeration' and 'enumeration2' numbered list
- attributes for specifying the list numbering style ('arabic',
- 'loweralpha', 'upperalpha', 'lowerroman' and 'upperroman').
-- AsciiDoc now recognizes 'upperalpha', 'lowerroman' and 'upperroman'
- numbers in `listdef-numbered2` numbered lists and sets the number
- style based on the style of the first numbered list item
- (alternative to setting 'enumeration2' attribute).
-- Updated `formatlistpat` definition in `.vimrc` example in User
- Guide.
-- You can now backslash escape system block macros.
-- Added 'Pychart' FAQ.
-- Drop paragraph 'text' and list 'text', 'index' and 'label' match
- groups from attributes -- they are included in the element's text
- and we don't want them processed a second time as attributes.
-- Changed comment line block macro to a passthrough block macro to
- ensure no substitutions.
-- A 'subslist' no longer has to be appended to a 'PassthroughBlock'
- macro definition, if omitted no substitutions are performed.
-- Code tidy up: replaced deprecated `<>` operator with `!=`.
-- Removed unused linuxdoc code.
-- Code tidy ups: dropped old types module reference; replaced
- `has_key()` with preferred `in` operator.
-
-.Bug fixes
-- Old syntax source highlight filter regression: special characters
- where not escaped in DocBook outputs.
-
-
-Version 8.3.1 (2008-12-14)
---------------------------
-.Additions and changes
-- Replaced the `install.sh` script with Ben Walton's updated autoconf
- scripts -- see web:INSTALL.html[INSTALL] for details.
-- Added a generalized 'AttributeEntry' syntax to allow arbitrary
- configuration file entries to be set from within an AsciiDoc
- document (suggested by Henrik Maier).
-- Listing delimited blocks in DocBook outputs now support IDs; IDs of
- titled Listing and Literal delimited blocks have been moved to the
- enclosing DocBook example tag (thanks to Vijay Kumar for this
- patch).
-- Replaced vertical typewriter apostrophe with punctuation apostrophe
- (thanks to Noah Slater).
-
-.Bug fixes
-- Regression: Excluding double-quotes from unquoted attribute values
- resulted in backward incompatibility, double-quotes in unquoted
- attribute values has been reinstated.
-- Regression: Text like `&...;` was sometimes mistaken for an entity
- reference -- tightened up entity reference matching.
-
-
-Version 8.3.0 (2008-11-29)
---------------------------
-.Additions and changes
-- web:newtables.html[AsciiDoc new tables] is a complete redesign of
- the tables syntax and generation. The new syntax and features are a
- huge improvement over the old tables. The old tables syntax has been
- deprecated but is currently still processed.
-- web:newlists.html[Lists can now be styled] like other block
- elements. This allows a single list syntax for 'glossary', 'qanda'
- (Question and Answer) and 'bibliography' lists instead of having to
- remember a different syntax for each type.
-- Inline passthroughs macros have been improved and block passthrough
- macros added. Attribute substitution can be optionally specified
- when the macro is called.
-- The passthrough block has a fully transparent passthrough delimited
- block block style called 'pass'.
-- The 'asciimath' and 'latexmath' web:userguide.html#X77[passthrough
- macros] along with 'asciimath' and 'latexmath'
- web:userguide.html#X76[passthrough blocks] provide a (backend
- dependent) mechanism for rendering mathematical formulas. There are
- web:latexmath.pdf[LaTeX Math], web:asciimathml.html[AsciiMathML] and
- web:latexmathml.html[LaTeXMathML] examples on the AsciiDoc website.
-- Reimplemented and cleaned up filter processing based on a patch
- submitted by Kelly Anderson. Uses the newer subprocess module
- instead of the deprecated popen2 module. Now works in Win32 command
- shell.
-- Addition FAQs, more documentation updates.
-- Arbitrary HTML/XML entities can be entered in AsciiDoc source.
-- Did away with the need for the `shaded-literallayout.patch` (thanks
- to Henrik Maier for this patch).
-- Implemented 'page break' block macro.
-- Added 'line breaks' and 'ruler' processing instructions to DocBook
- outputs (thanks to Henrik Maier for this patch).
-- Added 'deg' (degree) and 'wj' (word joiner) entity attributes
- (thanks to Henrik Maier).
-- Tweaked DocBook 'indexterm2' macro to avoid white space preceding
- the term when used in table cells (thanks to Henrik Maier for this
- patch).
-- Title elements now process the 'options' attribute like other block
- elements.
-- Added `single quoted' element.
-- Spaces on both sides of a -- em-dash are translated to thin space
- characters.
-- Improved detection and reporting of malformed attribute lists.
-- The list 'compact' style is now a list option.
-- Added 'strong' labeled list option which makes the labels bold (HTML
- outputs only).
-- Dropped unsupported 'linuxdoc' backend.
-- Dropped deprecated 'xhtml-deprecated' (version 6) backend.
-- Added 'breakable' and 'unbreakable' attribute options to tables to
- control table breaking across page boundaries (DocBook XSL/FO
- outputs). By and in collaboration with Henrik Maier.
-- Added 'pgwide' attribute option to tables to table, block image,
- horizontal labeled lists. Specifies that the element should be
- rendered across the full text width of the page irrespective of the
- current indentation (DocBook XSL/FO outputs). Thanks to Henrik Maier
- for this patch.
-- Vim syntax highlighter: spaces before/after bullets no longer
- highlighted (which is ugly if using a theme that highlights with
- underlines). Thanks to Donald Chai for this patch.
-- Added `a2x(1)` `--fop` option.
-- Added `a2x(1)` `--no-xmllint` option.
-- Highlighted labelled list terms with the navy color in XHTML
- outputs.
-- Use `w3m(1)` as default `a2x(1)` text format generator (fallback to
- `lynx(1)`).
-- Changed callout formats in html4 and xhtml11 outputs to angle
- brackets to match source highlighter rendering.
-- Macros now inject user defined `<optionname>-option` attributes into
- markup.
-- Added IRC URLs to AsciiDoc inline macros.
-- Added `depth` attribute to `include::[]` system macro.
-- Added 'footnoteref' inline macro.
-- Added 'stylesheet' XHTML attribute to specify additional custom CSS
- stylesheet.
-- If a paragraph style is specified it will be added to the XHTML
- 'class' attribute and DocBook 'role' attribute.
-- Replacements can be set in a document using the reserved
- AttributeEntry name 'replacement'.
-- The prefix for auto-generated section name IDs can be set with the
- 'idprefix' attribute.
-
-.Bug fixes
-- Escaped quote skipped over leading and trailing quote instead of
- just the leading quote.
-- Fixed bug that was causing false negative safe mode warnings (patch
- submitted by Julien Palmas).
-- Placed priority of AttributeEntry, AttributeList and BlockTitle
- above Title. This ensures an AttributeEntry, AttributeList or
- BlockTitle followed by a same length leading ListingBlock delimiter
- is not mistaken for a two-line title.
-- Vim syntax highlighter: fixed multi-line quoted text.
-- Contstrained quote termination after non-space character enforced.
-- Vim syntax highlighter: unterminated quoted text is no longer
- highlighted.
-- Vim syntax highlighter: passthroughs now exactly match AsciiDoc
- semantics.
-- Vim syntax highlighter: escaped quoted text, attribute references
- and inline macros are not highlighted.
-- Vim syntax highlighter: TODO's highlighted in CommentBlocks (thanks
- to Scott Wall); non-greedy pass:[$$...$$].
-- Vim syntax highlighter: Comment lines mistaken for vertical list
- labels (thanks to Scott Wall).
-- Vim syntax highlighter: Single unmatched $$ mistakenly highlighted
- remaining text (patch contributed by Scott Wall).
-- Callouts now work in source highlighted listing generated by
- dblatex.
-- Fixed exception that occured if undefined attribute was present in
- filter command.
-- AttributeList block can now follow a paragraph without intervening
- blank line.
-- The include macro tabsize attribute is no longer propagated to
- nested includes.
-
-.Omissions
-The following features were implemented but then but removed from this
-release:
-
-- 'pi', 'cdata' and 'comment' passthrough macros and passthrough block
- styles (creeping featurism, use 'pass' macros instead).
-- Generic 'tag' inline macro (creeping featurism, use 'pass' macros
- instead).
-
-
-[[X1]]
-Compatibility issues
-~~~~~~~~~~~~~~~~~~~~
-Version 8.3.0 has a number of backward incompatibilities with respect
-to the previous 8.2.7 release:
-
-- The old table syntax is still processed but a 'DEPRECATED' warning
- is issued.
-- Entity references have to be escaped with a backslash.
-- You have to explicitly precede horizontal style labeled lists with
- the `[horizontal]` style attribute -- by default all labeled lists
- are rendered vertically.
-- The list 'compact' style has been dropped and is now a list option
- (use `options="compact"` in attribute lists).
-- AsciiDoc version 6 sytnax no longer supported.
-- Linuxdoc been removed from the distribution.
-- The unsupported experimental 'latex' backend has not been tested on
- this release.
-- The introduction of single-quote quoting requires that double-quote
- quoting is escaped with two backslashes.
-
-
-Version 8.2.7 (2008-07-04)
---------------------------
-.Additions and changes
-- Added `dvi`, `ps` and `tex` output format options to a2x(1).
-- Added `--dblatex` option to a2x(1) so `dblatex(1)` can be used to
- generate PDFs.
-- Added custom `dblatex(1)` configuration files (in distribution
- `./dblatex` directory) that are used by a2x(1).
-- `dblatex(1)` is now used to generate the distributed PDF version of
- the AsciiDoc User Guide.
-- If you don't need a customized the link caption you can enter the
- 'http', 'https', 'ftp', 'file' URLs and email addresses without any
- special macro syntax -- you get the links by just cutting and
- pasting URLs and emails addresses. This also makes it easier to open
- links directly form AsciiDoc source ( most editors allow you to open
- URLs directly). The Vim syntax highlighter has been updated to
- reflect these changes.
-- Highlighted source code paragraphs have been implemented -- it's a
- much more convenient way to enter short code examples (see
- http://www.methods.co.nz/asciidoc/source-highlight-filter.html[the
- online docs]).
-- The source highlighter and music filter syntax has changed -- they
- now used the ListingBlock syntax customized with 'source' and
- 'music' style attribute values. This follows the Paragraph styling
- convention introduced by the source paragraph (previous item) and is
- easier to read. The old syntax still works but has been deprecated.
-- QuoteBlocks now have a 'verse' style -- you no longer have to nest a
- 'verse' LiteralBlock inside a QuoteBlock for verses. The 'verse'
- style on the LiteralBlock has been deprecated (still works though)
- and the 'style' attribute is positional attribute 1, pushing
- 'attribution' and 'citetitle' attributes to the right (you'll need
- to insert a 'quote' attribute into your existing QuoteBlocks).
-- It is no up to the DocBook processor to highlight source code syntax
- in `<programlisting>` elements rather than GNU Highlighter -- this
- is the correct way to handle it, plus `dblatex(1)` makes a much
- better job.
-- 'scaledwidth' and 'align' attributes have been added to the 'image'
- macro. They apply to DocBook outputs (specifically for PDF
- documents). 'scaledwidth' sets the image size as a percent of the
- available page width; 'align' applies 'left', 'center' or 'right'
- horizontal image justification.
-- Added a2x(1) `--fop-opts=FOP_OPTS` option (patch submitted by Miklos
- Vajna).
-- Added a2x(1) `--dblatex-opts=DBLATEX_OPTS` option.
-- Added Mikhail Yakshin's FOP 0.95 patch which fixes a long-standing
- `fo.xsl` problem and allows PDF's to be generated with FOP 0.95
- (previously had to use FOP 0.20.5).
-- The User Guide has been updated and outdated FOP configuration and
- installation sections removed.
-
-.Bug fixes
-- Fixed `stylesheets/xhtml11-manpage.css` not being included when
- 'linkcss' attribute was used.
-- Configuration file `*-style` attributes are now dumped correctly.
-- Fixed 'FAILED: malformed section entry' LaTeX backend error.
-
-See the also the https://sharesource.org/hg/asciidoc/[AsciiDoc
-repository changelog].
-
-
-Version 8.2.6 (2008-04-29)
---------------------------
-.Additions and changes
-- Enhancements to the Vim AsciiDoc syntax highlighter, for example,
- quoted text is now highlighted in titles and macro captions.
-- If you define the `data-uri` intrinsic attribute images referenced
- by 'image' macros will be embedded in XHTML using the
- http://en.wikipedia.org/wiki/Data:_URI_scheme[data: URI scheme].
- *NOTE*: Microsoft browser support for the 'data: URI scheme' is
- currently limited to MSIE 8 beta 1.
-- Added `toc-title` attribute to allow custom table of contents
- titles.
-- Added references to Alex Efros's AsciiDoc Cheatsheet to AsciiDoc
- website.
-- `asciidoc(1)` and `a2x(1)` man pages formatted to conform to
- `man-pages(7)` recommendations.
-- Old code-filter syntax (pre-8.1.0) is no longer recognized so that
- malformed two-line level 2 titles are no longer confused with
- 'code-filter' block delimiters.
-- Added -> <- => <= arrow replacements from the Arrows block of
- Unicode.
-- Added DocBook refentry lang attribute -- patch contributed by
- VMiklos.
-- AttributeEntry names can now be numeric (``named macro targets'').
-- Hide Table of Contents title if Table of Contents empty -- patch
- contributed by Alex Efros.
-- Various XHTML CSS tweaks.
-- Code cleanup:
- * Replaced `realpath()` with Python 2.2 `os.path.realpath()` library
- function.
- * Replaced old string library functions with string methods.
- * Use file generators instead of `readlines()`.
- * Renamed entities that shadowed builtins.
- * Standardized string quoting.
- * Dropped `readlines()` function.
-
-.Bug fixes
-- Fixed broken CSS for decimal ordered lists nested in alpha ordered
- list, thanks to Alex Efros.
-- A missing closing block delimiter now reports the opening delimiter
- line number instead of the end of file line number.
-- Fixed an error generated by the asciidoc `-e` option when there are
- no block definitions -- patch contributed by Alejandro Mery.
-- Handle both `\r\n` (as well as `\n`) line separators that may be
- returned by `{sys}` attribute evaluation.
-- Numbered attribute names no longer interfere with positional
- attribute list values.
-
-
-Version 8.2.5 (2007-11-18)
---------------------------
-.Additions and changes
-
-.Bug fixes
-- Fixed exception thrown by illegal command-line arguments.
-- Rolled back the 'with' warning bug fix introduced in 8.2.4 -- it was
- incompatible with Python <2.5.
-
-
-Version 8.2.4 (2007-11-10)
---------------------------
-.Additions and changes
-- You can now use the `lang` attribute to set the DocBook language
- attribute.
-- Attribute values can now contain attribute references.
-- If the `lang` attribute is defined then configuration files named
- like `lang-<lang>.conf` will be loaded automatically.
-- The help file name `help-<lang>.conf` is based on the AsciiDoc
- `lang` attribute, defaults to `help.conf` (English).
-- Admonition, figure and table captions have been factored into a
- predefined set of `caption_*` attributes. They only apply to
- directly generated (X)HTML outputs (DocBook stylesheets generate
- their own language specific captions based on the `lang` attribute).
-- Dropped platform dependent `doc/asciidoc.chm` file from
- distribution documentation formats.
-
-.Bug fixes
-- The spurious warning 'with will become a reserved keyword
- in Python 2.6' has been suppressed.
-
-
-Version 8.2.3 (2007-09-12)
---------------------------
-.Additions and changes
-- Added VMiklos's 'permalink' patch for auto-generated section IDs
- (enabled by default by the `sectids` attribute).
-- Added http://www.methods.co.nz/asciidoc/faq.html[FAQ] to website.
-- Changed format of \{localdate} attribute to ISO 8601 (`%Y-%m-%d`).
-- Added `abc2ly --beams=None` option to make `music2png.py` conform to
- ABC's notion of beams.
-- XHTML level 2 section headings are now styled with an underlining
- border.
-- XHTML links to AsciiDoc title elements are now implemented with
- title ID attributes (previously separate `<a>` element targets were
- generated.
-- Multi-word first, middle and last names can be entered in the header
- author line using the underscore as a word separator.
-- The nested inline macros restriction has now been lifted, for
- example you can now include links and inline images inside
- footnotes.
-- Help topic names can be shortened (so long as they are not
- ambiguous). For example `asciidoc -hm` will print the AsciiDoc man
- page.
-- Added `{two_colons}` and `{two_semicolons}` attributes for
- escaping labeled list ambiguity.
-- If quirks mode is disabled the XHTML Mime Type is set to the
- recommended `application/xhtml+xml` (rather than `text/html`).
-
-.Bug fixes
-- Author information is now correctly set when using attribute entries
- in the header instead of an author line (previously the 'author'
- attribute was not being calculated correctly and there were
- attribute substitution problems).
-
-
-Version 8.2.2 (2007-07-22)
---------------------------
-.Additions and changes
-- http://www.maths.nottingham.ac.uk/personal/drw/lm.html[LaTeXMathML]
- capability has been added for users who are more familiar with or
- prefer LaTeX math formulas to the
- http://www.methods.co.nz/asciidoc/asciimathml.html[ASCIIMathML]
- notation (thanks to Arthur Sakellariou for the patch).
-- The 'source highlight' and 'code' filters now process embedded
- callouts.
-- Added an `--attribute=ATTRIBUTE` option to `a2x(1)` for passing
- attribute values to asciidoc(1) (a shortcut for `--asciidoc-opts="-a
- ATTRIBUTE"`).
-- Image block and inline macros prepend optional `{imagesdir}`
- attribute to image link targets.
-
-
-.Bug fixes
-- Fixed an assertion error that occurred when a configuration file
- containing an `include::[]` macro was loaded using the
- `--conf-file` option and the configuration file name did not
- include an explicit directory path -- patch submitted by Dmitry
- Potapov.
-- Asciidoc titles are only converted to lower case if all characters
- are upper case otherwise case is left unchanged -- patch submitted
- by Dmitry Potapov.
-- Added a missing check that input is not stdin before loading
- configuration files from the document directory -- patch submitted
- by Dmitry Potapov.
-- Attribute list items must evaluate to strings, numbers or None
- (previously it was possible to evaluate to other object types which
- resulted in surprising attribute values).
-- If an AsciiDoc document has no title an empty XHTML 1.1 'title'
- element is created -- previously the 'title' element was dropped
- which resulted in invalid XHTML 1.1.
-- The Vim syntax file no longer highlights escaped callouts.
-- The Vim syntax highlighter now correctly highlights Double-dollar
- passthroughs when they enclose dollar delimited ASCIIMathML and
- LaTeXMathML formulas.
-
-
-Version 8.2.1 (2007-04-06)
---------------------------
-.Additions and changes
-- A number of improvements have been made to the Vim syntax
- highlighter, for example the word C++ is no longer mistaken for the
- start of an unconstrained monospace quote.
-- Labeled list definitions have been tightened -- a list label can no
- longer containing trailing spaces. The following example is no
- longer recognized as a valid list label:
-
- Lorum ipsum ::
-+
-This change implements the originally intended behavior (as per the
-AsciiDoc documentation and examples) so there should be very few
-compatibility issues.
-
-.Bug fixes
-
-
-Version 8.2.0 (2007-04-04)
---------------------------
-.Additions and changes
-- A Vim syntax file is now included in the AsciiDoc distribution
- (inspired by Felix Obenhuber's `asciidoc.vim` script). You can find
- it (along with a Vim filetype detection script in the distribution
- `./vim/` directory (the scripts are installed automatically by the
- AsciiDoc installer `./install.sh`). See 'Appendix J' of the
- 'AsciiDoc User Guide' for details.
-- Added 'toclevel' attribute (1..4) which sets the number of title
- levels reported in the table of contents. Defaults to 2 and must be
- used with the 'toc' attribute. Example usage:
-
- $ asciidoc -a toc -a toclevels=3 doc/asciidoc.txt
-
-- Added a `listindex` attribute which is the current list item index
- (1..). If this attribute appears outside a list its value is the
- number of items in the most recently closed list.
-- The single line titles syntax now accepts trailing suffixes -- this
- syntax matches the title line syntax of a number of popular Wiki
- markups.
-- If a QuoteBlock has no attribution or citetitle then the DocBook
- `<attribution>` element is not generated (previously generated empty
- `<attribution>` element).
-- If the text of a labeled list item is blank then no `texttag` is
- written.
-- An end of line backslash performs line continuation for horizontal
- labeled list items.
-- The Revision line now accommodates Subversion `$Id` markers (in
- addition to CVS and RCS markers). Thanks to Tiago Sturmer Daitx for
- this patch.
-- Implemented `a2x(1)` option `--skip-asciidoc` which allows `a2x(1)`
- to convert DocBook XML files not derived from AsciiDoc sources.
-- If `a2x(1) --doctype` option is not specified it defaults to
- `manpage` if `--format=manpage` else defaults to `article`
- (previously `--doctype` always defaulted to `article`).
-- Added an 'External Resources' section to the
- http://www.methods.co.nz/asciidoc/index.html[AsciiDoc home page].
-
-.Bug fixes
-
-
-Version 8.1.0 (2006-10-22)
---------------------------
-.Additions and changes
-- AsciiDoc generated XHTML documents now display a table of contents
- if the 'toc' attribute is defined (JavaScript needs to be enabled
- for this to work). Thanks to Troy Hanson who contributed this
- feature based on a JavaScript by Mihai Bazon. I've simplified things
- somewhat to match Docbook XSL Stylesheets style, see Troy's
- http://tpl.sourceforge.net/userguide.html[tpl User Guide] for a
- fancier layout. Use the `-a toc -a numbered` command-line options to
- produce a number table of contents.
-- A http://www.methods.co.nz/asciidoc/music-filter.html[music filter]
- is included in the distribution `./filters/` directory. It
- translates music in http://lilypond.org/[LilyPond] or
- http://abcnotation.org.uk/[ABC] notation to standard classical
- notation in the form of a trimmed PNG image which is inserted into
- the AsciiDoc output document.
-- Incorporated Paul Melis's Win32 filter patch. This workaround
- allows AsciiDoc to run filters under Windows.
-- Added `uninstall.sh` script.
-- Rather than proliferate a confusing number of filter block
- delimiters the following convention has been adopted: delimiters
- belonging to DelimitedBlock filters distributed with AsciiDoc will
- consist of a word (normally a noun identifying the block content)
- followed by four or more tilde characters. This has necessitated
- changing existing filter delimiters (the old delimiters still work
- but may be deprecated in future versions):
-
- * The example code filter block delimiter is now the word `code`
- followed by four or more tilde characters.
- * The source highlight filter block delimiter is now the word
- `source` followed by four or more tilde characters.
-
-- Conditionally redefined subscript and superscripting so they use the
- old replacements mechanism when asciidoc7compatible is defined
- rather than the asciidoc 8 default unconstrained quoting (patch for
- affected files attached).
-- Moved the source highlight filter from `./examples/` to `./filter/`.
-- Added `{verbose}` intrinsic attribute (useful for passing verbose
- flag to filters).
-- Added `{outdir}` intrinsic attribute.
-- Renamed `{docdir}` intrinsic attribute to unambiguous `{indir}`
- (`{docdir}` still works but may be removed in future release).
-- If `asciidoc(1)` outputs to stdout then intrinsic attribute
- `{docname}` is extracted from the input file name.
-
-
-Version 8.0.0 (2006-08-27)
---------------------------
-*********************************************************************
-This is a major release because changes to quoting and index entry
-handling may break existing documents (see 'Additions and changes'
-below and 'Appendix A: Migration Notes' in the AsciiDoc User Guide).
-
-Please report any problems you encounter.
-
-mailto:[email protected]['Stuart Rackham']
-*********************************************************************
-
-.Additions and changes
-- Quoting can can occur within words (based on patch submitted by
- Benjamin Klum). See the 'Unconstrained Quotes' sub-section in the
- User Guide.
-
-- The underline and plus characters can be used as alternatives to the
- existing apostrophe and backtick quote characters. They are arguably
- better choices than the apostrophe and backtick as they are not
- confused with punctuation.
-
-- The syntax for index entry macros have have been deprecated from
- `+...+` and `++...++` to `((...))` and `(((...)))` respectively.
- Rationale:
- * Bracketing is consistent other with `[[...]]` and `<<...>>`
- reference macros.
- * To easily confused with triple plus passthroughs.
- * To make way for the new monospace quoting.
-
-- Superscripts and subscripts are implemented as constrained quotes so
- they can now be escaped with a leading backslash and prefixed with
- with an attribute list.
-
-- An experimental LaTeX backend has been written by Benjamin Klum (a
- number additions in this release are to accommodate the LaTeX
- backend).
-- `include` macro file names now expand environment variables and
- tilde expansions.
-- A configuration file `[quotes]` entry can be undefined by setting to
- a blank value.
-- Added `callto` inline macro for Skype 'callto' links.
-- Added `colnumber` attribute for table data markup.
-- A leading comment block or comment lines are now skipped (previously
- a document had to start with either attribute entries or a document
- Title).
-- Experimental `rows` attribute (number of source lines in table)
- available in table markup templates (used by experimental LaTeX
- backend).
-- Included install shell script written by mailto:[email protected][Jacob
- Mandelson] for installing the tarball distribution.
-- Added INSTALL documentation file.
-- Added 'replacements2' substitution options -- a second replacements
- section.
-- Added the ability to redefine 'normal' and 'verbatim' substitutions
- with `subsnormal` and `subsverbatim` entries in configuration file
- `[miscellaneous]` section.
-- By default `AttributeEntry` values are substituted for
- `specialcharacters` and `attributes`, if you want a different
- AttributeEntry substitution set the `attributeentry-subs` attribute.
-- The `name` in `name=value` configuration file entries can now end
- with a backslash, just escape the trailing backslash with a
- backslash. For example:
-
- abc\\=xyz
-+
-Results in `name=abc\` and `value=xyz` -- previously this would have
-escaped the `=` character.
-
-- A blank configuration file section deletes any preceding section
- with the same name (applies to non-markup template sections).
-- A command-line attribute value with a `@` suffix does not override
- existing document and configuration file attributes (normally
- command-line attributes have precedence over document and
- configuration file attributes).
-- `localtime` attribute is now encoded from the native system encoding
- to the output encoding. Patch submitted by
- mailto:[email protected][FKtPp] -- here's his description of the
- problem:
-+
-``I am a Chinese user of AsciiDoc and I find that when I use UTF-8
-(the default encoding) to write asciidoc documents in Windows platform
-the resulting html footer line will get screwed. It was caused by a
-localized tzname that was always encoded in the windows native
-encoding, which in my case is 'cp936'.''
-
-- a2x(1) can generate Open Document Text files using
- http://open.comsultia.com/docbook2odf/[docbook2odf]. Currently
- `docbook2odf(1)` only processes a subset of DocBook, unimplemented
- elements are skipped.
-- The a2x(1) format option defaults to `xhtml` (previously a format
- had to be specified explicitly).
-- The `-d, \--doctype=DOCTYPE` option has been added to a2x(1) which
- is a shortcut for `--asciidoc-options="--doctype=DOCTYPE"`.
-- Replaced a2x(1) `--no-icons` and `--no-copy` options with their
- negated equivalents: `--icons` and `--copy` respectively. The
- default behavior has also changed: copying and use of icons is
- disabled by default. Rationale:
- * To make the default behavior more consistent since use of icons
- and CSS stylesheets does not apply to all formats.
- * To make the default behavior less surprising (the creation of icon
- and stylesheet output files must now be explicit).
-
-- a2x(1) has been bumped from version 0.1.1 to version 1.0.0.
-
-
-.Bug fixes
-- Removed duplicate `./doc/a2x.1.txt` from distribution tarball.
-- Documentation errata.
-- Attribute replacement is no longer performed twice in Titles and
- AttributeEntrys.
-- a2x(1) skipped asciidoc(1) execution when rerun with different
- `--asciidoc-options` options, it now always executes asciidoc(1).
- The problem was that previously asciidoc(1) was executed only if the
- output file was missing or older than the source file.
-
-
-Version 7.1.2 (2006-03-07)
---------------------------
-.Additions and changes
-- Support for
- http://www1.chapman.edu/~jipsen/mathml/asciimath.html[ASCIIMathML]
- has been added. See 'Appendix I: ASCIIMathML Support' in the User
- Guide and the examples at
- http://www.methods.co.nz/asciidoc/asciimath.html.
-- You can now prefix quoted text with inline attributes lists. You
- can use this to set font size and color (XHTML and HTML outputs).
-- Added `##...##` quoting -- it does nothing -- it's purpose is to
- allow inline attributes to be applied to normal text.
-- An 'inline passthrough' mechanism has been implemented.
-- Configuration file comment lines can be escaped with a backslash --
- this is to allows the inclusion of configuration lines that start
- with a hash character.
-- The `scriptsdir` attribute can be used to specify the name of the
- directory containing linked JavaScripts (see the
- link:userguide.html#X33[User Guide] for details.
-- The BackendBlock has been renamed PassthroughBlock for consistency
- with the new inline passthrough naming.
-- `a2x(1)` now works with the older `bash(1)` version 2.05b. Patch
- submitted by mailto:[email protected][Francis Daly].
-- Content included by the `include1::[]` system macro is no longer
- subject to attribute substitution so that ambiguities no longer
- arise when used to include CSS or JavaScript files.
-
-
-Version 7.1.1 (2006-02-24)
---------------------------
-.Additions and changes
-- The `caption` attribute can be used to customize admonition captions
- as well as image, table and example block element title prefixes
- (`xhtml11` and `html4` backends).
-- You can now override the default icon image using the `icon`
- attribute to specify the path of the linked image (xhtml11 and html4
- backends only).
-- The deprecated `imagesdir` attribute is no longer recognized (use
- `iconsdir` instead).
-- Added 'Appendix H: Using AsciiDoc with non-English Languages' to the
- AsciiDoc User Guide.
-- Added 'Admonition Icons and Captions' subsection to the User Guide
- explaining how to customize Admonition elements.
-
-.Bug fixes
-- `a2x(1)` failed when configuration files were installed in the
- global `/etc/asciidoc/` directory -- it was only searching the
- directory containing the asciidoc executable (thanks to Christian
- Wiese for finding and submitting a patch this bug).
-- The html4 backend admonition caption now correctly displays the
- admonition `caption` attribute (previously displayed the `style`
- attribute).
-
-
-Version 7.1.0 (2006-01-13)
---------------------------
-.Additions and changes
-- `a2x(1)` toolchain wrapper utility. This overcomes the biggest
- hurdle for new users which seems to be assembling and using a
- working DocBook XML toolchain. With `a2x(1)` you can generate XHTML
- (chunked and unchunked), PDF, man page, HTML Help and text file
- outputs from an AsciiDoc input file with a single command. All you
- need to install (in addition to AsciiDoc) is xsltproc(1), DocBook XSL
- Stylesheets and optionally FOP (if you want PDF) or lynx(1) (if you
- want text).
-- Block titles can now start with any non-space character (previously
- where not allowed to start with `.~-_` characters).
-- `./stylesheets/docbook.css` renamed to
- `./stylesheets/docbook-xsl.css` to clarify its function.
-- Renamed `./docbook-xsl/manpages.xsl` to `./docbook-xsl/manpage.xsl`
- for consistency.
-- Admonition and navigation icons moved to `./images/icons/` to
- clarify usage and conform with a2x(1) usage.
-- Renamed xhtml11 intrinsic attribute `imagesdir` to `iconsdir` to
- keep vocab consistent and changed default value to `./images/icons`
- (previously `./images`). `imagesdir` attribute still accepted but
- deprecated.
-- Unused image files have been weeded out of the distribution.
-- Packager notes (appendix B) have been updated to reflect the needs
- of `a2x(1)`.
-
-IMPORTANT: The renaming of the xhtml11 backend `imagesdir` intrinsic
-attribute and it's new default value introduces a backward
-compatibility issue: if you use the `icons` attribute you will need to
-either move your icons to the new default `./images/icons` location or
-include an `--attribute{nbsp}iconsdir="your_icons_path"` option in
-your asciidoc commands.
-
-.Bug fixes
-- Backslash line continuation is now observed in verbatim paragraphs.
-- Fixed errors generated by example
- `./examples/website/build-website.sh` script.
-
-
-Version 7.0.4 (2005-12-08)
---------------------------
-.Additions and changes
-- Added ternary conditional attributes
- `{<name>@<regexp>:<value1>[:<value2>]}` and
- `{<name>$<regexp>:<value1>[:<value2>]}`.
-- Safety violations now generate errors (they previously generated
- warnings).
-- asciidoc(1) now defaults to safe mode, consequently the
- `[miscellaneous]` safe mode entry and `--safe` command-line option
- are no longer necessary (though for backward compatibility
- asciidoc(1) still accepts the `--safe` option).
-- Backend Blocks are now flagged unsafe (they could be used to include
- arbitrary and hence potentially unsafe output content).
-- Filters are no longer considered unsafe. There's not much point in
- insisting on filter safety since the installation of an unsafe
- filter would require the introduction of new or modified
- configuration files -- if your application configurations can be
- compromised you're in all sorts of trouble (safe mode protects
- against unsafe input files not unsafe configuration). As with all
- filters, before installing, you should verify that they can't be
- coerced into generating malicious output or exposing sensitive
- information.
-
-.Bug fixes
-- Fixed a lot of glaring grammatical and factual errors in the User
- Guide.
-
-
-Version 7.0.3 (2005-12-01)
---------------------------
-.Additions and changes
-- Added `--safe` and `--unsafe` command-line options -- AsciiDoc can
- now be executed in a 'safe mode' which disallows the execution of
- arbitrary code or the inclusion of arbitrary files (see
- link:userguide.html#X39[Appendix C in the AsciiDoc User Guide]).
-- Included link:source-highlight-filter.html[source-highlight filter]
- in the distribution `./examples/source-highlight-filter/` directory
- (based on filter submitted by mailto:[email protected][Ryan
- Phillips]).
-- Included the DocBook XSL Stylesheets 1.69.1 customizations used to
- generate the distributed AsciiDoc documentation (read the
- `asciidoc-docbook-xsl.txt` file in the distribution `./docbook-xsl/`
- directory).
-- AsciiDoc DocBook XSL Stylesheet drivers moved from `./doc/` to
- `./docbook-xsl/`.
-- Modified `./doc/manpages.xsl` so only URL content is displayed in
- manpages.
-
-.Bug fixes
-- Explicitly set table CSS border style (`xhtml11` backend) to `solid`
- because default border styles vary from browser to browser.
-
-
-Version 7.0.2 (2005-08-28)
---------------------------
-.Additions and changes
-- There are now long versions of all AsciiDoc options.
-- If the `--backend` is not specified it defaults to `xhtml11`.
-- Added CSS simulated frames layout to the examples website (see
- `./examples/website/layout2/README-website.txt`). This layout does
- not work with IE6 and the original tables based layout is still the
- default.
-- Support page added to AsciiDoc website.
-
-.Bug fixes
-- Invalid options are now trapped gracefully.
-- Documentation errata.
-
-
-Version 7.0.1 (2005-06-24)
---------------------------
-.Additions and changes
-- Reverted to use of `strong`, `em`, `tt` XHTML tags -- they're more
- obvious and no less correct than `span` tags, besides, the generated
- file sizes are smaller (the 'User Guide' was 11% smaller).
-- Table title rendered with `caption` tag rather than a separate
- `div`.
-- The AsciiDoc 'stylesdir' attribute (if specified) is now recognized
- when searching for embedded stylesheets (previously only searched
- default `./stylesheets` directory).
-- Default charset encoding changed from ISO-8859-1 to UTF-8 -- it's
- less language specific and displays most common languages.
-- `template::[]` macros now expand in all configuration file sections
- previously only in markup template sections.
-- Cleaned up example website layout CSS and configuration
- (presentation has not been changed).
-- Refactored `xhtml11.conf` configuration file.
-- Set consistent and sensible permissions on distributed files.
-- White space is now stripped from DSV formatted table cell data.
-- `class="tableblock"` attribute added to tables generated by
- `xhtml-deprecated-css.conf` to assist CSS.
-
-.Bug fixes
-- Illegal character set encoder (specified by the AsciiDoc `encoding`
- attribute) and character data are trapped gracefully.
-- AsciiDoc table 'format' attribute in table attribute lists were not
- recognized.
-- The nested horizontal labeled list example in the 'AsciiDoc User
- Guide' has been dropped -- it generated invalid DocBook markup.
-
-
-Version 7.0.0 (2005-06-06)
---------------------------
-***************************************************
-This is a major release with many code and
-documentation changes.
-Please report any problems you encounter.
-
-mailto:[email protected]['Stuart Rackham']
-***************************************************
-
-.Additions and changes
-- A new 'xhtml11' backend generates XHTML 1.1 with integrated CSS2
- replacing the previous 'xhtml', 'css', and 'css-embedded' backends.
-- The CSS stylesheets have finally been rewritten.
-- The asciidoc(1) command help now includes user
- link:userguide.html#X36[customizable help] topics. When asciidoc is
- invoked with the `--help` option the command argument is
- interpreted as a help topic.
-- The previous example website has been replaced by the actual
- AsciiDoc website (see `./examples/website/`.
-- XHTML generation options now controlled by the following attributes:
- 'badges', 'linkcss', 'icons', 'numbered', 'quirks', 'theme',
- 'stylesdir', 'imagesdir' (see the link:userguide.html#X33[User
- Guide] for details.
-- By default HTML and XHTML are output as stand-alone documents (no
- embedded CSS and no linked admonition icon images).
-- Documents encoded with the UTF-8 Unicode character set are now
- processed thanks to a patch supplied by
- mailto:[email protected][Viktor Vasilev].
-- The `-a ^name` command-line syntax to undefine an attribute has been
- deprecated in favor of the `-a name!` syntax.
-- AttributeEntry syntax addition: `:name!:` to undefine `name` attribute.
-- Added `template` system block macro to allow the inclusion of one
- configuration file template section within another.
-- A 'verse' style attribute can now be applied to literal paragraphs
- and blocks to reproduce line breaks and white space from the source
- document.
-- Replacements and Special Words can now be escaped with leading
- backslashes.
-- Replacements are now processed in configuration file order (previous
- ordering was indeterminate).
-- System macros can now be used in the base `asciidoc.conf`
- configuration file.
-- Deprecated features that emitted warnings in prior versions are no
- longer tolerated.
-- The `eval` system attribute expression evaluates to `False` the
- attribute is undefined, if it evaluates to `True` the result is an
- empty string.
-- The Paragraph and DelimitedBlock 'presubs' parameter can be aliased
- as 'subs'.
-- Added 'verbatim' substitutions option.
-- Renamed 'List Continuation Block' to 'List Block' and renamed the
- 'listcontinuation' option to 'list'.
-- Deprecated 'default' substitutions option (use 'normal' instead).
-- The 'section-numbers' section numbering attribute has be renamed
- 'numbered'.
-- Dropped the '\#UNDER CONSTRUCTION#' block macro.
-- Rewrote Paragraph and DelimitedBlock handlers adding a
- link:userguide.html#X23[styles] configuration entry.
-
-.Bug fixes
-- Included files are no longer read inside conditionally excluded
- content.
-- Manpage command names containing dashes (in the manpage NAME
- section) were misinterpreted as the spaced dash command name/purpose
- separator. Bug report and patch supplied by
- mailto:[email protected][David Greaves].
-- Unexpected error following malformed author line error.
-
-
-Version 6.0.3 (2005-04-20)
---------------------------
-.Additions and changes
-- Special characters are now substituted in AttributeEntry element
- values.
-- Spaced and unspaced em dashes are now recognized (previously only
- spaced em dashes were recognized).
-- Replaced the table 'noborders' option with richer 'frame' and 'grid'
- attributes.
-- The `duplicate macro` warning message now only occurs when the
- verbose (`-v`) option is enabled.
-- Single lines starting with two forward slashes hard up against the
- left margin are treated as comments and are not processed.
-- Renamed 'section' delimited block option to 'sectionbody' to more
- accurately reflect it's role.
-- Added a List Continuation block -- a specialized delimited block
- that is functionally equivalent to the List Item Continuation
- feature except that the list contained within the block does not
- require explicit '+' list item continuation lines.
-- Dropped deprecated `<u>` tags from generated HTML.
-- Literal Block delimiters must now consist of at least four points
- (previously three) to avoid lone ellipsis ambiguity.
-
-.Bug fixes
-- Some system attribute evaluation failures caused unexpected
- exceptions to occur.
-
-
-Version 6.0.2 (2005-03-30)
---------------------------
-.Additions and changes
-- Three new 'system' block macros have been added -- `eval`, `sys` and
- `sys2` which are the block macro equivalents to the same named
- system attributes.
-- 'Intrinsic' macros have been renamed 'system' macros along with
- 'action' attributes which have been renamed 'system' attributes:
- * To reflect their common (though contextually different) behavior.
- * To avoid confusion with 'intrinsic attributes'.
-
-.Bug fixes
-- Asciidoc now searches in `/etc/asciidoc/filters` for filters.
-
-
-Version 6.0.1 (2005-03-06)
---------------------------
-.Additions and changes
-- A global configuration file location `/etc/asciidoc` has been added
- and is now processed before all other locations (patch supplied by
- mailto:[email protected][Fredrik Steen]).
-- Recoded `tempfile.mktemp()` and other artifacts that are no longer
- necessary or desirable (patches supplied by
- mailto:[email protected][Fredrik Steen]).
-- Added BUGS file to the distribution.
-
-.Bug fixes
-- Illegal comment syntax in `css-embedded-stylesheet.conf` resulted in
- illegal CSS in files generated by the `css-embedded` backend.
-
-
-Version 6.0.0 (2005-01-28)
---------------------------
-***************************************************
-This release has had some fairly major code and
-documentation changes. Please report any problems
-you encounter.
-
-mailto:[email protected]['Stuart Rackham']
-***************************************************
-
-A lot of new stuff. A new major version number -- some regression
-incompatibility (hopefully mitigated by 'deprecated' warnings).
-
-Went mad trying to rein in the current feature anarchy -- established
-a unified notion of document attributes. Attempted to introduce a
-consistent vocabulary -- renamed many poorly or inconsistently named
-entities.
-
-Actually, deprecated syntax is still processed correctly in almost all
-cases. One source of incompatibility that may arise if you have
-customized CSS stylesheets is the change of AsciiDoc CSS class names
-(see below). I guess the moral is if you've done a lot of
-configuration file customization and are happy with version 5 then you
-may want to stay put.
-
-NOTE: This version requires Python 2.3 or better to run.
-
-.Additions and changes
-- 'Glossary entries' have been renamed 'attributes'. This eliminates
- confusion with the accepted meaning of glossary.
-- An `AttributeEntry` block element has been added so that document
- attributes can be assigned from within an AsciiDoc document.
-- The `AttributeList` block element has been added which is a more
- general solution than the (now deprecated) DelimitedBlock arguments.
-- An BlockId element has been added for setting block element anchor
- (link target) IDs.
-- Quoted text can now span multiple lines (thanks to James Bowlin for
- this patch).
-- Inline macros can now span multiple lines.
-- \``double backtick / apostrophe'' quotes generate ``curly quotes''.
-- A warning is now emitted for out of order list item (applies to
- explicitly enumerated numbered list items).
-- Added `include` action attribute.
-- A line of three or more apostrophes generates an HTML horizontal
- ruler (`<hr/>` tag). You will get a warning if processed with
- non-HTML backend.
-- An `{imagesdir}` attribute specifies image file location for images
- referenced in configuration files when generating HTML (the default
- location is `images`).
-- An `{stylesdir}` attribute specifies the location of CSS
- stylesheets when generating styled HTML (the default location for
- configured markup is `.`).
-- The use of the (often inappropriately named) `{caption}` attribute
- list entry has been deprecated, use `{0}` instead.
-- New 'ExampleBlock' delimited block along with associated variants
- Note, Tip, Warning, Caution and Important.
-- The `docbook.conf` file now facilitates the optional inclusion of a
- DocBook revision history file.
-- To better reflect their purpose the following block elements have
- been renamed: `VerbatimBlock` to `ListingBlock`; `IndentedBlock` to
- `LiteralBlock`; `IndentedParagraph` to `LiteralParagraph`;
- `CustomBlock` to `BackendBlock`; `SimpleSection` to `SectionBody`.
- Any corresponding CSS class names have also been changed which could
- result in backward incompatibility in customized stylesheets.
-- Swapped plain DocBook admonition icons for Jimmac's DocBook icons
- (http://jimmac.musichall.cz/ikony.php3) The original plain icons
- have been moved to `./images/plain`.
-- Renamed `html` backend to `xhtml` to better reflect it's function
- (former `html-4` backend renamed to `html`).
-- A new inline anchor macro syntax `[[[<id>]]]` is available, it
- displays `[<id>]` at the anchor location and is for anchoring
- bibliography list entries.
-- An optional 'single-line titles' syntax can be used.
-- Tweaks to distributed CSS stylesheets and FOP `fo.xsl` customization
- file.
-- 'List Item Continuation' has been implemented which allows
- additional block elements to be included in list items by separating
- them from the preceding list item element with a line containing a
- single plus character.
-- A new 'Horizontal Labeled List' list type has been added. Generates
- two column list -- the first column contains the list element
- labels, the second contains the element text. Same syntax as
- `Vertical Labeled Lists` except the double colon label suffix is
- followed by the start of the list item text.
-
-.Bug fixes
-- Fixed broken backslash line continuation.
-- Labeled list end tags were not undergoing attribute substitution.
-- Documents without any author information now generate legitimate
- DocBook (previously if the author line was not included in the
- document header then an empty (illegal) DocBook `author` element was
- generated).
-- Multiple spaces in filter command arguments were replaced by a
- single space. The `./examples/asciidoc2text/asciidoc2text.sh` script
- now indents text correctly.
-
-
-Version 5.1.1 (2004-10-10)
---------------------------
-*15-December-2004: Interim update:* Updated `asciidoc.py` to fix
-broken `join_lines` function -- no other changes.
-
-- PDF documentation is now produced from DocBook XML using XSLTLib and
- FOP. Previously we processed DocBook SGML with `jw(1)` (which used
- Dvips to convert DVI files to PDF). FOP has come a long way in the
- last 12 months and produces very acceptable PDF under both Linux and
- Windows.
-- Sections detailing how to install and use the DocBook XSL
- Stylesheets, xsltproc, FOP toolchain and the AsciiDoc XSLT drivers
- have been added to the User Guide.
-- The PDF output from the he example article template has been
- included in the distribution (`./doc/article.pdf`).
-- Special characters are emitted using decimal Unicode character codes
- (previously used named character entities which cannot be assumed
- included in non-HTML documents).
-- Added registered trademark (R) to `[replacements]`.
-- CSS stylesheet tweaks.
-- Admonitions (Note, Tip, Important, Warning, Caution) include icons
- when generating css output.
-
-
-Version 5.1.0 (2004-09-18)
---------------------------
-- Callouts have been implemented (see the 'Callouts' section of the
- AsciiDoc User Guide for details).
-- Added XSL drivers for generating XHTML, chunked XHTML and HTML Help
- from DocBook XML using XSL stylesheets and xsltproc(1).
-- Added CSS stylesheet for HTML generated from DocBook XML using XSL
- stylesheets.
-- Distribution contains HTML Help formatted User Guide
- (`./doc/asciidoc.chm`), the User Guide tells you how it's generated.
-- Images referred to by distributed stylesheets are now located in the
- `./images` subdirectory (previously located in `.`).
-- Filters path names are now handled properly under Cygwin.
-- The usual documentation and examples additions, updates and
- polishing.
-
-
-Version 5.0.9 (2004-09-09)
---------------------------
-- The convention of using a `.asc` file extension for AsciiDoc files
- has been dropped in favor of the familiar `.txt` extension. It makes
- more sense in that AsciiDoc is a text presentation format and
- because `.asc` clashed with the same extension used by other
- applications. It's only a naming convention -- you don't have to
- switch if you don't want to.
-- Changed the subscript formatting character from underline to tilde
- since underscores in file names are reasonably common (especially in
- link and image macros).
-- An alternative syntax for the index term inline macro has been
- added: `++<primary>,<secondary>,<tertiary>++`.
-- Index terms that have secondary and tertiary entries now
- additionally generate separate index terms for the secondary and
- tertiary entries.
-- A `+<primary>+` index term inline macro has been added which
- displays the term in the primary text flow.
-- Added alternative variable list definition using double semi-colon
- terminator as opposed to the standard double colon terminator so
- variable lists can be nested to two levels.
-- Footnotes now appear on a separate line in HTML and Linuxdoc
- outputs.
-- Python version compatibility is checked at startup.
-- Preface and appendix section titles in multi-part Book documents are
- meant to be out of sequence -- warnings are no longer emitted when
- outputting HTML.
-- Empty section warnings have been replaced by error messages and are
- emitted only if invalid markup would result.
-- Missing macro sections or invalid macro name warnings are only
- generated at startup if the `-v` (verbose) option is set. Otherwise
- they are deferred until a matching macro is encountered in the input
- file.
-- Missing or invalid table definition warnings are only generated at
- startup if the `-v` (verbose) option is set. Otherwise they are
- deferred until a matching table is encountered in the input file.
-- AsciiDoc now makes more of an effort to continue in the face of
- errors.
-- Fixed broken `./examples/website/main.aap` script.
-- Converted distribution text files DOS text format as a sop to
- Windows users with challenged text editors.
-- Documentation additions and corrections.
-
-
-Version 5.0.8 (2004-05-15)
---------------------------
-- Spurious 'out of sequence' level 2 warnings no longer appear when
- processing 'book' document multi-part book top level Preface and
- Appendix sub-sections since they are (correctly) out of sequence.
-- A warning is no longer emitted for empty Index sections since this
- is normal when generating DocBook outputs.
-- Fixed: `[quotes]` configuration file entries where not being
- overridden by downstream configuration file entries.
-- Footnote text is now output enclosed in square brackets in HTML
- documents.
-- Added superscripts and subscripts to the standard PRS configuration
- files.
-- Adjusted CSS stylesheets so list titles don't have so much space
- between title and first list item (broken in IE6 due to poor CSS
- compliance). Lessened sidebar title top margin.
-
-
-Version 5.0.7 (2004-04-22)
---------------------------
-- The version 5.0.6 README incorrectly stated that AsciiDoc would run
- under Python 2.0, in fact it requires Python 2.1 or better. The
- README has been corrected.
-- Documented techniques for combining and splitting AsciiDoc documents
- and processing the combined and split parts (see the 'Tips and
- Tricks' section of the User Guide).
-- An example of marking up superscripts and subscripts is documented
- in the 'Tips and Tricks' section of the User Guide (the example
- configuration file is in the AsciiDoc `examples` directory).
-- Added ellipsis to shipped `[replacements]`; three periods output an
- ellipsis entity.
-- Removed unused 'SectionClose' class.
-- The AsciiDoc 'Preamble' element is output as a DocBook 'Preface'
- when processed as a 'book' document type (in older AsciiDoc versions
- a warning was issued and processing stopped).
-- Fixed a quoting anomaly: quoted text can no longer begin or end with
- with white space.
-
-
-Version 5.0.6 (2004-03-07)
---------------------------
-- New 'image' macro implements optional image scaling and linking and
- works in both inline and block contexts. The 'image' macro obsolesces
- the existing 'graphic' block macro and 'icon' inline macro.
-- Macro substitution section names now have `-inlinemacro` and
- `-blockmacro` suffixes to resolve context ambiguity, make their
- purpose clearer and relieve section namespace congestion.
-- Header derived glossary entries can now be overridden from the
- command-line.
-- Special character substitution is now performed on AuthorLine
- derived author names.
-- A macro or block argument called 'options' can be used as a shortcut
- for a list named arguments with zero length string values.
-- Tables can be output without borders using the `options="noborders"`
- argument.
-- Table data lines that do not immediately follow a table section
- underline can now be blank. This allows CSV data with embedded blank
- lines to be processed correctly.
-- Blank DSV format table data lines are silently skipped.
-- Tightened up on enforcement of configuration file section names to
- reduce the possibility of section content being seen as a section
- header line.
-- Section titles can be optionally suffixed with title arguments
- enclosed in double square brackets.
-- A replacement has been added to `asciidoc.conf` to replace inline
- double dashes with the `—` entity.
-- Changed the `.UNDER-CONSTRUCTION.` macro syntax to
- `#UNDER-CONSTRUCTION#` so it is not mistaken for a BlockTitle.
- Similarly changed the `.NEW.` replacement with
- `#NEW#`.
-- `#NEW#` and `#UNDER-CONSTRUCTION#` macros are now
- included in the DocBook backend.
-- Replaced shipped `smallnew.gif` with `smallnew.png`.
-- Documentation tidy ups.
-
-
-Version 5.0.5 (2004-02-25)
---------------------------
-- Fixed the disappearing paragraph titles problem that was caused by
- Inline macros (incorrectly) processing BlockTitles.
-- Tightened AuthorLine validation. Previously invalid email addresses
- and embedded special characters in the AuthorLine resulted in
- invalid output markup.
-
-
-Version 5.0.4 (2004-02-09)
---------------------------
-- Reinstated missing `infile`, `outfile`, `filetype` and
- `filetype-<filetype>` glossary entries.
-- As of version 5.0.3 asciidoc(1) now requires Python 2.0 or greater,
- this has now been documented.
-
-
-Version 5.0.3 (2004-01-23)
---------------------------
-- Fixed problem that caused any filters directory file containing
- `.conf` (not just those with the `.conf` extension) from being
- loaded.
-- All `[miscellaneous]` configuration file entries can now be
- referenced like glossary entries (they are now processed internally
- as glossary entries).
-- The output file line terminator (previously hardwired to `\r\n` is
- now set using the `newline` entry in the configuration file
- `[miscellaneous]` section.
-- The misspelt `blocktitles` configuration file entry name has been
- corrected (to `blocktitle`).
-- An `{empty}` glossary entry has been added to the default
- configuration which is useful for outputting trailing blank lines
- from configuration file substitution sections.
-
-
-Version 5.0.2 (2003-12-18)
---------------------------
-- New (alternative) 'anchor' and 'xref' macro syntax (old syntax still
- valid).
-- DocBook `mediaobject` and `inlinemediaobject` tags are generated in
- place of `graphic` and `inlinegraphic` tags by the AsciiDoc
- `graphic` and `icon` macros. If a macro argument is specified it is
- the alternative text output if the target document format does not
- support the specified graphic file format.
-- Dropped the LinuxDoc left and right square bracket special character
- substitutions as they interfered with macro substitution.
-- Documentation updates and corrections.
-
-
-Version 5.0.1 (2003-12-09)
---------------------------
-- Fixed problem with anchor tag when generating CSS styled HTML.
-
-
-Version 5.0 (2003-12-08)
-------------------------
-***************************************************
-This release has had some fairly major code and
-documentation changes. Please report any problems
-you encounter.
-
-mailto:[email protected]['Stuart Rackham']
-***************************************************
-
-- AsciiDoc can now produce a full-blown multi-part DocBook book
- including dedication, abstract, preface, colophon, glossary,
- appendix, bibliography and book part elements using the new
- `specialsections` configuration file section.
-- All Section element children (Paragraph, DelimitedBlock, List,
- Table, BlockMacro) can now be titled using the BlockTitle element.
- A BlockTitle element is a single line containing a title and
- beginning with a period.
-- The `index` and `backmatter` macros have been dropped, superseded by
- `specialsections`.
-- The AsciiDoc 'Preface' element has been renamed 'Preamble' (to avoid
- confusion with the DocBook book preface element).
-- Out of sequence titles are now tolerated with a warning. This allows
- book document level 0 sections to be processed.
-- An 'anchor' inline macro has been added for document link target
- creation.
-- 'Note', 'Tip', 'Important' and 'Warning' paragraph types have been
- added to support the corresponding DocBook elements.
-- Title substitution is now performed in SidebarBlock titles.
-- DocBook graphics now output as `figure` and `informalfigure`
- elements rather than `mediaobjects`. This ensures numbered figures
- and a lists of figures are produced by the DocBook toolchain.
-- You can now escape block argument lines by appending a backslash.
- Alternatively, if you embed arguments in the delimiter line AsciiDoc
- does not check for an arguments line.
-- The default DocBook backend file extension has been changed from
- `.docbook` to `.xml` (`.sgml` for the 'docbook-sgml' backend).
-- Warnings are output by default (previously they only printed when
- verbose option enabled).
-- A Question and Answer variable list definition has been added to the
- shipped configuration files, primarily to create DocBook `qanda`
- DocBook elements.
-- Fixed broken code-filter `-b linuxdoc` option. The asciidoc.asc User
- Guide can now be processed by linuxdoc(1) (although tables are
- dropped because LinuxDoc does not implement tables).
-
-.Compatibility issues:
-1. Table titles are no longer in the arguments line, use the new
- BlockTitles.
-2. Graphic titles are no longer in the 'graphic' block macro caption,
- use the new BlockTitles.
-3. The code-filter title must be placed in a preceding BlockTitle.
-4. SidebarBlock titles must be placed in a preceding BlockTitle.
-5. The DelimitedBlock option 'sidebar' has been renamed to 'section'.
-6. The default DocBook backend file extension has been changed from
-`.docbook` to `.xml` (`.sgml` for the 'docbook-sgml' backend).
-
-
-Version 4.2 (2003-11-26)
-------------------------
-- The default HTML output is now XHTML 1.0 markup. To output the
- former HTML 4 markup specify the `html-4` backend.
-- The default DocBook output is now DocBook XML. To output the former
- DocBook SGML specify the `docbook-sgml` backend. The associated
- `docbook-sgml.conf` file illustrates how to support minor DTD
- variations. Examples of using the `xmlto(1)` command for DocBook
- conversion have been added to the User Guide.
-- Glossary entries set using the command-line -g option can now be
- referenced in configuration files.
-- Configuration dumps (`-c` command-line option) no longer output
- redundant undefined glossary entries.
-- DelimitedBlock arguments can now be specified in a separate arguments
- line immediately following the leading delimiter line, This is in
- preference to the existing delimiter embedded arguments. Reasons:
- * The syntax is in keeping with the Tables arguments syntax.
- * It's easier to enter and implements line continuation.
-- A new QuoteBlock DelimitedBlock definition has been added to the
- distribution configuration files.
-- The table arguments lines can be continued using the backslash line
- continuation character.
-- Added new calculated glossary reference type `{<name>%<value>}`.
-- Double-quote characters can now appear in unquoted positional
- arguments.
-
-
-Version 4.1 (2003-11-13)
-------------------------
-- Added DSV (Delimiter Separated Values) tables format.
-- `{eval:<expr>}` glossary references drop the containing line if
- `<expr>` evaluates to `None`.
-- Block, Table and Macro arguments can now be positional (quoted or
- unquoted).
-- Vocabulary change: DelimitedBlock, Table and Macro 'attributes' are
- now referred to as 'arguments'. This makes more sense in light of the
- extended syntax and avoids confusion with backend markup tag
- attributes.
-- 'tablewidth' table ruler parameter can now be expressed in percent
- units (0..100). If between 0 and 1 then the original fractional unit
- measure is applied.
-- The use of quoting for generating footnotes and index entries has
- been dropped in favor of 'footnote' and 'indexterm' inline macros.
-- 'backmatter' inline macro included in distribution.
-- Fixed: CSS styled HTML tables are now fully XHTML 1.0 conformant.
-- Fixed: 'tablewidth' was processed incorrectly when passed as table
- argument.
-- Fixed: Glossary references like `{x=\{y}}` were one character off
- if \{x] was defined and `{y}` was not.
-
-
-Version 4.0 (2003-11-08)
-------------------------
-***************************************************
-This release has had some fairly major code and
-documentation changes. Please report any problems
-you encounter.
-
-'Stuart Rackham'
-***************************************************
-
-- Added tables to AsciiDoc.
-- Added two special 'subs' options: 'default' specifies the default
- substitution options and 'none' specifies no substitution. These
- options can only appear singly.
-- Line continuation using a trailing backslash character is available
- in Paragraphs, ListItems, Tables.
-- The left and right quotes for quoted text can now be specified
- separately.
-- Shipped configuration files implement footnotes (only useful for
- DocBook output) using \[[]] quoting.
-- Shipped configuration files implement index terms (only useful for
- DocBook and LinuxDoc output) using \(()) quoting.
-- The shipped 'html' backend configuration now emits valid 'HTML 4.01
- Transitional'.
-- Added new calculated glossary reference types `{<name>!<value>}`
- and `{<name>#<value>}`.
-- The DelimitedBlock 'params' option has been dropped in favor of the
- new 'block attributes' mechanism. If you have customized block
- params options you may need to adjust source files to use the
- 'block attributes' syntax. The example code filter has been updated
- to reflect these changes.
-- The code filter now has a `-t tabsize` option.
-- Replaced `-w` option with `-v` (verbose) option. The warnings option
- was just to confusing.
-- Named attributes can now be specified in macro calls.
-- The 'tabsize' attribute is recognized in the built-in `include`
- macros. A tabsize of zero suppresses tab expansion.
-- The configuration file `[options]` section has been split into
- `[miscellaneous]` and `[titles]`. If you have customized any of
- these settings you will need to adjust the affected configuration
- files.
-- Configuration file `[miscellaneous]` entries can now also be set
- using the command-line `-g` option.
-- Fixed: error that occurred when attempting to use zero length
- configuration and source files.
-- Fixed: blocking filter halt problem.
-- Fixed: inline macro escape prefix problem.
-- Fixed: missing macros from configuration dump problem.
-- Fixed: named macros were dumped incorrectly.
-- Many documentation changes/additions/corrections.
-
-
-Version 3.2.2 (2003-10-26)
---------------------------
-- Added `-n` option (synonym for `-g section-numbers`).
-- Dropped the processing commentary (hey, this is Unix).
-- Added new calculated glossary reference type `{<name>?<value>}`.
- `<name>` is the glossary entry name and `<value>` is the text
- substituted if the glossary entry is defined. `<value>` can only
- contain literal text (no glossary references allowed).
-- Added `asciidoc2text` to distribution `examples/asciidoc2text`
- directory (converts AsciiDoc source to text file with section
- numbering).
-- Fixed incorrect nesting of Simple lists inside Variable lists.
-- List definitions have been modified so that list items can be
- indented. This allows a more intuitive indentation of nested lists
- in AsciiDoc source.
-- Lists must be separated from preceding paragraphs by a blank line.
- This is to avoid paragraph lines being mistaken for list items.
-- Corrected asciidoc man page documentation error: the`-f` option does
- *not* search relative to source document directory for the
- configuration file.
-- Minor updates to various distribution `.conf` files.
-- Included `badges.conf` in `examples` directory.
-- `css-embedded-stylesheet.conf` now supports footer badges.
-- The default in-line element processing order has been changed:
- Glossary References are now processed before Inline Macros. This
- allows glossary expansions to occur inside macro references.
-- Glossary entries are now allowed in Author and Revision lines.
-- Default List `subs` options and Paragraph `presubs` options are
- assigned the following default value if not specified:
-
- specialcharacters,quotes,specialwords,replacements,glossary,macros
-
-- Documentation changes/additions/corrections.
-
-
-Version 3.2 (2003-05-26)
-------------------------
-- Added a `-s` command-line option to suppress the output of
- `[header]` and `[footer]` sections.
-- Article document headers are no longer mandatory: this allows
- AsciiDoc to process arbitrary chunks of text. When used in
- conjunction with the new `-s` command-line option corresponding
- chunks of backend markup can be generated.
-- AsciiDoc now emits a warning message and continues when an out of
- sequence section title is detected (previously it failed and
- halted). This allows document sections to be processed separately.
-- Optional 'presubs' and 'postsubs' entries have been added to
- 'DelimitedBlock' and 'Paragraph' definitions. As a consequence
- substitution options are no longer legal in 'options' entries.
-- 'presubs' and 'postsubs' substitutions are processed in the order
- the options are specified (rather than the fixed 'options' order of
- previous versions).
-- ./filters subdirectories are automatically searched for filter
- commands.
-- A 'title-subs' configuration option specifies the substitutions
- performed on document Header and Section titles.
-- A 'subs' entry in now included in List configuration file
- definitions that specified substitutions performed on list entry
- text.
-- Configuration files are auto-loaded from ./filters subdirectories.
-- Added example code filter (see ./examples/filters).
-- Bug fix: if section was empty you may have got erroneous 'missing
- tag "paragraph"' error.
-- Internal code tidy up.
-
-
-Version 3.1 (2003-05-18)
-------------------------
-- In version 3.0 a `[macros]` section entry of the form 'name' was
- equivalent to 'name='. An entry of the form 'name' now undefines the
- entry (to bring it in line with the behavior of other special
- sections).
-- Paragraphs have now been generalized (in the same way as Lists and
- DelimitedBlocks).
-- The 'indentsize' option has been dropped as as consequence of
- paragraph generalization.
-- Pipe | characters can be included in substituted tag and
- substitution section text using the \{brvbar} (broken vertical bar)
- glossary reference.
-- Removed the restriction requiring substitution section text
- placeholders | to be on a separate line.
-- Added an `-e` asciidoc(1) command option that excludes implicit
- configuration files (used in conjunction with `-c` generated
- configuration files).
-- Version 3.0 documentation has undergone a considerable cleanup.
-- The dumping of quoted section entries (see `-c` option) now works
- correctly.
-- The format of special section entries has been made consistent:
- `name` undefines the entry; `name=` sets the entry value to a blank
- string; `name=value` sets the entry value to `value`.
-- As a consequence of the previous change the caret prefix is no
- longer used in glossary configuration file entries (although it is
- still used when undefining an entry using the `-g` command-line
- option).
-
-
-Version 3.0 (2003-05-13)
-------------------------
-This version is the culmination of work begun in the 2.x releases
-whereby fixed policy has been replaced by extensible mechanisms.
-
-- Added `-c` command-line option to dump a composite asciidoc(1)
- configuration file to stdout.
-- Lists and Delimited Blocks are now defined by a set of configuration
- file parameter sections. The user can modify the default
- definitions or add new ones.
-- Block content can now be processed through external filters.
-- The default behavior for Custom Blocks is to perform glossary
- substitution (previously there was no substitution inside Custom
- Blocks).
-- The old 2.x style macros have been reimplemented; as with Lists and
- Delimited Blocks there syntax and behavior can be configured by the
- user. The default macro syntax remains the same but the semantics
- are now (hopefully) a bit more intelligible.
-- Block and Builtin macros use :: delimiter instead of the 2.x single
- colon delimit (to distinguish them from inline macros). The 2.x
- syntax is still supported for backward compatibility.
-- Nested lists are now supported and IndentedParagraphs can be
- included in list items.
-- Conditional source inclusion can be specified using built in `ifdef`,
- `ifndef` and `endif` macros.
-- The new conditional source inclusion feature has been used to reduce
- the number of default configuration files down to one per backend.
-- A change of name: 2.x 'Substitutions' are now called 'Replacements'
- and the 2.x `[substitutions]` configuration file section is now
- called `[replacements]` (the old name is still recognized for
- backward compatibility).
-- The line break is now implemented as a 'Replacements' substitution.
-- Inline 'icon' macro for inline images has been added to default
- configuration files.
-
-Version 2.2 (2003-04-07)
-------------------------
-- The `master.conf` configuration file name has been deprecated in
- favor of `asciidoc.conf`.
-- The standard configuration files set is now loaded from the
- `.asciidoc` folder in the users home directory (if it exists) and
- then from the source document directory. Configuration files that
- don't exist are silently skipped.
-- Configuration files named like the source file will be automatically
- loaded if they are found in the source file directory. For example
- if the source file is `mydoc.asc` and the `-b html` option is used
- then asciidoc(1) will look for `mydoc.conf` and `mydoc-html.conf` in
- that order.
-- The characters used to quote formatted text can be configured and
- extended by the user (see the master.conf [quotes] section).
-- Quoted text can now be escaped by prefixing a backslash character to
- the leading quote.
-- The double single-quote '' strong text quote has been deprecated in
- favor of an asterisk * character.
-- Added \{eval:expression}, \{sys:command} and \{sys2:command}
- glossary reference actions.
-- Trailing brace characters `}` are now allowed inside glossary
- references provided they are escaped with a backslash character.
-- Glossary entries can now be escaped by prefixing a backslash
- character to the leading brace character (use this in preference to
- placing the backslash inside the brace).
-- The output macro has been deprecated (use the new include1 macro
- inside a CustomBlock).
-- The default document type is `article` (asciidoc no longer attempts
- to guess).
-- Files included within DelimitedBlocks are not searched for block
- termination underlines. This ensures the entire file is part of the
- DelimitedBlock.
-- `include` macros can now be used in configuration files.
-- Corrected \{infile} and \{outfile} glossary entry documentation.
-- File inclusion is now limited to a depth of 5 to catch recursion
- loops.
-- Inline tags have been deprecated, they're not necessary and they
- immediately make the source document backend specific. Use
- CustomBlocks or Substitutions instead.
-
-Version 2.1 (2003-03-17)
-------------------------
-- Added section auto numbering `{sectnum}` glossary entry
- (auto-numbering function contributed by Ludovico Magnocavallo).
-- asciidoc(1) now correctly returns non-zero exit status if an error
- occurs.
-- An AsciiDoc example website has been included in the AsciiDoc
- distribution `examples/website` directory.
-- NOTE: The `asciidoc` wrapper script included in the 2.0 distribution
- has been dropped, if you've symlinked or aliased to `asciidoc` you'll
- need to change them to point directly to `asciidoc.py` instead.
-- An RCS $Id$ marker can be used as the document header revision line
- (based on a patch submitted by Ludovico Magnocavallo).
-- In addition to the `name=value` glossary entry format two new ones
- have been introduced: `name` (the default value is set to an empty
- string) and `^name` (the glossary entry is undefined).
-- The `-q` command-line option has been deprecated and the `-w level`
- command-line option added. +
- NOTE: By default skipped substitution warnings are now suppressed.
-- If a configuration file specified with the `-f` command-line option
- is not found relative to the current working directory then the
- search is repeated relative to the asciidoc(1) directory. This
- allows global configuration files to be used.
-- Added `{infile}`, `{outfile}` predefined glossary entries.
-- Added `under-construction` macro to HTML article configuration
- files.
-- Deprecated `{asciidoc_version}` glossary entry in favor of
- `{asciidoc-version}` (to it consistent with other entries).
-
-Version 2.0 (2003-02-24)
-------------------------
-- The emphasized, strong and monospaced words options have been
- generalized with the introduction of macro based 'special words'
- lists.
-- Glossary references can now appear in both the document and macro
- bodies.
-- All output files use `crlf` line termination (previously used UNIX
- `lf` (newline) termination).
-- Added [substitutions] section which implements arbitrary regular
- expression based substitutions.
-- An optional `master.conf` configuration file can be used for entries
- that are not backend or document type specific.
-- Special character definitions moved from the code to the new
- [special_characters] configuration file section.
-- Configuration file glossary added.
-- Command-line -g glossary entry added.
-- A new 'book' document type has been implemented for the 'docbook'
- backend. It outputs DocBook 'book' documents.
-- A major internal change has been the implementation of parametrized
- user definable 'macros'. Internally most document elements are now
- processed as macros.
-- Configuration file macro variables can be specified with default
- values (literals or other macro variables).
-- An attempt has been made to tighten up the vocabulary used to
- describe the AsciiDoc document syntax.
-- The term abstract has been replaced by the more general term
- 'preface' and a new preface section introduced into article
- configuration files (replacing the synopsis sections).
-- Any section elements can now be put in the document preface
- (previous versions only allowed paragraphs).
-- AsciiDoc Blocks have been unified and their behavior can be user
- defined and parametrized.
-- An 'output' inclusion allows an external file to be written directly
- to the backend output file.
-- A new CustomBlock has been added. Default behavior is to insert the
- enveloped AsciiDoc source lines directly into the output file.
-- A 'line break' tag can be inserted by terminating a line with a '+'
- character (only really useful for HTML backends).
-- An fourth section level has been introduced.
-- The SidebarBlock delimiter line characters have been changed. The
- deprecated underline is still accepted.
-- Levels 2 and 3 title underline characters have been changed. The
- deprecated underlines are still accepted.
-- Lines with backend specific inline tags can be inserted into
- AsciiDoc source files.
-- Single words enveloped by underscores are no longer emphasized. This
- feature was deprecated as it is redundant (use single quotes
- instead) and was being applied to file names with underscores.
-- A `-q` quiet option has been added to suppress warning messages.
-- Badge images sourced locally.
-- Added 'author' and 'author-mail' meta tags to HTML configuration
- files.
-
-Version 1.5 (2003-01-08)
-------------------------
-- Implemented sidebar document elements.
-- Explicit checks for user specified configuration files and input
- file (rather than throwing exception).
-
-Version 1.4 (2003-01-04)
-------------------------
-- New configuration file options 'emphasizedwords' and 'strongwords'.
- These allow the definition of words that will always be emphasized
- or rendered in a strong font without inline formatting.
-- Document and section titles are no long subject to inline
- formatting.
-- Multiple configuration files can be overlaid in a single command.
-- Configuration file tags and options entries can now be overridden on
- an entry by entry basis (previously the entire section was
- overloaded).
-- Configuration file tags and options entries are now cached this has
- resulted in around 37% performance improvement over version 1.3.
-- Variable lists can now contain multiple terms per list item.
-- Placeholder paragraph eliminated from empty sections that contain
- subsections.
-- Added \{asciidoc_version} substitution variable.
-- More documentation additions and tidy ups.
-
-Version 1.3 (2003-01-01)
-------------------------
-- A new 'strong' text formatting convention has been implemented:
- Word phrases enclosed in pairs of single quote characters (acute
- accents) are rendered in a strong font (usually bold).
-- Paragraphs can now be followed immediately by Simple lists and
- Ordered lists without an intervening blank line.
-- A user specified configuration file (`asciidoc(1)` -f option)
- overlays the default configuration file rather than replacing it.
- Custom configuration files need only contain those sections
- that have been customized.
-- Comment Block delimiters have been relaxed slightly. They must start
- with three forward slashes /// but the remainder can contain any
- characters, this allows comments to be embedded in the delimiter line.
-- Leading non-digit characters preceding revision number are now
- ignored.
-- Set default indentsize [option] from 2 to documented default value
- of zero in HTML backend html-article.conf and html-manpage.conf
- files.
-- Fixed error that occurred when taking input from stdin without
- explicitly specifying a document type.
-- Restored file name and line number error message information.
-- Changed deprecated -t option to -d in asciidoc --help and usage
- command output.
-- CSS styles tweaking.
-- Code, configuration file and documentation tidy ups.
-
-Version 1.2 (2002-12-28)
-------------------------
-- Implemented 'include' URL to allow file inclusion.
-- `fileextension` configuration file [option] renamed to more sensible
- `outfilesuffix` (`fileextension` still accepted by this version but
- will be dropped in future).
-- Improved error reporting.
-- CSS backends generate valid XHTML.
-- New `css-embedded` backend generates HTML with embedded stylesheets
- (use the `css` backend for linked stylesheets). The css-embedded
- backend output contains no linked images so the generated html files
- are completely self contained.
-- Bug fixes.
-
-Version 1.1 (2002-12-03)
-------------------------
-- Added css (cascading style sheets) backend
-- Implemented IndentedBlock document element.
-- Tabsize command-line option has been deprecated in
- favor of configuration file.
-- Default indent width changed to zero.
-- Added \{localdate} and \{localtime} substitution variables.
-- Added optional [options] configuration file section with
- fileextension, tabsize and indentsize options.
-- Implemented \{authorinitials} substitution variable.
-- Added https link type.
-- Corrected [graphic] substitution from \{title} to \{caption}
- in linuxdoc-article.conf configuration file.
-- Fixed error that occurred when '==' title underline was
- used.
-
-Version 1.0 (2002-11-25)
-------------------------
-First AsciiDoc public release along with AsciiDoc web site
-(http://www.methods.co.nz/asciidoc/) and SourceForge.net project registration
-(https://sourceforge.net/projects/asciidoc/[]).
-
-// vim: set syntax=asciidoc:
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/COPYING b/code/maint/asciidoc/asciidoc-8.6.3/COPYING
deleted file mode 100644
index 9285110..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/COPYING
+++ /dev/null
@@ -1,339 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 675 Mass Ave, Cambridge, MA 02139, USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- Appendix: How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) 19yy <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) 19yy name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/COPYRIGHT b/code/maint/asciidoc/asciidoc-8.6.3/COPYRIGHT
deleted file mode 100644
index 1eaec42..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/COPYRIGHT
+++ /dev/null
@@ -1,18 +0,0 @@
-Copyright (C) 2000-2007 Stuart Rackham
-
-Email: srackham(a)gmail.com
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or (at
-your option) any later version.
-
-This program is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-USA.
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/INSTALL b/code/maint/asciidoc/asciidoc-8.6.3/INSTALL
deleted file mode 100644
index a78ea2a..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/INSTALL
+++ /dev/null
@@ -1,235 +0,0 @@
- AsciiDoc Installation
-
- version 8.6.3, 14 November 2010
-
- Note
- The current version of AsciiDoc requires Python 2.4 or newer to run. If
- you don’t already have an up-to-date version of Python installed it can
- be downloaded from the official Python website
- [1]http://www.python.org/.
- __________________________________________________________________
-
-1. Prerequisites
-
- See the [2]README page.
- __________________________________________________________________
-
-2. Installing from the Mercurial repository
-
- The AsciiDoc [3]Mercurial repository is hosted by [4]Google Code. To
- browse the repository go to
- [5]http://code.google.com/p/asciidoc/source/browse/. You can install
- AsciiDoc from the repository if you don’t have an up to date packaged
- version or want to get the latest version from the trunk:
- * Make sure you have [6]Mercurial installed, you can check with:
- $ hg --version
- * Go to the directory you want to install AsciiDoc into and download
- the repository. This example gets the 8.6.3 tagged release:
- $ cd ~/bin
- $ hg clone -r 8.6.3 https://asciidoc.googlecode.com/hg/ asciidoc-8.6.3
-
- You now have two choices: you can run asciidoc locally from your
- repository or you can use autoconf(1) and make(1) to perform a
- system-wide install.
-
- 2.1. Running asciidoc from your local copy
-
- Create a symlink to the AsciiDoc script in a search PATH directory so
- it’s easy to execute asciidoc from the command-line, for example:
- $ ln -s ~/bin/asciidoc-8.6.3/asciidoc.py ~/bin/asciidoc
- $ ln -s ~/bin/asciidoc-8.6.3/a2x.py ~/bin/a2x
-
- Use the Mercurial pull command to update your local AsciiDoc
- repository.
-
- 2.2. Installing asciidoc for all users
-
- Create configure using autoconf(1); use configure to create the
- Makefile; run make(1); build the man pages; install:
-
- $ autoconf
- $ ./configure
- $ make
- $ sudo make install
-
- To uninstall:
-
- $ sudo make uninstall
- __________________________________________________________________
-
-3. Distribution tarball installation
-
- The distribution source tarballs can be downloaded from the SourceForge
- [7]http://sourceforge.net/projects/asciidoc/.
-
- Note
- Unless you are [8]installing on Microsoft Windows you should use the
- tarball and not the zip file to install the the distribution (the
- tarball contains symlinks).
-
- If your flavor or UNIX or Linux does not have a packaged AsciiDoc
- distribution or if you prefer to install the latest AsciiDoc version
- from source use the configure shell script in the tarball root
- directory.
-
- The autoconf(1) generated configure script creates a make file that is
- tailored for your system. To install:
- $ tar -xzf asciidoc-8.6.3.tar.gz
- $ cd asciidoc-8.6.3
- $ ./configure
- $ sudo make install
-
- To install the documentation:
- $ sudo make docs
-
- To uninstall AsciiDoc:
- $ sudo make uninstall
-
- If Vim is installed on your system the AsciiDoc Vim syntax highlighter
- and filetype detection scripts will be install in the global Vim
- configuration file directory (asciidoc.vim in the syntax directory and
- asciidoc_filetype.vim in the ftdetect directory).
- __________________________________________________________________
-
-4. Microsoft Windows installation
-
- AsciiDoc is developed and tested on Linux but there seem to be quite a
- few people using it on Windows. To install AsciiDoc on Windows unzip
- the distribution Zip file contents:
- $ unzip asciidoc-8.6.3.zip
-
- This will create the folder asciidoc-8.6.3 containing the asciidoc.py
- and a2x.py executables along with configuration files and
- documentation.
-
- To generate DocBook based outputs (e.g. PDFs) you will also need a
- working DocBook toolchain. Installing and configuring a DocBook
- toolchain on Windows can be a challenge — this blog post explains
- [9]How to Create Handsome PDF Documents Without Frustration using
- [10]Cygwin, [11]dblatex and AsciiDoc.
- __________________________________________________________________
-
-5. Testing your installation
-
- Test out asciidoc by changing to the AsciiDoc application directory and
- convert the User Guide document (./doc/asciidoc.txt) to XHTML
- (./doc/asciidoc.html):
- $ python asciidoc.py doc/asciidoc.txt
-
- [12]testasciidoc offers a more extensive set of conformance tests,
- though you do need to create the test data before running the tests
- (this in itself is a good post-install test):
- $ python ./tests/testasciidoc.py update
-
- Now you can run the tests by executing this command:
- $ python ./tests/testasciidoc.py run
-
- A full battery of tests can be run from the main.aap script in the
- distribution root directory:
- $ aap test
- __________________________________________________________________
-
-6. Building the distribution
-
- The AsciiDoc distribution is built using [13]A-A-P (a software build
- system written by Bram Moolenaar). The AsciiDoc A-A-P scripts are:
-
- ./main.aap
- Builds the distribution tarball and zip files, documentation and
- example website.
-
- ./doc/main.aap
- Builds distribution documentation.
-
- ./examples/website/main.aap
- Builds AsciiDoc website.
-
- ./common.aap
- Included in all scripts.
-
- To build the distribution tarball and zip files, documentation and
- example website run A-A-P from the distribution root directory:
- $ aap
- __________________________________________________________________
-
-7. Prepackaged AsciiDoc installation
-
- The following platform specific AsciiDoc packages are available:
-
- Debian GNU/Linux
- If you use Debian or a Debian based distribution there’s an
- [14]AsciiDoc Debian package available. Thanks to [15]Fredrik
- Steen who built and maintains the Debian AsciiDoc package.
-
- Gentoo Linux
- If you use Gentoo Linux there’s a [16]Gentoo AsciiDoc package
- available. Thanks to [17]Brandon Philips for writing the ebuild.
-
- Fedora Linux
- With help from Terje Røsten, Chris Wright added asciidoc to
- Fedora Extras which is available in the default installation. To
- install asciidoc execute the following command:
-
- $ yum install asciidoc
-
- Slackware Linux
- John Calixto has created a Slackware package for AsciiDoc which
- can be downloaded from [18]http://linuxpackages.net/.
-
- Ark Linux
- [19]Bernhard Rosenkraenzer added AsciiDoc to Ark Linux — the
- package is available from the Ark Linux repository at
- [20]http://arklinux.osuosl.org/dockyard-devel/, so Ark Linux
- users should just run apt-get install asciidoc.
-
- T2 Linux
- [21]Christian Wiese added AsciiDoc to the [22]T2 Linux
- repository at
- [23]http://svn.exactcode.de/t2/trunk/package/textproc/asciidoc/.
- To build and install the package on a T2 system, run
- ./scripts/Emerge-Pkg asciidoc from within your T2 source
- directory (default: /usr/src/t2-src).
-
- Red Hat Enterprise Linux, Fedora and CentOS packages
- Dag Wieers has built AsciiDoc RPMs for a number of Red Hat based
- distributions, they can be downloaded from
- [24]http://dag.wieers.com/rpm/packages/asciidoc/.
-
- CSW Package for Sun Solaris
- Ben Walton has created a CSW package for AsciiDoc, you can find
- it here: [25]http://opencsw.org/packages/asciidoc.
-
- See also [26]Packager Notes in the AsciiDoc User Guide.
- __________________________________________________________________
-
- Version 8.6.3
- Last updated 2010-11-13 07:47:38 NZDT
-
-References
-
- 1. http://www.python.org/
- 2. file://localhost/tmp/lynxXXXXeZs02x/README.html
- 3. http://www.selenic.com/mercurial/
- 4. http://code.google.com/
- 5. http://code.google.com/p/asciidoc/source/browse/
- 6. http://www.selenic.com/mercurial/
- 7. http://sourceforge.net/projects/asciidoc/
- 8. file://localhost/tmp/lynxXXXXeZs02x/L3745-3292TMP.html#X3
- 9. http://blog.rainwebs.net/2010/02/25/how-to-create-handsome-pdf-documents-wi…
- 10. http://www.cygwin.com/
- 11. http://dblatex.sourceforge.net/
- 12. file://localhost/tmp/lynxXXXXeZs02x/testasciidoc.html
- 13. http://www.a-a-p.org/
- 14. http://packages.debian.org/asciidoc
- 15. mailto:[email protected]
- 16. http://packages.gentoo.org/packages/?category=app-text;name=asciidoc
- 17. mailto:[email protected]
- 18. http://linuxpackages.net/
- 19. mailto:[email protected]
- 20. http://arklinux.osuosl.org/dockyard-devel/
- 21. mailto:[email protected]
- 22. http://www.t2-project.org/
- 23. http://svn.exactcode.de/t2/trunk/package/textproc/asciidoc/
- 24. http://dag.wieers.com/rpm/packages/asciidoc/
- 25. http://opencsw.org/packages/asciidoc
- 26. file://localhost/tmp/lynxXXXXeZs02x/userguide.html#X38
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/INSTALL.txt b/code/maint/asciidoc/asciidoc-8.6.3/INSTALL.txt
deleted file mode 100644
index 0fb1fc7..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/INSTALL.txt
+++ /dev/null
@@ -1,227 +0,0 @@
-AsciiDoc Installation
-=====================
-
-NOTE: The current version of AsciiDoc requires *Python 2.4 or newer*
-to run. If you don't already have an up-to-date version of Python
-installed it can be downloaded from the official Python website
-http://www.python.org/.
-
-
-Prerequisites
--------------
-See the link:README.html[README] page.
-
-
-Installing from the Mercurial repository
-----------------------------------------
-The AsciiDoc http://www.selenic.com/mercurial/[Mercurial] repository
-is hosted by http://code.google.com/[Google Code].
-To browse the repository go to
-http://code.google.com/p/asciidoc/source/browse/.
-You can install AsciiDoc from the repository if you don't have an up to
-date packaged version or want to get the latest version from the trunk:
-
-- Make sure you have http://www.selenic.com/mercurial/[Mercurial]
- installed, you can check with:
-
- $ hg --version
-
-- Go to the directory you want to install AsciiDoc into and download
- the repository. This example gets the {revnumber} tagged release:
-
-[subs="attributes"]
- $ cd ~/bin
- $ hg clone -r {revnumber} https://asciidoc.googlecode.com/hg/ asciidoc-{revnumber}
-
-You now have two choices: you can run asciidoc locally from your
-repository or you can use 'autoconf(1)' and 'make(1)' to perform a
-system-wide install.
-
-Running asciidoc from your local copy
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Create a symlink to the AsciiDoc script in a search `PATH` directory
-so it's easy to execute `asciidoc` from the command-line, for example:
-
-[subs="attributes"]
- $ ln -s ~/bin/asciidoc-{revnumber}/asciidoc.py ~/bin/asciidoc
- $ ln -s ~/bin/asciidoc-{revnumber}/a2x.py ~/bin/a2x
-
-Use the Mercurial `pull` command to update your local AsciiDoc repository.
-
-Installing asciidoc for all users
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Create `configure` using 'autoconf(1)'; use `configure` to create the
-`Makefile`; run 'make(1)'; build the man pages; install:
-
----------------------------------------------
-$ autoconf
-$ ./configure
-$ make
-$ sudo make install
----------------------------------------------
-
-To uninstall:
-
----------------------------------------------
-$ sudo make uninstall
----------------------------------------------
-
-
-[[X1]]
-Distribution tarball installation
----------------------------------
-The distribution source tarballs can be downloaded from the
-SourceForge http://sourceforge.net/projects/asciidoc/.
-
-NOTE: Unless you are <<X3,installing on Microsoft Windows>> you should
-use the tarball and not the zip file to install the the distribution
-(the tarball contains symlinks).
-
-If your flavor or UNIX or Linux does not have a packaged AsciiDoc
-distribution or if you prefer to install the latest AsciiDoc version
-from source use the `configure` shell script in the tarball root
-directory.
-
-The `autoconf(1)` generated `configure` script creates a make file
-that is tailored for your system. To install:
-
-[subs="attributes"]
- $ tar -xzf asciidoc-{revnumber}.tar.gz
- $ cd asciidoc-{revnumber}
- $ ./configure
- $ sudo make install
-
-To install the documentation:
-
- $ sudo make docs
-
-To uninstall AsciiDoc:
-
- $ sudo make uninstall
-
-If Vim is installed on your system the AsciiDoc Vim syntax highlighter
-and filetype detection scripts will be install in the global Vim
-configuration file directory (`asciidoc.vim` in the `syntax` directory
-and `asciidoc_filetype.vim` in the `ftdetect` directory).
-
-
-[[X3]]
-Microsoft Windows installation
-------------------------------
-AsciiDoc is developed and tested on Linux but there seem to be quite a
-few people using it on Windows. To install AsciiDoc on Windows unzip
-the distribution Zip file contents:
-
-[subs="attributes"]
- $ unzip asciidoc-{revnumber}.zip
-
-This will create the folder +asciidoc-{revnumber}+ containing the
-`asciidoc.py` and `a2x.py` executables along with configuration files
-and documentation.
-
-To generate DocBook based outputs (e.g. PDFs) you will also need a
-working DocBook toolchain. Installing and configuring a DocBook
-toolchain on Windows can be a challenge -- this blog post explains
-http://blog.rainwebs.net/2010/02/25/how-to-create-handsome-pdf-documents-without-frustration/[How
-to Create Handsome PDF Documents Without Frustration] using
-http://www.cygwin.com/[Cygwin],
-http://dblatex.sourceforge.net/[dblatex] and AsciiDoc.
-
-
-Testing your installation
--------------------------
-Test out asciidoc by changing to the AsciiDoc application directory
-and convert the User Guide document (`./doc/asciidoc.txt`) to XHTML
-(`./doc/asciidoc.html`):
-
- $ python asciidoc.py doc/asciidoc.txt
-
-link:testasciidoc.html[testasciidoc] offers a more extensive set of
-conformance tests, though you do need to create the test data before
-running the tests (this in itself is a good post-install test):
-
- $ python ./tests/testasciidoc.py update
-
-Now you can run the tests by executing this command:
-
- $ python ./tests/testasciidoc.py run
-
-A full battery of tests can be run from the `main.aap` script in the
-distribution root directory:
-
- $ aap test
-
-
-Building the distribution
--------------------------
-The AsciiDoc distribution is built using http://www.a-a-p.org/[A-A-P]
-(a software build system written by Bram Moolenaar). The AsciiDoc
-A-A-P scripts are:
-
-`./main.aap`:: Builds the distribution tarball and zip files,
-documentation and example website.
-`./doc/main.aap`:: Builds distribution documentation.
-`./examples/website/main.aap`:: Builds AsciiDoc website.
-`./common.aap`:: Included in all scripts.
-
-To build the distribution tarball and zip files, documentation and
-example website run A-A-P from the distribution root directory:
-
- $ aap
-
-
-[[X2]]
-Prepackaged AsciiDoc installation
----------------------------------
-The following platform specific AsciiDoc packages are available:
-
-*Debian GNU/Linux*::
- If you use Debian or a Debian based distribution there's an
- http://packages.debian.org/asciidoc[AsciiDoc Debian package]
- available. Thanks to mailto:[email protected][Fredrik Steen] who
- built and maintains the Debian AsciiDoc package.
-
-*Gentoo Linux*::
- If you use Gentoo Linux there's a
- http://packages.gentoo.org/packages/?category=app-text;name=asciidoc[Gentoo
- AsciiDoc package] available. Thanks to
- mailto:[email protected][Brandon Philips] for writing the ebuild.
-
-*Fedora Linux*::
- With help from Terje Røsten, Chris Wright added asciidoc to Fedora
- Extras which is available in the default installation. To install
- asciidoc execute the following command:
-
- $ yum install asciidoc
-
-*Slackware Linux*::
- John Calixto has created a Slackware package for AsciiDoc which can
- be downloaded from http://linuxpackages.net/.
-
-*Ark Linux*::
- mailto:[email protected][Bernhard Rosenkraenzer] added AsciiDoc to
- Ark Linux -- the package is available from the Ark Linux repository
- at http://arklinux.osuosl.org/dockyard-devel/, so Ark Linux users
- should just run `apt-get install asciidoc`.
-
-*T2 Linux*::
- mailto:[email protected][Christian Wiese] added AsciiDoc to the
- http://www.t2-project.org/[T2 Linux] repository at
- http://svn.exactcode.de/t2/trunk/package/textproc/asciidoc/. To
- build and install the package on a T2 system, run
- `./scripts/Emerge-Pkg asciidoc` from within your T2 source directory
- (default: `/usr/src/t2-src`).
-
-*Red Hat Enterprise Linux, Fedora and CentOS packages*::
- Dag Wieers has built AsciiDoc RPMs for a number of Red Hat based
- distributions, they can be downloaded from
- http://dag.wieers.com/rpm/packages/asciidoc/.
-
-*CSW Package for Sun Solaris*::
- Ben Walton has created a CSW package for AsciiDoc, you can find it
- here: http://opencsw.org/packages/asciidoc.
-
-See also link:userguide.html#X38[Packager Notes] in the 'AsciiDoc User
-Guide'.
-
-
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/MANIFEST b/code/maint/asciidoc/asciidoc-8.6.3/MANIFEST
deleted file mode 100644
index 5fc9aee..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/MANIFEST
+++ /dev/null
@@ -1,87 +0,0 @@
-a2x.py
-asciidoc.py
-asciidocapi.py
-BUGS
-BUGS.txt
-MANIFEST
-main.aap
-common.aap
-CHANGELOG
-CHANGELOG.txt
-asciidoc.conf
-docbook45.conf
-help.conf
-html4.conf
-lang-*.conf
-latex.conf
-slidy.conf
-text.conf
-wordpress.conf
-xhtml11.conf
-xhtml11-quirks.conf
-COPYING
-COPYRIGHT
-dblatex/asciidoc-dblatex.sty
-dblatex/asciidoc-dblatex.xsl
-dblatex/dblatex-readme.txt
-doc/a2x.1
-doc/book.epub
-doc/asciidoc.1
-doc/asciidoc.conf
-doc/article-docinfo.xml
-doc/*.css
-doc/customers.csv
-doc/images/
-doc/main.aap
-doc/article.pdf
-doc/latex-filter.pdf
-doc/music-filter.pdf
-doc/source-highlight-filter.pdf
-doc/*.txt
-doc/asciidoc.dict
-docbook-xsl/*.txt
-docbook-xsl/*.xsl
-examples/website/main.aap
-examples/website/build-website.sh
-examples/website/*.css
-examples/website/*.js
-examples/website/customers.csv
-examples/website/images/
-examples/website/layout?.conf
-examples/website/*.txt
-filters/code/code-filter.conf
-filters/code/code-filter.py
-filters/code/code-filter-readme.txt
-filters/code/code-filter-test.txt
-filters/latex/latex2png.py
-filters/latex/latex-filter.conf
-filters/music/music-filter.conf
-filters/music/music2png.py
-filters/music/music-filter-test.txt
-filters/source/source-highlight-filter.conf
-filters/source/source-highlight-filter-test.txt
-filters/graphviz/graphviz-filter.conf
-filters/graphviz/graphviz2png.py
-filters/graphviz/asciidoc-graphviz-sample.txt
-images/icons/callouts/*.png
-images/icons/*.png
-images/icons/README
-images/smallnew.png
-images/tiger.png
-images/highlighter.png
-INSTALL
-INSTALL.txt
-configure
-configure.ac
-Makefile.in
-install-sh
-javascripts/*.js
-README
-README.txt
-stylesheets/*.css
-tests/testasciidoc.py
-tests/testasciidoc.conf
-tests/asciidocapi.py
-tests/data/*.txt
-vim/syntax/asciidoc.vim
-vim/ftdetect/asciidoc_filetype.vim
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/Makefile.in b/code/maint/asciidoc/asciidoc-8.6.3/Makefile.in
deleted file mode 100644
index eb0fcfb..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/Makefile.in
+++ /dev/null
@@ -1,177 +0,0 @@
-#
-# Make file to install/uninstall AsciiDoc
-#
-
-.NOTPARALLEL:
-
-INSTALL = @INSTALL@
-INSTALL_PROG = @INSTALL_PROGRAM@
-INSTALL_DATA = @INSTALL_DATA@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-SED = @SED@
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-bindir = @bindir@
-datadir = @datadir@
-docdir = @docdir@
-sysconfdir = @sysconfdir@
-datarootdir = @datarootdir@
-mandir=@mandir@
-srcdir = @srcdir@
-
-VPATH = @srcdir@
-
-ASCIIDOCCONF = $(sysconfdir)/asciidoc
-
-prog = asciidoc.py a2x.py
-progdir = $(bindir)
-
-vimdir = @sysconfdir@/vim
-
-manp = $(patsubst %1.txt,%1,$(wildcard doc/*.1.txt))
-manpdir = $(mandir)/man1
-
-conf = $(wildcard *.conf)
-confdir = $(ASCIIDOCCONF)
-
-filtersdir = $(ASCIIDOCCONF)/filters
-
-codefilter = filters/code/code-filter.py
-codefilterdir = $(filtersdir)/code
-codefilterconf = filters/code/code-filter.conf
-codefilterconfdir = $(filtersdir)/code
-
-graphvizfilter = filters/graphviz/graphviz2png.py
-graphvizfilterdir = $(filtersdir)/graphviz
-graphvizfilterconf = filters/graphviz/graphviz-filter.conf
-graphvizfilterconfdir = $(filtersdir)/graphviz
-
-musicfilter = filters/music/music2png.py
-musicfilterdir = $(filtersdir)/music
-musicfilterconf = filters/music/music-filter.conf
-musicfilterconfdir = $(filtersdir)/music
-
-sourcefilterconf = filters/source/source-highlight-filter.conf
-sourcefilterconfdir = $(filtersdir)/source
-
-latexfilter = filters/latex/latex2png.py
-latexfilterdir = $(filtersdir)/latex
-latexfilterconf = filters/latex/latex-filter.conf
-latexfilterconfdir = $(filtersdir)/latex
-
-docbook = $(wildcard docbook-xsl/*.xsl)
-docbookdir = $(ASCIIDOCCONF)/docbook-xsl
-
-dblatex = $(wildcard dblatex/*.xsl) $(wildcard dblatex/*.sty)
-dblatexdir = $(ASCIIDOCCONF)/dblatex
-
-css = $(wildcard stylesheets/*.css)
-cssdir = $(ASCIIDOCCONF)/stylesheets
-
-js = $(wildcard javascripts/*.js)
-jsdir = $(ASCIIDOCCONF)/javascripts
-
-callouts = $(wildcard images/icons/callouts/*)
-calloutsdir = $(ASCIIDOCCONF)/images/icons/callouts
-
-icons = $(wildcard images/icons/*.png) images/icons/README
-iconsdir = $(ASCIIDOCCONF)/images/icons
-
-doc = $(wildcard README*) $(wildcard BUGS*) $(wildcard INSTALL*) $(wildcard CHANGELOG*)
-
-DATATARGETS = manp conf docbook dblatex css js callouts icons codefilterconf musicfilterconf sourcefilterconf graphvizfilterconf latexfilterconf
-PROGTARGETS = prog codefilter musicfilter graphvizfilter latexfilter
-TARGETS = $(DATATARGETS) $(PROGTARGETS) doc
-
-INSTDIRS = $(TARGETS:%=%dir)
-
-.PHONY: $(TARGETS)
-
-all: build
-
-# create directories used during the install
-$(INSTDIRS):
- $(INSTALL) -d $(DESTDIR)/$($@)
-
-$(PROGTARGETS): % : %dir
- $(INSTALL_PROG) $($@) $(DESTDIR)/$($<)/
-
-$(DATATARGETS): % : %dir
- $(INSTALL_DATA) $($@) $(DESTDIR)/$($<)/
-
-$(manp): %.1 : %.1.txt
- python a2x.py -f manpage $<
-
-docs:
- $(INSTALL) -d $(DESTDIR)/$(docdir)
- $(INSTALL_DATA) $(doc) $(DESTDIR)/$(docdir)
- $(INSTALL) -d $(DESTDIR)/$(docdir)/docbook-xsl
- $(INSTALL_DATA) docbook-xsl/asciidoc-docbook-xsl.txt $(DESTDIR)/$(docdir)/docbook-xsl
- $(INSTALL) -d $(DESTDIR)/$(docdir)/dblatex
- $(INSTALL_DATA) dblatex/dblatex-readme.txt $(DESTDIR)/$(docdir)/dblatex
- $(INSTALL) -d $(DESTDIR)/$(docdir)/stylesheets
- $(INSTALL_DATA) $(css) $(DESTDIR)/$(docdir)/stylesheets
- $(INSTALL) -d $(DESTDIR)/$(docdir)/javascripts
- $(INSTALL_DATA) $(js) $(DESTDIR)/$(docdir)/javascripts
- $(INSTALL) -d $(DESTDIR)/$(docdir)/images
- ( cd images && \
- cp -R * $(DESTDIR)/$(docdir)/images )
- $(INSTALL) -d $(DESTDIR)/$(docdir)/doc
- ( cd doc && \
- cp -R * $(DESTDIR)/$(docdir)/doc )
- $(INSTALL) -d $(DESTDIR)/$(docdir)/examples/website
- ( cd examples/website && \
- cp -R * $(DESTDIR)/$(docdir)/examples/website )
-
-progsymlink:
- (cd $(DESTDIR)/$(progdir); ln -sf asciidoc.py asciidoc)
- (cd $(DESTDIR)/$(progdir); ln -sf a2x.py a2x)
-
-fixconfpath:
- @for f in $(prog); do \
- echo "Fixing CONF_DIR in $$f"; \
- $(SED) "s#^CONF_DIR = '.*'#CONF_DIR = '$(ASCIIDOCCONF)'#" $$f > $$f.out; \
- mv $$f.out $$f; \
- chmod +x $$f; \
- done
-
-install-vim:
- @for d in $(DESTDIR)/$(vimdir) /etc/vim; do \
- if ! test -d $$d; then continue; fi ; \
- echo "installing Vim files in $$d" ; \
- $(INSTALL) -d $$d/syntax ; \
- $(INSTALL_DATA) vim/syntax/asciidoc.vim $$d/syntax ; \
- $(INSTALL) -d $$d/ftdetect ; \
- $(INSTALL_DATA) vim/ftdetect/asciidoc_filetype.vim $$d/ftdetect ; \
- done
-
-uninstall-vim:
- @for d in $(DESTDIR)/$(vimdir) /etc/vim; do \
- if ! test -d $$d; then continue; fi ; \
- echo "uninstalling Vim files in $$d" ; \
- rm -f $$d/syntax/asciidoc.vim ; \
- rm -f $$d/ftdetect/asciidoc_filetype.vim ; \
- done
-
-
-build: fixconfpath $(manp)
-
-
-install: all $(PROGTARGETS) $(DATATARGETS) progsymlink install-vim
-
-uninstall: uninstall-vim
- rm -f $(DESTDIR)/$(progdir)/asciidoc
- rm -f $(DESTDIR)/$(progdir)/asciidoc.py
- rm -f $(DESTDIR)/$(progdir)/a2x
- rm -f $(DESTDIR)/$(progdir)/a2x.py
- rm -f $(DESTDIR)/$(manpdir)/asciidoc.1
- rm -f $(DESTDIR)/$(manpdir)/a2x.1
- rm -rf $(DESTDIR)/$(confdir)
- rm -rf $(DESTDIR)/$(docdir)
-
-clean:
- rm -f $(manp)
-
-test:
- @echo "Nothing to see here...Move along."
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/README b/code/maint/asciidoc/asciidoc-8.6.3/README
deleted file mode 100644
index 5ef04f1..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/README
+++ /dev/null
@@ -1,44 +0,0 @@
- AsciiDoc README File
-
- version 8.6.3, 14 November 2010
- __________________________________________________________________
-
-1. Prerequisites
-
- AsciiDoc is written in Python so you need a Python interpreter (version
- 2.4 or later) to execute asciidoc(1). Python is installed by default in
- most Linux distributions. You can download Python from the official
- Python website [1]http://www.python.org.
- __________________________________________________________________
-
-2. Obtaining AsciiDoc
-
- Documentation and installation instructions are on the AsciiDoc website
- [2]http://www.methods.co.nz/asciidoc/
- __________________________________________________________________
-
-3. Tools
-
- Current AsciiDoc version tested on Xubuntu Linux 10.04 with:
- * Python 2.6.5
- * DocBook XSL Stylesheets 1.75.2
- * xsltproc (libxml 20706, libxslt 10126 and libexslt 815).
- * w3m 0.5.2
- * dblatex 0.3
- * FOP 0.95
- * A-A-P 1.091
- __________________________________________________________________
-
-4. COPYING
-
- Copyright © 2002-2010 Stuart Rackham. Free use of this software is
- granted under the terms of the GNU General Public License (GPL).
- __________________________________________________________________
-
- Version 8.6.3
- Last updated 2010-08-16 10:21:13 NZST
-
-References
-
- 1. http://www.python.org/
- 2. http://www.methods.co.nz/asciidoc/
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/README.txt b/code/maint/asciidoc/asciidoc-8.6.3/README.txt
deleted file mode 100644
index 5c870df..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/README.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-AsciiDoc README File
-====================
-
-Prerequisites
--------------
-AsciiDoc is written in Python so you need a Python interpreter
-(version 2.4 or later) to execute asciidoc(1). Python is installed by
-default in most Linux distributions. You can download Python from the
-official Python website http://www.python.org.
-
-
-Obtaining AsciiDoc
-------------------
-Documentation and installation instructions are on the AsciiDoc
-website http://www.methods.co.nz/asciidoc/
-
-
-Tools
------
-Current AsciiDoc version tested on Xubuntu Linux 10.04 with:
-
-- Python 2.6.5
-- DocBook XSL Stylesheets 1.75.2
-- xsltproc (libxml 20706, libxslt 10126 and libexslt 815).
-- w3m 0.5.2
-- dblatex 0.3
-- FOP 0.95
-- A-A-P 1.091
-
-
-COPYING
--------
-Copyright (C) 2002-2010 Stuart Rackham. Free use of this software
-is granted under the terms of the GNU General Public License (GPL).
-
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/a2x.py b/code/maint/asciidoc/asciidoc-8.6.3/a2x.py
deleted file mode 100755
index a709921..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/a2x.py
+++ /dev/null
@@ -1,843 +0,0 @@
-#!/usr/bin/env python
-'''
-a2x - A toolchain manager for AsciiDoc (converts Asciidoc text files to other
- file formats)
-
-Copyright: Stuart Rackham (c) 2009
-License: MIT
-Email: srackham(a)gmail.com
-
-'''
-
-import os
-import fnmatch
-import HTMLParser
-import re
-import shutil
-import subprocess
-import sys
-import traceback
-import urlparse
-import zipfile
-
-PROG = os.path.basename(os.path.splitext(__file__)[0])
-VERSION = '8.6.3'
-
-# AsciiDoc global configuration file directory.
-# NOTE: CONF_DIR is "fixed up" by Makefile -- don't rename or change syntax.
-CONF_DIR = '/etc/asciidoc'
-
-
-######################################################################
-# Default configuration file parameters.
-######################################################################
-
-# Optional environment variable dictionary passed to
-# executing programs. If set to None the existing
-# environment is used.
-ENV = None
-
-# External executables.
-ASCIIDOC = 'asciidoc'
-XSLTPROC = 'xsltproc'
-DBLATEX = 'dblatex' # pdf generation.
-FOP = 'fop' # pdf generation (--fop option).
-W3M = 'w3m' # text generation.
-LYNX = 'lynx' # text generation (if no w3m).
-XMLLINT = 'xmllint' # Set to '' to disable.
-EPUBCHECK = 'epubcheck' # Set to '' to disable.
-# External executable default options.
-ASCIIDOC_OPTS = ''
-DBLATEX_OPTS = ''
-FOP_OPTS = ''
-XSLTPROC_OPTS = ''
-
-######################################################################
-# End of configuration file parameters.
-######################################################################
-
-
-#####################################################################
-# Utility functions
-#####################################################################
-
-OPTIONS = None # These functions read verbose and dry_run command options.
-
-def errmsg(msg):
- sys.stderr.write('%s: %s\n' % (PROG,msg))
-
-def warning(msg):
- errmsg('WARNING: %s' % msg)
-
-def infomsg(msg):
- print '%s: %s' % (PROG,msg)
-
-def die(msg, exit_code=1):
- errmsg('ERROR: %s' % msg)
- sys.exit(exit_code)
-
-def trace():
- """Print traceback to stderr."""
- errmsg('-'*60)
- traceback.print_exc(file=sys.stderr)
- errmsg('-'*60)
-
-def verbose(msg):
- if OPTIONS.verbose or OPTIONS.dry_run:
- infomsg(msg)
-
-class AttrDict(dict):
- """
- Like a dictionary except values can be accessed as attributes i.e. obj.foo
- can be used in addition to obj['foo'].
- If self._default has been set then it will be returned if a non-existant
- attribute is accessed (instead of raising an AttributeError).
- """
- def __getattr__(self, key):
- try:
- return self[key]
- except KeyError, k:
- if self.has_key('_default'):
- return self['_default']
- else:
- raise AttributeError, k
- def __setattr__(self, key, value):
- self[key] = value
- def __delattr__(self, key):
- try: del self[key]
- except KeyError, k: raise AttributeError, k
- def __repr__(self):
- return '<AttrDict ' + dict.__repr__(self) + '>'
- def __getstate__(self):
- return dict(self)
- def __setstate__(self,value):
- for k,v in value.items(): self[k]=v
-
-def isexecutable(file_name):
- return os.path.isfile(file_name) and os.access(file_name, os.X_OK)
-
-def find_executable(file_name):
- '''
- Search for executable file_name in the system PATH.
- Return full path name or None if not found.
- '''
- def _find_executable(file_name):
- if os.path.split(file_name)[0] != '':
- # file_name includes directory so don't search path.
- if not isexecutable(file_name):
- return None
- else:
- return file_name
- for p in os.environ.get('PATH', os.defpath).split(os.pathsep):
- f = os.path.join(p, file_name)
- if isexecutable(f):
- return os.path.realpath(f)
- return None
- if os.name == 'nt' and os.path.splitext(file_name)[1] == '':
- for ext in ('.cmd','.bat','.exe'):
- result = _find_executable(file_name + ext)
- if result: break
- else:
- result = _find_executable(file_name)
- return result
-
-def shell_cd(path):
- verbose('chdir %s' % path)
- if not OPTIONS.dry_run:
- os.chdir(path)
-
-def shell_makedirs(path):
- if os.path.isdir(path):
- return
- verbose('creating %s' % path)
- if not OPTIONS.dry_run:
- os.makedirs(path)
-
-def shell_copy(src, dst):
- verbose('copying "%s" to "%s"' % (src,dst))
- if not OPTIONS.dry_run:
- shutil.copy(src, dst)
-
-def shell_rm(path):
- if not os.path.exists(path):
- return
- verbose('deleting %s' % path)
- if not OPTIONS.dry_run:
- os.unlink(path)
-
-def shell_rmtree(path):
- if not os.path.isdir(path):
- return
- verbose('deleting %s' % path)
- if not OPTIONS.dry_run:
- shutil.rmtree(path)
-
-def shell(cmd, raise_error=True):
- '''
- Execute command cmd in shell and return resulting subprocess.Popen object.
- If raise_error is True then a non-zero return terminates the application.
- '''
- if os.name == 'nt':
- # TODO: this is probably unnecessary, see:
- # http://groups.google.com/group/asciidoc/browse_frm/thread/9442ee0c419f1242
- # Windows doesn't like running scripts directly so explicitly
- # specify python interpreter.
- # Extract first (quoted or unquoted) argument.
- mo = re.match(r'^\s*"\s*(?P<arg0>[^"]+)\s*"', cmd)
- if not mo:
- mo = re.match(r'^\s*(?P<arg0>[^ ]+)', cmd)
- if mo.group('arg0').endswith('.py'):
- cmd = 'python ' + cmd
- # Remove redundant quoting -- this is not just costmetic, quoting seems to
- # dramatically decrease the allowed command length in Windows XP.
- cmd = re.sub(r'"([^ ]+?)"', r'\1', cmd)
- verbose('executing: %s' % cmd)
- if OPTIONS.dry_run:
- return
- if OPTIONS.verbose:
- stdout = stderr = None
- else:
- stdout = stderr = subprocess.PIPE
- try:
- popen = subprocess.Popen(cmd, stdout=stdout, stderr=stderr,
- shell=True, env=ENV)
- except OSError, e:
- die('failed: %s: %s' % (cmd, e))
- popen.wait()
- if popen.returncode != 0 and raise_error:
- die('%s returned non-zero exit status %d' % (cmd, popen.returncode))
- return popen
-
-def find_resources(files, tagname, attrname, filter=None):
- '''
- Search all files and return a list of local URIs from attrname attribute
- values in tagname tags.
- Handles HTML open and XHTML closed tags.
- Non-local URIs are skipped.
- files can be a file name or a list of file names.
- The filter function takes a dictionary of tag attributes and returns True if
- the URI is to be included.
- '''
- class FindResources(HTMLParser.HTMLParser):
- # Nested parser class shares locals with enclosing function.
- def handle_startendtag(self, tag, attrs):
- self.handle_starttag(tag, attrs)
- def handle_starttag(self, tag, attrs):
- attrs = dict(attrs)
- if tag == tagname and (filter is None or filter(attrs)):
- # Accept only local URIs.
- uri = urlparse.urlparse(attrs[attrname])
- if uri[0] in ('','file') and not uri[1] and uri[2]:
- result.append(uri[2])
- if isinstance(files, str):
- files = [files]
- result = []
- for f in files:
- verbose('finding resources in: %s' % f)
- if OPTIONS.dry_run:
- continue
- parser = FindResources()
- # HTMLParser has problems with non-ASCII strings.
- # See http://bugs.python.org/issue3932
- mo = re.search(r'^<\?xml.* encoding="(.*?)"', open(f).readline())
- if mo:
- encoding = mo.group(1)
- parser.feed(open(f).read().decode(encoding))
- else:
- parser.feed(open(f).read())
- parser.close()
- result = list(set(result)) # Drop duplicate values.
- result.sort()
- return result
-
-# NOT USED.
-def copy_files(files, src_dir, dst_dir):
- '''
- Copy list of relative file names from src_dir to dst_dir.
- '''
- for f in files:
- f = os.path.normpath(f)
- if os.path.isabs(f):
- continue
- src = os.path.join(src_dir, f)
- dst = os.path.join(dst_dir, f)
- if not os.path.exists(dst):
- if not os.path.isfile(src):
- warning('missing file: %s' % src)
- continue
- dstdir = os.path.dirname(dst)
- shell_makedirs(dstdir)
- shell_copy(src, dst)
-
-def find_files(path, pattern):
- '''
- Return list of file names matching pattern in directory path.
- '''
- result = []
- for (p,dirs,files) in os.walk(path):
- for f in files:
- if fnmatch.fnmatch(f, pattern):
- result.append(os.path.normpath(os.path.join(p,f)))
- return result
-
-def exec_xsltproc(xsl_file, xml_file, dst_dir, opts = ''):
- cwd = os.getcwd()
- shell_cd(dst_dir)
- try:
- shell('"%s" %s "%s" "%s"' % (XSLTPROC, opts, xsl_file, xml_file))
- finally:
- shell_cd(cwd)
-
-def get_source_options(asciidoc_file):
- '''
- Look for a2x command options in AsciiDoc source file.
- Limitation: options cannot contain double-quote characters.
- '''
- def parse_options():
- # Parse options to result sequence.
- inquotes = False
- opt = ''
- for c in options:
- if c == '"':
- if inquotes:
- result.append(opt)
- opt = ''
- inquotes = False
- else:
- inquotes = True
- elif c == ' ':
- if inquotes:
- opt += c
- elif opt:
- result.append(opt)
- opt = ''
- else:
- opt += c
- if opt:
- result.append(opt)
-
- result = []
- if os.path.isfile(asciidoc_file):
- options = ''
- for line in open(asciidoc_file):
- mo = re.search(r'^//\s*a2x:', line)
- if mo:
- options += ' ' + line[mo.end():].strip()
- parse_options()
- return result
-
-
-#####################################################################
-# Application class
-#####################################################################
-
-class A2X(AttrDict):
- '''
- a2x options and conversion functions.
- '''
-
- def execute(self):
- '''
- Process a2x command.
- '''
- self.process_options()
- # Append configuration file options.
- self.asciidoc_opts += ' ' + ASCIIDOC_OPTS
- self.dblatex_opts += ' ' + DBLATEX_OPTS
- self.fop_opts += ' ' + FOP_OPTS
- self.xsltproc_opts += ' ' + XSLTPROC_OPTS
- # Execute to_* functions.
- self.__getattribute__('to_'+self.format)()
- if not (self.keep_artifacts or self.format == 'docbook' or self.skip_asciidoc):
- shell_rm(self.dst_path('.xml'))
-
- def load_conf(self):
- '''
- Load a2x configuration file from default locations and --conf-file
- option.
- '''
- global ASCIIDOC
- CONF_FILE = 'a2x.conf'
- a2xdir = os.path.dirname(os.path.realpath(__file__))
- conf_files = []
- # From a2x.py directory.
- conf_files.append(os.path.join(a2xdir, CONF_FILE))
- # If the asciidoc executable and conf files are in the a2x directory
- # then use the local copy of asciidoc and skip the global a2x conf.
- asciidoc = os.path.join(a2xdir, 'asciidoc.py')
- asciidoc_conf = os.path.join(a2xdir, 'asciidoc.conf')
- if os.path.isfile(asciidoc) and os.path.isfile(asciidoc_conf):
- self.asciidoc = asciidoc
- else:
- self.asciidoc = None
- # From global conf directory.
- conf_files.append(os.path.join(CONF_DIR, CONF_FILE))
- # From $HOME directory.
- home_dir = os.environ.get('HOME')
- if home_dir is not None:
- conf_files.append(os.path.join(home_dir, '.asciidoc', CONF_FILE))
- # From --conf-file option.
- if self.conf_file is not None:
- if not os.path.isfile(self.conf_file):
- die('missing configuration file: %s' % self.conf_file)
- conf_files.append(self.conf_file)
- # From --xsl-file option.
- if self.xsl_file is not None:
- if not os.path.isfile(self.xsl_file):
- die('missing XSL file: %s' % self.xsl_file)
- self.xsl_file = os.path.abspath(self.xsl_file)
- # Load ordered files.
- for f in conf_files:
- if os.path.isfile(f):
- verbose('loading conf file: %s' % f)
- execfile(f, globals())
- # If asciidoc is not local to a2x then search the PATH.
- if not self.asciidoc:
- self.asciidoc = find_executable(ASCIIDOC)
- if not self.asciidoc:
- die('unable to find asciidoc: %s' % ASCIIDOC)
-
- def process_options(self):
- '''
- Validate and command options and set defaults.
- '''
- if not os.path.isfile(self.asciidoc_file):
- die('missing SOURCE_FILE: %s' % self.asciidoc_file)
- self.asciidoc_file = os.path.abspath(self.asciidoc_file)
- if not self.destination_dir:
- self.destination_dir = os.path.dirname(self.asciidoc_file)
- else:
- if not os.path.isdir(self.destination_dir):
- die('missing --destination-dir: %s' % self.destination_dir)
- self.destination_dir = os.path.abspath(self.destination_dir)
- self.resource_dirs = []
- self.resource_files = []
- if self.resource_manifest:
- if not os.path.isfile(self.resource_manifest):
- die('missing --resource-manifest: %s' % self.resource_manifest)
- for r in open(self.resource_manifest):
- self.resources.append(r.strip())
- for r in self.resources:
- if os.path.isfile(r):
- self.resource_files.append(r)
- elif os.path.isdir(r):
- self.resource_dirs.append(r)
- else:
- die('missing resource: %s' % r)
- # Lastly search among images and stylesheets distributed with asciidoc.
- for p in (os.path.dirname(self.asciidoc), CONF_DIR):
- for d in ('images','stylesheets'):
- self.resource_dirs.append(os.path.join(p,d))
- if not self.doctype and self.format == 'manpage':
- self.doctype = 'manpage'
- if self.doctype:
- self.asciidoc_opts += ' --doctype %s' % self.doctype
- for attr in self.attributes:
- self.asciidoc_opts += ' --attribute "%s"' % attr
-# self.xsltproc_opts += ' --nonet'
- if self.verbose:
- self.asciidoc_opts += ' --verbose'
- self.dblatex_opts += ' -V'
- if self.icons or self.icons_dir:
- params = [
- 'callout.graphics 1',
- 'navig.graphics 1',
- 'admon.textlabel 0',
- 'admon.graphics 1',
- ]
- if self.icons_dir:
- params += [
- 'admon.graphics.path "%s/"' % self.icons_dir,
- 'callout.graphics.path "%s/callouts/"' % self.icons_dir,
- 'navig.graphics.path "%s/"' % self.icons_dir,
- ]
- else:
- params = [
- 'callout.graphics 0',
- 'navig.graphics 0',
- 'admon.textlabel 1',
- 'admon.graphics 0',
- ]
- if self.stylesheet:
- params += ['html.stylesheet "%s"' % self.stylesheet]
- if self.format == 'htmlhelp':
- params += ['htmlhelp.chm "%s"' % self.basename('.chm'),
- 'htmlhelp.hhp "%s"' % self.basename('.hhp'),
- 'htmlhelp.hhk "%s"' % self.basename('.hhk'),
- 'htmlhelp.hhc "%s"' % self.basename('.hhc')]
- if self.doctype == 'book':
- params += ['toc.section.depth 1']
- # Books are chunked at chapter level.
- params += ['chunk.section.depth 0']
- for o in params:
- if o.split()[0]+' ' not in self.xsltproc_opts:
- self.xsltproc_opts += ' --stringparam ' + o
- if self.fop_opts:
- self.fop = True
- if os.path.splitext(self.asciidoc_file)[1].lower() == '.xml':
- self.skip_asciidoc = True
- else:
- self.skip_asciidoc = False
-
- def dst_path(self, ext):
- '''
- Return name of file or directory in the destination directory with
- the same name as the asciidoc source file but with extension ext.
- '''
- return os.path.join(self.destination_dir, self.basename(ext))
-
- def basename(self, ext):
- '''
- Return the base name of the asciidoc source file but with extension
- ext.
- '''
- return os.path.basename(os.path.splitext(self.asciidoc_file)[0]) + ext
-
- def asciidoc_conf_file(self, path):
- '''
- Return full path name of file in asciidoc configuration files directory.
- Search first the directory containing the asciidoc executable then
- the global configuration file directory.
- '''
- f = os.path.join(os.path.dirname(self.asciidoc), path)
- if not os.path.isfile(f):
- f = os.path.join(CONF_DIR, path)
- if not os.path.isfile(f):
- die('missing configuration file: %s' % f)
- return os.path.normpath(f)
-
- def xsl_stylesheet(self, file_name=None):
- '''
- Return full path name of file in asciidoc docbook-xsl configuration
- directory.
- If an XSL file was specified with the --xsl-file option then it is
- returned.
- '''
- if self.xsl_file is not None:
- return self.xsl_file
- if not file_name:
- file_name = self.format + '.xsl'
- return self.asciidoc_conf_file(os.path.join('docbook-xsl', file_name))
-
- def copy_resources(self, html_files, src_dir, dst_dir, resources=[]):
- '''
- Search html_files for images and CSS resource URIs (html_files can be a
- list of file names or a single file name).
- If the URIs are relative then copy them from the src_dir to the
- dst_dir.
- If not found in src_dir then recursively search all specified
- resources for the file name.
- Optional additional resources URIs can be passed in the resources list.
- Does not copy absolute URIs.
- '''
- resources = resources[:]
- resources += find_resources(html_files, 'link', 'href',
- lambda attrs: attrs.get('type') == 'text/css')
- resources += find_resources(html_files, 'img', 'src')
- resources += self.resource_files
- resources = list(set(resources)) # Drop duplicates.
- resources.sort()
- for f in resources:
- f = os.path.normpath(f)
- if os.path.isabs(f):
- if not os.path.isfile(f):
- warning('missing resource: %s' % f)
- continue
- src = os.path.join(src_dir, f)
- dst = os.path.join(dst_dir, f)
- if not os.path.isfile(src):
- for d in self.resource_dirs:
- src = find_files(d, os.path.basename(f))
- if src:
- src = src[0]
- break
- else:
- if not os.path.isfile(dst):
- warning('missing resource: %s' % f)
- continue # Continues outer for loop.
- # Arrive here if relative resource file has been found.
- if os.path.normpath(src) != os.path.normpath(dst):
- dstdir = os.path.dirname(dst)
- shell_makedirs(dstdir)
- shell_copy(src, dst)
-
- def to_docbook(self):
- '''
- Use asciidoc to convert asciidoc_file to DocBook.
- args is a string containing additional asciidoc arguments.
- '''
- docbook_file = self.dst_path('.xml')
- if self.skip_asciidoc:
- if not os.path.isfile(docbook_file):
- die('missing docbook file: %s' % docbook_file)
- return
- shell('"%s" --backend docbook %s --out-file "%s" "%s"' %
- (self.asciidoc, self.asciidoc_opts, docbook_file, self.asciidoc_file))
- if not self.no_xmllint and XMLLINT:
- shell('"%s" --nonet --noout --valid "%s"' % (XMLLINT, docbook_file))
-
- def to_xhtml(self):
- self.to_docbook()
- docbook_file = self.dst_path('.xml')
- xhtml_file = self.dst_path('.html')
- opts = '%s --output "%s"' % (self.xsltproc_opts, xhtml_file)
- exec_xsltproc(self.xsl_stylesheet(), docbook_file, self.destination_dir, opts)
- src_dir = os.path.dirname(self.asciidoc_file)
- self.copy_resources(xhtml_file, src_dir, self.destination_dir)
-
- def to_manpage(self):
- self.to_docbook()
- docbook_file = self.dst_path('.xml')
- opts = self.xsltproc_opts
- exec_xsltproc(self.xsl_stylesheet(), docbook_file, self.destination_dir, opts)
-
- def to_pdf(self):
- if self.fop:
- self.exec_fop()
- else:
- self.exec_dblatex()
-
- def exec_fop(self):
- self.to_docbook()
- docbook_file = self.dst_path('.xml')
- xsl = self.xsl_stylesheet('fo.xsl')
- fo = self.dst_path('.fo')
- pdf = self.dst_path('.pdf')
- opts = '%s --output "%s"' % (self.xsltproc_opts, fo)
- exec_xsltproc(xsl, docbook_file, self.destination_dir, opts)
- shell('"%s" %s -fo "%s" -pdf "%s"' % (FOP, self.fop_opts, fo, pdf))
- if not self.keep_artifacts:
- shell_rm(fo)
-
- def exec_dblatex(self):
- self.to_docbook()
- docbook_file = self.dst_path('.xml')
- xsl = self.asciidoc_conf_file(os.path.join('dblatex','asciidoc-dblatex.xsl'))
- sty = self.asciidoc_conf_file(os.path.join('dblatex','asciidoc-dblatex.sty'))
- shell('"%s" -t %s -p "%s" -s "%s" %s "%s"' %
- (DBLATEX, self.format, xsl, sty, self.dblatex_opts, docbook_file))
-
- def to_dvi(self):
- self.exec_dblatex()
-
- def to_ps(self):
- self.exec_dblatex()
-
- def to_tex(self):
- self.exec_dblatex()
-
- def to_htmlhelp(self):
- self.to_chunked()
-
- def to_chunked(self):
- self.to_docbook()
- docbook_file = self.dst_path('.xml')
- opts = self.xsltproc_opts
- xsl_file = self.xsl_stylesheet()
- if self.format == 'chunked':
- dst_dir = self.dst_path('.chunked')
- elif self.format == 'htmlhelp':
- dst_dir = self.dst_path('.htmlhelp')
- if not 'base.dir ' in opts:
- opts += ' --stringparam base.dir "%s/"' % os.path.basename(dst_dir)
- # Create content.
- shell_rmtree(dst_dir)
- shell_makedirs(dst_dir)
- exec_xsltproc(xsl_file, docbook_file, self.destination_dir, opts)
- html_files = find_files(dst_dir, '*.html')
- src_dir = os.path.dirname(self.asciidoc_file)
- self.copy_resources(html_files, src_dir, dst_dir)
-
- def to_epub(self):
- self.to_docbook()
- xsl_file = self.xsl_stylesheet()
- docbook_file = self.dst_path('.xml')
- epub_file = self.dst_path('.epub')
- build_dir = epub_file + '.d'
- shell_rmtree(build_dir)
- shell_makedirs(build_dir)
- # Create content.
- exec_xsltproc(xsl_file, docbook_file, build_dir, self.xsltproc_opts)
- # Copy OPF file resources.
- src_dir = os.path.dirname(self.asciidoc_file)
- dst_dir = os.path.join(build_dir, 'OEBPS')
- # Get the resources from OPF instead of HTML content to get round this
- # bug: https://sourceforge.net/tracker/?func=detail&aid=2854080&group_id=21935&ati…
- opf = os.path.join(dst_dir, 'content.opf')
- resources = find_resources(opf, 'item', 'href')
-# html_files = find_files(dst_dir, '*.html')
-# self.copy_resources(html_files, src_dir, dst_dir)
- self.copy_resources([], src_dir, dst_dir, resources)
- # Build epub archive.
- cwd = os.getcwd()
- shell_cd(build_dir)
- try:
- if not self.dry_run:
- zip = zipfile.ZipFile(epub_file, 'w')
- try:
- # Create and add uncompressed mimetype file.
- verbose('archiving: mimetype')
- open('mimetype','w').write('application/epub+zip')
- zip.write('mimetype', compress_type=zipfile.ZIP_STORED)
- # Compress all remaining files.
- for (p,dirs,files) in os.walk('.'):
- for f in files:
- f = os.path.normpath(os.path.join(p,f))
- if f != 'mimetype':
- verbose('archiving: %s' % f)
- zip.write(f, compress_type=zipfile.ZIP_DEFLATED)
- finally:
- zip.close()
- verbose('created archive: %s' % epub_file)
- finally:
- shell_cd(cwd)
- if not self.keep_artifacts:
- shell_rmtree(build_dir)
- if self.epubcheck and EPUBCHECK:
- if not find_executable(EPUBCHECK):
- warning('epubcheck skipped: unable to find executable: %s' % EPUBCHECK)
- else:
- shell('"%s" "%s"' % (EPUBCHECK, epub_file))
-
- def to_text(self):
- text_file = self.dst_path('.text')
- html_file = self.dst_path('.text.html')
- if self.lynx:
- shell('"%s" %s --conf-file "%s" -b html4 -o "%s" "%s"' %
- (self.asciidoc, self.asciidoc_opts, self.asciidoc_conf_file('text.conf'),
- html_file, self.asciidoc_file))
- shell('"%s" -dump "%s" > "%s"' %
- (LYNX, html_file, text_file))
- else:
- # Use w3m(1).
- self.to_docbook()
- docbook_file = self.dst_path('.xml')
- opts = '%s --output "%s"' % (self.xsltproc_opts, html_file)
- exec_xsltproc(self.xsl_stylesheet(), docbook_file,
- self.destination_dir, opts)
- shell('"%s" -cols 70 -dump -T text/html -no-graph "%s" > "%s"' %
- (W3M, html_file, text_file))
- if not self.keep_artifacts:
- shell_rm(html_file)
-
-
-#####################################################################
-# Script main line.
-#####################################################################
-
-if __name__ == '__main__':
- description = '''A toolchain manager for AsciiDoc (converts Asciidoc text files to other file formats)'''
- from optparse import OptionParser
- parser = OptionParser(usage='usage: %prog [OPTIONS] SOURCE_FILE',
- version='%s %s' % (PROG,VERSION),
- description=description)
- parser.add_option('-a', '--attribute',
- action='append', dest='attributes', default=[], metavar='ATTRIBUTE',
- help='set asciidoc attribute value')
- parser.add_option('--asciidoc-opts',
- action='append', dest='asciidoc_opts', default=[],
- metavar='ASCIIDOC_OPTS', help='asciidoc options')
- #DEPRECATED
- parser.add_option('--copy',
- action='store_true', dest='copy', default=False,
- help='DEPRECATED: does nothing')
- parser.add_option('--conf-file',
- dest='conf_file', default=None, metavar='CONF_FILE',
- help='configuration file')
- parser.add_option('-D', '--destination-dir',
- action='store', dest='destination_dir', default=None, metavar='PATH',
- help='output directory (defaults to SOURCE_FILE directory)')
- parser.add_option('-d','--doctype',
- action='store', dest='doctype', metavar='DOCTYPE',
- choices=('article','manpage','book'),
- help='article, manpage, book')
- parser.add_option('--epubcheck',
- action='store_true', dest='epubcheck', default=False,
- help='check EPUB output with epubcheck')
- parser.add_option('-f','--format',
- action='store', dest='format', metavar='FORMAT', default = 'pdf',
- choices=('chunked','epub','htmlhelp','manpage','pdf', 'text',
- 'xhtml','dvi','ps','tex','docbook'),
- help='chunked, epub, htmlhelp, manpage, pdf, text, xhtml, dvi, ps, tex, docbook')
- parser.add_option('--icons',
- action='store_true', dest='icons', default=False,
- help='use admonition, callout and navigation icons')
- parser.add_option('--icons-dir',
- action='store', dest='icons_dir',
- default=None, metavar='PATH',
- help='admonition and navigation icon directory')
- parser.add_option('-k', '--keep-artifacts',
- action='store_true', dest='keep_artifacts', default=False,
- help='do not delete temporary build files')
- parser.add_option('--lynx',
- action='store_true', dest='lynx', default=False,
- help='use lynx to generate text files')
- parser.add_option('-L', '--no-xmllint',
- action='store_true', dest='no_xmllint', default=False,
- help='do not check asciidoc output with xmllint')
- parser.add_option('-n','--dry-run',
- action='store_true', dest='dry_run', default=False,
- help='just print the commands that would have been executed')
- parser.add_option('-r','--resource',
- action='append', dest='resources', default=[],
- metavar='PATH',
- help='resource file or directory containing resource files')
- parser.add_option('-m', '--resource-manifest',
- action='store', dest='resource_manifest', default=None, metavar='FILE',
- help='read resources from FILE')
- #DEPRECATED
- parser.add_option('--resource-dir',
- action='append', dest='resources', default=[],
- metavar='PATH',
- help='DEPRECATED: use --resource')
- #DEPRECATED
- parser.add_option('-s','--skip-asciidoc',
- action='store_true', dest='skip_asciidoc', default=False,
- help='DEPRECATED: redundant')
- parser.add_option('--stylesheet',
- action='store', dest='stylesheet', default=None,
- metavar='STYLESHEET',
- help='target HTML CSS stylesheet file name')
- #DEPRECATED
- parser.add_option('--safe',
- action='store_true', dest='safe', default=False,
- help='DEPRECATED: does nothing')
- parser.add_option('--dblatex-opts',
- action='append', dest='dblatex_opts', default=[],
- metavar='DBLATEX_OPTS', help='dblatex options')
- parser.add_option('--fop',
- action='store_true', dest='fop', default=False,
- help='use FOP to generate PDF files')
- parser.add_option('--fop-opts',
- action='append', dest='fop_opts', default=[],
- metavar='FOP_OPTS', help='options for FOP pdf generation')
- parser.add_option('--xsltproc-opts',
- action='append', dest='xsltproc_opts', default=[],
- metavar='XSLTPROC_OPTS', help='options for FOP pdf generation')
- parser.add_option('--xsl-file',
- action='store', dest='xsl_file', metavar='XSL_FILE',
- help='custom XSL stylesheet')
- parser.add_option('-v', '--verbose',
- action='count', dest='verbose', default=0,
- help='increase verbosity')
- if len(sys.argv) == 1:
- parser.parse_args(['--help'])
- source_options = get_source_options(sys.argv[-1])
- argv = source_options + sys.argv[1:]
- opts, args = parser.parse_args(argv)
- if len(args) != 1:
- parser.error('incorrect number of arguments')
- opts.asciidoc_opts = ' '.join(opts.asciidoc_opts)
- opts.dblatex_opts = ' '.join(opts.dblatex_opts)
- opts.fop_opts = ' '.join(opts.fop_opts)
- opts.xsltproc_opts = ' '.join(opts.xsltproc_opts)
- opts = eval(str(opts)) # Convert optparse.Values to dict.
- a2x = A2X(opts)
- OPTIONS = a2x # verbose and dry_run used by utility functions.
- verbose('args: %r' % argv)
- a2x.asciidoc_file = args[0]
- try:
- a2x.load_conf()
- a2x.execute()
- except KeyboardInterrupt:
- exit(1)
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/asciidoc.conf b/code/maint/asciidoc/asciidoc-8.6.3/asciidoc.conf
deleted file mode 100644
index 7100138..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/asciidoc.conf
+++ /dev/null
@@ -1,604 +0,0 @@
-#
-# asciidoc.conf
-#
-# Asciidoc global configuration file.
-# Contains backend independent configuration settings that are applied to all
-# AsciiDoc documents.
-#
-
-[miscellaneous]
-tabsize=8
-textwidth=70
-newline=\r\n
-
-[attributes]
-backend-alias-html=xhtml11
-backend-alias-docbook=docbook45
-toclevels=2
-sectids=
-iconsdir=./images/icons
-encoding=UTF-8
-# Uncomment to use xhtml11 quirks mode CSS.
-#quirks=
-# Uncomment to use the Pygments source highlighter instead of GNU highlighter.
-#pygments=
-# Uncomment to use deprecated quote attributes.
-#deprecated-quotes=
-empty=
-# Attribute and AttributeList element patterns.
-attributeentry-pattern=^:(?P<attrname>\w[^.]*?)(\.(?P<attrname2>.*?))?:(\s+(?P<attrvalue>.*))?$
-attributelist-pattern=(?u)(^\[\[(?P<id>[\w\-_]+)(,(?P<reftext>.*?))?\]\]$)|(^\[(?P<attrlist>.*)\]$)
-# Substitution attributes for escaping AsciiDoc processing.
-amp=&
-lt=<
-gt=>
-brvbar=|
-nbsp= 
-zwsp=​
-wj=⁠
-deg=°
-backslash=\
-two-colons=::
-two-semicolons=;;
-# DEPRECATED: underscore attribute names.
-two_colons=::
-two_semicolons=;;
-
-[titles]
-subs=specialcharacters,quotes,replacements,macros,attributes,replacements2
-# Double-line title pattern and underlines.
-sectiontitle=^(?P<title>.*?)$
-underlines="==","--","~~","^^","++"
-# Single-line title patterns.
-sect0=^= +(?P<title>[\S].*?)( +=)?$
-sect1=^== +(?P<title>[\S].*?)( +==)?$
-sect2=^=== +(?P<title>[\S].*?)( +===)?$
-sect3=^==== +(?P<title>[\S].*?)( +====)?$
-sect4=^===== +(?P<title>[\S].*?)( +=====)?$
-blocktitle=^\.(?P<title>([^.\s].*)|(\.[^.\s].*))$
-
-[specialcharacters]
-&=&
-<=<
->=>
-
-[quotes]
-# The order is important, quotes are processed in conf file order.
-**=#strong
-*=strong
-``|''=doublequoted
-'=emphasis
-`|'=singlequoted
-ifdef::no-inline-literal[]
-`=monospaced
-endif::no-inline-literal[]
-# +++ and $$ quoting is applied to the +++ and $$ inline passthrough
-# macros to allow quoted attributes to be used.
-# This trick only works with inline passthrough macros.
-+++=#unquoted
-$$=#unquoted
-++=#monospaced
-+=monospaced
-__=#emphasis
-_=emphasis
-\##=#unquoted
-\#=unquoted
-^=#superscript
-~=#subscript
-
-[specialwords]
-emphasizedwords=
-strongwords=
-monospacedwords=
-
-[replacements]
-# Replacements performed in order of configuration file entry. The first entry
-# of each replacement pair performs the (non-escaped) replacement, the second
-# strips the backslash from the escaped replacement.
-
-# (C) Copyright (entity reference ©)
-(?<!\\)\(C\)=©
-\\\(C\)=(C)
-
-# (R) registered trade mark (entity reference ®
-(?<!\\)\(R\)=®
-\\\(R\)=(R)
-
-# (TM) Trademark (entity reference ™)
-(?<!\\)\(TM\)=™
-\\\(TM\)=(TM)
-
-# -- Spaced and unspaced em dashes (entity reference —).
-# Space on both sides is translated to thin space characters.
-(^-- )=— 
-(\n-- )|( -- )|( --\n)= — 
-(\w)--(\w)=\1—\2
-\\--(?!-)=--
-
-# Replace vertical typewriter apostrophe with punctuation apostrophe.
-(\w)'(\w)=\1’\2
-(\w)\\'(\w)=\1'\2
-
-# ... Ellipsis (entity reference …)
-(?<!\\)\.\.\.=…
-\\\.\.\.=...
-
-# Arrows from the Arrows block of Unicode.
-# -> right arrow
-(?<!\\)->=→
-\\->=->
-# => right double arrow
-(?<!\\)\=>=⇒
-\\\=>==>
-# <- left arrow
-(?<!\\)<-=←
-\\<-=<-
-# <= left double arrow
-(?<!\\)<\==⇐
-\\<\==<=
-
-# Arbitrary entity references.
-(?<!\\)&([:_#a-zA-Z][:_.\-\w]*?;)=&\1
-\\(&[:_#a-zA-Z][:_.\-\w]*?;)=\1
-
-#-----------
-# Paragraphs
-#-----------
-[paradef-default]
-delimiter=(?s)(?P<text>\S.*)
-posattrs=style
-style=normal
-template::[paragraph-styles]
-
-[paradef-literal]
-delimiter=(?s)(?P<text>\s+.*)
-options=listelement
-posattrs=style
-style=literal
-template::[paragraph-styles]
-
-[paradef-admonition]
-delimiter=(?s)^\s*(?P<style>NOTE|TIP|IMPORTANT|WARNING|CAUTION):\s+(?P<text>.+)
-template::[paragraph-styles]
-
-[paragraph-styles]
-normal-style=template="paragraph"
-verse-style=template="verseparagraph",posattrs=["style","attribution","citetitle"]
-quote-style=template="quoteparagraph",posattrs=["style","attribution","citetitle"]
-literal-style=template="literalparagraph",subs=["verbatim"]
-listing-style=template="listingparagraph",subs=["verbatim"]
-NOTE-style=template="admonitionparagraph",name="note",caption="{note-caption}"
-TIP-style=template="admonitionparagraph",name="tip",caption="{tip-caption}"
-IMPORTANT-style=template="admonitionparagraph",name="important",caption="{important-caption}"
-WARNING-style=template="admonitionparagraph",name="warning",caption="{warning-caption}"
-CAUTION-style=template="admonitionparagraph",name="caution",caption="{caution-caption}"
-
-[literalparagraph]
-template::[literalblock]
-
-[verseparagraph]
-template::[verseblock]
-
-[quoteparagraph]
-template::[quoteblock]
-
-[listingparagraph]
-template::[listingblock]
-
-[macros]
-#--------------
-# Inline macros
-#--------------
-# Backslash prefix required for escape processing.
-# (?s) re flag for line spanning.
-
-# Macros using default syntax.
-(?su)(?<!\w)[\\]?(?P<name>http|https|ftp|file|irc|mailto|callto|image|link|anchor|xref|indexterm):(?P<target>\S*?)\[(?P<attrlist>.*?)\]=
-
-# These URL types don't require any special attribute list formatting.
-(?su)(?<!\S)[\\]?(?P<name>http|https|ftp|file|irc):(?P<target>//[^\s<>]*[\w/])=
-# Allow a leading parenthesis and square bracket.
-(?su)(?<\=[([])[\\]?(?P<name>http|https|ftp|file|irc):(?P<target>//[^\s<>]*[\w/])=
-# Allow <> brackets.
-(?su)[\\]?<(?P<name>http|https|ftp|file|irc):(?P<target>//[^\s<>]*[\w/])>=
-
-# Email addresses don't require special attribute list formatting.
-# The before ">: and after "< character exclusions stop multiple substitution.
-(?su)(?<![">:\w._/-])[\\]?(?P<target>\w[\w._-]*(a)[\w._-]*\w)(?!["<\w_-])=mailto
-
-# Allow footnote macros hard up against the preceding word so the footnote mark
-# can be placed against the noted text without an intervening space
-# (http://groups.google.com/group/asciidoc/browse_frm/thread/e1dcb7ee0efc17b5)
-(?su)[\\]?(?P<name>footnote|footnoteref):(?P<target>\S*?)\[(?P<attrlist>.*?)\]=
-
-# Anchor: [[[id]]]. Bibliographic anchor.
-(?su)[\\]?\[\[\[(?P<attrlist>[\w_:][\w_:.-]*?)\]\]\]=anchor3
-# Anchor: [[id,xreflabel]]
-(?su)[\\]?\[\[(?P<attrlist>[\w"_:].*?)\]\]=anchor2
-# Link: <<id,text>>
-(?su)[\\]?<<(?P<attrlist>[\w"_:].*?)>>=xref2
-
-ifdef::asciidoc7compatible[]
-# Index term: ++primary,secondary,tertiary++
-(?su)(?<!\S)[\\]?\+\+(?P<attrlist>[^+].*?)\+\+(?!\+)=indexterm
-# Index term: +primary+
-# Follows ++...++ macro otherwise it will match them.
-(?<!\S)[\\]?\+(?P<attrlist>[^\s\+][^+].*?)\+(?!\+)=indexterm2
-endif::asciidoc7compatible[]
-
-ifndef::asciidoc7compatible[]
-# Index term: (((primary,secondary,tertiary)))
-(?su)(?<!\()[\\]?\(\(\((?P<attrlist>[^(].*?)\)\)\)(?!\))=indexterm
-# Index term: ((primary))
-# Follows (((...))) macro otherwise it will match them.
-(?<!\()[\\]?\(\((?P<attrlist>[^\s\(][^(].*?)\)\)(?!\))=indexterm2
-endif::asciidoc7compatible[]
-
-# Callout
-[\\]?<(?P<index>\d+)>=callout
-
-# Passthrough macros.
-(?su)[\\]?(?P<name>pass):(?P<subslist>\S*?)\[(?P<passtext>.*?)(?<!\\)\]=[]
-
-# Triple-plus and double-dollar inline passthroughs.
-(?su)[\\]?\+\+\+(?P<passtext>.*?)\+\+\+=pass[]
-(?su)[\\]?\$\$(?P<passtext>.*?)\$\$=pass[specialcharacters]
-
-# Inline literal.
-ifndef::no-inline-literal[]
-(?su)(?<![`\w])([\\]?`(?P<passtext>[^`\s]|[^`\s].*?\S)`)(?![`\w])=literal[specialcharacters]
-endif::no-inline-literal[]
-
-# Inline comment.
-(?mu)^[\\]?//(?P<passtext>[^/].*|)$=comment[specialcharacters]
-
-# Default (catchall) inline macro is not implemented so there is no ambiguity
-# with previous definition that could result in double substitution of escaped
-# references.
-#(?su)[\\]?(?P<name>\w(\w|-)*?):(?P<target>\S*?)\[(?P<passtext>.*?)(?<!\\)\]=
-
-#-------------
-# Block macros
-#-------------
-# Macros using default syntax.
-(?u)^(?P<name>image|unfloat)::(?P<target>\S*?)(\[(?P<attrlist>.*?)\])$=#
-
-# Passthrough macros.
-(?u)^(?P<name>pass)::(?P<subslist>\S*?)(\[(?P<passtext>.*?)\])$=#
-
-^'{3,}$=#ruler
-^<{3,}$=#pagebreak
-^//(?P<passtext>[^/].*|)$=#comment[specialcharacters]
-
-[unfloat-blockmacro]
-# Implemented in HTML backends.
-
-#-----------------
-# Delimited blocks
-#-----------------
-[blockdef-comment]
-delimiter=^/{4,}$
-options=skip
-
-[blockdef-sidebar]
-delimiter=^\*{4,}$
-template=sidebarblock
-options=sectionbody
-posattrs=style
-# DEPRECATED: Use Openblock instead.
-abstract-style=template="abstractblock"
-
-[blockdef-open]
-# A block without opening or closing tags.
-delimiter=^--$
-template=openblock
-options=sectionbody
-posattrs=style
-abstract-style=template="abstractblock"
-partintro-style=template="partintroblock"
-
-[blockdef-pass]
-delimiter=^\+{4,}$
-template=passblock
-# Default subs choosen for backward compatibility.
-subs=attributes,macros
-posattrs=style
-pass-style=template="passblock",subs=[]
-
-[blockdef-listing]
-delimiter=^-{4,}$
-template=listingblock
-subs=verbatim
-posattrs=style
-
-[blockdef-literal]
-delimiter=^\.{4,}$
-template=literalblock
-subs=verbatim
-posattrs=style
-listing-style=template="listingblock"
-# DEPRECATED: Use verse style on quote blocks instead.
-verse-style=template="verseblock",subs="normal"
-
-[blockdef-quote]
-delimiter=^_{4,}$
-subs=normal
-style=quote
-posattrs=style,attribution,citetitle
-quote-style=template="quoteblock",options=("sectionbody",)
-verse-style=template="verseblock"
-
-[blockdef-example]
-delimiter=^={4,}$
-template=exampleblock
-options=sectionbody
-posattrs=style
-NOTE-style=template="admonitionblock",name="note",caption="{note-caption}"
-TIP-style=template="admonitionblock",name="tip",caption="{tip-caption}"
-IMPORTANT-style=template="admonitionblock",name="important",caption="{important-caption}"
-WARNING-style=template="admonitionblock",name="warning",caption="{warning-caption}"
-CAUTION-style=template="admonitionblock",name="caution",caption="{caution-caption}"
-
-# For use by custom filters.
-# DEPRECATED: No longer used, a styled listing block (blockdef-listing) is preferable.
-[blockdef-filter]
-delimiter=^~{4,}$
-template=listingblock
-subs=none
-posattrs=style
-
-#-------
-# Lists
-#-------
-[listdef-bulleted]
-# - bullets.
-delimiter=^\s*- +(?P<text>.+)$
-posattrs=style
-type=bulleted
-tags=bulleted
-callout-style=tags="callout"
-bibliography-style=tags="bibliography"
-
-[listdef-bulleted1]
-# * bullets.
-template::[listdef-bulleted]
-delimiter=^\s*\* +(?P<text>.+)$
-
-[listdef-bulleted2]
-# ** bullets.
-template::[listdef-bulleted]
-delimiter=^\s*\*{2} +(?P<text>.+)$
-
-[listdef-bulleted3]
-# *** bullets.
-template::[listdef-bulleted]
-delimiter=^\s*\*{3} +(?P<text>.+)$
-
-[listdef-bulleted4]
-# **** bullets.
-template::[listdef-bulleted]
-delimiter=^\s*\*{4} +(?P<text>.+)$
-
-[listdef-bulleted5]
-# ***** bullets.
-template::[listdef-bulleted]
-delimiter=^\s*\*{5} +(?P<text>.+)$
-
-[listdef-arabic]
-# Arabic numbering.
-delimiter=^\s*(?P<index>\d+\.) +(?P<text>.+)$
-posattrs=style
-type=numbered
-tags=numbered
-style=arabic
-
-[listdef-loweralpha]
-# Lower alpha numbering.
-template::[listdef-arabic]
-delimiter=^\s*(?P<index>[a-z]\.) +(?P<text>.+)$
-style=loweralpha
-
-[listdef-upperalpha]
-# Upper alpha numbering.
-template::[listdef-arabic]
-delimiter=^\s*(?P<index>[A-Z]\.) +(?P<text>.+)$
-style=upperalpha
-
-[listdef-lowerroman]
-# Lower roman numbering.
-template::[listdef-arabic]
-delimiter=^\s*(?P<index>[ivx]+\)) +(?P<text>.+)$
-style=lowerroman
-
-[listdef-upperroman]
-# Upper roman numbering.
-template::[listdef-arabic]
-delimiter=^\s*(?P<index>[IVX]+\)) +(?P<text>.+)$
-style=upperroman
-
-[listdef-numbered1]
-# . numbering.
-template::[listdef-arabic]
-delimiter=^\s*\. +(?P<text>.+)$
-
-[listdef-numbered2]
-# .. numbering.
-template::[listdef-loweralpha]
-delimiter=^\s*\.{2} +(?P<text>.+)$
-
-[listdef-numbered3]
-# ... numbering.
-template::[listdef-lowerroman]
-delimiter=^\s*\.{3} +(?P<text>.+)$
-
-[listdef-numbered4]
-# .... numbering.
-template::[listdef-upperalpha]
-delimiter=^\s*\.{4} +(?P<text>.+)$
-
-[listdef-numbered5]
-# ..... numbering.
-template::[listdef-upperroman]
-delimiter=^\s*\.{5} +(?P<text>.+)$
-
-[listdef-labeled]
-# label:: item.
-delimiter=^\s*(?P<label>.*[^:])::(\s+(?P<text>.+))?$
-posattrs=style
-type=labeled
-tags=labeled
-vertical-style=tags="labeled"
-horizontal-style=tags="horizontal"
-glossary-style=tags="glossary"
-qanda-style=tags="qanda"
-
-[listdef-labeled2]
-# label;; item.
-template::[listdef-labeled]
-delimiter=^\s*(?P<label>.*[^;]);;(\s+(?P<text>.+))?$
-
-[listdef-labeled3]
-# label::: item.
-template::[listdef-labeled]
-delimiter=^\s*(?P<label>.*[^:]):{3}(\s+(?P<text>.+))?$
-
-[listdef-labeled4]
-# label:::: item.
-template::[listdef-labeled]
-delimiter=^\s*(?P<label>.*[^:]):{4}(\s+(?P<text>.+))?$
-
-[listdef-callout]
-posattrs=style
-delimiter=^<?(?P<index>\d*>) +(?P<text>.+)$
-type=callout
-tags=callout
-style=arabic
-
-# DEPRECATED: Old list syntax.
-[listdef-qanda]
-posattrs=style
-delimiter=^\s*(?P<label>.*\S)\?\?$
-type=labeled
-tags=qanda
-
-# DEPRECATED: Old list syntax.
-[listdef-bibliography]
-posattrs=style
-delimiter=^\+ +(?P<text>.+)$
-type=bulleted
-tags=bibliography
-
-# DEPRECATED: Old list syntax.
-[listdef-glossary]
-delimiter=^(?P<label>.*\S):-$
-posattrs=style
-type=labeled
-tags=glossary
-
-#-------
-# Tables
-#-------
-[tabledef-default]
-delimiter=^\|={3,}$
-posattrs=style
-template=table
-default-style=tags="default"
-verse-style=tags="verse"
-literal-style=tags="literal",subs=["specialcharacters"]
-emphasis-style=tags="emphasis"
-strong-style=tags="strong"
-monospaced-style=tags="monospaced"
-header-style=tags="header"
-asciidoc-style=tags="asciidoc",subs=[],filter='python "{asciidoc-file}" -b {backend}{icons? -a icons -a "iconsdir={iconsdir}"}{imagesdir? -a "imagesdir={imagesdir}"}{data-uri? -a data-uri} -a "indir={indir}"{trace? -a "trace={trace}"} -s -'
-
-[tabledef-nested]
-# Same as [tabledef-default] but with different delimiter and separator.
-delimiter=^!={3,}$
-separator=((?<!\S)((?P<span>[\d.]+)(?P<op>[*+]))?(?P<align>[<\^>.]{,3})?(?P<style>[a-z])?)?!
-posattrs=style
-template=table
-verse-style=tags="verse"
-literal-style=tags="literal",subs=["specialcharacters"]
-emphasis-style=tags="emphasis"
-strong-style=tags="strong"
-monospaced-style=tags="monospaced"
-header-style=tags="header"
-asciidoc-style=tags="asciidoc",subs=[],filter='python "{asciidoc-file}" -b {backend} -s -'
-
-#----------------------------------------
-# Common block and macro markup templates
-#----------------------------------------
-[comment-inlinemacro]
-# Outputs nothing.
-
-[comment-blockmacro]
-# Outputs nothing.
-
-[pass-blockmacro]
-{passtext}
-
-[pass-inlinemacro]
-template::[pass-blockmacro]
-
-[passblock]
-|
-
-[filter-image-blockmacro]
-# Synthesize missing target attribute for filter generated file names.
-# The tag split | ensures missing target file names are auto-generated
-# before the filter is executed, the remainder (the [image-blockmacro])
-# is excuted after the filter to ensure data URI encoding comes after
-# the image is created.
-{target%}{counter2:target-number}
-{target%}{set2:target:{docname}__{target-number}.png}
-|
-template::[image-blockmacro]
-
-#----------------------------------
-# Default special section templates
-#----------------------------------
-[abstract]
-template::[sect1]
-
-[colophon]
-template::[sect1]
-
-[dedication]
-template::[sect1]
-
-[preface]
-template::[sect1]
-
-[appendix]
-template::[sect1]
-
-[glossary]
-template::[sect1]
-
-[bibliography]
-template::[sect1]
-
-[index]
-template::[sect1]
-
-[synopsis]
-template::[sect1]
-
-#--------------------------------------------------------------------
-# Deprecated old table definitions.
-#
-
-[old_tabledef-default]
-fillchar=-
-format=fixed
-
-[old_tabledef-csv]
-fillchar=~
-format=csv
-
-[old_tabledef-dsv]
-fillchar=_
-format=dsv
-
-# End of deprecated old table definitions.
-#--------------------------------------------------------------------
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/asciidoc.py b/code/maint/asciidoc/asciidoc-8.6.3/asciidoc.py
deleted file mode 100755
index 350d676..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/asciidoc.py
+++ /dev/null
@@ -1,5668 +0,0 @@
-#!/usr/bin/env python
-"""
-asciidoc - converts an AsciiDoc text file to HTML or DocBook
-
-Copyright (C) 2002-2010 Stuart Rackham. Free use of this software is granted
-under the terms of the GNU General Public License (GPL).
-"""
-
-import sys, os, re, time, traceback, tempfile, subprocess, codecs, locale
-
-### Used by asciidocapi.py ###
-VERSION = '8.6.3' # See CHANGLOG file for version history.
-
-MIN_PYTHON_VERSION = 2.4 # Require this version of Python or better.
-
-#---------------------------------------------------------------------------
-# Program constants.
-#---------------------------------------------------------------------------
-DEFAULT_BACKEND = 'html'
-DEFAULT_DOCTYPE = 'article'
-# Allowed substitution options for List, Paragraph and DelimitedBlock
-# definition subs entry.
-SUBS_OPTIONS = ('specialcharacters','quotes','specialwords',
- 'replacements', 'attributes','macros','callouts','normal','verbatim',
- 'none','replacements2')
-# Default value for unspecified subs and presubs configuration file entries.
-SUBS_NORMAL = ('specialcharacters','quotes','attributes',
- 'specialwords','replacements','macros','replacements2')
-SUBS_VERBATIM = ('specialcharacters','callouts')
-
-NAME_RE = r'(?u)[^\W\d][-\w]*' # Valid section or attribute name.
-OR, AND = ',', '+' # Attribute list separators.
-
-
-#---------------------------------------------------------------------------
-# Utility functions and classes.
-#---------------------------------------------------------------------------
-
-class EAsciiDoc(Exception): pass
-
-class OrderedDict(dict):
- """
- Dictionary ordered by insertion order.
- Python Cookbook: Ordered Dictionary, Submitter: David Benjamin.
- http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/107747
- """
- def __init__(self, d=None, **kwargs):
- self._keys = []
- if d is None: d = kwargs
- dict.__init__(self, d)
- def __delitem__(self, key):
- dict.__delitem__(self, key)
- self._keys.remove(key)
- def __setitem__(self, key, item):
- dict.__setitem__(self, key, item)
- if key not in self._keys: self._keys.append(key)
- def clear(self):
- dict.clear(self)
- self._keys = []
- def copy(self):
- d = dict.copy(self)
- d._keys = self._keys[:]
- return d
- def items(self):
- return zip(self._keys, self.values())
- def keys(self):
- return self._keys
- def popitem(self):
- try:
- key = self._keys[-1]
- except IndexError:
- raise KeyError('dictionary is empty')
- val = self[key]
- del self[key]
- return (key, val)
- def setdefault(self, key, failobj = None):
- dict.setdefault(self, key, failobj)
- if key not in self._keys: self._keys.append(key)
- def update(self, d=None, **kwargs):
- if d is None:
- d = kwargs
- dict.update(self, d)
- for key in d.keys():
- if key not in self._keys: self._keys.append(key)
- def values(self):
- return map(self.get, self._keys)
-
-class AttrDict(dict):
- """
- Like a dictionary except values can be accessed as attributes i.e. obj.foo
- can be used in addition to obj['foo'].
- If an item is not present None is returned.
- """
- def __getattr__(self, key):
- try: return self[key]
- except KeyError, k: return None
- def __setattr__(self, key, value):
- self[key] = value
- def __delattr__(self, key):
- try: del self[key]
- except KeyError, k: raise AttributeError, k
- def __repr__(self):
- return '<AttrDict ' + dict.__repr__(self) + '>'
- def __getstate__(self):
- return dict(self)
- def __setstate__(self,value):
- for k,v in value.items(): self[k]=v
-
-class InsensitiveDict(dict):
- """
- Like a dictionary except key access is case insensitive.
- Keys are stored in lower case.
- """
- def __getitem__(self, key):
- return dict.__getitem__(self, key.lower())
- def __setitem__(self, key, value):
- dict.__setitem__(self, key.lower(), value)
- def has_key(self, key):
- return dict.has_key(self,key.lower())
- def get(self, key, default=None):
- return dict.get(self, key.lower(), default)
- def update(self, dict):
- for k,v in dict.items():
- self[k] = v
- def setdefault(self, key, default = None):
- return dict.setdefault(self, key.lower(), default)
-
-
-class Trace(object):
- """
- Used in conjunction with the 'trace' attribute to generate diagnostic
- output. There is a single global instance of this class named trace.
- """
- SUBS_NAMES = ('specialcharacters','quotes','specialwords',
- 'replacements', 'attributes','macros','callouts',
- 'replacements2')
- def __init__(self):
- self.name_re = '' # Regexp pattern to match trace names.
- self.linenos = True
- self.offset = 0
- def __call__(self, name, before, after=None):
- """
- Print trace message if tracing is on and the trace 'name' matches the
- document 'trace' attribute (treated as a regexp).
- The 'before' and 'after' messages are only printed if they differ.
- """
- name_re = document.attributes.get('trace')
- if name_re == 'subs': # Alias for all the inline substitutions.
- name_re = '|'.join(self.SUBS_NAMES)
- self.name_re = name_re
- if self.name_re is not None:
- msg = message.format(name, 'TRACE: ', self.linenos, offset=self.offset)
- if before != after and re.match(self.name_re,name):
- if is_array(before):
- before = '\n'.join(before)
- if after is None:
- msg += '\n%s\n' % before
- else:
- if is_array(after):
- after = '\n'.join(after)
- msg += '\n<<<\n%s\n>>>\n%s\n' % (before,after)
- message.stderr(msg)
-
-class Message:
- """
- Message functions.
- """
- PROG = os.path.basename(os.path.splitext(__file__)[0])
-
- def __init__(self):
- # Set to True or False to globally override line numbers method
- # argument. Has no effect when set to None.
- self.linenos = None
- self.messages = []
-
- def stderr(self,msg=''):
- self.messages.append(msg)
- if __name__ == '__main__':
- sys.stderr.write('%s: %s%s' % (self.PROG, msg, os.linesep))
-
- def verbose(self, msg,linenos=True):
- if config.verbose:
- msg = self.format(msg,linenos=linenos)
- self.stderr(msg)
-
- def warning(self, msg,linenos=True,offset=0):
- msg = self.format(msg,'WARNING: ',linenos,offset=offset)
- document.has_warnings = True
- self.stderr(msg)
-
- def deprecated(self, msg, linenos=True):
- msg = self.format(msg, 'DEPRECATED: ', linenos)
- self.stderr(msg)
-
- def format(self, msg, prefix='', linenos=True, cursor=None, offset=0):
- """Return formatted message string."""
- if self.linenos is not False and ((linenos or self.linenos) and reader.cursor):
- if cursor is None:
- cursor = reader.cursor
- prefix += '%s: line %d: ' % (os.path.basename(cursor[0]),cursor[1]+offset)
- return prefix + msg
-
- def error(self, msg, cursor=None, halt=False):
- """
- Report fatal error.
- If halt=True raise EAsciiDoc exception.
- If halt=False don't exit application, continue in the hope of reporting
- all fatal errors finishing with a non-zero exit code.
- """
- if halt:
- raise EAsciiDoc, self.format(msg,linenos=False,cursor=cursor)
- else:
- msg = self.format(msg,'ERROR: ',cursor=cursor)
- self.stderr(msg)
- document.has_errors = True
-
- def unsafe(self, msg):
- self.error('unsafe: '+msg)
-
-
-def localapp():
- """
- Return True if we are not executing the system wide version
- i.e. the configuration is in the executable's directory.
- """
- return os.path.isfile(os.path.join(APP_DIR, 'asciidoc.conf'))
-
-def file_in(fname, directory):
- """Return True if file fname resides inside directory."""
- assert os.path.isfile(fname)
- # Empty directory (not to be confused with None) is the current directory.
- if directory == '':
- directory = os.getcwd()
- else:
- assert os.path.isdir(directory)
- directory = os.path.realpath(directory)
- fname = os.path.realpath(fname)
- return os.path.commonprefix((directory, fname)) == directory
-
-def safe():
- return document.safe
-
-def is_safe_file(fname, directory=None):
- # A safe file must reside in directory directory (defaults to the source
- # file directory).
- if directory is None:
- if document.infile == '<stdin>':
- return not safe()
- directory = os.path.dirname(document.infile)
- elif directory == '':
- directory = '.'
- return (
- not safe()
- or file_in(fname, directory)
- or file_in(fname, APP_DIR)
- or file_in(fname, CONF_DIR)
- )
-
-def safe_filename(fname, parentdir):
- """
- Return file name which must reside in the parent file directory.
- Return None if file is not found or not safe.
- """
- if not os.path.isabs(fname):
- # Include files are relative to parent document
- # directory.
- fname = os.path.normpath(os.path.join(parentdir,fname))
- if not os.path.isfile(fname):
- message.warning('include file not found: %s' % fname)
- return None
- if not is_safe_file(fname, parentdir):
- message.unsafe('include file: %s' % fname)
- return None
- return fname
-
-def assign(dst,src):
- """Assign all attributes from 'src' object to 'dst' object."""
- for a,v in src.__dict__.items():
- setattr(dst,a,v)
-
-def strip_quotes(s):
- """Trim white space and, if necessary, quote characters from s."""
- s = s.strip()
- # Strip quotation mark characters from quoted strings.
- if len(s) >= 3 and s[0] == '"' and s[-1] == '"':
- s = s[1:-1]
- return s
-
-def is_re(s):
- """Return True if s is a valid regular expression else return False."""
- try: re.compile(s)
- except: return False
- else: return True
-
-def re_join(relist):
- """Join list of regular expressions re1,re2,... to single regular
- expression (re1)|(re2)|..."""
- if len(relist) == 0:
- return None
- result = []
- # Delete named groups to avoid ambiguity.
- for s in relist:
- result.append(re.sub(r'\?P<\S+?>','',s))
- result = ')|('.join(result)
- result = '('+result+')'
- return result
-
-def validate(value,rule,errmsg):
- """Validate value against rule expression. Throw EAsciiDoc exception with
- errmsg if validation fails."""
- try:
- if not eval(rule.replace('$',str(value))):
- raise EAsciiDoc,errmsg
- except Exception:
- raise EAsciiDoc,errmsg
- return value
-
-def lstrip_list(s):
- """
- Return list with empty items from start of list removed.
- """
- for i in range(len(s)):
- if s[i]: break
- else:
- return []
- return s[i:]
-
-def rstrip_list(s):
- """
- Return list with empty items from end of list removed.
- """
- for i in range(len(s)-1,-1,-1):
- if s[i]: break
- else:
- return []
- return s[:i+1]
-
-def strip_list(s):
- """
- Return list with empty items from start and end of list removed.
- """
- s = lstrip_list(s)
- s = rstrip_list(s)
- return s
-
-def is_array(obj):
- """
- Return True if object is list or tuple type.
- """
- return isinstance(obj,list) or isinstance(obj,tuple)
-
-def dovetail(lines1, lines2):
- """
- Append list or tuple of strings 'lines2' to list 'lines1'. Join the last
- non-blank item in 'lines1' with the first non-blank item in 'lines2' into a
- single string.
- """
- assert is_array(lines1)
- assert is_array(lines2)
- lines1 = strip_list(lines1)
- lines2 = strip_list(lines2)
- if not lines1 or not lines2:
- return list(lines1) + list(lines2)
- result = list(lines1[:-1])
- result.append(lines1[-1] + lines2[0])
- result += list(lines2[1:])
- return result
-
-def dovetail_tags(stag,content,etag):
- """Merge the end tag with the first content line and the last
- content line with the end tag. This ensures verbatim elements don't
- include extraneous opening and closing line breaks."""
- return dovetail(dovetail(stag,content), etag)
-
-def parse_attributes(attrs,dict):
- """Update a dictionary with name/value attributes from the attrs string.
- The attrs string is a comma separated list of values and keyword name=value
- pairs. Values must preceed keywords and are named '1','2'... The entire
- attributes list is named '0'. If keywords are specified string values must
- be quoted. Examples:
-
- attrs: ''
- dict: {}
-
- attrs: 'hello,world'
- dict: {'2': 'world', '0': 'hello,world', '1': 'hello'}
-
- attrs: '"hello", planet="earth"'
- dict: {'planet': 'earth', '0': '"hello",planet="earth"', '1': 'hello'}
- """
- def f(*args,**keywords):
- # Name and add aguments '1','2'... to keywords.
- for i in range(len(args)):
- if not str(i+1) in keywords:
- keywords[str(i+1)] = args[i]
- return keywords
-
- if not attrs:
- return
- dict['0'] = attrs
- # Replace line separators with spaces so line spanning works.
- s = re.sub(r'\s', ' ', attrs)
- try:
- d = eval('f('+s+')')
- # Attributes must evaluate to strings, numbers or None.
- for v in d.values():
- if not (isinstance(v,str) or isinstance(v,int) or isinstance(v,float) or v is None):
- raise Exception
- except Exception:
- s = s.replace('"','\\"')
- s = s.split(',')
- s = map(lambda x: '"' + x.strip() + '"', s)
- s = ','.join(s)
- try:
- d = eval('f('+s+')')
- except Exception:
- return # If there's a syntax error leave with {0}=attrs.
- for k in d.keys(): # Drop any empty positional arguments.
- if d[k] == '': del d[k]
- dict.update(d)
- assert len(d) > 0
-
-def parse_named_attributes(s,attrs):
- """Update a attrs dictionary with name="value" attributes from the s string.
- Returns False if invalid syntax.
- Example:
- attrs: 'star="sun",planet="earth"'
- dict: {'planet':'earth', 'star':'sun'}
- """
- def f(**keywords): return keywords
-
- try:
- d = eval('f('+s+')')
- attrs.update(d)
- return True
- except Exception:
- return False
-
-def parse_list(s):
- """Parse comma separated string of Python literals. Return a tuple of of
- parsed values."""
- try:
- result = eval('tuple(['+s+'])')
- except Exception:
- raise EAsciiDoc,'malformed list: '+s
- return result
-
-def parse_options(options,allowed,errmsg):
- """Parse comma separated string of unquoted option names and return as a
- tuple of valid options. 'allowed' is a list of allowed option values.
- If allowed=() then all legitimate names are allowed.
- 'errmsg' is an error message prefix if an illegal option error is thrown."""
- result = []
- if options:
- for s in re.split(r'\s*,\s*',options):
- if (allowed and s not in allowed) or not is_name(s):
- raise EAsciiDoc,'%s: %s' % (errmsg,s)
- result.append(s)
- return tuple(result)
-
-def symbolize(s):
- """Drop non-symbol characters and convert to lowercase."""
- return re.sub(r'(?u)[^\w\-_]', '', s).lower()
-
-def is_name(s):
- """Return True if s is valid attribute, macro or tag name
- (starts with alpha containing alphanumeric and dashes only)."""
- return re.match(r'^'+NAME_RE+r'$',s) is not None
-
-def subs_quotes(text):
- """Quoted text is marked up and the resulting text is
- returned."""
- keys = config.quotes.keys()
- for q in keys:
- i = q.find('|')
- if i != -1 and q != '|' and q != '||':
- lq = q[:i] # Left quote.
- rq = q[i+1:] # Right quote.
- else:
- lq = rq = q
- tag = config.quotes[q]
- # Unconstrained quotes prefix the tag name with a hash.
- if tag[0] == '#':
- tag = tag[1:]
- # Unconstrained quotes can appear anywhere.
- reo = re.compile(r'(?msu)(^|.)(\[(?P<attrlist>[^[\]]+?)\])?' \
- + r'(?:' + re.escape(lq) + r')' \
- + r'(?P<content>.+?)(?:'+re.escape(rq)+r')')
- else:
- # The text within constrained quotes must be bounded by white space.
- # Non-word (\W) characters are allowed at boundaries to accomodate
- # enveloping quotes and punctuation e.g. a='x', ('x'), 'x', ['x'].
- reo = re.compile(r'(?msu)(^|[^\w;:])(\[(?P<attrlist>[^[\]]+?)\])?' \
- + r'(?:' + re.escape(lq) + r')' \
- + r'(?P<content>\S|\S.*?\S)(?:'+re.escape(rq)+r')(?=\W|$)')
- pos = 0
- while True:
- mo = reo.search(text,pos)
- if not mo: break
- if text[mo.start()] == '\\':
- # Delete leading backslash.
- text = text[:mo.start()] + text[mo.start()+1:]
- # Skip past start of match.
- pos = mo.start() + 1
- else:
- attrlist = {}
- parse_attributes(mo.group('attrlist'), attrlist)
- stag,etag = config.tag(tag, attrlist)
- s = mo.group(1) + stag + mo.group('content') + etag
- text = text[:mo.start()] + s + text[mo.end():]
- pos = mo.start() + len(s)
- return text
-
-def subs_tag(tag,dict={}):
- """Perform attribute substitution and split tag string returning start, end
- tag tuple (c.f. Config.tag())."""
- if not tag:
- return [None,None]
- s = subs_attrs(tag,dict)
- if not s:
- message.warning('tag \'%s\' dropped: contains undefined attribute' % tag)
- return [None,None]
- result = s.split('|')
- if len(result) == 1:
- return result+[None]
- elif len(result) == 2:
- return result
- else:
- raise EAsciiDoc,'malformed tag: %s' % tag
-
-def parse_entry(entry, dict=None, unquote=False, unique_values=False,
- allow_name_only=False, escape_delimiter=True):
- """Parse name=value entry to dictionary 'dict'. Return tuple (name,value)
- or None if illegal entry.
- If name= then value is set to ''.
- If name and allow_name_only=True then value is set to ''.
- If name! and allow_name_only=True then value is set to None.
- Leading and trailing white space is striped from 'name' and 'value'.
- 'name' can contain any printable characters.
- If the '=' delimiter character is allowed in the 'name' then
- it must be escaped with a backslash and escape_delimiter must be True.
- If 'unquote' is True leading and trailing double-quotes are stripped from
- 'name' and 'value'.
- If unique_values' is True then dictionary entries with the same value are
- removed before the parsed entry is added."""
- if escape_delimiter:
- mo = re.search(r'(?:[^\\](=))',entry)
- else:
- mo = re.search(r'(=)',entry)
- if mo: # name=value entry.
- if mo.group(1):
- name = entry[:mo.start(1)]
- if escape_delimiter:
- name = name.replace(r'\=','=') # Unescape \= in name.
- value = entry[mo.end(1):]
- elif allow_name_only and entry: # name or name! entry.
- name = entry
- if name[-1] == '!':
- name = name[:-1]
- value = None
- else:
- value = ''
- else:
- return None
- if unquote:
- name = strip_quotes(name)
- if value is not None:
- value = strip_quotes(value)
- else:
- name = name.strip()
- if value is not None:
- value = value.strip()
- if not name:
- return None
- if dict is not None:
- if unique_values:
- for k,v in dict.items():
- if v == value: del dict[k]
- dict[name] = value
- return name,value
-
-def parse_entries(entries, dict, unquote=False, unique_values=False,
- allow_name_only=False,escape_delimiter=True):
- """Parse name=value entries from from lines of text in 'entries' into
- dictionary 'dict'. Blank lines are skipped."""
- entries = config.expand_templates(entries)
- for entry in entries:
- if entry and not parse_entry(entry, dict, unquote, unique_values,
- allow_name_only, escape_delimiter):
- raise EAsciiDoc,'malformed section entry: %s' % entry
-
-def dump_section(name,dict,f=sys.stdout):
- """Write parameters in 'dict' as in configuration file section format with
- section 'name'."""
- f.write('[%s]%s' % (name,writer.newline))
- for k,v in dict.items():
- k = str(k)
- k = k.replace('=',r'\=') # Escape = in name.
- # Quote if necessary.
- if len(k) != len(k.strip()):
- k = '"'+k+'"'
- if v and len(v) != len(v.strip()):
- v = '"'+v+'"'
- if v is None:
- # Don't dump undefined attributes.
- continue
- else:
- s = k+'='+v
- if s[0] == '#':
- s = '\\' + s # Escape so not treated as comment lines.
- f.write('%s%s' % (s,writer.newline))
- f.write(writer.newline)
-
-def update_attrs(attrs,dict):
- """Update 'attrs' dictionary with parsed attributes in dictionary 'dict'."""
- for k,v in dict.items():
- if not is_name(k):
- raise EAsciiDoc,'illegal attribute name: %s' % k
- attrs[k] = v
-
-def is_attr_defined(attrs,dic):
- """
- Check if the sequence of attributes is defined in dictionary 'dic'.
- Valid 'attrs' sequence syntax:
- <attr> Return True if single attrbiute is defined.
- <attr1>,<attr2>,... Return True if one or more attributes are defined.
- <attr1>+<attr2>+... Return True if all the attributes are defined.
- """
- if OR in attrs:
- for a in attrs.split(OR):
- if dic.get(a.strip()) is not None:
- return True
- else: return False
- elif AND in attrs:
- for a in attrs.split(AND):
- if dic.get(a.strip()) is None:
- return False
- else: return True
- else:
- return dic.get(attrs.strip()) is not None
-
-def filter_lines(filter_cmd, lines, attrs={}):
- """
- Run 'lines' through the 'filter_cmd' shell command and return the result.
- The 'attrs' dictionary contains additional filter attributes.
- """
- def findfilter(name,dir,filter):
- """Find filter file 'fname' with style name 'name' in directory
- 'dir'. Return found file path or None if not found."""
- if name:
- result = os.path.join(dir,'filters',name,filter)
- if os.path.isfile(result):
- return result
- result = os.path.join(dir,'filters',filter)
- if os.path.isfile(result):
- return result
- return None
-
- # Return input lines if there's not filter.
- if not filter_cmd or not filter_cmd.strip():
- return lines
- # Perform attributes substitution on the filter command.
- s = subs_attrs(filter_cmd, attrs)
- if not s:
- message.error('undefined filter attribute in command: %s' % filter_cmd)
- return []
- filter_cmd = s.strip()
- # Parse for quoted and unquoted command and command tail.
- # Double quoted.
- mo = re.match(r'^"(?P<cmd>[^"]+)"(?P<tail>.*)$', filter_cmd)
- if not mo:
- # Single quoted.
- mo = re.match(r"^'(?P<cmd>[^']+)'(?P<tail>.*)$", filter_cmd)
- if not mo:
- # Unquoted catch all.
- mo = re.match(r'^(?P<cmd>\S+)(?P<tail>.*)$', filter_cmd)
- cmd = mo.group('cmd').strip()
- found = None
- if not os.path.dirname(cmd):
- # Filter command has no directory path so search filter directories.
- filtername = attrs.get('style')
- d = document.attributes.get('docdir')
- if d:
- found = findfilter(filtername, d, cmd)
- if not found:
- if USER_DIR:
- found = findfilter(filtername, USER_DIR, cmd)
- if not found:
- if localapp():
- found = findfilter(filtername, APP_DIR, cmd)
- else:
- found = findfilter(filtername, CONF_DIR, cmd)
- else:
- if os.path.isfile(cmd):
- found = cmd
- else:
- message.warning('filter not found: %s' % cmd)
- if found:
- filter_cmd = '"' + found + '"' + mo.group('tail')
- if sys.platform == 'win32':
- # Windows doesn't like running scripts directly so explicitly
- # specify interpreter.
- if found:
- if cmd.endswith('.py'):
- filter_cmd = 'python ' + filter_cmd
- elif cmd.endswith('.rb'):
- filter_cmd = 'ruby ' + filter_cmd
- message.verbose('filtering: ' + filter_cmd)
- try:
- p = subprocess.Popen(filter_cmd, shell=True,
- stdin=subprocess.PIPE, stdout=subprocess.PIPE)
- output = p.communicate(os.linesep.join(lines))[0]
- except Exception:
- raise EAsciiDoc,'filter error: %s: %s' % (filter_cmd, sys.exc_info()[1])
- if output:
- result = [s.rstrip() for s in output.split(os.linesep)]
- else:
- result = []
- filter_status = p.wait()
- if filter_status:
- message.warning('filter non-zero exit code: %s: returned %d' %
- (filter_cmd, filter_status))
- if lines and not result:
- message.warning('no output from filter: %s' % filter_cmd)
- return result
-
-def system(name, args, is_macro=False, attrs=None):
- """
- Evaluate a system attribute ({name:args}) or system block macro
- (name::[args]).
- If is_macro is True then we are processing a system block macro otherwise
- it's a system attribute.
- The attrs dictionary is updated by the counter and set system attributes.
- NOTE: The include1 attribute is used internally by the include1::[] macro
- and is not for public use.
- """
- if is_macro:
- syntax = '%s::[%s]' % (name,args)
- separator = '\n'
- else:
- syntax = '{%s:%s}' % (name,args)
- separator = writer.newline
- if name not in ('eval','eval3','sys','sys2','sys3','include','include1','counter','counter2','set','set2','template'):
- if is_macro:
- msg = 'illegal system macro name: %s' % name
- else:
- msg = 'illegal system attribute name: %s' % name
- message.warning(msg)
- return None
- if is_macro:
- s = subs_attrs(args)
- if s is None:
- message.warning('skipped %s: undefined attribute in: %s' % (name,args))
- return None
- args = s
- if name != 'include1':
- message.verbose('evaluating: %s' % syntax)
- if safe() and name not in ('include','include1'):
- message.unsafe(syntax)
- return None
- result = None
- if name in ('eval','eval3'):
- try:
- result = eval(args)
- if result is True:
- result = ''
- elif result is False:
- result = None
- elif result is not None:
- result = str(result)
- except Exception:
- message.warning('%s: evaluation error' % syntax)
- elif name in ('sys','sys2','sys3'):
- result = ''
- fd,tmp = tempfile.mkstemp()
- os.close(fd)
- try:
- cmd = args
- cmd = cmd + (' > %s' % tmp)
- if name == 'sys2':
- cmd = cmd + ' 2>&1'
- if os.system(cmd):
- message.warning('%s: non-zero exit status' % syntax)
- try:
- if os.path.isfile(tmp):
- lines = [s.rstrip() for s in open(tmp)]
- else:
- lines = []
- except Exception:
- raise EAsciiDoc,'%s: temp file read error' % syntax
- result = separator.join(lines)
- finally:
- if os.path.isfile(tmp):
- os.remove(tmp)
- elif name in ('counter','counter2'):
- mo = re.match(r'^(?P<attr>[^:]*?)(:(?P<seed>.*))?$', args)
- attr = mo.group('attr')
- seed = mo.group('seed')
- if seed and (not re.match(r'^\d+$', seed) and len(seed) > 1):
- message.warning('%s: illegal counter seed: %s' % (syntax,seed))
- return None
- if not is_name(attr):
- message.warning('%s: illegal attribute name' % syntax)
- return None
- value = document.attributes.get(attr)
- if value:
- if not re.match(r'^\d+$', value) and len(value) > 1:
- message.warning('%s: illegal counter value: %s'
- % (syntax,value))
- return None
- if re.match(r'^\d+$', value):
- expr = value + '+1'
- else:
- expr = 'chr(ord("%s")+1)' % value
- try:
- result = str(eval(expr))
- except Exception:
- message.warning('%s: evaluation error: %s' % (syntax, expr))
- else:
- if seed:
- result = seed
- else:
- result = '1'
- document.attributes[attr] = result
- if attrs is not None:
- attrs[attr] = result
- if name == 'counter2':
- result = ''
- elif name in ('set','set2'):
- mo = re.match(r'^(?P<attr>[^:]*?)(:(?P<value>.*))?$', args)
- attr = mo.group('attr')
- value = mo.group('value')
- if value is None:
- value = ''
- if attr.endswith('!'):
- attr = attr[:-1]
- value = None
- if not is_name(attr):
- message.warning('%s: illegal attribute name' % syntax)
- else:
- if attrs is not None:
- attrs[attr] = value
- if name != 'set2': # set2 only updates local attributes.
- document.attributes[attr] = value
- if value is None:
- result = None
- else:
- result = ''
- elif name == 'include':
- if not os.path.exists(args):
- message.warning('%s: file does not exist' % syntax)
- elif not is_safe_file(args):
- message.unsafe(syntax)
- else:
- result = [s.rstrip() for s in open(args)]
- if result:
- result = subs_attrs(result)
- result = separator.join(result)
- result = result.expandtabs(reader.tabsize)
- else:
- result = ''
- elif name == 'include1':
- result = separator.join(config.include1[args])
- elif name == 'template':
- if not args in config.sections:
- message.warning('%s: template does not exist' % syntax)
- else:
- result = []
- for line in config.sections[args]:
- line = subs_attrs(line)
- if line is not None:
- result.append(line)
- result = '\n'.join(result)
- else:
- assert False
- if result and name in ('eval3','sys3'):
- macros.passthroughs.append(result)
- result = '\x07' + str(len(macros.passthroughs)-1) + '\x07'
- return result
-
-def subs_attrs(lines, dictionary=None):
- """Substitute 'lines' of text with attributes from the global
- document.attributes dictionary and from 'dictionary' ('dictionary'
- entries take precedence). Return a tuple of the substituted lines. 'lines'
- containing undefined attributes are deleted. If 'lines' is a string then
- return a string.
-
- - Attribute references are substituted in the following order: simple,
- conditional, system.
- - Attribute references inside 'dictionary' entry values are substituted.
- """
-
- def end_brace(text,start):
- """Return index following end brace that matches brace at start in
- text."""
- assert text[start] == '{'
- n = 0
- result = start
- for c in text[start:]:
- # Skip braces that are followed by a backslash.
- if result == len(text)-1 or text[result+1] != '\\':
- if c == '{': n = n + 1
- elif c == '}': n = n - 1
- result = result + 1
- if n == 0: break
- return result
-
- if type(lines) == str:
- string_result = True
- lines = [lines]
- else:
- string_result = False
- if dictionary is None:
- attrs = document.attributes
- else:
- # Remove numbered document attributes so they don't clash with
- # attribute list positional attributes.
- attrs = {}
- for k,v in document.attributes.items():
- if not re.match(r'^\d+$', k):
- attrs[k] = v
- # Substitute attribute references inside dictionary values.
- for k,v in dictionary.items():
- if v is None:
- del dictionary[k]
- else:
- v = subs_attrs(str(v))
- if v is None:
- del dictionary[k]
- else:
- dictionary[k] = v
- attrs.update(dictionary)
- # Substitute all attributes in all lines.
- result = []
- for line in lines:
- # Make it easier for regular expressions.
- line = line.replace('\\{','{\\')
- line = line.replace('\\}','}\\')
- # Expand simple attributes ({name}).
- # Nested attributes not allowed.
- reo = re.compile(r'(?su)\{(?P<name>[^\\\W][-\w]*?)\}(?!\\)')
- pos = 0
- while True:
- mo = reo.search(line,pos)
- if not mo: break
- s = attrs.get(mo.group('name'))
- if s is None:
- pos = mo.end()
- else:
- s = str(s)
- line = line[:mo.start()] + s + line[mo.end():]
- pos = mo.start() + len(s)
- # Expand conditional attributes.
- # Single name -- higher precedence.
- reo1 = re.compile(r'(?su)\{(?P<name>[^\\\W][-\w]*?)' \
- r'(?P<op>\=|\?|!|#|%|@|\$)' \
- r'(?P<value>.*?)\}(?!\\)')
- # Multiple names (n1,n2,... or n1+n2+...) -- lower precedence.
- reo2 = re.compile(r'(?su)\{(?P<name>[^\\\W][-\w'+OR+AND+r']*?)' \
- r'(?P<op>\=|\?|!|#|%|@|\$)' \
- r'(?P<value>.*?)\}(?!\\)')
- for reo in [reo1,reo2]:
- pos = 0
- while True:
- mo = reo.search(line,pos)
- if not mo: break
- attr = mo.group()
- name = mo.group('name')
- if reo == reo2:
- if OR in name:
- sep = OR
- else:
- sep = AND
- names = [s.strip() for s in name.split(sep) if s.strip() ]
- for n in names:
- if not re.match(r'^[^\\\W][-\w]*$',n):
- message.error('illegal attribute syntax: %s' % attr)
- if sep == OR:
- # Process OR name expression: n1,n2,...
- for n in names:
- if attrs.get(n) is not None:
- lval = ''
- break
- else:
- lval = None
- else:
- # Process AND name expression: n1+n2+...
- for n in names:
- if attrs.get(n) is None:
- lval = None
- break
- else:
- lval = ''
- else:
- lval = attrs.get(name)
- op = mo.group('op')
- # mo.end() not good enough because '{x={y}}' matches '{x={y}'.
- end = end_brace(line,mo.start())
- rval = line[mo.start('value'):end-1]
- UNDEFINED = '{zzzzz}'
- if lval is None:
- if op == '=': s = rval
- elif op == '?': s = ''
- elif op == '!': s = rval
- elif op == '#': s = UNDEFINED # So the line is dropped.
- elif op == '%': s = rval
- elif op in ('@','$'):
- s = UNDEFINED # So the line is dropped.
- else:
- assert False, 'illegal attribute: %s' % attr
- else:
- if op == '=': s = lval
- elif op == '?': s = rval
- elif op == '!': s = ''
- elif op == '#': s = rval
- elif op == '%': s = UNDEFINED # So the line is dropped.
- elif op in ('@','$'):
- v = re.split(r'(?<!\\):',rval)
- if len(v) not in (2,3):
- message.error('illegal attribute syntax: %s' % attr)
- s = ''
- elif not is_re('^'+v[0]+'$'):
- message.error('illegal attribute regexp: %s' % attr)
- s = ''
- else:
- v = [s.replace('\\:',':') for s in v]
- re_mo = re.match('^'+v[0]+'$',lval)
- if op == '@':
- if re_mo:
- s = v[1] # {<name>@<re>:<v1>[:<v2>]}
- else:
- if len(v) == 3: # {<name>@<re>:<v1>:<v2>}
- s = v[2]
- else: # {<name>@<re>:<v1>}
- s = ''
- else:
- if re_mo:
- if len(v) == 2: # {<name>$<re>:<v1>}
- s = v[1]
- elif v[1] == '': # {<name>$<re>::<v2>}
- s = UNDEFINED # So the line is dropped.
- else: # {<name>$<re>:<v1>:<v2>}
- s = v[1]
- else:
- if len(v) == 2: # {<name>$<re>:<v1>}
- s = UNDEFINED # So the line is dropped.
- else: # {<name>$<re>:<v1>:<v2>}
- s = v[2]
- else:
- assert False, 'illegal attribute: %s' % attr
- s = str(s)
- line = line[:mo.start()] + s + line[end:]
- pos = mo.start() + len(s)
- # Drop line if it contains unsubstituted {name} references.
- skipped = re.search(r'(?su)\{[^\\\W][-\w]*?\}(?!\\)', line)
- if skipped:
- continue;
- # Expand system attributes (eval has precedence).
- reos = [
- re.compile(r'(?su)\{(?P<action>eval):(?P<expr>.*?)\}(?!\\)'),
- re.compile(r'(?su)\{(?P<action>[^\\\W][-\w]*?):(?P<expr>.*?)\}(?!\\)'),
- ]
- skipped = False
- for reo in reos:
- pos = 0
- while True:
- mo = reo.search(line,pos)
- if not mo: break
- expr = mo.group('expr')
- action = mo.group('action')
- expr = expr.replace('{\\','{')
- expr = expr.replace('}\\','}')
- s = system(action, expr, attrs=dictionary)
- if dictionary is not None and action in ('counter','counter2','set','set2'):
- # These actions create and update attributes.
- attrs.update(dictionary)
- if s is None:
- # Drop line if the action returns None.
- skipped = True
- break
- line = line[:mo.start()] + s + line[mo.end():]
- pos = mo.start() + len(s)
- if skipped:
- break
- if not skipped:
- # Remove backslash from escaped entries.
- line = line.replace('{\\','{')
- line = line.replace('}\\','}')
- result.append(line)
- if string_result:
- if result:
- return '\n'.join(result)
- else:
- return None
- else:
- return tuple(result)
-
-def char_encoding():
- encoding = document.attributes.get('encoding')
- if encoding:
- try:
- codecs.lookup(encoding)
- except LookupError,e:
- raise EAsciiDoc,str(e)
- return encoding
-
-def char_len(s):
- return len(char_decode(s))
-
-def char_decode(s):
- if char_encoding():
- try:
- return s.decode(char_encoding())
- except Exception:
- raise EAsciiDoc, \
- "'%s' codec can't decode \"%s\"" % (char_encoding(), s)
- else:
- return s
-
-def char_encode(s):
- if char_encoding():
- return s.encode(char_encoding())
- else:
- return s
-
-def time_str(t):
- """Convert seconds since the Epoch to formatted local time string."""
- t = time.localtime(t)
- s = time.strftime('%H:%M:%S',t)
- if time.daylight and t.tm_isdst == 1:
- result = s + ' ' + time.tzname[1]
- else:
- result = s + ' ' + time.tzname[0]
- # Attempt to convert the localtime to the output encoding.
- try:
- result = char_encode(result.decode(locale.getdefaultlocale()[1]))
- except Exception:
- pass
- return result
-
-def date_str(t):
- """Convert seconds since the Epoch to formatted local date string."""
- t = time.localtime(t)
- return time.strftime('%Y-%m-%d',t)
-
-
-class Lex:
- """Lexical analysis routines. Static methods and attributes only."""
- prev_element = None
- prev_cursor = None
- def __init__(self):
- raise AssertionError,'no class instances allowed'
- @staticmethod
- def next():
- """Returns class of next element on the input (None if EOF). The
- reader is assumed to be at the first line following a previous element,
- end of file or line one. Exits with the reader pointing to the first
- line of the next element or EOF (leading blank lines are skipped)."""
- reader.skip_blank_lines()
- if reader.eof(): return None
- # Optimization: If we've already checked for an element at this
- # position return the element.
- if Lex.prev_element and Lex.prev_cursor == reader.cursor:
- return Lex.prev_element
- if AttributeEntry.isnext():
- result = AttributeEntry
- elif AttributeList.isnext():
- result = AttributeList
- elif BlockTitle.isnext() and not tables_OLD.isnext():
- result = BlockTitle
- elif Title.isnext():
- if AttributeList.style() == 'float':
- result = FloatingTitle
- else:
- result = Title
- elif macros.isnext():
- result = macros.current
- elif lists.isnext():
- result = lists.current
- elif blocks.isnext():
- result = blocks.current
- elif tables_OLD.isnext():
- result = tables_OLD.current
- elif tables.isnext():
- result = tables.current
- else:
- if not paragraphs.isnext():
- raise EAsciiDoc,'paragraph expected'
- result = paragraphs.current
- # Optimization: Cache answer.
- Lex.prev_cursor = reader.cursor
- Lex.prev_element = result
- return result
-
- @staticmethod
- def canonical_subs(options):
- """Translate composite subs values."""
- if len(options) == 1:
- if options[0] == 'none':
- options = ()
- elif options[0] == 'normal':
- options = config.subsnormal
- elif options[0] == 'verbatim':
- options = config.subsverbatim
- return options
-
- @staticmethod
- def subs_1(s,options):
- """Perform substitution specified in 'options' (in 'options' order)."""
- if not s:
- return s
- if document.attributes.get('plaintext') is not None:
- options = ('specialcharacters',)
- result = s
- options = Lex.canonical_subs(options)
- for o in options:
- if o == 'specialcharacters':
- result = config.subs_specialchars(result)
- elif o == 'attributes':
- result = subs_attrs(result)
- elif o == 'quotes':
- result = subs_quotes(result)
- elif o == 'specialwords':
- result = config.subs_specialwords(result)
- elif o in ('replacements','replacements2'):
- result = config.subs_replacements(result,o)
- elif o == 'macros':
- result = macros.subs(result)
- elif o == 'callouts':
- result = macros.subs(result,callouts=True)
- else:
- raise EAsciiDoc,'illegal substitution option: %s' % o
- trace(o, s, result)
- if not result:
- break
- return result
-
- @staticmethod
- def subs(lines,options):
- """Perform inline processing specified by 'options' (in 'options'
- order) on sequence of 'lines'."""
- if not lines or not options:
- return lines
- options = Lex.canonical_subs(options)
- # Join lines so quoting can span multiple lines.
- para = '\n'.join(lines)
- if 'macros' in options:
- para = macros.extract_passthroughs(para)
- for o in options:
- if o == 'attributes':
- # If we don't substitute attributes line-by-line then a single
- # undefined attribute will drop the entire paragraph.
- lines = subs_attrs(para.split('\n'))
- para = '\n'.join(lines)
- else:
- para = Lex.subs_1(para,(o,))
- if 'macros' in options:
- para = macros.restore_passthroughs(para)
- return para.splitlines()
-
- @staticmethod
- def set_margin(lines, margin=0):
- """Utility routine that sets the left margin to 'margin' space in a
- block of non-blank lines."""
- # Calculate width of block margin.
- lines = list(lines)
- width = len(lines[0])
- for s in lines:
- i = re.search(r'\S',s).start()
- if i < width: width = i
- # Strip margin width from all lines.
- for i in range(len(lines)):
- lines[i] = ' '*margin + lines[i][width:]
- return lines
-
-#---------------------------------------------------------------------------
-# Document element classes parse AsciiDoc reader input and write DocBook writer
-# output.
-#---------------------------------------------------------------------------
-class Document(object):
-
- # doctype property.
- def getdoctype(self):
- return self.attributes.get('doctype')
- def setdoctype(self,doctype):
- self.attributes['doctype'] = doctype
- doctype = property(getdoctype,setdoctype)
-
- # backend property.
- def getbackend(self):
- return self.attributes.get('backend')
- def setbackend(self,backend):
- if backend:
- backend = self.attributes.get('backend-alias-' + backend, backend)
- self.attributes['backend'] = backend
- backend = property(getbackend,setbackend)
-
- def __init__(self):
- self.infile = None # Source file name.
- self.outfile = None # Output file name.
- self.attributes = InsensitiveDict()
- self.level = 0 # 0 => front matter. 1,2,3 => sect1,2,3.
- self.has_errors = False # Set true if processing errors were flagged.
- self.has_warnings = False # Set true if warnings were flagged.
- self.safe = False # Default safe mode.
- def update_attributes(self,attrs=None):
- """
- Set implicit attributes and attributes in 'attrs'.
- """
- t = time.time()
- self.attributes['localtime'] = time_str(t)
- self.attributes['localdate'] = date_str(t)
- self.attributes['asciidoc-version'] = VERSION
- self.attributes['asciidoc-file'] = APP_FILE
- self.attributes['asciidoc-dir'] = APP_DIR
- self.attributes['user-dir'] = USER_DIR
- if config.verbose:
- self.attributes['verbose'] = ''
- # Update with configuration file attributes.
- if attrs:
- self.attributes.update(attrs)
- # Update with command-line attributes.
- self.attributes.update(config.cmd_attrs)
- # Extract miscellaneous configuration section entries from attributes.
- if attrs:
- config.load_miscellaneous(attrs)
- config.load_miscellaneous(config.cmd_attrs)
- self.attributes['newline'] = config.newline
- # File name related attributes can't be overridden.
- if self.infile is not None:
- if self.infile and os.path.exists(self.infile):
- t = os.path.getmtime(self.infile)
- elif self.infile == '<stdin>':
- t = time.time()
- else:
- t = None
- if t:
- self.attributes['doctime'] = time_str(t)
- self.attributes['docdate'] = date_str(t)
- if self.infile != '<stdin>':
- self.attributes['infile'] = self.infile
- self.attributes['indir'] = os.path.dirname(self.infile)
- self.attributes['docfile'] = self.infile
- self.attributes['docdir'] = os.path.dirname(self.infile)
- self.attributes['docname'] = os.path.splitext(
- os.path.basename(self.infile))[0]
- if self.outfile:
- if self.outfile != '<stdout>':
- self.attributes['outfile'] = self.outfile
- self.attributes['outdir'] = os.path.dirname(self.outfile)
- self.attributes['docname'] = os.path.splitext(
- os.path.basename(self.outfile))[0]
- ext = os.path.splitext(self.outfile)[1][1:]
- elif config.outfilesuffix:
- ext = config.outfilesuffix[1:]
- else:
- ext = ''
- if ext:
- self.attributes['filetype'] = ext
- self.attributes['filetype-'+ext] = ''
- def load_lang(self):
- """
- Load language configuration file.
- """
- lang = self.attributes.get('lang')
- if lang is None:
- filename = 'lang-en.conf' # Default language file.
- else:
- filename = 'lang-' + lang + '.conf'
- if config.load_from_dirs(filename):
- self.attributes['lang'] = lang # Reinstate new lang attribute.
- else:
- if lang is None:
- # The default language file must exist.
- message.error('missing conf file: %s' % filename, halt=True)
- else:
- message.warning('missing language conf file: %s' % filename)
- def set_deprecated_attribute(self,old,new):
- """
- Ensures the 'old' name of an attribute that was renamed to 'new' is
- still honored.
- """
- if self.attributes.get(new) is None:
- if self.attributes.get(old) is not None:
- self.attributes[new] = self.attributes[old]
- else:
- self.attributes[old] = self.attributes[new]
- def consume_attributes_and_comments(self,comments_only=False,noblanks=False):
- """
- Returns True if one or more attributes or comments were consumed.
- If 'noblanks' is True then consumation halts if a blank line is
- encountered.
- """
- result = False
- finished = False
- while not finished:
- finished = True
- if noblanks and not reader.read_next(): return result
- if blocks.isnext() and 'skip' in blocks.current.options:
- result = True
- finished = False
- blocks.current.translate()
- if noblanks and not reader.read_next(): return result
- if macros.isnext() and macros.current.name == 'comment':
- result = True
- finished = False
- macros.current.translate()
- if not comments_only:
- if AttributeEntry.isnext():
- result = True
- finished = False
- AttributeEntry.translate()
- if AttributeList.isnext():
- result = True
- finished = False
- AttributeList.translate()
- return result
- def parse_header(self,doctype,backend):
- """
- Parses header, sets corresponding document attributes and finalizes
- document doctype and backend properties.
- Returns False if the document does not have a header.
- 'doctype' and 'backend' are the doctype and backend option values
- passed on the command-line, None if no command-line option was not
- specified.
- """
- assert self.level == 0
- # Skip comments and attribute entries that preceed the header.
- self.consume_attributes_and_comments()
- if doctype is not None:
- # Command-line overrides header.
- self.doctype = doctype
- elif self.doctype is None:
- # Was not set on command-line or in document header.
- self.doctype = DEFAULT_DOCTYPE
- # Process document header.
- has_header = (Title.isnext() and Title.level == 0
- and AttributeList.style() != 'float')
- if self.doctype == 'manpage' and not has_header:
- message.error('manpage document title is mandatory',halt=True)
- if has_header:
- Header.parse()
- # Command-line entries override header derived entries.
- self.attributes.update(config.cmd_attrs)
- # DEPRECATED: revision renamed to revnumber.
- self.set_deprecated_attribute('revision','revnumber')
- # DEPRECATED: date renamed to revdate.
- self.set_deprecated_attribute('date','revdate')
- if doctype is not None:
- # Command-line overrides header.
- self.doctype = doctype
- if backend is not None:
- # Command-line overrides header.
- self.backend = backend
- elif self.backend is None:
- # Was not set on command-line or in document header.
- self.backend = DEFAULT_BACKEND
- else:
- # Has been set in document header.
- self.backend = self.backend # Translate alias in header.
- assert self.doctype in ('article','manpage','book'), 'illegal document type'
- return has_header
- def translate(self,has_header):
- if self.doctype == 'manpage':
- # Translate mandatory NAME section.
- if Lex.next() is not Title:
- message.error('name section expected')
- else:
- Title.translate()
- if Title.level != 1:
- message.error('name section title must be at level 1')
- if not isinstance(Lex.next(),Paragraph):
- message.error('malformed name section body')
- lines = reader.read_until(r'^$')
- s = ' '.join(lines)
- mo = re.match(r'^(?P<manname>.*?)\s+-\s+(?P<manpurpose>.*)$',s)
- if not mo:
- message.error('malformed name section body')
- self.attributes['manname'] = mo.group('manname').strip()
- self.attributes['manpurpose'] = mo.group('manpurpose').strip()
- names = [s.strip() for s in self.attributes['manname'].split(',')]
- if len(names) > 9:
- message.warning('to many manpage names')
- for i,name in enumerate(names):
- self.attributes['manname%d' % (i+1)] = name
- if has_header:
- # Do postponed substitutions (backend confs have been loaded).
- self.attributes['doctitle'] = Title.dosubs(self.attributes['doctitle'])
- if config.header_footer:
- hdr = config.subs_section('header',{})
- writer.write(hdr,trace='header')
- self.consume_attributes_and_comments()
- if self.doctype in ('article','book'):
- # Translate 'preamble' (untitled elements between header
- # and first section title).
- if Lex.next() is not Title:
- stag,etag = config.section2tags('preamble')
- writer.write(stag,trace='preamble open')
- Section.translate_body()
- writer.write(etag,trace='preamble close')
- else:
- self.process_author_names()
- if config.header_footer:
- hdr = config.subs_section('header',{})
- writer.write(hdr,trace='header')
- if Lex.next() is not Title:
- Section.translate_body()
- # Process remaining sections.
- while not reader.eof():
- if Lex.next() is not Title:
- raise EAsciiDoc,'section title expected'
- Section.translate()
- Section.setlevel(0) # Write remaining unwritten section close tags.
- # Substitute document parameters and write document footer.
- if config.header_footer:
- ftr = config.subs_section('footer',{})
- writer.write(ftr,trace='footer')
- def parse_author(self,s):
- """ Return False if the author is malformed."""
- attrs = self.attributes # Alias for readability.
- s = s.strip()
- mo = re.match(r'^(?P<name1>[^<>\s]+)'
- '(\s+(?P<name2>[^<>\s]+))?'
- '(\s+(?P<name3>[^<>\s]+))?'
- '(\s+<(?P<email>\S+)>)?$',s)
- if not mo:
- # Names that don't match the formal specification.
- if s:
- attrs['firstname'] = s
- return
- firstname = mo.group('name1')
- if mo.group('name3'):
- middlename = mo.group('name2')
- lastname = mo.group('name3')
- else:
- middlename = None
- lastname = mo.group('name2')
- firstname = firstname.replace('_',' ')
- if middlename:
- middlename = middlename.replace('_',' ')
- if lastname:
- lastname = lastname.replace('_',' ')
- email = mo.group('email')
- if firstname:
- attrs['firstname'] = firstname
- if middlename:
- attrs['middlename'] = middlename
- if lastname:
- attrs['lastname'] = lastname
- if email:
- attrs['email'] = email
- return
- def process_author_names(self):
- """ Calculate any missing author related attributes."""
- attrs = self.attributes # Alias for readability.
- firstname = attrs.get('firstname','')
- middlename = attrs.get('middlename','')
- lastname = attrs.get('lastname','')
- author = attrs.get('author')
- initials = attrs.get('authorinitials')
- if author and not (firstname or middlename or lastname):
- self.parse_author(author)
- attrs['author'] = author.replace('_',' ')
- self.process_author_names()
- return
- if not author:
- author = '%s %s %s' % (firstname, middlename, lastname)
- author = author.strip()
- author = re.sub(r'\s+',' ', author)
- if not initials:
- initials = firstname[:1] + middlename[:1] + lastname[:1]
- initials = initials.upper()
- names = [firstname,middlename,lastname,author,initials]
- for i,v in enumerate(names):
- v = config.subs_specialchars(v)
- v = subs_attrs(v)
- names[i] = v
- firstname,middlename,lastname,author,initials = names
- if firstname:
- attrs['firstname'] = firstname
- if middlename:
- attrs['middlename'] = middlename
- if lastname:
- attrs['lastname'] = lastname
- if author:
- attrs['author'] = author
- if initials:
- attrs['authorinitials'] = initials
- if author:
- attrs['authored'] = ''
-
-
-class Header:
- """Static methods and attributes only."""
- REV_LINE_RE = r'^(\D*(?P<revnumber>.*?),)?(?P<revdate>.*?)(:\s*(?P<revremark>.*))?$'
- RCS_ID_RE = r'^\$Id: \S+ (?P<revnumber>\S+) (?P<revdate>\S+) \S+ (?P<author>\S+) (\S+ )?\$$'
- def __init__(self):
- raise AssertionError,'no class instances allowed'
- @staticmethod
- def parse():
- assert Lex.next() is Title and Title.level == 0
- attrs = document.attributes # Alias for readability.
- # Postpone title subs until backend conf files have been loaded.
- Title.translate(skipsubs=True)
- attrs['doctitle'] = Title.attributes['title']
- document.consume_attributes_and_comments(noblanks=True)
- s = reader.read_next()
- mo = None
- if s:
- # Process first header line after the title that is not a comment
- # or an attribute entry.
- s = reader.read()
- mo = re.match(Header.RCS_ID_RE,s)
- if not mo:
- document.parse_author(s)
- document.consume_attributes_and_comments(noblanks=True)
- if reader.read_next():
- # Process second header line after the title that is not a
- # comment or an attribute entry.
- s = reader.read()
- s = subs_attrs(s)
- if s:
- mo = re.match(Header.RCS_ID_RE,s)
- if not mo:
- mo = re.match(Header.REV_LINE_RE,s)
- document.consume_attributes_and_comments(noblanks=True)
- s = attrs.get('revnumber')
- if s:
- mo = re.match(Header.RCS_ID_RE,s)
- if mo:
- revnumber = mo.group('revnumber')
- if revnumber:
- attrs['revnumber'] = revnumber.strip()
- author = mo.groupdict().get('author')
- if author and 'firstname' not in attrs:
- document.parse_author(author)
- revremark = mo.groupdict().get('revremark')
- if revremark is not None:
- revremark = [revremark]
- # Revision remarks can continue on following lines.
- while reader.read_next():
- if document.consume_attributes_and_comments(noblanks=True):
- break
- revremark.append(reader.read())
- revremark = Lex.subs(revremark,['normal'])
- revremark = '\n'.join(revremark).strip()
- attrs['revremark'] = revremark
- revdate = mo.group('revdate')
- if revdate:
- attrs['revdate'] = revdate.strip()
- elif revnumber or revremark:
- # Set revision date to ensure valid DocBook revision.
- attrs['revdate'] = attrs['docdate']
- document.process_author_names()
- if document.doctype == 'manpage':
- # manpage title formatted like mantitle(manvolnum).
- mo = re.match(r'^(?P<mantitle>.*)\((?P<manvolnum>.*)\)$',
- attrs['doctitle'])
- if not mo:
- message.error('malformed manpage title')
- else:
- mantitle = mo.group('mantitle').strip()
- mantitle = subs_attrs(mantitle)
- if mantitle is None:
- message.error('undefined attribute in manpage title')
- # mantitle is lowered only if in ALL CAPS
- if mantitle == mantitle.upper():
- mantitle = mantitle.lower()
- attrs['mantitle'] = mantitle;
- attrs['manvolnum'] = mo.group('manvolnum').strip()
-
-class AttributeEntry:
- """Static methods and attributes only."""
- pattern = None
- subs = None
- name = None
- name2 = None
- value = None
- attributes = {} # Accumulates all the parsed attribute entries.
- def __init__(self):
- raise AssertionError,'no class instances allowed'
- @staticmethod
- def isnext():
- result = False # Assume not next.
- if not AttributeEntry.pattern:
- pat = document.attributes.get('attributeentry-pattern')
- if not pat:
- message.error("[attributes] missing 'attributeentry-pattern' entry")
- AttributeEntry.pattern = pat
- line = reader.read_next()
- if line:
- # Attribute entry formatted like :<name>[.<name2>]:[ <value>]
- mo = re.match(AttributeEntry.pattern,line)
- if mo:
- AttributeEntry.name = mo.group('attrname')
- AttributeEntry.name2 = mo.group('attrname2')
- AttributeEntry.value = mo.group('attrvalue') or ''
- AttributeEntry.value = AttributeEntry.value.strip()
- result = True
- return result
- @staticmethod
- def translate():
- assert Lex.next() is AttributeEntry
- attr = AttributeEntry # Alias for brevity.
- reader.read() # Discard attribute entry from reader.
- while attr.value.endswith(' +'):
- if not reader.read_next(): break
- attr.value = attr.value[:-1] + reader.read().strip()
- if AttributeEntry.name2: # The entry is a conf file entry.
- section = {}
- # Some sections can have name! syntax.
- if attr.name in ('attributes','miscellaneous') and attr.name2[-1] == '!':
- section[attr.name] = [attr.name2]
- else:
- section[attr.name] = ['%s=%s' % (attr.name2,attr.value)]
- config.load_sections(section)
- config.load_miscellaneous(config.conf_attrs)
- else: # The entry is an attribute.
- if attr.name[-1] == '!':
- # Names like name! undefine the attribute.
- attr.name = attr.name[:-1]
- attr.value = None
- # Strip white space and illegal name chars.
- attr.name = re.sub(r'(?u)[^\w\-_]', '', attr.name).lower()
- # Don't override most command-line attributes.
- if attr.name in config.cmd_attrs \
- and attr.name not in ('trace','numbered'):
- return
- # Update document attributes with attribute value.
- if attr.value is not None:
- mo = re.match(r'^pass:(?P<attrs>.*)\[(?P<value>.*)\]$', attr.value)
- if mo:
- # Inline passthrough syntax.
- attr.subs = mo.group('attrs')
- attr.value = mo.group('value') # Passthrough.
- else:
- # Default substitution.
- # DEPRECATED: attributeentry-subs
- attr.subs = document.attributes.get('attributeentry-subs',
- 'specialcharacters,attributes')
- attr.subs = parse_options(attr.subs, SUBS_OPTIONS,
- 'illegal substitution option')
- attr.value = Lex.subs((attr.value,), attr.subs)
- attr.value = writer.newline.join(attr.value)
- document.attributes[attr.name] = attr.value
- elif attr.name in document.attributes:
- del document.attributes[attr.name]
- attr.attributes[attr.name] = attr.value
-
-class AttributeList:
- """Static methods and attributes only."""
- pattern = None
- match = None
- attrs = {}
- def __init__(self):
- raise AssertionError,'no class instances allowed'
- @staticmethod
- def initialize():
- if not 'attributelist-pattern' in document.attributes:
- message.error("[attributes] missing 'attributelist-pattern' entry")
- AttributeList.pattern = document.attributes['attributelist-pattern']
- @staticmethod
- def isnext():
- result = False # Assume not next.
- line = reader.read_next()
- if line:
- mo = re.match(AttributeList.pattern, line)
- if mo:
- AttributeList.match = mo
- result = True
- return result
- @staticmethod
- def translate():
- assert Lex.next() is AttributeList
- reader.read() # Discard attribute list from reader.
- attrs = {}
- d = AttributeList.match.groupdict()
- for k,v in d.items():
- if v is not None:
- if k == 'attrlist':
- v = subs_attrs(v)
- if v:
- parse_attributes(v, attrs)
- else:
- AttributeList.attrs[k] = v
- AttributeList.subs(attrs)
- AttributeList.attrs.update(attrs)
- @staticmethod
- def subs(attrs):
- '''Substitute single quoted attribute values normally.'''
- reo = re.compile(r"^'.*'$")
- for k,v in attrs.items():
- if reo.match(str(v)):
- attrs[k] = Lex.subs_1(v[1:-1],SUBS_NORMAL)
- @staticmethod
- def style():
- return AttributeList.attrs.get('style') or AttributeList.attrs.get('1')
- @staticmethod
- def consume(d):
- """Add attribute list to the dictionary 'd' and reset the
- list."""
- if AttributeList.attrs:
- d.update(AttributeList.attrs)
- AttributeList.attrs = {}
- # Generate option attributes.
- if 'options' in d:
- options = parse_options(d['options'], (), 'illegal option name')
- for option in options:
- d[option+'-option'] = ''
-
-class BlockTitle:
- """Static methods and attributes only."""
- title = None
- pattern = None
- def __init__(self):
- raise AssertionError,'no class instances allowed'
- @staticmethod
- def isnext():
- result = False # Assume not next.
- line = reader.read_next()
- if line:
- mo = re.match(BlockTitle.pattern,line)
- if mo:
- BlockTitle.title = mo.group('title')
- result = True
- return result
- @staticmethod
- def translate():
- assert Lex.next() is BlockTitle
- reader.read() # Discard title from reader.
- # Perform title substitutions.
- if not Title.subs:
- Title.subs = config.subsnormal
- s = Lex.subs((BlockTitle.title,), Title.subs)
- s = writer.newline.join(s)
- if not s:
- message.warning('blank block title')
- BlockTitle.title = s
- @staticmethod
- def consume(d):
- """If there is a title add it to dictionary 'd' then reset title."""
- if BlockTitle.title:
- d['title'] = BlockTitle.title
- BlockTitle.title = None
-
-class Title:
- """Processes Header and Section titles. Static methods and attributes
- only."""
- # Class variables
- underlines = ('==','--','~~','^^','++') # Levels 0,1,2,3,4.
- subs = ()
- pattern = None
- level = 0
- attributes = {}
- sectname = None
- section_numbers = [0]*len(underlines)
- dump_dict = {}
- linecount = None # Number of lines in title (1 or 2).
- def __init__(self):
- raise AssertionError,'no class instances allowed'
- @staticmethod
- def translate(skipsubs=False):
- """Parse the Title.attributes and Title.level from the reader. The
- real work has already been done by parse()."""
- assert Lex.next() in (Title,FloatingTitle)
- # Discard title from reader.
- for i in range(Title.linecount):
- reader.read()
- Title.setsectname()
- if not skipsubs:
- Title.attributes['title'] = Title.dosubs(Title.attributes['title'])
- @staticmethod
- def dosubs(title):
- """
- Perform title substitutions.
- """
- if not Title.subs:
- Title.subs = config.subsnormal
- title = Lex.subs((title,), Title.subs)
- title = writer.newline.join(title)
- if not title:
- message.warning('blank section title')
- return title
- @staticmethod
- def isnext():
- lines = reader.read_ahead(2)
- return Title.parse(lines)
- @staticmethod
- def parse(lines):
- """Parse title at start of lines tuple."""
- if len(lines) == 0: return False
- if len(lines[0]) == 0: return False # Title can't be blank.
- # Check for single-line titles.
- result = False
- for level in range(len(Title.underlines)):
- k = 'sect%s' % level
- if k in Title.dump_dict:
- mo = re.match(Title.dump_dict[k], lines[0])
- if mo:
- Title.attributes = mo.groupdict()
- Title.level = level
- Title.linecount = 1
- result = True
- break
- if not result:
- # Check for double-line titles.
- if not Title.pattern: return False # Single-line titles only.
- if len(lines) < 2: return False
- title,ul = lines[:2]
- title_len = char_len(title)
- ul_len = char_len(ul)
- if ul_len < 2: return False
- # Fast elimination check.
- if ul[:2] not in Title.underlines: return False
- # Length of underline must be within +-3 of title.
- if not (ul_len-3 < title_len < ul_len+3): return False
- # Check for valid repetition of underline character pairs.
- s = ul[:2]*((ul_len+1)/2)
- if ul != s[:ul_len]: return False
- # Don't be fooled by back-to-back delimited blocks, require at
- # least one alphanumeric character in title.
- if not re.search(r'(?u)\w',title): return False
- mo = re.match(Title.pattern, title)
- if mo:
- Title.attributes = mo.groupdict()
- Title.level = list(Title.underlines).index(ul[:2])
- Title.linecount = 2
- result = True
- # Check for expected pattern match groups.
- if result:
- if not 'title' in Title.attributes:
- message.warning('[titles] entry has no <title> group')
- Title.attributes['title'] = lines[0]
- for k,v in Title.attributes.items():
- if v is None: del Title.attributes[k]
- try:
- Title.level += int(document.attributes.get('leveloffset','0'))
- except:
- pass
- Title.attributes['level'] = str(Title.level)
- return result
- @staticmethod
- def load(entries):
- """Load and validate [titles] section entries dictionary."""
- if 'underlines' in entries:
- errmsg = 'malformed [titles] underlines entry'
- try:
- underlines = parse_list(entries['underlines'])
- except Exception:
- raise EAsciiDoc,errmsg
- if len(underlines) != len(Title.underlines):
- raise EAsciiDoc,errmsg
- for s in underlines:
- if len(s) !=2:
- raise EAsciiDoc,errmsg
- Title.underlines = tuple(underlines)
- Title.dump_dict['underlines'] = entries['underlines']
- if 'subs' in entries:
- Title.subs = parse_options(entries['subs'], SUBS_OPTIONS,
- 'illegal [titles] subs entry')
- Title.dump_dict['subs'] = entries['subs']
- if 'sectiontitle' in entries:
- pat = entries['sectiontitle']
- if not pat or not is_re(pat):
- raise EAsciiDoc,'malformed [titles] sectiontitle entry'
- Title.pattern = pat
- Title.dump_dict['sectiontitle'] = pat
- if 'blocktitle' in entries:
- pat = entries['blocktitle']
- if not pat or not is_re(pat):
- raise EAsciiDoc,'malformed [titles] blocktitle entry'
- BlockTitle.pattern = pat
- Title.dump_dict['blocktitle'] = pat
- # Load single-line title patterns.
- for k in ('sect0','sect1','sect2','sect3','sect4'):
- if k in entries:
- pat = entries[k]
- if not pat or not is_re(pat):
- raise EAsciiDoc,'malformed [titles] %s entry' % k
- Title.dump_dict[k] = pat
- # TODO: Check we have either a Title.pattern or at least one
- # single-line title pattern -- can this be done here or do we need
- # check routine like the other block checkers?
- @staticmethod
- def dump():
- dump_section('titles',Title.dump_dict)
- @staticmethod
- def setsectname():
- """
- Set Title section name:
- If the first positional or 'template' attribute is set use it,
- next search for section title in [specialsections],
- if not found use default 'sect<level>' name.
- """
- sectname = AttributeList.attrs.get('1')
- if sectname and sectname != 'float':
- Title.sectname = sectname
- elif 'template' in AttributeList.attrs:
- Title.sectname = AttributeList.attrs['template']
- else:
- for pat,sect in config.specialsections.items():
- mo = re.match(pat,Title.attributes['title'])
- if mo:
- title = mo.groupdict().get('title')
- if title is not None:
- Title.attributes['title'] = title.strip()
- else:
- Title.attributes['title'] = mo.group().strip()
- Title.sectname = sect
- break
- else:
- Title.sectname = 'sect%d' % Title.level
- @staticmethod
- def getnumber(level):
- """Return next section number at section 'level' formatted like
- 1.2.3.4."""
- number = ''
- for l in range(len(Title.section_numbers)):
- n = Title.section_numbers[l]
- if l == 0:
- continue
- elif l < level:
- number = '%s%d.' % (number, n)
- elif l == level:
- number = '%s%d.' % (number, n + 1)
- Title.section_numbers[l] = n + 1
- elif l > level:
- # Reset unprocessed section levels.
- Title.section_numbers[l] = 0
- return number
-
-
-class FloatingTitle(Title):
- '''Floated titles are translated differently.'''
- @staticmethod
- def isnext():
- return Title.isnext() and AttributeList.style() == 'float'
- @staticmethod
- def translate():
- assert Lex.next() is FloatingTitle
- Title.translate()
- Section.set_id()
- AttributeList.consume(Title.attributes)
- template = 'floatingtitle'
- if template in config.sections:
- stag,etag = config.section2tags(template,Title.attributes)
- writer.write(stag,trace='floating title')
- else:
- message.warning('missing template section: [%s]' % template)
-
-
-class Section:
- """Static methods and attributes only."""
- endtags = [] # Stack of currently open section (level,endtag) tuples.
- ids = [] # List of already used ids.
- def __init__(self):
- raise AssertionError,'no class instances allowed'
- @staticmethod
- def savetag(level,etag):
- """Save section end."""
- Section.endtags.append((level,etag))
- @staticmethod
- def setlevel(level):
- """Set document level and write open section close tags up to level."""
- while Section.endtags and Section.endtags[-1][0] >= level:
- writer.write(Section.endtags.pop()[1],trace='section close')
- document.level = level
- @staticmethod
- def gen_id(title):
- """
- The normalized value of the id attribute is an NCName according to
- the 'Namespaces in XML' Recommendation:
- NCName ::= NCNameStartChar NCNameChar*
- NCNameChar ::= NameChar - ':'
- NCNameStartChar ::= Letter | '_'
- NameChar ::= Letter | Digit | '.' | '-' | '_' | ':'
- """
- base_ident = re.sub(r'[^a-zA-Z0-9]+', '_', title).strip('_').lower()
- # Prefix the ID name with idprefix attribute or underscore if not
- # defined. Prefix ensures the ID does not clash with existing IDs.
- idprefix = document.attributes.get('idprefix','_')
- base_ident = idprefix + base_ident
- i = 1
- while True:
- if i == 1:
- ident = base_ident
- else:
- ident = '%s_%d' % (base_ident, i)
- if ident not in Section.ids:
- Section.ids.append(ident)
- return ident
- else:
- ident = base_ident
- i += 1
- @staticmethod
- def set_id():
- if not document.attributes.get('sectids') is None \
- and 'id' not in AttributeList.attrs:
- # Generate ids for sections.
- AttributeList.attrs['id'] = Section.gen_id(Title.attributes['title'])
- @staticmethod
- def translate():
- assert Lex.next() is Title
- prev_sectname = Title.sectname
- Title.translate()
- if Title.level == 0 and document.doctype != 'book':
- message.error('only book doctypes can contain level 0 sections')
- if Title.level > document.level \
- and 'basebackend-docbook' in document.attributes \
- and prev_sectname in ('colophon','abstract', \
- 'dedication','glossary','bibliography'):
- message.error('%s section cannot contain sub-sections' % prev_sectname)
- if Title.level > document.level+1:
- # Sub-sections of multi-part book level zero Preface and Appendices
- # are meant to be out of sequence.
- if document.doctype == 'book' \
- and document.level == 0 \
- and Title.level == 2 \
- and prev_sectname in ('preface','appendix'):
- pass
- else:
- message.warning('section title out of sequence: '
- 'expected level %d, got level %d'
- % (document.level+1, Title.level))
- Section.set_id()
- Section.setlevel(Title.level)
- if 'numbered' in document.attributes:
- Title.attributes['sectnum'] = Title.getnumber(document.level)
- else:
- Title.attributes['sectnum'] = ''
- AttributeList.consume(Title.attributes)
- stag,etag = config.section2tags(Title.sectname,Title.attributes)
- Section.savetag(Title.level,etag)
- writer.write(stag,trace='section open: level %d: %s' %
- (Title.level, Title.attributes['title']))
- Section.translate_body()
- @staticmethod
- def translate_body(terminator=Title):
- isempty = True
- next = Lex.next()
- while next and next is not terminator:
- if isinstance(terminator,DelimitedBlock) and next is Title:
- message.error('section title not permitted in delimited block')
- next.translate()
- next = Lex.next()
- isempty = False
- # The section is not empty if contains a subsection.
- if next and isempty and Title.level > document.level:
- isempty = False
- # Report empty sections if invalid markup will result.
- if isempty:
- if document.backend == 'docbook' and Title.sectname != 'index':
- message.error('empty section is not valid')
-
-class AbstractBlock:
- def __init__(self):
- # Configuration parameter names common to all blocks.
- self.CONF_ENTRIES = ('delimiter','options','subs','presubs','postsubs',
- 'posattrs','style','.*-style','template','filter')
- self.start = None # File reader cursor at start delimiter.
- self.name=None # Configuration file section name.
- # Configuration parameters.
- self.delimiter=None # Regular expression matching block delimiter.
- self.delimiter_reo=None # Compiled delimiter.
- self.template=None # template section entry.
- self.options=() # options entry list.
- self.presubs=None # presubs/subs entry list.
- self.postsubs=() # postsubs entry list.
- self.filter=None # filter entry.
- self.posattrs=() # posattrs entry list.
- self.style=None # Default style.
- self.styles=OrderedDict() # Each entry is a styles dictionary.
- # Before a block is processed it's attributes (from it's
- # attributes list) are merged with the block configuration parameters
- # (by self.merge_attributes()) resulting in the template substitution
- # dictionary (self.attributes) and the block's processing parameters
- # (self.parameters).
- self.attributes={}
- # The names of block parameters.
- self.PARAM_NAMES=('template','options','presubs','postsubs','filter')
- self.parameters=None
- # Leading delimiter match object.
- self.mo=None
- def short_name(self):
- """ Return the text following the last dash in the section name."""
- i = self.name.rfind('-')
- if i == -1:
- return self.name
- else:
- return self.name[i+1:]
- def error(self, msg, cursor=None, halt=False):
- message.error('[%s] %s' % (self.name,msg), cursor, halt)
- def is_conf_entry(self,param):
- """Return True if param matches an allowed configuration file entry
- name."""
- for s in self.CONF_ENTRIES:
- if re.match('^'+s+'$',param):
- return True
- return False
- def load(self,name,entries):
- """Update block definition from section 'entries' dictionary."""
- self.name = name
- self.update_parameters(entries, self, all=True)
- def update_parameters(self, src, dst=None, all=False):
- """
- Parse processing parameters from src dictionary to dst object.
- dst defaults to self.parameters.
- If all is True then copy src entries that aren't parameter names.
- """
- dst = dst or self.parameters
- msg = '[%s] malformed entry %%s: %%s' % self.name
- def copy(obj,k,v):
- if isinstance(obj,dict):
- obj[k] = v
- else:
- setattr(obj,k,v)
- for k,v in src.items():
- if not re.match(r'\d+',k) and not is_name(k):
- raise EAsciiDoc, msg % (k,v)
- if k == 'template':
- if not is_name(v):
- raise EAsciiDoc, msg % (k,v)
- copy(dst,k,v)
- elif k == 'filter':
- copy(dst,k,v)
- elif k == 'options':
- if isinstance(v,str):
- v = parse_options(v, (), msg % (k,v))
- # Merge with existing options.
- v = tuple(set(dst.options).union(set(v)))
- copy(dst,k,v)
- elif k in ('subs','presubs','postsubs'):
- # Subs is an alias for presubs.
- if k == 'subs': k = 'presubs'
- if isinstance(v,str):
- v = parse_options(v, SUBS_OPTIONS, msg % (k,v))
- copy(dst,k,v)
- elif k == 'delimiter':
- if v and is_re(v):
- copy(dst,k,v)
- else:
- raise EAsciiDoc, msg % (k,v)
- elif k == 'style':
- if is_name(v):
- copy(dst,k,v)
- else:
- raise EAsciiDoc, msg % (k,v)
- elif k == 'posattrs':
- v = parse_options(v, (), msg % (k,v))
- copy(dst,k,v)
- else:
- mo = re.match(r'^(?P<style>.*)-style$',k)
- if mo:
- if not v:
- raise EAsciiDoc, msg % (k,v)
- style = mo.group('style')
- if not is_name(style):
- raise EAsciiDoc, msg % (k,v)
- d = {}
- if not parse_named_attributes(v,d):
- raise EAsciiDoc, msg % (k,v)
- if 'subs' in d:
- # Subs is an alias for presubs.
- d['presubs'] = d['subs']
- del d['subs']
- self.styles[style] = d
- elif all or k in self.PARAM_NAMES:
- copy(dst,k,v) # Derived class specific entries.
- def get_param(self,name,params=None):
- """
- Return named processing parameter from params dictionary.
- If the parameter is not in params look in self.parameters.
- """
- if params and name in params:
- return params[name]
- elif name in self.parameters:
- return self.parameters[name]
- else:
- return None
- def get_subs(self,params=None):
- """
- Return (presubs,postsubs) tuple.
- """
- presubs = self.get_param('presubs',params)
- postsubs = self.get_param('postsubs',params)
- return (presubs,postsubs)
- def dump(self):
- """Write block definition to stdout."""
- write = lambda s: sys.stdout.write('%s%s' % (s,writer.newline))
- write('['+self.name+']')
- if self.is_conf_entry('delimiter'):
- write('delimiter='+self.delimiter)
- if self.template:
- write('template='+self.template)
- if self.options:
- write('options='+','.join(self.options))
- if self.presubs:
- if self.postsubs:
- write('presubs='+','.join(self.presubs))
- else:
- write('subs='+','.join(self.presubs))
- if self.postsubs:
- write('postsubs='+','.join(self.postsubs))
- if self.filter:
- write('filter='+self.filter)
- if self.posattrs:
- write('posattrs='+','.join(self.posattrs))
- if self.style:
- write('style='+self.style)
- if self.styles:
- for style,d in self.styles.items():
- s = ''
- for k,v in d.items(): s += '%s=%r,' % (k,v)
- write('%s-style=%s' % (style,s[:-1]))
- def validate(self):
- """Validate block after the complete configuration has been loaded."""
- if self.is_conf_entry('delimiter') and not self.delimiter:
- raise EAsciiDoc,'[%s] missing delimiter' % self.name
- if self.style:
- if not is_name(self.style):
- raise EAsciiDoc, 'illegal style name: %s' % self.style
- if not self.style in self.styles:
- if not isinstance(self,List): # Lists don't have templates.
- message.warning('[%s] \'%s\' style not in %s' % (
- self.name,self.style,self.styles.keys()))
- # Check all styles for missing templates.
- all_styles_have_template = True
- for k,v in self.styles.items():
- t = v.get('template')
- if t and not t in config.sections:
- # Defer check if template name contains attributes.
- if not re.search(r'{.+}',t):
- message.warning('missing template section: [%s]' % t)
- if not t:
- all_styles_have_template = False
- # Check we have a valid template entry or alternatively that all the
- # styles have templates.
- if self.is_conf_entry('template') and not 'skip' in self.options:
- if self.template:
- if not self.template in config.sections:
- # Defer check if template name contains attributes.
- if not re.search(r'{.+}',self.template):
- message.warning('missing template section: [%s]'
- % self.template)
- elif not all_styles_have_template:
- if not isinstance(self,List): # Lists don't have templates.
- message.warning('missing styles templates: [%s]' % self.name)
- def isnext(self):
- """Check if this block is next in document reader."""
- result = False
- reader.skip_blank_lines()
- if reader.read_next():
- if not self.delimiter_reo:
- # Cache compiled delimiter optimization.
- self.delimiter_reo = re.compile(self.delimiter)
- mo = self.delimiter_reo.match(reader.read_next())
- if mo:
- self.mo = mo
- result = True
- return result
- def translate(self):
- """Translate block from document reader."""
- if not self.presubs:
- self.presubs = config.subsnormal
- if reader.cursor:
- self.start = reader.cursor[:]
- def merge_attributes(self,attrs,params=[]):
- """
- Use the current blocks attribute list (attrs dictionary) to build a
- dictionary of block processing parameters (self.parameters) and tag
- substitution attributes (self.attributes).
-
- 1. Copy the default parameters (self.*) to self.parameters.
- self.parameters are used internally to render the current block.
- Optional params array of additional parameters.
-
- 2. Copy attrs to self.attributes. self.attributes are used for template
- and tag substitution in the current block.
-
- 3. If a style attribute was specified update self.parameters with the
- corresponding style parameters; if there are any style parameters
- remaining add them to self.attributes (existing attribute list entries
- take precedence).
-
- 4. Set named positional attributes in self.attributes if self.posattrs
- was specified.
-
- 5. Finally self.parameters is updated with any corresponding parameters
- specified in attrs.
-
- """
-
- def check_array_parameter(param):
- # Check the parameter is a sequence type.
- if not is_array(self.parameters[param]):
- message.error('malformed presubs attribute: %s' %
- self.parameters[param])
- # Revert to default value.
- self.parameters[param] = getattr(self,param)
-
- params = list(self.PARAM_NAMES) + params
- self.attributes = {}
- if self.style:
- # If a default style is defined make it available in the template.
- self.attributes['style'] = self.style
- self.attributes.update(attrs)
- # Calculate dynamic block parameters.
- # Start with configuration file defaults.
- self.parameters = AttrDict()
- for name in params:
- self.parameters[name] = getattr(self,name)
- # Load the selected style attributes.
- posattrs = self.posattrs
- if posattrs and posattrs[0] == 'style':
- # Positional attribute style has highest precedence.
- style = self.attributes.get('1')
- else:
- style = None
- if not style:
- # Use explicit style attribute, fall back to default style.
- style = self.attributes.get('style',self.style)
- if style:
- if not is_name(style):
- message.error('illegal style name: %s' % style)
- style = self.style
- # Lists have implicit styles and do their own style checks.
- elif style not in self.styles and not isinstance(self,List):
- message.warning('missing style: [%s]: %s' % (self.name,style))
- style = self.style
- if style in self.styles:
- self.attributes['style'] = style
- for k,v in self.styles[style].items():
- if k == 'posattrs':
- posattrs = v
- elif k in params:
- self.parameters[k] = v
- elif not k in self.attributes:
- # Style attributes don't take precedence over explicit.
- self.attributes[k] = v
- # Set named positional attributes.
- for i,v in enumerate(posattrs):
- if str(i+1) in self.attributes:
- self.attributes[v] = self.attributes[str(i+1)]
- # Override config and style attributes with attribute list attributes.
- self.update_parameters(attrs)
- check_array_parameter('options')
- check_array_parameter('presubs')
- check_array_parameter('postsubs')
-
-class AbstractBlocks:
- """List of block definitions."""
- PREFIX = '' # Conf file section name prefix set in derived classes.
- BLOCK_TYPE = None # Block type set in derived classes.
- def __init__(self):
- self.current=None
- self.blocks = [] # List of Block objects.
- self.default = None # Default Block.
- self.delimiters = None # Combined delimiters regular expression.
- def load(self,sections):
- """Load block definition from 'sections' dictionary."""
- for k in sections.keys():
- if re.match(r'^'+ self.PREFIX + r'.+$',k):
- d = {}
- parse_entries(sections.get(k,()),d)
- for b in self.blocks:
- if b.name == k:
- break
- else:
- b = self.BLOCK_TYPE()
- self.blocks.append(b)
- try:
- b.load(k,d)
- except EAsciiDoc,e:
- raise EAsciiDoc,'[%s] %s' % (k,str(e))
- def dump(self):
- for b in self.blocks:
- b.dump()
- def isnext(self):
- for b in self.blocks:
- if b.isnext():
- self.current = b
- return True;
- return False
- def validate(self):
- """Validate the block definitions."""
- # Validate delimiters and build combined lists delimiter pattern.
- delimiters = []
- for b in self.blocks:
- assert b.__class__ is self.BLOCK_TYPE
- b.validate()
- if b.delimiter:
- delimiters.append(b.delimiter)
- self.delimiters = re_join(delimiters)
-
-class Paragraph(AbstractBlock):
- def __init__(self):
- AbstractBlock.__init__(self)
- self.text=None # Text in first line of paragraph.
- def load(self,name,entries):
- AbstractBlock.load(self,name,entries)
- def dump(self):
- AbstractBlock.dump(self)
- write = lambda s: sys.stdout.write('%s%s' % (s,writer.newline))
- write('')
- def isnext(self):
- result = AbstractBlock.isnext(self)
- if result:
- self.text = self.mo.groupdict().get('text')
- return result
- def translate(self):
- AbstractBlock.translate(self)
- attrs = self.mo.groupdict().copy()
- if 'text' in attrs: del attrs['text']
- BlockTitle.consume(attrs)
- AttributeList.consume(attrs)
- self.merge_attributes(attrs)
- reader.read() # Discard (already parsed item first line).
- body = reader.read_until(paragraphs.terminators)
- body = [self.text] + list(body)
- presubs = self.parameters.presubs
- postsubs = self.parameters.postsubs
- if document.attributes.get('plaintext') is None:
- body = Lex.set_margin(body) # Move body to left margin.
- body = Lex.subs(body,presubs)
- template = self.parameters.template
- template = subs_attrs(template,attrs)
- stag = config.section2tags(template, self.attributes,skipend=True)[0]
- if self.parameters.filter:
- body = filter_lines(self.parameters.filter,body,self.attributes)
- body = Lex.subs(body,postsubs)
- etag = config.section2tags(template, self.attributes,skipstart=True)[1]
- # Write start tag, content, end tag.
- writer.write(dovetail_tags(stag,body,etag),trace='paragraph')
-
-class Paragraphs(AbstractBlocks):
- """List of paragraph definitions."""
- BLOCK_TYPE = Paragraph
- PREFIX = 'paradef-'
- def __init__(self):
- AbstractBlocks.__init__(self)
- self.terminators=None # List of compiled re's.
- def initialize(self):
- self.terminators = [
- re.compile(r'^\+$|^$'),
- re.compile(AttributeList.pattern),
- re.compile(blocks.delimiters),
- re.compile(tables.delimiters),
- re.compile(tables_OLD.delimiters),
- ]
- def load(self,sections):
- AbstractBlocks.load(self,sections)
- def validate(self):
- AbstractBlocks.validate(self)
- # Check we have a default paragraph definition, put it last in list.
- for b in self.blocks:
- if b.name == 'paradef-default':
- self.blocks.append(b)
- self.default = b
- self.blocks.remove(b)
- break
- else:
- raise EAsciiDoc,'missing section: [paradef-default]'
-
-class List(AbstractBlock):
- NUMBER_STYLES= ('arabic','loweralpha','upperalpha','lowerroman',
- 'upperroman')
- def __init__(self):
- AbstractBlock.__init__(self)
- self.CONF_ENTRIES += ('type','tags')
- self.PARAM_NAMES += ('tags',)
- # tabledef conf file parameters.
- self.type=None
- self.tags=None # Name of listtags-<tags> conf section.
- # Calculated parameters.
- self.tag=None # Current tags AttrDict.
- self.label=None # List item label (labeled lists).
- self.text=None # Text in first line of list item.
- self.index=None # Matched delimiter 'index' group (numbered lists).
- self.type=None # List type ('numbered','bulleted','labeled').
- self.ordinal=None # Current list item ordinal number (1..)
- self.number_style=None # Current numbered list style ('arabic'..)
- def load(self,name,entries):
- AbstractBlock.load(self,name,entries)
- def dump(self):
- AbstractBlock.dump(self)
- write = lambda s: sys.stdout.write('%s%s' % (s,writer.newline))
- write('type='+self.type)
- write('tags='+self.tags)
- write('')
- def validate(self):
- AbstractBlock.validate(self)
- tags = [self.tags]
- tags += [s['tags'] for s in self.styles.values() if 'tags' in s]
- for t in tags:
- if t not in lists.tags:
- self.error('missing section: [listtags-%s]' % t,halt=True)
- def isnext(self):
- result = AbstractBlock.isnext(self)
- if result:
- self.label = self.mo.groupdict().get('label')
- self.text = self.mo.groupdict().get('text')
- self.index = self.mo.groupdict().get('index')
- return result
- def translate_entry(self):
- assert self.type == 'labeled'
- entrytag = subs_tag(self.tag.entry, self.attributes)
- labeltag = subs_tag(self.tag.label, self.attributes)
- writer.write(entrytag[0],trace='list entry open')
- writer.write(labeltag[0],trace='list label open')
- # Write labels.
- while Lex.next() is self:
- reader.read() # Discard (already parsed item first line).
- writer.write_tag(self.tag.term, [self.label],
- self.presubs, self.attributes,trace='list term')
- if self.text: break
- writer.write(labeltag[1],trace='list label close')
- # Write item text.
- self.translate_item()
- writer.write(entrytag[1],trace='list entry close')
- def translate_item(self):
- if self.type == 'callout':
- self.attributes['coids'] = calloutmap.calloutids(self.ordinal)
- itemtag = subs_tag(self.tag.item, self.attributes)
- writer.write(itemtag[0],trace='list item open')
- # Write ItemText.
- text = reader.read_until(lists.terminators)
- if self.text:
- text = [self.text] + list(text)
- if text:
- writer.write_tag(self.tag.text, text, self.presubs, self.attributes,trace='list text')
- # Process explicit and implicit list item continuations.
- while True:
- continuation = reader.read_next() == '+'
- if continuation: reader.read() # Discard continuation line.
- while Lex.next() in (BlockTitle,AttributeList):
- # Consume continued element title and attributes.
- Lex.next().translate()
- if not continuation and BlockTitle.title:
- # Titled elements terminate the list.
- break
- next = Lex.next()
- if next in lists.open:
- break
- elif isinstance(next,List):
- next.translate()
- elif isinstance(next,Paragraph) and 'listelement' in next.options:
- next.translate()
- elif continuation:
- # This is where continued elements are processed.
- if next is Title:
- message.error('section title not allowed in list item',halt=True)
- next.translate()
- else:
- break
- writer.write(itemtag[1],trace='list item close')
-
- @staticmethod
- def calc_style(index):
- """Return the numbered list style ('arabic'...) of the list item index.
- Return None if unrecognized style."""
- if re.match(r'^\d+[\.>]$', index):
- style = 'arabic'
- elif re.match(r'^[ivx]+\)$', index):
- style = 'lowerroman'
- elif re.match(r'^[IVX]+\)$', index):
- style = 'upperroman'
- elif re.match(r'^[a-z]\.$', index):
- style = 'loweralpha'
- elif re.match(r'^[A-Z]\.$', index):
- style = 'upperalpha'
- else:
- assert False
- return style
-
- @staticmethod
- def calc_index(index,style):
- """Return the ordinal number of (1...) of the list item index
- for the given list style."""
- def roman_to_int(roman):
- roman = roman.lower()
- digits = {'i':1,'v':5,'x':10}
- result = 0
- for i in range(len(roman)):
- digit = digits[roman[i]]
- # If next digit is larger this digit is negative.
- if i+1 < len(roman) and digits[roman[i+1]] > digit:
- result -= digit
- else:
- result += digit
- return result
- index = index[:-1]
- if style == 'arabic':
- ordinal = int(index)
- elif style == 'lowerroman':
- ordinal = roman_to_int(index)
- elif style == 'upperroman':
- ordinal = roman_to_int(index)
- elif style == 'loweralpha':
- ordinal = ord(index) - ord('a') + 1
- elif style == 'upperalpha':
- ordinal = ord(index) - ord('A') + 1
- else:
- assert False
- return ordinal
-
- def check_index(self):
- """Check calculated self.ordinal (1,2,...) against the item number
- in the document (self.index) and check the number style is the same as
- the first item (self.number_style)."""
- assert self.type in ('numbered','callout')
- if self.index:
- style = self.calc_style(self.index)
- if style != self.number_style:
- message.warning('list item style: expected %s got %s' %
- (self.number_style,style), offset=1)
- ordinal = self.calc_index(self.index,style)
- if ordinal != self.ordinal:
- message.warning('list item index: expected %s got %s' %
- (self.ordinal,ordinal), offset=1)
-
- def check_tags(self):
- """ Check that all necessary tags are present. """
- tags = set(Lists.TAGS)
- if self.type != 'labeled':
- tags = tags.difference(['entry','label','term'])
- missing = tags.difference(self.tag.keys())
- if missing:
- self.error('missing tag(s): %s' % ','.join(missing), halt=True)
- def translate(self):
- AbstractBlock.translate(self)
- if self.short_name() in ('bibliography','glossary','qanda'):
- message.deprecated('old %s list syntax' % self.short_name())
- lists.open.append(self)
- attrs = self.mo.groupdict().copy()
- for k in ('label','text','index'):
- if k in attrs: del attrs[k]
- if self.index:
- # Set the numbering style from first list item.
- attrs['style'] = self.calc_style(self.index)
- BlockTitle.consume(attrs)
- AttributeList.consume(attrs)
- self.merge_attributes(attrs,['tags'])
- if self.type in ('numbered','callout'):
- self.number_style = self.attributes.get('style')
- if self.number_style not in self.NUMBER_STYLES:
- message.error('illegal numbered list style: %s' % self.number_style)
- # Fall back to default style.
- self.attributes['style'] = self.number_style = self.style
- self.tag = lists.tags[self.parameters.tags]
- self.check_tags()
- if 'width' in self.attributes:
- # Set horizontal list 'labelwidth' and 'itemwidth' attributes.
- v = str(self.attributes['width'])
- mo = re.match(r'^(\d{1,2})%?$',v)
- if mo:
- labelwidth = int(mo.group(1))
- self.attributes['labelwidth'] = str(labelwidth)
- self.attributes['itemwidth'] = str(100-labelwidth)
- else:
- self.error('illegal attribute value: width="%s"' % v)
- stag,etag = subs_tag(self.tag.list, self.attributes)
- if stag:
- writer.write(stag,trace='list open')
- self.ordinal = 0
- # Process list till list syntax changes or there is a new title.
- while Lex.next() is self and not BlockTitle.title:
- self.ordinal += 1
- document.attributes['listindex'] = str(self.ordinal)
- if self.type in ('numbered','callout'):
- self.check_index()
- if self.type in ('bulleted','numbered','callout'):
- reader.read() # Discard (already parsed item first line).
- self.translate_item()
- elif self.type == 'labeled':
- self.translate_entry()
- else:
- raise AssertionError,'illegal [%s] list type' % self.name
- if etag:
- writer.write(etag,trace='list close')
- if self.type == 'callout':
- calloutmap.validate(self.ordinal)
- calloutmap.listclose()
- lists.open.pop()
- if len(lists.open):
- document.attributes['listindex'] = str(lists.open[-1].ordinal)
-
-class Lists(AbstractBlocks):
- """List of List objects."""
- BLOCK_TYPE = List
- PREFIX = 'listdef-'
- TYPES = ('bulleted','numbered','labeled','callout')
- TAGS = ('list', 'entry','item','text', 'label','term')
- def __init__(self):
- AbstractBlocks.__init__(self)
- self.open = [] # A stack of the current and parent lists.
- self.tags={} # List tags dictionary. Each entry is a tags AttrDict.
- self.terminators=None # List of compiled re's.
- def initialize(self):
- self.terminators = [
- re.compile(r'^\+$|^$'),
- re.compile(AttributeList.pattern),
- re.compile(lists.delimiters),
- re.compile(blocks.delimiters),
- re.compile(tables.delimiters),
- re.compile(tables_OLD.delimiters),
- ]
- def load(self,sections):
- AbstractBlocks.load(self,sections)
- self.load_tags(sections)
- def load_tags(self,sections):
- """
- Load listtags-* conf file sections to self.tags.
- """
- for section in sections.keys():
- mo = re.match(r'^listtags-(?P<name>\w+)$',section)
- if mo:
- name = mo.group('name')
- if name in self.tags:
- d = self.tags[name]
- else:
- d = AttrDict()
- parse_entries(sections.get(section,()),d)
- for k in d.keys():
- if k not in self.TAGS:
- message.warning('[%s] contains illegal list tag: %s' %
- (section,k))
- self.tags[name] = d
- def validate(self):
- AbstractBlocks.validate(self)
- for b in self.blocks:
- # Check list has valid type.
- if not b.type in Lists.TYPES:
- raise EAsciiDoc,'[%s] illegal type' % b.name
- b.validate()
- def dump(self):
- AbstractBlocks.dump(self)
- for k,v in self.tags.items():
- dump_section('listtags-'+k, v)
-
-
-class DelimitedBlock(AbstractBlock):
- def __init__(self):
- AbstractBlock.__init__(self)
- def load(self,name,entries):
- AbstractBlock.load(self,name,entries)
- def dump(self):
- AbstractBlock.dump(self)
- write = lambda s: sys.stdout.write('%s%s' % (s,writer.newline))
- write('')
- def isnext(self):
- return AbstractBlock.isnext(self)
- def translate(self):
- AbstractBlock.translate(self)
- reader.read() # Discard delimiter.
- attrs = {}
- if self.short_name() != 'comment':
- BlockTitle.consume(attrs)
- AttributeList.consume(attrs)
- self.merge_attributes(attrs)
- options = self.parameters.options
- if 'skip' in options:
- reader.read_until(self.delimiter,same_file=True)
- elif safe() and self.name == 'blockdef-backend':
- message.unsafe('Backend Block')
- reader.read_until(self.delimiter,same_file=True)
- else:
- template = self.parameters.template
- template = subs_attrs(template,attrs)
- name = self.short_name()+' block'
- if 'sectionbody' in options:
- # The body is treated like a section body.
- stag,etag = config.section2tags(template,self.attributes)
- writer.write(stag,trace=name+' open')
- Section.translate_body(self)
- writer.write(etag,trace=name+' close')
- else:
- stag = config.section2tags(template,self.attributes,skipend=True)[0]
- body = reader.read_until(self.delimiter,same_file=True)
- presubs = self.parameters.presubs
- postsubs = self.parameters.postsubs
- body = Lex.subs(body,presubs)
- if self.parameters.filter:
- body = filter_lines(self.parameters.filter,body,self.attributes)
- body = Lex.subs(body,postsubs)
- # Write start tag, content, end tag.
- etag = config.section2tags(template,self.attributes,skipstart=True)[1]
- writer.write(dovetail_tags(stag,body,etag),trace=name)
- trace(self.short_name()+' block close',etag)
- if reader.eof():
- self.error('missing closing delimiter',self.start)
- else:
- delimiter = reader.read() # Discard delimiter line.
- assert re.match(self.delimiter,delimiter)
-
-class DelimitedBlocks(AbstractBlocks):
- """List of delimited blocks."""
- BLOCK_TYPE = DelimitedBlock
- PREFIX = 'blockdef-'
- def __init__(self):
- AbstractBlocks.__init__(self)
- def load(self,sections):
- """Update blocks defined in 'sections' dictionary."""
- AbstractBlocks.load(self,sections)
- def validate(self):
- AbstractBlocks.validate(self)
-
-class Column:
- """Table column."""
- def __init__(self, width=None, align_spec=None, style=None):
- self.width = width or '1'
- self.halign, self.valign = Table.parse_align_spec(align_spec)
- self.style = style # Style name or None.
- # Calculated attribute values.
- self.abswidth = None # 1.. (page units).
- self.pcwidth = None # 1..99 (percentage).
-
-class Cell:
- def __init__(self, data, span_spec=None, align_spec=None, style=None):
- self.data = data
- self.span, self.vspan = Table.parse_span_spec(span_spec)
- self.halign, self.valign = Table.parse_align_spec(align_spec)
- self.style = style
- def __repr__(self):
- return '<Cell: %d.%d %s.%s %s "%s">' % (
- self.span, self.vspan,
- self.halign, self.valign,
- self.style or '',
- self.data)
-
-class Table(AbstractBlock):
- ALIGN = {'<':'left', '>':'right', '^':'center'}
- VALIGN = {'<':'top', '>':'bottom', '^':'middle'}
- FORMATS = ('psv','csv','dsv')
- SEPARATORS = dict(
- csv=',',
- dsv=r':|\n',
- # The count and align group matches are not exact.
- psv=r'((?<!\S)((?P<span>[\d.]+)(?P<op>[*+]))?(?P<align>[<\^>.]{,3})?(?P<style>[a-z])?)?\|'
- )
- def __init__(self):
- AbstractBlock.__init__(self)
- self.CONF_ENTRIES += ('format','tags','separator')
- # tabledef conf file parameters.
- self.format='psv'
- self.separator=None
- self.tags=None # Name of tabletags-<tags> conf section.
- # Calculated parameters.
- self.abswidth=None # 1.. (page units).
- self.pcwidth = None # 1..99 (percentage).
- self.rows=[] # Parsed rows, each row is a list of Cells.
- self.columns=[] # List of Columns.
- @staticmethod
- def parse_align_spec(align_spec):
- """
- Parse AsciiDoc cell alignment specifier and return 2-tuple with
- horizonatal and vertical alignment names. Unspecified alignments
- set to None.
- """
- result = (None, None)
- if align_spec:
- mo = re.match(r'^([<\^>])?(\.([<\^>]))?$', align_spec)
- if mo:
- result = (Table.ALIGN.get(mo.group(1)),
- Table.VALIGN.get(mo.group(3)))
- return result
- @staticmethod
- def parse_span_spec(span_spec):
- """
- Parse AsciiDoc cell span specifier and return 2-tuple with horizonatal
- and vertical span counts. Set default values (1,1) if not
- specified.
- """
- result = (None, None)
- if span_spec:
- mo = re.match(r'^(\d+)?(\.(\d+))?$', span_spec)
- if mo:
- result = (mo.group(1) and int(mo.group(1)),
- mo.group(3) and int(mo.group(3)))
- return (result[0] or 1, result[1] or 1)
- def load(self,name,entries):
- AbstractBlock.load(self,name,entries)
- def dump(self):
- AbstractBlock.dump(self)
- write = lambda s: sys.stdout.write('%s%s' % (s,writer.newline))
- write('format='+self.format)
- write('')
- def validate(self):
- AbstractBlock.validate(self)
- if self.format not in Table.FORMATS:
- self.error('illegal format=%s' % self.format,halt=True)
- self.tags = self.tags or 'default'
- tags = [self.tags]
- tags += [s['tags'] for s in self.styles.values() if 'tags' in s]
- for t in tags:
- if t not in tables.tags:
- self.error('missing section: [tabletags-%s]' % t,halt=True)
- if self.separator:
- # Evaluate escape characters.
- self.separator = eval('"'+self.separator+'"')
- #TODO: Move to class Tables
- # Check global table parameters.
- elif config.pagewidth is None:
- self.error('missing [miscellaneous] entry: pagewidth')
- elif config.pageunits is None:
- self.error('missing [miscellaneous] entry: pageunits')
- def validate_attributes(self):
- """Validate and parse table attributes."""
- # Set defaults.
- format = self.format
- tags = self.tags
- separator = self.separator
- abswidth = float(config.pagewidth)
- pcwidth = 100.0
- for k,v in self.attributes.items():
- if k == 'format':
- if v not in self.FORMATS:
- self.error('illegal %s=%s' % (k,v))
- else:
- format = v
- elif k == 'tags':
- if v not in tables.tags:
- self.error('illegal %s=%s' % (k,v))
- else:
- tags = v
- elif k == 'separator':
- separator = v
- elif k == 'width':
- if not re.match(r'^\d{1,3}%$',v) or int(v[:-1]) > 100:
- self.error('illegal %s=%s' % (k,v))
- else:
- abswidth = float(v[:-1])/100 * config.pagewidth
- pcwidth = float(v[:-1])
- # Calculate separator if it has not been specified.
- if not separator:
- separator = Table.SEPARATORS[format]
- if format == 'csv':
- if len(separator) > 1:
- self.error('illegal csv separator=%s' % separator)
- separator = ','
- else:
- if not is_re(separator):
- self.error('illegal regular expression: separator=%s' %
- separator)
- self.parameters.format = format
- self.parameters.tags = tags
- self.parameters.separator = separator
- self.abswidth = abswidth
- self.pcwidth = pcwidth
- def get_tags(self,params):
- tags = self.get_param('tags',params)
- assert(tags and tags in tables.tags)
- return tables.tags[tags]
- def get_style(self,prefix):
- """
- Return the style dictionary whose name starts with 'prefix'.
- """
- if prefix is None:
- return None
- names = self.styles.keys()
- names.sort()
- for name in names:
- if name.startswith(prefix):
- return self.styles[name]
- else:
- self.error('missing style: %s*' % prefix)
- return None
- def parse_cols(self, cols, halign, valign):
- """
- Build list of column objects from table 'cols', 'halign' and 'valign'
- attributes.
- """
- # [<multiplier>*][<align>][<width>][<style>]
- COLS_RE1 = r'^((?P<count>\d+)\*)?(?P<align>[<\^>.]{,3})?(?P<width>\d+%?)?(?P<style>[a-z]\w*)?$'
- # [<multiplier>*][<width>][<align>][<style>]
- COLS_RE2 = r'^((?P<count>\d+)\*)?(?P<width>\d+%?)?(?P<align>[<\^>.]{,3})?(?P<style>[a-z]\w*)?$'
- reo1 = re.compile(COLS_RE1)
- reo2 = re.compile(COLS_RE2)
- cols = str(cols)
- if re.match(r'^\d+$',cols):
- for i in range(int(cols)):
- self.columns.append(Column())
- else:
- for col in re.split(r'\s*,\s*',cols):
- mo = reo1.match(col)
- if not mo:
- mo = reo2.match(col)
- if mo:
- count = int(mo.groupdict().get('count') or 1)
- for i in range(count):
- self.columns.append(
- Column(mo.group('width'), mo.group('align'),
- self.get_style(mo.group('style')))
- )
- else:
- self.error('illegal column spec: %s' % col,self.start)
- # Set column (and indirectly cell) default alignments.
- for col in self.columns:
- col.halign = col.halign or halign or 'left'
- col.valign = col.valign or valign or 'top'
- # Validate widths and calculate missing widths.
- n = 0; percents = 0; props = 0
- for col in self.columns:
- if col.width:
- if col.width[-1] == '%': percents += int(col.width[:-1])
- else: props += int(col.width)
- n += 1
- if percents > 0 and props > 0:
- self.error('mixed percent and proportional widths: %s'
- % cols,self.start)
- pcunits = percents > 0
- # Fill in missing widths.
- if n < len(self.columns) and percents < 100:
- if pcunits:
- width = float(100 - percents)/float(len(self.columns) - n)
- else:
- width = 1
- for col in self.columns:
- if not col.width:
- if pcunits:
- col.width = str(int(width))+'%'
- percents += width
- else:
- col.width = str(width)
- props += width
- # Calculate column alignment and absolute and percent width values.
- percents = 0
- for col in self.columns:
- if pcunits:
- col.pcwidth = float(col.width[:-1])
- else:
- col.pcwidth = (float(col.width)/props)*100
- col.abswidth = self.abswidth * (col.pcwidth/100)
- if config.pageunits in ('cm','mm','in','em'):
- col.abswidth = '%.2f' % round(col.abswidth,2)
- else:
- col.abswidth = '%d' % round(col.abswidth)
- percents += col.pcwidth
- col.pcwidth = int(col.pcwidth)
- if round(percents) > 100:
- self.error('total width exceeds 100%%: %s' % cols,self.start)
- elif round(percents) < 100:
- self.error('total width less than 100%%: %s' % cols,self.start)
- def build_colspecs(self):
- """
- Generate column related substitution attributes.
- """
- cols = []
- i = 1
- for col in self.columns:
- colspec = self.get_tags(col.style).colspec
- if colspec:
- self.attributes['halign'] = col.halign
- self.attributes['valign'] = col.valign
- self.attributes['colabswidth'] = col.abswidth
- self.attributes['colpcwidth'] = col.pcwidth
- self.attributes['colnumber'] = str(i)
- s = subs_attrs(colspec, self.attributes)
- if not s:
- message.warning('colspec dropped: contains undefined attribute')
- else:
- cols.append(s)
- i += 1
- if cols:
- self.attributes['colspecs'] = writer.newline.join(cols)
- def parse_rows(self, text):
- """
- Parse the table source text into self.rows (a list of rows, each row
- is a list of Cells.
- """
- reserved = {} # Cols reserved by rowspans (indexed by row number).
- if self.parameters.format in ('psv','dsv'):
- ri = 0 # Current row index 0..
- cells = self.parse_psv_dsv(text)
- row = []
- ci = 0 # Column counter 0..colcount
- for cell in cells:
- colcount = len(self.columns) - reserved.get(ri,0)
- if cell.vspan > 1:
- # Reserve spanned columns from ensuing rows.
- for i in range(1, cell.vspan):
- reserved[ri+i] = reserved.get(ri+i, 0) + cell.span
- ci += cell.span
- if ci <= colcount:
- row.append(cell)
- if ci >= colcount:
- self.rows.append(row)
- ri += 1
- row = []
- ci = 0
- if ci > colcount:
- message.warning('table row %d: span exceeds number of columns'
- % ri)
- elif self.parameters.format == 'csv':
- self.rows = self.parse_csv(text)
- else:
- assert True,'illegal table format'
- # Check that all row spans match.
- for ri,row in enumerate(self.rows):
- row_span = 0
- for cell in row:
- row_span += cell.span
- row_span += reserved.get(ri,0)
- if ri == 0:
- header_span = row_span
- if row_span < header_span:
- message.warning('table row %d: does not span all columns' % (ri+1))
- if row_span > header_span:
- message.warning('table row %d: exceeds columns span' % (ri+1))
- # Check that now row spans exceed the number of rows.
- if len([x for x in reserved.keys() if x >= len(self.rows)]) > 0:
- message.warning('one or more cell spans exceed the available rows')
- def subs_rows(self, rows, rowtype='body'):
- """
- Return a string of output markup from a list of rows, each row
- is a list of raw data text.
- """
- tags = tables.tags[self.parameters.tags]
- if rowtype == 'header':
- rtag = tags.headrow
- elif rowtype == 'footer':
- rtag = tags.footrow
- else:
- rtag = tags.bodyrow
- result = []
- stag,etag = subs_tag(rtag,self.attributes)
- for row in rows:
- result.append(stag)
- result += self.subs_row(row,rowtype)
- result.append(etag)
- return writer.newline.join(result)
- def subs_row(self, row, rowtype):
- """
- Substitute the list of Cells using the data tag.
- Returns a list of marked up table cell elements.
- """
- result = []
- i = 0
- for cell in row:
- if i >= len(self.columns):
- break # Skip cells outside the header width.
- col = self.columns[i]
- self.attributes['halign'] = cell.halign or col.halign
- self.attributes['valign'] = cell.valign or col.valign
- self.attributes['colabswidth'] = col.abswidth
- self.attributes['colpcwidth'] = col.pcwidth
- self.attributes['colnumber'] = str(i+1)
- self.attributes['colspan'] = str(cell.span)
- self.attributes['colstart'] = self.attributes['colnumber']
- self.attributes['colend'] = str(i+cell.span)
- self.attributes['rowspan'] = str(cell.vspan)
- self.attributes['morerows'] = str(cell.vspan-1)
- # Fill missing column data with blanks.
- if i > len(self.columns) - 1:
- data = ''
- else:
- data = cell.data
- if rowtype == 'header':
- # Use table style unless overriden by cell style.
- colstyle = cell.style
- else:
- # If the cell style is not defined use the column style.
- colstyle = cell.style or col.style
- tags = self.get_tags(colstyle)
- presubs,postsubs = self.get_subs(colstyle)
- data = [data]
- data = Lex.subs(data, presubs)
- data = filter_lines(self.get_param('filter',colstyle),
- data, self.attributes)
- data = Lex.subs(data, postsubs)
- if rowtype != 'header':
- ptag = tags.paragraph
- if ptag:
- stag,etag = subs_tag(ptag,self.attributes)
- text = '\n'.join(data).strip()
- data = []
- for para in re.split(r'\n{2,}',text):
- data += dovetail_tags([stag],para.split('\n'),[etag])
- if rowtype == 'header':
- dtag = tags.headdata
- elif rowtype == 'footer':
- dtag = tags.footdata
- else:
- dtag = tags.bodydata
- stag,etag = subs_tag(dtag,self.attributes)
- result = result + dovetail_tags([stag],data,[etag])
- i += cell.span
- return result
- def parse_csv(self,text):
- """
- Parse the table source text and return a list of rows, each row
- is a list of Cells.
- """
- import StringIO
- import csv
- rows = []
- rdr = csv.reader(StringIO.StringIO('\r\n'.join(text)),
- delimiter=self.parameters.separator, skipinitialspace=True)
- try:
- for row in rdr:
- rows.append([Cell(data) for data in row])
- except Exception:
- self.error('csv parse error: %s' % row)
- return rows
- def parse_psv_dsv(self,text):
- """
- Parse list of PSV or DSV table source text lines and return a list of
- Cells.
- """
- def append_cell(data, span_spec, op, align_spec, style):
- op = op or '+'
- if op == '*': # Cell multiplier.
- span = Table.parse_span_spec(span_spec)[0]
- for i in range(span):
- cells.append(Cell(data, '1', align_spec, style))
- elif op == '+': # Column spanner.
- cells.append(Cell(data, span_spec, align_spec, style))
- else:
- self.error('illegal table cell operator')
- text = '\n'.join(text)
- separator = '(?msu)'+self.parameters.separator
- format = self.parameters.format
- start = 0
- span = None
- op = None
- align = None
- style = None
- cells = []
- data = ''
- for mo in re.finditer(separator,text):
- data += text[start:mo.start()]
- if data.endswith('\\'):
- data = data[:-1]+mo.group() # Reinstate escaped separators.
- else:
- append_cell(data, span, op, align, style)
- span = mo.groupdict().get('span')
- op = mo.groupdict().get('op')
- align = mo.groupdict().get('align')
- style = mo.groupdict().get('style')
- if style:
- style = self.get_style(style)
- data = ''
- start = mo.end()
- # Last cell follows final separator.
- data += text[start:]
- append_cell(data, span, op, align, style)
- # We expect a dummy blank item preceeding first PSV cell.
- if format == 'psv':
- if cells[0].data.strip() != '':
- self.error('missing leading separator: %s' % separator,
- self.start)
- else:
- cells.pop(0)
- return cells
- def translate(self):
- AbstractBlock.translate(self)
- reader.read() # Discard delimiter.
- # Reset instance specific properties.
- self.columns = []
- self.rows = []
- attrs = {}
- BlockTitle.consume(attrs)
- # Mix in document attribute list.
- AttributeList.consume(attrs)
- self.merge_attributes(attrs)
- self.validate_attributes()
- # Add global and calculated configuration parameters.
- self.attributes['pagewidth'] = config.pagewidth
- self.attributes['pageunits'] = config.pageunits
- self.attributes['tableabswidth'] = int(self.abswidth)
- self.attributes['tablepcwidth'] = int(self.pcwidth)
- # Read the entire table.
- text = reader.read_until(self.delimiter)
- if reader.eof():
- self.error('missing closing delimiter',self.start)
- else:
- delimiter = reader.read() # Discard closing delimiter.
- assert re.match(self.delimiter,delimiter)
- if len(text) == 0:
- message.warning('[%s] table is empty' % self.name)
- return
- cols = attrs.get('cols')
- if not cols:
- # Calculate column count from number of items in first line.
- if self.parameters.format == 'csv':
- cols = text[0].count(self.parameters.separator) + 1
- else:
- cols = 0
- for cell in self.parse_psv_dsv(text[:1]):
- cols += cell.span
- self.parse_cols(cols, attrs.get('halign'), attrs.get('valign'))
- # Set calculated attributes.
- self.attributes['colcount'] = len(self.columns)
- self.build_colspecs()
- self.parse_rows(text)
- # The 'rowcount' attribute is used by the experimental LaTeX backend.
- self.attributes['rowcount'] = str(len(self.rows))
- # Generate headrows, footrows, bodyrows.
- # Headrow, footrow and bodyrow data replaces same named attributes in
- # the table markup template. In order to ensure this data does not get
- # a second attribute substitution (which would interfere with any
- # already substituted inline passthroughs) unique placeholders are used
- # (the tab character does not appear elsewhere since it is expanded on
- # input) which are replaced after template attribute substitution.
- headrows = footrows = bodyrows = None
- if self.rows and 'header' in self.parameters.options:
- headrows = self.subs_rows(self.rows[0:1],'header')
- self.attributes['headrows'] = '\x07headrows\x07'
- self.rows = self.rows[1:]
- if self.rows and 'footer' in self.parameters.options:
- footrows = self.subs_rows( self.rows[-1:], 'footer')
- self.attributes['footrows'] = '\x07footrows\x07'
- self.rows = self.rows[:-1]
- if self.rows:
- bodyrows = self.subs_rows(self.rows)
- self.attributes['bodyrows'] = '\x07bodyrows\x07'
- table = subs_attrs(config.sections[self.parameters.template],
- self.attributes)
- table = writer.newline.join(table)
- # Before we finish replace the table head, foot and body place holders
- # with the real data.
- if headrows:
- table = table.replace('\x07headrows\x07', headrows, 1)
- if footrows:
- table = table.replace('\x07footrows\x07', footrows, 1)
- if bodyrows:
- table = table.replace('\x07bodyrows\x07', bodyrows, 1)
- writer.write(table,trace='table')
-
-class Tables(AbstractBlocks):
- """List of tables."""
- BLOCK_TYPE = Table
- PREFIX = 'tabledef-'
- TAGS = ('colspec', 'headrow','footrow','bodyrow',
- 'headdata','footdata', 'bodydata','paragraph')
- def __init__(self):
- AbstractBlocks.__init__(self)
- # Table tags dictionary. Each entry is a tags dictionary.
- self.tags={}
- def load(self,sections):
- AbstractBlocks.load(self,sections)
- self.load_tags(sections)
- def load_tags(self,sections):
- """
- Load tabletags-* conf file sections to self.tags.
- """
- for section in sections.keys():
- mo = re.match(r'^tabletags-(?P<name>\w+)$',section)
- if mo:
- name = mo.group('name')
- if name in self.tags:
- d = self.tags[name]
- else:
- d = AttrDict()
- parse_entries(sections.get(section,()),d)
- for k in d.keys():
- if k not in self.TAGS:
- message.warning('[%s] contains illegal table tag: %s' %
- (section,k))
- self.tags[name] = d
- def validate(self):
- AbstractBlocks.validate(self)
- # Check we have a default table definition,
- for i in range(len(self.blocks)):
- if self.blocks[i].name == 'tabledef-default':
- default = self.blocks[i]
- break
- else:
- raise EAsciiDoc,'missing section: [tabledef-default]'
- # Propagate defaults to unspecified table parameters.
- for b in self.blocks:
- if b is not default:
- if b.format is None: b.format = default.format
- if b.template is None: b.template = default.template
- # Check tags and propagate default tags.
- if not 'default' in self.tags:
- raise EAsciiDoc,'missing section: [tabletags-default]'
- default = self.tags['default']
- for tag in ('bodyrow','bodydata','paragraph'): # Mandatory default tags.
- if tag not in default:
- raise EAsciiDoc,'missing [tabletags-default] entry: %s' % tag
- for t in self.tags.values():
- if t is not default:
- if t.colspec is None: t.colspec = default.colspec
- if t.headrow is None: t.headrow = default.headrow
- if t.footrow is None: t.footrow = default.footrow
- if t.bodyrow is None: t.bodyrow = default.bodyrow
- if t.headdata is None: t.headdata = default.headdata
- if t.footdata is None: t.footdata = default.footdata
- if t.bodydata is None: t.bodydata = default.bodydata
- if t.paragraph is None: t.paragraph = default.paragraph
- # Use body tags if header and footer tags are not specified.
- for t in self.tags.values():
- if not t.headrow: t.headrow = t.bodyrow
- if not t.footrow: t.footrow = t.bodyrow
- if not t.headdata: t.headdata = t.bodydata
- if not t.footdata: t.footdata = t.bodydata
- # Check table definitions are valid.
- for b in self.blocks:
- b.validate()
- def dump(self):
- AbstractBlocks.dump(self)
- for k,v in self.tags.items():
- dump_section('tabletags-'+k, v)
-
-class Macros:
- # Default system macro syntax.
- SYS_RE = r'(?u)^(?P<name>[\\]?\w(\w|-)*?)::(?P<target>\S*?)' + \
- r'(\[(?P<attrlist>.*?)\])$'
- def __init__(self):
- self.macros = [] # List of Macros.
- self.current = None # The last matched block macro.
- self.passthroughs = []
- # Initialize default system macro.
- m = Macro()
- m.pattern = self.SYS_RE
- m.prefix = '+'
- m.reo = re.compile(m.pattern)
- self.macros.append(m)
- def load(self,entries):
- for entry in entries:
- m = Macro()
- m.load(entry)
- if m.name is None:
- # Delete undefined macro.
- for i,m2 in enumerate(self.macros):
- if m2.pattern == m.pattern:
- del self.macros[i]
- break
- else:
- message.warning('unable to delete missing macro: %s' % m.pattern)
- else:
- # Check for duplicates.
- for m2 in self.macros:
- if m2.pattern == m.pattern:
- message.verbose('macro redefinition: %s%s' % (m.prefix,m.name))
- break
- else:
- self.macros.append(m)
- def dump(self):
- write = lambda s: sys.stdout.write('%s%s' % (s,writer.newline))
- write('[macros]')
- # Dump all macros except the first (built-in system) macro.
- for m in self.macros[1:]:
- # Escape = in pattern.
- macro = '%s=%s%s' % (m.pattern.replace('=',r'\='), m.prefix, m.name)
- if m.subslist is not None:
- macro += '[' + ','.join(m.subslist) + ']'
- write(macro)
- write('')
- def validate(self):
- # Check all named sections exist.
- if config.verbose:
- for m in self.macros:
- if m.name and m.prefix != '+':
- m.section_name()
- def subs(self,text,prefix='',callouts=False):
- # If callouts is True then only callout macros are processed, if False
- # then all non-callout macros are processed.
- result = text
- for m in self.macros:
- if m.prefix == prefix:
- if callouts ^ (m.name != 'callout'):
- result = m.subs(result)
- return result
- def isnext(self):
- """Return matching macro if block macro is next on reader."""
- reader.skip_blank_lines()
- line = reader.read_next()
- if line:
- for m in self.macros:
- if m.prefix == '#':
- if m.reo.match(line):
- self.current = m
- return m
- return False
- def match(self,prefix,name,text):
- """Return re match object matching 'text' with macro type 'prefix',
- macro name 'name'."""
- for m in self.macros:
- if m.prefix == prefix:
- mo = m.reo.match(text)
- if mo:
- if m.name == name:
- return mo
- if re.match(name,mo.group('name')):
- return mo
- return None
- def extract_passthroughs(self,text,prefix=''):
- """ Extract the passthrough text and replace with temporary
- placeholders."""
- self.passthroughs = []
- for m in self.macros:
- if m.has_passthrough() and m.prefix == prefix:
- text = m.subs_passthroughs(text, self.passthroughs)
- return text
- def restore_passthroughs(self,text):
- """ Replace passthough placeholders with the original passthrough
- text."""
- for i,v in enumerate(self.passthroughs):
- text = text.replace('\x07'+str(i)+'\x07', self.passthroughs[i])
- return text
-
-class Macro:
- def __init__(self):
- self.pattern = None # Matching regular expression.
- self.name = '' # Conf file macro name (None if implicit).
- self.prefix = '' # '' if inline, '+' if system, '#' if block.
- self.reo = None # Compiled pattern re object.
- self.subslist = [] # Default subs for macros passtext group.
- def has_passthrough(self):
- return self.pattern.find(r'(?P<passtext>') >= 0
- def section_name(self,name=None):
- """Return macro markup template section name based on macro name and
- prefix. Return None section not found."""
- assert self.prefix != '+'
- if not name:
- assert self.name
- name = self.name
- if self.prefix == '#':
- suffix = '-blockmacro'
- else:
- suffix = '-inlinemacro'
- if name+suffix in config.sections:
- return name+suffix
- else:
- message.warning('missing macro section: [%s]' % (name+suffix))
- return None
- def load(self,entry):
- e = parse_entry(entry)
- if e is None:
- # Only the macro pattern was specified, mark for deletion.
- self.name = None
- self.pattern = entry
- return
- if not is_re(e[0]):
- raise EAsciiDoc,'illegal macro regular expression: %s' % e[0]
- pattern, name = e
- if name and name[0] in ('+','#'):
- prefix, name = name[0], name[1:]
- else:
- prefix = ''
- # Parse passthrough subslist.
- mo = re.match(r'^(?P<name>[^[]*)(\[(?P<subslist>.*)\])?$', name)
- name = mo.group('name')
- if name and not is_name(name):
- raise EAsciiDoc,'illegal section name in macro entry: %s' % entry
- subslist = mo.group('subslist')
- if subslist is not None:
- # Parse and validate passthrough subs.
- subslist = parse_options(subslist, SUBS_OPTIONS,
- 'illegal subs in macro entry: %s' % entry)
- self.pattern = pattern
- self.reo = re.compile(pattern)
- self.prefix = prefix
- self.name = name
- self.subslist = subslist or []
-
- def subs(self,text):
- def subs_func(mo):
- """Function called to perform macro substitution.
- Uses matched macro regular expression object and returns string
- containing the substituted macro body."""
- # Check if macro reference is escaped.
- if mo.group()[0] == '\\':
- return mo.group()[1:] # Strip leading backslash.
- d = mo.groupdict()
- # Delete groups that didn't participate in match.
- for k,v in d.items():
- if v is None: del d[k]
- if self.name:
- name = self.name
- else:
- if not 'name' in d:
- message.warning('missing macro name group: %s' % mo.re.pattern)
- return ''
- name = d['name']
- section_name = self.section_name(name)
- if not section_name:
- return ''
- # If we're dealing with a block macro get optional block ID and
- # block title.
- if self.prefix == '#' and self.name != 'comment':
- AttributeList.consume(d)
- BlockTitle.consume(d)
- # Parse macro attributes.
- if 'attrlist' in d:
- if d['attrlist'] in (None,''):
- del d['attrlist']
- else:
- if self.prefix == '':
- # Unescape ] characters in inline macros.
- d['attrlist'] = d['attrlist'].replace('\\]',']')
- parse_attributes(d['attrlist'],d)
- # Generate option attributes.
- if 'options' in d:
- options = parse_options(d['options'], (),
- '%s: illegal option name' % name)
- for option in options:
- d[option+'-option'] = ''
- # Substitute single quoted attribute values in block macros.
- if self.prefix == '#':
- AttributeList.subs(d)
- if name == 'callout':
- listindex =int(d['index'])
- d['coid'] = calloutmap.add(listindex)
- # The alt attribute is the first image macro positional attribute.
- if name == 'image' and '1' in d:
- d['alt'] = d['1']
- # Unescape special characters in LaTeX target file names.
- if document.backend == 'latex' and 'target' in d and d['target']:
- if not '0' in d:
- d['0'] = d['target']
- d['target']= config.subs_specialchars_reverse(d['target'])
- # BUG: We've already done attribute substitution on the macro which
- # means that any escaped attribute references are now unescaped and
- # will be substituted by config.subs_section() below. As a partial
- # fix have withheld {0} from substitution but this kludge doesn't
- # fix it for other attributes containing unescaped references.
- # Passthrough macros don't have this problem.
- a0 = d.get('0')
- if a0:
- d['0'] = chr(0) # Replace temporarily with unused character.
- body = config.subs_section(section_name,d)
- if len(body) == 0:
- result = ''
- elif len(body) == 1:
- result = body[0]
- else:
- if self.prefix == '#':
- result = writer.newline.join(body)
- else:
- # Internally processed inline macros use UNIX line
- # separator.
- result = '\n'.join(body)
- if a0:
- result = result.replace(chr(0), a0)
- return result
-
- return self.reo.sub(subs_func, text)
-
- def translate(self):
- """ Block macro translation."""
- assert self.prefix == '#'
- s = reader.read()
- before = s
- if self.has_passthrough():
- s = macros.extract_passthroughs(s,'#')
- s = subs_attrs(s)
- if s:
- s = self.subs(s)
- if self.has_passthrough():
- s = macros.restore_passthroughs(s)
- if s:
- trace('macro',before,s)
- writer.write(s)
-
- def subs_passthroughs(self, text, passthroughs):
- """ Replace macro attribute lists in text with placeholders.
- Substitute and append the passthrough attribute lists to the
- passthroughs list."""
- def subs_func(mo):
- """Function called to perform inline macro substitution.
- Uses matched macro regular expression object and returns string
- containing the substituted macro body."""
- # Don't process escaped macro references.
- if mo.group()[0] == '\\':
- return mo.group()
- d = mo.groupdict()
- if not 'passtext' in d:
- message.warning('passthrough macro %s: missing passtext group' %
- d.get('name',''))
- return mo.group()
- passtext = d['passtext']
- if re.search('\x07\\d+\x07', passtext):
- message.warning('nested inline passthrough')
- return mo.group()
- if d.get('subslist'):
- if d['subslist'].startswith(':'):
- message.error('block macro cannot occur here: %s' % mo.group(),
- halt=True)
- subslist = parse_options(d['subslist'], SUBS_OPTIONS,
- 'illegal passthrough macro subs option')
- else:
- subslist = self.subslist
- passtext = Lex.subs_1(passtext,subslist)
- if passtext is None: passtext = ''
- if self.prefix == '':
- # Unescape ] characters in inline macros.
- passtext = passtext.replace('\\]',']')
- passthroughs.append(passtext)
- # Tabs guarantee the placeholders are unambiguous.
- result = (
- text[mo.start():mo.start('passtext')] +
- '\x07' + str(len(passthroughs)-1) + '\x07' +
- text[mo.end('passtext'):mo.end()]
- )
- return result
-
- return self.reo.sub(subs_func, text)
-
-
-class CalloutMap:
- def __init__(self):
- self.comap = {} # key = list index, value = callouts list.
- self.calloutindex = 0 # Current callout index number.
- self.listnumber = 1 # Current callout list number.
- def listclose(self):
- # Called when callout list is closed.
- self.listnumber += 1
- self.calloutindex = 0
- self.comap = {}
- def add(self,listindex):
- # Add next callout index to listindex map entry. Return the callout id.
- self.calloutindex += 1
- # Append the coindex to a list in the comap dictionary.
- if not listindex in self.comap:
- self.comap[listindex] = [self.calloutindex]
- else:
- self.comap[listindex].append(self.calloutindex)
- return self.calloutid(self.listnumber, self.calloutindex)
- @staticmethod
- def calloutid(listnumber,calloutindex):
- return 'CO%d-%d' % (listnumber,calloutindex)
- def calloutids(self,listindex):
- # Retieve list of callout indexes that refer to listindex.
- if listindex in self.comap:
- result = ''
- for coindex in self.comap[listindex]:
- result += ' ' + self.calloutid(self.listnumber,coindex)
- return result.strip()
- else:
- message.warning('no callouts refer to list item '+str(listindex))
- return ''
- def validate(self,maxlistindex):
- # Check that all list indexes referenced by callouts exist.
- for listindex in self.comap.keys():
- if listindex > maxlistindex:
- message.warning('callout refers to non-existent list item '
- + str(listindex))
-
-#---------------------------------------------------------------------------
-# Input stream Reader and output stream writer classes.
-#---------------------------------------------------------------------------
-
-UTF8_BOM = '\xef\xbb\xbf'
-
-class Reader1:
- """Line oriented AsciiDoc input file reader. Processes include and
- conditional inclusion system macros. Tabs are expanded and lines are right
- trimmed."""
- # This class is not used directly, use Reader class instead.
- READ_BUFFER_MIN = 10 # Read buffer low level.
- def __init__(self):
- self.f = None # Input file object.
- self.fname = None # Input file name.
- self.next = [] # Read ahead buffer containing
- # [filename,linenumber,linetext] lists.
- self.cursor = None # Last read() [filename,linenumber,linetext].
- self.tabsize = 8 # Tab expansion number of spaces.
- self.parent = None # Included reader's parent reader.
- self._lineno = 0 # The last line read from file object f.
- self.current_depth = 0 # Current include depth.
- self.max_depth = 5 # Initial maxiumum allowed include depth.
- self.bom = None # Byte order mark (BOM).
- self.infile = None # Saved document 'infile' attribute.
- self.indir = None # Saved document 'indir' attribute.
- def open(self,fname):
- self.fname = fname
- message.verbose('reading: '+fname)
- if fname == '<stdin>':
- self.f = sys.stdin
- self.infile = None
- self.indir = None
- else:
- self.f = open(fname,'rb')
- self.infile = fname
- self.indir = os.path.dirname(fname)
- document.attributes['infile'] = self.infile
- document.attributes['indir'] = self.indir
- self._lineno = 0 # The last line read from file object f.
- self.next = []
- # Prefill buffer by reading the first line and then pushing it back.
- if Reader1.read(self):
- if self.cursor[2].startswith(UTF8_BOM):
- self.cursor[2] = self.cursor[2][len(UTF8_BOM):]
- self.bom = UTF8_BOM
- self.unread(self.cursor)
- self.cursor = None
- def closefile(self):
- """Used by class methods to close nested include files."""
- self.f.close()
- self.next = []
- def close(self):
- self.closefile()
- self.__init__()
- def read(self, skip=False):
- """Read next line. Return None if EOF. Expand tabs. Strip trailing
- white space. Maintain self.next read ahead buffer. If skip=True then
- conditional exclusion is active (ifdef and ifndef macros)."""
- # Top up buffer.
- if len(self.next) <= self.READ_BUFFER_MIN:
- s = self.f.readline()
- if s:
- self._lineno = self._lineno + 1
- while s:
- if self.tabsize != 0:
- s = s.expandtabs(self.tabsize)
- s = s.rstrip()
- self.next.append([self.fname,self._lineno,s])
- if len(self.next) > self.READ_BUFFER_MIN:
- break
- s = self.f.readline()
- if s:
- self._lineno = self._lineno + 1
- # Return first (oldest) buffer entry.
- if len(self.next) > 0:
- self.cursor = self.next[0]
- del self.next[0]
- result = self.cursor[2]
- # Check for include macro.
- mo = macros.match('+',r'include[1]?',result)
- if mo and not skip:
- # Don't process include macro once the maximum depth is reached.
- if self.current_depth >= self.max_depth:
- return result
- # Perform attribute substitution on include macro file name.
- fname = subs_attrs(mo.group('target'))
- if not fname:
- return Reader1.read(self) # Return next input line.
- if self.fname != '<stdin>':
- fname = os.path.expandvars(os.path.expanduser(fname))
- fname = safe_filename(fname, os.path.dirname(self.fname))
- if not fname:
- return Reader1.read(self) # Return next input line.
- if mo.group('name') == 'include1':
- if not config.dumping:
- # Store the include file in memory for later
- # retrieval by the {include1:} system attribute.
- config.include1[fname] = [
- s.rstrip() for s in open(fname)]
- return '{include1:%s}' % fname
- else:
- # This is a configuration dump, just pass the macro
- # call through.
- return result
- # Parse include macro attributes.
- attrs = {}
- parse_attributes(mo.group('attrlist'),attrs)
- # Clone self and set as parent (self assumes the role of child).
- parent = Reader1()
- assign(parent,self)
- self.parent = parent
- # Set attributes in child.
- if 'tabsize' in attrs:
- self.tabsize = int(validate(attrs['tabsize'],
- 'int($)>=0',
- 'illegal include macro tabsize argument'))
- else:
- self.tabsize = config.tabsize
- if 'depth' in attrs:
- attrs['depth'] = int(validate(attrs['depth'],
- 'int($)>=1',
- 'illegal include macro depth argument'))
- self.max_depth = self.current_depth + attrs['depth']
- # Process included file.
- self.open(fname)
- self.current_depth = self.current_depth + 1
- result = Reader1.read(self)
- else:
- if not Reader1.eof(self):
- result = Reader1.read(self)
- else:
- result = None
- return result
- def eof(self):
- """Returns True if all lines have been read."""
- if len(self.next) == 0:
- # End of current file.
- if self.parent:
- self.closefile()
- assign(self,self.parent) # Restore parent reader.
- document.attributes['infile'] = self.infile
- document.attributes['indir'] = self.indir
- return Reader1.eof(self)
- else:
- return True
- else:
- return False
- def read_next(self):
- """Like read() but does not advance file pointer."""
- if Reader1.eof(self):
- return None
- else:
- return self.next[0][2]
- def unread(self,cursor):
- """Push the line (filename,linenumber,linetext) tuple back into the read
- buffer. Note that it's up to the caller to restore the previous
- cursor."""
- assert cursor
- self.next.insert(0,cursor)
-
-class Reader(Reader1):
- """ Wraps (well, sought of) Reader1 class and implements conditional text
- inclusion."""
- def __init__(self):
- Reader1.__init__(self)
- self.depth = 0 # if nesting depth.
- self.skip = False # true if we're skipping ifdef...endif.
- self.skipname = '' # Name of current endif macro target.
- self.skipto = -1 # The depth at which skipping is reenabled.
- def read_super(self):
- result = Reader1.read(self,self.skip)
- if result is None and self.skip:
- raise EAsciiDoc,'missing endif::%s[]' % self.skipname
- return result
- def read(self):
- result = self.read_super()
- if result is None:
- return None
- while self.skip:
- mo = macros.match('+',r'ifdef|ifndef|ifeval|endif',result)
- if mo:
- name = mo.group('name')
- target = mo.group('target')
- attrlist = mo.group('attrlist')
- if name == 'endif':
- self.depth -= 1
- if self.depth < 0:
- raise EAsciiDoc,'mismatched macro: %s' % result
- if self.depth == self.skipto:
- self.skip = False
- if target and self.skipname != target:
- raise EAsciiDoc,'mismatched macro: %s' % result
- else:
- if name in ('ifdef','ifndef'):
- if not target:
- raise EAsciiDoc,'missing macro target: %s' % result
- if not attrlist:
- self.depth += 1
- elif name == 'ifeval':
- if not attrlist:
- raise EAsciiDoc,'missing ifeval condition: %s' % result
- self.depth += 1
- result = self.read_super()
- if result is None:
- return None
- mo = macros.match('+',r'ifdef|ifndef|ifeval|endif',result)
- if mo:
- name = mo.group('name')
- target = mo.group('target')
- attrlist = mo.group('attrlist')
- if name == 'endif':
- self.depth = self.depth-1
- else:
- if not target and name in ('ifdef','ifndef'):
- raise EAsciiDoc,'missing macro target: %s' % result
- defined = is_attr_defined(target, document.attributes)
- if name == 'ifdef':
- if attrlist:
- if defined: return attrlist
- else:
- self.skip = not defined
- elif name == 'ifndef':
- if attrlist:
- if not defined: return attrlist
- else:
- self.skip = defined
- elif name == 'ifeval':
- if not attrlist:
- raise EAsciiDoc,'missing ifeval condition: %s' % result
- cond = False
- attrlist = subs_attrs(attrlist)
- if attrlist:
- try:
- cond = eval(attrlist)
- except Exception,e:
- raise EAsciiDoc,'error evaluating ifeval condition: %s: %s' % (result, str(e))
- self.skip = not cond
- if not attrlist or name == 'ifeval':
- if self.skip:
- self.skipto = self.depth
- self.skipname = target
- self.depth = self.depth+1
- result = self.read()
- if result:
- # Expand executable block macros.
- mo = macros.match('+',r'eval|sys|sys2',result)
- if mo:
- action = mo.group('name')
- cmd = mo.group('attrlist')
- s = system(action, cmd, is_macro=True)
- if s is not None:
- self.cursor[2] = s # So we don't re-evaluate.
- result = s
- if result:
- # Unescape escaped system macros.
- if macros.match('+',r'\\eval|\\sys|\\sys2|\\ifdef|\\ifndef|\\endif|\\include|\\include1',result):
- result = result[1:]
- return result
- def eof(self):
- return self.read_next() is None
- def read_next(self):
- save_cursor = self.cursor
- result = self.read()
- if result is not None:
- self.unread(self.cursor)
- self.cursor = save_cursor
- return result
- def read_lines(self,count=1):
- """Return tuple containing count lines."""
- result = []
- i = 0
- while i < count and not self.eof():
- result.append(self.read())
- return tuple(result)
- def read_ahead(self,count=1):
- """Same as read_lines() but does not advance the file pointer."""
- result = []
- putback = []
- save_cursor = self.cursor
- try:
- i = 0
- while i < count and not self.eof():
- result.append(self.read())
- putback.append(self.cursor)
- i = i+1
- while putback:
- self.unread(putback.pop())
- finally:
- self.cursor = save_cursor
- return tuple(result)
- def skip_blank_lines(self):
- reader.read_until(r'\s*\S+')
- def read_until(self,terminators,same_file=False):
- """Like read() but reads lines up to (but not including) the first line
- that matches the terminator regular expression, regular expression
- object or list of regular expression objects. If same_file is True then
- the terminating pattern must occur in the file the was being read when
- the routine was called."""
- if same_file:
- fname = self.cursor[0]
- result = []
- if not isinstance(terminators,list):
- if isinstance(terminators,basestring):
- terminators = [re.compile(terminators)]
- else:
- terminators = [terminators]
- while not self.eof():
- save_cursor = self.cursor
- s = self.read()
- if not same_file or fname == self.cursor[0]:
- for reo in terminators:
- if reo.match(s):
- self.unread(self.cursor)
- self.cursor = save_cursor
- return tuple(result)
- result.append(s)
- return tuple(result)
-
-class Writer:
- """Writes lines to output file."""
- def __init__(self):
- self.newline = '\r\n' # End of line terminator.
- self.f = None # Output file object.
- self.fname = None # Output file name.
- self.lines_out = 0 # Number of lines written.
- self.skip_blank_lines = False # If True don't output blank lines.
- def open(self,fname,bom=None):
- '''
- bom is optional byte order mark.
- http://en.wikipedia.org/wiki/Byte-order_mark
- '''
- self.fname = fname
- if fname == '<stdout>':
- self.f = sys.stdout
- else:
- self.f = open(fname,'wb+')
- message.verbose('writing: '+writer.fname,False)
- if bom:
- self.f.write(bom)
- self.lines_out = 0
- def close(self):
- if self.fname != '<stdout>':
- self.f.close()
- def write_line(self, line=None):
- if not (self.skip_blank_lines and (not line or not line.strip())):
- self.f.write((line or '') + self.newline)
- self.lines_out = self.lines_out + 1
- def write(self,*args,**kwargs):
- """Iterates arguments, writes tuple and list arguments one line per
- element, else writes argument as single line. If no arguments writes
- blank line. If argument is None nothing is written. self.newline is
- appended to each line."""
- if 'trace' in kwargs and len(args) > 0:
- trace(kwargs['trace'],args[0])
- if len(args) == 0:
- self.write_line()
- self.lines_out = self.lines_out + 1
- else:
- for arg in args:
- if is_array(arg):
- for s in arg:
- self.write_line(s)
- elif arg is not None:
- self.write_line(arg)
- def write_tag(self,tag,content,subs=None,d=None,**kwargs):
- """Write content enveloped by tag.
- Substitutions specified in the 'subs' list are perform on the
- 'content'."""
- if subs is None:
- subs = config.subsnormal
- stag,etag = subs_tag(tag,d)
- content = Lex.subs(content,subs)
- if 'trace' in kwargs:
- trace(kwargs['trace'],[stag]+content+[etag])
- if stag:
- self.write(stag)
- if content:
- self.write(content)
- if etag:
- self.write(etag)
-
-#---------------------------------------------------------------------------
-# Configuration file processing.
-#---------------------------------------------------------------------------
-def _subs_specialwords(mo):
- """Special word substitution function called by
- Config.subs_specialwords()."""
- word = mo.re.pattern # The special word.
- template = config.specialwords[word] # The corresponding markup template.
- if not template in config.sections:
- raise EAsciiDoc,'missing special word template [%s]' % template
- if mo.group()[0] == '\\':
- return mo.group()[1:] # Return escaped word.
- args = {}
- args['words'] = mo.group() # The full match string is argument 'words'.
- args.update(mo.groupdict()) # Add other named match groups to the arguments.
- # Delete groups that didn't participate in match.
- for k,v in args.items():
- if v is None: del args[k]
- lines = subs_attrs(config.sections[template],args)
- if len(lines) == 0:
- result = ''
- elif len(lines) == 1:
- result = lines[0]
- else:
- result = writer.newline.join(lines)
- return result
-
-class Config:
- """Methods to process configuration files."""
- # Non-template section name regexp's.
- ENTRIES_SECTIONS= ('tags','miscellaneous','attributes','specialcharacters',
- 'specialwords','macros','replacements','quotes','titles',
- r'paradef-.+',r'listdef-.+',r'blockdef-.+',r'tabledef-.+',
- r'tabletags-.+',r'listtags-.+','replacements2',
- r'old_tabledef-.+')
- def __init__(self):
- self.sections = OrderedDict() # Keyed by section name containing
- # lists of section lines.
- # Command-line options.
- self.verbose = False
- self.header_footer = True # -s, --no-header-footer option.
- # [miscellaneous] section.
- self.tabsize = 8
- self.textwidth = 70 # DEPRECATED: Old tables only.
- self.newline = '\r\n'
- self.pagewidth = None
- self.pageunits = None
- self.outfilesuffix = ''
- self.subsnormal = SUBS_NORMAL
- self.subsverbatim = SUBS_VERBATIM
-
- self.tags = {} # Values contain (stag,etag) tuples.
- self.specialchars = {} # Values of special character substitutions.
- self.specialwords = {} # Name is special word pattern, value is macro.
- self.replacements = OrderedDict() # Key is find pattern, value is
- #replace pattern.
- self.replacements2 = OrderedDict()
- self.specialsections = {} # Name is special section name pattern, value
- # is corresponding section name.
- self.quotes = OrderedDict() # Values contain corresponding tag name.
- self.fname = '' # Most recently loaded configuration file name.
- self.conf_attrs = {} # Attributes entries from conf files.
- self.cmd_attrs = {} # Attributes from command-line -a options.
- self.loaded = [] # Loaded conf files.
- self.include1 = {} # Holds include1::[] files for {include1:}.
- self.dumping = False # True if asciidoc -c option specified.
-
- def load_file(self, fname, dir=None, include=[], exclude=[]):
- """
- Loads sections dictionary with sections from file fname.
- Existing sections are overlaid.
- The 'include' list contains the section names to be loaded.
- The 'exclude' list contains section names not to be loaded.
- Return False if no file was found in any of the locations.
- """
- if dir:
- fname = os.path.join(dir, fname)
- # Sliently skip missing configuration file.
- if not os.path.isfile(fname):
- return False
- # Don't load conf files twice (local and application conf files are the
- # same if the source file is in the application directory).
- if os.path.realpath(fname) in self.loaded:
- return True
- rdr = Reader() # Reader processes system macros.
- message.linenos = False # Disable document line numbers.
- rdr.open(fname)
- message.linenos = None
- self.fname = fname
- reo = re.compile(r'(?u)^\[(?P<section>[^\W\d][\w-]*)\]\s*$')
- sections = OrderedDict()
- section,contents = '',[]
- while not rdr.eof():
- s = rdr.read()
- if s and s[0] == '#': # Skip comment lines.
- continue
- if s[:2] == '\\#': # Unescape lines starting with '#'.
- s = s[1:]
- s = s.rstrip()
- found = reo.findall(s)
- if found:
- if section: # Store previous section.
- if section in sections \
- and self.entries_section(section):
- if ''.join(contents):
- # Merge entries.
- sections[section] = sections[section] + contents
- else:
- del sections[section]
- else:
- sections[section] = contents
- section = found[0].lower()
- contents = []
- else:
- contents.append(s)
- if section and contents: # Store last section.
- if section in sections \
- and self.entries_section(section):
- if ''.join(contents):
- # Merge entries.
- sections[section] = sections[section] + contents
- else:
- del sections[section]
- else:
- sections[section] = contents
- rdr.close()
- if include:
- for s in set(sections) - set(include):
- del sections[s]
- if exclude:
- for s in set(sections) & set(exclude):
- del sections[s]
- attrs = {}
- self.load_sections(sections,attrs)
- if not include:
- # If all sections are loaded mark this file as loaded.
- self.loaded.append(os.path.realpath(fname))
- document.update_attributes(attrs) # So they are available immediately.
- return True
-
- def load_sections(self,sections,attrs=None):
- """
- Loads sections dictionary. Each dictionary entry contains a
- list of lines.
- Updates 'attrs' with parsed [attributes] section entries.
- """
- # Delete trailing blank lines from sections.
- for k in sections.keys():
- for i in range(len(sections[k])-1,-1,-1):
- if not sections[k][i]:
- del sections[k][i]
- elif not self.entries_section(k):
- break
- # Add/overwrite new sections.
- self.sections.update(sections)
- self.parse_tags()
- # Internally [miscellaneous] section entries are just attributes.
- d = {}
- parse_entries(sections.get('miscellaneous',()), d, unquote=True,
- allow_name_only=True)
- parse_entries(sections.get('attributes',()), d, unquote=True,
- allow_name_only=True)
- update_attrs(self.conf_attrs,d)
- if attrs is not None:
- attrs.update(d)
- d = {}
- parse_entries(sections.get('titles',()),d)
- Title.load(d)
- parse_entries(sections.get('specialcharacters',()),self.specialchars,escape_delimiter=False)
- parse_entries(sections.get('quotes',()),self.quotes)
- self.parse_specialwords()
- self.parse_replacements()
- self.parse_replacements('replacements2')
- self.parse_specialsections()
- paragraphs.load(sections)
- lists.load(sections)
- blocks.load(sections)
- tables_OLD.load(sections)
- tables.load(sections)
- macros.load(sections.get('macros',()))
-
- def get_load_dirs(self):
- """
- Return list of well known paths with conf files.
- """
- result = []
- if localapp():
- # Load from folders in asciidoc executable directory.
- result.append(APP_DIR)
- else:
- # Load from global configuration directory.
- result.append(CONF_DIR)
- # Load configuration files from ~/.asciidoc if it exists.
- if USER_DIR is not None:
- result.append(USER_DIR)
- return result
-
- def find_in_dirs(self, filename, dirs=None):
- """
- Find conf files from dirs list.
- Return list of found file paths.
- Return empty list if not found in any of the locations.
- """
- result = []
- if dirs is None:
- dirs = self.get_load_dirs()
- for d in dirs:
- f = os.path.join(d,filename)
- if os.path.isfile(f):
- result.append(f)
- return result
-
- def load_from_dirs(self, filename, dirs=None, include=[]):
- """
- Load conf file from dirs list.
- If dirs not specified try all the well known locations.
- Return False if no file was sucessfully loaded.
- """
- count = 0
- for f in self.find_in_dirs(filename,dirs):
- if self.load_file(f, include=include):
- count += 1
- return count != 0
-
- def load_backend(self, dirs=None):
- """
- Load the backend configuration files from dirs list.
- If dirs not specified try all the well known locations.
- """
- if dirs is None:
- dirs = self.get_load_dirs()
- for d in dirs:
- conf = document.backend + '.conf'
- self.load_file(conf,d)
- conf = document.backend + '-' + document.doctype + '.conf'
- self.load_file(conf,d)
-
- def load_filters(self, dirs=None):
- """
- Load filter configuration files from 'filters' directory in dirs list.
- If dirs not specified try all the well known locations.
- """
- if dirs is None:
- dirs = self.get_load_dirs()
- for d in dirs:
- # Load filter .conf files.
- filtersdir = os.path.join(d,'filters')
- for dirpath,dirnames,filenames in os.walk(filtersdir):
- for f in filenames:
- if re.match(r'^.+\.conf$',f):
- self.load_file(f,dirpath)
-
- def load_miscellaneous(self,d):
- """Set miscellaneous configuration entries from dictionary 'd'."""
- def set_misc(name,rule='True',intval=False):
- if name in d:
- errmsg = 'illegal [miscellaneous] %s entry' % name
- if intval:
- setattr(self, name, int(validate(d[name],rule,errmsg)))
- else:
- setattr(self, name, validate(d[name],rule,errmsg))
- set_misc('tabsize','int($)>0',intval=True)
- set_misc('textwidth','int($)>0',intval=True) # DEPRECATED: Old tables only.
- set_misc('pagewidth','"%f" % $')
- if 'pagewidth' in d:
- self.pagewidth = float(self.pagewidth)
- set_misc('pageunits')
- set_misc('outfilesuffix')
- if 'newline' in d:
- # Convert escape sequences to their character values.
- self.newline = eval('"'+d['newline']+'"')
- if 'subsnormal' in d:
- self.subsnormal = parse_options(d['subsnormal'],SUBS_OPTIONS,
- 'illegal [%s] %s: %s' %
- ('miscellaneous','subsnormal',d['subsnormal']))
- if 'subsverbatim' in d:
- self.subsverbatim = parse_options(d['subsverbatim'],SUBS_OPTIONS,
- 'illegal [%s] %s: %s' %
- ('miscellaneous','subsverbatim',d['subsverbatim']))
-
- def validate(self):
- """Check the configuration for internal consistancy. Called after all
- configuration files have been loaded."""
- message.linenos = False # Disable document line numbers.
- # Heuristic validate that at least one configuration file was loaded.
- if not self.specialchars or not self.tags or not lists:
- raise EAsciiDoc,'incomplete configuration files'
- # Check special characters are only one character long.
- for k in self.specialchars.keys():
- if len(k) != 1:
- raise EAsciiDoc,'[specialcharacters] ' \
- 'must be a single character: %s' % k
- # Check all special words have a corresponding inline macro body.
- for macro in self.specialwords.values():
- if not is_name(macro):
- raise EAsciiDoc,'illegal special word name: %s' % macro
- if not macro in self.sections:
- message.warning('missing special word macro: [%s]' % macro)
- # Check all text quotes have a corresponding tag.
- for q in self.quotes.keys():
- tag = self.quotes[q]
- if not tag:
- del self.quotes[q] # Undefine quote.
- else:
- if tag[0] == '#':
- tag = tag[1:]
- if not tag in self.tags:
- message.warning('[quotes] %s missing tag definition: %s' % (q,tag))
- # Check all specialsections section names exist.
- for k,v in self.specialsections.items():
- if not v:
- del self.specialsections[k]
- elif not v in self.sections:
- message.warning('missing specialsections section: [%s]' % v)
- paragraphs.validate()
- lists.validate()
- blocks.validate()
- tables_OLD.validate()
- tables.validate()
- macros.validate()
- message.linenos = None
-
- def entries_section(self,section_name):
- """
- Return True if conf file section contains entries, not a markup
- template.
- """
- for name in self.ENTRIES_SECTIONS:
- if re.match(name,section_name):
- return True
- return False
-
- def dump(self):
- """Dump configuration to stdout."""
- # Header.
- hdr = ''
- hdr = hdr + '#' + writer.newline
- hdr = hdr + '# Generated by AsciiDoc %s for %s %s.%s' % \
- (VERSION,document.backend,document.doctype,writer.newline)
- t = time.asctime(time.localtime(time.time()))
- hdr = hdr + '# %s%s' % (t,writer.newline)
- hdr = hdr + '#' + writer.newline
- sys.stdout.write(hdr)
- # Dump special sections.
- # Dump only the configuration file and command-line attributes.
- # [miscellanous] entries are dumped as part of the [attributes].
- d = {}
- d.update(self.conf_attrs)
- d.update(self.cmd_attrs)
- dump_section('attributes',d)
- Title.dump()
- dump_section('quotes',self.quotes)
- dump_section('specialcharacters',self.specialchars)
- d = {}
- for k,v in self.specialwords.items():
- if v in d:
- d[v] = '%s "%s"' % (d[v],k) # Append word list.
- else:
- d[v] = '"%s"' % k
- dump_section('specialwords',d)
- dump_section('replacements',self.replacements)
- dump_section('replacements2',self.replacements2)
- dump_section('specialsections',self.specialsections)
- d = {}
- for k,v in self.tags.items():
- d[k] = '%s|%s' % v
- dump_section('tags',d)
- paragraphs.dump()
- lists.dump()
- blocks.dump()
- tables_OLD.dump()
- tables.dump()
- macros.dump()
- # Dump remaining sections.
- for k in self.sections.keys():
- if not self.entries_section(k):
- sys.stdout.write('[%s]%s' % (k,writer.newline))
- for line in self.sections[k]:
- sys.stdout.write('%s%s' % (line,writer.newline))
- sys.stdout.write(writer.newline)
-
- def subs_section(self,section,d):
- """Section attribute substitution using attributes from
- document.attributes and 'd'. Lines containing undefinded
- attributes are deleted."""
- if section in self.sections:
- return subs_attrs(self.sections[section],d)
- else:
- message.warning('missing section: [%s]' % section)
- return ()
-
- def parse_tags(self):
- """Parse [tags] section entries into self.tags dictionary."""
- d = {}
- parse_entries(self.sections.get('tags',()),d)
- for k,v in d.items():
- if v is None:
- if k in self.tags:
- del self.tags[k]
- elif v == '':
- self.tags[k] = (None,None)
- else:
- mo = re.match(r'(?P<stag>.*)\|(?P<etag>.*)',v)
- if mo:
- self.tags[k] = (mo.group('stag'), mo.group('etag'))
- else:
- raise EAsciiDoc,'[tag] %s value malformed' % k
-
- def tag(self, name, d=None):
- """Returns (starttag,endtag) tuple named name from configuration file
- [tags] section. Raise error if not found. If a dictionary 'd' is
- passed then merge with document attributes and perform attribute
- substitution on tags."""
- if not name in self.tags:
- raise EAsciiDoc, 'missing tag: %s' % name
- stag,etag = self.tags[name]
- if d is not None:
- # TODO: Should we warn if substitution drops a tag?
- if stag:
- stag = subs_attrs(stag,d)
- if etag:
- etag = subs_attrs(etag,d)
- if stag is None: stag = ''
- if etag is None: etag = ''
- return (stag,etag)
-
- def parse_specialsections(self):
- """Parse specialsections section to self.specialsections dictionary."""
- # TODO: This is virtually the same as parse_replacements() and should
- # be factored to single routine.
- d = {}
- parse_entries(self.sections.get('specialsections',()),d,unquote=True)
- for pat,sectname in d.items():
- pat = strip_quotes(pat)
- if not is_re(pat):
- raise EAsciiDoc,'[specialsections] entry ' \
- 'is not a valid regular expression: %s' % pat
- if sectname is None:
- if pat in self.specialsections:
- del self.specialsections[pat]
- else:
- self.specialsections[pat] = sectname
-
- def parse_replacements(self,sect='replacements'):
- """Parse replacements section into self.replacements dictionary."""
- d = OrderedDict()
- parse_entries(self.sections.get(sect,()), d, unquote=True)
- for pat,rep in d.items():
- if not self.set_replacement(pat, rep, getattr(self,sect)):
- raise EAsciiDoc,'[%s] entry in %s is not a valid' \
- ' regular expression: %s' % (sect,self.fname,pat)
-
- @staticmethod
- def set_replacement(pat, rep, replacements):
- """Add pattern and replacement to replacements dictionary."""
- pat = strip_quotes(pat)
- if not is_re(pat):
- return False
- if rep is None:
- if pat in replacements:
- del replacements[pat]
- else:
- replacements[pat] = strip_quotes(rep)
- return True
-
- def subs_replacements(self,s,sect='replacements'):
- """Substitute patterns from self.replacements in 's'."""
- result = s
- for pat,rep in getattr(self,sect).items():
- result = re.sub(pat, rep, result)
- return result
-
- def parse_specialwords(self):
- """Parse special words section into self.specialwords dictionary."""
- reo = re.compile(r'(?:\s|^)(".+?"|[^"\s]+)(?=\s|$)')
- for line in self.sections.get('specialwords',()):
- e = parse_entry(line)
- if not e:
- raise EAsciiDoc,'[specialwords] entry in %s is malformed: %s' \
- % (self.fname,line)
- name,wordlist = e
- if not is_name(name):
- raise EAsciiDoc,'[specialwords] name in %s is illegal: %s' \
- % (self.fname,name)
- if wordlist is None:
- # Undefine all words associated with 'name'.
- for k,v in self.specialwords.items():
- if v == name:
- del self.specialwords[k]
- else:
- words = reo.findall(wordlist)
- for word in words:
- word = strip_quotes(word)
- if not is_re(word):
- raise EAsciiDoc,'[specialwords] entry in %s ' \
- 'is not a valid regular expression: %s' \
- % (self.fname,word)
- self.specialwords[word] = name
-
- def subs_specialchars(self,s):
- """Perform special character substitution on string 's'."""
- """It may seem like a good idea to escape special characters with a '\'
- character, the reason we don't is because the escape character itself
- then has to be escaped and this makes including code listings
- problematic. Use the predefined {amp},{lt},{gt} attributes instead."""
- result = ''
- for ch in s:
- result = result + self.specialchars.get(ch,ch)
- return result
-
- def subs_specialchars_reverse(self,s):
- """Perform reverse special character substitution on string 's'."""
- result = s
- for k,v in self.specialchars.items():
- result = result.replace(v, k)
- return result
-
- def subs_specialwords(self,s):
- """Search for word patterns from self.specialwords in 's' and
- substitute using corresponding macro."""
- result = s
- for word in self.specialwords.keys():
- result = re.sub(word, _subs_specialwords, result)
- return result
-
- def expand_templates(self,entries):
- """Expand any template::[] macros in a list of section entries."""
- result = []
- for line in entries:
- mo = macros.match('+',r'template',line)
- if mo:
- s = mo.group('attrlist')
- if s in self.sections:
- result += self.expand_templates(self.sections[s])
- else:
- message.warning('missing section: [%s]' % s)
- result.append(line)
- else:
- result.append(line)
- return result
-
- def expand_all_templates(self):
- for k,v in self.sections.items():
- self.sections[k] = self.expand_templates(v)
-
- def section2tags(self, section, d={}, skipstart=False, skipend=False):
- """Perform attribute substitution on 'section' using document
- attributes plus 'd' attributes. Return tuple (stag,etag) containing
- pre and post | placeholder tags. 'skipstart' and 'skipend' are
- used to suppress substitution."""
- assert section is not None
- if section in self.sections:
- body = self.sections[section]
- else:
- message.warning('missing section: [%s]' % section)
- body = ()
- # Split macro body into start and end tag lists.
- stag = []
- etag = []
- in_stag = True
- for s in body:
- if in_stag:
- mo = re.match(r'(?P<stag>.*)\|(?P<etag>.*)',s)
- if mo:
- if mo.group('stag'):
- stag.append(mo.group('stag'))
- if mo.group('etag'):
- etag.append(mo.group('etag'))
- in_stag = False
- else:
- stag.append(s)
- else:
- etag.append(s)
- # Do attribute substitution last so {brkbar} can be used to escape |.
- # But don't do attribute substitution on title -- we've already done it.
- title = d.get('title')
- if title:
- d['title'] = chr(0) # Replace with unused character.
- if not skipstart:
- stag = subs_attrs(stag, d)
- if not skipend:
- etag = subs_attrs(etag, d)
- # Put the {title} back.
- if title:
- stag = map(lambda x: x.replace(chr(0), title), stag)
- etag = map(lambda x: x.replace(chr(0), title), etag)
- d['title'] = title
- return (stag,etag)
-
-
-#---------------------------------------------------------------------------
-# Deprecated old table classes follow.
-# Naming convention is an _OLD name suffix.
-# These will be removed from future versions of AsciiDoc
-
-def join_lines_OLD(lines):
- """Return a list in which lines terminated with the backslash line
- continuation character are joined."""
- result = []
- s = ''
- continuation = False
- for line in lines:
- if line and line[-1] == '\\':
- s = s + line[:-1]
- continuation = True
- continue
- if continuation:
- result.append(s+line)
- s = ''
- continuation = False
- else:
- result.append(line)
- if continuation:
- result.append(s)
- return result
-
-class Column_OLD:
- """Table column."""
- def __init__(self):
- self.colalign = None # 'left','right','center'
- self.rulerwidth = None
- self.colwidth = None # Output width in page units.
-
-class Table_OLD(AbstractBlock):
- COL_STOP = r"(`|'|\.)" # RE.
- ALIGNMENTS = {'`':'left', "'":'right', '.':'center'}
- FORMATS = ('fixed','csv','dsv')
- def __init__(self):
- AbstractBlock.__init__(self)
- self.CONF_ENTRIES += ('template','fillchar','format','colspec',
- 'headrow','footrow','bodyrow','headdata',
- 'footdata', 'bodydata')
- # Configuration parameters.
- self.fillchar=None
- self.format=None # 'fixed','csv','dsv'
- self.colspec=None
- self.headrow=None
- self.footrow=None
- self.bodyrow=None
- self.headdata=None
- self.footdata=None
- self.bodydata=None
- # Calculated parameters.
- self.underline=None # RE matching current table underline.
- self.isnumeric=False # True if numeric ruler.
- self.tablewidth=None # Optional table width scale factor.
- self.columns=[] # List of Columns.
- # Other.
- self.check_msg='' # Message set by previous self.validate() call.
- def load(self,name,entries):
- AbstractBlock.load(self,name,entries)
- """Update table definition from section entries in 'entries'."""
- for k,v in entries.items():
- if k == 'fillchar':
- if v and len(v) == 1:
- self.fillchar = v
- else:
- raise EAsciiDoc,'malformed table fillchar: %s' % v
- elif k == 'format':
- if v in Table_OLD.FORMATS:
- self.format = v
- else:
- raise EAsciiDoc,'illegal table format: %s' % v
- elif k == 'colspec':
- self.colspec = v
- elif k == 'headrow':
- self.headrow = v
- elif k == 'footrow':
- self.footrow = v
- elif k == 'bodyrow':
- self.bodyrow = v
- elif k == 'headdata':
- self.headdata = v
- elif k == 'footdata':
- self.footdata = v
- elif k == 'bodydata':
- self.bodydata = v
- def dump(self):
- AbstractBlock.dump(self)
- write = lambda s: sys.stdout.write('%s%s' % (s,writer.newline))
- write('fillchar='+self.fillchar)
- write('format='+self.format)
- if self.colspec:
- write('colspec='+self.colspec)
- if self.headrow:
- write('headrow='+self.headrow)
- if self.footrow:
- write('footrow='+self.footrow)
- write('bodyrow='+self.bodyrow)
- if self.headdata:
- write('headdata='+self.headdata)
- if self.footdata:
- write('footdata='+self.footdata)
- write('bodydata='+self.bodydata)
- write('')
- def validate(self):
- AbstractBlock.validate(self)
- """Check table definition and set self.check_msg if invalid else set
- self.check_msg to blank string."""
- # Check global table parameters.
- if config.textwidth is None:
- self.check_msg = 'missing [miscellaneous] textwidth entry'
- elif config.pagewidth is None:
- self.check_msg = 'missing [miscellaneous] pagewidth entry'
- elif config.pageunits is None:
- self.check_msg = 'missing [miscellaneous] pageunits entry'
- elif self.headrow is None:
- self.check_msg = 'missing headrow entry'
- elif self.footrow is None:
- self.check_msg = 'missing footrow entry'
- elif self.bodyrow is None:
- self.check_msg = 'missing bodyrow entry'
- elif self.headdata is None:
- self.check_msg = 'missing headdata entry'
- elif self.footdata is None:
- self.check_msg = 'missing footdata entry'
- elif self.bodydata is None:
- self.check_msg = 'missing bodydata entry'
- else:
- # No errors.
- self.check_msg = ''
- def isnext(self):
- return AbstractBlock.isnext(self)
- def parse_ruler(self,ruler):
- """Parse ruler calculating underline and ruler column widths."""
- fc = re.escape(self.fillchar)
- # Strip and save optional tablewidth from end of ruler.
- mo = re.match(r'^(.*'+fc+r'+)([\d\.]+)$',ruler)
- if mo:
- ruler = mo.group(1)
- self.tablewidth = float(mo.group(2))
- self.attributes['tablewidth'] = str(float(self.tablewidth))
- else:
- self.tablewidth = None
- self.attributes['tablewidth'] = '100.0'
- # Guess whether column widths are specified numerically or not.
- if ruler[1] != self.fillchar:
- # If the first column does not start with a fillchar then numeric.
- self.isnumeric = True
- elif ruler[1:] == self.fillchar*len(ruler[1:]):
- # The case of one column followed by fillchars is numeric.
- self.isnumeric = True
- else:
- self.isnumeric = False
- # Underlines must be 3 or more fillchars.
- self.underline = r'^' + fc + r'{3,}$'
- splits = re.split(self.COL_STOP,ruler)[1:]
- # Build self.columns.
- for i in range(0,len(splits),2):
- c = Column_OLD()
- c.colalign = self.ALIGNMENTS[splits[i]]
- s = splits[i+1]
- if self.isnumeric:
- # Strip trailing fillchars.
- s = re.sub(fc+r'+$','',s)
- if s == '':
- c.rulerwidth = None
- else:
- c.rulerwidth = int(validate(s,'int($)>0',
- 'malformed ruler: bad width'))
- else: # Calculate column width from inter-fillchar intervals.
- if not re.match(r'^'+fc+r'+$',s):
- raise EAsciiDoc,'malformed ruler: illegal fillchars'
- c.rulerwidth = len(s)+1
- self.columns.append(c)
- # Fill in unspecified ruler widths.
- if self.isnumeric:
- if self.columns[0].rulerwidth is None:
- prevwidth = 1
- for c in self.columns:
- if c.rulerwidth is None:
- c.rulerwidth = prevwidth
- prevwidth = c.rulerwidth
- def build_colspecs(self):
- """Generate colwidths and colspecs. This can only be done after the
- table arguments have been parsed since we use the table format."""
- self.attributes['cols'] = len(self.columns)
- # Calculate total ruler width.
- totalwidth = 0
- for c in self.columns:
- totalwidth = totalwidth + c.rulerwidth
- if totalwidth <= 0:
- raise EAsciiDoc,'zero width table'
- # Calculate marked up colwidths from rulerwidths.
- for c in self.columns:
- # Convert ruler width to output page width.
- width = float(c.rulerwidth)
- if self.format == 'fixed':
- if self.tablewidth is None:
- # Size proportional to ruler width.
- colfraction = width/config.textwidth
- else:
- # Size proportional to page width.
- colfraction = width/totalwidth
- else:
- # Size proportional to page width.
- colfraction = width/totalwidth
- c.colwidth = colfraction * config.pagewidth # To page units.
- if self.tablewidth is not None:
- c.colwidth = c.colwidth * self.tablewidth # Scale factor.
- if self.tablewidth > 1:
- c.colwidth = c.colwidth/100 # tablewidth is in percent.
- # Build colspecs.
- if self.colspec:
- cols = []
- i = 0
- for c in self.columns:
- i += 1
- self.attributes['colalign'] = c.colalign
- self.attributes['colwidth'] = str(int(c.colwidth))
- self.attributes['colnumber'] = str(i + 1)
- s = subs_attrs(self.colspec,self.attributes)
- if not s:
- message.warning('colspec dropped: contains undefined attribute')
- else:
- cols.append(s)
- self.attributes['colspecs'] = writer.newline.join(cols)
- def split_rows(self,rows):
- """Return a two item tuple containing a list of lines up to but not
- including the next underline (continued lines are joined ) and the
- tuple of all lines after the underline."""
- reo = re.compile(self.underline)
- i = 0
- while not reo.match(rows[i]):
- i = i+1
- if i == 0:
- raise EAsciiDoc,'missing table rows'
- if i >= len(rows):
- raise EAsciiDoc,'closing [%s] underline expected' % self.name
- return (join_lines_OLD(rows[:i]), rows[i+1:])
- def parse_rows(self, rows, rtag, dtag):
- """Parse rows list using the row and data tags. Returns a substituted
- list of output lines."""
- result = []
- # Source rows are parsed as single block, rather than line by line, to
- # allow the CSV reader to handle multi-line rows.
- if self.format == 'fixed':
- rows = self.parse_fixed(rows)
- elif self.format == 'csv':
- rows = self.parse_csv(rows)
- elif self.format == 'dsv':
- rows = self.parse_dsv(rows)
- else:
- assert True,'illegal table format'
- # Substitute and indent all data in all rows.
- stag,etag = subs_tag(rtag,self.attributes)
- for row in rows:
- result.append(' '+stag)
- for data in self.subs_row(row,dtag):
- result.append(' '+data)
- result.append(' '+etag)
- return result
- def subs_row(self, data, dtag):
- """Substitute the list of source row data elements using the data tag.
- Returns a substituted list of output table data items."""
- result = []
- if len(data) < len(self.columns):
- message.warning('fewer row data items then table columns')
- if len(data) > len(self.columns):
- message.warning('more row data items than table columns')
- for i in range(len(self.columns)):
- if i > len(data) - 1:
- d = '' # Fill missing column data with blanks.
- else:
- d = data[i]
- c = self.columns[i]
- self.attributes['colalign'] = c.colalign
- self.attributes['colwidth'] = str(int(c.colwidth))
- self.attributes['colnumber'] = str(i + 1)
- stag,etag = subs_tag(dtag,self.attributes)
- # Insert AsciiDoc line break (' +') where row data has newlines
- # ('\n'). This is really only useful when the table format is csv
- # and the output markup is HTML. It's also a bit dubious in that it
- # assumes the user has not modified the shipped line break pattern.
- subs = self.get_subs()[0]
- if 'replacements' in subs:
- # Insert line breaks in cell data.
- d = re.sub(r'(?m)\n',r' +\n',d)
- d = d.split('\n') # So writer.newline is written.
- else:
- d = [d]
- result = result + [stag] + Lex.subs(d,subs) + [etag]
- return result
- def parse_fixed(self,rows):
- """Parse the list of source table rows. Each row item in the returned
- list contains a list of cell data elements."""
- result = []
- for row in rows:
- data = []
- start = 0
- # build an encoded representation
- row = char_decode(row)
- for c in self.columns:
- end = start + c.rulerwidth
- if c is self.columns[-1]:
- # Text in last column can continue forever.
- # Use the encoded string to slice, but convert back
- # to plain string before further processing
- data.append(char_encode(row[start:]).strip())
- else:
- data.append(char_encode(row[start:end]).strip())
- start = end
- result.append(data)
- return result
- def parse_csv(self,rows):
- """Parse the list of source table rows. Each row item in the returned
- list contains a list of cell data elements."""
- import StringIO
- import csv
- result = []
- rdr = csv.reader(StringIO.StringIO('\r\n'.join(rows)),
- skipinitialspace=True)
- try:
- for row in rdr:
- result.append(row)
- except Exception:
- raise EAsciiDoc,'csv parse error: %s' % row
- return result
- def parse_dsv(self,rows):
- """Parse the list of source table rows. Each row item in the returned
- list contains a list of cell data elements."""
- separator = self.attributes.get('separator',':')
- separator = eval('"'+separator+'"')
- if len(separator) != 1:
- raise EAsciiDoc,'malformed dsv separator: %s' % separator
- # TODO If separator is preceeded by an odd number of backslashes then
- # it is escaped and should not delimit.
- result = []
- for row in rows:
- # Skip blank lines
- if row == '': continue
- # Unescape escaped characters.
- row = eval('"'+row.replace('"','\\"')+'"')
- data = row.split(separator)
- data = [s.strip() for s in data]
- result.append(data)
- return result
- def translate(self):
- message.deprecated('old tables syntax')
- AbstractBlock.translate(self)
- # Reset instance specific properties.
- self.underline = None
- self.columns = []
- attrs = {}
- BlockTitle.consume(attrs)
- # Add relevant globals to table substitutions.
- attrs['pagewidth'] = str(config.pagewidth)
- attrs['pageunits'] = config.pageunits
- # Mix in document attribute list.
- AttributeList.consume(attrs)
- # Validate overridable attributes.
- for k,v in attrs.items():
- if k == 'format':
- if v not in self.FORMATS:
- raise EAsciiDoc, 'illegal [%s] %s: %s' % (self.name,k,v)
- self.format = v
- elif k == 'tablewidth':
- try:
- self.tablewidth = float(attrs['tablewidth'])
- except Exception:
- raise EAsciiDoc, 'illegal [%s] %s: %s' % (self.name,k,v)
- self.merge_attributes(attrs)
- # Parse table ruler.
- ruler = reader.read()
- assert re.match(self.delimiter,ruler)
- self.parse_ruler(ruler)
- # Read the entire table.
- table = []
- while True:
- line = reader.read_next()
- # Table terminated by underline followed by a blank line or EOF.
- if len(table) > 0 and re.match(self.underline,table[-1]):
- if line in ('',None):
- break;
- if line is None:
- raise EAsciiDoc,'closing [%s] underline expected' % self.name
- table.append(reader.read())
- # EXPERIMENTAL: The number of lines in the table, requested by Benjamin Klum.
- self.attributes['rows'] = str(len(table))
- if self.check_msg: # Skip if table definition was marked invalid.
- message.warning('skipping %s table: %s' % (self.name,self.check_msg))
- return
- # Generate colwidths and colspecs.
- self.build_colspecs()
- # Generate headrows, footrows, bodyrows.
- # Headrow, footrow and bodyrow data replaces same named attributes in
- # the table markup template. In order to ensure this data does not get
- # a second attribute substitution (which would interfere with any
- # already substituted inline passthroughs) unique placeholders are used
- # (the tab character does not appear elsewhere since it is expanded on
- # input) which are replaced after template attribute substitution.
- headrows = footrows = []
- bodyrows,table = self.split_rows(table)
- if table:
- headrows = bodyrows
- bodyrows,table = self.split_rows(table)
- if table:
- footrows,table = self.split_rows(table)
- if headrows:
- headrows = self.parse_rows(headrows, self.headrow, self.headdata)
- headrows = writer.newline.join(headrows)
- self.attributes['headrows'] = '\x07headrows\x07'
- if footrows:
- footrows = self.parse_rows(footrows, self.footrow, self.footdata)
- footrows = writer.newline.join(footrows)
- self.attributes['footrows'] = '\x07footrows\x07'
- bodyrows = self.parse_rows(bodyrows, self.bodyrow, self.bodydata)
- bodyrows = writer.newline.join(bodyrows)
- self.attributes['bodyrows'] = '\x07bodyrows\x07'
- table = subs_attrs(config.sections[self.template],self.attributes)
- table = writer.newline.join(table)
- # Before we finish replace the table head, foot and body place holders
- # with the real data.
- if headrows:
- table = table.replace('\x07headrows\x07', headrows, 1)
- if footrows:
- table = table.replace('\x07footrows\x07', footrows, 1)
- table = table.replace('\x07bodyrows\x07', bodyrows, 1)
- writer.write(table,trace='table')
-
-class Tables_OLD(AbstractBlocks):
- """List of tables."""
- BLOCK_TYPE = Table_OLD
- PREFIX = 'old_tabledef-'
- def __init__(self):
- AbstractBlocks.__init__(self)
- def load(self,sections):
- AbstractBlocks.load(self,sections)
- def validate(self):
- # Does not call AbstractBlocks.validate().
- # Check we have a default table definition,
- for i in range(len(self.blocks)):
- if self.blocks[i].name == 'old_tabledef-default':
- default = self.blocks[i]
- break
- else:
- raise EAsciiDoc,'missing section: [OLD_tabledef-default]'
- # Set default table defaults.
- if default.format is None: default.subs = 'fixed'
- # Propagate defaults to unspecified table parameters.
- for b in self.blocks:
- if b is not default:
- if b.fillchar is None: b.fillchar = default.fillchar
- if b.format is None: b.format = default.format
- if b.template is None: b.template = default.template
- if b.colspec is None: b.colspec = default.colspec
- if b.headrow is None: b.headrow = default.headrow
- if b.footrow is None: b.footrow = default.footrow
- if b.bodyrow is None: b.bodyrow = default.bodyrow
- if b.headdata is None: b.headdata = default.headdata
- if b.footdata is None: b.footdata = default.footdata
- if b.bodydata is None: b.bodydata = default.bodydata
- # Check all tables have valid fill character.
- for b in self.blocks:
- if not b.fillchar or len(b.fillchar) != 1:
- raise EAsciiDoc,'[%s] missing or illegal fillchar' % b.name
- # Build combined tables delimiter patterns and assign defaults.
- delimiters = []
- for b in self.blocks:
- # Ruler is:
- # (ColStop,(ColWidth,FillChar+)?)+, FillChar+, TableWidth?
- b.delimiter = r'^(' + Table_OLD.COL_STOP \
- + r'(\d*|' + re.escape(b.fillchar) + r'*)' \
- + r')+' \
- + re.escape(b.fillchar) + r'+' \
- + '([\d\.]*)$'
- delimiters.append(b.delimiter)
- if not b.headrow:
- b.headrow = b.bodyrow
- if not b.footrow:
- b.footrow = b.bodyrow
- if not b.headdata:
- b.headdata = b.bodydata
- if not b.footdata:
- b.footdata = b.bodydata
- self.delimiters = re_join(delimiters)
- # Check table definitions are valid.
- for b in self.blocks:
- b.validate()
- if config.verbose:
- if b.check_msg:
- message.warning('[%s] table definition: %s' % (b.name,b.check_msg))
-
-# End of deprecated old table classes.
-#---------------------------------------------------------------------------
-
-#---------------------------------------------------------------------------
-# Application code.
-#---------------------------------------------------------------------------
-# Constants
-# ---------
-APP_FILE = None # This file's full path.
-APP_DIR = None # This file's directory.
-USER_DIR = None # ~/.asciidoc
-# Global configuration files directory (set by Makefile build target).
-CONF_DIR = '/etc/asciidoc'
-HELP_FILE = 'help.conf' # Default (English) help file.
-
-# Globals
-# -------
-document = Document() # The document being processed.
-config = Config() # Configuration file reader.
-reader = Reader() # Input stream line reader.
-writer = Writer() # Output stream line writer.
-message = Message() # Message functions.
-paragraphs = Paragraphs() # Paragraph definitions.
-lists = Lists() # List definitions.
-blocks = DelimitedBlocks() # DelimitedBlock definitions.
-tables_OLD = Tables_OLD() # Table_OLD definitions.
-tables = Tables() # Table definitions.
-macros = Macros() # Macro definitions.
-calloutmap = CalloutMap() # Coordinates callouts and callout list.
-trace = Trace() # Implements trace attribute processing.
-
-### Used by asciidocapi.py ###
-# List of message strings written to stderr.
-messages = message.messages
-
-
-def asciidoc(backend, doctype, confiles, infile, outfile, options):
- """Convert AsciiDoc document to DocBook document of type doctype
- The AsciiDoc document is read from file object src the translated
- DocBook file written to file object dst."""
- def load_conffiles(include=[], exclude=[]):
- # Load conf files specified on the command-line.
- if confiles:
- for f in confiles:
- if os.path.isfile(f):
- config.load_file(f, include=include, exclude=exclude)
- else:
- raise EAsciiDoc,'configuration file %s missing' % f
-
- try:
- if doctype not in (None,'article','manpage','book'):
- raise EAsciiDoc,'illegal document type'
- # Set processing options.
- for o in options:
- if o == '-c': config.dumping = True
- if o == '-s': config.header_footer = False
- if o == '-v': config.verbose = True
- document.update_attributes()
- if '-e' not in options:
- # Load asciidoc.conf files in two passes: the first for attributes
- # the second for everything. This is so that locally set attributes
- # available are in the global asciidoc.conf
- if not config.load_from_dirs('asciidoc.conf',include=['attributes']):
- raise EAsciiDoc,'configuration file asciidoc.conf missing'
- load_conffiles(include=['attributes'])
- config.load_from_dirs('asciidoc.conf')
- if infile != '<stdin>':
- indir = os.path.dirname(infile)
- config.load_file('asciidoc.conf', indir,
- include=['attributes','titles','specialchars'])
- else:
- load_conffiles()
- document.update_attributes()
- # Check the infile exists.
- if infile != '<stdin>':
- if not os.path.isfile(infile):
- raise EAsciiDoc,'input file %s missing' % infile
- document.infile = infile
- AttributeList.initialize()
- # Open input file and parse document header.
- reader.tabsize = config.tabsize
- reader.open(infile)
- has_header = document.parse_header(doctype,backend)
- # doctype is now finalized.
- document.attributes['doctype-'+document.doctype] = ''
- # Load backend configuration files.
- if '-e' not in options:
- f = document.backend + '.conf'
- if not config.find_in_dirs(f):
- message.warning('missing backend conf file: %s' % f, linenos=False)
- config.load_backend()
- # backend is now known.
- document.attributes['backend-'+document.backend] = ''
- document.attributes[document.backend+'-'+document.doctype] = ''
- if '-e' not in options:
- # Load filters and language file.
- config.load_filters()
- document.load_lang()
- if infile != '<stdin>':
- # Load local conf files (files in the source file directory).
- config.load_file('asciidoc.conf', indir)
- config.load_backend([indir])
- config.load_filters([indir])
- # Load document specific configuration files.
- f = os.path.splitext(infile)[0]
- config.load_file(f + '.conf')
- config.load_file(f + '-' + document.backend + '.conf')
- load_conffiles()
- # Build outfile name.
- if outfile is None:
- outfile = os.path.splitext(infile)[0] + '.' + document.backend
- if config.outfilesuffix:
- # Change file extension.
- outfile = os.path.splitext(outfile)[0] + config.outfilesuffix
- document.outfile = outfile
- # Document header attributes override conf file attributes.
- document.attributes.update(AttributeEntry.attributes)
- document.update_attributes()
- # Configuration is fully loaded so can expand templates.
- config.expand_all_templates()
- # Check configuration for consistency.
- config.validate()
- paragraphs.initialize()
- lists.initialize()
- if config.dumping:
- config.dump()
- else:
- writer.newline = config.newline
- try:
- writer.open(outfile, reader.bom)
- try:
- document.translate(has_header) # Generate the output.
- finally:
- writer.close()
- finally:
- reader.closefile()
- except KeyboardInterrupt:
- raise
- except Exception,e:
- # Cleanup.
- if outfile and outfile != '<stdout>' and os.path.isfile(outfile):
- os.unlink(outfile)
- # Build and print error description.
- msg = 'FAILED: '
- if reader.cursor:
- msg = message.format('', msg)
- if isinstance(e, EAsciiDoc):
- message.stderr('%s%s' % (msg,str(e)))
- else:
- if __name__ == '__main__':
- message.stderr(msg+'unexpected error:')
- message.stderr('-'*60)
- traceback.print_exc(file=sys.stderr)
- message.stderr('-'*60)
- else:
- message.stderr('%sunexpected error: %s' % (msg,str(e)))
- sys.exit(1)
-
-def usage(msg=''):
- if msg:
- message.stderr(msg)
- show_help('default', sys.stderr)
-
-def show_help(topic, f=None):
- """Print help topic to file object f."""
- if f is None:
- f = sys.stdout
- # Select help file.
- lang = config.cmd_attrs.get('lang')
- if lang and lang != 'en':
- help_file = 'help-' + lang + '.conf'
- else:
- help_file = HELP_FILE
- # Print [topic] section from help file.
- config.load_from_dirs(help_file)
- if len(config.sections) == 0:
- # Default to English if specified language help files not found.
- help_file = HELP_FILE
- config.load_from_dirs(help_file)
- if len(config.sections) == 0:
- message.stderr('no help topics found')
- sys.exit(1)
- n = 0
- for k in config.sections:
- if re.match(re.escape(topic), k):
- n += 1
- lines = config.sections[k]
- if n == 0:
- message.stderr('help topic not found: [%s] in %s' % (topic, help_file))
- message.stderr('available help topics: %s' % ', '.join(config.sections.keys()))
- sys.exit(1)
- elif n > 1:
- message.stderr('ambiguous help topic: %s' % topic)
- else:
- for line in lines:
- print >>f, line
-
-### Used by asciidocapi.py ###
-def execute(cmd,opts,args):
- """
- Execute asciidoc with command-line options and arguments.
- cmd is asciidoc command or asciidoc.py path.
- opts and args conform to values returned by getopt.getopt().
- Raises SystemExit if an error occurs.
-
- Doctests:
-
- 1. Check execution:
-
- >>> import StringIO
- >>> infile = StringIO.StringIO('Hello *{author}*')
- >>> outfile = StringIO.StringIO()
- >>> opts = []
- >>> opts.append(('--backend','html4'))
- >>> opts.append(('--no-header-footer',None))
- >>> opts.append(('--attribute','author=Joe Bloggs'))
- >>> opts.append(('--out-file',outfile))
- >>> execute(__file__, opts, [infile])
- >>> print outfile.getvalue()
- <p>Hello <strong>Joe Bloggs</strong></p>
-
- >>>
-
- """
- if float(sys.version[:3]) < MIN_PYTHON_VERSION:
- message.stderr('FAILED: Python 2.3 or better required')
- sys.exit(1)
- if not os.path.exists(cmd):
- message.stderr('FAILED: Missing asciidoc command: %s' % cmd)
- sys.exit(1)
- # Locate the executable and configuration files directory.
- global APP_FILE
- APP_FILE = os.path.realpath(cmd)
- global APP_DIR
- APP_DIR = os.path.dirname(APP_FILE)
- global USER_DIR
- USER_DIR = os.environ.get('HOME')
- if USER_DIR is not None:
- USER_DIR = os.path.join(USER_DIR,'.asciidoc')
- if not os.path.isdir(USER_DIR):
- USER_DIR = None
- if len(args) > 1:
- usage('To many arguments')
- sys.exit(1)
- backend = None
- doctype = None
- confiles = []
- outfile = None
- options = []
- help_option = False
- for o,v in opts:
- if o in ('--help','-h'):
- help_option = True
- #DEPRECATED: --unsafe option.
- if o == '--unsafe':
- document.safe = False
- if o == '--safe':
- document.safe = True
- if o == '--version':
- print('asciidoc %s' % VERSION)
- sys.exit(0)
- if o in ('-b','--backend'):
- backend = v
-# config.cmd_attrs['backend'] = v
- if o in ('-c','--dump-conf'):
- options.append('-c')
- if o in ('-d','--doctype'):
- doctype = v
-# config.cmd_attrs['doctype'] = v
- if o in ('-e','--no-conf'):
- options.append('-e')
- if o in ('-f','--conf-file'):
- confiles.append(v)
- if o in ('-n','--section-numbers'):
- o = '-a'
- v = 'numbered'
- if o in ('-a','--attribute'):
- e = parse_entry(v, allow_name_only=True)
- if not e:
- usage('Illegal -a option: %s' % v)
- sys.exit(1)
- k,v = e
- # A @ suffix denotes don't override existing document attributes.
- if v and v[-1] == '@':
- document.attributes[k] = v[:-1]
- else:
- config.cmd_attrs[k] = v
- if o in ('-o','--out-file'):
- outfile = v
- if o in ('-s','--no-header-footer'):
- options.append('-s')
- if o in ('-v','--verbose'):
- options.append('-v')
- if help_option:
- if len(args) == 0:
- show_help('default')
- else:
- show_help(args[-1])
- sys.exit(0)
- if len(args) == 0 and len(opts) == 0:
- usage()
- sys.exit(0)
- if len(args) == 0:
- usage('No source file specified')
- sys.exit(1)
-# if not backend:
-# usage('No --backend option specified')
-# sys.exit(1)
- stdin,stdout = sys.stdin,sys.stdout
- try:
- infile = args[0]
- if infile == '-':
- infile = '<stdin>'
- elif isinstance(infile, str):
- infile = os.path.abspath(infile)
- else: # Input file is file object from API call.
- sys.stdin = infile
- infile = '<stdin>'
- if outfile == '-':
- outfile = '<stdout>'
- elif isinstance(outfile, str):
- outfile = os.path.abspath(outfile)
- elif outfile is None:
- if infile == '<stdin>':
- outfile = '<stdout>'
- else: # Output file is file object from API call.
- sys.stdout = outfile
- outfile = '<stdout>'
- # Do the work.
- asciidoc(backend, doctype, confiles, infile, outfile, options)
- if document.has_errors:
- sys.exit(1)
- finally:
- sys.stdin,sys.stdout = stdin,stdout
-
-if __name__ == '__main__':
- # Process command line options.
- import getopt
- try:
- #DEPRECATED: --unsafe option.
- opts,args = getopt.getopt(sys.argv[1:],
- 'a:b:cd:ef:hno:svw:',
- ['attribute=','backend=','conf-file=','doctype=','dump-conf',
- 'help','no-conf','no-header-footer','out-file=',
- 'section-numbers','verbose','version','safe','unsafe',
- 'doctest'])
- except getopt.GetoptError:
- message.stderr('illegal command options')
- sys.exit(1)
- if '--doctest' in [opt[0] for opt in opts]:
- # Run module doctests.
- import doctest
- options = doctest.NORMALIZE_WHITESPACE + doctest.ELLIPSIS
- failures,tries = doctest.testmod(optionflags=options)
- if failures == 0:
- message.stderr('All doctests passed')
- exit(0)
- else:
- exit(1)
- try:
- execute(sys.argv[0],opts,args)
- except KeyboardInterrupt:
- exit(1)
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/asciidocapi.py b/code/maint/asciidoc/asciidoc-8.6.3/asciidocapi.py
deleted file mode 100644
index dcdf262..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/asciidocapi.py
+++ /dev/null
@@ -1,257 +0,0 @@
-#!/usr/bin/env python
-"""
-asciidocapi - AsciiDoc API wrapper class.
-
-The AsciiDocAPI class provides an API for executing asciidoc. Minimal example
-compiles `mydoc.txt` to `mydoc.html`:
-
- import asciidocapi
- asciidoc = asciidocapi.AsciiDocAPI()
- asciidoc.execute('mydoc.txt')
-
-- Full documentation in asciidocapi.txt.
-- See the doctests below for more examples.
-
-Doctests:
-
-1. Check execution:
-
- >>> import StringIO
- >>> infile = StringIO.StringIO('Hello *{author}*')
- >>> outfile = StringIO.StringIO()
- >>> asciidoc = AsciiDocAPI()
- >>> asciidoc.options('--no-header-footer')
- >>> asciidoc.attributes['author'] = 'Joe Bloggs'
- >>> asciidoc.execute(infile, outfile, backend='html4')
- >>> print outfile.getvalue()
- <p>Hello <strong>Joe Bloggs</strong></p>
-
- >>> asciidoc.attributes['author'] = 'Bill Smith'
- >>> infile = StringIO.StringIO('Hello _{author}_')
- >>> outfile = StringIO.StringIO()
- >>> asciidoc.execute(infile, outfile, backend='docbook')
- >>> print outfile.getvalue()
- <simpara>Hello <emphasis>Bill Smith</emphasis></simpara>
-
-2. Check error handling:
-
- >>> import StringIO
- >>> asciidoc = AsciiDocAPI()
- >>> infile = StringIO.StringIO('---------')
- >>> outfile = StringIO.StringIO()
- >>> asciidoc.execute(infile, outfile)
- Traceback (most recent call last):
- File "<stdin>", line 1, in <module>
- File "asciidocapi.py", line 189, in execute
- raise AsciiDocError(self.messages[-1])
- AsciiDocError: ERROR: <stdin>: line 1: [blockdef-listing] missing closing delimiter
-
-
-Copyright (C) 2009 Stuart Rackham. Free use of this software is granted
-under the terms of the GNU General Public License (GPL).
-
-"""
-
-import sys,os,re,imp
-
-API_VERSION = '0.1.2'
-MIN_ASCIIDOC_VERSION = '8.4.1' # Minimum acceptable AsciiDoc version.
-
-
-def find_in_path(fname, path=None):
- """
- Find file fname in paths. Return None if not found.
- """
- if path is None:
- path = os.environ.get('PATH', '')
- for dir in path.split(os.pathsep):
- fpath = os.path.join(dir, fname)
- if os.path.isfile(fpath):
- return fpath
- else:
- return None
-
-
-class AsciiDocError(Exception):
- pass
-
-
-class Options(object):
- """
- Stores asciidoc(1) command options.
- """
- def __init__(self, values=[]):
- self.values = values[:]
- def __call__(self, name, value=None):
- """Shortcut for append method."""
- self.append(name, value)
- def append(self, name, value=None):
- if type(value) in (int,float):
- value = str(value)
- self.values.append((name,value))
-
-
-class Version(object):
- """
- Parse and compare AsciiDoc version numbers. Instance attributes:
-
- string: String version number '<major>.<minor>[.<micro>][suffix]'.
- major: Integer major version number.
- minor: Integer minor version number.
- micro: Integer micro version number.
- suffix: Suffix (begins with non-numeric character) is ignored when
- comparing.
-
- Doctest examples:
-
- >>> Version('8.2.5') < Version('8.3 beta 1')
- True
- >>> Version('8.3.0') == Version('8.3. beta 1')
- True
- >>> Version('8.2.0') < Version('8.20')
- True
- >>> Version('8.20').major
- 8
- >>> Version('8.20').minor
- 20
- >>> Version('8.20').micro
- 0
- >>> Version('8.20').suffix
- ''
- >>> Version('8.20 beta 1').suffix
- 'beta 1'
-
- """
- def __init__(self, version):
- self.string = version
- reo = re.match(r'^(\d+)\.(\d+)(\.(\d+))?\s*(.*?)\s*$', self.string)
- if not reo:
- raise ValueError('invalid version number: %s' % self.string)
- groups = reo.groups()
- self.major = int(groups[0])
- self.minor = int(groups[1])
- self.micro = int(groups[3] or '0')
- self.suffix = groups[4] or ''
- def __cmp__(self, other):
- result = cmp(self.major, other.major)
- if result == 0:
- result = cmp(self.minor, other.minor)
- if result == 0:
- result = cmp(self.micro, other.micro)
- return result
-
-
-class AsciiDocAPI(object):
- """
- AsciiDoc API class.
- """
- def __init__(self, asciidoc_py=None):
- """
- Locate and import asciidoc.py.
- Initialize instance attributes.
- """
- self.options = Options()
- self.attributes = {}
- self.messages = []
- # Search for the asciidoc command file.
- # Try ASCIIDOC_PY environment variable first.
- cmd = os.environ.get('ASCIIDOC_PY')
- if cmd:
- if not os.path.isfile(cmd):
- raise AsciiDocError('missing ASCIIDOC_PY file: %s' % cmd)
- elif asciidoc_py:
- # Next try path specified by caller.
- cmd = asciidoc_py
- if not os.path.isfile(cmd):
- raise AsciiDocError('missing file: %s' % cmd)
- else:
- # Try shell search paths.
- for fname in ['asciidoc.py','asciidoc.pyc','asciidoc']:
- cmd = find_in_path(fname)
- if cmd: break
- else:
- # Finally try current working directory.
- for cmd in ['asciidoc.py','asciidoc.pyc','asciidoc']:
- if os.path.isfile(cmd): break
- else:
- raise AsciiDocError('failed to locate asciidoc')
- self.cmd = os.path.realpath(cmd)
- self.__import_asciidoc()
-
- def __import_asciidoc(self, reload=False):
- '''
- Import asciidoc module (script or compiled .pyc).
- See
- http://groups.google.com/group/asciidoc/browse_frm/thread/66e7b59d12cd2f91
- for an explanation of why a seemingly straight-forward job turned out
- quite complicated.
- '''
- if os.path.splitext(self.cmd)[1] in ['.py','.pyc']:
- sys.path.insert(0, os.path.dirname(self.cmd))
- try:
- try:
- if reload:
- import __builtin__ # Because reload() is shadowed.
- __builtin__.reload(self.asciidoc)
- else:
- import asciidoc
- self.asciidoc = asciidoc
- except ImportError:
- raise AsciiDocError('failed to import ' + self.cmd)
- finally:
- del sys.path[0]
- else:
- # The import statement can only handle .py or .pyc files, have to
- # use imp.load_source() for scripts with other names.
- try:
- imp.load_source('asciidoc', self.cmd)
- import asciidoc
- self.asciidoc = asciidoc
- except ImportError:
- raise AsciiDocError('failed to import ' + self.cmd)
- if Version(self.asciidoc.VERSION) < Version(MIN_ASCIIDOC_VERSION):
- raise AsciiDocError(
- 'asciidocapi %s requires asciidoc %s or better'
- % (API_VERSION, MIN_ASCIIDOC_VERSION))
-
- def execute(self, infile, outfile=None, backend=None):
- """
- Compile infile to outfile using backend format.
- infile can outfile can be file path strings or file like objects.
- """
- self.messages = []
- opts = Options(self.options.values)
- if outfile is not None:
- opts('--out-file', outfile)
- if backend is not None:
- opts('--backend', backend)
- for k,v in self.attributes.items():
- if v == '' or k[-1] in '!@':
- s = k
- elif v is None: # A None value undefines the attribute.
- s = k + '!'
- else:
- s = '%s=%s' % (k,v)
- opts('--attribute', s)
- args = [infile]
- # The AsciiDoc command was designed to process source text then
- # exit, there are globals and statics in asciidoc.py that have
- # to be reinitialized before each run -- hence the reload.
- self.__import_asciidoc(reload=True)
- try:
- try:
- self.asciidoc.execute(self.cmd, opts.values, args)
- finally:
- self.messages = self.asciidoc.messages[:]
- except SystemExit, e:
- if e.code:
- raise AsciiDocError(self.messages[-1])
-
-
-if __name__ == "__main__":
- """
- Run module doctests.
- """
- import doctest
- options = doctest.NORMALIZE_WHITESPACE + doctest.ELLIPSIS
- doctest.testmod(optionflags=options)
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/common.aap b/code/maint/asciidoc/asciidoc-8.6.3/common.aap
deleted file mode 100644
index 9f4941f..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/common.aap
+++ /dev/null
@@ -1,9 +0,0 @@
-#
-# Executed by all main.aap's before anything else.
-#
-
-_parent.VERS = 8.6.3
-_parent.DATE = 14 November 2010
-
-all:
- :pass
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/configure.ac b/code/maint/asciidoc/asciidoc-8.6.3/configure.ac
deleted file mode 100644
index cd9f4ca..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/configure.ac
+++ /dev/null
@@ -1,11 +0,0 @@
-AC_INIT(asciidoc, 8.6.3)
-
-AC_CONFIG_FILES(Makefile)
-
-AC_PROG_SED
-
-AC_PROG_LN_S
-
-AC_PROG_INSTALL
-
-AC_OUTPUT
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/dblatex/asciidoc-dblatex.sty b/code/maint/asciidoc/asciidoc-8.6.3/dblatex/asciidoc-dblatex.sty
deleted file mode 100644
index 9d89839..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/dblatex/asciidoc-dblatex.sty
+++ /dev/null
@@ -1,20 +0,0 @@
-%%
-%% This style is derived from the docbook one.
-%%
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{asciidoc}[2008/06/05 AsciiDoc DocBook Style]
-%% Just use the original package and pass the options.
-\RequirePackageWithOptions{docbook}
-
-% Sidebar is a boxed minipage that can contain verbatim.
-% Changed shadow box to double box.
-\renewenvironment{sidebar}[1][0.95\textwidth]{
- \hspace{0mm}\newline%
- \noindent\begin{Sbox}\begin{minipage}{#1}%
- \setlength\parskip{\medskipamount}%
-}{
- \end{minipage}\end{Sbox}\doublebox{\TheSbox}%
-}
-
-% For DocBook literallayout elements, see `./dblatex/dblatex-readme.txt`.
-\usepackage{alltt}
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/dblatex/asciidoc-dblatex.xsl b/code/maint/asciidoc/asciidoc-8.6.3/dblatex/asciidoc-dblatex.xsl
deleted file mode 100644
index 3df2d2e..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/dblatex/asciidoc-dblatex.xsl
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
-dblatex(1) XSL user stylesheet for asciidoc(1).
-See dblatex(1) -p option.
--->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
- <!-- TOC links in the titles, and in blue. -->
- <xsl:param name="latex.hyperparam">colorlinks,linkcolor=blue,pdfstartview=FitH</xsl:param>
- <xsl:param name="doc.publisher.show">1</xsl:param>
- <xsl:param name="doc.lot.show"></xsl:param>
- <xsl:param name="term.breakline">1</xsl:param>
- <xsl:param name="doc.collab.show">0</xsl:param>
- <xsl:param name="doc.section.depth">3</xsl:param>
- <xsl:param name="table.in.float">0</xsl:param>
- <xsl:param name="monoseq.hyphenation">0</xsl:param>
- <xsl:param name="latex.output.revhistory">1</xsl:param>
-
- <!-- This doesn't work, don't know why, see:
- http://dblatex.sourceforge.net/html/manual/apas03.html
- ./docbook-xsl/common.xsl
- -->
- <!--
- <xsl:param name="doc.toc.show">
- <xsl:choose>
- <xsl:when test="/processing-instruction('asciidoc-toc')">
-1
- </xsl:when>
- <xsl:otherwise>
-0
- </xsl:otherwise>
- </xsl:choose>
- </xsl:param>
- <xsl:param name="doc.lot.show">
- <xsl:choose>
- <xsl:when test="/book">
-figure,table,equation,example
- </xsl:when>
- </xsl:choose>
- </xsl:param>
- -->
- <xsl:param name="doc.toc.show">1</xsl:param>
-
- <!--
- Override default literallayout template.
- See `./dblatex/dblatex-readme.txt`.
- -->
- <xsl:template match="address|literallayout[@class!='monospaced']">
- <xsl:text>\begin{alltt}</xsl:text>
- <xsl:text> \normalfont{} </xsl:text>
- <xsl:apply-templates/>
- <xsl:text> \end{alltt}</xsl:text>
- </xsl:template>
-
- <xsl:template match="processing-instruction('asciidoc-pagebreak')">
- <!-- force hard pagebreak, varies from 0(low) to 4(high) -->
- <xsl:text>\pagebreak[4] </xsl:text>
- <xsl:apply-templates />
- <xsl:text> </xsl:text>
- </xsl:template>
-
- <xsl:template match="processing-instruction('asciidoc-br')">
- <xsl:text>\newline </xsl:text>
- </xsl:template>
-
- <xsl:template match="processing-instruction('asciidoc-hr')">
- <!-- draw a 444 pt line (centered) -->
- <xsl:text>\begin{center} </xsl:text>
- <xsl:text>\line(1,0){444} </xsl:text>
- <xsl:text>\end{center} </xsl:text>
- </xsl:template>
-
-</xsl:stylesheet>
-
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/dblatex/dblatex-readme.txt b/code/maint/asciidoc/asciidoc-8.6.3/dblatex/dblatex-readme.txt
deleted file mode 100644
index 39bb437..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/dblatex/dblatex-readme.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-AsciiDoc dblatex README
-=======================
-
-Customization
--------------
-The `./dblatex` directory contains:
-
-`./dblatex/asciidoc-dblatex.xsl`:: Optional dblatex XSL parameter
-customization.
-
-`./dblatex/asciidoc-dblatex.sty`:: Optional customized LaTeX styles.
-
-Use these files with dblatex(1) `-p` and `-s` options, for example:
-
- dblatex -p ../dblatex/asciidoc-dblatex.xsl \
- -s ../dblatex/asciidoc-dblatex.sty article.xml
-
-
-Limitations
------------
-Observed in dblatex 0.2.8.
-
-- dblatex doesn't seem to process the DocBook 'literallayout' element
- correctly: it is rendered in a monospaced font and no inline
- elements are processed. By default the normal font should be used
- and almost all DocBook inline elements should be processed
- (http://www.docbook.org/tdg/en/html/literallayout.html) I almost
- fixed this by overriding the default dblatex literallayout template
- (in `./dblatex/asciidoc-dblatex.xsl`) and using the LaTeX 'alltt'
- package, but there are remaining problems:
-
- * Blank lines are replaced by a single space.
- * The 'literallayout' element incorrectly wraps text when rendered
- inside a table.
-
-- Callouts do not work inside DocBook 'literallayout' elements which
- means callouts are not displayed inside AsciiDoc literal blocks. A
- workaround is to change the AsciiDoc literal block to a listing
- block.
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/a2x.1 b/code/maint/asciidoc/asciidoc-8.6.3/doc/a2x.1
deleted file mode 100644
index 9dd94de..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/a2x.1
+++ /dev/null
@@ -1,554 +0,0 @@
-'\" t
-.\" Title: a2x
-.\" Author: [see the "AUTHOR" section]
-.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
-.\" Date: 14 November 2010
-.\" Manual: \ \&
-.\" Source: \ \& 8.6.3
-.\" Language: English
-.\"
-.TH "A2X" "1" "14 November 2010" "\ \& 8\&.6\&.3" "\ \&"
-.\" -----------------------------------------------------------------
-.\" * Define some portability stuff
-.\" -----------------------------------------------------------------
-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.\" http://bugs.debian.org/507673
-.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.ie \n(.g .ds Aq \(aq
-.el .ds Aq '
-.\" -----------------------------------------------------------------
-.\" * set default formatting
-.\" -----------------------------------------------------------------
-.\" disable hyphenation
-.nh
-.\" disable justification (adjust text to left margin only)
-.ad l
-.\" -----------------------------------------------------------------
-.\" * MAIN CONTENT STARTS HERE *
-.\" -----------------------------------------------------------------
-.SH "NAME"
-a2x \- A toolchain manager for AsciiDoc (converts Asciidoc text files to other file formats)
-.SH "SYNOPSIS"
-.sp
-\fBa2x\fR [\fIOPTIONS\fR] \fISOURCE_FILE\fR
-.SH "DESCRIPTION"
-.sp
-A DocBook toolchain manager that translates an AsciiDoc text file \fISOURCE_FILE\fR to PDF, EPUB, DVI, PS, LaTeX, XHTML (single page or chunked), man page, HTML Help or plain text formats using \fIasciidoc(1)\fR and other applications (see REQUISITES section)\&. \fISOURCE_FILE\fR can also be a DocBook file with an \&.xml extension\&.
-.SH "OPTIONS"
-.PP
-\fB\-a, \-\-attribute\fR=\fIATTRIBUTE\fR
-.RS 4
-Set asciidoc(1) attribute value (shortcut for
-\fB\-\-asciidoc\-opts\fR=\fI"\-a ATTRIBUTE"\fR
-option)\&. This option may be specified more than once\&.
-.RE
-.PP
-\fB\-\-asciidoc\-opts\fR=\fIASCIIDOC_OPTS\fR
-.RS 4
-Additional
-\fIasciidoc(1)\fR
-options\&. This option may be specified more than once\&.
-.RE
-.PP
-\fB\-\-conf\-file\fR=\fICONF_FILE\fR
-.RS 4
-Load configuration file\&. See
-CONF FILES section\&.
-.RE
-.PP
-\fB\-D, \-\-destination\-dir\fR=\fIPATH\fR
-.RS 4
-Output directory\&. Defaults to
-\fISOURCE_FILE\fR
-directory\&.
-.RE
-.PP
-\fB\-d, \-\-doctype\fR=\fIDOCTYPE\fR
-.RS 4
-DocBook document type:
-\fIarticle\fR,
-\fImanpage\fR
-or
-\fIbook\fR\&. Default document type is
-\fIarticle\fR
-unless the format is
-\fImanpage\fR
-(in which case it defaults to
-\fImanpage\fR)\&.
-.RE
-.PP
-\fB\-f, \-\-format\fR=\fIFORMAT\fR
-.RS 4
-Output formats:
-\fIchunked\fR,
-\fIdocbook\fR,
-\fIdvi\fR,
-\fIepub\fR,
-\fIhtmlhelp\fR,
-\fImanpage\fR,
-\fIpdf\fR
-(default),
-\fIps\fR,
-\fItex\fR,
-\fItext\fR,
-\fIxhtml\fR\&.
-.RE
-.PP
-\fB\-h, \-\-help\fR
-.RS 4
-Print command\-line syntax and program options to stdout\&.
-.RE
-.PP
-\fB\-\-icons\fR
-.RS 4
-Use admonition or navigation icon images in output documents\&. The default behavior is to use text in place of icons\&.
-.RE
-.PP
-\fB\-\-icons\-dir\fR=\fIPATH\fR
-.RS 4
-A path (relative to output files) containing admonition and navigation icons\&. Defaults to
-images/icons\&. The
-\fI\-\-icons\fR
-option is implicit if this option is used\&.
-.RE
-.PP
-\fB\-k, \-\-keep\-artifacts\fR
-.RS 4
-Do not delete temporary build files\&.
-.RE
-.PP
-\fB\-\-lynx\fR
-.RS 4
-Use
-\fIlynx(1)\fR
-to generate text formatted output\&. The default behavior is to use
-\fIw3m(1)\fR\&.
-.RE
-.PP
-\fB\-L, \-\-no\-xmllint\fR
-.RS 4
-Do not check asciidoc output with
-\fIxmllint(1)\fR\&.
-.RE
-.PP
-\fB\-\-\-epubcheck\fR
-.RS 4
-Check EPUB output with
-\fIepubcheck(1)\fR\&.
-.RE
-.PP
-\fB\-n, \-\-dry\-run\fR
-.RS 4
-Do not do anything just print what would have been done\&.
-.RE
-.PP
-\fB\-r, \-\-resource\fR=\fIPATH\fR
-.RS 4
-If
-\fIPATH\fR
-refers to a directory recursively search it for required
-resource files\&. If
-\fIPATH\fR
-refers to a file add it to the list of required resource files\&. This option may be specified more than once\&.
-.RE
-.PP
-\fB\-m, \-\-resource\-manifest\fR=\fIFILE\fR
-.RS 4
-
-\fIFILE\fR
-contains a list resources (one per line)\&. Manifest
-\fIFILE\fR
-entries are treated just like
-\fB\-\-resource\fR
-option arguments\&.
-.RE
-.PP
-\fB\-\-stylesheet\fR=\fISTYLESHEET\fR
-.RS 4
-The file name of the docbook\-xsl CSS stylesheet file\&. Defaults to
-\fIdocbook\-xsl\&.css\fR\&. The stylesheet must reside in a valid
-resource file
-location\&. Applies to HTML formats:
-\fIxhtml\fR,
-\fIepub\fR,
-\fIchunked\fR,
-\fIhtmlhelp\fR
-formats\&.
-.RE
-.PP
-\fB\-v, \-\-verbose\fR
-.RS 4
-Print operational details to stderr\&. A second
-\fB\-v\fR
-option applies the verbose option to toolchain commands\&.
-.RE
-.PP
-\fB\-\-version\fR
-.RS 4
-Print program version to stdout\&.
-.RE
-.PP
-\fB\-\-xsltproc\-opts\fR=\fIXSLTPROC_OPTS\fR
-.RS 4
-Additional
-\fIxsltproc(1)\fR
-options\&. This option may be specified more than once\&.
-.RE
-.PP
-\fB\-\-xsl\-file\fR=\fIXSL_FILE\fR
-.RS 4
-Override the built\-in XSL stylesheet with the custom XSL stylesheet
-\fIXSL_FILE\fR\&.
-.RE
-.PP
-\fB\-\-fop\fR
-.RS 4
-Use FOP to generate PDFs\&. The default behavior is to use
-\fIdblatex(1)\fR\&. The
-\fI\-\-fop\fR
-option is implicit if this option is used\&.
-.RE
-.PP
-\fB\-\-fop\-opts\fR=\fIFOP_OPTS\fR
-.RS 4
-Additional
-\fIfop(1)\fR
-options\&. If this option is specified FOP is used to generate PDFs\&. This option may be specified more than once\&.
-.RE
-.PP
-\fB\-\-dblatex\-opts\fR=\fIDBLATEX_OPTS\fR
-.RS 4
-Additional
-\fIdblatex(1)\fR
-options\&. This option may be specified more than once\&.
-.RE
-.sp
-Options can also be set in the AsciiDoc source file\&. If \fISOURCE_FILE\fR contains a comment line beginning with \fB// a2x:\fR then the remainder of the line will be treated as \fIa2x\fR command\-line options\&. Options spanning multiple such comment lines will be concatenated\&. Zero or more white space characters can appear between the leading \fB//\fR and \fBa2x:\fR\&. Command\-line options take precedence over options set in the source file\&. Example usage:
-.sp
-.if n \{\
-.RS 4
-.\}
-.nf
-// a2x default options\&.
-// a2x: \-dbook \-\-epubcheck
-// Suppress revision history in dblatex outputs\&.
-// a2x: \-\-dblatex\-opts "\-P latex\&.output\&.revhistory=0"
-.fi
-.if n \{\
-.RE
-.\}
-.SH "OUTPUT FILES"
-.sp
-Output files are written to the directory specified by the \fB\-\-destination\-dir\fR option\&. If no \fB\-\-destination\-dir\fR option is set output files are written to the \fISOURCE_FILE\fR directory\&.
-.sp
-Output files have the same name as the \fISOURCE_FILE\fR but with an appropriate file name extension: \&.html for \fIxhtml\fR; \&.epub for \fIepub\fR; \&.hhp for \fIhtmlhelp\fR; \&.pdf for \fIpdf\fR; \&.text for \fItext\fR, \&.xml for \fIdocbook\fR\&. By convention manpages have no \&.man extension (man page section number only)\&. Chunked HTML directory names have a \&.chunked extension; chunked HTML Help directory names have a \&.htmlhelp extension\&.
-.sp
-Same named existing files are overwritten\&.
-.sp
-In addition to generating HTML files the \fIxhtml\fR, \fIepub\fR, \fIchunked\fR and \fIhtmlhelp\fR formats ensure resource files are copied to their correct destination directory locations\&.
-.SH "RESOURCES"
-.sp
-Resources are files (typically CSS and images) that are required by HTML based outputs (\fIxhtml\fR, \fIepub\fR, \fIchunked\fR, \fIhtmlhelp\fR formats)\&. \fIa2x\fR scans the generated HTML files and builds a list of required CSS and image file\&. Additional resource files can be specified explicitly using the \fB\-\-resource\fR option\&.
-.sp
-\fIa2x\fR searches for resources in the following locations in the following order:
-.sp
-.RS 4
-.ie n \{\
-\h'-04' 1.\h'+01'\c
-.\}
-.el \{\
-.sp -1
-.IP " 1." 4.2
-.\}
-The
-\fISOURCE_FILE\fR
-directory\&.
-.RE
-.sp
-.RS 4
-.ie n \{\
-\h'-04' 2.\h'+01'\c
-.\}
-.el \{\
-.sp -1
-.IP " 2." 4.2
-.\}
-Directories specified by
-\fB\-\-resource\fR
-and
-\fB\-\-resource\-manifest\fR
-options (recursively)\&.
-.RE
-.sp
-.RS 4
-.ie n \{\
-\h'-04' 3.\h'+01'\c
-.\}
-.el \{\
-.sp -1
-.IP " 3." 4.2
-.\}
-The
-\fIasciidoc(1)\fR
-images
-and
-stylesheets
-configuration file directories (recursively)\&.
-.RE
-.sp
-.RS 4
-.ie n \{\
-\h'-04' 4.\h'+01'\c
-.\}
-.el \{\
-.sp -1
-.IP " 4." 4.2
-.\}
-The destination directory\&.
-.RE
-.sp
-When a resource is found it is copied to the correct relative destination directory\&. Missing destination sub\-directories are created automatically\&.
-.SH "EXAMPLES"
-.PP
-a2x \-f pdf doc/source\-highlight\-filter\&.txt
-.RS 4
-Generates
-doc/source\-highlight\-filter\&.pdf
-file\&.
-.RE
-.PP
-a2x \-f xhtml \-D \&.\&./doc \-\-icons \-r \&.\&./images team\&.txt
-.RS 4
-Creates HTML file
-\&.\&./doc/team\&.html, uses admonition icons and searches
-\&.\&./images
-for any missing resources\&.
-.RE
-.PP
-a2x \-f manpage doc/asciidoc\&.1\&.txt
-.RS 4
-Generate
-doc/asciidoc\&.1
-manpage\&.
-.RE
-.SH "REQUISITES"
-.sp
-\fIa2x\fR uses the following programs:
-.sp
-.RS 4
-.ie n \{\
-\h'-04'\(bu\h'+03'\c
-.\}
-.el \{\
-.sp -1
-.IP \(bu 2.3
-.\}
-
-\fBAsciidoc\fR:
-http://www\&.methods\&.co\&.nz/asciidoc/
-.RE
-.sp
-.RS 4
-.ie n \{\
-\h'-04'\(bu\h'+03'\c
-.\}
-.el \{\
-.sp -1
-.IP \(bu 2.3
-.\}
-
-\fBxsltproc\fR: (all formats except text):
-http://xmlsoft\&.org/XSLT/
-.RE
-.sp
-.RS 4
-.ie n \{\
-\h'-04'\(bu\h'+03'\c
-.\}
-.el \{\
-.sp -1
-.IP \(bu 2.3
-.\}
-
-\fBDocBook XSL Stylesheets\fR
-(all formats except text):
-http://docbook\&.sourceforge\&.net/projects/xsl/
-.RE
-.sp
-.RS 4
-.ie n \{\
-\h'-04'\(bu\h'+03'\c
-.\}
-.el \{\
-.sp -1
-.IP \(bu 2.3
-.\}
-
-\fBdblatex\fR
-(pdf, dvi, ps, tex formats):
-http://dblatex\&.sourceforge\&.net/
-.RE
-.sp
-.RS 4
-.ie n \{\
-\h'-04'\(bu\h'+03'\c
-.\}
-.el \{\
-.sp -1
-.IP \(bu 2.3
-.\}
-
-\fBFOP\fR
-(pdf format \(em alternative PDF file generator):
-http://xmlgraphics\&.apache\&.org/fop/
-.RE
-.sp
-.RS 4
-.ie n \{\
-\h'-04'\(bu\h'+03'\c
-.\}
-.el \{\
-.sp -1
-.IP \(bu 2.3
-.\}
-
-\fBw3m\fR
-(text format):
-http://w3m\&.sourceforge\&.net/index\&.en\&.html
-.RE
-.sp
-.RS 4
-.ie n \{\
-\h'-04'\(bu\h'+03'\c
-.\}
-.el \{\
-.sp -1
-.IP \(bu 2.3
-.\}
-
-\fBLynx\fR
-(text format \(em alternative text file generator):
-http://lynx\&.isc\&.org/
-.RE
-.sp
-.RS 4
-.ie n \{\
-\h'-04'\(bu\h'+03'\c
-.\}
-.el \{\
-.sp -1
-.IP \(bu 2.3
-.\}
-
-\fBepubcheck\fR
-(epub format \(em EPUB file validator):
-http://code\&.google\&.com/p/epubcheck/
-.RE
-.sp
-See also the latest README file\&.
-.SH "CONF FILES"
-.sp
-A configuration file contains executable Python code that overrides the global configuration parameters in a2x\&.py\&. Optional configuration files are loaded in the following order:
-.sp
-.RS 4
-.ie n \{\
-\h'-04' 1.\h'+01'\c
-.\}
-.el \{\
-.sp -1
-.IP " 1." 4.2
-.\}
-
-a2x\&.conf
-from the directory containing the
-\fIa2x\&.py\fR
-executable\&.
-.RE
-.sp
-.RS 4
-.ie n \{\
-\h'-04' 2.\h'+01'\c
-.\}
-.el \{\
-.sp -1
-.IP " 2." 4.2
-.\}
-
-a2x\&.conf
-from the AsciiDoc global configuration directory\&. Skip this step if we are executing a locally installed (non system wide) copy\&.
-.RE
-.sp
-.RS 4
-.ie n \{\
-\h'-04' 3.\h'+01'\c
-.\}
-.el \{\
-.sp -1
-.IP " 3." 4.2
-.\}
-
-a2x\&.conf
-from the AsciiDoc
-$HOME/\&.asciidoc
-configuration directory\&.
-.RE
-.sp
-.RS 4
-.ie n \{\
-\h'-04' 4.\h'+01'\c
-.\}
-.el \{\
-.sp -1
-.IP " 4." 4.2
-.\}
-The
-\fICONF_FILE\fR
-specified in the
-\fI\-\-conf\-file\fR
-option\&.
-.RE
-.sp
-Here are the default configuration file option values:
-.sp
-.if n \{\
-.RS 4
-.\}
-.nf
-# Optional environment variable dictionary passed to
-# executing programs\&. If set to None the existing
-# environment is used\&.
-ENV = None
-
-# External executables\&.
-ASCIIDOC = \*(Aqasciidoc\*(Aq
-XSLTPROC = \*(Aqxsltproc\*(Aq
-DBLATEX = \*(Aqdblatex\*(Aq # pdf generation\&.
-FOP = \*(Aqfop\*(Aq # pdf generation (\-\-fop option)\&.
-W3M = \*(Aqw3m\*(Aq # text generation\&.
-LYNX = \*(Aqlynx\*(Aq # text generation (if no w3m)\&.
-XMLLINT = \*(Aqxmllint\*(Aq # Set to \*(Aq\*(Aq to disable\&.
-EPUBCHECK = \*(Aqepubcheck\*(Aq # Set to \*(Aq\*(Aq to disable\&.
-# External executable default options\&.
-ASCIIDOC_OPTS = \*(Aq\*(Aq
-DBLATEX_OPTS = \*(Aq\*(Aq
-FOP_OPTS = \*(Aq\*(Aq
-XSLTPROC_OPTS = \*(Aq\*(Aq
-.fi
-.if n \{\
-.RE
-.\}
-.SH "BUGS"
-.sp
-See the AsciiDoc distribution BUGS file\&.
-.SH "AUTHOR"
-.sp
-Written by Stuart Rackham, <srackham(a)gmail\&.com>
-.SH "RESOURCES"
-.sp
-SourceForge: http://sourceforge\&.net/projects/asciidoc/
-.sp
-Main web site: http://www\&.methods\&.co\&.nz/asciidoc/
-.SH "COPYING"
-.sp
-Copyright (C) 2002\-2010 Stuart Rackham\&. Free use of this software is granted under the terms of the MIT license\&.
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/a2x.1.txt b/code/maint/asciidoc/asciidoc-8.6.3/doc/a2x.1.txt
deleted file mode 100644
index 89702f7..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/a2x.1.txt
+++ /dev/null
@@ -1,284 +0,0 @@
-A2X(1)
-======
-:doctype: manpage
-
-
-NAME
-----
-a2x - A toolchain manager for AsciiDoc (converts Asciidoc text files to other
- file formats)
-
-
-SYNOPSIS
---------
-*a2x* ['OPTIONS'] 'SOURCE_FILE'
-
-
-DESCRIPTION
------------
-A DocBook toolchain manager that translates an AsciiDoc text file
-'SOURCE_FILE' to PDF, EPUB, DVI, PS, LaTeX, XHTML (single page or
-chunked), man page, HTML Help or plain text formats using
-'asciidoc(1)' and other applications (see <<X1,REQUISITES section>>).
-'SOURCE_FILE' can also be a DocBook file with an .xml extension.
-
-
-OPTIONS
--------
-*-a, --attribute*='ATTRIBUTE'::
- Set asciidoc(1) attribute value (shortcut for *--asciidoc-opts*='"-a
- ATTRIBUTE"' option).
- This option may be specified more than once.
-
-*--asciidoc-opts*='ASCIIDOC_OPTS'::
- Additional 'asciidoc(1)' options.
- This option may be specified more than once.
-
-*--conf-file*='CONF_FILE'::
- Load configuration file. See <<X2,CONF FILES section>>.
-
-*-D, --destination-dir*='PATH'::
- Output directory. Defaults to 'SOURCE_FILE' directory.
-
-*-d, --doctype*='DOCTYPE'::
- DocBook document type: 'article', 'manpage' or 'book'. Default
- document type is 'article' unless the format is 'manpage' (in which
- case it defaults to 'manpage').
-
-*-f, --format*='FORMAT'::
- Output formats: 'chunked', 'docbook', 'dvi', 'epub', 'htmlhelp',
- 'manpage', 'pdf' (default), 'ps', 'tex', 'text', 'xhtml'.
-
-*-h, --help*::
- Print command-line syntax and program options to stdout.
-
-*--icons*::
- Use admonition or navigation icon images in output documents. The
- default behavior is to use text in place of icons.
-
-*--icons-dir*='PATH'::
- A path (relative to output files) containing admonition
- and navigation icons. Defaults to `images/icons`.
- The '--icons' option is implicit if this option is used.
-
-*-k, --keep-artifacts*::
- Do not delete temporary build files.
-
-*--lynx*::
- Use 'lynx(1)' to generate text formatted output. The default
- behavior is to use 'w3m(1)'.
-
-*-L, --no-xmllint*::
- Do not check asciidoc output with 'xmllint(1)'.
-
-*---epubcheck*::
- Check EPUB output with 'epubcheck(1)'.
-
-*-n, --dry-run*::
- Do not do anything just print what would have been done.
-
-*-r, --resource*='PATH'::
- If 'PATH' refers to a directory recursively search it for required
- <<X3,resource files>>. If 'PATH' refers to a file add it to the list
- of required resource files. This option may be specified more than
- once.
-
-*-m, --resource-manifest*='FILE'::
- 'FILE' contains a list resources (one per line). Manifest 'FILE'
- entries are treated just like *--resource* option arguments.
-
-*--stylesheet*='STYLESHEET'::
- The file name of the docbook-xsl CSS stylesheet file. Defaults to
- 'docbook-xsl.css'. The stylesheet must reside in a valid <<X3,
- resource file>> location.
- Applies to HTML formats: 'xhtml', 'epub', 'chunked', 'htmlhelp'
- formats.
-
-*-v, --verbose*::
- Print operational details to stderr.
- A second *-v* option applies the verbose option to toolchain commands.
-
-*--version*::
- Print program version to stdout.
-
-*--xsltproc-opts*='XSLTPROC_OPTS'::
- Additional 'xsltproc(1)' options.
- This option may be specified more than once.
-
-*--xsl-file*='XSL_FILE'::
- Override the built-in XSL stylesheet with the custom XSL stylesheet
- 'XSL_FILE'.
-
-*--fop*::
- Use FOP to generate PDFs. The default behavior is to use
- 'dblatex(1)'. The '--fop' option is implicit if this option is
- used.
-
-*--fop-opts*='FOP_OPTS'::
- Additional 'fop(1)' options. If this option is specified FOP is used
- to generate PDFs.
- This option may be specified more than once.
-
-*--dblatex-opts*='DBLATEX_OPTS'::
- Additional 'dblatex(1)' options.
- This option may be specified more than once.
-
-Options can also be set in the AsciiDoc source file. If 'SOURCE_FILE'
-contains a comment line beginning with *// a2x:* then the remainder of
-the line will be treated as 'a2x' command-line options. Options
-spanning multiple such comment lines will be concatenated. Zero or
-more white space characters can appear between the leading *//* and
-*a2x:*. Command-line options take precedence over options set in the
-source file. Example usage:
-
- // a2x default options.
- // a2x: -dbook --epubcheck
- // Suppress revision history in dblatex outputs.
- // a2x: --dblatex-opts "-P latex.output.revhistory=0"
-
-
-OUTPUT FILES
-------------
-Output files are written to the directory specified by the
-*--destination-dir* option. If no *--destination-dir* option is set
-output files are written to the 'SOURCE_FILE' directory.
-
-Output files have the same name as the 'SOURCE_FILE' but with an
-appropriate file name extension: `.html` for 'xhtml'; `.epub` for
-'epub'; `.hhp` for 'htmlhelp'; `.pdf` for 'pdf'; `.text` for 'text',
-`.xml` for 'docbook'. By convention manpages have no `.man` extension
-(man page section number only). Chunked HTML directory names have a
-`.chunked` extension; chunked HTML Help directory names have a
-`.htmlhelp` extension.
-
-Same named existing files are overwritten.
-
-In addition to generating HTML files the 'xhtml', 'epub', 'chunked'
-and 'htmlhelp' formats ensure <<X3,resource files>> are copied to
-their correct destination directory locations.
-
-
-[[X3]]
-RESOURCES
----------
-Resources are files (typically CSS and images) that are required by
-HTML based outputs ('xhtml', 'epub', 'chunked', 'htmlhelp' formats).
-'a2x' scans the generated HTML files and builds a list of required CSS
-and image file. Additional resource files can be specified explicitly
-using the *--resource* option.
-
-'a2x' searches for resources in the following locations in the
-following order:
-
-. The 'SOURCE_FILE' directory.
-. Directories specified by *--resource* and *--resource-manifest*
- options (recursively).
-. The 'asciidoc(1)' `images` and `stylesheets` configuration file
- directories (recursively).
-. The destination directory.
-
-When a resource is found it is copied to the correct relative
-destination directory. Missing destination sub-directories are
-created automatically.
-
-
-EXAMPLES
---------
-`a2x -f pdf doc/source-highlight-filter.txt`::
- Generates `doc/source-highlight-filter.pdf` file.
-
-`a2x -f xhtml -D ../doc --icons -r ../images team.txt`::
- Creates HTML file `../doc/team.html`, uses admonition icons
- and searches `../images` for any missing resources.
-
-`a2x -f manpage doc/asciidoc.1.txt`::
- Generate `doc/asciidoc.1` manpage.
-
-
-[[X1]]
-REQUISITES
-----------
-'a2x' uses the following programs:
-
-- *Asciidoc*:
- http://www.methods.co.nz/asciidoc/
-- *xsltproc*: (all formats except text):
- http://xmlsoft.org/XSLT/
-- *DocBook XSL Stylesheets* (all formats except text):
- http://docbook.sourceforge.net/projects/xsl/
-- *dblatex* (pdf, dvi, ps, tex formats):
- http://dblatex.sourceforge.net/
-- *FOP* (pdf format -- alternative PDF file generator):
- http://xmlgraphics.apache.org/fop/
-- *w3m* (text format):
- http://w3m.sourceforge.net/index.en.html
-- *Lynx* (text format -- alternative text file generator):
- http://lynx.isc.org/
-- *epubcheck* (epub format -- EPUB file validator):
- http://code.google.com/p/epubcheck/
-
-See also the latest README file.
-
-
-[[X2]]
-CONF FILES
-----------
-A configuration file contains executable Python code that overrides
-the global configuration parameters in `a2x.py`. Optional configuration
-files are loaded in the following order:
-
-. `a2x.conf` from the directory containing the 'a2x.py' executable.
-. `a2x.conf` from the AsciiDoc global configuration directory. Skip
- this step if we are executing a locally installed (non system wide)
- copy.
-. `a2x.conf` from the AsciiDoc `$HOME/.asciidoc` configuration
- directory.
-. The 'CONF_FILE' specified in the '--conf-file' option.
-
-Here are the default configuration file option values:
-
----------------------------------------------------------------------
-# Optional environment variable dictionary passed to
-# executing programs. If set to None the existing
-# environment is used.
-ENV = None
-
-# External executables.
-ASCIIDOC = 'asciidoc'
-XSLTPROC = 'xsltproc'
-DBLATEX = 'dblatex' # pdf generation.
-FOP = 'fop' # pdf generation (--fop option).
-W3M = 'w3m' # text generation.
-LYNX = 'lynx' # text generation (if no w3m).
-XMLLINT = 'xmllint' # Set to '' to disable.
-EPUBCHECK = 'epubcheck' # Set to '' to disable.
-# External executable default options.
-ASCIIDOC_OPTS = ''
-DBLATEX_OPTS = ''
-FOP_OPTS = ''
-XSLTPROC_OPTS = ''
----------------------------------------------------------------------
-
-
-BUGS
-----
-See the AsciiDoc distribution BUGS file.
-
-
-AUTHOR
-------
-Written by Stuart Rackham, <srackham(a)gmail.com>
-
-
-RESOURCES
----------
-SourceForge: http://sourceforge.net/projects/asciidoc/
-
-Main web site: http://www.methods.co.nz/asciidoc/
-
-
-COPYING
--------
-Copyright \(C) 2002-2010 Stuart Rackham. Free use of this software is
-granted under the terms of the MIT license.
-
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/article-docinfo.xml b/code/maint/asciidoc/asciidoc-8.6.3/doc/article-docinfo.xml
deleted file mode 100644
index 25174fc..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/article-docinfo.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-<!--
- article-docinfo.xml
- Example DocBook document information file for article.txt.
--->
-
-<authorgroup>
- <author>
- <honorific>Dr</honorific>
- <firstname>Lois</firstname>
- <surname>Common-Demoninator</surname>
- <affiliation>
- <shortaffil>Director, M. Behn School of Coop. Eng.</shortaffil>
- <jobtitle>Director of Cooperative Efforts</jobtitle>
- <orgname>The Marguerite Behn International School of
- Cooperative Engineering</orgname>
- </affiliation>
- </author>
-
- <author>
- <honorific>Mr</honorific>
- <firstname>Steven</firstname>
- <surname>Norman</surname>
- <othername role='mi'>T</othername>
- <affiliation>
- <shortaffil>ATI</shortaffil>
- <jobtitle>Senior Application Analyst</jobtitle>
- <orgname>Foobar, Inc.</orgname>
- <orgdiv>Application Development</orgdiv>
- </affiliation>
- </author>
-
- <editor>
- <firstname>Peter</firstname>
- <surname>Pan</surname>
- <lineage>Sr.</lineage>
- <othername>Spiderman</othername>
- <authorblurb>
- <para>
- Peter's a super hero in his spare time.
- </para>
- </authorblurb>
- </editor>
-</authorgroup>
-
-<copyright>
- <year>2009</year>
- <holder>Behn International</holder>
-</copyright>
-
-<legalnotice>
- <simpara>
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
- </simpara>
- <simpara>
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- </simpara>
- <simpara>
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- </simpara>
-</legalnotice>
-
-<revhistory>
- <revision>
- <revnumber>1.1</revnumber>
- <date>May 2009</date>
- <authorinitials>PP</authorinitials>
- <revremark>
- Updates.
- </revremark>
- </revision>
- <revision>
- <revnumber>1.0</revnumber>
- <date>October 2003</date>
- <authorinitials>PP</authorinitials>
- <revremark>
- First release.
- </revremark>
- </revision>
-</revhistory>
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/article.pdf b/code/maint/asciidoc/asciidoc-8.6.3/doc/article.pdf
deleted file mode 100644
index 9707def..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/doc/article.pdf and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/article.txt b/code/maint/asciidoc/asciidoc-8.6.3/doc/article.txt
deleted file mode 100644
index 04c98b1..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/article.txt
+++ /dev/null
@@ -1,139 +0,0 @@
-The Article Title
-=================
-Author's Name <authors(a)email.address>
-v1.0, 2003-12
-
-
-This is the optional preamble (an untitled section body). Useful for
-writing simple sectionless documents consisting only of a preamble.
-
-NOTE: The abstract, preface, appendix, bibliography, glossary and
-index section titles are significant ('specialsections').
-
-
-:numbered!:
-[abstract]
-Example Abstract
-----------------
-The optional abstract (one or more paragraphs) goes here.
-
-This document is an AsciiDoc article skeleton containing briefly
-annotated element placeholders plus a couple of example index entries
-and footnotes.
-
-:numbered:
-
-The First Section
------------------
-Article sections start at level 1 and can be nested up to four levels
-deep.
-footnote:[An example footnote.]
-indexterm:[Example index entry]
-
-And now for something completely different: ((monkeys)), lions and
-tigers (Bengal and Siberian) using the alternative syntax index
-entries.
-(((Big cats,Lions)))
-(((Big cats,Tigers,Bengal Tiger)))
-(((Big cats,Tigers,Siberian Tiger)))
-Note that multi-entry terms generate separate index entries.
-
-Here are a couple of image examples: an image:images/smallnew.png[]
-example inline image followed by an example block image:
-
-.Tiger block image
-image::images/tiger.png[Tiger image]
-
-Followed by an example table:
-
-.An example table
-[width="60%",options="header"]
-|==============================================
-| Option | Description
-| -a 'USER GROUP' | Add 'USER' to 'GROUP'.
-| -R 'GROUP' | Disables access to 'GROUP'.
-|==============================================
-
-.An example example
-===============================================
-Lorum ipum...
-===============================================
-
-[[X1]]
-Sub-section with Anchor
-~~~~~~~~~~~~~~~~~~~~~~~
-Sub-section at level 2.
-
-A Nested Sub-section
-^^^^^^^^^^^^^^^^^^^^
-Sub-section at level 3.
-
-Yet another nested Sub-section
-++++++++++++++++++++++++++++++
-Sub-section at level 4.
-
-This is the maximum sub-section depth supported by the distributed
-AsciiDoc configuration.
-footnote:[A second example footnote.]
-
-
-The Second Section
-------------------
-Article sections are at level 1 and can contain sub-sections nested up
-to four deep.
-
-An example link to anchor at start of the <<X1,first sub-section>>.
-indexterm:[Second example index entry]
-
-An example link to a bibliography entry <<taoup>>.
-
-
-:numbered!:
-
-[appendix]
-Example Appendix
-----------------
-AsciiDoc article appendices are just just article sections with
-'specialsection' titles.
-
-Appendix Sub-section
-~~~~~~~~~~~~~~~~~~~~
-Appendix sub-section at level 2.
-
-
-[bibliography]
-Example Bibliography
---------------------
-The bibliography list is a style of AsciiDoc bulleted list.
-
-[bibliography]
-- [[[taoup]]] Eric Steven Raymond. 'The Art of Unix
- Programming'. Addison-Wesley. ISBN 0-13-142901-9.
-- [[[walsh-muellner]]] Norman Walsh & Leonard Muellner.
- 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999.
- ISBN 1-56592-580-7.
-
-
-[glossary]
-Example Glossary
-----------------
-Glossaries are optional. Glossaries entries are an example of a style
-of AsciiDoc labeled lists.
-
-[glossary]
-A glossary term::
- The corresponding (indented) definition.
-
-A second glossary term::
- The corresponding (indented) definition.
-
-
-ifdef::backend-docbook[]
-[index]
-Example Index
--------------
-////////////////////////////////////////////////////////////////
-The index is normally left completely empty, it's contents being
-generated automatically by the DocBook toolchain.
-////////////////////////////////////////////////////////////////
-endif::backend-docbook[]
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/asciidoc.1 b/code/maint/asciidoc/asciidoc-8.6.3/doc/asciidoc.1
deleted file mode 100644
index 9792d06..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/asciidoc.1
+++ /dev/null
@@ -1,194 +0,0 @@
-'\" t
-.\" Title: asciidoc
-.\" Author: [see the "AUTHOR" section]
-.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
-.\" Date: 14 November 2010
-.\" Manual: \ \&
-.\" Source: \ \& 8.6.3
-.\" Language: English
-.\"
-.TH "ASCIIDOC" "1" "14 November 2010" "\ \& 8\&.6\&.3" "\ \&"
-.\" -----------------------------------------------------------------
-.\" * Define some portability stuff
-.\" -----------------------------------------------------------------
-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.\" http://bugs.debian.org/507673
-.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.ie \n(.g .ds Aq \(aq
-.el .ds Aq '
-.\" -----------------------------------------------------------------
-.\" * set default formatting
-.\" -----------------------------------------------------------------
-.\" disable hyphenation
-.nh
-.\" disable justification (adjust text to left margin only)
-.ad l
-.\" -----------------------------------------------------------------
-.\" * MAIN CONTENT STARTS HERE *
-.\" -----------------------------------------------------------------
-.SH "NAME"
-asciidoc \- converts an AsciiDoc text file to HTML or DocBook
-.SH "SYNOPSIS"
-.sp
-\fBasciidoc\fR [\fIOPTIONS\fR] \fIFILE\fR
-.SH "DESCRIPTION"
-.sp
-The asciidoc(1) command translates the AsciiDoc text file \fIFILE\fR to a DocBook, HTML or LinuxDoc file\&. If \fIFILE\fR is \fI\-\fR then the standard input is used\&.
-.SH "OPTIONS"
-.PP
-\fB\-a, \-\-attribute\fR=\fIATTRIBUTE\fR
-.RS 4
-Define or delete document attribute\&.
-\fIATTRIBUTE\fR
-is formatted like
-\fINAME=VALUE\fR\&. Command\-line attributes take precedence over document and configuration file attributes\&. Alternate acceptable forms are
-\fINAME\fR
-(the
-\fIVALUE\fR
-defaults to an empty string);
-\fINAME!\fR
-(delete the
-\fINAME\fR
-attribute);
-\fINAME@\fR
-(do not override document or configuration file attributes)\&. Values containing spaces should be enclosed in double\-quote characters\&. This option may be specified more than once\&. A special attribute named
-\fItrace\fR
-controls the output of diagnostic information\&.
-.RE
-.PP
-\fB\-b, \-\-backend\fR=\fIBACKEND\fR
-.RS 4
-Backend output file format:
-\fIdocbook45\fR,
-\fIxhtml11\fR,
-\fIhtml4\fR,
-\fIwordpress\fR
-or
-\fIlatex\fR
-(the
-\fIlatex\fR
-backend is experimental)\&. You can also the backend alias names
-\fIhtml\fR
-(aliased to
-\fIxhtml11\fR) or
-\fIdocbook\fR
-(aliased to
-\fIdocbook45\fR)\&. Defaults to
-\fIhtml\fR\&.
-.RE
-.PP
-\fB\-f, \-\-conf\-file\fR=\fICONF_FILE\fR
-.RS 4
-Use configuration file
-\fICONF_FILE\fR\&.Configuration files processed in command\-line order (after implicit configuration files)\&. This option may be specified more than once\&.
-.RE
-.PP
-\fB\-\-doctest\fR
-.RS 4
-Run Python doctests in
-\fIasciidoc\fR
-module\&.
-.RE
-.PP
-\fB\-d, \-\-doctype\fR=\fIDOCTYPE\fR
-.RS 4
-Document type:
-\fIarticle\fR,
-\fImanpage\fR
-or
-\fIbook\fR\&. The
-\fIbook\fR
-document type is only supported by the
-\fIdocbook\fR
-backend\&. Default document type is
-\fIarticle\fR\&.
-.RE
-.PP
-\fB\-c, \-\-dump\-conf\fR
-.RS 4
-Dump configuration to stdout\&.
-.RE
-.PP
-\fB\-h, \-\-help\fR[=\fITOPIC\fR]
-.RS 4
-Print help TOPIC\&.
-\fB\-\-help\fR=\fItopics\fR
-will print a list of help topics,
-\fB\-\-help\fR=\fIsyntax\fR
-summarizes AsciiDoc syntax,
-\fB\-\-help\fR=\fImanpage\fR
-prints the AsciiDoc manpage\&.
-.RE
-.PP
-\fB\-e, \-\-no\-conf\fR
-.RS 4
-Exclude implicitly loaded configuration files except for those named like the input file (\fIinfile\&.conf\fR
-and
-\fIinfile\-backend\&.conf\fR)\&.
-.RE
-.PP
-\fB\-s, \-\-no\-header\-footer\fR
-.RS 4
-Suppress document header and footer output\&.
-.RE
-.PP
-\fB\-o, \-\-out\-file\fR=\fIOUT_FILE\fR
-.RS 4
-Write output to file
-\fIOUT_FILE\fR\&. Defaults to the base name of input file with
-\fIbackend\fR
-extension\&. If the input is stdin then the outfile defaults to stdout\&. If
-\fIOUT_FILE\fR
-is
-\fI\-\fR
-then the standard output is used\&.
-.RE
-.PP
-\fB\-n, \-\-section\-numbers\fR
-.RS 4
-Auto\-number HTML article section titles\&. Synonym for
-\fB\-a numbered\fR\&.
-.RE
-.PP
-\fB\-\-safe\fR
-.RS 4
-Enable safe mode\&. Safe mode is disabled by default\&. AsciiDoc
-\fIsafe mode\fR
-skips potentially dangerous scripted sections in AsciiDoc source files\&.
-.RE
-.PP
-\fB\-v, \-\-verbose\fR
-.RS 4
-Verbosely print processing information and configuration file checks to stderr\&.
-.RE
-.PP
-\fB\-\-version\fR
-.RS 4
-Print program version number\&.
-.RE
-.SH "EXIT STATUS"
-.PP
-\fB0\fR
-.RS 4
-Success
-.RE
-.PP
-\fB1\fR
-.RS 4
-Failure (syntax or usage error; configuration error; document processing failure; unexpected error)\&.
-.RE
-.SH "BUGS"
-.sp
-See the AsciiDoc distribution BUGS file\&.
-.SH "AUTHOR"
-.sp
-Written by Stuart Rackham, <srackham(a)gmail\&.com>
-.SH "RESOURCES"
-.sp
-SourceForge: http://sourceforge\&.net/projects/asciidoc/
-.sp
-Main web site: http://www\&.methods\&.co\&.nz/asciidoc/
-.SH "COPYING"
-.sp
-Copyright (C) 2002\-2010 Stuart Rackham\&. Free use of this software is granted under the terms of the GNU General Public License (GPL)\&.
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/asciidoc.1.txt b/code/maint/asciidoc/asciidoc-8.6.3/doc/asciidoc.1.txt
deleted file mode 100644
index 8304e08..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/asciidoc.1.txt
+++ /dev/null
@@ -1,126 +0,0 @@
-ASCIIDOC(1)
-===========
-:doctype: manpage
-
-
-NAME
-----
-asciidoc - converts an AsciiDoc text file to HTML or DocBook
-
-
-SYNOPSIS
---------
-*asciidoc* ['OPTIONS'] 'FILE'
-
-
-DESCRIPTION
------------
-The asciidoc(1) command translates the AsciiDoc text file 'FILE' to a
-DocBook, HTML or LinuxDoc file. If 'FILE' is '-' then the standard
-input is used.
-
-
-OPTIONS
--------
-*-a, --attribute*='ATTRIBUTE'::
- Define or delete document attribute. 'ATTRIBUTE' is formatted like
- 'NAME=VALUE'. Command-line attributes take precedence over
- document and configuration file attributes. Alternate acceptable
- forms are 'NAME' (the 'VALUE' defaults to an empty string);
- 'NAME!' (delete the 'NAME' attribute); 'NAME@' (do not override
- document or configuration file attributes). Values containing
- spaces should be enclosed in double-quote characters. This option
- may be specified more than once. A special attribute named
- 'trace' controls the output of diagnostic information.
-
-*-b, --backend*='BACKEND'::
- Backend output file format: 'docbook45', 'xhtml11', 'html4',
- 'wordpress' or 'latex' (the 'latex' backend is experimental).
- You can also the backend alias names 'html' (aliased to 'xhtml11')
- or 'docbook' (aliased to 'docbook45').
- Defaults to 'html'.
-
-*-f, --conf-file*='CONF_FILE'::
- Use configuration file 'CONF_FILE'.Configuration files processed
- in command-line order (after implicit configuration files). This
- option may be specified more than once.
-
-*--doctest*::
- Run Python doctests in 'asciidoc' module.
-
-*-d, --doctype*='DOCTYPE'::
- Document type: 'article', 'manpage' or 'book'. The 'book' document
- type is only supported by the 'docbook' backend. Default document
- type is 'article'.
-
-*-c, --dump-conf*::
- Dump configuration to stdout.
-
-*-h, --help*[='TOPIC']::
- Print help TOPIC. *--help*='topics' will print a list of help
- topics, *--help*='syntax' summarizes AsciiDoc syntax,
- *--help*='manpage' prints the AsciiDoc manpage.
-
-*-e, --no-conf*::
- Exclude implicitly loaded configuration files except for those
- named like the input file ('infile.conf' and
- 'infile-backend.conf').
-
-*-s, --no-header-footer*::
- Suppress document header and footer output.
-
-*-o, --out-file*='OUT_FILE'::
- Write output to file 'OUT_FILE'. Defaults to the base name of
- input file with 'backend' extension. If the input is stdin then
- the outfile defaults to stdout. If 'OUT_FILE' is '-' then the
- standard output is used.
-
-*-n, --section-numbers*::
- Auto-number HTML article section titles. Synonym for *-a
- numbered*.
-
-*--safe*::
- Enable safe mode. Safe mode is disabled by default. AsciiDoc
- 'safe mode' skips potentially dangerous scripted sections in
- AsciiDoc source files.
-
-*-v, --verbose*::
- Verbosely print processing information and configuration file
- checks to stderr.
-
-*--version*::
- Print program version number.
-
-
-EXIT STATUS
------------
-*0*::
- Success
-
-*1*::
- Failure (syntax or usage error; configuration error; document
- processing failure; unexpected error).
-
-
-BUGS
-----
-See the AsciiDoc distribution BUGS file.
-
-
-AUTHOR
-------
-Written by Stuart Rackham, <srackham(a)gmail.com>
-
-
-RESOURCES
----------
-SourceForge: <http://sourceforge.net/projects/asciidoc/>
-
-Main web site: <http://www.methods.co.nz/asciidoc/>
-
-
-COPYING
--------
-Copyright \(C) 2002-2010 Stuart Rackham. Free use of this software is
-granted under the terms of the GNU General Public License (GPL).
-
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/asciidoc.conf b/code/maint/asciidoc/asciidoc-8.6.3/doc/asciidoc.conf
deleted file mode 100644
index 5803d86..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/asciidoc.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-#
-# Customization for AsciiDoc documentation.
-#
-[specialwords]
-ifndef::doctype-manpage[]
-monospacedwords=(?u)\\?\basciidoc\(1\) (?u)\\?\ba2x\(1\)
-endif::doctype-manpage[]
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/asciidoc.dict b/code/maint/asciidoc/asciidoc-8.6.3/doc/asciidoc.dict
deleted file mode 100644
index a2b5931..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/asciidoc.dict
+++ /dev/null
@@ -1,1012 +0,0 @@
-personal_ws-1.1 en 1011
-mandoc
-colspecs
-API
-testcases
-BSBEV
-dapibus
-dblatex
-attributelist
-AttributeList
-Blondel
-permalink
-Chunking
-unescapes
-frontmatter
-libxslt
-asc
-XSLT
-stdin
-convallis
-AttributeEntrys
-Steen
-BOTTM
-CACTU
-IndentedBlock
-passtext
-ZapfDingbats
-CALS
-LiteralParagraph
-del
-BOM
-Bon
-ungenerated
-zipP
-cmd
-des
-ListItems
-dev
-vulputate
-Odio
-doctest
-comspecs
-amet
-ExampleBlock
-faf
-luptatum
-dir
-Lorum
-superceded
-inlinegraphic
-specialcharacters
-cpp
-RevisionLine
-TitleName
-Fusce
-ralink
-scaledwidth
-FooParser
-VMiklos
-DelimitedBlocks
-css
-preconfigured
-Magnocavallo
-csv
-Mandelson
-GCC
-CSW
-Potapov
-nisl
-nullam
-Moolenaar
-Habitasse
-dtb
-doctime
-CVS
-DTD
-Gbs
-graphviz
-toclevel
-plaintext
-hyperlinks
-dui
-dsv
-ENV
-dvi
-stderr
-SimpleSection
-gif
-eBook
-prepend
-RevisionNumber
-CommentBlocks
-consequat
-fmt
-Amade
-inline
-monospacedwords
-informaltable
-realpath
-validator
-colwidth
-hhc
-Chai
-strongwords
-setlocal
-ListingBlock
-listingblock
-Posuere
-exe
-AuthorInfo
-hhk
-vsides
-rewriteSystem
-taoup
-hhp
-listelement
-AttributeLists
-magna
-xreflabel
-PDF's
-PDFs
-pygmentize
-pede
-MSIE
-permalinks
-Boscombe
-Daly
-arcu
-GPL
-codec
-MSHR
-listcontinuation
-ListContinuation
-apos
-ShareSource
-projectname
-hoc
-Maier
-ispum
-TableFooter
-blog
-passthroughs
-gui
-ile
-sgmlfmt
-formulae
-dbkview
-AsciiDoc's
-BackendBlock
-tbody
-DSSSL
-jim
-valign
-Makefile
-munere
-Raggett's
-citetitle
-guimenuitem
-IRC
-starttags
-tgroup
-Miklos
-porttitor
-Maecenas
-systemIdStartString
-footnoteref
-joe
-velit
-p�re
-pere
-purus
-iso
-ItemLabel
-jpg
-adipiscing
-filetype
-listnumber
-SourceForge
-groff
-mansource
-JRE
-verear
-mea
-jqs
-PassthroughBlocks
-blockdef
-javascript
-JavaScript
-nam
-OEBPS
-symlinks
-optionname
-sollicitudin
-companyname
-pageunits
-nec
-loc
-latexmath
-articleinfo
-auctor
-refname
-mim
-Farhat
-uninstall
-localdate
-ncx
-ListEntry
-textwidth
-ItemTerm
-backquotes
-subscripted
-lpr
-Delikatessen
-mydocument
-odf
-brvbar
-tabletags
-morerows
-ListItem
-coids
-shiftwidth
-nulla
-endDocument
-odt
-Cygwin
-ultrices
-IndentedParagraph
-indentedparagraph
-ltr
-doctests
-asciidocapi
-AsciiDocAPI
-itemtag
-Dvips
-Jython
-Solaris
-pdf
-tincidunt
-authorgroup
-manpages
-ItemText
-dignissim
-cdata
-autoconf
-ANDed
-autocmd
-readlines
-pageunit
-coid
-noborders
-facto
-ListParagraphs
-nunc
-opf
-orci
-CustomBlocks
-refentryinfo
-informalfigure
-ORed
-pygments
-yyyy
-online
-LIBDIR
-docinfo
-BlockId
-png
-lobortis
-Broberg
-Bowlin
-navPoint
-ASCIIMathML
-AsciiMathML
-asciimathml
-conf
-RCS
-UnicodeDecodeError
-CalloutList
-SidebarBlocks
-idprefix
-TableRow
-stdout
-monospaced
-walsh
-pre
-facilisis
-tzname
-ListParagraph
-partintro
-Windtrainer
-hgignore
-eget
-sed
-userguide
-cras
-zwsp
-keeptogether
-bweb
-PRS
-Sturmer
-sem
-BufNewFile
-SEO
-mdash
-filename
-psv
-inlinemacro
-bgcolor
-pts
-Buenos
-myslidy
-feugiat
-colend
-sprintf
-pyc
-Zullinger
-AuthorLine
-specialsections
-subsverbatim
-adolescens
-qui
-htmltoc
-SJR
-biggy
-pgwide
-RevisionDate
-crlf
-tex
-Bolido
-B�lido
-tabsize
-colpcwidth
-Orry
-Nascetur
-onload
-RTF
-quickstart
-fillchar
-bloggs
-tis
-listdef
-Tsawassen
-Aenean
-postsubs
-src
-lastname
-LastName
-OpenBlocks
-toc
-tmp
-Knisley
-massa
-vel
-colstart
-volutpat
-stringparam
-showcomments
-SVN
-Tps
-vih
-prepended
-resx
-startup
-admonitionblock
-coord
-Blackdown
-mainmatter
-Slackware
-tableabswidth
-BackendBlocks
-VMiklos's
-sys
-doctype
-retrive
-Pavlovitch
-uri
-wnone
-xhtml
-url
-utf
-footrow
-usr
-conubia
-Hausmann
-TitleBlock
-txt
-elit
-Efros's
-sectiontitle
-CommentLines
-subprocess
-outfile
-blandit
-revisionhistory
-EPUBReader
-params
-undefines
-Andr�s
-yellowback
-Quisque
-htmlhelp
-HTMLHelp
-cellspacing
-Citeaux
-srackham
-Lulea
-Lule�
-Ubuntu
-xml
-XSLTLib
-headrow
-enim
-staticfree
-Morbi
-Blauer
-footdata
-cb
-bg
-al
-cd
-xsl
-backmatter
-ar
-fils
-linenumbering
-de
-backends
-eb
-br
-Gutenburg
-cp
-fb
-fermentum
-fi
-cellcount
-fo
-et
-eu
-hg
-guimenu
-fugiat
-toclevels
-xzf
-JB
-gq
-refactored
-sgml
-backcolor
-AsciiDoc
-asciidoc
-subslist
-hs
-hu
-testblock
-Vijay
-xyz
-simpara
-lf
-defacto
-mb
-IndentedBlocks
-js
-md
-erat
-blogpost
-xsltproc
-jw
-nd
-ln
-ne
-oa
-Terje
-lt
-Helvetica
-endtags
-thead
-ly
-mv
-stylesheets
-roff
-YYY
-regex
-config
-slidy
-tabstop
-indentsize
-sb
-ps
-runtime
-tcqn
-epub
-td
-px
-vivamus
-py
-addon
-th
-ru
-docname
-ifeval
-su
-expandtab
-autolabel
-LinuxDoc
-linuxdoc
-tt
-VM
-Fr�d�rique
-SidebarBlock
-ut
-wj
-Efros
-param
-Movet
-hcol
-manpurpose
-ebooks
-eBooks
-colalign
-debian
-quis
-Iaculis
-eval's
-stylename
-tooltip
-fpdf
-Tiago
-BLAUS
-endtag
-glossdiv
-Lebihan
-ListTerms
-colsep
-indir
-Hajage
-sherlock
-texttag
-ctags
-RPMs
-arabic
-dolorum
-posttype
-eval
-termtag
-passthrough
-BlockTitle
-blocktitle
-blocktitles
-BlockTitles
-tfoot
-Iisaka's
-misevaluations
-frac
-pagewidth
-AUTOEXEC
-rowcount
-ExampleBlocks
-linux
-commodo
-Fernandes
-pretium
-notitle
-manvolnum
-homero
-validators
-listindex
-testasciidoc
-imagedata
-HotSpot
-vimrc
-O'Reilly
-literallayout
-doctitle
-holmes
-Dmitry
-backtick
-Bouchers
-strikethrough
-indexterm
-Daitx
-vestibulum
-quote's
-noteblock
-refentry
-Xubuntu
-captionless
-orgname
-OpenOffice
-asciidocEmphasized
-Dostoyevsky
-chapt
-necessitatibus
-unformatted
-revremark
-Thiago
-listtag
-HTMLParser
-docdir
-Gogh
-Jipsen
-JimiProClasses
-sgmlformat
-CommentBlock
-xmllint
-tuples
-headdata
-infty
-presubs
-Tascii
-MathML
-nobis
-LOCALCLASSPATH
-Cheatsheet
-mktemp
-Xandros
-Yakshin's
-revhistory
-colnumber
-MEPIS
-bibendum
-Melis's
-expr
-tempfile
-ponderum
-outfilesuffix
-libxml
-tablepcwidth
-chunked
-filesystem
-Mart�n
-popen
-iconsdir
-toolchains
-listchars
-fileext
-emphasizedwords
-smallnew
-linkcss
-colspan
-localtime
-Ruderich
-noincsearch
-Stas
-colspec
-uriStartString
-infile
-suspendisse
-TOCs
-todo
-mimetype
-ridiculus
-volnitsky
-setlevel
-Rosenkraenzer
-bodydata
-java
-Sakellariou
-postulant
-Vasilev
-barchart
-Calixto
-sudo
-coverpage
-starttag
-whitespace
-DelimitedBlock
-foofoo
-retab
-changelog
-ChangeLog
-symlink
-ascii
-ListLabel
-Kleber
-Kl�ber
-popup
-Cerrito
-DocBook's
-fprintf
-mediaobject
-outdir
-getvalue
-callouts
-mollis
-autowidth
-karamazov
-labitur
-xmlto
-Fyodor
-HMTL
-CentOS
-Skype
-POSIX
-builtins
-bulleted
-Google
-globals
-Garnett
-porta
-OpenBlock
-colabswidth
-bibliodiv
-Bushuev
-Inguaggiato
-SectionClose
-paradef
-QuoteBlocks
-undefine
-docdate
-Zolochevskiy
-lacus
-felis
-backend
-ListBlock
-LiteralBlock
-literalblock
-href
-metus
-Mozilla
-unstyled
-pagebreak
-VariableList
-LiteralBlocks
-Donec
-dbook
-BLONP
-asciimath
-interesset
-pellentesque
-formatlistpat
-IMGs
-attributeentry
-AttributeEntry
-autoindent
-sectids
-manname
-PostScript
-epubcheck
-README
-colstop
-LiteralParagraphs
-tableblock
-slideshows
-primis
-tuple
-Rackham
-admonitionparagraph
-mantitle
-init
-VerbatimBlocks
-imperdiet
-refsynopsisdiv
-emacs
-consetetur
-JIMI
-newtables
-docbook
-DocBook
-callout
-fileextension
-programlisting
-outlang
-QuoteBlock
-chmod
-posattrs
-subdirectories
-RevisionRemark
-TableHeader
-slideshow
-Mihai
-KeyboardInterrupt
-justo
-hexdump
-sectionbody
-SectionBody
-nnoremap
-VerbatimBlock
-verbatimblock
-BulletedList
-html
-unchunked
-Gouichi
-Alexey
-StringIO
-wordpress
-nonet
-tagname
-gzip
-corpname
-precompiled
-rewriteURI
-colcount
-fringilla
-Gentoo
-mattis
-printf
-hsides
-imagesdir
-callto
-URIs
-lang
-basebackend
-urna
-rowsep
-checksums
-blockmacro
-BlockMacro
-mailto
-Sagittis
-http
-pychart
-fepub
-Wiki
-euismod
-arounds
-WINA
-superscripted
-PassthroughBlock
-footrows
-configfile
-misspelt
-namespace
-reftext
-formatoptions
-halign
-AROUT
-Wiese
-bodyrow
-navMap
-listtags
-mauris
-ListingBlocks
-TableUnderline
-bookinfo
-Vajna
-upperalpha
-xmldecl
-tellus
-EmailAddress
-qanda
-hyperlink
-screenshot
-noout
-Wieers
-Artem
-startDocument
-ifdef
-manmanual
-Konqueror
-firstname
-FirstName
-latexmathml
-LaTeXMathML
-sectnum
-BlockMacros
-cceeff
-unfloat
-snabbkop
-snabbk�p
-NumberedList
-everti
-multi
-cubilia
-manpage
-conformant
-AttributeEntries
-tablewidth
-LabeledList
-monospace
-AsciiDocError
-olink
-softtabstop
-Ghostscript
-https
-dbtimestamp
-ebuild
-rewritePrefix
-BOLID
-PUBReader
-inlinemediaobject
-nochunks
-newlists
-mediaobjects
-endif
-natively
-mkdir
-sodales
-BONAP
-ItemContinuation
-tyger
-upperroman
-RevisionInfo
-Berglunds
-egestas
-nabc
-symlinked
-Sommer
-Klum
-Obenhuber's
-revdate
-stylesheet
-eleifend
-ListTerm
-augue
-loweralpha
-subdirectory
-consectetuer
-bookmarked
-G�mez
-Kubuntu
-LaTeX
-litora
-FreeBSD
-Araquil
-setuptools
-bfoobar
-lacinia
-entrytag
-muellner
-ifndef
-latin
-Woodall
-revnumber
-labeltag
-toolchain
-cellpadding
-entrytbl
-Ornare
-authorinitials
-JavaScripts
-javascripts
-undefining
-leveloffset
-CustomBlock
-BufRead
-specialwords
-libexslt
-subsnormal
-fxhtml
-Builtin
-hardcoded
-Mery
-utils
-subclassify
-stylesdir
-unsets
-ipsum
-namespaced
-FilterBlocks
-Julien
-tempor
-WINNT
-TableData
-pagefile
-docfile
-libboost
-Praesent
-else's
-preparadas
-scriptsdir
-syntaxes
-R�sten
-rowspan
-headrows
-charset
-burtoogle
-Ashworth
-nbsp
-lowerroman
-Freshmeat
-dbhtml
-manversion
-TableBody
-abc
-aliquam
-llevar
-aap
-unspaced
-attrlist
-Bazon
-attrname
-Forsterstr
-Rhoncus
-Rutrum
-Redhat
-datadir
-Kumar
-IndentedParagraphs
-Berguvsv�gen
-Berguvsvagen
-executables
-tabledef
-ftdetect
-Greaves
-SimpleList
-superscripting
-baz
-lorem
-Comidas
-bodyrows
-Fyodorovitch
-topbot
-greek
-comspec
-refmiscinfo
-firefox
-lectus
-JavaHelp
-unescaped
-mydoc
-MiddleName
-middlename
-Jimmac's
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/asciidoc.txt b/code/maint/asciidoc/asciidoc-8.6.3/doc/asciidoc.txt
deleted file mode 100644
index fc9e9a5..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/asciidoc.txt
+++ /dev/null
@@ -1,5604 +0,0 @@
-AsciiDoc User Guide
-===================
-Stuart Rackham <srackham(a)gmail.com>
-:Author Initials: SJR
-:toc:
-:icons:
-:numbered:
-:website: http://www.methods.co.nz/asciidoc/
-
-AsciiDoc is a text document format for writing notes, documentation,
-articles, books, ebooks, slideshows, web pages, blogs and UNIX man
-pages. AsciiDoc files can be translated to many formats including
-HTML, PDF, EPUB, man page. AsciiDoc is highly configurable: both the
-AsciiDoc source file syntax and the backend output markups (which can
-be almost any type of SGML/XML markup) can be customized and extended
-by the user.
-
-.This document
-**********************************************************************
-This is an overly large document, it probably needs to be refactored
-into a Tutorial, Quick Reference and Formal Reference.
-
-If you're new to AsciiDoc read this section and the <<X6,Getting
-Started>> section and take a look at the example AsciiDoc (`*.txt`)
-source files in the distribution `doc` directory.
-**********************************************************************
-
-
-Introduction
-------------
-AsciiDoc is a plain text human readable/writable document format that
-can be translated to DocBook or HTML using the asciidoc(1) command.
-You can then either use asciidoc(1) generated HTML directly or run
-asciidoc(1) DocBook output through your favorite DocBook toolchain or
-use the AsciiDoc a2x(1) toolchain wrapper to produce PDF, EPUB, DVI,
-LaTeX, PostScript, man page, HTML and text formats.
-
-The AsciiDoc format is a useful presentation format in its own right:
-AsciiDoc markup is simple, intuitive and as such is easily proofed and
-edited.
-
-AsciiDoc is light weight: it consists of a single Python script and a
-bunch of configuration files. Apart from asciidoc(1) and a Python
-interpreter, no other programs are required to convert AsciiDoc text
-files to DocBook or HTML. See <<X11,Example AsciiDoc Documents>>
-below.
-
-Text markup conventions tend to be a matter of (often strong) personal
-preference: if the default syntax is not to your liking you can define
-your own by editing the text based asciidoc(1) configuration files.
-You can also create configuration files to translate AsciiDoc
-documents to almost any SGML/XML markup.
-
-asciidoc(1) comes with a set of configuration files to translate
-AsciiDoc articles, books and man pages to HTML or DocBook backend
-formats.
-
-.My AsciiDoc Itch
-**********************************************************************
-DocBook has emerged as the de facto standard Open Source documentation
-format. But DocBook is a complex language, the markup is difficult to
-read and even more difficult to write directly -- I found I was
-spending more time typing markup tags, consulting reference manuals
-and fixing syntax errors, than I was writing the documentation.
-**********************************************************************
-
-
-[[X6]]
-Getting Started
----------------
-Installing AsciiDoc
-~~~~~~~~~~~~~~~~~~~
-See the `README` and `INSTALL` files for install prerequisites and
-procedures. Packagers take a look at <<X38,Packager Notes>>.
-
-[[X11]]
-Example AsciiDoc Documents
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-The best way to quickly get a feel for AsciiDoc is to view the
-AsciiDoc web site and/or distributed examples:
-
-- Take a look at the linked examples on the AsciiDoc web site home
- page {website}. Press the 'Page Source' sidebar menu item to view
- corresponding AsciiDoc source.
-- Read the `*.txt` source files in the distribution `./doc` directory
- along with the corresponding HTML and DocBook XML files.
-
-
-AsciiDoc Document Types
------------------------
-There are three types of AsciiDoc documents: article, book and
-manpage. All document types share the same AsciiDoc format with some
-minor variations. If you are familiar with DocBook you will have
-noticed that AsciiDoc document types correspond to the same-named
-DocBook document types).
-
-Use the asciidoc(1) `-d` (`--doctype`) option to specify the AsciiDoc
-document type -- the default document type is 'article'.
-
-By convention the `.txt` file extension is used for AsciiDoc document
-source files.
-
-article
-~~~~~~~
-Used for short documents, articles and general documentation. See the
-AsciiDoc distribution `./doc/article.txt` example.
-
-AsciiDoc defines standard DocBook article frontmatter and backmatter
-<<X93,section markup templates>> (appendix, abstract, bibliography,
-glossary, index).
-
-book
-~~~~
-Books share the same format as articles, with the following
-differences:
-
-- The part titles in multi-part books are <<X17,top level titles>>
- (same level as book title).
-- Some sections are book specific e.g. preface and colophon.
-
-Book documents will normally be used to produce DocBook output since
-DocBook processors can automatically generate footnotes, table of
-contents, list of tables, list of figures, list of examples and
-indexes.
-
-AsciiDoc defines standard DocBook book frontmatter and backmatter
-<<X93,section markup templates>> (appendix, dedication, preface,
-bibliography, glossary, index, colophon).
-
-.Example book documents
-Book::
- The `./doc/book.txt` file in the AsciiDoc distribution.
-
-Multi-part book::
- The `./doc/book-multi.txt` file in the AsciiDoc distribution.
-
-manpage
-~~~~~~~
-Used to generate roff format UNIX manual pages. AsciiDoc manpage
-documents observe special header title and section naming conventions
--- see the <<X1,Manpage Documents>> section for details.
-
-AsciiDoc defines the 'synopsis' <<X93,section markup template>> to
-generate the DocBook `refsynopsisdiv` section.
-
-See also the asciidoc(1) man page source (`./doc/asciidoc.1.txt`) from
-the AsciiDoc distribution.
-
-
-[[X5]]
-AsciiDoc Backends
------------------
-The asciidoc(1) command translates an AsciiDoc formatted file to the
-backend format specified by the `-b` (`--backend`) command-line
-option. asciidoc(1) itself has little intrinsic knowledge of backend
-formats, all translation rules are contained in customizable cascading
-configuration files. Backend specific attributes are listed in the
-<<X88,Backend Attributes>> section.
-
-docbook45::
- Outputs DocBook XML 4.5 markup.
-
-html4::
- This backend generates plain HTML 4.01 Transitional markup.
-
-xhtml11::
- This backend generates XHTML 1.1 markup styled with CSS2. Output
- files have an `.html` extension.
-
-slidy::
- Use this backend to generate self-contained
- http://www.w3.org/Talks/Tools/Slidy2/[Slidy] HTML slideshows for
- your web browser from AsciiDoc documents. The Slidy backend is
- documented in the distribution `doc/slidy.txt` file and
- {website}slidy.html[online].
-
-wordpress::
- A minor variant of the 'html4' backend to support
- http://srackham.wordpress.com/blogpost1/[blogpost].
-
-latex::
- Experimental LaTeX backend.
-
-Backend Aliases
-~~~~~~~~~~~~~~~
-Backend aliases are alternative names for AsciiDoc backends. AsciiDoc
-comes with two backend aliases: 'html' (aliased to 'xhtml11') and
-'docbook' (aliased to 'docbook45').
-
-You can assign (or reassign) backend aliases by setting an AsciiDoc
-attribute named like `backend-alias-<alias>` to an AsciiDoc backend
-name. For example, the following backend alias attribute definitions
-appear in the `[attributes]` section of the global `asciidoc.conf`
-configuration file:
-
- backend-alias-html=xhtml11
- backend-alias-docbook=docbook45
-
-NOTE: Backend aliases must be assigned in one of the `asciidoc.conf`
-configuration files because these files are loaded first (before the
-backend configuration files).
-
-DocBook
-~~~~~~~
-AsciiDoc generates 'article', 'book' and 'refentry'
-http://www.docbook.org/[DocBook] documents (corresponding to the
-AsciiDoc 'article', 'book' and 'manpage' document types).
-
-DocBook documents are not designed to be viewed directly. Most Linux
-distributions come with conversion tools (collectively called a
-toolchain) for <<X12,converting DocBook files>> to presentation
-formats such as Postscript, HTML, PDF, EPUB, DVI, PostScript, LaTeX,
-roff (the native man page format), HTMLHelp, JavaHelp and text.
-
-[[X35]]
-XHTML Stylesheets
-~~~~~~~~~~~~~~~~~
-AsciiDoc XHTML output is styled using CSS2 stylesheets from the
-distribution `./stylesheets/` directory.
-
-[IMPORTANT]
-=====================================================================
-All browsers have CSS quirks, but Microsoft's IE6 has so many
-omissions and errors that the `xhtml11-quirks.css` stylesheet and
-`xhtml11-quirks.conf` configuration files are available for inclusion
-during XHTML backend processing to to implement workarounds for IE6.
-Set the AsciiDoc 'quirks' attribute to enable AsciiDoc's quirks mode,
-for example with the `--attribute quirks!` command-line option.
-=====================================================================
-
-Default 'xhtml11' stylesheets:
-
-`./stylesheets/xhtml11.css`::
- The main stylesheet.
-
-`./stylesheets/xhtml11-manpage.css`::
- Tweaks for manpage document type generation.
-
-`./stylesheets/xhtml11-quirks.css`::
- Stylesheet modifications to work around IE6 browser
- incompatibilities.
-
-Use the 'theme' attribute to select an alternative set of stylesheets.
-For example, the command-line option `-a theme=foo` will use
-stylesheets `foo.css`, `foo-manpage.css` (and `foo-quirks.css` if
-quirks mode is enabled) instead of the default stylesheets.
-
-Use the 'stylesheet' attribute to include an additional stylesheet in
-XHTML documents. For example, the command-line option `-a
-stylesheet=newsletter.css` will use stylesheets `newsletter.css`.
-
-
-Document Structure
-------------------
-An AsciiDoc document consists of a series of <<X8,block elements>>
-starting with an optional document Header, followed by an optional
-Preamble, followed by zero or more document Sections.
-
-Almost any combination of zero or more elements constitutes a valid
-AsciiDoc document: documents can range from a single sentence to a
-multi-part book.
-
-Block Elements
-~~~~~~~~~~~~~~
-Block elements consist of one or more lines of text and may contain
-other block elements.
-
-The AsciiDoc block structure can be informally summarized as follows
-footnote:[This is a rough structural guide, not a rigorous syntax
-definition]:
-
- Document ::= (Header?,Preamble?,Section*)
- Header ::= (Title,(AuthorInfo,RevisionInfo?)?)
- AuthorInfo ::= (FirstName,(MiddleName?,LastName)?,EmailAddress?)
- RevisionInfo ::= (RevisionNumber?,RevisionDate,RevisionRemark?)
- Preamble ::= (SectionBody)
- Section ::= (Title,SectionBody?,(Section)*)
- SectionBody ::= ((BlockTitle?,Block)|BlockMacro)+
- Block ::= (Paragraph|DelimitedBlock|List|Table)
- List ::= (BulletedList|NumberedList|LabeledList|CalloutList)
- BulletedList ::= (ListItem)+
- NumberedList ::= (ListItem)+
- CalloutList ::= (ListItem)+
- LabeledList ::= (ListEntry)+
- ListEntry ::= (ListLabel,ListItem)
- ListLabel ::= (ListTerm+)
- ListItem ::= (ItemText,(List|ListParagraph|ListContinuation)*)
-
-Where:
-
-- '?' implies zero or one occurrence, '+' implies one or more
- occurrences, '*' implies zero or more occurrences.
-- All block elements are separated by line boundaries.
-- `BlockId`, `AttributeEntry` and `AttributeList` block elements (not
- shown) can occur almost anywhere.
-- There are a number of document type and backend specific
- restrictions imposed on the block syntax.
-- The following elements cannot contain blank lines: Header, Title,
- Paragraph, ItemText.
-- A ListParagraph is a Paragraph with its 'listelement' option set.
-- A ListContinuation is a <<X15,list continuation element>>.
-
-[[X95]]
-Header
-~~~~~~
-The Header contains document meta-data, typically title plus optional
-authorship and revision information:
-
-- The Header is optional, but if it is used it must start with a
- document <<X17,title>>.
-- Optional Author and Revision information immediately follows the
- header title.
-- The document header must be separated from the remainder of the
- document by one or more blank lines and cannot contain blank lines.
-- The header can include comments.
-- The header can include <<X18,attribute entries>>, typically
- 'doctype', 'lang', 'encoding', 'icons', 'data-uri', 'toc',
- 'numbered'.
-- Header attributes are overridden by command-line attributes.
-- If the header contains non-UTF-8 characters then the 'encoding' must
- precede the header (either in the document or on the command-line).
-
-Here's an example AsciiDoc document header:
-
- Writing Documentation using AsciiDoc
- ====================================
- Joe Bloggs <jbloggs(a)mymail.com>
- v2.0, February 2003:
- Rewritten for version 2 release.
-
-The author information line contains the author's name optionally
-followed by the author's email address. The author's name is formatted
-like:
-
- firstname[ [middlename ]lastname][ <email>]]
-
-i.e. a first name followed by optional middle and last names followed
-by an email address in that order. Multi-word first, middle and last
-names can be entered using the underscore as a word separator. The
-email address comes last and must be enclosed in angle <> brackets.
-Here a some examples of author information lines:
-
- Joe Bloggs <jbloggs(a)mymail.com>
- Joe Bloggs
- Vincent Willem van_Gogh
-
-If the author line does not match the above specification then the
-entire author line is treated as the first name.
-
-The optional revision information line follows the author information
-line. The revision information can be one of two formats:
-
-. An optional document revision number followed by an optional
- revision date followed by an optional revision remark:
-
- * If the revision number is specified it must be followed by a
- comma.
- * The revision number must contain at least one numeric character.
- * Any non-numeric characters preceding the first numeric character
- will be dropped.
- * If a revision remark is specified it must be preceded by a colon.
- The revision remark extends from the colon up to the next blank
- line, attribute entry or comment and is subject to normal text
- substitutions.
- * If a revision number or remark has been set but the revision date
- has not been set then the revision date is set to the value of the
- 'docdate' attribute.
-
-. An RCS/CVS/SVN $Id$ marker (if an $Id$ revision marker is used the
- header author line can be omitted).
-
-Here a some examples of header revision lines:
-
- v2.0, February 2003
- February 2003
- v2.0,
- v2.0, February 2003: Rewritten for version 2 release.
- February 2003: Rewritten for version 2 release.
- v2.0,: Rewritten for version 2 release.
- :Rewritten for version 2 release.
-
-You can override or set header parameters by passing 'revnumber',
-'revremark', 'revdate', 'email', 'author', 'authorinitials',
-'firstname' and 'lastname' attributes using the asciidoc(1) `-a`
-(`--attribute`) command-line option. For example:
-
- $ asciidoc -a revdate=2004/07/27 article.txt
-
-The 'revnumber' attribute can be an RCS/CVS/SVN $Id$ marker.
-Attributes can also be added to the header for substitution in the
-header template with <<X18,Attribute Entry>> elements.
-
-[[X87]]
-Additional document header information
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-'docinfo' files are a mechanism for optionally including additional
-meta-data in the header of the output document.
-
-Two docinfo files are recognized: one named `docinfo` and a second
-named like the AsciiDoc source file with a `-docinfo` suffix. For
-example, if the source document is called `mydoc.txt` then the
-document information files would be `docinfo.xml` and
-`mydoc-docinfo.xml` (for DocBook outputs) and `docinfo.html` and
-`mydoc-docinfo.html` (for HTML outputs).
-
-The <<X97,docinfo, docinfo1 and docinfo2>> attributes control which
-docinfo files are included in the output files.
-
-The contents docinfo file is dependent on the type of output:
-
-HTML::
- Valid 'head' child elements. Typically 'style' and 'script' elements
- for CSS and JavaScript inclusion.
-
-DocBook::
- Valid 'articleinfo' or 'bookinfo' child elements. DocBook defines
- numerous elements for document meta-data, for example: copyrights,
- document history and authorship information. See the DocBook
- `./doc/article-docinfo.xml` example that comes with the AsciiDoc
- distribution. The rendering of meta-data elements (or not) is
- DocBook processor dependent.
-
-
-[[X86]]
-Preamble
-~~~~~~~~
-The Preamble is an optional untitled section body between the document
-Header and the first Section title.
-
-Sections
-~~~~~~~~
-In addition to the document title (level 0), AsciiDoc supports four
-section levels: 1 (top) to 4 (bottom). Section levels are delimited
-by section <<X17,titles>>. Sections are translated using
-configuration file <<X93,section markup templates>>. AsciiDoc
-generates the following <<X60,intrinsic attributes>> specifically for
-use in section markup templates:
-
-level::
-The `level` attribute is the section level number, it is normally just
-the <<X17,title>> level number (1..4). However, if the `leveloffset`
-attribute is defined it will be added to the `level` attribute. The
-`leveloffset` attribute is useful for <<X90,combining documents>>.
-
-sectnum::
-The `-n` (`--section-numbers`) command-line option generates the
-`sectnum` (section number) attribute. The `sectnum` attribute is used
-for section numbers in HTML outputs (DocBook section numbering are
-handled automatically by the DocBook toolchain commands).
-
-[[X93]]
-Section markup templates
-^^^^^^^^^^^^^^^^^^^^^^^^
-Section markup templates specify output markup and are defined in
-AsciiDoc configuration files. Section markup template names are
-derived as follows (in order of precedence):
-
-1. From the title's first positional attribute or 'template'
- attribute. For example, the following three section titles are
- functionally equivalent:
-+
-.....................................................................
-[[terms]]
-[glossary]
-List of Terms
--------------
-
-["glossary",id="terms"]
-List of Terms
--------------
-
-[template="glossary",id="terms"]
-List of Terms
--------------
-.....................................................................
-
-2. When the title text matches a configuration file
- <<X16,`[specialsections]`>> entry.
-3. If neither of the above the default `sect<level>` template is used
- (where `<level>` is a number from 1 to 4).
-
-In addition to the normal section template names ('sect1', 'sect2',
-'sect3', 'sect4') AsciiDoc has the following templates for
-frontmatter, backmatter and other special sections: 'abstract',
-'preface', 'colophon', 'dedication', 'glossary', 'bibliography',
-'synopsis', 'appendix', 'index'. These special section templates
-generate the corresponding Docbook elements; for HTML outputs they
-default to the 'sect1' section template.
-
-Section IDs
-^^^^^^^^^^^
-If no explicit section ID is specified an ID will be synthesised from
-the section title. The primary purpose of this feature is to ensure
-persistence of table of contents links (permalinks): the missing
-section IDs are generated dynamically by the JavaScript TOC generator
-*after* the page is loaded. If you link to a dynamically generated TOC
-address the page will load but the browser will ignore the (as yet
-ungenerated) section ID.
-
-The IDs are generated by the following algorithm:
-
-- Replace all non-alphanumeric title characters with underscores.
-- Strip leading or trailing underscores.
-- Convert to lowercase.
-- Prepend the `idprefix` attribute (so there's no possibility of name
- clashes with existing document IDs). Prepend an underscore if the
- `idprefix` attribute is not defined.
-- A numbered suffix (`_2`, `_3` ...) is added if a same named
- auto-generated section ID exists.
-
-For example the title 'Jim's House' would generate the ID
-`_jim_s_house`.
-
-Section ID synthesis can be disabled by undefining the `sectids`
-attribute.
-
-[[X16]]
-Special Section Titles
-^^^^^^^^^^^^^^^^^^^^^^
-AsciiDoc has a mechanism for mapping predefined section titles
-auto-magically to specific markup templates. For example a title
-'Appendix A: Code Reference' will automatically use the 'appendix'
-<<X93,section markup template>>. The mappings from title to template
-name are specified in `[specialsections]` sections in the Asciidoc
-language configuration files (`lang-*.conf`). Section entries are
-formatted like:
-
- <title>=<template>
-
-`<title>` is a Python regular expression and `<template>` is the name
-of a configuration file markup template section. If the `<title>`
-matches an AsciiDoc document section title then the backend output is
-marked up using the `<template>` markup template (instead of the
-default `sect<level>` section template). The `{title}` attribute value
-is set to the value of the matched regular expression group named
-'title', if there is no 'title' group `{title}` defaults to the whole
-of the AsciiDoc section title. If `<template>` is blank then any
-existing entry with the same `<title>` will be deleted.
-
-.Special section titles vs. explicit template names
-*********************************************************************
-AsciiDoc has two mechanisms for specifying non-default section markup
-templates: you can specify the template name explicitly (using the
-'template' attribute) or indirectly (using 'special section titles').
-Specifying a <<X93,section template>> attribute explicitly is
-preferred. Auto-magical 'special section titles' have the following
-drawbacks:
-
-- They are non-obvious, you have to know the exact matching
- title for each special section on a language by language basis.
-- Section titles are predefined and can only be customised with a
- configuration change.
-- The implementation is complicated by multiple languages: every
- special section title has to be defined for each language (in each
- of the `lang-*.conf` files).
-
-Specifying special section template names explicitly does add more
-noise to the source document (the 'template' attribute declaration),
-but the intention is obvious and the syntax is consistent with other
-AsciiDoc elements c.f. bibliographic, Q&A and glossary lists.
-
-Special section titles have been deprecated but are retained for
-backward compatibility.
-
-*********************************************************************
-
-Inline Elements
-~~~~~~~~~~~~~~~
-<<X34,Inline document elements>> are used to format text and to
-perform various types of text substitution. Inline elements and inline
-element syntax is defined in the asciidoc(1) configuration files.
-
-Here is a list of AsciiDoc inline elements in the (default) order in
-which they are processed:
-
-Special characters::
- These character sequences escape special characters used by
- the backend markup (typically `<`, `>`, and `&` characters).
- See `[specialcharacters]` configuration file sections.
-
-Quotes::
- Elements that markup words and phrases; usually for character
- formatting. See `[quotes]` configuration file sections.
-
-Special Words::
- Word or word phrase patterns singled out for markup without
- the need for further annotation. See `[specialwords]`
- configuration file sections.
-
-Replacements::
- Each replacement defines a word or word phrase pattern to
- search for along with corresponding replacement text. See
- `[replacements]` configuration file sections.
-
-Attribute references::
- Document attribute names enclosed in braces are replaced by
- the corresponding attribute value.
-
-Inline Macros::
- Inline macros are replaced by the contents of parametrized
- configuration file sections.
-
-
-Document Processing
--------------------
-The AsciiDoc source document is read and processed as follows:
-
-1. The document 'Header' is parsed, header parameter values are
- substituted into the configuration file `[header]` template section
- which is then written to the output file.
-2. Each document 'Section' is processed and its constituent elements
- translated to the output file.
-3. The configuration file `[footer]` template section is substituted
- and written to the output file.
-
-When a block element is encountered asciidoc(1) determines the type of
-block by checking in the following order (first to last): (section)
-Titles, BlockMacros, Lists, DelimitedBlocks, Tables, AttributeEntrys,
-AttributeLists, BlockTitles, Paragraphs.
-
-The default paragraph definition `[paradef-default]` is last element
-to be checked.
-
-Knowing the parsing order will help you devise unambiguous macro, list
-and block syntax rules.
-
-Inline substitutions within block elements are performed in the
-following default order:
-
-1. Special characters
-2. Quotes
-3. Special words
-4. Replacements
-5. Attributes
-6. Inline Macros
-7. Replacements2
-
-The substitutions and substitution order performed on
-Title, Paragraph and DelimitedBlock elements is determined by
-configuration file parameters.
-
-
-Text Formatting
----------------
-[[X51]]
-Quoted Text
-~~~~~~~~~~~
-Words and phrases can be formatted by enclosing inline text with
-quote characters:
-
-_Emphasized text_::
- Word phrases \'enclosed in single quote characters' (acute
- accents) or \_underline characters_ are emphasized.
-
-*Strong text*::
- Word phrases \*enclosed in asterisk characters* are rendered
- in a strong font (usually bold).
-
-[[X81]]+Monospaced text+::
- Word phrases \+enclosed in plus characters+ are rendered in a
- monospaced font. Word phrases \`enclosed in backtick
- characters` (grave accents) are also rendered in a monospaced
- font but in this case the enclosed text is rendered literally
- and is not subject to further expansion (see <<X80,inline
- literal>>).
-
-`Single quoted text'::
- Phrases enclosed with a \`single grave accent to the left and
- a single acute accent to the right' are rendered in single
- quotation marks.
-
-``Double quoted text''::
- Phrases enclosed with \\``two grave accents to the left and
- two acute accents to the right'' are rendered in quotation
- marks.
-
-#Unquoted text#::
- Placing \#hashes around text# does nothing, it is a mechanism
- to allow inline attributes to be applied to otherwise
- unformatted text.
-
-New quote types can be defined by editing asciidoc(1) configuration
-files. See the <<X7,Configuration Files>> section for details.
-
-.Quoted text behavior
-- Quoting cannot be overlapped.
-- Different quoting types can be nested.
-- To suppress quoted text formatting place a backslash character
- immediately in front of the leading quote character(s). In the case
- of ambiguity between escaped and non-escaped text you will need to
- escape both leading and trailing quotes, in the case of
- multi-character quotes you may even need to escape individual
- characters.
-
-[[X96]]
-Quoted text attributes
-^^^^^^^^^^^^^^^^^^^^^^
-Quoted text can be prefixed with an <<X21,attribute list>>. The first
-positional attribute is translated by AsciiDoc to an HTML 'span'
-element 'class' attribute or a DocBook 'phrase' element 'role'
-attribute.
-
-DocBook XSL Stylesheets translate DocBook 'phrase' elements with
-'role' attributes to corresponding HTML 'span' elements with the same
-'class' attributes; CSS can then be used
-http://www.sagehill.net/docbookxsl/UsingCSS.html[to style the
-generated HTML].
-
-Thus CSS styling can be applied to both DocBook and AsciiDoc generated
-HTML outputs from the same AsciiDoc source. You can also specify
-multiple class names separated by spaces. Examples:
-
- [red]#obvious#
- [big red yellowback]*very obvious*
-
-The following CSS rules for 'big', 'red' and 'yellowback' class names
-could be used to style HTML outputs generated from the previous
-examples:
-
- span.big { font-size: 2em; }
- span.red { color: #e3372e; }
- span.yellowback { background: #faf519; }
-
-[[X52]]
-Constrained and Unconstrained Quotes
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-There are actually two types of quotes:
-
-Constrained quotes
-++++++++++++++++++
-Quoted must be bounded by white space or commonly adjoining
-punctuation characters. These are the most commonly used type of
-quote.
-
-Unconstrained quotes
-++++++++++++++++++++
-Unconstrained quotes have no boundary constraints and can be placed
-anywhere within inline text. For consistency and to make them easier
-to remember unconstrained quotes are double-ups of the `_`, `*`, `+`
-and `#` constrained quotes:
-
- __unconstrained emphasized text__
- **unconstrained strong text**
- ++unconstrained monospaced text++
- ##unconstrained unquoted text##
-
-The following example emboldens the letter F:
-
- **F**ile Open...
-
-Superscripts and Subscripts
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Put \^carets on either^ side of the text to be superscripted, put
-\~tildes on either side~ of text to be subscripted. For example, the
-following line:
-
- e^πi^+1 = 0. H~2~O and x^10^. Some ^super text^
- and ~some sub text~
-
-Is rendered like:
-
-e^πi^+1 = 0. H~2~O and x^10^. Some ^super text^
-and ~some sub text~
-
-Superscripts and subscripts are implemented as <<X52,unconstrained
-quotes>> and they can be escaped with a leading backslash and prefixed
-with with an attribute list.
-
-Line Breaks
-~~~~~~~~~~~
-A plus character preceded by at least one space character at the end
-of a non-blank line forces a line break. It generates a line break
-(`br`) tag for HTML outputs and a custom XML `asciidoc-br` processing
-instruction for DocBook outputs. The `asciidoc-br` processing
-instruction is handled by <<X43,a2x(1)>>.
-
-Page Breaks
-~~~~~~~~~~~
-A line of three or more less-than (`<<<`) characters will generate a
-hard page break in DocBook and printed HTML outputs. It uses the CSS
-`page-break-after` property for HTML outputs and a custom XML
-`asciidoc-pagebreak` processing instruction for DocBook outputs. The
-`asciidoc-pagebreak` processing instruction is handled by
-<<X43,a2x(1)>>. Hard page breaks are sometimes handy but as a general
-rule you should let your page processor generate page breaks for you.
-
-Rulers
-~~~~~~
-A line of three or more apostrophe characters will generate a ruler
-line. It generates a ruler (`hr`) tag for HTML outputs and a custom
-XML `asciidoc-hr` processing instruction for DocBook outputs. The
-`asciidoc-hr` processing instruction is handled by <<X43,a2x(1)>>.
-
-Tabs
-~~~~
-By default tab characters input files will translated to 8 spaces. Tab
-expansion is set with the 'tabsize' entry in the configuration file
-`[miscellaneous]` section and can be overridden in included files by
-setting a 'tabsize' attribute in the `include` macro's attribute list.
-For example:
-
- include::addendum.txt[tabsize=2]
-
-The tab size can also be set using the attribute command-line option,
-for example `--attribute tabsize=4`
-
-Replacements
-~~~~~~~~~~~~
-The following replacements are defined in the default AsciiDoc
-configuration:
-
- (C) copyright, (TM) trademark, (R) registered trademark,
- -- em dash, ... ellipsis, -> right arrow, <- left arrow, => right
- double arrow, <= left double arrow.
-
-Which are rendered as:
-
-(C) copyright, (TM) trademark, (R) registered trademark,
--- em dash, ... ellipsis, -> right arrow, <- left arrow, => right
-double arrow, <= left double arrow.
-
-You can also include arbitrary entity references in the AsciiDoc
-source. Examples:
-
- ➊ ¶
-
-renders:
-
-➊ ¶
-
-To render a replacement literally escape it with a leading back-slash.
-
-The <<X7,Configuration Files>> section explains how to configure your
-own replacements.
-
-Special Words
-~~~~~~~~~~~~~
-Words defined in `[specialwords]` configuration file sections are
-automatically marked up without having to be explicitly notated.
-
-The <<X7,Configuration Files>> section explains how to add and replace
-special words.
-
-
-[[X17]]
-Titles
-------
-Document and section titles can be in either of two formats:
-
-Two line titles
-~~~~~~~~~~~~~~~
-A two line title consists of a title line, starting hard against the
-left margin, and an underline. Section underlines consist a repeated
-character pairs spanning the width of the preceding title (give or
-take up to two characters):
-
-The default title underlines for each of the document levels are:
-
-
- Level 0 (top level): ======================
- Level 1: ----------------------
- Level 2: ~~~~~~~~~~~~~~~~~~~~~~
- Level 3: ^^^^^^^^^^^^^^^^^^^^^^
- Level 4 (bottom level): ++++++++++++++++++++++
-
-Examples:
-
- Level One Section Title
- -----------------------
-
- Level 2 Subsection Title
- ~~~~~~~~~~~~~~~~~~~~~~~~
-
-[[X46]]
-One line titles
-~~~~~~~~~~~~~~~
-One line titles consist of a single line delimited on either side by
-one or more equals characters (the number of equals characters
-corresponds to the section level minus one). Here are some examples:
-
- = Document Title (level 0) =
- == Section title (level 1) ==
- === Section title (level 2) ===
- ==== Section title (level 3) ====
- ===== Section title (level 4) =====
-
-[NOTE]
-=====================================================================
-- One or more spaces must fall between the title and the delimiters.
-- The trailing title delimiter is optional.
-- The one-line title syntax can be changed by editing the
- configuration file `[titles]` section `sect0`...`sect4` entries.
-=====================================================================
-
-Floating titles
-~~~~~~~~~~~~~~~
-Setting the title's first positional attribute or 'style' attribute to
-'float' generates a free-floating title. A free-floating title is
-rendered just like a normal section title but is not formally
-associated with a text body and is not part of the regular section
-hierarchy so the normal ordering rules do not apply. Floating titles
-can also be used in contexts where section titles are illegal: for
-example sidebar and admonition blocks. Example:
-
- [float]
- The second day
- ~~~~~~~~~~~~~~
-
-Floating titles do not appear in a document's table of contents.
-
-
-[[X42]]
-Block Titles
-------------
-A 'BlockTitle' element is a single line beginning with a period
-followed by the title text. A BlockTitle is applied to the immediately
-following Paragraph, DelimitedBlock, List, Table or BlockMacro. For
-example:
-
-........................
-.Notes
-- Note 1.
-- Note 2.
-........................
-
-is rendered as:
-
-.Notes
-- Note 1.
-- Note 2.
-
-
-[[X41]]
-BlockId Element
----------------
-A 'BlockId' is a single line block element containing a unique
-identifier enclosed in double square brackets. It is used to assign an
-identifier to the ensuing block element. For example:
-
- [[chapter-titles]]
- Chapter titles can be ...
-
-The preceding example identifies the ensuing paragraph so it can be
-referenced from other locations, for example with
-`<<chapter-titles,chapter titles>>`.
-
-'BlockId' elements can be applied to Title, Paragraph, List,
-DelimitedBlock, Table and BlockMacro elements. The BlockId element
-sets the `{id}` attribute for substitution in the subsequent block's
-markup template. If a second positional argument is supplied it sets
-the `{reftext}` attribute which is used to set the DocBook `xreflabel`
-attribute.
-
-The 'BlockId' element has the same syntax and serves the same function
-to the <<X30,anchor inline macro>>.
-
-[[X79]]
-AttributeList Element
----------------------
-An 'AttributeList' block element is an <<X21,attribute list>> on a
-line by itself:
-
-- 'AttributeList' attributes are only applied to the immediately
- following block element -- the attributes are made available to the
- block's markup template.
-- Multiple contiguous 'AttributeList' elements are additively combined
- in the order they appear..
-- The first positional attribute in the list is often used to specify
- the ensuing element's <<X23,style>>.
-
-Attribute value substitution
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-By default, only substitutions that take place inside attribute list
-values are attribute references, this is because not all attributes
-are destined to be marked up and rendered as text (for example the
-table 'cols' attribute). To perform normal inline text substitutions
-(special characters, quotes, macros, replacements) on an attribute
-value you need to enclose it in single quotes. In the following quote
-block the second attribute value in the AttributeList is quoted to
-ensure the 'http' macro is expanded to a hyperlink.
-
----------------------------------------------------------------------
-[quote,'http://en.wikipedia.org/wiki/Samuel_Johnson[Samuel Johnson]']
-_____________________________________________________________________
-Sir, a woman's preaching is like a dog's walking on his hind legs. It
-is not done well; but you are surprised to find it done at all.
-_____________________________________________________________________
----------------------------------------------------------------------
-
-Common attributes
-~~~~~~~~~~~~~~~~~
-Most block elements support the following attributes:
-
-[cols="1e,1,5a",frame="topbot",options="header"]
-|====================================================================
-|Name |Backends |Description
-
-|id |html4, xhtml11, docbook |
-Unique identifier typically serve as link targets.
-Can also be set by the 'BlockId' element.
-
-|role |xhtml11, docbook |
-Role contains a string used to classify or subclassify an element and
-can be applied to AsciiDoc block elements. The AsciiDoc 'role'
-attribute is translated to the 'role' attribute in DocBook outputs and
-to the 'class' attribute in HTML outputs.
-
-DocBook XSL Stylesheets translate DocBook 'role' attributes to HTML
-'class' attributes; CSS can then be used
-http://www.sagehill.net/docbookxsl/UsingCSS.html[to style the
-generated HTML].
-
-|reftext |docbook |
-'reftext' is used to set the DocBook 'xreflabel' attribute.
-The 'reftext' attribute can an also be set by the 'BlockId' element.
-
-|====================================================================
-
-
-Paragraphs
-----------
-Paragraphs are blocks of text terminated by a blank line, the end of
-file, or the start of a delimited block or a list. There are three
-paragraph syntaxes: normal, indented (literal) and admonition which
-are rendered, by default, with the corresponding paragraph style. Each
-syntax has a default style, but you can, if you wish, explicitly
-apply any paragraph style to any paragraph syntax. The common
-paragraph styles are 'normal', 'literal', 'verse', 'quote', 'listing',
-'TIP', 'NOTE', 'IMPORTANT', 'WARNING' and 'CAUTION'.
-
-normal paragraph syntax
-~~~~~~~~~~~~~~~~~~~~~~~
-Normal paragraph syntax consists of one or more non-blank lines of
-text. The first line must start hard against the left margin (no
-intervening white space). The default processing expectation is that
-of a normal paragraph of text.
-
-[[X85]]
-literal paragraph syntax
-~~~~~~~~~~~~~~~~~~~~~~~~
-Literal paragraphs are rendered verbatim in a monospaced font without
-any distinguishing background or border. By default there is no text
-formatting or substitutions within Literal paragraphs apart from
-Special Characters and Callouts.
-
-The 'literal' style is applied implicitly to indented paragraphs i.e.
-where the first line of the paragraph is indented by one or more space
-or tab characters. For example:
-
----------------------------------------------------------------------
- Consul *necessitatibus* per id,
- consetetur, eu pro everti postulant
- homero verear ea mea, qui.
----------------------------------------------------------------------
-
-Renders:
-
- Consul *necessitatibus* per id,
- consetetur, eu pro everti postulant
- homero verear ea mea, qui.
-
-NOTE: Because <<X64,lists>> can be indented it's possible for your
-indented paragraph to be misinterpreted as a list -- in situations
-like this apply the 'literal' style to a normal paragraph.
-
-Instead of using a paragraph indent you could apply the 'literal'
-style explicitly, for example:
-
----------------------------------------------------------------------
-[literal]
-Consul *necessitatibus* per id,
-consetetur, eu pro everti postulant
-homero verear ea mea, qui.
----------------------------------------------------------------------
-
-Renders:
-
-[literal]
-Consul *necessitatibus* per id,
-consetetur, eu pro everti postulant
-homero verear ea mea, qui.
-
-[[X94]]
-quote and verse paragraph styles
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The optional 'attribution' and 'citetitle' attributes (positional
-attributes 2 and 3) specify the author and source respectively.
-
-The 'verse' style retains the line breaks, for example:
-
----------------------------------------------------------------------
-[verse, William Blake, from Auguries of Innocence]
-To see a world in a grain of sand,
-And a heaven in a wild flower,
-Hold infinity in the palm of your hand,
-And eternity in an hour.
----------------------------------------------------------------------
-
-Which is rendered as:
-
-[verse, William Blake, from Auguries of Innocence]
-To see a world in a grain of sand,
-And a heaven in a wild flower,
-Hold infinity in the palm of your hand,
-And eternity in an hour.
-
-The 'quote' style flows the text at left and right margins, for
-example:
-
----------------------------------------------------------------------
-[quote, Bertrand Russell, The World of Mathematics (1956)]
-A good notation has subtlety and suggestiveness which at times makes
-it almost seem like a live teacher.
----------------------------------------------------------------------
-
-Which is rendered as:
-
-[quote, Bertrand Russell, The World of Mathematics (1956)]
-A good notation has subtlety and suggestiveness which at times makes
-it almost seem like a live teacher.
-
-[[X28]]
-Admonition Paragraphs
-~~~~~~~~~~~~~~~~~~~~~
-'TIP', 'NOTE', 'IMPORTANT', 'WARNING' and 'CAUTION' admonishment
-paragraph styles are generated by placing `NOTE:`, `TIP:`,
-`IMPORTANT:`, `WARNING:` or `CAUTION:` as the first word of the
-paragraph. For example:
-
- NOTE: This is an example note.
-
-Alternatively, you can specify the paragraph admonition style
-explicitly using an <<X79,AttributeList element>>. For example:
-
- [NOTE]
- This is an example note.
-
-Renders:
-
-NOTE: This is an example note.
-
-TIP: If your admonition requires more than a single paragraph use an
-<<X22,admonition block>> instead.
-
-[[X47]]
-Admonition Icons and Captions
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-NOTE: Admonition customization with `icons`, `iconsdir`, `icon` and
-`caption` attributes does not apply when generating DocBook output. If
-you are going the DocBook route then the <<X43,a2x(1)>> `--no-icons`
-and `--icons-dir` options can be used to set the appropriate XSL
-Stylesheets parameters.
-
-By default the asciidoc(1) `xhtml11` and `html4` backends generate
-text captions instead of admonition icon image links. To generate
-links to icon images define the <<X45,`icons`>> attribute, for example
-using the `-a icons` command-line option.
-
-The <<X44,`iconsdir`>> attribute sets the location of linked icon
-images.
-
-You can override the default icon image using the `icon` attribute to
-specify the path of the linked image. For example:
-
- [icon="./images/icons/wink.png"]
- NOTE: What lovely war.
-
-Use the `caption` attribute to customize the admonition captions (not
-applicable to `docbook` backend). The following example suppresses the
-icon image and customizes the caption of a 'NOTE' admonition
-(undefining the `icons` attribute with `icons=None` is only necessary
-if <<X45,admonition icons>> have been enabled):
-
- [icons=None, caption="My Special Note"]
- NOTE: This is my special note.
-
-This subsection also applies to <<X22,Admonition Blocks>>.
-
-
-Delimited Blocks
-----------------
-Delimited blocks are blocks of text enveloped by leading and trailing
-delimiter lines (normally a series of four or more repeated
-characters). The behavior of Delimited Blocks is specified by entries
-in configuration file `[blockdef-*]` sections.
-
-Predefined Delimited Blocks
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-AsciiDoc ships with a number of predefined DelimitedBlocks (see the
-`asciidoc.conf` configuration file in the asciidoc(1) program
-directory):
-
-Predefined delimited block underlines:
-
- CommentBlock: //////////////////////////
- PassthroughBlock: ++++++++++++++++++++++++++
- ListingBlock: --------------------------
- LiteralBlock: ..........................
- SidebarBlock: **************************
- QuoteBlock: __________________________
- ExampleBlock: ==========================
- OpenBlock: --
-
-The <<X56,code>>, <<X57,source>> and <<X58,music>> filter blocks are
-detailed in the <<X59,Filters>> section.
-
-.Default DelimitedBlock substitutions
-[cols="2e,7*^",frame="topbot",options="header,autowidth"]
-|=====================================================
-| |Attributes |Callouts |Macros | Quotes |Replacements
-|Special chars |Special words
-
-|PassthroughBlock |Yes |No |Yes |No |No |No |No
-|ListingBlock |No |Yes |No |No |No |Yes |No
-|LiteralBlock |No |Yes |No |No |No |Yes |No
-|SidebarBlock |Yes |No |Yes |Yes |Yes |Yes |Yes
-|QuoteBlock |Yes |No |Yes |Yes |Yes |Yes |Yes
-|ExampleBlock |Yes |No |Yes |Yes |Yes |Yes |Yes
-|OpenBlock |Yes |No |Yes |Yes |Yes |Yes |Yes
-|=====================================================
-
-Listing Blocks
-~~~~~~~~~~~~~~
-'ListingBlocks' are rendered verbatim in a monospaced font, they
-retain line and whitespace formatting and are often distinguished by a
-background or border. There is no text formatting or substitutions
-within Listing blocks apart from Special Characters and Callouts.
-Listing blocks are often used for computer output and file listings.
-
-Here's an example:
-
-[listing]
-......................................
---------------------------------------
-#include <stdio.h>
-
-int main() {
- printf("Hello World!\n");
- exit(0);
-}
---------------------------------------
-......................................
-
-Which will be rendered like:
-
---------------------------------------
-#include <stdio.h>
-
-int main() {
- printf("Hello World!\n");
- exit(0);
-}
---------------------------------------
-
-By convention <<X59,filter blocks>> use the listing block syntax and
-are implemented as distinct listing block styles.
-
-[[X65]]
-Literal Blocks
-~~~~~~~~~~~~~~
-'LiteralBlocks' are rendered just like <<X85,literal paragraphs>>.
-Example:
-
----------------------------------------------------------------------
-...................................
-Consul *necessitatibus* per id,
-consetetur, eu pro everti postulant
-homero verear ea mea, qui.
-...................................
----------------------------------------------------------------------
-
-Renders:
-...................................
-Consul *necessitatibus* per id,
-consetetur, eu pro everti postulant
-homero verear ea mea, qui.
-...................................
-
-If the 'listing' style is applied to a LiteralBlock it will be
-rendered as a ListingBlock (this is handy if you have a listing
-containing a ListingBlock).
-
-Sidebar Blocks
-~~~~~~~~~~~~~~
-A sidebar is a short piece of text presented outside the narrative
-flow of the main text. The sidebar is normally presented inside a
-bordered box to set it apart from the main text.
-
-The sidebar body is treated like a normal section body.
-
-Here's an example:
-
----------------------------------------------------------------------
-.An Example Sidebar
-************************************************
-Any AsciiDoc SectionBody element (apart from
-SidebarBlocks) can be placed inside a sidebar.
-************************************************
----------------------------------------------------------------------
-
-Which will be rendered like:
-
-.An Example Sidebar
-************************************************
-Any AsciiDoc SectionBody element (apart from
-SidebarBlocks) can be placed inside a sidebar.
-************************************************
-
-[[X26]]
-Comment Blocks
-~~~~~~~~~~~~~~
-The contents of 'CommentBlocks' are not processed; they are useful for
-annotations and for excluding new or outdated content that you don't
-want displayed. CommentBlocks are never written to output files.
-Example:
-
----------------------------------------------------------------------
-//////////////////////////////////////////
-CommentBlock contents are not processed by
-asciidoc(1).
-//////////////////////////////////////////
----------------------------------------------------------------------
-
-See also <<X25,Comment Lines>>.
-
-NOTE: System macros are executed inside comment blocks.
-
-[[X76]]
-Passthrough Blocks
-~~~~~~~~~~~~~~~~~~
-By default the block contents is subject only to 'attributes' and
-'macros' substitutions (use an explicit 'subs' attribute to apply
-different substitutions). PassthroughBlock content will often be
-backend specific. Here's an example:
-
----------------------------------------------------------------------
-[subs="quotes"]
-++++++++++++++++++++++++++++++++++++++
-<table border="1"><tr>
- <td>*Cell 1*</td>
- <td>*Cell 2*</td>
-</tr></table>
-++++++++++++++++++++++++++++++++++++++
----------------------------------------------------------------------
-
-The following styles can be applied to passthrough blocks:
-
-pass::
- No substitutions are performed. This is equivalent to `subs="none"`.
-
-asciimath, latexmath::
- By default no substitutions are performed, the contents are rendered
- as <<X78,mathematical formulas>>.
-
-Quote Blocks
-~~~~~~~~~~~~
-'QuoteBlocks' are used for quoted passages of text. There are two
-styles: 'quote' and 'verse'. The style behavior is identical to
-<<X94,quote and verse paragraphs>> except that blocks can contain
-multiple paragraphs and, in the case of the 'quote' style, other
-section elements. The first positional attribute sets the style, if
-no attributes are specified the 'quote' style is used. The optional
-'attribution' and 'citetitle' attributes (positional attributes 2 and
-3) specify the quote's author and source. For example:
-
----------------------------------------------------------------------
-[quote, Sir Arthur Conan Doyle, The Adventures of Sherlock Holmes]
-____________________________________________________________________
-As he spoke there was the sharp sound of horses' hoofs and
-grating wheels against the curb, followed by a sharp pull at the
-bell. Holmes whistled.
-
-"A pair, by the sound," said he. "Yes," he continued, glancing
-out of the window. "A nice little brougham and a pair of
-beauties. A hundred and fifty guineas apiece. There's money in
-this case, Watson, if there is nothing else."
-____________________________________________________________________
----------------------------------------------------------------------
-
-Which is rendered as:
-
-[quote, Sir Arthur Conan Doyle, The Adventures of Sherlock Holmes]
-____________________________________________________________________
-As he spoke there was the sharp sound of horses' hoofs and
-grating wheels against the curb, followed by a sharp pull at the
-bell. Holmes whistled.
-
-"A pair, by the sound," said he. "Yes," he continued, glancing
-out of the window. "A nice little brougham and a pair of
-beauties. A hundred and fifty guineas apiece. There's money in
-this case, Watson, if there is nothing else."
-____________________________________________________________________
-
-[[X48]]
-Example Blocks
-~~~~~~~~~~~~~~
-'ExampleBlocks' encapsulate the DocBook Example element and are used
-for, well, examples. Example blocks can be titled by preceding them
-with a 'BlockTitle'. DocBook toolchains will normally automatically
-number examples and generate a 'List of Examples' backmatter section.
-
-Example blocks are delimited by lines of equals characters and can
-contain any block elements apart from Titles, BlockTitles and
-Sidebars) inside an example block. For example:
-
----------------------------------------------------------------------
-.An example
-=====================================================================
-Qui in magna commodo, est labitur dolorum an. Est ne magna primis
-adolescens.
-=====================================================================
----------------------------------------------------------------------
-
-Renders:
-
-.An example
-=====================================================================
-Qui in magna commodo, est labitur dolorum an. Est ne magna primis
-adolescens.
-=====================================================================
-
-A title prefix that can be inserted with the `caption` attribute
-(`xhtml11` and `html4` backends). For example:
-
----------------------------------------------------------------------
-[caption="Example 1: "]
-.An example with a custom caption
-=====================================================================
-Qui in magna commodo, est labitur dolorum an. Est ne magna primis
-adolescens.
-=====================================================================
----------------------------------------------------------------------
-
-[[X22]]
-Admonition Blocks
-~~~~~~~~~~~~~~~~~
-The 'ExampleBlock' definition includes a set of admonition
-<<X23,styles>> ('NOTE', 'TIP', 'IMPORTANT', 'WARNING', 'CAUTION') for
-generating admonition blocks (admonitions containing more than a
-<<X28,single paragraph>>). Just precede the 'ExampleBlock' with an
-attribute list specifying the admonition style name. For example:
-
----------------------------------------------------------------------
-[NOTE]
-.A NOTE admonition block
-=====================================================================
-Qui in magna commodo, est labitur dolorum an. Est ne magna primis
-adolescens.
-
-. Fusce euismod commodo velit.
-. Vivamus fringilla mi eu lacus.
- .. Fusce euismod commodo velit.
- .. Vivamus fringilla mi eu lacus.
-. Donec eget arcu bibendum
- nunc consequat lobortis.
-=====================================================================
----------------------------------------------------------------------
-
-Renders:
-
-[NOTE]
-.A NOTE admonition block
-=====================================================================
-Qui in magna commodo, est labitur dolorum an. Est ne magna primis
-adolescens.
-
-. Fusce euismod commodo velit.
-. Vivamus fringilla mi eu lacus.
- .. Fusce euismod commodo velit.
- .. Vivamus fringilla mi eu lacus.
-. Donec eget arcu bibendum
- nunc consequat lobortis.
-=====================================================================
-
-See also <<X47,Admonition Icons and Captions>>.
-
-[[X29]]
-Open Blocks
-~~~~~~~~~~~
-An 'OpenBlock' groups a set of block elements. 'OpenBlock' usage:
-
-. <<X15,List item continuation>>.
-
-. Apply the 'abstract' style to generate an abstract, for example:
-
- [abstract]
- --
- In this paper we will ...
- --
-
-. Apply the 'partintro' style to generate a book part introduction for
- a multi-part book, for example:
-
- [partintro]
- .Optional part introduction title
- --
- Optional part introduction goes here.
- --
-
-
-[[X64]]
-Lists
------
-.List types
-- Bulleted lists. Also known as itemized or unordered lists.
-- Numbered lists. Also called ordered lists.
-- Labeled lists. Sometimes called variable or definition lists.
-- Callout lists (a list of callout annotations).
-
-.List behavior
-- List item indentation is optional and does not determine nesting,
- indentation does however make the source more readable.
-- Another list or a literal paragraph immediately following a list
- item will be implicitly included in the list item; use <<X15, list
- item continuation>> to explicitly append other block elements to a
- list item.
-- A comment block or a comment line block macro element will terminate
- a list -- use inline comment lines to put comments inside lists.
-- The `listindex` <<X60,intrinsic attribute>> is the current list item
- index (1..). If this attribute is used outside a list then it's value
- is the number of items in the most recently closed list. Useful for
- displaying the number of items in a list.
-
-Bulleted Lists
-~~~~~~~~~~~~~~
-Bulleted list items start with a single dash or one to five asterisks
-followed by some white space then some text. Bulleted list syntaxes
-are:
-
-...................
-- List item.
-* List item.
-** List item.
-*** List item.
-**** List item.
-***** List item.
-...................
-
-Numbered Lists
-~~~~~~~~~~~~~~
-List item numbers are explicit or implicit.
-
-.Explicit numbering
-List items begin with a number followed by some white space then the
-item text. The numbers can be decimal (arabic), roman (upper or lower
-case) or alpha (upper or lower case). Decimal and alpha numbers are
-terminated with a period, roman numbers are terminated with a closing
-parenthesis. The different terminators are necessary to ensure 'i',
-'v' and 'x' roman numbers are are distinguishable from 'x', 'v' and
-'x' alpha numbers. Examples:
-
-.....................................................................
-1. Arabic (decimal) numbered list item.
-a. Lower case alpha (letter) numbered list item.
-F. Upper case alpha (letter) numbered list item.
-iii) Lower case roman numbered list item.
-IX) Upper case roman numbered list item.
-.....................................................................
-
-.Implicit numbering
-List items begin one to five period characters, followed by some white
-space then the item text. Examples:
-
-.....................................................................
-. Arabic (decimal) numbered list item.
-.. Lower case alpha (letter) numbered list item.
-... Lower case roman numbered list item.
-.... Upper case alpha (letter) numbered list item.
-..... Upper case roman numbered list item.
-.....................................................................
-
-You can use the 'style' attribute (also the first positional
-attribute) to specify an alternative numbering style. The numbered
-list style can be one of the following values: 'arabic', 'loweralpha',
-'upperalpha', 'lowerroman', 'upperroman'.
-
-Here are some examples of bulleted and numbered lists:
-
----------------------------------------------------------------------
-- Praesent eget purus quis magna eleifend eleifend.
- 1. Fusce euismod commodo velit.
- a. Fusce euismod commodo velit.
- b. Vivamus fringilla mi eu lacus.
- c. Donec eget arcu bibendum nunc consequat lobortis.
- 2. Vivamus fringilla mi eu lacus.
- i) Fusce euismod commodo velit.
- ii) Vivamus fringilla mi eu lacus.
- 3. Donec eget arcu bibendum nunc consequat lobortis.
- 4. Nam fermentum mattis ante.
-- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
- * Fusce euismod commodo velit.
- ** Qui in magna commodo, est labitur dolorum an. Est ne magna primis
- adolescens. Sit munere ponderum dignissim et. Minim luptatum et
- vel.
- ** Vivamus fringilla mi eu lacus.
- * Donec eget arcu bibendum nunc consequat lobortis.
-- Nulla porttitor vulputate libero.
- . Fusce euismod commodo velit.
- . Vivamus fringilla mi eu lacus.
-[upperroman]
- .. Fusce euismod commodo velit.
- .. Vivamus fringilla mi eu lacus.
- . Donec eget arcu bibendum nunc consequat lobortis.
----------------------------------------------------------------------
-
-Which render as:
-
-- Praesent eget purus quis magna eleifend eleifend.
- 1. Fusce euismod commodo velit.
- a. Fusce euismod commodo velit.
- b. Vivamus fringilla mi eu lacus.
- c. Donec eget arcu bibendum nunc consequat lobortis.
- 2. Vivamus fringilla mi eu lacus.
- i) Fusce euismod commodo velit.
- ii) Vivamus fringilla mi eu lacus.
- 3. Donec eget arcu bibendum nunc consequat lobortis.
- 4. Nam fermentum mattis ante.
-- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
- * Fusce euismod commodo velit.
- ** Qui in magna commodo, est labitur dolorum an. Est ne magna primis
- adolescens. Sit munere ponderum dignissim et. Minim luptatum et
- vel.
- ** Vivamus fringilla mi eu lacus.
- * Donec eget arcu bibendum nunc consequat lobortis.
-- Nulla porttitor vulputate libero.
- . Fusce euismod commodo velit.
- . Vivamus fringilla mi eu lacus.
-[upperroman]
- .. Fusce euismod commodo velit.
- .. Vivamus fringilla mi eu lacus.
- . Donec eget arcu bibendum nunc consequat lobortis.
-
-A predefined 'compact' option is available to bulleted and numbered
-lists -- this translates to the DocBook 'spacing="compact"' lists
-attribute which may or may not be processed by the DocBook toolchain.
-Example:
-
- [options="compact"]
- - Compact list item.
- - Another compact list item.
-
-TIP: To apply the 'compact' option globally define a document-wide
-'compact-option' attribute, e.g. using the `-a compact-option`
-command-line option.
-
-You can set the list start number using the 'start' attribute (works
-for HTML outputs and DocBook outputs processed by DocBook XSL
-Stylesheets). Example:
-
- [start=7]
- . List item 7.
- . List item 8.
-
-Labeled Lists
-~~~~~~~~~~~~~
-Labeled list items consist of one or more text labels followed by the
-text of the list item.
-
-An item label begins a line with an alphanumeric character hard
-against the left margin and ends with two, three or four colons or two
-semi-colons. A list item can have multiple labels, one per line.
-
-The list item text consists of one or more lines of text starting
-after the last label (either on the same line or a new line) and can
-be followed by nested List or ListParagraph elements. Item text can be
-optionally indented.
-
-Here are some examples:
-
----------------------------------------------------------------------
-In::
-Lorem::
- Fusce euismod commodo velit.
-
- Fusce euismod commodo velit.
-
-Ipsum:: Vivamus fringilla mi eu lacus.
- * Vivamus fringilla mi eu lacus.
- * Donec eget arcu bibendum nunc consequat lobortis.
-Dolor::
- Donec eget arcu bibendum nunc consequat lobortis.
- Suspendisse;;
- A massa id sem aliquam auctor.
- Morbi;;
- Pretium nulla vel lorem.
- In;;
- Dictum mauris in urna.
- Vivamus::: Fringilla mi eu lacus.
- Donec::: Eget arcu bibendum nunc consequat lobortis.
----------------------------------------------------------------------
-
-Which render as:
-
-In::
-Lorem::
- Fusce euismod commodo velit.
-
- Fusce euismod commodo velit.
-
-Ipsum:: Vivamus fringilla mi eu lacus.
- * Vivamus fringilla mi eu lacus.
- * Donec eget arcu bibendum nunc consequat lobortis.
-Dolor::
- Donec eget arcu bibendum nunc consequat lobortis.
- Suspendisse;;
- A massa id sem aliquam auctor.
- Morbi;;
- Pretium nulla vel lorem.
- In;;
- Dictum mauris in urna.
- Vivamus::: Fringilla mi eu lacus.
- Donec::: Eget arcu bibendum nunc consequat lobortis.
-
-Horizontal labeled list style
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-The 'horizontal' labeled list style (also the first positional
-attribute) places the list text side-by-side with the label instead of
-under the label. Here is an example:
-
----------------------------------------------------------------------
-[horizontal]
-*Lorem*:: Fusce euismod commodo velit. Qui in magna commodo, est
-labitur dolorum an. Est ne magna primis adolescens.
-
- Fusce euismod commodo velit.
-
-*Ipsum*:: Vivamus fringilla mi eu lacus.
-- Vivamus fringilla mi eu lacus.
-- Donec eget arcu bibendum nunc consequat lobortis.
-
-*Dolor*::
- - Vivamus fringilla mi eu lacus.
- - Donec eget arcu bibendum nunc consequat lobortis.
-
----------------------------------------------------------------------
-
-Which render as:
-
-[horizontal]
-*Lorem*:: Fusce euismod commodo velit. Qui in magna commodo, est
-labitur dolorum an. Est ne magna primis adolescens.
-
- Fusce euismod commodo velit.
-
-*Ipsum*:: Vivamus fringilla mi eu lacus.
-- Vivamus fringilla mi eu lacus.
-- Donec eget arcu bibendum nunc consequat lobortis.
-
-*Dolor*::
- - Vivamus fringilla mi eu lacus.
- - Donec eget arcu bibendum nunc consequat lobortis.
-
-[NOTE]
-=====================================================================
-- Current PDF toolchains do not make a good job of determining
- the relative column widths for horizontal labeled lists.
-- Nested horizontal labeled lists will generate DocBook validation
- errors because the 'DocBook XML V4.2' DTD does not permit nested
- informal tables (although <<X13,DocBook XSL Stylesheets>> and
- <<X31,dblatex>> process them correctly).
-- The label width can be set as a percentage of the total width by
- setting the 'width' attribute e.g. `width="10%"`
-=====================================================================
-
-Question and Answer Lists
-~~~~~~~~~~~~~~~~~~~~~~~~~
-AsciiDoc comes pre-configured with a 'qanda' style labeled list for generating
-DocBook question and answer (Q&A) lists. Example:
-
----------------------------------------------------------------------
-[qanda]
-Question one::
- Answer one.
-Question two::
- Answer two.
----------------------------------------------------------------------
-
-Renders:
-
-[qanda]
-Question one::
- Answer one.
-Question two::
- Answer two.
-
-Glossary Lists
-~~~~~~~~~~~~~~
-AsciiDoc comes pre-configured with a 'glossary' style labeled list for
-generating DocBook glossary lists. Example:
-
----------------------------------------------------------------------
-[glossary]
-A glossary term::
- The corresponding definition.
-A second glossary term::
- The corresponding definition.
----------------------------------------------------------------------
-
-For working examples see the `article.txt` and `book.txt` documents in
-the AsciiDoc `./doc` distribution directory.
-
-NOTE: To generate valid DocBook output glossary lists must be located
-in a section that uses the 'glossary' <<X93,section markup template>>.
-
-Bibliography Lists
-~~~~~~~~~~~~~~~~~~
-AsciiDoc comes with a predefined 'bibliography' bulleted list style
-generating DocBook bibliography entries. Example:
-
----------------------------------------------------------------------
-[bibliography]
-.Optional list title
-- [[[taoup]]] Eric Steven Raymond. 'The Art of UNIX
- Programming'. Addison-Wesley. ISBN 0-13-142901-9.
-- [[[walsh-muellner]]] Norman Walsh & Leonard Muellner.
- 'DocBook - The Definitive Guide'. O'Reilly & Associates.
- 1999. ISBN 1-56592-580-7.
----------------------------------------------------------------------
-
-The `[[[<reference>]]]` syntax is a bibliography entry anchor, it
-generates an anchor named `<reference>` and additionally displays
-`[<reference>]` at the anchor position. For example `[[[taoup]]]`
-generates an anchor named `taoup` that displays `[taoup]` at the
-anchor position. Cite the reference from elsewhere your document using
-`<<taoup>>`, this displays a hyperlink (`[taoup]`) to the
-corresponding bibliography entry anchor.
-
-For working examples see the `article.txt` and `book.txt` documents in
-the AsciiDoc `./doc` distribution directory.
-
-NOTE: To generate valid DocBook output bibliography lists must be
-located in a <<X93,bibliography section>>.
-
-[[X15]]
-List Item Continuation
-~~~~~~~~~~~~~~~~~~~~~~
-Another list or a literal paragraph immediately following a list item
-is implicitly appended to the list item; to append other block
-elements to a list item you need to explicitly join them to the list
-item with a 'list continuation' (a separator line containing a single
-plus character). Multiple block elements can be appended to a list
-item using list continuations (provided they are legal list item
-children in the backend markup).
-
-Here are some examples of list item continuations: list item one
-contains multiple continuations; list item two is continued with an
-<<X29,OpenBlock>> containing multiple elements:
-
----------------------------------------------------------------------
-1. List item one.
-+
-List item one continued with a second paragraph followed by an
-Indented block.
-+
-.................
-$ ls *.sh
-$ mv *.sh ~/tmp
-.................
-+
-List item continued with a third paragraph.
-
-2. List item two continued with an open block.
-+
---
-This paragraph is part of the preceding list item.
-
-a. This list is nested and does not require explicit item continuation.
-+
-This paragraph is part of the preceding list item.
-
-b. List item b.
-
-This paragraph belongs to item two of the outer list.
---
----------------------------------------------------------------------
-
-Renders:
-
-1. List item one.
-+
-List item one continued with a second paragraph followed by an
-Indented block.
-+
-.................
-$ ls *.sh
-$ mv *.sh ~/tmp
-.................
-+
-List item continued with a third paragraph.
-
-2. List item two continued with an open block.
-+
---
-This paragraph is part of the preceding list item.
-
-a. This list is nested and does not require explicit item continuation.
-+
-This paragraph is part of the preceding list item.
-
-b. List item b.
-
-This paragraph belongs to item two of the outer list.
---
-
-
-[[X92]]
-Footnotes
----------
-The shipped AsciiDoc configuration includes three footnote inline
-macros:
-
-`footnote:[<text>]`::
- Generates a footnote with text `<text>`.
-
-`footnoteref:[<id>,<text>]`::
- Generates a footnote with a reference ID `<id>` and text `<text>`.
-
-`footnoteref:[<id>]`::
- Generates a reference to the footnote with ID `<id>`.
-
-The footnote text can span multiple lines.
-
-The 'xhtml11' backend renders footnotes dynamically using JavaScript;
-'html4' outputs do not use JavaScript and leave the footnotes inline;
-'docbook' footnotes are processed by the downstream DocBook toolchain.
-
-Example footnotes:
-
- A footnote footnote:[An example footnote.];
- a second footnote with a reference ID footnoteref:[note2,Second footnote.];
- finally a reference to the second footnote footnoteref:[note2].
-
-Renders:
-
-A footnote footnote:[An example footnote.];
-a second footnote with a reference ID footnoteref:[note2,Second footnote.];
-finally a reference to the second footnote footnoteref:[note2].
-
-
-Indexes
--------
-The shipped AsciiDoc configuration includes the inline macros for
-generating DocBook index entries.
-
-`indexterm:[<primary>,<secondary>,<tertiary>]`::
-`(((<primary>,<secondary>,<tertiary>)))`::
- This inline macro generates an index term (the `<secondary>` and
- `<tertiary>` positional attributes are optional). Example:
- `indexterm:[Tigers,Big cats]` (or, using the alternative syntax
- `(((Tigers,Big cats)))`. Index terms that have secondary and
- tertiary entries also generate separate index terms for the
- secondary and tertiary entries. The index terms appear in the
- index, not the primary text flow.
-
-`indexterm2:[<primary>]`::
-`((<primary>))`::
- This inline macro generates an index term that appears in both the
- index and the primary text flow. The `<primary>` should not be
- padded to the left or right with white space characters.
-
-For working examples see the `article.txt` and `book.txt` documents in
-the AsciiDoc `./doc` distribution directory.
-
-NOTE: Index entries only really make sense if you are generating
-DocBook markup -- DocBook conversion programs automatically generate
-an index at the point an 'Index' section appears in source document.
-
-
-Callouts
---------
-Callouts are a mechanism for annotating verbatim text (for example:
-source code, computer output and user input). Callout markers are
-placed inside the annotated text while the actual annotations are
-presented in a callout list after the annotated text. Here's an
-example:
-
----------------------------------------------------------------------
- .MS-DOS directory listing
- -----------------------------------------------------
- 10/17/97 9:04 <DIR> bin
- 10/16/97 14:11 <DIR> DOS \<1>
- 10/16/97 14:40 <DIR> Program Files
- 10/16/97 14:46 <DIR> TEMP
- 10/17/97 9:04 <DIR> tmp
- 10/16/97 14:37 <DIR> WINNT
- 10/16/97 14:25 119 AUTOEXEC.BAT \<2>
- 2/13/94 6:21 54,619 COMMAND.COM \<2>
- 10/16/97 14:25 115 CONFIG.SYS \<2>
- 11/16/97 17:17 61,865,984 pagefile.sys
- 2/13/94 6:21 9,349 WINA20.386 \<3>
- -----------------------------------------------------
-
- \<1> This directory holds MS-DOS.
- \<2> System startup code for DOS.
- \<3> Some sort of Windows 3.1 hack.
----------------------------------------------------------------------
-
-Which renders:
-
-.MS-DOS directory listing
------------------------------------------------------
-10/17/97 9:04 <DIR> bin
-10/16/97 14:11 <DIR> DOS <1>
-10/16/97 14:40 <DIR> Program Files
-10/16/97 14:46 <DIR> TEMP
-10/17/97 9:04 <DIR> tmp
-10/16/97 14:37 <DIR> WINNT
-10/16/97 14:25 119 AUTOEXEC.BAT <2>
- 2/13/94 6:21 54,619 COMMAND.COM <2>
-10/16/97 14:25 115 CONFIG.SYS <2>
-11/16/97 17:17 61,865,984 pagefile.sys
- 2/13/94 6:21 9,349 WINA20.386 <3>
------------------------------------------------------
-
-<1> This directory holds MS-DOS.
-<2> System startup code for DOS.
-<3> Some sort of Windows 3.1 hack.
-
-.Explanation
-- The callout marks are whole numbers enclosed in angle brackets --
- they refer to the correspondingly numbered item in the following
- callout list.
-- By default callout marks are confined to 'LiteralParagraphs',
- 'LiteralBlocks' and 'ListingBlocks' (although this is a
- configuration file option and can be changed).
-- Callout list item numbering is fairly relaxed -- list items can
- start with `<n>`, `n>` or `>` where `n` is the optional list item
- number (in the latter case list items starting with a single `>`
- character are implicitly numbered starting at one).
-- Callout lists should not be nested.
-- Callout lists start list items hard against the left margin.
-- If you want to present a number inside angle brackets you'll need to
- escape it with a backslash to prevent it being interpreted as a
- callout mark.
-
-NOTE: Define the AsciiDoc 'icons' attribute (for example using the `-a
-icons` command-line option) to display callout icons.
-
-Implementation Notes
-~~~~~~~~~~~~~~~~~~~~
-Callout marks are generated by the 'callout' inline macro while
-callout lists are generated using the 'callout' list definition. The
-'callout' macro and 'callout' list are special in that they work
-together. The 'callout' inline macro is not enabled by the normal
-'macros' substitutions option, instead it has its own 'callouts'
-substitution option.
-
-The following attributes are available during inline callout macro
-substitution:
-
-`{index}`::
- The callout list item index inside the angle brackets.
-`{coid}`::
- An identifier formatted like `CO<listnumber>-<index>` that
- uniquely identifies the callout mark. For example `CO2-4`
- identifies the fourth callout mark in the second set of callout
- marks.
-
-The `{coids}` attribute can be used during callout list item
-substitution -- it is a space delimited list of callout IDs that refer
-to the explanatory list item.
-
-Including callouts in included code
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-You can annotate working code examples with callouts -- just remember
-to put the callouts inside source code comments. This example displays
-the `test.py` source file (containing a single callout) using the
-<<X57,Source Code Highlighter Filter>>:
-
-.AsciiDoc source
----------------------------------------------------------------------
- [source,python]
- -------------------------------------------
- \include::test.py[]
- -------------------------------------------
-
- \<1> Print statement.
----------------------------------------------------------------------
-
-.Included `test.py` source
----------------------------------------------------------------------
-print 'Hello World!' # \<1>
----------------------------------------------------------------------
-
-
-Macros
-------
-Macros are a mechanism for substituting parametrized text into output
-documents.
-
-Macros have a 'name', a single 'target' argument and an 'attribute
-list'. The usual syntax is `<name>:<target>[<attrlist>]` (for
-inline macros) and `<name>::<target>[<attrlist>]` (for block
-macros). Here are some examples:
-
- http://www.docbook.org/[DocBook.org]
- include::chapt1.txt[tabsize=2]
- mailto:[email protected][]
-
-.Macro behavior
-- `<name>` is the macro name. It can only contain letters, digits or
- dash characters and cannot start with a dash.
-- The optional `<target>` cannot contain white space characters.
-- `<attrlist>` is a <<X21,list of attributes>> enclosed in square
- brackets.
-- `]` characters inside attribute lists must be escaped with a
- backslash.
-- Expansion of macro references can normally be escaped by prefixing a
- backslash character (see the AsciiDoc 'FAQ' for examples of
- exceptions to this rule).
-- Attribute references in block macros are expanded.
-- The substitutions performed prior to Inline macro macro expansion
- are determined by the inline context.
-- Macros are processed in the order they appear in the configuration
- file(s).
-- Calls to inline macros can be nested inside different inline macros
- (an inline macro call cannot contain a nested call to itself).
-- In addition to `<name>`, `<target>` and `<attrlist>` the
- `<passtext>` and `<subslist>` named groups are available to
- <<X77,passthrough macros>>. A macro is a passthrough macro if the
- definition includes a `<passtext>` named group.
-
-Inline Macros
-~~~~~~~~~~~~~
-Inline Macros occur in an inline element context. Predefined Inline
-macros include 'URLs', 'image' and 'link' macros.
-
-URLs
-^^^^
-'http', 'https', 'ftp', 'file', 'mailto' and 'callto' URLs are
-rendered using predefined inline macros.
-
-- If you don't need a custom link caption you can enter the 'http',
- 'https', 'ftp', 'file' URLs and email addresses without any special
- macro syntax.
-- If the `<attrlist>` is empty the URL is displayed.
-
-Here are some examples:
-
- http://www.docbook.org/[DocBook.org]
- http://www.docbook.org/
- mailto:[email protected][email Joe Bloggs]
- joe.bloggs(a)foobar.com
-
-Which are rendered:
-
-http://www.docbook.org/[DocBook.org]
-
-http://www.docbook.org/
-
-mailto:[email protected][email Joe Bloggs]
-
-joe.bloggs(a)foobar.com
-
-If the `<target>` necessitates space characters use `%20`, for example
-`large%20image.png`.
-
-Internal Cross References
-^^^^^^^^^^^^^^^^^^^^^^^^^
-Two AsciiDoc inline macros are provided for creating hypertext links
-within an AsciiDoc document. You can use either the standard macro
-syntax or the (preferred) alternative.
-
-[[X30]]
-anchor
-++++++
-Used to specify hypertext link targets:
-
- [[<id>,<xreflabel>]]
- anchor:<id>[<xreflabel>]
-
-The `<id>` is a unique string that conforms to the output markup's
-anchor syntax. The optional `<xreflabel>` is the text to be displayed
-by captionless 'xref' macros that refer to this anchor. The optional
-`<xreflabel>` is only really useful when generating DocBook output.
-Example anchor:
-
- [[X1]]
-
-You may have noticed that the syntax of this inline element is the
-same as that of the <<X41,BlockId block element>>, this is no
-coincidence since they are functionally equivalent.
-
-xref
-++++
-Creates a hypertext link to a document anchor.
-
- <<<id>,<caption>>>
- xref:<id>[<caption>]
-
-The `<id>` refers to an anchor ID. The optional `<caption>` is the
-link's displayed text. Example:
-
- <<X21,attribute lists>>
-
-If `<caption>` is not specified then the displayed text is
-auto-generated:
-
-- The AsciiDoc `xhtml11` backend displays the `<id>` enclosed in
- square brackets.
-- If DocBook is produced the DocBook toolchain is responsible for the
- displayed text which will normally be the referenced figure, table
- or section title number followed by the element's title text.
-
-Here is an example:
-
----------------------------------------------------------------------
-[[tiger_image]]
-.Tyger tyger
-image::tiger.png[]
-
-This can be seen in <<tiger_image>>.
----------------------------------------------------------------------
-
-Linking to Local Documents
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-Hypertext links to files on the local file system are specified using
-the 'link' inline macro.
-
- link:<target>[<caption>]
-
-The 'link' macro generates relative URLs. The link macro `<target>` is
-the target file name (relative to the file system location of the
-referring document). The optional `<caption>` is the link's displayed
-text. If `<caption>` is not specified then `<target>` is displayed.
-Example:
-
- link:downloads/foo.zip[download foo.zip]
-
-You can use the `<filename>#<id>` syntax to refer to an anchor within
-a target document but this usually only makes sense when targeting
-HTML documents.
-
-[[X9]]
-Images
-^^^^^^
-Inline images are inserted into the output document using the 'image'
-macro. The inline syntax is:
-
- image:<target>[<attributes>]
-
-The contents of the image file `<target>` is displayed. To display the
-image its file format must be supported by the target backend
-application. HTML and DocBook applications normally support PNG or JPG
-files.
-
-`<target>` file name paths are relative to the location of the
-referring document.
-
-[[X55]]
-.Image macro attributes
-- The optional 'alt' attribute is also the first positional attribute,
- it specifies alternative text which is displayed if the output
- application is unable to display the image file (see also
- http://htmlhelp.com/feature/art3.htm[Use of ALT texts in IMGs]). For
- example:
-
- image:images/logo.png[Company Logo]
-
-- The optional 'title' attribute provides a title for the image. The
- <<X49,block image macro>> renders the title alongside the image.
- The inline image macro displays the title as a popup ``tooltip'' in
- visual browsers (AsciiDoc HTML outputs only).
-
-- The optional `width` and `height` attributes scale the image size
- and can be used in any combination. The units are pixels. The
- following example scales the previous example to a height of 32
- pixels:
-
- image:images/logo.png["Company Logo",height=32]
-
-- The optional `link` attribute is used to link the image to an
- external document. The following example links a screenshot
- thumbnail to a full size version:
-
- image:screen-thumbnail.png[height=32,link="screen.png"]
-
-- The optional `scaledwidth` attribute is only used in DocBook block
- images (specifically for PDF documents). The following example
- scales the images to 75% of the available print width:
-
- image::images/logo.png[scaledwidth="75%",alt="Company Logo"]
-
-- The image `scale` attribute sets the DocBook `imagedata` element
- `scale` attribute.
-
-- The optional `align` attribute is used for horizontal image
- alignment. Allowed values are `center`, `left` and `right`. For
- example:
-
- image::images/tiger.png["Tiger image",align="left"]
-
-- The optional `float` attribute floats the image `left` or `right` on
- the page (works with HTML outputs only, has no effect on DocBook
- outputs). `float` and `align` attributes are mutually exclusive.
- Use the `unfloat::[]` block macro to stop floating.
-
-Comment Lines
-^^^^^^^^^^^^^
-See <<X25,comment block macro>>.
-
-Block Macros
-~~~~~~~~~~~~
-A Block macro reference must be contained in a single line separated
-either side by a blank line or a block delimiter.
-
-Block macros behave just like Inline macros, with the following
-differences:
-
-- They occur in a block context.
-- The default syntax is `<name>::<target>[<attrlist>]` (two
- colons, not one).
-- Markup template section names end in `-blockmacro` instead of
- `-inlinemacro`.
-
-Block Identifier
-^^^^^^^^^^^^^^^^
-The Block Identifier macro sets the `id` attribute and has the same
-syntax as the <<X30,anchor inline macro>> since it performs
-essentially the same function -- block templates use the `id`
-attribute as a block element ID. For example:
-
- [[X30]]
-
-This is equivalent to the `[id="X30"]` <<X79,AttributeList element>>).
-
-[[X49]]
-Images
-^^^^^^
-The 'image' block macro is used to display images in a block context.
-The syntax is:
-
- image::<target>[<attributes>]
-
-The block `image` macro has the same <<X55,macro attributes>> as it's
-<<X9,inline image macro>> counterpart.
-
-Block images can be titled by preceding the 'image' macro with a
-'BlockTitle'. DocBook toolchains normally number titled block images
-and optionally list them in an automatically generated 'List of
-Figures' backmatter section.
-
-This example:
-
- .Main circuit board
- image::images/layout.png[J14P main circuit board]
-
-is equivalent to:
-
- image::images/layout.png["J14P main circuit board",
- title="Main circuit board"]
-
-A title prefix that can be inserted with the `caption` attribute
-(`xhtml11` and `html4` backends). For example:
-
- .Main circuit board
- [caption="Figure 2: "]
- image::images/layout.png[J14P main circuit board]
-
-[[X66]]
-.Embedding images in XHTML documents
-*********************************************************************
-If you define the `data-uri` attribute then images will be embedded in
-XHTML outputs using the
-http://en.wikipedia.org/wiki/Data:_URI_scheme[data URI scheme]. You
-can use the 'data-uri' attribute with the 'xhtml11' backend to produce
-single-file XHTML documents with embedded images and CSS, for example:
-
- $ asciidoc -a data-uri mydocument.txt
-
-[NOTE]
-======
-- All current popular browsers support data URIs, although versions
- of Internet Explorer prior to version 8 do not.
-- Some browsers limit the size of data URIs.
-======
-*********************************************************************
-
-[[X25]]
-Comment Lines
-^^^^^^^^^^^^^
-Single lines starting with two forward slashes hard up against the
-left margin are treated as comments. Comment lines do not appear in
-the output unless the 'showcomments' attribute is defined. Comment
-lines have been implemented as both block and inline macros so a
-comment line can appear as a stand-alone block or within block elements
-that support inline macro expansion. Example comment line:
-
- // This is a comment.
-
-If the 'showcomments' attribute is defined comment lines are written
-to the output:
-
-- In DocBook the comment lines are enclosed by the 'remark' element
- (which may or may not be rendered by your toolchain).
-- The 'showcomments' attribute does not expose <<X26,Comment Blocks>>.
- Comment Blocks are never passed to the output.
-
-System Macros
-~~~~~~~~~~~~~
-System macros are block macros that perform a predefined task and are
-hardwired into the asciidoc(1) program.
-
-- You can escape system macros with a leading backslash character
- (as you can with other macros).
-- The syntax and tasks performed by system macros is built into
- asciidoc(1) so they don't appear in configuration files. You can
- however customize the syntax by adding entries to a configuration
- file `[macros]` section.
-
-[[X63]]
-Include Macros
-^^^^^^^^^^^^^^
-The `include` and `include1` system macros to include the contents of
-a named file into the source document.
-
-The `include` macro includes a file as if it were part of the parent
-document -- tabs are expanded and system macros processed. The
-contents of `include1` files are not subject to tab expansion or
-system macro processing nor are attribute or lower priority
-substitutions performed. The `include1` macro's intended use is to
-include verbatim embedded CSS or scripts into configuration file
-headers. Example:
-
-------------------------------------
-\include::chapter1.txt[tabsize=4]
-------------------------------------
-
-.Include macro behavior
-- If the included file name is specified with a relative path then the
- path is relative to the location of the referring document.
-- Include macros can appear inside configuration files.
-- Files included from within 'DelimitedBlocks' are read to completion
- to avoid false end-of-block underline termination.
-- Attribute references are expanded inside the include 'target'; if an
- attribute is undefined then the included file is silently skipped.
-- The 'tabsize' macro attribute sets the number of space characters to
- be used for tab expansion in the included file (not applicable to
- `include1` macro).
-- The 'depth' macro attribute sets the maximum permitted number of
- subsequent nested includes (not applicable to `include1` macro which
- does not process nested includes). Setting 'depth' to '1' disables
- nesting inside the included file. By default, nesting is limited to
- a depth of five.
-- Internally the `include1` macro is translated to the `include1`
- system attribute which means it must be evaluated in a region where
- attribute substitution is enabled. To inhibit nested substitution in
- included files it is preferable to use the `include` macro and set
- the attribute `depth=1`.
-
-Conditional Inclusion Macros
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Lines of text in the source document can be selectively included or
-excluded from processing based on the existence (or not) of a document
-attribute.
-
-Document text between the `ifdef` and `endif` macros is included if a
-document attribute is defined:
-
- ifdef::<attribute>[]
- :
- endif::<attribute>[]
-
-Document text between the `ifndef` and `endif` macros is not included
-if a document attribute is defined:
-
- ifndef::<attribute>[]
- :
- endif::<attribute>[]
-
-`<attribute>` is an attribute name which is optional in the trailing
-`endif` macro.
-
-If you only want to process a single line of text then the text can be
-put inside the square brackets and the `endif` macro omitted, for
-example:
-
- ifdef::revnumber[Version number 42]
-
-Is equivalent to:
-
- ifdef::revnumber[]
- Version number 42
- endif::revnumber[]
-
-'ifdef' and 'ifndef' macros also accept multiple attribute names:
-
-- Multiple ',' separated attribute names evaluate to defined if if one
- or more of the attributes is defined, otherwise it's value is
- undefined.
-- Multiple '+' separated attribute names evaluate to defined if if all
- of the attributes is defined, otherwise it's value is undefined.
-
-Document text between the `ifeval` and `endif` macros is included if
-the Python expression inside the square brackets is true. Example:
-
- ifeval::[{rs458}==2]]
- :
- endif::[]
-
-- Document attribute references are expanded before the expression is
- evaluated.
-- If an attribute reference is undefined then the expression is
- considered false.
-
-Take a look at the `*.conf` configuration files in the AsciiDoc
-distribution for examples of conditional inclusion macro usage.
-
-Executable system macros
-^^^^^^^^^^^^^^^^^^^^^^^^
-The 'eval', 'sys' and 'sys2' block macros exhibit the same behavior as
-their same named <<X24, system attribute references>>. The difference
-is that system macros occur in a block macro context whereas system
-attributes are confined to inline contexts where attribute
-substitution is enabled.
-
-The following example displays a long directory listing inside a
-literal block:
-
- ------------------
- sys::[ls -l *.txt]
- ------------------
-
-NOTE: There are no block macro versions of the 'eval3' and 'sys3'
-system attributes.
-
-Template System Macro
-^^^^^^^^^^^^^^^^^^^^^
-The `template` block macro allows the inclusion of one configuration
-file template section within another. The following example includes
-the `[admonitionblock]` section in the `[admonitionparagraph]`
-section:
-
- [admonitionparagraph]
- template::[admonitionblock]
-
-.Template macro behavior
-- The `template::[]` macro is useful for factoring configuration file
- markup.
-- `template::[]` macros cannot be nested.
-- `template::[]` macro expansion is applied to all sections
- after all configuration files have been read.
-
-
-[[X77]]
-Passthrough macros
-~~~~~~~~~~~~~~~~~~
-Passthrough macros are analogous to <<X76,passthrough blocks>> and are
-used to pass text directly to the output. The substitution performed
-on the text is determined by the macro definition but can be overridden
-by the `<subslist>`. The usual syntax is
-`<name>:<subslist>[<passtext>]` (for inline macros) and
-`<name>::<subslist>[<passtext>]` (for block macros).
-
-pass::
- Inline and block. Passes text unmodified (apart from explicitly
- specified substitutions). Examples:
-
- pass:[<q>To be or not to be</q>]
- pass:attributes,quotes[<u>the '{author}'</u>]
-
-asciimath, latexmath::
- Inline and block. Passes text unmodified. Used for
- <<X78,mathematical formulas>>.
-
-\+++::
- Inline and block. The triple-plus passthrough is functionally
- identical to the 'pass' macro but you don't have to escape `]`
- characters and you can prefix with quoted attributes in the inline
- version. Example:
-
- Red [red]+++`sum_(i=1)\^n i=(n(n+1))/2`$+++ AsciiMathML formula
-
-$$::
- Inline and block. The double-dollar passthrough is functionally
- identical to the triple-plus passthrough with one exception: special
- characters are escaped. Example:
-
- $$`[[a,b],[c,d]]((n),(k))`$$
-
-[[X80]]`::
- Text quoted with single backtick characters constitutes an 'inline
- literal' passthrough. The enclosed text is rendered in a monospaced
- font and is only subject to special character substitution. This
- makes sense since monospace text is usually intended to be rendered
- literally and often contains characters that would otherwise have to
- be escaped. If you need monospaced text containing inline
- substitutions use a <<X81,plus character instead of a backtick>>.
-
-Macro Definitions
-~~~~~~~~~~~~~~~~~
-Each entry in the configuration `[macros]` section is a macro
-definition which can take one of the following forms:
-
-`<pattern>=<name>[<subslist]`:: Inline macro definition.
-`<pattern>=#<name>[<subslist]`:: Block macro definition.
-`<pattern>=+<name>[<subslist]`:: System macro definition.
-`<pattern>`:: Delete the existing macro with this `<pattern>`.
-
-`<pattern>` is a Python regular expression and `<name>` is the name of
-a markup template. If `<name>` is omitted then it is the value of the
-regular expression match group named 'name'. The optional
-`[<subslist]` is a comma-separated list of substitution names enclosed
-in `[]` brackets, it sets the default substitutions for passthrough
-text, if omitted then no passthrough substitutions are performed.
-
-.Pattern named groups
-The following named groups can be used in macro `<pattern>` regular
-expressions and are available as markup template attributes:
-
-name::
- The macro name.
-
-target::
- The macro target.
-
-attrlist::
- The macro attribute list.
-
-passtext::
- Contents of this group are passed unmodified to the output subject
- only to 'subslist' substitutions.
-
-subslist::
- Processed as a comma-separated list of substitution names for
- 'passtext' substitution, overrides the the macro definition
- 'subslist'.
-
-.Here's what happens during macro substitution
-- Each contextually relevant macro 'pattern' from the `[macros]`
- section is matched against the input source line.
-- If a match is found the text to be substituted is loaded from a
- configuration markup template section named like
- `<name>-inlinemacro` or `<name>-blockmacro` (depending on the macro
- type).
-- Global and macro attribute list attributes are substituted in the
- macro's markup template.
-- The substituted template replaces the macro reference in the output
- document.
-
-
-Tables
-------
-The AsciiDoc table syntax looks and behaves like other delimited block
-types and supports standard <<X73,block configuration entries>>.
-Formatting is easy to read and, just as importantly, easy to enter.
-
-- Cells and columns can be formatted using built-in customizable styles.
-- Horizontal and vertical cell alignment can be set on columns and
- cell.
-- Horizontal and vertical cell spanning is supported.
-
-.Use tables sparingly
-*********************************************************************
-When technical users first start creating documents, tables (complete
-with column spanning and table nesting) are often considered very
-important. The reality is that tables are seldom used, even in
-technical documentation.
-
-Try this exercise: thumb through your library of technical books,
-you'll be surprised just how seldom tables are actually used, even
-less seldom are tables containing block elements (such as paragraphs
-or lists) or spanned cells. This is no accident, like figures, tables
-are outside the normal document flow -- tables are for consulting not
-for reading.
-
-Tables are designed for, and should normally only be used for,
-displaying column oriented tabular data.
-*********************************************************************
-
-Example tables
-~~~~~~~~~~~~~~
-
-.Simple table
-[width="15%"]
-|=======
-|1 |2 |A
-|3 |4 |B
-|5 |6 |C
-|=======
-
-.AsciiDoc source
----------------------------------------------------------------------
-[width="15%"]
-|=======
-|1 |2 |A
-|3 |4 |B
-|5 |6 |C
-|=======
----------------------------------------------------------------------
-
-.Columns formatted with strong, monospaced and emphasis styles
-[width="50%",cols=">s,^m,e",frame="topbot",options="header,footer"]
-|==========================
-| 2+|Columns 2 and 3
-|1 |Item 1 |Item 1
-|2 |Item 2 |Item 2
-|3 |Item 3 |Item 3
-|4 |Item 4 |Item 4
-|footer 1|footer 2|footer 3
-|==========================
-
-.AsciiDoc source
----------------------------------------------------------------------
-.An example table
-[width="50%",cols=">s,^m,e",frame="topbot",options="header,footer"]
-|==========================
-| 2+|Columns 2 and 3
-|1 |Item 1 |Item 1
-|2 |Item 2 |Item 2
-|3 |Item 3 |Item 3
-|4 |Item 4 |Item 4
-|footer 1|footer 2|footer 3
-|==========================
----------------------------------------------------------------------
-
-.Horizontal and vertical source data
-[width="80%",cols="3,^2,^2,10",options="header"]
-|=========================================================
-|Date |Duration |Avg HR |Notes
-
-|22-Aug-08 |10:24 | 157 |
-Worked out MSHR (max sustainable heart rate) by going hard
-for this interval.
-
-|22-Aug-08 |23:03 | 152 |
-Back-to-back with previous interval.
-
-|24-Aug-08 |40:00 | 145 |
-Moderately hard interspersed with 3x 3min intervals (2min
-hard + 1min really hard taking the HR up to 160).
-
-|=========================================================
-
-Short cells can be entered horizontally, longer cells vertically. The
-default behavior is to strip leading and trailing blank lines within a
-cell. These characteristics aid readability and data entry.
-
-.AsciiDoc source
----------------------------------------------------------------------
-.Windtrainer workouts
-[width="80%",cols="3,^2,^2,10",options="header"]
-|=========================================================
-|Date |Duration |Avg HR |Notes
-
-|22-Aug-08 |10:24 | 157 |
-Worked out MSHR (max sustainable heart rate) by going hard
-for this interval.
-
-|22-Aug-08 |23:03 | 152 |
-Back-to-back with previous interval.
-
-|24-Aug-08 |40:00 | 145 |
-Moderately hard interspersed with 3x 3min intervals (2min
-hard + 1min really hard taking the HR up to 160).
-
-|=========================================================
----------------------------------------------------------------------
-
-.A table with externally sourced CSV data
-[format="csv",cols="^1,4*2",options="header"]
-|===================================================
-ID,Customer Name,Contact Name,Customer Address,Phone
-include::customers.csv[]
-|===================================================
-
-.AsciiDoc source
----------------------------------------------------------------------
-[format="csv",cols="^1,4*2",options="header"]
-|===================================================
-ID,Customer Name,Contact Name,Customer Address,Phone
-\include::customers.csv[]
-|===================================================
----------------------------------------------------------------------
-
-
-.Cell spans, alignments and styles
-[cols="e,m,^,>s",width="25%"]
-|============================
-|1 >s|2 |3 |4
-^|5 2.2+^.^|6 .3+<.>m|7
-^|8
-|9 2+>|10
-|============================
-
-.AsciiDoc source
----------------------------------------------------------------------
-[cols="e,m,^,>s",width="25%"]
-|============================
-|1 >s|2 |3 |4
-^|5 2.2+^.^|6 .3+<.>m|7
-^|8
-|9 2+>|10
-|============================
----------------------------------------------------------------------
-
-[[X68]]
-Table input data formats
-~~~~~~~~~~~~~~~~~~~~~~~~
-AsciiDoc table data can be 'psv', 'dsv' or 'csv' formatted. The
-default table format is 'psv'.
-
-AsciiDoc 'psv' ('Prefix Separated Values') and 'dsv' ('Delimiter
-Separated Values') formats are cell oriented -- the table is treated
-as a sequence of cells -- there are no explicit row separators.
-
-- 'psv' prefixes each cell with a separator whereas 'dsv' delimits
- cells with a separator.
-- 'psv' and 'dsv' separators are Python regular expressions.
-- The default 'psv' separator contains <<X84, cell specifier>> related
- named regular expression groups.
-- The default 'dsv' separator is `:|\n` (a colon or a new line
- character).
-- 'psv' and 'dsv' cell separators can be escaped by preceding them
- with a backslash character.
-
-Here are four 'psv' cells (the second item spans two columns; the
-last contains an escaped separator):
-
- |One 2+|Two and three |A \| separator character
-
-'csv' is the quasi-standard row oriented 'Comma Separated Values
-(CSV)' format commonly used to import and export spreadsheet and
-database data.
-
-[[X69]]
-Table attributes
-~~~~~~~~~~~~~~~~
-Tables can be customized by the following attributes:
-
-format::
-'psv' (default), 'dsv' or 'csv' (See <<X68, Table Data Formats>>).
-
-separator::
-The cell separator. A Python regular expression ('psv' and 'dsv'
-formats) or a single character ('csv' format).
-
-frame::
-Defines the table border and can take the following values: 'topbot'
-(top and bottom), 'all' (all sides), 'none' and 'sides' (left and
-right sides). The default value is 'all'.
-
-grid::
-Defines which ruler lines are drawn between table rows and columns.
-The 'grid' attribute value can be any of the following values: 'none',
-'cols', 'rows' and 'all'. The default value is 'all'.
-
-align::
-Use the 'align' attribute to horizontally align the table on the
-page (works with HTML outputs only, has no effect on DocBook outputs).
-The following values are valid: 'left', 'right', and 'center'.
-
-float::
-Use the 'float' attribute to float the table 'left' or 'right' on the
-page (works with HTML outputs only, has no effect on DocBook outputs).
-Floating only makes sense in conjunction with a table 'width'
-attribute value of less than 100% (otherwise the table will take up
-all the available space). 'float' and 'align' attributes are mutually
-exclusive. Use the `unfloat::[]` block macro to stop floating.
-
-halign::
-Use the 'halign' attribute to horizontally align all cells in a table.
-The following values are valid: 'left', 'right', and 'center'
-(defaults to 'left'). Overridden by <<X70,Column specifiers>> and
-<<X84,Cell specifiers>>.
-
-valign::
-Use the 'valign' attribute to vertically align all cells in a table.
-The following values are valid: 'top', 'bottom', and 'middle'
-(defaults to 'top'). Overridden by <<X70,Column specifiers>> and
-<<X84,Cell specifiers>>.
-
-options::
-The 'options' attribute can contain comma separated values, for
-example: 'header', 'footer'. By default header and footer rows are
-omitted. See <<X74,attribute options>> for a complete list of
-available table options.
-
-cols::
-The 'cols' attribute is a comma separated list of <<X70,column
-specifiers>>. For example `cols="2<p,2*,4p,>"`.
-
-- If 'cols' is present it must specify all columns.
-- If the 'cols' attribute is not specified the number of columns is
- calculated as the number of data items in the *first line* of the
- table.
-- The degenerate form for the 'cols' attribute is an integer
- specifying the number of columns e.g. `cols=4`.
-
-width::
-The 'width' attribute is expressed as a percentage value
-('"1%"'...'"99%"'). The width specifies the table width relative to
-the available width. HTML backends use this value to set the table
-width attribute. It's a bit more complicated with DocBook, see the
-<<X89,DocBook table widths>> sidebar.
-
-filter::
-The 'filter' attribute defines an external shell command that is
-invoked for each cell. The built-in 'asciidoc' table style is
-implemented using a filter.
-
-[[X89]]
-.DocBook table widths
-**********************************************************************
-The AsciiDoc docbook backend generates CALS tables. CALS tables do not
-support a table width attribute -- table width can only be controlled
-by specifying absolute column widths.
-
-Specifying absolute column widths is not media independent because
-different presentation media have different physical dimensions. To
-get round this limitation both
-http://www.sagehill.net/docbookxsl/Tables.html#TableWidth[DocBook XSL
-Stylesheets] and
-http://dblatex.sourceforge.net/doc/manual/ch03s05.html#sec-table-width[dblatex]
-have implemented table width processing instructions for setting the
-table width as a percentage of the available width. AsciiDoc emits
-these processing instructions if the 'width' attribute is set along
-with proportional column widths (the AsciiDoc docbook backend
-'pageunits' attribute defaults to '*').
-
-To generate DocBook tables with absolute column widths set the
-'pageunits' attribute to a CALS absolute unit such as 'pt' and set the
-'pagewidth' attribute to match the width of the presentation media.
-**********************************************************************
-
-[[X70]]
-Column Specifiers
-~~~~~~~~~~~~~~~~~
-Column specifiers define how columns are rendered and appear in the
-table <<X69,cols attribute>>. A column specifier consists of an
-optional column multiplier followed by optional alignment, width and
-style values and is formatted like:
-
- [<multiplier>*][<align>][<width>][<style>]
-
-- All components are optional. The multiplier must be first and the
- style last. The order of `<align>` or `<width>` is not important.
-- Column `<width>` can be either an integer proportional value (1...)
- or a percentage (1%...100%). The default value is 1. To ensure
- portability across different backends, there is no provision for
- absolute column widths (not to be confused with output column width
- <<X72,markup attributes>> which are available in both percentage and
- absolute units).
-- The '<align>' column alignment specifier is formatted like:
-
- [<horizontal>][.<vertical>]
-+
-Where `<horizontal>` and `<vertical>` are one of the following
-characters: `<`, `^` or `>` which represent 'left', 'center' and
-'right' horizontal alignment or 'top', 'middle' and 'bottom' vertical
-alignment respectively.
-
-- A `<multiplier>` can be used to specify repeated columns e.g.
- `cols="4*<"` specifies four left-justified columns. The default
- multiplier value is 1.
-- The `<style>` name specifies a <<X71,table style>> to used to markup
- column cells (you can use the full style names if you wish but the
- first letter is normally sufficient).
-- Column specific styles are not applied to header rows.
-
-[[X84]]
-Cell Specifiers
-~~~~~~~~~~~~~~~
-Cell specifiers allow individual cells in 'psv' formatted tables to be
-spanned, multiplied, aligned and styled. Cell specifiers prefix 'psv'
-`|` delimiters and are formatted like:
-
- [<span>*|+][<align>][<style>]
-
-- '<span>' specifies horizontal and vertical cell spans ('+' operator) or
- the number of times the cell is replicated ('*' operator). '<span>'
- is formatted like:
-
- [<colspan>][.<rowspan>]
-+
-Where `<colspan>` and `<rowspan>` are integers specifying the number of
-columns and rows to span.
-
-- `<align>` specifies horizontal and vertical cell alignment an is the
- same as in <<X70,column specifiers>>.
-- A `<style>` value is the first letter of <<X71,table style>> name.
-
-For example, the following 'psv' formatted cell will span two columns
-and the text will be centered and emphasized:
-
- `2+^e| Cell text`
-
-[[X71]]
-Table styles
-~~~~~~~~~~~~
-Table styles can be applied to the entire table (by setting the
-'style' attribute in the table's attribute list) or on a per column
-basis (by specifying the style in the table's <<X69,cols attribute>>).
-Table data can be formatted using the following predefined styles:
-
-default::
-The default style: AsciiDoc inline text formatting; blank lines are
-treated as paragraph breaks.
-
-emphasis::
-Like default but all text is emphasised.
-
-monospaced::
-Like default but all text is in a monospaced font.
-
-strong::
-Like default but all text is bold.
-
-header::
-Apply the same style as the table header. Normally used to create a
-vertical header in the first column.
-
-asciidoc::
-With this style table cells can contain any of the AsciiDoc elements
-that are allowed inside document sections. This style runs asciidoc(1)
-as a filter to process cell contents. See also <<X83,Docbook table
-limitations>>.
-
-literal::
-No text formatting; monospaced font; all line breaks are retained
-(the same as the AsciiDoc <<X65,LiteralBlock>> element).
-
-verse::
-All line breaks are retained (just like the AsciiDoc <<X94,verse
-paragraph style>>).
-
-[[X72]]
-Markup attributes
-~~~~~~~~~~~~~~~~~
-AsciiDoc makes a number of attributes available to table markup
-templates and tags. Column specific attributes are available when
-substituting the 'colspec' cell data tags.
-
-pageunits::
-DocBook backend only. Specifies table column absolute width units.
-Defaults to '*'.
-
-pagewidth::
-DocBook backend only. The nominal output page width in 'pageunit'
-units. Used to calculate CALS tables absolute column and table
-widths. Defaults to '425'.
-
-tableabswidth::
-Integer value calculated from 'width' and 'pagewidth' attributes.
-In 'pageunit' units.
-
-tablepcwidth::
-Table width expressed as a percentage of the available width. Integer
-value (0..100).
-
-colabswidth::
-Integer value calculated from 'cols' column width, 'width' and
-'pagewidth' attributes. In 'pageunit' units.
-
-colpcwidth::
-Column width expressed as a percentage of the table width. Integer
-value (0..100).
-
-colcount::
-Total number of table columns.
-
-rowcount::
-Total number of table rows.
-
-halign::
-Horizontal cell content alignment: 'left', 'right' or 'center'.
-
-valign::
-Vertical cell content alignment: 'top', 'bottom' or 'middle'.
-
-colnumber, colstart::
-The number of the leftmost column occupied by the cell (1...).
-
-colend::
-The number of the rightmost column occupied by the cell (1...).
-
-colspan::
-Number of columns the cell should span.
-
-rowspan::
-Number of rows the cell should span (1...).
-
-morerows::
-Number of additional rows the cell should span (0...).
-
-Nested tables
-~~~~~~~~~~~~~
-An alternative 'psv' separator character '!' can be used (instead of
-'|') in nested tables. This allows a single level of table nesting.
-Columns containing nested tables must use the 'asciidoc' style. An
-example can be found in `./examples/website/newtables.txt`.
-
-[[X83]]
-DocBook table limitations
-~~~~~~~~~~~~~~~~~~~~~~~~~
-Fully implementing tables is not trivial, some DocBook toolchains do
-better than others. AsciiDoc HTML table outputs are rendered
-correctly in all the popular browsers -- if your DocBook generated
-tables don't look right compare them with the output generated by the
-AsciiDoc 'xhtml11' backend or try a different DocBook toolchain. Here
-is a list of things to be aware of:
-
-- Although nested tables are not legal in DocBook 4 the FOP and
- dblatex toolchains will process them correctly. If you use `a2x(1)`
- you will need to include the `--no-xmllint` option to suppress
- DocBook validation errors.
-+
-NOTE: Technically you can nest DocBook 4 tables one level using the
-'entrytbl' element, but not all toolchains process 'entrytbl'.
-
-- DocBook only allows a subset of block elements inside table cells so
- not all AsciiDoc elements produce valid DocBook inside table cells.
- If you get validation errors running `a2x(1)` try the `--no-xmllint`
- option, toolchains will often process nested block elements such as
- sidebar blocks and floating titles correctly even though, strictly
- speaking, they are not legal.
-
-- Text formatting in cells using the 'monospaced' table style will
- raise validation errors because the DocBook 'literal' element was
- not designed to support formatted text (using the 'literal' element
- is a kludge on the part of AsciiDoc as there is no easy way to set
- the font style in DocBook.
-
-- Cell alignments are ignored for 'verse', 'literal' or 'asciidoc'
- table styles.
-
-
-[[X1]]
-Manpage Documents
------------------
-Sooner or later, if you program in a UNIX environment, you're going
-to have to write a man page.
-
-By observing a couple of additional conventions you can compose
-AsciiDoc files that will generate DocBook refentry (man page)
-documents. The resulting DocBook file can then be translated to the
-native roff man page format (or other formats).
-
-For example, the `asciidoc.1.txt` file in the AsciiDoc distribution
-`./doc` directory was used to generate both the
-`asciidoc.1.css-embedded.html` HTML file the `asciidoc.1` roff
-formatted `asciidoc(1)` man page.
-
-.Viewing and printing manpage files
-**********************************************************************
-Use the `man(1)` command to view the manpage file:
-
- $ man -l asciidoc.1
-
-To print a high quality man page to a postscript printer:
-
- $ man -l -Tps asciidoc.1 | lpr
-
-You could also create a PDF version of the man page by converting
-PostScript to PDF using `ps2pdf(1)`:
-
- $ man -l -Tps asciidoc.1 | ps2pdf - asciidoc.1.pdf
-
-The `ps2pdf(1)` command is included in the Ghostscript distribution.
-**********************************************************************
-
-To find out more about man pages view the `man(7)` manpage
-(`man 7 man` and `man man-pages` commands).
-
-
-Document Header
-~~~~~~~~~~~~~~~
-A manpage document Header is mandatory. The title line contains the
-man page name followed immediately by the manual section number in
-brackets, for example 'ASCIIDOC(1)'. The title name should not contain
-white space and the manual section number is a single digit optionally
-followed by a single character.
-
-The NAME Section
-~~~~~~~~~~~~~~~~
-The first manpage section is mandatory, must be titled 'NAME' and must
-contain a single paragraph (usually a single line) consisting of a
-list of one or more comma separated command name(s) separated from the
-command purpose by a dash character. The dash must have at least one
-white space character on either side. For example:
-
- printf, fprintf, sprintf - print formatted output
-
-The SYNOPSIS Section
-~~~~~~~~~~~~~~~~~~~~
-The second manpage section is mandatory and must be titled 'SYNOPSIS'.
-
-refmiscinfo attributes
-~~~~~~~~~~~~~~~~~~~~~~
-In addition to the automatically created man page <<X60,intrinsic
-attributes>> you can assign DocBook
-http://www.docbook.org/tdg5/en/html/refmiscinfo.html[refmiscinfo]
-element 'source', 'version' and 'manual' values using AsciiDoc
-`{mansource}`, `{manversion}` and `{manmanual}` attributes
-respectively. This example is from the AsciiDoc header of a man page
-source file:
-
- :man source: AsciiDoc
- :man version: {revnumber}
- :man manual: AsciiDoc Manual
-
-
-[[X78]]
-Mathematical Formulas
----------------------
-The 'asciimath' and 'latexmath' <<X77,passthrough macros>> along with
-'asciimath' and 'latexmath' <<X76,passthrough blocks>> provide a
-(backend dependent) mechanism for rendering mathematical formulas. You
-can use the following math markups:
-
-NOTE: The 'latexmath' macro used to include 'LaTeX Math' in DocBook
-outputs is not the same as the 'latexmath' macro used to include
-'LaTeX MathML' in XHTML outputs. 'LaTeX Math' applies to DocBook
-outputs that are processed by <<X31,dblatex>> and is normally used to
-generate PDF files. 'LaTeXMathML' is very much a subset of 'LaTeX
-Math' and applies to XHTML documents.
-
-LaTeX Math
-~~~~~~~~~~
-ftp://ftp.ams.org/pub/tex/doc/amsmath/short-math-guide.pdf[LaTeX
-math] can be included in documents that are processed by
-<<X31,dblatex(1)>>. Example inline formula:
-
- latexmath:[$C = \alpha + \beta Y^{\gamma} + \epsilon$]
-
-For more examples see the {website}[AsciiDoc website] or the
-distributed `doc/latexmath.txt` file.
-
-ASCIIMathML
-~~~~~~~~~~~
-/////////////////////////////////////////////////////////////////////
-The older ASCIIMathML 1.47 version is used instead of version 2
-because:
-
-1. Version 2 doesn't work when embedded.
-2. Version 2 is much larger.
-/////////////////////////////////////////////////////////////////////
-
-http://www1.chapman.edu/~jipsen/mathml/asciimath.html[ASCIIMathML]
-formulas can be included in XHTML documents generated using the
-'xhtml11' backend. To enable ASCIIMathML support you must define the
-'asciimath' attribute, for example using the `-a asciimath`
-command-line option. Example inline formula:
-
- asciimath:[`x/x={(1,if x!=0),(text{undefined},if x=0):}`]
-
-For more examples see the {website}[AsciiDoc website] or the
-distributed `doc/asciimathml.txt` file.
-
-LaTeXMathML
-~~~~~~~~~~~
-/////////////////////////////////////////////////////////////////////
-There is an http://math.etsu.edu/LaTeXMathML/[extended LaTeXMathML
-version] by Jeff Knisley, in addition to a JavaScript file it requires
-the inclusion of a CSS file.
-/////////////////////////////////////////////////////////////////////
-
-'LaTeXMathML' allows LaTeX Math style formulas to be included in XHTML
-documents generated using the AsciiDoc 'xhtml11' backend. AsciiDoc
-uses the
-http://www.maths.nottingham.ac.uk/personal/drw/lm.html[original
-LaTeXMathML] by Douglas Woodall. 'LaTeXMathML' is derived from
-ASCIIMathML and is for users who are more familiar with or prefer
-using LaTeX math formulas (it recognizes a subset of LaTeX Math, the
-differences are documented on the 'LaTeXMathML' web page). To enable
-LaTeXMathML support you must define the 'latexmath' attribute, for
-example using the `-a latexmath` command-line option. Example inline
-formula:
-
- latexmath:[$\sum_{n=1}^\infty \frac{1}{2^n}$]
-
-For more examples see the {website}[AsciiDoc website] or the
-distributed `doc/latexmathml.txt` file.
-
-MathML
-~~~~~~
-http://www.w3.org/Math/[MathML] is a low level XML markup for
-mathematics. AsciiDoc has no macros for MathML but users familiar with
-this markup could use passthrough macros and passthrough blocks to
-include MathML in output documents.
-
-
-[[X7]]
-Configuration Files
--------------------
-AsciiDoc source file syntax and output file markup is largely
-controlled by a set of cascading, text based, configuration files. At
-runtime The AsciiDoc default configuration files are combined with
-optional user and document specific configuration files.
-
-Configuration File Format
-~~~~~~~~~~~~~~~~~~~~~~~~~
-Configuration files contain named sections. Each section begins with a
-section name in square brackets []. The section body consists of the
-lines of text between adjacent section headings.
-
-- Section names consist of one or more alphanumeric, underscore or
- dash characters and cannot begin or end with a dash.
-- Lines starting with a hash character "#" are treated as comments and
- ignored.
-- Same named sections and section entries override previously loaded
- sections and section entries (this is sometimes referred to as
- 'cascading'). Consequently, downstream configuration files need
- only contain those sections and section entries that need to be
- overridden.
-
-TIP: When creating custom configuration files you only need to include
-the sections and entries that differ from the default configuration.
-
-TIP: The best way to learn about configuration files is to read the
-default configuration files in the AsciiDoc distribution in
-conjunction with asciidoc(1) output files. You can view configuration
-file load sequence by turning on the asciidoc(1) `-v` (`--verbose`)
-command-line option.
-
-AsciiDoc reserves the following section names for specific purposes:
-
-miscellaneous::
- Configuration options that don't belong anywhere else.
-attributes::
- Attribute name/value entries.
-specialcharacters::
- Special characters reserved by the backend markup.
-tags::
- Backend markup tags.
-quotes::
- Definitions for quoted inline character formatting.
-specialwords::
- Lists of words and phrases singled out for special markup.
-replacements, replacements2::
- Find and replace substitution definitions.
-specialsections::
- Used to single out special section names for specific markup.
-macros::
- Macro syntax definitions.
-titles::
- Heading, section and block title definitions.
-paradef-*::
- Paragraph element definitions.
-blockdef-*::
- DelimitedBlock element definitions.
-listdef-*::
- List element definitions.
-listtags-*::
- List element tag definitions.
-tabledef-*::
- Table element definitions.
-tabletags-*::
- Table element tag definitions.
-
-Each line of text in these sections is a 'section entry'. Section
-entries share the following syntax:
-
-name=value::
- The entry value is set to value.
-name=::
- The entry value is set to a zero length string.
-name!::
- The entry is undefined (deleted from the configuration). This
- syntax only applies to 'attributes' and 'miscellaneous'
- sections.
-
-.Section entry behavior
-- All equals characters inside the `name` must be escaped with a
- backslash character.
-- `name` and `value` are stripped of leading and trailing white space.
-- Attribute names, tag entry names and markup template section names
- consist of one or more alphanumeric, underscore or dash characters.
- Names should not begin or end with a dash.
-- A blank configuration file section (one without any entries) deletes
- any preceding section with the same name (applies to non-markup
- template sections).
-
-
-Miscellaneous section
-~~~~~~~~~~~~~~~~~~~~~
-The optional `[miscellaneous]` section specifies the following
-`name=value` options:
-
-newline::
- Output file line termination characters. Can include any
- valid Python string escape sequences. The default value is
- `\r\n` (carriage return, line feed). Should not be quoted or
- contain explicit spaces (use `\x20` instead). For example:
-
- $ asciidoc -a 'newline=\n' -b docbook mydoc.txt
-
-outfilesuffix::
- The default extension for the output file, for example
- `outfilesuffix=.html`. Defaults to backend name.
-tabsize::
- The number of spaces to expand tab characters, for example
- `tabsize=4`. Defaults to 8. A 'tabsize' of zero suppresses tab
- expansion (useful when piping included files through block
- filters). Included files can override this option using the
- 'tabsize' attribute.
-pagewidth, pageunits::
- These global table related options are documented in the
- <<X4,Table Configuration File Definitions>> sub-section.
-
-NOTE: `[miscellaneous]` configuration file entries can be set using
-the asciidoc(1) `-a` (`--attribute`) command-line option.
-
-Titles section
-~~~~~~~~~~~~~~
-sectiontitle::
- Two line section title pattern. The entry value is a Python
- regular expression containing the named group 'title'.
-
-underlines::
- A comma separated list of document and section title underline
- character pairs starting with the section level 0 and ending
- with section level 4 underline. The default setting is:
-
- underlines="==","--","~~","^^","++"
-
-sect0...sect4::
- One line section title patterns. The entry value is a Python
- regular expression containing the named group 'title'.
-
-blocktitle::
- <<X42,BlockTitle element>> pattern. The entry value is a
- Python regular expression containing the named group 'title'.
-
-subs::
- A comma separated list of substitutions that are performed on
- the document header and section titles. Defaults to 'normal'
- substitution.
-
-Tags section
-~~~~~~~~~~~~
-The `[tags]` section contains backend tag definitions (one per
-line). Tags are used to translate AsciiDoc elements to backend
-markup.
-
-An AsciiDoc tag definition is formatted like
-`<tagname>=<starttag>|<endtag>`. For example:
-
- emphasis=<em>|</em>
-
-In this example asciidoc(1) replaces the | character with the
-emphasized text from the AsciiDoc input file and writes the result to
-the output file.
-
-Use the `{brvbar}` attribute reference if you need to include a | pipe
-character inside tag text.
-
-Attributes section
-~~~~~~~~~~~~~~~~~~
-The optional `[attributes]` section contains predefined attributes.
-
-If the attribute value requires leading or trailing spaces then the
-text text should be enclosed in quotation mark (") characters.
-
-To delete a attribute insert a `name!` entry in a downstream
-configuration file or use the asciidoc(1) `--attribute name!`
-command-line option (an attribute name suffixed with a `!` character
-deletes the attribute)
-
-Special Characters section
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-The `[specialcharacters]` section specifies how to escape characters
-reserved by the backend markup. Each translation is specified on a
-single line formatted like:
-
- <special_character>=<translated_characters>
-
-Special characters are normally confined to those that resolve
-markup ambiguity (in the case of HTML and XML markups the ampersand,
-less than and greater than characters). The following example causes
-all occurrences of the `<` character to be replaced by `<`.
-
- <=<
-
-Quoted Text section
-~~~~~~~~~~~~~~~~~~~
-Quoting is used primarily for text formatting. The `[quotes]` section
-defines AsciiDoc quoting characters and their corresponding backend
-markup tags. Each section entry value is the name of a of a `[tags]`
-section entry. The entry name is the character (or characters) that
-quote the text. The following examples are taken from AsciiDoc
-configuration files:
-
- [quotes]
- _=emphasis
-
- [tags]
- emphasis=<em>|</em>
-
-You can specify the left and right quote strings separately by
-separating them with a | character, for example:
-
- ``|''=quoted
-
-Omitting the tag will disable quoting, for example, if you don't want
-superscripts or subscripts put the following in a custom configuration
-file or edit the global `asciidoc.conf` configuration file:
-
- [quotes]
- ^=
- ~=
-
-<<X52,Unconstrained quotes>> are differentiated from constrained
-quotes by prefixing the tag name with a hash character, for example:
-
- __=#emphasis
-
-.Quoted text behavior
-- Quote characters must be non-alphanumeric.
-- To minimize quoting ambiguity try not to use the same quote
- characters in different quote types.
-
-Special Words section
-~~~~~~~~~~~~~~~~~~~~~
-The `[specialwords]` section is used to single out words and phrases
-that you want to consistently format in some way throughout your
-document without having to repeatedly specify the markup. The name of
-each entry corresponds to a markup template section and the entry
-value consists of a list of words and phrases to be marked up. For
-example:
-
- [specialwords]
- strongwords=NOTE IMPORTANT
-
- [strongwords]
- <strong>{words}</strong>
-
-The examples specifies that any occurrence of `NOTE` or `IMPORTANT`
-should appear in a bold font.
-
-Words and word phrases are treated as Python regular expressions: for
-example, the word `^NOTE` would only match `NOTE` if appeared at
-the start of a line.
-
-AsciiDoc comes with three built-in Special Word types:
-'emphasizedwords', 'monospacedwords' and 'strongwords', each has a
-corresponding (backend specific) markup template section. Edit the
-configuration files to customize existing Special Words and to add new
-ones.
-
-.Special word behavior
-- Word list entries must be separated by space characters.
-- Word list entries with embedded spaces should be enclosed in quotation (")
- characters.
-- A `[specialwords]` section entry of the form
- +name=word1{nbsp}[word2...]+ adds words to existing `name` entries.
-- A `[specialwords]` section entry of the form `name` undefines
- (deletes) all existing `name` words.
-- Since word list entries are processed as Python regular expressions
- you need to be careful to escape regular expression special
- characters.
-- By default Special Words are substituted before Inline Macros, this
- may lead to undesirable consequences. For example the special word
- `foobar` would be expanded inside the macro call
- `http://www.foobar.com[]`. A possible solution is to emphasize
- whole words only by defining the word using regular expression
- characters, for example `\bfoobar\b`.
-- If the first matched character of a special word is a backslash then
- the remaining characters are output without markup i.e. the
- backslash can be used to escape special word markup. For example
- the special word `\\?\b[Tt]en\b` will mark up the words `Ten` and
- `ten` only if they are not preceded by a backslash.
-
-[[X10]]
-Replacements section
-~~~~~~~~~~~~~~~~~~~~
-`[replacements]` and `[replacements2]` configuration file entries
-specify find and replace text and are formatted like:
-
- <find_pattern>=<replacement_text>
-
-The find text can be a Python regular expression; the replace text can
-contain Python regular expression group references.
-
-Use Replacement shortcuts for often used macro references, for
-example (the second replacement allows us to backslash escape the
-macro name):
-
- NEW!=image:./images/smallnew.png[New!]
- \\NEW!=NEW!
-
-.Replacement behavior
-- The built-in replacements can be escaped with a backslash.
-- If the find or replace text has leading or trailing spaces then the
- text should be enclosed in quotation (") characters.
-- Since the find text is processed as a regular expression you need to
- be careful to escape regular expression special characters.
-- Replacements are performed in the same order they appear in the
- configuration file replacements section.
-
-Markup Template Sections
-~~~~~~~~~~~~~~~~~~~~~~~~
-Markup template sections supply backend markup for translating
-AsciiDoc elements. Since the text is normally backend dependent
-you'll find these sections in the backend specific configuration
-files. Template sections differ from other sections in that they
-contain a single block of text instead of per line 'name=value'
-entries. A markup template section body can contain:
-
-- Attribute references
-- System macro calls.
-- A document content placeholder
-
-The document content placeholder is a single | character and is
-replaced by text from the source element. Use the `{brvbar}`
-attribute reference if you need a literal | character in the template.
-
-[[X27]]
-Configuration File Names and Locations
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Configuration files have a `.conf` file name extension; they are
-loaded from the following locations:
-
-1. The directory containing the asciidoc executable.
-2. If there is no `asciidoc.conf` file in the directory containing the
- asciidoc executable then load from the global configuration
- directory (normally `/etc/asciidoc` or `/usr/local/etc/asciidoc`)
- i.e. the global configuration files directory is skipped if
- AsciiDoc configuration files are installed in the same directory as
- the asciidoc executable. This allows both a system wide copy and
- multiple local copies of AsciiDoc to coexist on the same host PC.
-3. The user's `$HOME/.asciidoc` directory (if it exists).
-4. The directory containing the AsciiDoc source file.
-5. Explicit configuration files specified with the asciidoc(1)
- `--conf-file`) command-line option. The `--conf-file` option can
- be specified multiple times, in which case configuration files will
- be processed in the same order they appear on the command-line.
-
-Configuration files from the above locations are loaded in the
-following order:
-
-- The `[attributes]` section only from:
- * `asciidoc.conf` in location 3
- * Files from location 5.
-+
-This first pass makes locally set attributes available in the global
-`asciidoc.conf` file.
-
-- `asciidoc.conf` from locations 1, 2, 3.
-- 'attributes', 'titles' and 'specialcharacters' sections from the
- `asciidoc.conf` in location 4.
-- The document header is parsed at this point and we can assume the
- 'backend' and 'doctype' have now been defined.
-- `<backend>.conf` and `<backend>-<doctype>.conf` from locations 1,
- 2,3.
-- Filter conf files from the `filters` directory in locations 1, 2, 3.
-- `lang-<lang>.conf` from locations 1, 2, 3.
-- `asciidoc.conf` from location 4.
-- `<backend>.conf` and `<backend>-<doctype>.conf` from location 4.
- 2,3.
-- Filter conf files from location 4.
-- `<docfile>.conf` and `<docfile>-<backend>.conf` from location 4.
-- Configuration files from location 5.
-
-Where:
-
-- `<backend>` and `<doctype>` are values specified by the asciidoc(1)
- `-b` (`--backend`) and `-d` (`--doctype`) command-line options.
-- `<infile>` is the path name of the AsciiDoc input file without the
- file name extension.
-- `<lang>` is a two letter country code set by the the AsciiDoc 'lang'
- attribute.
-
-[NOTE]
-=====================================================================
-The backend and language global configuration files are loaded *after*
-the header has been parsed. This means that you can set most
-attributes in the document header. Here's an example header:
-
- Life's Mysteries
- ================
- :author: Hu Nose
- :doctype: book
- :toc:
- :icons:
- :data-uri:
- :lang: en
- :encoding: iso-8859-1
-
-Attributes set in the document header take precedence over
-configuration file attributes.
-
-=====================================================================
-
-TIP: Use the asciidoc(1) `-v` (`--verbose`) command-line option to see
-which configuration files are loaded and the order in which they are
-loaded.
-
-
-Document Attributes
--------------------
-A document attribute is comprised of a 'name' and a textual 'value'
-and is used for textual substitution in AsciiDoc documents and
-configuration files. An attribute reference (an attribute name
-enclosed in braces) is replaced by the corresponding attribute
-value. Attribute names are case insensitive and can only contain
-alphanumeric, dash and underscore characters.
-
-There are four sources of document attributes (from highest to lowest
-precedence):
-
-- Command-line attributes.
-- AttributeEntry, AttributeList, Macro and BlockId elements.
-- Configuration file `[attributes]` sections.
-- Intrinsic attributes.
-
-Within each of these divisions the last processed entry takes
-precedence.
-
-NOTE: If an attribute is not defined then the line containing the
-attribute reference is dropped. This property is used extensively in
-AsciiDoc configuration files to facilitate conditional markup
-generation.
-
-
-[[X18]]
-Attribute Entries
------------------
-The `AttributeEntry` block element allows document attributes to be
-assigned within an AsciiDoc document. Attribute entries are added to
-the global document attributes dictionary. The attribute name/value
-syntax is a single line like:
-
- :<name>: <value>
-
-For example:
-
- :Author Initials: JB
-
-This will set an attribute reference `{authorinitials}` to the value
-'JB' in the current document.
-
-To delete (undefine) an attribute use the following syntax:
-
- :<name>!:
-
-.AttributeEntry behavior
-- The attribute entry line begins with colon -- no white space allowed
- in left margin.
-- AsciiDoc converts the `<name>` to a legal attribute name (lower
- case, alphanumeric, dash and underscore characters only -- all other
- characters deleted). This allows more human friendly text to be
- used.
-- Leading and trailing white space is stripped from the `<value>`.
-- Lines ending in a space followed by a plus character are continued
- to the next line, for example:
-
- :description: AsciiDoc is a text document format for writing notes, +
- documentation, articles, books, slideshows, web pages +
- and man pages.
-
-- If the `<value>` is blank then the corresponding attribute value is
- set to an empty string.
-- Attribute references contained in the entry `<value>` will be
- expanded.
-- By default AttributeEntry values are substituted for
- `specialcharacters` and `attributes` (see above), if you want to
- change or disable AttributeEntry substitution use the <<X77,pass:[]
- inline macro>> syntax.
-- Attribute entries in the document Header are available for header
- markup template substitution.
-- Attribute elements override configuration file and intrinsic
- attributes but do not override command-line attributes.
-
-Here are some more attribute entry examples:
-
----------------------------------------------------------------------
-AsciiDoc User Manual
-====================
-:author: Stuart Rackham
-:email: srackham(a)gmail.com
-:revdate: April 23, 2004
-:revnumber: 5.1.1
----------------------------------------------------------------------
-
-Which creates these attributes:
-
- {author}, {firstname}, {lastname}, {authorinitials}, {email},
- {revdate}, {revnumber}
-
-The previous example is equivalent to this <<X95,document header>>:
-
----------------------------------------------------------------------
-AsciiDoc User Manual
-====================
-Stuart Rackham <srackham(a)gmail.com>
-5.1.1, April 23, 2004
----------------------------------------------------------------------
-
-Setting configuration entries
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-A variant of the Attribute Entry syntax allows configuration file
-entries to be set from within an AsciiDoc document:
-
- :<section_name>.<entry_name>: <entry_value>
-
-Where `<section_name>` is the configuration section name,
-`<entry_name>` is the name of the entry and `<entry_value>` is the
-optional entry value. This example sets the default labeled list style
-to 'horizontal':
-
- :listdef-labeled.style: horizontal
-
-It is exactly equivalent to a configuration file containing:
-
- [listdef-labeled]
- style=horizontal
-
-No substitution is performed on configuration file attribute entries
-and they cannot be undefined.
-
-[[X62]]
-.Attribute entries promote clarity and eliminate repetition
-*********************************************************************
-URLs and file names in AsciiDoc macros are often quite long -- they
-break paragraph flow and readability suffers. The problem is
-compounded by redundancy if the same name is used repeatedly.
-Attribute entries can be used to make your documents easier to read
-and write, here are some examples:
-
- :1: http://freshmeat.net/projects/asciidoc/
- :homepage: http://methods.co.nz/asciidoc/[AsciiDoc home page]
- :new: image:./images/smallnew.png[]
- :footnote1: footnote:[A meaningless latin term]
-
- Using previously defined attributes: See the {1}[Freshmeat summary]
- or the {homepage} for something new {new}. Lorem ispum {footnote1}.
-
-.Note
-- The attribute entry definition must precede it's usage.
-- You are not limited to URLs or file names, entire macro calls or
- arbitrary lines of text can be abbreviated.
-- Shared attributes entries could be grouped into a separate file and
- <<X63,included>> in multiple documents.
-*********************************************************************
-
-
-[[X21]]
-Attribute Lists
----------------
-- An attribute list is a comma separated list of attribute values.
-- The entire list is enclosed in square brackets.
-- Attribute lists are used to pass parameters to macros, blocks (using
- the <<X79,AttributeList element>>) and inline quotes.
-
-The list consists of zero or more positional attribute values followed
-by zero or more named attribute values. Here are three examples: a
-single unquoted positional attribute; three unquoted positional
-attribute values; one positional attribute followed by two named
-attributes; the unquoted attribute value in the final example contains
-comma (`,`) and double-quote (`"`) character entities:
-
- [Hello]
- [quote, Bertrand Russell, The World of Mathematics (1956)]
- ["22 times", backcolor="#0e0e0e", options="noborders,wide"]
- [A footnote, "with an image" image:smallnew.png[]]
-
-.Attribute list behavior
-- If one or more attribute values contains a comma the all string
- values must be quoted (enclosed in double quotation mark
- characters).
-- If the list contains any named or quoted attributes then all string
- attribute values must be quoted.
-- To include a double quotation mark (") character in a quoted
- attribute value the the quotation mark must be escaped with a
- backslash.
-- List attributes take precedence over existing attributes.
-- List attributes can only be referenced in configuration file markup
- templates and tags, they are not available elsewhere in the
- document.
-- Setting a named attribute to `None` undefines the attribute.
-- Positional attributes are referred to as `{1}`,`{2}`,`{3}`,...
-- Attribute `{0}` refers to the entire list (excluding the enclosing
- square brackets).
-- Named attribute names cannot contain dash characters.
-
-[[X75]]
-Options attribute
-~~~~~~~~~~~~~~~~~
-If the attribute list contains an attribute named `options` it is
-processed as a comma separated list of option names:
-
-- Each name generates an attribute named like `<option>-option` (where
- `<option>` is the option name) with an empty string value. For
- example `[options="opt1,opt2,opt3"]` is equivalent to setting the
- following three attributes
- `[opt1-option="",opt2-option="",opt2-option=""]`.
-- If you define a an option attribute globally (for example with an
- <<X18,attribute entry>>) then it will apply to all elements in the
- document.
-- AsciiDoc implements a number of predefined options which are listed
- in the <<X74,Attribute Options appendix>>.
-
-Macro Attribute lists
-~~~~~~~~~~~~~~~~~~~~~
-Macros calls are suffixed with an attribute list. The list may be
-empty but it cannot be omitted. List entries are used to pass
-attribute values to macro markup templates.
-
-
-Attribute References
---------------------
-An attribute reference is an attribute name (possibly followed by an
-additional parameters) enclosed in curly braces. When an attribute
-reference is encountered it is evaluated and replaced by its
-corresponding text value. If the attribute is undefined the line
-containing the attribute is dropped.
-
-There are three types of attribute reference: 'Simple', 'Conditional'
-and 'System'.
-
-.Attribute reference evaluation
-- You can suppress attribute reference expansion by placing a
- backslash character immediately in front of the opening brace
- character.
-- By default attribute references are not expanded in
- 'LiteralParagraphs', 'ListingBlocks' or 'LiteralBlocks'.
-- Attribute substitution proceeds line by line in reverse line order.
-- Attribute reference evaluation is performed in the following order:
- 'Simple' then 'Conditional' and finally 'System'.
-
-Simple Attributes References
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Simple attribute references take the form `{<name>}`. If the
-attribute name is defined its text value is substituted otherwise the
-line containing the reference is dropped from the output.
-
-Conditional Attribute References
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Additional parameters are used in conjunction with attribute names to
-calculate a substitution value. Conditional attribute references take
-the following forms:
-
-`{<names>=<value>}`::
- `<value>` is substituted if the attribute `<names>` is
- undefined otherwise its value is substituted. `<value>` can
- contain simple attribute references.
-
-`{<names>?<value>}`::
- `<value>` is substituted if the attribute `<names>` is defined
- otherwise an empty string is substituted. `<value>` can
- contain simple attribute references.
-
-`{<names>!<value>}`::
- `<value>` is substituted if the attribute `<names>` is
- undefined otherwise an empty string is substituted. `<value>`
- can contain simple attribute references.
-
-`{<names>#<value>}`::
- `<value>` is substituted if the attribute `<names>` is defined
- otherwise the undefined attribute entry causes the containing
- line to be dropped. `<value>` can contain simple attribute
- references.
-
-`{<names>%<value>}`::
- `<value>` is substituted if the attribute `<names>` is not
- defined otherwise the containing line is dropped. `<value>`
- can contain simple attribute references.
-
-`{<names>@<regexp>:<value1>[:<value2>]}`::
- `<value1>` is substituted if the value of attribute `<names>`
- matches the regular expression `<regexp>` otherwise `<value2>`
- is substituted. If attribute `<names>` is not defined the
- containing line is dropped. If `<value2>` is omitted an empty
- string is assumed. The values and the regular expression can
- contain simple attribute references. To embed colons in the
- values or the regular expression escape them with backslashes.
-
-`{<names>$<regexp>:<value1>[:<value2>]}`::
- Same behavior as the previous ternary attribute except for
- the following cases:
-
- `{<names>$<regexp>:<value>}`;;
- Substitutes `<value>` if `<names>` matches `<regexp>`
- otherwise the result is undefined and the containing
- line is dropped.
-
- `{<names>$<regexp>::<value>}`;;
- Substitutes `<value>` if `<names>` does not match
- `<regexp>` otherwise the result is undefined and the
- containing line is dropped.
-
-The attribute `<names>` parameter normally consists of a single
-attribute name but it can be any one of the following:
-
-- A single attribute name which evaluates to the attributes value.
-- Multiple ',' separated attribute names which evaluates to an empty
- string if one or more of the attributes is defined, otherwise it's
- value is undefined.
-- Multiple '+' separated attribute names which evaluates to an empty
- string if all of the attributes are defined, otherwise it's value is
- undefined.
-
-Conditional attributes with single attribute names are evaluated first
-so they can be used inside the multi-attribute conditional `<value>`.
-
-Conditional attribute examples
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Conditional attributes are mainly used in AsciiDoc configuration
-files -- see the distribution `.conf` files for examples.
-
-Attribute equality test::
- If `{backend}` is `docbook45` or `xhtml11` the example evaluates to
- ``DocBook 4.5 or XHTML 1.1 backend'' otherwise it evaluates to ``some
- other backend'':
-
- {backend@docbook45|xhtml11:DocBook 4.5 or XHTML 1.1 backend:some other backend}
-
-Attribute value map::
- This example maps the `frame` attribute values [`topbot`, `all`,
- `none`, `sides`] to [`hsides`, `border`, `void`, `vsides`]:
-
- {frame@topbot:hsides}{frame@all:border}{frame@none:void}{frame@sides:vsides}
-
-
-[[X24]]
-System Attribute References
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-System attribute references generate the attribute text value by
-executing a predefined action that is parametrized by one or more
-arguments. The syntax is `{<action>:<arguments>}`.
-
-`{counter:<attrname>[:<seed>]}`::
- Increments the document attribute (if the attribute is
- undefined it is set to `1`). Returns the new attribute value.
-
- - Counters generate global (document wide) attributes.
- - The optional `<seed>` specifies the counter's initial value;
- it can be a number or a single letter; defaults to '1'.
- - `<seed>` can contain simple and conditional attribute
- references.
- - The 'counter' system attribute will not be executed if the
- containing line is dropped by the prior evaluation of an
- undefined attribute.
-
-`{counter2:<attrname>[:<seed>]}`::
- Same as `counter` except the it always returns a blank string.
-
-`{eval:<expression>}`::
- Substitutes the result of the Python `<expression>`.
-
- - If `<expression>` evaluates to `None` or `False` the
- reference is deemed undefined and the line containing the
- reference is dropped from the output.
- - If the expression evaluates to `True` the attribute
- evaluates to an empty string.
- - `<expression>` can contain simple and conditional attribute
- references.
- - The 'eval' system attribute can be nested inside other
- system attributes.
-
-`{eval3:<command>}`::
- Passthrough version of `{eval:<expression>}` -- the generated
- output is written directly to the output without any further
- substitutions.
-
-`{include:<filename>}`::
- Substitutes contents of the file named `<filename>`.
-
- - The included file is read at the time of attribute
- substitution.
- - If the file does not exist a warning is emitted and the line
- containing the reference is dropped from the output file.
- - Tabs are expanded based on the current 'tabsize' attribute
- value.
-
-`{set:<attrname>[!][:<value>]}`::
- Sets or unsets document attribute. Normally only used in
- configuration file markup templates (use
- <<X18,AttributeEntries>> in AsciiDoc documents).
-
- - If the attribute name is followed by an exclamation mark
- the attribute becomes undefined.
- - If `<value>` is omitted the attribute is set to a blank
- string.
- - `<value>` can contain simple and conditional attribute
- references.
- - Returns a blank string unless the attribute is undefined in
- which case the return value is undefined and the enclosing
- line will be dropped.
-
-`{set2:<attrname>[!][:<value>]}`::
- Same as `set` except that the attribute scope is local to the
- template.
-
-`{sys:<command>}`::
- Substitutes the stdout generated by the execution of the shell
- `<command>`.
-
-`{sys2:<command>}`::
- Substitutes the stdout and stderr generated by the execution
- of the shell `<command>`.
-
-`{sys3:<command>}`::
- Passthrough version of `{sys:<command>}` -- the generated
- output is written directly to the output without any further
- substitutions.
-
-`{template:<template>}`::
- Substitutes the contents of the configuration file section
- named `<template>`. Attribute references contained in the
- template are substituted.
-
-.System reference behavior
-- System attribute arguments can contain non-system attribute
- references.
-- Closing brace characters inside system attribute arguments must be
- escaped with a backslash.
-
-[[X60]]
-Intrinsic Attributes
---------------------
-Intrinsic attributes are simple attributes that are created
-automatically from: AsciiDoc document header parameters; asciidoc(1)
-command-line arguments; attributes defined in the default
-configuration files; the execution context. Here's the list of
-predefined intrinsic attributes:
-
- {amp} ampersand (&) character entity
- {asciidoc-dir} the asciidoc(1) application directory
- {asciidoc-file} the full path name of the asciidoc(1) script
- {asciidoc-version} the version of asciidoc(1)
- {author} author's full name
- {authored} empty string '' if {author} or {email} defined,
- {authorinitials} author initials (from document header)
- {backend-<backend>} empty string ''
- {<backend>-<doctype>} empty string ''
- {backend} document backend specified by `-b` option
- {backslash} backslash character
- {basebackend-<base>} empty string ''
- {basebackend} html or docbook
- {brvbar} broken vertical bar (|) character
- {revdate} document revision date (from document header)
- {docdate} document last modified date
- {doctime} document last modified time
- {docname} document file name without extension
- {docfile} document file name (note 5)
- {docdir} document input directory name (note 5)
- {doctitle} document title (from document header)
- {doctype-<doctype>} empty string ''
- {doctype} document type specified by `-d` option
- {email} author's email address (from document header)
- {empty} empty string ''
- {encoding} specifies input and output encoding
- {filetype-<fileext>} empty string ''
- {filetype} output file name file extension
- {firstname} author first name (from document header)
- {gt} greater than (>) character entity
- {id} running block id generated by BlockId elements
- {indir} input file directory name (note 2,5)
- {infile} input file name (note 2,5)
- {lastname} author last name (from document header)
- {level} title level 1..4 (in section titles)
- {listindex} the list index (1..) of the most recent list item
- {localdate} the current date
- {localtime} the current time
- {lt} less than (<) character entity
- {manname} manpage name (defined in NAME section)
- {manpurpose} manpage (defined in NAME section)
- {mantitle} document title minus the manpage volume number
- {manvolnum} manpage volume number (1..8) (from document header)
- {middlename} author middle name (from document header)
- {nbsp} non-breaking space character entity
- {notitle} do not display the document title
- {outdir} document output directory name (note 2)
- {outfile} output file name (note 2)
- {reftext} running block xreflabel generated by BlockId elements
- {revnumber} document revision number (from document header)
- {sectnum} formatted section number (in section titles)
- {showcomments} send comment lines to the output
- {title} section title (in titled elements)
- {two-colons} Two colon characters
- {two-semicolons} Two semicolon characters
- {user-dir} the ~/.asciidoc directory (if it exists)
- {verbose} defined as '' if --verbose command option specified
- {zwsp} Zero-width space character entity
-
-[NOTE]
-======
-1. Intrinsic attributes are global so avoid defining custom attributes
- with the same names.
-
-2. `{outfile}`, `{outdir}`, `{infile}`, `{indir}` attributes are
- effectively read-only (you can set them but it won't affect the
- input or output file paths).
-
-3. See also the <<X88,Backend Attributes>> section for attributes
- that relate to AsciiDoc XHTML file generation.
-
-4. The entries that translate to blank strings are designed to be used
- for conditional text inclusion. You can also use the `ifdef`,
- `ifndef` and `endif` System macros for conditional inclusion.
- footnote:[Conditional inclusion using `ifdef` and `ifndef` macros
- differs from attribute conditional inclusion in that the former
- occurs when the file is read while the latter occurs when the
- contents are written.]
-
-5. `{docfile}` and `{docdir}` refer to root document specified on
- the asciidoc(1) command-line; `{infile}` and `{indir}` refer to
- the current input file which may be the root document or an
- included file. When the input is being read from the standard
- input (`stdin`) these attributes are undefined.
-======
-
-
-[[X73]]
-Block Element Definitions
--------------------------
-The syntax and behavior of Paragraph, DelimitedBlock, List and Table
-block elements is determined by block definitions contained in
-<<X7,AsciiDoc configuration file>> sections.
-
-Each definition consists of a section title followed by one or more
-section entries. Each entry defines a block parameter controlling some
-aspect of the block's behavior. Here's an example:
-
----------------------------------------------------------------------
-[blockdef-listing]
-delimiter=^-{4,}$
-template=listingblock
-presubs=specialcharacters,callouts
----------------------------------------------------------------------
-
-AsciiDoc Paragraph, DelimitedBlock, List and Table block elements
-share a common subset of configuration file parameters:
-
-delimiter::
- A Python regular expression that matches the first line of a block
- element -- in the case of DelimitedBlocks and Tables it also matches
- the last line.
-
-template::
- The name of the configuration file markup template section that will
- envelope the block contents. The pipe ('|') character is substituted
- for the block contents. List elements use a set of (list specific)
- tag parameters instead of a single template. The template name can
- contain attribute references allowing dynamic template selection a
- the time of template substitution.
-
-options::
- A comma delimited list of element specific option names. In addition
- to being used internally, options are available during markup tag
- and template substitution as attributes with an empty string value
- named like `<option>-option` (where `<option>` is the option name).
- See <<X74,attribute options>> for a complete list of available
- options.
-
-subs, presubs, postsubs::
- * 'presubs' and 'postsubs' are lists of comma separated substitutions that are
- performed on the block contents. 'presubs' is applied first,
- 'postsubs' (if specified) second.
-
- * 'subs' is an alias for 'presubs'.
-
- * If a 'filter' is allowed (Paragraphs, DelimitedBlocks and Tables)
- and has been specified then 'presubs' and 'postsubs' substitutions
- are performed before and after the filter is run respectively.
-
- * Allowed values: 'specialcharacters', 'quotes', 'specialwords',
- 'replacements', 'macros', 'attributes', 'callouts'.
-
- * The following composite values are also allowed:
-
- 'none';;
- No substitutions.
- 'normal';;
- The following substitutions:
- 'specialcharacters','quotes','attributes','specialwords',
- 'replacements','macros'.
- 'verbatim';;
- 'specialcharacters' and 'callouts' substitutions.
-
- * 'normal' and 'verbatim' substitutions can be redefined by with
- `subsnormal` and `subsverbatim` entries in a configuration file
- `[miscellaneous]` section.
-
- * The substitutions are processed in the order in which they are
- listed and can appear more than once.
-
-filter::
- This optional entry specifies an executable shell command for
- processing block content (Paragraphs, DelimitedBlocks and Tables).
- The filter command can contain attribute references.
-
-posattrs::
- Optional comma separated list of positional attribute names. This
- list maps positional attributes (in the block's <<X21,attribute
- list>>) to named block attributes. The following example, from the
- QuoteBlock definition, maps the first and section positional
- attributes:
-
- posattrs=attribution,citetitle
-
-style::
- This optional parameter specifies the default style name.
-
-
-<stylename>-style::
- Optional style definition (see <<X23,Styles>> below).
-
-The following block parameters behave like document attributes and can
-be set in block attribute lists and style definitions: 'template',
-'options', 'subs', 'presubs', 'postsubs', 'filter'.
-
-[[X23]]
-Styles
-~~~~~~
-A style is a set of block attributes bundled as a single named
-attribute. The following example defines a style named 'verbatim':
-
- verbatim-style=template="literalblock",subs="verbatim"
-
-- All style parameter names must be suffixed with `-style` and the
- style parameter value is in the form of a list of <<X21,named
- attributes>>.
-- Multi-item style attributes ('subs','presubs','postsubs','posattrs')
- must be specified using Python tuple syntax rather than a simple
- list of values as they in separate entries e.g.
- `postsubs=("callouts",)` not `postsubs="callouts"`.
-
-Paragraphs
-~~~~~~~~~~
-Paragraph translation is controlled by `[paradef-*]` configuration
-file section entries. Users can define new types of paragraphs and
-modify the behavior of existing types by editing AsciiDoc
-configuration files.
-
-Here is the shipped Default paragraph definition:
-
---------------------------------------------------------------------
-[paradef-default]
-delimiter=(?P<text>\S.*)
-template=paragraph
---------------------------------------------------------------------
-
-The normal paragraph definition has a couple of special properties:
-
-1. It must exist and be defined in a configuration file section named
- `[paradef-default]`.
-2. Irrespective of its position in the configuration files default
- paragraph document matches are attempted only after trying all
- other paragraph types.
-
-Paragraph specific block parameter notes:
-
-delimiter::
- This regular expression must contain the named group 'text' which
- matches the text on the first line. Paragraphs are terminated by a
- blank line, the end of file, or the start of a DelimitedBlock.
-
-options::
- The 'listelement' option specifies that paragraphs of this type will
- automatically be considered part of immediately preceding list
- items.
-
-.Paragraph processing proceeds as follows:
-1. The paragraph text is aligned to the left margin.
-2. Optional 'presubs' inline substitutions are performed on the
- paragraph text.
-3. If a filter command is specified it is executed and the paragraph
- text piped to its standard input; the filter output replaces the
- paragraph text.
-4. Optional 'postsubs' inline substitutions are performed on the
- paragraph text.
-5. The paragraph text is enveloped by the paragraph's markup template
- and written to the output file.
-
-Delimited Blocks
-~~~~~~~~~~~~~~~~
-DelimitedBlock 'options' values are:
-
-sectionbody::
- The block contents are processed as a SectionBody.
-
-skip::
- The block is treated as a comment (see <<X26,CommentBlocks>>).
-
-'presubs', 'postsubs' and 'filter' entries are ignored when
-'sectionbody' or 'skip' options are set.
-
-DelimitedBlock processing proceeds as follows:
-
-1. Optional 'presubs' substitutions are performed on the block
- contents.
-2. If a filter is specified it is executed and the block's contents
- piped to its standard input. The filter output replaces the block
- contents.
-3. Optional 'postsubs' substitutions are performed on the block
- contents.
-4. The block contents is enveloped by the block's markup template and
- written to the output file.
-
-TIP: Attribute expansion is performed on the block filter command
-before it is executed, this is useful for passing arguments to the
-filter.
-
-Lists
-~~~~~
-List behavior and syntax is determined by `[listdef-*]` configuration
-file sections. The user can change existing list behavior and add new
-list types by editing configuration files.
-
-List specific block definition notes:
-
-type::
- This is either 'bulleted','numbered','labeled' or 'callout'.
-
-delimiter::
- A Python regular expression that matches the first line of a
- list element entry. This expression can contain the named groups
- 'text' (bulleted groups), 'index' and 'text' (numbered lists),
- 'label' and 'text' (labeled lists).
-
-tags::
- The `<name>` of the `[listtags-<name>]` configuration file section
- containing list markup tag definitions. The tag entries ('list',
- 'entry', 'label', 'term', 'text') map the AsciiDoc list structure to
- backend markup; see the 'listtags' sections in the AsciiDoc
- distributed backend `.conf` configuration files for examples.
-
-Tables
-~~~~~~
-Table behavior and syntax is determined by `[tabledef-*]` and
-`[tabletags-*]` configuration file sections. The user can change
-existing table behavior and add new table types by editing
-configuration files. The following `[tabledef-*]` section entries
-generate table output markup elements:
-
-colspec::
- The table 'colspec' tag definition.
-
-headrow, footrow, bodyrow::
- Table header, footer and body row tag definitions. 'headrow' and
- 'footrow' table definition entries default to 'bodyrow' if
- they are undefined.
-
-headdata, footdata, bodydata::
- Table header, footer and body data tag definitions. 'headdata' and
- 'footdata' table definition entries default to 'bodydata' if they
- are undefined.
-
-paragraph::
- If the 'paragraph' tag is specified then blank lines in the cell
- data are treated as paragraph delimiters and marked up using this
- tag.
-
-[[X4]]
-Table behavior is also influenced by the following `[miscellaneous]`
-configuration file entries:
-
-pagewidth::
- This integer value is the printable width of the output media. See
- <<X69,table attributes>>.
-
-pageunits::
- The units of width in output markup width attribute values.
-
-.Table definition behavior
-- The output markup generation is specifically designed to work with
- the HTML and CALS (DocBook) table models, but should be adaptable to
- most XML table schema.
-- Table definitions can be ``mixed in'' from multiple cascading
- configuration files.
-- New table definitions inherit the default table and table tags
- definitions (`[tabledef-default]` and `[tabletags-default]`) so you
- only need to override those conf file entries that require
- modification.
-
-
-[[X59]]
-Filters
--------
-Filters are external shell commands used to process Paragraph,
-DelimitedBlock and Table content and are specified in the
-corresponding configuration file definitions.
-
-There's nothing special about the filters, they're just standard UNIX
-filters: they read text from the standard input, process it, and write
-to the standard output.
-
-Attribute substitution is performed on the filter command prior to
-execution -- attributes can be used to pass parameters from the
-AsciiDoc source document to the filter.
-
-WARNING: Filters can potentially generate unsafe output. Before
-installing a filter you should verify that it is from a trusted
-source.
-
-Filter Search Paths
-~~~~~~~~~~~~~~~~~~~
-If the filter command does not specify a directory path then
-asciidoc(1) searches for the command:
-
-- First it looks in the user's `$HOME/.asciidoc/filters` directory.
-- Next the global filters directory (usually `/etc/asciidoc/filters`
- or `/usr/local/etc/asciidoc`) directory is searched.
-- Then it looks in the asciidoc(1) `./filters` directory.
-- Finally it relies on the executing shell to search the environment
- search path (`$PATH`).
-
-Sub-directories are also included in the searches -- standard practice
-is to install each filter in it's own sub-directory with the same name
-as the filter's style definition. For example the music filter's style
-name is 'music' so it's configuration and filter files are stored in
-the `filters/music` directory.
-
-Filter Configuration Files
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-Filters are normally accompanied by a configuration file containing a
-Paragraph or DelimitedBlock definition along with corresponding markup
-templates.
-
-While it is possible to create new Paragraph or DelimitedBlock
-definitions the preferred way to implement a filter is to add a
-<<X23,style>> to the existing Paragraph and ListingBlock definitions
-(all filters shipped with AsciiDoc use this technique). The filter is
-applied to the paragraph or delimited block by preceding it with an
-attribute list: the first positional attribute is the style name,
-remaining attributes are normally filter specific parameters.
-
-asciidoc(1) auto-loads all `.conf` files found in the filter search
-paths (see previous section).
-
-[[X56]]
-Code Filter
-~~~~~~~~~~~
-AsciiDoc comes with a toy filter for highlighting source code keywords
-and comments. See also the `./filters/code/code-filter-readme.txt`
-file.
-
-NOTE: This filter primarily to demonstrate how to write a filter --
-it's much to simplistic to be passed off as a code syntax highlighter.
-If you want a full featured multi-language highlighter use the
-<<X57,Source Code Highlighter Filter>>.
-
-[listing]
-.....................................................................
-.Code filter example
-[code,python]
-----------------------------------------------
-''' A multi-line
- comment.'''
-def sub_word(mo):
- ''' Single line comment.'''
- word = mo.group('word') # Inline comment
- if word in keywords[language]:
- return quote + word + quote
- else:
- return word
-----------------------------------------------
-.....................................................................
-
-Outputs:
-
-.Code filter example
-[code,python]
-----------------------------------------------
-''' A multi-line
- comment.'''
-def sub_word(mo):
- ''' Single line comment.'''
- word = mo.group('word') # Inline comment
- if word in keywords[language]:
- return quote + word + quote
- else:
- return word
-----------------------------------------------
-
-[[X57]]
-Source Code Highlighter Filter
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-A
-{website}source-highlight-filter.html[source code highlighter filter]
-can be found in the AsciiDoc distribution `./filters` directory.
-
-[[X58]]
-Music Filter
-~~~~~~~~~~~~
-A {website}music-filter.html[music filter] is included in the
-distribution `./filters` directory. It translates music in
-http://lilypond.org/[LilyPond] or http://abcnotation.org.uk/[ABC]
-notation to standard Western classical notation in the form of a
-trimmed PNG image which is automatically inserted into the output
-document.
-
-
-[[X12]]
-Converting DocBook to other file formats
-----------------------------------------
-DocBook files are validated, parsed and translated various
-presentation file formats using a combination of applications
-collectively called a DocBook 'tool chain'. The function of a tool
-chain is to read the DocBook markup (produced by AsciiDoc) and
-transform it to a presentation format (for example HTML, PDF, HTML
-Help, EPUB, DVI, PostScript, LaTeX).
-
-A wide range of user output format requirements coupled with a choice
-of available tools and stylesheets results in many valid tool chain
-combinations.
-
-[[X43]]
-a2x Toolchain Wrapper
-~~~~~~~~~~~~~~~~~~~~~
-One of the biggest hurdles for new users is installing, configuring
-and using a DocBook XML toolchain. `a2x(1)` can help -- it's a
-toolchain wrapper command that will generate XHTML (chunked and
-unchunked), PDF, EPUB, DVI, PS, LaTeX, man page, HTML Help and text
-file outputs from an AsciiDoc text file. `a2x(1)` does all the grunt
-work associated with generating and sequencing the toolchain commands
-and managing intermediate and output files. `a2x(1)` also optionally
-deploys admonition and navigation icons and a CSS stylesheet. See the
-`a2x(1)` man page for more details. In addition to `asciidoc(1)` you
-also need <<X40,xsltproc(1)>>, <<X13,DocBook XSL Stylesheets>> and
-optionally: <<X31,dblatex>> or <<X14,FOP>> (to generate PDF);
-`w3m(1)` or `lynx(1)` (to generate text).
-
-The following examples generate `doc/source-highlight-filter.pdf` from
-the AsciiDoc `doc/source-highlight-filter.txt` source file. The first
-example uses `dblatex(1)` (the default PDF generator) the second
-example forces FOP to be used:
-
- $ a2x -f pdf doc/source-highlight-filter.txt
- $ a2x -f pdf --fop doc/source-highlight-filter.txt
-
-See the `a2x(1)` man page for details.
-
-TIP: Use the `--verbose` command-line option to view executed
-toolchain commands.
-
-HTML generation
-~~~~~~~~~~~~~~~
-AsciiDoc produces nicely styled HTML directly without requiring a
-DocBook toolchain but there are also advantages in going the DocBook
-route:
-
-- HTML from DocBook can optionally include automatically generated
- indexes, tables of contents, footnotes, lists of figures and tables.
-- DocBook toolchains can also (optionally) generate separate (chunked)
- linked HTML pages for each document section.
-- Toolchain processing performs link and document validity checks.
-- If the DocBook 'lang' attribute is set then things like table of
- contents, figure and table captions and admonition captions will be
- output in the specified language (setting the AsciiDoc 'lang'
- attribute sets the DocBook 'lang' attribute).
-
-On the other hand, HTML output directly from AsciiDoc is much faster,
-is easily customized and can be used in situations where there is no
-suitable DocBook toolchain (for example, see the {website}[AsciiDoc
-website]).
-
-PDF generation
-~~~~~~~~~~~~~~
-There are two commonly used tools to generate PDFs from DocBook,
-<<X31,dblatex>> and <<X14,FOP>>.
-
-.dblatex or FOP?
-- 'dblatex' is easier to install, there's zero configuration
- required and no Java VM to install -- it just works out of the box.
-- 'dblatex' source code highlighting and numbering is superb.
-- 'dblatex' is easier to use as it converts DocBook directly to PDF
- whereas before using 'FOP' you have to convert DocBook to XML-FO
- using <<X13,DocBook XSL Stylesheets>>.
-- 'FOP' is more feature complete (for example, callouts are processed
- inside literal layouts) and arguably produces nicer looking output.
-
-HTML Help generation
-~~~~~~~~~~~~~~~~~~~~
-. Convert DocBook XML documents to HTML Help compiler source files
- using <<X13,DocBook XSL Stylesheets>> and <<X40,xsltproc(1)>>.
-. Convert the HTML Help source (`.hhp` and `.html`) files to HTML Help
- (`.chm`) files using the <<X67,Microsoft HTML Help Compiler>>.
-
-Toolchain components summary
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-AsciiDoc::
- Converts AsciiDoc (`.txt`) files to DocBook XML (`.xml`) files.
-
-[[X13]]http://docbook.sourceforge.net/projects/xsl/[DocBook XSL Stylesheets]::
- These are a set of XSL stylesheets containing rules for converting
- DocBook XML documents to HTML, XSL-FO, manpage and HTML Help files.
- The stylesheets are used in conjunction with an XML parser such as
- <<X40,xsltproc(1)>>.
-
-[[X40]]http://www.xmlsoft.org[xsltproc]::
- An XML parser for applying XSLT stylesheets (in our case the
- <<X13,DocBook XSL Stylesheets>>) to XML documents.
-
-[[X31]]http://dblatex.sourceforge.net/[dblatex]::
- Generates PDF, DVI, PostScript and LaTeX formats directly from
- DocBook source via the intermediate LaTeX typesetting language --
- uses <<X13,DocBook XSL Stylesheets>>, <<X40,xsltproc(1)>> and
- `latex(1)`.
-
-[[X14]]http://xml.apache.org/fop/[FOP]::
- The Apache Formatting Objects Processor converts XSL-FO (`.fo`)
- files to PDF files. The XSL-FO files are generated from DocBook
- source files using <<X13,DocBook XSL Stylesheets>> and
- <<X40,xsltproc(1)>>.
-
-[[X67]]Microsoft Help Compiler::
- The Microsoft HTML Help Compiler (`hhc.exe`) is a command-line tool
- that converts HTML Help source files to a single HTML Help (`.chm`)
- file. It runs on MS Windows platforms and can be downloaded from
- http://www.microsoft.com.
-
-AsciiDoc dblatex configuration files
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The AsciiDoc distribution `./dblatex` directory contains
-`asciidoc-dblatex.xsl` (customized XSL parameter settings) and
-`asciidoc-dblatex.sty` (customized LaTeX settings). These are examples
-of optional <<X31,dblatex>> output customization and are used by
-<<X43,a2x(1)>>.
-
-AsciiDoc DocBook XSL Stylesheets drivers
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-You will have noticed that the distributed HTML and HTML Help
-documentation files (for example `./doc/asciidoc.html`) are not the
-plain outputs produced using the default 'DocBook XSL Stylesheets'
-configuration. This is because they have been processed using
-customized DocBook XSL Stylesheets along with (in the case of HTML
-outputs) the custom `./stylesheets/docbook.css` CSS stylesheet.
-
-You'll find the customized DocBook XSL drivers along with additional
-documentation in the distribution `./docbook-xsl` directory. The
-examples that follow are executed from the distribution documentation
-(`./doc`) directory. These drivers are also used by <<X43,a2x(1)>>.
-
-`common.xsl`::
- Shared driver parameters. This file is not used directly but is
- included in all the following drivers.
-
-`chunked.xsl`::
- Generate chunked XHTML (separate HTML pages for each document
- section) in the `./doc/chunked` directory. For example:
-
- $ python ../asciidoc.py -b docbook asciidoc.txt
- $ xsltproc --nonet ../docbook-xsl/chunked.xsl asciidoc.xml
-
-`epub.xsl`::
- Used by <<X43,a2x(1)>> to generate EPUB formatted documents.
-
-`fo.xsl`::
- Generate XSL Formatting Object (`.fo`) files for subsequent PDF
- file generation using FOP. For example:
-
- $ python ../asciidoc.py -b docbook article.txt
- $ xsltproc --nonet ../docbook-xsl/fo.xsl article.xml > article.fo
- $ fop article.fo article.pdf
-
-`htmlhelp.xsl`::
- Generate Microsoft HTML Help source files for the MS HTML Help
- Compiler in the `./doc/htmlhelp` directory. This example is run on
- MS Windows from a Cygwin shell prompt:
-
- $ python ../asciidoc.py -b docbook asciidoc.txt
- $ xsltproc --nonet ../docbook-xsl/htmlhelp.xsl asciidoc.xml
- $ c:/Program\ Files/HTML\ Help\ Workshop/hhc.exe htmlhelp.hhp
-
-`manpage.xsl`::
- Generate a `roff(1)` format UNIX man page from a DocBook XML
- 'refentry' document. This example generates an `asciidoc.1` man
- page file:
-
- $ python ../asciidoc.py -d manpage -b docbook asciidoc.1.txt
- $ xsltproc --nonet ../docbook-xsl/manpage.xsl asciidoc.1.xml
-
-`xhtml.xsl`::
- Convert a DocBook XML file to a single XHTML file. For example:
-
- $ python ../asciidoc.py -b docbook asciidoc.txt
- $ xsltproc --nonet ../docbook-xsl/xhtml.xsl asciidoc.xml > asciidoc.html
-
-If you want to see how the complete documentation set is processed
-take a look at the A-A-P script `./doc/main.aap`.
-
-
-Generating Plain Text Files
----------------------------
-AsciiDoc does not have a text backend (for most purposes AsciiDoc
-source text is fine), however you can convert AsciiDoc text files to
-formatted text using the AsciiDoc <<X43,a2x(1)>> toolchain wrapper
-utility.
-
-
-[[X36]]
-Help Commands
--------------
-The asciidoc(1) command has a `--help` option which prints help topics
-to stdout. The default topic summarizes asciidoc(1) usage:
-
- $ asciidoc --help
-
-To print a list of help topics:
-
- $ asciidoc --help=topics
-
-To print a help topic specify the topic name as a command argument.
-Help topic names can be shortened so long as they are not ambiguous.
-Examples:
-
- $ asciidoc --help=manpage
- $ asciidoc -hm # Short version of previous example.
- $ asciidoc --help=syntax
- $ asciidoc -hs # Short version of previous example.
-
-Customizing Help
-~~~~~~~~~~~~~~~~
-To change, delete or add your own help topics edit a help
-configuration file. The help file name `help-<lang>.conf` is based on
-the setting of the `lang` attribute, it defaults to `help.conf`
-(English). The <<X27,help file location>> will depend on whether you
-want the topics to apply to all users or just the current user.
-
-The help topic files have the same named section format as other
-<<X7,configuration files>>. The `help.conf` files are stored in the
-same locations and loaded in the same order as other configuration
-files.
-
-When the `--help` command-line option is specified AsciiDoc loads the
-appropriate help files and then prints the contents of the section
-whose name matches the help topic name. If a topic name is not
-specified `default` is used. You don't need to specify the whole help
-topic name on the command-line, just enough letters to ensure it's not
-ambiguous. If a matching help file section is not found a list of
-available topics is printed.
-
-
-Tips and Tricks
----------------
-
-Know Your Editor
-~~~~~~~~~~~~~~~~
-Writing AsciiDoc documents will be a whole lot more pleasant if you
-know your favorite text editor. Learn how to indent and reformat text
-blocks, paragraphs, lists and sentences. <<X20,Tips for 'vim' users>>
-follow.
-
-[[X20]]
-Vim Commands for Formatting AsciiDoc
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Text Wrap Paragraphs
-^^^^^^^^^^^^^^^^^^^^
-Use the vim `:gq` command to reformat paragraphs. Setting the
-'textwidth' sets the right text wrap margin; for example:
-
- :set textwidth=70
-
-To reformat a paragraph:
-
-1. Position the cursor at the start of the paragraph.
-2. Type `gq}`.
-
-Execute `:help gq` command to read about the vim gq command.
-
-[TIP]
-=====================================================================
-- Assign the `gq}` command to the Q key with the `nnoremap Q gq}`
- command or put it in your `~/.vimrc` file to so it's always
- available (see the <<X61, Example `~/.vimrc` file>>).
-- Put `set` commands in your `~/.vimrc` file so you don't have to
- enter them manually.
-- The Vim website (http://www.vim.org) has a wealth of resources,
- including scripts for automated spell checking and ASCII Art
- drawing.
-=====================================================================
-
-Format Lists
-^^^^^^^^^^^^
-The `gq` command can also be used to format bulleted, numbered and
-callout lists. First you need to set the `comments`, `formatoptions`
-and `formatlistpat` (see the <<X61, Example `~/.vimrc` file>>).
-
-Now you can format simple lists that use dash, asterisk, period and
-plus bullets along with numbered ordered lists:
-
-1. Position the cursor at the start of the list.
-2. Type `gq}`.
-
-Indent Paragraphs
-^^^^^^^^^^^^^^^^^
-Indent whole paragraphs by indenting the fist line with the desired
-indent and then executing the `gq}` command.
-
-[[X61]]
-Example `~/.vimrc` File
-^^^^^^^^^^^^^^^^^^^^^^^
----------------------------------------------------------------------
-" Use bold bright fonts.
-set background=dark
-
-" Show tabs and trailing characters.
-set listchars=tab:»·,trail:·
-set list
-
-" Don't highlight searched text.
-highlight clear Search
-
-" Don't move to matched text while search pattern is being entered.
-set noincsearch
-
-" Reformat paragraphs and list.
-nnoremap R gq}
-
-" Delete trailing white space and Dos-returns and to expand tabs to spaces.
-nnoremap S :set et<CR>:retab!<CR>:%s/[\r \t]\+$//<CR>
-
-autocmd BufRead,BufNewFile *.txt,README,TODO,CHANGELOG,NOTES
- \ setlocal autoindent expandtab tabstop=8 softtabstop=2 shiftwidth=2 filetype=asciidoc
- \ textwidth=70 wrap formatoptions=tcqn
- \ formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\\|^\\s*<\\d\\+>\\s\\+\\\\|^\\s*[a-zA-Z.]\\.\\s\\+\\\\|^\\s*[ivxIVX]\\+\\.\\s\\+
- \ comments=s1:/*,ex:*/,://,b:#,:%,:XCOMM,fb:-,fb:*,fb:+,fb:.,fb:>
----------------------------------------------------------------------
-
-Troubleshooting
-~~~~~~~~~~~~~~~
-AsciiDoc diagnostic features are detailed in the <<X82,Diagnostics
-appendix>>.
-
-Gotchas
-~~~~~~~
-Incorrect character encoding::
- If you get an error message like `'UTF-8' codec can't decode ...`
- then you source file contains invalid UTF-8 characters -- set the
- AsciiDoc <<X54,encoding attribute>> for the correct character set
- (typically ISO-8859-1 (Latin-1) for European languages).
-
-Invalid output::
- AsciiDoc attempts to validate the input AsciiDoc source but makes
- no attempt to validate the output markup, it leaves that to
- external tools such as `xmllint(1)` (integrated into `a2x(1)`).
- Backend validation cannot be hardcoded into AsciiDoc because
- backends are dynamically configured. The following example
- generates valid HTML but invalid DocBook (the DocBook `literal`
- element cannot contain an `emphasis` element):
-
- +monospaced text with an _emphasized_ word+
-
-Misinterpreted text formatting::
- You can suppress markup expansion by placing a backslash character
- immediately in front of the element. The following example
- suppresses inline monospaced formatting:
-
- \+1 for C++.
-
-Overlapping text formatting::
- Overlapping text formatting will generate illegal overlapping
- markup tags which will result in downstream XML parsing errors.
- Here's an example:
-
- Some *strong markup _that overlaps* emphasized markup_.
-
-Ambiguous underlines::
- A DelimitedBlock can immediately follow a paragraph without an
- intervening blank line, but be careful, a single line paragraph
- underline may be misinterpreted as a section title underline
- resulting in a ``closing block delimiter expected'' error.
-
-Ambiguous ordered list items::
- Lines beginning with numbers at the end of sentences will be
- interpreted as ordered list items. The following example
- (incorrectly) begins a new list with item number 1999:
-
- He was last sighted in
- 1999. Since then things have moved on.
-+
-The 'list item out of sequence' warning makes it unlikely that this
-problem will go unnoticed.
-
-Special characters in attribute values::
- Special character substitution precedes attribute substitution so
- if attribute values contain special characters you may, depending
- on the substitution context, need to escape the special characters
- yourself. For example:
-
- $ asciidoc -a 'orgname=Bill & Ben Inc.' mydoc.txt
-
-Attribute lists::
- If any named attribute entries are present then all string
- attribute values must be quoted. For example:
-
- ["Desktop screenshot",width=32]
-
-[[X90]]
-Combining separate documents
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-You have a number of stand-alone AsciiDoc documents that you want to
-process as a single document. Simply processing them with a series of
-`include` macros won't work because the documents contain (level 0)
-document titles. The solution is to create a top level wrapper
-document and use the `leveloffset` attribute to push them all down one
-level. For example:
-
----------------------------------------------------------------------
-Combined Document Title
-_______________________
-
-:leveloffset: 1
-
-\include::document1.txt[]
-
-\include::document2.txt[]
-
-\include::document3.txt[]
----------------------------------------------------------------------
-
-The document titles in the included documents will now be processed as
-level 1 section titles, level 1 sections as level 2 sections and so
-on.
-
-- Put a blank line between the `include` macro lines to ensure the
- title of the included document is not seen as part of the last
- paragraph of the previous document.
-- You won't want non-title document header lines (for example, Author
- and Revision lines) in the included files -- conditionally exclude
- them if they are necessary for stand-alone processing.
-
-Processing document sections separately
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-You have divided your AsciiDoc document into separate files (one per
-top level section) which are combined and processed with the following
-top level document:
-
----------------------------------------------------------------------
-Combined Document Title
-=======================
-Joe Bloggs
-v1.0, 12-Aug-03
-
-\include::section1.txt[]
-
-\include::section2.txt[]
-
-\include::section3.txt[]
----------------------------------------------------------------------
-
-You also want to process the section files as separate documents.
-This is easy because asciidoc(1) will quite happily process
-`section1.txt`, `section2.txt` and `section3.txt` separately -- the
-resulting output documents contain the section but have no document
-title.
-
-Processing document snippets
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Use the `-s` (`--no-header-footer`) command-line option to suppress
-header and footer output, this is useful if the processed output is to
-be included in another file. For example:
-
- $ asciidoc -sb docbook section1.txt
-
-asciidoc(1) can be used as a filter, so you can pipe chunks of text
-through it. For example:
-
- $ echo 'Hello *World!*' | asciidoc -s -
- <div class="paragraph"><p>Hello <strong>World!</strong></p></div>
-
-Badges in HTML page footers
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-See the `[footer]` section in the AsciiDoc distribution `xhtml11.conf`
-configuration file.
-
-Pretty printing AsciiDoc output
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-If the indentation and layout of the asciidoc(1) output is not to your
-liking you can:
-
-1. Change the indentation and layout of configuration file markup
- template sections. The `{empty}` attribute is useful for outputting
- trailing blank lines in markup templates.
-
-2. Use Dave Raggett's http://tidy.sourceforge.net/[HTML Tidy] program
- to tidy asciidoc(1) output. Example:
-
- $ asciidoc -b docbook -o - mydoc.txt | tidy -indent -xml >mydoc.xml
-
-3. Use the `xmllint(1)` format option. Example:
-
- $ xmllint --format mydoc.xml
-
-Supporting minor DocBook DTD variations
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-The conditional inclusion of DocBook SGML markup at the end of the
-distribution `docbook45.conf` file illustrates how to support minor
-DTD variations. The included sections override corresponding entries
-from preceding sections.
-
-Creating stand-alone HTML documents
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-If you've ever tried to send someone an HTML document that includes
-stylesheets and images you'll know that it's not as straight-forward
-as exchanging a single file. AsciiDoc has options to create
-stand-alone documents containing embedded images, stylesheets and
-scripts. The following AsciiDoc command creates a single file
-containing <<X66,embedded images>>, CSS stylesheets, and JavaScript
-(for table of contents and footnotes):
-
- $ asciidoc -a data-uri -a icons -a toc -a max-width=55em article.txt
-
-You can view the HTML file here: {website}article-standalone.html
-
-Shipping stand-alone AsciiDoc source
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Reproducing presentation documents from someone else's source has one
-major problem: unless your configuration files are the same as the
-creator's you won't get the same output.
-
-The solution is to create a single backend specific configuration file
-using the asciidoc(1) `-c` (`--dump-conf`) command-line option. You
-then ship this file along with the AsciiDoc source document plus the
-`asciidoc.py` script. The only end user requirement is that they have
-Python installed (and that they consider you a trusted source). This
-example creates a composite HTML configuration file for `mydoc.txt`:
-
- $ asciidoc -cb xhtml11 mydoc.txt > mydoc-xhtml11.conf
-
-Ship `mydoc.txt`, `mydoc-html.conf`, and `asciidoc.py`. With
-these three files (and a Python interpreter) the recipient can
-regenerate the HMTL output:
-
- $ ./asciidoc.py -eb xhtml11 mydoc.txt
-
-The `-e` (`--no-conf`) option excludes the use of implicit
-configuration files, ensuring that only entries from the
-`mydoc-html.conf` configuration are used.
-
-Inserting blank space
-~~~~~~~~~~~~~~~~~~~~~
-Adjust your style sheets to add the correct separation between block
-elements. Inserting blank paragraphs containing a single non-breaking
-space character `{nbsp}` works but is an ad hoc solution compared
-to using style sheets.
-
-Closing open sections
-~~~~~~~~~~~~~~~~~~~~~
-You can close off section tags up to level `N` by calling the
-`eval::[Section.setlevel(N)]` system macro. This is useful if you
-want to include a section composed of raw markup. The following
-example includes a DocBook glossary division at the top section level
-(level 0):
-
----------------------------------------------------------------------
-\ifdef::basebackend-docbook[]
-
-\eval::[Section.setlevel(0)]
-
-+++++++++++++++++++++++++++++++
-<glossary>
- <title>Glossary</title>
- <glossdiv>
- ...
- </glossdiv>
-</glossary>
-+++++++++++++++++++++++++++++++
-\endif::basebackend-docbook[]
----------------------------------------------------------------------
-
-Validating output files
-~~~~~~~~~~~~~~~~~~~~~~~
-Use `xmllint(1)` to check the AsciiDoc generated markup is both well
-formed and valid. Here are some examples:
-
- $ xmllint --nonet --noout --valid docbook-file.xml
- $ xmllint --nonet --noout --valid xhtml11-file.html
- $ xmllint --nonet --noout --valid --html html4-file.html
-
-The `--valid` option checks the file is valid against the document
-type's DTD, if the DTD is not installed in your system's catalog then
-it will be fetched from its Internet location. If you omit the
-`--valid` option the document will only be checked that it is well
-formed.
-
-
-:numbered!:
-
-[glossary]
-Glossary
---------
-[glossary]
-[[X8]] Block element::
- An AsciiDoc block element is a document entity composed of one or
- more whole lines of text.
-
-[[X34]] Inline element::
- AsciiDoc inline elements occur within block element textual
- content, they perform formatting and substitution tasks.
-
-Formal element::
- An AsciiDoc block element that has a BlockTitle. Formal elements
- are normally listed in front or back matter, for example lists of
- tables, examples and figures.
-
-Verbatim element::
- The word verbatim indicates that white space and line breaks in
- the source document are to be preserved in the output document.
-
-
-[appendix]
-Migration Notes
----------------
-[[X53]]
-Version 7 to version 8
-~~~~~~~~~~~~~~~~~~~~~~
-- A new set of quotes has been introduced which may match inline text
- in existing documents -- if they do you'll need to escape the
- matched text with backslashes.
-- The index entry inline macro syntax has changed -- if your documents
- include indexes you may need to edit them.
-- Replaced a2x(1) `--no-icons` and `--no-copy` options with their
- negated equivalents: `--icons` and `--copy` respectively. The
- default behavior has also changed -- the use of icons and copying of
- icon and CSS files must be specified explicitly with the `--icons`
- and `--copy` options.
-
-The rationale for the changes can be found in the AsciiDoc
-`CHANGELOG`.
-
-NOTE: If you want to disable unconstrained quotes, the new alternative
-constrained quotes syntax and the new index entry syntax then you can
-define the attribute `asciidoc7compatible` (for example by using the
-`-a asciidoc7compatible` command-line option).
-
-[[X38]]
-[appendix]
-Packager Notes
---------------
-Read the `README` and `INSTALL` files (in the distribution root
-directory) for install prerequisites and procedures. The distribution
-`Makefile.in` (used by `configure` to generate the `Makefile`) is the
-canonical installation procedure.
-
-
-[[X39]]
-[appendix]
-AsciiDoc Safe Mode
--------------------
-AsciiDoc 'safe mode' skips potentially dangerous scripted sections in
-AsciiDoc source files by inhibiting the execution of arbitrary code or
-the inclusion of arbitrary files.
-
-The safe mode is disabled by default, it can be enabled with the
-asciidoc(1) `--safe` command-line option.
-
-.Safe mode constraints
-- `eval`, `sys` and `sys2` executable attributes and block macros are
- not executed.
-- `include::<filename>[]` and `include1::<filename>[]` block macro
- files must reside inside the parent file's directory.
-- `{include:<filename>}` executable attribute files must reside
- inside the source document directory.
-- Passthrough Blocks are dropped.
-
-[WARNING]
-=====================================================================
-The safe mode is not designed to protect against unsafe AsciiDoc
-configuration files. Be especially careful when:
-
-1. Implementing filters.
-2. Implementing elements that don't escape special characters.
-3. Accepting configuration files from untrusted sources.
-=====================================================================
-
-
-[appendix]
-Using AsciiDoc with non-English Languages
------------------------------------------
-AsciiDoc can process UTF-8 character sets but there are some things
-you need to be aware of:
-
-- If you are generating output documents using a DocBook toolchain
- then you should set the AsciiDoc `lang` attribute to the appropriate
- language (it defaults to `en` (English)). This will ensure things
- like table of contents, figure and table captions and admonition
- captions are output in the specified language. For example:
-
- $ a2x -a lang=es doc/article.txt
-
-- If you are outputting HTML directly from asciidoc(1) you'll
- need to set the various `*_caption` attributes to match your target
- language (see the list of captions and titles in the `[attributes]`
- section of the distribution `lang-*.conf` files). The easiest way is
- to create a language `.conf` file (see the AsciiDoc's `lang-en.conf`
- file).
-+
-NOTE: You still use the 'NOTE', 'CAUTION', 'TIP', 'WARNING',
-'IMPORTANT' captions in the AsciiDoc source, they get translated in
-the HTML output file.
-
-- asciidoc(1) automatically loads configuration files named like
- `lang-<lang>.conf` where `<lang>` is a two letter language code that
- matches the current AsciiDoc `lang` attribute. See also
- <<X27,Configuration File Names and Locations>>.
-
-- Some character sets display double-width characters (for example
- Japanese). As far as <<X17,title underlines>> are concerned they
- should be treated as single character. If you think this looks
- untidy so you may prefer to use the <<X46,single line title>>
- format.
-
-
-[appendix]
-Vim Syntax Highlighter
-----------------------
-Syntax highlighting is incredibly useful, in addition to making
-reading AsciiDoc documents much easier syntax highlighting also helps
-you catch AsciiDoc syntax errors as you write your documents.
-
-The AsciiDoc `./vim/` distribution directory contains Vim syntax
-highlighter and filetype detection scripts for AsciiDoc. Syntax
-highlighting makes it much easier to spot AsciiDoc syntax errors.
-
-If Vim is installed on your system the AsciiDoc installer
-(`install.sh`) will automatically install the vim scripts in the Vim
-global configuration directory (`/etc/vim`).
-
-You can also turn on syntax highlighting by adding the following line
-to the end of you AsciiDoc source files:
-
- // vim: set syntax=asciidoc:
-
-TIP: Bold fonts are often easier to read, use the Vim `:set
-background=dark` command to set bold bright fonts.
-
-NOTE: There are a number of alternative syntax highlighters for
-various editors listed on the {website}[AsciiDoc website].
-
-Limitations
-~~~~~~~~~~~
-The current implementation does a reasonable job but on occasions gets
-things wrong:
-
-- Nested quoted text formatting is highlighted according to the outer
- format.
-- If a closing Example Block delimiter is sometimes mistaken for a
- title underline. A workaround is to insert a blank line before the
- closing delimiter.
-- Lines within a paragraph starting with equals characters may be
- highlighted as single-line titles.
-- Lines within a paragraph beginning with a period may be highlighted
- as block titles.
-
-
-[[X74]]
-[appendix]
-Attribute Options
------------------
-Here is the list of predefined <<X75,attribute list options>>:
-
-
-[cols="2e,2,2,5",frame="topbot",options="header"]
-|====================================================================
-|Option|Backends|AsciiDoc Elements|Description
-
-|autowidth |xhtml11,html4 |table|
-The column widths are determined by the browser, not the AsciiDoc
-'cols' attribute. If there is no 'width' attribute the table width is
-also left up to the browser.
-
-|breakable, unbreakable |docbook (XSL/FO) |table, example, block image|
-The 'breakable' options allows block elements to break across page
-boundaries; 'unbreakable' attempts to keep the block element together
-on a single page. If neither option is specified the default XSL
-stylesheet behavior prevails.
-
-|compact |docbook, xhtml11 |bulleted list, numbered list|
-Minimizes vertical space in the list
-
-|footer |docbook, xhtml11, html4 |table|
-The last row of the table is rendered as a footer.
-
-|header |docbook, xhtml11, html4 |table|
-The first row of the table is rendered as a header.
-
-|pgwide |docbook (XSL/FO) |table, block image, horizontal labeled list|
-Specifies that the element should be rendered across the full text
-width of the page irrespective of the current indentation.
-
-|strong |xhtml11,html4 |labeled lists|
-Emboldens label text.
-|====================================================================
-
-
-[[X82]]
-[appendix]
-Diagnostics
------------
-The `asciidoc(1)` `--verbose` command-line option prints additional
-information to stderr: files processed, filters processed, warnings,
-system attribute evaluation.
-
-A special attribute named 'trace' controls the output of diagnostic
-information. If the 'trace' attribute is defined then
-element-by-element diagnostic messages detailing output markup
-generation are printed to stderr. The 'trace' attribute can be set on
-the command-line or from within the document using <<X18,Attribute
-Entries>> (the latter allows tracing to be confined to specific
-portions of the document).
-
-- Trace messages consist of a descriptive name followed by the related
- markup.
-- The trace message is only printed if the 'trace' attribute value
- matches the start of the trace name. The 'trace' attribute value can
- be any Python regular expression.
-- A blank trace value matches all trace names and all trace messages
- will be printed (this can result in large amounts of output if
- applied to the whole document).
-- In the case of inline substitutions:
- * The text before and after the substitution are printed delineated
- by `<<<` and `>>>` delimiters.
- * The message is only printed if a substitution is made.
- * The 'subs' trace value is an alias for all inline substitutions.
-
-Command-line examples:
-
-. Trace the entire document.
-
- $ asciidoc -a trace mydoc.txt
-
-. Trace messages whose names start with `quotes` or `macros`:
-
- $ asciidoc -a 'trace=quotes|macros' mydoc.txt
-
-. Print the first line of all trace messages:
-
- $ asciidoc -a trace mydoc.txt 2>&1 | grep ^TRACE:
-
-Attribute Entry examples:
-
-. Begin printing all trace messages:
-
- :trace:
-
-. Print only matched trace messages:
-
- :trace: quotes|macros
-
-. Turn trace messages off:
-
- :trace!:
-
-
-[[X88]]
-[appendix]
-Backend Attributes
-------------------
-This table contains a list of optional attributes that influence the
-generated outputs.
-
-[cols="1e,1,5a",frame="topbot",options="header"]
-|====================================================================
-|Name |Backends |Description
-
-|badges |xhtml11 |
-Link badges ('XHTML 1.1', 'CSS' and 'Get Firefox!') in document
-footers. By default badges are omitted ('badges' is undefined).
-
-NOTE: The path names of images, icons and scripts are relative path
-names to the output document not the source document.
-
-|data-uri |xhtml11 |
-Embed images using the <<X66,data: uri scheme>>.
-
-|disable-javascript |xhtml11 |
-If the `disable-javascript` attribute is defined the `asciidoc.js`
-JavaScript is not embedded or linked to the output document. By
-default AsciiDoc automatically embeds or links the `asciidoc.js`
-JavaScript to the 'xhtml11' output document. The script dynamically
-generates <<X91,table of contents>> and <<X92,footnotes>>.
-
-|[[X97]] docinfo, docinfo1, docinfo2 |All backends |
-These three attributes control which <<X87,document information
-files>> will be included in the the header of the output file:
-
-docinfo:: Include `<filename>-docinfo.<ext>`
-docinfo1:: Include `docinfo.<ext>`
-docinfo2:: Include `docinfo.<ext>` and `<filename>-docinfo.<ext>`
-
-Where `<filename>` is the file name of (sans extension) of the
-AsciiDoc input file and `<ext>` is `.html` for HTML outputs or `.xml`
-for DocBook outputs. The following example will include the
-`mydoc-docinfo.xml` docinfo file in the DocBook `mydoc.xml` output
-file:
-
- $ asciidoc -a docinfo -b docbook mydoc.txt
-
-This next example will include `docinfo.html` and `mydoc-docinfo.html`
-docinfo files in the HTML output file:
-
- $ asciidoc -a docinfo2 -b html4 mydoc.txt
-
-
-|[[X54]]encoding |html4, xhtml11, docbook |
-Set the input and output document character set encoding. For example
-the `--attribute encoding=ISO-8859-1` command-line option will set the
-character set encoding to `ISO-8859-1`.
-
-- The default encoding is UTF-8.
-- This attribute specifies the character set in the output document.
-- The encoding name must correspond to a Python codec name or alias.
-- The 'encoding' attribute can be set using an AttributeEntry inside
- the document header. For example:
-
- :encoding: ISO-8859-1
-
-|[[X45]]icons |xhtml11 |
-Link admonition paragraph and admonition block icon images and badge
-images. By default 'icons' is undefined and text is used in place of
-icon images.
-
-|[[X44]]iconsdir |html4, xhtml11, docbook |
-The name of the directory containing linked admonition and navigation
-icons. Defaults to `./images/icons`.
-
-|imagesdir |html4, xhtml11, docbook |
-If this attribute is defined it is prepended to the target image file
-name paths in inline and block image macros.
-
-|keywords, description, title |html4, xhtml11 |
-The 'keywords' and 'description' attributes set the correspondingly
-named HTML meta tag contents; the 'title' attribute sets the HTML
-title tag contents. Their principle use is for SEO (Search Engine
-Optimisation). All three are optional, but if they are used they must
-appear in the document header (or on the command-line). If 'title' is
-not specified the AsciiDoc document title is used.
-
-|linkcss |xhtml11 |
-Link CSS stylesheets and JavaScripts (see the 'stylesdir' and
-'scriptsdir' attributes below). By default 'linkcss' is undefined in
-which case stylesheets and scripts are automatically embedded in the
-output document.
-
-|max-width |xhtml11 |
-Set the document maximum display width (sets the 'body' element CSS
-'max-width' property).
-
-|numbered |html4, xhtml11, docbook (XSL Stylesheets) |
-Adds section numbers to section titles. The 'docbook' backend ignores
-'numbered' attribute entries after the document header.
-
-|plaintext | All backends |
-If this global attribute is defined all inline substitutions are
-suppressed and block indents are retained. This option is useful when
-dealing with large amounts of imported plain text.
-
-|quirks |xhtml11 |
-Include the `xhtml11-quirks.css` <<X35,stylesheet>> to work around IE6
-browser incompatibilities.
-
-|revremark |docbook |
-A short summary of changes in this document revision. Must be defined
-prior to the first document section. The document also needs to be
-dated to output this attribute.
-
-|scriptsdir |xhtml11 |
-The name of the directory containing linked JavaScripts. Defaults to
-`.` (the same directory as the linking document).
-
-|sgml |docbook45 |
-The `--backend=docbook45` command-line option produces DocBook 4.5
-XML. You can produce the older DocBook SGML format using the
-`--attribute sgml` command-line option.
-
-|stylesdir |xhtml11 |
-The name of the directory containing linked stylesheets. Defaults to
-`.` (the same directory as the linking document).
-
-|stylesheet |xhtml11 |
-The file name of an optional additional CSS stylesheet. If you are
-embedding the stylesheet specify the actual file location; if you are
-linking CSS specify the file name relative to the directory specified
-by the 'stylesdir' attribute.
-
-|theme |xhtml11 |
-Use alternative stylesheets (see <<X35,Stylesheets>>).
-
-|[[X91]]toc |xhtml11, docbook (XSL Stylesheets) |
-Adds a table of contents to the start of an article or book document.
-The `toc` attribute can be specified using the `--attribute toc`
-command-line option or a `:toc:` attribute entry in the document
-header. The 'toc' attribute is defined by default when the 'docbook'
-backend is used. To disable table of contents generation undefine the
-'toc' attribute by putting a `:toc!:` attribute entry in the document
-header or from the command-line with an `--attribute toc!` option.
-
-*xhtml11 backend*
-
-- JavaScript needs to be enabled in your browser.
-- The following example generates a numbered table of contents using a
- JavaScript embedded in the `mydoc.html` output document (to link the
- script to the output document use the 'linkcss' and 'scriptsdir'
- attributes):
-
- $ asciidoc -a toc -a numbered mydoc.txt
-
-|toc-title |xhtml11 |
-Sets the table of contents title (defaults to 'Table of Contents').
-
-|toclevels |xhtml11 |
-Sets the number of title levels (1..4) reported in the table of
-contents (see the 'toc' attribute above). Defaults to 2 and must be
-used with the 'toc' attribute. Example usage:
-
- $ asciidoc -a toc -a toclevels=3 doc/asciidoc.txt
-
-|====================================================================
-
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/asciidocapi.txt b/code/maint/asciidoc/asciidoc-8.6.3/doc/asciidocapi.txt
deleted file mode 100644
index 0c3c31a..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/asciidocapi.txt
+++ /dev/null
@@ -1,188 +0,0 @@
-AsciiDoc API
-============
-
-'asciidocapi' -- a Python API module for 'AsciiDoc'.
-
-
-Introduction
-------------
-The 'asciidocapi' module implements a Python API for AsciiDoc. It
-allows you to set `asciidoc(1)` program options, compile an AsciiDoc
-source file and then interrogate the results. The `asciidocapi.py`
-module file contains the `AsciiDocAPI` wrapper class for
-`asciidoc.py`.
-
-.Benefits
-- Stable API Shields the user from the undocumented and possibly
- volatile `asciidoc.py` internals.
-- Easier to use and more flexible than the alternative of running
- `asciidoc(1)` as a separate process.
-- Executes inside your application (better performance than running
- separate `asciidoc(1)` command processes).
-
-
-Using asciidocapi
------------------
-To use the API just drop the `asciidocapi.py` file into your
-application directory, import it and use the `AsciiDocAPI` class. The
-only requirement is that a compatible version of 'AsciiDoc' is already
-installed -- simple, no setuptools to run, no Eggs to install, no
-non-standard library dependencies.
-
-You can find `asciidocapi.py` in the AsciiDoc
-http://www.methods.co.nz/asciidoc/INSTALL.html#X1[distribution
-archives] (version 8.4.1 or better).
-
-Once you have `asciidocapi.py` Verify everything is working by running
-the module doctests:
-
- python asciidocapi.py
-
-If there are no messages then all is well.
-
-The following minimal example compiles `mydoc.txt` to `mydoc.html`:
-
-[source,python]
--------------------------------------------------------------------------------
-from asciidocapi import AsciiDocAPI
-asciidoc = AsciiDocAPI()
-asciidoc.execute('mydoc.txt')
--------------------------------------------------------------------------------
-
-The next interactive example uses file-like objects for input and output:
-
--------------------------------------------------------------------------------
-$ python
-Python 2.5.2 (r252:60911, Jul 31 2008, 17:28:52)
-[GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)] on linux2
-Type "help", "copyright", "credits" or "license" for more information.
->>> from asciidocapi import AsciiDocAPI
->>> import StringIO
->>> infile = StringIO.StringIO('Hello *{author}*')
->>> outfile = StringIO.StringIO()
->>> asciidoc = AsciiDocAPI()
->>> asciidoc.options('--no-header-footer')
->>> asciidoc.attributes['author'] = 'Joe Bloggs'
->>> asciidoc.execute(infile, outfile, backend='html4')
->>> print outfile.getvalue()
-<p>Hello <strong>Joe Bloggs</strong></p>
-
->>>
--------------------------------------------------------------------------------
-
-
-Implementation Rationale
-------------------------
-.Leverage existing knowledge
-The API maps directly onto the `asciidoc(1)` command -- this is
-deliberate -- if you know the `asciidoc(1)` command learning the API
-will be trivial. A nice side effect of this goal is that API and
-command-line modes share the same code -- virtually no `asciidoc(1)`
-code is specific to API usage.
-
-.Simplicity
-Implemented with a single Python module file (`asciidocapi.py`)
-containing the 'AsciiDocAPI' API class. 'AsciiDocAPI' contains just
-one method plus a few attributes for processing options and result
-messages. No external setup tools and no non-standard library
-dependencies are used or required.
-
-.Loose coupling
-The dependency between `asciidocapi.py` and `asciidoc.py` is minimal
--- the current `asciidocapi.py` module uses only two attributes and
-one function from the `asciidoc.py` module.
-
-.Why isn't the API baked right into the asciidoc.py command script?
-1. You can't just drop `asciidoc.py` into your application because it
- requires all the related config files and filters -- complex and
- unnecessary since all this was already done when you installed
- AsciiDoc.
-2. This scheme separates the API from the AsciiDoc application -- the
- API implementation can be extended or replaced independently of
- AsciiDoc.
-
-
-API reference
--------------
-
-[[X2]]
-Class `AsciiDocAPI(object)`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-This is the 'AsciiDoc' API class.
-
-Instance attributes
-^^^^^^^^^^^^^^^^^^^
-`asciidoc`::
-The imported `asciidoc.py` module.
-
-`attributes`::
-A dictionary of AsciiDoc attribute values passed to AsciiDoc.
-
-- Setting an attribute value to `None` (`name: None`) will undefine
- (delete) the attribute (this in addition to the `name!` attribute
- name format that the `asciidoc(1)` command uses).
-- To simply define an attribute set the attribute value to a blank
- string (`name: ''`)
-
-`cmd`::
-The file path of the `asciidoc.py` script. Set by the `__init__`
-method.
-
-`messages`::
-A chronologically ordered list of message strings generated during
-AsciiDoc execution (last message at the end of the list).
-
-`options`::
-An instance of the <<X1,Options class>>. Contains a list of command
-options passed to AsciiDoc.
-
-Instance methods
-^^^^^^^^^^^^^^^^
-`__init__(self, asciidoc_py=None)`::
-Locate and import `asciidoc.py` module and verify API compatibility.
-Initialize instance attributes. A search for the `asciidoc` module is
-made in the following order:
-
-. Use the `ASCIIDOC_PY` environment variable if it is set.
-. Use the `asciidoc_py` argument if it is set.
-. Search the environment 'PATH' for `asciidoc.py`, `asciidoc.pyc` and
- `asciidoc` (in that order).
-. Finally repeat the previous search in the current working directory.
-
-`execute(self, infile, outfile=None, backend=None)`::
-Compile `infile` to `outfile` using `backend` format. `infile` and
-`outfile` can be file path strings or file-like objects. `backend` is
-name of 'AsciiDoc' backend (takes same values as `asciidoc(1)` command
-`--backend` option). If `outfile` or `backend` are `None` then their
-respective `asciidoc(1)` defaults are used.
-
-
-[[X1]]
-Class `Options(object)`
-~~~~~~~~~~~~~~~~~~~~~~~
-Stores `asciidoc(1)` command options.
-
-Instance attributes
-^^^^^^^^^^^^^^^^^^^
-`values`::
-The list of `(name,value)` command option tuples.
-
-Instance methods
-^^^^^^^^^^^^^^^^
-`__call__(self, name, value=None)`::
-A shortcut for the `append` method. Example:
-
- opts = Options()
- opts('--verbose')
-
-`append(self, name, value=None)`::
-Append `(name,value)` to the options list. Example:
-
- opts = Options()
- opts.append('--conf-file', 'blog.conf')
-
-
-Class `AsciiDocError(Exception)`
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Thrown by the <<X2,AsciiDocAPI class>> when an 'AsciiDoc' execution
-error occurs.
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/asciimathml.txt b/code/maint/asciidoc/asciidoc-8.6.3/doc/asciimathml.txt
deleted file mode 100644
index ed5e269..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/asciimathml.txt
+++ /dev/null
@@ -1,61 +0,0 @@
-ASCIIMathML Formulae
-====================
-
-http://www1.chapman.edu/~jipsen/mathml/asciimath.html[ASCIIMathML] is
-a clever JavaScript written by Peter Jipsen that dynamically
-transforms mathematical formulae written in a wiki-like plain text
-markup to http://www.w3.org/Math/[MathML] markup which is displayed as
-standard mathematical notation by the Web Browser. See 'Appendix E'
-in the AsciiDoc User Guide for more details.
-
-The AsciiDoc `xhtml11` backend supports ASCIIMathML -- it links the
-ASCIIMathML script and escapes ASCIIMathML delimiters and special
-characters to yield valid XHTML. To use ASCIIMathML:
-
-1. Include the `-a asciimath` command-line option when you run
- `asciidoc(1)`.
-2. Enclose ASCIIMathML formulas inside math or double-dollar
- passthroughs or in math passthrough blocks.
-
-Here's the link:asciimathml.txt[AsciiDoc source] that generated this
-page.
-
-.NOTE
-- When you use the `asciimath:[]` inline macro you need to escape `]`
- characters in the formulas with a backslash, escaping is unnecessary
- if you use the double-dollar macro (for examples see the second
- formula below).
-- See the
- http://www1.chapman.edu/~jipsen/mathml/asciimath.html[ASCIIMathML]
- website for ASCIIMathML documentation and the latest version.
-- If the formulas don't appear to be correct you probably need to
- install the correct math fonts (see the
- http://www1.chapman.edu/~jipsen/mathml/asciimath.html[ASCIIMathML]
- website for details).
-- See the link:latexmathml.html[LaTeXMathML page] if you prefer to use
- LaTeX math formulas.
-
-A list of example formulas:
-
-- $$`[[a,b],[c,d]]((n),(k))`$$
-- asciimath:[x/x={(1,if x!=0),(text{undefined},if x=0):}]
-- asciimath:[d/dxf(x)=lim_(h->0)(f(x+h)-f(x))/h]
-- +++`sum_(i=1)\^n i=(n(n+1))/2`$+++ and *bold
- asciimath:[int_0\^(pi/2) sinx\ dx=1]*
-- asciimath:[(a,b\]={x in RR : a < x <= b}]
-- asciimath:[x^2+y_1+z_12^34]
-
-*********************************************************************
-The first three terms factor to give
-asciimath:[(x+b/(2a))^2=(b^2)/(4a^2)-c/a].
-
-asciimath:[x+b/(2a)=+-sqrt((b^2)/(4a^2)-c/a)].
-
-Now we take square roots on both sides and get
-asciimath:[x+b/(2a)=+-sqrt((b^2)/(4a^2)-c/a)].
-Finally we move the asciimath:[b/(2a)] to the right and simplify to
-get the two solutions:
-*asciimath:[x_(1,2)=(-b+-sqrt(b^2-4ac))/(2a)]*.
-
-*********************************************************************
-
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/book-multi.txt b/code/maint/asciidoc/asciidoc-8.6.3/doc/book-multi.txt
deleted file mode 100644
index 7893883..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/book-multi.txt
+++ /dev/null
@@ -1,181 +0,0 @@
-Multi-Part Book Title Goes Here
-===============================
-Author's Name
-v1.0, 2003-12
-:doctype: book
-
-
-[dedication]
-Example Dedication
-==================
-The optional dedication goes here.
-
-This document is an AsciiDoc multi-part book skeleton containing
-briefly annotated element placeholders plus a couple of example index
-entries and footnotes. Books are normally used to generate DocBook
-markup and the preface, appendix, bibliography, glossary and index
-section titles are significant ('specialsections').
-
-NOTE: Multi-part books differ from all other AsciiDoc document formats
-in that top level sections (dedication, preface, book parts,
-appendices, bibliography, glossary, index) must be level zero headings
-(not level one).
-
-
-[preface]
-Example Preface
-================
-The optional book preface goes here at section level zero.
-
-Preface Sub-section
-~~~~~~~~~~~~~~~~~~~
-NOTE: Preface and appendix subsections start out of sequence at level
-2 (level 1 is skipped). This only applies to multi-part book
-documents.
-
-
-
-The First Part of the Book
-==========================
-
-[partintro]
-.Optional part introduction title
---
-Optional part introduction goes here.
---
-
-The First Chapter
------------------
-Chapters can be grouped by preceeding them with a level 0 Book Part
-title.
-
-Book chapters are at level 1 and can contain sub-sections nested up to
-three deep.
-footnote:[An example footnote.]
-indexterm:[Example index entry]
-
-It's also worth noting that a book part can have it's own preface,
-bibliography, glossary and index. Chapters can have their own
-bibliography, glossary and index.
-
-And now for something completely different: ((monkeys)), lions and
-tigers (Bengal and Siberian) using the alternative syntax index
-entries.
-(((Big cats,Lions)))
-(((Big cats,Tigers,Bengal Tiger)))
-(((Big cats,Tigers,Siberian Tiger)))
-Note that multi-entry terms generate separate index entries.
-
-Here are a couple of image examples: an image:images/smallnew.png[]
-example inline image followed by an example block image:
-
-.Tiger block image
-image::images/tiger.png[Tiger image]
-
-Followed by an example table:
-
-.An example table
-[width="60%",options="header"]
-|==============================================
-| Option | Description
-| -a 'USER GROUP' | Add 'USER' to 'GROUP'.
-| -R 'GROUP' | Disables access to 'GROUP'.
-|==============================================
-
-.An example example
-===============================================
-Lorum ipum...
-===============================================
-
-[[X1]]
-Sub-section with Anchor
-~~~~~~~~~~~~~~~~~~~~~~~
-Sub-section at level 2.
-
-Chapter Sub-section
-^^^^^^^^^^^^^^^^^^^
-Sub-section at level 3.
-
-Chapter Sub-section
-+++++++++++++++++++
-Sub-section at level 4.
-
-This is the maximum sub-section depth supported by the distributed
-AsciiDoc configuration.
-footnote:[A second example footnote.]
-
-
-The Second Chapter
-------------------
-An example link to anchor at start of the <<X1,first sub-section>>.
-indexterm:[Second example index entry]
-
-An example link to a bibliography entry <<taoup>>.
-
-
-
-The Second Part of the Book
-===========================
-
-The First Chapter of the Second Part
-------------------------------------
-Chapters grouped into book parts are at level 1 and can contain
-sub-sections.
-
-
-
-:numbered!:
-
-[appendix]
-Example Appendix
-================
-One or more optional appendixes go here at section level zero.
-
-Appendix Sub-section
-~~~~~~~~~~~~~~~~~~~
-NOTE: Preface and appendix subsections start out of sequence at level
-2 (level 1 is skipped). This only applies to multi-part book
-documents.
-
-
-
-[bibliography]
-Example Bibliography
-====================
-The bibliography list is a style of AsciiDoc bulleted list.
-
-[bibliography]
-- [[[taoup]]] Eric Steven Raymond. 'The Art of Unix
- Programming'. Addison-Wesley. ISBN 0-13-142901-9.
-- [[[walsh-muellner]]] Norman Walsh & Leonard Muellner.
- 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999.
- ISBN 1-56592-580-7.
-
-
-[glossary]
-Example Glossary
-================
-Glossaries are optional. Glossaries entries are an example of a style
-of AsciiDoc labeled lists.
-
-[glossary]
-A glossary term::
- The corresponding (indented) definition.
-
-A second glossary term::
- The corresponding (indented) definition.
-
-
-[colophon]
-Example Colophon
-================
-Text at the end of a book describing facts about its production.
-
-
-[index]
-Example Index
-=============
-////////////////////////////////////////////////////////////////
-The index is normally left completely empty, it's contents are
-generated automatically by the DocBook toolchain.
-////////////////////////////////////////////////////////////////
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/book.epub b/code/maint/asciidoc/asciidoc-8.6.3/doc/book.epub
deleted file mode 100644
index 149e64e..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/doc/book.epub and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/book.txt b/code/maint/asciidoc/asciidoc-8.6.3/doc/book.txt
deleted file mode 100644
index 166bfda..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/book.txt
+++ /dev/null
@@ -1,156 +0,0 @@
-Book Title Goes Here
-====================
-Author's Name
-v1.0, 2003-12
-:doctype: book
-
-
-[dedication]
-Example Dedication
-------------------
-Optional dedication.
-
-This document is an AsciiDoc book skeleton containing briefly
-annotated example elements plus a couple of example index entries and
-footnotes.
-
-Books are normally used to generate DocBook markup and the titles of
-the preface, appendix, bibliography, glossary and index sections are
-significant ('specialsections').
-
-
-[preface]
-Example Preface
----------------
-Optional preface.
-
-Preface Sub-section
-~~~~~~~~~~~~~~~~~~~
-Preface sub-section body.
-
-
-The First Chapter
------------------
-Chapters can contain sub-sections nested up to three deep.
-footnote:[An example footnote.]
-indexterm:[Example index entry]
-
-Chapters can have their own bibliography, glossary and index.
-
-And now for something completely different: ((monkeys)), lions and
-tigers (Bengal and Siberian) using the alternative syntax index
-entries.
-(((Big cats,Lions)))
-(((Big cats,Tigers,Bengal Tiger)))
-(((Big cats,Tigers,Siberian Tiger)))
-Note that multi-entry terms generate separate index entries.
-
-Here are a couple of image examples: an image:images/smallnew.png[]
-example inline image followed by an example block image:
-
-.Tiger block image
-image::images/tiger.png[Tiger image]
-
-Followed by an example table:
-
-.An example table
-[width="60%",options="header"]
-|==============================================
-| Option | Description
-| -a 'USER GROUP' | Add 'USER' to 'GROUP'.
-| -R 'GROUP' | Disables access to 'GROUP'.
-|==============================================
-
-.An example example
-===============================================
-Lorum ipum...
-===============================================
-
-[[X1]]
-Sub-section with Anchor
-~~~~~~~~~~~~~~~~~~~~~~~
-Sub-section at level 2.
-
-Chapter Sub-section
-^^^^^^^^^^^^^^^^^^^
-Sub-section at level 3.
-
-Chapter Sub-section
-+++++++++++++++++++
-Sub-section at level 4.
-
-This is the maximum sub-section depth supported by the distributed
-AsciiDoc configuration.
-footnote:[A second example footnote.]
-
-
-The Second Chapter
-------------------
-An example link to anchor at start of the <<X1,first sub-section>>.
-indexterm:[Second example index entry]
-
-An example link to a bibliography entry <<taoup>>.
-
-
-The Third Chapter
------------------
-Book chapters are at level 1 and can contain sub-sections.
-
-
-:numbered!:
-
-[appendix]
-Example Appendix
-----------------
-One or more optional appendixes go here at section level 1.
-
-Appendix Sub-section
-~~~~~~~~~~~~~~~~~~~
-Sub-section body.
-
-
-[bibliography]
-Example Bibliography
---------------------
-The bibliography list is a style of AsciiDoc bulleted list.
-
-[bibliography]
-.Books
-- [[[taoup]]] Eric Steven Raymond. 'The Art of Unix
- Programming'. Addison-Wesley. ISBN 0-13-142901-9.
-- [[[walsh-muellner]]] Norman Walsh & Leonard Muellner.
- 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999.
- ISBN 1-56592-580-7.
-
-[bibliography]
-.Articles
-- [[[abc2003]]] Gall Anonim. 'An article', Whatever. 2003.
-
-
-[glossary]
-Example Glossary
-----------------
-Glossaries are optional. Glossaries entries are an example of a style
-of AsciiDoc labeled lists.
-
-[glossary]
-A glossary term::
- The corresponding (indented) definition.
-
-A second glossary term::
- The corresponding (indented) definition.
-
-
-[colophon]
-Example Colophon
-----------------
-Text at the end of a book describing facts about its production.
-
-
-[index]
-Example Index
--------------
-////////////////////////////////////////////////////////////////
-The index is normally left completely empty, it's contents being
-generated automatically by the DocBook toolchain.
-////////////////////////////////////////////////////////////////
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/customers.csv b/code/maint/asciidoc/asciidoc-8.6.3/doc/customers.csv
deleted file mode 100644
index 40ceffc..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/customers.csv
+++ /dev/null
@@ -1,18 +0,0 @@
-"AROUT","Around the Horn","Thomas Hardy","120 Hanover Sq.
-London","(171) 555-7788"
-"BERGS","Berglunds snabbkop","Christina Berglund","Berguvsvagen 8
-Lulea","0921-12 34 65"
-"BLAUS","Blauer See Delikatessen","Hanna Moos","Forsterstr. 57
-Mannheim","0621-08460"
-"BLONP","Blondel pere et fils","Frederique Citeaux","24, place Kleber
-Strasbourg","88.60.15.31"
-"BOLID","Bolido Comidas preparadas","Martin Sommer","C/ Araquil, 67
-Madrid","(91) 555 22 82"
-"BONAP","Bon app'","Laurence Lebihan","12, rue des Bouchers
-Marseille","91.24.45.40"
-"BOTTM","Bottom-Dollar Markets","Elizabeth Lincoln","23 Tsawassen Blvd.
-Tsawassen","(604) 555-4729"
-"BSBEV","B's Beverages","Victoria Ashworth","Fauntleroy Circus
-London","(171) 555-1212"
-"CACTU","Cactus Comidas para llevar","Patricio Simpson","Cerrito 333
-Buenos Aires","(1) 135-5555"
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/docbook-xsl.css b/code/maint/asciidoc/asciidoc-8.6.3/doc/docbook-xsl.css
deleted file mode 120000
index c1cd3b9..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/docbook-xsl.css
+++ /dev/null
@@ -1 +0,0 @@
-../stylesheets/docbook-xsl.css
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/epub-notes.txt b/code/maint/asciidoc/asciidoc-8.6.3/doc/epub-notes.txt
deleted file mode 100644
index a78dd3e..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/epub-notes.txt
+++ /dev/null
@@ -1,229 +0,0 @@
-AsciiDoc EPUB Notes
-===================
-
-
-Restrictions
-------------
-- If the date format of the DocBook 'data' element is not formatted like
- `YYYY[-MM[-DD]]` you will get an error like the following one when
- validating with `epubcheck(1)`:
-
- ERROR: doc/article.epub/OEBPS/content.opf(6): date value 'Dec 2003'
- is not valid, YYYY[-MM[-DD]] expected
-
-- Navigation headers and admonition icons are suppressed by
- `docbook-xsl/epub.xsl`
- (see <<X2,bug report>>).
-
-
-DocBook XSL Stylesheets related limitations and bugs
-----------------------------------------------------
-
-=== epub: toc.section.depth parameter ignored
-https://sourceforge.net/tracker/?func=detail&aid=3043393&group_id=21935&atid=373747
-
-epub outputs include every section in the table of contents regardless of the
-toc.section.depth XSL Stylesheets parameter
-(http://docbook.sourceforge.net/release/xsl/current/doc/html/toc.section.depth.html).
-This behavior is specific to epub (xhtml and fo outputs honor
-toc.section.depth).
-
-Environment: DocBook XSL 1.75.2; Xubuntu 10.04
-
-Also epub/docbook.xsl has written a hard-coded illegal dtb:depth value of -1
-into the toc.ncx navigation control file:
-
- <ncx:meta name="dtb:depth" content="-1"/>
-
-Shouldn't it be a positive integer equal to the depth navPoint nesting in the
-navMap element (see
-http://www.niso.org/workrooms/daisy/Z39-86-2005.html#NavMeta)? Though epubcheck 1.05 doesn't flag it as invalid -- are they both wrong?
-
-
-[[X1]]
-=== epub: untitled DocBook sidebar emits invalid XHTML
-https://sourceforge.net/tracker/index.php?func=detail&aid=2840768&group_id=21935&atid=373747
-
-I get the same problem, but is confined to EPUB outputs (not XHTML)
-and results in the sidebar and all subsequent text on the page
-displayed in bold text in both Firefox 3.6.8 and Google Chrome
-5.0.375.125 (I haven't checked other browsers).
-
-Environment: DocBook XSL 1.75.2; Xubuntu 10.04
-
-If a DocBook sidebar element does not have a title then the emitted
-title is (I haven't checked other browsers).
-set to <b/> instead of <b></b>, for example this DocBook markup:
-
- <sidebar>
- <simpara>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</simpara>
- </sidebar>
-
-Generates this EPUB XHTML:
-
- <div class="sidebar"><p class="title"><b/></p><p>Lorem ipsum dolor
- sit amet, consectetuer adipiscing elit.</p></div>
-
-This problem is not picked up by either the epubcheck or the W3C
-validators.
-
-The problem does not occur generating XHTML which emits the following
-for the above example:
-
- <div class="sidebar"><p class="title"><b></b></p><p>Lorem ipsum
- dolor sit amet, consectetuer adipiscing elit.</p></div>
-
-
-=== epub: Unreferenced callout icons in OPF
-https://sourceforge.net/tracker/?func=detail&aid=2854075&group_id=21935&atid=373747
-
-Environment: DocBook XSL 1.75.2; Xubuntu 8.04
-
-When callouts are used in a document and callout graphics are disabled
-(callout.graphics=0) the generated 'contents.opf' still contains
-references to all the callout icons even though none are not
-referenced in the generated XHTML content. This results in 10
-epubcheck validation errors like:
-
- image file OEBPS/images/icons/callouts/1.png is missing
-
-It appears that epub is adding the icons to the OPF without
-first checking the callout.graphics parameter.
-
-
-=== epub: Table grids not generated
-https://sourceforge.net/tracker/?func=detail&aid=2849647&group_id=21935&atid=373747
-
-Environment: DocBook XSL 1.75.2; Xubuntu 8.04
-
-DocBook XSL epub does not appear to process the DocBook table element rowsep
-and colsep attributes -- table grids are not displayed. The DocBook
-<table rowsep="1" colsep="1"> results in:
-
-epub DocBook XSL generates:
-
- <td style="text-align: left" valign="top">
-
-i.e. epub is not generating CSS borders (same for generated th elements).
-
-Compare this with the (correct) xhtml DocBook XSL generates the correct border
-styles:
-
- <td style="border-right: 1px solid ; border-bottom: 1px solid ; " align="left" valign="top">
-
-
-
-=== epub: htmltoc is not generated
-https://sourceforge.net/tracker/?func=detail&aid=2849686&group_id=21935&atid=373747
-
-Environment: DocBook XSL 1.75.2; Xubuntu 8.04
-
-If DocBook XSL TOC generation is specified the generated
-'contents.opf' contains an 'htmltoc' element but the referenced TOC file
-is not generated by DocBook XSL. For example the contents.opf contains:
-
- <item id="htmltoc" media-type="application/xhtml+xml" href="ar01-toc.html"/>
-
-but the actual TOC file `OEBPS/ar01-toc.html` is missing and epubcheck
-generates validation errors like:
-
- ERROR: doc/article.epub: OPS/XHTML file OEBPS/ar01-toc.html is missing
-
-
-=== epub: leading dot in directory name error
-https://sourceforge.net/tracker/?func=detail&aid=2849683&group_id=21935&atid=373747
-
-Environment: DocBook XSL 1.75.2; Xubuntu 8.04
-
-Specifying paths with a leading dot causes problems, for example:
-
- <xsl:param name="html.stylesheet" select="'./docbook-xsl.css'"/>
-
-This generates validation errors like:
-
- ERROR: article.epub/OEBPS/index.html(4):
- 'OEBPS/./docbook-xsl.css': referenced resource missing in the package
-
-The file is in the archive at the correct location, just doesn't
-seem to like './' in the path name -- the path needs to be normalized
-before being written to the contents.opf.
-
-It's not just the validator, the file is missing when the EPUB is viewed
-(in bookworm).
-
-This works fine:
-
- <xsl:param name="html.stylesheet" select="'docbook-xsl.css'"/>
-
-
-[[X2]]
-=== epub: admonition icon images missing from contents.opf
-https://sourceforge.net/tracker/?func=detail&aid=2849681&group_id=21935&atid=373747
-
-Environment: DocBook XSL 1.75.2; Xubuntu 8.04
-
-When admonition icons are specified epubcheck generates validation
-errors like:
-
- ERROR: article.epub/OEBPS/index.html(4):
- 'OEBPS/images/icons/note.png': referenced resource exists,
- but not declared in the OPF file
-
-i.e. The admonition icon is in the EPUB file but DocBook XSL has not
-been added to the content.opf manifest. Compare this with callout icons
-which are processed correctly.
-
-
-=== Table width attribute validation error
-https://sourceforge.net/tracker/?func=detail&aid=2848734&group_id=21935&atid=373747
-
-Environment: DocBook XSL 1.75.2; Xubuntu 8.04
-
-I get the following validation errors when navigation headers are in
-included in the generated XHTML:
-
- ERROR: article.epub/OEBPS/ix01.html(3): attribute "width" not allowed
- at this point; ignored
-
-This is because DocBook XSL has emitted invalid XHTML 1.1: tables
-using the 'width' element are generated automatically in navigation
-headers.
-
-Though, admittedly, navigation is redundant if you're reading with an
-EPUB reader. Suppress by setting the suppress.navigation param to 1.
-
-Is this a DocBook XSL bug?
-
-
-The Linux zip(1) command
-------------------------
-The Linux zip(1) command does not seem to be able to generate EPUB
-compatible zip files -- the 'mimetype' file contents start at 0x3b,
-not the required 0x38 and the validator generates this error:
-
- $ zip -0 test.epub mimetype
- adding: mimetype (stored 0%)
-
- $ hexdump -C test.epub
- 00000000 50 4b 03 04 0a 00 00 00 00 00 99 50 21 3b 6f 61 |PK.........P!;oa|
- 00000010 ab 2c 14 00 00 00 14 00 00 00 08 00 15 00 6d 69 |.,............mi|
- 00000020 6d 65 74 79 70 65 55 54 09 00 03 01 49 9c 4a 01 |metypeUT....I.J.|
- 00000030 49 9c 4a 55 78 04 00 e9 03 e9 03 61 70 70 6c 69 |I.JUx......appli|
- 00000040 63 61 74 69 6f 6e 2f 65 70 75 62 2b 7a 69 70 50 |cation/epub+zipP|
- 00000050 4b 01 02 17 03 0a 00 00 00 00 00 99 50 21 3b 6f |K...........P!;o|
- 00000060 61 ab 2c 14 00 00 00 14 00 00 00 08 00 0d 00 00 |a.,.............|
- 00000070 00 00 00 00 00 00 00 a4 81 00 00 00 00 6d 69 6d |.............mim|
- 00000080 65 74 79 70 65 55 54 05 00 03 01 49 9c 4a 55 78 |etypeUT....I.JUx|
- 00000090 00 00 50 4b 05 06 00 00 00 00 01 00 01 00 43 00 |..PK..........C.|
- 000000a0 00 00 4f 00 00 00 00 00 |..O.....|
- 000000a8
-
- $ epubcheck test.epub
- Epubcheck Version 1.0.3
-
- ERROR: test.epub: mimetype contains wrong type (application/epub+zip expected)
- ERROR: test.epub: META-INF/container.xml is missing
-
-If there's some zip(1) command-line option I'm missing I'd be keen to
-know about it.
-
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/faq.txt b/code/maint/asciidoc/asciidoc-8.6.3/doc/faq.txt
deleted file mode 100644
index 9e38828..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/faq.txt
+++ /dev/null
@@ -1,1071 +0,0 @@
-AsciiDoc Frequently Asked Questions
-===================================
-
-
-[NOTE]
-======
-- New FAQs are normally added at the top of this document.
-- The FAQ may be updated between AsciiDoc releases so some of the
- newer FAQs may apply to the trunk and not the current release.
-======
-
-== Why is the generated HTML title element text invalid?
-Probably because your document title contains formatting that has
-generated HTML title markup. You can resolve this by explicitly
-defining the 'title' attribute in your document's header.
-
-
-== AsciiDoc sometimes generates invalid output markup, why?
-AsciiDoc is backend agnostic, the 'asciidoc' command has no knowledge
-of the syntax or structure of the backend format that it generates.
-Output document validation (syntactic and structural) should be
-performed separately by external validation tools. For example,
-AsciiDoc's 'a2x' toolchain command automatically performs validation
-checks using 'xmllint'.
-
-
-== The AsciiDoc toclevels attribute does not work with DocBook outputs, why?
-DocBook has no provision for specifying table of contents levels but
-you can set the TOC level further down the toolchain by passing the
-DocBook XSL Stylesheets
-http://docbook.sourceforge.net/release/xsl/current/doc/html/toc.section.depth.html[toc.section.depth]
-parameter to 'dblatex' (using the `--param` option) or 'xsltproc'
-(using the `--stringparam` option). For example to show only chapter
-titles in the TOC of a 'book' document set 'toc.section.depth' to '0'.
-Increment the 'toc.section.depth' value to show more sub-section
-titles. If you are using 'a2x' you can set the options in the source
-file, for example:
-
- // a2x: --xsltproc-opts "--stringparam toc.section.depth 0"
- // a2x: --dblatex-opts "--param toc.section.depth=0"
-
-If the document is of type 'article' use the value '1' to show only
-top level section titles in the TOC, use the value '2' for two levels
-etc.
-
-
-== How can I include chapter and section tables of contents?
-DocBook outputs processed by DocBook XSL Stylesheets (either manually
-or via 'a2x') can generate additional separate section and chapter
-tables of contents using combinations of the
-http://www.sagehill.net/docbookxsl/TOCcontrol.html[TOC parameters].
-Here are some examples using combinations of the
-`generate.section.toc.level` and `toc.section.depth` DocBook XSL
-Stylesheets parameters:
-
-[cols="2*l,4",width="90%",frame="topbot",options="header"]
-|======================================================
-|generate.section.toc.level |toc.section.depth |
-|1 |
-|Single level book chapter TOCs or article section TOCs
-
-|1 | 3
-|Article section TOCs with two levels
-
-|1 | 2
-|Book chapter TOCs with two levels
-|======================================================
-
-
-== How can I customize the appearance of XHTML and EPUB documents generated by a2x?
-You can customize the appearance of an EPUB document with CSS. See
-the link:publishing-ebooks-with-asciidoc.html[Sherlock Holmes eBook
-example] on the AsciiDoc website.
-
-
-== DocBook has many elements for document meta-data -- how can I use them from AsciiDoc?
-The 'docinfo', 'docinfo1' and 'docinfo2' attributes allow you include
-link:userguide.html#X97[document information files] containing DocBook
-XML into the header of the output file.
-
-
-== Do element titles automatically generate link captions?
-If you go the DocBook route then yes -- just omit the caption from the
-AsciiDoc 'xref' (`<<...>>`) macro. Both dblatex and DocBook XSL will
-use the target element's title text. Examples:
-
-[listing]
-..................................................................
-[[X1]]
-Section One
------------
-Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas
-ultrices justo porttitor augue. Vestibulum pretium. Donec porta
-
-See also <<X3>> (this link displays the text 'A titled paragraph').
-
-[id="X2",reftext="2nd section"]
-Section Two
------------
-See also <<X1>> (this link displays the text 'Section One').
-
-[[X3]]
-.A titled paragraph
-Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
-
-See also <<X2>> (this link displays the text '2nd section').
-..................................................................
-
-The AsciiDoc 'reftext' attribute has been used to explicitly set the
-link text to '2nd section' for 'Section Two'.
-
-
-== Can I define my own table styles?
-In addition to the built-in styles you can define your own. This
-example (for the 'xhtml11' backend) defines a table style called 'red'
-which sets the background cell color to red. First put the definition
-in a configuration file:
-
-[listing]
-.........................................
-[tabledef-default]
-red-style=tags="red"
-
-[tabletags-red]
-bodydata=<td style="background-color:red;">|</td>
-.........................................
-
-Now you can use the style name to style cells or columns (in this
-example we use an unambiguous shortened abbreviation 'r'):
-
-[listing]
-.........................................
-|==================================
-|Normal cell r|Red cell
-|==================================
-.........................................
-
-
-== How can I add highlighted editorial comments to an AsciiDoc document?
-Both block and inline link:userguide.html#X25[comment lines] are
-displayed on the output if the 'showcomments' attribute is defined.
-Example:
-
-[listing]
-.........................................
-:showcomments:
-// A block comment line.
-
-Qui in magna commodo, est labitur dolorum an. Est ne magna primis
-// An inline comment line.
-adolescens.
-.........................................
-
-Is rendered as:
-
-:showcomments:
-// A block comment line.
-
-Qui in magna commodo, est labitur dolorum an. Est ne magna primis
-// An inline comment line.
-adolescens.
-
-NOTE: link:userguide.html#X26[Comment blocks] are never displayed.
-
-
-== What is the preferred file name extension for AsciiDoc files?
-The `.txt` http://en.wikipedia.org/wiki/Text_file[text file] extension
-is preferred, but it's just a convention and it's not enforced by the
-software.
-
-AsciiDoc source files are human readable
-http://en.wikipedia.org/wiki/Plain_text[plain text] files which is
-what the `.txt` extension is for. All text editors recognize and open
-files with a `.txt` extension. The `.txt` extension is universally
-recognized and unambiguous -- you are not left asking questions like
-``What on earth is this file with the funny extension?'', ``How do I
-open it?'' and ``Is it safe to open?''.
-
-
-== How can I generate numbered bibliographic entries?
-If your outputs are DocBook generated then adding the following inline
-macro to a custom configuration file will result in auto-incrementing
-bibliography entry numbers (instead of displaying the bibliographic
-identifiers):
-
- [anchor3-inlinemacro]
- <anchor id="{1}" xreflabel="[{counter:bibliography1}]"/>[{counter:bibliography2}]
-
-This FAQ submitted by Bela Hausmann.
-
-
-== How can I include lines of dashes inside a listing block?
-A line of four or more dashes will be mistaken for the ListingBlock
-terminator, one way round this problem is to use a LiteralBlock styled
-as a listing block. For example:
-
- [listing]
- ...........................
- Lorum ipsum
- -----------
- ...........................
-
-
-== How can I customize PDF files generated by dblatex?
-
-There are a number of dblatex XSL parameters that can be used to
-customize PDF output. You can set them globally in the AsciiDoc
-`./dblatex/asciidoc-dblatex.xsl` configuration file or you can also
-pass them on the a2x(1) command-line. Here are some examples:
-
-The
-http://dblatex.sourceforge.net/doc/manual/latex.output.revhistory.html[latex.output.revhistory]
-parameter is used to suppress the revision history:
-
- a2x -f pdf --dblatex-opts "-P latex.output.revhistory=0" doc/article.txt
-
-The
-http://dblatex.sourceforge.net/doc/manual/doc.layout.html[doc.layout]
-parameter is used to include the cover page and document body (i.e. excludes
-table of contents and index), the
-http://dblatex.sourceforge.net/doc/manual/doc.publisher.show.html[doc.publisher.show]
-parameter is used to exclude the cover page logo:
-
- a2x -f pdf --dblatex-opts " -P doc.layout=\"coverpage mainmatter\" -P doc.publisher.show=0" doc/article.txt
-
-See also the
-http://dblatex.sourceforge.net/doc/manual/sec-params.html[dblatex XSL
-parameter reference].
-
-
-== How can I add lists of figures and tables to PDFs created by dblatex?
-Set the
-http://dblatex.sourceforge.net/doc/sec-custom.html[doc.lot.show XSL
-parameter] -- you can set it using the dblatex `--param` command-line
-option, for example:
-
- $ a2x --dblatex-opts="--param=doc.lot.show=figure,table" doc/article.txt
-
-
-== How can I stop the document title being displayed?
-You could simply omit the document title, but this will result in a
-blank 'title' element in HTML outputs. If you want the HTML 'title'
-element to contain the document title then define the 'notitle'
-attribute (this will just suppress displaying the title), for example:
-
- My document title
- =================
- :no title:
-
-
-== Why am I having trouble getting nested macros to work?
-The following example expands the 'image' inline macro, but the
-expansion contains double-quote characters which confuses the ensuing
-'footnoteref' macro expansion:
-
- footnoteref:["F1","A footnote, with an image image:smallnew.png[]"]
-
-The solution is to use unquoted attribute values, replacing embedded
-commas with the comma character entity (`,`):
-
- footnoteref:[F1,A footnote, with an image image:smallnew.png[]]
-
-Similarly, you can embed double-quote characters in unquoted attribute
-values using the `"` character entity.
-
-
-== Why am I getting DocBook validation errors?
-Not all valid AsciiDoc source generates valid DocBook, for example
-'special sections' (abstract, preface, colophon, dedication,
-bibliography, glossary, appendix, index, synopsis) have different
-DocBook schema's to normal document sections. For example, a paragraph
-is illegal in a bibliography.
-
-Don't forget if your document is a book you need to specify the
-asciidoc `-d book` command option, if you don't an article DocBook
-document will be generated, possibly containing book specific
-sections, resulting in validation errors.
-
-
-== How can I disable special section titles?
-For example, you want to use 'References' as a normal section name but
-AsciiDoc is auto-magically generating a DocBook 'bibliography'
-section. All you need to do is explicitly specify the section template
-name, for example:
-
- [sect1]
- References
- ----------
-
-
-== How can I insert XML processing instructions into output documents?
-Use an inline or block passthrough macros. This example inserts
-`<?dblatex bgcolor="#cceeff"?>` into the DocBook output generated by
-AsciiDoc:
-
- pass::[<?dblatex bgcolor="#cceeff"?>]
-
-NOTE: XML processing instructions are specific to the application that
-processes the XML (the previous `dblatex` processing instruction is
-recognized by `dblatex(1)` when it processes the DocBook XML generated
-by Asciidoc).
-
-
-== How do I prevent double-quoted text being mistaken for an inline literal?
-Mixing doubled-quoted text with inline literal passthroughs can
-produce undesired results, for example, all of the following line is
-interpreted as an inline literal passthrough:
-
- ``XXX'' `YYY`
-
-In this case the solution is to use monospace quoting instead of the
-inline literal:
-
- ``XXX'' +YYY+
-
-Use the +\pass:[]+ macro if it's necessary to suppress
-substitutions in the monospaced text, for example:
-
- ``XXX'' +pass:[don't `quote` me]+
-
-
-== How can I generate a single HTML document file containing images and CSS styles?
-With the advent of Internet Explorer 8 all major web browsers now
-support the
-http://en.wikipedia.org/wiki/Data:_URI_scheme[data URI scheme] for
-embedded images. The AsciiDoc 'xhtml11' backend supports the data URI
-scheme for embedded images and by default it embeds the CSS
-stylesheet. For example the following command will generate a single
-`article.html` file containing embedded images, admonition icons and the CSS
-stylesheet:
-
- $ asciidoc -a data-uri -a icons article.txt
-
-
-== Are there any tools to help me understand what's going on inside AsciiDoc?
-
-AsciiDoc has a built-in trace mechanism which is controlled by the
-'trace' attribute; there is also the `--verbose` command-line option.
-These features are detailed in
-http://www.methods.co.nz/asciidoc/userguide.html#X82[Appendix G of the
-User Guide].
-
-
-== One-liner ifdef::[]'s are disproportionately verbose can they shortened?
-
-This is the response to a question posted on the AsciiDoc discussion
-list, it illustrates a number of useful techniques. The question arose
-because the source highlight filter language identifier for the C++
-language is `c++` when generating PDFs via dblatex (LaTeX listings
-package) or `cpp` when generating HTML (GNU source-highlight).
-
-Using straight `ifdef::[]` block macros we have:
-
-[listing]
-.........................................
-\ifdef::basebackend-docbook[]
-[source,c++]
-\endif::basebackend-docbook[]
-\ifdef::basebackend-html[]
-[source,cpp]
-\endif::basebackend-html[]
------------------------------------------
-class FooParser {
-public:
- virtual void startDocument() = 0;
- virtual void endDocument() = 0;
-};
------------------------------------------
-.........................................
-
-
-This can be shortened using the short form of the `ifdef::[]` macro:
-
-[listing]
-.........................................
-\ifdef::basebackend-docbook[[source,c++]]
-\ifdef::basebackend-html[[source,cpp]]
------------------------------------------
-class FooParser {
-public:
- virtual void startDocument() = 0;
- virtual void endDocument() = 0;
-};
------------------------------------------
-.........................................
-
-
-Using a conditional attribute instead of the `ifdef::[]` macro is even
-shorter:
-
-[listing]
-.........................................
-[source,{basebackend@docbook:c++:cpp}]
------------------------------------------
-class FooParser {
-public:
- virtual void startDocument() = 0;
- virtual void endDocument() = 0;
-};
------------------------------------------
-.........................................
-
-
-If you have a number of listings it makes sense to factor the
-conditional attribute to a normal attribute:
-
-[listing]
-.........................................
-:cpp: {basebackend@docbook:c++:cpp}
-
-[source,{cpp}]
------------------------------------------
-class FooParser {
-public:
- virtual void startDocument() = 0;
- virtual void endDocument() = 0;
-};
------------------------------------------
-.........................................
-
-
-Even shorter, set the default source highlight filter `language`
-attribute so you don't have to specify it every time:
-
-[listing]
-.........................................
-:language: {basebackend@docbook:c++:cpp}
-
-[source]
------------------------------------------
-class FooParser {
-public:
- virtual void startDocument() = 0;
- virtual void endDocument() = 0;
-};
------------------------------------------
-.........................................
-
-
-== Some of my inline passthroughs are not passed through, why?
-
-Most likely the passthrough encloses another passthrough with a higher
-precedence. For example trying to render this +\pass:[]+ with this
-+\`\pass:[]`+ results in a blank string because the +\pass:[]+
-passthrough evaluates first, instead use monospaced quoting and escape
-the passthrough i.e. ++ \+\\pass:[]+ ++
-
-
-== How can I place an anchor (link target) on a list item?
-
-You can't use a 'BlockId' block element inside a list but you can use
-the syntactically identical 'anchor' inline macro. For example:
-
----------------------
-one:: Item one.
-[[X2]]two:: Item two.
-three:: Item three.
----------------------
-
-This *will not* work:
-
----------------------
-one:: Item one.
-[[X2]]
-two:: Item two.
-three:: Item three.
----------------------
-
-
-== How can I stop lists from nesting?
-
-If you place two lists with different syntax hard up against each
-other then the second list will be nested in the first. If you don't
-want the second list to be nested separate them with a comment line
-block macro. For example:
-
--------------------
-1. List 1.
-2. List 1.
-
-//
-a. List 2.
-b. List 2.
--------------------
-
-
-== Is it possible to include charts in AsciiDoc documents?
-
-There are a number of programs available that generate presentation
-charts from textual specification, for example
-http://home.gna.org/pychart/[Pychart] is a library for writing chart
-scripts in Python. Here's an example from the 'Pychart' documentation:
-
-.barchart.py
----------------------------------------------------------------------
-#
-# Example bar chart (from Pychart documentation http://home.gna.org/pychart/)
-#
-from pychart import *
-theme.get_options()
-
-data = [(10, 20, 30, 5), (20, 65, 33, 5), (30, 55, 30, 5), (40, 45, 51, 7),
- (50, 25, 27, 3), (60, 75, 30, 5), (70, 80, 42, 5), (80, 62, 32, 5),
- (90, 42, 39, 5), (100, 32, 39, 4)]
-
-# The attribute y_coord=... tells that the Y axis values
-# should be taken from samples.
-# In this example, Y values will be [40,50,60,70,80].
-ar = area.T(y_coord = category_coord.T(data[3:8], 0),
- x_grid_style=line_style.gray50_dash1,
- x_grid_interval=20, x_range = (0,100),
- x_axis=axis.X(label="X label"),
- y_axis=axis.Y(label="Y label"),
- bg_style = fill_style.gray90,
- border_line_style = line_style.default,
- legend = legend.T(loc=(80,10)))
-
-# Below call sets the default attributes for all bar plots.
-chart_object.set_defaults(bar_plot.T, direction="horizontal", data=data)
-
-# Attribute cluster=(0,3) tells that you are going to draw three bar
-# plots side by side. The plot labeled "foo" will the leftmost (i.e.,
-# 0th out of 3). Attribute hcol tells the column from which to
-# retrive sample values from. It defaults to one.
-ar.add_plot(bar_plot.T(label="foo", cluster=(0,3)))
-ar.add_plot(bar_plot.T(label="bar", hcol=2, cluster=(1,3)))
-ar.add_plot(bar_plot.T(label="baz", hcol=3, cluster=(2,3)))
-ar.draw()
----------------------------------------------------------------------
-
-To execute the script and include the generated chart image in your
-document add the following lines to the AsciiDoc source:
-
----------------------------------------------------------------------
-// Generate chart image file.
-\sys2::[python "{indir}/barchart.py" --format=png --output="{outdir}/barchart.png" --scale=2]
-
-// Display chart image file.
-image::barchart.png[]
----------------------------------------------------------------------
-
-[NOTE]
-=====================================================================
-- The `barchart.py` script is located in the same directory as the
- AsciiDoc source file (`{indir}`).
-- The generated chart image file (`barchart.png`) is written to the
- same directory as the output file (`{outdir}`).
-=====================================================================
-
-== How can I render indented paragraphs?
-
-To unconditionally indent all paragraphs add the following line to the
-`xhtml11.css` stylesheet (or a custom stylesheet).
-
----------------------------------------------------------------------
-div.paragraph p {text-indent: 3em;}
----------------------------------------------------------------------
-
-This will restyle the entire document by indenting all paragraphs
-which is normally what you want to do (mixed paragraph styles produce
-ugly documents).
-
-To selectively indent paragraphs you could either create an 'indented'
-paragraph style from scratch or use the 'role' attribute.
-
-[float]
-==== Create an indented paragraph style
-Define an 'indented' paragraph style, for example, by putting this in
-a configuration file:
-
----------------------------------------------------------------------
-[paradef-default]
-indented-style=template="indentedparagraph"
-
-[indentedparagraph]
-<div class="paragraph"{id? id="{id}"} style="text-indent:3em;">{title?<div class="title">{title}</div>}<p>
-|
-</p></div>
----------------------------------------------------------------------
-
-Now apply the 'indented' style to normal paragraphs, for example:
-
----------------------------------------------------------------------
-[indented]
-Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas
-ultrices justo porttitor augue. Vestibulum pretium. Donec porta
-vestibulum mi. Aliquam pede. Aenean lobortis lorem et lacus. Sed
-lacinia. Vivamus at lectus.
----------------------------------------------------------------------
-
-[float]
-==== Use the role attribute
-Add the following line to the `xhtml11.css` stylesheet (or a custom
-stylesheet).
-
----------------------------------------------------------------------
-div.paragraph.indented p {text-indent: 3em;}
----------------------------------------------------------------------
-
-Apply the 'role' attribute to indented paragraphs, for example:
-
----------------------------------------------------------------------
-[role="indented"]
-Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas
-ultrices justo porttitor augue. Vestibulum pretium. Donec porta
-vestibulum mi. Aliquam pede. Aenean lobortis lorem et lacus. Sed
-lacinia. Vivamus at lectus.
----------------------------------------------------------------------
-
-NOTE: This FAQ applies to XHTML output not DocBook. To achieve the
-same results with DocBook use the 'role' attribute and customize the
-DocBook XSL stylesheets to indent paragraphs with the `simpara`
-element `role="indented"` attribute.
-
-
-== Is there a way to set default image height and width attributes?
-
-You can set the 'height' and 'width' attributes globally in your
-document with Attribute Entries or from the command-line using the
-`--attribute` option. In the following example images that don't
-explicitly set the 'height' and 'width' values will be 350 by 250
-pixels.
-
----------------------------------------------------------------------
-:height: 250
-:width: 350
-
-image:images/tiger.png[]
----------------------------------------------------------------------
-
-NOTE: Setting the global 'width' attribute will also set the default
-table width and you will need to explicitly set table widths.
-
-== How can I place a backslash character in front of an attribute reference without escaping the reference?
-
-Use the predefined `{backslash}` attribute reference instead of an
-actual backslash, for example if the `{projectname}` attribute has
-the value `foobar` then:
-
- d:\data{backslash}{projectname}
-
-would be rendered as:
-
- d:\data\foobar
-
-== How can I escape AsciiDoc markup?
-
-Most AsciiDoc inline elements can be suppressed by preceding them with
-a backslash character. These elements include:
-
-- Attribute references.
-- Text formatting.
-- Quoting,
-- Macros.
-- Replacements.
-- Special words.
-- Table cell separators.
-
-But there are exceptions -- see the next question.
-
-
-== Some elements can't be escaped with a single backslash
-
-There are a number of exceptions to the usual single backslash rule
--- mostly relating to URL macros that have two syntaxes or quoting
-ambiguity. Here are some non-standard escape examples:
-
-[cols="l,v",width="40%",frame="topbot",options="header"]
-|========================================
-|AsciiDoc | Renders
-
-2*|
-\srackham(a)methods.co.nz
-<\srackham(a)methods.co.nz>
-\mailto:[\[email protected]]
-
-2*|
-\http://www.foo1.co.nz
-\\http://www.foobar.com[]
-\\http://www.foobar.com[Foobar Limited]
-
-2*|
-A C\++ Library for C++
-\\``double-quotes''
-\*\*F**ile Open\...
-|========================================
-
-The source of this problem is ambiguity across substitution types --
-the first match unescapes allowing the second to substitute. A
-work-around for difficult cases is to side-step the problem using the
-+\pass:[]+ passthrough inline macro.
-
-NOTE: Escaping is unnecessary inside 'inline literal passthroughs'
-(backtick quoted text).
-
-
-== How can I escape a list?
-Here's how to handle situations where the first line of a paragraph is
-mistaken for a list item.
-
-[float]
-==== Numbered and bulleted lists
-Precede the bullet or index of the first list item with an `{empty}`
-attribute, for example:
-
- {empty}- Qui in magna commodo est labitur dolorum an. Est ne magna
- primis adolescens.
-
-The predefined `{empty}` attribute is replaced by an empty string and
-ensures the first line is not mistaken for a bulleted list item.
-
-[float]
-==== Labeled lists
-Two colons or semicolons in a paragraph may be confused with a labeled
-list entry. Use the predefined `{two-colons}` and `{two-semicolons}`
-attributes to suppress this behavior, for example:
-
- Qui in magna commodo{two-colons} est labitur dolorum an. Est ne
- magna primis adolescens.
-
-Will be rendered as:
-
-Qui in magna commodo{two-colons} est labitur dolorum an. Est ne
-magna primis adolescens.
-
-
-== How can I set default list and tables styles?
-
-You can set the element's 'style' entry in a global or custom
-configuration file.
-
-This example this will horizontally style all labeled lists that don't
-have an explicit style attribute:
-
-----------------------------------
-[listdef-labeled]
-style=horizontal
-
-[listdef-labeled2]
-style=horizontal
-----------------------------------
-
-This example will put a top and bottom border on all tables that don't
-already have an explicit style attribute:
-
-----------------------------------
-[tabledef-default]
-style=topbot
-topbot-style=frame="topbot"
-----------------------------------
-
-Alternatively you can set the configuration entries from inside your
-document, the above examples are equivalent to:
-
-----------------------------------
-:listdef-labeled.style: horizontal
-:listdef-labeled2.style: horizontal
-
-:tabledef-default.topbot-style: frame="topbot"
-:tabledef-default.style: topbot
-----------------------------------
-
-
-== Why do I get a filter non-zero exit code error?
-
-An error was returned when AsciiDoc tried to execute an external
-filter command. The most common reason for this is that the filter
-command could not be found by the command shell. To figure out what
-the problem is run AsciiDoc with the `--verbose` option to determine
-the command that is failing and then try to run the command manually
-from the command-line.
-
-
-== Are there any DocBook viewers?
-
-http://live.gnome.org/Yelp[Yelp], the GNOME help viewer, does a
-creditable job of displaying DocBook XML files directly. Just
-run it from the command-line, for example:
-
- $ yelp file://home/srackham/tmp/book.xml
-
-Note that you have to supply the full path name in URI format, this
-shell script makes interactive use easier:
-
--------------------------------
-#!/bin/sh
-if [ -z "$1" ]; then
- echo "usage: dbkview FILE"
- exit 1
-fi
-yelp "file://$(pwd)/$1"
--------------------------------
-
-This tip was submitted by Lionel Orry.
-
-
-== Can you create ODF documents using AsciiDoc?
-
-The easiest and highest fidelity method I've seen is to generate
-HTML from AsciiDoc then paste it from your browser (we use Firefox)
-into OpenOffice Writer.
-
-- I found that that there is better fidelity pasting HTML generated by
- the 'html4' backend instead of the default 'xhtml11' backend.
-- Don't paste AsciiDoc tables of contents, OpenOffice Writer (I was
- using version 2.3) hangs when saving. This may be something to do
- with the embedded JavaScript but I haven't looked closely at it, I
- may even be wrong about this.
-
-This tip was contributed by Bernard Amade.
-
-
-== How can I suppress cell separators in included table data files?
-
-Use the `{include:}` system attribute instead of the `include::[]`
-macro (the former is not expanded until after the table data has been
-parsed into cells, whereas the latter is included before the table is
-processed.
-
-
-== How can I preserve paragraph line boundaries?
-
-Apply the The 'verse' paragraph style, the rendered text preserves
-line boundaries and is useful for lyrics and poems. For example:
-
----------------------------------------------------------------------
-[verse]
-Consul *necessitatibus* per id,
-consetetur, eu pro everti postulant
-homero verear ea mea, qui.
----------------------------------------------------------------------
-
-Alternatively, if you are generating PDF files, you can use line
-breaks. For example:
-
----------------------------------------------------------------------
-Consul *necessitatibus* per id, +
-consetetur, eu pro everti postulant +
-homero verear ea mea, qui.
----------------------------------------------------------------------
-
-
-== How can I include non-breaking space characters?
-
-Use the non-breaking space character entity reference ` ` (see
-the next question). You could also use the predefined `{nbsp}`
-attribute reference.
-
-
-== Can I include HTML and XML character entity references in my document?
-
-Yes, just enter the reference in your document. For example `β`
-will print a Greek small beta character β
-
-
-[[X1]]
-== How do I include spaces in URLs?
-
-URL inline macro targets (addresses) cannot contain white space
-characters. If you need spaces encode them as `%20`. For example:
-
- image:large%20image.png[]
- http://www.foo.bar.com/an%20example%20document.html
-
-
-== How can I get AsciiDoc to assign the correct DocBook language attribute?
-
-Set the AsciiDoc 'lang' attribute to the appropriate language code.
-For example:
-
- $ a2x -a lang=es doc/article.txt
-
-This will ensure that downstream DocBook processing will generate the
-correct language specific document headings (things like table of
-contents, revision history, figure and table captions, admonition
-captions).
-
-
-== How can I turn off table and image title numbering?
-For HTML outputs set the 'caption' attribute to an empty string,
-either globally:
-
--------------------------
-:caption:
--------------------------
-
-or on an element by element basis, for example:
-
--------------------------
-.Tiger
-[caption=""]
-image::images/tiger.png[]
--------------------------
-
-
-== How can I assign multiple author names?
-
-A quick way to do this is put both authors in a single first name, for
-example:
-
----------------------------------------
-My Document
-===========
-:Author: Bill_and_Ben_the_Flowerpot_Men
-:Author Initials: BB & BC
----------------------------------------
-
-asciidoc(1) replaces the underscores with spaces.
-
-If you are generating DocBook then a more flexible approach is to
-create a 'docinfo' file containing a DocBook 'authorgroup' element
-(search the 'User Guide' for 'docinfo' for more details).
-
-
-== How can I selectively disable a quoted text substitution?
-
-Omitting the tag name will disable quoting. For example, if you don't
-want superscripts or subscripts then put the following in a custom
-configuration file or edit the global `asciidoc.conf` configuration
-file:
-
--------------------
-[quotes]
-^=
-~=
--------------------
-
-Alternatively you can set the configuration entries from within your
-document, the above examples are equivalent to:
-
--------------------
-:quotes.^:
-:quotes.~:
--------------------
-
-
-== How can I customize the \{localdate} format?
-
-The default format for the `{localdate}` attribute is the ISO 8601
-`yyyy-mm-dd` format. You can change this format by explicitly setting
-the `{localdate}` attribute. For example by setting it using the
-asciidoc(1) `-a` command-line option:
-
- $ asciidoc -a localdate=`date +%d-%m-%Y` mydoc.txt
-
-You could also set it by adding an Attribute Entry to your source
-document, for example:
-
- :localdate: {sys: date +%Y-%m-%d}
-
-
-== Why doesn't AsciiDoc support strike through text?
-
-DocBook does not have provision for strike through text and one of the
-AsciiDoc design goals is that AsciiDoc markup should strive to be
-applicable to all output formats.
-
-Strike through is normally used to mark deleted text -- a more
-comprehensive way to manage document revisions is to use a version
-control system such as Subversion. You can also use the AsciiDoc
-'CommentLines' and 'CommentBlocks' to retain revised text in the
-source document.
-
-If you really need strike through text for (X)HTML outputs then adding
-the following to a configuration file will allow you to quote strike
-through text with hyphen characters:
-
----------------------------------------------------------------------
- ifdef::basebackend-html[]
-
- [quotes]
- -=strikethrough
-
- [tags]
- strikethrough=<del>|</del>
-
- endif::basebackend-html[]
----------------------------------------------------------------------
-
-
-== Where can I find examples of commands used to build output documents?
-
-The User Guide has some. You could also look at `./doc/main.aap` and
-`./examples/website/main.aap` in the AsciiDoc distribution, they have
-all the commands used to build the AsciiDoc documentation and the
-AsciiDoc website (even if you don't use A-A-P you'll still find it
-useful).
-
-
-== Why have you used the DocBook <simpara> element instead of <para>?
-
-`<simpara>` is really the same as `<para>` except it can't contain
-block elements -- this matches, more closely, the AsciiDoc paragraph
-semantics.
-
-
-== How can I format text inside a listing block?
-
-By default only 'specialcharacters' and 'callouts' are substituted in
-listing blocks; you can add quotes substitutions by explicitly setting
-the block 'subs' attribute, for example:
-
-[listing]
-..........................................
-[subs="quotes"]
-------------------------------------------
-$ ls *-al*
-------------------------------------------
-..........................................
-
-The `-al` will rendered bold. Note that:
-
-- You would need to explicitly escape text you didn't want quoted.
-- Don't do this in source code listing blocks because it modifies the
- source code which confuses the syntax highlighter.
-- This only works if your DocBook processor recognizes DocBook
- `<emphasis>` elements inside `<screen>` elements.
-
-Alternative, if the lines are contiguous, you could use the 'literal'
-paragraph style:
-
-------------------------------------------
-["literal",subs="quotes"]
-$ ls *-al*
-------------------------------------------
-
-
-== Why doesn't the include1::[] macro work?
-
-Internally the `include1` macro is translated to the `include1` system
-attribute which means it must be evaluated in a region where attribute
-substitution is enabled. `include1` won't work, for example, in a
-ListingBlock (unless attribute substitution is enabled). `include1`
-is intended for use in configuration files, use the `include` macro
-and set the attribute `depth=1` instead, for example:
-
-[listing]
-................................................
-------------------------------------------------
-\include::blogpost_media_processing.txt[depth=1]
-------------------------------------------------
-................................................
-
-
-== How can I make the mailto macro work with multiple email addresses?
-
-For the AsciiDoc 'mailto' macro to work with multiple email addresses
-(as per RFC2368) you need to URL encode the '@' characters (replace
-them with '%40'), if you don't the individual addresses will be
-rendered as separate links. You also need to <<X1,replace spaces with
-'%20'>>.
-
-For example, the following call won't work:
-
- mailto:[email protected],[email protected]?subject=New foofoo release[New foofoo release]
-
-Use this instead:
-
- mailto:jb%40foobar.com,jd%40acme.co.nz?subject=New%20foofoo%20release[New foofoo release]
-
-
-== How can a replacement have a trailing backslash?
-Quote the entry name -- this nonsensical example replaces `x\` with
-`y`:
-
- "x\\"=y
-
-If quoting were omitted the equals character (separating the
-entry name `x` from the value `y`) would be escaped.
-
-
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/images b/code/maint/asciidoc/asciidoc-8.6.3/doc/images
deleted file mode 120000
index 5e67573..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/images
+++ /dev/null
@@ -1 +0,0 @@
-../images
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/latex-backend.txt b/code/maint/asciidoc/asciidoc-8.6.3/doc/latex-backend.txt
deleted file mode 100644
index a090555..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/latex-backend.txt
+++ /dev/null
@@ -1,192 +0,0 @@
-LaTeX backend for Asciidoc
-==========================
-Benjamin Klum <benjamin.klum(a)gmail.com>
-v1.0, June 2006
-
-== Introduction
-
-
-LaTeX backend is a configuration file for Stuart Rackham's http://www.methods.co.nz/asciidoc/[Asciidoc]. It generates high-level LaTeX markup from Asciidoc documents. LaTeX is a document preparation system for TeX which in turn is a popular typesetting system. It is well known for producing excellently typesetted high quality printouts, especially suited for scientific text.
-
-== Tutorial
-Getting a ready-to-print document from an Asciidoc document using the LaTeX backend involves at least two steps:
-
-1. Conversion of the Asciidoc document into a LaTeX document (this is done by Asciidoc using the LaTeX backend)
-2. Conversion of the LaTeX document into a PDF document (this is done by the TeX system)
-
-Try to create a PDF document from the Asciidoc document `article.txt` which resides in the `doc` directory of Asciidoc:
-
-.. Make a copy of `article.txt` in a directory of your choice, let's call it `latex-test`.
-.. Make sure that all images referenced in `article.txt` exist in `latex-test`. Brute force approach: Copy the whole `images` directory from Asciidoc directory into `latex-test`.
-.. Change directory to `latex-test` and type following commands:
-+
- asciidoc --unsafe --backend=latex article.txt
- pdflatex article.tex
-+
-.. Now there should be a file `article.pdf` in the `latex-test` directory.
-
-[IMPORTANT]
-==============================
-- Asciidoc has to be started in 'unsafe mode' when using LaTeX backend.
-- Note that some special LaTeX packages are necessary, see <<packageRequirements,here>>.
-==============================
-
-== General notes
-
-=== Quality of LaTeX output
-High-level LaTeX is not very straightforward to generate. Therefore there's no guarantee that the generated output is valid and compiles successfully. At all, this backend should be considered as rather experimental. You should have been already in touch with LaTeX in order to use the backend effectively because LaTeX compilation errors can be really nasty.
-
-Nevertheless good results can be achieved by using LaTeX backend. Try for example to compile Stuart Rackham's Asciidoc documentation, a rather large document. It should compile without problems. However, the code filter might have to be reconfigured for the code filter example to work.
-
-=== Configuration file customization
-Like every other Asciidoc backend the LaTeX backend can be customized easily to fit the user's needs. Actually it is very important to have this option since LaTeX doesn't have a companion language like CSS which allows to put styling information in a separate file. Read more about the LaTeX backend configuration file <<configurationFile,here>>.
-
-=== Output optimization
-The LaTeX output is optimized for creating PDF documents using 'pdflatex'.
-
-[[unicodeSupport]]
-=== Unicode support
-Unfortunately TeX/LaTeX does not have native unicode support. The package 'ucs' adds elementary unicode support by introducing UTF-8 input encoding recognition and by defining lookup tables which contain the corresponding LaTeX commands for unicode characters. But these lookup tables are far from being complete. When a unicode character is found which is not defined in the lookup tables an error is raised by the TeX/LaTeX compiler. Note that TeX/LaTeX compilation errors caused by missing unicode character definitions are not fatal, that means the result is probably readable but undefined unicode characters are replaced with `[U+...]`. You may (de)activate the recognition of escaped unicode characters. See the <<latex-recognize-escaped-unicode>> backend option.
-
-== Backend specific features
-
-=== Special sections
-
-LaTeX backend supports the following special sections and replaces them with corresponding LaTeX commands or environments:
-
-- Abstract (only for document type 'article')
-- Dedication (only for document type 'book')
-- Index
-- Bibliography (only when the attribute 'latex-use-bibliography-environment' is set)
-- Appendix
-- Contents
-
-[[internalCrossReferences]]
-=== Internal cross references
-
-Macros for internal cross references have been extended by the attribute 'style'.
-
- xref:<id>[<caption>, style=<style>]
-
-or
-
- <<<id>,<caption>,<style>>>
-
-
-The additional attribute 'style' can have following values:
-
-page::
-Let's LaTeX print the page number of the referenced anchor.
-
-ref::
-Let's LaTeX print the number of the section, subsection, figure, table or theorem the referenced anchor resides.
-
-autoref::
-Let's LaTeX print the number of the section, subsection, figure, table or theorem the referenced anchor resides preceded with a contextual label.
-
-cite::
-Let's LaTeX interprete this reference as a reference to a bibliography entry. If the attribute 'latex-use-bibliography-environment' is set, references with 'cite' style as well as their corresponding bibliography anchors are presented as automatically generated numbers.
-
-If the 'style' attribute is not set the reference is printed the common way.
-
-
-=== Options
-LaTeX document generation is influenced by the following attributes:
-
-latex-table-rowlimit::
-The maximum number of rows for typesetting tables using the 'tabular' environment. If a table has more rows than 'latex-table-rowlimit', 'longtable' environment is used instead of 'tabular' environment. 'longtable' environment supports tables spanning over several pages.
-
-latex-use-bibliography-environment::
-If 'latex-use-bibliography-environment' is defined, 'thebibliography' environment is used for the bibliography section. As a result bibliography entries are automatically numbered. Note that this works only if the bibliography section contains exclusively bibliography list items which start with a bibliography entry ([[[...]]]). Otherwise a TeX/LaTeX compilation error will occur. In order to display bibliography references correctly their 'style' attribute must be set to 'cite'. For more information see <<internalCrossReferences,Internal cross references>>.
-
-latex-indent-paragraphs::
-If 'latex-indent-paragraphs' is defined, the first line of paragraphs will be indented. By default LaTeX backend prevents paragraph indentation and prints paragraphs with preceding vertical space.
-
-[[latex-recognize-escaped-unicode]] latex-recognize-escaped-unicode::
-If 'latex-recognize-escaped-unicode' is defined, escaped unicode
-characters (e.g. `\$${amp}#960;$$` or `\$${amp}#x3C0;$$`) will be recognized. This can lead to LaTeX compilation errors since LaTeX unicode support is only rudimentary. For more information see <<unicodeSupport, Unicode support>>.
-
-latex-use-custom-list-items::
-If 'latex-use-custom-list-items' is defined, lists will be bulleted or enumerated the way you have typed them in the original Asciidoc document. That means, `*` turns into a circle bullet, `-` turns into a dash, `.` turns into a number and `..` turns into a letter. Otherwise LaTeX will use different bullets and enumeration characters depending on the level of nesting.
-
-latex-use-colored-tables::
-If 'latex-use-colored-tables' is defined, tables will be printed colored.
-
-latex-use-running-title-headings::
-If 'latex-use-running-title-headings' is defined, 'pagestyle' will be set to 'headings' which results in running titles in the head.
-
-latex-use-colored-sidebar-blocks::
-If 'latex-use-colored-sidebar-blocks' is defined, sidebar block content will be put in a color box instead of being indented by a vertical bar.
-
-icons::
-Link admonition paragraph and admonition block icon images and badge images. By default icons is undefined and text is used in place of icon images.
-
-encoding::
-Set the input and output document character set encoding. Currently `ISO-8859-1` and `UTF-8` are supported.
-
-== Requirements
-
-=== General
-
-The following software is necessary for using the LaTeX backend:
-
-- An up-to-date version of http://www.methods.co.nz/asciidoc/[Asciidoc]
-- An up-to-date TeX distribution, e.g.:
- * http://www.miktex.org/[MiKTeX] for Windows
- * http://www.tug.org/tetex/[teTeX] for Linux
-
-[[packageRequirements]]
-=== TeX/LaTeX Package requirements
-
-LaTeX backend makes use of some LaTeX specialities which don't belong to a minimal TeX/LaTeX distribution. However, I took special care not to employ exotic packages. Hence the following packages should be available in most package repositories. The table is not complete yet because I don't know the package names for all TeX distributions.
-
-[cols="4*,4",options="header"]
-|====================================================================
-|Speciality | MiKTeX package name | teTeX package name | TeX Live package name | Description
-|KOMA-Script | koma-script | | | LaTeX backend uses the document classes 'scrartcl' and 'scrbook' as well as some other specialities defined in the 'KOMA-Script' package, e.g. the commands `\addmargin{}` and `\minisec{}`.
-|xcolor.sty | xcolor | | | Used to produce colored boxes and tables.
-|colortbl.sty | colortbl | | | Used to produce colored tables.
-|type1ec.sty | cm-super | | | Enables high quality fonts for PDF output.
-|hyperref.sty | hyperref | | | Extensive support for hypertext in PDF documents.
-|enumerate.sty | tools | | | When 'latex-use-custom-list-items' is defined this package is used for determining the enumeration character.
-|graphicx.sty | graphics | | | Used for including images.
-|longtable.sty | tools | | | Enables page spanning tables.
-|ucs.sty | unicode | | | Enables support for unicode characters.
-|textcomp | ltxbase | | | Used for printing various symbols like arrows. Should be already installed.
-|alltt | ltxbase | | | Used in literal-like blocks for retaining line and whitespace formatting. Should be already installed.
-|listings.sty | listings | | | Used for listing blocks.
-|====================================================================
-
-[[configurationFile]]
-== About the LaTeX backend configuration file
-An important note for people who want to adapt the LaTeX backend configuration file to their own needs:
-
-LaTeX markup has a lot of special characters, most importantly ``, `{`, `}`. In order to make things less complicated, I changed the default substitution order (see entry 'subsnormal' in the `[miscellaneous]` section). In contrast to the backends 'docbook' and 'xhtml11', the 'specialcharacters' substitution is applied very late. As a result all special characters produced by 'quotes', 'specialwords', 'replacements', 'attributes' and 'macros' become escaped at the end. If you don't want special characters in the corresponding sections to get escaped, you've to use following symbols instead of the special characters.
-
-- `\$$!..backslash..!$$` instead of ``
-- `\$$!..braceleft..!$$` instead of `{`
-- `\$$!..braceright..!$$` instead of `}`
-
-
-For more special characters take a look in the `[replacements2]` sections. `[replacements2]` section is responsible for replacing the symbols with their corresponding special characters.
-
-
-== Ideas
-
-=== Code listing block
-
-For creating highlighted code listings I suggest the use of http://www.andre-simon.de/[Highlight] or http://www.gnu.org/software/src-highlite/[GNU Source Highlight]. Both are suited for use as Asciidoc filters.
-
-== Known Bugs
-
-- Sometimes LaTeX backend handles things differently from the default backends
-- A lot of little bugs
-
-== Todo List
-
-- Remove bugs
-- Support for 'grid' attribute in tables
-- Better looking tables
-- Option for squeezing output (smaller lists)
-- Support for different languages (That would be a nice feature for Asciidoc in general)
-- Option for switching titlepage on and off
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/latex-bugs.txt b/code/maint/asciidoc/asciidoc-8.6.3/doc/latex-bugs.txt
deleted file mode 100644
index d241cdb..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/latex-bugs.txt
+++ /dev/null
@@ -1,134 +0,0 @@
-Bugs in asciidoc latex backend
-==============================
-Geoff Eddy
-
-Benjamin Klum was unable to maintain the LaTeX backend beyond version
-8.2.7, and as a consequence the `latex.conf` file ceased to work with
-`asciidoc` sometime after this. For version 8.4.3 I made some changes
-to the file to get it working again. This document summarises the
-remaining issues which I have found with generating LaTeX and thence
-PDF output with `asciidoc`, which is done as follows:
-
-- `asciidoc --backend=latex --unsafe FILE.txt`
-- `latex FILE.tex`
-- `kpdf FILE.pdf`
-
-Many of these were found by processing the `asciidoc.txt` file and
-comparing the HTML output with the PDF.
-
-== Footnotes
-
-Priority:: Low.
-
-Problem:: References to footnotes, and a sensible value for the
-`[footnoteref-inlinemacro]` section, don't seem to be possible.
-
-Cause:: LaTeX doesn't support footnoting much beyond creating a
-footnote at a certain point in text and displaying the footnote
-itself.
-
-Solution:: Unclear. How important or necessary is this, anyway?
-
-== Spurious text at starts of paragraphs
-
-Priority:: Medium
-
-Problem:: It is necessary to insert spurious text in paragraphs.
-
-Cause:: This `asciidoc` input:
-+
- -------------------------------------------------------------------
- Text
- -------------------------------------------------------------------
-+
-generates this LaTeX code:
-+
- \begin{lstlisting}
- SPURIOUS TEXTText\end{lstlisting}
-+
-which should be:
-+
- \begin{lstlisting}[]
- Text\end{lstlisting}
-
-Solution:: Find out a way to generate the correct LaTeX output as
-above. The obvious solution, as explained in `latet.conf`, doesn't
-work.
-
-== Tables
-
-Priority:: Rather high.
-
-Problem:: Not all of the table configuration options can be passed
-through to the LaTeX backend. In particular, I've had to assume that
-all tables will be fifteen or fewer left-justified columns wide.
-
-Cause:: The table models in LaTeX and HTML are too dissimilar for one
-`asciidoc` specification to generate valid output in both formats by
-simple regexp replacement. Related to this is the unfortunate fact
-that `<COLGROUP>` and related tags aren't a required part of HTML4,
-and some broswers (at least Firefox and Konqueror) don't implement
-them.
-
-Solution:: Perhaps table processing could be handled by a Python
-plugin, which would read in a table spec and generate the appropriate
-text?
-
-== Unicode escaping
-
-Priority:: Rather high, to me at least.
-
-Problem:: The commented-out section in `latex.conf`, if uncommented,
-converts `π` to `\unichar{960}`, which then causes LaTeX to
-complain that the resulting command is unavailable in encoding T1. The
-more common non-ASCII characters, such as those in `félicité` and
-`świeca`, are handled properly, but some - such as the IPA characters
-in the `tipa` package - are not.
-
-Cause:: The encodings in the LaTeX output are wrong.
-
-Solution:: Correct the encodings.
-
-== Text colours
-
-Priority:: Probably low
-
-Problem:: The text colour options are not processed by LaTeX; for
-example `[#ff0000]#Red text#` is not rendered in red.
-
-Cause:: LaTeX and HTML represent RGB triads differently: HTML is happy
-with `#ff8000`, but LaTeX needs `[rgb]{1,0.5,0}`.
-
-Solution:: Provide some sort of internal RGB conversion mechanism
-which can convert RGB triads to different representations.
-
-== Text sizes
-
-Priority:: Probably low
-
-Problem:: The text size options are not processed by LaTeX:
-`[,,1]#text#` is rendered in the same size as normal text.
-
-Cause:: HTML size tags - `h1` through `h7` - are directly derivable
-from the size number, whereas LaTeX has a series of descriptive words
-(`HUGE` through `normalsize` to `scriptsize`).
-
-Solution:: Provide a way to treat the number as an index into an
-array.
-
-== Background colour in paragraphs
-
-Priority:: Medium
-
-Problem:: If the `backgroundcolor` attribute is specified in the
-`lstset` command, all paragraphs are displayed as black rectangles by
-`kpdf`, `xpdf`, and `evince`, although `kdvi` has no problems. I've
-had to remove the attribute, and so paragraphs all appear on white
-backgrounds. The PDF viewers also complain:
-
- Error (NNNN): Unknown operator 'rgb'
-
-Cause:: Apparently a known bug in the output of `pdflatex`. Not a bug
-in `asciidoc`.
-
-Solution:: Wait until this bug is fixed?
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/latex-filter.pdf b/code/maint/asciidoc/asciidoc-8.6.3/doc/latex-filter.pdf
deleted file mode 100644
index d56495d..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/doc/latex-filter.pdf and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/latex-filter.txt b/code/maint/asciidoc/asciidoc-8.6.3/doc/latex-filter.txt
deleted file mode 100644
index 9af9d28..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/latex-filter.txt
+++ /dev/null
@@ -1,196 +0,0 @@
-LaTeX Filter
-============
-
-:blogpost-status: published
-:blogpost-doctype: article
-:blogpost-posttype: page
-:blogpost-categories: AsciiDoc,LaTeX,python
-
-The AsciiDoc distribution includes a LaTeX filter that translates
-LaTeX source to PNG image which is automatically inserted into the
-AsciiDoc output document. Although it can accept any LaTeX source, the
-primary use is to render mathematical formulae (see the examples
-below). The filter implements the 'latex' Listing block and Paragraph
-styles.
-
-This LaTeX paragraph:
-
-[listing]
-.....................................................................
-[latex]
-$y = \int_0^\infty \gamma^2 \cos(x) dx$
-.....................................................................
-
-Renders:
-
-[latex]
-$y = \int_0^\infty \gamma^2 \cos(x) dx$
-
-This LaTeX block:
-
-[listing]
-.....................................................................
-["latex","latex1.png",align="center"]
----------------------------------------------------------------------
-$\displaystyle{ V_i = C_0 - C_3
-\frac{C_1\cos(\theta_i+C_3)}{C_4+C_1\cos(\theta_i+C_2)} }$
----------------------------------------------------------------------
-.....................................................................
-
-Renders:
-
-["latex","latex1.png",align="center"]
----------------------------------------------------------------------
-$\displaystyle{ V_i = C_0 - C_3
-\frac{C_1\cos(\theta_i+C_3)}{C_4+C_1\cos(\theta_i+C_2)} }$
----------------------------------------------------------------------
-
-This LaTeX block:
-
-[listing]
-.....................................................................
-.LaTeX filter example
-[latex]
-["latex","latex3.png"]
----------------------------------------------------------------------
-\begin{equation}
-\Re{z} =\frac{n\pi \dfrac{\theta +\psi}{2}}{
-\left(\dfrac{\theta +\psi}{2}\right)^2 + \left( \dfrac{1}{2}
-\log \left\lvert\dfrac{B}{A}\right\rvert\right)^2}.
-\end{equation}
-
-\begin{equation}
-\boxed{\eta \leq C(\delta(\eta) +\Lambda_M(0,\delta))}
-\end{equation}
-
-\begin{equation}\label{first}
-a=b+c
-\end{equation}
-
-\begin{subequations}\label{grp}
-\begin{align}
-a&=b+c\label{second}\\
-d&=e+f+g\label{third}\\
-h&=i+j\label{fourth}
-\end{align}
-\end{subequations}
----------------------------------------------------------------------
-.....................................................................
-
-Renders:
-
-.LaTeX filter example
-[latex]
----------------------------------------------------------------------
-\begin{equation}
-\Re{z} =\frac{n\pi \dfrac{\theta +\psi}{2}}{
-\left(\dfrac{\theta +\psi}{2}\right)^2 + \left( \dfrac{1}{2}
-\log \left\lvert\dfrac{B}{A}\right\rvert\right)^2}.
-\end{equation}
-
-\begin{equation}
-\boxed{\eta \leq C(\delta(\eta) +\Lambda_M(0,\delta))}
-\end{equation}
-
-\begin{equation}\label{first}
-a=b+c
-\end{equation}
-
-\begin{subequations}\label{grp}
-\begin{align}
-a&=b+c\label{second}\\
-d&=e+f+g\label{third}\\
-h&=i+j\label{fourth}
-\end{align}
-\end{subequations}
----------------------------------------------------------------------
-
-This LaTeX paragraph:
-
-[listing]
-.....................................................................
-.A LaTeX table
-[latex]
-\begin{tabular}{c r @{.} l}
-Pi expression &
-\multicolumn{2}{c}{Value} \\
-\hline
-$\pi$ & 3&1416 \\
-$\pi^{\pi}$ & 36&46 \\
-$(\pi^{\pi})^{\pi}$ & 80662&7 \\
-\end{tabular}
-.....................................................................
-
-Renders:
-
-.A LaTeX table
-[latex]
-\begin{tabular}{c r @{.} l}
-Pi expression &
-\multicolumn{2}{c}{Value} \\
-\hline
-$\pi$ & 3&1416 \\
-$\pi^{\pi}$ & 36&46 \\
-$(\pi^{\pi})^{\pi}$ & 80662&7 \\
-\end{tabular}
-
-
-Using the Filter
-----------------
-- The LaTeX filter is invoked by setting the Listing block or
- Paragraph style (the first positional block attribute) to 'latex'.
-- The second positional attribute (named 'target' is optional, it sets
- the name of the generated PNG image file. If this is not supplied a
- file name like `{docname}__{target-number}.png` is synthesised
- (where `{docname}` is the document file name and `{target-number}`
- is an integer number.
-- The third positional attribute, named 'dpi', is also optional; it is
- an integer number that sets the output resolution in dots per inch.
-
-Because the LaTeX images are rendered using the image block templates
-you can also use the optional named image block attributes (see
-link:userguide.html#X55[Image macro attributes] in the AsciiDoc User
-Guide).
-
-[TIP]
-=====================================================================
-You can also change the image size using the following LaTeX commands:
-
- \tiny
- \scriptsize
- \footnotesize
- \small
- \normalsize
- \large
- \Large
- \LARGE
- \huge
-
-For example:
-
- [latex]
- \Large $y = \int_0^\infty \gamma^2 \cos(x) dx$
-
-The `\Large` command is outside the `$` math delimiters.
-
-=====================================================================
-
-The filter (`./filters/latex/latex2png.py`) can be used outside
-AsciiDoc to convert LaTeX source to PNG images.
-
-Execute the following command to see how to use it:
-
- $ ./filters/latex/latex2png.py --help
-
-
-Limitations
------------
-- The `asciidoc(1)` input and output files cannot both be `-` (stdin
- and stdout), either the input or output files (or both) must be a
- named file.
-
-
-Installation
-------------
-In addition to AsciiDoc you will need to have `latex(1)` and
-`dvipng(1)` installed.
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/latexmath.txt b/code/maint/asciidoc/asciidoc-8.6.3/doc/latexmath.txt
deleted file mode 100644
index 6f04321..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/latexmath.txt
+++ /dev/null
@@ -1,121 +0,0 @@
-Embedding LaTeX Math in AsciiDoc dblatex documents
-==================================================
-
-You can include LaTeX math equations in AsciiDoc documents that are
-processed by http://dblatex.sourceforge.net/[dblatex]. The AsciiDoc
-'latexmath' macros and passthrough blocks generate DocBook
-'inlineequation', 'informalequation' and 'equation' elements
-containing the LaTeX markup which is processed by 'dblatex'.
-
-
-Inline equations
-----------------
-This markup:
-
----------------------------------------------------------------------
-An inline equation latexmath:[$C = \alpha + \beta Y^{\gamma} + \epsilon$]
-using the 'latexmath' inline macro.
----------------------------------------------------------------------
-
-Renders:
-
-An inline equation latexmath:[$C = \alpha + \beta Y^{\gamma} + \epsilon$]
-using the 'latexmath' inline macro.
-
-
-Informal equations
-------------------
-Informal (untitled) equations are generated with a 'latexmath' style
-passthrough delimited block. This markup:
-
----------------------------------------------------------------------
-[latexmath]
-++++++++++++++++++++++++++++++++++++++++++++
-\[C = \alpha + \beta Y^{\gamma} + \epsilon\]
-++++++++++++++++++++++++++++++++++++++++++++
----------------------------------------------------------------------
-
-Renders:
-
-[latexmath]
-++++++++++++++++++++++++++++++++++++++++++++
-\[C = \alpha + \beta Y^{\gamma} + \epsilon\]
-++++++++++++++++++++++++++++++++++++++++++++
-
-Functionally identical block macro syntax:
-
----------------------------------------------------------------------
-latexmath::[\[C = \alpha + \beta Y^{\gamma} + \epsilon\]]
----------------------------------------------------------------------
-
-Renders:
-
-latexmath::[\[C = \alpha + \beta Y^{\gamma} + \epsilon\]]
-
-
-Formal equations
-----------------
-Formal equations are titled and are generated with a 'latexmath' style
-passthrough delimited block.
-
-This markup:
-
----------------------------------------------------------------------
-.First equation
-[latexmath]
-++++++++++++++++++++++++++++++++++++++++++++
-\[C = \alpha + \beta Y^{\gamma} + \epsilon\]
-++++++++++++++++++++++++++++++++++++++++++++
----------------------------------------------------------------------
-
-Renders:
-
-.First equation
-[latexmath]
-++++++++++++++++++++++++++++++++++++++++++++
-\[C = \alpha + \beta Y^{\gamma} + \epsilon\]
-++++++++++++++++++++++++++++++++++++++++++++
-
-This markup:
-
----------------------------------------------------------------------
-.Matrix
-[latexmath]
-++++++++++++++++++++++++++++++++++++++++++++
-\[ P^{e \rightarrow c}= \left[
- \begin{array}{*{3}{r@{}l}}
- & \cos \theta & & \sin \theta \sin \varphi & & \sin \theta \cos \varphi\\
-
- & \sin \theta \sin \psi
- & & \cos \varphi \cos \psi - \cos \theta \sin \varphi \sin \psi
- & - & \sin \varphi \cos \psi - \cos \theta \cos \varphi \sin \psi\\
-
- - & \sin \theta \cos \psi
- & & \cos \varphi \sin \psi + \cos \theta \sin \varphi \cos \psi
- & - & \sin \varphi \sin \psi + \cos \theta \cos \varphi \cos \psi\\
- \end{array}
-\right] \]
-++++++++++++++++++++++++++++++++++++++++++++
----------------------------------------------------------------------
-
-Renders:
-
-.Matrix
-[latexmath]
-++++++++++++++++++++++++++++++++++++++++++++
-\[ P^{e \rightarrow c}= \left[
- \begin{array}{*{3}{r@{}l}}
- & \cos \theta & & \sin \theta \sin \varphi & & \sin \theta \cos \varphi\\
-
- & \sin \theta \sin \psi
- & & \cos \varphi \cos \psi - \cos \theta \sin \varphi \sin \psi
- & - & \sin \varphi \cos \psi - \cos \theta \cos \varphi \sin \psi\\
-
- - & \sin \theta \cos \psi
- & & \cos \varphi \sin \psi + \cos \theta \sin \varphi \cos \psi
- & - & \sin \varphi \sin \psi + \cos \theta \cos \varphi \cos \psi\\
- \end{array}
-\right] \]
-++++++++++++++++++++++++++++++++++++++++++++
-
-
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/latexmathml.txt b/code/maint/asciidoc/asciidoc-8.6.3/doc/latexmathml.txt
deleted file mode 100644
index 344d7cc..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/latexmathml.txt
+++ /dev/null
@@ -1,41 +0,0 @@
-LaTeXMathML Formulae
-====================
-
-http://www.maths.nottingham.ac.uk/personal/drw/lm.html[LaTeXMathML]
-capability has been added to AsciiDoc for users who are more familar
-with or prefer LaTeX math formulas to the
-http://www.methods.co.nz/asciidoc/asciimathml.html[ASCIIMathML]
-notation.
-
-'LaTeXMathML' is a derivative of
-http://www.methods.co.nz/asciidoc/asciimathml.html[ASCIIMathML] -- in
-terms of usage the only difference it that you use the `latexmath`
-attribute instead of the `asciimath` attribute.
-
-'LaTeXMathML' processes LaTeX math formulas not arbitrary LaTeX (as
-`dblatex(1)` does). See the
-http://www.maths.nottingham.ac.uk/personal/drw/lm.html[LaTeXMathML]
-website for details.
-
-Here's the link:latexmathml.txt[AsciiDoc source] that generated this
-page.
-
-Some example 'LaTeXMathML' formulas:
-
-- latexmath:[$R_x = 10.0 \times \sin(R_\phi)$]
-
-- latexmath:[$\sum_{n=1}^\infty \frac{1}{2^n}$]
-
-- latexmath:[$\lim_{x\to\infty} f(x) = k \choose r + \frac ab
- \sum_{n=1}^\infty a_n + \displaystyle{ \left\{ \frac{1}{13}
- \sum_{n=1}^\infty b_n \right\} }$]
-
-- latexmath:[$\$\alpha + \$\beta = \$(\alpha + \beta)$]
-
-- latexmath:[$\begin{eqnarray} x & = & \frac{-7 \pm
- \sqrt{49 - 24}}{6} \\ & = & -2 \textrm{ or } -\frac13.
- \end{eqnarray}$]
-
-- latexmath:[$\displaystyle{ V_i = C_0 - C_3
- \frac{C_1\cos(\theta_i+C_3)}{C_4+C_1\cos(\theta_i+C_2)} }$]
-
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/main.aap b/code/maint/asciidoc/asciidoc-8.6.3/doc/main.aap
deleted file mode 100644
index 393ad1d..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/main.aap
+++ /dev/null
@@ -1,229 +0,0 @@
-#####################################################################
-#
-# A-A-P file for making AsciiDoc distribution documentation.
-# (you can obtain A-A-P from http://www.a-a-p.org)
-#
-# Stuart Rackham <srackham(a)gmail.com>
-#####################################################################
-
-:execute ../common.aap
-
-ASCIIDOC = python ../asciidoc.py -a revnumber=$(VERS)@ -a revdate="$(DATE)@"
-A2X = python ../a2x.py
-
-:syseval which fop | :assign FOP
-@if not _no.FOP:
- :syseval which fop.sh | :assign FOP
-:syseval which lynx | :assign LYNX # Converts HTML to text.
-:syseval which xmllint | :assign XMLLINT # Validates XML.
-:syseval which dblatex | :assign DBLATEX # Converts DocBook XML to PDF.
-:syseval which aspell | :assign ASPELL
-:syseval which xsltproc | :assign XSLTPROC
-
-ROOT = asciidoc asciidoc.1
-INFILES = $*(ROOT).txt
-CHUNK_DIR = ./asciidoc.chunked
-HTMLHELP_DIR = ./asciidoc.htmlhelp
-HTMLHELP_FILE = asciidoc
-
-OUTFILES = $*(ROOT).html $*(ROOT).css.html $*(ROOT).css-embedded.html \
- asciidoc.pdf asciidoc.1.man a2x.1.man \
- article.html book.html book-multi.html asciidoc.xml asciidoc.1.xml \
- ../BUGS ../CHANGELOG ../README ../INSTALL \
- latex-backend.html \
- $HTMLHELP_DIR/index.html \
- $CHUNK_DIR/index.html \
- article.pdf \
- latexmath.pdf \
- latex-filter.pdf \
- source-highlight-filter.pdf \
- music-filter.pdf \
- book.epub \
- article-standalone.html
-
-TEST_FILES = $*(ROOT).css-embedded.html
- article.css-embedded.html book.css-embedded.html \
- article.xml book.xml book-multi.xml asciidoc.xml asciidoc.1.xml \
- asciidoc.1.html a2x.1.xml music-filter.xml \
- book.epub asciidoc.epub \
-
-
-#####################################################################
-# Filetype build rules.
-#####################################################################
-
-:rule %.epub : %.txt
- :sys $A2X -f epub -d book --epubcheck $source
-
-:rule %.text : %.txt
- # Convert AsciiDoc to HTML then use lynx(1) to convert HTML to text.
- @if not _no.LYNX:
- :print WARNING: lynx(1) unavailable: skipping $target file generation
- @else:
- opt = -f ../text.conf
- @if source_list[0] == 'asciidoc.1.txt':
- opt += -d manpage
- @else:
- opt += -n
- :sys $ASCIIDOC $opt -b html4 -o - $source | \
- lynx -dump -stdin > $target
-
-:rule %.css.html : %.txt
- opt =
- @if source_list[0] == 'asciidoc.1.txt':
- opt += -d manpage
- @else:
- opt += -n
- opt += -a toc -a toclevels=2 -a scriptsdir=../javascripts
- :sys $ASCIIDOC $opt -b xhtml11 -a linkcss -a icons -a stylesdir=../stylesheets -o $target $(source[0])
- @if _no.XMLLINT:
- :sys $XMLLINT --nonet --noout --valid $target
- @else:
- :print WARNING: xmllint(1) unavailable: skipping validation
-
-:rule %.css-embedded.html : %.txt
- opt =
- @if source_list[0] == 'asciidoc.1.txt':
- opt += -d manpage
- @else:
- opt += -n
- opt += -a toc -a toclevels=2
- :sys $ASCIIDOC -b xhtml11 $opt -o $target $(source[0])
- @if _no.XMLLINT:
- :sys $XMLLINT --nonet --noout --valid $target
- @else:
- :print WARNING: xmllint(1) unavailable: skipping validation
-
-:rule %.xml : %.txt
- opt =
- @if source_list[0] in ('asciidoc.1.txt','a2x.1.txt'):
- opt += -d manpage
- @else:
- opt += -n
- @if source_list[0] == 'asciidoc.txt' or source_list[0].startswith('book'):
- opt += -d book
- :sys $ASCIIDOC $opt -b docbook $(source[0])
- @if _no.XMLLINT:
- :sys $XMLLINT --nonet --noout --valid $target
- @else:
- :print WARNING: xmllint(1) unavailable: skipping validation
-
-:rule %.sgml : %.txt
- opt =
- @if source_list[0] in ('asciidoc.1.txt','a2x.1.txt'):
- opt += -d manpage
- @if source_list[0] == 'asciidoc.txt' or source_list[0].startswith('book'):
- opt += -d book
- :sys $ASCIIDOC $opt -b docbook-sgml $(source[0])
-
-:rule %.html: %.xml
- :sys $XSLTPROC --nonet --stringparam admon.textlabel 0 --stringparam html.stylesheet ./docbook-xsl.css ../docbook-xsl/xhtml.xsl $source >$target
-
-:rule %.man : %.xml
- :sys $XSLTPROC --nonet ../docbook-xsl/manpage.xsl $source
- :sys touch $target # Dummy target.
-
-:rule %.fo: %.xml
- :sys $XSLTPROC --nonet --stringparam admon.textlabel 0 ../docbook-xsl/fo.xsl $source >$target
-
-# This kludge forces the User Guide and LaTeX related PDFs to be generated
-# using dblatex so we include a dblatex example in the distribution.
-@if _no.DBLATEX:
- asciidoc.pdf: asciidoc.txt
- :sys $ASCIIDOC -b docbook $(source[0])
- :sys $DBLATEX -p ../dblatex/asciidoc-dblatex.xsl -s ../dblatex/asciidoc-dblatex.sty -o $target asciidoc.xml
- latexmath.pdf: latexmath.xml
- :sys $DBLATEX -p ../dblatex/asciidoc-dblatex.xsl -s ../dblatex/asciidoc-dblatex.sty -o $target $source
- latex-filter.pdf: latex-filter.xml
- :sys $DBLATEX -p ../dblatex/asciidoc-dblatex.xsl -s ../dblatex/asciidoc-dblatex.sty -o $target $source
-
-# Force the Source Highlighter PDF to be generated using dblatex
-# because dblatex has builtin source code highlighting.
-@if _no.DBLATEX:
- source-highlight-filter.pdf: source-highlight-filter.xml
- :sys $DBLATEX -p ../dblatex/asciidoc-dblatex.xsl -s ../dblatex/asciidoc-dblatex.sty -o $target $source
-
-@if _no.FOP:
- :rule %.pdf: %.fo
- :sys $FOP $source $target
-@elif _no.DBLATEX:
- # Fall back to dblatex if no FOP.
- :rule %.pdf: %.xml
- :sys $DBLATEX -p ../dblatex/asciidoc-dblatex.xsl -s ../dblatex/asciidoc-dblatex.sty -o $target $source
-@else:
- :rule %.pdf:
- :print WARNING: PDF processor unavailable: skipping $target file generation
-
-
-#####################################################################
-# Explicit file generation (cases that don't fit the rules).
-#####################################################################
-
-article-standalone.html: article.txt
- :sys $ASCIIDOC -a data-uri -a icons -a toc -a max-width=55em -o $target $source
-
-asciidoc.1.html: asciidoc.1.txt
- :sys $ASCIIDOC -d manpage -b html4 $source
- @if _no.XMLLINT:
- :sys $XMLLINT --nonet --noout --valid --html $target
- @else:
- :print WARNING: xmllint(1) unavailable: skipping validation
-
-# User Guide 'chunked' into linked HTML pages.
-$CHUNK_DIR/index.html: asciidoc.txt
- :sys $A2X -fchunked -dbook --icons -D ./ asciidoc.txt
-
-# HTML Help formatted User Guide.
-$HTMLHELP_DIR/index.html: asciidoc.xml
- :sys $A2X -fhtmlhelp -dbook --icons -D ./ asciidoc.txt
-
-../BUGS: ../BUGS.text
- # Make BUGS.text and copy to BUGS.
- :copy ../BUGS.text ../BUGS
-
-../CHANGELOG: ../CHANGELOG.text
- # Make CHANGELOG.text and copy to CHANGELOG.
- :copy ../CHANGELOG.text ../CHANGELOG
-
-../README: ../README.text
- # Make README.text and copy to README.
- :copy ../README.text ../README
-
-../INSTALL: ../INSTALL.text
- # Make INSTALL.text and copy to INSTALL.
- :copy ../INSTALL.text ../INSTALL
-
-asciimathml.html: asciimathml.txt
- :sys $ASCIIDOC -a asciimath $source
- # No xmllint(1) checking -- fails on embedded JavaScript.
-
-latexmathml.html: latexmathml.txt
- :sys $ASCIIDOC -a latexmath $source
- # No xmllint(1) checking -- fails on embedded JavaScript.
-
-
-#####################################################################
-# Build commands.
-#####################################################################
-
-all: $OUTFILES
-
-clean:
- :del {f} $OUTFILES $TEST_FILES
- :del {f} *.bak # Remove aspell backups.
-
-spell: $INFILES ../CHANGELOG.txt ../README.txt ../BUGS.txt ../INSTALL.txt \
- a2x.1.txt faq.txt asciidocapi.txt testasciidoc.txt \
- epub-notes.txt publishing-ebooks-with-asciidoc.txt \
- source-highlight-filter.txt \
- slidy.txt slidy-example.txt
- # Interactively spell check all files.
- @for s in source_list:
- :sys {i} $ASPELL check -p ./asciidoc.dict $s
-
-clean_testfiles:
- :del {f} $TEST_FILES
- :del {f} music*.png # Force Lilypond to run.
-
-test: clean_testfiles $TEST_FILES
- # Force generation and validation of .html and Docbook (.xml) files.
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/music-filter.pdf b/code/maint/asciidoc/asciidoc-8.6.3/doc/music-filter.pdf
deleted file mode 100644
index be2bd4e..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/doc/music-filter.pdf and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/music-filter.txt b/code/maint/asciidoc/asciidoc-8.6.3/doc/music-filter.txt
deleted file mode 100644
index f224d5c..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/music-filter.txt
+++ /dev/null
@@ -1,148 +0,0 @@
-Music Filter
-============
-
-The AsciiDoc distribution includes a Music Block filter that
-translates music in http://lilypond.org/[LilyPond] or
-http://abcnotation.org.uk/[ABC] notation to standard classical
-notation in the form of a trimmed PNG image which is automatically
-inserted into the AsciiDoc output document (see the examples below).
-
-Actually the filter (`./filters/music/music2png.py`) can be used outside
-AsciiDoc to convert LilyPond or ABC music files to PNG images.
-Execute the following command to see how to use it:
-
- $ ./filters/music/music2png.py --help
-
-.Music Block containing ABC notation
-=====================================================================
-
-This Music Block:
-
-[listing]
-.....................................................................
-["music","music1.png",scaledwidth="100%"]
----------------------------------------------------------------------
-T:The Butterfly
-R:slip jig
-C:Tommy Potts
-H:Fiddle player Tommy Potts made this tune from two older slip jigs,
-H:one of which is called "Skin the Peelers" in Roche's collection.
-H:This version by Peter Cooper.
-D:Bothy Band: 1975.
-M:9/8
-K:Em
-vB2(E G2)(E F3)|B2(E G2)(E F)ED|vB2(E G2)(E F3)|(B2d) d2(uB A)FD:|
-|:(vB2c) (e2f) g3|(uB2d) (g2e) (dBA)|(B2c) (e2f) g2(ua|b2a) (g2e) (dBA):|
-|:~B3 (B2A) G2A|~B3 BA(uB d)BA|~B3 (B2A) G2(A|B2d) (g2e) (dBA):|
----------------------------------------------------------------------
-.....................................................................
-
-Renders:
-
-["music","music1.png",scaledwidth="100%"]
----------------------------------------------------------------------
-T:The Butterfly
-R:slip jig
-C:Tommy Potts
-H:Fiddle player Tommy Potts made this tune from two older slip jigs,
-H:one of which is called "Skin the Peelers" in Roche's collection.
-H:This version by Peter Cooper.
-D:Bothy Band: 1975.
-M:9/8
-K:Em
-vB2(E G2)(E F3)|B2(E G2)(E F)ED|vB2(E G2)(E F3)|(B2d) d2(uB A)FD:|
-|:(vB2c) (e2f) g3|(uB2d) (g2e) (dBA)|(B2c) (e2f) g2(ua|b2a) (g2e) (dBA):|
-|:~B3 (B2A) G2A|~B3 BA(uB d)BA|~B3 (B2A) G2(A|B2d) (g2e) (dBA):|
----------------------------------------------------------------------
-=====================================================================
-
-
-.Music Block containing LilyPond notation
-=====================================================================
-This example contains LilyPond musical markup.
-
-[listing]
-.....................................................................
-[music]
----------------------------------------------------------------------
-\version "2.10.0"
-\paper {
- ragged-right = ##t
-}
-{
- \time 3/4
- \clef bass
- c2 e4 g2. f4 e d c2 r4
-}
----------------------------------------------------------------------
-.....................................................................
-
-Renders:
-
-[music]
----------------------------------------------------------------------
-\version "2.10.0"
-\paper {
- ragged-right = ##t
-}
-{
- \time 3/4
- \clef bass
- c2 e4 g2. f4 e d c2 r4
-}
----------------------------------------------------------------------
-=====================================================================
-
-NOTE: If you get an error processing the above example it may be that
-it is not compatible with your version of LilyPond. Use the LilyPond
-`convert-ly(1)` utility to update the source to the version that you
-are using.
-
-
-Using the Filter
-----------------
-- The Music filter is invoked by setting the Listing block or
- Paragraph style (the first positional block attribute) to 'music'.
-- The second positional attribute (named 'target' is optional, it sets
- the name of the generated PNG image file. If this is not supplied a
- file name like `{docname}__{target-number}.png` is synthesised
- (where `{docname}` is the document file name and `{target-number}`
- is an integer number.
-- The third positional attribute ('format') specifies the music input
- format: either 'abc' for ABC or 'ly' for LilyPond. If the format is
- omitted ABC notation is assumed unless the text starts with a
- backslash character, in which case the format is set to 'ly'.
-
-Because the LaTeX images are rendered using the image block templates
-you can also use the optional named image block attributes (see
-link:userguide.html#X55[Image macro attributes] in the AsciiDoc User
-Guide).
-
-
-Limitations
------------
-- The `asciidoc(1)` input and output files cannot both be `-` (stdin
- and stdout), either the input or output files (or both) must be a
- named file.
-
-
-Installation
-------------
-In addition to AsciiDoc you will need to have installed:
-
-- http://lilypond.org/web/[LilyPond] (most Linux distributions include
- this package).
-- http://www.imagemagick.org[ImageMagick] (most Linux distributions
- include this package).
-
-Test the music filter it by converting the test file to HTML with AsciiDoc:
-
- $ asciidoc -v ./filters/music/music-filter-test.txt
- $ firefox ./filters/music/music-filter-test.html &
-
-The filter was developed and tested on Xubuntu Linux using LilyPond
-2.10.5 and ImageMagick 6.2.4.
-
-NOTE: The filter does not work with LilyPond 2.2.6 because it did not
-generate the requested output file name correctly (2.6.3 does not have
-a problem).
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/publishing-ebooks-with-asciidoc.txt b/code/maint/asciidoc/asciidoc-8.6.3/doc/publishing-ebooks-with-asciidoc.txt
deleted file mode 100644
index e96541d..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/publishing-ebooks-with-asciidoc.txt
+++ /dev/null
@@ -1,380 +0,0 @@
-Publishing eBooks with AsciiDoc
-===============================
-// Web page meta data.
-:keywords: AsciiDoc, EPUB tools, EPUB, PDF, ebooks
-:description: How to create EPUB and PDF ebooks using AsciiDoc.
-
-ifdef::backend-wordpress[]
-// Use the same article for both a blog post and on the AsciiDoc
-// website.
-:blogpost-title: Publishing eBooks with AsciiDoc
-:blogpost-status: published
-:blogpost-doctype: article
-:blogpost-posttype: post
-:blogpost-categories: AsciiDoc,eBook,EPUB,DocBook
-
-*Published*: 2010-08-23
-endif::backend-wordpress[]
-
-It's easy to write and publish books in
-http://en.wikipedia.org/wiki/EPUB[EPUB] and PDF formats using
-http://www.methods.co.nz/asciidoc/[AsciiDoc].
-ifdef::backend-wordpress[]
-This article was originally published on the
-http://www.methods.co.nz/asciidoc/publishing-ebooks-with-asciidoc.html[AsciiDoc
-website].
-endif::backend-wordpress[]
-
-Here are three examples: The first is a <<X1,minimal example>>
-introducing the AsciiDoc format, the second <<X2,The Brothers
-Karamazov>> is a rather long multi-part book and the third <<X3,The
-Adventures of Sherlock Holmes>> includes a front cover image and
-customized page styling.
-
-// Wordpress processing instruction.
-pass::[<!--more-->]
-
-The examples presented below were created on a PC running Xubuntu
-Linux 10.04 but should be applicable to any UNIX-based operating
-system.
-
-NOTE: A number of 'asciidoc' and 'a2x' features used in this article
-require AsciiDoc version 8.6.1 -- install version 8.6.1 or better to
-compile the examples. The version of
-http://wiki.docbook.org/topic/DocBookXslStylesheets[DocBook XSL
-Stylesheets] used was 1.75.2.
-
-
-[[X1]]
-== Minimal Book
-This didactic example contains a title and two chapters. The AsciiDoc
-source is a plain text file named `minimal-book.txt`:
-
----------------------------------------------------------------------
-= The Book Title
-
-== The first chapter
-Nec vitae mus fringilla eu vel pede sed pellentesque. Nascetur fugiat
-nobis. Eu felis id mauris sollicitudin ut. Sem volutpat feugiat.
-Ornare convallis urna vitae.
-
-Nec mauris sed aliquam nam mauris dolor lorem imperdiet.
-
-== The second chapter
-Ut suspendisse nulla. Auctor felis facilisis. Rutrum vivamus nec
-lectus porttitor dui dapibus eu ridiculus tempor sodales et. Sit a
-cras. Id tellus cubilia erat.
-
-Quisque nullam et. Blandit dui tempor. Posuere in elit diam egestas
-sem vivamus vel ac.
----------------------------------------------------------------------
-
-To generate the EPUB formatted book file `minimal-book.epub` run
-AsciiDoc's 'a2x' toolchain wrapper command from the command-line:
-
- a2x -fepub -dbook minimal-book.txt
-
-The `-f` option specifies the output format, the `-d` option specifies
-the document type (book, article or manpage). The optional
-`--epubcheck` option tells 'a2x' to validate the EPUB file using
-http://code.google.com/p/epubcheck/[epubcheck]. To generate a PDF
-version (`minimal-book.pdf`) with 'dblatex' run:
-
- a2x -fpdf -dbook minimal-book.txt
-
-The distributed example PDFs were built using FOP -- if you prefer
-http://xmlgraphics.apache.org/fop/[FOP] over
-http://dblatex.sourceforge.net/[dblatex] use:
-
- a2x -fpdf -dbook --fop minimal-book.txt
-
-You can also generate an HTML formatted book, either using DocBook XSL
-Stylesheets:
-
- a2x -fxhtml -dbook minimal-book.txt
-
-or directly using the 'asciidoc' command:
-
- asciidoc -dbook minimal-book.txt
-
-[NOTE]
-======
-The http://www.methods.co.nz/asciidoc/a2x.1.html[a2x toolchain
-wrapper] uses the following programs (most will be available
-prepackaged for your Linux distribution):
-
-- http://xmlsoft.org/XSLT/[xsltproc]
-- http://docbook.sourceforge.net/projects/xsl/[DocBook XSL
- Stylesheets]
-- http://dblatex.sourceforge.net/[dblatex] (PDF file generator)
-- http://xmlgraphics.apache.org/fop/[FOP] (alternative PDF file
- generator)
-- http://code.google.com/p/epubcheck/[epubcheck] (optional EPUB file
- validator)
-======
-
-
-[[X2]]
-The Brothers Karamazov
-----------------------
-'The Brothers Karamazov' is an example of a multi-part book. To
-generate the AsciiDoc source I downloaded the
-http://www.gutenberg.org[Project Gutenberg] plain text source and
-edited it manually (this took around 15 minutes). To generate the
-`brothers-karamazov.epub` EPUB file run this command:
-
- a2x brothers-karamazov.txt
-
-:examples-url: http://www.methods.co.nz/misc/examples/books/
-
-[frame="topbot",options="header",caption=""]
-.Brothers Karamazov source files and eBooks
-|====================================================================
-|EPUB |PDF |AsciiDoc source |Project Gutenburg text
-|{examples-url}brothers-karamazov.epub[brothers-karamazov.epub]
-
-|{examples-url}brothers-karamazov.pdf[brothers-karamazov.pdf]
-
-|{examples-url}brothers-karamazov.zip[brothers-karamazov.zip]
-
-|http://www.gutenberg.org/etext/28054
-
-|====================================================================
-
-Here's the start of the AsciiDoc source file showing the AsciiDoc
-specific meta-data:
-
----------------------------------------------------------------------
-//
-// Text from Project Gutenburg http://www.gutenberg.org/etext/28054
-//
-// Formatted for AsciiDoc by Stuart Rackham.
-//
-// a2x default options.
-// a2x: -f epub -d book --epubcheck
-// Suppress revision history in dblatex outputs.
-// a2x: --dblatex-opts "-P latex.output.revhistory=0"
-// Suppress book part, chapter and section numbering in DocBook XSL outputs.
-// a2x: --xsltproc-opts
-// a2x: "--stringparam part.autolabel 0
-// a2x: --stringparam chapter.autolabel 0
-// a2x: --stringparam section.autolabel.max.depth 0"
-//
-
-= The Brothers Karamazov
-:author: Fyodor Dostoyevsky
-:encoding: iso-8859-1
-:plaintext:
-
-..........................................................................
-Translated from the Russian of Fyodor Dostoyevsky by Constance Garnett
-The Lowell Press New York
-
- :
- :
-
-***START OF THE PROJECT GUTENBERG EBOOK THE BROTHERS KARAMAZOV***
-..........................................................................
-
-
-= PART I
-
-== The History Of A Family
-
-=== Fyodor Pavlovitch Karamazov
-
-Alexey Fyodorovitch Karamazov was the third son of Fyodor Pavlovitch
-...
----------------------------------------------------------------------
-
-- The book, book part and chapter titles have been edited to conform
- to http://www.methods.co.nz/asciidoc/userguide.html#X17[AsciiDoc
- title conventions].
-
-- Book part titles must be level zero titles:
-
- = Book title (level 0)
- = Part one title (level 0)
- == Chapter 1 title (level 1)
- :
-
-- Sub-chapter levels can be accommodated with `===`, `====` and
- `=====` title prefixes.
-
-- In this example the 'Project Gutenberg' front matter was put in the
- untitled preface inside an AsciiDoc literal block.
-
-- The comment lines starting with `// a2x:` contain 'a2x' command
- options for this document (it's easier to put them in the document
- once than type them every time on the command-line).
-
-- A number of 'xsltproc' options are passed to 'a2x' to suppress book
- part, chapter and section numbering.
-
-- Setting the AsciiDoc 'plaintext' attribute suppresses most of
- http://www.methods.co.nz/asciidoc/userguide.html#_text_formatting[AsciiDoc's
- text formatting] and substitution conventions, this allows large
- amounts of text to be imported with little or no manual editing.
-
- * Once you have defined the AsciiDoc 'plaintext' attribute the only
- requisite manual editing will be to format the titles and rectify
- the odd paragraph being interpreted as some other AsciiDoc block
- element.
- * In the combined 49 thousand lines of imported 'Sherlock Holmes'
- and 'Brothers Karamazov' text I only encountered two
- misinterpreted list items, neither affected the rendered output or
- necessitated editing.
- * You can selectively enable and disable the 'plaintext' attribute
- throughout your document using AsciiDoc
- http://www.methods.co.nz/asciidoc/userguide.html#X18[attribute
- entries].
-
-
-[[X3]]
-The Adventures of Sherlock Holmes
----------------------------------
-This book includes a front cover image and a customized page design.
-To generate the `adventures-of-sherlock-holmes.epub` EPUB file run
-this command:
-
- a2x adventures-of-sherlock-holmes.txt
-
-[frame="topbot",options="header",caption=""]
-.Sherlock Holmes source files and eBooks
-|====================================================================
-|EPUB |PDF |AsciiDoc source |Project Gutenburg text
-|{examples-url}adventures-of-sherlock-holmes.epub[adventures-of-sherlock-holmes.epub]
-
-|{examples-url}adventures-of-sherlock-holmes.pdf[adventures-of-sherlock-holmes.pdf]
-
-|{examples-url}adventures-of-sherlock-holmes.zip[adventures-of-sherlock-holmes.zip]
-
-|http://www.gutenberg.org/etext/1661
-
-|====================================================================
-
-Here's a screenshot of the first page of the first chapter (rendered
-by the http://www.epubread.com/en/[Firefox EPUBReader addon]):
-
-image::images/epub.png[]
-
-The {examples-url}adventures-of-sherlock-holmes.zip[AsciiDoc source
-Zip file] contains the following files:
-
-`adventures-of-sherlock-holmes.txt`::
- The AsciiDoc source (derived from the
- http://www.gutenberg.org/etext/1661[Project Gutenberg plain text
- source]).
-
-`adventures-of-sherlock-holmes.jpg`::
- The front cover image.
-
-`adventures-of-sherlock-holmes-docinfo.xml`::
- A http://www.methods.co.nz/asciidoc/userguide.html#X87[docinfo] file
- containing DocBook markup for the front cover image and the Project
- Gutenberg frontmatter. DocBook XSL Stylesheets identifies the book
- cover image by the `role="cover"` attribute in the DocBook
- `mediaobject` element.
-
-`adventures-of-sherlock-holmes.css`::
- CSS rules for styling the page layout. The design is based on the
- http://epubzengarden.com[ePub Zen Garden] 'Gbs' style. Because this
- file is not named `docbook-xsl.css` the name must be specified
- explicitly using the 'a2x' `--stylesheet` option.
-
-`underline.png`::
- A title underline image that is used by the CSS stylesheet. This
- resource has to be explicitly passed to 'a2x' because 'a2x' only
- searches HTML files for resources.
-
-Here's the start of the AsciiDoc source file showing the AsciiDoc
-specific meta-data:
-
----------------------------------------------------------------------
-//
-// Text from Project Gutenburg http://www.gutenberg.org/etext/1661
-//
-// Formatted for AsciiDoc by Stuart Rackham.
-//
-// a2x default options.
-// a2x: -f epub -d book -a docinfo --epubcheck
-// a2x: --stylesheet adventures-of-sherlock-holmes.css
-// Suppress revision history in dblatex outputs.
-// a2x: --dblatex-opts "-P latex.output.revhistory=0"
-// Suppress book part, chapter and section numbering in DocBook XSL outputs.
-// a2x: --xsltproc-opts
-// a2x: "--stringparam part.autolabel 0
-// a2x: --stringparam chapter.autolabel 0
-// a2x: --stringparam section.autolabel.max.depth 0"
-// Additional resources.
-// a2x: --resource underline.png
-//
-
-= The Adventures of Sherlock Holmes
-:author: Sir Arthur Conan Doyle
-:encoding: iso-8859-1
-:plaintext:
-
-== A Scandal in Bohemia
-
-To Sherlock Holmes she is always THE woman. I have seldom heard
-...
----------------------------------------------------------------------
-
-The manual editing of imported plain text involves formatting the
-title and chapter names as
-http://www.methods.co.nz/asciidoc/userguide.html#X17[AsciiDoc titles]
-(in this example we've used the 'single line' title format). Sherlock
-Holmes only has two title levels:
-
----------------------------------------------------------------------
-= The Adventures of Sherlock Holmes
-== A Scandal in Bohemia
-== The Red-Headed League
-== A Case of Identity
-== The Boscombe Valley Mystery
-== The Five Orange Pips
-== The Man with the Twisted Lip
-== The Adventure of the Blue Carbuncle
-== The Adventure of the Speckled Band
-== The Adventure of the Engineer's Thumb
-== The Adventure of the Noble Bachelor
-== The Adventure of the Beryl Coronet
-== The Adventure of the Copper Beeches
-== Colophon
----------------------------------------------------------------------
-
-
-Styling your books
-------------------
-You can customize the appearance of a document with CSS. CSS file.
-Either create your own or copy and edit the existing default
-`docbook-xsl.css` file (located in the AsciiDoc `stylesheets`
-configuration directory) then place it in the same directory as your
-AsciiDoc source file. Use the 'a2x' `--stylesheet` option if you
-prefer to use a different stylesheet file name and/or location. Take
-a look at the `adventures-of-sherlock-holmes.css` CSS file.
-
-There are some great examples of EPUB book styles at
-http://epubzengarden.com/[ePub Zen Garden].
-
-
-Reading EPUB documents
-----------------------
-My current favorite software epub reader is the
-http://www.epubread.com/en/[Firefox EPUBReader addon]. Browsers are a
-natural fit for EPUB (EPUB is just a bunch of zipped XHTML files) --
-I'd like to see browsers support EPUB natively.
-
-As of writing this article most eBook readers (with the notable
-exception of Amazon's Kindle) support the EPUB format.
-
-
-Non-fiction Books and Manuals
------------------------------
-AsciiDoc supports a rich set of markup conventions and can generate
-reference works and technical manuals complete with tables,
-illustrations, indexes, bibliographies and appendices. All the
-examples on the http:///www.methods.co.nz/asciidoc/[AsciiDoc web site]
-can be formatted as EPUB eBooks.
-
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/slidy-example.txt b/code/maint/asciidoc/asciidoc-8.6.3/doc/slidy-example.txt
deleted file mode 100644
index aab2dd3..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/slidy-example.txt
+++ /dev/null
@@ -1,167 +0,0 @@
-Slidy Example Slideshow
-=======================
-:author: Joe Bloggs
-:copyright: Foobar Inc.
-:backend: slidy
-:max-width: 45em
-:data-uri:
-:icons:
-
-
-This preamble will appear on a separate slide.
-
-
-AsciiDoc Elements
------------------
-Sagittis in vestibulum. Habitasse ante nulla enim bibendum nulla. Odio
-sed pede litora.
-
-[float]
-=== Titles inside delimited blocks must be floated
-Porta nisl metus. Justo porttitor vel. Cras consequat tincidunt id sed
-conubia. Feugiat felis justo. Nunc amet nulla. Eu ac orci mollis.
-
-.Tiger
-image::images/tiger.png[]
-
-
-Incremental Elements
---------------------
-The remaining elements on this page are incremental, press the space
-bar to reveal them.
-
-[role="incremental"]
-- Rhoncus pede justo.
-- Velit pede dolor.
-- Iaculis commodo et.
-- Volutpat tristique nec.
-
-[role="incremental"]
---
-Sagittis in vestibulum. Habitasse ante nulla enim bibendum nulla. Odio
-sed pede litora.
---
-
-[role="incremental"]
-. Rhoncus pede justo.
-. Velit pede dolor.
-. Iaculis commodo et.
-. Volutpat tristique nec.
-
-
-Outline Elements
-----------------
-The following list is a Slidy 'outline' list -- nested bulleted or
-numbered lists are expanded when the enclosing list item (the ones
-with blue bullet points or numbers) are clicked.
-
-[role="outline"]
-- Rhoncus pede justo.
- * Rhoncus pede justo.
- * Velit pede dolor.
-
-- Velit pede dolor.
- * Iaculis commodo et.
-+
-NOTE: 'Note' admonition paragraph.
-
- * Volutpat tristique nec.
-+
-image::images/tiger.png[]
- * Iaculis commodo et.
- * Volutpat tristique nec.
-
-- Iaculis commodo et.
-[role="outline"]
- . Rhoncus pede justo.
- ** Velit pede dolor.
- ** Iaculis commodo et.
- . Volutpat tristique nec.
-
-- Volutpat tristique nec.
-
-
-AsciiDoc Elements
------------------
-NOTE: 'Note' admonition paragraph.
-
-IMPORTANT: 'Important' admonition paragraph.
-
-.Sidebar
-*********************************************************************
-Faucibus sagittis commodo sed et eu. Quam nullam ornare. Sed vel est.
-Mauris urna lobortis interdum placerat per id magnis enim.
-*********************************************************************
-
-
-AsciiDoc Elements
------------------
-A quote block:
-
-[quote, Bertrand Russell, The World of Mathematics (1956)]
-____________________________________________________________________
-A good notation has subtlety and suggestiveness which at times makes
-it almost seem like a live teacher.
-____________________________________________________________________
-
-A verse block:
-
-[verse, William Blake, from Auguries of Innocence]
-__________________________________________________
-To see a world in a grain of sand,
-And a heaven in a wild flower,
-Hold infinity in the palm of your hand,
-And eternity in an hour.
-__________________________________________________
-
-
-AsciiDoc Elements
------------------
-.Horizontal and vertical source data
-[width="80%",cols="3,^2,^2,10",options="header"]
-|=========================================================
-|Date |Duration |Avg HR |Notes
-
-|22-Aug-08 |10:24 | 157 |
-Worked out MSHR (max sustainable heart rate) by going hard
-for this interval.
-
-|22-Aug-08 |23:03 | 152 |
-Back-to-back with previous interval.
-
-|24-Aug-08 |40:00 | 145 |
-Moderately hard interspersed with 3x 3min intervals (2min
-hard + 1min really hard taking the HR up to 160).
-
-|=========================================================
-
-
-Filters
--------
-[source,python]
-.Python source
----------------------------------------------------------------------
-''' A multi-line
- comment.'''
-def sub_word(mo):
- ''' Single line comment.'''
- word = mo.group('word') # Inline comment
- if word in keywords[language]:
- return quote + word + quote
- else:
- return word
----------------------------------------------------------------------
-
-[music]
-.Music
----------------------------------------------------------------------
-\version "2.10.0"
-\paper {
- ragged-right = ##t
-}
-{
- \time 3/4
- \clef bass
- c2 e4 g2. f4 e d c2 r4
-}
----------------------------------------------------------------------
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/slidy.txt b/code/maint/asciidoc/asciidoc-8.6.3/doc/slidy.txt
deleted file mode 100644
index b9225cf..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/slidy.txt
+++ /dev/null
@@ -1,114 +0,0 @@
-Slidy backend for AsciiDoc
-==========================
-:author: Stuart Rackham
-:backend: slidy
-:max-width: 45em
-:data-uri:
-:icons:
-
-
-Use the following command to create this document (`slidy.html`):
-
- asciidoc slidy.txt
-
-Press the 'Space' key or the 'Left Arrow' key to continue the
-slideshow.
-
-
-Overview
---------
-AsciiDoc has a 'slidy' backend for generating self contained 'Slidy'
-HTML slideshows.
-
-- An overview of 'Slidy' can be found here:
- http://www.w3.org/Talks/Tools/Slidy2/
-- AsciiDoc ships with the Slidy JavaScript a customised Slidy CSS
- file.
-- Use the 'asciidoc' `--backend slidy` command-line option to generate
- browser viewable HTML slideshow. Example:
-
- asciidoc --backend slidy slidy-example.txt
-
-- By default, 'asciidoc' creates a self contained distributable HTML
- document which includes all necessary CSS and JavaScripts. Use the
- 'asciidoc' `--attribute linkcss` command-line option if you prefer
- to link (rather than embed) external CSS and JavaScript files.
-
-
-How Slidy uses AsciiDoc markup
-------------------------------
-- The document header is displayed as the first page of the slideshow.
-- If the document has a 'preamble' (the content between the header and
- the first section) it will be displayed on the second page.
-- Each top level section is displayed as a separate slide.
-- If the AsciiDoc 'incremental' attribute is defined then all lists
- and OpenBlock elements are treated as 'incremental' i.e. Slidy
- exposes their child elements one at a time as you progress through
- the slideshow.
-- You can explicitly set an element as incremental by setting its
- 'role' attribute to 'incremental'. Example:
-
- [role="incremental"]
- Sagittis in vestibulum. Habitasse ante nulla enim bibendum nulla.
- Odio sed pede litora.
-
-
-Slidy Specific Attributes
--------------------------
-incremental::
-If this attribute is defined then all lists and OpenBlock elements are
-classed as incremental i.e. Slidy will expose them one at a time as
-you progress through the slideshow. The default behavior is for the
-show to progress a full slide at at time. Elements that have been
-explicitly classed as 'incremental' with the 'role' attribute are
-always displayed incrementally.
-
-duration::
-Set this to the estimated number of minutes that your presentation
-will take and Slidy will display a countdown timer at the bottom right
-of the slideshow. For example, this 'asciidoc' command-line option
-`--attribute duration=5` sets the duration to five minutes.
-
-copyright::
-If you set the 'copyright' attribute it will be displayed in the Slidy
-menu bar at the bottom of the slide. If the 'copyright' attribute is
-not define then the author name, if it is defined, will be displayed.
-
-outline::
-Setting the 'role' attribute to 'outline' in a bulleted or numbered
-list allows nested lists to be expanded and collapsed using the mouse.
-Nested lists are expanded when an enclosing list item (the ones with
-blue bullet points or numbers) is clicked.
-
-
-Stylesheets
------------
-- The 'slidy' backend uses the 'xhtml11' backend stylesheets.
-- By default it loads the 'xhtml11.css' stylesheet followed by
- 'slidy.css':
- * `xhtml11.css` contains content presentational styles.
- * The customized `slidy.css` stylesheet contains Slidy specific
- styles (table of contents, menu and transition related).
-- You can use 'xhtml11' themes. For example, the 'asciidoc'
- `--attribute theme=volnitsky` command-line option will substitute
- the `xhtml11.css` stylesheet for the distributed Volnitsky
- `volnitsky.css` stylesheet.
-- An optional third and last loaded stylesheet can be specified by
- setting the 'stylesheet' attribute. For example, the `--attribute
- stylesheet=myslidy.css` will load `myslidy.css`.
-
-
-Tips
-----
-- The Slidy 'help?' and 'contents?' links at the bottom left are your
- friends.
-- Use the AsciiDoc 'data-uri' attribute to embed images in your
- slideshow -- add this attribute entry to your document's header:
-
- :data-uri:
-
-- Use the AsciiDoc 'max-width' attribute to set the document display
- width. For example, add this attribute entry to your document's
- header:
-
- :max-width: 45em
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/source-highlight-filter.pdf b/code/maint/asciidoc/asciidoc-8.6.3/doc/source-highlight-filter.pdf
deleted file mode 100644
index 7898800..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/doc/source-highlight-filter.pdf and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/source-highlight-filter.txt b/code/maint/asciidoc/asciidoc-8.6.3/doc/source-highlight-filter.txt
deleted file mode 100644
index 5f8e8a9..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/source-highlight-filter.txt
+++ /dev/null
@@ -1,228 +0,0 @@
-Source Code Highlight Filter
-============================
-
-The AsciiDoc distribution includes a source code syntax highlight
-filter (`source-highlight-filter.conf`).
-
-
-HTML Outputs
-------------
-The highlighter uses http://www.gnu.org/software/src-highlite/[GNU
-source-highlight] to highlight 'html4' and 'xhtml11' outputs. You also
-have the option of using the http://pygments.org/[Pygments] syntax
-highlighter for 'xhtml11' outputs.
-
-To use Pygments you need to define an AsciiDoc attribute named
-'pygments' (either from the command-line or in the global
-`asciidoc.conf` configuration file) and you will also need to have
-Pygments installed and the 'pygmentize' command in your PATH.
-
-- You can customize Pygments CSS styles by editing
- `./stylesheets/pygments.css`.
-- To make Pygments your default highlighter put the following line
- your `~/.asciidoc/asciidoc.conf` file:
-
- pygments=
-
-- The AsciiDoc 'encoding' attribute is passed to Pygments as a `-O`
- command-line option.
-
-
-DocBook Outputs
----------------
-DocBook outputs are highlighted by toolchains that have
-`programlisting` element highlight support, for example 'dblatex'.
-
-
-Examples
---------
-
-Source code paragraphs
-~~~~~~~~~~~~~~~~~~~~~~
-The `source` paragraph style will highlight a paragraph of source
-code. These three code paragraphs:
-
----------------------------------------------------------------------
-[source,python]
-if n < 0: print 'Hello World!'
-
-:language: python
-
-[source]
-if n < 0: print 'Hello World!'
-
-[source,ruby,numbered]
-[true, false].cycle([0, 1, 2, 3, 4]) do |a, b|
- puts "#{a.inspect} => #{b.inspect}"
----------------------------------------------------------------------
-
-Render this highlighted source code:
-
-[source,python]
-if n < 0: print 'Hello World!'
-
-:language: python
-
-[source]
-if n < 0: print 'Hello World!'
-
-[source,ruby,numbered]
-[true, false].cycle([0, 1, 2, 3, 4]) do |a, b|
- puts "#{a.inspect} => #{b.inspect}"
-
-
-Unnumbered source code listing
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-This source-highlight filtered block:
-
----------------------------------------------------------------------
- [source,python]
- ---------------------------------------------------------------------
- ''' A multi-line
- comment.'''
- def sub_word(mo):
- ''' Single line comment.'''
- word = mo.group('word') # Inline comment
- if word in keywords[language]:
- return quote + word + quote
- else:
- return word
- ---------------------------------------------------------------------
----------------------------------------------------------------------
-
-Renders this highlighted source code:
-
-[source,python]
----------------------------------------------------------------------
-''' A multi-line
- comment.'''
-def sub_word(mo):
- ''' Single line comment.'''
- word = mo.group('word') # Inline comment
- if word in keywords[language]:
- return quote + word + quote
- else:
- return word
----------------------------------------------------------------------
-
-Numbered source code listing with callouts
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-This source-highlight filtered block:
-
----------------------------------------------------------------------
- [source,ruby,numbered]
- ---------------------------------------------------------------------
- #
- # Useful Ruby base class extensions.
- #
-
- class Array
-
- # Execute a block passing it corresponding items in
- # +self+ and +other_array+.
- # If self has less items than other_array it is repeated.
-
- def cycle(other_array) # :yields: item, other_item
- other_array.each_with_index do |item, index|
- yield(self[index % self.length], item)
- end
- end
-
- end
-
- if $0 == __FILE__ \<1>
- # Array#cycle test
- # true => 0
- # false => 1
- # true => 2
- # false => 3
- # true => 4
- puts 'Array#cycle test' \<2>
- [true, false].cycle([0, 1, 2, 3, 4]) do |a, b|
- puts "#{a.inspect} => #{b.inspect}"
- end
- end
- ---------------------------------------------------------------------
-
- \<1> First callout.
- \<2> Second callout.
-
----------------------------------------------------------------------
-
-Renders this highlighted source code:
-
-[source,ruby,numbered]
----------------------------------------------------------------------
-#
-# Useful Ruby base class extensions.
-#
-
-class Array
-
- # Execute a block passing it corresponding items in
- # +self+ and +other_array+.
- # If self has less items than other_array it is repeated.
-
- def cycle(other_array) # :yields: item, other_item
- other_array.each_with_index do |item, index|
- yield(self[index % self.length], item)
- end
- end
-
-end
-
-if $0 == __FILE__ <1>
- # Array#cycle test
- # true => 0
- # false => 1
- # true => 2
- # false => 3
- # true => 4
- puts 'Array#cycle test' <2>
- [true, false].cycle([0, 1, 2, 3, 4]) do |a, b|
- puts "#{a.inspect} => #{b.inspect}"
- end
-end
----------------------------------------------------------------------
-
-<1> First callout.
-<2> Second callout.
-
-[TIP]
-=====
-- If the source 'language' attribute has been set (using an
- 'AttributeEntry' or from the command-line) you don't have to specify
- it in each source code block.
-- You may need to place callout markers inside source code comments to
- ensure they are not misinterpreted and mangled by the highlighter.
-=====
-
-
-Installation
-------------
-HTML
-~~~~
-If you want to syntax highlight AsciiDoc HTML outputs (`html4` and
-`xhtml11` backends) you need to install
-http://www.gnu.org/software/src-highlite/[GNU source-highlight] or
-http://pygments.org/[Pygments] (most distributions have these
-packages).
-
-DocBook
-~~~~~~~
-AsciiDoc encloses the source code in a DocBook 'programlisting'
-element and leaves source code highlighting to the DocBook toolchain
-(dblatex has a particularly nice programlisting highlighter). The
-DocBook programlisting element is assigned two attributes:
-
-. The 'language' attribute is set to the AsciiDoc 'language'
- attribute.
-. The 'linenumbering' attribute is set to the AsciiDoc 'src_numbered'
- attribute ('numbered' or 'unnumbered').
-
-Testing
-~~~~~~~
-Test the filter by converting the test file to HTML with AsciiDoc:
-
- $ asciidoc -v ./filters/source/source-highlight-filter-test.txt
- $ firefox ./filters/source/source-highlight-filter-test.html &
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/doc/testasciidoc.txt b/code/maint/asciidoc/asciidoc-8.6.3/doc/testasciidoc.txt
deleted file mode 100644
index 1d9a1ea..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/doc/testasciidoc.txt
+++ /dev/null
@@ -1,231 +0,0 @@
-AsciiDoc Tests
-==============
-
-AsciiDoc includes 'testasciidoc', a Python script runs a set of
-AsciiDoc conformance tests. 'testasciidoc' runs through a list of
-AsciiDoc source files, generates backend outputs and then compares
-them to expected result files. The whole process is driven by a
-configuration file containing a list of user configurable test
-specifications.
-
-
-Rationale
----------
-When modifying AsciiDoc configuration files or source code it's very
-easy to introduce regression errors. 'testasciidoc' is a tool for
-writing many and varied test cases that can be run after changes have
-been made in order to verify that existing behavior has not been
-broken.
-
-The 'testasciidoc' 'update' command automates the (re)generation of
-expected test result data. Result data regeneration has to be
-performed after changes to test case source files or after legitimate
-changes to the AsciiDoc output formats -- doing this manually is
-prohibitively tedious.
-
-
-Running testasciidoc
---------------------
-The `testasciidoc.py` script and the default `testasciidoc.conf`
-configuration file are located in the AsciiDoc distribution `tests`
-directory.
-
-To view the command usage run:
-
----------------------------------------------------------------------
-$ python tests/testasciidoc.py
-Usage: testasciidoc.py [OPTIONS] COMMAND
-
-Run AsciiDoc conformance tests specified in configuration FILE.
-
-Commands:
- list List tests
- run [NUMBER] [BACKEND] Execute tests
- update [NUMBER] [BACKEND] Regenerate and update test data
-
-Options:
- -f, --conf-file=CONF_FILE
- Use configuration file CONF_FILE (default configuration file is
- testasciidoc.conf in testasciidoc.py directory)
- --force
- Update all test data overwriting existing data
----------------------------------------------------------------------
-
-To view the list of tests in the default `testasciidoc.conf`
-configuration file run the 'list' command:
-
----------------------------------------------------------------------
-$ python tests/testasciidoc.py list
-1: Test cases
-2: Tables
-3: Source highlighter
-4: Example article
-5: Example book
-6: Example multi-part book
-7: !User Guide
----------------------------------------------------------------------
-
-The '!' prefix signals that a test is currently disabled.
-
-Before running the tests you will need to regenerate the expected
-outputs by running the 'update' command:
-
----------------------------------------------------------------------
-$ python tests/testasciidoc.py update
-WRITING: tests/data/testcases-html4.html
-WRITING: tests/data/testcases-xhtml11.html
-WRITING: tests/data/testcases-docbook.xml
- :
-WRITING: tests/data/book-multi-docbook.xml
----------------------------------------------------------------------
-
-Now you can run the tests:
-
----------------------------------------------------------------------
-$ python tests/testasciidoc.py run
-1: Test cases
-SOURCE: asciidoc: tests/data/testcases.txt
-PASSED: html4: tests/data/testcases-html4.html
-PASSED: xhtml11: tests/data/testcases-xhtml11.html
-PASSED: docbook: tests/data/testcases-docbook.xml
- :
-6: Example multi-part book
-SOURCE: asciidoc: doc/book-multi.txt
-PASSED: html4: tests/data/book-multi-html4.html
-PASSED: xhtml11: tests/data/book-multi-xhtml11.html
-PASSED: docbook: tests/data/book-multi-docbook.xml
-
-TOTAL PASSED: 18
----------------------------------------------------------------------
-
-[NOTE]
-=====================================================================
-- 'testasciidoc' requires AsciiDoc is located in your environment
- search path, if not you'll need to set the `ASCIIDOC_PY` environment
- variable to point to `asciidoc.py`.
-- If you don't have GNU source-highlight installed you should disable
- the 'Tables' and 'Source highlighter' tests in the
- `tests/testasciidoc.conf` configuration file.
-=====================================================================
-
-
-testasciidoc commands
----------------------
-'list'::
- List test numbers and titles. A '!' title prefix signals that a
- test is currently disabled.
-
-'run'::
- Read and execute tests from the test configuration file. A test
- specifies AsciiDoc test case source file and command options. The
- test compares generated outputs to expected outputs and any
- differences displayed as a diff. You can run selected tests by
- specifying the test number and/or backend after the `run` command.
- Examples:
-
- python tests/testasciidoc.py run
- python tests/testasciidoc.py run 3
- python tests/testasciidoc.py run html4
- python tests/testasciidoc.py run 3 html4
-
-'update'::
- Generates and updates missing and out of date test output data
- files, this eliminates one of the most time consuming aspect of test
- management. Use the `--force` option to force updates.
- Examples:
-
- python tests/testasciidoc.py update
- python tests/testasciidoc.py --force update 4
-
-NOTE: You can run or update disabled tests by explicitly specifying
-the test number.
-
-
-Test configuration file
------------------------
-The tests configuration file format consists of one or more test specs
-separated by a line of one or more percent characters. Each test spec
-consists of an optional test title and description followed by one or
-more optional directives (a directive starts with a percent
-character). A 'directive' consists begins with a line containing a '%'
-character followed by a directive name followed by zero or more lines
-of directive data.
-
-Test spec format
-~~~~~~~~~~~~~~~~
----------------------------------------------------------------------
-Optional test title
-Optional test description...
-
-% name
-Optional base output file name. Defaults to base source file name.
-
-% source
-AsciiDoc source file name.
-
-% backends
-Optional list of backends to be tested(default is all backends).
-% options
-Optional list of command-line option tuples.
-
-% attributes
-Optional dictionary of attribute values.
-
----------------------------------------------------------------------
-
-Example test spec:
-
----------------------------------------------------------------------
-Example book
-
-% options
-['--section-numbers',('--doctype','book')]
-
-% attributes
-# Exclude date from document footer.
-{'docdate':None}
-
-% source
-../doc/book.txt
----------------------------------------------------------------------
-
-TIP: Take a look at the default `tests/testasciidoc.conf`
-configuration file that comes with AsciiDoc.
-
-- Tests can be disabled by prefixing the test title with an
- exclamation '!' character.
-- All relative file names are relative to the configuration file
- directory.
-- Multiple tests must by separated by a `%` separator line (one or
- more percent characters).
-- Lines starting with a percent character specify a test 'directive'
- and may be followed by zero or more lines of directive data.
-- Directive data lines cannot start with a percent character.
-- Lines starting with a `#` hash character are ignored.
-- The 'source' directive data is a single line containing the
- AsciiDoc source file name.
-- The 'options' directive data is a Python list of `(name,value)`
- tuples specifying AsciiDoc command-line options. A string item is
- equivalent to a `(name,None)` tuple.
-- The 'attributes' directive data specifies a Python dictionary
- containing AsciiDoc attributes to be passed to AsciiDoc.
-
-globals directive
-~~~~~~~~~~~~~~~~~
-An optional 'globals' directive can precede all test specs, the
-globals directive data is a Python dictionary containing global
-values. Currently the only global is 'datadir', the directory
-containing expected output files (defaults to configuration file
-directory). For example:
-
----------------------------------------------------------------------
-% globals
-{'datadir': 'data'}
----------------------------------------------------------------------
-
-Expected output test data files are stored in the 'datadir' and are
-named after the corresponding AsciiDoc input source file. For example
-if the AsciiDoc file name is `article.txt` then the corresponding
-backend output files will be `article-html4.html`,
-`article-xhtml11.html`, `article-docbook.xml` (stored in the 'datadir'
-directory).
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/asciidoc-docbook-xsl.txt b/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/asciidoc-docbook-xsl.txt
deleted file mode 100644
index fd71e63..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/asciidoc-docbook-xsl.txt
+++ /dev/null
@@ -1,65 +0,0 @@
-AsciiDoc DocBook XSL Stylesheets Notes
-======================================
-
-Output file customisation is achieved by tweaking the DocBook XSL
-stylesheets. I've tried to keep customization to a minimum and
-confine it to the separate XSL driver files in the distribution
-`./docbook-xsl/` directory (see the User Guide for details).
-
-To polish some rough edges I've written some patches for the DocBook
-XSL stylesheets -- you don't need them but they're documented below
-and included in the distribution `./docbook-xsl/` directory.
-
-
-Manually upgrading Debian to the latest DocBook XSL stylesheets
----------------------------------------------------------------
-The DocBook XSL Stylesheets distribution is just a directory full of
-text files and you can switch between releases by changing the
-directory name in the system XML catalog.
-
-To upgrade to the latest docbook-xsl stylesheets without having to
-wait for the Debian `docbook-xsl` package:
-
-- Download the latest docbook-xsl tarball from
- http://sourceforge.net/projects/docbook/. Bleeding edge snapshots
- can be found at http://docbook.sourceforge.net/snapshots/
-
-- Unzip the tarball to `/usr/share/xml/docbook/stylesheet/`:
-
- $ cd /usr/share/xml/docbook/stylesheet
- $ sudo tar -xzf /tmp/docbook-xsl-1.72.0.tar.gz
-
-- Edit `/etc/xml/docbook-xsl.xml` catalog and replace occurences of
- the current stylesheets directory with the new one (in our example
- it would be `/usr/share/xml/docbook/stylesheet/docbook-xsl-1.72.0`.
-
- $ cd /etc/xml/
- $ sudo cp -p docbook-xsl.xml docbook-xsl.xml.ORIG
- $ sudo vi docbook-xsl.xml
-
-
-Customizing Generated Text
---------------------------
-An example
-http://www.sagehill.net/docbookxsl/CustomGentext.html#CustomGenText[DocBook
-XSL Stylesheets customization file] for formatting chapter titles
-without chapter numbering.
-
-.custom-chapter.xml
----------------------------------------------------------------------
-<!-- Customize chapter title -->
-<l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
- <l:l10n language="en">
- <l:context name="title">
- <l:template name="chapter" text="%t"/>
- </l:context>
- </l:l10n>
-</l:i18n>
----------------------------------------------------------------------
-
-Executed with this 'xsltproc' parameter:
-
- --param local.l10n.xml document\(\'custom-chapter.xml\'\)
-
-NOTE: This example is hypothetical -- use the 'xsltproc'
-`--stringparam chapter.autolabel 0` option to do the same job.
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/chunked.xsl b/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/chunked.xsl
deleted file mode 100644
index 940bec2..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/chunked.xsl
+++ /dev/null
@@ -1,17 +0,0 @@
-<!--
- Generates chunked XHTML documents from DocBook XML source using DocBook XSL
- stylesheets.
-
- NOTE: The URL reference to the current DocBook XSL stylesheets is
- rewritten to point to the copy on the local disk drive by the XML catalog
- rewrite directives so it doesn't need to go out to the Internet for the
- stylesheets. This means you don't need to edit the <xsl:import> elements on
- a machine by machine basis.
--->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/chunk.xsl"/>
-<xsl:import href="common.xsl"/>
-<xsl:param name="navig.graphics.path">images/icons/</xsl:param>
-<xsl:param name="admon.graphics.path">images/icons/</xsl:param>
-<xsl:param name="callout.graphics.path" select="'images/icons/callouts/'"/>
-</xsl:stylesheet>
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/common.xsl b/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/common.xsl
deleted file mode 100644
index b83deeb..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/common.xsl
+++ /dev/null
@@ -1,106 +0,0 @@
-<!--
- Inlcuded in xhtml.xsl, xhtml.chunked.xsl, htmlhelp.xsl.
- Contains common XSL stylesheets parameters.
- Output documents styled by docbook.css.
--->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-<xsl:param name="html.stylesheet" select="'docbook-xsl.css'"/>
-
-<xsl:param name="htmlhelp.chm" select="'htmlhelp.chm'"/>
-<xsl:param name="htmlhelp.hhc.section.depth" select="5"/>
-
-<xsl:param name="section.autolabel">
- <xsl:choose>
- <xsl:when test="/processing-instruction('asciidoc-numbered')">1</xsl:when>
- <xsl:otherwise>0</xsl:otherwise>
- </xsl:choose>
-</xsl:param>
-
-<xsl:param name="suppress.navigation" select="0"/>
-<xsl:param name="navig.graphics.extension" select="'.png'"/>
-<xsl:param name="navig.graphics" select="0"/>
-<xsl:param name="navig.graphics.path">images/icons/</xsl:param>
-<xsl:param name="navig.showtitles">0</xsl:param>
-
-<xsl:param name="shade.verbatim" select="0"/>
-<xsl:attribute-set name="shade.verbatim.style">
- <xsl:attribute name="border">0</xsl:attribute>
- <xsl:attribute name="background-color">#E0E0E0</xsl:attribute>
-</xsl:attribute-set>
-
-<xsl:param name="admon.graphics" select="1"/>
-<xsl:param name="admon.graphics.path">images/icons/</xsl:param>
-<xsl:param name="admon.graphics.extension" select="'.png'"/>
-<xsl:param name="admon.style">
- <xsl:text>margin-left: 0; margin-right: 10%;</xsl:text>
-</xsl:param>
-<xsl:param name="admon.textlabel" select="1"/>
-
-<xsl:param name="callout.defaultcolumn" select="'60'"/>
-<xsl:param name="callout.graphics.extension" select="'.png'"/>
-<xsl:param name="callout.graphics" select="'1'"/>
-<xsl:param name="callout.graphics.number.limit" select="'10'"/>
-<xsl:param name="callout.graphics.path" select="'images/icons/callouts/'"/>
-<xsl:param name="callout.list.table" select="'1'"/>
-
-<!-- This does not seem to work. -->
-<xsl:param name="section.autolabel.max.depth" select="2"/>
-
-<xsl:param name="chunk.first.sections" select="1"/>
-<xsl:param name="chunk.section.depth" select="1"/>
-<xsl:param name="chunk.quietly" select="0"/>
-<xsl:param name="chunk.toc" select="''"/>
-<xsl:param name="chunk.tocs.and.lots" select="0"/>
-
-<xsl:param name="html.cellpadding" select="'4px'"/>
-<xsl:param name="html.cellspacing" select="''"/>
-
-<xsl:param name="table.borders.with.css" select="1"/>
-<xsl:param name="table.cell.border.color" select="'#527bbd'"/>
-
-<xsl:param name="table.cell.border.style" select="'solid'"/>
-<xsl:param name="table.cell.border.thickness" select="'1px'"/>
-<xsl:param name="table.footnote.number.format" select="'a'"/>
-<xsl:param name="table.footnote.number.symbols" select="''"/>
-<xsl:param name="table.frame.border.color" select="'#527bbd'"/>
-<xsl:param name="table.frame.border.style" select="'solid'"/>
-<xsl:param name="table.frame.border.thickness" select="'3px'"/>
-<xsl:param name="tablecolumns.extension" select="'1'"/>
-
-<xsl:param name="highlight.source" select="1"/>
-
-<xsl:param name="section.label.includes.component.label" select="1"/>
-
-<!--
- Table of contents inserted by <?asciidoc-toc?> processing instruction.
--->
-<xsl:param name="generate.toc">
- <xsl:choose>
- <xsl:when test="/processing-instruction('asciidoc-toc')">
-article toc,title
-book toc,title,figure,table,example,equation
- <!-- The only way I could find that suppressed book chapter TOCs -->
- <xsl:if test="$generate.section.toc.level != 0">
-chapter toc,title
-part toc,title
-preface toc,title
-qandadiv toc
-qandaset toc
-reference toc,title
-sect1 toc
-sect2 toc
-sect3 toc
-sect4 toc
-sect5 toc
-section toc
-set toc,title
- </xsl:if>
- </xsl:when>
- <xsl:otherwise>
-article nop
-book nop
- </xsl:otherwise>
- </xsl:choose>
-</xsl:param>
-
-</xsl:stylesheet>
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/epub.xsl b/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/epub.xsl
deleted file mode 100644
index b589aa1..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/epub.xsl
+++ /dev/null
@@ -1,39 +0,0 @@
-<!--
- Generates EPUB XHTML documents from DocBook XML source using DocBook XSL
- stylesheets.
-
- NOTE: The URL reference to the current DocBook XSL stylesheets is
- rewritten to point to the copy on the local disk drive by the XML catalog
- rewrite directives so it doesn't need to go out to the Internet for the
- stylesheets. This means you don't need to edit the <xsl:import> elements on
- a machine by machine basis.
--->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
- <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/epub/docbook.xsl"/>
-<xsl:import href="common.xsl"/>
-
-<!--
-DocBook XSL 1.75.2: Nav headers are invalid XHTML (table width element)
--->
-<xsl:param name="suppress.navigation" select="1"/>
-
-<!--
-DocBook XSL 1.75.2 doesn't handle admonition icons
--->
-<xsl:param name="admon.graphics" select="0"/>
-
-<!--
-DocBook XLS 1.75.2 doesn't handle TOCs
--->
-<xsl:param name="generate.toc">
- <xsl:choose>
- <xsl:when test="/article">
-/article nop
- </xsl:when>
- <xsl:when test="/book">
-/book nop
- </xsl:when>
- </xsl:choose>
-</xsl:param>
-
-</xsl:stylesheet>
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/fo.xsl b/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/fo.xsl
deleted file mode 100644
index 5537e8e..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/fo.xsl
+++ /dev/null
@@ -1,152 +0,0 @@
-<!--
- Generates single FO document from DocBook XML source using DocBook XSL
- stylesheets.
-
- See xsl-stylesheets/fo/param.xsl for all parameters.
-
- NOTE: The URL reference to the current DocBook XSL stylesheets is
- rewritten to point to the copy on the local disk drive by the XML catalog
- rewrite directives so it doesn't need to go out to the Internet for the
- stylesheets. This means you don't need to edit the <xsl:import> elements on
- a machine by machine basis.
--->
-<xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:fo="http://www.w3.org/1999/XSL/Format">
-<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl"/>
-<xsl:import href="common.xsl"/>
-
-<xsl:param name="fop1.extensions" select="1" />
-<xsl:param name="variablelist.as.blocks" select="1" />
-
-<xsl:param name="paper.type" select="'A4'"/>
-<!--
-<xsl:param name="paper.type" select="'USletter'"/>
--->
-<xsl:param name="hyphenate">false</xsl:param>
-<!-- justify, left or right -->
-<xsl:param name="alignment">left</xsl:param>
-
-<xsl:param name="body.font.family" select="'serif'"/>
-<xsl:param name="body.font.master">12</xsl:param>
-<xsl:param name="body.font.size">
- <xsl:value-of select="$body.font.master"/><xsl:text>pt</xsl:text>
-</xsl:param>
-
-<xsl:param name="body.margin.bottom" select="'0.5in'"/>
-<xsl:param name="body.margin.top" select="'0.5in'"/>
-<xsl:param name="bridgehead.in.toc" select="0"/>
-
-<!-- overide setting in common.xsl -->
-<xsl:param name="table.frame.border.thickness" select="'2px'"/>
-
-<!-- Default fetches image from Internet (long timeouts) -->
-<xsl:param name="draft.watermark.image" select="''"/>
-
-<!-- Line break -->
-<xsl:template match="processing-instruction('asciidoc-br')">
- <fo:block/>
-</xsl:template>
-
-<!-- Horizontal ruler -->
-<xsl:template match="processing-instruction('asciidoc-hr')">
- <fo:block space-after="1em">
- <fo:leader leader-pattern="rule" rule-thickness="0.5pt" rule-style="solid" leader-length.minimum="100%"/>
- </fo:block>
-</xsl:template>
-
-<!-- Hard page break -->
-<xsl:template match="processing-instruction('asciidoc-pagebreak')">
- <fo:block break-after='page'/>
-</xsl:template>
-
-<!-- Sets title to body text indent -->
-<xsl:param name="body.start.indent">
- <xsl:choose>
- <xsl:when test="$fop.extensions != 0">0pt</xsl:when>
- <xsl:when test="$passivetex.extensions != 0">0pt</xsl:when>
- <xsl:otherwise>1pc</xsl:otherwise>
- </xsl:choose>
-</xsl:param>
-<xsl:param name="title.margin.left">
- <xsl:choose>
- <xsl:when test="$fop.extensions != 0">-1pc</xsl:when>
- <xsl:when test="$passivetex.extensions != 0">0pt</xsl:when>
- <xsl:otherwise>0pt</xsl:otherwise>
- </xsl:choose>
-</xsl:param>
-<xsl:param name="page.margin.bottom" select="'0.25in'"/>
-<xsl:param name="page.margin.inner">
- <xsl:choose>
- <xsl:when test="$double.sided != 0">0.75in</xsl:when>
- <xsl:otherwise>0.75in</xsl:otherwise>
- </xsl:choose>
-</xsl:param>
-<xsl:param name="page.margin.outer">
- <xsl:choose>
- <xsl:when test="$double.sided != 0">0.5in</xsl:when>
- <xsl:otherwise>0.5in</xsl:otherwise>
- </xsl:choose>
-</xsl:param>
-
-<xsl:param name="page.margin.top" select="'0.5in'"/>
-<xsl:param name="page.orientation" select="'portrait'"/>
-<xsl:param name="page.width">
- <xsl:choose>
- <xsl:when test="$page.orientation = 'portrait'">
- <xsl:value-of select="$page.width.portrait"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$page.height.portrait"/>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:param>
-
-<xsl:attribute-set name="monospace.properties">
- <xsl:attribute name="font-size">10pt</xsl:attribute>
-</xsl:attribute-set>
-
-<xsl:attribute-set name="admonition.title.properties">
- <xsl:attribute name="font-size">14pt</xsl:attribute>
- <xsl:attribute name="font-weight">bold</xsl:attribute>
- <xsl:attribute name="hyphenate">false</xsl:attribute>
- <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
-</xsl:attribute-set>
-
-<xsl:attribute-set name="sidebar.properties" use-attribute-sets="formal.object.properties">
- <xsl:attribute name="border-style">solid</xsl:attribute>
- <xsl:attribute name="border-width">1pt</xsl:attribute>
- <xsl:attribute name="border-color">silver</xsl:attribute>
- <xsl:attribute name="background-color">#ffffee</xsl:attribute>
- <xsl:attribute name="padding-left">12pt</xsl:attribute>
- <xsl:attribute name="padding-right">12pt</xsl:attribute>
- <xsl:attribute name="padding-top">6pt</xsl:attribute>
- <xsl:attribute name="padding-bottom">6pt</xsl:attribute>
- <xsl:attribute name="margin-left">0pt</xsl:attribute>
- <xsl:attribute name="margin-right">12pt</xsl:attribute>
- <xsl:attribute name="margin-top">6pt</xsl:attribute>
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
-</xsl:attribute-set>
-
-<xsl:param name="callout.graphics" select="'1'"/>
-
-<!-- Only shade programlisting and screen verbatim elements -->
-<xsl:param name="shade.verbatim" select="1"/>
-<xsl:attribute-set name="shade.verbatim.style">
- <xsl:attribute name="background-color">
- <xsl:choose>
- <xsl:when test="self::programlisting|self::screen">#E0E0E0</xsl:when>
- <xsl:otherwise>inherit</xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
-</xsl:attribute-set>
-
-<!--
- Force XSL Stylesheets 1.72 default table breaks to be the same as the current
- version (1.74) default which (for tables) is keep-together="auto".
--->
-<xsl:attribute-set name="table.properties">
- <xsl:attribute name="keep-together.within-column">auto</xsl:attribute>
-</xsl:attribute-set>
-
-</xsl:stylesheet>
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/htmlhelp.xsl b/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/htmlhelp.xsl
deleted file mode 100644
index 1aaf4cd..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/htmlhelp.xsl
+++ /dev/null
@@ -1,16 +0,0 @@
-<!--
- Generates chunked HTML Help HTML documents from DocBook XML source using
- DocBook XSL stylesheets.
-
- NOTE: The URL reference to the current DocBook XSL stylesheets is
- rewritten to point to the copy on the local disk drive by the XML catalog
- rewrite directives so it doesn't need to go out to the Internet for the
- stylesheets. This means you don't need to edit the <xsl:import> elements on
- a machine by machine basis.
--->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/htmlhelp/htmlhelp.xsl"/>
-<xsl:import href="common.xsl"/>
-<xsl:param name="htmlhelp.hhp" select="'asciidoc.hhp'"/>
-<xsl:param name="suppress.navigation" select="1"/>
-</xsl:stylesheet>
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/manpage.xsl b/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/manpage.xsl
deleted file mode 100644
index 0422666..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/manpage.xsl
+++ /dev/null
@@ -1,31 +0,0 @@
-<!--
- Generates single roff manpage document from DocBook XML source using DocBook
- XSL stylesheets.
-
- NOTE: The URL reference to the current DocBook XSL stylesheets is
- rewritten to point to the copy on the local disk drive by the XML catalog
- rewrite directives so it doesn't need to go out to the Internet for the
- stylesheets. This means you don't need to edit the <xsl:import> elements on
- a machine by machine basis.
--->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"/>
-<xsl:import href="common.xsl"/>
-
-<!-- Only render the link text -->
-<xsl:template match="ulink">
- <xsl:variable name="content">
- <xsl:apply-templates/>
- </xsl:variable>
- <xsl:value-of select="$content"/>
-</xsl:template>
-
-<!-- Don't automatically generate the REFERENCES section -->
-<xsl:template name="endnotes.list">
-</xsl:template>
-<!-- Next entry for backward compatibility with old docbook-xsl versions -->
-<xsl:template name="format.links.list">
-</xsl:template>
-
-</xsl:stylesheet>
-
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/text.xsl b/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/text.xsl
deleted file mode 100644
index 566884c..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/text.xsl
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0"?>
-<!--
- Used by AsciiDoc a2x(1) for w3m(1) based text generation.
-
- NOTE: The URL reference to the current DocBook XSL stylesheets is
- rewritten to point to the copy on the local disk drive by the XML catalog
- rewrite directives so it doesn't need to go out to the Internet for the
- stylesheets. This means you don't need to edit the <xsl:import> elements on
- a machine by machine basis.
--->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- version="1.0">
- <xsl:import
- href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"/>
-
- <!-- parameters for optimal text output -->
- <xsl:param name="callout.graphics" select="0"/>
- <xsl:param name="callout.unicode" select="0"/>
- <xsl:param name="section.autolabel" select="1"/>
- <xsl:param name="section.label.includes.component.label" select="1"/>
- <xsl:param name="generate.toc">
- appendix title
- article/appendix nop
- article toc,title
- book toc,title,figure,table,example,equation
- chapter title
- part toc,title
- preface toc,title
- qandadiv toc
- qandaset toc
- reference toc,title
- section toc
- set toc,title
- </xsl:param>
-
- <xsl:template match="book/bookinfo/title | article/articleinfo/title" mode="titlepage.mode">
- <hr />
- <xsl:apply-imports/>
- <hr />
- </xsl:template>
-
- <xsl:template match="book/*/title | article/*/title" mode="titlepage.mode">
- <br /><hr />
- <xsl:apply-imports/>
- <hr />
- </xsl:template>
-
- <xsl:template match="book/chapter/*/title | article/section/*/title" mode="titlepage.mode">
- <br />
- <xsl:apply-imports/>
- <hr width="100" align="left" />
- </xsl:template>
-
-
-</xsl:stylesheet>
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/xhtml.xsl b/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/xhtml.xsl
deleted file mode 100644
index b5413b7..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/docbook-xsl/xhtml.xsl
+++ /dev/null
@@ -1,14 +0,0 @@
-<!--
- Generates single XHTML document from DocBook XML source using DocBook XSL
- stylesheets.
-
- NOTE: The URL reference to the current DocBook XSL stylesheets is
- rewritten to point to the copy on the local disk drive by the XML catalog
- rewrite directives so it doesn't need to go out to the Internet for the
- stylesheets. This means you don't need to edit the <xsl:import> elements on
- a machine by machine basis.
--->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"/>
-<xsl:import href="common.xsl"/>
-</xsl:stylesheet>
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/docbook45.conf b/code/maint/asciidoc/asciidoc-8.6.3/docbook45.conf
deleted file mode 100644
index ec66834..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/docbook45.conf
+++ /dev/null
@@ -1,759 +0,0 @@
-#
-# docbook45.conf
-#
-# Asciidoc DocBook 4.5 configuration file.
-#
-
-[miscellaneous]
-outfilesuffix=.xml
-# Printable page width and units.
-# Used to calculate DocBook CALS tables absolute column and table widths.
-pagewidth=425
-pageunits=*
-
-[attributes]
-basebackend=docbook
-basebackend-docbook=
-basebackend-docbook45=
-# For backward compatibility (docbook backend was renamed to docbook45 at 8.6.2)
-backend-docbook=
-# toc and numbered are set to maintain original default behavior.
-toc=
-numbered=
-
-[replacements2]
-# Line break markup. Custom processing instruction in fo.xsl.
-(?m)^(.*)\s\+$=\1<?asciidoc-br?>
-
-[replacements]
-ifdef::asciidoc7compatible[]
-# Superscripts.
-\^(.+?)\^=<superscript>\1</superscript>
-# Subscripts.
-~(.+?)~=<subscript>\1</subscript>
-endif::asciidoc7compatible[]
-
-[ruler-blockmacro]
-# Uses custom processing instructions in fo.xsl and asciidoc-dblatex.xsl.
-<simpara><?asciidoc-hr?></simpara>
-
-[pagebreak-blockmacro]
-# Uses custom processing instructions in fo.xsl and asciidoc-dblatex.xsl.
-<simpara><?asciidoc-pagebreak?></simpara>
-
-[blockdef-pass]
-latexmath-style=template="latexmathblock",subs=[]
-
-[macros]
-# math macros.
-(?su)[\\]?(?P<name>latexmath):(?P<subslist>\S*?)\[(?P<passtext>.*?)(?<!\\)\]=[]
-(?u)^(?P<name>latexmath)::(?P<subslist>\S*?)(\[(?P<passtext>.*?)\])$=#[]
-
-[latexmath-inlinemacro]
-<inlineequation>
-<alt><![CDATA[{passtext}]]></alt>
-<inlinemediaobject><textobject><phrase></phrase></textobject></inlinemediaobject>
-</inlineequation>
-
-[latexmath-blockmacro]
-<informalequation>
-<alt><![CDATA[{passtext}]]></alt>
-<mediaobject><textobject><phrase></phrase></textobject></mediaobject>
-</informalequation>
-
-[latexmathblock]
-<equation{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}><title>{title}</title>
-{title%}<informalequation{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-<alt><![CDATA[|]]></alt>
-<mediaobject><textobject><phrase></phrase></textobject></mediaobject>
-{title#}</equation>
-{title%}</informalequation>
-
-[image-inlinemacro]
-<inlinemediaobject>
- <imageobject>
- <imagedata fileref="{imagesdir=}{imagesdir?/}{target}"{width? contentwidth="{width}"}{height? contentdepth="{height}"}{scale? scale="{scale}"}/>
- </imageobject>
- <textobject><phrase>{alt={target}}</phrase></textobject>
-</inlinemediaobject>
-
-[image-blockmacro]
-<figure{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}{pgwide-option? pgwide="1"}><title>{title}</title>
-{title%}<informalfigure{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>{pgwide-option?<?dbfo pgwide="1"?>}
-# DocBook XSL Stylesheets custom processing instructions.
-<?dbfo keep-together="{breakable-option#auto}"?>
-<?dbfo keep-together="{unbreakable-option#always}"?>
-<mediaobject>
- <imageobject>
- <imagedata fileref="{imagesdir=}{imagesdir?/}{target}"{width? contentwidth="{width}"}{height? contentdepth="{height}"}{scale? scale="{scale}"}{scaledwidth? width="{scaledwidth}" scalefit="1"}{align? align="{align}"}/>
- </imageobject>
- <textobject><phrase>{alt={target}}</phrase></textobject>
-</mediaobject>
-{title#}</figure>
-{title%}</informalfigure>
-
-[indexterm-inlinemacro]
-# Index term.
-# Generate separate index entries for primary, secondary and tertiary
-# descriptions.
-# Primary only.
-{2%}<indexterm>
-{2%} <primary>{1}</primary>
-{2%}</indexterm>
-# Primary and secondary.
-{2#}{3%}<indexterm>
-{2#}{3%} <primary>{1}</primary><secondary>{2}</secondary>
-{2#}{3%}</indexterm>
-{2#}{3%}<indexterm>
-{2#}{3%} <primary>{2}</primary>
-{2#}{3%}</indexterm>
-# Primary, secondary and tertiary.
-{3#}<indexterm>
- <primary>{1}</primary><secondary>{2}</secondary><tertiary>{3}</tertiary>
-{3#}</indexterm>
-{3#}<indexterm>
- <primary>{2}</primary><secondary>{3}</secondary>
-{3#}</indexterm>
-{3#}<indexterm>
- <primary>{3}</primary>
-{3#}</indexterm>
-
-[indexterm2-inlinemacro]
-# Index term.
-# Single entry index term that is visible in the primary text flow.
-<indexterm><primary>{1}</primary></indexterm>{1}
-
-[footnote-inlinemacro]
-# Footnote.
-<footnote><simpara>{0}</simpara></footnote>
-
-[footnoteref-inlinemacro]
-# Footnote reference.
-{2#}<footnote id="{1}"><simpara>{2}</simpara></footnote>
-{2%}<footnoteref linkend="{1}" />
-
-[callout-inlinemacro]
-# Callout.
-<co id="{coid}"/>
-
-# List tags.
-[listtags-bulleted]
-list=<itemizedlist{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}{compact-option? spacing="compact"}>{unbreakable-option? <?dbfo keep-together="{unbreakable-option#always}"?>}{title?<title>{title}</title>}|</itemizedlist>
-item=<listitem>|</listitem>
-text=<simpara>|</simpara>
-
-[listtags-numbered]
-list=<orderedlist{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"} numeration="{style}"{compact-option? spacing="compact"}>{unbreakable-option? <?dbfo keep-together="{unbreakable-option#always}"?>}{title?<title>{title}</title>}{start?<?dbfo start="{start}"?><?dbhtml start="{start}"?>}|</orderedlist>
-item=<listitem>|</listitem>
-text=<simpara>|</simpara>
-
-[listtags-labeled]
-list=<variablelist{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>{title?<title>{title}</title>}|</variablelist>
-entry=<varlistentry>|</varlistentry>
-label=
-term=<term>|</term>
-item=<listitem>|</listitem>
-text=<simpara>|</simpara>
-
-[listtags-horizontal]
-# Horizontal labeled list (implemented with two column table).
-# Hardwired column widths to 30%,70% because the current crop of PDF
-# generators do not auto calculate column widths.
- list=<{title?table}{title!informaltable}{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}{style? tabstyle="{style}"}{pgwide-option? pgwide="1"} frame="none" colsep="0" rowsep="0">{title?<title>{title}</title>}<tgroup cols="2"><colspec colwidth="{labelwidth=15}*"/><colspec colwidth="{itemwidth=85}*"/><tbody valign="top">|</tbody></tgroup><{title?/table}{title!/informaltable}>
-entry=<row>|</row>
-label=<entry>|</entry>
-term=<simpara>|</simpara>
-item=<entry>|</entry>
-text=<simpara>|</simpara>
-
-[listtags-callout]
-list=<calloutlist{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>{title?<title>{title}</title>}|</calloutlist>
-item=<callout arearefs="{coids}">|</callout>
-text=<para>|</para>
-
-[listtags-qanda]
-list=<qandaset{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>{title?<title>{title}</title>}|</qandaset>
-entry=<qandaentry>|</qandaentry>
-label=<question>|</question>
-term=<simpara>|</simpara>
-item=<answer>|</answer>
-text=<simpara>|</simpara>
-
-[listtags-bibliography]
-list=<bibliodiv{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>{title?<title>{title}</title>}|</bibliodiv>
-item=<bibliomixed>|</bibliomixed>
-text=<bibliomisc>|</bibliomisc>
-
-[listtags-glossary]
-list=
-entry=<glossentry>|</glossentry>
-label=
-term=<glossterm>|</glossterm>
-item=<glossdef>|</glossdef>
-text=<simpara>|</simpara>
-
-[tags]
-# Quoted text
-emphasis=<emphasis>{1?<phrase role="{1}">}|{1?</phrase>}</emphasis>
-strong=<emphasis role="strong">{1?<phrase role="{1}">}|{1?</phrase>}</emphasis>
-monospaced=<literal>{1?<phrase role="{1}">}|{1?</phrase>}</literal>
-singlequoted={amp}#8216;{1?<phrase role="{1}">}|{1?</phrase>}{amp}#8217;
-doublequoted={amp}#8220;{1?<phrase role="{1}">}|{1?</phrase>}{amp}#8221;
-unquoted={1?<phrase role="{1}">}|{1?</phrase>}
-subscript=<subscript>{1?<phrase role="{1}">}|{1?</phrase>}</subscript>
-superscript=<superscript>{1?<phrase role="{1}">}|{1?</phrase>}</superscript>
-
-ifdef::deprecated-quotes[]
-# Override with deprecated quote attributes.
-emphasis={role?<phrase role="{role}">}<emphasis>|</emphasis>{role?</phrase>}
-strong={role?<phrase role="{role}">}<emphasis role="strong">|</emphasis>{role?</phrase>}
-monospaced={role?<phrase role="{role}">}<literal>|</literal>{role?</phrase>}
-singlequoted={role?<phrase role="{role}">}{amp}#8216;|{amp}#8217;{role?</phrase>}
-doublequoted={role?<phrase role="{role}">}{amp}#8220;|{amp}#8221;{role?</phrase>}
-unquoted={role?<phrase role="{role}">}|{role?</phrase>}
-subscript={role?<phrase role="{role}">}<subscript>|</subscript>{role?</phrase>}
-superscript={role?<phrase role="{role}">}<superscript>|</superscript>{role?</phrase>}
-endif::deprecated-quotes[]
-
-# Inline macros
-[http-inlinemacro]
-<ulink url="{name}:{target}">{0={name}:{target}}</ulink>
-[https-inlinemacro]
-<ulink url="{name}:{target}">{0={name}:{target}}</ulink>
-[ftp-inlinemacro]
-<ulink url="{name}:{target}">{0={name}:{target}}</ulink>
-[file-inlinemacro]
-<ulink url="{name}:{target}">{0={name}:{target}}</ulink>
-[irc-inlinemacro]
-<ulink url="{name}:{target}">{0={name}:{target}}</ulink>
-[mailto-inlinemacro]
-<ulink url="mailto:{target}">{0={target}}</ulink>
-[callto-inlinemacro]
-<ulink url="{name}:{target}">{0={target}}</ulink>
-[link-inlinemacro]
-<ulink url="{target}">{0={target}}</ulink>
-# anchor:id[text]
-[anchor-inlinemacro]
-<anchor id="{target}" xreflabel="{0=[{target}]}"/>
-# [[id,text]]
-[anchor2-inlinemacro]
-<anchor id="{1}" xreflabel="{2=[{1}]}"/>
-# [[[id]]]
-[anchor3-inlinemacro]
-<anchor id="{1}" xreflabel="[{1}]"/>[{1}]
-# xref:id[text]
-[xref-inlinemacro]
-<link linkend="{target}">{0}</link>
-{2%}<xref linkend="{target}"/>
-# <<id,text>>
-[xref2-inlinemacro]
-<link linkend="{1}">{2}</link>
-{2%}<xref linkend="{1}"/>
-# // comment line
-[comment-inlinemacro]
-{showcomments#}<remark>{passtext}</remark>
-
-[comment-blockmacro]
-{showcomments#}<remark>{passtext}</remark>
-
-[literal-inlinemacro]
-# Inline literal.
-<literal>{passtext}</literal>
-
-# Special word macros
-[emphasizedwords]
-<emphasis>{words}</emphasis>
-[monospacedwords]
-<literal>{words}</literal>
-[strongwords]
-<emphasis role="strong">{words}</emphasis>
-
-# Paragraph substitution.
-[paragraph]
-<formalpara{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}><title>{title}</title><para>
-{title%}<simpara{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-|
-{title%}</simpara>
-{title#}</para></formalpara>
-{empty}
-
-[admonitionparagraph]
-<{name}{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}><simpara>|</simpara></{name}>
-
-# Delimited blocks.
-[literalblock]
-<formalpara{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}><title>{title}</title><para>
-{title#}<literallayout class="monospaced">
-{title%}<literallayout{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"} class="monospaced">
-|
-</literallayout>
-{title#}</para></formalpara>
-
-[listingblock]
-<formalpara{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}><title>{title}</title><para>
-{title#}<screen>
-{title%}<screen{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-|
-</screen>
-{title#}</para></formalpara>
-
-[sidebarblock]
-<sidebar{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-<title>{title}</title>
-|
-</sidebar>
-
-[abstractblock]
-<abstract{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-<title>{title}</title>
-|
-</abstract>
-
-[openblock]
-|
-
-[partintroblock]
-<partintro{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-<title>{title}</title>
-|
-</partintro>
-
-[quote-header]
-# Common quote and verse element template.
-<blockquote{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-<title>{title}</title>
-# Include attribution only if either {attribution} or {citetitle} is defined.
-{attribution#}<attribution>
-{attribution%}{citetitle#}<attribution>
-{attribution}
-<citetitle>{citetitle}</citetitle>
-{attribution#}</attribution>
-{attribution%}{citetitle#}</attribution>
-
-[quoteblock]
-template::[quote-header]
-|
-</blockquote>
-
-[verseblock]
-template::[quote-header]
-<literallayout>
-|
-</literallayout>
-</blockquote>
-
-[quoteparagraph]
-template::[quote-header]
-<simpara>
-|
-</simpara>
-</blockquote>
-
-[exampleblock]
-<{title?example}{title!informalexample}{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-# DocBook XSL Stylesheets custom processing instructions.
-<?dbfo keep-together="{breakable-option#auto}"?>
-<?dbfo keep-together="{unbreakable-option#always}"?>
-<title>{title}</title>
-|
-</{title?example}{title!informalexample}>
-
-[admonitionblock]
-<{name}{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-<title>{title}</title>
-|
-</{name}>
-
-# Tables.
-[tabletags-default]
-colspec=<colspec colname="col_{colnumber}" colwidth="{width!{colpcwidth}*}{width?{colabswidth}{pageunits}}"/>
-bodyrow=<row>|</row>
-headdata=<entry align="{halign}" valign="{valign}"{colspan@1:: namest="col_{colstart}" nameend="col_{colend}"}{morerows@0:: morerows="{morerows}"}>|</entry>
-bodydata=<entry align="{halign}" valign="{valign}"{colspan@1:: namest="col_{colstart}" nameend="col_{colend}"}{morerows@0:: morerows="{morerows}"}>|</entry>
-paragraph=<simpara>|</simpara>
-
-[tabletags-emphasis]
-paragraph=<simpara><emphasis>|</emphasis></simpara>
-
-[tabletags-header]
-paragraph=<simpara><emphasis role="strong">|</emphasis></simpara>
-
-[tabletags-strong]
-paragraph=<simpara><emphasis role="strong">|</emphasis></simpara>
-
-[tabletags-monospaced]
-paragraph=<simpara><literal>|</literal></simpara>
-
-[tabletags-verse]
-bodydata=<entry align="{halign}" valign="{valign}"{colspan@1:: namest="col_{colstart}" nameend="col_{colend}"}{morerows@0:: morerows="{morerows}"}><literallayout>|</literallayout></entry>
-paragraph=
-
-[tabletags-literal]
-bodydata=<entry align="{halign}" valign="{valign}"{colspan@1:: namest="col_{colstart}" nameend="col_{colend}"}{morerows@0:: morerows="{morerows}"}><literallayout class="monospaced">|</literallayout></entry>
-paragraph=
-
-[tabletags-asciidoc]
-paragraph=
-
-[table]
-<{title?table}{title!informaltable}{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}{pgwide-option? pgwide="1"}
-frame="{frame=all}"
-{grid%rowsep="1" colsep="1"}
-rowsep="{grid@none|cols:0:1}" colsep="{grid@none|rows:0:1}"
->
-<title>{title}</title>
-# DocBook XSL Stylesheets custom processing instructions.
-<?dbhtml table-width="{width}"?>
-<?dbfo table-width="{width}"?>
-<?dblatex table-width="{width}"?>
-<?dbfo keep-together="{breakable-option#auto}"?>
-<?dbfo keep-together="{unbreakable-option#always}"?>
-<tgroup cols="{colcount}">
-{colspecs}
-{headrows#}<thead>
-{headrows}
-{headrows#}</thead>
-{footrows#}<tfoot>
-{footrows}
-{footrows#}</tfoot>
-<tbody>
-{bodyrows}
-</tbody>
-</tgroup>
-</{title?table}{title!informaltable}>
-
-#--------------------------------------------------------------------
-# Deprecated old table definitions.
-#
-
-[old_tabledef-default]
-template=old_table
-colspec=<colspec colwidth="{colwidth}{pageunits}" align="{colalign}"/>
-bodyrow=<row>|</row>
-bodydata=<entry>|</entry>
-
-[old_table]
-<{title?table}{title!informaltable}{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"} pgwide="0"
-frame="{frame=topbot}"
-{grid%rowsep="0" colsep="0"}
-rowsep="{grid@none|cols:0:1}" colsep="{grid@none|rows:0:1}"
->
-<title>{title}</title>
-<tgroup cols="{cols}">
-{colspecs}
-{headrows#}<thead>
-{headrows}
-{headrows#}</thead>
-{footrows#}<tfoot>
-{footrows}
-{footrows#}</tfoot>
-<tbody>
-{bodyrows}
-</tbody>
-</tgroup>
-</{title?table}{title!informaltable}>
-
-# End of deprecated old table definitions.
-#--------------------------------------------------------------------
-
-# Special sections.
-[preface]
-<preface{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-<title>{title=}</title>
-|
-</preface>
-
-[index]
-<index{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-<title>{title}</title>
-|
-</index>
-
-[bibliography]
-<bibliography{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-<title>{title}</title>
-|
-</bibliography>
-
-[glossary]
-<glossary{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-<title>{title}</title>
-|
-</glossary>
-
-[appendix]
-<appendix{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-<title>{title}</title>
-|
-</appendix>
-
-[floatingtitle]
-<bridgehead{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"} renderas="sect{level}">{title}</bridgehead>
-
-
-[header-declarations]
-<?xml version="1.0" encoding="{encoding}"?>
-<!DOCTYPE {doctype-article?article}{doctype-book?book}{doctype-manpage?refentry} PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
-{toc#}<?asciidoc-toc?>
-{numbered#}<?asciidoc-numbered?>
-
-[docinfo]
-{notitle%} <title>{doctitle}</title>
- <date>{revdate}</date>
-# To ensure valid articleinfo/bookinfo when there is no AsciiDoc header.
- {doctitle%}{revdate%}<date>{docdate}</date>
- {authored#}<author>
- <firstname>{firstname}</firstname>
- <othername>{middlename}</othername>
- <surname>{lastname}</surname>
- <email>{email}</email>
- {authored#}</author>
- <authorinitials>{authorinitials}</authorinitials>
-<revhistory><revision>{revnumber?<revnumber>{revnumber}</revnumber>}<date>{revdate}</date>{authorinitials?<authorinitials>{authorinitials}</authorinitials>}{revremark?<revremark>{revremark}</revremark>}</revision></revhistory>
-{docinfo1,docinfo2#}{include:{docdir}/docinfo.xml}
-{docinfo,docinfo2#}{include:{docdir}/{docname}-docinfo.xml}
-# DEPRECATED: Use docinfo.
-{revisionhistory#}{include:{docdir}/{docname}-revhistory.xml}
-# DEPRECATED: Use orgname in preference to companyname.
-<orgname>{companyname}</orgname>
-# DEPRECATED: Use orgname in preference to corpname.
-<orgname>{corpname}</orgname>
-<orgname>{orgname}</orgname>
-
-#-------------------------
-# article document type
-#-------------------------
-ifdef::doctype-article[]
-
-[header]
-template::[header-declarations]
-
-<article lang="{lang=en}">
-<articleinfo>
-template::[docinfo]
-</articleinfo>
-
-[footer]
-</article>
-
-[preamble]
-# Untitled elements between header and first section title.
-|
-
-[abstract]
-<abstract{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-|
-</abstract>
-
-[sect1]
-<section{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-<title>{title}</title>
-|
-</section>
-
-[sect2]
-<section{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-<title>{title}</title>
-|
-</section>
-
-[sect3]
-<section{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-<title>{title}</title>
-|
-</section>
-
-[sect4]
-<section{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-<title>{title}</title>
-|
-</section>
-
-endif::doctype-article[]
-
-#-------------------------
-# manpage document type
-#-------------------------
-ifdef::doctype-manpage[]
-
-[replacements]
-# The roff format does not substitute special characters so just print them as
-# text.
-\(C\)=(C)
-\(TM\)=(TM)
-
-[header]
-template::[header-declarations]
-<refentry lang="{lang=en}">
-<refentryinfo>
-template::[docinfo]
-</refentryinfo>
-<refmeta>
-<refentrytitle>{mantitle}</refentrytitle>
-<manvolnum>{manvolnum}</manvolnum>
-# Default source and manual to suppress DocBook XSL warnings.
-<refmiscinfo class="source">{mansource= }</refmiscinfo>
-<refmiscinfo class="manual">{manmanual= }</refmiscinfo>
-<refmiscinfo class="version">{manversion={revnumber}}</refmiscinfo>
-</refmeta>
-<refnamediv>
- <refname>{manname1}</refname>
- <refname>{manname2}</refname>
- <refname>{manname3}</refname>
- <refname>{manname4}</refname>
- <refname>{manname5}</refname>
- <refname>{manname6}</refname>
- <refname>{manname7}</refname>
- <refname>{manname8}</refname>
- <refname>{manname9}</refname>
- <refpurpose>{manpurpose}</refpurpose>
-</refnamediv>
-
-[footer]
-</refentry>
-
-# Section macros
-[synopsis]
-<refsynopsisdiv{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-|
-</refsynopsisdiv>
-
-[sect1]
-<refsect1{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-<title>{title}</title>
-|
-</refsect1>
-
-[sect2]
-<refsect2{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-<title>{title}</title>
-|
-</refsect2>
-
-[sect3]
-<refsect3{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-<title>{title}</title>
-|
-</refsect3>
-
-endif::doctype-manpage[]
-
-#-------------------------
-# book document type
-#-------------------------
-ifdef::doctype-book[]
-
-[header]
-template::[header-declarations]
-
-<book lang="{lang=en}">
-<bookinfo>
-template::[docinfo]
-</bookinfo>
-
-[footer]
-</book>
-
-[preamble]
-# Preamble is not allowed in DocBook book so wrap it in a preface.
-<preface{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-<title>{title=}</title>
-|
-</preface>
-
-[dedication]
-<dedication{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-<title>{title}</title>
-|
-</dedication>
-
-[colophon]
-<colophon{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-<title>{title}</title>
-|
-</colophon>
-
-[sect0]
-<part{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-<title>{title}</title>
-|
-</part>
-
-[sect1]
-<chapter{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-<title>{title}</title>
-|
-</chapter>
-
-[sect2]
-<section{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-<title>{title}</title>
-|
-</section>
-
-[sect3]
-<section{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-<title>{title}</title>
-|
-</section>
-
-[sect4]
-<section{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}>
-<title>{title}</title>
-|
-</section>
-
-endif::doctype-book[]
-
-ifdef::sgml[]
-#
-# Optional DocBook SGML.
-#
-# Most of the differences between DocBook XML and DocBook SGML boils
-# down to the empty element syntax: SGML does not like the XML empty
-# element <.../> syntax, use <...> instead.
-#
-[miscellaneous]
-outfilesuffix=.sgml
-
-[header-declarations]
-<!DOCTYPE {doctype-article?article}{doctype-book?book}{doctype-manpage?refentry} PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
-
-[tabledef-default]
-colspec=<colspec colwidth="{colabswidth}{pageunits}" align="{colalign}">
-
-[image-inlinemacro]
-<inlinemediaobject>
- <imageobject>
- <imagedata fileref="{imagesdir=}{imagesdir?/}{target}"{width? width="{width}"}{height? depth="{height}"}>
- </imageobject>
- <textobject><phrase>{alt={target}}</phrase></textobject>
-</inlinemediaobject>
-
-[image-blockmacro]
-<figure><title>{title}</title>
-{title%}<informalfigure>
-<mediaobject>
- <imageobject>
- <imagedata fileref="{imagesdir=}{imagesdir?/}{target}"{width? width="{width}"}{height? depth="{height}"}>
- </imageobject>
- <textobject><phrase>{alt={target}}</phrase></textobject>
-</mediaobject>
-{title#}</figure>
-{title%}</informalfigure>
-
-# Inline macros
-[xref-inlinemacro]
-<link linkend="{target}">{0}</link>
-{2%}<xref linkend="{target}">
-[xref2-inlinemacro]
-# <<id,text>>
-<link linkend="{1}">{2}</link>
-{2%}<xref linkend="{1}">
-[anchor-inlinemacro]
-<anchor id="{target}" xreflabel="{0=[{target}]}">
-[anchor2-inlinemacro]
-# [[id,text]]
-<anchor id="{1}" xreflabel="{2=[{1}]}">
-
-endif::sgml[]
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/ASCIIMathML.js b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/ASCIIMathML.js
deleted file mode 120000
index 35e168b..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/ASCIIMathML.js
+++ /dev/null
@@ -1 +0,0 @@
-../../javascripts/ASCIIMathML.js
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/CHANGELOG.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/CHANGELOG.txt
deleted file mode 120000
index e7697d8..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/CHANGELOG.txt
+++ /dev/null
@@ -1 +0,0 @@
-../../CHANGELOG.txt
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/INSTALL.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/INSTALL.txt
deleted file mode 120000
index 480a136..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/INSTALL.txt
+++ /dev/null
@@ -1 +0,0 @@
-../../INSTALL.txt
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/LaTeXMathML.js b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/LaTeXMathML.js
deleted file mode 120000
index abf5064..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/LaTeXMathML.js
+++ /dev/null
@@ -1 +0,0 @@
-../../javascripts/LaTeXMathML.js
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/README-website.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/README-website.txt
deleted file mode 100644
index 83e70b4..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/README-website.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-AsciiDoc Website
-================
-
-The AsciiDoc website source is included in the AsciiDoc distribution
-(in `./examples/website/`) as an example of using AsciiDoc to build a
-website.
-
-A simple shell script (`./examples/website/build-website.sh`) will
-build the site's web pages -- just set the `LAYOUT` variable to the
-desired layout.
-
-Website Layouts
----------------
-The website layout is determined by the layout configuration file
-(`layout1.conf` or `layout2.conf`) and corresponding layout CSS file
-(`layout1.css` or `layout2.css`). The example website comes with the
-following layouts:
-
-[width="80%",cols="1,4",options="header"]
-|====================================================================
-|Layout | Description
-|layout1 | Table based layout (this is the default layout)
-|layout2 | CSS based simulated frames layout
-|====================================================================
-
-The default tables based layout (layout1) works with most modern
-browsers.
-
-NOTE: The simulated frames layout (layout2) does not work with IE6.
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/README.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/README.txt
deleted file mode 120000
index 9f5b20d..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/README.txt
+++ /dev/null
@@ -1 +0,0 @@
-../../README.txt
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/a2x.1.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/a2x.1.txt
deleted file mode 120000
index e858182..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/a2x.1.txt
+++ /dev/null
@@ -1 +0,0 @@
-../../doc/a2x.1.txt
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/asciidoc-docbook-xsl.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/asciidoc-docbook-xsl.txt
deleted file mode 120000
index 623a19f..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/asciidoc-docbook-xsl.txt
+++ /dev/null
@@ -1 +0,0 @@
-../../docbook-xsl/asciidoc-docbook-xsl.txt
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/asciidoc-graphviz-sample.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/asciidoc-graphviz-sample.txt
deleted file mode 120000
index 24b4ea6..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/asciidoc-graphviz-sample.txt
+++ /dev/null
@@ -1 +0,0 @@
-../../filters/graphviz/asciidoc-graphviz-sample.txt
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/asciidoc-xhtml11.js b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/asciidoc-xhtml11.js
deleted file mode 120000
index e396304..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/asciidoc-xhtml11.js
+++ /dev/null
@@ -1 +0,0 @@
-../../javascripts/asciidoc-xhtml11.js
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/asciidocapi.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/asciidocapi.txt
deleted file mode 120000
index 067a9f6..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/asciidocapi.txt
+++ /dev/null
@@ -1 +0,0 @@
-../../doc/asciidocapi.txt
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/asciimathml.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/asciimathml.txt
deleted file mode 120000
index 3e2fb88..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/asciimathml.txt
+++ /dev/null
@@ -1 +0,0 @@
-../../doc/asciimathml.txt
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/build-website.sh b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/build-website.sh
deleted file mode 100755
index 44b6c5e..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/build-website.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-
-VERS="8.1.0"
-DATE="2006-10-22"
-
-# Leave the desired layout uncommented.
-LAYOUT=layout1 # Tables based layout.
-#LAYOUT=layout2 # CSS based simulated frames layout.
-
-ASCIIDOC_HTML="python ../../asciidoc.py --backend=xhtml11 --conf-file=${LAYOUT}.conf --attribute icons --attribute iconsdir=./images/icons --attribute=badges --attribute=revision=$VERS --attribute=date=$DATE"
-
-$ASCIIDOC_HTML -a index-only index.txt
-$ASCIIDOC_HTML -a toc -a numbered userguide.txt
-$ASCIIDOC_HTML -d manpage manpage.txt
-$ASCIIDOC_HTML downloads.txt
-$ASCIIDOC_HTML latex-backend.txt
-$ASCIIDOC_HTML README.txt
-$ASCIIDOC_HTML INSTALL.txt
-$ASCIIDOC_HTML CHANGELOG.txt
-$ASCIIDOC_HTML README-website.txt
-$ASCIIDOC_HTML support.txt
-$ASCIIDOC_HTML source-highlight-filter.txt
-$ASCIIDOC_HTML music-filter.txt
-$ASCIIDOC_HTML a2x.1.txt
-$ASCIIDOC_HTML asciimath.txt
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/customers.csv b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/customers.csv
deleted file mode 120000
index 5e8a33c..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/customers.csv
+++ /dev/null
@@ -1 +0,0 @@
-../../doc/customers.csv
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/epub-notes.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/epub-notes.txt
deleted file mode 120000
index 976fe24..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/epub-notes.txt
+++ /dev/null
@@ -1 +0,0 @@
-../../doc/epub-notes.txt
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/faq.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/faq.txt
deleted file mode 120000
index 257ca12..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/faq.txt
+++ /dev/null
@@ -1 +0,0 @@
-../../doc/faq.txt
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/images b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/images
deleted file mode 120000
index 5fa6987..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/images
+++ /dev/null
@@ -1 +0,0 @@
-../../images
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/index.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/index.txt
deleted file mode 100644
index 3278e75..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/index.txt
+++ /dev/null
@@ -1,418 +0,0 @@
-AsciiDoc Home Page
-==================
-// Web page meta data.
-:keywords: AsciiDoc, DocBook, EPUB, PDF, ebooks, slideshow, slidy, man page
-:description: AsciiDoc is a text document format for writing notes, +
- documentation, articles, books, ebooks, slideshows, +
- web pages, man pages and blogs. AsciiDoc files can be +
- translated to many formats including HTML, PDF, EPUB, +
- man page.
-
-
-.{revdate}: AsciiDoc {revnumber} Released
-************************************************************************
-This release was intended primarily to fix regressions introduced by
-8.6.2, but the incubation period was longer than expected and it now
-also includes a number of enhancements an few other bug fixes.
-
-Read the link:CHANGELOG.html[CHANGELOG] for a full list of all
-additions, changes and bug fixes. Changes are documented in the
-updated link:userguide.html[User Guide]. See the
-link:INSTALL.html[Installation page] for downloads and and
-installation instructions.
-
-mailto:[email protected]['Stuart Rackham']
-************************************************************************
-
-Introduction
-------------
-{description}
-
-AsciiDoc is highly configurable: both the AsciiDoc source file syntax
-and the backend output markups (which can be almost any type of
-SGML/XML markup) can be customized and extended by the user.
-
-TIP: The pages you are reading were written using AsciiDoc, to view
-the corresponding AsciiDoc source click on the *Page Source* menu item
-in the left hand margin.
-
-
-Overview and Examples
----------------------
-You write an AsciiDoc document the same way you would write a
-normal text document, there are no markup tags or weird format
-notations. AsciiDoc files are designed to be viewed, edited and
-printed directly or translated to other presentation formats using
-the asciidoc(1) command.
-
-The asciidoc(1) command translates AsciiDoc files to HTML, XHTML and
-DocBook markups. DocBook can be post-processed to presentation
-formats such as HTML, PDF, EPUB, DVI, LaTeX, roff, and Postscript
-using readily available Open Source tools.
-
-Example Articles
-~~~~~~~~~~~~~~~~
-- This XHTML version of the
- link:asciidoc.css-embedded.html[AsciiDoc User Guide]
- was generated by AsciiDoc from
- link:asciidoc.txt[this AsciiDoc file].
-
-- Here's the link:asciidoc.html[same document] created by first
- generating DocBook markup using AsciiDoc and then converting the
- DocBook markup to HTML using 'DocBook XSL Stylesheets'.
-
-- The User Guide again, this time a
- link:chunked/index.html[chunked version].
-
-- AsciiDoc generated this link:article-standalone.html[stand-alone
- HTML file] containing embedded CSS, JavaScript and images from this
- link:article.txt[AsciiDoc article template] with this command:
-
- asciidoc -a data-uri -a icons -a toc -a max-width=55em article.txt
-
-- The same link:article.txt[AsciiDoc article template] produced
- this link:article.html[HTML file] and this
- link:article.pdf[PDF file] via DocBook markup generated by AsciiDoc.
-
-[[X7]]
-Example Books
-~~~~~~~~~~~~~
-AsciiDoc markup supports all the standard DocBook frontmatter and
-backmatter sections (dedication, preface, bibliography, glossary,
-index, colophon) plus footnotes and index entries.
-
-- This link:book.txt[AsciiDoc book] produced link:book.html[this HTML
- file] using the 'DocBook XSL Stylesheets'.
-- The link:asciidoc.pdf[PDF formatted AsciiDoc User Guide] was
- generated from asciidoc(1) DocBook output.
-- The link:asciidoc.epub[EPUB formatted AsciiDoc User Guide] was
- generated using link:a2x.1.html[a2x].
-- This link:book.epub[EPUB formatted book skeleton] was generated
- using link:a2x.1.html[a2x].
-- This link:book-multi.txt[multi-part AsciiDoc book] produced
- link:book-multi.html[this HTML file] using the 'DocBook XSL
- Stylesheets'.
-
-Example UNIX Man Pages
-~~~~~~~~~~~~~~~~~~~~~~
-HTML formatted AsciiDoc man pages
-link:asciidoc.1.css-embedded.html[with stylesheets] and
-link:asciidoc.1.html[without stylesheets] were generated by AsciiDoc
-from link:asciidoc.1.txt[this file].
-
-This link:asciidoc.1[roff formatted man page] was generated from
-asciidoc(1) DocBook output using `xsltproc(1)` and DocBook XSL
-Stylesheets.
-
-[[X8]]
-Example Slideshows
-~~~~~~~~~~~~~~~~~~
-The http://www.w3.org/Talks/Tools/Slidy2/[Slidy] backend generates
-HTML slideshows that can be viewed in any web browser. What's nice is
-that you can create completely self contained slideshows including
-embedded images.
-
-- Here is the link:slidy.html[slidy backend documentation] slideshow
- and here is it's link:slidy.txt[AsciiDoc source].
-- An link:slidy-example.html[example slidy slideshow] and the
- link:slidy-example.txt[AsciiDoc source].
-
-Example Web Site
-~~~~~~~~~~~~~~~~
-The link:README-website.html[AsciiDoc website] is included in the
-AsciiDoc distribution (in `./examples/website/`) as example website
-built using AsciiDoc. See `./examples/website/README-website.txt`.
-
-More examples
-~~~~~~~~~~~~~
-- See below: <<X6,'Documents written using AsciiDoc'>>.
-- Example link:newtables.html[Tables].
-
-
-eBook Publication
------------------
-The two most popular open eBook formats are
-http://en.wikipedia.org/wiki/EPUB[EPUB] and PDF.
-The AsciiDoc link:a2x.1.html[a2x] toolchain wrapper makes it easy to
-link:publishing-ebooks-with-asciidoc.html[publish EPUB and PDF eBooks
-with AsciiDoc]. See also <<X7,example books>> and
-link:epub-notes.html[AsciiDoc EPUB Notes]).
-
-
-Blogpost weblog client
-----------------------
-http://srackham.wordpress.com/blogpost-readme/[blogpost] is a
-command-line weblog client for publishing AsciiDoc documents to
-http://wordpress.org/[WordPress] blog hosts. It creates and updates
-weblog posts and pages directly from AsciiDoc source documents.
-
-
-Music Filter
-------------
-A link:music-filter.html[music filter] is included in the distribution
-`./filters/` directory. It translates music in
-http://lilypond.org/[LilyPond] or http://abcnotation.org.uk/[ABC]
-notation to standard classical notation
-
-
-Source Code Highlight Filter
-----------------------------
-A link:source-highlight-filter.html[source code highlight filter] is
-included in the distribution `./filters/` directory.
-
-
-[[X4]]
-Graphviz Filter
----------------
-Gouichi Iisaka has written a http://www.graphviz.org/[Graphviz] filter
-for AsciiDoc. Graphviz generates diagrams from a textual
-specification. Gouichi Iisaka's Graphviz filter is included in the
-AsciiDoc distribution. Here are some
-link:asciidoc-graphviz-sample.html[AsciiDoc Graphviz examples].
-
-
-[[X3]]
-Mathematical Formulae
----------------------
-You can include mathematical formulae in AsciiDoc XHTML documents using
-link:asciimathml.html[ASCIIMathML] or link:latexmathml.html[LaTeXMathML]
-notation.
-
-The link:latex-filter.html[AsciiDoc LaTeX filter] translates LaTeX
-source to PNG image which is automatically inserted into the AsciiDoc
-output documents.
-
-AsciiDoc also has 'latexmath' macros for DocBook outputs -- they are
-documented in link:latexmath.pdf[this PDF file] and can be used in
-AsciiDoc documents processed by `dblatex(1)`.
-
-
-Editor Support
---------------
-- An AsciiDoc syntax highlighter for the Vim text editor is included in the
- AsciiDoc distribution (see 'Appendix F' of the 'AsciiDoc User Guide' for
- details).
-+
-.Syntax highlighter screenshot
-image::images/highlighter.png[height=250,caption="",link="images/highlighter.png"]
-
-- Dag Wieers has implemented an alternative Vim syntax file for
- AsciiDoc which can be found here
- http://svn.rpmforge.net/svn/trunk/tools/asciidoc-vim/.
-- David Avsajanishvili has written a source highlighter for AsciiDoc
- files for http://projects.gnome.org/gtksourceview/[GtkSourceView]
- (used by http://projects.gnome.org/gedit/[gedit] and a number of
- other applications). The project is hosted here:
- https://launchpad.net/asciidoc-gtk-highlight
-- Florian Kaufman has written
- http://code.google.com/p/sensorflo-emacs/source/browse/trunk/adoc-mode.el[a…
- -- a major-mode for editing asciidoc files in Emacs.
-- The http://xpt.sourceforge.net/[*Nix Power Tools project] has
- released an http://xpt.sourceforge.net/tools/doc-mode/[AsciiDoc
- syntax highlighter for Emacs].
-- Terrence Brannon has written
- http://github.com/metaperl/asciidoc-el[AsciiDoc functions for
- Emacs].
-
-
-[[X5]]
-matplotlib Filter
------------------
-Leonid Volnitsky has written a
-http://volnitsky.com/project/mplw/index.html[matplotlib] filter for
-AsciiDoc. Using this filter you can generate charts from inline
-matplotlib scripts.
-
-
-Try AsciiDoc on the Web
------------------------
-Andrew Koster has written a Web based application to interactively
-convert and display AsciiDoc source:
-http://andrewk.webfactional.com/asciidoc.php
-
-
-[[X2]]
-External Resources and Applications
------------------------------------
-Here are resources that I know of, if you know of more drop me a line
-and I'll add them to the list.
-
-- Check the link:INSTALL.html#X2[installation page] for packaged versions
- of AsciiDoc.
-- Alex Efros has written an HTML formatted
- http://powerman.name/doc/asciidoc[AsciiDoc Cheatsheet] using
- Asciidoc.
-- Thomas Berker has written an
- http://liksom.info/blog/?q=node/114[AsciiDoc Cheatsheet] in Open
- Document and PDF formats.
-- The http://www.wikimatrix.org/[WikiMatrix] website has an excellent
- http://www.wikimatrix.org/syntax.php[web page] that compares the
- various Wiki markup syntaxes. An interesting attempt at Wiki markup
- standardization is http://www.wikicreole.org/[CREOLE].
-- Franck Pommereau has written
- http://www.univ-paris12.fr/lacl/pommereau/soft/asciidoctest.html[Asciidocte…,
- a program that doctests snippets of Python code within your Asciidoc
- documents.
-- The http://remips.sourceforge.net/[ReMIPS] project website has been
- built using AsciiDoc.
-- Here are some link:asciidoc-docbook-xsl.html[DocBook XSL Stylesheets
- Notes].
-- Karl Mowatt-Wilson has developed an http://ikiwiki.info/[ikiwiki]
- plugin for AsciiDoc which he uses to render
- http://mowson.org/karl[his website]. The plugin is available
- http://www.mowson.org/karl/colophon/[here] and there is some
- discussion of the ikiwiki integration
- http://ikiwiki.info/users/KarlMW/discussion/[here].
-- Glenn Eychaner has
- http://groups.google.com/group/asciidoc/browse_thread/thread/bf04b55628efe2…
- the Asciidoc plugin for ikiwiki] that was created by Karl Mowson,
- the source can be downloaded from
- http://dl.dropbox.com/u/11256359/asciidoc.pm
-- David Hajage has written an AsciiDoc package for the
- http://www.r-project.org/[R Project] (R is a free software
- environment for statistical computing). 'ascii' is available on
- 'CRAN' (just run `install.package("ascii")` from R). Briefly,
- 'ascii' replaces R results in AsciiDoc document with AsciiDoc
- markup. More information and examples here:
- http://eusebe.github.com/ascii/.
-- Pascal Rapaz has written a Python script to automate AsciiDoc
- website generation. You can find it at
- http://www.rapazp.ch/opensource/tools/asciidoc.html.
-- Jared Henley has written
- http://jared.henley.id.au/software/awb/documentation.html[AsciiDoc
- Website Builder]. 'AsciiDoc Website Builder' (awb) is a python
- program that automates the building of of a website written in
- AsciiDoc. All you need to write is the AsciiDoc source plus a few
- simple configuration files.
-- Brad Adkins has written
- http://dbixjcl.org/jcl/asciidocgen/asciidocgen.html[AsciiDocGen], a
- web site generation and deployment tool that allows you write your
- web site content in AsciiDoc. The
- http://dbixjcl.org/jcl/asciidocgen/asciidocgen.html[AsciiDocGen web
- site] is managed using 'AsciiDocGen'.
-- Filippo Negroni has developed a set of tools to facilitate 'literate
- programming' using AsciiDoc. The set of tools is called
- http://eweb.sourceforge.net/[eWEB].
-- http://vanderwijk.info/2009/4/23/full-text-based-document-generation-using-…'s
- blog] describes a http://ditaa.sourceforge.net/[ditaa] filter for
- AsciiDoc which converts http://en.wikipedia.org/wiki/ASCII_art[ASCII
- art] into graphics.
-- http://github.com/github/gollum[Gollum] is a git-powered wiki, it
- supports various formats, including AsciiDoc.
-- Gregory Romé has written an
- http://github.com/gpr/redmine_asciidoc_formatter[AsciiDoc plugin]
- for the http://www.redmine.org/[Redmine] project management
- application.
-- Paul Hsu has started a
- http://github.com/paulhsu/AsciiDoc.CHT.userguide[Chinese translation
- of the AsciiDoc User Guide].
-- Dag Wieers has written
- http://dag.wieers.com/home-made/unoconv/[UNOCONV]. 'UNOCONV' can
- export AsciiDoc outputs to OpenOffice export formats.
-
-Please let me know if any of these links need updating.
-
-
-[[X6]]
-Documents written using AsciiDoc
---------------------------------
-Here are some documents I know of, if you know of more drop me a line
-and I'll add them to the list.
-
-- The book
- http://oreilly.com/catalog/9780596155957/index.html[Programming
- Scala] by Dean Wampler and Alex Payne (O'Reilly) was
- http://groups.google.com/group/asciidoc/browse_frm/thread/449f1199343f0e27[…
- using Asciidoc].
-
-- The http://www.ncfaculty.net/dogle/fishR/index.html[fishR] website
- has a number of
- http://www.ncfaculty.net/dogle/fishR/bookex/AIFFD/AIFFD.html[book
- examples] written using AsciiDoc.
-
-- http://frugalware.org/[Frugalware Linux] uses AsciiDoc for
- http://frugalware.org/docs[documentation].
-- http://www.cherokee-project.com/doc/[Cherokee documentation].
-
-- Henrik Maier produced this professional User manual using AsciiDoc:
- http://www.proconx.com/gcpmg/UMGCPMG-0801.pdf.
-
-- Henrik also produced this folded single page brochure format
- example: http://www.proconx.com/gcpmg/IGGCPMG-0801-up.pdf.
-+
-See this
-http://groups.google.com/group/asciidoc/browse_thread/thread/16ab5a06864b934f[AsciiDoc
-discussion group thread] for details.
-
-- The
- http://www.kernel.org/pub/software/scm/git/docs/user-manual.html[Git
- User's Manual].
-- 'Git Magic' +
- http://www-cs-students.stanford.edu/~blynn/gitmagic/ +
- http://github.com/blynn/gitmagic/tree/1e5780f658962f8f9b01638059b27275cfda0…
-- 'CouchDB: The Definitive Guide' +
- http://books.couchdb.org/relax/ +
- http://groups.google.com/group/asciidoc/browse_thread/thread/a60f67cbbaf862…
-- 'Ramaze Manual' +
- http://book.ramaze.net/ +
- http://github.com/manveru/ramaze-book/tree/master
-- Some documentation about git by Nico Schottelius (in German)
- http://nico.schotteli.us/papers/linux/git-firmen/.
-- The http://www.netpromi.com/kirbybase_ruby.html[KirbyBase for Ruby]
- database management system manual.
-- The http://xpt.sourceforge.net/[*Nix Power Tools project] uses
- AsciiDoc for documentation.
-- The http://www.wesnoth.org/[Battle for Wesnoth] project uses
- AsciiDoc for its http://www.wesnoth.org/wiki/WesnothManual[Manual]
- in a number of different languages.
-- Troy Hanson uses AsciiDoc to generate user guides for the
- http://tpl.sourceforge.net/[tpl] and
- http://uthash.sourceforge.net/[uthash] projects (the HTML versions
- have a customised contents sidebar).
-- http://volnitsky.com/[Leonid Volnitsky's site] is generated using
- AsciiDoc and includes Leonid's <<X5,matplotlib filter>>.
-- http://www.weechat.org/[WeeChat] uses AsciiDoc for
- http://www.weechat.org/doc[project documentation].
-- http://www.clansuite.com/[Clansuite] uses AsciiDoc for
- http://www.clansuite.com/documentation/[project documentation].
-- The http://fc-solve.berlios.de/[Freecell Solver program] uses
- AsciiDoc for its
- http://fc-solve.berlios.de/docs/#distributed-docs[distributed
- documentation].
-- Eric Raymond's http://gpsd.berlios.de/AIVDM.html[AIVDM/AIVDO
- protocol decoding] documentation is written using AsciiDoc.
-- Dwight Schauer has written an http://lxc.teegra.net/[LXC HOWTO] in
- AsciiDoc.
-- The http://www.rowetel.com/ucasterisk/[Free Telephony Project]
- website is generated using AsciiDoc.
-- Warren Block has http://www.wonkity.com/~wblock/docs/[posted a
- number of articles written using AsciiDoc].
-- The http://code.google.com/p/waf/[Waf project's] 'Waf Book' is
- written using AsciiDoc, there is an
- http://waf.googlecode.com/svn/docs/wafbook/single.html[HTML] and a
- http://waf.googlecode.com/svn/docs/wafbook/waf.pdf[PDF] version.
-- The http://www.diffkit.org/[DiffKit] project's documentation and
- website have been written using Asciidoc.
-
-Please let me know if any of these links need updating.
-
-
-[[X1]]
-LaTeX Backend
--------------
-An experimental LaTeX backend was written for AsciiDoc in 2006 by
-Benjamin Klum. Benjamin did a superhuman job (I admit it, I didn't
-think this was doable due to AsciiDoc's SGML/XML bias). Owning to to
-other commitments, Benjamin was unable to maintain this backend.
-Here's link:latex-backend.html[Benjamin's original documentation].
-Incompatibilities introduced after AsciiDoc 8.2.7 broke the LaTeX
-backend.
-
-In 2009 Geoff Eddy stepped up and updated the LaTeX backend, thanks to
-Geoff's efforts it now works with AsciiDoc 8.4.3. Geoff's updated
-`latex.conf` file shipped with AsciiDoc version 8.4.4. The backend
-still has limitations and remains experimental (see
-link:latex-bugs.html[Geoff's notes]).
-
-It's probably also worth pointing out that LaTeX output can be
-generated by passing AsciiDoc generated DocBook through `dblatex(1)`.
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/latex-backend.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/latex-backend.txt
deleted file mode 120000
index 91275e3..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/latex-backend.txt
+++ /dev/null
@@ -1 +0,0 @@
-../../doc/latex-backend.txt
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/latex-bugs.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/latex-bugs.txt
deleted file mode 120000
index 7a05035..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/latex-bugs.txt
+++ /dev/null
@@ -1 +0,0 @@
-../../doc/latex-bugs.txt
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/latex-filter.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/latex-filter.txt
deleted file mode 120000
index 6611c26..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/latex-filter.txt
+++ /dev/null
@@ -1 +0,0 @@
-../../doc/latex-filter.txt
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/latexmathml.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/latexmathml.txt
deleted file mode 120000
index c1c65ad..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/latexmathml.txt
+++ /dev/null
@@ -1 +0,0 @@
-../../doc/latexmathml.txt
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/layout1.conf b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/layout1.conf
deleted file mode 100644
index c306fd5..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/layout1.conf
+++ /dev/null
@@ -1,162 +0,0 @@
-#
-# AsciiDoc website.
-# Three division table based layout (layout1).
-#
-# +-----------------------------------------------------+
-# | #layout-banner |
-# +--------------+--------------------------------------+
-# | | |
-# | | |
-# | #layout-menu | #layout-content |
-# | | |
-# | | |
-# | | |
-# +--------------+--------------------------------------+
-#
-# - The #layout-menu and #layout-content divisions are contained in a
-# two cell table.
-# I would be nice to use pure CSS for the layout but the table is better for
-# this layout because:
-#
-# * The column widths automatically size to fit column width (specifically
-# the #layout-menu)
-# * The column heights automatically size to the tallest.
-#
-# - The #layout-content division is a container for AsciiDoc page documents.
-# - Documents rendered in the #layout-content use the standard AsciiDoc
-# xhtml11 backend stylesheets.
-
-[specialwords]
-monospacedwords=(?u)\\?\basciidoc\(1\) (?u)\\?\ba2x\(1\)
-
-[header]
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
- "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset={encoding}" />
-<meta name="generator" content="AsciiDoc {asciidoc-version}" />
-<meta name="description" content="{description}" />
-<meta name="keywords" content="{keywords}" />
-<title>{title}</title>
-{title%}<title>{doctitle=}</title>
-<link rel="stylesheet" href="{stylesdir=.}/{theme={backend}}.css" type="text/css" />
-{doctype-manpage}<link rel="stylesheet" href="{stylesdir=.}/{theme={backend}}-manpage.css" type="text/css" />
-ifdef::quirks[]
-<link rel="stylesheet" href="{stylesdir=.}/{theme={backend}}-quirks.css" type="text/css" />
-endif::quirks[]
-<link rel="stylesheet" href="{stylesdir=.}/layout1.css" type="text/css" />
-<script type="text/javascript">
-/*<![CDATA[*/
-window.onload = function()\{asciidoc.footnotes();{toc? asciidoc.toc({toclevels});}\}
-/*]]>*/
-</script>
-<script type="text/javascript" src="{scriptsdir=.}/asciidoc-xhtml11.js"></script>
-ifdef::asciimath[]
-<script type="text/javascript" src="{scriptsdir=.}/ASCIIMathML.js"></script>
-endif::asciimath[]
-ifdef::latexmath[]
-<script type="text/javascript" src="{scriptsdir=.}/LaTeXMathML.js"></script>
-endif::latexmath[]
-</head>
-<body{max-width? style="max-width:{max-width}"}>
-<div id="layout-banner">
- <div id="layout-title">AsciiDoc</div>
- <div id="layout-description">Text based document generation</div>
-</div>
-<table>
-<tr valign="top">
-<td id="layout-menu">
- <div>»<a href="index.html">Home</a></div>
- <div>»<a href="userguide.html">User Guide</a></div>
- <div>»<a href="INSTALL.html">Installation</a></div>
- <div>»<a href="faq.html">FAQ</a></div>
- <div>»<a href="manpage.html">asciidoc(1)</a></div>
- <div>»<a href="a2x.1.html">a2x(1)</a></div>
- <div>»<a href="asciidocapi.html">API</a></div>
- <div>»<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
- <div>»<a href="testasciidoc.html">Tests</a></div>
- <div>»<a href="CHANGELOG.html">ChangeLog</a></div>
- <div>»<a href="support.html">Support</a></div>
- <div id="page-source">»<a href="{eval:os.path.basename('{infile}')}">Page Source</a></div>
-</td>
-<td>
-<div id="layout-content">
-# Article, book header.
-ifndef::doctype-manpage[]
-<div id="header">
-<h1>{doctitle}</h1>
-<span id="author">{author}</span><br />
-<span id="email"><tt><<a href="mailto:{email}">{email}</a>></tt></span><br />
-{authored}<span id="revision">version {revnumber}{revdate?,}</span>
-{authored}{revdate}
-ifdef::toc[]
-<div id="toc">
- <div id="toctitle">Table of Contents</div>
- <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
-</div>
-endif::toc[]
-</div>
-endif::doctype-manpage[]
-# Man page header.
-ifdef::doctype-manpage[]
-<div id="header">
-<h1>
-{doctitle} Manual Page
-</h1>
-ifdef::toc[]
-<div id="toc">
- <div id="toctitle">Table of Contents</div>
- <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
-</div>
-endif::toc[]
-<h2>NAME</h2>
-<div class="sectionbody">
-<p>{manname} -
- {manpurpose}
-</p>
-</div>
-</div>
-endif::doctype-manpage[]
-<div id="content">
-
-[footer]
-</div>
-{disable-javascript%<div id="footnotes"><hr /></div>}
-<div id="footer">
-<div id="footer-text">
-Version {revnumber}<br />
-Last updated {localdate} {localtime}
-</div>
-ifdef::badges[]
-<div id="footer-badges">
-ifdef::textonly[]
-Valid <a href="http://validator.w3.org/check?uri=referer">XHTML</a>
-and <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS</a>.
-endif::textonly[]
-ifndef::textonly[]
-<a href="http://validator.w3.org/check?uri=referer">
- <img style="border:0;width:88px;height:31px"
- src="http://www.w3.org/Icons/valid-xhtml11-blue"
- alt="Valid XHTML 1.1" height="31" width="88" />
-</a>
-<a href="http://jigsaw.w3.org/css-validator/">
- <img style="border:0;width:88px;height:31px"
- src="http://jigsaw.w3.org/css-validator/images/vcss-blue"
- alt="Valid CSS!" />
-</a>
-<a href="http://www.mozilla.org/products/firefox/">
- <img style="border:none; width:110px; height:32px;"
- src="http://www.spreadfirefox.com/community/images/affiliates/Buttons/110x32/saf…"
- alt="Get Firefox!" />
-</a>
-endif::textonly[]
-</div>
-endif::badges[]
-</div>
-</div>
-</td>
-</tr>
-</table>
-</body>
-</html>
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/layout1.css b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/layout1.css
deleted file mode 100644
index f35e498..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/layout1.css
+++ /dev/null
@@ -1,65 +0,0 @@
-body {
- background-color: white;
- margin: 1%;
-}
-
-h1 {
- margin-top: 0.5em;
-}
-
-#layout-banner {
- background-color: #73a0c5;
- color: white;
- font-family: sans-serif;
- text-align: left;
- padding: 0.8em 20px;
-}
-
-#layout-title {
- font-family: monospace;
- font-size: 3.5em;
- font-weight: bold;
- letter-spacing: 0.2em;
- margin: 0;
-}
-
-#layout-description {
- font-size: 1.2em;
- letter-spacing: 0.1em;
-}
-
-#layout-menu {
- background-color: #f4f4f4;
- border-right: 3px solid #eeeeee;
- padding-top: 0.8em;
- padding-left: 20px;
- padding-right: 0.8em;
- font-size: 1.1em;
- font-family: sans-serif;
- font-weight: bold;
-}
-#layout-menu a {
- line-height: 2em;
- margin-left: 0.5em;
-}
-#layout-menu a:link, #layout-menu a:visited, #layout-menu a:hover {
- color: #527bbd;
- text-decoration: none;
-}
-#layout-menu a:hover {
- color: navy;
- text-decoration: none;
-}
-#layout-menu #page-source {
- border-top: 2px solid silver;
- margin-top: 0.2em;
-}
-
-#layout-content {
- margin-left: 1.0em;
-}
-
-@media print {
- #layout-banner { display: none; }
- #layout-menu { display: none; }
-}
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/layout2.conf b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/layout2.conf
deleted file mode 100644
index 4446f95..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/layout2.conf
+++ /dev/null
@@ -1,158 +0,0 @@
-#
-# AsciiDoc website.
-# Three division CSS based layout (layout2).
-#
-# Simulated frames using CSS (fixed banner and menu, scrolling content).
-# NOTE: This layout does not work with IE6.
-#
-# +-----------------------------------------------------+
-# | #layout-banner |
-# +--------------+--------------------------------------+
-# | | |
-# | | |
-# | #layout-menu | #layout-content |
-# | | |
-# | | |
-# | | |
-# +--------------+--------------------------------------+
-#
-# Each of the three divisions is enclosed in a same-named *-box division
-# which position and size the layout.
-#
-# - The #layout-content division is a container for AsciiDoc page documents.
-# - Documents rendered in the #layout-content use the standard AsciiDoc
-# xhtml11 backend stylesheets.
-
-[specialwords]
-monospacedwords=(?u)\\?\basciidoc\(1\) (?u)\\?\ba2x\(1\)
-
-[header]
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
- "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset={encoding}" />
-<meta name="generator" content="AsciiDoc {asciidoc-version}" />
-<meta name="description" content="{description}" />
-<meta name="keywords" content="{keywords}" />
-<title>{title}</title>
-{title%}<title>{doctitle=}</title>
-<link rel="stylesheet" href="{stylesdir=.}/{theme={backend}}.css" type="text/css" />
-{doctype-manpage}<link rel="stylesheet" href="{stylesdir=.}/{theme={backend}}-manpage.css" type="text/css" />
-ifdef::quirks[]
-<link rel="stylesheet" href="{stylesdir=.}/{theme={backend}}-quirks.css" type="text/css" />
-endif::quirks[]
-<link rel="stylesheet" href="{stylesdir=.}/layout2.css" type="text/css" />
-ifdef::toc[]
-<script type="text/javascript">
-/*<![CDATA[*/
-window.onload = function()\{generateToc({toclevels=2})\}
-/*]]>*/
-</script>
-<script type="text/javascript" src="{scriptsdir=.}/toc.js"></script>
-endif::toc[]
-ifdef::asciimath[]
-<script type="text/javascript" src="{scriptsdir=.}/ASCIIMathML.js"></script>
-endif::asciimath[]
-ifdef::latexmath[]
-<script type="text/javascript" src="{scriptsdir=.}/LaTeXMathML.js"></script>
-endif::latexmath[]
-</head>
-<body{max-width? style="max-width:{max-width}"}>
-<div id="layout-banner-box">
-<div id="layout-banner">
- <div id="layout-title">AsciiDoc</div>
- <div id="layout-description">Text based document generation</div>
-</div>
-</div>
-<div id="layout-menu-box">
-<div id="layout-menu">
- <div>»<a href="index.html">Home</a></div>
- <div>»<a href="manpage.html">Man Page</a></div>
- <div>»<a href="userguide.html">User Guide</a></div>
- <div>»<a href="INSTALL.html">Installation</a></div>
- <div>»<a href="faq.html">FAQ</a></div>
- <div>»<a href="a2x.1.html">a2x</a></div>
- <div>»<a href="asciidocapi.html">API</a></div>
- <div>»<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
- <div>»<a href="testasciidoc.html">Tests</a></div>
- <div>»<a href="CHANGELOG.html">ChangeLog</a></div>
- <div>»<a href="support.html">Support</a></div>
- <div id="page-source">»<a href="{eval:os.path.basename('{infile}')}">Page Source</a></div>
-</div>
-</div>
-<div id="layout-content-box">
-<div id="layout-content">
-# Article, book header.
-ifndef::doctype-manpage[]
-<div id="header">
-<h1>{doctitle}</h1>
-<span id="author">{author}</span><br />
-<span id="email"><tt><<a href="mailto:{email}">{email}</a>></tt></span><br />
-{authored}<span id="revision">version {revnumber}{revdate?,}</span>
-{authored}{revdate}
-ifdef::toc[]
-<div id="toc">
- <div id="toctitle">Table of Contents</div>
- <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
-</div>
-endif::toc[]
-</div>
-endif::doctype-manpage[]
-# Man page header.
-ifdef::doctype-manpage[]
-<div id="header">
-<h1>
-{doctitle} Manual Page
-</h1>
-ifdef::toc[]
-<div id="toc">
- <div id="toctitle">Table of Contents</div>
- <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
-</div>
-endif::toc[]
-<h2>NAME</h2>
-<div class="sectionbody">
-<p>{manname} -
- {manpurpose}
-</p>
-</div>
-</div>
-endif::doctype-manpage[]
-
-[footer]
-<div id="footer">
-<div id="footer-text">
-Version {revnumber}<br />
-Last updated {localdate} {localtime}
-</div>
-ifdef::badges[]
-<div id="footer-badges">
-ifdef::textonly[]
-Valid <a href="http://validator.w3.org/check?uri=referer">XHTML</a>
-and <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS</a>.
-endif::textonly[]
-ifndef::textonly[]
-<a href="http://validator.w3.org/check?uri=referer">
- <img style="border:0;width:88px;height:31px"
- src="http://www.w3.org/Icons/valid-xhtml11-blue"
- alt="Valid XHTML 1.1" height="31" width="88" />
-</a>
-<a href="http://jigsaw.w3.org/css-validator/">
- <img style="border:0;width:88px;height:31px"
- src="http://jigsaw.w3.org/css-validator/images/vcss-blue"
- alt="Valid CSS!" />
-</a>
-<a href="http://www.mozilla.org/products/firefox/">
- <img style="border:none; width:110px; height:32px;"
- src="http://www.spreadfirefox.com/community/images/affiliates/Buttons/110x32/saf…"
- alt="Get Firefox!" />
-</a>
-endif::textonly[]
-</div>
-endif::badges[]
-</div>
-</div>
-</div>
-</body>
-</html>
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/layout2.css b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/layout2.css
deleted file mode 100644
index ad0e9eb..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/layout2.css
+++ /dev/null
@@ -1,93 +0,0 @@
-body {
- margin: 0;
-}
-
-#layout-banner-box {
- position: fixed;
- top: 0px;
- left: 0px;
- width: 100%;
- height: 110px;
- z-index: 2;
- background-color: #73a0c5;
-}
-
-#layout-menu-box {
- position: fixed;
- left: 0px;
- top: 110px;
- width: 175px;
- height: 100%;
- z-index: 1;
- background-color: #f4f4f4;
-}
-
-#layout-content-box {
- position: relative;
- margin-top: 110px;
- margin-left: 175px;
- background-color: white;
-}
-
-h1 {
- margin-top: 0.5em;
-}
-
-#layout-banner {
- color: white;
- font-family: sans-serif;
- text-align: left;
- padding: 0.8em 20px;
-}
-
-#layout-title {
- font-family: monospace;
- font-size: 3.5em;
- font-weight: bold;
- letter-spacing: 0.2em;
- margin: 0;
-}
-
-#layout-description {
- font-size: 1.2em;
- letter-spacing: 0.1em;
-}
-
-#layout-menu {
- height: 100%;
- border-right: 3px solid #eeeeee;
- padding-top: 0.8em;
- padding-left: 20px;
- padding-right: 0.8em;
- font-size: 1.0em;
- font-family: sans-serif;
- font-weight: bold;
-}
-#layout-menu a {
- line-height: 2em;
- margin-left: 0.5em;
-}
-#layout-menu a:link, #layout-menu a:visited, #layout-menu a:hover {
- color: #527bbd;
- text-decoration: none;
-}
-#layout-menu a:hover {
- color: navy;
- text-decoration: none;
-}
-#layout-menu #page-source {
- border-top: 2px solid silver;
- margin-top: 0.2em;
-}
-
-#layout-content {
- padding-top: 0.2em;
- padding-left: 1.0em;
- padding-right: 0.4em;
-}
-
-@media print {
- #layout-banner-box { display: none; }
- #layout-menu-box { display: none; }
- #layout-content-box { margin-top: 0; margin-left: 0; }
-}
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/main.aap b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/main.aap
deleted file mode 100644
index a908ba4..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/main.aap
+++ /dev/null
@@ -1,159 +0,0 @@
-#####################################################################
-#
-# A-A-P file for making AsciiDoc web site.
-# (you can obtain A-A-P from http://www.a-a-p.org)
-#
-# Stuart Rackham <srackham(a)gmail.com>
-#####################################################################
-
-:execute ../../common.aap
-
-WEB_NAME = asciidoc
-
-LAYOUT ?= layout1
-
-# Various document locations.
-PROJ_DIR = ../..
-DOCS_DIR = $PROJ_DIR/doc
-LOCAL_WEB = ~/tmp/asciidoc-web # Local web marshalling location.
-
-# List of web pages.
-WEB_ROOT =
- a2x.1
- asciidoc-docbook-xsl
- asciidoc-graphviz-sample
- asciimathml
- asciidocapi
- CHANGELOG
- epub-notes
- faq
- index
- INSTALL
- latex-backend
- latex-bugs
- latexmathml
- manpage
- music-filter
- latex-filter
- publishing-ebooks-with-asciidoc
- README
- README-website
- source-highlight-filter
- support
- testasciidoc
- userguide
- version83
- newtables
- newlists
- slidy
- slidy-example
-WEB_PAGES = $*(WEB_ROOT).html
-WEB_SOURCE = $*(WEB_ROOT).txt
-
-# Web site specific pages to spell check.
-SPELL_CHECK =
- index.txt
- README-website.txt
- support.txt
-
-# Accompanying documents in DOCS_DIR.
-DOCS_ROOT =
- asciidoc
- asciidoc.1
-DOCS =
- $*(DOCS_ROOT).txt
- $*(DOCS_ROOT).html
- $*(DOCS_ROOT).css-embedded.html
- $*(DOCS_ROOT).xml
- asciidoc.pdf
- asciidoc.epub
- asciidoc.1
- article.txt article.html article-standalone.html
- book.txt book.html
- book-multi.txt book-multi.html
- docbook-xsl.css
- book.epub
- article.pdf
- latexmath.pdf
-
-# Client applications.
-@if OSTYPE == 'posix':
- ASPELL = `program_path("aspell")`
-@else:
- :print ERROR: Unsupported operating system $OSTYPE
- :exit
-
-:syseval which xmllint | :assign XMLLINT # Validates XML.
-
-ASCIIDOC = python ../../asciidoc.py
-# AsciiDoc options to generate documentation HTML.
-ASCIIDOC_HTML =
- $ASCIIDOC -b xhtml11 -f $(LAYOUT).conf -a icons -a badges -a revnumber=$(VERS)@ -a revdate="$(DATE)@" -a max-width=70em
-
-:rule %.html : %.txt $(LAYOUT).conf
- @if target in ('userguide.html','faq.html'):
- # User guide has author, revision, date in header.
- opts = -a toc -a numbered
- @elif target == 'index.html':
- # Index has description and keywords meta tags.
- opts = -a index-only
- @elif target in ('manpage.html','a2x.1.html'):
- opts = -d manpage
- @elif target == 'asciimathml.html':
- opts = -a asciimath
- @elif target == 'latexmathml.html':
- opts = -a latexmath
- @else:
- opts =
- @if target in ('index.html','INSTALL.html','asciidocapi.html','testasciidoc.html','publishing-ebooks-with-asciidoc.html'):
- opts += -a toc -a toclevels=1
- :sys $ASCIIDOC_HTML $opts $(source[0])
- @if _no.XMLLINT:
- :sys $XMLLINT --nonet --noout --valid $target
- @else:
- :print WARNING: xmllint(1) unavailable: skipping validation
-
-slidy.html : slidy.txt
- :sys $ASCIIDOC $(source[0])
-
-slidy-example.html : slidy-example.txt
- :sys $ASCIIDOC $(source[0])
-
-all: $(WEB_PAGES)
-
-copy: all
- # Copy to local web page.
- :sys rm -rf $LOCAL_WEB/*
- :sys mkdir -p $LOCAL_WEB/images/icons/callouts
- :sys cp $WEB_PAGES $LOCAL_WEB
- :sys cp $WEB_SOURCE $LOCAL_WEB
- :sys cp *.css $LOCAL_WEB
- :sys cp *.js $LOCAL_WEB
- :execute $PROJ_DIR/main.aap distribution # Make docs and tarball.
- :sys cp $DOCS_DIR/$*DOCS $LOCAL_WEB
- # Copy images.
- :sys cp $DOCS_DIR/images/*.png $LOCAL_WEB/images/
- :sys cp $DOCS_DIR/images/icons/*.png $LOCAL_WEB/images/icons/
- :sys cp $DOCS_DIR/images/icons/callouts/*.png $LOCAL_WEB/images/icons/callouts/
- # Copy chunked User Guide.
- :sys rm -rf $LOCAL_WEB/chunked/
- :sys mkdir -p $LOCAL_WEB/chunked/
- :sys cp $DOCS_DIR/asciidoc.chunked/*.html $LOCAL_WEB/chunked/
- :sys cp $DOCS_DIR/asciidoc.chunked/*.css $LOCAL_WEB/chunked/
- :sys cp -R $DOCS_DIR/asciidoc.chunked/images $LOCAL_WEB/chunked/
- :sys cp music?.* $LOCAL_WEB
- :sys cp sample?.png $LOCAL_WEB
- :sys cp latex?.png $LOCAL_WEB
- :sys cp *__*.png $LOCAL_WEB
-
-clean:
- :del {f} $WEB_PAGES
- :del {f} *.bak # Remove aspell backups.
-
-spell: $(SPELL_CHECK)
- # Interactively spell check all files.
- @if _no.ASPELL:
- @for s in source_list:
- :sys {i} $ASPELL check -p ./$(WEB_NAME)-website.dict $s
- @else:
- :print WARNING: aspell(1) unavailable, skipping spell checking
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/manpage.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/manpage.txt
deleted file mode 120000
index e45b347..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/manpage.txt
+++ /dev/null
@@ -1 +0,0 @@
-../../doc/asciidoc.1.txt
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/music-filter.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/music-filter.txt
deleted file mode 120000
index 301df55..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/music-filter.txt
+++ /dev/null
@@ -1 +0,0 @@
-../../doc/music-filter.txt
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/newlists.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/newlists.txt
deleted file mode 100644
index 3edc3a7..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/newlists.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-AsciiDoc New Lists
-==================
-
-*New in version 8.3.0*
-
-Lists can now be styled like other block elements, this allows the
-normal bulleted and labeled list syntax to be used for 'glossary',
-'qanda' (Question and Answer) and 'bibliography' lists instead of
-having to remember a different syntax for each one. In the same vein
-there is only one labeled list syntax, horizontal labeled lists are
-rendered by applying the 'horizontal' style. Examples:
-
----------------------------------------------------------------------
-[glossary]
-A glossary term::
- The corresponding definition.
-A second glossary term::
- The corresponding definition.
-
-[horizontal]
-Lorem:: Fusce euismod commodo velit.
-Ipsum:: Vivamus fringilla mi eu lacus.
----------------------------------------------------------------------
-
-The list related stuff in the configuration files has been
-rationalized with separate 'listtags-\*' sections (c.f. table
-'tabletags-*' sections). The old list tags are no longer supported so
-you'll need to update your custom configuration file list definitions.
-
-These changes necessitated the following backward incompatibilities:
-
-. You have to explicitly precede horizontal labeled lists with the
- `[horizontal]` style attribute -- if you do nothing the existing
- horizontal labeled lists will be rendered vertically.
-. The old 'compact' list style is now implemented as a list option, to
- update replace `[compact]` with `[options="compact"]`. You can now
- apply the 'compact' option globally by setting the `compact-option`
- document attribute.
-. You'll need to update any customized configuration file list
- definitions that have been made.
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/newtables.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/newtables.txt
deleted file mode 100644
index 4ce58c0..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/newtables.txt
+++ /dev/null
@@ -1,605 +0,0 @@
-AsciiDoc New tables
-===================
-
-*New in version 8.3.0*
-
-I've finally come up with a 'new tables' syntax that I'm happy with
-and can at last remove this footnote from the 'User Guide': ``The
-current table syntax is overly complicated and unwieldy to edit,
-hopefully a more usable syntax will appear in future versions of
-AsciiDoc.''
-
-.Update
-*********************************************************************
-The following additions were made at AsciiDoc 8.4.4:
-
-- Cell column and row spanning.
-- Styles can be applied per cell.
-- Vertical cell alignment can be applied to columns and cells.
-
-See the examples at the end of this document.
-*********************************************************************
-
-At first glance it doesn't look much different to the old syntax but
-it's a lot more flexible, easier to enter and supports a lot of column
-styles (for example the 'asciidoc' style supports AsciiDoc block and
-inline elements). The old tables syntax has been deprecated but is
-currently still processed. Here are some examples of AsciiDoc 'new
-tables':
-
-.Simple table
-[width="15%"]
-|=======
-|1 |2 |A
-|3 |4 |B
-|5 |6 |C
-|=======
-
-.AsciiDoc source
----------------------------------------------------------------------
-[width="15%"]
-|=======
-|1 |2 |A
-|3 |4 |B
-|5 |6 |C
-|=======
----------------------------------------------------------------------
-
-
-.Table with title, header and footer
-[width="40%",frame="topbot",options="header,footer"]
-|======================
-|Column 1 |Column 2
-|1 |Item 1
-|2 |Item 2
-|3 |Item 3
-|6 |Three items
-|======================
-
-.AsciiDoc source
----------------------------------------------------------------------
-.An example table
-[width="40%",frame="topbot",options="header,footer"]
-|======================
-|Column 1 |Column 2
-|1 |Item 1
-|2 |Item 2
-|3 |Item 3
-|6 |Three items
-|======================
----------------------------------------------------------------------
-
-
-.Columns formatted with strong, monospaced and emphasis styles
-[width="50%",cols=">s,^2m,^2e",frame="topbot",options="header,footer"]
-|==========================
-| 2+|Columns 2 and 3
-|1 |Item 1 |Item 1
-|2 |Item 2 |Item 2
-|3 |Item 3 |Item 3
-|4 |Item 4 |Item 4
-|footer 1|footer 2|footer 3
-|==========================
-
-.AsciiDoc source
----------------------------------------------------------------------
-.An example table
-[width="50%",cols=">s,^2m,^2e",frame="topbot",options="header,footer"]
-|==========================
-| 2+|Columns 2 and 3
-|1 |Item 1 |Item 1
-|2 |Item 2 |Item 2
-|3 |Item 3 |Item 3
-|4 |Item 4 |Item 4
-|footer 1|footer 2|footer 3
-|==========================
----------------------------------------------------------------------
-
-.A table with externally sourced CSV data
-[format="csv",cols="^1,4*2",options="header"]
-|===================================================
-ID,Customer Name,Contact Name,Customer Address,Phone
-include::customers.csv[]
-|===================================================
-
-.AsciiDoc source
----------------------------------------------------------------------
- [format="csv",cols="^1,4*2",options="header"]
- |===================================================
- ID,Customer Name,Contact Name,Customer Address,Phone
- include::customers.csv[]
- |===================================================
----------------------------------------------------------------------
-
-
-.DVS formatted table
-[width="70%",format="dsv"]
-|====================================
-root:x:0:0:root:/root:/bin/bash
-daemon:x:1:1:daemon:/usr/sbin:/bin/sh
-bin:x:2:2:bin:/bin:/bin/sh
-sys:x:3:3:sys:/dev:/bin/sh
-sync:x:4:65534:sync:/bin:/bin/sync
-games:x:5:60:games:/usr/games:/bin/sh
-|====================================
-
-.AsciiDoc source
----------------------------------------------------------------------
-[width="70%",format="dsv"]
-|====================================
-root:x:0:0:root:/root:/bin/bash
-daemon:x:1:1:daemon:/usr/sbin:/bin/sh
-bin:x:2:2:bin:/bin:/bin/sh
-sys:x:3:3:sys:/dev:/bin/sh
-sync:x:4:65534:sync:/bin:/bin/sync
-games:x:5:60:games:/usr/games:/bin/sh
-|====================================
----------------------------------------------------------------------
-
-
-.Horizontal and vertical source data
-[width="80%",cols="3,^2,^2,10",options="header"]
-|=========================================================
-|Date |Duration |Avg HR |Notes
-
-|22-Aug-08 |10:24 | 157 |
-Worked out MSHR (max sustainable heart rate) by going hard
-for this interval.
-
-|22-Aug-08 |23:03 | 152 |
-Back-to-back with previous interval.
-
-|24-Aug-08 |40:00 | 145 |
-Moderately hard interspersed with 3x 3min intervals (2min
-hard + 1min really hard taking the HR up to 160).
-
-|=========================================================
-
-Short cells can be entered horizontally, longer cells vertically. The
-default behavior is to strip leading and trailing blank lines within a
-cell. These characteristics aid readability and data entry.
-
-.AsciiDoc source
----------------------------------------------------------------------
-.Windtrainer workouts
-[width="80%",cols="3,^2,^2,10",options="header"]
-|=========================================================
-|Date |Duration |Avg HR |Notes
-
-|22-Aug-08 |10:24 | 157 |
-Worked out MSHR (max sustainable heart rate) by going hard
-for this interval.
-
-|22-Aug-08 |23:03 | 152 |
-Back-to-back with previous interval.
-
-|24-Aug-08 |40:00 | 145 |
-Moderately hard interspersed with 3x 3min intervals (2min
-hard + 1min really hard taking the HR up to 160).
-
-|=========================================================
----------------------------------------------------------------------
-
-
-.Default and verse styles
-[cols=",^v",options="header"]
-|===================================
-|Default paragraphs |Centered verses
-2*|Per id.
-
-Consul *necessitatibus* per id,
-consetetur, eu pro everti postulant
-homero verear ea mea, qui.
-
-Consul *necessitatibus* per id,
-consetetur, eu pro everti postulant
-homero verear ea mea, qui.
-|===================================
-
-.AsciiDoc source
----------------------------------------------------------------------
-[cols=",^v",options="header"]
-|===================================
-|Default paragraphs |Centered verses
-2*|Per id.
-
-Consul *necessitatibus* per id,
-consetetur, eu pro everti postulant
-homero verear ea mea, qui.
-
-Consul *necessitatibus* per id,
-consetetur, eu pro everti postulant
-homero verear ea mea, qui.
-|===================================
----------------------------------------------------------------------
-
-
-.Horizontal and vertial headings
-[cols="h,4*",options="header",width="50%"]
-|==================================
-| |West |Central |East | Total
-|Q1 |270 |292 |342 | 904
-|Q2 |322 |276 |383 | 981
-|Q3 |298 |252 |274 | 824
-|Q4 |344 |247 |402 | 993
-|==================================
-
-.AsciiDoc source
----------------------------------------------------------------------
-.Horizontal and vertial headings
-[cols="h,4*",options="header",width="50%"]
-|==================================
-| |West |Central |East | Total
-|Q1 |270 |292 |342 | 904
-|Q2 |322 |276 |383 | 981
-|Q3 |298 |252 |274 | 824
-|Q4 |344 |247 |402 | 993
-|==================================
----------------------------------------------------------------------
-
-
-.AsciiDoc style in first column, Literal in second
-[cols="asciidoc,literal",options="header",grid="cols"]
-|==================================
-|Output markup |AsciiDoc source
-2*|
-Consul *necessitatibus* per id,
-consetetur, eu pro everti postulant
-homero verear ea mea, qui.
-
------------------------------------
-Consul *necessitatibus* per id,
-consetetur, eu pro everti postulant
-homero verear ea mea, qui.
------------------------------------
-
-.Code filter example
-[source,python]
------------------------------------
-''' A multi-line
- comment.'''
-def sub_word(mo):
- ''' Single line comment.'''
- word = mo.group('word')
- if word in keywords[language]:
- return quote + word + quote
- else:
- return word
------------------------------------
-
-- Lorem ipsum dolor sit amet,
- consectetuer adipiscing elit.
- * Fusce euismod commodo velit.
- * Qui in magna commodo, est labitur
- dolorum an. Est ne magna primis
- adolescens. Sit munere ponderum
- dignissim et. Minim luptatum et vel.
- * Vivamus fringilla mi eu lacus.
- * Donec eget arcu bibendum nunc
- consequat lobortis.
-- Nulla porttitor vulputate libero.
- . Fusce euismod commodo velit.
- . Vivamus fringilla mi eu lacus.
-
-|==================================
-
-.AsciiDoc source
-[listing]
-.....................................................................
-[cols="asciidoc,literal",options="header",grid="cols"]
-|==================================
-|Output markup |AsciiDoc source
-2*|
-Consul *necessitatibus* per id,
-consetetur, eu pro everti postulant
-homero verear ea mea, qui.
-
------------------------------------
-Consul *necessitatibus* per id,
-consetetur, eu pro everti postulant
-homero verear ea mea, qui.
------------------------------------
-
-.Code filter example
-[source,python]
------------------------------------
-''' A multi-line
- comment.'''
-def sub_word(mo):
- ''' Single line comment.'''
- word = mo.group('word')
- if word in keywords[language]:
- return quote + word + quote
- else:
- return word
------------------------------------
-
-- Lorem ipsum dolor sit amet,
- consectetuer adipiscing elit.
- * Fusce euismod commodo velit.
- * Qui in magna commodo, est labitur
- dolorum an. Est ne magna primis
- adolescens. Sit munere ponderum
- dignissim et. Minim luptatum et vel.
- * Vivamus fringilla mi eu lacus.
- * Donec eget arcu bibendum nunc
- consequat lobortis.
-- Nulla porttitor vulputate libero.
- . Fusce euismod commodo velit.
- . Vivamus fringilla mi eu lacus.
-
-|==================================
-.....................................................................
-
-
-.Cell containing lots of example markup elements
-|====================================================================
-|'URLs':
-http://www.methods.co.nz/asciidoc/[The AsciiDoc home page],
-http://www.methods.co.nz/asciidoc/,
-mailto:[email protected][email Joe Bloggs],
-joe.bloggs(a)foobar.com,
-callto:joe.bloggs[].
-
-'Link': See <<X1,AsciiDoc source>>.
-
-'Emphasized text', *Strong text*, +Monospaced text+, ``Quoted text''.
-
-'Subscripts and superscripts': e^{amp}#960;i^+1 = 0. H~2~O and x^10^.
-Some ^super text^ and ~some sub text~
-
-'Replacements': (C) copyright, (TM) trademark, (R) registered trademark,
--- em dash, ... ellipsis, -> right arrow, <- left arrow, => right
-double arrow, <= left double arrow.
-|====================================================================
-
-[[X1]]
-.AsciiDoc source
----------------------------------------------------------------------
-|====================================================================
-|'URLs':
-http://www.methods.co.nz/asciidoc/[The AsciiDoc home page],
-http://www.methods.co.nz/asciidoc/,
-mailto:[email protected][email Joe Bloggs],
-joe.bloggs(a)foobar.com,
-callto:joe.bloggs[].
-
-'Link': See <<X1,AsciiDoc source>>.
-
-'Emphasized text', *Strong text*, +Monospaced text+, ``Quoted text''.
-
-'Subscripts and superscripts': e^{amp}#960;i^+1 = 0. H~2~O and x^10^.
-Some ^super text^ and ~some sub text~
-
-'Replacements': (C) copyright, (TM) trademark, (R) registered trademark,
--- em dash, ... ellipsis, -> right arrow, <- left arrow, => right
-double arrow, <= left double arrow.
-|====================================================================
----------------------------------------------------------------------
-
-
-.Nested table
-[width="75%",cols="1,2a"]
-|==============================================
-|Normal cell
-
-|Cell with nested table
-
-[cols="2,1"]
-!==============================================
-!Nested table cell 1 !Nested table cell 2
-!==============================================
-
-|==============================================
-
-.AsciiDoc source
----------------------------------------------------------------------
-[width="75%",cols="1,2a"]
-|==============================================
-|Normal cell
-
-|Cell with nested table
-
-[cols="2,1"]
-!==============================================
-!Nested table cell 1 !Nested table cell 2
-!==============================================
-
-|==============================================
----------------------------------------------------------------------
-
-
-.Spans, alignments and styles
-[cols="e,m,^,>s",width="25%"]
-|================
-|1 >s|2 |3 |4
-^|5 2.2+^.^|6 .3+<.>m|7
-^|8
-|9 2+>|10
-|================
-
-.AsciiDoc source
----------------------------------------------------------------------
-.Spans, alignments and styles
-[cols="e,m,^,>s",width="25%"]
-|================
-|1 >s|2 |3 |4
-^|5 2.2+^.^|6 .3+<.>m|7
-^|8
-|9 2+>|10
-|================
----------------------------------------------------------------------
-
-.Three panes
-[cols="a,2a"]
-|==================================
-|
-[float]
-Top Left Pane
-~~~~~~~~~~~~~
-Consul *necessitatibus* per id,
-consetetur, eu pro everti postulant
-homero verear ea mea, qui.
-
-Consul *necessitatibus* per id,
-consetetur, eu pro everti postulant
-homero verear ea mea, qui.
-
-.2+|
-[float]
-Right Pane
-~~~~~~~~~~
-Consul *necessitatibus* per id,
-consetetur, eu pro everti postulant
-homero verear ea mea, qui.
-
------------------------------------
-Consul *necessitatibus* per id,
-consetetur, eu pro everti postulant
-homero verear ea mea, qui.
------------------------------------
-
-.Code filter example
-[source,python]
------------------------------------
-''' A multi-line
- comment.'''
-def sub_word(mo):
- ''' Single line comment.'''
- word = mo.group('word')
- if word in keywords[language]:
- return quote + word + quote
- else:
- return word
------------------------------------
-
-- Lorem ipsum dolor sit amet,
- consectetuer adipiscing elit.
- * Fusce euismod commodo velit.
- * Qui in magna commodo, est labitur
- dolorum an. Est ne magna primis
- adolescens. Sit munere ponderum
- dignissim et. Minim luptatum et vel.
- * Vivamus fringilla mi eu lacus.
- * Donec eget arcu bibendum nunc
- consequat lobortis.
-- Nulla porttitor vulputate libero.
- . Fusce euismod commodo velit.
- . Vivamus fringilla mi eu lacus.
-
-|
-[float]
-Bottom Left Pane
-~~~~~~~~~~~~~~~~
-Consul *necessitatibus* per id,
-consetetur, eu pro everti postulant
-homero verear ea mea, qui.
-
-Consul *necessitatibus* per id,
-consetetur, eu pro everti postulant
-homero verear ea mea, qui.
-
-- Lorem ipsum dolor sit amet,
- consectetuer adipiscing elit.
- * Fusce euismod commodo velit.
- * Qui in magna commodo, est labitur
- dolorum an. Est ne magna primis
- adolescens. Sit munere ponderum
- dignissim et. Minim luptatum et vel.
- * Vivamus fringilla mi eu lacus.
- * Donec eget arcu bibendum nunc
- consequat lobortis.
-- Nulla porttitor vulputate libero.
- . Fusce euismod commodo velit.
- . Vivamus fringilla mi eu lacus.
-
-|==================================
-
-.AsciiDoc source
-[listing]
-.....................................................................
-.Three panes
-[cols="a,2a"]
-|==================================
-|
-[float]
-Top Left Pane
-~~~~~~~~~~~~~
-Consul *necessitatibus* per id,
-consetetur, eu pro everti postulant
-homero verear ea mea, qui.
-
-Consul *necessitatibus* per id,
-consetetur, eu pro everti postulant
-homero verear ea mea, qui.
-
-.2+|
-[float]
-Right Pane
-~~~~~~~~~~
-Consul *necessitatibus* per id,
-consetetur, eu pro everti postulant
-homero verear ea mea, qui.
-
------------------------------------
-Consul *necessitatibus* per id,
-consetetur, eu pro everti postulant
-homero verear ea mea, qui.
------------------------------------
-
-.Code filter example
-[source,python]
------------------------------------
-''' A multi-line
- comment.'''
-def sub_word(mo):
- ''' Single line comment.'''
- word = mo.group('word')
- if word in keywords[language]:
- return quote + word + quote
- else:
- return word
------------------------------------
-
-- Lorem ipsum dolor sit amet,
- consectetuer adipiscing elit.
- * Fusce euismod commodo velit.
- * Qui in magna commodo, est labitur
- dolorum an. Est ne magna primis
- adolescens. Sit munere ponderum
- dignissim et. Minim luptatum et vel.
- * Vivamus fringilla mi eu lacus.
- * Donec eget arcu bibendum nunc
- consequat lobortis.
-- Nulla porttitor vulputate libero.
- . Fusce euismod commodo velit.
- . Vivamus fringilla mi eu lacus.
-
-|
-[float]
-Bottom Left Pane
-~~~~~~~~~~~~~~~~
-Consul *necessitatibus* per id,
-consetetur, eu pro everti postulant
-homero verear ea mea, qui.
-
-Consul *necessitatibus* per id,
-consetetur, eu pro everti postulant
-homero verear ea mea, qui.
-
-- Lorem ipsum dolor sit amet,
- consectetuer adipiscing elit.
- * Fusce euismod commodo velit.
- * Qui in magna commodo, est labitur
- dolorum an. Est ne magna primis
- adolescens. Sit munere ponderum
- dignissim et. Minim luptatum et vel.
- * Vivamus fringilla mi eu lacus.
- * Donec eget arcu bibendum nunc
- consequat lobortis.
-- Nulla porttitor vulputate libero.
- . Fusce euismod commodo velit.
- . Vivamus fringilla mi eu lacus.
-
-|==================================
-.....................................................................
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/publishing-ebooks-with-asciidoc.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/publishing-ebooks-with-asciidoc.txt
deleted file mode 120000
index 9431c78..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/publishing-ebooks-with-asciidoc.txt
+++ /dev/null
@@ -1 +0,0 @@
-../../doc/publishing-ebooks-with-asciidoc.txt
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/slidy-example.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/slidy-example.txt
deleted file mode 120000
index a63d357..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/slidy-example.txt
+++ /dev/null
@@ -1 +0,0 @@
-../../doc/slidy-example.txt
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/slidy.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/slidy.txt
deleted file mode 120000
index 3aa65b0..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/slidy.txt
+++ /dev/null
@@ -1 +0,0 @@
-../../doc/slidy.txt
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/source-highlight-filter.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/source-highlight-filter.txt
deleted file mode 120000
index eb67d23..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/source-highlight-filter.txt
+++ /dev/null
@@ -1 +0,0 @@
-../../doc/source-highlight-filter.txt
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/support.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/support.txt
deleted file mode 100644
index 0f94371..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/support.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-AsciiDoc Support
-================
-
-- Terrence Brannon has set up the
- http://groups.google.com/group/asciidoc[AsciiDoc discussion list].
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/testasciidoc.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/testasciidoc.txt
deleted file mode 120000
index 7acb123..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/testasciidoc.txt
+++ /dev/null
@@ -1 +0,0 @@
-../../doc/testasciidoc.txt
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/userguide.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/userguide.txt
deleted file mode 120000
index 5bfa64f..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/userguide.txt
+++ /dev/null
@@ -1 +0,0 @@
-../../doc/asciidoc.txt
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/version83.txt b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/version83.txt
deleted file mode 100644
index 08562eb..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/version83.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-AsciiDoc Version 8.3
-====================
-
-This is significant release, it gets rid of unused cruft, simplifies
-the http://www.methods.co.nz/asciidoc/newlists.html[lists] syntax and
-introduces a decent
-http://www.methods.co.nz/asciidoc/newtables.html[tables] syntax.
-There are a few fairly minor backward compatibility issues, please
-read the link:CHANGELOG.html#X1[compatibility issues] section in the
-CHANGLOG before upgrading.
-
-New Features
-------------
-- AsciiDoc tables have been redesigned. The link:newtables.html[new
- syntax and features] are a huge improvement over the old tables. The
- old tables syntax has been deprecated but is currently still
- processed.
-- Lists can now be styled like other block elements. This allows a
- single list syntax for 'glossary', 'qanda' (Question and Answer) and
- 'bibliography' lists instead of having to remember a different
- syntax for each type. link:newlists.html[Here is some more
- information].
-- Inline passthroughs macros have been improved and block passthrough
- macros added. Attribute substitution can be optionally specified
- when the macro is called.
-- The passthrough block has a fully transparent passthrough delimited
- block block style called 'pass'.
-- The 'asciimath' and 'latexmath' link:userguide.html#X77[passthrough
- macros] along with 'asciimath' and 'latexmath'
- link:userguide.html#X76[passthrough blocks] provide a (backend
- dependent) mechanism for rendering mathematical formulas. There are
- link:latexmath.pdf[LaTeX Math], link:asciimathml.html[AsciiMathML]
- and link:latexmathml.html[LaTeXMathML] examples on the AsciiDoc
- website.
-
-Read the link:CHANGELOG.html[CHANGELOG] for a full list of all
-additions and changes.
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/xhtml11-manpage.css b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/xhtml11-manpage.css
deleted file mode 120000
index badca88..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/xhtml11-manpage.css
+++ /dev/null
@@ -1 +0,0 @@
-../../stylesheets/xhtml11-manpage.css
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/xhtml11-quirks.css b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/xhtml11-quirks.css
deleted file mode 120000
index 215c109..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/xhtml11-quirks.css
+++ /dev/null
@@ -1 +0,0 @@
-../../stylesheets/xhtml11-quirks.css
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/xhtml11.css b/code/maint/asciidoc/asciidoc-8.6.3/examples/website/xhtml11.css
deleted file mode 120000
index 2cc7acb..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/examples/website/xhtml11.css
+++ /dev/null
@@ -1 +0,0 @@
-../../stylesheets/xhtml11.css
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/filters/code/code-filter-readme.txt b/code/maint/asciidoc/asciidoc-8.6.3/filters/code/code-filter-readme.txt
deleted file mode 100644
index ddc4a08..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/filters/code/code-filter-readme.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-AsciiDoc Code Filter
-====================
-
-This simple minded filter highlights source code keywords and
-comments.
-
-NOTE: The filter is to demonstrate how to write a filter -- it's much
-to simplistic to be passed off as a code syntax highlighter. If you
-want a full featured highlighter use the 'source highlighter filter.
-
-
-Files
------
-code-filter.py::
- The filter Python script.
-code-filter.conf::
- The AsciiDoc filter configuration file.
-code-filter-test.txt::
- Short AsciiDoc document to test the filter.
-
-
-Installation
-------------
-The code filter is installed in the distribution `filters` directory
-as part of the standard AsciiDoc install.
-
-Test it on the `code-filter-test.txt` file:
-
- $ asciidoc -v code-filter-test.txt
- $ firefox code-filter-test.txt &
-
-
-Help
-----
-Execute the filter with the help option:
-
- $ ./code-filter.py --help
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/filters/code/code-filter-test.txt b/code/maint/asciidoc/asciidoc-8.6.3/filters/code/code-filter-test.txt
deleted file mode 100644
index c2c2907..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/filters/code/code-filter-test.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-Code Filter Test
-================
-
-[python]
-code~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-''' A multi-line
- comment.'''
-def sub_word(mo):
- ''' Single line comment.'''
- word = mo.group('word') # Inline comment
- if word in keywords[language]:
- return quote + word + quote
- else:
- return word
-code~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/filters/code/code-filter.conf b/code/maint/asciidoc/asciidoc-8.6.3/filters/code/code-filter.conf
deleted file mode 100644
index 91563e1..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/filters/code/code-filter.conf
+++ /dev/null
@@ -1,8 +0,0 @@
-#
-# AsciiDoc code filter configuration file.
-#
-# Documented in code-filter-readme.txt
-#
-
-[blockdef-listing]
-code-style=template="listingblock",presubs=(),postsubs=("callouts",),posattrs=("style","language"),filter="code-filter.py -b {basebackend} -l {language}"
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/filters/code/code-filter.py b/code/maint/asciidoc/asciidoc-8.6.3/filters/code/code-filter.py
deleted file mode 100755
index 473fd6e..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/filters/code/code-filter.py
+++ /dev/null
@@ -1,239 +0,0 @@
-#!/usr/bin/env python
-'''
-NAME
- code-filter - AsciiDoc filter to highlight language keywords
-
-SYNOPSIS
- code-filter -b backend -l language [ -t tabsize ]
- [ --help | -h ] [ --version | -v ]
-
-DESCRIPTION
- This filter reads source code from the standard input, highlights language
- keywords and comments and writes to the standard output.
-
- The purpose of this program is to demonstrate how to write an AsciiDoc
- filter -- it's much to simplistic to be passed off as a code syntax
- highlighter. Use the 'source-highlight-filter' instead.
-
-
-OPTIONS
- --help, -h
- Print this documentation.
-
- -b
- Backend output file format: 'docbook', 'linuxdoc', 'html', 'css'.
-
- -l
- The name of the source code language: 'python', 'ruby', 'c++', 'c'.
-
- -t tabsize
- Expand source tabs to tabsize spaces.
-
- --version, -v
- Print program version number.
-
-BUGS
- - Code on the same line as a block comment is treated as comment.
- Keywords inside literal strings are highlighted.
- - There doesn't appear to be an easy way to accomodate linuxdoc so
- just pass it through without markup.
-
-AUTHOR
- Written by Stuart Rackham, <srackham(a)gmail.com>
-
-URLS
- http://sourceforge.net/projects/asciidoc/
- http://www.methods.co.nz/asciidoc/
-
-COPYING
- Copyright (C) 2002-2006 Stuart Rackham. Free use of this software is
- granted under the terms of the GNU General Public License (GPL).
-'''
-
-import os, sys, re, string
-
-VERSION = '1.1.2'
-
-# Globals.
-language = None
-backend = None
-tabsize = 8
-keywordtags = {
- 'html':
- ('<strong>','</strong>'),
- 'css':
- ('<strong>','</strong>'),
- 'docbook':
- ('<emphasis role="strong">','</emphasis>'),
- 'linuxdoc':
- ('','')
-}
-commenttags = {
- 'html':
- ('<i>','</i>'),
- 'css':
- ('<i>','</i>'),
- 'docbook':
- ('<emphasis>','</emphasis>'),
- 'linuxdoc':
- ('','')
-}
-keywords = {
- 'python':
- ('and', 'del', 'for', 'is', 'raise', 'assert', 'elif', 'from',
- 'lambda', 'return', 'break', 'else', 'global', 'not', 'try', 'class',
- 'except', 'if', 'or', 'while', 'continue', 'exec', 'import', 'pass',
- 'yield', 'def', 'finally', 'in', 'print'),
- 'ruby':
- ('__FILE__', 'and', 'def', 'end', 'in', 'or', 'self', 'unless',
- '__LINE__', 'begin', 'defined?' 'ensure', 'module', 'redo', 'super',
- 'until', 'BEGIN', 'break', 'do', 'false', 'next', 'rescue', 'then',
- 'when', 'END', 'case', 'else', 'for', 'nil', 'retry', 'true', 'while',
- 'alias', 'class', 'elsif', 'if', 'not', 'return', 'undef', 'yield'),
- 'c++':
- ('asm', 'auto', 'bool', 'break', 'case', 'catch', 'char', 'class',
- 'const', 'const_cast', 'continue', 'default', 'delete', 'do', 'double',
- 'dynamic_cast', 'else', 'enum', 'explicit', 'export', 'extern',
- 'false', 'float', 'for', 'friend', 'goto', 'if', 'inline', 'int',
- 'long', 'mutable', 'namespace', 'new', 'operator', 'private',
- 'protected', 'public', 'register', 'reinterpret_cast', 'return',
- 'short', 'signed', 'sizeof', 'static', 'static_cast', 'struct',
- 'switch', 'template', 'this', 'throw', 'true', 'try', 'typedef',
- 'typeid', 'typename', 'union', 'unsigned', 'using', 'virtual', 'void',
- 'volatile', 'wchar_t', 'while')
-}
-block_comments = {
- 'python': ("'''","'''"),
- 'ruby': None,
- 'c++': ('/*','*/')
-}
-inline_comments = {
- 'python': '#',
- 'ruby': '#',
- 'c++': '//'
-}
-
-def print_stderr(line):
- sys.stderr.write(line+os.linesep)
-
-def sub_keyword(mo):
- '''re.subs() argument to tag keywords.'''
- word = mo.group('word')
- if word in keywords[language]:
- stag,etag = keywordtags[backend]
- return stag+word+etag
- else:
- return word
-
-def code_filter():
- '''This function does all the work.'''
- global language, backend
- inline_comment = inline_comments[language]
- blk_comment = block_comments[language]
- if blk_comment:
- blk_comment = (re.escape(block_comments[language][0]),
- re.escape(block_comments[language][1]))
- stag,etag = commenttags[backend]
- in_comment = 0 # True if we're inside a multi-line block comment.
- tag_comment = 0 # True if we should tag the current line as a comment.
- line = sys.stdin.readline()
- while line:
- line = string.rstrip(line)
- line = string.expandtabs(line,tabsize)
- # Escape special characters.
- line = string.replace(line,'&','&')
- line = string.replace(line,'<','<')
- line = string.replace(line,'>','>')
- # Process block comment.
- if blk_comment:
- if in_comment:
- if re.match(r'.*'+blk_comment[1]+r'$',line):
- in_comment = 0
- else:
- if re.match(r'^\s*'+blk_comment[0]+r'.*'+blk_comment[1],line):
- # Single line block comment.
- tag_comment = 1
- elif re.match(r'^\s*'+blk_comment[0],line):
- # Start of multi-line block comment.
- tag_comment = 1
- in_comment = 1
- else:
- tag_comment = 0
- if tag_comment:
- if line: line = stag+line+etag
- else:
- if inline_comment:
- pos = string.find(line,inline_comment)
- else:
- pos = -1
- if pos >= 0:
- # Process inline comment.
- line = re.sub(r'\b(?P<word>\w+)\b',sub_keyword,line[:pos]) \
- + stag + line[pos:] + etag
- else:
- line = re.sub(r'\b(?P<word>\w+)\b',sub_keyword,line)
- sys.stdout.write(line + os.linesep)
- line = sys.stdin.readline()
-
-def usage(msg=''):
- if msg:
- print_stderr(msg)
- print_stderr('Usage: code-filter -b backend -l language [ -t tabsize ]')
- print_stderr(' [ --help | -h ] [ --version | -v ]')
-
-def main():
- global language, backend, tabsize
- # Process command line options.
- import getopt
- opts,args = getopt.getopt(sys.argv[1:],
- 'b:l:ht:v',
- ['help','version'])
- if len(args) > 0:
- usage()
- sys.exit(1)
- for o,v in opts:
- if o in ('--help','-h'):
- print __doc__
- sys.exit(0)
- if o in ('--version','-v'):
- print('code-filter version %s' % (VERSION,))
- sys.exit(0)
- if o == '-b': backend = v
- if o == '-l':
- v = string.lower(v)
- if v == 'c': v = 'c++'
- language = v
- if o == '-t':
- try:
- tabsize = int(v)
- except:
- usage('illegal tabsize')
- sys.exit(1)
- if tabsize <= 0:
- usage('illegal tabsize')
- sys.exit(1)
- if backend is None:
- usage('backend option is mandatory')
- sys.exit(1)
- if not keywordtags.has_key(backend):
- usage('illegal backend option')
- sys.exit(1)
- if language is None:
- usage('language option is mandatory')
- sys.exit(1)
- if not keywords.has_key(language):
- usage('illegal language option')
- sys.exit(1)
- # Do the work.
- code_filter()
-
-if __name__ == "__main__":
- try:
- main()
- except (KeyboardInterrupt, SystemExit):
- pass
- except:
- print_stderr("%s: unexpected exit status: %s" %
- (os.path.basename(sys.argv[0]), sys.exc_info()[1]))
- # Exit with previous sys.exit() status or zero if no sys.exit().
- sys.exit(sys.exc_info()[1])
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/filters/graphviz/asciidoc-graphviz-sample.txt b/code/maint/asciidoc/asciidoc-8.6.3/filters/graphviz/asciidoc-graphviz-sample.txt
deleted file mode 100644
index 4be6ba9..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/filters/graphviz/asciidoc-graphviz-sample.txt
+++ /dev/null
@@ -1,170 +0,0 @@
-= Graphviz filter for AsciiDoc =
-
-Author: Gouichi Iisaka
-
-Version: 1.1.3
-
-== Introduction ==
-
-The Graphviz(link:http://www.graphviz.org[]) is a way of representing structural information
-as diagrams of abstract graphs and networks.
-
-
-Automatic graph drawing has many important applications
-in software engineering, database and web design, networking,
-and in visual interfaces for many other domains.
-
-Graphviz take descriptions of graphs in a simple text language,
-And has many useful features for concrete diagrams,
-such as options for colors, fonts, tabular node layouts,
-line styles, hyperlinks, and custom shapes.
-
-AsciiDoc can external shell commands used to process Paragraph and
-DelimitedBlock content by Filter.
-
-So now, AsciiDoc can draw graphs via graphviz filter.
-
-== Examples ==
-
-=== Simple ===
-.....................................................................
-[graphviz]
----------------------------------------------------------------------
-digraph G { rankdir=LR; Graphviz->AsciiDoc->HTML}
----------------------------------------------------------------------
-.....................................................................
-
-[graphviz]
----------------------------------------------------------------------
-digraph G { rankdir=LR; Graphviz->AsciiDoc->HTML}
----------------------------------------------------------------------
-
-=== Using options ===
-.....................................................................
-["graphviz", "sample2.png"]
----------------------------------------------------------------------
-digraph automata_0 {
- size ="8.5, 11";
- node [shape = circle];
- 0 [ style = filled, color=lightgrey ];
- 2 [ shape = doublecircle ];
- 0 -> 2 [ label = "a " ];
- 0 -> 1 [ label = "other " ];
- 1 -> 2 [ label = "a " ];
- 1 -> 1 [ label = "other " ];
- 2 -> 2 [ label = "a " ];
- 2 -> 1 [ label = "other " ];
- "Machine: a" [ shape = plaintext ];
-}
----------------------------------------------------------------------
-.....................................................................
-
-["graphviz", "sample2.png"]
----------------------------------------------------------------------
-digraph automata_0 {
- size ="8.5, 11";
- node [shape = circle];
- 0 [ style = filled, color=lightgrey ];
- 2 [ shape = doublecircle ];
- 0 -> 2 [ label = "a " ];
- 0 -> 1 [ label = "other " ];
- 1 -> 2 [ label = "a " ];
- 1 -> 1 [ label = "other " ];
- 2 -> 2 [ label = "a " ];
- 2 -> 1 [ label = "other " ];
- "Machine: a" [ shape = plaintext ];
-}
----------------------------------------------------------------------
-
-=== Using Layout ===
-
-.....................................................................
-["graphviz", "sample3.png", "dot"]
----------------------------------------------------------------------
-digraph finite_state_machine {
- rankdir=LR;
- size="8,5"
- node [shape = doublecircle]; LR_0 LR_3 LR_4 LR_8;
- node [shape = circle];
- LR_0 -> LR_2 [ label = "SS(B)" ];
- LR_0 -> LR_1 [ label = "SS(S)" ];
- LR_1 -> LR_3 [ label = "S($end)" ];
- LR_2 -> LR_6 [ label = "SS(b)" ];
- LR_2 -> LR_5 [ label = "SS(a)" ];
- LR_2 -> LR_4 [ label = "S(A)" ];
- LR_5 -> LR_7 [ label = "S(b)" ];
- LR_5 -> LR_5 [ label = "S(a)" ];
- LR_6 -> LR_6 [ label = "S(b)" ];
- LR_6 -> LR_5 [ label = "S(a)" ];
- LR_7 -> LR_8 [ label = "S(b)" ];
- LR_7 -> LR_5 [ label = "S(a)" ];
- LR_8 -> LR_6 [ label = "S(b)" ];
- LR_8 -> LR_5 [ label = "S(a)" ];
-}
----------------------------------------------------------------------
-.....................................................................
-
-["graphviz", "sample3.png", "dot"]
----------------------------------------------------------------------
-digraph finite_state_machine {
- rankdir=LR;
- size="8,5"
- node [shape = doublecircle]; LR_0 LR_3 LR_4 LR_8;
- node [shape = circle];
- LR_0 -> LR_2 [ label = "SS(B)" ];
- LR_0 -> LR_1 [ label = "SS(S)" ];
- LR_1 -> LR_3 [ label = "S($end)" ];
- LR_2 -> LR_6 [ label = "SS(b)" ];
- LR_2 -> LR_5 [ label = "SS(a)" ];
- LR_2 -> LR_4 [ label = "S(A)" ];
- LR_5 -> LR_7 [ label = "S(b)" ];
- LR_5 -> LR_5 [ label = "S(a)" ];
- LR_6 -> LR_6 [ label = "S(b)" ];
- LR_6 -> LR_5 [ label = "S(a)" ];
- LR_7 -> LR_8 [ label = "S(b)" ];
- LR_7 -> LR_5 [ label = "S(a)" ];
- LR_8 -> LR_6 [ label = "S(b)" ];
- LR_8 -> LR_5 [ label = "S(a)" ];
- }
----------------------------------------------------------------------
-
-
-== Layout ==
-
-Layout for graphviz as follows. The default is `dot'.
-
- *dot;;
- 'dot' draws directed graphs.
- It works well on DAGs and other graphs that can be drawn as hierarchies.
- It reads attributed graph files and writes drawings.
-
- *neato;;
- 'neato' draws undirected graphs using ‘‘spring'' models (see Kamada and
- Kawai, Information Processing Letters 31:1, April 1989).
- Input files must be formatted in the dot attributed graph language.
-
- *twopi;;
- 'twopi' draws graphs using a radial layout (see G. Wills, Symposium on
- Graph Drawing GD'97, September, 1997).
- Basically, one node is chosen as the center and put at the origin.
- The remaining nodes are placed on a sequence of concentric circles
- centered about the origin, each a fixed radial distance from
- the previous circle.
-
- *circro;;
- 'circo' draws graphs using a circular layout (see Six and Tollis, GD '99
- and ALENEX '99, and Kaufmann and Wiese, GD '02.)
- The tool identifies biconnected components and draws the nodes
- of the component on a circle.
- The block‐cutpoint tree is then laid out using a recursive radial
- algorithm.
- Edge crossings within a circle are minimized by placing as
- many edges on the circle's perimeter as possible.
- In particular, if the component is outerplanar,
- the component will have a planar layout.
-
- *fdp;;
- 'fdp' draws undirected graphs using a ‘‘spring'' model.
- It relies on a force‐directed approach in the spirit of Fruchterman
- and Reingold
- (cf. Software‐Practice & Experience 21(11), 1991, pp. 1129‐1164).
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/filters/graphviz/graphviz-filter.conf b/code/maint/asciidoc/asciidoc-8.6.3/filters/graphviz/graphviz-filter.conf
deleted file mode 100644
index 5cd3183..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/filters/graphviz/graphviz-filter.conf
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# AsciiDoc Graphviz filter configuration file.
-#
-# Version: 1.0
-# Gouici Iisaka <iisaka51 at gmail dot com>
-
-[graphviz-filter-style]
-graphviz-style=template="graphviz{format?-{format}}-block",subs=(),posattrs=("style","target","layout","format"),filter='graphviz2png.py {verbose?-v} -o "{outdir={indir}}/{imagesdir=}{imagesdir?/}{target}" -L {layout=dot} -F {format=png} -'
-
-[blockdef-listing]
-template::[graphviz-filter-style]
-
-[paradef-default]
-template::[graphviz-filter-style]
-
-[graphviz-block]
-template::[filter-image-blockmacro]
-
-# EXPERIMENTAL: xhtml11 backend SVG image block.
-ifdef::basebackend-xhtml11[]
-[graphviz-svg-block]
-<div class="imageblock"{id? id="{id}"}{align? style="text-align:{align};"}{float? style="float:{float};"}>
-<div class="content">
-<a class="image" href="{link}">
-<object data="{imagesdir=}{imagesdir?/}{target}" type="image/svg+xml" />
-{link#}</a>
-</div>
-<div class="title">{caption={figure-caption} {counter:figure-number}. }{title}</div>
-</div>
-endif::basebackend-xhtml11[]
-
-#
-# DEPRECATED: Pre 8.2.7 filter definition.
-#
-[blockdef-graphviz]
-delimiter=^graphviz~{4,}$
-template=graphviz-block
-presubs=none
-filter=graphviz2png.py {verbose?-v} -o "{outdir={indir}}/{target}" -L {layout=dot} -
-posattrs=target,format
-#
-# DEPRECATED: End
-#
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/filters/graphviz/graphviz2png.py b/code/maint/asciidoc/asciidoc-8.6.3/filters/graphviz/graphviz2png.py
deleted file mode 100755
index 37aac2d..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/filters/graphviz/graphviz2png.py
+++ /dev/null
@@ -1,169 +0,0 @@
-#!/usr/bin/env python
-
-import os, sys, subprocess
-from optparse import *
-
-__AUTHOR__ = "Gouichi Iisaka <iisaka51(a)gmail.com>"
-__VERSION__ = '1.1.4'
-
-class EApp(Exception):
- '''Application specific exception.'''
- pass
-
-class Application():
- '''
-NAME
- graphviz2png - Converts textual graphviz notation to PNG file
-
-SYNOPSIS
- graphviz2png [options] INFILE
-
-DESCRIPTION
- This filter reads Graphviz notation text from the input file
- INFILE (or stdin if INFILE is -), converts it to a PNG image file.
-
-
-OPTIONS
- -o OUTFILE, --outfile=OUTFILE
- The file name of the output file. If not specified the output file is
- named like INFILE but with a .png file name extension.
-
- -L LAYOUT, --layout=LAYOUT
- Graphviz layout: dot, neato, twopi, circo, fdp
- Default is 'dot'.
-
- -F FORMAT, --format=FORMAT
- Graphviz output format: png, svg, or any other format Graphviz
- supports. Run dot -T? to get the full list.
- Default is 'png'.
-
- -v, --verbose
- Verbosely print processing information to stderr.
-
- -h, --help
- Print this documentation.
-
- -V, --version
- Print program version number.
-
-SEE ALSO
- graphviz(1)
-
-AUTHOR
- Written by Gouichi Iisaka, <iisaka51(a)gmail.com>
- Format support added by Elmo Todurov, <todurov(a)gmail.com>
-
-THANKS
- Stuart Rackham, <srackham(a)gmail.com>
- This script was inspired by his music2png.py and AsciiDoc
-
-LICENSE
- Copyright (C) 2008-2009 Gouichi Iisaka.
- Free use of this software is granted under the terms of
- the GNU General Public License (GPL).
- '''
-
- def __init__(self, argv=None):
- # Run dot, get the list of supported formats. It's prefixed by some junk.
- format_output = subprocess.Popen(["dot", "-T?"], stderr=subprocess.PIPE, stdout=subprocess.PIPE).communicate()[1]
- # The junk contains : and ends with :. So we split it, then strip the final endline, then split the list for future usage.
- supported_formats = format_output.split(": ")[2][:-1].split(" ")
-
- if not argv:
- argv = sys.argv
-
- self.usage = '%prog [options] inputfile'
- self.version = 'Version: %s\n' % __VERSION__
- self.version += 'Copyright(c) 2008-2009: %s\n' % __AUTHOR__
-
- self.option_list = [
- Option("-o", "--outfile", action="store",
- dest="outfile",
- help="Output file"),
- Option("-L", "--layout", action="store",
- dest="layout", default="dot", type="choice",
- choices=['dot','neato','twopi','circo','fdp'],
- help="Layout type. LAYOUT=<dot|neato|twopi|circo|fdp>"),
- Option("-F", "--format", action="store",
- dest="format", default="png", type="choice",
- choices=supported_formats,
- help="Format type. FORMAT=<" + "|".join(supported_formats) + ">"),
- Option("--debug", action="store_true",
- dest="do_debug",
- help=SUPPRESS_HELP),
- Option("-v", "--verbose", action="store_true",
- dest="do_verbose", default=False,
- help="verbose output"),
- ]
-
- self.parser = OptionParser( usage=self.usage, version=self.version,
- option_list=self.option_list)
- (self.options, self.args) = self.parser.parse_args()
-
- if len(self.args) != 1:
- self.parser.print_help()
- sys.exit(1)
-
- self.options.infile = self.args[0]
-
- def systemcmd(self, cmd):
- if self.options.do_verbose:
- msg = 'Execute: %s' % cmd
- sys.stderr.write(msg + os.linesep)
- else:
- cmd += ' 2>/dev/null'
- if os.system(cmd):
- raise EApp, 'failed command: %s' % cmd
-
- def graphviz2png(self, infile, outfile):
- '''Convert Graphviz notation in file infile to
- PNG file named outfile.'''
-
- outfile = os.path.abspath(outfile)
- outdir = os.path.dirname(outfile)
-
- if not os.path.isdir(outdir):
- raise EApp, 'directory does not exist: %s' % outdir
-
- basefile = os.path.splitext(outfile)[0]
- saved_cwd = os.getcwd()
- os.chdir(outdir)
- try:
- cmd = '%s -T%s "%s" > "%s"' % (
- self.options.layout, self.options.format, infile, outfile)
- self.systemcmd(cmd)
- finally:
- os.chdir(saved_cwd)
-
- if not self.options.do_debug:
- os.unlink(infile)
-
- def run(self):
- if self.options.format == '':
- self.options.format = 'png'
-
- if self.options.infile == '-':
- if self.options.outfile is None:
- sys.stderr.write('OUTFILE must be specified')
- sys.exit(1)
- infile = os.path.splitext(self.options.outfile)[0] + '.txt'
- lines = sys.stdin.readlines()
- open(infile, 'w').writelines(lines)
-
- if not os.path.isfile(infile):
- raise EApp, 'input file does not exist: %s' % infile
-
- if self.options.outfile is None:
- outfile = os.path.splitext(infile)[0] + '.png'
- else:
- outfile = self.options.outfile
-
- self.graphviz2png(infile, outfile)
-
- # To suppress asciidoc 'no output from filter' warnings.
- if self.options.infile == '-':
- sys.stdout.write(' ')
-
-if __name__ == "__main__":
- app = Application()
- app.run()
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/filters/latex/latex-filter.conf b/code/maint/asciidoc/asciidoc-8.6.3/filters/latex/latex-filter.conf
deleted file mode 100644
index 9be382a..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/filters/latex/latex-filter.conf
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# AsciiDoc latex filter configuration file.
-#
-# Documented in latex-filter.txt in AsciiDoc distribution
-# ./examples/website/ directory.
-#
-
-[latex-filter-style]
-latex-style=template="latex-block",subs=(),posattrs=("style","target","dpi"),filter='latex2png.py -m{verbose? -v}{dpi? -D {dpi}} -o "{outdir={indir}}/{imagesdir=}{imagesdir?/}{target}" -'
-
-[blockdef-listing]
-template::[latex-filter-style]
-
-[paradef-default]
-template::[latex-filter-style]
-
-[latex-block]
-template::[filter-image-blockmacro]
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/filters/latex/latex2png.py b/code/maint/asciidoc/asciidoc-8.6.3/filters/latex/latex2png.py
deleted file mode 100755
index 7b60146..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/filters/latex/latex2png.py
+++ /dev/null
@@ -1,216 +0,0 @@
-#!/usr/bin/env python
-'''
-NAME
- latex2png - Converts LaTeX source to PNG file
-
-SYNOPSIS
- latex2png [options] INFILE
-
-DESCRIPTION
- This filter reads LaTeX source text from the input file
- INFILE (or stdin if INFILE is -) and renders it to PNG image file.
- Typically used to render math equations.
-
- Requires latex(1), dvipng(1) commands and LaTeX math packages.
-
-OPTIONS
- -D DPI
- Set the output resolution to DPI dots per inch. Use this option to
- scale the output image size.
-
- -o OUTFILE
- The file name of the output file. If not specified the output file is
- named like INFILE but with a .png file name extension.
-
- -m
- Skip if the PNG output file is newer that than the INFILE.
- Compares timestamps on INFILE and OUTFILE. If
- INFILE is - (stdin) then compares MD5 checksum stored in file
- named like OUTFILE but with a .md5 file name extension.
- The .md5 file is created if the -m option is used and the
- INFILE is - (stdin).
-
- -v
- Verbosely print processing information to stderr.
-
- --help, -h
- Print this documentation.
-
- --version
- Print program version number.
-
-SEE ALSO
- latex(1), dvipng(1)
-
-AUTHOR
- Written by Stuart Rackham, <srackham(a)gmail.com>
- The code was inspired by Kjell Magne Fauske's code:
- http://fauskes.net/nb/htmleqII/
-
- See also:
- http://www.amk.ca/python/code/mt-math
- http://code.google.com/p/latexmath2png/
-
-COPYING
- Copyright (C) 2010 Stuart Rackham. Free use of this software is
- granted under the terms of the MIT License.
-'''
-
-# Suppress warning: "the md5 module is deprecated; use hashlib instead"
-import warnings
-warnings.simplefilter('ignore',DeprecationWarning)
-
-import os, sys, tempfile, md5
-
-VERSION = '0.1.0'
-
-# Include LaTeX packages and commands here.
-TEX_HEADER = r'''\documentclass{article}
-\usepackage{amsmath}
-\usepackage{amsthm}
-\usepackage{amssymb}
-\usepackage{bm}
-\newcommand{\mx}[1]{\mathbf{\bm{#1}}} % Matrix command
-\newcommand{\vc}[1]{\mathbf{\bm{#1}}} % Vector command
-\newcommand{\T}{\text{T}} % Transpose
-\pagestyle{empty}
-\begin{document}'''
-
-TEX_FOOTER = r'''\end{document}'''
-
-# Globals.
-verbose = False
-
-class EApp(Exception): pass # Application specific exception.
-
-def print_stderr(line):
- sys.stderr.write(line + os.linesep)
-
-def print_verbose(line):
- if verbose:
- print_stderr(line)
-
-def run(cmd):
- global verbose
- if verbose:
- cmd += ' 1>&2'
- else:
- cmd += ' >/dev/null 2>&1'
- print_verbose('executing: %s' % cmd)
- if os.system(cmd):
- raise EApp, 'failed command: %s' % cmd
-
-def latex2png(infile, outfile, dpi, modified):
- '''Convert LaTeX input file infile to PNG file named outfile.'''
- outfile = os.path.abspath(outfile)
- outdir = os.path.dirname(outfile)
- if not os.path.isdir(outdir):
- raise EApp, 'directory does not exist: %s' % outdir
- texfile = tempfile.mktemp(suffix='.tex', dir=os.path.dirname(outfile))
- basefile = os.path.splitext(texfile)[0]
- dvifile = basefile + '.dvi'
- temps = [basefile + ext for ext in ('.tex','.dvi', '.aux', '.log')]
- skip = False
- if infile == '-':
- tex = sys.stdin.read()
- checksum = md5.new(tex).digest()
- f = os.path.splitext(outfile)[0] + '.md5'
- if modified:
- if os.path.isfile(f) and os.path.isfile(outfile) and \
- checksum == open(f,'rb').read():
- skip = True
- open(f,'wb').write(checksum)
- else:
- if not os.path.isfile(infile):
- raise EApp, 'input file does not exist: %s' % infile
- tex = open(infile).read()
- if modified and os.path.isfile(outfile) and \
- os.path.getmtime(infile) <= os.path.getmtime(outfile):
- skip = True
- if skip:
- print_verbose('skipped: no change: %s' % outfile)
- return
- tex = '%s\n%s\n%s\n' % (TEX_HEADER, tex.strip(), TEX_FOOTER)
- print_verbose('tex:\n%s' % tex)
- open(texfile, 'w').write(tex)
- saved_pwd = os.getcwd()
- os.chdir(outdir)
- try:
- # Compile LaTeX document to DVI file.
- run('latex %s' % texfile)
- # Convert DVI file to PNG.
- cmd = 'dvipng'
- if dpi:
- cmd += ' -D %s' % dpi
- cmd += ' -T tight -x 1000 -z 9 -bg Transparent -o "%s" "%s"' \
- % (outfile,dvifile)
- run(cmd)
- finally:
- os.chdir(saved_pwd)
- for f in temps:
- if os.path.isfile(f):
- print_verbose('deleting: %s' % f)
- os.remove(f)
-
-def usage(msg=''):
- if msg:
- print_stderr(msg)
- print_stderr('\n'
- 'usage:\n'
- ' latex2png [options] INFILE\n'
- '\n'
- 'options:\n'
- ' -D DPI\n'
- ' -o OUTFILE\n'
- ' -m\n'
- ' -v\n'
- ' --help\n'
- ' --version')
-
-def main():
- # Process command line options.
- global verbose
- dpi = None
- outfile = None
- modified = False
- import getopt
- opts,args = getopt.getopt(sys.argv[1:], 'D:o:mhv', ['help','version'])
- for o,v in opts:
- if o in ('--help','-h'):
- print __doc__
- sys.exit(0)
- if o =='--version':
- print('latex2png version %s' % (VERSION,))
- sys.exit(0)
- if o == '-D': dpi = v
- if o == '-o': outfile = v
- if o == '-m': modified = True
- if o == '-v': verbose = True
- if len(args) != 1:
- usage()
- sys.exit(1)
- infile = args[0]
- if dpi and not dpi.isdigit():
- usage('invalid DPI')
- sys.exit(1)
- if outfile is None:
- if infile == '-':
- usage('OUTFILE must be specified')
- sys.exit(1)
- outfile = os.path.splitext(infile)[0] + '.png'
- # Do the work.
- latex2png(infile, outfile, dpi, modified)
- # Print something to suppress asciidoc 'no output from filter' warnings.
- if infile == '-':
- sys.stdout.write(' ')
-
-if __name__ == "__main__":
- try:
- main()
- except SystemExit:
- raise
- except KeyboardInterrupt:
- sys.exit(1)
- except Exception, e:
- print_stderr("%s: %s" % (os.path.basename(sys.argv[0]), str(e)))
- sys.exit(1)
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/filters/music/music-filter-test.txt b/code/maint/asciidoc/asciidoc-8.6.3/filters/music/music-filter-test.txt
deleted file mode 100644
index c1886bd..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/filters/music/music-filter-test.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-Music Filter Test
-=================
-
-Details of the filter can be found in `./doc/music-filter.txt`.
-
-
-A tune generated from ABC notation
-----------------------------------
-
-[music,music1.png]
----------------------------------------------------------------------
-T:The Butterfly
-R:slip jig
-C:Tommy Potts
-H:Fiddle player Tommy Potts made this tune from two older slip jigs,
-H:one of which is called "Skin the Peelers" in Roche's collection.
-D:Bothy Band: 1975.
-M:9/8
-K:Em
-vB2(E G2)(E F3)|B2(E G2)(E F)ED|vB2(E G2)(E F3)|(B2d) d2(uB A)FD:|
-|:(vB2c) (e2f) g3|(uB2d) (g2e) (dBA)|(B2c) (e2f) g2(ua|b2a) (g2e) (dBA):|
-|:~B3 (B2A) G2A|~B3 BA(uB d)BA|~B3 (B2A) G2(A|B2d) (g2e) (dBA):|
----------------------------------------------------------------------
-
-
-A fragment generated from LilyPond source
-------------------------------------------
-
-["music", "music2.png", "ly", link="music2.ly"]
----------------------------------------------------------------------
-\version "2.10.0"
-\paper {
- ragged-right = ##t
-}
-{
- \time 3/4
- \clef bass
- c2 e4 g2. f4 e d c2 r4
-}
----------------------------------------------------------------------
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/filters/music/music-filter.conf b/code/maint/asciidoc/asciidoc-8.6.3/filters/music/music-filter.conf
deleted file mode 100644
index a296680..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/filters/music/music-filter.conf
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# AsciiDoc music filter configuration file.
-#
-# Documented in music-filter.txt in AsciiDoc distribution
-# ./examples/website/ directory.
-#
-
-[music-filter-style]
-music-style=template="music-block",subs=(),posattrs=("style","target","format"),filter='music2png.py -m{verbose? -v}{format? -f {format}} -o "{outdir={indir}}/{imagesdir=}{imagesdir?/}{target}" -'
-
-[blockdef-listing]
-template::[music-filter-style]
-
-[paradef-default]
-template::[music-filter-style]
-
-[music-block]
-template::[filter-image-blockmacro]
-
-#
-# DEPRECATED: Pre 8.2.7 filter definition.
-#
-[blockdef-music]
-delimiter=^music~{4,}$
-template=music-block
-presubs=none
-filter=music2png.py{verbose? -v} -f {format=abc} -o "{outdir={indir}}/{imagesdir=}{imagesdir?/}{target}" -
-posattrs=target,format
-#
-# DEPRECATED: End
-#
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/filters/music/music2png.py b/code/maint/asciidoc/asciidoc-8.6.3/filters/music/music2png.py
deleted file mode 100755
index 7f61b81..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/filters/music/music2png.py
+++ /dev/null
@@ -1,197 +0,0 @@
-#!/usr/bin/env python
-'''
-NAME
- music2png - Converts textual music notation to classically notated PNG file
-
-SYNOPSIS
- music2png [options] INFILE
-
-DESCRIPTION
- This filter reads LilyPond or ABC music notation text from the input file
- INFILE (or stdin if INFILE is -), converts it to classical music notation
- and writes it to a trimmed PNG image file.
-
- This script is a wrapper for LilyPond and ImageMagick commands.
-
-OPTIONS
- -f FORMAT
- The INFILE music format. 'abc' for ABC notation, 'ly' for LilyPond
- notation. Defaults to 'abc' unless source starts with backslash.
-
- -o OUTFILE
- The file name of the output file. If not specified the output file is
- named like INFILE but with a .png file name extension.
-
- -m
- Skip if the PNG output file is newer that than the INFILE.
- Compares timestamps on INFILE and OUTFILE. If
- INFILE is - (stdin) then compares MD5 checksum stored in file
- named like OUTFILE but with a .md5 file name extension.
- The .md5 file is created if the -m option is used and the
- INFILE is - (stdin).
-
- -v
- Verbosely print processing information to stderr.
-
- --help, -h
- Print this documentation.
-
- --version
- Print program version number.
-
-SEE ALSO
- lilypond(1), abc2ly(1), convert(1)
-
-AUTHOR
- Written by Stuart Rackham, <srackham(a)gmail.com>
-
-COPYING
- Copyright (C) 2006 Stuart Rackham. Free use of this software is
- granted under the terms of the GNU General Public License (GPL).
-'''
-
-# Suppress warning: "the md5 module is deprecated; use hashlib instead"
-import warnings
-warnings.simplefilter('ignore',DeprecationWarning)
-
-import os, sys, tempfile, md5
-
-VERSION = '0.1.1'
-
-# Globals.
-verbose = False
-
-class EApp(Exception): pass # Application specific exception.
-
-def print_stderr(line):
- sys.stderr.write(line + os.linesep)
-
-def print_verbose(line):
- if verbose:
- print_stderr(line)
-
-def run(cmd):
- global verbose
- if not verbose:
- cmd += ' 2>/dev/null'
- print_verbose('executing: %s' % cmd)
- if os.system(cmd):
- raise EApp, 'failed command: %s' % cmd
-
-def music2png(format, infile, outfile, modified):
- '''Convert ABC notation in file infile to cropped PNG file named outfile.'''
- outfile = os.path.abspath(outfile)
- outdir = os.path.dirname(outfile)
- if not os.path.isdir(outdir):
- raise EApp, 'directory does not exist: %s' % outdir
- basefile = tempfile.mktemp(dir=os.path.dirname(outfile))
- temps = [basefile + ext for ext in ('.abc', '.ly', '.ps', '.midi')]
- skip = False
- if infile == '-':
- source = sys.stdin.read()
- checksum = md5.new(source).digest()
- f = os.path.splitext(outfile)[0] + '.md5'
- if modified:
- if os.path.isfile(f) and os.path.isfile(outfile) and \
- checksum == open(f,'rb').read():
- skip = True
- open(f,'wb').write(checksum)
- else:
- if not os.path.isfile(infile):
- raise EApp, 'input file does not exist: %s' % infile
- if modified and os.path.isfile(outfile) and \
- os.path.getmtime(infile) <= os.path.getmtime(outfile):
- skip = True
- source = open(infile).read()
- if skip:
- print_verbose('skipped: no change: %s' % outfile)
- return
- if format is None:
- if source and source.startswith('\\'): # Guess input format.
- format = 'ly'
- else:
- format = 'abc'
- open('%s.%s' % (basefile,format), 'w').write(source) # Temp source file.
- abc = basefile + '.abc'
- ly = basefile + '.ly'
- png = basefile + '.png'
- saved_pwd = os.getcwd()
- os.chdir(outdir)
- try:
- if format == 'abc':
- run('abc2ly --beams=None -o "%s" "%s"' % (ly,abc))
- run('lilypond --png -o "%s" "%s"' % (basefile,ly))
- os.rename(png, outfile)
- finally:
- os.chdir(saved_pwd)
- # Chop the bottom 75 pixels off to get rid of the page footer.
- run('convert "%s" -gravity South -crop 1000x10000+0+75 "%s"' % (outfile, outfile))
- # Trim all blank areas from sides, top and bottom.
- run('convert "%s" -trim "%s"' % (outfile, outfile))
- for f in temps:
- if os.path.isfile(f):
- print_verbose('deleting: %s' % f)
- os.remove(f)
-
-def usage(msg=''):
- if msg:
- print_stderr(msg)
- print_stderr('\n'
- 'usage:\n'
- ' music2png [options] INFILE\n'
- '\n'
- 'options:\n'
- ' -f FORMAT\n'
- ' -o OUTFILE\n'
- ' -m\n'
- ' -v\n'
- ' --help\n'
- ' --version')
-
-def main():
- # Process command line options.
- global verbose
- format = None
- outfile = None
- modified = False
- import getopt
- opts,args = getopt.getopt(sys.argv[1:], 'f:o:mhv', ['help','version'])
- for o,v in opts:
- if o in ('--help','-h'):
- print __doc__
- sys.exit(0)
- if o =='--version':
- print('music2png version %s' % (VERSION,))
- sys.exit(0)
- if o == '-f': format = v
- if o == '-o': outfile = v
- if o == '-m': modified = True
- if o == '-v': verbose = True
- if len(args) != 1:
- usage()
- sys.exit(1)
- infile = args[0]
- if format not in (None, 'abc', 'ly'):
- usage('invalid FORMAT')
- sys.exit(1)
- if outfile is None:
- if infile == '-':
- usage('OUTFILE must be specified')
- sys.exit(1)
- outfile = os.path.splitext(infile)[0] + '.png'
- # Do the work.
- music2png(format, infile, outfile, modified)
- # Print something to suppress asciidoc 'no output from filter' warnings.
- if infile == '-':
- sys.stdout.write(' ')
-
-if __name__ == "__main__":
- try:
- main()
- except SystemExit:
- raise
- except KeyboardInterrupt:
- sys.exit(1)
- except Exception, e:
- print_stderr("%s: %s" % (os.path.basename(sys.argv[0]), str(e)))
- sys.exit(1)
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/filters/source/source-highlight-filter-test.txt b/code/maint/asciidoc/asciidoc-8.6.3/filters/source/source-highlight-filter-test.txt
deleted file mode 100644
index cd2390c..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/filters/source/source-highlight-filter-test.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-Source Hightlight Filter Test
-=============================
-
-Details of the filter can be found in
-`./doc/source-highlight-filter.txt`.
-
-[source,python]
----------------------------------------------------------------------
-''' A multi-line
- comment.'''
-def sub_word(mo):
- ''' Single line comment.'''
- word = mo.group('word') # Inline comment
- if word in keywords[language]:
- return quote + word + quote
- else:
- return word
----------------------------------------------------------------------
-
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/filters/source/source-highlight-filter.conf b/code/maint/asciidoc/asciidoc-8.6.3/filters/source/source-highlight-filter.conf
deleted file mode 100644
index e689131..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/filters/source/source-highlight-filter.conf
+++ /dev/null
@@ -1,114 +0,0 @@
-#
-# AsciiDoc source code highlight filter configuration file.
-#
-# Documented in source-hightlight-filter.txt in AsciiDoc distribution
-# ./examples/website/ directory.
-#
-# HTML outputs require GNU source-highlight (xhtml11, html4 outputs)
-# http://www.gnu.org/software/src-highlite/source-highlight.html
-#
-# or Pygments (xhtml11 outputs):
-# http://pygments.org/
-#
-# GNU source-hightlight is default, define the 'pygments' attribute to use
-# Pygments.
-#
-
-########################
-# Source block templates
-########################
-[source-highlight-block]
-template::[listingblock]
-
-ifdef::basebackend-html[]
-[source-highlight-block]
-<a name="{id}"></a>
-<p><b>{title}</b></p>
-<table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="10"><tr><td>
-|
-</td></tr></table>
-endif::basebackend-html[]
-
-# Customized listingblock block for xhtml11 to ensure valid XHTML1.1.
-ifdef::basebackend-xhtml11[]
-[source-highlight-block]
-<div class="listingblock">
-<a id="{id}"></a>
-<div class="title">{caption=}{title}</div>
-<div class="content">
-|
-</div></div>
-endif::basebackend-xhtml11[]
-
-# Use DocBook programlisting element.
-ifdef::basebackend-docbook[]
-[source-highlight-block]
-<formalpara{id? id="{id}"}{role? role="{role}"}{reftext? xreflabel="{reftext}"}><title>{title}</title><para>
-<programlisting language="{language}" linenumbering="{src_numbered=unnumbered}">
-|
-</programlisting>
-{title#}</para></formalpara>
-endif::basebackend-docbook[]
-
-[source-filter-style]
-# Source styles template.
-ifdef::basebackend-html[]
-source-style=template="source-highlight-block",presubs=(),postsubs=("callouts",),posattrs=("style","language","src_numbered","src_tab"),filter="source-highlight -f html -s {language} {src_numbered?--line-number} {src_tab?--tab={src_tab}}"
-endif::basebackend-html[]
-
-ifdef::basebackend-xhtml11[]
-ifndef::pygments[source-style=template="source-highlight-block",presubs=(),postsubs=("callouts",),posattrs=("style","language","src_numbered","src_tab"),filter="source-highlight -f xhtml -s {language} {src_numbered?--line-number} {src_tab?--tab={src_tab}}"]
-ifdef::pygments[source-style=template="source-highlight-block",presubs=(),postsubs=("callouts",),posattrs=("style","language","src_numbered"),filter="pygmentize -f html -l {language} {src_numbered?-O linenos=table} {encoding?-O encoding={encoding}}"]
-endif::basebackend-xhtml11[]
-
-ifdef::basebackend-docbook[]
-source-style=template="source-highlight-block",presubs=(),postsubs=("specialcharacters","callouts"),posattrs=("style","language","src_numbered","src_tab")
-endif::basebackend-docbook[]
-
-#########################
-# Source paragraph styles
-#########################
-[paradef-default]
-template::[source-filter-style]
-
-[paradef-literal]
-template::[source-filter-style]
-
-#########################
-# Source block styles
-#########################
-[blockdef-listing]
-template::[source-filter-style]
-
-
-#
-# DEPRECATED: Pre 8.2.7 filter definition.
-#
-
-#########################
-# Source block definition
-#########################
-[blockdef-source-highlight]
-# The old ^ delimiter is for backward compatibility, may be removed from
-# in future versions.
-delimiter=(^source~{4,}$)|(^\^{4,}$)
-template=source-highlight-block
-presubs=none
-posattrs=language,src_numbered,src_tab
-
-ifndef::basebackend-docbook[]
-postsubs=callouts
-# GNU Source Highlight filter.
-filter=source-highlight -f {basebackend-xhtml11?xhtml}{basebackend-html4?html} -s {language} {src_numbered?--line-number} {src_tab?--tab={src_tab}}
-endif::basebackend-docbook[]
-
-ifdef::basebackend-docbook[]
-postsubs=specialcharacters,callouts
-# In the case of DocBook just pass the listing through and let the DocBook
-# toolchain handle it.
-filter=
-endif::basebackend-docbook[]
-
-#
-# DEPRECATED: End
-#
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/help.conf b/code/maint/asciidoc/asciidoc-8.6.3/help.conf
deleted file mode 100644
index 09ed734..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/help.conf
+++ /dev/null
@@ -1,332 +0,0 @@
-# AsciiDoc help file.
-#
-# INI section format, each section contains a topic.
-# Displayed with 'asciidoc --help sectionname' command.
-#
-
-#
-# Default help topic.
-#
-[default]
-
-Man page: asciidoc --help manpage
-Syntax: asciidoc --help syntax
-
-[manpage]
-
-NAME
-
- asciidoc - converts an AsciiDoc text file to HTML or DocBook
-
-
-SYNOPSIS
-
- asciidoc [OPTIONS] FILE
-
-
-DESCRIPTION
-
- The asciidoc(1) command translates the AsciiDoc text file FILE to a
- DocBook, HTML or LinuxDoc file. If FILE is - then the standard
- input is used.
-
-
-OPTIONS
-
- -a, --attribute=ATTRIBUTE
- Define or delete document attribute. ATTRIBUTE is formatted like
- NAME=VALUE. Command-line attributes take precedence over
- document and configuration file attributes. Alternate acceptable
- forms are NAME (the VALUE defaults to an empty string);
- NAME! (delete the NAME attribute); NAME@ (do not override
- document or configuration file attributes). Values containing
- spaces should be enclosed in double-quote characters. This option
- may be specified more than once. A special attribute named
- trace controls the output of diagnostic information.
-
- -b, --backend=BACKEND
- Backend output file format: docbook45, xhtml11, html4,
- wordpress or latex (the latex backend is experimental).
- You can also the backend alias names html (aliased to xhtml11)
- or docbook (aliased to docbook45).
- Defaults to html.
-
- -f, --conf-file=CONF_FILE
- Use configuration file CONF_FILE.Configuration files processed
- in command-line order (after implicit configuration files). This
- option may be specified more than once.
-
- --doctest
- Run Python doctests in asciidoc module.
-
- -d, --doctype=DOCTYPE
- Document type: article, manpage or book. The book document
- type is only supported by the docbook backend. Default document
- type is article.
-
- -c, --dump-conf
- Dump configuration to stdout.
-
- -h, --help[=TOPIC]
- Print help TOPIC. --help=topics will print a list of help
- topics, --help=syntax summarizes AsciiDoc syntax,
- --help=manpage prints the AsciiDoc manpage.
-
- -e, --no-conf
- Exclude implicitly loaded configuration files except for those
- named like the input file (infile.conf and
- infile-backend.conf).
-
- -s, --no-header-footer
- Suppress document header and footer output.
-
- -o, --out-file=OUT_FILE
- Write output to file OUT_FILE. Defaults to the base name of
- input file with backend extension. If the input is stdin then
- the outfile defaults to stdout. If OUT_FILE is - then the
- standard output is used.
-
- -n, --section-numbers
- Auto-number HTML article section titles. Synonym for -a
- numbered.
-
- --safe
- Enable safe mode. Safe mode is disabled by default. AsciiDoc
- safe mode skips potentially dangerous scripted sections in
- AsciiDoc source files.
-
- -v, --verbose
- Verbosely print processing information and configuration file
- checks to stderr.
-
- --version
- Print program version number.
-
-
-EXIT STATUS
-
- 0
- Success
-
- 1
- Failure (syntax or usage error; configuration error; document
- processing failure; unexpected error).
-
-
-BUGS
-
- See the AsciiDoc distribution BUGS file.
-
-
-AUTHOR
-
- Written by Stuart Rackham, <srackham(a)gmail.com>
-
-
-RESOURCES
-
- SourceForge: <http://sourceforge.net/projects/asciidoc/>
-
- Main web site: <http://www.methods.co.nz/asciidoc/>
-
-
-COPYING
-
- Copyright (C) 2002-2010 Stuart Rackham. Free use of this software is
- granted under the terms of the GNU General Public License (GPL).
-
-[syntax]
-
-AsciiDoc Markup Syntax Summary
-==============================
-
-A summary of the most commonly used markup.
-For a complete reference see the 'AsciiDoc User Guide'.
-
-Text formatting
----------------
- *bold text* (boldface font)
- _emphasized text_ (normally italics)
- 'emphasized text'
- +monospaced text+ (proportional font)
- `monospaced text` (inline literal passthrough)
-
-Document links
---------------
- [[id]] (define link target)
- <<id,caption>> (link to target id)
- link:filename#id[caption] (link to external HTML file)
-
-URLs
-----
- Use normal URL and email addess syntax or:
-
- http:address[caption] (link to web page)
- mailto:address[caption] (link to mail recipient)
-
-Images
-------
- image:filename[caption] (inline image)
- image::filename[caption] (block image)
-
-Document header
----------------
-
- The Document Title
- ==================
- author <email>
- revision, date
-
-author, email, revision and date are optional.
-
-Section title underlines
-------------------------
- Underlined:
-
- Level 0 (document title)
- =======
- Level 1
- -------
- Level 2
- ~~~~~~~
- Level 3
- ^^^^^^^
- Level 4 (bottom level)
- +++++++
-
- Single line:
-
- = Level 0 = (document title)
- == Level 1 ==
- === Level 2 ===
- ==== Level 3 ====
- ===== Level 4 ===== (bottom level)
-
-Paragraphs
-----------
-A normal paragraph. (styles: literal,verse,quote,listing,
- NOTE,TIP,WARNING,IMPORTANT,CAUTION)
- An indented literal
- paragraph.
-
-Delimited blocks
-----------------
-Delimiters must begin at left margin.
-
- ------------------- (styles: source,music,graphviz)
- listing block
- -------------------
-
- ................... (styles: listing,verse)
- literal block
- ...................
-
- *******************
- sidebar block
- *******************
-
- [style, author, cite]
- ___________________ (styles: quote,verse)
- quote block
- ___________________
-
- =================== (styles: NOTE,TIP,WARNING,
- example block IMPORTANT,CAUTION)
- ===================
-
- ///////////////////
- comment block
- ///////////////////
-
- +++++++++++++++++++ (styles: pass)
- passthrough block
- +++++++++++++++++++
-
- [style] (styles: abstract, partintro)
- --
- open block
- --
-
-More block elements
--------------------
- [attributes list]
- .Block title
- // Comment line
- include::filename[]
-
-Tables
-------
- .An example table
- [width="40%",cols="^,2m",frame="topbot",options="header,footer"]
- |======================
- |Column 1 |Column 2
- |1 |Item 1
- |2 |Item 2
- |3 |Item 3
- |6 |Three items
- |======================
-
- Common attributes:
-
- grid: none,cols,rows,all
- frame: topbot,none,sides,all
- options: header,footer
- format: psv,csv,dsv
- valign: top,bottom,middle
- width: 1%..100%
- cols: colspec[,colspec,...]
-
- colspec: [multiplier*][align][width][style]
- multiplier: 1...
- width: 1... or 1%...100%
- align: [horiz][.vert]
- horiz: < (left), ^ (center), > (right)
- vert: < (top), ^ (middle), > (bottom)
- style: d[efault], e[mphasis], m[onospaced], a[sciidoc],
- s[trong], l[iteral], v[erse]
- cell: [cellspec]|data
- cellspec: [span*|+][align][style]
- span: [colspan][.rowspan]
- colspan: 1...
- rowspan: 1...
-
-Bulleted lists
---------------
- - item text
- * item text
- ** item text
- *** item text
- **** item text
- ***** item text
-
- (styles: callout,bibliography)
-
-Numbered lists
---------------
- 1. arabic (decimal) numbering
- a. loweralpha numbering
- F. upperalpha numbering
- iii) lowerroman numbering
- IX) upperroman numbering
-
- . arabic (decimal) numbering
- .. loweralpha numbering
- ... lowerroman numbering
- .... upperalpha numbering
- ..... upperroman numbering
-
- (styles: arabic,loweralpha,upperalpha,lowerroman,upperroman)
-
-Labeled lists
--------------
- label:: item text
- label;; item text
- label::: item text
- label:::: item text
-
- (styles: horizontal,vertical,glossary,qanda,bibliograpy)
-
-More inline elements
---------------------
- footnote:[footnote text] (document footnote)
-
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/html4.conf b/code/maint/asciidoc/asciidoc-8.6.3/html4.conf
deleted file mode 100644
index 8f52aeb..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/html4.conf
+++ /dev/null
@@ -1,503 +0,0 @@
-#
-# html4.conf
-#
-# Asciidoc HTML 4.01 configuration file.
-#
-
-[miscellaneous]
-outfilesuffix=.html
-
-[attributes]
-basebackend=html
-basebackend-html=
-basebackend-html4=
-
-[replacements2]
-# Line break.
-(?m)^(.*)\s\+$=\1<br>
-
-[replacements]
-ifdef::asciidoc7compatible[]
-# Superscripts.
-\^(.+?)\^=<sup>\1</sup>
-# Subscripts.
-~(.+?)~=<sub>\1</sub>
-endif::asciidoc7compatible[]
-
-[ruler-blockmacro]
-<hr>
-
-[pagebreak-blockmacro]
-<div style="page-break-after:always"></div>
-
-[pi-blockmacro]
-<?{target}{0? {0}}?>
-
-[pi-inlinemacro]
-template::[pi-blockmacro]
-
-[image-inlinemacro]
-<a href="{link}">
-# src attribute must be first attribute for blogpost compatibility.
-<img src="{imagesdir=}{imagesdir?/}{target}" style="border-width: 0;" alt="{alt={target}}"{width? width="{width}"}{height? height="{height}"}{title? title="{title}"}>
-{link#}</a>
-
-[image-blockmacro]
-<div{align? align="{align}"}{float? style="float:{float};"}>
-<a name="{id}"></a>
-<a href="{link}">
-<img src="{imagesdir=}{imagesdir?/}{target}" style="border-width: 0;" alt="{alt={target}}"{width? width="{width}"}{height? height="{height}"}>
-{link#}</a>
-<p><b>{caption={figure-caption} {counter:figure-number}. }</b>{title}</p>
-</div>
-
-[unfloat-blockmacro]
-<br clear="all">
-
-[indexterm-inlinemacro]
-# Index term.
-{empty}
-
-[indexterm2-inlinemacro]
-# Index term.
-# Single entry index term that is visible in the primary text flow.
-{1}
-
-[footnote-inlinemacro]
-# footnote:[<text>].
-<br><i>[{0}]</i><br>
-
-[footnoteref-inlinemacro]
-# footnoteref:[<id>], create reference to footnote.
-{2%}<br><i><a href="#_footnote_{1}">[{1}]</a></i><br>
-# footnoteref:[<id>,<text>], create footnote with ID.
-{2#}<br><i><a name="_footnote_{1}">[{2}]</a></i><br>
-
-[callout-inlinemacro]
-# Callout.
-<b><{index}></b>
-
-# Comment line macros.
-[comment-inlinemacro]
-{showcomments#}<br><span style="background:yellow;">{passtext}</span><br>
-
-[comment-blockmacro]
-{showcomments#}<p><span style="background:yellow;">{passtext}</span></p>
-
-[literal-inlinemacro]
-# Inline literal.
-<tt>{passtext}</tt>
-
-# List tags.
-[listtags-bulleted]
-list={id?<a name="{id}"></a>}{title?<p><b>{title}</b></p>}<ul>|</ul>
-item=<li>|</li>
-text=<p>|</p>
-
-[listtags-numbered]
-list={id?<a name="{id}"></a>}{title?<p><b>{title}</b></p>}<ol type="{style@arabic:1}{style@loweralpha:a}{style@upperalpha:A}{style@lowerroman:i}{style@upperroman:I}"{start? start="{start}"}>|</ol>
-item=<li>|</li>
-text=<p>|</p>
-
-[listtags-labeled]
-list={id?<a name="{id}"></a>}{title?<p><b>{title}</b></p>}<dl>|</dl>
-entry=
-label=
-term=<dt>{strong-option?<strong>}|{strong-option?</strong>}</dt>
-item=<dd>|</dd>
-text=<p>|</p>
-
-[listtags-horizontal]
-list={id?<a name="{id}"></a>}{title?<p><b>{title}</b></p>}<table cellpadding="4">|</table>
-entry=<tr valign="top">|</tr>
-label=<td{labelwidth? width="{labelwidth}%"}>{strong-option?<strong>}|{strong-option?</strong>}</td>
-term=|<br>
-item=<td{itemwidth? width="{itemwidth}%"}>|</td>
-text=<p>|</p>
-
-[listtags-callout]
-list={id?<a name="{id}"></a>}{title?<p><b>{title}</b></p>}<ol>|</ol>
-item=<li>|</li>
-text=<p>|</p>
-
-[listtags-qanda]
-list={id?<a name="{id}"></a>}{title?<p><b>{title}</b></p>}<ol>|</ol>
-entry=<li>|</li>
-label=
-term=<p><em>|</em></p>
-item=
-text=<p>|</p>
-
-[listtags-glossary]
-list={id?<a name="{id}"></a>}{title?<p><b>{title}</b></p>}<dl>|</dl>
-entry=
-label=
-term=<dt>|</dt>
-item=<dd>|</dd>
-text=<p>|</p>
-
-[listtags-bibliography]
-list={id?<a name="{id}"></a>}{title?<p><b>{title}</b></p>}<ul>|</ul>
-item=<li>|</li>
-text=<p>|</p>
-
-[tags]
-# Quoted text.
-emphasis=<em>{1?<span class="{1}">}|{1?</span>}</em>
-strong=<strong>{1?<span class="{1}">}|{1?</span>}</strong>
-monospaced=<tt>{1?<span class="{1}">}|{1?</span>}</tt>
-singlequoted={amp}#8216;{1?<span class="{1}">}|{1?</span>}{amp}#8217;
-doublequoted={amp}#8220;{1?<span class="{1}">}|{1?</span>}{amp}#8221;
-unquoted={1?<span class="{1}">}|{1?</span>}
-superscript=<sup>{1?<span class="{1}">}|{1?</span>}</sup>
-subscript=<sub>{1?<span class="{1}">}|{1?</span>}</sub>
-
-ifdef::deprecated-quotes[]
-# Override with deprecated quote attributes.
-emphasis={role?<span class="{role}">}<em{1,2,3? style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?"}>|</em>{role?</span>}
-strong={role?<span class="{role}">}<strong{1,2,3? style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?"}>|</strong>{role?</span>}
-monospaced={role?<span class="{role}">}<tt{1,2,3? style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?"}>|</tt>{role?</span>}
-singlequoted={role?<span class="{role}">}{1,2,3?<span style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?">}{amp}#8216;|{amp}#8217;{1,2,3?</span>}{role?</span>}
-doublequoted={role?<span class="{role}">}{1,2,3?<span style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?">}{amp}#8220;|{amp}#8221;{1,2,3?</span>}{role?</span>}
-unquoted={role?<span class="{role}">}{1,2,3?<span style="{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}">}|{1,2,3?</span>}{role?</span>}
-superscript={role?<span class="{role}">}<sup{1,2,3? style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?"}>|</sup>{role?</span>}
-subscript={role?<span class="{role}">}<sub{1,2,3? style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?"}>|</sub>{role?</span>}
-endif::deprecated-quotes[]
-
-# Inline macros
-[http-inlinemacro]
-<a href="{name}:{target}">{0={name}:{target}}</a>
-[https-inlinemacro]
-<a href="{name}:{target}">{0={name}:{target}}</a>
-[ftp-inlinemacro]
-<a href="{name}:{target}">{0={name}:{target}}</a>
-[file-inlinemacro]
-<a href="{name}:{target}">{0={name}:{target}}</a>
-[irc-inlinemacro]
-<a href="{name}:{target}">{0={name}:{target}}</a>
-[mailto-inlinemacro]
-<a href="mailto:{target}">{0={target}}</a>
-[callto-inlinemacro]
-<a href="{name}:{target}">{0={target}}</a>
-[link-inlinemacro]
-<a href="{target}">{0={target}}</a>
-# anchor:id[text]
-[anchor-inlinemacro]
-<a name="{target}"></a>
-# [[id,text]]
-[anchor2-inlinemacro]
-<a name="{1}"></a>
-# [[[id]]]
-[anchor3-inlinemacro]
-<a name="{1}"></a>[{1}]
-# xref:id[text]
-[xref-inlinemacro]
-<a href="#{target}">{0=[{target}]}</a>
-# <<id,text>>
-[xref2-inlinemacro]
-<a href="#{1}">{2=[{1}]}</a>
-
-# Special word substitution.
-[emphasizedwords]
-<em>{words}</em>
-[monospacedwords]
-<tt>{words}</tt>
-[strongwords]
-<strong>{words}</strong>
-
-# Paragraph substitution.
-[paragraph]
-<p>{id?<a name="{id}"></a>}{title?<b>{title}</b><br>}
-|
-</p>
-
-[admonitionparagraph]
-template::[admonitionblock]
-
-# Delimited blocks.
-[passthroughblock]
-|
-
-[listingblock]
-<a name="{id}"></a>
-<p><b>{title}</b></p>
-<table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="10"><tr><td>
-<pre>
-|
-</pre>
-</td></tr></table>
-
-[literalblock]
-<a name="{id}"></a>
-<p><b>{title}</b></p>
-<pre>
-|
-</pre>
-
-[sidebarblock]
-<a name="{id}"></a>
-<table frame="border" bgcolor="#ffffee" width="100%" cellpadding="15">
-<tr><td>
-<p><em>{title}</em></p>
-|
-</td></tr></table>
-
-[openblock]
-<div{id? id="{id}"}{role? class="{role}"}>
-<p><b>{title}</b></p>
-|
-</div>
-
-[partintroblock]
-template::[openblock]
-
-[abstractblock]
-template::[quoteblock]
-
-[quoteblock]
-<a name="{id}"></a>
-<blockquote>
-<p><b>{title}</b></p>
-|
-<p align="right">
-<em>{citetitle}</em>{attribution?<br>}
-— {attribution}
-</p>
-</blockquote>
-
-[verseblock]
-<a name="{id}"></a>
-<blockquote>
-<p><b>{title}</b></p>
-# Font inheritance broken in IE6.
-<pre style="font-family: inherit;">
-|
-</pre>
-<p align="left">
-<em>{citetitle}</em>{attribution?<br>}
-— {attribution}
-</p>
-</blockquote>
-
-[exampleblock]
-<a name="{id}"></a>
-<p><b>{caption={example-caption} {counter:example-number}. }</b>{title}</p>
-<table frame="border" width="100%" cellpadding="15">
-<tr><td style="border-left: 2px solid silver;">
-|
-</td></tr></table>
-
-[admonitionblock]
-<a name="{id}"></a>
-<table frame="void" cellpadding="8">
-<tr valign="top"><td><p><b><u>{caption}</u></b></p></td>
-<td style="border-left: 1px solid silver;">
-<p><b>{title}</b></p>
-|
-</td></tr></table>
-
-[mathblock]
-# Here to suppress missing block warning (html4 does not include math
-# JavaScripts).
-<a name="{id}"></a>
-<p><b>{title}</b></p>
-<div>
-|
-</div>
-
-# Tables.
-[tabletags-default]
-bodyrow=<tr>|</tr>
-headdata=<th {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}"{autowidth-option! width="{colpcwidth}%"} valign="{valign}">|</th>
-footdata=<td {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}"{autowidth-option! width="{colpcwidth}%"} style="font-weight:bold" valign="{valign}">|</td>
-bodydata=<td {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}"{autowidth-option! width="{colpcwidth}%"} valign="{valign}">|</td>
-paragraph=<p>|</p>
-
-[tabletags-header]
-paragraph=<p><strong>|</strong></p>
-
-[tabletags-emphasis]
-paragraph=<p><em>|</em></p>
-
-[tabletags-strong]
-paragraph=<p><strong>|</strong></p>
-
-[tabletags-monospaced]
-paragraph=<p><tt>|</tt></p>
-
-[tabletags-verse]
-bodydata=<td {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}"{autowidth-option! width="{colpcwidth}%"} valign="{valign}"><pre style="font-family: inherit;">|</pre></td>
-paragraph=
-
-[tabletags-literal]
-bodydata=<td {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}"{autowidth-option! width="{colpcwidth}%"} valign="{valign}"><pre><tt>|</tt></pre></td>
-paragraph=
-
-[tabletags-asciidoc]
-bodydata=<td {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}"{autowidth-option! width="{colpcwidth}%"} valign="{valign}"><div>|</div></td>
-paragraph=
-
-[table]
-<div{align? align="{align}"}>
-<a name="{id}"></a>
-<table rules="{grid=all}"
-style="float:{float};"
-{autowidth-option%}width="{tablepcwidth}%"
-{autowidth-option#}{width#width="{tablepcwidth}%"}
-frame="{frame%border}"
-frame="{frame@topbot:hsides}{frame@all:border}{frame@none:void}{frame@sides:vsides}"
-cellspacing="0" cellpadding="4">
-<caption><b>{caption={table-caption} {counter:table-number}. }</b>{title}</caption>
-{headrows#}<thead>
-{headrows}
-{headrows#}</thead>
-{footrows#}<tfoot>
-{footrows}
-{footrows#}</tfoot>
-<tbody>
-{bodyrows}
-</tbody>
-</table>
-</div>
-
-#--------------------------------------------------------------------
-# Deprecated old table definitions.
-#
-
-[miscellaneous]
-# Screen width in pixels.
-pagewidth=800
-pageunits=
-
-[old_tabledef-default]
-template=old_table
-bodyrow=<tr>|</tr>
-headdata=<th align="{colalign}" width="{colwidth}{pageunits}">|</th>
-footdata=<td align="{colalign}" width="{colwidth}{pageunits}"><strong>|</strong></td>
-bodydata=<td align="{colalign}" width="{colwidth}{pageunits}" valign="top">|</td>
-
-[old_table]
-<p><b>{caption={table-caption}}</b>{title}</p>
-<a name="{id}"></a>
-<table rules="{grid=none}"
-frame="{frame%hsides}"
-frame="{frame@topbot:hsides}{frame@all:border}{frame@none:void}{frame@sides:vsides}"
-cellspacing="0" cellpadding="4">
-{headrows#}<thead>
-{headrows}
-{headrows#}</thead>
-{footrows#}<tfoot>
-{footrows}
-{footrows#}</tfoot>
-<tbody>
-{bodyrows}
-</tbody>
-</table>
-
-# End of deprecated old table definitions.
-#--------------------------------------------------------------------
-
-[floatingtitle]
-<h{level@1:2}{level@2:3}{level@3:4}{level@4:5}>{id?<a name="{id}"></a>}{title}</h{level@1:2}{level@2:3}{level@3:4}{level@4:5}>
-
-[preamble]
-# Untitled elements between header and first section title.
-<a name="preamble"></a>
-|
-
-[sect0]
-{doctype-manpage%}<hr>
-<h1>{id?<a name="{id}"></a>}{title}</h1>
-|
-
-[sect1]
-{doctype-manpage%}<hr>
-<h2>{id?<a name="{id}"></a>}{numbered?{sectnum} }{title}</h2>
-|
-
-[sect2]
-<h3>{id?<a name="{id}"></a>}{numbered?{sectnum} }{title}</h3>
-|
-
-[sect3]
-<h4>{id?<a name="{id}"></a>}{numbered?{sectnum} }{title}</h4>
-|
-
-[sect4]
-<h5>{id?<a name="{id}"></a>}{title}</h5>
-|
-
-[appendix]
-<hr>
-<h2>{id?<a name="{id}"></a>}{numbered?{sectnum} }{appendix-caption} {counter:appendix-number:A}: {title}</h2>
-|
-
-[footer]
-<p></p>
-<p></p>
-<hr><p><small>
-template::[footer-text]
-</small></p>
-</body>
-</html>
-
-[header-declarations]
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset={encoding}">
-<meta name="generator" content="AsciiDoc {asciidoc-version}">
-<meta name="description" content="{description}">
-<meta name="keywords" content="{keywords}">
-<title>{title}</title>
-{title%}<title>{doctitle=}</title>
-{docinfo1,docinfo2#}{include:{docdir}/docinfo.html}
-{docinfo,docinfo2#}{include:{docdir}/{docname}-docinfo.html}
-</head>
-
-#--------------------------------
-# article and book document types
-#--------------------------------
-ifndef::doctype-manpage[]
-
-[header]
-template::[header-declarations]
-<body>
-{notitle%}<h1>{doctitle}</h1>
-{doctitle#}<p>
-{doctitle#}<strong>{author}</strong><br>
-{doctitle#}<tt><<a href="mailto:{email}">{email}</a>></tt><br>
-{doctitle#}version {revnumber}{revdate?,}
-{doctitle#}{revdate}
-{doctitle#}<br>{revremark}
-{doctitle#}</p>
-
-endif::doctype-manpage[]
-
-#-------------------------
-# manpage document type
-#-------------------------
-ifdef::doctype-manpage[]
-
-[tags]
-# This is more inline with man page convention.
-emphasis=<b>|</b>
-vlistterm=<dt><b>|</b></dt>
-
-[header]
-template::[header-declarations]
-<body>
-<hr>
-<h1>
- {doctitle} Manual Page
-</h1>
-<hr>
-<h2>{manname-title}</h2>
-<p>{manname} -
- {manpurpose}
-</p>
-
-[synopsis]
-template::[sect1]
-
-endif::doctype-manpage[]
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/highlighter.png b/code/maint/asciidoc/asciidoc-8.6.3/images/highlighter.png
deleted file mode 100644
index ad1090b..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/highlighter.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/README b/code/maint/asciidoc/asciidoc-8.6.3/images/icons/README
deleted file mode 100644
index f12b2a7..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/README
+++ /dev/null
@@ -1,5 +0,0 @@
-Replaced the plain DocBook XSL admonition icons with Jimmac's DocBook
-icons (http://jimmac.musichall.cz/ikony.php3) I dropped transparency
-from the Jimmac icons to get round MS IE and FOP PNG incompatibilies.
-
-Stuart Rackham
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/1.png b/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/1.png
deleted file mode 100644
index 7d47343..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/1.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/10.png b/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/10.png
deleted file mode 100644
index 997bbc8..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/10.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/11.png b/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/11.png
deleted file mode 100644
index ce47dac..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/11.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/12.png b/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/12.png
deleted file mode 100644
index 31daf4e..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/12.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/13.png b/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/13.png
deleted file mode 100644
index 14021a8..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/13.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/14.png b/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/14.png
deleted file mode 100644
index 64014b7..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/14.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/15.png b/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/15.png
deleted file mode 100644
index 0d65765..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/15.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/2.png b/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/2.png
deleted file mode 100644
index 5d09341..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/2.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/3.png b/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/3.png
deleted file mode 100644
index ef7b700..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/3.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/4.png b/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/4.png
deleted file mode 100644
index adb8364..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/4.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/5.png b/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/5.png
deleted file mode 100644
index 4d7eb46..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/5.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/6.png b/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/6.png
deleted file mode 100644
index 0ba694a..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/6.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/7.png b/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/7.png
deleted file mode 100644
index 472e96f..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/7.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/8.png b/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/8.png
deleted file mode 100644
index 5e60973..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/8.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/9.png b/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/9.png
deleted file mode 100644
index a0676d2..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/callouts/9.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/caution.png b/code/maint/asciidoc/asciidoc-8.6.3/images/icons/caution.png
deleted file mode 100644
index 9a8c515..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/caution.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/example.png b/code/maint/asciidoc/asciidoc-8.6.3/images/icons/example.png
deleted file mode 100644
index 1199e86..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/example.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/home.png b/code/maint/asciidoc/asciidoc-8.6.3/images/icons/home.png
deleted file mode 100644
index 37a5231..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/home.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/important.png b/code/maint/asciidoc/asciidoc-8.6.3/images/icons/important.png
deleted file mode 100644
index be685cc..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/important.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/next.png b/code/maint/asciidoc/asciidoc-8.6.3/images/icons/next.png
deleted file mode 100644
index 64e126b..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/next.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/note.png b/code/maint/asciidoc/asciidoc-8.6.3/images/icons/note.png
deleted file mode 100644
index 7c1f3e2..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/note.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/prev.png b/code/maint/asciidoc/asciidoc-8.6.3/images/icons/prev.png
deleted file mode 100644
index 3e8f12f..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/prev.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/tip.png b/code/maint/asciidoc/asciidoc-8.6.3/images/icons/tip.png
deleted file mode 100644
index f087c73..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/tip.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/up.png b/code/maint/asciidoc/asciidoc-8.6.3/images/icons/up.png
deleted file mode 100644
index 2db1ce6..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/up.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/warning.png b/code/maint/asciidoc/asciidoc-8.6.3/images/icons/warning.png
deleted file mode 100644
index d41edb9..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/icons/warning.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/smallnew.png b/code/maint/asciidoc/asciidoc-8.6.3/images/smallnew.png
deleted file mode 100644
index 411c2e1..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/smallnew.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/images/tiger.png b/code/maint/asciidoc/asciidoc-8.6.3/images/tiger.png
deleted file mode 100644
index 332b11f..0000000
Binary files a/code/maint/asciidoc/asciidoc-8.6.3/images/tiger.png and /dev/null differ
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/install-sh b/code/maint/asciidoc/asciidoc-8.6.3/install-sh
deleted file mode 100755
index 6784e4e..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/install-sh
+++ /dev/null
@@ -1,201 +0,0 @@
-#!/bin/sh
-#
-# install - install a program, script, or datafile
-# This comes from X11R5 (mit/util/scripts/install.sh).
-#
-# Copyright 1991 by the Massachusetts Institute of Technology
-#
-# Permission to use, copy, modify, distribute, and sell this software and its
-# documentation for any purpose is hereby granted without fee, provided that
-# the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission. M.I.T. makes no representations about the
-# suitability of this software for any purpose. It is provided "as is"
-# without express or implied warranty.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch. It can only install one file at a time, a restriction
-# shared with many OS's install programs.
-# set DOITPROG to echo to test this script
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-# put in absolute paths if you don't have them in your path; or use env. vars.
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-while [ x"$1" != x ]; do
- case $1 in
- -c) instcmd="$cpprog"
- shift
- continue;;
- -d) dir_arg=true
- shift
- continue;;
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
- -s) stripcmd="$stripprog"
- shift
- continue;;
- -t=*) transformarg=`echo $1 | sed 's/-t=//'`
- shift
- continue;;
- -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
- shift
- continue;;
- *) if [ x"$src" = x ]
- then
- src=$1
- else
- # this colon is to work around a 386BSD /bin/sh bug
- :
- dst=$1
- fi
- shift
- continue;;
- esac
-done
-if [ x"$src" = x ]
-then
- echo "install: no input file specified"
- exit 1
-else
- true
-fi
-if [ x"$dir_arg" != x ]; then
- dst=$src
- src=""
-
- if [ -d $dst ]; then
- instcmd=:
- else
- instcmd=mkdir
- fi
-else
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad
-# if $src (and thus $dsttmp) contains '*'.
- if [ -f $src -o -d $src ]
- then
- true
- else
- echo "install: $src does not exist"
- exit 1
- fi
-
- if [ x"$dst" = x ]
- then
- echo "install: no destination specified"
- exit 1
- else
- true
- fi
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
- if [ -d $dst ]
- then
- dst="$dst"/`basename $src`
- else
- true
- fi
-fi
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-# Make sure that the destination directory exists.
-# this part is taken from Noah Friedman's mkinstalldirs script
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
-'
-IFS="${IFS-${defaultIFS}}"
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-pathcomp=''
-while [ $# -ne 0 ] ; do
- pathcomp="${pathcomp}${1}"
- shift
- if [ ! -d "${pathcomp}" ] ;
- then
- $mkdirprog "${pathcomp}"
- else
- true
- fi
- pathcomp="${pathcomp}/"
-done
-fi
-if [ x"$dir_arg" != x ]
-then
- $doit $instcmd $dst &&
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
-# If we're going to rename the final executable, determine the name now.
- if [ x"$transformarg" = x ]
- then
- dstfile=`basename $dst`
- else
- dstfile=`basename $dst $transformbasename |
- sed $transformarg`$transformbasename
- fi
-# don't allow the sed command to completely eliminate the filename
- if [ x"$dstfile" = x ]
- then
- dstfile=`basename $dst`
- else
- true
- fi
-# Make a temp file name in the proper directory.
- dsttmp=$dstdir/#inst.$$#
-# Move or copy the file name to the temp name
- $doit $instcmd $src $dsttmp &&
- trap "rm -f ${dsttmp}" 0 &&
-# and set any options; do chmod last to preserve setuid bits
-# If any of these fail, we abort the whole thing. If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
-# Now rename the file to the real destination.
- $doit $rmcmd -f $dstdir/$dstfile &&
- $doit $mvcmd $dsttmp $dstdir/$dstfile
-fi &&
-exit 0
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/javascripts/ASCIIMathML.js b/code/maint/asciidoc/asciidoc-8.6.3/javascripts/ASCIIMathML.js
deleted file mode 100644
index 489b312..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/javascripts/ASCIIMathML.js
+++ /dev/null
@@ -1,938 +0,0 @@
-/*
-ASCIIMathML.js
-==============
-This file contains JavaScript functions to convert ASCII math notation
-to Presentation MathML. The conversion is done while the (X)HTML page
-loads, and should work with Firefox/Mozilla/Netscape 7+ and Internet
-Explorer 6+MathPlayer (http://www.dessci.com/en/products/mathplayer/)
-Just add the next line to your (X)HTML page with this file in the same folder:
-This is a convenient and inexpensive solution for authoring MathML.
-
-Version 1.4.7 Dec 15, 2005, (c) Peter Jipsen http://www.chapman.edu/~jipsen
-Latest version at http://www.chapman.edu/~jipsen/mathml/ASCIIMathML.js
-For changes see http://www.chapman.edu/~jipsen/mathml/asciimathchanges.txt
-If you use it on a webpage, please send the URL to jipsen(a)chapman.edu
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or (at
-your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License (at http://www.gnu.org/copyleft/gpl.html)
-for more details.
-*/
-
-var checkForMathML = true; // check if browser can display MathML
-var notifyIfNoMathML = true; // display note if no MathML capability
-var alertIfNoMathML = false; // show alert box if no MathML capability
-var mathcolor = ""; // change it to "" (to inherit) or any other color
-var mathfontfamily = "serif"; // change to "" to inherit (works in IE)
- // or another family (e.g. "arial")
-var displaystyle = true; // puts limits above and below large operators
-var showasciiformulaonhover = true; // helps students learn ASCIIMath
-var decimalsign = "."; // change to "," if you like, beware of `(1,2)`!
-var AMdelimiter1 = "`", AMescape1 = "\\\\`"; // can use other characters
-var AMdelimiter2 = "$", AMescape2 = "\\\\\\$", AMdelimiter2regexp = "\\$";
-var doubleblankmathdelimiter = false; // if true, x+1 is equal to `x+1`
- // for IE this works only in <!-- -->
-//var separatetokens;// has been removed (email me if this is a problem)
-var isIE = document.createElementNS==null;
-
-if (document.getElementById==null)
- alert("This webpage requires a recent browser such as\
-\nMozilla/Netscape 7+ or Internet Explorer 6+MathPlayer")
-
-// all further global variables start with "AM"
-
-function AMcreateElementXHTML(t) {
- if (isIE) return document.createElement(t);
- else return document.createElementNS("http://www.w3.org/1999/xhtml",t);
-}
-
-function AMnoMathMLNote() {
- var nd = AMcreateElementXHTML("h3");
- nd.setAttribute("align","center")
- nd.appendChild(AMcreateElementXHTML("p"));
- nd.appendChild(document.createTextNode("To view the "));
- var an = AMcreateElementXHTML("a");
- an.appendChild(document.createTextNode("ASCIIMathML"));
- an.setAttribute("href","http://www.chapman.edu/~jipsen/asciimath.html");
- nd.appendChild(an);
- nd.appendChild(document.createTextNode(" notation use Internet Explorer 6+"));
- an = AMcreateElementXHTML("a");
- an.appendChild(document.createTextNode("MathPlayer"));
- an.setAttribute("href","http://www.dessci.com/en/products/mathplayer/download.htm");
- nd.appendChild(an);
- nd.appendChild(document.createTextNode(" or Netscape/Mozilla/Firefox"));
- nd.appendChild(AMcreateElementXHTML("p"));
- return nd;
-}
-
-function AMisMathMLavailable() {
- if (navigator.appName.slice(0,8)=="Netscape")
- if (navigator.appVersion.slice(0,1)>="5") return null;
- else return AMnoMathMLNote();
- else if (navigator.appName.slice(0,9)=="Microsoft")
- try {
- var ActiveX = new ActiveXObject("MathPlayer.Factory.1");
- return null;
- } catch (e) {
- return AMnoMathMLNote();
- }
- else return AMnoMathMLNote();
-}
-
-// character lists for Mozilla/Netscape fonts
-var AMcal = [0xEF35,0x212C,0xEF36,0xEF37,0x2130,0x2131,0xEF38,0x210B,0x2110,0xEF39,0xEF3A,0x2112,0x2133,0xEF3B,0xEF3C,0xEF3D,0xEF3E,0x211B,0xEF3F,0xEF40,0xEF41,0xEF42,0xEF43,0xEF44,0xEF45,0xEF46];
-var AMfrk = [0xEF5D,0xEF5E,0x212D,0xEF5F,0xEF60,0xEF61,0xEF62,0x210C,0x2111,0xEF63,0xEF64,0xEF65,0xEF66,0xEF67,0xEF68,0xEF69,0xEF6A,0x211C,0xEF6B,0xEF6C,0xEF6D,0xEF6E,0xEF6F,0xEF70,0xEF71,0x2128];
-var AMbbb = [0xEF8C,0xEF8D,0x2102,0xEF8E,0xEF8F,0xEF90,0xEF91,0x210D,0xEF92,0xEF93,0xEF94,0xEF95,0xEF96,0x2115,0xEF97,0x2119,0x211A,0x211D,0xEF98,0xEF99,0xEF9A,0xEF9B,0xEF9C,0xEF9D,0xEF9E,0x2124];
-
-var CONST = 0, UNARY = 1, BINARY = 2, INFIX = 3, LEFTBRACKET = 4,
- RIGHTBRACKET = 5, SPACE = 6, UNDEROVER = 7, DEFINITION = 8,
- LEFTRIGHT = 9, TEXT = 10; // token types
-
-var AMsqrt = {input:"sqrt", tag:"msqrt", output:"sqrt", tex:null, ttype:UNARY},
- AMroot = {input:"root", tag:"mroot", output:"root", tex:null, ttype:BINARY},
- AMfrac = {input:"frac", tag:"mfrac", output:"/", tex:null, ttype:BINARY},
- AMdiv = {input:"/", tag:"mfrac", output:"/", tex:null, ttype:INFIX},
- AMover = {input:"stackrel", tag:"mover", output:"stackrel", tex:null, ttype:BINARY},
- AMsub = {input:"_", tag:"msub", output:"_", tex:null, ttype:INFIX},
- AMsup = {input:"^", tag:"msup", output:"^", tex:null, ttype:INFIX},
- AMtext = {input:"text", tag:"mtext", output:"text", tex:null, ttype:TEXT},
- AMmbox = {input:"mbox", tag:"mtext", output:"mbox", tex:null, ttype:TEXT},
- AMquote = {input:"\"", tag:"mtext", output:"mbox", tex:null, ttype:TEXT};
-
-var AMsymbols = [
-//some greek symbols
-{input:"alpha", tag:"mi", output:"\u03B1", tex:null, ttype:CONST},
-{input:"beta", tag:"mi", output:"\u03B2", tex:null, ttype:CONST},
-{input:"chi", tag:"mi", output:"\u03C7", tex:null, ttype:CONST},
-{input:"delta", tag:"mi", output:"\u03B4", tex:null, ttype:CONST},
-{input:"Delta", tag:"mo", output:"\u0394", tex:null, ttype:CONST},
-{input:"epsi", tag:"mi", output:"\u03B5", tex:"epsilon", ttype:CONST},
-{input:"varepsilon", tag:"mi", output:"\u025B", tex:null, ttype:CONST},
-{input:"eta", tag:"mi", output:"\u03B7", tex:null, ttype:CONST},
-{input:"gamma", tag:"mi", output:"\u03B3", tex:null, ttype:CONST},
-{input:"Gamma", tag:"mo", output:"\u0393", tex:null, ttype:CONST},
-{input:"iota", tag:"mi", output:"\u03B9", tex:null, ttype:CONST},
-{input:"kappa", tag:"mi", output:"\u03BA", tex:null, ttype:CONST},
-{input:"lambda", tag:"mi", output:"\u03BB", tex:null, ttype:CONST},
-{input:"Lambda", tag:"mo", output:"\u039B", tex:null, ttype:CONST},
-{input:"mu", tag:"mi", output:"\u03BC", tex:null, ttype:CONST},
-{input:"nu", tag:"mi", output:"\u03BD", tex:null, ttype:CONST},
-{input:"omega", tag:"mi", output:"\u03C9", tex:null, ttype:CONST},
-{input:"Omega", tag:"mo", output:"\u03A9", tex:null, ttype:CONST},
-{input:"phi", tag:"mi", output:"\u03C6", tex:null, ttype:CONST},
-{input:"varphi", tag:"mi", output:"\u03D5", tex:null, ttype:CONST},
-{input:"Phi", tag:"mo", output:"\u03A6", tex:null, ttype:CONST},
-{input:"pi", tag:"mi", output:"\u03C0", tex:null, ttype:CONST},
-{input:"Pi", tag:"mo", output:"\u03A0", tex:null, ttype:CONST},
-{input:"psi", tag:"mi", output:"\u03C8", tex:null, ttype:CONST},
-{input:"Psi", tag:"mi", output:"\u03A8", tex:null, ttype:CONST},
-{input:"rho", tag:"mi", output:"\u03C1", tex:null, ttype:CONST},
-{input:"sigma", tag:"mi", output:"\u03C3", tex:null, ttype:CONST},
-{input:"Sigma", tag:"mo", output:"\u03A3", tex:null, ttype:CONST},
-{input:"tau", tag:"mi", output:"\u03C4", tex:null, ttype:CONST},
-{input:"theta", tag:"mi", output:"\u03B8", tex:null, ttype:CONST},
-{input:"vartheta", tag:"mi", output:"\u03D1", tex:null, ttype:CONST},
-{input:"Theta", tag:"mo", output:"\u0398", tex:null, ttype:CONST},
-{input:"upsilon", tag:"mi", output:"\u03C5", tex:null, ttype:CONST},
-{input:"xi", tag:"mi", output:"\u03BE", tex:null, ttype:CONST},
-{input:"Xi", tag:"mo", output:"\u039E", tex:null, ttype:CONST},
-{input:"zeta", tag:"mi", output:"\u03B6", tex:null, ttype:CONST},
-
-//binary operation symbols
-{input:"*", tag:"mo", output:"\u22C5", tex:"cdot", ttype:CONST},
-{input:"**", tag:"mo", output:"\u22C6", tex:"star", ttype:CONST},
-{input:"//", tag:"mo", output:"/", tex:null, ttype:CONST},
-{input:"\\\\", tag:"mo", output:"\\", tex:"backslash", ttype:CONST},
-{input:"setminus", tag:"mo", output:"\\", tex:null, ttype:CONST},
-{input:"xx", tag:"mo", output:"\u00D7", tex:"times", ttype:CONST},
-{input:"-:", tag:"mo", output:"\u00F7", tex:"divide", ttype:CONST},
-{input:"@", tag:"mo", output:"\u2218", tex:"circ", ttype:CONST},
-{input:"o+", tag:"mo", output:"\u2295", tex:"oplus", ttype:CONST},
-{input:"ox", tag:"mo", output:"\u2297", tex:"otimes", ttype:CONST},
-{input:"o.", tag:"mo", output:"\u2299", tex:"odot", ttype:CONST},
-{input:"sum", tag:"mo", output:"\u2211", tex:null, ttype:UNDEROVER},
-{input:"prod", tag:"mo", output:"\u220F", tex:null, ttype:UNDEROVER},
-{input:"^^", tag:"mo", output:"\u2227", tex:"wedge", ttype:CONST},
-{input:"^^^", tag:"mo", output:"\u22C0", tex:"bigwedge", ttype:UNDEROVER},
-{input:"vv", tag:"mo", output:"\u2228", tex:"vee", ttype:CONST},
-{input:"vvv", tag:"mo", output:"\u22C1", tex:"bigvee", ttype:UNDEROVER},
-{input:"nn", tag:"mo", output:"\u2229", tex:"cap", ttype:CONST},
-{input:"nnn", tag:"mo", output:"\u22C2", tex:"bigcap", ttype:UNDEROVER},
-{input:"uu", tag:"mo", output:"\u222A", tex:"cup", ttype:CONST},
-{input:"uuu", tag:"mo", output:"\u22C3", tex:"bigcup", ttype:UNDEROVER},
-
-//binary relation symbols
-{input:"!=", tag:"mo", output:"\u2260", tex:"ne", ttype:CONST},
-{input:":=", tag:"mo", output:":=", tex:null, ttype:CONST},
-{input:"lt", tag:"mo", output:"<", tex:null, ttype:CONST},
-{input:"<=", tag:"mo", output:"\u2264", tex:"le", ttype:CONST},
-{input:"lt=", tag:"mo", output:"\u2264", tex:"leq", ttype:CONST},
-{input:">=", tag:"mo", output:"\u2265", tex:"ge", ttype:CONST},
-{input:"geq", tag:"mo", output:"\u2265", tex:null, ttype:CONST},
-{input:"-<", tag:"mo", output:"\u227A", tex:"prec", ttype:CONST},
-{input:"-lt", tag:"mo", output:"\u227A", tex:null, ttype:CONST},
-{input:">-", tag:"mo", output:"\u227B", tex:"succ", ttype:CONST},
-{input:"-<=", tag:"mo", output:"\u2AAF", tex:"preceq", ttype:CONST},
-{input:">-=", tag:"mo", output:"\u2AB0", tex:"succeq", ttype:CONST},
-{input:"in", tag:"mo", output:"\u2208", tex:null, ttype:CONST},
-{input:"!in", tag:"mo", output:"\u2209", tex:"notin", ttype:CONST},
-{input:"sub", tag:"mo", output:"\u2282", tex:"subset", ttype:CONST},
-{input:"sup", tag:"mo", output:"\u2283", tex:"supset", ttype:CONST},
-{input:"sube", tag:"mo", output:"\u2286", tex:"subseteq", ttype:CONST},
-{input:"supe", tag:"mo", output:"\u2287", tex:"supseteq", ttype:CONST},
-{input:"-=", tag:"mo", output:"\u2261", tex:"equiv", ttype:CONST},
-{input:"~=", tag:"mo", output:"\u2245", tex:"cong", ttype:CONST},
-{input:"~~", tag:"mo", output:"\u2248", tex:"approx", ttype:CONST},
-{input:"prop", tag:"mo", output:"\u221D", tex:"propto", ttype:CONST},
-
-//logical symbols
-{input:"and", tag:"mtext", output:"and", tex:null, ttype:SPACE},
-{input:"or", tag:"mtext", output:"or", tex:null, ttype:SPACE},
-{input:"not", tag:"mo", output:"\u00AC", tex:"neg", ttype:CONST},
-{input:"=>", tag:"mo", output:"\u21D2", tex:"implies", ttype:CONST},
-{input:"if", tag:"mo", output:"if", tex:null, ttype:SPACE},
-{input:"<=>", tag:"mo", output:"\u21D4", tex:"iff", ttype:CONST},
-{input:"AA", tag:"mo", output:"\u2200", tex:"forall", ttype:CONST},
-{input:"EE", tag:"mo", output:"\u2203", tex:"exists", ttype:CONST},
-{input:"_|_", tag:"mo", output:"\u22A5", tex:"bot", ttype:CONST},
-{input:"TT", tag:"mo", output:"\u22A4", tex:"top", ttype:CONST},
-{input:"|--", tag:"mo", output:"\u22A2", tex:"vdash", ttype:CONST},
-{input:"|==", tag:"mo", output:"\u22A8", tex:"models", ttype:CONST},
-
-//grouping brackets
-{input:"(", tag:"mo", output:"(", tex:null, ttype:LEFTBRACKET},
-{input:")", tag:"mo", output:")", tex:null, ttype:RIGHTBRACKET},
-{input:"[", tag:"mo", output:"[", tex:null, ttype:LEFTBRACKET},
-{input:"]", tag:"mo", output:"]", tex:null, ttype:RIGHTBRACKET},
-{input:"{", tag:"mo", output:"{", tex:null, ttype:LEFTBRACKET},
-{input:"}", tag:"mo", output:"}", tex:null, ttype:RIGHTBRACKET},
-{input:"|", tag:"mo", output:"|", tex:null, ttype:LEFTRIGHT},
-//{input:"||", tag:"mo", output:"||", tex:null, ttype:LEFTRIGHT},
-{input:"(:", tag:"mo", output:"\u2329", tex:"langle", ttype:LEFTBRACKET},
-{input:":)", tag:"mo", output:"\u232A", tex:"rangle", ttype:RIGHTBRACKET},
-{input:"<<", tag:"mo", output:"\u2329", tex:null, ttype:LEFTBRACKET},
-{input:">>", tag:"mo", output:"\u232A", tex:null, ttype:RIGHTBRACKET},
-{input:"{:", tag:"mo", output:"{:", tex:null, ttype:LEFTBRACKET, invisible:true},
-{input:":}", tag:"mo", output:":}", tex:null, ttype:RIGHTBRACKET, invisible:true},
-
-//miscellaneous symbols
-{input:"int", tag:"mo", output:"\u222B", tex:null, ttype:CONST},
-{input:"dx", tag:"mi", output:"{:d x:}", tex:null, ttype:DEFINITION},
-{input:"dy", tag:"mi", output:"{:d y:}", tex:null, ttype:DEFINITION},
-{input:"dz", tag:"mi", output:"{:d z:}", tex:null, ttype:DEFINITION},
-{input:"dt", tag:"mi", output:"{:d t:}", tex:null, ttype:DEFINITION},
-{input:"oint", tag:"mo", output:"\u222E", tex:null, ttype:CONST},
-{input:"del", tag:"mo", output:"\u2202", tex:"partial", ttype:CONST},
-{input:"grad", tag:"mo", output:"\u2207", tex:"nabla", ttype:CONST},
-{input:"+-", tag:"mo", output:"\u00B1", tex:"pm", ttype:CONST},
-{input:"O/", tag:"mo", output:"\u2205", tex:"emptyset", ttype:CONST},
-{input:"oo", tag:"mo", output:"\u221E", tex:"infty", ttype:CONST},
-{input:"aleph", tag:"mo", output:"\u2135", tex:null, ttype:CONST},
-{input:"...", tag:"mo", output:"...", tex:"ldots", ttype:CONST},
-{input:":.", tag:"mo", output:"\u2234", tex:"therefore", ttype:CONST},
-{input:"/_", tag:"mo", output:"\u2220", tex:"angle", ttype:CONST},
-{input:"\\ ", tag:"mo", output:"\u00A0", tex:null, ttype:CONST},
-{input:"quad", tag:"mo", output:"\u00A0\u00A0", tex:null, ttype:CONST},
-{input:"qquad", tag:"mo", output:"\u00A0\u00A0\u00A0\u00A0", tex:null, ttype:CONST},
-{input:"cdots", tag:"mo", output:"\u22EF", tex:null, ttype:CONST},
-{input:"vdots", tag:"mo", output:"\u22EE", tex:null, ttype:CONST},
-{input:"ddots", tag:"mo", output:"\u22F1", tex:null, ttype:CONST},
-{input:"diamond", tag:"mo", output:"\u22C4", tex:null, ttype:CONST},
-{input:"square", tag:"mo", output:"\u25A1", tex:null, ttype:CONST},
-{input:"|__", tag:"mo", output:"\u230A", tex:"lfloor", ttype:CONST},
-{input:"__|", tag:"mo", output:"\u230B", tex:"rfloor", ttype:CONST},
-{input:"|~", tag:"mo", output:"\u2308", tex:"lceiling", ttype:CONST},
-{input:"~|", tag:"mo", output:"\u2309", tex:"rceiling", ttype:CONST},
-{input:"CC", tag:"mo", output:"\u2102", tex:null, ttype:CONST},
-{input:"NN", tag:"mo", output:"\u2115", tex:null, ttype:CONST},
-{input:"QQ", tag:"mo", output:"\u211A", tex:null, ttype:CONST},
-{input:"RR", tag:"mo", output:"\u211D", tex:null, ttype:CONST},
-{input:"ZZ", tag:"mo", output:"\u2124", tex:null, ttype:CONST},
-{input:"f", tag:"mi", output:"f", tex:null, ttype:UNARY, func:true},
-{input:"g", tag:"mi", output:"g", tex:null, ttype:UNARY, func:true},
-
-//standard functions
-{input:"lim", tag:"mo", output:"lim", tex:null, ttype:UNDEROVER},
-{input:"Lim", tag:"mo", output:"Lim", tex:null, ttype:UNDEROVER},
-{input:"sin", tag:"mo", output:"sin", tex:null, ttype:UNARY, func:true},
-{input:"cos", tag:"mo", output:"cos", tex:null, ttype:UNARY, func:true},
-{input:"tan", tag:"mo", output:"tan", tex:null, ttype:UNARY, func:true},
-{input:"sinh", tag:"mo", output:"sinh", tex:null, ttype:UNARY, func:true},
-{input:"cosh", tag:"mo", output:"cosh", tex:null, ttype:UNARY, func:true},
-{input:"tanh", tag:"mo", output:"tanh", tex:null, ttype:UNARY, func:true},
-{input:"cot", tag:"mo", output:"cot", tex:null, ttype:UNARY, func:true},
-{input:"sec", tag:"mo", output:"sec", tex:null, ttype:UNARY, func:true},
-{input:"csc", tag:"mo", output:"csc", tex:null, ttype:UNARY, func:true},
-{input:"log", tag:"mo", output:"log", tex:null, ttype:UNARY, func:true},
-{input:"ln", tag:"mo", output:"ln", tex:null, ttype:UNARY, func:true},
-{input:"det", tag:"mo", output:"det", tex:null, ttype:UNARY, func:true},
-{input:"dim", tag:"mo", output:"dim", tex:null, ttype:CONST},
-{input:"mod", tag:"mo", output:"mod", tex:null, ttype:CONST},
-{input:"gcd", tag:"mo", output:"gcd", tex:null, ttype:UNARY, func:true},
-{input:"lcm", tag:"mo", output:"lcm", tex:null, ttype:UNARY, func:true},
-{input:"lub", tag:"mo", output:"lub", tex:null, ttype:CONST},
-{input:"glb", tag:"mo", output:"glb", tex:null, ttype:CONST},
-{input:"min", tag:"mo", output:"min", tex:null, ttype:UNDEROVER},
-{input:"max", tag:"mo", output:"max", tex:null, ttype:UNDEROVER},
-
-//arrows
-{input:"uarr", tag:"mo", output:"\u2191", tex:"uparrow", ttype:CONST},
-{input:"darr", tag:"mo", output:"\u2193", tex:"downarrow", ttype:CONST},
-{input:"rarr", tag:"mo", output:"\u2192", tex:"rightarrow", ttype:CONST},
-{input:"->", tag:"mo", output:"\u2192", tex:"to", ttype:CONST},
-{input:"|->", tag:"mo", output:"\u21A6", tex:"mapsto", ttype:CONST},
-{input:"larr", tag:"mo", output:"\u2190", tex:"leftarrow", ttype:CONST},
-{input:"harr", tag:"mo", output:"\u2194", tex:"leftrightarrow", ttype:CONST},
-{input:"rArr", tag:"mo", output:"\u21D2", tex:"Rightarrow", ttype:CONST},
-{input:"lArr", tag:"mo", output:"\u21D0", tex:"Leftarrow", ttype:CONST},
-{input:"hArr", tag:"mo", output:"\u21D4", tex:"Leftrightarrow", ttype:CONST},
-
-//commands with argument
-AMsqrt, AMroot, AMfrac, AMdiv, AMover, AMsub, AMsup,
-{input:"hat", tag:"mover", output:"\u005E", tex:null, ttype:UNARY, acc:true},
-{input:"bar", tag:"mover", output:"\u00AF", tex:"overline", ttype:UNARY, acc:true},
-{input:"vec", tag:"mover", output:"\u2192", tex:null, ttype:UNARY, acc:true},
-{input:"dot", tag:"mover", output:".", tex:null, ttype:UNARY, acc:true},
-{input:"ddot", tag:"mover", output:"..", tex:null, ttype:UNARY, acc:true},
-{input:"ul", tag:"munder", output:"\u0332", tex:"underline", ttype:UNARY, acc:true},
-AMtext, AMmbox, AMquote,
-{input:"bb", tag:"mstyle", atname:"fontweight", atval:"bold", output:"bb", tex:null, ttype:UNARY},
-{input:"mathbf", tag:"mstyle", atname:"fontweight", atval:"bold", output:"mathbf", tex:null, ttype:UNARY},
-{input:"sf", tag:"mstyle", atname:"fontfamily", atval:"sans-serif", output:"sf", tex:null, ttype:UNARY},
-{input:"mathsf", tag:"mstyle", atname:"fontfamily", atval:"sans-serif", output:"mathsf", tex:null, ttype:UNARY},
-{input:"bbb", tag:"mstyle", atname:"mathvariant", atval:"double-struck", output:"bbb", tex:null, ttype:UNARY, codes:AMbbb},
-{input:"mathbb", tag:"mstyle", atname:"mathvariant", atval:"double-struck", output:"mathbb", tex:null, ttype:UNARY, codes:AMbbb},
-{input:"cc", tag:"mstyle", atname:"mathvariant", atval:"script", output:"cc", tex:null, ttype:UNARY, codes:AMcal},
-{input:"mathcal", tag:"mstyle", atname:"mathvariant", atval:"script", output:"mathcal", tex:null, ttype:UNARY, codes:AMcal},
-{input:"tt", tag:"mstyle", atname:"fontfamily", atval:"monospace", output:"tt", tex:null, ttype:UNARY},
-{input:"mathtt", tag:"mstyle", atname:"fontfamily", atval:"monospace", output:"mathtt", tex:null, ttype:UNARY},
-{input:"fr", tag:"mstyle", atname:"mathvariant", atval:"fraktur", output:"fr", tex:null, ttype:UNARY, codes:AMfrk},
-{input:"mathfrak", tag:"mstyle", atname:"mathvariant", atval:"fraktur", output:"mathfrak", tex:null, ttype:UNARY, codes:AMfrk}
-];
-
-function compareNames(s1,s2) {
- if (s1.input > s2.input) return 1
- else return -1;
-}
-
-var AMnames = []; //list of input symbols
-
-function AMinitSymbols() {
- var texsymbols = [], i;
- for (i=0; i<AMsymbols.length; i++)
- if (AMsymbols[i].tex)
- texsymbols[texsymbols.length] = {input:AMsymbols[i].tex,
- tag:AMsymbols[i].tag, output:AMsymbols[i].output, ttype:AMsymbols[i].ttype};
- AMsymbols = AMsymbols.concat(texsymbols);
- AMsymbols.sort(compareNames);
- for (i=0; i<AMsymbols.length; i++) AMnames[i] = AMsymbols[i].input;
-}
-
-var AMmathml = "http://www.w3.org/1998/Math/MathML";
-
-function AMcreateElementMathML(t) {
- if (isIE) return document.createElement("m:"+t);
- else return document.createElementNS(AMmathml,t);
-}
-
-function AMcreateMmlNode(t,frag) {
-// var node = AMcreateElementMathML(name);
- if (isIE) var node = document.createElement("m:"+t);
- else var node = document.createElementNS(AMmathml,t);
- node.appendChild(frag);
- return node;
-}
-
-function newcommand(oldstr,newstr) {
- AMsymbols = AMsymbols.concat([{input:oldstr, tag:"mo", output:newstr,
- tex:null, ttype:DEFINITION}]);
-}
-
-function AMremoveCharsAndBlanks(str,n) {
-//remove n characters and any following blanks
- var st;
- if (str.charAt(n)=="\\" && str.charAt(n+1)!="\\" && str.charAt(n+1)!=" ")
- st = str.slice(n+1);
- else st = str.slice(n);
- for (var i=0; i<st.length && st.charCodeAt(i)<=32; i=i+1);
- return st.slice(i);
-}
-
-function AMposition(arr, str, n) {
-// return position >=n where str appears or would be inserted
-// assumes arr is sorted
- if (n==0) {
- var h,m;
- n = -1;
- h = arr.length;
- while (n+1<h) {
- m = (n+h) >> 1;
- if (arr[m]<str) n = m; else h = m;
- }
- return h;
- } else
- for (var i=n; i<arr.length && arr[i]<str; i++);
- return i; // i=arr.length || arr[i]>=str
-}
-
-function AMgetSymbol(str) {
-//return maximal initial substring of str that appears in names
-//return null if there is none
- var k = 0; //new pos
- var j = 0; //old pos
- var mk; //match pos
- var st;
- var tagst;
- var match = "";
- var more = true;
- for (var i=1; i<=str.length && more; i++) {
- st = str.slice(0,i); //initial substring of length i
- j = k;
- k = AMposition(AMnames, st, j);
- if (k<AMnames.length && str.slice(0,AMnames[k].length)==AMnames[k]){
- match = AMnames[k];
- mk = k;
- i = match.length;
- }
- more = k<AMnames.length && str.slice(0,AMnames[k].length)>=AMnames[k];
- }
- AMpreviousSymbol=AMcurrentSymbol;
- if (match!=""){
- AMcurrentSymbol=AMsymbols[mk].ttype;
- return AMsymbols[mk];
- }
-// if str[0] is a digit or - return maxsubstring of digits.digits
- AMcurrentSymbol=CONST;
- k = 1;
- st = str.slice(0,1);
- var integ = true;
- while ("0"<=st && st<="9" && k<=str.length) {
- st = str.slice(k,k+1);
- k++;
- }
- if (st == decimalsign) {
- st = str.slice(k,k+1);
- if ("0"<=st && st<="9") {
- integ = false;
- k++;
- while ("0"<=st && st<="9" && k<=str.length) {
- st = str.slice(k,k+1);
- k++;
- }
- }
- }
- if ((integ && k>1) || k>2) {
- st = str.slice(0,k-1);
- tagst = "mn";
- } else {
- k = 2;
- st = str.slice(0,1); //take 1 character
- tagst = (("A">st || st>"Z") && ("a">st || st>"z")?"mo":"mi");
- }
- if (st=="-" && AMpreviousSymbol==INFIX) {
- AMcurrentSymbol = INFIX; //trick "/" into recognizing "-" on second parse
- return {input:st, tag:tagst, output:st, ttype:UNARY, func:true};
- }
- return {input:st, tag:tagst, output:st, ttype:CONST};
-}
-
-function AMremoveBrackets(node) {
- var st;
- if (node.nodeName=="mrow") {
- st = node.firstChild.firstChild.nodeValue;
- if (st=="(" || st=="[" || st=="{") node.removeChild(node.firstChild);
- }
- if (node.nodeName=="mrow") {
- st = node.lastChild.firstChild.nodeValue;
- if (st==")" || st=="]" || st=="}") node.removeChild(node.lastChild);
- }
-}
-
-/*Parsing ASCII math expressions with the following grammar
-v ::= [A-Za-z] | greek letters | numbers | other constant symbols
-u ::= sqrt | text | bb | other unary symbols for font commands
-b ::= frac | root | stackrel binary symbols
-l ::= ( | [ | { | (: | {: left brackets
-r ::= ) | ] | } | :) | :} right brackets
-S ::= v | lEr | uS | bSS Simple expression
-I ::= S_S | S^S | S_S^S | S Intermediate expression
-E ::= IE | I/I Expression
-Each terminal symbol is translated into a corresponding mathml node.*/
-
-var AMnestingDepth,AMpreviousSymbol,AMcurrentSymbol;
-
-function AMparseSexpr(str) { //parses str and returns [node,tailstr]
- var symbol, node, result, i, st,// rightvert = false,
- newFrag = document.createDocumentFragment();
- str = AMremoveCharsAndBlanks(str,0);
- symbol = AMgetSymbol(str); //either a token or a bracket or empty
- if (symbol == null || symbol.ttype == RIGHTBRACKET && AMnestingDepth > 0) {
- return [null,str];
- }
- if (symbol.ttype == DEFINITION) {
- str = symbol.output+AMremoveCharsAndBlanks(str,symbol.input.length);
- symbol = AMgetSymbol(str);
- }
- switch (symbol.ttype) {
- case UNDEROVER:
- case CONST:
- str = AMremoveCharsAndBlanks(str,symbol.input.length);
- return [AMcreateMmlNode(symbol.tag, //its a constant
- document.createTextNode(symbol.output)),str];
- case LEFTBRACKET: //read (expr+)
- AMnestingDepth++;
- str = AMremoveCharsAndBlanks(str,symbol.input.length);
- result = AMparseExpr(str,true);
- AMnestingDepth--;
- if (typeof symbol.invisible == "boolean" && symbol.invisible)
- node = AMcreateMmlNode("mrow",result[0]);
- else {
- node = AMcreateMmlNode("mo",document.createTextNode(symbol.output));
- node = AMcreateMmlNode("mrow",node);
- node.appendChild(result[0]);
- }
- return [node,result[1]];
- case TEXT:
- if (symbol!=AMquote) str = AMremoveCharsAndBlanks(str,symbol.input.length);
- if (str.charAt(0)=="{") i=str.indexOf("}");
- else if (str.charAt(0)=="(") i=str.indexOf(")");
- else if (str.charAt(0)=="[") i=str.indexOf("]");
- else if (symbol==AMquote) i=str.slice(1).indexOf("\"")+1;
- else i = 0;
- if (i==-1) i = str.length;
- st = str.slice(1,i);
- if (st.charAt(0) == " ") {
- node = AMcreateElementMathML("mspace");
- node.setAttribute("width","1ex");
- newFrag.appendChild(node);
- }
- newFrag.appendChild(
- AMcreateMmlNode(symbol.tag,document.createTextNode(st)));
- if (st.charAt(st.length-1) == " ") {
- node = AMcreateElementMathML("mspace");
- node.setAttribute("width","1ex");
- newFrag.appendChild(node);
- }
- str = AMremoveCharsAndBlanks(str,i+1);
- return [AMcreateMmlNode("mrow",newFrag),str];
- case UNARY:
- str = AMremoveCharsAndBlanks(str,symbol.input.length);
- result = AMparseSexpr(str);
- if (result[0]==null) return [AMcreateMmlNode(symbol.tag,
- document.createTextNode(symbol.output)),str];
- if (typeof symbol.func == "boolean" && symbol.func) { // functions hack
- st = str.charAt(0);
- if (st=="^" || st=="_" || st=="/" || st=="|" || st==",") {
- return [AMcreateMmlNode(symbol.tag,
- document.createTextNode(symbol.output)),str];
- } else {
- node = AMcreateMmlNode("mrow",
- AMcreateMmlNode(symbol.tag,document.createTextNode(symbol.output)));
- node.appendChild(result[0]);
- return [node,result[1]];
- }
- }
- AMremoveBrackets(result[0]);
- if (symbol.input == "sqrt") { // sqrt
- return [AMcreateMmlNode(symbol.tag,result[0]),result[1]];
- } else if (typeof symbol.acc == "boolean" && symbol.acc) { // accent
- node = AMcreateMmlNode(symbol.tag,result[0]);
- node.appendChild(AMcreateMmlNode("mo",document.createTextNode(symbol.output)));
- return [node,result[1]];
- } else { // font change command
- if (!isIE && typeof symbol.codes != "undefined") {
- for (i=0; i<result[0].childNodes.length; i++)
- if (result[0].childNodes[i].nodeName=="mi" || result[0].nodeName=="mi") {
- st = (result[0].nodeName=="mi"?result[0].firstChild.nodeValue:
- result[0].childNodes[i].firstChild.nodeValue);
- var newst = [];
- for (var j=0; j<st.length; j++)
- if (st.charCodeAt(j)>64 && st.charCodeAt(j)<91) newst = newst +
- String.fromCharCode(symbol.codes[st.charCodeAt(j)-65]);
- else newst = newst + st.charAt(j);
- if (result[0].nodeName=="mi")
- result[0]=AMcreateElementMathML("mo").
- appendChild(document.createTextNode(newst));
- else result[0].replaceChild(AMcreateElementMathML("mo").
- appendChild(document.createTextNode(newst)),result[0].childNodes[i]);
- }
- }
- node = AMcreateMmlNode(symbol.tag,result[0]);
- node.setAttribute(symbol.atname,symbol.atval);
- return [node,result[1]];
- }
- case BINARY:
- str = AMremoveCharsAndBlanks(str,symbol.input.length);
- result = AMparseSexpr(str);
- if (result[0]==null) return [AMcreateMmlNode("mo",
- document.createTextNode(symbol.input)),str];
- AMremoveBrackets(result[0]);
- var result2 = AMparseSexpr(result[1]);
- if (result2[0]==null) return [AMcreateMmlNode("mo",
- document.createTextNode(symbol.input)),str];
- AMremoveBrackets(result2[0]);
- if (symbol.input=="root" || symbol.input=="stackrel")
- newFrag.appendChild(result2[0]);
- newFrag.appendChild(result[0]);
- if (symbol.input=="frac") newFrag.appendChild(result2[0]);
- return [AMcreateMmlNode(symbol.tag,newFrag),result2[1]];
- case INFIX:
- str = AMremoveCharsAndBlanks(str,symbol.input.length);
- return [AMcreateMmlNode("mo",document.createTextNode(symbol.output)),str];
- case SPACE:
- str = AMremoveCharsAndBlanks(str,symbol.input.length);
- node = AMcreateElementMathML("mspace");
- node.setAttribute("width","1ex");
- newFrag.appendChild(node);
- newFrag.appendChild(
- AMcreateMmlNode(symbol.tag,document.createTextNode(symbol.output)));
- node = AMcreateElementMathML("mspace");
- node.setAttribute("width","1ex");
- newFrag.appendChild(node);
- return [AMcreateMmlNode("mrow",newFrag),str];
- case LEFTRIGHT:
-// if (rightvert) return [null,str]; else rightvert = true;
- AMnestingDepth++;
- str = AMremoveCharsAndBlanks(str,symbol.input.length);
- result = AMparseExpr(str,false);
- AMnestingDepth--;
- var st = "";
- if (result[0].lastChild!=null)
- st = result[0].lastChild.firstChild.nodeValue;
- if (st == "|") { // its an absolute value subterm
- node = AMcreateMmlNode("mo",document.createTextNode(symbol.output));
- node = AMcreateMmlNode("mrow",node);
- node.appendChild(result[0]);
- return [node,result[1]];
- } else { // the "|" is a \mid
- node = AMcreateMmlNode("mo",document.createTextNode(symbol.output));
- node = AMcreateMmlNode("mrow",node);
- return [node,str];
- }
- default:
-//alert("default");
- str = AMremoveCharsAndBlanks(str,symbol.input.length);
- return [AMcreateMmlNode(symbol.tag, //its a constant
- document.createTextNode(symbol.output)),str];
- }
-}
-
-function AMparseIexpr(str) {
- var symbol, sym1, sym2, node, result, underover;
- str = AMremoveCharsAndBlanks(str,0);
- sym1 = AMgetSymbol(str);
- result = AMparseSexpr(str);
- node = result[0];
- str = result[1];
- symbol = AMgetSymbol(str);
- if (symbol.ttype == INFIX && symbol.input != "/") {
- str = AMremoveCharsAndBlanks(str,symbol.input.length);
-// if (symbol.input == "/") result = AMparseIexpr(str); else ...
- result = AMparseSexpr(str);
- if (result[0] == null) // show box in place of missing argument
- result[0] = AMcreateMmlNode("mo",document.createTextNode("\u25A1"));
- else AMremoveBrackets(result[0]);
- str = result[1];
-// if (symbol.input == "/") AMremoveBrackets(node);
- if (symbol.input == "_") {
- sym2 = AMgetSymbol(str);
- underover = (sym1.ttype == UNDEROVER);
- if (sym2.input == "^") {
- str = AMremoveCharsAndBlanks(str,sym2.input.length);
- var res2 = AMparseSexpr(str);
- AMremoveBrackets(res2[0]);
- str = res2[1];
- node = AMcreateMmlNode((underover?"munderover":"msubsup"),node);
- node.appendChild(result[0]);
- node.appendChild(res2[0]);
- node = AMcreateMmlNode("mrow",node); // so sum does not stretch
- } else {
- node = AMcreateMmlNode((underover?"munder":"msub"),node);
- node.appendChild(result[0]);
- }
- } else {
- node = AMcreateMmlNode(symbol.tag,node);
- node.appendChild(result[0]);
- }
- }
- return [node,str];
-}
-
-function AMparseExpr(str,rightbracket) {
- var symbol, node, result, i, nodeList = [],
- newFrag = document.createDocumentFragment();
- do {
- str = AMremoveCharsAndBlanks(str,0);
- result = AMparseIexpr(str);
- node = result[0];
- str = result[1];
- symbol = AMgetSymbol(str);
- if (symbol.ttype == INFIX && symbol.input == "/") {
- str = AMremoveCharsAndBlanks(str,symbol.input.length);
- result = AMparseIexpr(str);
- if (result[0] == null) // show box in place of missing argument
- result[0] = AMcreateMmlNode("mo",document.createTextNode("\u25A1"));
- else AMremoveBrackets(result[0]);
- str = result[1];
- AMremoveBrackets(node);
- node = AMcreateMmlNode(symbol.tag,node);
- node.appendChild(result[0]);
- newFrag.appendChild(node);
- symbol = AMgetSymbol(str);
- }
- else if (node!=undefined) newFrag.appendChild(node);
- } while ((symbol.ttype != RIGHTBRACKET &&
- (symbol.ttype != LEFTRIGHT || rightbracket)
- || AMnestingDepth == 0) && symbol!=null && symbol.output!="");
- if (symbol.ttype == RIGHTBRACKET || symbol.ttype == LEFTRIGHT) {
-// if (AMnestingDepth > 0) AMnestingDepth--;
- var len = newFrag.childNodes.length;
- if (len>0 && newFrag.childNodes[len-1].nodeName == "mrow" && len>1 &&
- newFrag.childNodes[len-2].nodeName == "mo" &&
- newFrag.childNodes[len-2].firstChild.nodeValue == ",") { //matrix
- var right = newFrag.childNodes[len-1].lastChild.firstChild.nodeValue;
- if (right==")" || right=="]") {
- var left = newFrag.childNodes[len-1].firstChild.firstChild.nodeValue;
- if (left=="(" && right==")" && symbol.output != "}" ||
- left=="[" && right=="]") {
- var pos = []; // positions of commas
- var matrix = true;
- var m = newFrag.childNodes.length;
- for (i=0; matrix && i<m; i=i+2) {
- pos[i] = [];
- node = newFrag.childNodes[i];
- if (matrix) matrix = node.nodeName=="mrow" &&
- (i==m-1 || node.nextSibling.nodeName=="mo" &&
- node.nextSibling.firstChild.nodeValue==",")&&
- node.firstChild.firstChild.nodeValue==left &&
- node.lastChild.firstChild.nodeValue==right;
- if (matrix)
- for (var j=0; j<node.childNodes.length; j++)
- if (node.childNodes[j].firstChild.nodeValue==",")
- pos[i][pos[i].length]=j;
- if (matrix && i>1) matrix = pos[i].length == pos[i-2].length;
- }
- if (matrix) {
- var row, frag, n, k, table = document.createDocumentFragment();
- for (i=0; i<m; i=i+2) {
- row = document.createDocumentFragment();
- frag = document.createDocumentFragment();
- node = newFrag.firstChild; // <mrow>(-,-,...,-,-)</mrow>
- n = node.childNodes.length;
- k = 0;
- node.removeChild(node.firstChild); //remove (
- for (j=1; j<n-1; j++) {
- if (typeof pos[i][k] != "undefined" && j==pos[i][k]){
- node.removeChild(node.firstChild); //remove ,
- row.appendChild(AMcreateMmlNode("mtd",frag));
- k++;
- } else frag.appendChild(node.firstChild);
- }
- row.appendChild(AMcreateMmlNode("mtd",frag));
- if (newFrag.childNodes.length>2) {
- newFrag.removeChild(newFrag.firstChild); //remove <mrow>)</mrow>
- newFrag.removeChild(newFrag.firstChild); //remove <mo>,</mo>
- }
- table.appendChild(AMcreateMmlNode("mtr",row));
- }
- node = AMcreateMmlNode("mtable",table);
- if (typeof symbol.invisible == "boolean" && symbol.invisible) node.setAttribute("columnalign","left");
- newFrag.replaceChild(node,newFrag.firstChild);
- }
- }
- }
- }
- str = AMremoveCharsAndBlanks(str,symbol.input.length);
- if (typeof symbol.invisible != "boolean" || !symbol.invisible) {
- node = AMcreateMmlNode("mo",document.createTextNode(symbol.output));
- newFrag.appendChild(node);
- }
- }
- return [newFrag,str];
-}
-
-function AMparseMath(str) {
- var result, node = AMcreateElementMathML("mstyle");
- if (mathcolor != "") node.setAttribute("mathcolor",mathcolor);
- if (displaystyle) node.setAttribute("displaystyle","true");
- if (mathfontfamily != "") node.setAttribute("fontfamily",mathfontfamily);
- AMnestingDepth = 0;
- node.appendChild(AMparseExpr(str.replace(/^\s+/g,""),false)[0]);
- node = AMcreateMmlNode("math",node);
- if (showasciiformulaonhover) //fixed by djhsu so newline
- node.setAttribute("title",str.replace(/\s+/g," "));//does not show in Gecko
- if (mathfontfamily != "" && (isIE || mathfontfamily != "serif")) {
- var fnode = AMcreateElementXHTML("font");
- fnode.setAttribute("face",mathfontfamily);
- fnode.appendChild(node);
- return fnode;
- }
- return node;
-}
-
-function AMstrarr2docFrag(arr, linebreaks) {
- var newFrag=document.createDocumentFragment();
- var expr = false;
- for (var i=0; i<arr.length; i++) {
- if (expr) newFrag.appendChild(AMparseMath(arr[i]));
- else {
- var arri = (linebreaks ? arr[i].split("\n\n") : [arr[i]]);
- newFrag.appendChild(AMcreateElementXHTML("span").
- appendChild(document.createTextNode(arri[0])));
- for (var j=1; j<arri.length; j++) {
- newFrag.appendChild(AMcreateElementXHTML("p"));
- newFrag.appendChild(AMcreateElementXHTML("span").
- appendChild(document.createTextNode(arri[j])));
- }
- }
- expr = !expr;
- }
- return newFrag;
-}
-
-function AMprocessNodeR(n, linebreaks) {
- var mtch, str, arr, frg, i;
- if (n.childNodes.length == 0) {
- if ((n.nodeType!=8 || linebreaks) &&
- n.parentNode.nodeName!="form" && n.parentNode.nodeName!="FORM" &&
- n.parentNode.nodeName!="textarea" && n.parentNode.nodeName!="TEXTAREA" &&
- n.parentNode.nodeName!="pre" && n.parentNode.nodeName!="PRE") {
- str = n.nodeValue;
- if (!(str == null)) {
- str = str.replace(/\r\n\r\n/g,"\n\n");
- if (doubleblankmathdelimiter) {
- str = str.replace(/\x20\x20\./g," "+AMdelimiter1+".");
- str = str.replace(/\x20\x20,/g," "+AMdelimiter1+",");
- str = str.replace(/\x20\x20/g," "+AMdelimiter1+" ");
- }
- str = str.replace(/\x20+/g," ");
- str = str.replace(/\s*\r\n/g," ");
- mtch = false;
- str = str.replace(new RegExp(AMescape2, "g"),
- function(st){mtch=true;return "AMescape2"});
- str = str.replace(new RegExp(AMescape1, "g"),
- function(st){mtch=true;return "AMescape1"});
- str = str.replace(new RegExp(AMdelimiter2regexp, "g"),AMdelimiter1);
- arr = str.split(AMdelimiter1);
- for (i=0; i<arr.length; i++)
- arr[i]=arr[i].replace(/AMescape2/g,AMdelimiter2).
- replace(/AMescape1/g,AMdelimiter1);
- if (arr.length>1 || mtch) {
- if (checkForMathML) {
- checkForMathML = false;
- var nd = AMisMathMLavailable();
- AMnoMathML = nd != null;
- if (AMnoMathML && notifyIfNoMathML)
- if (alertIfNoMathML)
- alert("To view the ASCIIMathML notation use Internet Explorer 6 +\nMathPlayer (free from www.dessci.com)\n\
- or Firefox/Mozilla/Netscape");
- else AMbody.insertBefore(nd,AMbody.childNodes[0]);
- }
- if (!AMnoMathML) {
- frg = AMstrarr2docFrag(arr,n.nodeType==8);
- var len = frg.childNodes.length;
- n.parentNode.replaceChild(frg,n);
- return len-1;
- } else return 0;
- }
- }
- } else return 0;
- } else if (n.nodeName!="math") {
- for (i=0; i<n.childNodes.length; i++)
- i += AMprocessNodeR(n.childNodes[i], linebreaks);
- }
- return 0;
-}
-
-function AMprocessNode(n, linebreaks, spanclassAM) {
- var frag,st;
- if (spanclassAM!=null) {
- frag = document.getElementsByTagName("span")
- for (var i=0;i<frag.length;i++)
- if (frag[i].className == "AM")
- AMprocessNodeR(frag[i],linebreaks);
- } else {
- try {
- st = n.innerHTML;
- } catch(err) {}
- if (st==null ||
- st.indexOf(AMdelimiter1)!=-1 || st.indexOf(AMdelimiter2)!=-1)
- AMprocessNodeR(n,linebreaks);
- }
- if (isIE) { //needed to match size and font of formula to surrounding text
- frag = document.getElementsByTagName('math');
- for (var i=0;i<frag.length;i++) frag[i].update()
- }
-}
-
-var AMbody;
-var AMnoMathML = false, AMtranslated = false;
-
-function translate(spanclassAM) {
- if (!AMtranslated) { // run this only once
- AMtranslated = true;
- AMinitSymbols();
- AMbody = document.getElementsByTagName("body")[0];
- AMprocessNode(AMbody, false, spanclassAM);
- }
-}
-
-if (isIE) { // avoid adding MathPlayer info explicitly to each webpage
- document.write("<object id=\"mathplayer\"\
- classid=\"clsid:32F66A20-7614-11D4-BD11-00104BD3F987\"></object>");
- document.write("<?import namespace=\"m\" implementation=\"#mathplayer\"?>");
-}
-
-// GO1.1 Generic onload by Brothercake
-// http://www.brothercake.com/
-//onload function (replaces the onload="translate()" in the <body> tag)
-function generic()
-{
- translate();
-};
-//setup onload function
-if(typeof window.addEventListener != 'undefined')
-{
- //.. gecko, safari, konqueror and standard
- window.addEventListener('load', generic, false);
-}
-else if(typeof document.addEventListener != 'undefined')
-{
- //.. opera 7
- document.addEventListener('load', generic, false);
-}
-else if(typeof window.attachEvent != 'undefined')
-{
- //.. win/ie
- window.attachEvent('onload', generic);
-}
-//** remove this condition to degrade older browsers
-else
-{
- //.. mac/ie5 and anything else that gets this far
- //if there's an existing onload function
- if(typeof window.onload == 'function')
- {
- //store it
- var existing = onload;
- //add new onload handler
- window.onload = function()
- {
- //call existing onload function
- existing();
- //call generic onload function
- generic();
- };
- }
- else
- {
- //setup onload function
- window.onload = generic;
- }
-}
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/javascripts/LaTeXMathML.js b/code/maint/asciidoc/asciidoc-8.6.3/javascripts/LaTeXMathML.js
deleted file mode 100644
index 51dba70..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/javascripts/LaTeXMathML.js
+++ /dev/null
@@ -1,1223 +0,0 @@
-/*
-LaTeXMathML.js
-==============
-
-This file, in this form, is due to Douglas Woodall, June 2006.
-It contains JavaScript functions to convert (most simple) LaTeX
-math notation to Presentation MathML. It was obtained by
-downloading the file ASCIIMathML.js from
- http://www1.chapman.edu/~jipsen/mathml/asciimathdownload/
-and modifying it so that it carries out ONLY those conversions
-that would be carried out in LaTeX. A description of the original
-file, with examples, can be found at
- www1.chapman.edu/~jipsen/mathml/asciimath.html
- ASCIIMathML: Math on the web for everyone
-
-Here is the header notice from the original file:
-
-ASCIIMathML.js
-==============
-This file contains JavaScript functions to convert ASCII math notation
-to Presentation MathML. The conversion is done while the (X)HTML page
-loads, and should work with Firefox/Mozilla/Netscape 7+ and Internet
-Explorer 6+MathPlayer (http://www.dessci.com/en/products/mathplayer/)
-Just add the next line to your (X)HTML page with this file in the same folder:
-This is a convenient and inexpensive solution for authoring MathML.
-
-Version 1.4.7 Dec 15, 2005, (c) Peter Jipsen http://www.chapman.edu/~jipsen
-Latest version at http://www.chapman.edu/~jipsen/mathml/ASCIIMathML.js
-For changes see http://www.chapman.edu/~jipsen/mathml/asciimathchanges.txt
-If you use it on a webpage, please send the URL to jipsen(a)chapman.edu
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or (at
-your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License (at http://www.gnu.org/copyleft/gpl.html)
-for more details.
-
-LaTeXMathML.js (ctd)
-==============
-
-The instructions for use are the same as for the original
-ASCIIMathML.js, except that of course the line you add to your
-file should be
-Or use absolute path names if the file is not in the same folder
-as your (X)HTML page.
-*/
-
-var checkForMathML = true; // check if browser can display MathML
-var notifyIfNoMathML = true; // display note if no MathML capability
-var alertIfNoMathML = false; // show alert box if no MathML capability
-// was "red":
-var mathcolor = ""; // change it to "" (to inherit) or any other color
-// was "serif":
-var mathfontfamily = ""; // change to "" to inherit (works in IE)
- // or another family (e.g. "arial")
-var showasciiformulaonhover = true; // helps students learn ASCIIMath
-/*
-// Commented out by DRW -- not now used -- see DELIMITERS (twice) near the end
-var displaystyle = false; // puts limits above and below large operators
-var decimalsign = "."; // change to "," if you like, beware of `(1,2)`!
-var AMdelimiter1 = "`", AMescape1 = "\\\\`"; // can use other characters
-var AMdelimiter2 = "$", AMescape2 = "\\\\\\$", AMdelimiter2regexp = "\\$";
-var doubleblankmathdelimiter = false; // if true, x+1 is equal to `x+1`
- // for IE this works only in <!-- -->
-//var separatetokens;// has been removed (email me if this is a problem)
-*/
-var isIE = document.createElementNS==null;
-
-if (document.getElementById==null)
- alert("This webpage requires a recent browser such as\
-\nMozilla/Netscape 7+ or Internet Explorer 6+MathPlayer")
-
-// all further global variables start with "AM"
-
-function AMcreateElementXHTML(t) {
- if (isIE) return document.createElement(t);
- else return document.createElementNS("http://www.w3.org/1999/xhtml",t);
-}
-
-function AMnoMathMLNote() {
- var nd = AMcreateElementXHTML("h3");
- nd.setAttribute("align","center")
- nd.appendChild(AMcreateElementXHTML("p"));
- nd.appendChild(document.createTextNode("To view the "));
- var an = AMcreateElementXHTML("a");
- an.appendChild(document.createTextNode("LaTeXMathML"));
- an.setAttribute("href","http://www.maths.nott.ac.uk/personal/drw/lm.html");
- nd.appendChild(an);
- nd.appendChild(document.createTextNode(" notation use Internet Explorer 6+"));
- an = AMcreateElementXHTML("a");
- an.appendChild(document.createTextNode("MathPlayer"));
- an.setAttribute("href","http://www.dessci.com/en/products/mathplayer/download.htm");
- nd.appendChild(an);
- nd.appendChild(document.createTextNode(" or Netscape/Mozilla/Firefox"));
- nd.appendChild(AMcreateElementXHTML("p"));
- return nd;
-}
-
-function AMisMathMLavailable() {
- if (navigator.appName.slice(0,8)=="Netscape")
- if (navigator.appVersion.slice(0,1)>="5") return null;
- else return AMnoMathMLNote();
- else if (navigator.appName.slice(0,9)=="Microsoft")
- try {
- var ActiveX = new ActiveXObject("MathPlayer.Factory.1");
- return null;
- } catch (e) {
- return AMnoMathMLNote();
- }
- else return AMnoMathMLNote();
-}
-
-// character lists for Mozilla/Netscape fonts
-var AMcal = [0xEF35,0x212C,0xEF36,0xEF37,0x2130,0x2131,0xEF38,0x210B,0x2110,0xEF39,0xEF3A,0x2112,0x2133,0xEF3B,0xEF3C,0xEF3D,0xEF3E,0x211B,0xEF3F,0xEF40,0xEF41,0xEF42,0xEF43,0xEF44,0xEF45,0xEF46];
-var AMfrk = [0xEF5D,0xEF5E,0x212D,0xEF5F,0xEF60,0xEF61,0xEF62,0x210C,0x2111,0xEF63,0xEF64,0xEF65,0xEF66,0xEF67,0xEF68,0xEF69,0xEF6A,0x211C,0xEF6B,0xEF6C,0xEF6D,0xEF6E,0xEF6F,0xEF70,0xEF71,0x2128];
-var AMbbb = [0xEF8C,0xEF8D,0x2102,0xEF8E,0xEF8F,0xEF90,0xEF91,0x210D,0xEF92,0xEF93,0xEF94,0xEF95,0xEF96,0x2115,0xEF97,0x2119,0x211A,0x211D,0xEF98,0xEF99,0xEF9A,0xEF9B,0xEF9C,0xEF9D,0xEF9E,0x2124];
-
-var CONST = 0, UNARY = 1, BINARY = 2, INFIX = 3, LEFTBRACKET = 4,
- RIGHTBRACKET = 5, SPACE = 6, UNDEROVER = 7, DEFINITION = 8,
- TEXT = 9, BIG = 10, LONG = 11, STRETCHY = 12, MATRIX = 13; // token types
-
-var AMsqrt = {input:"\\sqrt", tag:"msqrt", output:"sqrt", ttype:UNARY},
- AMroot = {input:"\\root", tag:"mroot", output:"root", ttype:BINARY},
- AMfrac = {input:"\\frac", tag:"mfrac", output:"/", ttype:BINARY},
- AMover = {input:"\\stackrel", tag:"mover", output:"stackrel", ttype:BINARY},
- AMatop = {input:"\\atop", tag:"mfrac", output:"", ttype:INFIX},
- AMchoose = {input:"\\choose", tag:"mfrac", output:"", ttype:INFIX},
- AMsub = {input:"_", tag:"msub", output:"_", ttype:INFIX},
- AMsup = {input:"^", tag:"msup", output:"^", ttype:INFIX},
- AMtext = {input:"\\mathrm", tag:"mtext", output:"text", ttype:TEXT},
- AMmbox = {input:"\\mbox", tag:"mtext", output:"mbox", ttype:TEXT};
-
-// Commented out by DRW to prevent 1/2 turning into a 2-line fraction
-// AMdiv = {input:"/", tag:"mfrac", output:"/", ttype:INFIX},
-// Commented out by DRW so that " prints literally in equations
-// AMquote = {input:"\"", tag:"mtext", output:"mbox", ttype:TEXT};
-
-var AMsymbols = [
-//Greek letters
-{input:"\\alpha", tag:"mi", output:"\u03B1", ttype:CONST},
-{input:"\\beta", tag:"mi", output:"\u03B2", ttype:CONST},
-{input:"\\gamma", tag:"mi", output:"\u03B3", ttype:CONST},
-{input:"\\delta", tag:"mi", output:"\u03B4", ttype:CONST},
-{input:"\\epsilon", tag:"mi", output:"\u03B5", ttype:CONST},
-{input:"\\varepsilon", tag:"mi", output:"\u025B", ttype:CONST},
-{input:"\\zeta", tag:"mi", output:"\u03B6", ttype:CONST},
-{input:"\\eta", tag:"mi", output:"\u03B7", ttype:CONST},
-{input:"\\theta", tag:"mi", output:"\u03B8", ttype:CONST},
-{input:"\\vartheta", tag:"mi", output:"\u03D1", ttype:CONST},
-{input:"\\iota", tag:"mi", output:"\u03B9", ttype:CONST},
-{input:"\\kappa", tag:"mi", output:"\u03BA", ttype:CONST},
-{input:"\\lambda", tag:"mi", output:"\u03BB", ttype:CONST},
-{input:"\\mu", tag:"mi", output:"\u03BC", ttype:CONST},
-{input:"\\nu", tag:"mi", output:"\u03BD", ttype:CONST},
-{input:"\\xi", tag:"mi", output:"\u03BE", ttype:CONST},
-{input:"\\pi", tag:"mi", output:"\u03C0", ttype:CONST},
-{input:"\\varpi", tag:"mi", output:"\u03D6", ttype:CONST},
-{input:"\\rho", tag:"mi", output:"\u03C1", ttype:CONST},
-{input:"\\varrho", tag:"mi", output:"\u03F1", ttype:CONST},
-{input:"\\varsigma", tag:"mi", output:"\u03C2", ttype:CONST},
-{input:"\\sigma", tag:"mi", output:"\u03C3", ttype:CONST},
-{input:"\\tau", tag:"mi", output:"\u03C4", ttype:CONST},
-{input:"\\upsilon", tag:"mi", output:"\u03C5", ttype:CONST},
-{input:"\\phi", tag:"mi", output:"\u03C6", ttype:CONST},
-{input:"\\varphi", tag:"mi", output:"\u03D5", ttype:CONST},
-{input:"\\chi", tag:"mi", output:"\u03C7", ttype:CONST},
-{input:"\\psi", tag:"mi", output:"\u03C8", ttype:CONST},
-{input:"\\omega", tag:"mi", output:"\u03C9", ttype:CONST},
-{input:"\\Gamma", tag:"mo", output:"\u0393", ttype:CONST},
-{input:"\\Delta", tag:"mo", output:"\u0394", ttype:CONST},
-{input:"\\Theta", tag:"mo", output:"\u0398", ttype:CONST},
-{input:"\\Lambda", tag:"mo", output:"\u039B", ttype:CONST},
-{input:"\\Xi", tag:"mo", output:"\u039E", ttype:CONST},
-{input:"\\Pi", tag:"mo", output:"\u03A0", ttype:CONST},
-{input:"\\Sigma", tag:"mo", output:"\u03A3", ttype:CONST},
-{input:"\\Upsilon", tag:"mo", output:"\u03A5", ttype:CONST},
-{input:"\\Phi", tag:"mo", output:"\u03A6", ttype:CONST},
-{input:"\\Psi", tag:"mo", output:"\u03A8", ttype:CONST},
-{input:"\\Omega", tag:"mo", output:"\u03A9", ttype:CONST},
-
-//fractions
-{input:"\\frac12", tag:"mo", output:"\u00BD", ttype:CONST},
-{input:"\\frac14", tag:"mo", output:"\u00BC", ttype:CONST},
-{input:"\\frac34", tag:"mo", output:"\u00BE", ttype:CONST},
-{input:"\\frac13", tag:"mo", output:"\u2153", ttype:CONST},
-{input:"\\frac23", tag:"mo", output:"\u2154", ttype:CONST},
-{input:"\\frac15", tag:"mo", output:"\u2155", ttype:CONST},
-{input:"\\frac25", tag:"mo", output:"\u2156", ttype:CONST},
-{input:"\\frac35", tag:"mo", output:"\u2157", ttype:CONST},
-{input:"\\frac45", tag:"mo", output:"\u2158", ttype:CONST},
-{input:"\\frac16", tag:"mo", output:"\u2159", ttype:CONST},
-{input:"\\frac56", tag:"mo", output:"\u215A", ttype:CONST},
-{input:"\\frac18", tag:"mo", output:"\u215B", ttype:CONST},
-{input:"\\frac38", tag:"mo", output:"\u215C", ttype:CONST},
-{input:"\\frac58", tag:"mo", output:"\u215D", ttype:CONST},
-{input:"\\frac78", tag:"mo", output:"\u215E", ttype:CONST},
-
-//binary operation symbols
-{input:"\\pm", tag:"mo", output:"\u00B1", ttype:CONST},
-{input:"\\mp", tag:"mo", output:"\u2213", ttype:CONST},
-{input:"\\triangleleft",tag:"mo", output:"\u22B2", ttype:CONST},
-{input:"\\triangleright",tag:"mo",output:"\u22B3", ttype:CONST},
-{input:"\\cdot", tag:"mo", output:"\u22C5", ttype:CONST},
-{input:"\\star", tag:"mo", output:"\u22C6", ttype:CONST},
-{input:"\\ast", tag:"mo", output:"\u002A", ttype:CONST},
-{input:"\\times", tag:"mo", output:"\u00D7", ttype:CONST},
-{input:"\\div", tag:"mo", output:"\u00F7", ttype:CONST},
-{input:"\\circ", tag:"mo", output:"\u2218", ttype:CONST},
-//{input:"\\bullet", tag:"mo", output:"\u2219", ttype:CONST},
-{input:"\\bullet", tag:"mo", output:"\u2022", ttype:CONST},
-{input:"\\oplus", tag:"mo", output:"\u2295", ttype:CONST},
-{input:"\\ominus", tag:"mo", output:"\u2296", ttype:CONST},
-{input:"\\otimes", tag:"mo", output:"\u2297", ttype:CONST},
-{input:"\\bigcirc", tag:"mo", output:"\u25CB", ttype:CONST},
-{input:"\\oslash", tag:"mo", output:"\u2298", ttype:CONST},
-{input:"\\odot", tag:"mo", output:"\u2299", ttype:CONST},
-{input:"\\land", tag:"mo", output:"\u2227", ttype:CONST},
-{input:"\\wedge", tag:"mo", output:"\u2227", ttype:CONST},
-{input:"\\lor", tag:"mo", output:"\u2228", ttype:CONST},
-{input:"\\vee", tag:"mo", output:"\u2228", ttype:CONST},
-{input:"\\cap", tag:"mo", output:"\u2229", ttype:CONST},
-{input:"\\cup", tag:"mo", output:"\u222A", ttype:CONST},
-{input:"\\sqcap", tag:"mo", output:"\u2293", ttype:CONST},
-{input:"\\sqcup", tag:"mo", output:"\u2294", ttype:CONST},
-{input:"\\uplus", tag:"mo", output:"\u228E", ttype:CONST},
-{input:"\\amalg", tag:"mo", output:"\u2210", ttype:CONST},
-{input:"\\bigtriangleup",tag:"mo",output:"\u25B3", ttype:CONST},
-{input:"\\bigtriangledown",tag:"mo",output:"\u25BD", ttype:CONST},
-{input:"\\dag", tag:"mo", output:"\u2020", ttype:CONST},
-{input:"\\dagger", tag:"mo", output:"\u2020", ttype:CONST},
-{input:"\\ddag", tag:"mo", output:"\u2021", ttype:CONST},
-{input:"\\ddagger", tag:"mo", output:"\u2021", ttype:CONST},
-{input:"\\lhd", tag:"mo", output:"\u22B2", ttype:CONST},
-{input:"\\rhd", tag:"mo", output:"\u22B3", ttype:CONST},
-{input:"\\unlhd", tag:"mo", output:"\u22B4", ttype:CONST},
-{input:"\\unrhd", tag:"mo", output:"\u22B5", ttype:CONST},
-
-
-//BIG Operators
-{input:"\\sum", tag:"mo", output:"\u2211", ttype:UNDEROVER},
-{input:"\\prod", tag:"mo", output:"\u220F", ttype:UNDEROVER},
-{input:"\\bigcap", tag:"mo", output:"\u22C2", ttype:UNDEROVER},
-{input:"\\bigcup", tag:"mo", output:"\u22C3", ttype:UNDEROVER},
-{input:"\\bigwedge", tag:"mo", output:"\u22C0", ttype:UNDEROVER},
-{input:"\\bigvee", tag:"mo", output:"\u22C1", ttype:UNDEROVER},
-{input:"\\bigsqcap", tag:"mo", output:"\u2A05", ttype:UNDEROVER},
-{input:"\\bigsqcup", tag:"mo", output:"\u2A06", ttype:UNDEROVER},
-{input:"\\coprod", tag:"mo", output:"\u2210", ttype:UNDEROVER},
-{input:"\\bigoplus", tag:"mo", output:"\u2A01", ttype:UNDEROVER},
-{input:"\\bigotimes", tag:"mo", output:"\u2A02", ttype:UNDEROVER},
-{input:"\\bigodot", tag:"mo", output:"\u2A00", ttype:UNDEROVER},
-{input:"\\biguplus", tag:"mo", output:"\u2A04", ttype:UNDEROVER},
-{input:"\\int", tag:"mo", output:"\u222B", ttype:CONST},
-{input:"\\oint", tag:"mo", output:"\u222E", ttype:CONST},
-
-//binary relation symbols
-{input:":=", tag:"mo", output:":=", ttype:CONST},
-{input:"\\lt", tag:"mo", output:"<", ttype:CONST},
-{input:"\\gt", tag:"mo", output:">", ttype:CONST},
-{input:"\\ne", tag:"mo", output:"\u2260", ttype:CONST},
-{input:"\\neq", tag:"mo", output:"\u2260", ttype:CONST},
-{input:"\\le", tag:"mo", output:"\u2264", ttype:CONST},
-{input:"\\leq", tag:"mo", output:"\u2264", ttype:CONST},
-{input:"\\leqslant", tag:"mo", output:"\u2264", ttype:CONST},
-{input:"\\ge", tag:"mo", output:"\u2265", ttype:CONST},
-{input:"\\geq", tag:"mo", output:"\u2265", ttype:CONST},
-{input:"\\geqslant", tag:"mo", output:"\u2265", ttype:CONST},
-{input:"\\equiv", tag:"mo", output:"\u2261", ttype:CONST},
-{input:"\\ll", tag:"mo", output:"\u226A", ttype:CONST},
-{input:"\\gg", tag:"mo", output:"\u226B", ttype:CONST},
-{input:"\\doteq", tag:"mo", output:"\u2250", ttype:CONST},
-{input:"\\prec", tag:"mo", output:"\u227A", ttype:CONST},
-{input:"\\succ", tag:"mo", output:"\u227B", ttype:CONST},
-{input:"\\preceq", tag:"mo", output:"\u227C", ttype:CONST},
-{input:"\\succeq", tag:"mo", output:"\u227D", ttype:CONST},
-{input:"\\subset", tag:"mo", output:"\u2282", ttype:CONST},
-{input:"\\supset", tag:"mo", output:"\u2283", ttype:CONST},
-{input:"\\subseteq", tag:"mo", output:"\u2286", ttype:CONST},
-{input:"\\supseteq", tag:"mo", output:"\u2287", ttype:CONST},
-{input:"\\sqsubset", tag:"mo", output:"\u228F", ttype:CONST},
-{input:"\\sqsupset", tag:"mo", output:"\u2290", ttype:CONST},
-{input:"\\sqsubseteq", tag:"mo", output:"\u2291", ttype:CONST},
-{input:"\\sqsupseteq", tag:"mo", output:"\u2292", ttype:CONST},
-{input:"\\sim", tag:"mo", output:"\u223C", ttype:CONST},
-{input:"\\simeq", tag:"mo", output:"\u2243", ttype:CONST},
-{input:"\\approx", tag:"mo", output:"\u2248", ttype:CONST},
-{input:"\\cong", tag:"mo", output:"\u2245", ttype:CONST},
-{input:"\\Join", tag:"mo", output:"\u22C8", ttype:CONST},
-{input:"\\bowtie", tag:"mo", output:"\u22C8", ttype:CONST},
-{input:"\\in", tag:"mo", output:"\u2208", ttype:CONST},
-{input:"\\ni", tag:"mo", output:"\u220B", ttype:CONST},
-{input:"\\owns", tag:"mo", output:"\u220B", ttype:CONST},
-{input:"\\propto", tag:"mo", output:"\u221D", ttype:CONST},
-{input:"\\vdash", tag:"mo", output:"\u22A2", ttype:CONST},
-{input:"\\dashv", tag:"mo", output:"\u22A3", ttype:CONST},
-{input:"\\models", tag:"mo", output:"\u22A8", ttype:CONST},
-{input:"\\perp", tag:"mo", output:"\u22A5", ttype:CONST},
-{input:"\\smile", tag:"mo", output:"\u2323", ttype:CONST},
-{input:"\\frown", tag:"mo", output:"\u2322", ttype:CONST},
-{input:"\\asymp", tag:"mo", output:"\u224D", ttype:CONST},
-{input:"\\notin", tag:"mo", output:"\u2209", ttype:CONST},
-
-//matrices
-{input:"\\begin{eqnarray}", output:"X", ttype:MATRIX, invisible:true},
-{input:"\\begin{array}", output:"X", ttype:MATRIX, invisible:true},
-{input:"\\\\", output:"}&{", ttype:DEFINITION},
-{input:"\\end{eqnarray}", output:"}}", ttype:DEFINITION},
-{input:"\\end{array}", output:"}}", ttype:DEFINITION},
-
-//grouping and literal brackets -- ieval is for IE
-{input:"\\big", tag:"mo", output:"X", atval:"1.2", ieval:"2.2", ttype:BIG},
-{input:"\\Big", tag:"mo", output:"X", atval:"1.6", ieval:"2.6", ttype:BIG},
-{input:"\\bigg", tag:"mo", output:"X", atval:"2.2", ieval:"3.2", ttype:BIG},
-{input:"\\Bigg", tag:"mo", output:"X", atval:"2.9", ieval:"3.9", ttype:BIG},
-{input:"\\left", tag:"mo", output:"X", ttype:LEFTBRACKET},
-{input:"\\right", tag:"mo", output:"X", ttype:RIGHTBRACKET},
-{input:"{", output:"{", ttype:LEFTBRACKET, invisible:true},
-{input:"}", output:"}", ttype:RIGHTBRACKET, invisible:true},
-
-{input:"(", tag:"mo", output:"(", atval:"1", ttype:STRETCHY},
-{input:"[", tag:"mo", output:"[", atval:"1", ttype:STRETCHY},
-{input:"\\lbrack", tag:"mo", output:"[", atval:"1", ttype:STRETCHY},
-{input:"\\{", tag:"mo", output:"{", atval:"1", ttype:STRETCHY},
-{input:"\\lbrace", tag:"mo", output:"{", atval:"1", ttype:STRETCHY},
-{input:"\\langle", tag:"mo", output:"\u2329", atval:"1", ttype:STRETCHY},
-{input:"\\lfloor", tag:"mo", output:"\u230A", atval:"1", ttype:STRETCHY},
-{input:"\\lceil", tag:"mo", output:"\u2308", atval:"1", ttype:STRETCHY},
-
-// rtag:"mi" causes space to be inserted before a following sin, cos, etc.
-// (see function AMparseExpr() )
-{input:")", tag:"mo",output:")", rtag:"mi",atval:"1",ttype:STRETCHY},
-{input:"]", tag:"mo",output:"]", rtag:"mi",atval:"1",ttype:STRETCHY},
-{input:"\\rbrack",tag:"mo",output:"]", rtag:"mi",atval:"1",ttype:STRETCHY},
-{input:"\\}", tag:"mo",output:"}", rtag:"mi",atval:"1",ttype:STRETCHY},
-{input:"\\rbrace",tag:"mo",output:"}", rtag:"mi",atval:"1",ttype:STRETCHY},
-{input:"\\rangle",tag:"mo",output:"\u232A", rtag:"mi",atval:"1",ttype:STRETCHY},
-{input:"\\rfloor",tag:"mo",output:"\u230B", rtag:"mi",atval:"1",ttype:STRETCHY},
-{input:"\\rceil", tag:"mo",output:"\u2309", rtag:"mi",atval:"1",ttype:STRETCHY},
-
-// "|", "\\|", "\\vert" and "\\Vert" modified later: lspace = rspace = 0em
-{input:"|", tag:"mo", output:"\u2223", atval:"1", ttype:STRETCHY},
-{input:"\\|", tag:"mo", output:"\u2225", atval:"1", ttype:STRETCHY},
-{input:"\\vert", tag:"mo", output:"\u2223", atval:"1", ttype:STRETCHY},
-{input:"\\Vert", tag:"mo", output:"\u2225", atval:"1", ttype:STRETCHY},
-{input:"\\mid", tag:"mo", output:"\u2223", atval:"1", ttype:STRETCHY},
-{input:"\\parallel", tag:"mo", output:"\u2225", atval:"1", ttype:STRETCHY},
-{input:"/", tag:"mo", output:"/", atval:"1.01", ttype:STRETCHY},
-{input:"\\backslash", tag:"mo", output:"\u2216", atval:"1", ttype:STRETCHY},
-{input:"\\setminus", tag:"mo", output:"\\", ttype:CONST},
-
-//miscellaneous symbols
-{input:"\\!", tag:"mspace", atname:"width", atval:"-0.167em", ttype:SPACE},
-{input:"\\,", tag:"mspace", atname:"width", atval:"0.167em", ttype:SPACE},
-{input:"\\>", tag:"mspace", atname:"width", atval:"0.222em", ttype:SPACE},
-{input:"\\:", tag:"mspace", atname:"width", atval:"0.222em", ttype:SPACE},
-{input:"\\;", tag:"mspace", atname:"width", atval:"0.278em", ttype:SPACE},
-{input:"~", tag:"mspace", atname:"width", atval:"0.333em", ttype:SPACE},
-{input:"\\quad", tag:"mspace", atname:"width", atval:"1em", ttype:SPACE},
-{input:"\\qquad", tag:"mspace", atname:"width", atval:"2em", ttype:SPACE},
-//{input:"{}", tag:"mo", output:"\u200B", ttype:CONST}, // zero-width
-{input:"\\prime", tag:"mo", output:"\u2032", ttype:CONST},
-{input:"'", tag:"mo", output:"\u02B9", ttype:CONST},
-{input:"''", tag:"mo", output:"\u02BA", ttype:CONST},
-{input:"'''", tag:"mo", output:"\u2034", ttype:CONST},
-{input:"''''", tag:"mo", output:"\u2057", ttype:CONST},
-{input:"\\ldots", tag:"mo", output:"\u2026", ttype:CONST},
-{input:"\\cdots", tag:"mo", output:"\u22EF", ttype:CONST},
-{input:"\\vdots", tag:"mo", output:"\u22EE", ttype:CONST},
-{input:"\\ddots", tag:"mo", output:"\u22F1", ttype:CONST},
-{input:"\\forall", tag:"mo", output:"\u2200", ttype:CONST},
-{input:"\\exists", tag:"mo", output:"\u2203", ttype:CONST},
-{input:"\\Re", tag:"mo", output:"\u211C", ttype:CONST},
-{input:"\\Im", tag:"mo", output:"\u2111", ttype:CONST},
-{input:"\\aleph", tag:"mo", output:"\u2135", ttype:CONST},
-{input:"\\hbar", tag:"mo", output:"\u210F", ttype:CONST},
-{input:"\\ell", tag:"mo", output:"\u2113", ttype:CONST},
-{input:"\\wp", tag:"mo", output:"\u2118", ttype:CONST},
-{input:"\\emptyset", tag:"mo", output:"\u2205", ttype:CONST},
-{input:"\\infty", tag:"mo", output:"\u221E", ttype:CONST},
-{input:"\\surd", tag:"mo", output:"\\sqrt{}", ttype:DEFINITION},
-{input:"\\partial", tag:"mo", output:"\u2202", ttype:CONST},
-{input:"\\nabla", tag:"mo", output:"\u2207", ttype:CONST},
-{input:"\\triangle", tag:"mo", output:"\u25B3", ttype:CONST},
-{input:"\\therefore", tag:"mo", output:"\u2234", ttype:CONST},
-{input:"\\angle", tag:"mo", output:"\u2220", ttype:CONST},
-//{input:"\\\\ ", tag:"mo", output:"\u00A0", ttype:CONST},
-{input:"\\diamond", tag:"mo", output:"\u22C4", ttype:CONST},
-//{input:"\\Diamond", tag:"mo", output:"\u25CA", ttype:CONST},
-{input:"\\Diamond", tag:"mo", output:"\u25C7", ttype:CONST},
-{input:"\\neg", tag:"mo", output:"\u00AC", ttype:CONST},
-{input:"\\lnot", tag:"mo", output:"\u00AC", ttype:CONST},
-{input:"\\bot", tag:"mo", output:"\u22A5", ttype:CONST},
-{input:"\\top", tag:"mo", output:"\u22A4", ttype:CONST},
-{input:"\\square", tag:"mo", output:"\u25AB", ttype:CONST},
-{input:"\\Box", tag:"mo", output:"\u25A1", ttype:CONST},
-{input:"\\wr", tag:"mo", output:"\u2240", ttype:CONST},
-
-//standard functions
-//Note UNDEROVER *must* have tag:"mo" to work properly
-{input:"\\arccos", tag:"mi", output:"arccos", ttype:UNARY, func:true},
-{input:"\\arcsin", tag:"mi", output:"arcsin", ttype:UNARY, func:true},
-{input:"\\arctan", tag:"mi", output:"arctan", ttype:UNARY, func:true},
-{input:"\\arg", tag:"mi", output:"arg", ttype:UNARY, func:true},
-{input:"\\cos", tag:"mi", output:"cos", ttype:UNARY, func:true},
-{input:"\\cosh", tag:"mi", output:"cosh", ttype:UNARY, func:true},
-{input:"\\cot", tag:"mi", output:"cot", ttype:UNARY, func:true},
-{input:"\\coth", tag:"mi", output:"coth", ttype:UNARY, func:true},
-{input:"\\csc", tag:"mi", output:"csc", ttype:UNARY, func:true},
-{input:"\\deg", tag:"mi", output:"deg", ttype:UNARY, func:true},
-{input:"\\det", tag:"mi", output:"det", ttype:UNARY, func:true},
-{input:"\\dim", tag:"mi", output:"dim", ttype:UNARY, func:true}, //CONST?
-{input:"\\exp", tag:"mi", output:"exp", ttype:UNARY, func:true},
-{input:"\\gcd", tag:"mi", output:"gcd", ttype:UNARY, func:true}, //CONST?
-{input:"\\hom", tag:"mi", output:"hom", ttype:UNARY, func:true},
-{input:"\\inf", tag:"mo", output:"inf", ttype:UNDEROVER},
-{input:"\\ker", tag:"mi", output:"ker", ttype:UNARY, func:true},
-{input:"\\lg", tag:"mi", output:"lg", ttype:UNARY, func:true},
-{input:"\\lim", tag:"mo", output:"lim", ttype:UNDEROVER},
-{input:"\\liminf", tag:"mo", output:"liminf", ttype:UNDEROVER},
-{input:"\\limsup", tag:"mo", output:"limsup", ttype:UNDEROVER},
-{input:"\\ln", tag:"mi", output:"ln", ttype:UNARY, func:true},
-{input:"\\log", tag:"mi", output:"log", ttype:UNARY, func:true},
-{input:"\\max", tag:"mo", output:"max", ttype:UNDEROVER},
-{input:"\\min", tag:"mo", output:"min", ttype:UNDEROVER},
-{input:"\\Pr", tag:"mi", output:"Pr", ttype:UNARY, func:true},
-{input:"\\sec", tag:"mi", output:"sec", ttype:UNARY, func:true},
-{input:"\\sin", tag:"mi", output:"sin", ttype:UNARY, func:true},
-{input:"\\sinh", tag:"mi", output:"sinh", ttype:UNARY, func:true},
-{input:"\\sup", tag:"mo", output:"sup", ttype:UNDEROVER},
-{input:"\\tan", tag:"mi", output:"tan", ttype:UNARY, func:true},
-{input:"\\tanh", tag:"mi", output:"tanh", ttype:UNARY, func:true},
-
-//arrows
-{input:"\\gets", tag:"mo", output:"\u2190", ttype:CONST},
-{input:"\\leftarrow", tag:"mo", output:"\u2190", ttype:CONST},
-{input:"\\to", tag:"mo", output:"\u2192", ttype:CONST},
-{input:"\\rightarrow", tag:"mo", output:"\u2192", ttype:CONST},
-{input:"\\leftrightarrow", tag:"mo", output:"\u2194", ttype:CONST},
-{input:"\\uparrow", tag:"mo", output:"\u2191", ttype:CONST},
-{input:"\\downarrow", tag:"mo", output:"\u2193", ttype:CONST},
-{input:"\\updownarrow", tag:"mo", output:"\u2195", ttype:CONST},
-{input:"\\Leftarrow", tag:"mo", output:"\u21D0", ttype:CONST},
-{input:"\\Rightarrow", tag:"mo", output:"\u21D2", ttype:CONST},
-{input:"\\Leftrightarrow", tag:"mo", output:"\u21D4", ttype:CONST},
-{input:"\\iff", tag:"mo", output:"~\\Longleftrightarrow~", ttype:DEFINITION},
-{input:"\\Uparrow", tag:"mo", output:"\u21D1", ttype:CONST},
-{input:"\\Downarrow", tag:"mo", output:"\u21D3", ttype:CONST},
-{input:"\\Updownarrow", tag:"mo", output:"\u21D5", ttype:CONST},
-{input:"\\mapsto", tag:"mo", output:"\u21A6", ttype:CONST},
-{input:"\\longleftarrow", tag:"mo", output:"\u2190", ttype:LONG},
-{input:"\\longrightarrow", tag:"mo", output:"\u2192", ttype:LONG},
-{input:"\\longleftrightarrow", tag:"mo", output:"\u2194", ttype:LONG},
-{input:"\\Longleftarrow", tag:"mo", output:"\u21D0", ttype:LONG},
-{input:"\\Longrightarrow", tag:"mo", output:"\u21D2", ttype:LONG},
-{input:"\\Longleftrightarrow", tag:"mo", output:"\u21D4", ttype:LONG},
-{input:"\\longmapsto", tag:"mo", output:"\u21A6", ttype:CONST},
- // disaster if LONG
-
-//commands with argument
-AMsqrt, AMroot, AMfrac, AMover, AMsub, AMsup, AMtext, AMmbox, AMatop, AMchoose,
-//AMdiv, AMquote,
-
-//diacritical marks
-{input:"\\acute", tag:"mover", output:"\u00B4", ttype:UNARY, acc:true},
-//{input:"\\acute", tag:"mover", output:"\u0317", ttype:UNARY, acc:true},
-//{input:"\\acute", tag:"mover", output:"\u0301", ttype:UNARY, acc:true},
-//{input:"\\grave", tag:"mover", output:"\u0300", ttype:UNARY, acc:true},
-//{input:"\\grave", tag:"mover", output:"\u0316", ttype:UNARY, acc:true},
-{input:"\\grave", tag:"mover", output:"\u0060", ttype:UNARY, acc:true},
-{input:"\\breve", tag:"mover", output:"\u02D8", ttype:UNARY, acc:true},
-{input:"\\check", tag:"mover", output:"\u02C7", ttype:UNARY, acc:true},
-{input:"\\dot", tag:"mover", output:".", ttype:UNARY, acc:true},
-{input:"\\ddot", tag:"mover", output:"..", ttype:UNARY, acc:true},
-//{input:"\\ddot", tag:"mover", output:"\u00A8", ttype:UNARY, acc:true},
-{input:"\\mathring", tag:"mover", output:"\u00B0", ttype:UNARY, acc:true},
-{input:"\\vec", tag:"mover", output:"\u20D7", ttype:UNARY, acc:true},
-{input:"\\overrightarrow",tag:"mover",output:"\u20D7", ttype:UNARY, acc:true},
-{input:"\\overleftarrow",tag:"mover", output:"\u20D6", ttype:UNARY, acc:true},
-{input:"\\hat", tag:"mover", output:"\u005E", ttype:UNARY, acc:true},
-{input:"\\widehat", tag:"mover", output:"\u0302", ttype:UNARY, acc:true},
-{input:"\\tilde", tag:"mover", output:"~", ttype:UNARY, acc:true},
-//{input:"\\tilde", tag:"mover", output:"\u0303", ttype:UNARY, acc:true},
-{input:"\\widetilde", tag:"mover", output:"\u02DC", ttype:UNARY, acc:true},
-{input:"\\bar", tag:"mover", output:"\u203E", ttype:UNARY, acc:true},
-{input:"\\overbrace", tag:"mover", output:"\u23B4", ttype:UNARY, acc:true},
-{input:"\\overline", tag:"mover", output:"\u00AF", ttype:UNARY, acc:true},
-{input:"\\underbrace", tag:"munder", output:"\u23B5", ttype:UNARY, acc:true},
-{input:"\\underline", tag:"munder", output:"\u00AF", ttype:UNARY, acc:true},
-//{input:"underline", tag:"munder", output:"\u0332", ttype:UNARY, acc:true},
-
-//typestyles and fonts
-{input:"\\displaystyle",tag:"mstyle",atname:"displaystyle",atval:"true", ttype:UNARY},
-{input:"\\textstyle",tag:"mstyle",atname:"displaystyle",atval:"false", ttype:UNARY},
-{input:"\\scriptstyle",tag:"mstyle",atname:"scriptlevel",atval:"1", ttype:UNARY},
-{input:"\\scriptscriptstyle",tag:"mstyle",atname:"scriptlevel",atval:"2", ttype:UNARY},
-{input:"\\textrm", tag:"mstyle", output:"\\mathrm", ttype: DEFINITION},
-{input:"\\mathbf", tag:"mstyle", atname:"mathvariant", atval:"bold", ttype:UNARY},
-{input:"\\textbf", tag:"mstyle", atname:"mathvariant", atval:"bold", ttype:UNARY},
-{input:"\\mathit", tag:"mstyle", atname:"mathvariant", atval:"italic", ttype:UNARY},
-{input:"\\textit", tag:"mstyle", atname:"mathvariant", atval:"italic", ttype:UNARY},
-{input:"\\mathtt", tag:"mstyle", atname:"mathvariant", atval:"monospace", ttype:UNARY},
-{input:"\\texttt", tag:"mstyle", atname:"mathvariant", atval:"monospace", ttype:UNARY},
-{input:"\\mathsf", tag:"mstyle", atname:"mathvariant", atval:"sans-serif", ttype:UNARY},
-{input:"\\mathbb", tag:"mstyle", atname:"mathvariant", atval:"double-struck", ttype:UNARY, codes:AMbbb},
-{input:"\\mathcal",tag:"mstyle", atname:"mathvariant", atval:"script", ttype:UNARY, codes:AMcal},
-{input:"\\mathfrak",tag:"mstyle",atname:"mathvariant", atval:"fraktur",ttype:UNARY, codes:AMfrk}
-];
-
-function compareNames(s1,s2) {
- if (s1.input > s2.input) return 1
- else return -1;
-}
-
-var AMnames = []; //list of input symbols
-
-function AMinitSymbols() {
- AMsymbols.sort(compareNames);
- for (i=0; i<AMsymbols.length; i++) AMnames[i] = AMsymbols[i].input;
-}
-
-var AMmathml = "http://www.w3.org/1998/Math/MathML";
-
-function AMcreateElementMathML(t) {
- if (isIE) return document.createElement("m:"+t);
- else return document.createElementNS(AMmathml,t);
-}
-
-function AMcreateMmlNode(t,frag) {
-// var node = AMcreateElementMathML(name);
- if (isIE) var node = document.createElement("m:"+t);
- else var node = document.createElementNS(AMmathml,t);
- node.appendChild(frag);
- return node;
-}
-
-function newcommand(oldstr,newstr) {
- AMsymbols = AMsymbols.concat([{input:oldstr, tag:"mo", output:newstr,
- ttype:DEFINITION}]);
-}
-
-function AMremoveCharsAndBlanks(str,n) {
-//remove n characters and any following blanks
- var st;
- st = str.slice(n);
- for (var i=0; i<st.length && st.charCodeAt(i)<=32; i=i+1);
- return st.slice(i);
-}
-
-function AMposition(arr, str, n) {
-// return position >=n where str appears or would be inserted
-// assumes arr is sorted
- if (n==0) {
- var h,m;
- n = -1;
- h = arr.length;
- while (n+1<h) {
- m = (n+h) >> 1;
- if (arr[m]<str) n = m; else h = m;
- }
- return h;
- } else
- for (var i=n; i<arr.length && arr[i]<str; i++);
- return i; // i=arr.length || arr[i]>=str
-}
-
-function AMgetSymbol(str) {
-//return maximal initial substring of str that appears in names
-//return null if there is none
- var k = 0; //new pos
- var j = 0; //old pos
- var mk; //match pos
- var st;
- var tagst;
- var match = "";
- var more = true;
- for (var i=1; i<=str.length && more; i++) {
- st = str.slice(0,i); //initial substring of length i
- j = k;
- k = AMposition(AMnames, st, j);
- if (k<AMnames.length && str.slice(0,AMnames[k].length)==AMnames[k]){
- match = AMnames[k];
- mk = k;
- i = match.length;
- }
- more = k<AMnames.length && str.slice(0,AMnames[k].length)>=AMnames[k];
- }
- AMpreviousSymbol=AMcurrentSymbol;
- if (match!=""){
- AMcurrentSymbol=AMsymbols[mk].ttype;
- return AMsymbols[mk];
- }
- AMcurrentSymbol=CONST;
- k = 1;
- st = str.slice(0,1); //take 1 character
- if ("0"<=st && st<="9") tagst = "mn";
- else tagst = (("A">st || st>"Z") && ("a">st || st>"z")?"mo":"mi");
-/*
-// Commented out by DRW (not fully understood, but probably to do with
-// use of "/" as an INFIX version of "\\frac", which we don't want):
-//}
-//if (st=="-" && AMpreviousSymbol==INFIX) {
-// AMcurrentSymbol = INFIX; //trick "/" into recognizing "-" on second parse
-// return {input:st, tag:tagst, output:st, ttype:UNARY, func:true};
-//}
-*/
- return {input:st, tag:tagst, output:st, ttype:CONST};
-}
-
-
-/*Parsing ASCII math expressions with the following grammar
-v ::= [A-Za-z] | greek letters | numbers | other constant symbols
-u ::= sqrt | text | bb | other unary symbols for font commands
-b ::= frac | root | stackrel binary symbols
-l ::= { | \left left brackets
-r ::= } | \right right brackets
-S ::= v | lEr | uS | bSS Simple expression
-I ::= S_S | S^S | S_S^S | S Intermediate expression
-E ::= IE | I/I Expression
-Each terminal symbol is translated into a corresponding mathml node.*/
-
-var AMpreviousSymbol,AMcurrentSymbol;
-
-function AMparseSexpr(str) { //parses str and returns [node,tailstr,(node)tag]
- var symbol, node, result, result2, i, st,// rightvert = false,
- newFrag = document.createDocumentFragment();
- str = AMremoveCharsAndBlanks(str,0);
- symbol = AMgetSymbol(str); //either a token or a bracket or empty
- if (symbol == null || symbol.ttype == RIGHTBRACKET)
- return [null,str,null];
- if (symbol.ttype == DEFINITION) {
- str = symbol.output+AMremoveCharsAndBlanks(str,symbol.input.length);
- symbol = AMgetSymbol(str);
- if (symbol == null || symbol.ttype == RIGHTBRACKET)
- return [null,str,null];
- }
- str = AMremoveCharsAndBlanks(str,symbol.input.length);
- switch (symbol.ttype) {
- case SPACE:
- node = AMcreateElementMathML(symbol.tag);
- node.setAttribute(symbol.atname,symbol.atval);
- return [node,str,symbol.tag];
- case UNDEROVER:
- if (isIE) {
- if (symbol.input.substr(0,4) == "\\big") { // botch for missing symbols
- str = "\\"+symbol.input.substr(4)+str; // make \bigcup = \cup etc.
- symbol = AMgetSymbol(str);
- symbol.ttype = UNDEROVER;
- str = AMremoveCharsAndBlanks(str,symbol.input.length);
- }
- }
- return [AMcreateMmlNode(symbol.tag,
- document.createTextNode(symbol.output)),str,symbol.tag];
- case CONST:
- var output = symbol.output;
- if (isIE) {
- if (symbol.input == "'")
- output = "\u2032";
- else if (symbol.input == "''")
- output = "\u2033";
- else if (symbol.input == "'''")
- output = "\u2033\u2032";
- else if (symbol.input == "''''")
- output = "\u2033\u2033";
- else if (symbol.input == "\\square")
- output = "\u25A1"; // same as \Box
- else if (symbol.input.substr(0,5) == "\\frac") {
- // botch for missing fractions
- var denom = symbol.input.substr(6,1);
- if (denom == "5" || denom == "6") {
- str = symbol.input.replace(/\\frac/,"\\frac ")+str;
- return [node,str,symbol.tag];
- }
- }
- }
- node = AMcreateMmlNode(symbol.tag,document.createTextNode(output));
- return [node,str,symbol.tag];
- case LONG: // added by DRW
- node = AMcreateMmlNode(symbol.tag,document.createTextNode(symbol.output));
- node.setAttribute("minsize","1.5");
- node.setAttribute("maxsize","1.5");
- node = AMcreateMmlNode("mover",node);
- node.appendChild(AMcreateElementMathML("mspace"));
- return [node,str,symbol.tag];
- case STRETCHY: // added by DRW
- if (isIE && symbol.input == "\\backslash")
- symbol.output = "\\"; // doesn't expand, but then nor does "\u2216"
- node = AMcreateMmlNode(symbol.tag,document.createTextNode(symbol.output));
- if (symbol.input == "|" || symbol.input == "\\vert" ||
- symbol.input == "\\|" || symbol.input == "\\Vert") {
- node.setAttribute("lspace","0em");
- node.setAttribute("rspace","0em");
- }
- node.setAttribute("maxsize",symbol.atval); // don't allow to stretch here
- if (symbol.rtag != null)
- return [node,str,symbol.rtag];
- else
- return [node,str,symbol.tag];
- case BIG: // added by DRW
- var atval = symbol.atval;
- if (isIE)
- atval = symbol.ieval;
- symbol = AMgetSymbol(str);
- if (symbol == null)
- return [null,str,null];
- str = AMremoveCharsAndBlanks(str,symbol.input.length);
- node = AMcreateMmlNode(symbol.tag,document.createTextNode(symbol.output));
- if (isIE) { // to get brackets to expand
- var space = AMcreateElementMathML("mspace");
- space.setAttribute("height",atval+"ex");
- node = AMcreateMmlNode("mrow",node);
- node.appendChild(space);
- } else { // ignored in IE
- node.setAttribute("minsize",atval);
- node.setAttribute("maxsize",atval);
- }
- return [node,str,symbol.tag];
- case LEFTBRACKET: //read (expr+)
- if (symbol.input == "\\left") { // left what?
- symbol = AMgetSymbol(str);
- if (symbol != null) {
- if (symbol.input == ".")
- symbol.invisible = true;
- str = AMremoveCharsAndBlanks(str,symbol.input.length);
- }
- }
- result = AMparseExpr(str,true,false);
- if (symbol==null ||
- (typeof symbol.invisible == "boolean" && symbol.invisible))
- node = AMcreateMmlNode("mrow",result[0]);
- else {
- node = AMcreateMmlNode("mo",document.createTextNode(symbol.output));
- node = AMcreateMmlNode("mrow",node);
- node.appendChild(result[0]);
- }
- return [node,result[1],result[2]];
- case MATRIX: //read (expr+)
- if (symbol.input == "\\begin{array}") {
- var mask = "";
- symbol = AMgetSymbol(str);
- str = AMremoveCharsAndBlanks(str,0);
- if (symbol == null)
- mask = "l";
- else {
- str = AMremoveCharsAndBlanks(str,symbol.input.length);
- if (symbol.input != "{")
- mask = "l";
- else do {
- symbol = AMgetSymbol(str);
- if (symbol != null) {
- str = AMremoveCharsAndBlanks(str,symbol.input.length);
- if (symbol.input != "}")
- mask = mask+symbol.input;
- }
- } while (symbol != null && symbol.input != "" && symbol.input != "}");
- }
- result = AMparseExpr("{"+str,true,true);
-// if (result[0]==null) return [AMcreateMmlNode("mo",
-// document.createTextNode(symbol.input)),str];
- node = AMcreateMmlNode("mtable",result[0]);
- mask = mask.replace(/l/g,"left ");
- mask = mask.replace(/r/g,"right ");
- mask = mask.replace(/c/g,"center ");
- node.setAttribute("columnalign",mask);
- node.setAttribute("displaystyle","false");
- if (isIE)
- return [node,result[1],null];
-// trying to get a *little* bit of space around the array
-// (IE already includes it)
- var lspace = AMcreateElementMathML("mspace");
- lspace.setAttribute("width","0.167em");
- var rspace = AMcreateElementMathML("mspace");
- rspace.setAttribute("width","0.167em");
- var node1 = AMcreateMmlNode("mrow",lspace);
- node1.appendChild(node);
- node1.appendChild(rspace);
- return [node1,result[1],null];
- } else { // eqnarray
- result = AMparseExpr("{"+str,true,true);
- node = AMcreateMmlNode("mtable",result[0]);
- if (isIE)
- node.setAttribute("columnspacing","0.25em"); // best in practice?
- else
- node.setAttribute("columnspacing","0.167em"); // correct (but ignored?)
- node.setAttribute("columnalign","right center left");
- node.setAttribute("displaystyle","true");
- node = AMcreateMmlNode("mrow",node);
- return [node,result[1],null];
- }
- case TEXT:
- if (str.charAt(0)=="{") i=str.indexOf("}");
- else i = 0;
- if (i==-1)
- i = str.length;
- st = str.slice(1,i);
- if (st.charAt(0) == " ") {
- node = AMcreateElementMathML("mspace");
- node.setAttribute("width","0.33em"); // was 1ex
- newFrag.appendChild(node);
- }
- newFrag.appendChild(
- AMcreateMmlNode(symbol.tag,document.createTextNode(st)));
- if (st.charAt(st.length-1) == " ") {
- node = AMcreateElementMathML("mspace");
- node.setAttribute("width","0.33em"); // was 1ex
- newFrag.appendChild(node);
- }
- str = AMremoveCharsAndBlanks(str,i+1);
- return [AMcreateMmlNode("mrow",newFrag),str,null];
- case UNARY:
- result = AMparseSexpr(str);
- if (result[0]==null) return [AMcreateMmlNode(symbol.tag,
- document.createTextNode(symbol.output)),str];
- if (typeof symbol.func == "boolean" && symbol.func) { // functions hack
- st = str.charAt(0);
-// if (st=="^" || st=="_" || st=="/" || st=="|" || st==",") {
- if (st=="^" || st=="_" || st==",") {
- return [AMcreateMmlNode(symbol.tag,
- document.createTextNode(symbol.output)),str,symbol.tag];
- } else {
- node = AMcreateMmlNode("mrow",
- AMcreateMmlNode(symbol.tag,document.createTextNode(symbol.output)));
- if (isIE) {
- var space = AMcreateElementMathML("mspace");
- space.setAttribute("width","0.167em");
- node.appendChild(space);
- }
- node.appendChild(result[0]);
- return [node,result[1],symbol.tag];
- }
- }
- if (symbol.input == "\\sqrt") { // sqrt
- if (isIE) { // set minsize, for \surd
- var space = AMcreateElementMathML("mspace");
- space.setAttribute("height","1.2ex");
- space.setAttribute("width","0em"); // probably no effect
- node = AMcreateMmlNode(symbol.tag,result[0])
-// node.setAttribute("minsize","1"); // ignored
-// node = AMcreateMmlNode("mrow",node); // hopefully unnecessary
- node.appendChild(space);
- return [node,result[1],symbol.tag];
- } else
- return [AMcreateMmlNode(symbol.tag,result[0]),result[1],symbol.tag];
- } else if (typeof symbol.acc == "boolean" && symbol.acc) { // accent
- node = AMcreateMmlNode(symbol.tag,result[0]);
- var output = symbol.output;
- if (isIE) {
- if (symbol.input == "\\hat")
- output = "\u0302";
- else if (symbol.input == "\\widehat")
- output = "\u005E";
- else if (symbol.input == "\\bar")
- output = "\u00AF";
- else if (symbol.input == "\\grave")
- output = "\u0300";
- else if (symbol.input == "\\tilde")
- output = "\u0303";
- }
- var node1 = AMcreateMmlNode("mo",document.createTextNode(output));
- if (symbol.input == "\\vec" || symbol.input == "\\check")
- // don't allow to stretch
- node1.setAttribute("maxsize","1.2");
- // why doesn't "1" work? \vec nearly disappears in firefox
- if (isIE && symbol.input == "\\bar")
- node1.setAttribute("maxsize","0.5");
- if (symbol.input == "\\underbrace" || symbol.input == "\\underline")
- node1.setAttribute("accentunder","true");
- else
- node1.setAttribute("accent","true");
- node.appendChild(node1);
- if (symbol.input == "\\overbrace" || symbol.input == "\\underbrace")
- node.ttype = UNDEROVER;
- return [node,result[1],symbol.tag];
- } else { // font change or displaystyle command
- if (!isIE && typeof symbol.codes != "undefined") {
- for (i=0; i<result[0].childNodes.length; i++)
- if (result[0].childNodes[i].nodeName=="mi" || result[0].nodeName=="mi") {
- st = (result[0].nodeName=="mi"?result[0].firstChild.nodeValue:
- result[0].childNodes[i].firstChild.nodeValue);
- var newst = [];
- for (var j=0; j<st.length; j++)
- if (st.charCodeAt(j)>64 && st.charCodeAt(j)<91) newst = newst +
- String.fromCharCode(symbol.codes[st.charCodeAt(j)-65]);
- else newst = newst + st.charAt(j);
- if (result[0].nodeName=="mi")
- result[0]=AMcreateElementMathML("mo").
- appendChild(document.createTextNode(newst));
- else result[0].replaceChild(AMcreateElementMathML("mo").
- appendChild(document.createTextNode(newst)),result[0].childNodes[i]);
- }
- }
- node = AMcreateMmlNode(symbol.tag,result[0]);
- node.setAttribute(symbol.atname,symbol.atval);
- if (symbol.input == "\\scriptstyle" ||
- symbol.input == "\\scriptscriptstyle")
- node.setAttribute("displaystyle","false");
- return [node,result[1],symbol.tag];
- }
- case BINARY:
- result = AMparseSexpr(str);
- if (result[0]==null) return [AMcreateMmlNode("mo",
- document.createTextNode(symbol.input)),str,null];
- result2 = AMparseSexpr(result[1]);
- if (result2[0]==null) return [AMcreateMmlNode("mo",
- document.createTextNode(symbol.input)),str,null];
- if (symbol.input=="\\root" || symbol.input=="\\stackrel")
- newFrag.appendChild(result2[0]);
- newFrag.appendChild(result[0]);
- if (symbol.input=="\\frac") newFrag.appendChild(result2[0]);
- return [AMcreateMmlNode(symbol.tag,newFrag),result2[1],symbol.tag];
- case INFIX:
- str = AMremoveCharsAndBlanks(str,symbol.input.length);
- return [AMcreateMmlNode("mo",document.createTextNode(symbol.output)),
- str,symbol.tag];
- default:
- return [AMcreateMmlNode(symbol.tag, //its a constant
- document.createTextNode(symbol.output)),str,symbol.tag];
- }
-}
-
-function AMparseIexpr(str) {
- var symbol, sym1, sym2, node, result, tag, underover;
- str = AMremoveCharsAndBlanks(str,0);
- sym1 = AMgetSymbol(str);
- result = AMparseSexpr(str);
- node = result[0];
- str = result[1];
- tag = result[2];
- symbol = AMgetSymbol(str);
- if (symbol.ttype == INFIX) {
- str = AMremoveCharsAndBlanks(str,symbol.input.length);
- result = AMparseSexpr(str);
- if (result[0] == null) // show box in place of missing argument
- result[0] = AMcreateMmlNode("mo",document.createTextNode("\u25A1"));
- str = result[1];
- tag = result[2];
- if (symbol.input == "_" || symbol.input == "^") {
- sym2 = AMgetSymbol(str);
- tag = null; // no space between x^2 and a following sin, cos, etc.
-// This is for \underbrace and \overbrace
- underover = ((sym1.ttype == UNDEROVER) || (node.ttype == UNDEROVER));
-// underover = (sym1.ttype == UNDEROVER);
- if (symbol.input == "_" && sym2.input == "^") {
- str = AMremoveCharsAndBlanks(str,sym2.input.length);
- var res2 = AMparseSexpr(str);
- str = res2[1];
- tag = res2[2]; // leave space between x_1^2 and a following sin etc.
- node = AMcreateMmlNode((underover?"munderover":"msubsup"),node);
- node.appendChild(result[0]);
- node.appendChild(res2[0]);
- } else if (symbol.input == "_") {
- node = AMcreateMmlNode((underover?"munder":"msub"),node);
- node.appendChild(result[0]);
- } else {
- node = AMcreateMmlNode((underover?"mover":"msup"),node);
- node.appendChild(result[0]);
- }
- node = AMcreateMmlNode("mrow",node); // so sum does not stretch
- } else {
- node = AMcreateMmlNode(symbol.tag,node);
- if (symbol.input == "\\atop" || symbol.input == "\\choose")
- node.setAttribute("linethickness","0ex");
- node.appendChild(result[0]);
- if (symbol.input == "\\choose")
- node = AMcreateMmlNode("mfenced",node);
- }
- }
- return [node,str,tag];
-}
-
-function AMparseExpr(str,rightbracket,matrix) {
- var symbol, node, result, i, tag,
- newFrag = document.createDocumentFragment();
- do {
- str = AMremoveCharsAndBlanks(str,0);
- result = AMparseIexpr(str);
- node = result[0];
- str = result[1];
- tag = result[2];
- symbol = AMgetSymbol(str);
- if (node!=undefined) {
- if ((tag == "mn" || tag == "mi") && symbol!=null &&
- typeof symbol.func == "boolean" && symbol.func) {
- // Add space before \sin in 2\sin x or x\sin x
- var space = AMcreateElementMathML("mspace");
- space.setAttribute("width","0.167em");
- node = AMcreateMmlNode("mrow",node);
- node.appendChild(space);
- }
- newFrag.appendChild(node);
- }
- } while ((symbol.ttype != RIGHTBRACKET)
- && symbol!=null && symbol.output!="");
- tag = null;
- if (symbol.ttype == RIGHTBRACKET) {
- if (symbol.input == "\\right") { // right what?
- str = AMremoveCharsAndBlanks(str,symbol.input.length);
- symbol = AMgetSymbol(str);
- if (symbol != null && symbol.input == ".")
- symbol.invisible = true;
- if (symbol != null)
- tag = symbol.rtag;
- }
- if (symbol!=null)
- str = AMremoveCharsAndBlanks(str,symbol.input.length); // ready to return
- var len = newFrag.childNodes.length;
- if (matrix &&
- len>0 && newFrag.childNodes[len-1].nodeName == "mrow" && len>1 &&
- newFrag.childNodes[len-2].nodeName == "mo" &&
- newFrag.childNodes[len-2].firstChild.nodeValue == "&") { //matrix
- var pos = []; // positions of ampersands
- var m = newFrag.childNodes.length;
- for (i=0; matrix && i<m; i=i+2) {
- pos[i] = [];
- node = newFrag.childNodes[i];
- for (var j=0; j<node.childNodes.length; j++)
- if (node.childNodes[j].firstChild.nodeValue=="&")
- pos[i][pos[i].length]=j;
- }
- var row, frag, n, k, table = document.createDocumentFragment();
- for (i=0; i<m; i=i+2) {
- row = document.createDocumentFragment();
- frag = document.createDocumentFragment();
- node = newFrag.firstChild; // <mrow> -&-&...&-&- </mrow>
- n = node.childNodes.length;
- k = 0;
- for (j=0; j<n; j++) {
- if (typeof pos[i][k] != "undefined" && j==pos[i][k]){
- node.removeChild(node.firstChild); //remove &
- row.appendChild(AMcreateMmlNode("mtd",frag));
- k++;
- } else frag.appendChild(node.firstChild);
- }
- row.appendChild(AMcreateMmlNode("mtd",frag));
- if (newFrag.childNodes.length>2) {
- newFrag.removeChild(newFrag.firstChild); //remove <mrow> </mrow>
- newFrag.removeChild(newFrag.firstChild); //remove <mo>&</mo>
- }
- table.appendChild(AMcreateMmlNode("mtr",row));
- }
- return [table,str];
- }
- if (typeof symbol.invisible != "boolean" || !symbol.invisible) {
- node = AMcreateMmlNode("mo",document.createTextNode(symbol.output));
- newFrag.appendChild(node);
- }
- }
- return [newFrag,str,tag];
-}
-
-function AMparseMath(str) {
- var result, node = AMcreateElementMathML("mstyle");
- if (mathcolor != "") node.setAttribute("mathcolor",mathcolor);
- if (mathfontfamily != "") node.setAttribute("fontfamily",mathfontfamily);
- node.appendChild(AMparseExpr(str.replace(/^\s+/g,""),false,false)[0]);
- node = AMcreateMmlNode("math",node);
- if (showasciiformulaonhover) //fixed by djhsu so newline
- node.setAttribute("title",str.replace(/\s+/g," "));//does not show in Gecko
- if (mathfontfamily != "" && (isIE || mathfontfamily != "serif")) {
- var fnode = AMcreateElementXHTML("font");
- fnode.setAttribute("face",mathfontfamily);
- fnode.appendChild(node);
- return fnode;
- }
- return node;
-}
-
-function AMstrarr2docFrag(arr, linebreaks) {
- var newFrag=document.createDocumentFragment();
- var expr = false;
- for (var i=0; i<arr.length; i++) {
- if (expr) newFrag.appendChild(AMparseMath(arr[i]));
- else {
- var arri = (linebreaks ? arr[i].split("\n\n") : [arr[i]]);
- newFrag.appendChild(AMcreateElementXHTML("span").
- appendChild(document.createTextNode(arri[0])));
- for (var j=1; j<arri.length; j++) {
- newFrag.appendChild(AMcreateElementXHTML("p"));
- newFrag.appendChild(AMcreateElementXHTML("span").
- appendChild(document.createTextNode(arri[j])));
- }
- }
- expr = !expr;
- }
- return newFrag;
-}
-
-function AMprocessNodeR(n, linebreaks) {
- var mtch, str, arr, frg, i;
- if (n.childNodes.length == 0) {
- if ((n.nodeType!=8 || linebreaks) &&
- n.parentNode.nodeName!="form" && n.parentNode.nodeName!="FORM" &&
- n.parentNode.nodeName!="textarea" && n.parentNode.nodeName!="TEXTAREA" &&
- n.parentNode.nodeName!="pre" && n.parentNode.nodeName!="PRE") {
- str = n.nodeValue;
- if (!(str == null)) {
- str = str.replace(/\r\n\r\n/g,"\n\n");
- str = str.replace(/\x20+/g," ");
- str = str.replace(/\s*\r\n/g," ");
-// DELIMITERS:
- mtch = (str.indexOf("\$")==-1 ? false : true);
- str = str.replace(/([^\\])\$/g,"$1 \$");
- str = str.replace(/^\$/," \$"); // in case \$ at start of string
- arr = str.split(" \$");
- for (i=0; i<arr.length; i++)
- arr[i]=arr[i].replace(/\\\$/g,"\$");
- if (arr.length>1 || mtch) {
- if (checkForMathML) {
- checkForMathML = false;
- var nd = AMisMathMLavailable();
- AMnoMathML = nd != null;
- if (AMnoMathML && notifyIfNoMathML)
- if (alertIfNoMathML)
- alert("To view the ASCIIMathML notation use Internet Explorer 6 +\nMathPlayer (free from www.dessci.com)\n\
- or Firefox/Mozilla/Netscape");
- else AMbody.insertBefore(nd,AMbody.childNodes[0]);
- }
- if (!AMnoMathML) {
- frg = AMstrarr2docFrag(arr,n.nodeType==8);
- var len = frg.childNodes.length;
- n.parentNode.replaceChild(frg,n);
- return len-1;
- } else return 0;
- }
- }
- } else return 0;
- } else if (n.nodeName!="math") {
- for (i=0; i<n.childNodes.length; i++)
- i += AMprocessNodeR(n.childNodes[i], linebreaks);
- }
- return 0;
-}
-
-function AMprocessNode(n, linebreaks, spanclassAM) {
- var frag,st;
- if (spanclassAM!=null) {
- frag = document.getElementsByTagName("span")
- for (var i=0;i<frag.length;i++)
- if (frag[i].className == "AM")
- AMprocessNodeR(frag[i],linebreaks);
- } else {
- try {
- st = n.innerHTML;
- } catch(err) {}
-// DELIMITERS:
- if (st==null || st.indexOf("\$")!=-1)
- AMprocessNodeR(n,linebreaks);
- }
- if (isIE) { //needed to match size and font of formula to surrounding text
- frag = document.getElementsByTagName('math');
- for (var i=0;i<frag.length;i++) frag[i].update()
- }
-}
-
-var AMbody;
-var AMnoMathML = false, AMtranslated = false;
-
-function translate(spanclassAM) {
- if (!AMtranslated) { // run this only once
- AMtranslated = true;
- AMinitSymbols();
- AMbody = document.getElementsByTagName("body")[0];
- AMprocessNode(AMbody, false, spanclassAM);
- }
-}
-
-if (isIE) { // avoid adding MathPlayer info explicitly to each webpage
- document.write("<object id=\"mathplayer\"\
- classid=\"clsid:32F66A20-7614-11D4-BD11-00104BD3F987\"></object>");
- document.write("<?import namespace=\"m\" implementation=\"#mathplayer\"?>");
-}
-
-// GO1.1 Generic onload by Brothercake
-// http://www.brothercake.com/
-//onload function (replaces the onload="translate()" in the <body> tag)
-function generic()
-{
- translate();
-};
-//setup onload function
-if(typeof window.addEventListener != 'undefined')
-{
- //.. gecko, safari, konqueror and standard
- window.addEventListener('load', generic, false);
-}
-else if(typeof document.addEventListener != 'undefined')
-{
- //.. opera 7
- document.addEventListener('load', generic, false);
-}
-else if(typeof window.attachEvent != 'undefined')
-{
- //.. win/ie
- window.attachEvent('onload', generic);
-}
-//** remove this condition to degrade older browsers
-else
-{
- //.. mac/ie5 and anything else that gets this far
- //if there's an existing onload function
- if(typeof window.onload == 'function')
- {
- //store it
- var existing = onload;
- //add new onload handler
- window.onload = function()
- {
- //call existing onload function
- existing();
- //call generic onload function
- generic();
- };
- }
- else
- {
- //setup onload function
- window.onload = generic;
- }
-}
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/javascripts/asciidoc-xhtml11.js b/code/maint/asciidoc/asciidoc-8.6.3/javascripts/asciidoc-xhtml11.js
deleted file mode 100644
index 30d738a..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/javascripts/asciidoc-xhtml11.js
+++ /dev/null
@@ -1,128 +0,0 @@
-var asciidoc = { // Namespace.
-
-/////////////////////////////////////////////////////////////////////
-// Table Of Contents generator
-/////////////////////////////////////////////////////////////////////
-
-/* Author: Mihai Bazon, September 2002
- * http://students.infoiasi.ro/~mishoo
- *
- * Table Of Content generator
- * Version: 0.4
- *
- * Feel free to use this script under the terms of the GNU General Public
- * License, as long as you do not remove or alter this notice.
- */
-
- /* modified by Troy D. Hanson, September 2006. License: GPL */
- /* modified by Stuart Rackham, 2006, 2009. License: GPL */
-
-// toclevels = 1..4.
-toc: function (toclevels) {
-
- function getText(el) {
- var text = "";
- for (var i = el.firstChild; i != null; i = i.nextSibling) {
- if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
- text += i.data;
- else if (i.firstChild != null)
- text += getText(i);
- }
- return text;
- }
-
- function TocEntry(el, text, toclevel) {
- this.element = el;
- this.text = text;
- this.toclevel = toclevel;
- }
-
- function tocEntries(el, toclevels) {
- var result = new Array;
- var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');
- // Function that scans the DOM tree for header elements (the DOM2
- // nodeIterator API would be a better technique but not supported by all
- // browsers).
- var iterate = function (el) {
- for (var i = el.firstChild; i != null; i = i.nextSibling) {
- if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
- var mo = re.exec(i.tagName);
- if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
- result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
- }
- iterate(i);
- }
- }
- }
- iterate(el);
- return result;
- }
-
- var toc = document.getElementById("toc");
- var entries = tocEntries(document.getElementById("content"), toclevels);
- for (var i = 0; i < entries.length; ++i) {
- var entry = entries[i];
- if (entry.element.id == "")
- entry.element.id = "_toc_" + i;
- var a = document.createElement("a");
- a.href = "#" + entry.element.id;
- a.appendChild(document.createTextNode(entry.text));
- var div = document.createElement("div");
- div.appendChild(a);
- div.className = "toclevel" + entry.toclevel;
- toc.appendChild(div);
- }
- if (entries.length == 0)
- toc.parentNode.removeChild(toc);
-},
-
-
-/////////////////////////////////////////////////////////////////////
-// Footnotes generator
-/////////////////////////////////////////////////////////////////////
-
-/* Based on footnote generation code from:
- * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
- */
-
-footnotes: function () {
- var cont = document.getElementById("content");
- var noteholder = document.getElementById("footnotes");
- var spans = cont.getElementsByTagName("span");
- var refs = {};
- var n = 0;
- for (i=0; i<spans.length; i++) {
- if (spans[i].className == "footnote") {
- n++;
- // Use [\s\S] in place of . so multi-line matches work.
- // Because JavaScript has no s (dotall) regex flag.
- note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
- noteholder.innerHTML +=
- "<div class='footnote' id='_footnote_" + n + "'>" +
- "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
- n + "</a>. " + note + "</div>";
- spans[i].innerHTML =
- "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
- "' title='View footnote' class='footnote'>" + n + "</a>]";
- var id =spans[i].getAttribute("id");
- if (id != null) refs["#"+id] = n;
- }
- }
- if (n == 0)
- noteholder.parentNode.removeChild(noteholder);
- else {
- // Process footnoterefs.
- for (i=0; i<spans.length; i++) {
- if (spans[i].className == "footnoteref") {
- var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
- href = href.match(/#.*/)[0]; // Because IE return full URL.
- n = refs[href];
- spans[i].innerHTML =
- "[<a href='#_footnote_" + n +
- "' title='View footnote' class='footnote'>" + n + "</a>]";
- }
- }
- }
-}
-
-}
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/javascripts/slidy.js b/code/maint/asciidoc/asciidoc-8.6.3/javascripts/slidy.js
deleted file mode 100644
index 04e51a2..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/javascripts/slidy.js
+++ /dev/null
@@ -1,2845 +0,0 @@
-/* slidy.js
-
- Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved.
- W3C liability, trademark, document use and software licensing
- rules apply, see:
-
- http://www.w3.org/Consortium/Legal/copyright-documents
- http://www.w3.org/Consortium/Legal/copyright-software
-*/
-
-// the slidy object implementation
-var w3c_slidy = {
- // classify which kind of browser we're running under
- ns_pos: (typeof window.pageYOffset!='undefined'),
- khtml: ((navigator.userAgent).indexOf("KHTML") >= 0 ? true : false),
- opera: ((navigator.userAgent).indexOf("Opera") >= 0 ? true : false),
- ipad: ((navigator.userAgent).indexOf("iPad") >= 0 ? true : false),
- iphone: ((navigator.userAgent).indexOf("iPhone") >= 0 ? true : false),
- ie: (typeof document.all != "undefined" && !this.opera),
- ie6: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 6") != -1),
- ie7: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 7") != -1),
- ie8: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 8") != -1),
- ie9: (!this.ns_pos && navigator.userAgent.indexOf("MSIE 9") != -1),
- keyboardless: (this.ipad || this.iphone),
-
- // are we running as XHTML? (doesn't work on Opera)
- is_xhtml: /xml/.test(document.contentType),
-
- slide_number: 0, // integer slide count: 0, 1, 2, ...
- slide_number_element: null, // element containing slide number
- slides: [], // set to array of slide div's
- notes: [], // set to array of handout div's
- backgrounds: [], // set to array of background div's
- toolbar: null, // element containing toolbar
- title: null, // document title
- last_shown: null, // last incrementally shown item
- eos: null, // span element for end of slide indicator
- toc: null, // table of contents
- outline: null, // outline element with the focus
- selected_text_len: 0, // length of drag selection on document
- view_all: 0, // 1 to view all slides + handouts
- want_toolbar: true, // user preference to show/hide toolbar
- mouse_click_enabled: true, // enables left click for next slide
- scroll_hack: 0, // IE work around for position: fixed
- disable_slide_click: false, // used by clicked anchors
-
- lang: "en", // updated to language specified by html file
-
- help_anchor: null, // used for keyboard focus hack in showToolbar()
- help_page: "http://www.w3.org/Talks/Tools/Slidy2/help/help.html",
- help_text: "Navigate with mouse click, space bar, Cursor Left/Right, " +
- "or Pg Up and Pg Dn. Use S and B to change font size.",
-
- size_index: 0,
- size_adjustment: 0,
- sizes: new Array("10pt", "12pt", "14pt", "16pt", "18pt", "20pt",
- "22pt", "24pt", "26pt", "28pt", "30pt", "32pt"),
-
- // needed for efficient resizing
- last_width: 0,
- last_height: 0,
-
-
- // Needed for cross browser support for relative width/height on
- // object elements. The work around is to save width/height attributes
- // and then to recompute absolute width/height dimensions on resizing
- objects: [],
-
- // attach initialiation event handlers
- set_up: function () {
- var init = function() { w3c_slidy.init(); };
- if (typeof window.addEventListener != "undefined")
- window.addEventListener("load", init, false);
- else
- window.attachEvent("onload", init);
- },
-
- hide_slides: function () {
- if (document.body && !w3c_slidy.initialized)
- document.body.style.visibility = "hidden";
- else
- setTimeout(w3c_slidy.hide_slides, 50);
- },
-
- // hack to persuade IE to compute correct document height
- // as needed for simulating fixed positioning of toolbar
- ie_hack: function () {
- window.resizeBy(0,-1);
- window.resizeBy(0, 1);
- },
-
- init: function () {
- //alert("slidy starting test 10");
- document.body.style.visibility = "visible";
- w3c_slidy_i18n.init();
- this.add_toolbar();
- this.wrap_implicit_slides();
- this.collect_slides();
- this.collect_notes();
- this.collect_backgrounds();
- this.objects = document.body.getElementsByTagName("object");
- this.patch_anchors();
- this.slide_number = this.find_slide_number(location.href);
- window.offscreenbuffering = true;
- this.size_adjustment = this.find_size_adjust();
- this.time_left = this.find_duration();
- this.hide_image_toolbar(); // suppress IE image toolbar popup
- this.init_outliner(); // activate fold/unfold support
- this.title = document.title;
-
- // work around for opera bug
- this.is_xhtml = (document.body.tagName == "BODY" ? false : true);
-
- if (this.slides.length > 0)
- {
- var slide = this.slides[this.slide_number];
-
- if (this.slide_number > 0)
- {
- this.set_visibility_all_incremental("visible");
- this.last_shown = this.previous_incremental_item(null);
- this.set_eos_status(true);
- }
- else
- {
- this.last_shown = null;
- this.set_visibility_all_incremental("hidden");
- this.set_eos_status(!this.next_incremental_item(this.last_shown));
- }
-
- this.set_location();
- this.add_class(this.slides[0], "first-slide");
- w3c_slidy.show_slide(slide);
- }
-
- this.toc = this.table_of_contents();
-
- this.add_initial_prompt();
-
- // bind event handlers without interfering with custom page scripts
- // Tap events behave too weirdly to support clicks reliably on
- // iPhone and iPad, so exclude these from click handler
-
- if (!this.keyboardless)
- this.add_listener(document.body, "click", this.mouse_button_click);
-
- this.add_listener(document, "keydown", this.key_down);
- this.add_listener(document, "keypress", this.key_press);
- this.add_listener(window, "resize", this.resized);
- this.add_listener(window, "scroll", this.scrolled);
- this.add_listener(window, "unload", this.unloaded);
-
- if (!document.body.onclick)
- document.body.onclick = function () { };
-
- this.single_slide_view();
-
- //this.set_location();
-
- this.resized();
-
- if (this.ie7)
- setTimeout(w3c_slidy.ie_hack, 100);
-
- this.show_toolbar();
-
- // for back button detection
- setInterval(function () { w3c_slidy.check_location(); }, 200);
- w3c_slidy.initialized = true;
- },
-
- // create div element with links to each slide
- table_of_contents: function () {
- var toc = this.create_element("div");
- this.add_class(toc, "slidy_toc hidden");
- //toc.setAttribute("tabindex", "0");
-
- var heading = this.create_element("div");
- this.add_class(heading, "toc-heading");
- heading.innerHTML = "Table of Contents".localize();
-
- toc.appendChild(heading);
- var previous = null;
-
- for (var i = 0; i < this.slides.length; ++i)
- {
- var title = this.has_class(this.slides[i], "title");
- var num = document.createTextNode((i + 1) + ". ");
-
- toc.appendChild(num);
-
- var a = this.create_element("a");
- a.setAttribute("href", "#(" + (i+1) + ")");
-
- if (title)
- this.add_class(a, "titleslide");
-
- var name = document.createTextNode(this.slide_name(i));
- a.appendChild(name);
- a.onclick = w3c_slidy.toc_click;
- a.onkeydown = w3c_slidy.toc_keydown;
- a.previous = previous;
-
- if (previous)
- previous.next = a;
-
- toc.appendChild(a);
-
- if (i == 0)
- toc.first = a;
-
- if (i < this.slides.length - 1)
- {
- var br = this.create_element("br");
- toc.appendChild(br);
- }
-
- previous = a;
- }
-
- toc.focus = function () {
- if (this.first)
- this.first.focus();
- }
-
- toc.onmouseup = w3c_slidy.mouse_button_up;
-
- toc.onclick = function (e) {
- e||(e=window.event);
-
- if (w3c_slidy.selected_text_len <= 0)
- w3c_slidy.hide_table_of_contents();
-
- w3c_slidy.stop_propagation(e);
-
- if (e.cancel != undefined)
- e.cancel = true;
-
- if (e.returnValue != undefined)
- e.returnValue = false;
-
- return false;
- };
-
- document.body.insertBefore(toc, document.body.firstChild);
- return toc;
- },
-
- is_shown_toc: function () {
- return !w3c_slidy.has_class(w3c_slidy.toc, "hidden");
- },
-
- show_table_of_contents: function () {
- w3c_slidy.remove_class(w3c_slidy.toc, "hidden");
- var toc = w3c_slidy.toc;
- toc.focus();
-
- if (w3c_slidy.ie7 && w3c_slidy.slide_number == 0)
- setTimeout(w3c_slidy.ie_hack, 100);
- },
-
- hide_table_of_contents: function () {
- w3c_slidy.add_class(w3c_slidy.toc, "hidden");
-
- if (!w3c_slidy.opera)
- w3c_slidy.help_anchor.focus();
- },
-
- toggle_table_of_contents: function () {
- if (w3c_slidy.is_shown_toc())
- w3c_slidy.hide_table_of_contents();
- else
- w3c_slidy.show_table_of_contents();
- },
-
- // called on clicking toc entry
- toc_click: function (e) {
- if (!e)
- e = window.event;
-
- var target = w3c_slidy.get_target(e);
-
- if (target && target.nodeType == 1)
- {
- var uri = target.getAttribute("href");
-
- if (uri)
- {
- //alert("going to " + uri);
- var slide = w3c_slidy.slides[w3c_slidy.slide_number];
- w3c_slidy.hide_slide(slide);
- w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri);
- slide = w3c_slidy.slides[w3c_slidy.slide_number];
- w3c_slidy.last_shown = null;
- w3c_slidy.set_location();
- w3c_slidy.set_visibility_all_incremental("hidden");
- w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown));
- w3c_slidy.show_slide(slide);
- //target.focus();
-
- try
- {
- if (!w3c_slidy.opera)
- w3c_slidy.help_anchor.focus();
- }
- catch (e)
- {
- }
- }
- }
-
- w3c_slidy.hide_table_of_contents(e);
- if (w3c_slidy.ie7) w3c_slidy.ie_hack();
- w3c_slidy.stop_propagation(e);
- return w3c_slidy.cancel(e);
- },
-
- // called onkeydown for toc entry
- toc_keydown: function (event) {
- var key;
-
- if (!event)
- var event = window.event;
-
- // kludge around NS/IE differences
- if (window.event)
- key = window.event.keyCode;
- else if (event.which)
- key = event.which;
- else
- return true; // Yikes! unknown browser
-
- // ignore event if key value is zero
- // as for alt on Opera and Konqueror
- if (!key)
- return true;
-
- // check for concurrent control/command/alt key
- // but are these only present on mouse events?
-
- if (event.ctrlKey || event.altKey)
- return true;
-
- if (key == 13)
- {
- var uri = this.getAttribute("href");
-
- if (uri)
- {
- //alert("going to " + uri);
- var slide = w3c_slidy.slides[w3c_slidy.slide_number];
- w3c_slidy.hide_slide(slide);
- w3c_slidy.slide_number = w3c_slidy.find_slide_number(uri);
- slide = w3c_slidy.slides[w3c_slidy.slide_number];
- w3c_slidy.last_shown = null;
- w3c_slidy.set_location();
- w3c_slidy.set_visibility_all_incremental("hidden");
- w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown));
- w3c_slidy.show_slide(slide);
- //target.focus();
-
- try
- {
- if (!w3c_slidy.opera)
- w3c_slidy.help_anchor.focus();
- }
- catch (e)
- {
- }
- }
-
- w3c_slidy.hide_table_of_contents();
-
- if (self.ie7)
- w3c_slidy.ie_hack();
-
- return w3c_slidy.cancel(event);
- }
-
- if (key == 40 && this.next)
- {
- this.next.focus();
- return w3c_slidy.cancel(event);
- }
-
- if (key == 38 && this.previous)
- {
- this.previous.focus();
- return w3c_slidy.cancel(event);
- }
-
- return true;
- },
-
-
- // ### OBSOLETE ###
- before_print: function () {
- this.show_all_slides();
- this.hide_toolbar();
- alert("before print");
- },
-
- // ### OBSOLETE ###
- after_print: function () {
- if (!this.view_all)
- {
- this.single_slide_view();
- this.show_toolbar();
- }
- alert("after print");
- },
-
- // ### OBSOLETE ###
- print_slides: function () {
- this.before_print();
- window.print();
- this.after_print();
- },
-
- // ### OBSOLETE ?? ###
- toggle_view: function () {
- if (this.view_all)
- {
- this.single_slide_view();
- this.show_toolbar();
- this.view_all = 0;
- }
- else
- {
- this.show_all_slides();
- this.hide_toolbar();
- this.view_all = 1;
- }
- },
-
- // prepare for printing ### OBSOLETE ###
- show_all_slides: function () {
- this.remove_class(document.body, "single_slide");
- this.set_visibility_all_incremental("visible");
- },
-
- // restore after printing ### OBSOLETE ###
- single_slide_view: function () {
- this.add_class(document.body, "single_slide");
- this.set_visibility_all_incremental("visible");
- this.last_shown = this.previous_incremental_item(null);
- },
-
- // suppress IE's image toolbar pop up
- hide_image_toolbar: function () {
- if (!this.ns_pos)
- {
- var images = document.getElementsByTagName("IMG");
-
- for (var i = 0; i < images.length; ++i)
- images[i].setAttribute("galleryimg", "no");
- }
- },
-
- unloaded: function (e) {
- //alert("unloaded");
- },
-
- // Safari and Konqueror don't yet support getComputedStyle()
- // and they always reload page when location.href is updated
- is_KHTML: function () {
- var agent = navigator.userAgent;
- return (agent.indexOf("KHTML") >= 0 ? true : false);
- },
-
- // find slide name from first h1 element
- // default to document title + slide number
- slide_name: function (index) {
- var name = null;
- var slide = this.slides[index];
-
- var heading = this.find_heading(slide);
-
- if (heading)
- name = this.extract_text(heading);
-
- if (!name)
- name = this.title + "(" + (index + 1) + ")";
-
- name.replace(/\&/g, "&");
- name.replace(/\</g, "<");
- name.replace(/\>/g, ">");
-
- return name;
- },
-
- // find first h1 element in DOM tree
- find_heading: function (node) {
- if (!node || node.nodeType != 1)
- return null;
-
- if (node.nodeName == "H1" || node.nodeName == "h1")
- return node;
-
- var child = node.firstChild;
-
- while (child)
- {
- node = this.find_heading(child);
-
- if (node)
- return node;
-
- child = child.nextSibling;
- }
-
- return null;
- },
-
- // recursively extract text from DOM tree
- extract_text: function (node) {
- if (!node)
- return "";
-
- // text nodes
- if (node.nodeType == 3)
- return node.nodeValue;
-
- // elements
- if (node.nodeType == 1)
- {
- node = node.firstChild;
- var text = "";
-
- while (node)
- {
- text = text + this.extract_text(node);
- node = node.nextSibling;
- }
-
- return text;
- }
-
- return "";
- },
-
- // find copyright text from meta element
- find_copyright: function () {
- var name, content;
- var meta = document.getElementsByTagName("meta");
-
- for (var i = 0; i < meta.length; ++i)
- {
- name = meta[i].getAttribute("name");
- content = meta[i].getAttribute("content");
-
- if (name == "copyright")
- return content;
- }
-
- return null;
- },
-
- find_size_adjust: function () {
- var name, content, offset;
- var meta = document.getElementsByTagName("meta");
-
- for (var i = 0; i < meta.length; ++i)
- {
- name = meta[i].getAttribute("name");
- content = meta[i].getAttribute("content");
-
- if (name == "font-size-adjustment")
- return 1 * content;
- }
-
- return 1;
- },
-
- // <meta name="duration" content="20" /> for 20 minutes
- find_duration: function () {
- var name, content, offset;
- var meta = document.getElementsByTagName("meta");
-
- for (var i = 0; i < meta.length; ++i)
- {
- name = meta[i].getAttribute("name");
- content = meta[i].getAttribute("content");
-
- if (name == "duration")
- return 60000 * content;
- }
-
- return null;
- },
-
- replace_by_non_breaking_space: function (str) {
- for (var i = 0; i < str.length; ++i)
- str[i] = 160;
- },
-
- // ### CHECK ME ### is use of "li" okay for text/html?
- // for XHTML do we also need to specify namespace?
- init_outliner: function () {
- var items = document.getElementsByTagName("li");
-
- for (var i = 0; i < items.length; ++i)
- {
- var target = items[i];
-
- if (!this.has_class(target.parentNode, "outline"))
- continue;
-
- target.onclick = this.outline_click;
-/* ### more work needed for IE6
- if (!this.ns_pos)
- {
- target.onmouseover = this.hover_outline;
- target.onmouseout = this.unhover_outline;
- }
-*/
- if (this.foldable(target))
- {
- target.foldable = true;
- target.onfocus = function () {w3c_slidy.outline = this;};
- target.onblur = function () {w3c_slidy.outline = null;};
-
- if (!target.getAttribute("tabindex"))
- target.setAttribute("tabindex", "0");
-
- if (this.has_class(target, "expand"))
- this.unfold(target);
- else
- this.fold(target);
- }
- else
- {
- this.add_class(target, "nofold");
- target.visible = true;
- target.foldable = false;
- }
- }
- },
-
- foldable: function (item) {
- if (!item || item.nodeType != 1)
- return false;
-
- var node = item.firstChild;
-
- while (node)
- {
- if (node.nodeType == 1 && this.is_block(node))
- return true;
-
- node = node.nextSibling;
- }
-
- return false;
- },
-
- // ### CHECK ME ### switch to add/remove "hidden" class
- fold: function (item) {
- if (item)
- {
- this.remove_class(item, "unfolded");
- this.add_class(item, "folded");
- }
-
- var node = item ? item.firstChild : null;
-
- while (node)
- {
- if (node.nodeType == 1 && this.is_block(node)) // element
- {
- w3c_slidy.add_class(node, "hidden");
- }
-
- node = node.nextSibling;
- }
-
- item.visible = false;
- },
-
- // ### CHECK ME ### switch to add/remove "hidden" class
- unfold: function (item) {
- if (item)
- {
- this.add_class(item, "unfolded");
- this.remove_class(item, "folded");
- }
-
- var node = item ? item.firstChild : null;
-
- while (node)
- {
- if (node.nodeType == 1 && this.is_block(node)) // element
- {
- w3c_slidy.remove_class(node, "hidden");
- }
-
- node = node.nextSibling;
- }
-
- item.visible = true;
- },
-
- outline_click: function (e) {
- if (!e)
- e = window.event;
-
- var rightclick = false;
- var target = w3c_slidy.get_target(e);
-
- while (target && target.visible == undefined)
- target = target.parentNode;
-
- if (!target)
- return true;
-
- if (e.which)
- rightclick = (e.which == 3);
- else if (e.button)
- rightclick = (e.button == 2);
-
- if (!rightclick && target.visible != undefined)
- {
- if (target.foldable)
- {
- if (target.visible)
- w3c_slidy.fold(target);
- else
- w3c_slidy.unfold(target);
- }
-
- w3c_slidy.stop_propagation(e);
- e.cancel = true;
- e.returnValue = false;
- }
-
- return false;
- },
-
- add_initial_prompt: function () {
- var prompt = this.create_element("div");
- prompt.setAttribute("class", "initial_prompt");
-
- var p1 = this.create_element("p");
- prompt.appendChild(p1);
- p1.setAttribute("class", "help");
-
- if (this.keyboardless)
- p1.innerHTML = "Tap footer to move to next slide";
- else
- p1.innerHTML = "Space or Right Arrow to move to next " +
- "slide, click help below for more details";
-
- this.add_listener(prompt, "click", function (e) {
- document.body.removeChild(prompt);
- w3c_slidy.stop_propagation(e);
-
- if (e.cancel != undefined)
- e.cancel = true;
-
- if (e.returnValue != undefined)
- e.returnValue = false;
-
- return false;
- });
-
- document.body.appendChild(prompt);
- this.initial_prompt = prompt;
- setTimeout(function() {document.body.removeChild(prompt);}, 5000);
- },
-
- add_toolbar: function () {
- var counter, page;
-
- this.toolbar = this.create_element("div");
- this.toolbar.setAttribute("class", "toolbar");
-
- // a reasonably behaved browser
- if (this.ns_pos || !this.ie6)
- {
- var right = this.create_element("div");
- right.setAttribute("style", "float: right; text-align: right");
-
- counter = this.create_element("span")
- counter.innerHTML = "slide".localize() + " n/m";
- right.appendChild(counter);
- this.toolbar.appendChild(right);
-
- var left = this.create_element("div");
- left.setAttribute("style", "text-align: left");
-
- // global end of slide indicator
- this.eos = this.create_element("span");
- this.eos.innerHTML = "* ";
- left.appendChild(this.eos);
-
- var help = this.create_element("a");
- help.setAttribute("href", this.help_page);
- help.setAttribute("title", this.help_text.localize());
- help.innerHTML = "help?".localize();
- left.appendChild(help);
- this.help_anchor = help; // save for focus hack
-
- var gap1 = document.createTextNode(" ");
- left.appendChild(gap1);
-
- var contents = this.create_element("a");
- contents.setAttribute("href", "javascript:w3c_slidy.toggle_table_of_contents()");
- contents.setAttribute("title", "table of contents".localize());
- contents.innerHTML = "contents?".localize();
- left.appendChild(contents);
-
- var gap2 = document.createTextNode(" ");
- left.appendChild(gap2);
-
- var copyright = this.find_copyright();
-
- if (copyright)
- {
- var span = this.create_element("span");
- span.className = "copyright";
- span.innerHTML = copyright;
- left.appendChild(span);
- }
-
- this.toolbar.setAttribute("tabindex", "0");
- this.toolbar.appendChild(left);
- }
- else // IE6 so need to work around its poor CSS support
- {
- this.toolbar.style.position = (this.ie7 ? "fixed" : "absolute");
- this.toolbar.style.zIndex = "200";
- this.toolbar.style.width = "99.9%";
- this.toolbar.style.height = "1.2em";
- this.toolbar.style.top = "auto";
- this.toolbar.style.bottom = "0";
- this.toolbar.style.left = "0";
- this.toolbar.style.right = "0";
- this.toolbar.style.textAlign = "left";
- this.toolbar.style.fontSize = "60%";
- this.toolbar.style.color = "red";
- this.toolbar.borderWidth = 0;
- this.toolbar.className = "toolbar";
- this.toolbar.style.background = "rgb(240,240,240)";
-
- // would like to have help text left aligned
- // and page counter right aligned, floating
- // div's don't work, so instead use nested
- // absolutely positioned div's.
-
- var sp = this.create_element("span");
- sp.innerHTML = " * ";
- this.toolbar.appendChild(sp);
- this.eos = sp; // end of slide indicator
-
- var help = this.create_element("a");
- help.setAttribute("href", this.help_page);
- help.setAttribute("title", this.help_text.localize());
- help.innerHTML = "help?".localize();
- this.toolbar.appendChild(help);
- this.help_anchor = help; // save for focus hack
-
- var gap1 = document.createTextNode(" ");
- this.toolbar.appendChild(gap1);
-
- var contents = this.create_element("a");
- contents.setAttribute("href", "javascript:toggleTableOfContents()");
- contents.setAttribute("title", "table of contents".localize());
- contents.innerHTML = "contents?".localize();
- this.toolbar.appendChild(contents);
-
- var gap2 = document.createTextNode(" ");
- this.toolbar.appendChild(gap2);
-
- var copyright = this.find_copyright();
-
- if (copyright)
- {
- var span = this.create_element("span");
- span.innerHTML = copyright;
- span.style.color = "black";
- span.style.marginLeft = "0.5em";
- this.toolbar.appendChild(span);
- }
-
- counter = this.create_element("div")
- counter.style.position = "absolute";
- counter.style.width = "auto"; //"20%";
- counter.style.height = "1.2em";
- counter.style.top = "auto";
- counter.style.bottom = 0;
- counter.style.right = "0";
- counter.style.textAlign = "right";
- counter.style.color = "red";
- counter.style.background = "rgb(240,240,240)";
-
- counter.innerHTML = "slide".localize() + " n/m";
- this.toolbar.appendChild(counter);
- }
-
- // ensure that click isn't passed through to the page
- this.toolbar.onclick =
- function (e) {
- if (!e)
- e = window.event;
-
- var target = e.target;
-
- if (!target && e.srcElement)
- target = e.srcElement;
-
- // work around Safari bug
- if (target && target.nodeType == 3)
- target = target.parentNode;
-
- w3c_slidy.stop_propagation(e);
-
- if (target && target.nodeName.toLowerCase() != "a")
- w3c_slidy.mouse_button_click(e);
- };
-
- this.slide_number_element = counter;
- this.set_eos_status(false);
- document.body.appendChild(this.toolbar);
- },
-
- // wysiwyg editors make it hard to use div elements
- // e.g. amaya loses the div when you copy and paste
- // this function wraps div elements around implicit
- // slides which start with an h1 element and continue
- // up to the next heading or div element
- wrap_implicit_slides: function () {
- var i, heading, node, next, div;
- var headings = document.getElementsByTagName("h1");
-
- if (!headings)
- return;
-
- for (i = 0; i < headings.length; ++i)
- {
- heading = headings[i];
-
- if (heading.parentNode != document.body)
- continue;
-
- node = heading.nextSibling;
-
- div = document.createElement("div");
- this.add_class(div, "slide");
- document.body.replaceChild(div, heading);
- div.appendChild(heading);
-
- while (node)
- {
- if (node.nodeType == 1 && // an element
- (node.nodeName == "H1" ||
- node.nodeName == "h1" ||
- node.nodeName == "DIV" ||
- node.nodeName == "div"))
- break;
-
- next = node.nextSibling;
- node = document.body.removeChild(node);
- div.appendChild(node);
- node = next;
- }
- }
- },
-
-// return new array of all slides
- collect_slides: function () {
- var slides = new Array();
- var divs = document.body.getElementsByTagName("div");
-
- for (var i = 0; i < divs.length; ++i)
- {
- div = divs.item(i);
-
- if (this.has_class(div, "slide"))
- {
- // add slide to collection
- slides[slides.length] = div;
-
- // hide each slide as it is found
- this.add_class(div, "hidden");
-
- // add dummy <br/> at end for scrolling hack
- var node1 = document.createElement("br");
- div.appendChild(node1);
- var node2 = document.createElement("br");
- div.appendChild(node2);
- }
- else if (this.has_class(div, "background"))
- { // work around for Firefox SVG reload bug
- // which otherwise replaces 1st SVG graphic with 2nd
- div.style.display = "block";
- }
- }
-
- this.slides = slides;
- },
-
- // return new array of all <div class="handout">
- collect_notes: function () {
- var notes = new Array();
- var divs = document.body.getElementsByTagName("div");
-
- for (var i = 0; i < divs.length; ++i)
- {
- div = divs.item(i);
-
- if (this.has_class(div, "handout"))
- {
- // add note to collection
- notes[notes.length] = div;
-
- // and hide it
- this.add_class(div, "hidden");
- }
- }
-
- this.notes = notes;
- },
-
- // return new array of all <div class="background">
- // including named backgrounds e.g. class="background titlepage"
- collect_backgrounds: function () {
- var backgrounds = new Array();
- var divs = document.body.getElementsByTagName("div");
-
- for (var i = 0; i < divs.length; ++i)
- {
- div = divs.item(i);
-
- if (this.has_class(div, "background"))
- {
- // add background to collection
- backgrounds[backgrounds.length] = div;
-
- // and hide it
- this.add_class(div, "hidden");
- }
- }
-
- this.backgrounds = backgrounds;
- },
-
- // set click handlers on all anchors
- patch_anchors: function () {
- var self = w3c_slidy;
- var handler = function (event) {
- // compare this.href with location.href
- // for link to another slide in this doc
-
- if (self.page_address(this.href) == self.page_address(location.href))
- {
- // yes, so find new slide number
- var newslidenum = self.find_slide_number(this.href);
-
- if (newslidenum != self.slide_number)
- {
- var slide = self.slides[self.slide_number];
- self.hide_slide(slide);
- self.slide_number = newslidenum;
- slide = self.slides[self.slide_number];
- self.show_slide(slide);
- self.set_location();
- }
- }
- else if (this.target == null)
- location.href = this.href;
-
- this.blur();
- self.disable_slide_click = true;
- };
-
- var anchors = document.body.getElementsByTagName("a");
-
- for (var i = 0; i < anchors.length; ++i)
- {
- if (window.addEventListener)
- anchors[i].addEventListener("click", handler, false);
- else
- anchors[i].attachEvent("onclick", handler);
- }
- },
-
- // ### CHECK ME ### see which functions are invoked via setTimeout
- // either directly or indirectly for use of w3c_slidy vs this
- show_slide_number: function () {
- var timer = w3c_slidy.get_timer();
- w3c_slidy.slide_number_element.innerHTML = timer + "slide".localize() + " " +
- (w3c_slidy.slide_number + 1) + "/" + w3c_slidy.slides.length;
- },
-
- // every 200mS check if the location has been changed as a
- // result of the user activating the Back button/menu item
- // doesn't work for Opera < 9.5
- check_location: function () {
- var hash = location.hash;
-
- if (w3c_slidy.slide_number > 0 && (hash == "" || hash == "#"))
- w3c_slidy.goto_slide(0);
- else if (hash.length > 2 && hash != "#("+(w3c_slidy.slide_number+1)+")")
- {
- var num = parseInt(location.hash.substr(2));
-
- if (!isNaN(num))
- w3c_slidy.goto_slide(num-1);
- }
-
- if (w3c_slidy.time_left && w3c_slidy.slide_number > 0)
- {
- w3c_slidy.show_slide_number();
-
- if (w3c_slidy.time_left > 0)
- w3c_slidy.time_left -= 200;
- }
- },
-
- get_timer: function () {
- var timer = "";
- if (w3c_slidy.time_left)
- {
- var mins, secs;
- secs = Math.floor(w3c_slidy.time_left/1000);
- mins = Math.floor(secs / 60);
- secs = secs % 60;
- timer = (mins ? mins+"m" : "") + secs + "s ";
- }
-
- return timer;
- },
-
- // this doesn't push location onto history stack for IE
- // for which a hidden iframe hack is needed: load page into
- // the iframe with script that set's parent's location.hash
- // but that won't work for standalone use unless we can
- // create the page dynamically via a javascript: URL
- set_location: function () {
- var uri = w3c_slidy.page_address(location.href);
- var hash = "#(" + (w3c_slidy.slide_number+1) + ")";
-
- if (w3c_slidy.slide_number >= 0)
- uri = uri + hash;
-
- if (w3c_slidy.ie && !w3c_slidy.ie8)
- w3c_slidy.push_hash(hash);
-
- if (uri != location.href) // && !khtml
- location.href = uri;
-
- if (this.khtml)
- hash = "(" + (w3c_slidy.slide_number+1) + ")";
-
- if (!this.ie && location.hash != hash && location.hash != "")
- location.hash = hash;
-
- document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")";
- w3c_slidy.show_slide_number();
- },
-
- page_address: function (uri) {
- var i = uri.indexOf("#");
-
- if (i < 0)
- i = uri.indexOf("%23");
-
- // check if anchor is entire page
-
- if (i < 0)
- return uri; // yes
-
- return uri.substr(0, i);
- },
-
- // only used for IE6 and IE7
- on_frame_loaded: function (hash) {
- location.hash = hash;
- var uri = w3c_slidy.page_address(location.href);
- location.href = uri + hash;
- },
-
- // history hack with thanks to Bertrand Le Roy
- push_hash: function (hash) {
- if (hash == "") hash = "#(1)";
- window.location.hash = hash;
-
- var doc = document.getElementById("historyFrame").contentWindow.document;
- doc.open("javascript:'<html></html>'");
- // PWL modified this string literal to break the close script tag
- // which otherwise gets parsed when incorporated
- doc.write("<html><head><script type=\"text/javascript\">window.parent.w3c_slidy.on_frame_loaded('"+
- (hash) + "');</" + "script></head><body>hello mum</body></html>");
- doc.close();
- },
-
- // find current slide based upon location
- // first find target anchor and then look
- // for associated div element enclosing it
- // finally map that to slide number
- find_slide_number: function (uri) {
- // first get anchor from page location
-
- var i = uri.indexOf("#");
-
- // check if anchor is entire page
- if (i < 0)
- return 0; // yes
-
- var anchor = unescape(uri.substr(i+1));
-
- // now use anchor as XML ID to find target
- var target = document.getElementById(anchor);
-
- if (!target)
- {
- // does anchor look like "(2)" for slide 2 ??
- // where first slide is (1)
- var re = /\((\d)+\)/;
-
- if (anchor.match(re))
- {
- var num = parseInt(anchor.substring(1, anchor.length-1));
-
- if (num > this.slides.length)
- num = 1;
-
- if (--num < 0)
- num = 0;
-
- return num;
- }
-
- // accept [2] for backwards compatibility
- re = /\[(\d)+\]/;
-
- if (anchor.match(re))
- {
- var num = parseInt(anchor.substring(1, anchor.length-1));
-
- if (num > this.slides.length)
- num = 1;
-
- if (--num < 0)
- num = 0;
-
- return num;
- }
-
- // oh dear unknown anchor
- return 0;
- }
-
- // search for enclosing slide
-
- while (true)
- {
- // browser coerces html elements to uppercase!
- if (target.nodeName.toLowerCase() == "div" &&
- this.has_class(target, "slide"))
- {
- // found the slide element
- break;
- }
-
- // otherwise try parent element if any
-
- target = target.parentNode;
-
- if (!target)
- {
- return 0; // no luck!
- }
- };
-
- for (i = 0; i < slides.length; ++i)
- {
- if (slides[i] == target)
- return i; // success
- }
-
- // oh dear still no luck
- return 0;
- },
-
- previous_slide: function (incremental) {
- if (!w3c_slidy.view_all)
- {
- var slide;
-
- if ((incremental || w3c_slidy.slide_number == 0) && w3c_slidy.last_shown != null)
- {
- w3c_slidy.last_shown = w3c_slidy.hide_previous_item(w3c_slidy.last_shown);
- w3c_slidy.set_eos_status(false);
- }
- else if (w3c_slidy.slide_number > 0)
- {
- slide = w3c_slidy.slides[w3c_slidy.slide_number];
- w3c_slidy.hide_slide(slide);
-
- w3c_slidy.slide_number = w3c_slidy.slide_number - 1;
- slide = w3c_slidy.slides[w3c_slidy.slide_number];
- w3c_slidy.set_visibility_all_incremental("visible");
- w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null);
- w3c_slidy.set_eos_status(true);
- w3c_slidy.show_slide(slide);
- }
-
- w3c_slidy.set_location();
-
- if (!w3c_slidy.ns_pos)
- w3c_slidy.refresh_toolbar(200);
- }
- },
-
- next_slide: function (incremental) {
- if (!w3c_slidy.view_all)
- {
- var slide, last = w3c_slidy.last_shown;
-
- if (incremental || w3c_slidy.slide_number == w3c_slidy.slides.length - 1)
- w3c_slidy.last_shown = w3c_slidy.reveal_next_item(w3c_slidy.last_shown);
-
- if ((!incremental || w3c_slidy.last_shown == null) &&
- w3c_slidy.slide_number < w3c_slidy.slides.length - 1)
- {
- slide = w3c_slidy.slides[w3c_slidy.slide_number];
- w3c_slidy.hide_slide(slide);
-
- w3c_slidy.slide_number = w3c_slidy.slide_number + 1;
- slide = w3c_slidy.slides[w3c_slidy.slide_number];
- w3c_slidy.last_shown = null;
- w3c_slidy.set_visibility_all_incremental("hidden");
- w3c_slidy.show_slide(slide);
- }
- else if (!w3c_slidy.last_shown)
- {
- if (last && incremental)
- w3c_slidy.last_shown = last;
- }
-
- w3c_slidy.set_location();
-
- w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown));
-
- if (!w3c_slidy.ns_pos)
- w3c_slidy.refresh_toolbar(200);
- }
- },
-
- // to first slide with nothing revealed
- // i.e. state at start of presentation
- first_slide: function () {
- if (!w3c_slidy.view_all)
- {
- var slide;
-
- if (w3c_slidy.slide_number != 0)
- {
- slide = w3c_slidy.slides[w3c_slidy.slide_number];
- w3c_slidy.hide_slide(slide);
-
- w3c_slidy.slide_number = 0;
- slide = w3c_slidy.slides[w3c_slidy.slide_number];
- w3c_slidy.last_shown = null;
- w3c_slidy.set_visibility_all_incremental("hidden");
- w3c_slidy.show_slide(slide);
- }
-
- w3c_slidy.set_eos_status(
- !w3c_slidy.next_incremental_item(w3c_slidy.last_shown));
- w3c_slidy.set_location();
- }
- },
-
- // goto last slide with everything revealed
- // i.e. state at end of presentation
- last_slide: function () {
- if (!w3c_slidy.view_all)
- {
- var slide;
-
- w3c_slidy.last_shown = null; //revealNextItem(lastShown);
-
- if (w3c_slidy.last_shown == null &&
- w3c_slidy.slide_number < w3c_slidy.slides.length - 1)
- {
- slide = w3c_slidy.slides[w3c_slidy.slide_number];
- w3c_slidy.hide_slide(slide);
- w3c_slidy.slide_number = w3c_slidy.slides.length - 1;
- slide = w3c_slidy.slides[w3c_slidy.slide_number];
- w3c_slidy.set_visibility_all_incremental("visible");
- w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null);
-
- w3c_slidy.show_slide(slide);
- }
- else
- {
- w3c_slidy.set_visibility_all_incremental("visible");
- w3c_slidy.last_shown = w3c_slidy.previous_incremental_item(null);
- }
-
- w3c_slidy.set_eos_status(true);
- w3c_slidy.set_location();
- }
- },
-
-
- // ### check this and consider add/remove class
- set_eos_status: function (state) {
- if (this.eos)
- this.eos.style.color = (state ? "rgb(240,240,240)" : "red");
- },
-
- // first slide is 0
- goto_slide: function (num) {
- //alert("going to slide " + (num+1));
- var slide = w3c_slidy.slides[w3c_slidy.slide_number];
- w3c_slidy.hide_slide(slide);
- w3c_slidy.slide_number = num;
- slide = w3c_slidy.slides[w3c_slidy.slide_number];
- w3c_slidy.last_shown = null;
- w3c_slidy.set_visibility_all_incremental("hidden");
- w3c_slidy.set_eos_status(!w3c_slidy.next_incremental_item(w3c_slidy.last_shown));
- document.title = w3c_slidy.title + " (" + (w3c_slidy.slide_number+1) + ")";
- w3c_slidy.show_slide(slide);
- w3c_slidy.show_slide_number();
- },
-
-
- show_slide: function (slide) {
- this.sync_background(slide);
- window.scrollTo(0,0);
- this.remove_class(slide, "hidden");
- },
-
- hide_slide: function (slide) {
- this.add_class(slide, "hidden");
- },
-
- // show just the backgrounds pertinent to this slide
- // when slide background-color is transparent
- // this should now work with rgba color values
- sync_background: function (slide) {
- var background;
- var bgColor;
-
- if (slide.currentStyle)
- bgColor = slide.currentStyle["backgroundColor"];
- else if (document.defaultView)
- {
- var styles = document.defaultView.getComputedStyle(slide,null);
-
- if (styles)
- bgColor = styles.getPropertyValue("background-color");
- else // broken implementation probably due Safari or Konqueror
- {
- //alert("defective implementation of getComputedStyle()");
- bgColor = "transparent";
- }
- }
- else
- bgColor == "transparent";
-
- if (bgColor == "transparent" ||
- bgColor.indexOf("rgba") >= 0 ||
- bgColor.indexOf("opacity") >= 0)
- {
- var slideClass = this.get_class_list(slide);
-
- for (var i = 0; i < this.backgrounds.length; i++)
- {
- background = this.backgrounds[i];
-
- var bgClass = this.get_class_list(background);
-
- if (this.matching_background(slideClass, bgClass))
- this.remove_class(background, "hidden");
- else
- this.add_class(background, "hidden");
- }
- }
- else // forcibly hide all backgrounds
- this.hide_backgrounds();
- },
-
- hide_backgrounds: function () {
- for (var i = 0; i < this.backgrounds.length; i++)
- {
- background = this.backgrounds[i];
- this.add_class(background, "hidden");
- }
- },
-
- // compare classes for slide and background
- matching_background: function (slideClass, bgClass) {
- var i, count, pattern, result;
-
- // define pattern as regular expression
- pattern = /\w+/g;
-
- // check background class names
- result = bgClass.match(pattern);
-
- for (i = count = 0; i < result.length; i++)
- {
- if (result[i] == "hidden")
- continue;
-
- if (result[i] == "background")
- continue;
-
- ++count;
- }
-
- if (count == 0) // default match
- return true;
-
- // check for matches and place result in array
- result = slideClass.match(pattern);
-
- // now check if desired name is present for background
- for (i = count = 0; i < result.length; i++)
- {
- if (result[i] == "hidden")
- continue;
-
- if (this.has_token(bgClass, result[i]))
- return true;
- }
-
- return false;
- },
-
- resized: function () {
- var width = 0;
-
- if ( typeof( window.innerWidth ) == 'number' )
- width = window.innerWidth; // Non IE browser
- else if (document.documentElement && document.documentElement.clientWidth)
- width = document.documentElement.clientWidth; // IE6
- else if (document.body && document.body.clientWidth)
- width = document.body.clientWidth; // IE4
-
- var height = 0;
-
- if ( typeof( window.innerHeight ) == 'number' )
- height = window.innerHeight; // Non IE browser
- else if (document.documentElement && document.documentElement.clientHeight)
- height = document.documentElement.clientHeight; // IE6
- else if (document.body && document.body.clientHeight)
- height = document.body.clientHeight; // IE4
-
- if (height && (width/height > 1.05*1024/768))
- {
- width = height * 1024.0/768;
- }
-
- // IE fires onresize even when only font size is changed!
- // so we do a check to avoid blocking < and > actions
- if (width != w3c_slidy.last_width || height != w3c_slidy.last_height)
- {
- if (width >= 1100)
- w3c_slidy.size_index = 5; // 4
- else if (width >= 1000)
- w3c_slidy.size_index = 4; // 3
- else if (width >= 800)
- w3c_slidy.size_index = 3; // 2
- else if (width >= 600)
- w3c_slidy.size_index = 2; // 1
- else if (width)
- w3c_slidy.size_index = 0;
-
- // add in font size adjustment from meta element e.g.
- // <meta name="font-size-adjustment" content="-2" />
- // useful when slides have too much content ;-)
-
- if (0 <= w3c_slidy.size_index + w3c_slidy.size_adjustment &&
- w3c_slidy.size_index + w3c_slidy.size_adjustment < w3c_slidy.sizes.length)
- w3c_slidy.size_index = w3c_slidy.size_index + w3c_slidy.size_adjustment;
-
- // enables cross browser use of relative width/height
- // on object elements for use with SVG and Flash media
- w3c_slidy.adjust_object_dimensions(width, height);
-
- if (document.body.style.fontSize != w3c_slidy.sizes[w3c_slidy.size_index])
- {
- document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index];
- }
-
- w3c_slidy.last_width = width;
- w3c_slidy.last_height = height;
-
- // force reflow to work around Mozilla bug
- if (w3c_slidy.ns_pos)
- {
- var slide = w3c_slidy.slides[w3c_slidy.slide_number];
- w3c_slidy.hide_slide(slide);
- w3c_slidy.show_slide(slide);
- }
-
- // force correct positioning of toolbar
- w3c_slidy.refresh_toolbar(200);
- }
- },
-
- scrolled: function () {
- if (w3c_slidy.toolbar && !w3c_slidy.ns_pos && !w3c_slidy.ie7)
- {
- w3c_slidy.hack_offset = w3c_slidy.scroll_x_offset();
- // hide toolbar
- w3c_slidy.toolbar.style.display = "none";
-
- // make it reappear later
- if (w3c_slidy.scrollhack == 0 && !w3c_slidy.view_all)
- {
- setTimeout(function () {w3c_slidy.show_toolbar(); }, 1000);
- w3c_slidy.scrollhack = 1;
- }
- }
- },
-
- hide_toolbar: function () {
- w3c_slidy.add_class(w3c_slidy.toolbar, "hidden");
- window.focus();
- },
-
- // used to ensure IE refreshes toolbar in correct position
- refresh_toolbar: function (interval) {
- if (!w3c_slidy.ns_pos && !w3c_slidy.ie7)
- {
- w3c_slidy.hide_toolbar();
- setTimeout(function () {w3c_slidy.show_toolbar(); }, interval);
- }
- },
-
- // restores toolbar after short delay
- show_toolbar: function () {
- if (w3c_slidy.want_toolbar)
- {
- w3c_slidy.toolbar.style.display = "block";
-
- if (!w3c_slidy.ns_pos)
- {
- // adjust position to allow for scrolling
- var xoffset = w3c_slidy.scroll_x_offset();
- w3c_slidy.toolbar.style.left = xoffset;
- w3c_slidy.toolbar.style.right = xoffset;
-
- // determine vertical scroll offset
- //var yoffset = scrollYOffset();
-
- // bottom is doc height - window height - scroll offset
- //var bottom = documentHeight() - lastHeight - yoffset
-
- //if (yoffset > 0 || documentHeight() > lastHeight)
- // bottom += 16; // allow for height of scrollbar
-
- w3c_slidy.toolbar.style.bottom = 0; //bottom;
- }
-
- w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden");
- }
-
- w3c_slidy.scrollhack = 0;
-
-
- // set the keyboard focus to the help link on the
- // toolbar to ensure that document has the focus
- // IE doesn't always work with window.focus()
- // and this hack has benefit of Enter for help
-
- try
- {
- if (!w3c_slidy.opera)
- w3c_slidy.help_anchor.focus();
- }
- catch (e)
- {
- }
- },
-
-// invoked via F key
- toggle_toolbar: function () {
- if (!w3c_slidy.view_all)
- {
- if (w3c_slidy.has_class(w3c_slidy.toolbar, "hidden"))
- {
- w3c_slidy.remove_class(w3c_slidy.toolbar, "hidden")
- w3c_slidy.want_toolbar = 1;
- }
- else
- {
- w3c_slidy.add_class(w3c_slidy.toolbar, "hidden")
- w3c_slidy.want_toolbar = 0;
- }
- }
- },
-
- scroll_x_offset: function () {
- if (window.pageXOffset)
- return self.pageXOffset;
-
- if (document.documentElement &&
- document.documentElement.scrollLeft)
- return document.documentElement.scrollLeft;
-
- if (document.body)
- return document.body.scrollLeft;
-
- return 0;
- },
-
- scroll_y_offset: function () {
- if (window.pageYOffset)
- return self.pageYOffset;
-
- if (document.documentElement &&
- document.documentElement.scrollTop)
- return document.documentElement.scrollTop;
-
- if (document.body)
- return document.body.scrollTop;
-
- return 0;
- },
-
- // looking for a way to determine height of slide content
- // the slide itself is set to the height of the window
- optimize_font_size: function () {
- var slide = w3c_slidy.slides[w3c_slidy.slide_number];
-
- //var dh = documentHeight(); //getDocHeight(document);
- var dh = slide.scrollHeight;
- var wh = getWindowHeight();
- var u = 100 * dh / wh;
-
- alert("window utilization = " + u + "% (doc "
- + dh + " win " + wh + ")");
- },
-
- // from document object
- get_doc_height: function (doc) {
- if (!doc)
- doc = document;
-
- if (doc && doc.body && doc.body.offsetHeight)
- return doc.body.offsetHeight; // ns/gecko syntax
-
- if (doc && doc.body && doc.body.scrollHeight)
- return doc.body.scrollHeight;
-
- alert("couldn't determine document height");
- },
-
- get_window_height: function () {
- if ( typeof( window.innerHeight ) == 'number' )
- return window.innerHeight; // Non IE browser
-
- if (document.documentElement && document.documentElement.clientHeight)
- return document.documentElement.clientHeight; // IE6
-
- if (document.body && document.body.clientHeight)
- return document.body.clientHeight; // IE4
- },
-
- document_height: function () {
- var sh, oh;
-
- sh = document.body.scrollHeight;
- oh = document.body.offsetHeight;
-
- if (sh && oh)
- {
- return (sh > oh ? sh : oh);
- }
-
- // no idea!
- return 0;
- },
-
- smaller: function () {
- if (w3c_slidy.size_index > 0)
- {
- --w3c_slidy.size_index;
- }
-
- w3c_slidy.toolbar.style.display = "none";
- document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index];
- var slide = w3c_slidy.slides[w3c_slidy.slide_number];
- w3c_slidy.hide_slide(slide);
- w3c_slidy.show_slide(slide);
- setTimeout(function () {w3c_slidy.show_toolbar(); }, 50);
- },
-
- bigger: function () {
- if (w3c_slidy.size_index < w3c_slidy.sizes.length - 1)
- {
- ++w3c_slidy.size_index;
- }
-
- w3c_slidy.toolbar.style.display = "none";
- document.body.style.fontSize = w3c_slidy.sizes[w3c_slidy.size_index];
- var slide = w3c_slidy.slides[w3c_slidy.slide_number];
- w3c_slidy.hide_slide(slide);
- w3c_slidy.show_slide(slide);
- setTimeout(function () {w3c_slidy.show_toolbar(); }, 50);
- },
-
- // enables cross browser use of relative width/height
- // on object elements for use with SVG and Flash media
- // with thanks to Ivan Herman for the suggestion
- adjust_object_dimensions: function (width, height) {
- for( var i = 0; i < w3c_slidy.objects.length; i++ )
- {
- var obj = this.objects[i];
- var mimeType = obj.getAttribute("type");
-
- if (mimeType == "image/svg+xml" || mimeType == "application/x-shockwave-flash")
- {
- if ( !obj.initialWidth )
- obj.initialWidth = obj.getAttribute("width");
-
- if ( !obj.initialHeight )
- obj.initialHeight = obj.getAttribute("height");
-
- if ( obj.initialWidth && obj.initialWidth.charAt(obj.initialWidth.length-1) == "%" )
- {
- var w = parseInt(obj.initialWidth.slice(0, obj.initialWidth.length-1));
- var newW = width * (w/100.0);
- obj.setAttribute("width",newW);
- }
-
- if ( obj.initialHeight &&
- obj.initialHeight.charAt(obj.initialHeight.length-1) == "%" )
- {
- var h = parseInt(obj.initialHeight.slice(0, obj.initialHeight.length-1));
- var newH = height * (h/100.0);
- obj.setAttribute("height", newH);
- }
- }
- }
- },
-
- // needed for Opera to inhibit default behavior
- // since Opera delivers keyPress even if keyDown
- // was cancelled
- key_press: function (event) {
- if (!event)
- event = window.event;
-
- if (!w3c_slidy.key_wanted)
- return w3c_slidy.cancel(event);
-
- return true;
- },
-
- // See e.g. http://www.quirksmode.org/js/events/keys.html for keycodes
- key_down: function (event) {
- var key;
-
- w3c_slidy.key_wanted = true;
-
- if (!event)
- event = window.event;
-
- // kludge around NS/IE differences
- if (window.event)
- key = window.event.keyCode;
- else if (event.which)
- key = event.which;
- else
- return true; // Yikes! unknown browser
-
- // ignore event if key value is zero
- // as for alt on Opera and Konqueror
- if (!key)
- return true;
-
- // check for concurrent control/command/alt key
- // but are these only present on mouse events?
-
- if (event.ctrlKey || event.altKey || event.metaKey)
- return true;
-
- // dismiss table of contents if visible
- if (w3c_slidy.is_shown_toc() && key != 9 && key != 16 && key != 38 && key != 40)
- {
- w3c_slidy.hide_table_of_contents();
-
- if (key == 27 || key == 84 || key == 67)
- return w3c_slidy.cancel(event);
- }
-
- if (key == 34) // Page Down
- {
- if (w3c_slidy.view_all)
- return true;
-
- w3c_slidy.next_slide(false);
- return w3c_slidy.cancel(event);
- }
- else if (key == 33) // Page Up
- {
- if (w3c_slidy.view_all)
- return true;
-
- w3c_slidy.previous_slide(false);
- return w3c_slidy.cancel(event);
- }
- else if (key == 32) // space bar
- {
- w3c_slidy.next_slide(true);
- return w3c_slidy.cancel(event);
- }
- else if (key == 37) // Left arrow
- {
- w3c_slidy.previous_slide(!event.shiftKey);
- return w3c_slidy.cancel(event);
- }
- else if (key == 36) // Home
- {
- w3c_slidy.first_slide();
- return w3c_slidy.cancel(event);
- }
- else if (key == 35) // End
- {
- w3c_slidy.last_slide();
- return w3c_slidy.cancel(event);
- }
- else if (key == 39) // Right arrow
- {
- w3c_slidy.next_slide(!event.shiftKey);
- return w3c_slidy.cancel(event);
- }
- else if (key == 13) // Enter
- {
- if (w3c_slidy.outline)
- {
- if (w3c_slidy.outline.visible)
- w3c_slidy.fold(w3c_slidy.outline);
- else
- w3c_slidy.unfold(w3c_slidy.outline);
-
- return w3c_slidy.cancel(event);
- }
- }
- else if (key == 188) // < for smaller fonts
- {
- w3c_slidy.smaller();
- return w3c_slidy.cancel(event);
- }
- else if (key == 190) // > for larger fonts
- {
- w3c_slidy.bigger();
- return w3c_slidy.cancel(event);
- }
- else if (key == 189 || key == 109) // - for smaller fonts
- {
- w3c_slidy.smaller();
- return w3c_slidy.cancel(event);
- }
- else if (key == 187 || key == 191 || key == 107) // = + for larger fonts
- {
- w3c_slidy.bigger();
- return w3c_slidy.cancel(event);
- }
- else if (key == 83) // S for smaller fonts
- {
- w3c_slidy.smaller();
- return w3c_slidy.cancel(event);
- }
- else if (key == 66) // B for larger fonts
- {
- w3c_slidy.bigger();
- return w3c_slidy.cancel(event);
- }
- else if (key == 90) // Z for last slide
- {
- w3c_slidy.last_slide();
- return w3c_slidy.cancel(event);
- }
- else if (key == 70) // F for toggle toolbar
- {
- w3c_slidy.toggle_toolbar();
- return w3c_slidy.cancel(event);
- }
- else if (key == 65) // A for toggle view single/all slides
- {
- w3c_slidy.toggle_view();
- return w3c_slidy.cancel(event);
- }
- else if (key == 75) // toggle action of left click for next page
- {
- w3c_slidy.mouse_click_enabled = !w3c_slidy.mouse_click_enabled;
- var alert_msg = (w3c_slidy.mouse_click_enabled ?
- "enabled" : "disabled") + " mouse click advance";
-
- alert(alert_msg.localize());
- return w3c_slidy.cancel(event);
- }
- else if (key == 84 || key == 67) // T or C for table of contents
- {
- if (w3c_slidy.toc)
- w3c_slidy.toggle_table_of_contents();
-
- return w3c_slidy.cancel(event);
- }
- else if (key == 72) // H for help
- {
- window.location = w3c_slidy.help_page;
- return w3c_slidy.cancel(event);
- }
- //else alert("key code is "+ key);
-
- return true;
- },
-
- // safe for both text/html and application/xhtml+xml
- create_element: function (name) {
- if (this.xhtml && (typeof document.createElementNS != 'undefined'))
- return document.createElementNS("http://www.w3.org/1999/xhtml", name)
-
- return document.createElement(name);
- },
-
- get_element_style: function (elem, IEStyleProp, CSSStyleProp) {
- if (elem.currentStyle)
- {
- return elem.currentStyle[IEStyleProp];
- }
- else if (window.getComputedStyle)
- {
- var compStyle = window.getComputedStyle(elem, "");
- return compStyle.getPropertyValue(CSSStyleProp);
- }
- return "";
- },
-
- // the string str is a whitespace separated list of tokens
- // test if str contains a particular token, e.g. "slide"
- has_token: function (str, token) {
- if (str)
- {
- // define pattern as regular expression
- var pattern = /\w+/g;
-
- // check for matches
- // place result in array
- var result = str.match(pattern);
-
- // now check if desired token is present
- for (var i = 0; i < result.length; i++)
- {
- if (result[i] == token)
- return true;
- }
- }
-
- return false;
- },
-
- get_class_list: function (element) {
- if (typeof element.className != 'undefined')
- return element.className;
-
- return element.getAttribute("class");
- },
-
- has_class: function (element, name) {
- if (element.nodeType != 1)
- return false;
-
- var regexp = new RegExp("(^| )" + name + "\W*");
-
- if (typeof element.className != 'undefined')
- return regexp.test(element.className);
-
- return regexp.test(element.getAttribute("class"));
- },
-
- remove_class: function (element, name) {
- var regexp = new RegExp("(^| )" + name + "\W*");
- var clsval = "";
-
- if (typeof element.className != 'undefined')
- {
- clsval = element.className;
-
- if (clsval)
- {
- clsval = clsval.replace(regexp, "");
- element.className = clsval;
- }
- }
- else
- {
- clsval = element.getAttribute("class");
-
- if (clsval)
- {
- clsval = clsval.replace(regexp, "");
- element.setAttribute("class", clsval);
- }
- }
- },
-
- add_class: function (element, name) {
- if (!this.has_class(element, name))
- {
- if (typeof element.className != 'undefined')
- element.className += " " + name;
- else
- {
- var clsval = element.getAttribute("class");
- clsval = clsval ? clsval + " " + name : name;
- element.setAttribute("class", clsval);
- }
- }
- },
-
- // HTML elements that can be used with class="incremental"
- // note that you can also put the class on containers like
- // up, ol, dl, and div to make their contents appear
- // incrementally. Upper case is used since this is what
- // browsers report for HTML node names (text/html).
- incremental_elements: null,
- okay_for_incremental: function (name) {
- if (!this.incremental_elements)
- {
- var inclist = new Array();
- inclist["p"] = true;
- inclist["pre"] = true;
- inclist["li"] = true;
- inclist["blockquote"] = true;
- inclist["dt"] = true;
- inclist["dd"] = true;
- inclist["h2"] = true;
- inclist["h3"] = true;
- inclist["h4"] = true;
- inclist["h5"] = true;
- inclist["h6"] = true;
- inclist["span"] = true;
- inclist["address"] = true;
- inclist["table"] = true;
- inclist["tr"] = true;
- inclist["th"] = true;
- inclist["td"] = true;
- inclist["img"] = true;
- inclist["object"] = true;
- this.incremental_elements = inclist;
- }
- return this.incremental_elements[name.toLowerCase()];
- },
-
- next_incremental_item: function (node) {
- var br = this.is_xhtml ? "br" : "BR";
- var slide = w3c_slidy.slides[w3c_slidy.slide_number];
-
- for (;;)
- {
- node = w3c_slidy.next_node(slide, node);
-
- if (node == null || node.parentNode == null)
- break;
-
- if (node.nodeType == 1) // ELEMENT
- {
- if (node.nodeName == br)
- continue;
-
- if (w3c_slidy.has_class(node, "incremental")
- && w3c_slidy.okay_for_incremental(node.nodeName))
- return node;
-
- if (w3c_slidy.has_class(node.parentNode, "incremental")
- && !w3c_slidy.has_class(node, "non-incremental"))
- return node;
- }
- }
-
- return node;
- },
-
- previous_incremental_item: function (node) {
- var br = this.is_xhtml ? "br" : "BR";
- var slide = w3c_slidy.slides[w3c_slidy.slide_number];
-
- for (;;)
- {
- node = w3c_slidy.previous_node(slide, node);
-
- if (node == null || node.parentNode == null)
- break;
-
- if (node.nodeType == 1)
- {
- if (node.nodeName == br)
- continue;
-
- if (w3c_slidy.has_class(node, "incremental")
- && w3c_slidy.okay_for_incremental(node.nodeName))
- return node;
-
- if (w3c_slidy.has_class(node.parentNode, "incremental")
- && !w3c_slidy.has_class(node, "non-incremental"))
- return node;
- }
- }
-
- return node;
- },
-
- // set visibility for all elements on current slide with
- // a parent element with attribute class="incremental"
- set_visibility_all_incremental: function (value) {
- var node = this.next_incremental_item(null);
-
- if (value == "hidden")
- {
- while (node)
- {
- w3c_slidy.add_class(node, "invisible");
- node = w3c_slidy.next_incremental_item(node);
- }
- }
- else // value == "visible"
- {
- while (node)
- {
- w3c_slidy.remove_class(node, "invisible");
- node = w3c_slidy.next_incremental_item(node);
- }
- }
- },
-
- // reveal the next hidden item on the slide
- // node is null or the node that was last revealed
- reveal_next_item: function (node) {
- node = w3c_slidy.next_incremental_item(node);
-
- if (node && node.nodeType == 1) // an element
- w3c_slidy.remove_class(node, "invisible");
-
- return node;
- },
-
- // exact inverse of revealNextItem(node)
- hide_previous_item: function (node) {
- if (node && node.nodeType == 1) // an element
- w3c_slidy.add_class(node, "invisible");
-
- return this.previous_incremental_item(node);
- },
-
- // left to right traversal of root's content
- next_node: function (root, node) {
- if (node == null)
- return root.firstChild;
-
- if (node.firstChild)
- return node.firstChild;
-
- if (node.nextSibling)
- return node.nextSibling;
-
- for (;;)
- {
- node = node.parentNode;
-
- if (!node || node == root)
- break;
-
- if (node && node.nextSibling)
- return node.nextSibling;
- }
-
- return null;
- },
-
- // right to left traversal of root's content
- previous_node: function (root, node) {
- if (node == null)
- {
- node = root.lastChild;
-
- if (node)
- {
- while (node.lastChild)
- node = node.lastChild;
- }
-
- return node;
- }
-
- if (node.previousSibling)
- {
- node = node.previousSibling;
-
- while (node.lastChild)
- node = node.lastChild;
-
- return node;
- }
-
- if (node.parentNode != root)
- return node.parentNode;
-
- return null;
- },
-
- previous_sibling_element: function (el) {
- el = el.previousSibling;
-
- while (el && el.nodeType != 1)
- el = el.previousSibling;
-
- return el;
- },
-
- next_sibling_element: function (el) {
- el = el.nextSibling;
-
- while (el && el.nodeType != 1)
- el = el.nextSibling;
-
- return el;
- },
-
- first_child_element: function (el) {
- var node;
-
- for (node = el.firstChild; node; node = node.nextSibling)
- {
- if (node.nodeType == 1)
- break;
- }
-
- return node;
- },
-
- first_tag: function (element, tag) {
- var node;
-
- if (!this.is_xhtml)
- tag = tag.toUpperCase();
-
- for (node = element.firstChild; node; node = node.nextSibling)
- {
- if (node.nodeType == 1 && node.nodeName == tag)
- break;
- }
-
- return node;
- },
-
- hide_selection: function () {
- if (window.getSelection) // Firefox, Chromium, Safari, Opera
- {
- var selection = window.getSelection();
-
- if (selection.rangeCount > 0)
- {
- var range = selection.getRangeAt(0);
- range.collapse (false);
- }
- }
- else // Internet Explorer
- {
- var textRange = document.selection.createRange ();
- textRange.collapse (false);
- }
- },
-
- get_selected_text: function () {
- try
- {
- if (window.getSelection)
- return window.getSelection().toString();
-
- if (document.getSelection)
- return document.getSelection().toString();
-
- if (document.selection)
- return document.selection.createRange().text;
- }
- catch (e)
- {
- }
-
- return "";
- },
-
- // make note of length of selected text
- // as this evaluates to zero in click event
- mouse_button_up: function (e) {
- w3c_slidy.selected_text_len = w3c_slidy.get_selected_text().length;
- },
-
- // right mouse button click is reserved for context menus
- // it is more reliable to detect rightclick than leftclick
- mouse_button_click: function (e) {
- var rightclick = false;
- var leftclick = false;
- var middleclick = false;
- var target;
-
- if (!e)
- var e = window.event;
-
- if (e.target)
- target = e.target;
- else if (e.srcElement)
- target = e.srcElement;
-
- // work around Safari bug
- if (target.nodeType == 3)
- target = target.parentNode;
-
- if (e.which) // all browsers except IE
- {
- leftclick = (e.which == 1);
- middleclick = (e.which == 2);
- rightclick = (e.which == 3);
- }
- else if (e.button)
- {
- // Konqueror gives 1 for left, 4 for middle
- // IE6 gives 0 for left and not 1 as I expected
-
- if (e.button == 4)
- middleclick = true;
-
- // all browsers agree on 2 for right button
- rightclick = (e.button == 2);
- }
- else leftclick = true;
-/*
- alert("you clicked over a " + target.nodeName + " element\n" +
- "w3c_slidy.mouse_click_enabled = " + w3c_slidy.mouse_click_enabled + "\n" +
- "leftclick = " + leftclick + "\n" +
- "selected text length = " + w3c_slidy.selected_text_len);
- //alert("selected text length = " + w3c_slidy.selected_text_len);
-*/
- if (w3c_slidy.selected_text_len > 0)
- {
- w3c_slidy.stop_propagation(e);
- e.cancel = true;
- e.returnValue = false;
- return false;
- }
-
- // dismiss table of contents
- w3c_slidy.hide_table_of_contents();
-
- // check if target is something that probably want's clicks
- // e.g. a, embed, object, input, textarea, select, option
- var tag = target.nodeName.toLowerCase();
-
- if (w3c_slidy.mouse_click_enabled && leftclick &&
- tag != "a" &&
- tag != "embed" &&
- tag != "object" &&
- tag != "video" &&
- tag != "input" &&
- tag != "textarea" &&
- tag != "select" &&
- tag != "option" &&
- !target.onclick)
- {
- w3c_slidy.next_slide(true);
- w3c_slidy.stop_propagation(e);
- e.cancel = true;
- e.returnValue = false;
- return false;
- }
- },
-
- get_key: function (e)
- {
- var key;
-
- // kludge around NS/IE differences
- if (typeof window.event != "undefined")
- key = window.event.keyCode;
- else if (e.which)
- key = e.which;
-
- return key;
- },
-
- get_target: function (e) {
- var target;
-
- if (!e)
- e = window.event;
-
- if (e.target)
- target = e.target;
- else if (e.srcElement)
- target = e.srcElement;
-
- if (target.nodeType != 1)
- target = target.parentNode;
-
- return target;
- },
-
- // does display property provide correct defaults?
- is_block: function (elem) {
- var tag = elem.nodeName.toLowerCase();
-
- return tag == "ol" || tag == "ul" || tag == "p" ||
- tag == "li" || tag == "table" || tag == "pre" ||
- tag == "h1" || tag == "h2" || tag == "h3" ||
- tag == "h4" || tag == "h5" || tag == "h6" ||
- tag == "blockquote" || tag == "address";
- },
-
- add_listener: function (element, event, handler) {
- if (window.addEventListener)
- element.addEventListener(event, handler, false);
- else
- element.attachEvent("on"+event, handler);
- },
-
- // used to prevent event propagation from field controls
- stop_propagation: function (event) {
- event = event ? event : window.event;
- event.cancelBubble = true; // for IE
-
- if (event.stopPropagation)
- event.stopPropagation();
-
- return true;
- },
-
- cancel: function (event) {
- if (event)
- {
- event.cancel = true;
- event.returnValue = false;
-
- if (event.preventDefault)
- event.preventDefault();
- }
-
- w3c_slidy.key_wanted = false;
- return false;
- }
-};
-
-// for each language define an associative array
-// and also the help text which is longer
-
-var w3c_slidy_i18n = {
- strings_es: {
- "slide":"pág.",
- "help?":"Ayuda",
- "contents?":"Índice",
- "table of contents":"tabla de contenidos",
- "Table of Contents":"Tabla de Contenidos",
- "restart presentation":"Reiniciar presentación",
- "restart?":"Inicio"
- },
- help_es:
- "Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
- "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.",
-
- strings_ca: {
- "slide":"pàg..",
- "help?":"Ajuda",
- "contents?":"Índex",
- "table of contents":"taula de continguts",
- "Table of Contents":"Taula de Continguts",
- "restart presentation":"Reiniciar presentació",
- "restart?":"Inici"
- },
- help_ca:
- "Utilitzi el ratolí, barra espaiadora, tecles Esq./Dta. " +
- "o Re pàg y Av pàg. Usi S i B per canviar grandària de font.",
-
- strings_cs: {
- "slide":"snímek",
- "help?":"nápověda",
- "contents?":"obsah",
- "table of contents":"obsah prezentace",
- "Table of Contents":"Obsah prezentace",
- "restart presentation":"znovu spustit prezentaci",
- "restart?":"restart"
- },
- help_cs:
- "Prezentaci můžete procházet pomocí kliknutí myši, mezerníku, " +
- "šipek vlevo a vpravo nebo kláves PageUp a PageDown. Písmo se " +
- "dá zvětšit a zmenšit pomocí kláves B a S.",
-
- strings_nl: {
- "slide":"pagina",
- "help?":"Help?",
- "contents?":"Inhoud?",
- "table of contents":"inhoudsopgave",
- "Table of Contents":"Inhoudsopgave",
- "restart presentation":"herstart presentatie",
- "restart?":"Herstart?"
- },
- help_nl:
- "Navigeer d.m.v. het muis, spatiebar, Links/Rechts toetsen, " +
- "of PgUp en PgDn. Gebruik S en B om de karaktergrootte te veranderen.",
-
- strings_de: {
- "slide":"Seite",
- "help?":"Hilfe",
- "contents?":"Übersicht",
- "table of contents":"Inhaltsverzeichnis",
- "Table of Contents":"Inhaltsverzeichnis",
- "restart presentation":"Präsentation neu starten",
- "restart?":"Neustart"
- },
- help_de:
- "Benutzen Sie die Maus, Leerschlag, die Cursortasten links/rechts oder " +
- "Page up/Page Down zum Wechseln der Seiten und S und B für die Schriftgrösse.",
-
- strings_pl: {
- "slide":"slajd",
- "help?":"pomoc?",
- "contents?":"spis treści?",
- "table of contents":"spis treści",
- "Table of Contents":"Spis Treści",
- "restart presentation":"Restartuj prezentację",
- "restart?":"restart?"
- },
- help_pl:
- "Zmieniaj slajdy klikając myszą, naciskając spację, strzałki lewo/prawo" +
- "lub PgUp / PgDn. Użyj klawiszy S i B, aby zmienić rozmiar czczionki.",
-
- strings_fr: {
- "slide":"page",
- "help?":"Aide",
- "contents?":"Index",
- "table of contents":"table des matières",
- "Table of Contents":"Table des matières",
- "restart presentation":"Recommencer l'exposé",
- "restart?":"Début"
- },
- help_fr:
- "Naviguez avec la souris, la barre d'espace, les flèches " +
- "gauche/droite ou les touches Pg Up, Pg Dn. Utilisez " +
- "les touches S et B pour modifier la taille de la police.",
-
- strings_hu: {
- "slide":"oldal",
- "help?":"segítség",
- "contents?":"tartalom",
- "table of contents":"tartalomjegyzék",
- "Table of Contents":"Tartalomjegyzék",
- "restart presentation":"bemutató újraindítása",
- "restart?":"újraindítás"
- },
- help_hu:
- "Az oldalak közti lépkedéshez kattintson az egérrel, vagy " +
- "használja a szóköz, a bal, vagy a jobb nyíl, illetve a Page Down, " +
- "Page Up billentyűket. Az S és a B billentyűkkel változtathatja " +
- "a szöveg méretét.",
-
- strings_it: {
- "slide":"pag.",
- "help?":"Aiuto",
- "contents?":"Indice",
- "table of contents":"indice",
- "Table of Contents":"Indice",
- "restart presentation":"Ricominciare la presentazione",
- "restart?":"Inizio"
- },
- help_it:
- "Navigare con mouse, barra spazio, frecce sinistra/destra o " +
- "PgUp e PgDn. Usare S e B per cambiare la dimensione dei caratteri.",
-
- strings_el: {
- "slide":"σελίδα",
- "help?":"βοήθεια;",
- "contents?":"περιεχόμενα;",
- "table of contents":"πίνακας περιεχομένων",
- "Table of Contents":"Πίνακας Περιεχομένων",
- "restart presentation":"επανεκκίνηση παρουσίασης",
- "restart?":"επανεκκίνηση;"
- },
- help_el:
- "Πλοηγηθείτε με το κλίκ του ποντικιού, το space, τα βέλη αριστερά/δεξιά, " +
- "ή Page Up και Page Down. Χρησιμοποιήστε τα πλήκτρα S και B για να αλλάξετε " +
- "το μέγεθος της γραμματοσειράς.",
-
- strings_ja: {
- "slide":"スライド",
- "help?":"ヘルプ",
- "contents?":"目次",
- "table of contents":"目次を表示",
- "Table of Contents":"目次",
- "restart presentation":"最初から再生",
- "restart?":"最初から"
- },
- help_ja:
- "マウス左クリック ・ スペース ・ 左右キー " +
- "または Page Up ・ Page Downで操作, S ・ Bでフォントサイズ変更",
-
- strings_zh: {
- "slide":"幻灯片",
- "help?":"帮助?",
- "contents?":"内容?",
- "table of contents":"目录",
- "Table of Contents":"目录",
- "restart presentation":"重新启动展示",
- "restart?":"重新启动?"
- },
- help_zh:
- "用鼠标点击, 空格条, 左右箭头, Pg Up 和 Pg Dn 导航. " +
- "用 S, B 改变字体大小.",
-
- strings_ru: {
- "slide":"слайд",
- "help?":"помощь?",
- "contents?":"содержание?",
- "table of contents":"оглавление",
- "Table of Contents":"Оглавление",
- "restart presentation":"перезапустить презентацию",
- "restart?":"перезапуск?"
- },
- help_ru:
- "Перемещайтесь кликая мышкой, используя клавишу пробел, стрелки" +
- "влево/вправо или Pg Up и Pg Dn. Клавиши S и B меняют размер шрифта.",
-
- strings_sv: {
- "slide":"sida",
- "help?":"hjälp",
- "contents?":"innehåll",
- "table of contents":"innehållsförteckning",
- "Table of Contents":"Innehållsförteckning",
- "restart presentation":"visa presentationen från början",
- "restart?":"börja om"
- },
- help_sv:
- "Bläddra med ett klick med vänstra musknappen, mellanslagstangenten, " +
- "vänster- och högerpiltangenterna eller tangenterna Pg Up, Pg Dn. " +
- "Använd tangenterna S och B för att ändra textens storlek.",
-
-// each such language array is declared in the localize array
-// which is set on string prototype and used as in "foo".localize();
- localize: {
- "es":this.strings_es,
- "ca":this.strings_ca,
- "cs":this.strings_cs,
- "nl":this.strings_nl,
- "de":this.strings_de,
- "pl":this.strings_pl,
- "fr":this.strings_fr,
- "hu":this.strings_hu,
- "it":this.strings_it,
- "el":this.strings_el,
- "jp":this.strings_ja,
- "zh":this.strings_zh,
- "ru":this.strings_ru,
- "sv":this.strings_sv
- },
-
- init: function () {
- var i18n = w3c_slidy_i18n;
- var help_text = w3c_slidy.help_text;
- i18n.strings_es[help_text] = i18n.help_es;
- i18n.strings_ca[help_text] = i18n.help_ca;
- i18n.strings_cs[help_text] = i18n.help_cs;
- i18n.strings_nl[help_text] = i18n.help_nl;
- i18n.strings_de[help_text] = i18n.help_de;
- i18n.strings_pl[help_text] = i18n.help_pl;
- i18n.strings_fr[help_text] = i18n.help_fr;
- i18n.strings_hu[help_text] = i18n.help_hu;
- i18n.strings_it[help_text] = i18n.help_it;
- i18n.strings_el[help_text] = i18n.help_el;
- i18n.strings_ja[help_text] = i18n.help_ja;
- i18n.strings_zh[help_text] = i18n.help_zh;
- i18n.strings_ru[help_text] = i18n.help_ru;
- i18n.strings_sv[help_text] = i18n.help_sv;
-
- w3c_slidy.lang = document.body.parentNode.getAttribute("lang");
-
- if (!w3c_slidy.lang)
- w3c_slidy.lang = document.body.parentNode.getAttribute("xml:lang");
-
- if (!w3c_slidy.lang)
- w3c_slidy.lang = "en";
-
- // add localize method to all strings
- // for use as in "contents".localize()
- String.prototype.localize = function() {
- if (this == "")
- return this;
-
- // try full language code, e.g. en-US
- var s, lookup = w3c_slidy_i18n.localize[w3c_slidy.lang];
-
- if (lookup)
- {
- s = lookup[this];
-
- if (s)
- return s;
- }
-
- // strip country code suffix, e.g.
- // try en if undefined for en-US
- var lg = w3c_slidy.lang.split("-");
-
- if (lg.length > 1)
- {
- lookup = w3c_slidy_i18n.localize[lg[0]];
-
- if (lookup)
- {
- s = lookup[this];
-
- if (s)
- return s;
- }
- }
-
- // otherwise string as is
- return this;
- };
- }
-};
-
-// hack for back button behavior
-if (w3c_slidy.ie6 || w3c_slidy.ie7)
-{
- document.write("<iframe id='historyFrame' " +
- "src='javascript:\"<html"+"></"+"html>\"' " +
- "height='1' width='1' " +
- "style='position:absolute;left:-800px'></iframe>");
-}
-
-// attach event listeners for initialization
-w3c_slidy.set_up();
-
-// hide the slides as soon as body element is available
-// to reduce annoying screen mess before the onload event
-setTimeout(w3c_slidy.hide_slides, 50);
-
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/javascripts/toc.js b/code/maint/asciidoc/asciidoc-8.6.3/javascripts/toc.js
deleted file mode 100644
index 06127bf..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/javascripts/toc.js
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * IMPORTANT:
- * This file (toc.js is) deprecated (superceded by asciidoc-xhtml11.js in
- * AsciiDoc 8.5.1. toc.js is retained for compatibility with user customised
- * (pre 8.5.1) xhtml11 [header] and [footer] sections.
- *
- */
-
-/* Author: Mihai Bazon, September 2002
- * http://students.infoiasi.ro/~mishoo
- *
- * Table Of Content generator
- * Version: 0.4
- *
- * Feel free to use this script under the terms of the GNU General Public
- * License, as long as you do not remove or alter this notice.
- */
-
- /* modified by Troy D. Hanson, September 2006. License: GPL */
- /* modified by Stuart Rackham, October 2006. License: GPL */
-
-function getText(el) {
- var text = "";
- for (var i = el.firstChild; i != null; i = i.nextSibling) {
- if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
- text += i.data;
- else if (i.firstChild != null)
- text += getText(i);
- }
- return text;
-}
-
-function TocEntry(el, text, toclevel) {
- this.element = el;
- this.text = text;
- this.toclevel = toclevel;
-}
-
-function tocEntries(el, toclevels) {
- var result = new Array;
- var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');
- // Function that scans the DOM tree for header elements (the DOM2
- // nodeIterator API would be a better technique but not supported by all
- // browsers).
- var iterate = function (el) {
- for (var i = el.firstChild; i != null; i = i.nextSibling) {
- if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
- var mo = re.exec(i.tagName)
- if (mo)
- result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
- iterate(i);
- }
- }
- }
- iterate(el);
- return result;
-}
-
-// This function does the work. toclevels = 1..4.
-function generateToc(toclevels) {
- var toc = document.getElementById("toc");
- var entries = tocEntries(document.getElementsByTagName("body")[0], toclevels);
- for (var i = 0; i < entries.length; ++i) {
- var entry = entries[i];
- if (entry.element.id == "")
- entry.element.id = "toc" + i;
- var a = document.createElement("a");
- a.href = "#" + entry.element.id;
- a.appendChild(document.createTextNode(entry.text));
- var div = document.createElement("div");
- div.appendChild(a);
- div.className = "toclevel" + entry.toclevel;
- toc.appendChild(div);
- }
- if (entries.length == 0)
- document.getElementById("header").removeChild(toc);
-}
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/lang-de.conf b/code/maint/asciidoc/asciidoc-8.6.3/lang-de.conf
deleted file mode 100644
index a3ff367..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/lang-de.conf
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# AsciiDoc German language configuration file.
-# Contributed by Michael Wild
-#
-
-[attributes]
-# Captions, used by (X)HTML backends.
-# Captions on RHS are displayed in outputs.
-ifdef::basebackend-html[]
-
-caution-caption=Achtung
-important-caption=Wichtig
-note-caption=Anmerkung
-tip-caption=Tipp
-warning-caption=Warnung
-figure-caption=Abbildung
-table-caption=Tabelle
-example-caption=Beispiel
-toc-title=Inhaltsverzeichnis
-appendix-caption=Anhang
-# Man page NAME section title.
-manname-title=NAME
-
-[footer-text]
-Version {revnumber}{basebackend-xhtml11?<br />}{basebackend-xhtml11=<br>}
-Letzte Änderung {docdate} {doctime}
-
-endif::basebackend-html[]
-
-
-[specialsections]
-# DocBook special sections.
-# The regular expression on LHS is matched against source titles.
-ifdef::basebackend-docbook[]
-
-ifdef::doctype-article[]
-^Zusammenfassung$=abstract
-endif::doctype-article[]
-
-ifdef::doctype-book[]
-^Kolophon$=colophon
-^Widmung$=dedication
-^Vorwort$=preface
-endif::doctype-book[]
-
-^Stichwortverzeichnis$=index
-^Literaturverzeichnis$=bibliography
-^Glossar$=glossary
-^Anhang [A-Z][:.](?P<title>.*)$=appendix
-
-endif::basebackend-docbook[]
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/lang-en.conf b/code/maint/asciidoc/asciidoc-8.6.3/lang-en.conf
deleted file mode 100644
index 9d1c6d4..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/lang-en.conf
+++ /dev/null
@@ -1,54 +0,0 @@
-#
-# AsciiDoc English language configuration file.
-#
-
-[attributes]
-# Captions, used by (X)HTML backends.
-# Captions on RHS are displayed in outputs.
-ifdef::basebackend-html[]
-
-caution-caption=Caution
-important-caption=Important
-note-caption=Note
-tip-caption=Tip
-warning-caption=Warning
-figure-caption=Figure
-table-caption=Table
-example-caption=Example
-toc-title=Table of Contents
-appendix-caption=Appendix
-# Man page NAME section title.
-manname-title=NAME
-
-[footer-text]
-Version {revnumber}{basebackend-xhtml11?<br />}{basebackend-xhtml11=<br>}
-Last updated {docdate} {doctime}
-
-endif::basebackend-html[]
-
-
-[specialsections]
-# DocBook special sections.
-# The regular expression on LHS is matched against source titles.
-ifdef::basebackend-docbook[]
-
-ifdef::doctype-article[]
-^Abstract$=abstract
-endif::doctype-article[]
-
-ifdef::doctype-book[]
-^Colophon$=colophon
-^Dedication$=dedication
-^Preface$=preface
-endif::doctype-book[]
-
-^Index$=index
-^(Bibliography|References)$=bibliography
-^Glossary$=glossary
-^Appendix [A-Z][:.](?P<title>.*)$=appendix
-
-endif::basebackend-docbook[]
-
-ifdef::doctype-manpage[]
-(?i)^SYNOPSIS$=synopsis
-endif::doctype-manpage[]
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/lang-es.conf b/code/maint/asciidoc/asciidoc-8.6.3/lang-es.conf
deleted file mode 100644
index 3b4b214..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/lang-es.conf
+++ /dev/null
@@ -1,55 +0,0 @@
-#
-# AsciiDoc Spanish language configuration file.
-#
-
-[attributes]
-# Captions, used by (X)HTML backends.
-# Captions on RHS are displayed in outputs.
-ifdef::basebackend-html[]
-
-caution-caption=Atención
-important-caption=Importante
-note-caption=Nota
-tip-caption=Sugerencia
-warning-caption=Aviso
-figure-caption=Figura
-table-caption=Tabla
-example-caption=Ejemplo
-toc-title=Tabla de contenidos
-appendix-caption=Apéndice
-# Man page NAME section title.
-manname-title=NOMBRE DE REFERENCIA
-
-[footer-text]
-#TODO: Translation of 'Version' and 'Last updated'.
-Version {revnumber}{basebackend-xhtml11?<br />}{basebackend-xhtml11=<br>}
-Last updated {docdate} {doctime}
-
-endif::basebackend-html[]
-
-
-[specialsections]
-# DocBook special sections.
-# The regular expression on LHS is matched against source titles.
-ifdef::basebackend-docbook[]
-
-ifdef::doctype-article[]
-^Resumen$=abstract
-endif::doctype-article[]
-
-ifdef::doctype-book[]
-^Colofón$=colophon
-^Dedicación$=dedication
-^Prefacio$=preface
-endif::doctype-book[]
-
-^Índice$=index
-^(Bibliografía|Referencias)$=bibliography
-^Glosario$=glossary
-^Apéndice [A-Z][:.](?P<title>.*)$=appendix
-
-endif::basebackend-docbook[]
-
-ifdef::doctype-manpage[]
-(?i)^SINOPSIS$=synopsis
-endif::doctype-manpage[]
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/lang-fr.conf b/code/maint/asciidoc/asciidoc-8.6.3/lang-fr.conf
deleted file mode 100644
index d860132..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/lang-fr.conf
+++ /dev/null
@@ -1,55 +0,0 @@
-#
-# AsciiDoc French language configuration file.
-# Contributed by Yves-Alexis Perez
-#
-
-[attributes]
-# Captions, used by (X)HTML backends.
-# Captions on RHS are displayed in outputs.
-ifdef::basebackend-html[]
-
-tip-caption=Astuce
-caution-caption=Avertissement
-important-caption=Important
-note-caption=Note
-warning-caption=Attention
-figure-caption=Figure
-table-caption=Tableau
-example-caption=Exemple
-toc-title=Table des matières
-appendix-caption=Appendice
-# Man page NAME section title.
-manname-title=NOM
-
-[footer-text]
-Version {revnumber}{basebackend-xhtml11?<br />}{basebackend-xhtml11=<br>}
-Dernière mise à jour {docdate} {doctime}
-
-endif::basebackend-html[]
-
-
-[specialsections]
-# DocBook special sections.
-# The regular expression on LHS is matched against source titles.
-ifdef::basebackend-docbook[]
-
-ifdef::doctype-article[]
-^Résumé$=abstract
-endif::doctype-article[]
-
-ifdef::doctype-book[]
-^Colophon$=colophon
-^Dédicace$=dedication
-^Préface$=preface
-endif::doctype-book[]
-
-^Index$=index
-^(Bibliographie|Références)$=bibliography
-^Glossaire$=glossary
-^Appendice [A-Z][:.](?P<title>.*)$=appendix
-
-endif::basebackend-docbook[]
-
-ifdef::doctype-manpage[]
-(?i)^SYNOPSIS$=synopsis
-endif::doctype-manpage[]
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/lang-hu.conf b/code/maint/asciidoc/asciidoc-8.6.3/lang-hu.conf
deleted file mode 100644
index 1cda948..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/lang-hu.conf
+++ /dev/null
@@ -1,55 +0,0 @@
-#
-# AsciiDoc Hungarian language configuration file.
-# Contributed by Miklos Vajna
-#
-
-[attributes]
-# Captions, used by (X)HTML backends.
-# Captions on RHS are displayed in outputs.
-ifdef::basebackend-html[]
-
-caution-caption=Figyelmeztetés
-important-caption=Fontos
-note-caption=Megjegyzés
-tip-caption=Tipp
-warning-caption=Figyelem
-figure-caption=Ábra
-table-caption=Táblázat
-example-caption=Példa
-toc-title=Tartalomjegyzék
-appendix-caption=függelék
-# Man page NAME section title.
-manname-title=NÉV
-
-[footer-text]
-Verzió {revnumber}{basebackend-xhtml11?<br />}{basebackend-xhtml11=<br>}
-Utolsó frissítés: {docdate} {doctime}
-
-endif::basebackend-html[]
-
-
-[specialsections]
-# DocBook special sections.
-# The regular expression on LHS is matched against source titles.
-ifdef::basebackend-docbook[]
-
-ifdef::doctype-article[]
-^Kivonat$=abstract
-endif::doctype-article[]
-
-ifdef::doctype-book[]
-^Utószó$=colophon
-^Ajánlás$=dedication
-^Előszó$=preface
-endif::doctype-book[]
-
-^Index$=index
-^(Bibliográfia|Hivatkozások)$=bibliography
-^Szójegyzék$=glossary
-^[A-Z] függelék[:.](?P<title>.*)$=appendix
-
-endif::basebackend-docbook[]
-
-ifdef::doctype-manpage[]
-(?i)^ÁTTEKINTÉS$=synopsis
-endif::doctype-manpage[]
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/lang-it.conf b/code/maint/asciidoc/asciidoc-8.6.3/lang-it.conf
deleted file mode 100644
index 9c08f45..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/lang-it.conf
+++ /dev/null
@@ -1,55 +0,0 @@
-#
-# AsciiDoc Italian language configuration file.
-#
-
-[attributes]
-# Captions, used by (X)HTML backends.
-# Captions on RHS are displayed in outputs.
-ifdef::basebackend-html[]
-
-caution-caption=Attenzione
-important-caption=Importante
-note-caption=Nota
-tip-caption=Suggerimento
-warning-caption=Avvertenza
-figure-caption=Figura
-table-caption=Tabella
-example-caption=Esempio
-toc-title=Sommario
-appendix-caption=Appendice
-# Man page NAME section title.
-manname-title=NOME
-
-[footer-text]
-#TODO: Translation of 'Version' and 'Last updated'.
-Version {revnumber}{basebackend-xhtml11?<br />}{basebackend-xhtml11=<br>}
-Last updated {docdate} {doctime}
-
-endif::basebackend-html[]
-
-
-[specialsections]
-# DocBook special sections.
-# The regular expression on LHS is matched against source titles.
-ifdef::basebackend-docbook[]
-
-ifdef::doctype-article[]
-^Abstract$=abstract
-endif::doctype-article[]
-
-ifdef::doctype-book[]
-^Colofone$=colophon
-^Dedica$=dedication
-^Prefazione$=preface
-endif::doctype-book[]
-
-^Index$=index
-^(Bibliografia|Riferimenti)$=bibliography
-^Glossario$=glossary
-^Appendice [A-Z][:.](?P<title>.*)$=appendix
-
-endif::basebackend-docbook[]
-
-ifdef::doctype-manpage[]
-(?i)^SINOSSI$=synopsis
-endif::doctype-manpage[]
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/lang-pt-BR.conf b/code/maint/asciidoc/asciidoc-8.6.3/lang-pt-BR.conf
deleted file mode 100644
index cfb4c31..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/lang-pt-BR.conf
+++ /dev/null
@@ -1,56 +0,0 @@
-#
-# AsciiDoc Portugues language configuration file.
-# Contributed by Thiago Farina
-#
-
-[attributes]
-# Captions, used by (X)HTML backends.
-# Captions on RHS are displayed in outputs.
-ifdef::basebackend-html[]
-
-caution-caption=Atenção
-important-caption=Importante
-note-caption=Nota
-tip-caption=Sugestão
-warning-caption=Aviso
-figure-caption=Figura
-table-caption=Tabela
-example-caption=Exemplo
-toc-title=Tabela de conteúdos
-appendix-caption=Appêndice
-# Man page NAME section title.
-manname-title=NOME
-
-[footer-text]
-#TODO: Translation of 'Version' and 'Last updated'.
-Version {revnumber}{basebackend-xhtml11?<br />}{basebackend-xhtml11=<br>}
-Last updated {docdate} {doctime}
-
-endif::basebackend-html[]
-
-
-[specialsections]
-# DocBook special sections.
-# The regular expression on LHS is matched against source titles.
-ifdef::basebackend-docbook[]
-
-ifdef::doctype-article[]
-^Resumo$=abstract
-endif::doctype-article[]
-
-ifdef::doctype-book[]
-^Cólofon$=colophon
-^Dedicação$=dedication
-^Prefácio$=preface
-endif::doctype-book[]
-
-^Índice$=index
-^(Bibliografia|Referências)$=bibliography
-^Glossário$=glossary
-^Appêndice [A-Z][:.](?P<title>.*)$=appendix
-
-endif::basebackend-docbook[]
-
-ifdef::doctype-manpage[]
-(?i)^SINOPSE$=synopsis
-endif::doctype-manpage[]
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/lang-ru.conf b/code/maint/asciidoc/asciidoc-8.6.3/lang-ru.conf
deleted file mode 100644
index 5ce4db0..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/lang-ru.conf
+++ /dev/null
@@ -1,56 +0,0 @@
-#
-# AsciiDoc Russian language configuration file.
-# Contributed by Artem Zolochevskiy
-#
-
-[attributes]
-# Captions, used by (X)HTML backends.
-# Captions on RHS are displayed in outputs.
-ifdef::basebackend-html[]
-
-caution-caption=Предостережение
-important-caption=Важно
-note-caption=Замечание
-tip-caption=Подсказка
-warning-caption=Внимание
-figure-caption=Рисунок
-table-caption=Таблица
-example-caption=Пример
-toc-title=Содержание
-appendix-caption=Приложение
-# Man page NAME section title.
-manname-title=ИМЯ
-
-[footer-text]
-#TODO: Translation of 'Version' and 'Last updated'.
-Version {revnumber}{basebackend-xhtml11?<br />}{basebackend-xhtml11=<br>}
-Last updated {docdate} {doctime}
-
-endif::basebackend-html[]
-
-
-[specialsections]
-# DocBook special sections.
-# The regular expression on LHS is matched against source titles.
-ifdef::basebackend-docbook[]
-
-ifdef::doctype-article[]
-^Аннотация$=abstract
-endif::doctype-article[]
-
-ifdef::doctype-book[]
-^Колофон$=colophon
-^Посвящение$=dedication
-^Введение$=preface
-endif::doctype-book[]
-
-^Предметный указатель$=index
-^Библиография$=bibliography
-^Словарь терминов$=glossary
-^Приложение [A-Z][:.](?P<title>.*)$=appendix
-
-endif::basebackend-docbook[]
-
-ifdef::doctype-manpage[]
-(?i)^ОБЗОР$=synopsis
-endif::doctype-manpage[]
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/latex.conf b/code/maint/asciidoc/asciidoc-8.6.3/latex.conf
deleted file mode 100644
index 3d9f1ec..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/latex.conf
+++ /dev/null
@@ -1,700 +0,0 @@
-#
-# latex.conf
-#
-# Asciidoc configuration file.
-# latex backend, generates LaTeX conformant markup.
-#
-# Originally created by Benjamin Klum, later modified by Geoff Eddy.
-
-[titles]
-subs=quotes,replacements,attributes,macros,specialcharacters,replacements2
-
-
-# The listing block uses a LaTeX verbatim environment where special characters don't need to be escaped.
-# Hence only "callouts" substitution should be applied.
-[blockdef-listing]
-subs=callouts
-
-
-[attributes]
-basebackend=latex
-basebackend-latex=
-
-latex-table-rowlimit=20
-latex-use-bibliography-environment!
-latex-indent-paragraphs!
-latex-recognize-escaped-unicode!
-latex-use-custom-list-items!
-latex-use-colored-tables!
-latex-use-running-title-headings!
-latex-use-colored-sidebar-blocks!
-
-[miscellaneous]
-subsnormal=quotes,specialwords,replacements,attributes,macros,specialcharacters,replacements2
-#subsnormal=quotes,specialwords,replacements,attributes,macros,passthroughs,specialcharacters,replacements2
-subsverbatim=callouts,specialcharacters
-outfilesuffix=.tex
-# Screen width in pixels.
-pagewidth=418
-pageunits=pt
-
-
-[specialcharacters]
-{=\{{}
-}=\}{}
-\=\textbackslash{}
-$=\${}
-<=\textless{}
->=\textgreater{}
-&=\&{}
-_=\_{}
-%=\%{}
-\#=\#{}
-^=\textasciicircum{}
-~=\textasciitilde{}
-|=\textbar{}
-"=\textquotedbl{}
-
-
-[macros]
-# I needed to rewrite some regular expressions because '<' and '>' have not been escaped to '<' and '>'
-
-# Callout
-[\\]?<(?P<index>\d+)>=callout
-
-# Link: <<id,text>>
-(?su)[\\]?<<(?P<attrlist>[\w"].*?)>>=xref2
-
-[replacements]
-
-# Line break.
-(?m)^(.*)\s\+$=\1 !..backslash..!newline!..braceleft..!!..braceright..!
-
-# -- Spaced em dashes (entity reference —)
-(^|[^-\\])--($|[^-])=\1--\2
-
-
-# (C) Copyright (entity reference ©)
-(?<!\\)\(C\)=!..backslash..!textcopyright!..braceleft..!!..braceright..!
-\\\(C\)=(C)
-
-# (R) registered trade mark (entity reference ®
-(?<!\\)\(R\)=!..backslash..!textregistered!..braceleft..!!..braceright..!
-\\\(R\)=(R)
-
-# (TM) Trademark (entity reference ™)
-(?<!\\)\(TM\)=!..backslash..!texttrademark!..braceleft..!!..braceright..!
-\\\(TM\)=(TM)
-
-# ... Ellipsis (entity reference …)
-(?<!\\)\.\.\.=!..backslash..!dots!..braceleft..!!..braceright..!
-\\\.\.\.=...
-
-# Recognize escaped unicode characters
-# FIXME: these should be uncommented, but then there are encoding
-# problems.
-
-#&#([0-9]*);=!..backslash..!unichar!..braceleft..!\1!..braceright..!
-#&#x([0123456789abcdefABCDEF]*);=!..backslash..!unichar!..braceleft..!{eval:0x\1}!..braceright..!
-
-# -> right arrow
-->=!..backslash..!textrightarrow!..braceleft..!!..braceright..!
-# => right double arrow (have to enter math mode)
-=>=!..dollar..!!..backslash..!Rightarrow!..braceleft..!!..braceright..!!..dollar..!
-# <- left arrow
-<-=!..backslash..!textleftarrow!..braceleft..!!..braceright..!
-# <= left double arrow (have to enter math mode)
-<\==!..dollar..!!..backslash..!Leftarrow!..braceleft..!!..braceright..!!..dollar..!
-# --> long right arrow (have to enter math mode)
--->=!..backslash..!textrightarrow!..braceleft..!!..braceright..!
-# ==> long right double arrow (have to enter math mode)
-=\=>=!..dollar..!!..backslash..!Rightarrow!..braceleft..!!..braceright..!!..dollar..!
-# <-- long left arrow (have to enter math mode)
-<--=!..backslash..!textleftarrow!..braceleft..!!..braceright..!
-# <== long left double arrow (have to enter math mode)
-<\=\==!..dollar..!!..backslash..!Leftarrow!..braceleft..!!..braceright..!!..dollar..!
-# apostrophe
-(\w)'(\w)=\1'\2
-
-[quotes]
-#``|''=
-#`|'=
-`=monospaced
-
-[replacements2]
-!..braceleft..!={
-!..braceright..!=}
-!..backslash..!=\\
-!..dollar..!=$
-!..lessthan..!=<
-!..greaterthan..!=>
-!..amp..!=&
-!..underline..!=_
-!..percent..!=%
-!..sharp..!=#
-!..circum..!=^
-!..tilde..!=~
-!..bar..!=|
-!..doublequote..!="
-
-
-
-# Ruler is interpreted as a page break.
-[ruler-blockmacro]
-\clearpage
-
-[image-inlinemacro]
-!..backslash..!href!..braceleft..!{link}!..braceright..!!..braceleft..!!..percent..!
-!..backslash..!includegraphics[{scale?scale={scale},}{width?width={width}pt,}{height? height={height}pt}]!..braceleft..!{target}!..braceright..!
-{link#}!..braceright..!
-
-
-[image-blockmacro]
-\begin\{figure\}
-\hypertarget\{{id}\}\{\}
-\caption\{{title}\}
-\href\{{link}\}\{%
-\includegraphics[{scale?scale={scale},}{width?width={width}pt,}{height? height={height}pt}]\{{target}\}%
-\label\{{id}\}
-{link#}\}
-\end\{figure\}
-
-[indexterm-inlinemacro]
-# Inline index term.
-!..backslash..!index!..braceleft..!{1}{2?!{2}}{3?!{3}}!..braceright..!
-
-[indexterm2-inlinemacro]
-# Inline index term.
-# Single entry index term that is visible in the primary text flow.
-!..backslash..!index!..braceleft..!{1}!..braceright..!{1}
-
-[footnote-inlinemacro]
-# Inline footnote.
-!..backslash..!footnote!..braceleft..!{0}!..braceright..!
-
-[footnoteref-inlinemacro]
-
-
-[callout-inlinemacro]
-# Inline callout.
-<{index}>
-
-[literal-inlinemacro]
-
-[listtags-bulleted]
-list={title?\minisec\{{title}\}} {id?\label\{{id}\}\hypertarget\{{id}\}\{\}} \begin\{itemize\}|\end\{itemize\}
-item=\item%|
-text=|
-
-[listtags-numbered]
-list={title?\minisec\{{title}\}} {id?\label\{{id}\}\hypertarget\{{id}\}\{\}} \begin\{enumerate\}|\end\{enumerate\}
-item=\item%|
-text=|
-
-[listtags-labeled]
-list={title?\minisec\{{title}\}} \par{id?\label\{{id}\}\hypertarget\{{id}\}\{\}} |
-item=\begin\{quote\}|\end\{quote\}
-text=|
-term=\noindent\textbf\{%|\}
-entry=
-label=
-
-[listtags-horizontal]
-list={title?\minisec\{{title}\}} {id?\label\{{id}\}\hypertarget\{{id}\}\{\}} \begin\{description\}|\end\{description\}
-item=
-text=|
-term=\item[%|]
-entry=
-label=
-
-[listtags-callout]
-list={title?\minisec\{{title}\}} {id?\label\{{id}\}\hypertarget\{{id}\}\{\}} \begin\{enumerate\}|\end\{enumerate\}
-item=\item%|
-text=|
-
-[listtags-qanda]
-list={title?\minisec\{{title}\}} {id?\label\{{id}\}\hypertarget\{{id}\}\{\}} \begin\{enumerate\}|\end\{enumerate\}
-item=\begin\{quotation\}|\end\{quotation\}
-text=|
-term=|
-entry=\item%|
-label=
-
-[listtags-glossary]
-list={title?\minisec\{{title}\}} {id?\label\{{id}\}\hypertarget\{{id}\}\{\}} \begin\{enumerate\}|\end\{enumerate\}
-item=\item%|
-text=|
-term=\item%|
-entry=
-label=
-
-[listtags-bibliography]
-list=biblist={title?\minisec\{{title}\}} {id?\label\{{id}\}\hypertarget\{{id}\}\{\}} \begin\{description\} | \end\{description\}
-item=|
-text=|
-
-
-
-[tags]
-superscript=!..backslash..!textsuperscript!..braceleft..!|!..braceright..!
-subscript=!..backslash..!textsubscript!..braceleft..!|!..braceright..!
-singlequoted=``|''
-doublequoted=`|'
-
-
-
-# Quoted text.
-emphasis=!..backslash..!emph!..braceleft..!|!..braceright..!
-strong=!..backslash..!textbf!..braceleft..!|!..braceright..!
-monospaced=!..backslash..!texttt!..braceleft..!|!..braceright..!
-doublequoted=!..backslash..!{language!textquotedblleft}{language?{[email protected]:glqq}}{language?{language@english:textquotedblleft}}!..braceleft..!!..braceright..!|!..backslash..!{language?{[email protected]:grqq}}{language?{language@english:textquotedblright}}{language!textquotedblright}!..braceleft..!!..braceright..!
-unquoted=|
-
-# $$ inline passthrough.
-$$passthrough=|
-
-# Inline macros
-[http-inlinemacro]
-!..backslash..!href!..braceleft..!{name}:{target}!..braceright..!!..braceleft..!{0={name}:{target}}!..braceright..!
-[https-inlinemacro]
-!..backslash..!href!..braceleft..!{name}:{target}!..braceright..!!..braceleft..!{0={name}:{target}}!..braceright..!
-[ftp-inlinemacro]
-!..backslash..!href!..braceleft..!{name}:{target}!..braceright..!!..braceleft..!{0={name}:{target}}!..braceright..!
-[file-inlinemacro]
-!..backslash..!href!..braceleft..!{name}:{target}!..braceright..!!..braceleft..!{0={name}:{target}}!..braceright..!
-[mailto-inlinemacro]
-!..backslash..!href!..braceleft..!{name}:{target}!..braceright..!!..braceleft..!{0={target}}!..braceright..!
-[callto-inlinemacro]
-!..backslash..!href!..braceleft..!{name}:{target}!..braceright..!!..braceleft..!{0={target}}!..braceright..!
-[link-inlinemacro]
-!..backslash..!href!..braceleft..!{target}!..braceright..!!..braceleft..!{0={target}}!..braceright..!
-# anchor:id[text]
-[anchor-inlinemacro]
-!..backslash..!label!..braceleft..!{target}!..braceright..!!..backslash..!hypertarget!..braceleft..!{target}!..braceright..!!..braceleft..!{0={target}}!..braceright..!
-# [[id,text]]
-[anchor2-inlinemacro]
-!..backslash..!label!..braceleft..!{1}!..braceright..!!..backslash..!hypertarget!..braceleft..!{1}!..braceright..!!..braceleft..!{2={1}}!..braceright..!
-# [[[id]]]
-[anchor3-inlinemacro]
-{latex-use-bibliography-environment?!..backslash..!bibitem!..braceleft..!{1}!..braceright..!} {latex-use-bibliography-environment!!..backslash..!item[{1}]} !..backslash..!label!..braceleft..!{1}!..braceright..!!..backslash..!hypertarget!..braceleft..!{1}!..braceright..!!..braceleft..!!..braceright..!
-# xref:id[text]
-[xref-inlinemacro]
-{style#}{style$page:!..backslash..!pageref!..braceleft..!{target}!..braceright..!}
-{style#}{style$autoref:!..backslash..!autoref!..braceleft..!{target}!..braceright..!}
-{style#}{style$ref:!..backslash..!ref!..braceleft..!{target}!..braceright..!}
-{style#}{latex-use-bibliography-environment#}{style$cite:!..backslash..!cite!..braceleft..!{target}!..braceright..!}
-{style#}{latex-use-bibliography-environment%}{style$cite:!..backslash..!hyperlink!..braceleft..!{target}!..braceright..!!..braceleft..!{0=[{target}]}!..braceright..!}
-{style%}!..backslash..!hyperlink!..braceleft..!{target}!..braceright..!!..braceleft..!{0=[{target}]}!..braceright..!
-
-# <<id,text>>
-[xref2-inlinemacro]
-{3#}{3$page:!..backslash..!pageref!..braceleft..!{1}!..braceright..!}
-{3#}{3$autoref:!..backslash..!autoref!..braceleft..!{1}!..braceright..!}
-{3#}{3$ref:!..backslash..!ref!..braceleft..!{1}!..braceright..!}
-{3#}{latex-use-bibliography-environment#}{3$cite:!..backslash..!cite!..braceleft..!{1}!..braceright..!}
-{3#}{latex-use-bibliography-environment%}{3$cite:!..backslash..!hyperlink!..braceleft..!{1}!..braceright..!!..braceleft..!{2=[{1}]}!..braceright..!}
-{3%}!..backslash..!hyperlink!..braceleft..!{1}!..braceright..!!..braceleft..!{2=[{1}]}!..braceright..!
-
-
-# Special word substitution.
-[emphasizedwords]
-!..backslash..!emph!..braceleft..!{words}!..braceright..!
-[monospacedwords]
-!..backslash..!texttt!..braceleft..!{words}!..braceright..!
-[strongwords]
-!..backslash..!textbf!..braceleft..!{words}!..braceright..!
-
-
-
-# Paragraph substitution.
-[paragraph]
-{title%} \par{latex-indent-paragraphs!\noindent{}}
-{title#} \paragraph\{{title}\}
-\label\{{id}\}\hypertarget\{{id}\}\{\}
-
-|
-
-[literalparagraph]
-# The literal block employs the same markup.
-template::[literalblock]
-
-[verseparagraph]
-# The verse block employs the same markup.
-template::[verseblock]
-
-[admonitionparagraph]
-# The admonition block employs the same markup.
-template::[admonitionblock]
-
-# Delimited blocks.
-[passthroughblock]
-|
-
-# FIXME: we get SPURIOUS TEXT at the beginning, but can't delete it.
-# Putting "[]" after the \begin{lstlisting} in the LaTeX output works,
-# but inserting the same "[]" below doesn't.
-
-[listingblock]
-\\minisec\{{caption=Listing: }{title}\}
-\label\{{id}\}\hypertarget\{{id}\}\{\}
-\begin\{verbatim\}|\end\{verbatim\}
-
-% FIXXME: dirty hack to circumvent missing \n after verbatim
-
-[literalblock]
-\minisec\{{title}\}
-\label\{{id}\}\hypertarget\{{id}\}\{\}
-\begin\{alltt\}
-
-|
-
-\end\{alltt\}
-
-[verseblock]
-\minisec\{{title}\}
-\label\{{id}\}\hypertarget\{{id}\}\{\}
-\begin\{alltt\}
-\normalfont\{\}
-
-|
-
-\end\{alltt\}
-
-[sidebarblock]
-\label\{{id}\}\hypertarget\{{id}\}\{\}
-\par\noindent{}
-ifndef::latex-use-colored-sidebar-blocks[]
-\setlength\{\tabcolsep\}\{0pt\}
-\rowcolors\{1\}\{\}\{\}
-\begin\{tabular\}\{l>\{\columncolor[gray]\{.75\}\}rcl\}
-\hspace*\{0pt\} &
-\hspace*\{8pt\} &
-\hspace*\{16pt\} &
-\begin\{minipage\}\{4in\}
-endif::latex-use-colored-sidebar-blocks[]
-ifdef::latex-use-colored-sidebar-blocks[]
-\fcolorbox\{SidebarBorderColor\}\{SidebarBackgroundColor\}\{\parbox\{\textwidth\}\{
-endif::latex-use-colored-sidebar-blocks[]
-\minisec\{{title}\}
-
-|
-
-ifdef::latex-use-colored-sidebar-blocks[]
-\}
-\}
-endif::latex-use-colored-sidebar-blocks[]
-ifndef::latex-use-colored-sidebar-blocks[]
-\end\{minipage\}
-\end\{tabular\}
-endif::latex-use-colored-sidebar-blocks[]
-\bigskip
-
-[quoteblock]
-\minisec\{{title}\}
-\label\{{id}\}\hypertarget\{{id}\}\{\}
-\begin\{quote\}
-
-|
-
-\end\{quote\}
-
-\begin\{flushright\}
-{citetitle} \\
--- {attribution}
-\end\{flushright\}
-
-[exampleblock]
-\minisec\{{caption=}{title}\}
-\label\{{id}\}\hypertarget\{{id}\}\{\}
-\begin\{quotation\}
-
-|
-
-\end\{quotation\}
-
-[admonitionblock]
-\begin\{addmargin*\}[0em]\{0em\}
-\label\{{id}\}\hypertarget\{{id}\}\{\}
-\begin\{minipage\}\{\linewidth\}
-{icons#} \includegraphics\{{icon={iconsdir}/{name}.png}\}
-{icons%} \minisec\{{caption}\}
-\rule\{\linewidth\}\{2pt\}
-\par\{\}\noindent\{\}|\par\{\}\noindent\{\}%
-\rule[.25\baselineskip]\{\linewidth\}\{2pt\}
-\end\{minipage\}
-\end\{addmargin*\}
-
-# Bibliography list.
-# Same as numbered list.
-[listdef-bibliography]
-listtag=biblist
-itemtag=biblistitem
-texttag=biblisttext
-
-# Glossary list.
-# Same as labeled list.
-[listdef-glossary]
-listtag=vlist
-itemtag=vlistitem
-texttag=vlisttext
-entrytag=vlistentry
-labeltag=vlistterm
-
-# Tables.
-# FIXME: no lines!
-
-[tabletags-monospaced]
-
-[tabletags-strong]
-
-[tabletags-verse]
-
-[tabletags-literal]
-
-[tabletags-emphasis]
-
-[tabletags-asciidoc]
-
-#[tabledef-default]
-
-[tabletags-default]
-#template=table
-colspec=>\{{colalign@left:\\raggedright}{colalign@center:\\centering}{colalign@right:\\raggedleft}\}p\{ {colwidth}pt \}
-bodyrow=| \tabularnewline
-headdata=\{\bfseries\{\}|\} {colnumber@{colcount}::&}
-footdata=\{\bfseries\{\}|\} {colnumber@{colcount}::&}
-bodydata=| {colnumber@{colcount}:%:&}
-paragraph=
-
-[tabletags-header]
-
-[table]
-ifdef::latex-use-colored-tables[]
-\rowcolors\{1\}\{TableEvenColor\}\{TableOddColor\}
-\setlength\arrayrulewidth\{1.5pt\}
-\arrayrulecolor\{TableBorderColor\}
-endif::latex-use-colored-tables[]
-{eval:{rowcount}{gt}{latex-table-rowlimit}} \begin\{longtable\}\{
-{eval:{rowcount}{gt}{latex-table-rowlimit}} {frame$all|sides:|}
-{eval:{rowcount}{gt}{latex-table-rowlimit}} {colspecs}
-{eval:{rowcount}{gt}{latex-table-rowlimit}} {frame$all|sides:|}
-{eval:{rowcount}{gt}{latex-table-rowlimit}} \}
-{eval:{rowcount}{gt}{latex-table-rowlimit}} \hypertarget\{{id}\}\{\}
-{eval:{rowcount}{gt}{latex-table-rowlimit}} \caption\{{title}\}
-{eval:{rowcount}{gt}{latex-table-rowlimit}} {frame$all|topbot:\hline}
-{eval:{rowcount}{gt}{latex-table-rowlimit}} {headrows}
-{eval:{rowcount}{gt}{latex-table-rowlimit}} {headrows#} \endhead
-{eval:{rowcount}{gt}{latex-table-rowlimit}} {footrows}
-{eval:{rowcount}{gt}{latex-table-rowlimit}} {footrows#} \endlastfoot
-{eval:{rowcount}{gt}{latex-table-rowlimit}}
-{eval:{rowcount}{gt}{latex-table-rowlimit}} {bodyrows}
-{eval:{rowcount}{gt}{latex-table-rowlimit}} {frame$all|topbot:\hline}
-{eval:{rowcount}{gt}{latex-table-rowlimit}} \label\{{id}\}
-{eval:{rowcount}{gt}{latex-table-rowlimit}} \end\{longtable\}
-{eval:{rowcount}{lt}={latex-table-rowlimit}} {title%} \par{latex-indent-paragraphs!\noindent}
-{eval:{rowcount}{lt}={latex-table-rowlimit}} {title#} \begin\{table\}
-{eval:{rowcount}{lt}={latex-table-rowlimit}} {title#} \begin\{center\}
-{eval:{rowcount}{lt}={latex-table-rowlimit}} \hypertarget\{{id}\}\{\}
-{eval:{rowcount}{lt}={latex-table-rowlimit}} \caption\{{title}\}
-{eval:{rowcount}{lt}={latex-table-rowlimit}} \begin\{tabular\}\{lllllllllllllll
-{eval:{rowcount}{lt}={latex-table-rowlimit}} {frame$all|sides:|}
-{eval:{rowcount}{lt}={latex-table-rowlimit}} {colspecs}
-{eval:{rowcount}{lt}={latex-table-rowlimit}} {frame$all|sides:|}
-{eval:{rowcount}{lt}={latex-table-rowlimit}} \}
-{eval:{rowcount}{lt}={latex-table-rowlimit}} {frame$all|topbot:\hline}
-{eval:{rowcount}{lt}={latex-table-rowlimit}} {headrows}
-{eval:{rowcount}{lt}={latex-table-rowlimit}} {bodyrows}
-{eval:{rowcount}{lt}={latex-table-rowlimit}} {footrows}
-{eval:{rowcount}{lt}={latex-table-rowlimit}} {frame$all|topbot:\hline}
-{eval:{rowcount}{lt}={latex-table-rowlimit}} \end\{tabular\}
-{eval:{rowcount}{lt}={latex-table-rowlimit}} {title#} \end\{center\}
-{eval:{rowcount}{lt}={latex-table-rowlimit}} \label\{{id}\}
-{eval:{rowcount}{lt}={latex-table-rowlimit}} {title#} \end\{table\}
-
-[specialsections]
-ifdef::doctype-article[]
-^Abstract$=abstract
-endif::doctype-article[]
-
-ifdef::doctype-book[]
-^Dedication$=dedication
-endif::doctype-book[]
-
-^Index$=index
-
-ifdef::latex-use-bibliography-environment[]
-^(Bibliography|References)$=bibliography
-endif::latex-use-bibliography-environment[]
-
-^Appendix.*$=appendix
-^(TOC|Contents)$=toc
-
-^Figures$=list-of-figures
-
-# Special sections.
-
-
-[list-of-figures]
-\listoffigures
-
-
-[toc]
-\label\{{id}\}\hypertarget\{{id}\}\{\}
-\tableofcontents
-
-[index]
-\setindexpreamble\{
-|
-\}
-\label\{{id}\}\hypertarget\{{id}\}\{\}
-\printindex
-
-ifdef::latex-use-bibliography-environment[]
-[bibliography]
-\label\{{id}\}\hypertarget\{{id}\}\{\}
-\begin\{thebibliography\}\{99\}
-|
-\end\{thebibliography\}
-endif::latex-use-bibliography-environment[]
-
-[appendix]
-\appendix
-\label\{{id}\}\hypertarget\{{id}\}\{\}
-|
-
-[abstract]
-\label\{{id}\}\hypertarget\{{id}\}\{\}
-\begin\{abstract\}
-|
-
-\end\{abstract\}
-
-[abstractblock]
-
-[dedication]
-\label\{{id}\}\hypertarget\{{id}\}\{\}
-\dedication\{
-|
-\}
-
-[preamble]
-# Untitled elements between header and first section title.
-ifdef::doctype-book[]
-\frontmatter
-\chapter*\{Preface\}
-\label\{preamble\}\hypertarget\{preamble\}\{\}
-endif::doctype-book[]
-
-
-|
-
-ifdef::doctype-book[]
-\mainmatter
-endif::doctype-book[]
-
-# Document sections.
-[sect0]
-\hypertarget\{{id}\}\{\}
-\chapter\{{title}\}
-\label\{{id}\}
-|
-
-[sect1]
-\hypertarget\{{id}\}\{\}
-\section\{{title}\}
-\label\{{id}\}
-
-[sect2]
-\hypertarget\{{id}\}\{\}
-\subsection\{{title}\}
-\label\{{id}\}
-|
-
-[sect3]
-\hypertarget\{{id}\}\{\}
-\subsubsection\{{title}\}
-\label\{{id}\}
-|
-
-[sect4]
-\hypertarget\{{id}\}\{\}
-\minisec\{{title}\}
-\label\{{id}\}
-|
-
-
-# FIXME: if the "backgroundcolor" entry is present as below, the
-# background comes out black and is unreadable in PDF, although it is
-# OK in DVI.
-# \lstset\{basicstyle=\footnotesize\ttfamily,showstringspaces=false,breaklines,frame=single, rulecolor=\color\{ListingBorderColor\}, backgroundcolor=\color\{ListingBackgroundColor\}, xleftmargin=0cm, linewidth=0.95\textwidth\}
-
-
-[header]
-{encoding$UTF-8:}% coding: utf-8
-\documentclass [a4paper,abstracton,titlepage]\{{doctype@article:scrartcl:scrbook}\}
-\pagestyle\{{latex-use-running-title-headings?headings}{latex-use-running-title-headings!plain}\}
-\usepackage\{makeidx\}
-\usepackage[table]\{xcolor\}
-\usepackage\{color\}
-\definecolor\{LinkColor\}\{rgb\}\{0.33,0.42,0.18\}
-\definecolor\{TableEvenColor\}\{rgb\}\{0.93,1,0.8\}
-\definecolor\{TableOddColor\}\{rgb\}\{0.93,1,1\}
-\definecolor\{TableBorderColor\}\{rgb\}\{0.55,0.67,0.73\}
-\definecolor\{ListingBorderColor\}\{rgb\}\{0.55,0.55,0.55\}
-\definecolor\{ListingBackgroundColor\}\{rgb\}\{0.95,0.95,0.95\}
-\definecolor\{SidebarBorderColor\}\{rgb\}\{0.95,0.95,0.95\}
-\definecolor\{SidebarBackgroundColor\}\{rgb\}\{1,1,0.93\}
-\usepackage\{type1ec\}
-\usepackage[{language=english}]\{babel\}
-\usepackage[
- pdftex,
- pdftitle=\{{doctitle}\},
- pdfauthor=\{{author}\},
- backref,
- pagebackref,
- breaklinks=true,
- unicode
- ]
- \{hyperref\}
-\usepackage\{enumerate\}
-\usepackage\{graphicx\}
-\usepackage\{longtable\}
-\usepackage[T1]\{fontenc\}
-\usepackage\{ucs\}
-\usepackage[{encoding@ISO-8859-1:latin1}{encoding@UTF-8:utf8x}{encoding!utf8x}]\{inputenc\}
-\usepackage\{textcomp\}
-\usepackage\{alltt\}
-%\usepackage\{listings\}
-\usepackage\{verbatim\}
-\usepackage\{moreverb\}
-\usepackage\{upquote\}
-
-%\lstset\{basicstyle=\footnotesize\ttfamily,showstringspaces=false,breaklines,frame=single, rulecolor=\color\{ListingBorderColor\}, xleftmargin=0cm, linewidth=0.95\textwidth\}
-
-{latex-indent-paragraphs%} \setlength\{\\parskip\}\{1ex plus 0.5ex minus 0.2ex\}
-
-\makeatletter
-\DeclareRobustCommand*\textsubscript[1]\{%
- \@textsubscript\{\selectfont#1\}\}
-\def\@textsubscript#1\{%
- \{\m@th\ensuremath\{_\{\mbox\{\fontsize\sf@size\z@#1\}\}\}\}\}
-\makeatother
-
-\subject\{{subject}\}
-\title\{{doctitle}\}
-\author\{{author}{email?, \href\{mailto:{email}\}\{{email}\}}\}
-\date\{{revdate}\}
-\publishers\{\begin\{tabular\}\{ll\} {revision?\textbf\{Revision:\} & {revision} \\ } {keywords?\textbf\{Keywords:\} & {keywords} \\ } \end\{tabular\}\}
-
-\makeindex
-
-\begin\{document\}
-
-%\newcommand{\texttesh}{\textteshlig\/}
-
-\label\{header\}\\hypertarget\{header\}\{\}
-{doctitle#\maketitle}
-
-[footer]
-\label\{footer\}\hypertarget\{footer\}\{\}
-\end\{document\}
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/main.aap b/code/maint/asciidoc/asciidoc-8.6.3/main.aap
deleted file mode 100644
index 725b744..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/main.aap
+++ /dev/null
@@ -1,77 +0,0 @@
-#####################################################################
-#
-# A-A-P file for making AsciiDoc distribution.
-# (you can obtain A-A-P from http://www.a-a-p.org)
-#
-# Stuart Rackham <srackham(a)gmail.com>
-#####################################################################
-
-:execute ./common.aap
-
-all: distribution
-
-vers:
- :print Version: $VERS (released $DATE)
-
-vers_update:
- # Propagate version number in common.aap to other versioned files.
- :syseval grep "$$VERSION = '$(VERS)'" asciidoc.py | :assign dummy
- @if exit != 0:
- :print updating version numbers...
- @for (fname,match) in (('asciidoc.py',r'^VERSION = '),('a2x.py',r'^VERSION = '),('configure.ac',r'^AC_INIT\(.*\)')):
- :sys sed '/$match/ s/[0-9.]\+/$VERS/' <$fname >$(fname).tmp
- :sys mv -f $(fname).tmp $fname
- @if fname in ('asciidoc.py','a2x.py'):
- :sys chmod +x $fname
-
-tags:
- :sys rm -f tags
- :sys ctags asciidoc.py asciidocapi.py tests/testasciidoc.py
-
-docs:
- :execute ./doc/main.aap
-
-website:
- :execute ./examples/website/main.aap
-
-distribution: vers_update docs website
- NAME = asciidoc-$(VERS)
- # Make configure script.
- :sys autoconf
- :sys ln -s . $(NAME)
- # Make tarball of all files in MANIFEST.
- :sys tar -czf $(NAME).tar.gz \
- ``sed s:^:$(NAME)/: MANIFEST``
- # Make zip file.
- ZIP = `program_path("zip")`
- @if ZIP:
- :sys rm -f $(NAME).zip
- :sys ls ``sed s:^:$(NAME)/: MANIFEST`` | $ZIP $(NAME).zip -@
- # Zip files don't know about symlinks so just duplicate the
- # files.
- :sys $ZIP $(NAME).zip \
- $(NAME)/doc/images/tiger.png \
- $(NAME)/doc/images/smallnew.png \
- $(NAME)/doc/images/icons/README \
- $(NAME)/doc/images/icons/*.png \
- $(NAME)/doc/images/icons/callouts/*.png \
- $(NAME)/examples/website/images/tiger.png \
- $(NAME)/examples/website/images/highlighter.png \
- $(NAME)/examples/website/images/smallnew.png \
- $(NAME)/examples/website/images/icons/README \
- $(NAME)/examples/website/images/icons/*.png \
- $(NAME)/examples/website/images/icons/callouts/*.png
- :sys rm -f $(NAME)
- @else:
- :print WARNING: zip(1) unavailable, skipping zip file creation
- :sys rm -f $(NAME)
-
-test:
- :sys python ./asciidoc.py --doctest
- :sys python ./asciidocapi.py
- :execute ./doc/main.aap test
- :syseval ls ./tests/data/*.html | :assign TESTFILES
- @if _no.TESTFILES:
- :sys python ./tests/testasciidoc.py run
- @else:
- :print WARNING: no test files, run './tests/testasciidoc.py update'
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/slidy.conf b/code/maint/asciidoc/asciidoc-8.6.3/slidy.conf
deleted file mode 100644
index 9c8f219..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/slidy.conf
+++ /dev/null
@@ -1,136 +0,0 @@
-#
-# Asciidoc Configuration file for slidy HTML generation.
-#
-
-include::xhtml11.conf[]
-
-[literalparagraph]
-template::[listingblock]
-
-[openblock]
-<div class="openblock{incremental? incremental}{role? {role}}"{id? id="{id}"}>
-<div class="title">{title}</div>
-<div class="content">
-|
-</div></div>
-
-[listtags-bulleted]
-list={title?<div class="title">{title}</div>}<ul{id? id="{id}"} class="{incremental? incremental}{role? {role}}">|</ul>
-item=<li>|</li>
-text=<span>|</span>
-
-[listtags-numbered]
-# The start attribute is not valid XHTML 1.1 but all browsers support it.
-list={title?<div class="title">{title}</div>}<ol{id? id="{id}"} class="{style}{incremental? incremental}{role? {role}}"{start? start="{start}"}>|</ol>
-item=<li>|</li>
-text=<span>|</span>
-
-[listtags-labeled]
-list=<div class="dlist{compact-option? compact}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<dl class="{incremental? incremental}{role? {role}}">|</dl></div>
-entry=
-label=
-term=<dt class="hdlist1{strong-option? strong}">|</dt>
-item=<dd>|</dd>
-text=<p>|</p>
-
-[preamble]
-# Untitled elements between header and first section title.
-<div id="preamble" class="slide">
-<div class="sectionbody"{max-width? style="max-width:{max-width}"}>
-|
-</div>
-</div>
-
-[sect1]
-<div class="sect1 slide{style? {style}}{role? {role}}">
-<h1{id? id="{id}"}>{numbered?{sectnum} }{title}</h1>
-# Set max-width here because Slidy ignores max-width on body.
-<div class="sectionbody"{max-width? style="max-width:{max-width}"}>
-|
-</div>
-</div>
-
-[appendix]
-<div class="sect1 slide{style? {style}}{role? {role}}">
-<h1{id? id="{id}"}>{numbered?{sectnum} }{appendix-caption} {counter:appendix-number:A}: {title}</h1>
-# Set max-width here because Slidy ignores max-width on body.
-<div class="sectionbody"{max-width? style="max-width:{max-width}"}>
-|
-</div>
-</div>
-
-[header]
-<?xml version="1.0" encoding="{encoding}"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="{lang=en}" xml:lang="{lang=en}">
-<head>
-<title>{doctitle=}</title>
-ifndef::copyright[<meta name="copyright" content="Copyright © {author}" />]
-<meta name="copyright" content="Copyright © {copyright}" />
-<meta name="generator" content="AsciiDoc {asciidoc-version}" />
-<meta name="duration" content="{duration}" />
-ifdef::linkcss[]
-<link rel="stylesheet" href="{stylesdir=.}/{theme=xhtml11}.css" type="text/css" />
-<link rel="stylesheet" href="{stylesdir=.}/slidy.css" type="text/css" />
-<link rel="stylesheet" href="{stylesdir=.}/{stylesheet}" type="text/css" />
-ifdef::pygments[<link rel="stylesheet" href="{stylesdir=.}/pygments.css" type="text/css" />]
-<script src="{scriptsdir=.}/slidy.js" charset="utf-8" type="text/javascript"></script>
-endif::linkcss[]
-ifndef::linkcss[]
-<style type="text/css">
-include1::{stylesdir=./stylesheets}/{theme=xhtml11}.css[]
-include1::{stylesdir=./stylesheets}/slidy.css[]
-include1::{stylesheet}}
-ifdef::pygments[]
-include1::{stylesdir=./stylesheets}/pygments.css[]
-endif::pygments[]
-</style>
-<script type="text/javascript">
-# Escape as CDATA to pass validators.
-/*<![CDATA[*/
-include1::{scriptsdir=./javascripts}/slidy.js[]
-/*]]>*/
-</script>
-endif::linkcss[]
-ifdef::asciimath[]
-ifdef::linkcss[]
-<script type="text/javascript" src="{scriptsdir=.}/ASCIIMathML.js"></script>
-endif::linkcss[]
-ifndef::linkcss[]
-<script type="text/javascript">
-# Escape as CDATA to pass validators.
-/*<![CDATA[*/
-include1::{scriptsdir=./javascripts}/ASCIIMathML.js[]
-/*]]>*/
-</script>
-endif::linkcss[]
-endif::asciimath[]
-ifdef::latexmath[]
-ifdef::linkcss[]
-<script type="text/javascript" src="{scriptsdir=.}/LaTeXMathML.js"></script>
-endif::linkcss[]
-ifndef::linkcss[]
-<script type="text/javascript">
-# Escape as CDATA to pass validators.
-/*<![CDATA[*/
-include1::{scriptsdir=./javascripts}/LaTeXMathML.js[]
-/*]]>*/
-</script>
-endif::linkcss[]
-endif::latexmath[]
-</head>
-<body class="{doctype}"{max-width? style="max-width:{max-width}"}>
-<div id="header" class="slide">
-ifndef::notitle[<h1>{doctitle}</h1>]
-ifdef::doctitle[]
-<span id="author">{author}</span><br />
-<span id="email"><tt><<a href="mailto:{email}">{email}</a>></tt></span><br />
-<span id="revnumber">version {revnumber}{revdate?,}</span>
-<span id="revdate">{revdate}</span>
-<br /><span id="revremark">{revremark}</span>
-endif::doctitle[]
-</div>
-
-[footer]
-</body>
-</html>
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/stylesheets/docbook-xsl.css b/code/maint/asciidoc/asciidoc-8.6.3/stylesheets/docbook-xsl.css
deleted file mode 100644
index 2d83d47..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/stylesheets/docbook-xsl.css
+++ /dev/null
@@ -1,277 +0,0 @@
-/*
- CSS stylesheet for XHTML produced by DocBook XSL stylesheets.
- Tested with XSL stylesheets 1.61.2, 1.67.2
-*/
-
-span.strong {
- font-weight: bold;
-}
-
-body blockquote {
- margin-top: .75em;
- line-height: 1.5;
- margin-bottom: .75em;
-}
-
-html body {
- margin: 1em 5% 1em 5%;
- line-height: 1.2;
-}
-
-body div {
- margin: 0;
-}
-
-h1, h2, h3, h4, h5, h6
-{
- color: #527bbd;
- font-family: tahoma, verdana, sans-serif;
-}
-
-div.toc p:first-child,
-div.list-of-figures p:first-child,
-div.list-of-tables p:first-child,
-div.list-of-examples p:first-child,
-div.example p.title,
-div.sidebar p.title
-{
- font-weight: bold;
- color: #527bbd;
- font-family: tahoma, verdana, sans-serif;
- margin-bottom: 0.2em;
-}
-
-body h1 {
- margin: .0em 0 0 -4%;
- line-height: 1.3;
- border-bottom: 2px solid silver;
-}
-
-body h2 {
- margin: 0.5em 0 0 -4%;
- line-height: 1.3;
- border-bottom: 2px solid silver;
-}
-
-body h3 {
- margin: .8em 0 0 -3%;
- line-height: 1.3;
-}
-
-body h4 {
- margin: .8em 0 0 -3%;
- line-height: 1.3;
-}
-
-body h5 {
- margin: .8em 0 0 -2%;
- line-height: 1.3;
-}
-
-body h6 {
- margin: .8em 0 0 -1%;
- line-height: 1.3;
-}
-
-body hr {
- border: none; /* Broken on IE6 */
-}
-div.footnotes hr {
- border: 1px solid silver;
-}
-
-div.navheader th, div.navheader td, div.navfooter td {
- font-family: sans-serif;
- font-size: 0.9em;
- font-weight: bold;
- color: #527bbd;
-}
-div.navheader img, div.navfooter img {
- border-style: none;
-}
-div.navheader a, div.navfooter a {
- font-weight: normal;
-}
-div.navfooter hr {
- border: 1px solid silver;
-}
-
-body td {
- line-height: 1.2
-}
-
-body th {
- line-height: 1.2;
-}
-
-ol {
- line-height: 1.2;
-}
-
-ul, body dir, body menu {
- line-height: 1.2;
-}
-
-html {
- margin: 0;
- padding: 0;
-}
-
-body h1, body h2, body h3, body h4, body h5, body h6 {
- margin-left: 0
-}
-
-body pre {
- margin: 0.5em 10% 0.5em 1em;
- line-height: 1.0;
- color: navy;
-}
-
-tt.literal, code.literal {
- color: navy;
-}
-
-.programlisting, .screen {
- border: 1px solid silver;
- background: #f4f4f4;
- margin: 0.5em 10% 0.5em 0;
- padding: 0.5em 1em;
-}
-
-div.sidebar {
- background: #ffffee;
- margin: 1.0em 10% 0.5em 0;
- padding: 0.5em 1em;
- border: 1px solid silver;
-}
-div.sidebar * { padding: 0; }
-div.sidebar div { margin: 0; }
-div.sidebar p.title {
- margin-top: 0.5em;
- margin-bottom: 0.2em;
-}
-
-div.bibliomixed {
- margin: 0.5em 5% 0.5em 1em;
-}
-
-div.glossary dt {
- font-weight: bold;
-}
-div.glossary dd p {
- margin-top: 0.2em;
-}
-
-dl {
- margin: .8em 0;
- line-height: 1.2;
-}
-
-dt {
- margin-top: 0.5em;
-}
-
-dt span.term {
- font-style: normal;
- color: navy;
-}
-
-div.variablelist dd p {
- margin-top: 0;
-}
-
-div.itemizedlist li, div.orderedlist li {
- margin-left: -0.8em;
- margin-top: 0.5em;
-}
-
-ul, ol {
- list-style-position: outside;
-}
-
-div.sidebar ul, div.sidebar ol {
- margin-left: 2.8em;
-}
-
-div.itemizedlist p.title,
-div.orderedlist p.title,
-div.variablelist p.title
-{
- margin-bottom: -0.8em;
-}
-
-div.revhistory table {
- border-collapse: collapse;
- border: none;
-}
-div.revhistory th {
- border: none;
- color: #527bbd;
- font-family: tahoma, verdana, sans-serif;
-}
-div.revhistory td {
- border: 1px solid silver;
-}
-
-/* Keep TOC and index lines close together. */
-div.toc dl, div.toc dt,
-div.list-of-figures dl, div.list-of-figures dt,
-div.list-of-tables dl, div.list-of-tables dt,
-div.indexdiv dl, div.indexdiv dt
-{
- line-height: normal;
- margin-top: 0;
- margin-bottom: 0;
-}
-
-/*
- Table styling does not work because of overriding attributes in
- generated HTML.
-*/
-div.table table,
-div.informaltable table
-{
- margin-left: 0;
- margin-right: 5%;
- margin-bottom: 0.8em;
-}
-div.informaltable table
-{
- margin-top: 0.4em
-}
-div.table thead,
-div.table tfoot,
-div.table tbody,
-div.informaltable thead,
-div.informaltable tfoot,
-div.informaltable tbody
-{
- /* No effect in IE6. */
- border-top: 3px solid #527bbd;
- border-bottom: 3px solid #527bbd;
-}
-div.table thead, div.table tfoot,
-div.informaltable thead, div.informaltable tfoot
-{
- font-weight: bold;
-}
-
-div.mediaobject img {
- margin-bottom: 0.8em;
-}
-div.figure p.title,
-div.table p.title
-{
- margin-top: 1em;
- margin-bottom: 0.4em;
-}
-
-div.calloutlist p
-{
- margin-top: 0em;
- margin-bottom: 0.4em;
-}
-
-@media print {
- div.navheader, div.navfooter { display: none; }
-}
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/stylesheets/pygments.css b/code/maint/asciidoc/asciidoc-8.6.3/stylesheets/pygments.css
deleted file mode 100644
index 9ca3659..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/stylesheets/pygments.css
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- pygmentize filter
-*/
-.highlight .hll { background-color: #ffffcc }
-.highlight { background: #f4f4f4; }
-.highlight .c { color: #008800; font-style: italic } /* Comment */
-.highlight .err { border: 1px solid #FF0000 } /* Error */
-.highlight .k { color: #AA22FF; font-weight: bold } /* Keyword */
-.highlight .o { color: #666666 } /* Operator */
-.highlight .cm { color: #008800; font-style: italic } /* Comment.Multiline */
-.highlight .cp { color: #008800 } /* Comment.Preproc */
-.highlight .c1 { color: #008800; font-style: italic } /* Comment.Single */
-.highlight .cs { color: #008800; font-weight: bold } /* Comment.Special */
-.highlight .gd { color: #A00000 } /* Generic.Deleted */
-.highlight .ge { font-style: italic } /* Generic.Emph */
-.highlight .gr { color: #FF0000 } /* Generic.Error */
-.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
-.highlight .gi { color: #00A000 } /* Generic.Inserted */
-.highlight .go { color: #808080 } /* Generic.Output */
-.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
-.highlight .gs { font-weight: bold } /* Generic.Strong */
-.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
-.highlight .gt { color: #0040D0 } /* Generic.Traceback */
-.highlight .kc { color: #AA22FF; font-weight: bold } /* Keyword.Constant */
-.highlight .kd { color: #AA22FF; font-weight: bold } /* Keyword.Declaration */
-.highlight .kn { color: #AA22FF; font-weight: bold } /* Keyword.Namespace */
-.highlight .kp { color: #AA22FF } /* Keyword.Pseudo */
-.highlight .kr { color: #AA22FF; font-weight: bold } /* Keyword.Reserved */
-.highlight .kt { color: #00BB00; font-weight: bold } /* Keyword.Type */
-.highlight .m { color: #666666 } /* Literal.Number */
-.highlight .s { color: #BB4444 } /* Literal.String */
-.highlight .na { color: #BB4444 } /* Name.Attribute */
-.highlight .nb { color: #AA22FF } /* Name.Builtin */
-.highlight .nc { color: #0000FF } /* Name.Class */
-.highlight .no { color: #880000 } /* Name.Constant */
-.highlight .nd { color: #AA22FF } /* Name.Decorator */
-.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
-.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
-.highlight .nf { color: #00A000 } /* Name.Function */
-.highlight .nl { color: #A0A000 } /* Name.Label */
-.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
-.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
-.highlight .nv { color: #B8860B } /* Name.Variable */
-.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
-.highlight .w { color: #bbbbbb } /* Text.Whitespace */
-.highlight .mf { color: #666666 } /* Literal.Number.Float */
-.highlight .mh { color: #666666 } /* Literal.Number.Hex */
-.highlight .mi { color: #666666 } /* Literal.Number.Integer */
-.highlight .mo { color: #666666 } /* Literal.Number.Oct */
-.highlight .sb { color: #BB4444 } /* Literal.String.Backtick */
-.highlight .sc { color: #BB4444 } /* Literal.String.Char */
-.highlight .sd { color: #BB4444; font-style: italic } /* Literal.String.Doc */
-.highlight .s2 { color: #BB4444 } /* Literal.String.Double */
-.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
-.highlight .sh { color: #BB4444 } /* Literal.String.Heredoc */
-.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
-.highlight .sx { color: #008000 } /* Literal.String.Other */
-.highlight .sr { color: #BB6688 } /* Literal.String.Regex */
-.highlight .s1 { color: #BB4444 } /* Literal.String.Single */
-.highlight .ss { color: #B8860B } /* Literal.String.Symbol */
-.highlight .bp { color: #AA22FF } /* Name.Builtin.Pseudo */
-.highlight .vc { color: #B8860B } /* Name.Variable.Class */
-.highlight .vg { color: #B8860B } /* Name.Variable.Global */
-.highlight .vi { color: #B8860B } /* Name.Variable.Instance */
-.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
-
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/stylesheets/slidy.css b/code/maint/asciidoc/asciidoc-8.6.3/stylesheets/slidy.css
deleted file mode 100644
index bbb790e..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/stylesheets/slidy.css
+++ /dev/null
@@ -1,445 +0,0 @@
-/* slidy.css
-
- Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved.
- W3C liability, trademark, document use and software licensing
- rules apply, see:
-
- http://www.w3.org/Consortium/Legal/copyright-documents
- http://www.w3.org/Consortium/Legal/copyright-software
-*/
-
-/*
- SJR: 2010-09-29: Modified for AsciiDoc slidy backend.
- Mostly just commented out stuff that is handled by AsciiDoc's CSS files.
-*/
-
-body
-{
- margin: 0 0 0 0;
- padding: 0 0 0 0;
- width: 100%;
- height: 100%;
- color: black;
- background-color: white;
-/*
- font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif;
-*/
- font-size: 14pt;
-}
-
-div.toolbar {
- position: fixed; z-index: 200;
- top: auto; bottom: 0; left: 0; right: 0;
- height: 1.2em; text-align: right;
- padding-left: 1em;
- padding-right: 1em;
- font-size: 60%;
- color: red;
- background-color: rgb(240,240,240);
- border-top: solid 1px rgb(180,180,180);
-}
-
-div.toolbar span.copyright {
- color: black;
- margin-left: 0.5em;
-}
-
-div.initial_prompt {
- position: absolute;
- z-index: 1000;
- bottom: 1.2em;
- width: 90%;
- background-color: rgb(200,200,200);
- opacity: 0.35;
- background-color: rgb(200,200,200, 0.35);
- cursor: pointer;
-}
-
-div.initial_prompt p.help {
- text-align: center;
-}
-
-div.initial_prompt p.close {
- text-align: right;
- font-style: italic;
-}
-
-div.slidy_toc {
- position: absolute;
- z-index: 300;
- width: 60%;
- max-width: 30em;
- height: 30em;
- overflow: auto;
- top: auto;
- right: auto;
- left: 4em;
- bottom: 4em;
- padding: 1em;
- background: rgb(240,240,240);
- border-style: solid;
- border-width: 2px;
- font-size: 60%;
-}
-
-div.slidy_toc .toc_heading {
- text-align: center;
- width: 100%;
- margin: 0;
- margin-bottom: 1em;
- border-bottom-style: solid;
- border-bottom-color: rgb(180,180,180);
- border-bottom-width: 1px;
-}
-
-div.slide {
- z-index: 20;
- margin: 0 0 0 0;
- padding-top: 0;
- padding-bottom: 0;
- padding-left: 20px;
- padding-right: 20px;
- border-width: 0;
- clear: both;
- top: 0;
- bottom: 0;
- left: 0;
- right: 0;
- line-height: 120%;
- background-color: transparent;
-}
-
-div.background {
- display: none;
-}
-
-div.handout {
- margin-left: 20px;
- margin-right: 20px;
-}
-
-div.slide.titlepage {
- text-align: center;
-}
-
-div.slide.titlepage.h1 {
- padding-top: 10%;
-}
-
-div.slide h1 {
- padding-left: 0;
- padding-right: 20pt;
- padding-top: 4pt;
- padding-bottom: 4pt;
- margin-top: 0;
- margin-left: 0;
- margin-right: 60pt;
- margin-bottom: 0.5em;
- display: block;
- font-size: 160%;
- line-height: 1.2em;
- background: transparent;
-}
-
-div.toc {
- position: absolute;
- top: auto;
- bottom: 4em;
- left: 4em;
- right: auto;
- width: 60%;
- max-width: 30em;
- height: 30em;
- border: solid thin black;
- padding: 1em;
- background: rgb(240,240,240);
- color: black;
- z-index: 300;
- overflow: auto;
- display: block;
- visibility: visible;
-}
-
-div.toc-heading {
- width: 100%;
- border-bottom: solid 1px rgb(180,180,180);
- margin-bottom: 1em;
- text-align: center;
-}
-
-/*
-pre {
- font-size: 80%;
- font-weight: bold;
- line-height: 120%;
- padding-top: 0.2em;
- padding-bottom: 0.2em;
- padding-left: 1em;
- padding-right: 1em;
- border-style: solid;
- border-left-width: 1em;
- border-top-width: thin;
- border-right-width: thin;
- border-bottom-width: thin;
- border-color: #95ABD0;
- color: #00428C;
- background-color: #E4E5E7;
-}
-*/
-
-/*
-li pre { margin-left: 0; }
-
-blockquote { font-style: italic }
-
-img { background-color: transparent }
-
-p.copyright { font-size: smaller }
-*/
-
-.center { text-align: center }
-.footnote { font-size: smaller; margin-left: 2em; }
-
-/*
-a img { border-width: 0; border-style: none }
-*/
-
-a:visited { color: navy }
-a:link { color: navy }
-a:hover { color: red; text-decoration: underline }
-a:active { color: red; text-decoration: underline }
-
-a {text-decoration: none}
-.navbar a:link {color: white}
-.navbar a:visited {color: yellow}
-.navbar a:active {color: red}
-.navbar a:hover {color: red}
-
-/*
-ul { list-style-type: square; }
-ul ul { list-style-type: disc; }
-ul ul ul { list-style-type: circle; }
-ul ul ul ul { list-style-type: disc; }
-li { margin-left: 0.5em; margin-top: 0.5em; }
-li li { font-size: 85%; font-style: italic }
-li li li { font-size: 85%; font-style: normal }
-*/
-
-div dt
-{
- margin-left: 0;
- margin-top: 1em;
- margin-bottom: 0.5em;
- font-weight: bold;
-}
-div dd
-{
- margin-left: 2em;
- margin-bottom: 0.5em;
-}
-
-
-/*
-p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table {
- margin-left: 1em;
- margin-right: 1em;
-}
-*/
-
-p.subhead { font-weight: bold; margin-top: 2em; }
-
-.smaller { font-size: smaller }
-.bigger { font-size: 130% }
-
-/*
-td,th { padding: 0.2em }
-*/
-
-ul {
- margin: 0.5em 1.5em 0.5em 1.5em;
- padding: 0;
-}
-
-ol {
- margin: 0.5em 1.5em 0.5em 1.5em;
- padding: 0;
-}
-
-ul { list-style-type: square; }
-ul ul { list-style-type: disc; }
-ul ul ul { list-style-type: circle; }
-ul ul ul ul { list-style-type: disc; }
-
-/*
-ul li {
- list-style: square;
- margin: 0.1em 0em 0.6em 0;
- padding: 0 0 0 0;
- line-height: 140%;
-}
-
-ol li {
- margin: 0.1em 0em 0.6em 1.5em;
- padding: 0 0 0 0px;
- line-height: 140%;
- list-style-type: decimal;
-}
-
-li ul li {
- font-size: 85%;
- font-style: italic;
- list-style-type: disc;
- background: transparent;
- padding: 0 0 0 0;
-}
-li li ul li {
- font-size: 85%;
- font-style: normal;
- list-style-type: circle;
- background: transparent;
- padding: 0 0 0 0;
-}
-li li li ul li {
- list-style-type: disc;
- background: transparent;
- padding: 0 0 0 0;
-}
-
-li ol li {
- list-style-type: decimal;
-}
-
-
-li li ol li {
- list-style-type: decimal;
-}
-*/
-
-/*
- setting class="outline" on ol or ul makes it behave as an
- ouline list where blocklevel content in li elements is
- hidden by default and can be expanded or collapsed with
- mouse click. Set class="expand" on li to override default
-*/
-
-ol.outline li:hover { cursor: pointer }
-ol.outline li.nofold:hover { cursor: default }
-
-ul.outline li:hover { cursor: pointer }
-ul.outline li.nofold:hover { cursor: default }
-
-ol.outline { list-style:decimal; }
-ol.outline ol { list-style-type:lower-alpha }
-
-ol.outline li.nofold {
- padding: 0 0 0 20px;
- background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em;
-}
-ol.outline li.unfolded {
- padding: 0 0 0 20px;
- background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em;
-}
-ol.outline li.folded {
- padding: 0 0 0 20px;
- background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em;
-}
-ol.outline li.unfolded:hover {
- padding: 0 0 0 20px;
- background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em;
-}
-ol.outline li.folded:hover {
- padding: 0 0 0 20px;
- background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em;
-}
-
-ul.outline li.nofold {
- padding: 0 0 0 20px;
- background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em;
-}
-ul.outline li.unfolded {
- padding: 0 0 0 20px;
- background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em;
-}
-ul.outline li.folded {
- padding: 0 0 0 20px;
- background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em;
-}
-ul.outline li.unfolded:hover {
- padding: 0 0 0 20px;
- background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em;
-}
-ul.outline li.folded:hover {
- padding: 0 0 0 20px;
- background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em;
-}
-
-/* for slides with class "title" in table of contents */
-a.titleslide { font-weight: bold; font-style: italic }
-
-/*
- hide images for work around for save as bug
- where browsers fail to save images used by CSS
-*/
-img.hidden { display: none; visibility: hidden }
-div.initial_prompt { display: none; visibility: hidden }
-
- div.slide {
- visibility: visible;
- position: inherit;
- }
- div.handout {
- border-top-style: solid;
- border-top-width: thin;
- border-top-color: black;
- }
-
-@media screen {
- .hidden { display: none; visibility: visible }
-
- div.slide.hidden { display: block; visibility: visible }
- div.handout.hidden { display: block; visibility: visible }
- div.background { display: none; visibility: hidden }
- body.single_slide div.initial_prompt { display: block; visibility: visible }
- body.single_slide div.background { display: block; visibility: visible }
- body.single_slide div.background.hidden { display: none; visibility: hidden }
- body.single_slide .invisible { visibility: hidden }
- body.single_slide .hidden { display: none; visibility: hidden }
- body.single_slide div.slide { position: absolute }
- body.single_slide div.handout { display: none; visibility: hidden }
-}
-
-@media print {
- .hidden { display: block; visibility: visible }
-
-/*
- div.slide pre { font-size: 60%; padding-left: 0.5em; }
-*/
- div.toolbar { display: none; visibility: hidden; }
- div.slidy_toc { display: none; visibility: hidden; }
- div.background { display: none; visibility: hidden; }
- div.slide { page-break-before: always }
- /* :first-child isn't reliable for print media */
- div.slide.first-slide { page-break-before: avoid }
-}
-
-
-/* SJR: AsciiDoc slidy backend tweaks */
-
-ol, ul {
- margin: 0.8em 1.5em 0.8em 1.8em;
-}
-li > ul, li > ol {
- margin-top: 0.5em;
-}
-
-.outline > li.folded,
-.outline > li.unfolded {
- color: #527bbd;
-}
-ul > li{ color: #aaa; }
-ul > li > *, ol > li > * { color: black; }
-
-li {
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/stylesheets/volnitsky-manpage.css b/code/maint/asciidoc/asciidoc-8.6.3/stylesheets/volnitsky-manpage.css
deleted file mode 100644
index e69de29..0000000
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/stylesheets/volnitsky-quirks.css b/code/maint/asciidoc/asciidoc-8.6.3/stylesheets/volnitsky-quirks.css
deleted file mode 120000
index df914bb..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/stylesheets/volnitsky-quirks.css
+++ /dev/null
@@ -1 +0,0 @@
-xhtml11-quirks.css
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/stylesheets/volnitsky.css b/code/maint/asciidoc/asciidoc-8.6.3/stylesheets/volnitsky.css
deleted file mode 100644
index 73e5c6c..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/stylesheets/volnitsky.css
+++ /dev/null
@@ -1,381 +0,0 @@
-
-/*
- * AsciiDoc theme based on css from http://volnitsky.com,
- * which was in turn based on default theme from AsciiDoc
- */
-
-a {
- color: blue;
- text-decoration: underline;
-}
-a:visited {
- color: fuchsia;
-}
-
-em {
- font-style: italic;
- color: #444466;
-}
-
-strong {
- font-weight: bold;
- color: #444466;
-}
-
-h1, h2, h3, h4, h5, h6 {
- color: #666688;
- font-family: sans-serif;
- /*margin-top: 1.2em;*/
- margin-bottom: 0.5em;
- line-height: 1.3;
-}
-
-h1, h2, h3 { border-bottom: 2px solid #666688; }
-h2 { padding-top: 0.5em; }
-h3 { float: left; }
-h3 + * { clear: left; }
-
-div.sectionbody {
- /*font-family: serif;*/
- margin-left: 0;
-}
-
-hr {
- border: 1px solid #444466;
-}
-
-p {
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-
-ul, ol, li > p {
- margin-top: 0;
-}
-
-pre {
- padding: 0;
- margin: 0;
-}
-
-span#author {
- color: #444466;
- font-family: sans-serif;
- font-weight: bold;
- font-size: 1.1em;
-}
-span#email {}
-span#revnumber, span#revdate, span#revremark { font-family: sans-serif; }
-
-div#footer {
- font-family: sans-serif;
- font-size: small;
- border-top: 2px solid silver;
- padding-top: 0.5em;
- margin-top: 4.0em;
-}
-
-div#footer-text {
- float: left;
- padding-bottom: 0.5em;
-}
-
-div#footer-badges {
- float: right;
- padding-bottom: 0.5em;
-}
-
-div#preamble {
- margin-top: 1.5em;
- margin-bottom: 1.5em;
-}
-
-div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
-div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
-div.admonitionblock {
- margin-top: 1.5em;
- margin-bottom: 1.5em;
-}
-
-div.admonitionblock {
- margin-top: 2.5em;
- margin-bottom: 2.5em;
-}
-
-div.content { /* Block element content. */
- padding: 0;
-}
-
-/* Block element titles. */
-div.title, caption.title {
- color: #444466;
- font-family: sans-serif;
- font-weight: bold;
- text-align: left;
- margin-top: 1.0em;
- margin-bottom: 0.5em;
-}
-div.title + * {
- margin-top: 0;
-}
-
-td div.title:first-child {
- margin-top: 0.0em;
-}
-div.content div.title:first-child {
- margin-top: 0.0em;
-}
-div.content + div.title {
- margin-top: 0.0em;
-}
-
-div.sidebarblock > div.content {
- background: #ffffee;
- border: 1px solid silver;
- padding: 0.5em;
-}
-
-div.listingblock > div.content {
- border: 1px solid silver;
- background: #f4f4f4;
- padding: 0.5em;
-}
-
-div.quoteblock {
- padding-left: 2.0em;
- margin-right: 10%;
-}
-div.quoteblock > div.attribution {
- padding-top: 0.5em;
- text-align: right;
-}
-
-div.verseblock {
- padding-left: 2.0em;
- margin-right: 10%;
-}
-div.verseblock > pre.content {
- font-family: inherit;
-}
-div.verseblock > div.attribution {
- padding-top: 0.75em;
- text-align: left;
-}
-/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
-div.verseblock + div.attribution {
- text-align: left;
-}
-
-div.admonitionblock .icon {
- vertical-align: top;
- font-size: 1.1em;
- font-weight: bold;
- text-decoration: underline;
- color: #444466;
- padding-right: 0.5em;
-}
-div.admonitionblock td.content {
- padding-left: 0.5em;
- border-left: 2px solid silver;
-}
-
-div.exampleblock > div.content {
- border-left: 2px solid silver;
- padding: 0.5em;
-}
-
-div.imageblock div.content { padding-left: 0; }
-span.image img { border-style: none; }
-a.image:visited { color: white; }
-
-dl {
- margin-top: 0.8em;
- margin-bottom: 0.8em;
-}
-dt {
- margin-top: 0.5em;
- margin-bottom: 0;
- font-style: normal;
- color: #444466;
-}
-dd > *:first-child {
- margin-top: 0.1em;
-}
-
-ul, ol {
- list-style-position: outside;
-}
-ol.arabic {
- list-style-type: decimal;
-}
-ol.loweralpha {
- list-style-type: lower-alpha;
-}
-ol.upperalpha {
- list-style-type: upper-alpha;
-}
-ol.lowerroman {
- list-style-type: lower-roman;
-}
-ol.upperroman {
- list-style-type: upper-roman;
-}
-
-div.compact ul, div.compact ol,
-div.compact p, div.compact p,
-div.compact div, div.compact div {
- margin-top: 0.1em;
- margin-bottom: 0.1em;
-}
-
-div.tableblock > table {
- border: 3px solid #444466;
-}
-thead {
- font-family: sans-serif;
- font-weight: bold;
- color: #444466;
-}
-tfoot {
- font-weight: bold;
-}
-td > div.verse {
- white-space: pre;
-}
-p.table {
- margin-top: 0;
-}
-/* Because the table frame attribute is overriden by CSS in most browsers. */
-div.tableblock > table[frame="void"] {
- border-style: none;
-}
-div.tableblock > table[frame="hsides"] {
- border-left-style: none;
- border-right-style: none;
-}
-div.tableblock > table[frame="vsides"] {
- border-top-style: none;
- border-bottom-style: none;
-}
-
-
-div.hdlist {
- margin-top: 0.8em;
- margin-bottom: 0.8em;
-}
-div.hdlist tr {
- padding-bottom: 15px;
-}
-dt.hdlist1.strong, td.hdlist1.strong {
- font-weight: bold;
-}
-td.hdlist1 {
- vertical-align: top;
- font-style: normal;
- padding-right: 0.8em;
- color: #444466;
-}
-td.hdlist2 {
- vertical-align: top;
-}
-div.hdlist.compact tr {
- margin: 0;
- padding-bottom: 0;
-}
-
-.comment {
- background: yellow;
-}
-
-@media print {
- div#footer-badges { display: none; }
-}
-
-div#toctitle {
- color: #6644bb;
- font-family: sans-serif;
- font-size: 1.1em;
- font-weight: bold;
- margin-top: 1.0em;
- margin-bottom: 0.1em;
-}
-
-div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
- margin-top: 0;
- margin-bottom: 0;
-}
-div.toclevel2 {
- margin-left: 2em;
- font-size: 0.9em;
-}
-div.toclevel3 {
- margin-left: 4em;
- font-size: 0.9em;
-}
-div.toclevel4 {
- margin-left: 6em;
- font-size: 0.9em;
-}
-body {
- font-family: "Cambria", "URW Bookman L", "Georgia", "Arial", sans-serif;
- max-width: 55em;
- padding-left: 5%;
-
-}
-
-tt, div.listingblock > div.content {
- font-family: "Consolas", "Andale Mono", "Courier New", monospace;
- color: #004400;
- background: #f4f4f4;
- max-width: 80em;
- line-height: 1.2em;
-}
-
-.paragraph p {
- line-height: 1.5em;
- margin-top: 1em;
-}
-
-.paragraph p, li, dd, .content { max-width: 45em; }
-.admonitionblock { max-width: 35em; }
-
-div.sectionbody div.ulist > ul > li {
- list-style-type: square;
- /*font-size: 200%; */
- color: #aaa;
-}
- div.sectionbody div.ulist > ul > li > * {
- color: black;
- /*font-size: 50%;*/
- }
-
-
-div.sectionbody div.ulist > ul > li div.ulist > ul > li {
- color: #ccd ;
- /*list-style-type: circle ;*/
-}
- div.sectionbody div.ulist > ul > li div.ulist > ul > li > * {
- color: black ;
- }
-
-h1, h2, h3, h4, h5, h6 {
- font-family: "Candara", "Arial", sans-serif;
- letter-spacing:+0.15em;
-}
-
-h1, h2, h3 { border-bottom: 2px solid #ccd; }
-
-em {
- font-style: normal ! important;
- font-weight: bold ! important;
- color: #662222 ! important;
- letter-spacing:+0.08em ! important;
-}
-
-a {
- text-decoration: none !important;
-}
-
-a:hover, a:focus {
- text-decoration: underline !important;
-}
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/stylesheets/xhtml11-manpage.css b/code/maint/asciidoc/asciidoc-8.6.3/stylesheets/xhtml11-manpage.css
deleted file mode 100644
index 3ea378a..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/stylesheets/xhtml11-manpage.css
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Overrides for manpage documents */
-h1 {
- padding-top: 0.5em;
- padding-bottom: 0.5em;
- border-top: 2px solid silver;
- border-bottom: 2px solid silver;
-}
-h2 {
- border-style: none;
-}
-div.sectionbody {
- margin-left: 5%;
-}
-
-@media print {
- div#toc { display: none; }
-}
-
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/stylesheets/xhtml11-quirks.css b/code/maint/asciidoc/asciidoc-8.6.3/stylesheets/xhtml11-quirks.css
deleted file mode 100644
index b3b46d2..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/stylesheets/xhtml11-quirks.css
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Workarounds for IE6's broken and incomplete CSS2. */
-
-div.sidebar-content {
- background: #ffffee;
- border: 1px solid silver;
- padding: 0.5em;
-}
-div.sidebar-title, div.image-title {
- color: #527bbd;
- font-family: sans-serif;
- font-weight: bold;
- margin-top: 0.0em;
- margin-bottom: 0.5em;
-}
-
-div.listingblock div.content {
- border: 1px solid silver;
- background: #f4f4f4;
- padding: 0.5em;
-}
-
-div.quoteblock-attribution {
- padding-top: 0.5em;
- text-align: right;
-}
-
-pre.verseblock-content {
- font-family: inherit;
-}
-div.verseblock-attribution {
- padding-top: 0.75em;
- text-align: left;
-}
-
-div.exampleblock-content {
- border-left: 3px solid #dddddd;
- padding-left: 0.5em;
-}
-
-div.imageblock.latex div.image-title { margin-top: 0.5em; }
-
-/* IE6 sets dynamically generated links as visited. */
-div#toc a:visited { color: blue; }
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/stylesheets/xhtml11.css b/code/maint/asciidoc/asciidoc-8.6.3/stylesheets/xhtml11.css
deleted file mode 100644
index 9b732d8..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/stylesheets/xhtml11.css
+++ /dev/null
@@ -1,388 +0,0 @@
-/* Sans-serif font. */
-h1, h2, h3, h4, h5, h6,
-div.title, caption.title,
-thead, p.table.header,
-div#toctitle,
-span#author, span#revnumber, span#revdate, span#revremark,
-div#footer {
- font-family: Arial,Helvetica,sans-serif;
-}
-
-/* Serif font. */
-div.sectionbody {
- font-family: Georgia,"Times New Roman",Times,serif;
-}
-
-/* Monospace font. */
-tt {
- font-size: inherit;
-}
-
-body {
- margin: 1em 5% 1em 5%;
-}
-
-a {
- color: blue;
- text-decoration: underline;
-}
-a:visited {
- color: fuchsia;
-}
-
-em {
- font-style: italic;
- color: navy;
-}
-
-strong {
- font-weight: bold;
- color: #083194;
-}
-
-tt {
- font-size: inherit;
- color: navy;
-}
-
-h1, h2, h3, h4, h5, h6 {
- color: #527bbd;
- margin-top: 1.2em;
- margin-bottom: 0.5em;
- line-height: 1.3;
-}
-
-h1, h2, h3 {
- border-bottom: 2px solid silver;
-}
-h2 {
- padding-top: 0.5em;
-}
-h3 {
- float: left;
-}
-h3 + * {
- clear: left;
-}
-
-div.sectionbody {
- margin-left: 0;
-}
-
-hr {
- border: 1px solid silver;
-}
-
-p {
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-
-ul, ol, li > p {
- margin-top: 0;
-}
-ul > li { color: #aaa; }
-ul > li > * { color: black; }
-
-pre {
- padding: 0;
- margin: 0;
-}
-
-span#author {
- color: #527bbd;
- font-weight: bold;
- font-size: 1.1em;
-}
-span#email {
-}
-span#revnumber, span#revdate, span#revremark {
-}
-
-div#footer {
- font-size: small;
- border-top: 2px solid silver;
- padding-top: 0.5em;
- margin-top: 4.0em;
-}
-div#footer-text {
- float: left;
- padding-bottom: 0.5em;
-}
-div#footer-badges {
- float: right;
- padding-bottom: 0.5em;
-}
-
-div#preamble {
- margin-top: 1.5em;
- margin-bottom: 1.5em;
-}
-div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
-div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
-div.admonitionblock {
- margin-top: 1.0em;
- margin-bottom: 1.5em;
-}
-div.admonitionblock {
- margin-top: 2.0em;
- margin-bottom: 2.0em;
- margin-right: 10%;
- color: #606060;
-}
-
-div.content { /* Block element content. */
- padding: 0;
-}
-
-/* Block element titles. */
-div.title, caption.title {
- color: #527bbd;
- font-weight: bold;
- text-align: left;
- margin-top: 1.0em;
- margin-bottom: 0.5em;
-}
-div.title + * {
- margin-top: 0;
-}
-
-td div.title:first-child {
- margin-top: 0.0em;
-}
-div.content div.title:first-child {
- margin-top: 0.0em;
-}
-div.content + div.title {
- margin-top: 0.0em;
-}
-
-div.sidebarblock > div.content {
- background: #ffffee;
- border: 1px solid #dddddd;
- border-left: 4px solid #f0f0f0;
- padding: 0.5em;
-}
-
-div.listingblock > div.content {
- border: 1px solid #dddddd;
- border-left: 5px solid #f0f0f0;
- background: #f8f8f8;
- padding: 0.5em;
-}
-
-div.quoteblock, div.verseblock {
- padding-left: 1.0em;
- margin-left: 1.0em;
- margin-right: 10%;
- border-left: 5px solid #f0f0f0;
- color: #777777;
-}
-
-div.quoteblock > div.attribution {
- padding-top: 0.5em;
- text-align: right;
-}
-
-div.verseblock > pre.content {
- font-family: inherit;
- font-size: inherit;
-}
-div.verseblock > div.attribution {
- padding-top: 0.75em;
- text-align: left;
-}
-/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
-div.verseblock + div.attribution {
- text-align: left;
-}
-
-div.admonitionblock .icon {
- vertical-align: top;
- font-size: 1.1em;
- font-weight: bold;
- text-decoration: underline;
- color: #527bbd;
- padding-right: 0.5em;
-}
-div.admonitionblock td.content {
- padding-left: 0.5em;
- border-left: 3px solid #dddddd;
-}
-
-div.exampleblock > div.content {
- border-left: 3px solid #dddddd;
- padding-left: 0.5em;
-}
-
-div.imageblock div.content { padding-left: 0; }
-span.image img { border-style: none; }
-a.image:visited { color: white; }
-
-dl {
- margin-top: 0.8em;
- margin-bottom: 0.8em;
-}
-dt {
- margin-top: 0.5em;
- margin-bottom: 0;
- font-style: normal;
- color: navy;
-}
-dd > *:first-child {
- margin-top: 0.1em;
-}
-
-ul, ol {
- list-style-position: outside;
-}
-ol.arabic {
- list-style-type: decimal;
-}
-ol.loweralpha {
- list-style-type: lower-alpha;
-}
-ol.upperalpha {
- list-style-type: upper-alpha;
-}
-ol.lowerroman {
- list-style-type: lower-roman;
-}
-ol.upperroman {
- list-style-type: upper-roman;
-}
-
-div.compact ul, div.compact ol,
-div.compact p, div.compact p,
-div.compact div, div.compact div {
- margin-top: 0.1em;
- margin-bottom: 0.1em;
-}
-
-div.tableblock > table {
- border: 3px solid #527bbd;
-}
-thead, p.table.header {
- font-weight: bold;
- color: #527bbd;
-}
-tfoot {
- font-weight: bold;
-}
-td > div.verse {
- white-space: pre;
-}
-p.table {
- margin-top: 0;
-}
-/* Because the table frame attribute is overriden by CSS in most browsers. */
-div.tableblock > table[frame="void"] {
- border-style: none;
-}
-div.tableblock > table[frame="hsides"] {
- border-left-style: none;
- border-right-style: none;
-}
-div.tableblock > table[frame="vsides"] {
- border-top-style: none;
- border-bottom-style: none;
-}
-
-
-div.hdlist {
- margin-top: 0.8em;
- margin-bottom: 0.8em;
-}
-div.hdlist tr {
- padding-bottom: 15px;
-}
-dt.hdlist1.strong, td.hdlist1.strong {
- font-weight: bold;
-}
-td.hdlist1 {
- vertical-align: top;
- font-style: normal;
- padding-right: 0.8em;
- color: navy;
-}
-td.hdlist2 {
- vertical-align: top;
-}
-div.hdlist.compact tr {
- margin: 0;
- padding-bottom: 0;
-}
-
-.comment {
- background: yellow;
-}
-
-.footnote, .footnoteref {
- font-size: 0.8em;
-}
-
-span.footnote, span.footnoteref {
- vertical-align: super;
-}
-
-#footnotes {
- margin: 20px 0 20px 0;
- padding: 7px 0 0 0;
-}
-
-#footnotes div.footnote {
- margin: 0 0 5px 0;
-}
-
-#footnotes hr {
- border: none;
- border-top: 1px solid silver;
- height: 1px;
- text-align: left;
- margin-left: 0;
- width: 20%;
- min-width: 100px;
-}
-
-div.colist td {
- padding-right: 0.5em;
- padding-bottom: 0.3em;
- vertical-align: top;
-}
-div.colist td img {
- margin-top: 0.3em;
-}
-
-@media print {
- div#footer-badges { display: none; }
-}
-
-div#toc {
- margin-bottom: 2.5em;
-}
-
-div#toctitle {
- color: #527bbd;
- font-size: 1.1em;
- font-weight: bold;
- margin-top: 1.0em;
- margin-bottom: 0.1em;
-}
-
-div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
- margin-top: 0;
- margin-bottom: 0;
-}
-div.toclevel2 {
- margin-left: 2em;
- font-size: 0.9em;
-}
-div.toclevel3 {
- margin-left: 4em;
- font-size: 0.9em;
-}
-div.toclevel4 {
- margin-left: 6em;
- font-size: 0.9em;
-}
-
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/tests/asciidocapi.py b/code/maint/asciidoc/asciidoc-8.6.3/tests/asciidocapi.py
deleted file mode 120000
index bc75b88..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/tests/asciidocapi.py
+++ /dev/null
@@ -1 +0,0 @@
-../asciidocapi.py
\ No newline at end of file
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/deprecated-quotes.txt b/code/maint/asciidoc/asciidoc-8.6.3/tests/data/deprecated-quotes.txt
deleted file mode 100644
index 2f44edf..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/deprecated-quotes.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-// Deprecated quote attributes.
-[role="foo"]##fun with text##.
-["green","yellow",2,role="foo"]##fun with text##.
-[green,yellow,2]##fun with text##.
-More [red,black,4]*fun with text*.
-Yet more [red,,1.5]**fun with text**.
-Yet more [red,,1.5]+fun with text+.
-Yet more [red,,1.5]'fun with text'.
-
-Yet more [red,,1.5]_fun with text_.
-
-Yet more [orange]'fun with text'.
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/filters-test.txt b/code/maint/asciidoc/asciidoc-8.6.3/tests/data/filters-test.txt
deleted file mode 100644
index a8b051e..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/filters-test.txt
+++ /dev/null
@@ -1,90 +0,0 @@
-Filter Tests
-============
-
-
-== Toy filter example from User Guide
-
-[code,python]
-----------------------------------------------
-''' A multi-line
- comment.'''
-def sub_word(mo):
- ''' Single line comment.'''
- word = mo.group('word') # Inline comment
- if word in keywords[language]:
- return quote + word + quote
- else:
- return word
-----------------------------------------------
-
-
-== Pychart Chart generations from FAQ
-
-// Generate chart image file.
-sys2::[python "{indir}/barchart.py" --format=png --output="{outdir={indir}}/{imagesdir=}{imagesdir?/}barchart.png" --scale=2]
-
-// Display chart image file.
-image::barchart.png[]
-
-
-== Graphviz Graphs
-
-.Simple graph
-["graphviz", "graphviz1.png", alt="Graphviz->AsciiDoc->HTML"]
----------------------------------------------------------------------
-digraph G { rankdir=LR; Graphviz->AsciiDoc->HTML}
----------------------------------------------------------------------
-
-.Not so simple graph
-["graphviz", "graphviz2.png"]
----------------------------------------------------------------------
-digraph automata_0 {
- size ="8.5, 11";
- node [shape = circle];
- 0 [ style = filled, color=lightgrey ];
- 2 [ shape = doublecircle ];
- 0 -> 2 [ label = "a " ];
- 0 -> 1 [ label = "other " ];
- 1 -> 2 [ label = "a " ];
- 1 -> 1 [ label = "other " ];
- 2 -> 2 [ label = "a " ];
- 2 -> 1 [ label = "other " ];
- "Machine: a" [ shape = plaintext ];
-}
----------------------------------------------------------------------
-
-
-== Music filter
-
-.A tune generated from ABC notation
-[music,music1.png]
----------------------------------------------------------------------
-T:The Butterfly
-R:slip jig
-C:Tommy Potts
-H:Fiddle player Tommy Potts made this tune from two older slip jigs,
-H:one of which is called "Skin the Peelers" in Roche's collection.
-D:Bothy Band: 1975.
-M:9/8
-K:Em
-vB2(E G2)(E F3)|B2(E G2)(E F)ED|vB2(E G2)(E F3)|(B2d) d2(uB A)FD:|
-|:(vB2c) (e2f) g3|(uB2d) (g2e) (dBA)|(B2c) (e2f) g2(ua|b2a) (g2e) (dBA):|
-|:~B3 (B2A) G2A|~B3 BA(uB d)BA|~B3 (B2A) G2(A|B2d) (g2e) (dBA):|
----------------------------------------------------------------------
-
-<<X1,Link to following fragment>>.
-
-[[X1]]
-.A fragment generated from LilyPond source
-["music", "music2.png", "ly", link="music2.ly"]
----------------------------------------------------------------------
-\version "2.10.0"
-\paper {
- ragged-right = ##t
-}
-{
- \time 3/4
- \clef bass
- c2 e4 g2. f4 e d c2 r4
-}
----------------------------------------------------------------------
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-de-test.txt b/code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-de-test.txt
deleted file mode 100644
index ebddb62..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-de-test.txt
+++ /dev/null
@@ -1,106 +0,0 @@
-// Test for lang-de.conf language file.
-:lang: de
-
-Languages Test
-==============
-:revnumber: v1.0
-:revdate: 2003-12-21
-
-ifdef::doctype-article[]
-Zusammenfassung
----------------
-Abstract special section.
-
-endif::doctype-article[]
-
-
-ifdef::doctype-book[]
-Widmung
--------
-Dedication special section.
-
-
-Vorwort
--------
-Preface special section.
-
-
-Kolophon
---------
-Colophon special section.
-
-endif::doctype-book[]
-
-
-The First Section
------------------
-Admonishments
-~~~~~~~~~~~~~
-Do not translate in the source file -- they are translated to the
-output file
-
-NOTE: Lorum ipsum.
-
-TIP: Lorum ipsum.
-
-WARNING: Lorum ipsum.
-
-CAUTION: Lorum ipsum.
-
-IMPORTANT: Lorum ipsum.
-
-.Tiger
-image::../../images/tiger.png[Tiger image]
-
-Followed by an example table:
-
-.Table
-[width="60%",options="header"]
-|==============================================
-| Option | Description
-| -a 'USER GROUP' | Add 'USER' to 'GROUP'.
-| -R 'GROUP' | Disables access to 'GROUP'.
-|==============================================
-
-And now for something completely different: ((monkeys)), lions and
-tigers.
-
-
-Anhang A: Example Appendix
---------------------------
-Appendix special section.
-
-
-Literaturverzeichnis
---------------------
-Bibliography special section.
-
-[bibliography]
-- [[[taoup]]] Eric Steven Raymond. 'The Art of Unix
- Programming'. Addison-Wesley. ISBN 0-13-142901-9.
-- [[[walsh-muellner]]] Norman Walsh & Leonard Muellner.
- 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999.
- ISBN 1-56592-580-7.
-
-
-Glossar
--------
-Glossary special section.
-
-[glossary]
-A glossary term::
- The corresponding (indented) definition.
-
-A second glossary term::
- The corresponding (indented) definition.
-
-
-ifdef::basebackend-docbook[]
-Stichwortverzeichnis
---------------------
-////////////////////////////////////////////////////////////////
-Index special section.
-The index is normally left completely empty, it's contents being
-generated automatically by the DocBook toolchain.
-////////////////////////////////////////////////////////////////
-endif::basebackend-docbook[]
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-en-test.txt b/code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-en-test.txt
deleted file mode 100644
index a312458..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-en-test.txt
+++ /dev/null
@@ -1,114 +0,0 @@
-// Test for lang-en.conf language file.
-:lang: en
-
-Languages Test
-==============
-:revnumber: v1.0
-:revdate: 2003-12-21
-
-ifdef::doctype-article[]
-// Translate title.
-Abstract
---------
-Abstract special section.
-
-endif::doctype-article[]
-
-
-ifdef::doctype-book[]
-// Translate title.
-Dedication
-----------
-Dedication special section.
-
-
-// Translate title.
-Preface
--------
-Preface special section.
-
-
-// Translate title.
-Colophon
---------
-Colophon special section.
-
-endif::doctype-book[]
-
-
-The First Section
------------------
-Admonishments
-~~~~~~~~~~~~~
-Do not translate in the source file -- they are translated to the
-output file
-
-NOTE: Lorum ipsum.
-
-TIP: Lorum ipsum.
-
-WARNING: Lorum ipsum.
-
-CAUTION: Lorum ipsum.
-
-IMPORTANT: Lorum ipsum.
-
-.Tiger
-image::../../images/tiger.png[Tiger image]
-
-Followed by an example table:
-
-.Table
-[width="60%",options="header"]
-|==============================================
-| Option | Description
-| -a 'USER GROUP' | Add 'USER' to 'GROUP'.
-| -R 'GROUP' | Disables access to 'GROUP'.
-|==============================================
-
-And now for something completely different: ((monkeys)), lions and
-tigers.
-
-
-// Translate title.
-Appendix A: Example Appendix
-----------------------------
-Appendix special section.
-
-
-// Translate title.
-Bibliography
-------------
-Bibliography special section.
-
-[bibliography]
-- [[[taoup]]] Eric Steven Raymond. 'The Art of Unix
- Programming'. Addison-Wesley. ISBN 0-13-142901-9.
-- [[[walsh-muellner]]] Norman Walsh & Leonard Muellner.
- 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999.
- ISBN 1-56592-580-7.
-
-
-// Translate title.
-Glossary
---------
-Glossary special section.
-
-[glossary]
-A glossary term::
- The corresponding (indented) definition.
-
-A second glossary term::
- The corresponding (indented) definition.
-
-
-ifdef::basebackend-docbook[]
-// Translate title.
-Index
------
-////////////////////////////////////////////////////////////////
-Index special section.
-The index is normally left completely empty, it's contents being
-generated automatically by the DocBook toolchain.
-////////////////////////////////////////////////////////////////
-endif::basebackend-docbook[]
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-es-test.txt b/code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-es-test.txt
deleted file mode 100644
index 97eca94..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-es-test.txt
+++ /dev/null
@@ -1,106 +0,0 @@
-// Test for lang-es.conf language file.
-:lang: es
-
-Languages Test
-==============
-:revnumber: v1.0
-:revdate: 2003-12-21
-
-ifdef::doctype-article[]
-Resumen
--------
-Abstract special section.
-
-endif::doctype-article[]
-
-
-ifdef::doctype-book[]
-Dedicación
-----------
-Dedication special section.
-
-
-Prefacio
---------
-Preface special section.
-
-
-Colofón
--------
-Colophon special section.
-
-endif::doctype-book[]
-
-
-The First Section
------------------
-Admonishments
-~~~~~~~~~~~~~
-Do not translate in the source file -- they are translated to the
-output file
-
-NOTE: Lorum ipsum.
-
-TIP: Lorum ipsum.
-
-WARNING: Lorum ipsum.
-
-CAUTION: Lorum ipsum.
-
-IMPORTANT: Lorum ipsum.
-
-.Tiger
-image::../../images/tiger.png[Tiger image]
-
-Followed by an example table:
-
-.Table
-[width="60%",options="header"]
-|==============================================
-| Option | Description
-| -a 'USER GROUP' | Add 'USER' to 'GROUP'.
-| -R 'GROUP' | Disables access to 'GROUP'.
-|==============================================
-
-And now for something completely different: ((monkeys)), lions and
-tigers.
-
-
-Apéndice A: Example Appendix
-----------------------------
-Appendix special section.
-
-
-Bibliografía
-------------
-Bibliography special section.
-
-[bibliography]
-- [[[taoup]]] Eric Steven Raymond. 'The Art of Unix
- Programming'. Addison-Wesley. ISBN 0-13-142901-9.
-- [[[walsh-muellner]]] Norman Walsh & Leonard Muellner.
- 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999.
- ISBN 1-56592-580-7.
-
-
-Glosario
---------
-Glossary special section.
-
-[glossary]
-A glossary term::
- The corresponding (indented) definition.
-
-A second glossary term::
- The corresponding (indented) definition.
-
-
-ifdef::basebackend-docbook[]
-Índice
-------
-////////////////////////////////////////////////////////////////
-Index special section.
-The index is normally left completely empty, it's contents being
-generated automatically by the DocBook toolchain.
-////////////////////////////////////////////////////////////////
-endif::basebackend-docbook[]
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-fr-test.txt b/code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-fr-test.txt
deleted file mode 100644
index 84c25fa..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-fr-test.txt
+++ /dev/null
@@ -1,106 +0,0 @@
-// Test for lang-fr.conf language file.
-:lang: fr
-
-Languages Test
-==============
-:revnumber: v1.0
-:revdate: 2003-12-21
-
-ifdef::doctype-article[]
-Résumé
-------
-Abstract special section.
-
-endif::doctype-article[]
-
-
-ifdef::doctype-book[]
-Dédicace
---------
-Dedication special section.
-
-
-Préface
--------
-Preface special section.
-
-
-Colophon
---------
-Colophon special section.
-
-endif::doctype-book[]
-
-
-The First Section
------------------
-Admonishments
-~~~~~~~~~~~~~
-Do not translate in the source file -- they are translated to the
-output file
-
-NOTE: Lorum ipsum.
-
-TIP: Lorum ipsum.
-
-WARNING: Lorum ipsum.
-
-CAUTION: Lorum ipsum.
-
-IMPORTANT: Lorum ipsum.
-
-.Tiger
-image::../../images/tiger.png[Tiger image]
-
-Followed by an example table:
-
-.Table
-[width="60%",options="header"]
-|==============================================
-| Option | Description
-| -a 'USER GROUP' | Add 'USER' to 'GROUP'.
-| -R 'GROUP' | Disables access to 'GROUP'.
-|==============================================
-
-And now for something completely different: ((monkeys)), lions and
-tigers.
-
-
-Appendice A: Example Appendix
------------------------------
-Appendix special section.
-
-
-Bibliographie
--------------
-Bibliography special section.
-
-[bibliography]
-- [[[taoup]]] Eric Steven Raymond. 'The Art of Unix
- Programming'. Addison-Wesley. ISBN 0-13-142901-9.
-- [[[walsh-muellner]]] Norman Walsh & Leonard Muellner.
- 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999.
- ISBN 1-56592-580-7.
-
-
-Glossaire
----------
-Glossary special section.
-
-[glossary]
-A glossary term::
- The corresponding (indented) definition.
-
-A second glossary term::
- The corresponding (indented) definition.
-
-
-ifdef::basebackend-docbook[]
-Index
------
-////////////////////////////////////////////////////////////////
-Index special section.
-The index is normally left completely empty, it's contents being
-generated automatically by the DocBook toolchain.
-////////////////////////////////////////////////////////////////
-endif::basebackend-docbook[]
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-hu-test.txt b/code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-hu-test.txt
deleted file mode 100644
index cf873c2..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-hu-test.txt
+++ /dev/null
@@ -1,106 +0,0 @@
-// Test for lang-hu.conf language file.
-:lang: hu
-
-Languages Test
-==============
-:revnumber: v1.0
-:revdate: 2003-12-21
-
-ifdef::doctype-article[]
-Kivonat
--------
-Abstract special section.
-
-endif::doctype-article[]
-
-
-ifdef::doctype-book[]
-Ajánlás
---------
-Dedication special section.
-
-
-Előszó
-------
-Preface special section.
-
-
-Utószó
-------
-Colophon special section.
-
-endif::doctype-book[]
-
-
-The First Section
------------------
-Admonishments
-~~~~~~~~~~~~~
-Do not translate in the source file -- they are translated to the
-output file
-
-NOTE: Lorum ipsum.
-
-TIP: Lorum ipsum.
-
-WARNING: Lorum ipsum.
-
-CAUTION: Lorum ipsum.
-
-IMPORTANT: Lorum ipsum.
-
-.Tiger
-image::../../images/tiger.png[Tiger image]
-
-Followed by an example table:
-
-.Table
-[width="60%",options="header"]
-|==============================================
-| Option | Description
-| -a 'USER GROUP' | Add 'USER' to 'GROUP'.
-| -R 'GROUP' | Disables access to 'GROUP'.
-|==============================================
-
-And now for something completely different: ((monkeys)), lions and
-tigers.
-
-
-A függelék: Example Appendix
-----------------------------
-Appendix special section.
-
-
-Bibliográfia
-------------
-Bibliography special section.
-
-[bibliography]
-- [[[taoup]]] Eric Steven Raymond. 'The Art of Unix
- Programming'. Addison-Wesley. ISBN 0-13-142901-9.
-- [[[walsh-muellner]]] Norman Walsh & Leonard Muellner.
- 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999.
- ISBN 1-56592-580-7.
-
-
-Szójegyzék
-----------
-Glossary special section.
-
-[glossary]
-A glossary term::
- The corresponding (indented) definition.
-
-A second glossary term::
- The corresponding (indented) definition.
-
-
-ifdef::basebackend-docbook[]
-Index
------
-////////////////////////////////////////////////////////////////
-Index special section.
-The index is normally left completely empty, it's contents being
-generated automatically by the DocBook toolchain.
-////////////////////////////////////////////////////////////////
-endif::basebackend-docbook[]
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-pt-BR-test.txt b/code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-pt-BR-test.txt
deleted file mode 100644
index daaff18..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-pt-BR-test.txt
+++ /dev/null
@@ -1,106 +0,0 @@
-// Test for lang-pt-BR.conf language file.
-:lang: pt-BR
-
-Languages Test
-==============
-:revnumber: v1.0
-:revdate: 2003-12-21
-
-ifdef::doctype-article[]
-Resumo
-------
-Abstract special section.
-
-endif::doctype-article[]
-
-
-ifdef::doctype-book[]
-Dedicação
----------
-Dedication special section.
-
-
-Prefácio
---------
-Preface special section.
-
-
-Cólofon
--------
-Colophon special section.
-
-endif::doctype-book[]
-
-
-The First Section
------------------
-Admonishments
-~~~~~~~~~~~~~
-Do not translate in the source file -- they are translated to the
-output file
-
-NOTE: Lorum ipsum.
-
-TIP: Lorum ipsum.
-
-WARNING: Lorum ipsum.
-
-CAUTION: Lorum ipsum.
-
-IMPORTANT: Lorum ipsum.
-
-.Tiger
-image::../../images/tiger.png[Tiger image]
-
-Followed by an example table:
-
-.Table
-[width="60%",options="header"]
-|==============================================
-| Option | Description
-| -a 'USER GROUP' | Add 'USER' to 'GROUP'.
-| -R 'GROUP' | Disables access to 'GROUP'.
-|==============================================
-
-And now for something completely different: ((monkeys)), lions and
-tigers.
-
-
-Appêndice A: Example Appendix
------------------------------
-Appendix special section.
-
-
-Bibliografia
-------------
-Bibliography special section.
-
-[bibliography]
-- [[[taoup]]] Eric Steven Raymond. 'The Art of Unix
- Programming'. Addison-Wesley. ISBN 0-13-142901-9.
-- [[[walsh-muellner]]] Norman Walsh & Leonard Muellner.
- 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999.
- ISBN 1-56592-580-7.
-
-
-Glossário
----------
-Glossary special section.
-
-[glossary]
-A glossary term::
- The corresponding (indented) definition.
-
-A second glossary term::
- The corresponding (indented) definition.
-
-
-ifdef::basebackend-docbook[]
-Índice
-------
-////////////////////////////////////////////////////////////////
-Index special section.
-The index is normally left completely empty, it's contents being
-generated automatically by the DocBook toolchain.
-////////////////////////////////////////////////////////////////
-endif::basebackend-docbook[]
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-ru-test.txt b/code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-ru-test.txt
deleted file mode 100644
index 51d9b60..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/lang-ru-test.txt
+++ /dev/null
@@ -1,106 +0,0 @@
-// Test for lang-ru.conf language file.
-:lang: ru
-
-Languages Test
-==============
-:revnumber: v1.0
-:revdate: 2003-12-21
-
-ifdef::doctype-article[]
-Аннотация
----------
-Abstract special section.
-
-endif::doctype-article[]
-
-
-ifdef::doctype-book[]
-Посвящение
-----------
-Dedication special section.
-
-
-Введение
---------
-Preface special section.
-
-
-Колофон
--------
-Colophon special section.
-
-endif::doctype-book[]
-
-
-The First Section
------------------
-Admonishments
-~~~~~~~~~~~~~
-Do not translate in the source file -- they are translated to the
-output file
-
-NOTE: Lorum ipsum.
-
-TIP: Lorum ipsum.
-
-WARNING: Lorum ipsum.
-
-CAUTION: Lorum ipsum.
-
-IMPORTANT: Lorum ipsum.
-
-.Tiger
-image::../../images/tiger.png[Tiger image]
-
-Followed by an example table:
-
-.Table
-[width="60%",options="header"]
-|==============================================
-| Option | Description
-| -a 'USER GROUP' | Add 'USER' to 'GROUP'.
-| -R 'GROUP' | Disables access to 'GROUP'.
-|==============================================
-
-And now for something completely different: ((monkeys)), lions and
-tigers.
-
-
-Приложение A: Example Appendix
-------------------------------
-Appendix special section.
-
-
-Библиография
-------------
-Bibliography special section.
-
-[bibliography]
-- [[[taoup]]] Eric Steven Raymond. 'The Art of Unix
- Programming'. Addison-Wesley. ISBN 0-13-142901-9.
-- [[[walsh-muellner]]] Norman Walsh & Leonard Muellner.
- 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999.
- ISBN 1-56592-580-7.
-
-
-Словарь терминов
-----------------
-Glossary special section.
-
-[glossary]
-A glossary term::
- The corresponding (indented) definition.
-
-A second glossary term::
- The corresponding (indented) definition.
-
-
-ifdef::basebackend-docbook[]
-Предметный указатель
---------------------
-////////////////////////////////////////////////////////////////
-Index special section.
-The index is normally left completely empty, it's contents being
-generated automatically by the DocBook toolchain.
-////////////////////////////////////////////////////////////////
-endif::basebackend-docbook[]
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/oldtables.txt b/code/maint/asciidoc/asciidoc-8.6.3/tests/data/oldtables.txt
deleted file mode 100644
index 9b18cea..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/oldtables.txt
+++ /dev/null
@@ -1,64 +0,0 @@
-AsciiDoc Old Tables
-===================
-
-Examples of the AsciiDoc 'old tables' syntax. This syntax was used in
-AsciiDoc versions up to 8.2.7 and has since been deprecated in favor
-of the 'new tables' syntax.
-
-Simple table:
-
-`---`---
-1 2
-3 4
-5 6
---------
-
-Table with title, header and footer:
-
-.An example table
-[grid="all"]
-`-----------.--------------
-Column 1 Column 2
----------------------------
-1 Item 1
-2 Item 2
-3 Item 3
----------------------------
-6 Three items
----------------------------
-
-Four columns totaling 15% of the 'pagewidth', CSV data:
-
-[frame="all"]
-````~15
-1,2,3,4
-a,b,c,d
-A,B,C,D
-~~~~~~~~
-
-A table with a numeric ruler and externally sourced CSV data:
-
-[frame="all", grid="all"]
-.15`20`25`20`~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-ID,Customer Name,Contact Name,Customer Address,Phone
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-"AROUT","Around the Horn","Thomas Hardy","120 Hanover Sq.
-London","(171) 555-7788"
-"BERGS","Berglunds snabbkop","Christina Berglund","Berguvsvagen 8
-Lulea","0921-12 34 65"
-"BLAUS","Blauer See Delikatessen","Hanna Moos","Forsterstr. 57
-Mannheim","0621-08460"
-"BLONP","Blondel pere et fils","Frederique Citeaux","24, place Kleber
-Strasbourg","88.60.15.31"
-"BOLID","Bolido Comidas preparadas","Martin Sommer","C/ Araquil, 67
-Madrid","(91) 555 22 82"
-"BONAP","Bon app'","Laurence Lebihan","12, rue des Bouchers
-Marseille","91.24.45.40"
-"BOTTM","Bottom-Dollar Markets","Elizabeth Lincoln","23 Tsawassen Blvd.
-Tsawassen","(604) 555-4729"
-"BSBEV","B's Beverages","Victoria Ashworth","Fauntleroy Circus
-London","(171) 555-1212"
-"CACTU","Cactus Comidas para llevar","Patricio Simpson","Cerrito 333
-Buenos Aires","(1) 135-5555"
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/rcs-id-marker-test.txt b/code/maint/asciidoc/asciidoc-8.6.3/tests/data/rcs-id-marker-test.txt
deleted file mode 100644
index 55b0892..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/rcs-id-marker-test.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-RCS $Id$ Marker Test
-====================
-$Id: mydoc.txt,v 1.5 2009/05/17 17:58:44 jbloggs Exp $
-
-
-Lorum ipsum...
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/testcases.txt b/code/maint/asciidoc/asciidoc-8.6.3/tests/data/testcases.txt
deleted file mode 100644
index 3555f2b..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/testcases.txt
+++ /dev/null
@@ -1,655 +0,0 @@
-//
-// A collection of AsciiDoc test cases.
-//
-
-Test 'Cases'
-============
-:author: Joe Bloggs
-// Web page meta data.
-:keywords: AsciiDoc, DocBook, EPUB, slideshow
-:description: AsciiDoc is a text document format for writing short documents, +
- articles, books, slideshows and UNIX man pages.
-:replacements.(\w)'(\w): \1’\2
-
-
-== Passthrough attributes ==
-ifdef::basebackend-docbook[]
-:passtest: pass:[<emphasis>*lorum ipsum*</emphasis>]
-endif::basebackend-docbook[]
-ifdef::basebackend-html[]
-:passtest: pass:[<b>*lorum ipsum*</b>]
-endif::basebackend-html[]
-{passtest}
-
-ifdef::basebackend-docbook[]
-:passtest: pass:specialcharacters,quotes[<emphasis>*lorum ipsum*</emphasis>]
-endif::basebackend-docbook[]
-ifdef::basebackend-html[]
-:passtest: pass:specialcharacters,quotes[<b>*lorum ipsum*</b>]
-endif::basebackend-html[]
-{passtest}
-
-
-== Author attributes ==
-\{eval:expression}, \{sys:command} and \{sys2:command}, \{counter:c1}
-
-Hello *{author}* ({firstname} {lastname}, {authorinitials}).
-
-{firstname,lastname,surname#}first name or last name or surname.
-
-{firstname+lastname+surname#}first name and last name and surname.
-
-{firstname+lastname#}first name and last name.
-
-
-== System attributes ==
-{counter:c1} {counter:c2:99} {counter:c3:A}
-
-{c1} = 1, {c2} = 99, {c3} = A
-
-{counter:c1} {counter:c2:99} {counter:c3:A}
-{c1} {c2} {c3}
-
-{c1} = 2, {c2} = 100, {c3} = B
-
-{set:y:Foobar}
-y: {y}
-
-{set:y!}
-
-y: {y}
-
-:x: 3
-:y: {eval:{x}+4}
-
-{x}, {y}
-
-{set:y:{x}}
-
-{x}, {y}
-
-
-== Quoted text attributes ==
-
-A=_X_, (_X_), _X_, [_X_] _X_
-
-A=*_X_*, (`_X_`), _`X`_, [*_X_*] +_X_+ _X_
-
-// These two illustrate that nesting doesn't always work.
-[_*X*_] _+X+_
-
-[[_intro]]
-<<_intro>> <<_intro,intro>> xref:_intro[] _intro_
-
-// Quote attributes.
-[foo]#fun with text#.
-[foo bar]*fun with text*.
-[foo]+fun with text+.
-[foo]_fun with text_.
-[foo]'fun with text'.
-
-[foo]$$fun with text$$.
-
-[foo]+++fun with text+++.
-
-[red]#obvious#
-[big red yellowback]*very obvious*
-
-[red]#obvious#
-[big red
-yellowback]*very
-obvious*
-
-[firstletter]##T##esting 123 ...
-
-(``+1\n+'') if (usually ``+-1\n+'')
-
-(``++1\n++'') if (usually ``++-1\n++'')
-
-
-== Break list nesting ==
-1. List 1.
-2. List 1.
-
-// New list.
-a. List 2.
-b. List 2.
-
-
-== Listing Blocks ==
-[subs="quotes"]
-------------------------------------------
-$ ls *-al*
-------------------------------------------
-
-[listing]
-..........................................
-[subs="quotes"]
-------------------------------------------
-$ ls *-al*
-------------------------------------------
-..........................................
-
-.Listing
-------------------------------------------
-$ ls -al
-------------------------------------------
-
-.Listing example
-==========================================
-------------------------------------------
-$ ls -al
-------------------------------------------
-==========================================
-
-.Python paragraph
-[source,python]
-if n < 0: print 'Hello World!'
-
-.Titled Python listing
-[source,python]
-------------------------------------------
-if n < 0: print 'Hello World!'
-------------------------------------------
-
-.Python listing example
-==========================================
-[source,python]
-------------------------------------------
-if n < 0: print 'Hello World!'
-------------------------------------------
-==========================================
-
-
-[[X1,anchor reftext]]
-== Links ==
-An [[X2]] inline anchor.
-An [[X3, anchor reftext]] inline anchor with reftext.
-
-<<X1>>; captioned link to <<X1,this test case>>.
-
-<<X2>> link to inline anchor; captioned link to <<X2,inline anchor>>.
-
-Link to <<X3>> anchor.
-
-An example link to a bibliography entry <<Test::Unit>>.
-
-[horizontal]
-[[[Test::Unit]]]:: http://ruby-doc.org/stdlib/libdoc/test/unit/rdoc/classes/Test/Unit.html
-
-
-== Titles ==
-
-[float]
-===== Level 4 =====
-[float]
-==== Level 3 ====
-[float]
-=== Level 2 ===
-[float]
-== Level 1 ==
-[float]
-Level 4
-+++++++
-[float]
-Level 3
-^^^^^^^
-[float]
-Level 2
-~~~~~~~
-[float]
-Level 1
--------
-
-.Block title
-Lorum ipsum.
-
-
-== Lists ==
-
-Bulleted:
-
-- item text
-* item text
-** item text
-*** item text
-**** item text
-***** item text
-
-Numbered:
-
-1. arabic (decimal) numbering
-a. loweralpha numbering
-A. upperalpha numbering
-i) lowerroman numbering
-I) upperroman numbering
-. arabic (decimal) numbering
-.. loweralpha numbering
-... lowerroman numbering
-.... upperalpha numbering
-..... upperroman numbering
-
-Labeled:
-
-label:: item text
-label;; item text
-label::: item text
-label:::: item text
-
-With item anchor:
-
-one:: Item one.
-[[item_two]]two:: Item two.
-three:: Item three.
-
-
-== Inline passthroughs ==
-
-- Test pass:[`ABC`].
-- Test `pass:[ABC]`.
-- The `++i` and `++j` auto-increments.
-- Paths `~/.vim` and `~/docs`.
-- The `__init__` method.
-- The `{id}` attribute.
-
-List start number test:
-
-[start=7]
-. List item 7.
-. List item 8.
-
-== Images
-
-=== Block images
-
-[[tiger_image]]
-.Tyger tyger
-image::../../images/tiger.png[Tyger tyger]
-
-:height: 250
-:width: 350
-.Tyger tyger two
-image::../../images/tiger.png[caption="Figure 2: ", alt="Tiger", align="center"]
-:height!:
-:width!:
-
-// Images and icons directories.
-:imagesdir: ../../doc
-image::music2.png[]
-
-:icons:
-:iconsdir: ../../images/icons
-NOTE: Lorum ipsum.
-
-:icons!:
-
-ifdef::backend-xhtml11[]
-:imagesdir: ../../images
-:data-uri:
-image:smallnew.png[NEW] 'testing' `123`.
-
-endif::[]
-
-:data-uri!:
-
-=== Inline images
-
-:imagesdir: ../../images
-
-Inline image image:smallnew.png[]
-
-Inline image image:smallnew.png[NEW!]
-
-Inline image image:smallnew.png["NEW!",title="Small new"]
-
-
-== Admonishments
-
-NOTE: Lorum ipsum.
-
-TIP: Lorum ipsum.
-
-WARNING: Lorum ipsum.
-
-CAUTION: Lorum ipsum.
-
-IMPORTANT: Lorum ipsum.
-
-// With icon images.
-:icons:
-:iconsdir: ../../images/icons
-
-NOTE: Lorum ipsum.
-
-TIP: Lorum ipsum.
-
-WARNING: Lorum ipsum.
-
-CAUTION: Lorum ipsum.
-
-IMPORTANT: Lorum ipsum.
-
-:icons!:
-
-== Backslash escapes
-
-.Apostrophe
-Don't vs don\'t.
-
-.Exceptions
-There are a number of exceptions to the usual single backslash rule
--- mostly relating to URL macros that have two syntaxes or quoting
-ambiguity. Here are some non-standard escape examples:
-
-[cols="l,v",width="40%",options="header"]
-|========================================
-|AsciiDoc | Renders
-
-2*|
-\srackham(a)methods.co.nz
-<\srackham(a)methods.co.nz>
-\mailto:[\[email protected]]
-
-2*|
-\http://www.foo1.co.nz
-\\http://www.foobar.com[]
-\\http://www.foobar.com[Foobar Limited]
-
-2*|
-A C\++ Library for C++
-\\``double-quotes''
-\*\*F**ile Open\...
-|========================================
-
-
-== Paragraphs
-
-.Normal paragraph
-This is a *bold* a line
-This is a 'strong' line
-This is another _strong_ line
-
-.Literal paragraph
-[literal]
-This is a *bold* a line
-This is a 'strong' line
-This is another _strong_ line
-
-.Verse paragraph
-[verse]
-This is a *bold* a line
-This is a 'strong' line
-This is another _strong_ line
-
-.Indented (literal) paragraph
- This is a *bold* a line
- This is a 'strong' line
- This is another _strong_ line
-
-.Indented with quotes substitution
-[subs="quotes"]
- This is a *bold* a line
- This is a 'strong' line
- This is another _strong_ line
-
-.Literal paragraph with quotes substitution
-["literal",subs="quotes"]
-This is a *bold* a line
-This is a 'strong' line
-This is another _strong_ line
-
-ifndef::basebackend-docbook[]
-.Monospaced paragraph with line breaks
-+This is a *bold* line+ +
-+This is a 'strong' line+ +
-+This is another _strong_ line+
-
-
-.Another monospaced paragraph with line breaks
-+This is a *bold* a line +
-This is a 'strong' line +
-This is another _strong_ line+
-
-endif::basebackend-docbook[]
-
-.Literal block with quotes substitution
-[subs="quotes"]
-.............................
-This is a *bold* a line
-This is a 'strong' line
-This is another _strong_ line
-.............................
-
-[verse, William Blake, from Auguries of Innocence]
-To see a world in a grain of sand,
-And a heaven in a wild flower,
-Hold infinity in the palm of your hand,
-And eternity in an hour.
-
-[quote, Bertrand Russell, The World of Mathematics (1956)]
-A good notation has subtlety and suggestiveness which at times makes
-it almost seem like a live teacher.
-
-
-URLs
-----
-Mail Addresses
-~~~~~~~~~~~~~~
-joe_bloggs(a)mail_server.com_
-
-joe-bloggs(a)mail-server.com.
-
[email protected],[email protected],
-
-mailto:[email protected][Mail]
-
-mailto:joe_bloggs@mail_server.com[Mail]
-
-mailto:[email protected][Mail]
-
-joe.bloggs(a)mail.server.com +
-lorum ipsum.
-
-
-Comments
---------
-/////////////////////////////////////////////////////////////////////
-A comment
-block.
-/////////////////////////////////////////////////////////////////////
-
-// This is a comment line.
-
-Qui in magna commodo, est labitur dolorum an. Est ne magna primis.
-// Inline comment line.
-adolescens. Sit munere ponderum dignissim et. Minim luptatum et.
-
-:showcomments:
-// This comment line will be displayed in the output.
-
-Qui in magna commodo, est labitur dolorum an. Est ne magna primis.
-// Visible inline comment line.
-adolescens. Sit munere ponderum dignissim et. Minim luptatum et.
-
-/////////////////////////////////////////////////////////////////////
-Comment blocks are never displayed in the output.
-/////////////////////////////////////////////////////////////////////
-
-:showcomments!:
-
-[[comment_macro]]
-.Block title
-// Block macro comment does not consume titles or attributes.
-Lorum ipsum.
-
-[[comment_block]]
-.Block title
-/////////////////////////////////////////////////////////////////////
-Delimited comment block does not consume titles or attributes.
-/////////////////////////////////////////////////////////////////////
-Lorum ipsum.
-
-
-ifdef::basebackend-docbook[]
-[glossary]
-List of terms
--------------
-Using positional attribute to specify section template.
-
-[glossary]
-A glossary term::
- The corresponding (indented) definition.
-
-A second glossary term::
- The corresponding (indented) definition.
-
-[template="glossary"]
-List of terms
--------------
-Using named 'template' attribute to specify section template.
-
-[glossary]
-A glossary term::
- The corresponding (indented) definition.
-
-A second glossary term::
- The corresponding (indented) definition.
-
-endif::basebackend-docbook[]
-
-Index Terms
------------
-Multi-passthough substitution (see
-http://groups.google.com/group/asciidoc/browse_frm/thread/1269dc2feb1a482c)
-((`foo`))
-(((foo,`bar`)))
-(((foo,`bar`,`two`)))
-
-Table with fractional column width units
-----------------------------------------
-NOTE: 'pagewidth' and 'pageunits' only apply to DocBook outputs.
-
-:miscellaneous.pagewidth: 17.5
-:miscellaneous.pageunits: cm
-
-.Horizontal and vertical source data
-[width="50%",cols="3,^2,^2,10",options="header"]
-|=========================================================
-|Date |Duration |Avg HR |Notes
-
-|22-Aug-08 |10:24 | 157 |
-Worked out MSHR (max sustainable heart rate) by going hard
-for this interval.
-
-|22-Aug-08 |23:03 | 152 |
-Back-to-back with previous interval.
-
-|24-Aug-08 |40:00 | 145 |
-Moderately hard interspersed with 3x 3min intervals (2min
-hard + 1min really hard taking the HR up to 160).
-
-|=========================================================
-
-Floating tables and images
---------------------------
-.Simple table
-[float="left",width="15%"]
-|=======
-|1 |2 |A
-|3 |4 |B
-|5 |6 |C
-|=======
-
-.Tiger
-[float="right"]
-image::images/tiger.png["Tiger image"]
-
-unfloat::[]
-
-Section level offsets
----------------------
-At level 1
-
-:leveloffset: -1
-Section title
-^^^^^^^^^^^^^
-At level 2
-
-:leveloffset: 0
-Section title
-~~~~~~~~~~~~~
-At level 2
-
-:leveloffset: 2
-Section title
--------------
-At level 3
-
-:leveloffset!:
-:numbered!:
-
-Section level offsets
----------------------
-At level 1
-
-Single-quoted attributes
-------------------------
-[quote,'http://en.wikipedia.org/wiki/Samuel_Johnson[Samuel Johnson]']
-_____________________________________________________________________
-Sir, a woman's preaching is like a dog's walking on his hind legs. It
-is not done well; but you are surprised to find it done at all.
-_____________________________________________________________________
-
-["quote","'http://en.wikipedia.org/wiki/Samuel_Johnson[Samuel Johnson]'"]
-_____________________________________________________________________
-Sir, a woman's preaching is like a dog's walking on his hind legs. It
-is not done well; but you are surprised to find it done at all.
-_____________________________________________________________________
-
-Footnotes
----------
-Qui in magna commodo, est labitur dolorum an. Est ne magna primis
-adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.
-footnote:[footnote one.
-Qui in magna commodo, est labitur dolorum an. Est ne magna primis
-adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.
-Qui in magna commodo, est labitur dolorum an. Est ne magna primis
-adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.]
-Qui in magna commodo, est labitur dolorum an. Est ne magna primis
-adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.
-footnoteref:["F2","footnote two.
-Qui in magna commodo, est labitur dolorum an. Est ne magna primis
-adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel."]
-Qui in magna commodo, est labitur dolorum an. Est ne magna primis
-adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel
-footnoteref:[F2].
-Qui in magna commodo, est labitur dolorum an. Est ne magna primis
-adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.
-footnote:[http://www.methods.co.nz/asciidoc/ Qui in magna commodo,
-est labitur dolorum an. Est ne magna primis adolescens. Sit munere
-ponderum dignissim et. Minim luptatum et vel
-image:images/smallnew.png[]]
-Qui in magna commodo, est labitur dolorum an. Est ne magna primis
-adolescens. Sit munere ponderum dignissim et. Minim luptatum et vel.
-footnote:[http://www.methods.co.nz/asciidoc/]
-Qui in magna commodo, est labitur dolorum an. Est ne magna primis
-adolescens. Sit munere ponderum dignissim et. Minim luptatum et
-vel footnote:[http://www.methods.co.nz/asciidoc/[AsciiDoc website].].
-Qui in magna commodo, est labitur dolorum an. Est ne magna primis
-adolescens. Sit munere ponderum dignissim et. Minim luptatum et
-footnoteref:[F3,A footnote, "with an image"
-image:images/smallnew.png[]].
-
-
-Rulers and page breaks
-----------------------
-
-Lorum ipsum...
-
-''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-
-Lorum ipsum...
-
-<<<
-
-Lorum ipsum...
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/utf8-bom-test.txt b/code/maint/asciidoc/asciidoc-8.6.3/tests/data/utf8-bom-test.txt
deleted file mode 100644
index 2b76fd0..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/utf8-bom-test.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-UTF-8 BOM Test
-==============
-
-Include file with UTF-8 BOM:
-
-:leveloffset: 1
-include::{docfile}[depth=1]
-
-Lorum ipsum...
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/utf8-examples.txt b/code/maint/asciidoc/asciidoc-8.6.3/tests/data/utf8-examples.txt
deleted file mode 100644
index 0358f24..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/tests/data/utf8-examples.txt
+++ /dev/null
@@ -1,217 +0,0 @@
-UTF-8 encoded sample plain-text file
-====================================
-
-Markus Kuhn [ˈmaʳkʊs kuːn] <http://www.cl.cam.ac.uk/~mgk25/> — 2002-07-25
-
-
-The ASCII compatible UTF-8 encoding used in this plain-text file
-is defined in Unicode, ISO 10646-1, and RFC 2279.
-
-
-Using Unicode/UTF-8, you can write in emails and source code things such as
-
-== Mathematics and sciences
-
- ∮ E⋅da = Q, n → ∞, ∑ f(i) = ∏ g(i), ⎧⎡⎛┌─────┐⎞⎤⎫
- ⎪⎢⎜│a²+b³ ⎟⎥⎪
- ∀x∈ℝ: ⌈x⌉ = −⌊−x⌋, α ∧ ¬β = ¬(¬α ∨ β), ⎪⎢⎜│───── ⎟⎥⎪
- ⎪⎢⎜⎷ c₈ ⎟⎥⎪
- ℕ ⊆ ℕ₀ ⊂ ℤ ⊂ ℚ ⊂ ℝ ⊂ ℂ, ⎨⎢⎜ ⎟⎥⎬
- ⎪⎢⎜ ∞ ⎟⎥⎪
- ⊥ < a ≠ b ≡ c ≤ d ≪ ⊤ ⇒ (⟦A⟧ ⇔ ⟪B⟫), ⎪⎢⎜ ⎲ ⎟⎥⎪
- ⎪⎢⎜ ⎳aⁱ-bⁱ⎟⎥⎪
- 2H₂ + O₂ ⇌ 2H₂O, R = 4.7 kΩ, ⌀ 200 mm ⎩⎣⎝i=1 ⎠⎦⎭
-
-
-== Linguistics and dictionaries
-
-ði ıntəˈnæʃənəl fəˈnɛtık əsoʊsiˈeıʃn +
-Y [ˈʏpsilɔn], Yen [jɛn], Yoga [ˈjoːgɑ]
-
-
-== APL
-
- ((V⍳V)=⍳⍴V)/V←,V ⌷←⍳→⍴∆∇⊃‾⍎⍕⌈
-
-
-== Nicer typography in plain text files
-
-- ‘single’ and “double” quotes
-- Curly apostrophes: “We’ve been here”
-- ‚deutsche‘ „Anführungszeichen“
-- †, ‡, ‰, •, 3–4, —, −5/+5, ™, …
-- ASCII safety test: 1lI|, 0OD, 8B
-- the euro symbol: 14.95 €
-
-
-== Combining characters
-
-STARGΛ̊TE SG-1, a = v̇ = r̈, a⃑ ⊥ b⃑
-
-== Greek (in Polytonic)
-
-[verse, The Greek anthem]
-________________________________
-Σὲ γνωρίζω ἀπὸ τὴν κόψη
-τοῦ σπαθιοῦ τὴν τρομερή,
-σὲ γνωρίζω ἀπὸ τὴν ὄψη
-ποὺ μὲ βία μετράει τὴ γῆ.
-
-᾿Απ᾿ τὰ κόκκαλα βγαλμένη
-τῶν ῾Ελλήνων τὰ ἱερά
-καὶ σὰν πρῶτα ἀνδρειωμένη
-χαῖρε, ὦ χαῖρε, ᾿Ελευθεριά!
-________________________________
-
-[verse,From a speech of Demosthenes in the 4th century BC]
-______________________________________________________________
-Οὐχὶ ταὐτὰ παρίσταταί μοι γιγνώσκειν, ὦ ἄνδρες ᾿Αθηναῖοι,
-ὅταν τ᾿ εἰς τὰ πράγματα ἀποβλέψω καὶ ὅταν πρὸς τοὺς
-λόγους οὓς ἀκούω· τοὺς μὲν γὰρ λόγους περὶ τοῦ
-τιμωρήσασθαι Φίλιππον ὁρῶ γιγνομένους, τὰ δὲ πράγματ᾿
-εἰς τοῦτο προήκοντα, ὥσθ᾿ ὅπως μὴ πεισόμεθ᾿ αὐτοὶ
-πρότερον κακῶς σκέψασθαι δέον. οὐδέν οὖν ἄλλο μοι δοκοῦσιν
-οἱ τὰ τοιαῦτα λέγοντες ἢ τὴν ὑπόθεσιν, περὶ ἧς βουλεύεσθαι,
-οὐχὶ τὴν οὖσαν παριστάντες ὑμῖν ἁμαρτάνειν. ἐγὼ δέ, ὅτι μέν
-ποτ᾿ ἐξῆν τῇ πόλει καὶ τὰ αὑτῆς ἔχειν ἀσφαλῶς καὶ Φίλιππον
-τιμωρήσασθαι, καὶ μάλ᾿ ἀκριβῶς οἶδα· ἐπ᾿ ἐμοῦ γάρ, οὐ πάλαι
-γέγονεν ταῦτ᾿ ἀμφότερα· νῦν μέντοι πέπεισμαι τοῦθ᾿ ἱκανὸν
-προλαβεῖν ἡμῖν εἶναι τὴν πρώτην, ὅπως τοὺς συμμάχους
-σώσομεν. ἐὰν γὰρ τοῦτο βεβαίως ὑπάρξῃ, τότε καὶ περὶ τοῦ
-τίνα τιμωρήσεταί τις καὶ ὃν τρόπον ἐξέσται σκοπεῖν· πρὶν δὲ
-τὴν ἀρχὴν ὀρθῶς ὑποθέσθαι, μάταιον ἡγοῦμαι περὶ τῆς
-τελευτῆς ὁντινοῦν ποιεῖσθαι λόγον.
-
-Δημοσθένους, Γ´ ᾿Ολυνθιακὸς
-______________________________________________________________
-
-
-== Georgian:
-
-.From a Unicode conference invitation
-გთხოვთ ახლავე გაიაროთ რეგისტრაცია Unicode-ის მეათე საერთაშორისო
-კონფერენციაზე დასასწრებად, რომელიც გაიმართება 10-12 მარტს,
-ქ. მაინცში, გერმანიაში. კონფერენცია შეჰკრებს ერთად მსოფლიოს
-ექსპერტებს ისეთ დარგებში როგორიცაა ინტერნეტი და Unicode-ი,
-ინტერნაციონალიზაცია და ლოკალიზაცია, Unicode-ის გამოყენება
-ოპერაციულ სისტემებსა, და გამოყენებით პროგრამებში, შრიფტებში,
-ტექსტების დამუშავებასა და მრავალენოვან კომპიუტერულ სისტემებში.
-
-
-== Russian
-
-.From a Unicode conference invitation
-Зарегистрируйтесь сейчас на Десятую Международную Конференцию по
-Unicode, которая состоится 10-12 марта 1997 года в Майнце в Германии.
-Конференция соберет широкий круг экспертов по вопросам глобального
-Интернета и Unicode, локализации и интернационализации, воплощению и
-применению Unicode в различных операционных системах и программных
-приложениях, шрифтах, верстке и многоязычных компьютерных системах.
-
-
-== Thai (UCS Level 2)
-
-Excerpt from a poetry on The Romance of The Three Kingdoms (a Chinese
-classic 'San Gua'):
-
- [----------------------------|------------------------]
- ๏ แผ่นดินฮั่นเสื่อมโทรมแสนสังเวช พระปกเกศกองบู๊กู้ขึ้นใหม่
- สิบสองกษัตริย์ก่อนหน้าแลถัดไป สององค์ไซร้โง่เขลาเบาปัญญา
- ทรงนับถือขันทีเป็นที่พึ่ง บ้านเมืองจึงวิปริตเป็นนักหนา
- โฮจิ๋นเรียกทัพทั่วหัวเมืองมา หมายจะฆ่ามดชั่วตัวสำคัญ
- เหมือนขับไสไล่เสือจากเคหา รับหมาป่าเข้ามาเลยอาสัญ
- ฝ่ายอ้องอุ้นยุแยกให้แตกกัน ใช้สาวนั้นเป็นชนวนชื่นชวนใจ
- พลันลิฉุยกุยกีกลับก่อเหตุ ช่างอาเพศจริงหนาฟ้าร้องไห้
- ต้องรบราฆ่าฟันจนบรรลัย ฤๅหาใครค้ำชูกู้บรรลังก์ ฯ
-
-(The above is a two-column text. If combining characters are handled
-correctly, the lines of the second column should be aligned with the
-| character above.)
-
-
-== Ethiopian
-
-.Proverbs in the Amharic language
-[verse]
-ሰማይ አይታረስ ንጉሥ አይከሰስ።
-ብላ ካለኝ እንደአባቴ በቆመጠኝ።
-ጌጥ ያለቤቱ ቁምጥና ነው።
-ደሀ በሕልሙ ቅቤ ባይጠጣ ንጣት በገደለው።
-የአፍ ወለምታ በቅቤ አይታሽም።
-አይጥ በበላ ዳዋ ተመታ።
-ሲተረጉሙ ይደረግሙ።
-ቀስ በቀስ፥ ዕንቁላል በእግሩ ይሄዳል።
-ድር ቢያብር አንበሳ ያስር።
-ሰው እንደቤቱ እንጅ እንደ ጉረቤቱ አይተዳደርም።
-እግዜር የከፈተውን ጉሮሮ ሳይዘጋው አይድርም።
-የጎረቤት ሌባ፥ ቢያዩት ይስቅ ባያዩት ያጠልቅ።
-ሥራ ከመፍታት ልጄን ላፋታት።
-ዓባይ ማደሪያ የለው፥ ግንድ ይዞ ይዞራል።
-የእስላም አገሩ መካ የአሞራ አገሩ ዋርካ።
-ተንጋሎ ቢተፉ ተመልሶ ባፉ።
-ወዳጅህ ማር ቢሆን ጨርስህ አትላሰው።
-እግርህን በፍራሽህ ልክ ዘርጋ።
-
-
-== Runes
-
-ᚻᛖ ᚳᚹᚫᚦ ᚦᚫᛏ ᚻᛖ ᛒᚢᛞᛖ ᚩᚾ ᚦᚫᛗ ᛚᚪᚾᛞᛖ ᚾᚩᚱᚦᚹᛖᚪᚱᛞᚢᛗ ᚹᛁᚦ ᚦᚪ ᚹᛖᛥᚫ
-
-(Old English, which transcribed into Latin reads ``He cwaeth that he
-bude thaem lande northweardum with tha Westsae.'' and means ``He said
-that he lived in the northern land near the Western Sea.'')
-
-
-== Braille
-
- ⡌⠁⠧⠑ ⠼⠁⠒ ⡍⠜⠇⠑⠹⠰⠎ ⡣⠕⠌
-
- ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠙⠑⠁⠙⠒ ⠞⠕ ⠃⠑⠛⠔ ⠺⠊⠹⠲ ⡹⠻⠑ ⠊⠎ ⠝⠕ ⠙⠳⠃⠞
- ⠱⠁⠞⠑⠧⠻ ⠁⠃⠳⠞ ⠹⠁⠞⠲ ⡹⠑ ⠗⠑⠛⠊⠌⠻ ⠕⠋ ⠙⠊⠎ ⠃⠥⠗⠊⠁⠇ ⠺⠁⠎
- ⠎⠊⠛⠝⠫ ⠃⠹ ⠹⠑ ⠊⠇⠻⠛⠹⠍⠁⠝⠂ ⠹⠑ ⠊⠇⠻⠅⠂ ⠹⠑ ⠥⠝⠙⠻⠞⠁⠅⠻⠂
- ⠁⠝⠙ ⠹⠑ ⠡⠊⠑⠋ ⠍⠳⠗⠝⠻⠲ ⡎⠊⠗⠕⠕⠛⠑ ⠎⠊⠛⠝⠫ ⠊⠞⠲ ⡁⠝⠙
- ⡎⠊⠗⠕⠕⠛⠑⠰⠎ ⠝⠁⠍⠑ ⠺⠁⠎ ⠛⠕⠕⠙ ⠥⠏⠕⠝ ⠰⡡⠁⠝⠛⠑⠂ ⠋⠕⠗ ⠁⠝⠹⠹⠔⠛ ⠙⠑
- ⠡⠕⠎⠑ ⠞⠕ ⠏⠥⠞ ⠙⠊⠎ ⠙⠁⠝⠙ ⠞⠕⠲
-
- ⡕⠇⠙ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲
-
- ⡍⠔⠙⠖ ⡊ ⠙⠕⠝⠰⠞ ⠍⠑⠁⠝ ⠞⠕ ⠎⠁⠹ ⠹⠁⠞ ⡊ ⠅⠝⠪⠂ ⠕⠋ ⠍⠹
- ⠪⠝ ⠅⠝⠪⠇⠫⠛⠑⠂ ⠱⠁⠞ ⠹⠻⠑ ⠊⠎ ⠏⠜⠞⠊⠊⠥⠇⠜⠇⠹ ⠙⠑⠁⠙ ⠁⠃⠳⠞
- ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ ⡊ ⠍⠊⠣⠞ ⠙⠁⠧⠑ ⠃⠑⠲ ⠔⠊⠇⠔⠫⠂ ⠍⠹⠎⠑⠇⠋⠂ ⠞⠕
- ⠗⠑⠛⠜⠙ ⠁ ⠊⠕⠋⠋⠔⠤⠝⠁⠊⠇ ⠁⠎ ⠹⠑ ⠙⠑⠁⠙⠑⠌ ⠏⠊⠑⠊⠑ ⠕⠋ ⠊⠗⠕⠝⠍⠕⠝⠛⠻⠹
- ⠔ ⠹⠑ ⠞⠗⠁⠙⠑⠲ ⡃⠥⠞ ⠹⠑ ⠺⠊⠎⠙⠕⠍ ⠕⠋ ⠳⠗ ⠁⠝⠊⠑⠌⠕⠗⠎
- ⠊⠎ ⠔ ⠹⠑ ⠎⠊⠍⠊⠇⠑⠆ ⠁⠝⠙ ⠍⠹ ⠥⠝⠙⠁⠇⠇⠪⠫ ⠙⠁⠝⠙⠎
- ⠩⠁⠇⠇ ⠝⠕⠞ ⠙⠊⠌⠥⠗⠃ ⠊⠞⠂ ⠕⠗ ⠹⠑ ⡊⠳⠝⠞⠗⠹⠰⠎ ⠙⠕⠝⠑ ⠋⠕⠗⠲ ⡹⠳
- ⠺⠊⠇⠇ ⠹⠻⠑⠋⠕⠗⠑ ⠏⠻⠍⠊⠞ ⠍⠑ ⠞⠕ ⠗⠑⠏⠑⠁⠞⠂ ⠑⠍⠏⠙⠁⠞⠊⠊⠁⠇⠇⠹⠂ ⠹⠁⠞
- ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲
-
-(The first couple of paragraphs of "A Christmas Carol" by Dickens)
-
-
-== Compact font selection example text
-
- ABCDEFGHIJKLMNOPQRSTUVWXYZ /0123456789
- abcdefghijklmnopqrstuvwxyz £©µÀÆÖÞßéöÿ
- –—‘“”„†•…‰™œŠŸž€ ΑΒΓΔΩαβγδω АБВГДабвгд
- ∀∂∈ℝ∧∪≡∞ ↑↗↨↻⇣ ┐┼╔╘░►☺♀ fi�⑀₂ἠḂӥẄɐː⍎אԱა
-
-
-== Greetings in various languages
-
-Hello world, Καλημέρα κόσμε, コンニチハ
-
-
-== Box drawing alignment tests
-
----------------------------------------------------------------------
- █
- ▉
- ╔══╦══╗ ┌──┬──┐ ╭──┬──╮ ╭──┬──╮ ┏━━┳━━┓ ┎┒┏┑ ╷ ╻ ┏┯┓ ┌┰┐ ▊ ╱╲╱╲╳╳╳
- ║┌─╨─┐║ │╔═╧═╗│ │╒═╪═╕│ │╓─╁─╖│ ┃┌─╂─┐┃ ┗╃╄┙ ╶┼╴╺╋╸┠┼┨ ┝╋┥ ▋ ╲╱╲╱╳╳╳
- ║│╲ ╱│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╿ │┃ ┍╅╆┓ ╵ ╹ ┗┷┛ └┸┘ ▌ ╱╲╱╲╳╳╳
- ╠╡ ╳ ╞╣ ├╢ ╟┤ ├┼─┼─┼┤ ├╫─╂─╫┤ ┣┿╾┼╼┿┫ ┕┛┖┚ ┌┄┄┐ ╎ ┏┅┅┓ ┋ ▍ ╲╱╲╱╳╳╳
- ║│╱ ╲│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╽ │┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▎
- ║└─╥─┘║ │╚═╤═╝│ │╘═╪═╛│ │╙─╀─╜│ ┃└─╂─┘┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▏
- ╚══╩══╝ └──┴──┘ ╰──┴──╯ ╰──┴──╯ ┗━━┻━━┛ ▗▄▖▛▀▜ └╌╌┘ ╎ ┗╍╍┛ ┋ ▁▂▃▄▅▆▇█
- ▝▀▘▙▄▟
----------------------------------------------------------------------
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/tests/testasciidoc.conf b/code/maint/asciidoc/asciidoc-8.6.3/tests/testasciidoc.conf
deleted file mode 100644
index 35a6ceb..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/tests/testasciidoc.conf
+++ /dev/null
@@ -1,448 +0,0 @@
-% globals
-{
- 'datadir': 'data',
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Test cases
-
-% source
-data/testcases.txt
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Filters
-
-% source
-data/filters-test.txt
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Tables
-
-% source
-../examples/website/newtables.txt
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Old tables
-
-% source
-data/oldtables.txt
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Source highlighter
-
-% source
-../doc/source-highlight-filter.txt
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Example article
-
-% options
-['--section-numbers']
-
-% attributes
-# So document date in footer doesn't generate an error.
-{'docdate':None}
-
-% source
-../doc/article.txt
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Example article with embedded images (data URIs)
-
-% source
-../doc/article.txt
-
-% name
-article-data-uri
-
-% backends
-['xhtml11']
-
-% options
-['--section-numbers']
-
-% attributes
-{'docdate':None, 'data-uri':True, 'icons':True}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Example article with included docinfo file.
-
-% source
-../doc/article.txt
-
-% name
-article-docinfo
-
-% backends
-['docbook']
-
-% options
-['--section-numbers']
-
-% attributes
-{'docdate':None, 'docinfo':True}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Example book
-
-% options
-['--section-numbers']
-
-% source
-../doc/book.txt
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Example multi-part book
-
-% options
-['--section-numbers']
-
-% source
-../doc/book-multi.txt
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Man page
-
-% attributes
-# So document date in footer doesn't generate an error.
-{'docdate':None}
-
-% source
-../doc/asciidoc.1.txt
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Example slideshow
-
-% backends
-['slidy']
-
-% source
-../doc/slidy-example.txt
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-ASCIIMathML
-
-% attributes
-{'asciimath':'','deprecated-quotes':''}
-
-% backends
-['xhtml11']
-
-% source
-../doc/asciimathml.txt
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-LaTeXMathML
-
-% attributes
-{'latexmath':''}
-
-% backends
-['xhtml11']
-
-% source
-../doc/latexmathml.txt
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-LaTeX Math
-
-% backends
-['docbook']
-
-% source
-../doc/latexmath.txt
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-LaTeX Filter
-
-% source
-../doc/latex-filter.txt
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-!User Guide
-
-% options
-['--section-numbers']
-
-% source
-../doc/asciidoc.txt
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-UTF-8 Examples
-
-% source
-data/utf8-examples.txt
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-English language file (article)
-
-% backends
-['docbook','xhtml11','html4']
-
-% name
-lang-en-article-test
-
-% source
-data/lang-en-test.txt
-
-% options
-[('--doctype','article')]
-
-% attributes
-{'toc':True}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-English language file (book)
-
-% backends
-['docbook','xhtml11','html4']
-
-% name
-lang-en-book-test
-
-% source
-data/lang-en-test.txt
-
-% options
-[('--doctype','book')]
-
-% attributes
-{'toc':True}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Russian language file (article)
-
-% backends
-['docbook','xhtml11']
-
-% name
-lang-ru-article-test
-
-% source
-data/lang-ru-test.txt
-
-% options
-[('--doctype','article')]
-
-% attributes
-{'toc':True}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Russian language file (book)
-
-% backends
-['docbook','xhtml11']
-
-% name
-lang-ru-book-test
-
-% source
-data/lang-ru-test.txt
-
-% options
-[('--doctype','book')]
-
-% attributes
-{'toc':True}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-French language file (article)
-
-% backends
-['docbook','xhtml11']
-
-% name
-lang-fr-article-test
-
-% source
-data/lang-fr-test.txt
-
-% options
-[('--doctype','article')]
-
-% attributes
-{'toc':True}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-French language file (book)
-
-% backends
-['docbook','xhtml11']
-
-% name
-lang-fr-book-test
-
-% source
-data/lang-fr-test.txt
-
-% options
-[('--doctype','book')]
-
-% attributes
-{'toc':True}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-German language file (article)
-
-% backends
-['docbook','xhtml11']
-
-% name
-lang-de-article-test
-
-% source
-data/lang-de-test.txt
-
-% options
-[('--doctype','article')]
-
-% attributes
-{'toc':True}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-German language file (book)
-
-% backends
-['docbook','xhtml11']
-
-% name
-lang-de-book-test
-
-% source
-data/lang-de-test.txt
-
-% options
-[('--doctype','book')]
-
-% attributes
-{'toc':True}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Hungarian language file (article)
-
-% backends
-['docbook','xhtml11']
-
-% name
-lang-hu-article-test
-
-% source
-data/lang-hu-test.txt
-
-% options
-[('--doctype','article')]
-
-% attributes
-{'toc':True}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Hungarian language file (book)
-
-% backends
-['docbook','xhtml11']
-
-% name
-lang-hu-book-test
-
-% source
-data/lang-hu-test.txt
-
-% options
-[('--doctype','book')]
-
-% attributes
-{'toc':True}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Spanish language file (article)
-
-% backends
-['docbook','xhtml11']
-
-% name
-lang-es-article-test
-
-% source
-data/lang-es-test.txt
-
-% options
-[('--doctype','article')]
-
-% attributes
-{'toc':True}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Spanish language file (book)
-
-% backends
-['docbook','xhtml11']
-
-% name
-lang-es-book-test
-
-% source
-data/lang-es-test.txt
-
-% options
-[('--doctype','book')]
-
-% attributes
-{'toc':True}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Brazilian Portuguese language file (article)
-
-% backends
-['docbook','xhtml11']
-
-% name
-lang-pt-BR-article-test
-
-% source
-data/lang-pt-BR-test.txt
-
-% options
-[('--doctype','article')]
-
-% attributes
-{'toc':True}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Brazilian Portuguese language file (book)
-
-% backends
-['docbook','xhtml11']
-
-% name
-lang-pt-BR-book-test
-
-% source
-data/lang-pt-BR-test.txt
-
-% options
-[('--doctype','book')]
-
-% attributes
-{'toc':True}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-RCS $Id$ marker test
-
-% source
-data/rcs-id-marker-test.txt
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-UTF-8 BOM test
-
-% source
-data/utf8-bom-test.txt
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Deprecated quote attributes
-
-% attributes
-{'deprecated-quotes':''}
-
-% source
-data/deprecated-quotes.txt
-
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/tests/testasciidoc.py b/code/maint/asciidoc/asciidoc-8.6.3/tests/testasciidoc.py
deleted file mode 100755
index 289a5a5..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/tests/testasciidoc.py
+++ /dev/null
@@ -1,411 +0,0 @@
-#!/usr/bin/env python
-
-USAGE = '''Usage: testasciidoc.py [OPTIONS] COMMAND
-
-Run AsciiDoc conformance tests specified in configuration FILE.
-
-Commands:
- list List tests
- run [NUMBER] [BACKEND] Execute tests
- update [NUMBER] [BACKEND] Regenerate and update test data
-
-Options:
- -f, --conf-file=CONF_FILE
- Use configuration file CONF_FILE (default configuration file is
- testasciidoc.conf in testasciidoc.py directory)
- --force
- Update all test data overwriting existing data'''
-
-
-__version__ = '0.1.1'
-__copyright__ = 'Copyright (C) 2009 Stuart Rackham'
-
-
-import os, sys, re, StringIO, difflib
-import asciidocapi
-
-
-BACKENDS = ('html4','xhtml11','docbook','wordpress') # Default backends.
-BACKEND_EXT = {'html4':'.html', 'xhtml11':'.html', 'docbook':'.xml',
- 'wordpress':'.html','slidy':'.html'}
-
-
-def iif(condition, iftrue, iffalse=None):
- """
- Immediate if c.f. ternary ?: operator.
- False value defaults to '' if the true value is a string.
- False value defaults to 0 if the true value is a number.
- """
- if iffalse is None:
- if isinstance(iftrue, basestring):
- iffalse = ''
- if type(iftrue) in (int, float):
- iffalse = 0
- if condition:
- return iftrue
- else:
- return iffalse
-
-def message(msg=''):
- print >>sys.stderr, msg
-
-def strip_end(lines):
- """
- Strip blank strings from the end of list of strings.
- """
- for i in range(len(lines)-1,-1,-1):
- if not lines[i]:
- del lines[i]
- else:
- break
-
-def normalize_data(lines):
- """
- Strip comments and trailing blank strings from lines.
- """
- result = [ s for s in lines if not s.startswith('#') ]
- strip_end(result)
- return result
-
-
-class AsciiDocTest(object):
-
- def __init__(self):
- self.number = None # Test number (1..).
- self.name = '' # Optional test name.
- self.title = '' # Optional test name.
- self.description = [] # List of lines followoing title.
- self.source = None # AsciiDoc test source file name.
- self.options = []
- self.attributes = {}
- self.backends = BACKENDS
- self.datadir = None # Where output files are stored.
- self.disabled = False
-
- def backend_filename(self, backend):
- """
- Return the path name of the backend output file that is generated from
- the test name and output file type.
- """
- return '%s-%s%s' % (
- os.path.normpath(os.path.join(self.datadir, self.name)),
- backend,
- BACKEND_EXT[backend])
-
- def parse(self, lines, confdir, datadir):
- """
- Parse conf file test section from list of text lines.
- """
- self.__init__()
- self.confdir = confdir
- self.datadir = datadir
- lines = Lines(lines)
- while not lines.eol():
- l = lines.read_until(r'^%')
- if l:
- if not l[0].startswith('%'):
- if l[0][0] == '!':
- self.disabled = True
- self.title = l[0][1:]
- else:
- self.title = l[0]
- self.description = l[1:]
- continue
- reo = re.match(r'^%\s*(?P<directive>[\w_-]+)', l[0])
- if not reo:
- raise (ValueError, 'illegal directive: %s' % l[0])
- directive = reo.groupdict()['directive']
- data = normalize_data(l[1:])
- if directive == 'source':
- if data:
- self.source = os.path.normpath(os.path.join(
- self.confdir, os.path.normpath(data[0])))
- elif directive == 'options':
- self.options = eval(' '.join(data))
- for i,v in enumerate(self.options):
- if isinstance(v, basestring):
- self.options[i] = (v,None)
- elif directive == 'attributes':
- self.attributes = eval(' '.join(data))
- elif directive == 'backends':
- self.backends = eval(' '.join(data))
- elif directive == 'name':
- self.name = data[0].strip()
- else:
- raise (ValueError, 'illegal directive: %s' % l[0])
- if not self.title:
- self.title = self.source
- if not self.name:
- self.name = os.path.basename(os.path.splitext(self.source)[0])
-
- def is_missing(self, backend):
- """
- Returns True if there is no output test data file for backend.
- """
- return not os.path.isfile(self.backend_filename(backend))
-
- def is_missing_or_outdated(self, backend):
- """
- Returns True if the output test data file is missing or out of date.
- """
- return self.is_missing(backend) or (
- os.path.getmtime(self.source)
- > os.path.getmtime(self.backend_filename(backend)))
-
- def get_expected(self, backend):
- """
- Return expected test data output for backend.
- """
- f = open(self.backend_filename(backend))
- try:
- result = f.readlines()
- # Strip line terminators.
- result = [ s.rstrip() for s in result ]
- finally:
- f.close()
- return result
-
- def generate_expected(self, backend):
- """
- Generate and return test data output for backend.
- """
- asciidoc = asciidocapi.AsciiDocAPI()
- asciidoc.options.values = self.options
- asciidoc.attributes = self.attributes
- infile = self.source
- outfile = StringIO.StringIO()
- asciidoc.execute(infile, outfile, backend)
- return outfile.getvalue().splitlines()
-
- def update_expected(self, backend):
- """
- Generate and write backend data.
- """
- lines = self.generate_expected(backend)
- if not os.path.isdir(self.datadir):
- print('CREATING: %s' % self.datadir)
- os.mkdir(self.datadir)
- f = open(self.backend_filename(backend),'w+')
- try:
- print('WRITING: %s' % f.name)
- f.writelines([ s + os.linesep for s in lines])
- finally:
- f.close()
-
- def update(self, backend=None, force=False):
- """
- Regenerate and update expected test data outputs.
- """
- if backend is None:
- backends = self.backends
- else:
- backends = [backend]
- for backend in backends:
- if force or self.is_missing_or_outdated(backend):
- self.update_expected(backend)
-
- def run(self, backend=None):
- """
- Execute test.
- Return True if test passes.
- """
- if backend is None:
- backends = self.backends
- else:
- backends = [backend]
- result = True # Assume success.
- self.passed = self.failed = self.skipped = 0
- print('%d: %s' % (self.number, self.title))
- if self.source and os.path.isfile(self.source):
- print('SOURCE: asciidoc: %s' % self.source)
- for backend in backends:
- fromfile = self.backend_filename(backend)
- if not self.is_missing(backend):
- expected = self.get_expected(backend)
- strip_end(expected)
- got = self.generate_expected(backend)
- strip_end(got)
- lines = []
- for line in difflib.unified_diff(got, expected, n=0):
- lines.append(line)
- if lines:
- result = False
- self.failed +=1
- lines = lines[3:]
- print('FAILED: %s: %s' % (backend, fromfile))
- message('+++ %s' % fromfile)
- message('--- got')
- for line in lines:
- message(line)
- message()
- else:
- self.passed += 1
- print('PASSED: %s: %s' % (backend, fromfile))
- else:
- self.skipped += 1
- print('SKIPPED: %s: %s' % (backend, fromfile))
- else:
- self.skipped += len(backends)
- if self.source:
- msg = 'MISSING: %s' % self.source
- else:
- msg = 'NO ASCIIDOC SOURCE FILE SPECIFIED'
- print(msg)
- print('')
- return result
-
-
-class AsciiDocTests(object):
-
- def __init__(self, conffile):
- """
- Parse configuration file.
- """
- self.conffile = os.path.normpath(conffile)
- # All file names are relative to configuration file directory.
- self.confdir = os.path.dirname(self.conffile)
- self.datadir = self.confdir # Default expected files directory.
- self.tests = [] # List of parsed AsciiDocTest objects.
- self.globals = {}
- f = open(self.conffile)
- try:
- lines = Lines(f.readlines())
- finally:
- f.close()
- first = True
- while not lines.eol():
- s = lines.read_until(r'^%+$')
- if s:
- # Optional globals precede all tests.
- if first and re.match(r'^%\s*globals$',s[0]):
- self.globals = eval(' '.join(normalize_data(s[1:])))
- if 'datadir' in self.globals:
- self.datadir = os.path.join(
- self.confdir,
- os.path.normpath(self.globals['datadir']))
- else:
- test = AsciiDocTest()
- test.parse(s[1:], self.confdir, self.datadir)
- self.tests.append(test)
- test.number = len(self.tests)
- first = False
-
- def run(self, number=None, backend=None):
- """
- Run all tests.
- If number is specified run test number (1..).
- """
- self.passed = self.failed = self.skipped = 0
- for test in self.tests:
- if (not test.disabled or number) and (not number or number == test.number) and (not backend or backend in test.backends):
- test.run(backend)
- self.passed += test.passed
- self.failed += test.failed
- self.skipped += test.skipped
- if self.passed > 0:
- print('TOTAL PASSED: %s' % self.passed)
- if self.failed > 0:
- print('TOTAL FAILED: %s' % self.failed)
- if self.skipped > 0:
- print('TOTAL SKIPPED: %s' % self.skipped)
-
- def update(self, number=None, backend=None, force=False):
- """
- Regenerate expected test data and update configuratio file.
- """
- for test in self.tests:
- if (not test.disabled or number) and (not number or number == test.number):
- test.update(backend, force=force)
-
- def list(self):
- """
- Lists tests to stdout.
- """
- for test in self.tests:
- print '%d: %s%s' % (test.number, iif(test.disabled,'!'), test.title)
-
-
-class Lines(list):
- """
- A list of strings.
- Adds eol() and read_until() to list type.
- """
-
- def __init__(self, lines):
- super(Lines, self).__init__()
- self.extend([s.rstrip() for s in lines])
- self.pos = 0
-
- def eol(self):
- return self.pos >= len(self)
-
- def read_until(self, regexp):
- """
- Return a list of lines from current position up until the next line
- matching regexp.
- Advance position to matching line.
- """
- result = []
- if not self.eol():
- result.append(self[self.pos])
- self.pos += 1
- while not self.eol():
- if re.match(regexp, self[self.pos]):
- break
- result.append(self[self.pos])
- self.pos += 1
- return result
-
-
-def usage(msg=None):
- if msg:
- message(msg + '\n')
- message(USAGE)
-
-
-if __name__ == '__main__':
- # Process command line options.
- import getopt
- try:
- opts,args = getopt.getopt(sys.argv[1:], 'f:', ['force'])
- except getopt.GetoptError:
- usage('illegal command options')
- sys.exit(1)
- if len(args) == 0:
- usage()
- sys.exit(1)
- conffile = os.path.join(os.path.dirname(sys.argv[0]), 'testasciidoc.conf')
- force = False
- for o,v in opts:
- if o == '--force':
- force = True
- if o in ('-f','--conf-file'):
- conffile = v
- if not os.path.isfile(conffile):
- message('missing CONF_FILE: %s' % conffile)
- sys.exit(1)
- tests = AsciiDocTests(conffile)
- cmd = args[0]
- number = None
- backend = None
- for arg in args[1:3]:
- try:
- number = int(arg)
- except ValueError:
- backend = arg
- if backend and backend not in BACKENDS:
- message('illegal BACKEND: %s' % backend)
- sys.exit(1)
- if number is not None and number not in range(1, len(tests.tests)+1):
- message('illegal test NUMBER: %d' % number)
- sys.exit(1)
- if cmd == 'run':
- tests.run(number, backend)
- if tests.failed:
- exit(1)
- elif cmd == 'update':
- tests.update(number, backend, force=force)
- elif cmd == 'list':
- tests.list()
- else:
- usage('illegal COMMAND: %s' % cmd)
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/text.conf b/code/maint/asciidoc/asciidoc-8.6.3/text.conf
deleted file mode 100644
index 1030a84..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/text.conf
+++ /dev/null
@@ -1,16 +0,0 @@
-# text.conf
-# Used by the AsciiDoc a2x(1) toolchain wrapper utility.
-# Filters to add leading blank line and margin indent to verbatim
-# block elements so lynx(1) generated text output looks nicer.
-
-[paradef-default]
-verse-style=template="verseparagraph",filter="echo; echo; sed 's/^/ /'"
-
-[paradef-literal]
-filter=echo; echo; sed 's/^/ /'
-
-[blockdef-listing]
-filter=echo; sed 's/^/ /'
-
-[blockdef-literal]
-filter=echo; sed 's/^/ /'
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/vim/ftdetect/asciidoc_filetype.vim b/code/maint/asciidoc/asciidoc-8.6.3/vim/ftdetect/asciidoc_filetype.vim
deleted file mode 100644
index 4180ab0..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/vim/ftdetect/asciidoc_filetype.vim
+++ /dev/null
@@ -1,53 +0,0 @@
-" Vim filetype detection file
-" Language: AsciiDoc
-" Author: Stuart Rackham <srackham(a)gmail.com>
-" Last Change: AsciiDoc 8.2.0
-" URL: http://www.methods.co.nz/asciidoc/
-" Licence: GPL (http://www.gnu.org)
-" Remarks: Vim 6 or greater
-
-" COMMENT OUT ONE OF THE TWO FOLLOWING COMMANDS
-" The first sets asciidoc syntax highlighting on all .txt files, the second
-" only existing files *.txt that appear to be AsciiDoc files.
-
-au BufNewFile,BufRead *.txt,README,TODO,CHANGELOG,NOTES setfiletype asciidoc
-"au BufRead *.txt,README,TODO,CHANGELOG,NOTES call s:FTasciidoc()
-
-" This function checks for a valid AsciiDoc document title after first
-" skipping any leading comments.
-function! s:FTasciidoc()
- let in_comment_block = 0
- let n = 1
- while n < 50
- let line = getline(n)
- let n = n + 1
- if line =~ '^/\{4,}$'
- if ! in_comment_block
- let in_comment_block = 1
- else
- let in_comment_block = 0
- endif
- continue
- endif
- if in_comment_block
- continue
- endif
- if line !~ '\(^//\)\|\(^\s*$\)'
- break
- endif
- endwhile
- if line !~ '.\{3,}'
- return
- endif
- let len = len(line)
- let line = getline(n)
- if line !~ '[-=]\{3,}'
- return
- endif
- if len < len(line) - 3 || len > len(line) + 3
- return
- endif
- setfiletype asciidoc
-endfunction
-
-" vim: et sw=2 ts=2 sts=2:
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/vim/syntax/asciidoc.vim b/code/maint/asciidoc/asciidoc-8.6.3/vim/syntax/asciidoc.vim
deleted file mode 100644
index 3e749b8..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/vim/syntax/asciidoc.vim
+++ /dev/null
@@ -1,173 +0,0 @@
-" Vim syntax file
-" Language: AsciiDoc
-" Author: Stuart Rackham <srackham(a)gmail.com> (inspired by Felix
-" Obenhuber's original asciidoc.vim script).
-" URL: http://www.methods.co.nz/asciidoc/
-" Licence: GPL (http://www.gnu.org)
-" Remarks: Vim 6 or greater
-" Limitations: See 'Appendix E: Vim Syntax Highlighter' in the AsciiDoc 'User
-" Guide'.
-
-if exists("b:current_syntax")
- finish
-endif
-
-syn clear
-syn sync fromstart
-syn sync linebreaks=1
-
-" Run :help syn-priority to review syntax matching priority.
-syn keyword asciidocToDo TODO FIXME CHECK TEST XXX ZZZ DEPRECATED
-syn match asciidocBackslash /\\/
-syn region asciidocIdMarker start=/^\$Id:\s/ end=/\s\$$/
-syn match asciidocCallout /\\\@<!<\d\{1,2}>/
-syn match asciidocListBlockDelimiter /^--$/
-syn match asciidocLineBreak /[ \t]+$/
-syn match asciidocRuler /^'\{3,}$/
-syn match asciidocPagebreak /^<\{3,}$/
-syn match asciidocEntityRef /\\\@<!&[#a-zA-Z]\S\{-};/
-"syn region asciidocLiteralParagraph start=/^\s\+\S\+/ end=/\(^+\?\s*$\)\@=/
-syn region asciidocLiteralParagraph start=/\(\%^\|\_^\n\)\@<=\s\+\S\+/ end=/\(^+\?\s*$\)\@=/
-syn match asciidocURL /\\\@<!\<\(http\|https\|ftp\|file\|irc\):\/\/[^| \t]*\(\w\|\/\)/
-syn match asciidocEmail /[\\.:]\@<!\(\<\|<\)\w\(\w\|[.-]\)*(a)\(\w\|[.-]\)*\w>\?[0-9A-Za-z_]\@!/
-syn match asciidocAttributeRef /\\\@<!{\w\(\w\|[-,+]\)*\([=!@#$%?:].*\)\?}/
-
-" As a damage control measure quoted patterns always terminate at a blank
-" line (see 'Limitations' above).
-syn match asciidocQuotedAttributeList /\\\@<!\[[a-zA-Z0-9_-][a-zA-Z0-9 _-]*\][+_'`#*]\@=/
-syn match asciidocQuotedSubscript /\\\@<!\~\S\_.\{-}\(\~\|\n\s*\n\)/ contains=asciidocEntityRef
-syn match asciidocQuotedSuperscript /\\\@<!\^\S\_.\{-}\(\^\|\n\s*\n\)/ contains=asciidocEntityRef
-
-syn match asciidocQuotedMonospaced /\(^\|[| \t([.,=\]]\)\@<=+\([ )\n\t]\)\@!\(.\|\n\(\s*\n\)\@!\)\{-}\S\(+\([| \t)[\],.?!;:=]\|$\)\@=\)/ contains=asciidocEntityRef
-syn match asciidocQuotedMonospaced2 /\(^\|[| \t([.,=\]]\)\@<=`\([ )\n\t]\)\@!\(.\|\n\(\s*\n\)\@!\)\{-}\S\(`\([| \t)[\],.?!;:=]\|$\)\@=\)/
-syn match asciidocQuotedUnconstrainedMonospaced /[\\+]\@<!++\S\_.\{-}\(++\|\n\s*\n\)/ contains=asciidocEntityRef
-
-syn match asciidocQuotedEmphasized /\(^\|[| \t([.,=\]]\)\@<=_\([ )\n\t]\)\@!\(.\|\n\(\s*\n\)\@!\)\{-}\S\(_\([| \t)[\],.?!;:=]\|$\)\@=\)/ contains=asciidocEntityRef
-syn match asciidocQuotedEmphasized2 /\(^\|[| \t([.,=\]]\)\@<='\([ )\n\t]\)\@!\(.\|\n\(\s*\n\)\@!\)\{-}\S\('\([| \t)[\],.?!;:=]\|$\)\@=\)/ contains=asciidocEntityRef
-syn match asciidocQuotedUnconstrainedEmphasized /\\\@<!__\S\_.\{-}\(__\|\n\s*\n\)/ contains=asciidocEntityRef
-
-syn match asciidocQuotedBold /\(^\|[| \t([.,=\]]\)\@<=\*\([ )\n\t]\)\@!\(.\|\n\(\s*\n\)\@!\)\{-}\S\(\*\([| \t)[\],.?!;:=]\|$\)\@=\)/ contains=asciidocEntityRef
-syn match asciidocQuotedUnconstrainedBold /\\\@<!\*\*\S\_.\{-}\(\*\*\|\n\s*\n\)/ contains=asciidocEntityRef
-
-" Don't allow ` in single quoted (a kludge to stop confusion with `monospaced`).
-syn match asciidocQuotedSingleQuoted /\(^\|[| \t([.,=]\)\@<=`\([ )\n\t]\)\@!\([^`]\|\n\(\s*\n\)\@!\)\{-}[^` \t]\('\([| \t)[\],.?!;:=]\|$\)\@=\)/ contains=asciidocEntityRef
-
-syn match asciidocQuotedDoubleQuoted /\(^\|[| \t([.,=]\)\@<=``\([ )\n\t]\)\@!\(.\|\n\(\s*\n\)\@!\)\{-}\S\(''\([| \t)[\],.?!;:=]\|$\)\@=\)/ contains=asciidocEntityRef
-
-syn match asciidocDoubleDollarPassthrough /\\\@<!\(^\|[^0-9a-zA-Z$]\)\@<=\$\$..\{-}\(\$\$\([^0-9a-zA-Z$]\|$\)\@=\|^$\)/
-syn match asciidocTriplePlusPassthrough /\\\@<!\(^\|[^0-9a-zA-Z$]\)\@<=+++..\{-}\(+++\([^0-9a-zA-Z$]\|$\)\@=\|^$\)/
-
-syn match asciidocAdmonition /^\u\{3,15}:\(\s\+.*\)\@=/
-
-syn region asciidocTable_OLD start=/^\([`.']\d*[-~_]*\)\+[-~_]\+\d*$/ end=/^$/
-syn match asciidocBlockTitle /^\.[^. \t].*[^-~_]$/ contains=asciidocQuoted.*,asciidocAttributeRef
-syn match asciidocTitleUnderline /[-=~^+]\{2,}$/ transparent contained contains=NONE
-syn match asciidocOneLineTitle /^=\{1,5}\s\+\S.*$/ contains=asciidocQuoted.*,asciidocMacroAttributes,asciidocAttributeRef,asciidocEntityRef,asciidocEmail,asciidocURL,asciidocBackslash
-syn match asciidocTwoLineTitle /^[^. +/].*[^.]\n[-=~^+]\{2,}$/ contains=asciidocQuoted.*,asciidocMacroAttributes,asciidocAttributeRef,asciidocEntityRef,asciidocEmail,asciidocURL,asciidocBackslash,asciidocTitleUnderline
-
-syn match asciidocAttributeList /^\[[^[ \t].*\]$/
-syn match asciidocQuoteBlockDelimiter /^_\{4,}$/
-syn match asciidocExampleBlockDelimiter /^=\{4,}$/
-syn match asciidocSidebarDelimiter /^*\{4,}$/
-
-" See http://vimdoc.sourceforge.net/htmldoc/usr_44.html for excluding region
-" contents from highlighting.
-syn match asciidocTablePrefix /\(\S\@<!\(\([0-9.]\+\)\([*+]\)\)\?\([<\^>.]\{,3}\)\?\([a-z]\)\?\)\?|/ containedin=asciidocTableBlock contained
-syn region asciidocTableBlock matchgroup=asciidocTableDelimiter start=/^|=\{3,}$/ end=/^|=\{3,}$/ keepend contains=ALL
-syn match asciidocTablePrefix /\(\S\@<!\(\([0-9.]\+\)\([*+]\)\)\?\([<\^>.]\{,3}\)\?\([a-z]\)\?\)\?!/ containedin=asciidocTableBlock contained
-syn region asciidocTableBlock2 matchgroup=asciidocTableDelimiter2 start=/^!=\{3,}$/ end=/^!=\{3,}$/ keepend contains=ALL
-
-syn match asciidocListContinuation /^+$/
-syn region asciidocLiteralBlock start=/^\.\{4,}$/ end=/^\.\{4,}$/ contains=asciidocCallout keepend
-syn region asciidocListingBlock start=/^-\{4,}$/ end=/^-\{4,}$/ contains=asciidocCallout keepend
-syn region asciidocCommentBlock start="^/\{4,}$" end="^/\{4,}$" contains=asciidocToDo
-syn region asciidocPassthroughBlock start="^+\{4,}$" end="^+\{4,}$"
-
-" Allowing leading \w characters in the filter delimiter is to accomodate
-" the pre version 8.2.7 syntax and may be removed in future releases.
-syn region asciidocFilterBlock start=/^\w*\~\{4,}$/ end=/^\w*\~\{4,}$/
-
-syn region asciidocMacroAttributes matchgroup=asciidocRefMacro start=/\\\@<!<<"\{-}\(\w\|-\|_\|:\|\.\)\+"\?,\?/ end=/\(>>\)\|^$/ contains=asciidocQuoted.* keepend
-syn region asciidocMacroAttributes matchgroup=asciidocAnchorMacro start=/\\\@<!\[\{2}\(\w\|-\|_\|:\|\.\)\+,\?/ end=/\]\{2}/ keepend
-syn region asciidocMacroAttributes matchgroup=asciidocAnchorMacro start=/\\\@<!\[\{3}\(\w\|-\|_\|:\|\.\)\+/ end=/\]\{3}/ keepend
-syn region asciidocMacroAttributes matchgroup=asciidocMacro start=/[\\0-9a-zA-Z]\@<!\w\(\w\|-\)*:\S\{-}\[/ skip=/\\\]/ end=/\]\|^$/ contains=asciidocQuoted.* keepend
-syn region asciidocMacroAttributes matchgroup=asciidocIndexTerm start=/\\\@<!(\{2,3}/ end=/)\{2,3}/ contains=asciidocQuoted.* keepend
-syn region asciidocMacroAttributes matchgroup=asciidocAttributeMacro start=/\({\(\w\|-\)\+}\)\@<=\[/ skip=/\\\]/ end=/\]/ keepend
-
-syn match asciidocCommentLine "^//\([^/].*\|\)$" contains=asciidocToDo
-
-syn region asciidocAttributeEntry start=/^:\w/ end=/:\(\s\|$\)/ oneline
-
-" Lists.
-syn match asciidocListBullet /^\s*\zs\(-\|\*\{1,5}\)\ze\s/
-syn match asciidocListNumber /^\s*\zs\(\(\d\+\.\)\|\.\{1,5}\|\(\a\.\)\|\([ivxIVX]\+)\)\)\ze\s\+/
-syn region asciidocListLabel start=/^\s*/ end=/\(:\{2,4}\|;;\)$/ oneline contains=asciidocQuoted.*,asciidocMacroAttributes,asciidocAttributeRef,asciidocEntityRef,asciidocEmail,asciidocURL,asciidocBackslash keepend
-" DEPRECATED: Horizontal label.
-syn region asciidocHLabel start=/^\s*/ end=/\(::\|;;\)\(\s\+\|\\$\)/ oneline contains=asciidocQuoted.*,asciidocMacroAttributes keepend
-" Starts with any of the above.
-syn region asciidocList start=/^\s*\(-\|\*\{1,5}\)\s/ start=/^\s*\(\(\d\+\.\)\|\.\{1,5}\|\(\a\.\)\|\([ivxIVX]\+)\)\)\s\+/ start=/.\+\(:\{2,4}\|;;\)$/ end=/\(^[=*]\{4,}$\)\@=/ end=/\(^+\?\s*$\)\@=/ contains=asciidocList.\+,asciidocQuoted.*,asciidocMacroAttributes,asciidocAttributeRef,asciidocEntityRef,asciidocEmail,asciidocURL,asciidocBackslash,asciidocCommentLine,asciidocAttributeList
-
-highlight link asciidocAdmonition Special
-highlight link asciidocAnchorMacro Macro
-highlight link asciidocAttributeEntry Special
-highlight link asciidocAttributeList Special
-highlight link asciidocAttributeMacro Macro
-highlight link asciidocAttributeRef Special
-highlight link asciidocBackslash Special
-highlight link asciidocBlockTitle Title
-highlight link asciidocCallout Label
-highlight link asciidocCommentBlock Comment
-highlight link asciidocCommentLine Comment
-highlight link asciidocDoubleDollarPassthrough Special
-highlight link asciidocEmail Macro
-highlight link asciidocEntityRef Special
-highlight link asciidocExampleBlockDelimiter Type
-highlight link asciidocFilterBlock Type
-highlight link asciidocHLabel Label
-highlight link asciidocIdMarker Special
-highlight link asciidocIndexTerm Macro
-highlight link asciidocLineBreak Special
-highlight link asciidocListBlockDelimiter Label
-highlight link asciidocListBullet Label
-highlight link asciidocListContinuation Label
-highlight link asciidocListingBlock Identifier
-highlight link asciidocListLabel Label
-highlight link asciidocListNumber Label
-highlight link asciidocLiteralBlock Identifier
-highlight link asciidocLiteralParagraph Identifier
-highlight link asciidocMacroAttributes Label
-highlight link asciidocMacro Macro
-highlight link asciidocOneLineTitle Title
-highlight link asciidocPagebreak Type
-highlight link asciidocPassthroughBlock Identifier
-highlight link asciidocQuoteBlockDelimiter Type
-highlight link asciidocQuotedAttributeList Special
-highlight link asciidocQuotedBold Special
-highlight link asciidocQuotedDoubleQuoted Label
-highlight link asciidocQuotedEmphasized2 Type
-highlight link asciidocQuotedEmphasized Type
-highlight link asciidocQuotedMonospaced2 Identifier
-highlight link asciidocQuotedMonospaced Identifier
-highlight link asciidocQuotedSingleQuoted Label
-highlight link asciidocQuotedSubscript Type
-highlight link asciidocQuotedSuperscript Type
-highlight link asciidocQuotedUnconstrainedBold Special
-highlight link asciidocQuotedUnconstrainedEmphasized Type
-highlight link asciidocQuotedUnconstrainedMonospaced Identifier
-highlight link asciidocRefMacro Macro
-highlight link asciidocRuler Type
-highlight link asciidocSidebarDelimiter Type
-highlight link asciidocTableBlock2 NONE
-highlight link asciidocTableBlock NONE
-highlight link asciidocTableDelimiter2 Label
-highlight link asciidocTableDelimiter Label
-highlight link asciidocTable_OLD Type
-highlight link asciidocTablePrefix2 Label
-highlight link asciidocTablePrefix Label
-highlight link asciidocToDo Todo
-highlight link asciidocTriplePlusPassthrough Special
-highlight link asciidocTwoLineTitle Title
-highlight link asciidocURL Macro
-let b:current_syntax = "asciidoc"
-
-" vim: wrap et sw=2 sts=2:
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/wordpress.conf b/code/maint/asciidoc/asciidoc-8.6.3/wordpress.conf
deleted file mode 100644
index 4ef8f46..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/wordpress.conf
+++ /dev/null
@@ -1,88 +0,0 @@
-# AsciiDoc configuration file for Wordpress HTML generation.
-# Resides in AsciiDoc global conf directory or $HOME/.asciidoc directory.
-# Generates HTML which plays nicely with Wordpress.
-# (the generated HTML is still valid HTML 4.01 Transitional though).
-#
-# NOTE: The resulting HTML needs to be further massaged with blogpost.py.
-# http://srackham.wordpress.com/blogpost-readme/
-
-include::html4.conf[]
-
-# Override various tags.
-[listtags-bulleted]
-text=
-
-[listtags-numbered]
-text=
-
-[listtags-labeled]
-text=
-
-[listtags-callout]
-text=
-
-[listtags-qanda]
-term=<em>|</em>
-text=
-
-[listtags-glossary]
-text=
-
-[listtags-bibliography]
-text=
-
-[tabletags-default]
-paragraph=<div>|</div>
-
-[tabletags-emphasis]
-paragraph=<div><em>|</em></div>
-
-[tabletags-strong]
-paragraph=<div><strong>|</strong></div>
-
-[tabletags-monospaced]
-paragraph=<div><tt>|</tt></div>
-
-[listingblock]
-<a name="{id}"></a>
-<p><b>{title}</b></p>
-<table border="0" bgcolor="#e8e8e8" width="100%" style="margin:0.2em 0;">
-<tr><td style="padding:0.5em;">
-<pre style="margin:0; padding:0;">
-|
-</pre>
-</td></tr>
-</table>
-
-[literalblock]
-<a name="{id}"></a>
-<p><b>{title}</b></p>
-<pre style="padding:0.5em; color:gray;">
-|
-</pre>
-
-[sidebarblock]
-<a name="{id}"></a>
-<table frame="void" bgcolor="#ffffee" width="100%" style="margin:0.2em 0;">
-<tr><td style="padding:0.5em;">
-<p style="margin-top:0;"><b>{title}</b></p>
-|
-</td></tr></table>
-
-[exampleblock]
-<a name="{id}"></a>
-<p><b>{caption=}{title}</b></p>
-<table frame="void" width="100%" style="margin:0.2em 0;">
-<tr><td style="border-left:3px solid #e8e8e8; padding:0.5em;">
-|
-</td></tr></table>
-
-[admonitionblock]
-<a name="{id}"></a>
-<table frame="void" style="margin:0.2em 0;">
-<tr valign="top"><td style="padding:0.5em;"><p><b><u>{caption}</u></b></p></td>
-<td style="border-left:3px solid #e8e8e8; padding:0.5em;">
-<p><b>{title}</b></p>
-|
-</td></tr></table>
-
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/xhtml11-quirks.conf b/code/maint/asciidoc/asciidoc-8.6.3/xhtml11-quirks.conf
deleted file mode 100644
index 22eeb3c..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/xhtml11-quirks.conf
+++ /dev/null
@@ -1,61 +0,0 @@
-#
-# xhtml11-quirks.conf
-#
-# Workarounds for IE6's broken # and incomplete CSS2.
-#
-
-[image-blockmacro]
-<div class="imageblock{style? {style}}{role? {role}}"{id? id="{id}"}{align? style="text-align:{align};"}{float? style="float:{float};"}>
-<div class="content">
-<a class="image" href="{link}">
-{data-uri%}<img src="{imagesdir=}{imagesdir?/}{target}" alt="{alt={target}}"{width? width="{width}"}{height? height="{height}"} />
-{data-uri#}<img alt="{alt={target}}"{width? width="{width}"}{height? height="{height}"} src="data:image/{eval:os.path.splitext('{target}')[1][1:]};base64,
-{data-uri#}{sys:python -uc "import base64,sys; base64.encode(sys.stdin,sys.stdout)" < "{eval:os.path.join("{indir={outdir}}","{imagesdir=}","{target}")}"}" />
-{link#}</a>
-</div>
-<div class="image-title">{caption={figure-caption} {counter:figure-number}: }{title}</div>
-</div>
-
-[sidebarblock]
-<div class="sidebarblock{role? {role}}"{id? id="{id}"}>
-<div class="sidebar-content">
-<div class="sidebar-title">{title}</div>
-|
-</div></div>
-
-[quoteblock]
-<div class="quoteblock{role? {role}}"{id? id="{id}"}>
-<div class="title">{title}</div>
-<div class="quoteblock-content">
-|
-</div>
-<div class="quoteblock-attribution">
-<em>{citetitle}</em><br />
-— {attribution}
-</div></div>
-
-[verseblock]
-<div class="verseblock{role? {role}}"{id? id="{id}"}>
-<div class="title">{title}</div>
-<pre class="verseblock-content">
-|
-</pre>
-<div class="verseblock-attribution">
-<em>{citetitle}</em><br />
-— {attribution}
-</div></div>
-
-[exampleblock]
-<div class="exampleblock{role? {role}}"{id? id="{id}"}>
-<div class="title">{caption={example-caption} {counter:example-number}: }{title}</div>
-<div class="exampleblock-content">
-|
-</div></div>
-
-[sect2]
-<div class="sect2{style? {style}}{role? {role}}">
-# The <div> is because the IE6 adjacent-sibling CSS selector is broken.
-<h3{id? id="{id}"}>{numbered?{sectnum} }{title}</h3><div style="clear:left"></div>
-|
-</div>
-
diff --git a/code/maint/asciidoc/asciidoc-8.6.3/xhtml11.conf b/code/maint/asciidoc/asciidoc-8.6.3/xhtml11.conf
deleted file mode 100644
index 5e74376..0000000
--- a/code/maint/asciidoc/asciidoc-8.6.3/xhtml11.conf
+++ /dev/null
@@ -1,680 +0,0 @@
-#
-# xhtml11.conf
-#
-# Asciidoc configuration file.
-# xhtml11 backend, generates XHTML 1.1 conformant markup.
-#
-
-[miscellaneous]
-outfilesuffix=.html
-
-[attributes]
-basebackend=html
-basebackend-html=
-basebackend-xhtml11=
-
-[replacements2]
-# Line break.
-(?m)^(.*)\s\+$=\1<br />
-
-[replacements]
-ifdef::asciidoc7compatible[]
-# Superscripts.
-\^(.+?)\^=<sup>\1</sup>
-# Subscripts.
-~(.+?)~=<sub>\1</sub>
-endif::asciidoc7compatible[]
-
-[ruler-blockmacro]
-<hr />
-
-[pagebreak-blockmacro]
-<div style="page-break-after:always"></div>
-
-[blockdef-pass]
-asciimath-style=template="asciimathblock",subs=[]
-latexmath-style=template="latexmathblock",subs=[]
-
-[macros]
-# math macros.
-# Special characters are escaped in HTML math markup.
-(?su)[\\]?(?P<name>asciimath|latexmath):(?P<subslist>\S*?)\[(?P<passtext>.*?)(?<!\\)\]=[specialcharacters]
-(?u)^(?P<name>asciimath|latexmath)::(?P<subslist>\S*?)(\[(?P<passtext>.*?)\])$=#[specialcharacters]
-
-[asciimath-inlinemacro]
-`{passtext}`
-
-[asciimath-blockmacro]
-<div class="mathblock{role? {role}}"{id? id="{id}"}>
-<div class="content">
-<div class="title">{title}</div>
-`{passtext}`
-</div></div>
-
-[asciimathblock]
-<div class="mathblock{role? {role}}"{id? id="{id}"}>
-<div class="content">
-<div class="title">{title}</div>
-`|`
-</div></div>
-
-[latexmath-inlinemacro]
-{passtext}
-
-[latexmath-blockmacro]
-<div class="mathblock{role? {role}}"{id? id="{id}"}>
-<div class="content">
-<div class="title">{title}</div>
-{passtext}
-</div></div>
-
-[latexmathblock]
-<div class="mathblock{role? {role}}"{id? id="{id}"}>
-<div class="content">
-<div class="title">{title}</div>
-|
-</div></div>
-
-[image-inlinemacro]
-<span class="image{role? {role}}">
-<a class="image" href="{link}">
-{data-uri%}<img src="{imagesdir=}{imagesdir?/}{target}" alt="{alt={target}}"{width? width="{width}"}{height? height="{height}"}{title? title="{title}"} />
-{data-uri#}<img alt="{alt={target}}"{width? width="{width}"}{height? height="{height}"}{title? title="{title}"} src="data:image/{eval:os.path.splitext('{target}')[1][1:]};base64,
-{data-uri#}{sys3:python -uc "import base64,sys; base64.encode(sys.stdin,sys.stdout)" < "{eval:os.path.join("{indir={outdir}}","{imagesdir=}","{target}")}"}" />
-{link#}</a>
-</span>
-
-[image-blockmacro]
-<div class="imageblock{style? {style}}{role? {role}}"{id? id="{id}"}{align? style="text-align:{align};"}{float? style="float:{float};"}>
-<div class="content">
-<a class="image" href="{link}">
-{data-uri%}<img src="{imagesdir=}{imagesdir?/}{target}" alt="{alt={target}}"{width? width="{width}"}{height? height="{height}"} />
-{data-uri#}<img alt="{alt={target}}"{width? width="{width}"}{height? height="{height}"} src="data:image/{eval:os.path.splitext('{target}')[1][1:]};base64,
-{data-uri#}{sys:python -uc "import base64,sys; base64.encode(sys.stdin,sys.stdout)" < "{eval:os.path.join("{indir={outdir}}","{imagesdir=}","{target}")}"}" />
-{link#}</a>
-</div>
-<div class="title">{caption={figure-caption} {counter:figure-number}. }{title}</div>
-</div>
-
-[unfloat-blockmacro]
-<div style="clear:both;"></div>
-
-[indexterm-inlinemacro]
-# Index term.
-{empty}
-
-[indexterm2-inlinemacro]
-# Index term.
-# Single entry index term that is visible in the primary text flow.
-{1}
-
-[footnote-inlinemacro]
-# footnote:[<text>].
-<span class="footnote"><br />[{0}]<br /></span>
-
-[footnoteref-inlinemacro]
-# footnoteref:[<id>], create reference to footnote.
-{2%}<span class="footnoteref"><br /><a href="#_footnote_{1}">[{1}]</a><br /></span>
-# footnoteref:[<id>,<text>], create footnote with ID.
-{2#}<span class="footnote" id="_footnote_{1}"><br />[{2}]<br /></span>
-
-[callout-inlinemacro]
-ifndef::icons[]
-<b><{index}></b>
-endif::icons[]
-ifdef::icons[]
-ifndef::data-uri[]
-<img src="{icon={iconsdir}/callouts/{index}.png}" alt="{index}" />
-endif::data-uri[]
-ifdef::data-uri[]
-<img alt="{index}" src="data:image/png;base64,
-{sys:python -uc "import base64,sys; base64.encode(sys.stdin,sys.stdout)" < "{eval:os.path.join("{indir={outdir}}","{icon={iconsdir}/callouts/{index}.png}")}"}" />
-endif::data-uri[]
-endif::icons[]
-
-# Comment line macros.
-[comment-inlinemacro]
-{showcomments#}<br /><span class="comment">{passtext}</span><br />
-
-[comment-blockmacro]
-{showcomments#}<p><span class="comment">{passtext}</span></p>
-
-[literal-inlinemacro]
-# Inline literal.
-<tt>{passtext}</tt>
-
-# List tags.
-[listtags-bulleted]
-list=<div class="ulist{style? {style}}{compact-option? compact}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<ul>|</ul></div>
-item=<li>|</li>
-text=<p>|</p>
-
-[listtags-numbered]
-# The start attribute is not valid XHTML 1.1 but all browsers support it.
-list=<div class="olist{style? {style}}{compact-option? compact}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<ol class="{style}"{start? start="{start}"}>|</ol></div>
-item=<li>|</li>
-text=<p>|</p>
-
-[listtags-labeled]
-list=<div class="dlist{compact-option? compact}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<dl>|</dl></div>
-entry=
-label=
-term=<dt class="hdlist1{strong-option? strong}">|</dt>
-item=<dd>|</dd>
-text=<p>|</p>
-
-[listtags-horizontal]
-list=<div class="hdlist{compact-option? compact}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<table>{labelwidth?<col width="{labelwidth}%" />}{itemwidth?<col width="{itemwidth}%" />}|</table></div>
-label=<td class="hdlist1{strong-option? strong}">|</td>
-term=|<br />
-entry=<tr>|</tr>
-item=<td class="hdlist2">|</td>
-text=<p style="margin-top: 0;">|</p>
-
-[listtags-qanda]
-list=<div class="qlist{style? {style}}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<ol>|</ol></div>
-entry=<li>|</li>
-label=
-term=<p><em>|</em></p>
-item=
-text=<p>|</p>
-
-[listtags-callout]
-ifndef::icons[]
-list=<div class="colist{style? {style}}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<ol>|</ol></div>
-item=<li>|</li>
-text=<p>|</p>
-endif::icons[]
-ifdef::icons[]
-list=<div class="colist{style? {style}}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<table>|</table></div>
-ifndef::data-uri[]
-item=<tr><td><img src="{iconsdir}/callouts/{listindex}.png" alt="{listindex}" /></td><td>|</td></tr>
-endif::data-uri[]
-ifdef::data-uri[]
-item=<tr><td><img alt="{listindex}" src="data:image/png;base64, {sys:python -uc "import base64,sys; base64.encode(sys.stdin,sys.stdout)" < "{eval:os.path.join("{indir={outdir}}","{icon={iconsdir}/callouts/{listindex}.png}")}"}" /></td><td>|</td></tr>
-endif::data-uri[]
-text=|
-endif::icons[]
-
-[listtags-glossary]
-list=<div class="dlist{style? {style}}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<dl>|</dl></div>
-label=
-entry=
-term=<dt>|</dt>
-item=<dd>|</dd>
-text=<p>|</p>
-
-[listtags-bibliography]
-list=<div class="ulist{style? {style}}{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<ul>|</ul></div>
-item=<li>|</li>
-text=<p>|</p>
-
-[tags]
-# Quoted text.
-emphasis=<em>{1?<span class="{1}">}|{1?</span>}</em>
-strong=<strong>{1?<span class="{1}">}|{1?</span>}</strong>
-monospaced=<tt>{1?<span class="{1}">}|{1?</span>}</tt>
-singlequoted={amp}#8216;{1?<span class="{1}">}|{1?</span>}{amp}#8217;
-doublequoted={amp}#8220;{1?<span class="{1}">}|{1?</span>}{amp}#8221;
-unquoted={1?<span class="{1}">}|{1?</span>}
-superscript=<sup>{1?<span class="{1}">}|{1?</span>}</sup>
-subscript=<sub>{1?<span class="{1}">}|{1?</span>}</sub>
-
-ifdef::deprecated-quotes[]
-# Override with deprecated quote attributes.
-emphasis={role?<span class="{role}">}<em{1,2,3? style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?"}>|</em>{role?</span>}
-strong={role?<span class="{role}">}<strong{1,2,3? style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?"}>|</strong>{role?</span>}
-monospaced={role?<span class="{role}">}<tt{1,2,3? style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?"}>|</tt>{role?</span>}
-singlequoted={role?<span class="{role}">}{1,2,3?<span style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?">}{amp}#8216;|{amp}#8217;{1,2,3?</span>}{role?</span>}
-doublequoted={role?<span class="{role}">}{1,2,3?<span style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?">}{amp}#8220;|{amp}#8221;{1,2,3?</span>}{role?</span>}
-unquoted={role?<span class="{role}">}{1,2,3?<span style="{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}">}|{1,2,3?</span>}{role?</span>}
-superscript={role?<span class="{role}">}<sup{1,2,3? style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?"}>|</sup>{role?</span>}
-subscript={role?<span class="{role}">}<sub{1,2,3? style="}{1?color:{1};}{2?background-color:{2};}{3?font-size:{3}em;}{1,2,3?"}>|</sub>{role?</span>}
-endif::deprecated-quotes[]
-
-# Inline macros
-[http-inlinemacro]
-<a href="{name}:{target}">{0={name}:{target}}</a>
-[https-inlinemacro]
-<a href="{name}:{target}">{0={name}:{target}}</a>
-[ftp-inlinemacro]
-<a href="{name}:{target}">{0={name}:{target}}</a>
-[file-inlinemacro]
-<a href="{name}:{target}">{0={name}:{target}}</a>
-[irc-inlinemacro]
-<a href="{name}:{target}">{0={name}:{target}}</a>
-[mailto-inlinemacro]
-<a href="mailto:{target}">{0={target}}</a>
-[link-inlinemacro]
-<a href="{target}">{0={target}}</a>
-[callto-inlinemacro]
-<a href="{name}:{target}">{0={target}}</a>
-# anchor:id[text]
-[anchor-inlinemacro]
-<a id="{target}"></a>
-# [[id,text]]
-[anchor2-inlinemacro]
-<a id="{1}"></a>
-# [[[id]]]
-[anchor3-inlinemacro]
-<a id="{1}"></a>[{1}]
-# xref:id[text]
-[xref-inlinemacro]
-<a href="#{target}">{0=[{target}]}</a>
-# <<id,text>>
-[xref2-inlinemacro]
-<a href="#{1}">{2=[{1}]}</a>
-
-# Special word substitution.
-[emphasizedwords]
-<em>{words}</em>
-[monospacedwords]
-<tt>{words}</tt>
-[strongwords]
-<strong>{words}</strong>
-
-# Paragraph substitution.
-[paragraph]
-<div class="paragraph{role? {role}}"{id? id="{id}"}>{title?<div class="title">{title}</div>}<p>
-|
-</p></div>
-
-[admonitionparagraph]
-template::[admonitionblock]
-
-# Delimited blocks.
-[listingblock]
-<div class="listingblock{role? {role}}"{id? id="{id}"}>
-<div class="title">{caption=}{title}</div>
-<div class="content">
-<pre><tt>
-|
-</tt></pre>
-</div></div>
-
-[literalblock]
-<div class="literalblock{role? {role}}"{id? id="{id}"}>
-<div class="title">{title}</div>
-<div class="content">
-<pre><tt>
-|
-</tt></pre>
-</div></div>
-
-[sidebarblock]
-<div class="sidebarblock{role? {role}}"{id? id="{id}"}>
-<div class="content">
-<div class="title">{title}</div>
-|
-</div></div>
-
-[openblock]
-<div class="openblock{role? {role}}"{id? id="{id}"}>
-<div class="title">{title}</div>
-<div class="content">
-|
-</div></div>
-
-[partintroblock]
-template::[openblock]
-
-[abstractblock]
-template::[quoteblock]
-
-[quoteblock]
-<div class="quoteblock{role? {role}}"{id? id="{id}"}>
-<div class="title">{title}</div>
-<div class="content">
-|
-</div>
-<div class="attribution">
-<em>{citetitle}</em>{attribution?<br />}
-— {attribution}
-</div></div>
-
-[verseblock]
-<div class="verseblock{role? {role}}"{id? id="{id}"}>
-<div class="title">{title}</div>
-<pre class="content">
-|
-</pre>
-<div class="attribution">
-<em>{citetitle}</em>{attribution?<br />}
-— {attribution}
-</div></div>
-
-[exampleblock]
-<div class="exampleblock{role? {role}}"{id? id="{id}"}>
-<div class="title">{caption={example-caption} {counter:example-number}. }{title}</div>
-<div class="content">
-|
-</div></div>
-
-[admonitionblock]
-<div class="admonitionblock{role? {role}}"{id? id="{id}"}>
-<table><tr>
-<td class="icon">
-{data-uri%}{icons#}<img src="{icon={iconsdir}/{name}.png}" alt="{caption}" />
-{data-uri#}{icons#}<img alt="{caption}" src="data:image/png;base64,
-{data-uri#}{icons#}{sys:python -uc "import base64,sys; base64.encode(sys.stdin,sys.stdout)" < "{eval:os.path.join("{indir={outdir}}","{icon={iconsdir}/{name}.png}")}"}" />
-{icons%}<div class="title">{caption}</div>
-</td>
-<td class="content">
-<div class="title">{title}</div>
-|
-</td>
-</tr></table>
-</div>
-
-# Tables.
-[tabletags-default]
-colspec=<col{autowidth-option! width="{colpcwidth}%"} />
-bodyrow=<tr>|</tr>
-headdata=<th {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}" valign="{valign}">|</th>
-bodydata=<td {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}" valign="{valign}">|</td>
-paragraph=<p class="table">|</p>
-
-[tabletags-header]
-paragraph=<p class="table header">|</p>
-
-[tabletags-emphasis]
-paragraph=<p class="table"><em>|</em></p>
-
-[tabletags-strong]
-paragraph=<p class="table"><strong>|</strong></p>
-
-[tabletags-monospaced]
-paragraph=<p class="table"><tt>|</tt></p>
-
-[tabletags-verse]
-bodydata=<td {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}" valign="{valign}"><div class="verse">|</div></td>
-paragraph=
-
-[tabletags-literal]
-bodydata=<td {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}" valign="{valign}"><div class="literal"><pre><tt>|</tt></pre></div></td>
-paragraph=
-
-[tabletags-asciidoc]
-bodydata=<td {colspan@1::colspan="{colspan}" }{rowspan@1::rowspan="{rowspan}" }align="{halign}" valign="{valign}"><div>|</div></td>
-paragraph=
-
-[table]
-<div class="tableblock{role? {role}}"{id? id="{id}"}>
-<table rules="{grid=all}"
-style="margin-left:{align@left:0}{align@center|right:auto}; margin-right:{align@left|center:auto}{align@right:0};"
-style="float:{float};"
-{autowidth-option%}width="{tablepcwidth}%"
-{autowidth-option#}{width#width="{tablepcwidth}%"}
-frame="{frame%border}"
-frame="{frame@topbot:hsides}{frame@all:border}{frame@none:void}{frame@sides:vsides}"
-cellspacing="0" cellpadding="4">
-<caption class="title">{caption={table-caption} {counter:table-number}. }{title}</caption>
-{colspecs}
-{headrows#}<thead>
-{headrows}
-{headrows#}</thead>
-{footrows#}<tfoot>
-{footrows}
-{footrows#}</tfoot>
-<tbody>
-{bodyrows}
-</tbody>
-</table>
-</div>
-
-#--------------------------------------------------------------------
-# Deprecated old table definitions.
-#
-
-[miscellaneous]
-# Screen width in pixels.
-pagewidth=800
-pageunits=
-
-[old_tabledef-default]
-template=old_table
-colspec=<col width="{colwidth}{pageunits}" />
-bodyrow=<tr>|</tr>
-headdata=<th align="{colalign}">|</th>
-footdata=<td align="{colalign}">|</td>
-bodydata=<td align="{colalign}">|</td>
-
-[old_table]
-<div class="tableblock"{id? id="{id}"}>
-<table rules="{grid=none}"
-frame="{frame%hsides}"
-frame="{frame@topbot:hsides}{frame@all:border}{frame@none:void}{frame@sides:vsides}"
-cellspacing="0" cellpadding="4">
-<caption class="title">{caption={table-caption}}{title}</caption>
-{colspecs}
-{headrows#}<thead>
-{headrows}
-{headrows#}</thead>
-{footrows#}<tfoot>
-{footrows}
-{footrows#}</tfoot>
-<tbody valign="top">
-{bodyrows}
-</tbody>
-</table>
-</div>
-
-# End of deprecated old table definitions.
-#--------------------------------------------------------------------
-
-[floatingtitle]
-<h{level@0:1}{level@1:2}{level@2:3}{level@3:4}{level@4:5}{id? id="{id}"} class="float">{title}</h{level@0:1}{level@1:2}{level@2:3}{level@3:4}{level@4:5}>
-
-[preamble]
-# Untitled elements between header and first section title.
-<div id="preamble">
-<div class="sectionbody">
-|
-</div>
-</div>
-
-# Document sections.
-[sect0]
-<h1{id? id="{id}"}>{title}</h1>
-|
-
-[sect1]
-<div class="sect1{style? {style}}{role? {role}}">
-<h2{id? id="{id}"}>{numbered?{sectnum} }{title}</h2>
-<div class="sectionbody">
-|
-</div>
-</div>
-
-[sect2]
-<div class="sect2{style? {style}}{role? {role}}">
-<h3{id? id="{id}"}>{numbered?{sectnum} }{title}</h3>
-|
-</div>
-
-[sect3]
-<div class="sect3{style? {style}}{role? {role}}">
-<h4{id? id="{id}"}>{numbered?{sectnum} }{title}</h4>
-|
-</div>
-
-[sect4]
-<div class="sect4{style? {style}}{role? {role}}">
-<h5{id? id="{id}"}>{title}</h5>
-|
-</div>
-
-[appendix]
-<div class="sect1{style? {style}}{role? {role}}">
-<h2{id? id="{id}"}>{numbered?{sectnum} }{appendix-caption} {counter:appendix-number:A}: {title}</h2>
-<div class="sectionbody">
-|
-</div>
-</div>
-
-[toc]
-<div id="toc">
- <div id="toctitle">{toc-title}</div>
- <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
-</div>
-
-[header]
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
- "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{lang=en}">
-<head>
-<meta http-equiv="Content-Type" content="{quirks=application/xhtml+xml}{quirks?text/html}; charset={encoding}" />
-<meta name="generator" content="AsciiDoc {asciidoc-version}" />
-<meta name="description" content="{description}" />
-<meta name="keywords" content="{keywords}" />
-<title>{title}</title>
-{title%}<title>{doctitle=}</title>
-ifdef::linkcss[]
-<link rel="stylesheet" href="{stylesdir=.}/{theme={backend}}.css" type="text/css" />
-{doctype-manpage}<link rel="stylesheet" href="{stylesdir=.}/{theme={backend}}-manpage.css" type="text/css" />
-ifdef::quirks[]
-<link rel="stylesheet" href="{stylesdir=.}/{theme={backend}}-quirks.css" type="text/css" />
-endif::quirks[]
-<link rel="stylesheet" href="{stylesdir=.}/{stylesheet}" type="text/css" />
-ifdef::pygments[<link rel="stylesheet" href="{stylesdir=.}/pygments.css" type="text/css" />]
-endif::linkcss[]
-ifndef::linkcss[]
-<style type="text/css">
-include1::{stylesdir=./stylesheets}/{theme={backend}}.css[]
-ifdef::doctype-manpage[]
-include1::{stylesdir=./stylesheets}/{theme={backend}}-manpage.css[]
-endif::doctype-manpage[]
-ifdef::quirks[]
-include1::{stylesdir=./stylesheets}/{theme={backend}}-quirks.css[]
-endif::quirks[]
-include1::{stylesheet}[]
-ifdef::pygments[]
-include1::{stylesdir=./stylesheets}/pygments.css[]
-endif::pygments[]
-</style>
-endif::linkcss[]
-ifndef::disable-javascript[]
-ifdef::linkcss[]
-<script type="text/javascript">
-# Escape as CDATA to pass validators.
-/*<![CDATA[*/
-window.onload = function()\{asciidoc.footnotes();{toc? asciidoc.toc({toclevels});}\}
-/*]]>*/
-</script>
-<script type="text/javascript" src="{scriptsdir=.}/asciidoc-xhtml11.js"></script>
-endif::linkcss[]
-ifndef::linkcss[]
-<script type="text/javascript">
-# Escape as CDATA to pass validators.
-/*<![CDATA[*/
-window.onload = function()\{asciidoc.footnotes();{toc? asciidoc.toc({toclevels});}\}
-include1::{scriptsdir=./javascripts}/asciidoc-xhtml11.js[]
-/*]]>*/
-</script>
-endif::linkcss[]
-endif::disable-javascript[]
-ifdef::asciimath[]
-ifdef::linkcss[]
-<script type="text/javascript" src="{scriptsdir=.}/ASCIIMathML.js"></script>
-endif::linkcss[]
-ifndef::linkcss[]
-<script type="text/javascript">
-# Escape as CDATA to pass validators.
-/*<![CDATA[*/
-include1::{scriptsdir=./javascripts}/ASCIIMathML.js[]
-/*]]>*/
-</script>
-endif::linkcss[]
-endif::asciimath[]
-ifdef::latexmath[]
-ifdef::linkcss[]
-<script type="text/javascript" src="{scriptsdir=.}/LaTeXMathML.js"></script>
-endif::linkcss[]
-ifndef::linkcss[]
-<script type="text/javascript">
-# Escape as CDATA to pass validators.
-/*<![CDATA[*/
-include1::{scriptsdir=./javascripts}/LaTeXMathML.js[]
-/*]]>*/
-</script>
-endif::linkcss[]
-endif::latexmath[]
-{docinfo1,docinfo2#}{include:{docdir}/docinfo.html}
-{docinfo,docinfo2#}{include:{docdir}/{docname}-docinfo.html}
-</head>
-<body class="{doctype}"{max-width? style="max-width:{max-width}"}>
-# Article, book header.
-ifndef::doctype-manpage[]
-<div id="header">
-ifndef::notitle[<h1>{doctitle}</h1>]
-ifdef::doctitle[]
-<span id="author">{author}</span><br />
-<span id="email"><tt><<a href="mailto:{email}">{email}</a>></tt></span><br />
-<span id="revnumber">version {revnumber}{revdate?,}</span>
-<span id="revdate">{revdate}</span>
-<br /><span id="revremark">{revremark}</span>
-endif::doctitle[]
-ifdef::toc[{template:toc}]
-</div>
-endif::doctype-manpage[]
-# Man page header.
-ifdef::doctype-manpage[]
-<div id="header">
-<h1>
-{doctitle} Manual Page
-</h1>
-ifdef::toc[{template:toc}]
-<h2>{manname-title}</h2>
-<div class="sectionbody">
-<p>{manname} -
- {manpurpose}
-</p>
-</div>
-</div>
-endif::doctype-manpage[]
-<div id="content">
-
-[footer]
-</div>
-{disable-javascript%<div id="footnotes"><hr /></div>}
-<div id="footer">
-<div id="footer-text">
-template::[footer-text]
-</div>
-ifdef::badges[]
-<div id="footer-badges">
-ifndef::icons[]
-Valid <a href="http://validator.w3.org/check?uri=referer">XHTML</a>
-and <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS</a>.
-endif::icons[]
-ifdef::icons[]
-<a href="http://validator.w3.org/check?uri=referer">
- <img style="border:0;width:88px;height:31px"
- src="http://www.w3.org/Icons/valid-xhtml11-blue"
- alt="Valid XHTML 1.1" height="31" width="88" />
-</a>
-<a href="http://jigsaw.w3.org/css-validator/">
- <img style="border:0;width:88px;height:31px"
- src="http://jigsaw.w3.org/css-validator/images/vcss-blue"
- alt="Valid CSS!" />
-</a>
-<a href="http://www.mozilla.org/products/firefox/">
- <img style="border:none; width:110px; height:32px;"
- src="http://www.spreadfirefox.com/community/images/affiliates/Buttons/110x32/saf…"
- alt="Get Firefox!" />
-</a>
-endif::icons[]
-</div>
-endif::badges[]
-</div>
-</body>
-</html>
-
-ifdef::doctype-manpage[]
-[synopsis]
-template::[sect1]
-endif::doctype-manpage[]
-
-ifdef::quirks[]
-include::{backend}-quirks.conf[]
-endif::quirks[]
diff --git a/code/maint/config/bdb.m4 b/code/maint/config/bdb.m4
deleted file mode 100644
index 9e17735..0000000
--- a/code/maint/config/bdb.m4
+++ /dev/null
@@ -1,235 +0,0 @@
-
-AC_DEFUN([AX_BERKELEY_DB],
-[
- dbpath=ifelse([$1], ,,$1)
-
- DB_LDFLAGS=
- dnl
- dnl if the db is specified, try to link with -ldb
- dnl otherwise try -ldb4, then -ldb3, then -ldb
- dnl $lib set to notfound on link failure
- dnl
- AC_MSG_CHECKING([for db library])
- oldlibs=$LIBS
- lib=notfound
-
- if test "x$dbpath" != "x" ; then
- oldcflags=$CFLAGS
- for dbheader in db4 db3 notfound; do
- AC_COMPILE_IFELSE(
- [#include "$dbpath/include/$dbheader/db.h"],
- [DB_CFLAGS="-I$dbpath/include/$dbheader/"
- break])
- done
-
- if test "x$dbheader" = "xnotfound"; then
- AC_COMPILE_IFELSE(
- [#include "$dbpath/include/db.h"],
- [DB_CFLAGS="-I$dbpath/include/"],
- [AC_MSG_FAILURE(
- Invalid libdb path specified. No db.h found.)])
- fi
-
- DB_LDFLAGS="-L${dbpath}/lib"
- LDFLAGS="$DB_LDFLAGS ${LDFLAGS}"
-
- LIBS="${oldlibs} -ldb -lpthread"
- DB_LIB="-ldb"
- CFLAGS="$DB_CFLAGS $oldcflags"
- AC_TRY_LINK(
- [#include <db.h>],
- [DB *dbp; db_create(&dbp, NULL, 0);],
- lib=db)
- CFLAGS=$oldcflags
-
- else
- for lib in db4 db3 db notfound; do
- LIBS="${oldlibs} -l$lib -lpthread"
- DB_LIB="-l$lib"
- AC_TRY_LINK(
- [#include <db.h>],
- [DB *dbp; db_create(&dbp, NULL, 0);],
- [break])
- done
- fi
-
- dnl reset LIBS value and just report through DB_LIB
- LIBS=$oldlibs
- if test "x$lib" = "xnotfound" ; then
- AC_MSG_ERROR(could not find DB libraries)
- else
- AC_MSG_RESULT($lib)
- fi
- AC_SUBST(DB_CFLAGS)
- AC_SUBST(DB_LIB)
-
- dnl See if we have a new enough version of Berkeley DB; needed for
- dnl compilation of trove-dbpf component
- dnl AC_MSG_CHECKING(whether version of Berkeley DB is new enough)
- dnl AC_TRY_COMPILE([
- dnl #include <db.h>
- dnl ], [
- dnl #if DB_VERSION_MAJOR < 4
- dnl #error "DB_VERSION_MAJOR < 4; need newer Berkeley DB implementation"
- dnl #endif
- dnl ], AC_MSG_RESULT(yes),
- dnl AC_MSG_RESULT(no)
- dnl AC_MSG_ERROR(Need newer (4.x.x or later) version of Berkeley DB.
- dnl try: http://www.sleepycat.com/download/index.shtml
- dnl or: /parl/pcarns/rpms/db4-4.0.14-1mdk.src.rpm (to build rpm))
- dnl )
-
- dnl Test to check for DB_ENV variable to error callback fn. Then
- dnl test to see if third parameter must be const (related but not
- dnl exactly the same).
- AC_MSG_CHECKING(for dbenv parameter to DB error callback function)
- oldcflags=$CFLAGS
- CFLAGS="$USR_CFLAGS $DB_CFLAGS -Werror"
- AC_TRY_COMPILE([
- #include <db.h>
-
- void error_callback_fn(const DB_ENV *dbenv,
- const char *prefix,
- const char *message)
- {
- return;
- }
- ], [
- DB *db;
-
- db->set_errcall(db, error_callback_fn);
- ], AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_DBENV_PARAMETER_TO_DB_ERROR_CALLBACK, 1,
- Define if DB error callback function takes dbenv parameter)
- have_dbenv_parameter_to_db_error_callback=yes,
- AC_MSG_RESULT(no)
- have_dbenv_parameter_to_db_error_callback=no)
-
- if test "x$have_dbenv_parameter_to_db_error_callback" = "xyes" ; then
- dnl Test if compilation succeeds without const; we expect that it will
- dnl not.
- dnl NOTE: still using -Werror!
- AC_MSG_CHECKING(if third parameter to error callback function is const)
- AC_TRY_COMPILE([
- #include <db.h>
-
- void error_callback_fn(const DB_ENV *dbenv,
- const char *prefix,
- char *message)
- {
- return;
- }
- ], [
- DB *db;
-
- db->set_errcall(db, error_callback_fn);
- ], AC_MSG_RESULT(no),
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_CONST_THIRD_PARAMETER_TO_DB_ERROR_CALLBACK, 1,
- Define if third param (message) to DB error callback function is const))
- fi
-
- CFLAGS="$USR_CFLAGS $DB_CFLAGS -Werror"
- dnl Test to check for unknown third param to DB stat (four params
- dnl total). The unknown parameter is a function ptr so that the
- dnl the user can pass in a replcaement for malloc.
- dnl Note: this is a holdover from relatively old DB implementations,
- dnl while the txnid parameter is new. So we don't test for the old
- dnl unknown parameter if we found the new one.
- AC_MSG_CHECKING(for DB stat with malloc function ptr)
- AC_TRY_COMPILE([
- #include <db.h>
- #include <stdlib.h>
- ], [
- int ret = 0;
- DB *db = db;
- int dummy = 0;
- u_int32_t flags = 0;
-
- ret = db->stat(db, &dummy, malloc, flags);
- ], AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_UNKNOWN_PARAMETER_TO_DB_STAT, 1,
- Define if DB stat function takes malloc function ptr)
- have_db_stat_malloc=yes,
- AC_MSG_RESULT(no)
- have_db_stat_malloc=no)
-
- dnl Test to check for txnid parameter to DB stat (DB 4.3.xx+)
- if test "x$have_db_stat_malloc" = "xno" ; then
-
- AC_MSG_CHECKING(for txnid parameter to DB stat function)
- AC_TRY_COMPILE([
- #include <db.h>
- ], [
- int ret = 0;
- DB *db = db;
- DB_TXN *txnid = txnid;
- u_int32_t flags = 0;
-
- ret = db->stat(db, txnid, NULL, flags);
- ], AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_TXNID_PARAMETER_TO_DB_STAT, 1,
- Define if DB stat function takes txnid parameter)
- have_txnid_param_to_stat=yes,
- AC_MSG_RESULT(no)
- have_txnid_param_to_stat=no)
-
- fi
-
- dnl Test to check for txnid parameter to DB open (DB4.1+)
- AC_MSG_CHECKING(for txnid parameter to DB open function)
- AC_TRY_COMPILE([
- #include <db.h>
- ], [
- int ret = 0;
- DB *db = NULL;
- DB_TXN *txnid = NULL;
- char *file = NULL;
- char *database = NULL;
- DBTYPE type = 0;
- u_int32_t flags = 0;
- int mode = 0;
-
- ret = db->open(db, txnid, file, database, type, flags, mode);
- ], AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_TXNID_PARAMETER_TO_DB_OPEN, 1,
- Define if DB open function takes a txnid parameter),
- AC_MSG_RESULT(no))
-
- dnl check for DB_DIRTY_READ (it is not in db-3.2.9, for example)
- AC_MSG_CHECKING(for DB_DIRTY_READ flag)
- AC_TRY_COMPILE([
- #include <db.h>
- ], [
- u_int32_t flags = DB_DIRTY_READ;
- ], AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_DB_DIRTY_READ, 1, [Define if db library has DB_DIRTY_READ flag]),
- AC_MSG_RESULT(no))
-
- dnl check for DB_BUFFER_SMALL (it is returned by dbp->get in db-4.4 and up)
- AC_MSG_CHECKING(for DB_BUFFER_SMALL error)
- AC_TRY_COMPILE([
- #include <db.h>
- ], [
- int res = DB_BUFFER_SMALL;
- res++;
- ], AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_DB_BUFFER_SMALL, 1, [Define if db library has DB_BUFFER_SMALL error]),
- AC_MSG_RESULT(no))
-
- dnl Test to check for db->get_pagesize
- AC_MSG_CHECKING(for berkeley db get_pagesize function)
- AC_TRY_COMPILE([
- #include <db.h>
- ], [
- int ret = 0;
- DB *db = NULL;
- int pagesize;
-
- ret = db->get_pagesize(db, &pagesize);
- ], AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_DB_GET_PAGESIZE, 1, [Define if DB has get_pagesize function]),
- AC_MSG_RESULT(no))
-
- CFLAGS="$oldcflags"
-])
diff --git a/code/maint/config/ghc.m4 b/code/maint/config/ghc.m4
deleted file mode 100644
index c3933bb..0000000
--- a/code/maint/config/ghc.m4
+++ /dev/null
@@ -1,26 +0,0 @@
-AC_DEFUN([AX_CHECK_GHCPKG],
-[
- GHCPKG=$1
- pkgname=$2
- AC_MSG_CHECKING([for valid ghc $pkgname module..])
- res=`$GHCPKG find-module --simple-output $pkgname`
- if test -z "$res"; then
- AC_MSG_ERROR(no. Please run the scripts setup-hs-local and setup-langc in maint/hs/.)
- fi
- AC_MSG_RESULT(yes)
-])
-
-AC_DEFUN([AX_GHC],
-[
- AC_ARG_WITH(ghc,
- [ --with-ghc=<dir> Location of installed ghc],
- [AC_PATH_PROG(GHC, ${withval}/bin/ghc)
- AC_PATH_PROG(GHCPKG, ghc-pkg, ${withval}/bin/ghc-pkg)],
- [AC_PATH_PROG(GHC, ghc)
- AC_PATH_PROG(GHCPKG, ghc-pkg)])
- AC_SUBST(GHC)
- AC_SUBST(GHCPKG)
-
- AX_CHECK_GHCPKG($GHCPKG, Language.C)
- AX_CHECK_GHCPKG($GHCPKG, Text.Regex.PCRE)
-])
diff --git a/code/maint/config/install-sh b/code/maint/config/install-sh
deleted file mode 100755
index ebc6691..0000000
--- a/code/maint/config/install-sh
+++ /dev/null
@@ -1,250 +0,0 @@
-#! /bin/sh
-#
-# install - install a program, script, or datafile
-# This comes from X11R5 (mit/util/scripts/install.sh).
-#
-# Copyright 1991 by the Massachusetts Institute of Technology
-#
-# Permission to use, copy, modify, distribute, and sell this software and its
-# documentation for any purpose is hereby granted without fee, provided that
-# the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission. M.I.T. makes no representations about the
-# suitability of this software for any purpose. It is provided "as is"
-# without express or implied warranty.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch. It can only install one file at a time, a restriction
-# shared with many OS's install programs.
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
- case $1 in
- -c) instcmd="$cpprog"
- shift
- continue;;
-
- -d) dir_arg=true
- shift
- continue;;
-
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
-
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd="$stripprog"
- shift
- continue;;
-
- -t=*) transformarg=`echo $1 | sed 's/-t=//'`
- shift
- continue;;
-
- -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
- shift
- continue;;
-
- *) if [ x"$src" = x ]
- then
- src=$1
- else
- # this colon is to work around a 386BSD /bin/sh bug
- :
- dst=$1
- fi
- shift
- continue;;
- esac
-done
-
-if [ x"$src" = x ]
-then
- echo "install: no input file specified"
- exit 1
-else
- true
-fi
-
-if [ x"$dir_arg" != x ]; then
- dst=$src
- src=""
-
- if [ -d $dst ]; then
- instcmd=:
- else
- instcmd=mkdir
- fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad
-# if $src (and thus $dsttmp) contains '*'.
-
- if [ -f $src -o -d $src ]
- then
- true
- else
- echo "install: $src does not exist"
- exit 1
- fi
-
- if [ x"$dst" = x ]
- then
- echo "install: no destination specified"
- exit 1
- else
- true
- fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
- if [ -d $dst ]
- then
- dst="$dst"/`basename $src`
- else
- true
- fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-# this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
-'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
- pathcomp="${pathcomp}${1}"
- shift
-
- if [ ! -d "${pathcomp}" ] ;
- then
- $mkdirprog "${pathcomp}"
- else
- true
- fi
-
- pathcomp="${pathcomp}/"
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
- $doit $instcmd $dst &&
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
- if [ x"$transformarg" = x ]
- then
- dstfile=`basename $dst`
- else
- dstfile=`basename $dst $transformbasename |
- sed $transformarg`$transformbasename
- fi
-
-# don't allow the sed command to completely eliminate the filename
-
- if [ x"$dstfile" = x ]
- then
- dstfile=`basename $dst`
- else
- true
- fi
-
-# Make a temp file name in the proper directory.
-
- dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
- $doit $instcmd $src $dsttmp &&
-
- trap "rm -f ${dsttmp}" 0 &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing. If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
-
-# Now rename the file to the real destination.
-
- $doit $rmcmd -f $dstdir/$dstfile &&
- $doit $mvcmd $dsttmp $dstdir/$dstfile
-
-fi &&
-
-
-exit 0
diff --git a/code/maint/config/libev.m4 b/code/maint/config/libev.m4
deleted file mode 100644
index e3f4c81..0000000
--- a/code/maint/config/libev.m4
+++ /dev/null
@@ -1,39 +0,0 @@
-dnl this file is part of libev, do not make local modifications
-dnl http://software.schmorp.de/pkg/libev
-
-dnl libev support
-AC_CHECK_HEADERS(sys/inotify.h sys/epoll.h sys/event.h port.h poll.h sys/select.h sys/eventfd.h sys/signalfd.h)
-
-AC_CHECK_FUNCS(inotify_init epoll_ctl kqueue port_create poll select eventfd signalfd)
-
-AC_CHECK_FUNCS(clock_gettime, [], [
- dnl on linux, try syscall wrapper first
- if test $(uname) = Linux; then
- AC_MSG_CHECKING(for clock_gettime syscall)
- AC_LINK_IFELSE([AC_LANG_PROGRAM(
- [#include <unistd.h>
- #include <sys/syscall.h>
- #include <time.h>],
- [struct timespec ts; int status = syscall (SYS_clock_gettime, CLOCK_REALTIME, &ts)])],
- [ac_have_clock_syscall=1
- AC_DEFINE(HAVE_CLOCK_SYSCALL, 1, "use syscall interface for clock_gettime")
- AC_MSG_RESULT(yes)],
- [AC_MSG_RESULT(no)])
- fi
- if test -z "$LIBEV_M4_AVOID_LIBRT" && test -z "$ac_have_clock_syscall"; then
- AC_CHECK_LIB(rt, clock_gettime)
- unset ac_cv_func_clock_gettime
- AC_CHECK_FUNCS(clock_gettime)
- fi
-])
-
-AC_CHECK_FUNCS(nanosleep, [], [
- if test -z "$LIBEV_M4_AVOID_LIBRT"; then
- AC_CHECK_LIB(rt, nanosleep)
- unset ac_cv_func_nanosleep
- AC_CHECK_FUNCS(nanosleep)
- fi
-])
-
-AC_CHECK_LIB(m, ceil)
-
diff --git a/code/maint/config/sqlite.m4 b/code/maint/config/sqlite.m4
deleted file mode 100644
index 677d24c..0000000
--- a/code/maint/config/sqlite.m4
+++ /dev/null
@@ -1,185 +0,0 @@
-dnl TRITON_LIB_SQLITE(minimum_ver)
-dnl
-dnl Search for a suitable version of sqlite. minimum_ver is a
-dnl version string which is the lowest suitable version we can use.
-dnl
-dnl If a --with-sqlite=PREFIX option is passed, look for a suitable sqlite
-dnl installed under the directory PREFIX, otherwise search system
-dnl
-dnl If the search for sqlite fails, set triton_lib_sqlite to no, otherwise set
-dnl it to yes.
-
-AC_DEFUN([TRITON_LIB_SQLITE],
-[
- SQLITE_MINIMUM_VER="$1"
- SQLITE_PKGNAME="sqlite3"
- BUILD_OSD=
-
- TRITON_SQLITE_MIN_VERNUM_PARSE
-
- AC_MSG_NOTICE([checking sqlite library])
-
- AC_ARG_WITH(sqlite,
- AS_HELP_STRING([--with-sqlite=PREFIX],
- [Use installed SQLite library or amalgamation file.]),
- [
- if test "$withval" = "yes" ; then
- AC_MSG_ERROR([--with-sqlite requires an argument.])
- else
- sqlite_dir="$withval"
- fi
-
- if test -d $sqlite_dir; then
- dnl pointed at an sqlite installation
- TRITON_SQLITE_DIR_CONFIG($sqlite_dir)
- else
- AC_MSG_ERROR([$sqlite_dir is not a directory.])
- fi
-
- # if a --with-sqlite argument was given, then we should complain if we
- # can't find it there
- if test -z "$triton_lib_sqlite"; then
- AC_MSG_ERROR([no suitable sqlite found in $sqlite_dir])
- else
- BUILD_OSD=1
- fi
- ],
- [
- if test -z "$triton_lib_sqlite"; then
- dnl check the "standard" location of /usr
- TRITON_SQLITE_DIR_CONFIG()
- fi
-
- if test -z "$triton_lib_sqlite"; then
- dnl no --with-sqlite switch, and no sqlite subdir, look in PATH
- TRITON_SQLITE_PKG_CONFIG
- fi
-
-# if test -z "$triton_lib_sqlite"; then
-# TRITON_DOWNLOAD_SQLITE
-# fi
- if test -n "$triton_lib_sqlite"; then
- BUILD_OSD=1
- fi
- ])
-
- AC_SUBST(TRITON_SQLITE_INCLUDES)
- AC_SUBST(TRITON_SQLITE_LIBS)
- AC_SUBST(BUILD_OSD)
-])
-
-dnl TRITON_SQLITE_PKG_CONFIG
-dnl
-dnl Look for sqlite in PATH using pkg-config.
-AC_DEFUN([TRITON_SQLITE_PKG_CONFIG],
-[
- if test -n "$PKG_CONFIG"; then
- AC_MSG_CHECKING([sqlite library version (via pkg-config)])
- sqlite_version=`$PKG_CONFIG $SQLITE_PKGNAME --modversion --silence-errors`
-
- if test -n "$sqlite_version"; then
- TRITON_SQLITE_VERNUM_PARSE
-
- if test "$sqlite_ver_num" -ge "$sqlite_min_ver_num"; then
- AC_MSG_RESULT([$sqlite_version])
- triton_lib_sqlite="yes"
- TRITON_SQLITE_INCLUDES="`$PKG_CONFIG $SQLITE_PKGNAME --cflags`"
- TRITON_SQLITE_LIBS="`$PKG_CONFIG $SQLITE_PKGNAME --libs`"
- else
- AC_MSG_RESULT([none or unsupported $sqlite_version])
- fi
- fi
- fi
-
- if test -z "$triton_lib_sqlite"; then
- AC_MSG_RESULT(no)
- fi
-])
-
-dnl TRITON_SQLITE_DIR_CONFIG(sqlite_dir)
-dnl
-dnl Check to see if we've got an appropriate sqlite library at sqlite_dir.
-dnl If we don't, fail.
-AC_DEFUN([TRITON_SQLITE_DIR_CONFIG],
-[
- if test -z "$1"; then
- sqlite_dir=""
- sqlite_include="sqlite3.h"
- else
- sqlite_dir="$1"
- sqlite_include="$1/include/sqlite3.h"
- fi
-
- save_CPPFLAGS="$CPPFLAGS"
- save_LDFLAGS="$LDFLAGS"
-
- if test ! -z "$1"; then
- CPPFLAGS="$CPPFLAGS -I$sqlite_dir/include"
- LDFLAGS="$LDFLAGS -L$sqlite_dir/lib"
- fi
-
- AC_CHECK_HEADER(sqlite3.h,
- [
- AC_MSG_CHECKING([sqlite library version (via header)])
- AC_EGREP_CPP(SQLITE_VERSION_OKAY,[
-#include "$sqlite_include"
-#if SQLITE_VERSION_NUMBER >= $sqlite_min_ver_num
-SQLITE_VERSION_OKAY
-#endif],
- [AC_MSG_RESULT([okay])
- AC_CHECK_LIB(sqlite3, sqlite3_close, [
- triton_lib_sqlite="yes"
- if test -z "$sqlite_dir" -o ! -d "$sqlite_dir"; then
- TRITON_SQLITE_LIBS="-lsqlite3"
- else
- TRITON_SQLITE_INCLUDES="-I$sqlite_dir/include"
- TRITON_SQLITE_LIBS="-L$sqlite_dir/lib -lsqlite3"
- fi
- ])], [AC_MSG_RESULT([unsupported SQLite version])])
- ])
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
-])
-
-dnl TRITON_SQLITE_VERNUM_PARSE()
-dnl
-dnl Parse a x.y[.z] version string sqlite_version into a number sqlite_ver_num.
-AC_DEFUN([TRITON_SQLITE_VERNUM_PARSE],
-[
- sqlite_major=`expr $sqlite_version : '\([[0-9]]*\)'`
- sqlite_minor=`expr $sqlite_version : '[[0-9]]*\.\([[0-9]]*\)'`
- sqlite_micro=`expr $sqlite_version : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
- if test -z "$sqlite_micro"; then
- sqlite_micro=0
- fi
- sqlite_ver_num=`expr $sqlite_major \* 1000000 \
- \+ $sqlite_minor \* 1000 \
- \+ $sqlite_micro`
-])
-
-dnl TRITON_SQLITE_MIN_VERNUM_PARSE()
-dnl
-dnl Parse a x.y.z version string SQLITE_MINIMUM_VER into a number
-dnl sqlite_min_ver_num.
-AC_DEFUN([TRITON_SQLITE_MIN_VERNUM_PARSE],
-[
- sqlite_min_major=`expr $SQLITE_MINIMUM_VER : '\([[0-9]]*\)'`
- sqlite_min_minor=`expr $SQLITE_MINIMUM_VER : '[[0-9]]*\.\([[0-9]]*\)'`
- sqlite_min_micro=`expr $SQLITE_MINIMUM_VER : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
- sqlite_min_ver_num=`expr $sqlite_min_major \* 1000000 \
- \+ $sqlite_min_minor \* 1000 \
- \+ $sqlite_min_micro`
-])
-
-dnl TRITON_DOWNLOAD_SQLITE()
-dnl no sqlite found, print out a message telling the user what to do
-AC_DEFUN([TRITON_DOWNLOAD_SQLITE],
-[
- echo ""
- echo "An appropriate version of sqlite could not be found. We require"
- echo "at least ${SQLITE_MINIMUM_VER}. Please install a newer sqlite "
- echo "on this system."
- echo ""
- AC_MSG_ERROR([Grayskull requires SQLite])
-])
diff --git a/code/maint/config/unix.m4 b/code/maint/config/unix.m4
deleted file mode 100644
index babc01e..0000000
--- a/code/maint/config/unix.m4
+++ /dev/null
@@ -1,60 +0,0 @@
-
-AC_DEFUN([AX_UNIX],
-[
-
- dnl figure out the library type
- dnl Darwin/OSX doesn't allow static linking
- dnl and dynamic libraries are .dylib files rather
- dnl than shared objects
- AS_CASE([$host],
- [darwin*-*-*], [USE_DYLIBS=yes],
- [USE_DYLIBS=""]
- )
- AC_SUBST([USE_DYLIBS])
-
- dnl Need to check for O_DIRECT, doesn't exist on Darwin/OSX
- AC_MSG_CHECKING(for O_DIRECT)
- AC_COMPILE_IFELSE([
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-
-void testodirect(void)
-{
- open(NULL, O_DIRECT);
-}
-],
-AC_MSG_RESULT(yes)
-AC_DEFINE(HAVE_ODIRECT, 1, Define if O_DIRECT exists),
-AC_MSG_RESULT(no))
-
-dnl Need to check for O_NOATIME, doesn't exist on Darwin/OSX
-AC_MSG_CHECKING(for O_NOATIME)
-AC_COMPILE_IFELSE([
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-
-void testnoatime(void)
-{
- open(NULL, O_NOATIME);
-}
-],
-AC_MSG_RESULT(yes)
-AC_DEFINE(HAVE_NOATIME, 1, Define if O_NOATIME exists),
-AC_MSG_RESULT(no))
-
-dnl OSX >= 10.5 has blocks support, which defaults to including some nasty non-ANSI C code in standard headers
-AC_MSG_CHECKING([for OS X blocks support])
-AC_COMPILE_IFELSE(
-[#include <stdlib.h>
-#ifdef __BLOCKS__
-#error "OSX defines __BLOCKS__ and includes that aren't ANSI C"
-#endif
-],
-[AC_MSG_RESULT(no)],
-[AC_MSG_RESULT(yes)
-CFLAGS="$CFLAGS -fno-blocks"])
-
-
-])
diff --git a/code/maint/depend-ae.sh b/code/maint/depend-ae.sh
deleted file mode 100755
index 03a5067..0000000
--- a/code/maint/depend-ae.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-DIR="$1"
-shift
-SRCDIR="$1"
-shift
-if [ -n "$DIR" ] ; then
- DIR="$DIR"/
-fi
-# Explanation of some arguments:
-# -MG tells gcc to ignore errors from missing header files, which is
-# important in Triton because some of them are autogenerated and won't exist
-# yet when we run this tool.
-# -MM tells gcc not to bother including system header files. Our
-# build is slow enough already so it isn't worth it.
-# -x c tells gcc to pretend like the input file is a c file regardless of
-# filename extension. This is useful for cases where we want gcc to
-# generate dependencies on raw .ae files.
-# there is one manual addition to the dependencies (ae-blocking-parser.h)
-# which is implicitly added by the aesop parser
-exec $CC -x c -M -MM -MG "$@" | sed -e "s@^\(.*\)\.o:@$DIR\1.o: $SRCDIR/src/aesop/ae-blocking-parser.h@"
diff --git a/code/maint/depend-hae.sh b/code/maint/depend-hae.sh
deleted file mode 100755
index 2ac0ce0..0000000
--- a/code/maint/depend-hae.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-DIR="$1"
-shift
-SRCDIR="$1"
-shift
-if [ -n "$DIR" ] ; then
- DIR="$DIR"/
-fi
-
-# Explanation of some arguments:
-# -MG tells gcc to ignore errors from missing header files, which is
-# important in Triton because some of them are autogenerated and won't exist
-# yet when we run this tool.
-# -MM tells gcc not to bother including system header files. Our
-# build is slow enough already so it isn't worth it.
-# -x c tells gcc to pretend like the input file is a c file regardless of
-# filename extension. This is useful for cases where we want gcc to
-# generate dependencies on raw .ae files.
-# there is one manual addition to the dependencies (ae-blocking-parser.h)
-# which is implicitly added by the aesop parser
-exec $CC -x c -M -MM -MG "$@" | sed -e "s@^\(.*\)\.o:@$DIR\1.h: $SRCDIR/src/aesop/ae-blocking-parser.h@"
diff --git a/code/maint/depend.sh b/code/maint/depend.sh
deleted file mode 100755
index e05fe68..0000000
--- a/code/maint/depend.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-DIR="$1"
-shift
-if [ -n "$DIR" ] ; then
- DIR="$DIR"/
-fi
-# Explanation of some arguments:
-# -MG tells gcc to ignore errors from missing header files, which is
-# important in Triton because some of them are autogenerated and won't exist
-# yet when we run this tool.
-# -MM tells gcc not to bother including system header files. Our
-# build is slow enough already so it isn't worth it.
-# -x c tells gcc to pretend like the input file is a c file regardless of
-# filename extension. This is useful for cases where we want gcc to
-# generate dependencies on raw .ae files.
-exec $CC -x c -M -MM -MG "$@" | sed -e "s@^\(.*\)\.o:@$DIR\1.o:@"
diff --git a/code/maint/ditaa/COPYING b/code/maint/ditaa/COPYING
deleted file mode 100644
index 5b6e7c6..0000000
--- a/code/maint/ditaa/COPYING
+++ /dev/null
@@ -1,340 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/code/maint/ditaa/HISTORY b/code/maint/ditaa/HISTORY
deleted file mode 100644
index 41b9339..0000000
--- a/code/maint/ditaa/HISTORY
+++ /dev/null
@@ -1,16 +0,0 @@
-Version 0.9
-* New shapes:
- * Ellipse {o}
- * Manual operation {mo}
- * Decision {c} ("Choice")
- * Trapezoid {tr}
-* Eliminated memory leak
-* Further parsing optimisations (pre-compiled regexes)
-
-Version 0.8
-* Parsing optimisation (~90% faster)
-* Fixed line separation bugs
-* Fixed open shape rendering bugs (missing lines)
-* Generally more reliable
-* Tidying-up of command-line options (now using Apache commons-cli)
-* Streamlined release process
diff --git a/code/maint/ditaa/ditaa.jar b/code/maint/ditaa/ditaa.jar
deleted file mode 120000
index 39a10da..0000000
--- a/code/maint/ditaa/ditaa.jar
+++ /dev/null
@@ -1 +0,0 @@
-ditaa0_9.jar
\ No newline at end of file
diff --git a/code/maint/ditaa/ditaa0_9.jar b/code/maint/ditaa/ditaa0_9.jar
deleted file mode 100644
index 5894de4..0000000
Binary files a/code/maint/ditaa/ditaa0_9.jar and /dev/null differ
diff --git a/code/maint/handle-ditaa.py b/code/maint/handle-ditaa.py
deleted file mode 100755
index e822efc..0000000
--- a/code/maint/handle-ditaa.py
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/usr/bin/env python
-import sys
-import re
-import subprocess
-import tempfile
-import getopt
-import os
-
-header = re.compile("\[DITAA START\s+\((.*?)\)?\]")
-
-def main(document, ditaaPath, imageDir):
- parsed = []
- parsing = False
- filename = ""
- worklist = {}
- for line in document:
- m = header.match(line)
- if m:
- flags = m.groups()
- if flags:
- flags = "[%s]" % flags
- else:
- flags = ""
- handle, filename = tempfile.mkstemp(
- suffix=".jpg", prefix="ditaa-figure-", dir=imageDir)
- os.close(handle)
- parsed.append("image:%s%s\n\n" % (filename, flags))
- parsing = True
- worklist[filename] = ""
- elif line.strip() == "[DITAA END]":
- fd, asciiname = tempfile.mkstemp(
- suffix = ".txt", prefix="asciiart-", dir="/tmp")
- a = os.fdopen(fd, "w+b")
- a.write(worklist[filename])
- a.close()
- parsing = False
- job = subprocess.Popen(["java", "-jar", ditaaPath, "-o", asciiname, filename], stdout=subprocess.PIPE)
- job.wait()
- os.unlink(asciiname)
- elif parsing:
- worklist[filename] += line
- else:
- parsed.append(line)
-
- print "".join(parsed)
-
-if __name__ == "__main__":
-
- imageDir = None
- ditaaPath = None
-
- options, args = getopt.getopt(sys.argv[1:], "d:j:")
- for o, v in options:
- if o == "-d":
- imageDir = v
- if o == "-j":
- ditaaPath = v
-
- if imageDir == None:
- print "usage: [-d <image directory>] [-j <path to ditaa jar>]\n"
- sys.exit(1)
-
- if len(args) == 1:
- document = open(args[0], "r").readlines()
- else:
- document = sys.stdin.readlines()
- main(document, ditaaPath, imageDir)
-
-#
-#./handle-ditaa.py $1 | asciidoc -d book -o $TARGET -
diff --git a/code/maint/hs/language-c-0.4.tar.gz b/code/maint/hs/language-c-0.4.tar.gz
deleted file mode 100644
index 505521f..0000000
Binary files a/code/maint/hs/language-c-0.4.tar.gz and /dev/null differ
diff --git a/code/maint/hs/language-c.patch b/code/maint/hs/language-c.patch
deleted file mode 100644
index fffc133..0000000
--- a/code/maint/hs/language-c.patch
+++ /dev/null
@@ -1,317 +0,0 @@
-diff -Naur language-c-0.4/language-c.cabal language-c-0.4-new/language-c.cabal
---- language-c-0.4/language-c.cabal 2011-01-06 11:46:35.000000000 -0600
-+++ language-c-0.4-new/language-c.cabal 2011-01-06 15:31:57.629238232 -0600
-@@ -1,4 +1,4 @@
--Name: language-c
-+Name: language-aesop
- Version: 0.4
- Cabal-Version: >= 1.2
- Build-Type: Simple
-@@ -6,7 +6,7 @@
- License-File: LICENSE
- Copyright: LICENSE
- Author: AUTHORS
--Maintainer: benedikt.huber(a)gmail.com
-+Maintainer: benedikt.huber(a)gmail.com [Modified by Sam Lang (slang(a)mcs.anl.gov) for aesop]
- Stability: experimental
- Homepage: http://www.sivity.net/projects/language.c/
- Bug-reports: http://www.sivity.net/projects/language.c/
-@@ -14,6 +14,7 @@
- Description: Language C is a haskell library for the analysis and generation of C code.
- It features a complete, well tested parser and pretty printer for all of C99 and a large
- set of GNU extensions.
-+ This modified version includes extensions for AESOP.
- Category: Language
-
- Extra-Source-Files: AUTHORS AUTHORS.c2hs ChangeLog README
-@@ -48,7 +49,6 @@
- Build-Depends: bytestring >= 0.9.0
- else
- cpp-options: -DNO_BYTESTRING
-- Build-Tools: happy, alex
-
- Hs-Source-Dirs: src
- Exposed-Modules:
-diff -Naur language-c-0.4/src/Language/C/Data/Ident.hs language-c-0.4-new/src/Language/C/Data/Ident.hs
---- language-c-0.4/src/Language/C/Data/Ident.hs 2011-01-06 11:46:35.000000000 -0600
-+++ language-c-0.4-new/src/Language/C/Data/Ident.hs 2011-01-06 15:31:57.632007216 -0600
-@@ -17,7 +17,7 @@
- module Language.C.Data.Ident (
- Ident(..),
- SUERef(..), isAnonymousRef,
-- mkIdent, builtinIdent, internalIdent, internalIdentAt, isInternalIdent, identToString, dumpIdent)
-+ mkIdent, builtinIdent, internalIdent, internalIdentAt, isInternalIdent, identToString, dumpIdent, hashIdent)
- where
-
- -- TODO (comment from manuel):
-@@ -133,3 +133,6 @@
- -- | dump the identifier string and its positions for debugging purposes
- dumpIdent :: Ident -> String
- dumpIdent ide = identToString ide ++ " at " ++ show (nodeInfo ide)
-+
-+hashIdent :: Ident -> Int
-+hashIdent (Ident _ h _) = h
-diff -Naur language-c-0.4/src/Language/C/Data/Position.hs language-c-0.4-new/src/Language/C/Data/Position.hs
---- language-c-0.4/src/Language/C/Data/Position.hs 2011-01-06 11:46:35.000000000 -0600
-+++ language-c-0.4-new/src/Language/C/Data/Position.hs 2011-01-06 15:31:57.634482017 -0600
-@@ -50,7 +50,7 @@
- show BuiltinPosition = "<builtin>"
- show InternalPosition = "<internal>"
-
--{-# DEPRECATED posColumn "column number information is inaccurate in presence of macros - do not rely on it." #-}
-+{-- DEPRECATED posColumn "column number information is inaccurate in presence of macros - do not rely on it." --}
-
- -- | @position absoluteOffset fileName lineNumber columnNumber@ initializes a @Position@ using the given arguments
- position :: Int -> String -> Int -> Int -> Position
-diff -Naur language-c-0.4/src/Language/C/Parser/Lexer.x language-c-0.4-new/src/Language/C/Parser/Lexer.x
---- language-c-0.4/src/Language/C/Parser/Lexer.x 2011-01-06 11:46:35.000000000 -0600
-+++ language-c-0.4-new/src/Language/C/Parser/Lexer.x 2011-01-06 15:31:57.636922062 -0600
-@@ -351,6 +351,13 @@
- idkwtok ('v' : 'o' : 'l' : 'a' : 't' : 'i' : 'l' : 'e' : []) = tok 8 CTokVolatile
- idkwtok ('_' : '_' : 'v' : 'o' : 'l' : 'a' : 't' : 'i' : 'l' : 'e' : '_' : '_' : []) = tok 12 CTokVolatile
- idkwtok ('w' : 'h' : 'i' : 'l' : 'e' : []) = tok 5 CTokWhile
-+idkwtok ('_':'_':'b':'l':'o':'c':'k':'i':'n':'g':[]) = tok 10 CTokBlocking
-+idkwtok ('_':'_':'r':'e':'m':'o':'t':'e':[]) = tok 10 CTokRemote
-+idkwtok ('p':'w':'a':'i':'t':[]) = tok 5 CTokPWait
-+idkwtok ('p':'b':'r':'a':'n':'c':'h':[]) = tok 7 CTokPBranch
-+idkwtok ('p':'b':'r':'e':'a':'k':[]) = tok 6 CTokPBreak
-+idkwtok ('p':'p':'r':'i':'v':'a':'t':'e':[]) = tok 6 CTokPPrivate
-+idkwtok ('p':'s':'h':'a':'r':'e':'d':[]) = tok 6 CTokPShared
-
- idkwtok cs = \pos -> do
- name <- getNewName
-diff -Naur language-c-0.4/src/Language/C/Parser/Parser.y language-c-0.4-new/src/Language/C/Parser/Parser.y
---- language-c-0.4/src/Language/C/Parser/Parser.y 2011-01-11 11:33:19.331089585 -0600
-+++ language-c-0.4-new/src/Language/C/Parser/Parser.y 2011-01-11 11:44:45.593786776 -0600
-@@ -217,6 +217,8 @@
- typedef { CTokTypedef _ }
- typeof { CTokTypeof _ }
- "__thread" { CTokThread _ }
-+"__blocking" { CTokBlocking _ }
-+"__remote" { CTokRemote _ }
- union { CTokUnion _ }
- unsigned { CTokUnsigned _ }
- void { CTokVoid _ }
-@@ -236,6 +238,11 @@
- "__builtin_va_arg" { CTokGnuC GnuCVaArg _ }
- "__builtin_offsetof" { CTokGnuC GnuCOffsetof _ }
- "__builtin_types_compatible_p" { CTokGnuC GnuCTyCompat _ }
-+pwait { CTokPWait _ }
-+pbranch { CTokPBranch _ }
-+pbreak { CTokPBreak _ }
-+pshared { CTokPShared _ }
-+pprivate { CTokPPrivate _ }
-
- %%
-
-@@ -359,6 +366,7 @@
- | iteration_statement { $1 }
- | jump_statement { $1 }
- | asm_statement {% withNodeInfo $1 (CAsm $1) }
-+ | parallel_statement { $1 }
-
-
- -- parse C labeled statement (C99 6.8.1)
-@@ -473,6 +481,16 @@
- | for '(' enter_scope declaration expression_opt ';' expression_opt ')' statement leave_scope
- {% withNodeInfo $1 $ CFor (Right $4) $5 $7 $9 }
-
-+-- parse Parallel C statement
-+--
-+parallel_statement :: { CStat }
-+parallel_statement
-+ : pwait statement
-+ {% withNodeInfo $1 $ CPWait $2 }
-+ | pbranch statement
-+ {% withNodeInfo $1 $ CPBranch $2 }
-+ | pbreak
-+ {% withNodeInfo $1 $ CPBreak }
-
- -- parse C jump statement (C99 6.8.6)
- --
-@@ -550,7 +568,7 @@
- -- storage class and type qualifier
- ---------------------------------------------------------------------------------------------------------------
- attr :- __attribute__((..))
--storage_class :- typedef | extern | static | auto | register | __thread
-+storage_class :- typedef | extern | static | auto | register | __thread | __blocking | pprivate | ppshared
- type_qualifier :- const | volatile | restrict | inline
- type_qualifier_list :- type_qualifier+
-
-@@ -755,7 +773,7 @@
-
-
- -- A mixture of type qualifiers (const, volatile, restrict, inline) and storage class specifiers
---- (extern, static, auto, register, __thread), in any order, but containing at least one storage class specifier.
-+-- (extern, static, auto, register, __thread, __blocking, pshared, pprivate), in any order, but containing at least one storage class specifier.
- --
- -- declaration_qualifier_list :- <permute> type_qualifier* storage_class+
- --
-@@ -1188,6 +1206,10 @@
- | volatile {% withNodeInfo $1 $ CVolatQual }
- | restrict {% withNodeInfo $1 $ CRestrQual }
- | inline {% withNodeInfo $1 $ CInlineQual }
-+ | "__blocking" {% withNodeInfo $1 $ CBlocking }
-+ | "__remote" {% withNodeInfo $1 $ CRemote }
-+ | pshared {% withNodeInfo $1 $ CPShared }
-+ | pprivate {% withNodeInfo $1 $ CPPrivate }
-
- -- a list containing at least one type_qualifier (const, volatile, restrict, inline)
- -- and additionally CAttrs
-@@ -2161,13 +2183,17 @@
- withAsmNameAttrs (mAsmName, newAttrs) declr = setAsmName mAsmName (appendObjAttrsR newAttrs declr)
-
- appendDeclrAttrs :: [CAttr] -> CDeclrR -> CDeclrR
--appendDeclrAttrs newAttrs (CDeclrR ident (Reversed []) asmname cattrs at)
-- = CDeclrR ident empty asmname (cattrs ++ newAttrs) at
- appendDeclrAttrs newAttrs (CDeclrR ident (Reversed (x:xs)) asmname cattrs at)
-- = CDeclrR ident (Reversed (appendAttrs x : xs)) asmname cattrs at where
-- appendAttrs (CPtrDeclr typeQuals at) = CPtrDeclr (typeQuals ++ map CAttrQual newAttrs) at
-- appendAttrs (CArrDeclr typeQuals arraySize at) = CArrDeclr (typeQuals ++ map CAttrQual newAttrs) arraySize at
-- appendAttrs (CFunDeclr parameters cattrs at) = CFunDeclr parameters (cattrs ++ newAttrs) at
-+ | hasFunDeclr (x:xs) = CDeclrR ident (Reversed (appendAttrs x : xs)) asmname cattrs at
-+ | otherwise = CDeclrR ident (Reversed (x:xs)) asmname (cattrs ++ newAttrs) at
-+ where appendAttrs (CPtrDeclr typeQuals at) = CPtrDeclr (typeQuals ++ map CAttrQual newAttrs) at
-+ appendAttrs (CArrDeclr typeQuals arraySize at) = CArrDeclr (typeQuals ++ map CAttrQual newAttrs) arraySize at
-+ appendAttrs (CFunDeclr parameters cattrs at) = CFunDeclr parameters (cattrs ++ newAttrs) at
-+ isFunDeclr (CFunDeclr _ _ _) = True
-+ isFunDeclr _ = False
-+ hasFunDeclr ds = any isFunDeclr ds
-+appendDeclrAttrs newAttrs (CDeclrR ident derived asmname cattrs at)
-+ = CDeclrR ident derived asmname (cattrs ++ newAttrs) at
-
- ptrDeclr :: CDeclrR -> [CTypeQual] -> NodeInfo -> CDeclrR
- ptrDeclr (CDeclrR ident derivedDeclrs asmname cattrs dat) tyquals at
-diff -Naur language-c-0.4/src/Language/C/Parser/Tokens.hs language-c-0.4-new/src/Language/C/Parser/Tokens.hs
---- language-c-0.4/src/Language/C/Parser/Tokens.hs 2011-01-06 11:46:35.000000000 -0600
-+++ language-c-0.4-new/src/Language/C/Parser/Tokens.hs 2011-01-06 15:31:57.643469288 -0600
-@@ -132,6 +132,13 @@
- | CTokTyIdent !PosLength !Ident -- `typedef-name' identifier
- | CTokGnuC !GnuCTok !PosLength -- special GNU C tokens
- | CTokEof -- end of file
-+ | CTokBlocking !PosLength -- '__blocking'
-+ | CTokRemote !PosLength -- '__remote'
-+ | CTokPWait !PosLength -- `pwait'
-+ | CTokPBranch !PosLength -- `pbranch'
-+ | CTokPBreak !PosLength -- `pbreak'
-+ | CTokPShared !PosLength -- `pshared'
-+ | CTokPPrivate !PosLength -- `pprivate'
-
- -- special tokens used in GNU C extensions to ANSI C
- --
-@@ -242,6 +249,13 @@
- posLenOfTok (CTokIdent pos _) = pos
- posLenOfTok (CTokTyIdent pos _) = pos
- posLenOfTok (CTokGnuC _ pos ) = pos
-+posLenOfTok (CTokBlocking pos ) = pos
-+posLenOfTok (CTokRemote pos ) = pos
-+posLenOfTok (CTokPWait pos ) = pos
-+posLenOfTok (CTokPBranch pos ) = pos
-+posLenOfTok (CTokPBreak pos ) = pos
-+posLenOfTok (CTokPPrivate pos ) = pos
-+posLenOfTok (CTokPShared pos ) = pos
- posLenOfTok CTokEof = error "tokenPos: Eof"
-
- instance Show CToken where
-@@ -327,11 +341,18 @@
- showsPrec _ (CTokTypedef _ ) = showString "typedef"
- showsPrec _ (CTokTypeof _ ) = showString "typeof"
- showsPrec _ (CTokThread _ ) = showString "__thread"
-+ showsPrec _ (CTokBlocking _ ) = showString "__blocking"
-+ showsPrec _ (CTokRemote _ ) = showString "__remote"
- showsPrec _ (CTokUnion _ ) = showString "union"
- showsPrec _ (CTokUnsigned _ ) = showString "unsigned"
- showsPrec _ (CTokVoid _ ) = showString "void"
- showsPrec _ (CTokVolatile _ ) = showString "volatile"
- showsPrec _ (CTokWhile _ ) = showString "while"
-+ showsPrec _ (CTokPWait _ ) = showString "pwait"
-+ showsPrec _ (CTokPBranch _ ) = showString "pbranch"
-+ showsPrec _ (CTokPBreak _ ) = showString "pbreak"
-+ showsPrec _ (CTokPPrivate _ ) = showString "pprivate"
-+ showsPrec _ (CTokPShared _ ) = showString "pshared"
- showsPrec _ (CTokCLit _ c) = shows c
- showsPrec _ (CTokILit _ i) = shows i
- showsPrec _ (CTokFLit _ f) = shows f
-diff -Naur language-c-0.4/src/Language/C/Pretty.hs language-c-0.4-new/src/Language/C/Pretty.hs
---- language-c-0.4/src/Language/C/Pretty.hs 2011-01-06 11:46:35.000000000 -0600
-+++ language-c-0.4-new/src/Language/C/Pretty.hs 2011-01-06 15:31:57.646019992 -0600
-@@ -154,7 +154,11 @@
- pretty (CReturn Nothing _) = ii $ text "return" <> semi
- pretty (CReturn (Just e) _) = ii $ text "return" <+> pretty e <> semi
- pretty (CAsm asmStmt _) = pretty asmStmt
-- prettyPrec p (CCompound localLabels bis _) =
-+ pretty (CPWait stmt _) =
-+ ii $ text "pwait" $+$ prettyPrec (-1) stmt
-+ pretty (CPBranch stmt _) = ii $ text "pbranch" $+$ prettyPrec (-1) stmt
-+ pretty (CPBreak _) = ii $ text "pbreak" <> semi
-+ prettyPrec p (CCompound localLabels bis ni) =
- let inner = text "{" $+$ mlistP ppLblDecls localLabels $+$ vcat (map pretty bis) $$ text "}"
- in if p == -1 then inner else ii inner
- where ppLblDecls = vcat . map (\l -> text "__label__" <+> identP l <+> semi)
-@@ -253,6 +257,10 @@
- pretty (CRestrQual _) = text "__restrict"
- pretty (CInlineQual _) = text "inline"
- pretty (CAttrQual a) = attrlistP [a]
-+ pretty (CBlocking _) = text "__blocking"
-+ pretty (CRemote _) = text "__remote"
-+ pretty (CPShared _) = text "pshared"
-+ pretty (CPPrivate _) = text "pprivate"
-
- instance Pretty CStructUnion where
- pretty (CStruct tag ident Nothing cattrs _) = pretty tag <+> attrlistP cattrs <+> maybeP identP ident
-@@ -375,8 +383,8 @@
- <+> maybeP pretty expr2 <+> text ":" <+> prettyPrec 4 expr3
- prettyPrec p (CBinary op expr1 expr2 _) =
- let prec = binPrec op
-- in parenPrec p prec $ prettyPrec prec expr1
-- <+> pretty op <+> prettyPrec (prec + 1) expr2
-+ in parenPrec p prec $ text "(" <+> prettyPrec prec expr1
-+ <+> pretty op <+> prettyPrec (prec + 1) expr2 <+> text ")"
- prettyPrec p (CCast decl expr _) =
- parenPrec p 25 $ text "(" <> pretty decl <> text ")"
- <+> prettyPrec 25 expr
-diff -Naur language-c-0.4/src/Language/C/Syntax/AST.hs language-c-0.4-new/src/Language/C/Syntax/AST.hs
---- language-c-0.4/src/Language/C/Syntax/AST.hs 2011-01-06 11:46:35.000000000 -0600
-+++ language-c-0.4-new/src/Language/C/Syntax/AST.hs 2011-01-06 15:31:57.648960933 -0600
-@@ -276,6 +276,9 @@
- | CReturn (Maybe (CExpression a)) a
- -- | assembly statement
- | CAsm CAsmStmt a
-+ | CPWait CStat a
-+ | CPBranch CStat a
-+ | CPBreak a
- deriving (Data,Typeable {-! CNode !-})
-
- -- | GNU Assembler statement
-@@ -399,6 +402,10 @@
- | CRestrQual a
- | CInlineQual a
- | CAttrQual (CAttribute a)
-+ | CBlocking a -- ^ blocking function
-+ | CRemote a -- ^ remote function
-+ | CPShared a -- ^ shared variable across pbranch blocks
-+ | CPPrivate a -- ^ private variable across pbranch blocks
- deriving (Data,Typeable {-! CNode !-})
-
- -- | C structure or union specifiers (K&R A8.3, C99 6.7.2.1)
-@@ -663,6 +670,9 @@
- nodeInfo (CBreak d) = nodeInfo d
- nodeInfo (CReturn _ t) = nodeInfo t
- nodeInfo (CAsm _ t) = nodeInfo t
-+ nodeInfo (CPWait _ t) = nodeInfo t
-+ nodeInfo (CPBranch _ t) = nodeInfo t
-+ nodeInfo (CPBreak t) = nodeInfo t
- instance CNode t1 => Pos (CStatement t1)
- where posOf x = posOfNode (nodeInfo x)
-
-@@ -726,6 +736,10 @@
- nodeInfo (CRestrQual d) = nodeInfo d
- nodeInfo (CInlineQual d) = nodeInfo d
- nodeInfo (CAttrQual d) = nodeInfo d
-+ nodeInfo (CBlocking d) = nodeInfo d
-+ nodeInfo (CRemote d) = nodeInfo d
-+ nodeInfo (CPPrivate d) = nodeInfo d
-+ nodeInfo (CPShared d) = nodeInfo d
- instance CNode t1 => Pos (CTypeQualifier t1)
- where posOf x = posOfNode (nodeInfo x)
-
diff --git a/code/maint/parse-error-spec.pl b/code/maint/parse-error-spec.pl
deleted file mode 100755
index 3b1fcbb..0000000
--- a/code/maint/parse-error-spec.pl
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/usr/bin/perl -w
-
-$pgname = $0;
-
-if(scalar(@ARGV) < 3)
-{
- print "usage: ${pgname} <src path> <header file> <source file>\n";
- exit(1);
-}
-
-
-my $srcpath = $ARGV[0];
-
-open(my $HEADER, ">", $ARGV[1]) or die "Failed to open file $ARGV[0] for writing\n";
-open(my $SOURCE, ">", $ARGV[2]) or die "Failed to open file $ARGV[1] for writing\n";
-
-my ($header) = ($ARGV[1] =~ /.*\/([^\/]+)$/);
-my $canon_header = $header;
-$canon_header =~ s/\./_/g;
-$canon_header =~ s/-/_/g;
-
-sub header_entry
-{
- my $name = shift;
- my $string = shift;
-
- print $HEADER "extern triton_error_code_t TRITON_${name}_CODE;\n" ;
- print $HEADER "extern struct triton_error static_triton_${name};\n" ;
- print $HEADER "extern triton_ret_t TRITON_${name};\n\n" ;
-}
-
-sub source_entry
-{
- my $name = shift;
- my $string = shift;
- my $count = shift;
-
- print $SOURCE "triton_error_code_t TRITON_${name}_CODE = ${count};\n" ;
- print $SOURCE "struct triton_error static_triton_${name} = { TRITON_ADDR_NULL_STATIC_INITIALIZER, ${count}, \"${name}\", triton_string_init_const(${string}), 1, NULL};\n" ;
- print $SOURCE "triton_ret_t TRITON_${name} = &static_triton_${name};\n\n" ;
-}
-
-sub header_begin
-{
- print $HEADER "/* This file is generated by ${pgname}. Do not modify! */\n\n" ;
- print $HEADER "#ifndef __", $canon_header, "__\n";
- print $HEADER "#define __", $canon_header, "__\n";
-
-}
-
-sub header_end
-{
- my $count = shift;
- print $HEADER "extern int TRITON_ERROR_COUNT;\n" ;
- print $HEADER "extern struct triton_error *triton_errors[];\n\n" ;
-
- print $HEADER "#endif /* __", $canon_header, "__ */\n";
-}
-
-sub source_begin
-{
- print $SOURCE "/* This file generated by ${pgname}. Do not modify! */\n\n" ;
- print $SOURCE "#include \"src/common/triton-error.h\"\n\n" ;
-}
-
-sub source_end
-{
- my $count = shift;
- my $errors = shift;
-
- print $SOURCE "int TRITON_ERROR_COUNT = $count;\n" ;
-
- print $SOURCE "struct triton_error *triton_errors[] = {\n" ;
- foreach my $e (@{$errors})
- {
- print $SOURCE "&static_triton_", $e->[0], ",\n" ;
- }
-
- print $SOURCE "};\n\n" ;
-}
-
-header_begin ;
-source_begin ;
-
-my $count = 0;
-
-while(<STDIN>)
-{
- if($_ !~ /^#.*/ && $_ !~ /^[ ]*$/)
- {
- $_ =~ /([^ ]*)[ ]+(\".*\")/;
- my $name = $1;
- my $string = $2;
- header_entry($name, $string, $count);
- source_entry($name, $string, $count);
- ++$count;
- push @errors, [$name, $string];
- }
-}
-
-header_end $count;
-my $errorsref = \@errors;
-source_end $count, $errorsref;
diff --git a/code/maint/search-source.sh b/code/maint/search-source.sh
deleted file mode 100755
index 905b6c0..0000000
--- a/code/maint/search-source.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-find . -iname \*.h \
- -o -iname \*.c \
- -o -iname \*.ae \
- -o -iname \*.aer \
- | xargs grep "$*"
diff --git a/code/maint/triton.supp b/code/maint/triton.supp
deleted file mode 100644
index 14a2f9c..0000000
--- a/code/maint/triton.supp
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- bjhash_invalid_read8
- Memcheck:Addr4
- fun:bj_hashlittle2
- fun:*
-}
-
-{
- bjhash_invalid_read4
- Memcheck:Addr4
- fun:bj_hashlittle2
- fun:*
-}
-
-{
- Cond_jump_or_move_depends_on_unintialized_values
- Memcheck:Cond
- fun:*
- fun:__log_put
- fun:*
-}
-
-{
- Syscall_param_pwrite64(buf)_points_to_uninitialised_bytes
- Memcheck:Cond
- fun:*
- fun:__log_flush_int
- fun:*
-}
-
-{
- libev_realloc
- Memcheck:Leak
- fun:*
- fun:ev_realloc_emul
- fun:ev_realloc
- fun:*
-}
-
-
diff --git a/code/prepare b/code/prepare
deleted file mode 100755
index ede73f4..0000000
--- a/code/prepare
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-if aclocal --force -I ./maint/config && autoheader -f && autoconf -f; then
- echo "configure script successfully regenerated"
-else
- echo "some part of configure regeneration failed"
-fi
diff --git a/code/maint/hs/.gitignore b/code/src/aesop/maint/hs/.gitignore
similarity index 100%
rename from code/maint/hs/.gitignore
rename to code/src/aesop/maint/hs/.gitignore
diff --git a/code/maint/hs/setup-hs-debian b/code/src/aesop/maint/hs/setup-hs-debian
similarity index 100%
rename from code/maint/hs/setup-hs-debian
rename to code/src/aesop/maint/hs/setup-hs-debian
diff --git a/code/maint/hs/setup-hs-local b/code/src/aesop/maint/hs/setup-hs-local
similarity index 100%
rename from code/maint/hs/setup-hs-local
rename to code/src/aesop/maint/hs/setup-hs-local
diff --git a/code/maint/hs/setup-langc b/code/src/aesop/maint/hs/setup-langc
similarity index 100%
rename from code/maint/hs/setup-langc
rename to code/src/aesop/maint/hs/setup-langc
hooks/post-receive
--
Triton Repository
1
0
Triton Repository branch, aesop-dist, updated. 8c0fc624038ebfe9f98451fb8e6022a5f2b89f5d
by noreply@mcs.anl.gov 19 Dec '11
by noreply@mcs.anl.gov 19 Dec '11
19 Dec '11
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Triton Repository".
The branch, aesop-dist has been updated
via 8c0fc624038ebfe9f98451fb8e6022a5f2b89f5d (commit)
from 1c23ea9d3c9095992df7c9c621b90355fec4eb8c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 8c0fc624038ebfe9f98451fb8e6022a5f2b89f5d
Author: Phil Carns <carns(a)mcs.anl.gov>
Date: Mon Dec 19 13:09:00 2011 -0500
stand-alone build for aesop directory
-----------------------------------------------------------------------
Summary of changes:
code/{ => src/aesop}/Makefile.in | 125 ++++--------------
code/src/aesop/ae-blocking-parser.h | 8 +-
code/src/aesop/ae-ctl.c | 2 +-
code/src/aesop/ae-ctl.h | 10 +-
code/src/aesop/aesop-support.hae | 6 +-
code/src/aesop/aesop.c | 6 +-
code/src/aesop/aesop.h | 18 ++--
code/{maint => src/aesop/bin}/aecc-utils.in | 4 +-
code/{maint => src/aesop/bin}/aecc.in | 2 +-
code/{ => src/aesop}/configure.ac | 143 +++-----------------
code/src/aesop/hints.c | 4 +-
code/src/aesop/hints.h | 6 +-
code/{ => src/aesop}/maint/config/ghc.m4 | 0
code/{ => src/aesop}/maint/config/install-sh | 0
code/{ => src/aesop}/maint/config/unix.m4 | 0
code/{ => src/aesop}/maint/depend-ae.sh | 2 +-
code/{ => src/aesop}/maint/depend-hae.sh | 2 +-
code/{ => src/aesop}/maint/depend.sh | 0
code/src/aesop/module.mk.in | 14 +-
code/src/aesop/op.h | 4 +-
code/src/aesop/opcache.c | 4 +-
code/src/aesop/opcache.h | 4 +-
code/src/aesop/parser/ae-blocking-parser.lhs | 4 +-
code/src/aesop/parser/module.mk.in | 2 +-
code/src/aesop/parser/tests/blocking/afterwhile.ae | 4 +-
.../parser/tests/blocking/basic-struct-init.ae | 4 +-
.../parser/tests/blocking/basic-struct-return.ae | 4 +-
code/src/aesop/parser/tests/blocking/basic.ae | 4 +-
code/src/aesop/parser/tests/blocking/btest-impl.c | 4 +-
code/src/aesop/parser/tests/blocking/btest.hae | 4 +-
.../parser/tests/blocking/cancel-pbranch-loop.ae | 6 +-
.../aesop/parser/tests/blocking/cancel-pbranch1.ae | 6 +-
.../aesop/parser/tests/blocking/cancel-pbranch2.ae | 6 +-
.../aesop/parser/tests/blocking/cancel-pbranch3.ae | 6 +-
.../aesop/parser/tests/blocking/cancel-pbranch4.ae | 6 +-
code/src/aesop/parser/tests/blocking/compound.ae | 4 +-
.../src/aesop/parser/tests/blocking/dowhileloop.ae | 4 +-
code/src/aesop/parser/tests/blocking/forloop.ae | 4 +-
code/src/aesop/parser/tests/blocking/forloop2.ae | 4 +-
code/src/aesop/parser/tests/blocking/forloop3.ae | 4 +-
code/src/aesop/parser/tests/blocking/funptrs.ae | 4 +-
code/src/aesop/parser/tests/blocking/icpfor.ae | 4 +-
code/src/aesop/parser/tests/blocking/if.ae | 4 +-
code/src/aesop/parser/tests/blocking/ifnbelse.ae | 4 +-
code/src/aesop/parser/tests/blocking/ifnoelse.ae | 4 +-
code/src/aesop/parser/tests/blocking/ifnoelse2.ae | 4 +-
.../blocking/lonely-pbranch-variable-scope.ae | 6 +-
.../aesop/parser/tests/blocking/lonely-pbranch.ae | 6 +-
.../aesop/parser/tests/blocking/lonely-pbranch2.ae | 6 +-
.../aesop/parser/tests/blocking/lonely-pbranch3.ae | 6 +-
.../aesop/parser/tests/blocking/lonely-pbranch4.ae | 6 +-
code/src/aesop/parser/tests/blocking/mixed.ae | 4 +-
code/src/aesop/parser/tests/blocking/module.mk.in | 2 +-
code/src/aesop/parser/tests/blocking/multif.ae | 4 +-
code/src/aesop/parser/tests/blocking/nbfun.ae | 4 +-
.../aesop/parser/tests/blocking/nested-forloop.ae | 4 +-
code/src/aesop/parser/tests/blocking/nested.ae | 4 +-
code/src/aesop/parser/tests/blocking/parallel1.ae | 4 +-
code/src/aesop/parser/tests/blocking/parallel2.ae | 4 +-
code/src/aesop/parser/tests/blocking/parallel3.ae | 4 +-
code/src/aesop/parser/tests/blocking/parallel4.ae | 4 +-
.../src/aesop/parser/tests/blocking/parallelfor.ae | 4 +-
.../aesop/parser/tests/blocking/parallelfor2.ae | 4 +-
.../aesop/parser/tests/blocking/parallelfor3.ae | 4 +-
code/src/aesop/parser/tests/blocking/params.ae | 4 +-
.../parser/tests/blocking/pbranch-completion.ae | 4 +-
.../parser/tests/blocking/pbranch-with-return.ae | 4 +-
.../tests/blocking/pbreak-before-blocking.ae | 6 +-
.../parser/tests/blocking/pbreak-immed-cancel.ae | 6 +-
code/src/aesop/parser/tests/blocking/pbreak.ae | 6 +-
code/src/aesop/parser/tests/blocking/pbreak2.ae | 6 +-
code/src/aesop/parser/tests/blocking/pbreak3.ae | 6 +-
code/src/aesop/parser/tests/blocking/pbreak4.ae | 6 +-
code/src/aesop/parser/tests/blocking/pbreak5.ae | 6 +-
code/src/aesop/parser/tests/blocking/pbreak6.ae | 6 +-
code/src/aesop/parser/tests/blocking/pbreak7.ae | 6 +-
code/src/aesop/parser/tests/blocking/pbreak8.ae | 6 +-
code/src/aesop/parser/tests/blocking/pprivate.ae | 4 +-
code/src/aesop/parser/tests/blocking/pshared.ae | 4 +-
.../aesop/parser/tests/blocking/pwait-in-for.ae | 4 +-
.../aesop/parser/tests/blocking/pwait-in-while.ae | 4 +-
code/src/aesop/parser/tests/blocking/tcpfor.ae | 4 +-
code/src/aesop/parser/tests/blocking/threefors.ae | 4 +-
code/src/aesop/parser/tests/blocking/twofors.ae | 4 +-
code/src/aesop/parser/tests/blocking/whilebreak.ae | 4 +-
.../src/aesop/parser/tests/blocking/whilebreak2.ae | 4 +-
.../src/aesop/parser/tests/blocking/whilebreak3.ae | 4 +-
code/src/aesop/parser/tests/blocking/whileloop.ae | 4 +-
code/{ => src/aesop}/prepare | 0
code/src/aesop/resource.c | 6 +-
code/src/aesop/resource.h | 12 +-
code/src/aesop/resources/timer/module.mk.in | 2 +-
code/src/aesop/resources/timer/test/module.mk.in | 2 +-
.../aesop/resources/timer/test/pthread-compare.ae | 4 +-
.../src/aesop/resources/timer/test/timer-cancel.ae | 6 +-
code/src/aesop/resources/timer/test/timer1.ae | 4 +-
code/src/aesop/resources/timer/test/timer2.ae | 4 +-
code/src/aesop/resources/timer/timer.c | 8 +-
code/src/aesop/resources/timer/timer.hae | 2 +-
code/src/aesop/tests/module.mk.in | 2 +-
code/src/aesop/tests/test-hints.ae | 4 +-
101 files changed, 269 insertions(+), 451 deletions(-)
copy code/{ => src/aesop}/Makefile.in (79%)
copy code/{maint => src/aesop/bin}/aecc-utils.in (99%)
copy code/{maint => src/aesop/bin}/aecc.in (99%)
copy code/{ => src/aesop}/configure.ac (66%)
copy code/{ => src/aesop}/maint/config/ghc.m4 (100%)
copy code/{ => src/aesop}/maint/config/install-sh (100%)
copy code/{ => src/aesop}/maint/config/unix.m4 (100%)
copy code/{ => src/aesop}/maint/depend-ae.sh (94%)
copy code/{ => src/aesop}/maint/depend-hae.sh (95%)
copy code/{ => src/aesop}/maint/depend.sh (100%)
copy code/{ => src/aesop}/prepare (100%)
Diff of changes:
diff --git a/code/Makefile.in b/code/src/aesop/Makefile.in
similarity index 79%
copy from code/Makefile.in
copy to code/src/aesop/Makefile.in
index 07c42af..ac0f78a 100644
--- a/code/Makefile.in
+++ b/code/src/aesop/Makefile.in
@@ -1,7 +1,7 @@
###############################################################
# General documentation
#
-# This is a single makefile that runs the entire Triton build
+# This is a single makefile that runs the entire Aesop build
# process. There are no makefiles in subdirectories. For a
# general introduction to this approach, please read this document
# by Peter Miller:
@@ -67,7 +67,7 @@ ifneq (0,$(VALGRIND_CLEAN))
CPPFLAGS += -DVALGRIND_CLEAN -DVALGRIND
endif
-CFLAGS= -I$(srcdir)/src/c-utils -I$(srcdir)/include -I. -I$(srcdir) @DB_CFLAGS@ @CFLAGS@ $(CPPFLAGS)
+CFLAGS= -I$(srcdir)/../c-utils -I$(srcdir)/include -I. -I$(srcdir) @CFLAGS@ $(CPPFLAGS)
# enable relocatable
#CFLAGS += -fPIC
@@ -80,7 +80,7 @@ ifneq (0,$(STRICT_CFLAGS))
CWARNS += -Wnested-externs
CWARNS += -Wredundant-decls
# Very noisy, too strict
- CWARNS += -W -Wno-unused-label -Wno-sign-compare
+ CWARNS += -W -Wno-sign-compare
CWARNS += -Wcast-qual
CWARNS += -Wshadow
CWARNS += -Wwrite-strings
@@ -90,6 +90,9 @@ endif
# don't want to warn when we call format functions without string literal parameters
# e.g. triton_string_init(&str, myname);
CWARNS += -Wno-format-security
+# ... or when we have unused labels, which are common in generated aesop
+# code
+CWARNS += -Wno-unused-label
LDSHARED = $(TCC) -shared
@@ -98,20 +101,14 @@ LIBCFLAGS=@LIBCFLAGS@
# in the module.mk.in because we need it to take effect when the .d file is
# generated as well.
LIBCFLAGS += -DEV_CONFIG_H=\"triton-config.h\"
-LDFLAGS += @LDFLAGS@ -L$(srcdir)/src/c-utils
-LIBS += @LIBS@ -lcrypto -lc-utils -lm
+LDFLAGS += @LDFLAGS@ -L$(srcdir)/../c-utils
+LIBS += @LIBS@ -lcrypto -lc-utils -lm -lpthread
DEPLIBS += @THREAD_LIB@
CPPDEFS=$(filter -D%,$(LIBCFLAGS) $(CFLAGS))
CPPINCS=$(filter -I%,$(LIBCFLAGS) $(CFLAGS))
-MPICC = @MPICC@
-MPICFLAGS = @MPICFLAGS@
-MPILDFLAGS = @MPILDFLAGS@
-MPILIBS = @MPILIBS@
-BUILD_MPI = @BUILD_MPI@
-
CFLAGS += $(MPICFLAGS)
LDFLAGS += $(MPILDFLAGS)
LIBS += $(MPILIBS)
@@ -136,11 +133,6 @@ PROGRAMSRC :=
TEST_OUT :=
TEST_RESULTS :=
-REMOTE_LIB_MODULES :=
-REMOTE_TESTLIB_MODULES :=
-REMOTE_TESTSRC :=
-REMOTE_PROGRAMSRC :=
-
DOCSRC :=
# Eliminate all default suffixes. We want explicit control.
@@ -197,7 +189,7 @@ endif
# MODULES is a list of subdirectories that we wish to operate on.
# They are identified by the presence of module.mk files (makefile
# includes).
-MODULES := $(shell find src/aesop -name "*.mk" | sed -e 's/^.\///;s/module.mk//')
+MODULES := $(shell find . -name "*.mk" | sed -e 's/^.\///;s/module.mk//')
################################################################
@@ -250,7 +242,7 @@ all:: buildsys
# this is how we pull build information from all of the project
# subdirectories, make sure to catch top level module.mk as well
-include $(patsubst %, %/module.mk, $(MODULES))
+include $(patsubst %, %/module.mk, $(MODULES)) module.mk
# Just like dir, but strip the slash off the end, to be pretty.
dirname = $(patsubst %/,%,$(dir $(1)))
@@ -313,11 +305,6 @@ MCC_AER = $(call modcc,$(1))
MCC_AE = $(call modcc,$(1))
MCC_C = $(call modcc,$(1))
-RMOD_FILES = $(REMOTE_MODSRC_$(call canonfname,$(1)))
-RMOD_SERVICE = $(call bname,$(1))
-RMOD_REGDIR = $(call dirname,$(1))
-RMOD_LIB_FILES = $(REMOTE_MODLIB_OBJS_$(call canonfname,$(1)))
-
# Get the parameters for a given test
testparams = $(TESTPARAMS_$(1))
@@ -370,25 +357,11 @@ HSOBJ=$(patsubst %.lhs,%.o,$(filter %.lhs,$(HSSRC))) \
HSINT=$(patsubst %.lhs,%.hi,$(filter %.lhs,$(HSSRC))) \
$(patsubst %.hs,%.hi,$(filter %.hs,$(HSSRC)))
-REMOTE_MODULES = $(REMOTE_LIB_MODULES) $(REMOTE_TESTLIB_MODULES)
-
-REMOTE_MODULES_GENFILES = $(foreach mod,$(REMOTE_MODULES),$(mod)_stubs.hae $(mod)_module.h $(mod)_module.o)
-REMOTE_MODULES_DEPFILES = $(foreach mod,$(REMOTE_MODULES),$(mod).d)
-REMOTE_MODULES_DUMMIES = $(foreach mod,$(REMOTE_MODULES),$(mod).dummy)
-
-DEPENDS=$(TESTDEPS) $(GENLIBDEPS) $(LIBDEPS) $(REMOTE_MODULES_DEPFILES) $(AEDEPS) $(AESOP_TRHDR_DEPS) $(TESTLIBDEPS)
-
-REMOTE_LIB_OBJS := $(patsubst %.aer,%.o, $(foreach mod,$(REMOTE_LIB_MODULES),$(REMOTE_MODSRC_$(mod)))) $(foreach mod,$(REMOTE_LIB_MODULES),$(mod)_module.o)
-REMOTE_TESTLIB_OBJS := $(patsubst %.aer,%.o, $(foreach mod,$(REMOTE_TESTLIB_MODULES),$(REMOTE_MODSRC_$(mod)))) $(foreach mod,$(REMOTE_TESTLIB_MODULES),$(mod)_module.o)
-REMOTE_OBJS = $(REMOTE_LIB_OBJS) $(REMOTE_TESTLIB_OBJS)
-
-REMOTE_TEST = $(patsubst %.aer,%,$(REMOTE_TESTSRC))
-REMOTE_TESTOBJS = $(patsubst %.aer,%.o,$(REMOTE_TESTSRC))
-REMOTE_PROGRAM = $(patsubst %.aer,%,$(REMOTE_PROGRAMSRC))
+DEPENDS=$(TESTDEPS) $(GENLIBDEPS) $(LIBDEPS) $(AEDEPS) $(AESOP_TRHDR_DEPS) $(TESTLIBDEPS)
-PROGRAMS = $(REMOTE_PROGRAM) $(AEPROGRAM) $(PROGRAM)
+PROGRAMS = $(AEPROGRAM) $(PROGRAM)
-TESTS = $(REMOTE_TEST) $(AETEST) $(TEST)
+TESTS = $(AETEST) $(TEST)
# TODO: Need a way to take mpiexec tests out of this
runTESTS = $(patsubst %,run%,$(TESTS))
@@ -397,10 +370,8 @@ runVALGRIND = $(patsubst %,valgrind%,$(TESTS))
# for now we just use static if we're not on a mac
ifneq (,$(USE_DYLIBS))
LIBRARIES=lib/libtriton.dylib
-TEST_LIBRARIES=lib/libtriton-test.dylib
else
LIBRARIES=lib/libtriton.a
-TEST_LIBRARIES=lib/libtriton-test.a
endif
DOCHTML=$(patsubst %.txt,%.html,$(DOCSRC))
@@ -415,7 +386,7 @@ $(TEST): %: %.o $(LIBRARIES) $(TEST_LIBRARIES)
$(Q) " LD $@"
$(E)$(call MCC_C,$*) \
-o $@ $< $(LDFLAGS) \
- -L$(builddir)/lib -ltriton-test -ltriton $(call MODLIBS_C,$*) \
+ -L$(builddir)/lib -ltriton $(call MODLIBS_C,$*) \
$(LIBS)
$(PROGRAM): %: %.o $(LIBRARIES) $(TEST_LIBRARIES)
@@ -429,17 +400,9 @@ $(AETEST): %: %.o $(LIBRARIES) $(TEST_LIBRARIES)
$(Q) " LD $@"
$(E)$(call MCC_AE,$*) \
-o $@ $< $(LDFLAGS) \
- -L$(builddir)/lib -ltriton-test -ltriton \
+ -L$(builddir)/lib -ltriton \
$(call MODLDFLAGS_AE,$*) $(call MODLIBS_AE,$*) $(LIBS)
-$(REMOTE_TEST): %: %.o $(LIBRARIES) $(TEST_LIBRARIES)
- $(Q) " LD $@"
- $(E)$(call MCC_AER,$*) \
- -o $@ $< $(LDFLAGS) \
- -L$(builddir)/lib -ltriton-test -ltriton \
- $(call MODLDFLAGS_AER,$*) $(call MODLIBS_AER,$*) \
- $(LIBS)
-
$(AEPROGRAM): %: %.o $(LIBRARIES)
$(Q) " LD $@"
$(E)$(call MCC_AE,$*) \
@@ -448,13 +411,6 @@ $(AEPROGRAM): %: %.o $(LIBRARIES)
$(call MODLDFLAGS_AE,$*) $(call MODLIBS_AE,$*) \
$(LIBS)
-$(REMOTE_PROGRAM): %: %.o $(LIBRARIES)
- $(Q) " LD $@"
- $(E)$(call MCC_AER,$*) \
- -o $@ $< $(LDFLAGS) \
- -L$(builddir)/lib -ltriton \
- $(call MODLDFLAGS_AER,$*) $(call MODLIBS_AER,$*) $(LIBS)
-
$(GENLIBOBJS) $(LIBOBJS) $(TESTOBJS): %.o: %.c
$(Q) " CC $@"
$(E)$(call MCC_C,$*) -c -o $@ \
@@ -473,15 +429,10 @@ $(TESTLIBOBJS): %.o: %.c
$(LIBCFLAGS) $(CFLAGS) $(CWARNS) \
$(call MODCFLAGS_C,$*) $<
-lib/libtriton.a: $(AELIBOBJS) $(LIBOBJS) $(GENLIBOBJS) $(REMOTE_LIB_OBJS)
+lib/libtriton.a: $(AELIBOBJS) $(LIBOBJS) $(GENLIBOBJS)
$(Q) " RANLIB $@"
$(E)$(INSTALL) -d lib
- $(E)ar rcs $@ $(AELIBOBJS) $(LIBOBJS) $(GENLIBOBJS) $(REMOTE_LIB_OBJS)
-
-lib/libtriton-test.a: $(AETESTLIBOBJS) $(TESTLIBOBJS) $(REMOTE_TESTLIB_OBJS)
- $(Q) " RANLIB $@"
- $(E)$(INSTALL) -d lib
- $(E)ar rcs $@ $(AETESTLIBOBJS) $(TESTLIBOBJS) $(REMOTE_TESTLIB_OBJS)
+ $(E)ar rcs $@ $(AELIBOBJS) $(LIBOBJS) $(GENLIBOBJS)
# shared objects
@@ -490,28 +441,17 @@ lib/libtriton.so: $(AELIBOBJS) $(LIBOBJS) $(GENLIBOBJS)
$(E)$(INSTALL) -d lib
$(E)$(LDSHARED) -Wl,-soname,libtriton.so -o $@ $(AELIBOBJS) $(LIBOBJS) $(GENLIBOBJS)
-lib/libtriton-test.so: $(AETESTLIBOBJS) $(TESTLIBOBJS)
- $(Q) " LDSO $@"
- $(E)$(INSTALL) -d lib
- $(E)$(LDSHARED) -Wl,-soname,libtriton-test.so -o $@ $(AETESTLIBOBJS) $(TESTLIBOBJS)
-
lib/libtriton.dylib: $(AELIBOBJS) $(LIBOBJS)
$(Q) " DYLIB $@"
$(E)$(INSTALL) -d lib
$(E)$(TCC) -o lib/libtriton.dylib -dynamiclib -current_version 0.0.1 -install_name lib/libtriton.0.0.1.dylib \
$(AELIBOBJS) $(LIBOBJS) $(DEPLIBS)
-lib/libtriton-test.dylib: $(AETESTLIBOBJS) $(TESTLIBOBJS)
- $(Q) " DYLIB $@"
- $(E)$(INSTALL) -d lib
- $(E)$(TCC) -o lib/libtriton-test.dylib -dynamiclib -current_version 0.0.1 -install_name lib/libtriton-test.0.0.1.dylib \
- $(AETESTLIBOBJS) $(TESTLIBOBJS) $(DEPLIBS) -L$(builddir)/lib -ltriton
-
# AE rule compiles *.ae files to object files
#
$(AEOBJS): %.o: $(HSBIN) %.ae
$(Q) " AECC $*.ae"
- $(E)$(builddir)/maint/aecc -o $(builddir)/$*.o $(srcdir)/$*.ae \
+ $(E)$(builddir)/bin/aecc -o $(builddir)/$*.o $(srcdir)/$*.ae \
-c $(call MCC_AE,$*) $(VA) $(DA) $(AEPRETTY) \
-- $(LIBCFLAGS) $(CFLAGS) $(CWARNS) $(call MODCFLAGS_AE,$*)
@@ -520,24 +460,13 @@ $(AEDEPS): %.ae.d: %.ae
$(Q) " DEP $@"
$(E)CC=$(call MCC_C,$*) $(srcdir)/maint/depend-ae.sh $(call dirname,$*) $(srcdir) $(LIBCFLAGS) $(CFLAGS) $(call MODCFLAGS_C,$*) $< > $@
-# rule to build remote modules (actual file names depend on dummies, see
-# module.mk.in for directories containing .aer files)
-%.dummy: $(HSBIN)
- $(Q) " AERCC $*"
- $(E)$(builddir)/maint/aercc -m $(call RMOD_SERVICE,$*) \
- -d $(call RMOD_REGDIR,$*) \
- $(patsubst %,$(srcdir)/%,$(call RMOD_FILES,$*)) \
- -c $(call MCC_AE,$*) $(VA) $(DA) $(AEPRETTY) \
- -- $(CFLAGS) $(LIBCFLAGS) $(CWARNS) $(call MODCFLAGS_AE,$*)
-
-
# Generate header files (%.h) from AE header files
# NOTE: this is used by resource .c files that need to include the .h
# version of the .hae file that defines the resource interface
$(AESOP_TRHDR): %.h: %.hae $(HSBIN)
$(Q) " AECC $*.hae"
- $(E)$(builddir)/maint/aecc -o $(builddir)/$*.h $(srcdir)/$*.hae \
+ $(E)$(builddir)/bin/aecc -o $(builddir)/$*.h $(srcdir)/$*.hae \
-j -c $(call MCC_AE,$*) $(VA) $(DA) $(AEPRETTY) \
-- $(LIBCFLAGS) $(CFLAGS) $(CWARNS) $(call MODCFLAGS_AE,$*)
@@ -553,9 +482,9 @@ $(AESOP_TRHDR_DEPS): %.h.d: %.hae
# dependency information if any non-generated headers change. Rebuilding
# all dependency files is faster than compiling one superfluous .aer file.
DEP_PREREQS :=
-DEP_PREREQS += $(shell find $(srcdir)/src -name "*.haer")
-DEP_PREREQS += $(shell find $(srcdir)/src -name "*.hae")
-DEP_PREREQS += $(shell find $(srcdir)/src -name "*.h")
+DEP_PREREQS += $(shell find $(srcdir) -name "*.haer")
+DEP_PREREQS += $(shell find $(srcdir) -name "*.hae")
+DEP_PREREQS += $(shell find $(srcdir) -name "*.h")
%.d: $(DEP_PREREQS)
# Compile parsers from haskell source using GHC
@@ -627,23 +556,17 @@ runvalgrind: $(runVALGRIND)
INTERM_AESRC=$(patsubst %.o,%.ae.i.s,$(AEOBJS))
INTERM_AEINC=$(patsubst %.o,%.ae.i,$(AEOBJS))
INTERM_HAEINC=$(patsubst %.h,%.hae.i,$(AESOP_TRHDR))
-INTERM_REMOTE_MODS=$(foreach mod,$(REMOTE_MODULES),$(mod)_stubs.hae.i,$(mod)_module.ae,$(mod)_module.ae.i,$(mod)_module.ae.i.s)
-INTERM_REMOTE_AESRC=$(patsubst %.o,%.ae.i.s,$(REMOTE_OBJS))
-INTERM_REMOTE_AEINC=$(patsubst %.o,%.ae.i,$(REMOTE_OBJS))
INTERM=$(INTERM_AESRC) \
$(INTERM_AEINC) \
- $(INTERM_HAEINC) \
- $(INTERM_REMOTE_MODS) \
- $(INTERM_REMOTE_AESRC) \
- $(INTERM_REMOTE_AEINC)
+ $(INTERM_HAEINC)
clean::
$(Q) " CLEAN"
$(E)rm -f $(AEOBJS) $(LIBOBJS) $(GENLIBOBJS) $(AETEST) $(AEPROGRAM) $(TEST) $(PROGRAM) \
$(AESOP_TRHDR) $(TESTLIBOBJS) \
$(LIBRARIES) $(TEST_LIBRARIES) $(DEPENDS) $(TEST_RESULTS) $(TEST_OUT) \
- $(REMOTE_MOD_GENFILES) $(REMOTE_OBJS) $(INTERM) $(REMOTE_MODULES_DUMMIES)
+ $(INTERM)
parserclean::
$(Q) " PARSER CLEAN"
diff --git a/code/src/aesop/ae-blocking-parser.h b/code/src/aesop/ae-blocking-parser.h
index f52d687..1dee7f9 100644
--- a/code/src/aesop/ae-blocking-parser.h
+++ b/code/src/aesop/ae-blocking-parser.h
@@ -8,10 +8,10 @@
* either a C statement, a C declaration, or a C expression.
*/
-#include "src/aesop/aesop.h"
-#include "src/aesop/ae-error.h"
-#include "src/aesop/ae-log.h"
-#include "src/aesop/ae-debug.h"
+#include "aesop.h"
+#include "ae-error.h"
+#include "ae-log.h"
+#include "ae-debug.h"
#define AE_MK_START_OF_BLOCKING(__fname__) \
ae_debug_blocking("[START]: %s (%p)\n", #__fname__, __ae_ctl);
diff --git a/code/src/aesop/ae-ctl.c b/code/src/aesop/ae-ctl.c
index da6c17c..1f53284 100644
--- a/code/src/aesop/ae-ctl.c
+++ b/code/src/aesop/ae-ctl.c
@@ -1,5 +1,5 @@
-#include "src/aesop/ae-ctl.h"
+#include "ae-ctl.h"
static triton_list_t ae_lone_pbranch_list = TRITON_LIST_STATIC_INITIALIZER(ae_lone_pbranch_list);
static triton_mutex_t ae_lone_pbranch_mutex = TRITON_MUTEX_INITIALIZER;
diff --git a/code/src/aesop/ae-ctl.h b/code/src/aesop/ae-ctl.h
index 7cd4786..316c23a 100644
--- a/code/src/aesop/ae-ctl.h
+++ b/code/src/aesop/ae-ctl.h
@@ -1,11 +1,11 @@
#ifndef __AE_CTL_H__
#define __AE_CTL_H__
-#include "src/aesop/ae-types.h"
-#include "src/aesop/ae-thread.h"
-#include "src/aesop/ae-list.h"
-#include "src/aesop/ae-error.h"
-#include "src/aesop/hints.h"
+#include "ae-types.h"
+#include "ae-thread.h"
+#include "ae-list.h"
+#include "ae-error.h"
+#include "hints.h"
#include <opa_primitives.h>
diff --git a/code/src/aesop/aesop-support.hae b/code/src/aesop/aesop-support.hae
index e4c58e9..706ca9b 100644
--- a/code/src/aesop/aesop-support.hae
+++ b/code/src/aesop/aesop-support.hae
@@ -1,9 +1,9 @@
#ifndef __AESOP_SUPPORT_HAE__
#define __AESOP_SUPPORT_HAE__
-#include "src/aesop/aesop.h"
-#include "src/aesop/resource.h"
-#include "src/aesop/resources/timer/timer.hae"
+#include "aesop.h"
+#include "resource.h"
+#include "resources/timer/timer.hae"
#define aesop_cancel_branches_wait() \
{ \
diff --git a/code/src/aesop/aesop.c b/code/src/aesop/aesop.c
index 32cdfd9..2505cbf 100644
--- a/code/src/aesop/aesop.c
+++ b/code/src/aesop/aesop.c
@@ -1,8 +1,8 @@
#include <string.h>
-#include "src/aesop/aesop.h"
-#include "src/aesop/resource.h"
-#include "src/aesop/hints.h"
+#include "aesop.h"
+#include "resource.h"
+#include "hints.h"
static int initialized = 0;
diff --git a/code/src/aesop/aesop.h b/code/src/aesop/aesop.h
index 8041732..ca7de05 100644
--- a/code/src/aesop/aesop.h
+++ b/code/src/aesop/aesop.h
@@ -1,16 +1,16 @@
#ifndef __AESOP_H__
#define __AESOP_H__
-#include "src/aesop/ae-base.h"
-#include "src/aesop/ae-error.h"
-#include "src/aesop/ae-thread.h"
-#include "src/aesop/ae-list.h"
-#include "src/aesop/ae-log.h"
-#include "src/aesop/ae-debug.h"
+#include "ae-base.h"
+#include "ae-error.h"
+#include "ae-thread.h"
+#include "ae-list.h"
+#include "ae-log.h"
+#include "ae-debug.h"
-#include "src/aesop/resource.h"
-#include "src/aesop/op.h"
-#include "src/aesop/opcache.h"
+#include "resource.h"
+#include "op.h"
+#include "opcache.h"
int aesop_init(const char *resource_list);
diff --git a/code/maint/aecc-utils.in b/code/src/aesop/bin/aecc-utils.in
similarity index 99%
copy from code/maint/aecc-utils.in
copy to code/src/aesop/bin/aecc-utils.in
index a9022c8..7f14db2 100644
--- a/code/maint/aecc-utils.in
+++ b/code/src/aesop/bin/aecc-utils.in
@@ -2,8 +2,8 @@
SRCDIR=@SRC_RELATIVE_TOP@
BUILDDIR=@BUILD_ABSOLUTE_TOP@
-AEPARSER=${BUILDDIR}/src/aesop/parser/ae-blocking-parser
-AERPARSER=${BUILDDIR}/src/aesop/parser/ae-remote-parser
+AEPARSER=${BUILDDIR}/parser/ae-blocking-parser
+AERPARSER=${BUILDDIR}/parser/ae-remote-parser
AESRCDIR=${SRCDIR}/src/aesop
SPACES=" "
diff --git a/code/maint/aecc.in b/code/src/aesop/bin/aecc.in
similarity index 99%
copy from code/maint/aecc.in
copy to code/src/aesop/bin/aecc.in
index b03e01d..70e479a 100644
--- a/code/maint/aecc.in
+++ b/code/src/aesop/bin/aecc.in
@@ -2,7 +2,7 @@
BUILDDIR=@BUILD_ABSOLUTE_TOP@
-. ${BUILDDIR}/maint/aecc-utils
+. ${BUILDDIR}/bin/aecc-utils
setUsageMessage "Usage: aecc <options> <file> -- <compiler options>. Specify --help for a list of options."
diff --git a/code/configure.ac b/code/src/aesop/configure.ac
similarity index 66%
copy from code/configure.ac
copy to code/src/aesop/configure.ac
index 75b39ff..ea3c534 100644
--- a/code/configure.ac
+++ b/code/src/aesop/configure.ac
@@ -1,27 +1,27 @@
dnl **************************************************************
-dnl TRITON AUTOCONF SCRIPT
+dnl AESOP AUTOCONF SCRIPT
dnl
dnl Process this file with autoconf to produce a configure script.
dnl You may need to use autoheader as well if changing any DEFINEs
CONFIGURE_TIME=`date -u +"%Y-%m-%d-%H%M%S"`
-TRITON_MAJOR=0
-TRITON_MINOR=1
-TRITON_SUB=1
-TRITON_PRE="pre-$CONFIGURE_TIME"
+AESOP_MAJOR=0
+AESOP_MINOR=1
+AESOP_SUB=1
+AESOP_PRE="pre-$CONFIGURE_TIME"
-TRITON_VERSION=$TRITON_MAJOR.$TRITON_MINOR.$TRITON_SUB$TRITON_PRE
+AESOP_VERSION=$AESOP_MAJOR.$AESOP_MINOR.$AESOP_SUB$AESOP_PRE
AC_PREREQ(2.50)
-AC_INIT(triton, 0.1.1, triton-dev(a)mcs.anl.gov)
+AC_INIT(aesop, 0.1.1, aesop-dev(a)mcs.anl.gov)
-AC_SUBST(TRITON_VERSION)
+AC_SUBST(AESOP_VERSION)
-AC_DEFINE_UNQUOTED(TRITON_VERSION_MAJOR, $TRITON_MAJOR, major version number)
-AC_DEFINE_UNQUOTED(TRITON_VERSION_MINOR, $TRITON_MINOR, minor version number)
-AC_DEFINE_UNQUOTED(TRITON_VERSION_SUB, $TRITON_SUB, sub version number)
+AC_DEFINE_UNQUOTED(AESOP_VERSION_MAJOR, $AESOP_MAJOR, major version number)
+AC_DEFINE_UNQUOTED(AESOP_VERSION_MINOR, $AESOP_MINOR, minor version number)
+AC_DEFINE_UNQUOTED(AESOP_VERSION_SUB, $AESOP_SUB, sub version number)
-AC_CONFIG_HEADER(triton-config.h)
+AC_CONFIG_HEADER(aesop-config.h)
AC_CONFIG_AUX_DIR(maint/config)
AC_PROG_INSTALL
@@ -39,20 +39,8 @@ if test "x$GCC" = "x"; then
fi
AC_MSG_RESULT(yes)
-AC_SYS_LARGEFILE
-
AX_GHC("")
-dnl
-dnl make sure that required db development package is installed
-dnl and valid; path can be specified at configure time
-dnl
-AC_ARG_WITH(db,
- [ --with-db=<dir> Location of installed DB package
-(default=/usr)],
- [AX_BERKELEY_DB(${withval})],
- [AX_BERKELEY_DB("")])
-
dnl ======================================================================
dnl Try harder to be valgrind safe
dnl ======================================================================
@@ -176,71 +164,6 @@ fi
dnl todo: add check making sure that if the user manually enabled perftools
dnl and we cannot find them we complain
-dnl ======================================================================
-dnl Look for MPI; Auto-enable if possible, unless disabled by the user
-dnl ======================================================================
-AC_ARG_WITH([mpi],[AS_HELP_STRING([--with-mpi@<:@=DIR@:>@],
- [location of MPI library])],
- [],
- [with_mpi=check])
-
-BUILD_MPI=
-AS_IF([test "x$with_mpi" != "xno"],
-[
- if test "x$with_mpi" != "xcheck" -a "x$with_mpi" != "xyes"; then
- checkpath="${with_mpi}/bin"
- else
- checkpath="$PATH"
- fi
- AC_CHECK_PROGS(MPICC, [mpicc], [], [$checkpath])
- #
- # with mpich2-1.3, mpiCC invokes gcc... not g++
- #
- AC_CHECK_PROGS(MPICXX, [mpic++ mpicxx mpiCC], [], [$checkpath])
- if test "x$with_mpi" != "xcheck"; then
- if test -z "${MPICXX}" ; then
- AC_MSG_ERROR("--with-mpi given but could not find mpic++!")
- fi
- if test -z "${MPICC}" ; then
- AC_MSG_ERROR("--with-mpi given but could not find mpicc!")
- fi
- fi
- ])
-
-if test "${MPICXX}x" != "x" ; then
- if test "${MPICC}x" == "x"; then
- AC_MSG_ERROR("Found MPI C++ compiler but not MPI C compiler??")
- fi
- dnl
- dnl make sure mpi compiler path is a full path
- dnl
- if test "x$with_mpi" != "xcheck" -a "x$with_mpi" != "xyes"; then
- MPICXX="${checkpath}/${MPICXX}"
- fi
-
- if test "x$with_mpi" != "xcheck" -a "x$with_mpi" != "xyes"; then
- MPICC="${checkpath}/${MPICC}"
- fi
- BUILD_MPI=1
-fi
-
-AC_MSG_CHECKING([if MPI support will be enabled])
-if test "x${BUILD_MPI}" == "x1"; then
-AC_MSG_RESULT([yes])
-else
-AC_MSG_RESULT([no])
-fi
-
-MPICFLAGS=""
-MPILDFLAGS=""
-MPILIBS=""
-
-AC_SUBST(MPICC)
-AC_SUBST(MPICFLAGS)
-AC_SUBST(MPILDFLAGS)
-AC_SUBST(MPILIBS)
-AC_SUBST(BUILD_MPI)
-
dnl check for unix variants
AX_UNIX("")
@@ -302,8 +225,6 @@ else
AC_MSG_ERROR([Invalid value for --enable-release! must be yes or no])
fi
-
-
AC_ARG_ENABLE(coverage,
[ --enable-coverage Enable coverage analysis (disables optimizations)],
[ CFLAGS="$CFLAGS -g -pg -ftest-coverage -O0"
@@ -311,27 +232,6 @@ AC_ARG_ENABLE(coverage,
)
AC_SUBST(ENABLE_COVERAGE)
-AC_MSG_CHECKING(if initstate_r() exists)
-AC_TRY_COMPILE([#include <stdlib.h>], [
- struct random_data rnd;
- initstate_r(0, NULL, 0, &rnd);
-],
-[
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_RANDOM_DATA, 1, [Define if struct random_data is defined and initstate_r exists])
-],
- AC_MSG_RESULT(no)
-)
-
-AC_MSG_CHECKING(for __progname_full)
-AC_TRY_LINK(
- [#include <stdio.h>],
- [extern char * __progname_full;
- printf(NULL, "%s", __progname_full);],
- [AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_PROGNAME_FULL, 1, Define if __progname_full global variable exists)],
- [AC_MSG_RESULT(no)])
-
dnl a mechanism to turn off threads in the client library
AC_MSG_CHECKING([for client library thread safety support])
AC_ARG_ENABLE(thread-safety,
@@ -362,19 +262,16 @@ AC_SUBST(THREAD_LIB)
AC_CHECK_LIB([crypto], [SHA1], [],
[AC_MSG_ERROR([-lcrypto required. Install OpenSSL.])])
-TRITON_LIB_SQLITE(3.0.0)
-
-m4_include([maint/config/libev.m4])
-AC_CONFIG_FILES([maint/aecc-utils], [chmod +x maint/aecc-utils])
-AC_CONFIG_FILES([maint/aecc], [chmod +x maint/aecc])
+AC_CONFIG_FILES([bin/aecc-utils], [chmod +x bin/aecc-utils])
+AC_CONFIG_FILES([bin/aecc], [chmod +x bin/aecc])
AC_OUTPUT([Makefile
-src/aesop/resources/timer/test/module.mk
-src/aesop/resources/timer/module.mk
-src/aesop/module.mk
-src/aesop/tests/module.mk
-src/aesop/parser/module.mk
-src/aesop/parser/tests/blocking/module.mk
+resources/timer/test/module.mk
+resources/timer/module.mk
+module.mk
+tests/module.mk
+parser/module.mk
+parser/tests/blocking/module.mk
])
diff --git a/code/src/aesop/hints.c b/code/src/aesop/hints.c
index 5575ad4..0da6553 100644
--- a/code/src/aesop/hints.c
+++ b/code/src/aesop/hints.c
@@ -1,6 +1,6 @@
-#include "src/aesop/ae-error.h"
-#include "src/aesop/hints.h"
+#include "ae-error.h"
+#include "hints.h"
#include "triton-hash.h"
#include "jenkins-hash.h"
#include "triton-list.h"
diff --git a/code/src/aesop/hints.h b/code/src/aesop/hints.h
index 3d01079..3ee378b 100644
--- a/code/src/aesop/hints.h
+++ b/code/src/aesop/hints.h
@@ -1,9 +1,9 @@
#ifndef __AE_HINTS_H__
#define __AE_HINTS_H__
-#include "src/aesop/ae-base.h"
-#include "src/aesop/ae-list.h"
-#include "src/aesop/ae-thread.h"
+#include "ae-base.h"
+#include "ae-list.h"
+#include "ae-thread.h"
struct ae_hints
{
diff --git a/code/maint/config/ghc.m4 b/code/src/aesop/maint/config/ghc.m4
similarity index 100%
copy from code/maint/config/ghc.m4
copy to code/src/aesop/maint/config/ghc.m4
diff --git a/code/maint/config/install-sh b/code/src/aesop/maint/config/install-sh
similarity index 100%
copy from code/maint/config/install-sh
copy to code/src/aesop/maint/config/install-sh
diff --git a/code/maint/config/unix.m4 b/code/src/aesop/maint/config/unix.m4
similarity index 100%
copy from code/maint/config/unix.m4
copy to code/src/aesop/maint/config/unix.m4
diff --git a/code/maint/depend-ae.sh b/code/src/aesop/maint/depend-ae.sh
similarity index 94%
copy from code/maint/depend-ae.sh
copy to code/src/aesop/maint/depend-ae.sh
index 03a5067..54bbe00 100755
--- a/code/maint/depend-ae.sh
+++ b/code/src/aesop/maint/depend-ae.sh
@@ -17,4 +17,4 @@ fi
# generate dependencies on raw .ae files.
# there is one manual addition to the dependencies (ae-blocking-parser.h)
# which is implicitly added by the aesop parser
-exec $CC -x c -M -MM -MG "$@" | sed -e "s@^\(.*\)\.o:@$DIR\1.o: $SRCDIR/src/aesop/ae-blocking-parser.h@"
+exec $CC -x c -M -MM -MG "$@" | sed -e "s@^\(.*\)\.o:@$DIR\1.o: $SRCDIR/ae-blocking-parser.h@"
diff --git a/code/maint/depend-hae.sh b/code/src/aesop/maint/depend-hae.sh
similarity index 95%
copy from code/maint/depend-hae.sh
copy to code/src/aesop/maint/depend-hae.sh
index 2ac0ce0..f90f112 100755
--- a/code/maint/depend-hae.sh
+++ b/code/src/aesop/maint/depend-hae.sh
@@ -18,4 +18,4 @@ fi
# generate dependencies on raw .ae files.
# there is one manual addition to the dependencies (ae-blocking-parser.h)
# which is implicitly added by the aesop parser
-exec $CC -x c -M -MM -MG "$@" | sed -e "s@^\(.*\)\.o:@$DIR\1.h: $SRCDIR/src/aesop/ae-blocking-parser.h@"
+exec $CC -x c -M -MM -MG "$@" | sed -e "s@^\(.*\)\.o:@$DIR\1.h: $SRCDIR/ae-blocking-parser.h@"
diff --git a/code/maint/depend.sh b/code/src/aesop/maint/depend.sh
similarity index 100%
copy from code/maint/depend.sh
copy to code/src/aesop/maint/depend.sh
diff --git a/code/src/aesop/module.mk.in b/code/src/aesop/module.mk.in
index 28a9c64..067b735 100644
--- a/code/src/aesop/module.mk.in
+++ b/code/src/aesop/module.mk.in
@@ -1,10 +1,8 @@
-DIR := src/aesop
+AESOP_HDR += aesop-support.hae
-AESOP_HDR += $(DIR)/aesop-support.hae
-
-LIBSRC += $(DIR)/opcache.c \
- $(DIR)/aesop.c \
- $(DIR)/resource.c \
- $(DIR)/hints.c \
- $(DIR)/ae-ctl.c
+LIBSRC += opcache.c \
+ aesop.c \
+ resource.c \
+ hints.c \
+ ae-ctl.c
diff --git a/code/src/aesop/op.h b/code/src/aesop/op.h
index 2ff6f61..c82cfbb 100644
--- a/code/src/aesop/op.h
+++ b/code/src/aesop/op.h
@@ -2,8 +2,8 @@
#ifndef __OP_H__
#define __OP_H__
-#include "src/aesop/aesop.h"
-#include "src/aesop/ae-list.h"
+#include "aesop.h"
+#include "ae-list.h"
#include <stdint.h>
diff --git a/code/src/aesop/opcache.c b/code/src/aesop/opcache.c
index 0a420f4..0bdbecd 100644
--- a/code/src/aesop/opcache.c
+++ b/code/src/aesop/opcache.c
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/opcache.h"
+#include "aesop.h"
+#include "opcache.h"
#include "jenkins-hash.h"
#include <errno.h>
diff --git a/code/src/aesop/opcache.h b/code/src/aesop/opcache.h
index f17d562..72c9cd1 100644
--- a/code/src/aesop/opcache.h
+++ b/code/src/aesop/opcache.h
@@ -1,8 +1,8 @@
#ifndef __OPCACHE_H__
#define __OPCACHE_H__
-#include "src/aesop/op.h"
-#include "src/aesop/ae-error.h"
+#include "op.h"
+#include "ae-error.h"
typedef struct ae_opcache *ae_opcache_t;
diff --git a/code/src/aesop/parser/ae-blocking-parser.lhs b/code/src/aesop/parser/ae-blocking-parser.lhs
index d51f9dc..fd210ec 100644
--- a/code/src/aesop/parser/ae-blocking-parser.lhs
+++ b/code/src/aesop/parser/ae-blocking-parser.lhs
@@ -1364,7 +1364,7 @@ a BlockingContext as we go along
> let r = if isJust report then fromJust report else headerfile
> ctu <- generateAST headerfile
> let tdIdents = getTypeDefIdents ctu
-> w <- newWalkerState debug r compiler "src/aesop/ae-blocking-parser.h" gccopts tdIdents
+> w <- newWalkerState debug r compiler "ae-blocking-parser.h" gccopts tdIdents
> (pairs, w) <- runStateT (getBlockingHeaderDecls ctu) w
> writeFile outfile "\n\n/* This is an auto-generated file created by the ae-blocking-parser tool. DO NOT MODIFY! */\n\n"
> outputHeader r outfile pairs
@@ -1390,7 +1390,7 @@ a BlockingContext as we go along
> let r = if isJust report then fromJust report else f
> ctu <- generateAST f
> let typeDefIdents = getTypeDefIdents ctu
-> w <- newWalkerState debug r compiler "src/aesop/ae-blocking-parser.h" gccopts typeDefIdents
+> w <- newWalkerState debug r compiler "ae-blocking-parser.h" gccopts typeDefIdents
> let extDecls (CTranslUnit d _) = d
> let (preBlockingCTU, mainCTU) = splitExtDeclsAtAesop ctu
> let (CTranslUnit mainExtDecls _) = mainCTU
diff --git a/code/src/aesop/parser/module.mk.in b/code/src/aesop/parser/module.mk.in
index c979000..1b6b7bd 100644
--- a/code/src/aesop/parser/module.mk.in
+++ b/code/src/aesop/parser/module.mk.in
@@ -1,4 +1,4 @@
-DIR := src/aesop/parser
+DIR := parser
HSSRC += $(DIR)/CGen.lhs \
$(DIR)/CParse.lhs \
diff --git a/code/src/aesop/parser/tests/blocking/afterwhile.ae b/code/src/aesop/parser/tests/blocking/afterwhile.ae
index b1e0505..7cd6fad 100644
--- a/code/src/aesop/parser/tests/blocking/afterwhile.ae
+++ b/code/src/aesop/parser/tests/blocking/afterwhile.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
static int here = 0;
diff --git a/code/src/aesop/parser/tests/blocking/basic-struct-init.ae b/code/src/aesop/parser/tests/blocking/basic-struct-init.ae
index ba830fd..7c55959 100644
--- a/code/src/aesop/parser/tests/blocking/basic-struct-init.ae
+++ b/code/src/aesop/parser/tests/blocking/basic-struct-init.ae
@@ -3,8 +3,8 @@
*/
#include <assert.h>
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
struct foo
{
diff --git a/code/src/aesop/parser/tests/blocking/basic-struct-return.ae b/code/src/aesop/parser/tests/blocking/basic-struct-return.ae
index fc8b243..5dd1a85 100644
--- a/code/src/aesop/parser/tests/blocking/basic-struct-return.ae
+++ b/code/src/aesop/parser/tests/blocking/basic-struct-return.ae
@@ -1,7 +1,7 @@
#include <assert.h>
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
struct foo
{
diff --git a/code/src/aesop/parser/tests/blocking/basic.ae b/code/src/aesop/parser/tests/blocking/basic.ae
index d712a06..fc73f6a 100644
--- a/code/src/aesop/parser/tests/blocking/basic.ae
+++ b/code/src/aesop/parser/tests/blocking/basic.ae
@@ -1,7 +1,7 @@
#include <assert.h>
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
static __blocking void run_basic(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/btest-impl.c b/code/src/aesop/parser/tests/blocking/btest-impl.c
index 8c39a17..20e0f53 100644
--- a/code/src/aesop/parser/tests/blocking/btest-impl.c
+++ b/code/src/aesop/parser/tests/blocking/btest-impl.c
@@ -4,9 +4,9 @@
#include <unistd.h>
#include <assert.h>
#include <pthread.h>
-#include "src/aesop/aesop.h"
+#include "aesop.h"
#include "triton-list.h"
-#include "src/aesop/parser/tests/blocking/btest.h"
+#include "parser/tests/blocking/btest.h"
#define RESOURCE_NAME "btest"
diff --git a/code/src/aesop/parser/tests/blocking/btest.hae b/code/src/aesop/parser/tests/blocking/btest.hae
index fb2edff..b302580 100644
--- a/code/src/aesop/parser/tests/blocking/btest.hae
+++ b/code/src/aesop/parser/tests/blocking/btest.hae
@@ -5,8 +5,8 @@
#include <stdio.h>
#include <errno.h>
-#include "src/aesop/aesop.h"
-#include "src/aesop/op.h"
+#include "aesop.h"
+#include "op.h"
/* These interfaces are used to test the gsl code for correctness. They
* emulate a basic resource with blocking functions, using different completion
diff --git a/code/src/aesop/parser/tests/blocking/cancel-pbranch-loop.ae b/code/src/aesop/parser/tests/blocking/cancel-pbranch-loop.ae
index d531acc..5f8b66d 100644
--- a/code/src/aesop/parser/tests/blocking/cancel-pbranch-loop.ae
+++ b/code/src/aesop/parser/tests/blocking/cancel-pbranch-loop.ae
@@ -1,8 +1,8 @@
#include <unistd.h>
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
-#include "src/aesop/aesop-support.hae"
+#include "aesop-support.hae"
static __blocking void run_test(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/cancel-pbranch1.ae b/code/src/aesop/parser/tests/blocking/cancel-pbranch1.ae
index cc08ec0..06c05dd 100644
--- a/code/src/aesop/parser/tests/blocking/cancel-pbranch1.ae
+++ b/code/src/aesop/parser/tests/blocking/cancel-pbranch1.ae
@@ -1,8 +1,8 @@
#include <unistd.h>
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
-#include "src/aesop/aesop-support.hae"
+#include "aesop-support.hae"
static __blocking void foo_fn(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/cancel-pbranch2.ae b/code/src/aesop/parser/tests/blocking/cancel-pbranch2.ae
index 850783e..a3c33d8 100644
--- a/code/src/aesop/parser/tests/blocking/cancel-pbranch2.ae
+++ b/code/src/aesop/parser/tests/blocking/cancel-pbranch2.ae
@@ -1,8 +1,8 @@
#include <unistd.h>
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
-#include "src/aesop/aesop-support.hae"
+#include "aesop-support.hae"
static __blocking void run_test(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/cancel-pbranch3.ae b/code/src/aesop/parser/tests/blocking/cancel-pbranch3.ae
index 638c087..65fbb26 100644
--- a/code/src/aesop/parser/tests/blocking/cancel-pbranch3.ae
+++ b/code/src/aesop/parser/tests/blocking/cancel-pbranch3.ae
@@ -1,8 +1,8 @@
#include <unistd.h>
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
-#include "src/aesop/aesop-support.hae"
+#include "aesop-support.hae"
static __blocking void run_test(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/cancel-pbranch4.ae b/code/src/aesop/parser/tests/blocking/cancel-pbranch4.ae
index e46fdca..f8aec99 100644
--- a/code/src/aesop/parser/tests/blocking/cancel-pbranch4.ae
+++ b/code/src/aesop/parser/tests/blocking/cancel-pbranch4.ae
@@ -1,8 +1,8 @@
#include <unistd.h>
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
-#include "src/aesop/aesop-support.hae"
+#include "aesop-support.hae"
static __blocking void run_test(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/compound.ae b/code/src/aesop/parser/tests/blocking/compound.ae
index 3d464c0..963d31d 100644
--- a/code/src/aesop/parser/tests/blocking/compound.ae
+++ b/code/src/aesop/parser/tests/blocking/compound.ae
@@ -2,8 +2,8 @@
#include <assert.h>
#include <unistd.h>
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
__blocking int blah(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/dowhileloop.ae b/code/src/aesop/parser/tests/blocking/dowhileloop.ae
index d413ddb..6dfa2f3 100644
--- a/code/src/aesop/parser/tests/blocking/dowhileloop.ae
+++ b/code/src/aesop/parser/tests/blocking/dowhileloop.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
static __blocking void run_forloop(void)
diff --git a/code/src/aesop/parser/tests/blocking/forloop.ae b/code/src/aesop/parser/tests/blocking/forloop.ae
index 65a3218..64cf02a 100644
--- a/code/src/aesop/parser/tests/blocking/forloop.ae
+++ b/code/src/aesop/parser/tests/blocking/forloop.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
static __blocking void run_forloop(void)
diff --git a/code/src/aesop/parser/tests/blocking/forloop2.ae b/code/src/aesop/parser/tests/blocking/forloop2.ae
index c4114e4..4bcd10e 100644
--- a/code/src/aesop/parser/tests/blocking/forloop2.ae
+++ b/code/src/aesop/parser/tests/blocking/forloop2.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
static __blocking void run_forloop(void)
diff --git a/code/src/aesop/parser/tests/blocking/forloop3.ae b/code/src/aesop/parser/tests/blocking/forloop3.ae
index b314683..1a82ec0 100644
--- a/code/src/aesop/parser/tests/blocking/forloop3.ae
+++ b/code/src/aesop/parser/tests/blocking/forloop3.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
static __blocking void run_forloop(void)
diff --git a/code/src/aesop/parser/tests/blocking/funptrs.ae b/code/src/aesop/parser/tests/blocking/funptrs.ae
index 7f25a87..c364eef 100644
--- a/code/src/aesop/parser/tests/blocking/funptrs.ae
+++ b/code/src/aesop/parser/tests/blocking/funptrs.ae
@@ -1,6 +1,6 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
struct mystruct
{
diff --git a/code/src/aesop/parser/tests/blocking/icpfor.ae b/code/src/aesop/parser/tests/blocking/icpfor.ae
index 00cdf3f..2b4bb1f 100644
--- a/code/src/aesop/parser/tests/blocking/icpfor.ae
+++ b/code/src/aesop/parser/tests/blocking/icpfor.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
static __blocking void run_parfor(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/if.ae b/code/src/aesop/parser/tests/blocking/if.ae
index f133637..b14c760 100644
--- a/code/src/aesop/parser/tests/blocking/if.ae
+++ b/code/src/aesop/parser/tests/blocking/if.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
int val = 0;
diff --git a/code/src/aesop/parser/tests/blocking/ifnbelse.ae b/code/src/aesop/parser/tests/blocking/ifnbelse.ae
index efb6b88..9e57f49 100644
--- a/code/src/aesop/parser/tests/blocking/ifnbelse.ae
+++ b/code/src/aesop/parser/tests/blocking/ifnbelse.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
int val = 0;
diff --git a/code/src/aesop/parser/tests/blocking/ifnoelse.ae b/code/src/aesop/parser/tests/blocking/ifnoelse.ae
index 66d6fd7..3f8b1c9 100644
--- a/code/src/aesop/parser/tests/blocking/ifnoelse.ae
+++ b/code/src/aesop/parser/tests/blocking/ifnoelse.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
int val = 0;
diff --git a/code/src/aesop/parser/tests/blocking/ifnoelse2.ae b/code/src/aesop/parser/tests/blocking/ifnoelse2.ae
index 4873999..96ea461 100644
--- a/code/src/aesop/parser/tests/blocking/ifnoelse2.ae
+++ b/code/src/aesop/parser/tests/blocking/ifnoelse2.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
int val = 0;
diff --git a/code/src/aesop/parser/tests/blocking/lonely-pbranch-variable-scope.ae b/code/src/aesop/parser/tests/blocking/lonely-pbranch-variable-scope.ae
index 82a8f7d..9e4a213 100644
--- a/code/src/aesop/parser/tests/blocking/lonely-pbranch-variable-scope.ae
+++ b/code/src/aesop/parser/tests/blocking/lonely-pbranch-variable-scope.ae
@@ -1,8 +1,8 @@
#include <assert.h>
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
-#include "src/aesop/resources/timer/timer.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
+#include "resources/timer/timer.hae"
static __blocking void lonely_pbranch(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/lonely-pbranch.ae b/code/src/aesop/parser/tests/blocking/lonely-pbranch.ae
index ffd0adb..b87d1a6 100644
--- a/code/src/aesop/parser/tests/blocking/lonely-pbranch.ae
+++ b/code/src/aesop/parser/tests/blocking/lonely-pbranch.ae
@@ -1,8 +1,8 @@
#include <assert.h>
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
-#include "src/aesop/resources/timer/timer.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
+#include "resources/timer/timer.hae"
static __blocking void lonely_pbranch(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/lonely-pbranch2.ae b/code/src/aesop/parser/tests/blocking/lonely-pbranch2.ae
index c264f58..4a38933 100644
--- a/code/src/aesop/parser/tests/blocking/lonely-pbranch2.ae
+++ b/code/src/aesop/parser/tests/blocking/lonely-pbranch2.ae
@@ -1,8 +1,8 @@
#include <assert.h>
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
-#include "src/aesop/resources/timer/timer.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
+#include "resources/timer/timer.hae"
static __blocking void lonely_pbranch(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/lonely-pbranch3.ae b/code/src/aesop/parser/tests/blocking/lonely-pbranch3.ae
index 412b0bd..a924677 100644
--- a/code/src/aesop/parser/tests/blocking/lonely-pbranch3.ae
+++ b/code/src/aesop/parser/tests/blocking/lonely-pbranch3.ae
@@ -1,8 +1,8 @@
#include <assert.h>
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
-#include "src/aesop/resources/timer/timer.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
+#include "resources/timer/timer.hae"
static __blocking void noop(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/lonely-pbranch4.ae b/code/src/aesop/parser/tests/blocking/lonely-pbranch4.ae
index 8bbd442..9f6f77f 100644
--- a/code/src/aesop/parser/tests/blocking/lonely-pbranch4.ae
+++ b/code/src/aesop/parser/tests/blocking/lonely-pbranch4.ae
@@ -1,8 +1,8 @@
#include <assert.h>
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
-#include "src/aesop/resources/timer/timer.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
+#include "resources/timer/timer.hae"
static __blocking void lonely_pbranch(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/mixed.ae b/code/src/aesop/parser/tests/blocking/mixed.ae
index 8d3b41f..a38330c 100644
--- a/code/src/aesop/parser/tests/blocking/mixed.ae
+++ b/code/src/aesop/parser/tests/blocking/mixed.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
int val = 0;
diff --git a/code/src/aesop/parser/tests/blocking/module.mk.in b/code/src/aesop/parser/tests/blocking/module.mk.in
index 0f83d50..dd436d2 100644
--- a/code/src/aesop/parser/tests/blocking/module.mk.in
+++ b/code/src/aesop/parser/tests/blocking/module.mk.in
@@ -1,4 +1,4 @@
-DIR := src/aesop/parser/tests/blocking
+DIR := tests/blocking
AETESTSRC += $(DIR)/icpfor.ae \
$(DIR)/tcpfor.ae \
diff --git a/code/src/aesop/parser/tests/blocking/multif.ae b/code/src/aesop/parser/tests/blocking/multif.ae
index 74206fb..0c0a067 100644
--- a/code/src/aesop/parser/tests/blocking/multif.ae
+++ b/code/src/aesop/parser/tests/blocking/multif.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
int val = 0;
diff --git a/code/src/aesop/parser/tests/blocking/nbfun.ae b/code/src/aesop/parser/tests/blocking/nbfun.ae
index 3a66825..914cc34 100644
--- a/code/src/aesop/parser/tests/blocking/nbfun.ae
+++ b/code/src/aesop/parser/tests/blocking/nbfun.ae
@@ -1,6 +1,6 @@
#include <assert.h>
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
static __blocking int run_inner_nbfun1(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/nested-forloop.ae b/code/src/aesop/parser/tests/blocking/nested-forloop.ae
index 74f6a1b..09d7498 100644
--- a/code/src/aesop/parser/tests/blocking/nested-forloop.ae
+++ b/code/src/aesop/parser/tests/blocking/nested-forloop.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
static __blocking void run_forloop(void)
diff --git a/code/src/aesop/parser/tests/blocking/nested.ae b/code/src/aesop/parser/tests/blocking/nested.ae
index 453db8a..daf8c8d 100644
--- a/code/src/aesop/parser/tests/blocking/nested.ae
+++ b/code/src/aesop/parser/tests/blocking/nested.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
static int here = 0;
diff --git a/code/src/aesop/parser/tests/blocking/parallel1.ae b/code/src/aesop/parser/tests/blocking/parallel1.ae
index ab82acd..9758bc6 100644
--- a/code/src/aesop/parser/tests/blocking/parallel1.ae
+++ b/code/src/aesop/parser/tests/blocking/parallel1.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
static __blocking void run_par1(void)
diff --git a/code/src/aesop/parser/tests/blocking/parallel2.ae b/code/src/aesop/parser/tests/blocking/parallel2.ae
index 3969ed1..eba0fb4 100644
--- a/code/src/aesop/parser/tests/blocking/parallel2.ae
+++ b/code/src/aesop/parser/tests/blocking/parallel2.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
static __blocking void run_par2(void)
diff --git a/code/src/aesop/parser/tests/blocking/parallel3.ae b/code/src/aesop/parser/tests/blocking/parallel3.ae
index 784f48e..13752ea 100644
--- a/code/src/aesop/parser/tests/blocking/parallel3.ae
+++ b/code/src/aesop/parser/tests/blocking/parallel3.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
static __blocking void run_par3(void)
diff --git a/code/src/aesop/parser/tests/blocking/parallel4.ae b/code/src/aesop/parser/tests/blocking/parallel4.ae
index 14fe176..0b67c9c 100644
--- a/code/src/aesop/parser/tests/blocking/parallel4.ae
+++ b/code/src/aesop/parser/tests/blocking/parallel4.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
static __blocking void run_par4(void)
diff --git a/code/src/aesop/parser/tests/blocking/parallelfor.ae b/code/src/aesop/parser/tests/blocking/parallelfor.ae
index cf4200b..71a4225 100644
--- a/code/src/aesop/parser/tests/blocking/parallelfor.ae
+++ b/code/src/aesop/parser/tests/blocking/parallelfor.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
static __blocking void run_parfor(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/parallelfor2.ae b/code/src/aesop/parser/tests/blocking/parallelfor2.ae
index a13ecca..c5c639b 100644
--- a/code/src/aesop/parser/tests/blocking/parallelfor2.ae
+++ b/code/src/aesop/parser/tests/blocking/parallelfor2.ae
@@ -4,8 +4,8 @@
* See COPYING in top-level directory.
*/
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
static __blocking void run_parfor(
void)
diff --git a/code/src/aesop/parser/tests/blocking/parallelfor3.ae b/code/src/aesop/parser/tests/blocking/parallelfor3.ae
index 71c9389..58a53a2 100644
--- a/code/src/aesop/parser/tests/blocking/parallelfor3.ae
+++ b/code/src/aesop/parser/tests/blocking/parallelfor3.ae
@@ -4,8 +4,8 @@
* See COPYING in top-level directory.
*/
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
static __blocking void run_parfor(
void)
diff --git a/code/src/aesop/parser/tests/blocking/params.ae b/code/src/aesop/parser/tests/blocking/params.ae
index 36ff283..84b3ab1 100644
--- a/code/src/aesop/parser/tests/blocking/params.ae
+++ b/code/src/aesop/parser/tests/blocking/params.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
static __blocking void run_params(int a, const char *b, const char *c)
{
diff --git a/code/src/aesop/parser/tests/blocking/pbranch-completion.ae b/code/src/aesop/parser/tests/blocking/pbranch-completion.ae
index 05429fe..5f3828a 100644
--- a/code/src/aesop/parser/tests/blocking/pbranch-completion.ae
+++ b/code/src/aesop/parser/tests/blocking/pbranch-completion.ae
@@ -3,8 +3,8 @@
#include <unistd.h>
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
__blocking void do_random_test(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/pbranch-with-return.ae b/code/src/aesop/parser/tests/blocking/pbranch-with-return.ae
index b893d48..1d49886 100644
--- a/code/src/aesop/parser/tests/blocking/pbranch-with-return.ae
+++ b/code/src/aesop/parser/tests/blocking/pbranch-with-return.ae
@@ -1,6 +1,6 @@
#include <assert.h>
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
static __blocking int pbranch_with_return(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/pbreak-before-blocking.ae b/code/src/aesop/parser/tests/blocking/pbreak-before-blocking.ae
index 2157697..972e601 100644
--- a/code/src/aesop/parser/tests/blocking/pbreak-before-blocking.ae
+++ b/code/src/aesop/parser/tests/blocking/pbreak-before-blocking.ae
@@ -1,8 +1,8 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
-#include "src/aesop/aesop-support.hae"
+#include "aesop-support.hae"
static __blocking void run_par1(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/pbreak-immed-cancel.ae b/code/src/aesop/parser/tests/blocking/pbreak-immed-cancel.ae
index 3c83480..3b93984 100644
--- a/code/src/aesop/parser/tests/blocking/pbreak-immed-cancel.ae
+++ b/code/src/aesop/parser/tests/blocking/pbreak-immed-cancel.ae
@@ -1,7 +1,7 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
-#include "src/aesop/aesop-support.hae"
+#include "aesop-support.hae"
static __blocking void run_pbreak(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/pbreak.ae b/code/src/aesop/parser/tests/blocking/pbreak.ae
index 84a84c3..7df3867 100644
--- a/code/src/aesop/parser/tests/blocking/pbreak.ae
+++ b/code/src/aesop/parser/tests/blocking/pbreak.ae
@@ -1,7 +1,7 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
-#include "src/aesop/aesop-support.hae"
+#include "aesop-support.hae"
static __blocking void run_pbreak(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/pbreak2.ae b/code/src/aesop/parser/tests/blocking/pbreak2.ae
index 977d11b..f2edfa2 100644
--- a/code/src/aesop/parser/tests/blocking/pbreak2.ae
+++ b/code/src/aesop/parser/tests/blocking/pbreak2.ae
@@ -1,6 +1,6 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
-#include "src/aesop/aesop-support.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
+#include "aesop-support.hae"
static __blocking void run_pbreak2(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/pbreak3.ae b/code/src/aesop/parser/tests/blocking/pbreak3.ae
index f69a18d..a13d4a3 100644
--- a/code/src/aesop/parser/tests/blocking/pbreak3.ae
+++ b/code/src/aesop/parser/tests/blocking/pbreak3.ae
@@ -1,6 +1,6 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
-#include "src/aesop/aesop-support.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
+#include "aesop-support.hae"
static __blocking void run_pbreak3(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/pbreak4.ae b/code/src/aesop/parser/tests/blocking/pbreak4.ae
index 4bdbe45..060dd24 100644
--- a/code/src/aesop/parser/tests/blocking/pbreak4.ae
+++ b/code/src/aesop/parser/tests/blocking/pbreak4.ae
@@ -1,6 +1,6 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
-#include "src/aesop/aesop-support.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
+#include "aesop-support.hae"
static __blocking void run_pbreak4(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/pbreak5.ae b/code/src/aesop/parser/tests/blocking/pbreak5.ae
index 15cd051..ad3b94f 100644
--- a/code/src/aesop/parser/tests/blocking/pbreak5.ae
+++ b/code/src/aesop/parser/tests/blocking/pbreak5.ae
@@ -1,6 +1,6 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
-#include "src/aesop/aesop-support.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
+#include "aesop-support.hae"
static __blocking void run_pbreak5(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/pbreak6.ae b/code/src/aesop/parser/tests/blocking/pbreak6.ae
index 8178bb2..a02b142 100644
--- a/code/src/aesop/parser/tests/blocking/pbreak6.ae
+++ b/code/src/aesop/parser/tests/blocking/pbreak6.ae
@@ -1,6 +1,6 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
-#include "src/aesop/aesop-support.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
+#include "aesop-support.hae"
static __blocking void run_pbreak6(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/pbreak7.ae b/code/src/aesop/parser/tests/blocking/pbreak7.ae
index 453388b..685f561 100644
--- a/code/src/aesop/parser/tests/blocking/pbreak7.ae
+++ b/code/src/aesop/parser/tests/blocking/pbreak7.ae
@@ -1,7 +1,7 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
-#include "src/aesop/aesop-support.hae"
+#include "aesop-support.hae"
static __blocking void run_par1(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/pbreak8.ae b/code/src/aesop/parser/tests/blocking/pbreak8.ae
index 5fb7841..7feafcc 100644
--- a/code/src/aesop/parser/tests/blocking/pbreak8.ae
+++ b/code/src/aesop/parser/tests/blocking/pbreak8.ae
@@ -1,7 +1,7 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
-#include "src/aesop/aesop-support.hae"
+#include "aesop-support.hae"
static __blocking void run_par1(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/pprivate.ae b/code/src/aesop/parser/tests/blocking/pprivate.ae
index 843e73a..4a8b80a 100644
--- a/code/src/aesop/parser/tests/blocking/pprivate.ae
+++ b/code/src/aesop/parser/tests/blocking/pprivate.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
static __blocking void run_pprivate(void)
diff --git a/code/src/aesop/parser/tests/blocking/pshared.ae b/code/src/aesop/parser/tests/blocking/pshared.ae
index afdbdb5..c5e3867 100644
--- a/code/src/aesop/parser/tests/blocking/pshared.ae
+++ b/code/src/aesop/parser/tests/blocking/pshared.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
static __blocking void run_pshared(void)
diff --git a/code/src/aesop/parser/tests/blocking/pwait-in-for.ae b/code/src/aesop/parser/tests/blocking/pwait-in-for.ae
index f78434b..ca3c746 100644
--- a/code/src/aesop/parser/tests/blocking/pwait-in-for.ae
+++ b/code/src/aesop/parser/tests/blocking/pwait-in-for.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
static __blocking int run_forloop(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/pwait-in-while.ae b/code/src/aesop/parser/tests/blocking/pwait-in-while.ae
index d913d59..d40f185 100644
--- a/code/src/aesop/parser/tests/blocking/pwait-in-while.ae
+++ b/code/src/aesop/parser/tests/blocking/pwait-in-while.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
static __blocking void run_whileloop(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/tcpfor.ae b/code/src/aesop/parser/tests/blocking/tcpfor.ae
index 3834348..60c6449 100644
--- a/code/src/aesop/parser/tests/blocking/tcpfor.ae
+++ b/code/src/aesop/parser/tests/blocking/tcpfor.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
static __blocking void run_parfor(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/threefors.ae b/code/src/aesop/parser/tests/blocking/threefors.ae
index b22f359..4a778b7 100644
--- a/code/src/aesop/parser/tests/blocking/threefors.ae
+++ b/code/src/aesop/parser/tests/blocking/threefors.ae
@@ -1,6 +1,6 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
#include <assert.h>
int val = 0;
diff --git a/code/src/aesop/parser/tests/blocking/twofors.ae b/code/src/aesop/parser/tests/blocking/twofors.ae
index 1ad1e08..087b520 100644
--- a/code/src/aesop/parser/tests/blocking/twofors.ae
+++ b/code/src/aesop/parser/tests/blocking/twofors.ae
@@ -1,6 +1,6 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
int val = 0;
diff --git a/code/src/aesop/parser/tests/blocking/whilebreak.ae b/code/src/aesop/parser/tests/blocking/whilebreak.ae
index b7fffdd..c1512d6 100644
--- a/code/src/aesop/parser/tests/blocking/whilebreak.ae
+++ b/code/src/aesop/parser/tests/blocking/whilebreak.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
static __blocking void run_whilebreak(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/whilebreak2.ae b/code/src/aesop/parser/tests/blocking/whilebreak2.ae
index 58676ec..c449d16 100644
--- a/code/src/aesop/parser/tests/blocking/whilebreak2.ae
+++ b/code/src/aesop/parser/tests/blocking/whilebreak2.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
static __blocking void run_whilebreak(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/whilebreak3.ae b/code/src/aesop/parser/tests/blocking/whilebreak3.ae
index cac321a..e05a43b 100644
--- a/code/src/aesop/parser/tests/blocking/whilebreak3.ae
+++ b/code/src/aesop/parser/tests/blocking/whilebreak3.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
static __blocking void run_whilebreak(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/whileloop.ae b/code/src/aesop/parser/tests/blocking/whileloop.ae
index 005f30e..eaac23b 100644
--- a/code/src/aesop/parser/tests/blocking/whileloop.ae
+++ b/code/src/aesop/parser/tests/blocking/whileloop.ae
@@ -1,5 +1,5 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/parser/tests/blocking/btest.hae"
+#include "aesop.h"
+#include "parser/tests/blocking/btest.hae"
static __blocking void run_whileloop(void)
{
diff --git a/code/prepare b/code/src/aesop/prepare
similarity index 100%
copy from code/prepare
copy to code/src/aesop/prepare
diff --git a/code/src/aesop/resource.c b/code/src/aesop/resource.c
index 778f8ba..4cd0b0f 100644
--- a/code/src/aesop/resource.c
+++ b/code/src/aesop/resource.c
@@ -3,9 +3,9 @@
#include <unistd.h>
#include <fcntl.h>
-#include "src/aesop/resource.h"
-#include "src/aesop/aesop.h"
-#include "src/aesop/ae-debug.h"
+#include "resource.h"
+#include "aesop.h"
+#include "ae-debug.h"
struct ae_poll_data
{
diff --git a/code/src/aesop/resource.h b/code/src/aesop/resource.h
index 1153f5a..a337b5e 100644
--- a/code/src/aesop/resource.h
+++ b/code/src/aesop/resource.h
@@ -1,12 +1,12 @@
#ifndef __RESOURCE_H__
#define __RESOURCE_H__
-#include "src/aesop/ae-types.h"
-#include "src/aesop/ae-thread.h"
-#include "src/aesop/ae-list.h"
-#include "src/aesop/ae-error.h"
-#include "src/aesop/ae-ctl.h"
-#include "src/aesop/hints.h"
+#include "ae-types.h"
+#include "ae-thread.h"
+#include "ae-list.h"
+#include "ae-error.h"
+#include "ae-ctl.h"
+#include "hints.h"
#define AE_MAX_RESOURCES 255
#define AE_MAX_CONTEXTS 1024
diff --git a/code/src/aesop/resources/timer/module.mk.in b/code/src/aesop/resources/timer/module.mk.in
index 97c1cab..ee14128 100644
--- a/code/src/aesop/resources/timer/module.mk.in
+++ b/code/src/aesop/resources/timer/module.mk.in
@@ -1,4 +1,4 @@
-DIR := src/aesop/resources/timer
+DIR := resources/timer
AESOP_HDR += $(DIR)/timer.hae
diff --git a/code/src/aesop/resources/timer/test/module.mk.in b/code/src/aesop/resources/timer/test/module.mk.in
index 016e252..5b171f0 100644
--- a/code/src/aesop/resources/timer/test/module.mk.in
+++ b/code/src/aesop/resources/timer/test/module.mk.in
@@ -1,4 +1,4 @@
-DIR := src/aesop/resources/timer/test
+DIR := resources/timer/test
AETESTSRC += $(DIR)/timer1.ae \
$(DIR)/pthread-compare.ae \
diff --git a/code/src/aesop/resources/timer/test/pthread-compare.ae b/code/src/aesop/resources/timer/test/pthread-compare.ae
index 8e44e29..181b891 100644
--- a/code/src/aesop/resources/timer/test/pthread-compare.ae
+++ b/code/src/aesop/resources/timer/test/pthread-compare.ae
@@ -1,8 +1,8 @@
#include <unistd.h>
#include <sys/time.h>
-#include "src/aesop/aesop.h"
-#include "src/aesop/resources/timer/timer.hae"
+#include "aesop.h"
+#include "resources/timer/timer.hae"
triton_mutex_t mutex = TRITON_MUTEX_INITIALIZER;
diff --git a/code/src/aesop/resources/timer/test/timer-cancel.ae b/code/src/aesop/resources/timer/test/timer-cancel.ae
index 2925c1b..804aaee 100644
--- a/code/src/aesop/resources/timer/test/timer-cancel.ae
+++ b/code/src/aesop/resources/timer/test/timer-cancel.ae
@@ -1,8 +1,8 @@
#include <stdio.h>
-#include "src/aesop/aesop.h"
-#include "src/aesop/resources/timer/timer.hae"
-#include "src/aesop/aesop-support.hae"
+#include "aesop.h"
+#include "resources/timer/timer.hae"
+#include "aesop-support.hae"
static __blocking int dotimer(void)
{
diff --git a/code/src/aesop/resources/timer/test/timer1.ae b/code/src/aesop/resources/timer/test/timer1.ae
index 3dd815b..09a657e 100644
--- a/code/src/aesop/resources/timer/test/timer1.ae
+++ b/code/src/aesop/resources/timer/test/timer1.ae
@@ -1,7 +1,7 @@
#include <stdio.h>
-#include "src/aesop/aesop.h"
-#include "src/aesop/resources/timer/timer.hae"
+#include "aesop.h"
+#include "resources/timer/timer.hae"
static __blocking int dotimer(void)
{
diff --git a/code/src/aesop/resources/timer/test/timer2.ae b/code/src/aesop/resources/timer/test/timer2.ae
index 9d7dd3b..26283d8 100644
--- a/code/src/aesop/resources/timer/test/timer2.ae
+++ b/code/src/aesop/resources/timer/test/timer2.ae
@@ -1,7 +1,7 @@
#include <stdio.h>
-#include "src/aesop/aesop.h"
-#include "src/aesop/resources/timer/timer.hae"
+#include "aesop.h"
+#include "resources/timer/timer.hae"
int exit_loop = 0;
diff --git a/code/src/aesop/resources/timer/timer.c b/code/src/aesop/resources/timer/timer.c
index 6bed882..4904a94 100644
--- a/code/src/aesop/resources/timer/timer.c
+++ b/code/src/aesop/resources/timer/timer.c
@@ -7,10 +7,10 @@
#include <errno.h>
#include <assert.h>
#include <unistd.h>
-#include "src/aesop/aesop.h"
-#include "src/aesop/op.h"
-#include "src/aesop/opcache.h"
-#include "src/aesop/resources/timer/timer.h"
+#include "aesop.h"
+#include "op.h"
+#include "opcache.h"
+#include "resources/timer/timer.h"
#include "libev/ev.h"
/* NOTES:
diff --git a/code/src/aesop/resources/timer/timer.hae b/code/src/aesop/resources/timer/timer.hae
index f891562..41c70d4 100644
--- a/code/src/aesop/resources/timer/timer.hae
+++ b/code/src/aesop/resources/timer/timer.hae
@@ -3,7 +3,7 @@
#include <errno.h>
-#include "src/aesop/aesop.h"
+#include "aesop.h"
/**
* run a timer for the specified number of milliseconds
diff --git a/code/src/aesop/tests/module.mk.in b/code/src/aesop/tests/module.mk.in
index 6703fad..8b2e1c3 100644
--- a/code/src/aesop/tests/module.mk.in
+++ b/code/src/aesop/tests/module.mk.in
@@ -1,3 +1,3 @@
-DIR := src/aesop/tests
+DIR := tests
AETESTSRC += $(DIR)/test-hints.ae
diff --git a/code/src/aesop/tests/test-hints.ae b/code/src/aesop/tests/test-hints.ae
index 291d94e..5554a56 100644
--- a/code/src/aesop/tests/test-hints.ae
+++ b/code/src/aesop/tests/test-hints.ae
@@ -1,6 +1,6 @@
-#include "src/aesop/aesop.h"
-#include "src/aesop/resources/timer/timer.hae"
+#include "aesop.h"
+#include "resources/timer/timer.hae"
__blocking void do_blocking3(void)
{
hooks/post-receive
--
Triton Repository
1
0
Triton Repository branch, aesop-dist, updated. 1c23ea9d3c9095992df7c9c621b90355fec4eb8c
by noreply@mcs.anl.gov 19 Dec '11
by noreply@mcs.anl.gov 19 Dec '11
19 Dec '11
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Triton Repository".
The branch, aesop-dist has been updated
via 1c23ea9d3c9095992df7c9c621b90355fec4eb8c (commit)
via fae46b3bd01e257325bdbc772063a692b154c1e8 (commit)
via 2a5ef9679dabc6d071e0b54a9e26332bc3bc820c (commit)
via 22aca4392542ffa886582f05b4ed51f79930eff9 (commit)
from e75872e4361ea2d73f57cdae5ef523cf7f82973c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 1c23ea9d3c9095992df7c9c621b90355fec4eb8c
Author: Phil Carns <carns(a)mcs.anl.gov>
Date: Mon Dec 19 12:01:43 2011 -0500
tweak main build to use c-utils
- for now assumes that c-utils was built in-tree in code/src/c-utils
commit fae46b3bd01e257325bdbc772063a692b154c1e8
Author: Phil Carns <carns(a)mcs.anl.gov>
Date: Mon Dec 19 10:43:51 2011 -0500
self-contained configure and build for c-utils
commit 2a5ef9679dabc6d071e0b54a9e26332bc3bc820c
Author: Phil Carns <carns(a)mcs.anl.gov>
Date: Mon Dec 19 09:41:02 2011 -0500
rename remaining common stuff to c-utils
commit 22aca4392542ffa886582f05b4ed51f79930eff9
Author: Phil Carns <carns(a)mcs.anl.gov>
Date: Mon Dec 19 09:40:40 2011 -0500
remove stray dot file
-----------------------------------------------------------------------
Summary of changes:
code/Makefile.in | 8 +-
code/configure.ac | 3 -
code/src/aesop/ae-base.h | 2 +-
code/src/aesop/ae-list.h | 2 +-
code/src/aesop/ae-thread.h | 2 +-
code/src/aesop/ae-types.h | 4 +-
code/src/aesop/hints.c | 6 +-
code/src/aesop/opcache.c | 2 +-
code/src/aesop/parser/tests/blocking/btest-impl.c | 2 +-
code/src/aesop/resource.c | 2 +-
code/src/aesop/resources/timer/timer.c | 2 +-
code/src/c-utils/Makefile.in | 306 +++++++++++++++++++++
code/{maint => src/c-utils}/config/libev.m4 | 0
code/{maint => src/c-utils}/config/unix.m4 | 0
code/src/c-utils/configure.ac | 123 +++++++++
code/{maint => src/c-utils}/depend.sh | 0
code/src/{common => c-utils}/jenkins-hash.h | 0
code/src/{common => c-utils}/libev/README | 0
code/src/{common => c-utils}/libev/ev++.h | 0
code/src/{common => c-utils}/libev/ev.c | 0
code/src/{common => c-utils}/libev/ev.h | 0
code/src/{common => c-utils}/libev/ev_epoll.c | 0
code/src/{common => c-utils}/libev/ev_kqueue.c | 0
code/src/{common => c-utils}/libev/ev_poll.c | 0
code/src/{common => c-utils}/libev/ev_port.c | 0
code/src/{common => c-utils}/libev/ev_select.c | 0
code/src/{common => c-utils}/libev/ev_vars.h | 0
code/src/{common => c-utils}/libev/ev_win32.c | 0
code/src/{common => c-utils}/libev/ev_wrap.h | 0
code/src/{common => c-utils}/libev/event.c | 0
code/src/{common => c-utils}/libev/event.h | 0
code/src/c-utils/libev/module.mk.in | 9 +
code/src/{common => c-utils}/lookup3.c | 2 +-
code/src/c-utils/module.mk.in | 3 +
code/{ => src/c-utils}/prepare | 2 +-
code/src/{common => c-utils}/triton-base.h | 2 +-
code/src/{common => c-utils}/triton-hash.h | 8 +-
code/src/{common => c-utils}/triton-list.h | 2 +-
code/src/{common => c-utils}/triton-string.c | 2 +-
code/src/{common => c-utils}/triton-string.h | 4 +-
code/src/{common => c-utils}/triton-thread.h | 2 +-
code/src/{common => c-utils}/triton-uint128.h | 2 +-
code/src/common/.triton-hash.h.swp | Bin 16572 -> 0 bytes
code/src/common/libev/module.mk.in | 14 -
code/src/common/module.mk.in | 7 -
45 files changed, 470 insertions(+), 53 deletions(-)
create mode 100644 code/src/c-utils/Makefile.in
copy code/{maint => src/c-utils}/config/libev.m4 (100%)
copy code/{maint => src/c-utils}/config/unix.m4 (100%)
create mode 100644 code/src/c-utils/configure.ac
copy code/{maint => src/c-utils}/depend.sh (100%)
rename code/src/{common => c-utils}/jenkins-hash.h (100%)
rename code/src/{common => c-utils}/libev/README (100%)
rename code/src/{common => c-utils}/libev/ev++.h (100%)
rename code/src/{common => c-utils}/libev/ev.c (100%)
rename code/src/{common => c-utils}/libev/ev.h (100%)
rename code/src/{common => c-utils}/libev/ev_epoll.c (100%)
rename code/src/{common => c-utils}/libev/ev_kqueue.c (100%)
rename code/src/{common => c-utils}/libev/ev_poll.c (100%)
rename code/src/{common => c-utils}/libev/ev_port.c (100%)
rename code/src/{common => c-utils}/libev/ev_select.c (100%)
rename code/src/{common => c-utils}/libev/ev_vars.h (100%)
rename code/src/{common => c-utils}/libev/ev_win32.c (100%)
rename code/src/{common => c-utils}/libev/ev_wrap.h (100%)
rename code/src/{common => c-utils}/libev/event.c (100%)
rename code/src/{common => c-utils}/libev/event.h (100%)
create mode 100644 code/src/c-utils/libev/module.mk.in
rename code/src/{common => c-utils}/lookup3.c (99%)
create mode 100644 code/src/c-utils/module.mk.in
copy code/{ => src/c-utils}/prepare (61%)
rename code/src/{common => c-utils}/triton-base.h (99%)
rename code/src/{common => c-utils}/triton-hash.h (98%)
rename code/src/{common => c-utils}/triton-list.h (99%)
rename code/src/{common => c-utils}/triton-string.c (70%)
rename code/src/{common => c-utils}/triton-string.h (98%)
rename code/src/{common => c-utils}/triton-thread.h (98%)
rename code/src/{common => c-utils}/triton-uint128.h (98%)
delete mode 100644 code/src/common/.triton-hash.h.swp
delete mode 100644 code/src/common/libev/module.mk.in
delete mode 100644 code/src/common/module.mk.in
Diff of changes:
diff --git a/code/Makefile.in b/code/Makefile.in
index f119bc7..07c42af 100644
--- a/code/Makefile.in
+++ b/code/Makefile.in
@@ -67,7 +67,7 @@ ifneq (0,$(VALGRIND_CLEAN))
CPPFLAGS += -DVALGRIND_CLEAN -DVALGRIND
endif
-CFLAGS= -I$(srcdir)/include -I. -I$(srcdir) @DB_CFLAGS@ @CFLAGS@ $(CPPFLAGS)
+CFLAGS= -I$(srcdir)/src/c-utils -I$(srcdir)/include -I. -I$(srcdir) @DB_CFLAGS@ @CFLAGS@ $(CPPFLAGS)
# enable relocatable
#CFLAGS += -fPIC
@@ -98,8 +98,8 @@ LIBCFLAGS=@LIBCFLAGS@
# in the module.mk.in because we need it to take effect when the .d file is
# generated as well.
LIBCFLAGS += -DEV_CONFIG_H=\"triton-config.h\"
-LDFLAGS += @LDFLAGS@
-LIBS += @LIBS@ -lcrypto
+LDFLAGS += @LDFLAGS@ -L$(srcdir)/src/c-utils
+LIBS += @LIBS@ -lcrypto -lc-utils -lm
DEPLIBS += @THREAD_LIB@
@@ -197,7 +197,7 @@ endif
# MODULES is a list of subdirectories that we wish to operate on.
# They are identified by the presence of module.mk files (makefile
# includes).
-MODULES := $(shell find src doc -name "*.mk" | sed -e 's/^.\///;s/module.mk//')
+MODULES := $(shell find src/aesop -name "*.mk" | sed -e 's/^.\///;s/module.mk//')
################################################################
diff --git a/code/configure.ac b/code/configure.ac
index a9a55f3..75b39ff 100644
--- a/code/configure.ac
+++ b/code/configure.ac
@@ -370,14 +370,11 @@ AC_CONFIG_FILES([maint/aecc-utils], [chmod +x maint/aecc-utils])
AC_CONFIG_FILES([maint/aecc], [chmod +x maint/aecc])
AC_OUTPUT([Makefile
-src/common/module.mk
-src/common/libev/module.mk
src/aesop/resources/timer/test/module.mk
src/aesop/resources/timer/module.mk
src/aesop/module.mk
src/aesop/tests/module.mk
src/aesop/parser/module.mk
src/aesop/parser/tests/blocking/module.mk
-doc/module.mk
])
diff --git a/code/src/aesop/ae-base.h b/code/src/aesop/ae-base.h
index f65fc8c..1050fe3 100644
--- a/code/src/aesop/ae-base.h
+++ b/code/src/aesop/ae-base.h
@@ -6,6 +6,6 @@
* this header with your own if you want to use Aesop without
* Triton.
*/
-#include "src/common/triton-base.h"
+#include "triton-base.h"
#endif
diff --git a/code/src/aesop/ae-list.h b/code/src/aesop/ae-list.h
index e3344f5..b68df66 100644
--- a/code/src/aesop/ae-list.h
+++ b/code/src/aesop/ae-list.h
@@ -6,7 +6,7 @@
* this header with your own if you want to use Aesop without
* Triton.
*/
-#include "src/common/triton-list.h"
+#include "triton-list.h"
typedef triton_list_t ae_list_t;
typedef triton_list_link_t ae_list_link_t;
diff --git a/code/src/aesop/ae-thread.h b/code/src/aesop/ae-thread.h
index 8674b0c..eeb133b 100644
--- a/code/src/aesop/ae-thread.h
+++ b/code/src/aesop/ae-thread.h
@@ -6,7 +6,7 @@
* you want to use Aesop without Triton, replace the
* following macros with your own.
*/
-#include "src/common/triton-thread.h"
+#include "triton-thread.h"
typedef triton_mutex_t ae_mutex_t;
#define ae_mutex_init triton_mutex_init
diff --git a/code/src/aesop/ae-types.h b/code/src/aesop/ae-types.h
index 0dbc205..f880957 100644
--- a/code/src/aesop/ae-types.h
+++ b/code/src/aesop/ae-types.h
@@ -7,8 +7,8 @@
* want to use Triton.
*/
-#include "src/common/triton-string.h"
-#include "src/common/triton-uint128.h"
+#include "triton-string.h"
+#include "triton-uint128.h"
#define ae_op_id_t uint128_t
#define ae_op_id_clear triton_uint128_setzero
diff --git a/code/src/aesop/hints.c b/code/src/aesop/hints.c
index ee00aaa..5575ad4 100644
--- a/code/src/aesop/hints.c
+++ b/code/src/aesop/hints.c
@@ -1,9 +1,9 @@
#include "src/aesop/ae-error.h"
#include "src/aesop/hints.h"
-#include "src/common/triton-hash.h"
-#include "src/common/jenkins-hash.h"
-#include "src/common/triton-list.h"
+#include "triton-hash.h"
+#include "jenkins-hash.h"
+#include "triton-list.h"
/**
* hint info structure for static hint definitions.
diff --git a/code/src/aesop/opcache.c b/code/src/aesop/opcache.c
index 1a16bee..0a420f4 100644
--- a/code/src/aesop/opcache.c
+++ b/code/src/aesop/opcache.c
@@ -1,6 +1,6 @@
#include "src/aesop/aesop.h"
#include "src/aesop/opcache.h"
-#include "src/common/jenkins-hash.h"
+#include "jenkins-hash.h"
#include <errno.h>
#include <opa_primitives.h>
diff --git a/code/src/aesop/parser/tests/blocking/btest-impl.c b/code/src/aesop/parser/tests/blocking/btest-impl.c
index efd1c10..8c39a17 100644
--- a/code/src/aesop/parser/tests/blocking/btest-impl.c
+++ b/code/src/aesop/parser/tests/blocking/btest-impl.c
@@ -5,7 +5,7 @@
#include <assert.h>
#include <pthread.h>
#include "src/aesop/aesop.h"
-#include "src/common/triton-list.h"
+#include "triton-list.h"
#include "src/aesop/parser/tests/blocking/btest.h"
#define RESOURCE_NAME "btest"
diff --git a/code/src/aesop/resource.c b/code/src/aesop/resource.c
index b07f3b6..778f8ba 100644
--- a/code/src/aesop/resource.c
+++ b/code/src/aesop/resource.c
@@ -1,4 +1,4 @@
-#include "src/common/libev/ev.h"
+#include "libev/ev.h"
#include <stddef.h>
#include <unistd.h>
#include <fcntl.h>
diff --git a/code/src/aesop/resources/timer/timer.c b/code/src/aesop/resources/timer/timer.c
index 310f249..6bed882 100644
--- a/code/src/aesop/resources/timer/timer.c
+++ b/code/src/aesop/resources/timer/timer.c
@@ -11,7 +11,7 @@
#include "src/aesop/op.h"
#include "src/aesop/opcache.h"
#include "src/aesop/resources/timer/timer.h"
-#include "src/common/libev/ev.h"
+#include "libev/ev.h"
/* NOTES:
*
diff --git a/code/src/c-utils/Makefile.in b/code/src/c-utils/Makefile.in
new file mode 100644
index 0000000..e2559a2
--- /dev/null
+++ b/code/src/c-utils/Makefile.in
@@ -0,0 +1,306 @@
+###############################################################
+# General documentation
+#
+# This is a single makefile that runs the entire c-utils build
+# process. There are no makefiles in subdirectories. For a
+# general introduction to this approach, please read this document
+# by Peter Miller:
+#
+# http://www.tip.net.au/~millerp/rmch/recu-make-cons-harm.html
+#
+# Each subdirectory contains a module.mk file that gets included
+# when make is executed. These module.mk files tell make about the
+# files in each subdirectory that must be built, including any
+# special case rules. Make uses this information to generate a
+# sinle dependency graph and orchestrate the build process from this
+# top level directory.
+#
+# We categorize our source depending on what it will be used for.
+# For example, there are lists of source files for building the
+# server, building the library, building documentation, etc.
+#
+
+###############################################################
+# Generic makefile setup
+
+# define a few generic variables that we need to use; DESTDIR may
+# be overridden on the command line during make install
+DESTDIR =
+srcdir = @srcdir@
+abs_srcdir = @abs_srcdir@
+builddir = @BUILD_ABSOLUTE_TOP@
+prefix = @prefix@
+datarootdir = @datarootdir@
+exec_prefix = @exec_prefix@
+includedir = $(DESTDIR)@includedir@
+mandir = $(DESTDIR)@mandir@
+sbindir = $(DESTDIR)@sbindir@
+bindir = $(DESTDIR)@bindir@
+libdir = $(DESTDIR)@libdir@
+
+# subdirs that contain configure/make
+# SUBDIRS = @subdirs@
+
+VPATH = $(srcdir)
+
+CC = @CC@
+LD = @LD@
+BUILD_CC = @BUILD_CC@
+BUILD_LD = @BUILD_LD@
+BUILD_CFLAGS = @BUILD_CFLAGS@
+BUILD_LDFLAGS = @BUILD_LDFLAGS@
+
+STRICT_CFLAGS = @STRICT_CFLAGS@
+VALGRIND_CLEAN = @VALGRIND_CLEAN@
+CPPFLAGS = @CPPFLAGS@
+
+ifneq (0,$(VALGRIND_CLEAN))
+ CPPFLAGS += -DVALGRIND_CLEAN -DVALGRIND
+endif
+
+CFLAGS= -I$(srcdir)/include -I. -I$(srcdir) @CFLAGS@ $(CPPFLAGS)
+
+CWARNS=
+ifneq (0,$(STRICT_CFLAGS))
+ CWARNS += -Wcast-align -Wbad-function-cast
+ CWARNS += -Wmissing-prototypes -Wmissing-declarations
+ CWARNS += -Wundef -Wpointer-arith
+ CWARNS += -Wnested-externs
+ CWARNS += -Wredundant-decls
+ # Very noisy, too strict
+ CWARNS += -W -Wno-unused-label -Wno-sign-compare
+ CWARNS += -Wcast-qual
+ CWARNS += -Wshadow
+ CWARNS += -Wwrite-strings
+ CWARNS += -Wformat
+endif
+
+# don't want to warn when we call format functions without string literal parameters
+# e.g. triton_string_init(&str, myname);
+CWARNS += -Wno-format-security
+
+LDSHARED = $(TCC) -shared
+
+# tell libev to use our config.h instead of its own; we can't just put this
+# in the module.mk.in because we need it to take effect when the .d file is
+# generated as well.
+LIBCFLAGS += -DEV_CONFIG_H=\"c-utils-config.h\"
+LDFLAGS += @LDFLAGS@
+LIBS += @LIBS@
+
+DEPLIBS += @THREAD_LIB@
+
+CPPDEFS=$(filter -D%,$(LIBCFLAGS) $(CFLAGS))
+CPPINCS=$(filter -I%,$(LIBCFLAGS) $(CFLAGS))
+
+USE_DYLIBS = @USE_DYLIBS@
+
+LIBSRC :=
+
+# Eliminate all default suffixes. We want explicit control.
+.SUFFIXES:
+
+QUIET_COMPILE = @QUIET_COMPILE@
+WARNINGS_AS_ERRORS = @WARNINGS_AS_ERRORS@
+
+ifdef V
+ QUIET_COMPILE = 0
+endif
+
+ifdef W
+ ifeq ($(W),1)
+ WARNINGS_AS_ERRORS = 1
+ else
+ WARNINGS_AS_ERRORS = 0
+ endif
+endif
+
+ifdef D
+ DA="-l"
+else
+ DA=
+endif
+
+ifeq ($(QUIET_COMPILE),1)
+ # say a one-line description of the action, do not echo the command
+ Q=@echo
+ E=@
+ VA=
+else
+ # do not say the short Q lines, but do echo the entire command
+ Q=@echo >/dev/null
+ E=
+ VA="-v"
+endif
+
+ifeq ($(WARNINGS_AS_ERRORS),1)
+ EWARNS = -Werror
+else
+ EWARNS =
+endif
+
+# PHONY targets are targets that do not result in the generation
+# of a file that has the same name as the target. Listing them
+# here keeps make from accidentally doing too much work (see GNU
+# make manual).
+.PHONY: all clean
+
+################################################################
+# Find project subdirectories
+
+# MODULES is a list of subdirectories that we wish to operate on.
+# They are identified by the presence of module.mk files (makefile
+# includes).
+MODULES := $(shell find . -name "*.mk" | sed -e 's/^.\///;s/module.mk//')
+
+
+################################################################
+# Default target forward pointer, to avoid other targets in make stubs
+all::
+
+################################################################
+# Makefile includes
+
+# this is how we pull build information from all of the project
+# subdirectories, make sure to catch top level module.mk as well
+include $(patsubst %, %/module.mk, $(MODULES)) module.mk
+
+# Just like dir, but strip the slash off the end, to be pretty.
+dirname = $(patsubst %/,%,$(dir $(1)))
+
+# Generate the canonical in-tree location of a file, given a possible out
+# of tree reference.
+canonname = $(patsubst $(srcdir)/%,%,$(call dirname,$(1)))
+
+canonfname = $(patsubst $(srcdir)/%,%,$(1))
+
+# the "lastword" function is more concise, but not available on
+# older versions of GNU Make
+# bname = $(lastword $(subst /, ,$(1)))
+bname = $(word $(words $(subst /, ,$(1))),$(subst /, ,$(1)))
+
+canondirname = $(subst /,_,$(1))
+
+################################################################
+# Derived file lists
+
+# NOTES: At this point, the subdirectory makefile includes have informed
+# us what the source files are. Now we want to generate some
+# other lists (such as objects, executables, and dependency files)
+# by manipulating the lists of source files
+
+# Grab any CFLAGS defined by the make stub for a particular file, and
+# for the directory in which the source resides.
+# Similar for ldflags.
+modcflags = $(MODCFLAGS_$(call canonname,$(1))) \
+ $(MODCFLAGS_$(patsubst $(srcdir)/%,%,$(1)))
+
+MODCFLAGS_AER = $(call modcflags,$(1))
+MODCFLAGS_AE = $(call modcflags,$(1))
+MODCFLAGS_C = $(call modcflags,$(1))
+
+modldflags = $(MODLDFLAGS_$(call canonname,$(1))) \
+ $(MODLDFLAGS_$(patsubst $(srcdir)/%,%,$(1)))
+
+MODLDFLAGS_AER = $(call modldflags,$(1))
+MODLDFLAGS_AE = $(call modldflags,$(1))
+MODLDFLAGS_C = $(call modldflags,$(1))
+
+modlibs = $(MODLIBS_$(call canonname,$(1))) \
+ $(MODLIBS_$(patsubst $(srcdir)/%,%,$(1)))
+
+MODLIBS_AER = $(call modlibs,$(1))
+MODLIBS_AE = $(call modlibs,$(1))
+MODLIBS_C = $(call modlibs,$(1))
+
+modname = $(MODNAME_$(call canonname,$(1))) \
+ $(MODNAME_$(patsubst $(srcdir)/%,%,$(1)))
+
+# use TCC variable so that we can keep CC as the system compiler
+TCC = $(if $(MPICC),$(MPICC),$(CC))
+CPPCC = $(CC)
+
+modcc = $(if $(MODCC_$(1)),$(MODCC_$(1)),$(TCC))
+
+MCC_AER = $(call modcc,$(1))
+MCC_AE = $(call modcc,$(1))
+MCC_C = $(call modcc,$(1))
+
+# The object files for the library generated from .c files
+LIBOBJS=$(patsubst %.c,%.o,$(LIBSRC))
+LIBDEPS=$(patsubst %.c,%.d,$(LIBSRC))
+
+DEPENDS=$(LIBDEPS)
+
+# for now we just use static if we're not on a mac
+ifneq (,$(USE_DYLIBS))
+LIBRARIES=libc-utils.dylib
+else
+LIBRARIES=libc-utils.a
+endif
+
+####################################################################
+# Rules and dependencies
+
+# Normal rules
+
+$(LIBOBJS): %.o: %.c
+ $(Q) " CC $@"
+ $(E)$(call MCC_C,$*) -c -o $@ \
+ $(LIBCFLAGS) $(CFLAGS) $(CWARNS) \
+ $(call MODCFLAGS_C,$*) $<
+
+
+# Auto-generated dependencies for .c files
+$(LIBDEPS): %.d: %.c
+ $(Q) " DEP $@"
+ $(E)CC="$(call MCC_C,$*)" $(srcdir)/depend.sh $(call dirname,$*) $(LIBCFLAGS) $(CFLAGS) $(call MODCFLAGS_C,$*) $< > $@
+
+libc-utils.a: $(LIBOBJS)
+ $(Q) " RANLIB $@"
+ $(E)ar rcs $@ $(LIBOBJS)
+
+# shared objects
+
+libtriton.so: $(LIBOBJS)
+ $(Q) " LDSO $@"
+ $(E)$(LDSHARED) -Wl,-soname,libtriton.so -o $@ $(LIBOBJS)
+
+libtriton.dylib: $(LIBOBJS)
+ $(Q) " DYLIB $@"
+ $(E)$(TCC) -o libtriton.dylib -dynamiclib -current_version 0.0.1 -install_name lib/libtriton.0.0.1.dylib \
+ $(LIBOBJS) $(DEPLIBS)
+
+# User targets
+
+all:: $(LIBRARIES)
+
+clean::
+ $(Q) " CLEAN"
+ $(E)rm -f $(LIBOBJS) $(LIBRARIES) $(DEPENDS)
+
+# this is where we include all of our automatic dependencies.
+# NOTE: we wrap this in ifneq's in order to prevent the dependencies
+# from being generated for special targets that don't require them
+ifeq (,$(filter clean nodep,$(MAKECMDGOALS)))
+-include $(DEPENDS)
+endif
+# add this as a make goal to disable rebuilding deps
+.PHONY: nodep
+.nodep:; @:
+
+# rule for generating cscope information
+cscope:
+ find @SRC_ABSOLUTE_TOP@ -regex ".*\.\(c\|h\|ae\|hae\|aer\|haer\)" -o -iname "*.sm" \
+ > $(srcdir)/cscope.files
+ ( cd @SRC_ABSOLUTE_TOP@; cscope -be -i @SRC_ABSOLUTE_TOP@/cscope.files )
+
+tags::
+ find @SRC_ABSOLUTE_TOP@ -regex ".*\.\(c\|h\|ae\|hae\|aer\|haer\)" | ctags -L- --excmd=pattern -B --extra=+f --langmap=c:+.ae.aer.hae.haer -I pwait,pbranch -f @SRC_ABSOLUTE_TOP@/tags
+
+etags:
+# Note: this only reads src and prunes the test directories
+ cd @SRC_ABSOLUTE_TOP@ ; find src \
+ -name test -prune -o -name tests -prune -o \
+ -regex ".*\.\(c\|h\|ae\|hae\|aer\|haer\)" -print \
+ | xargs etags
diff --git a/code/maint/config/libev.m4 b/code/src/c-utils/config/libev.m4
similarity index 100%
copy from code/maint/config/libev.m4
copy to code/src/c-utils/config/libev.m4
diff --git a/code/maint/config/unix.m4 b/code/src/c-utils/config/unix.m4
similarity index 100%
copy from code/maint/config/unix.m4
copy to code/src/c-utils/config/unix.m4
diff --git a/code/src/c-utils/configure.ac b/code/src/c-utils/configure.ac
new file mode 100644
index 0000000..8183a25
--- /dev/null
+++ b/code/src/c-utils/configure.ac
@@ -0,0 +1,123 @@
+dnl **************************************************************
+dnl
+dnl Process this file with autoconf to produce a configure script.
+dnl You may need to use autoheader as well if changing any DEFINEs
+
+AC_PREREQ(2.50)
+AC_INIT(c-utils, 0.0.1, triton-dev(a)mcs.anl.gov)
+
+AC_CONFIG_HEADER(c-utils-config.h)
+
+AC_PROG_CC
+
+AC_CHECK_SIZEOF([long int])
+
+dnl ======================================================================
+dnl Try harder to be valgrind safe
+dnl ======================================================================
+AC_ARG_ENABLE(valgrind-clean,
+ [AS_HELP_STRING(
+ [--enable-valgrind-clean],
+ [Try harder to avoid valgrind warnings])
+ ])
+
+VALGRIND_CLEAN=0
+AS_IF([test "x$enable_valgrind_clean" = "xyes"], [
+ VALGRIND_CLEAN=1
+])
+AC_SUBST(VALGRIND_CLEAN)
+
+dnl =========================================================================
+dnl == Google's PerfTools ===================================================
+dnl =========================================================================
+
+AC_ARG_WITH(perftools,
+ AS_HELP_STRING([--with-perftools=dir],
+ [Location of google perftools installation]),
+ PERFTOOL_DIR="$withval",PERFTOOL_DIR="")
+
+if test -n "$PERFTOOL_DIR" ;
+then
+ CPPFLAGS="$CPPFLAGS -I${PERFTOOL_DIR}/include"
+ LDFLAGS="$LDFLAGS -L${PERFTOOL_DIR}/lib"
+fi
+
+if test -n "$PERFTOOL_DIR" ;
+then
+use_perftools=1
+else
+use_perftools=
+fi
+
+AC_CHECK_HEADERS([google/tcmalloc.h],[],
+ [use_perftools=])
+
+if test -n "$use_perftools"; then
+AC_CHECK_LIB([tcmalloc],[tc_new],[],[use_perftools=])
+AC_CHECK_LIB([profiler],[ProfilerStart], [], [use_perftools=])
+fi
+
+AC_MSG_CHECKING([if Google Perftools are used])
+if test "x${use_perftools}" == "x1" ; then
+ AC_DEFINE([HAVE_PERFTOOLS], [1], [If google perftools are available])
+ AC_MSG_RESULT([yes])
+else
+ AC_MSG_RESULT([no])
+fi
+
+dnl todo: add check making sure that if the user manually enabled perftools
+dnl and we cannot find them we complain
+
+dnl check for unix variants
+AX_UNIX("")
+
+BUILD_ABSOLUTE_TOP=${PWD}
+SRC_RELATIVE_TOP=$srcdir
+SRC_ABSOLUTE_TOP=`cd $srcdir; pwd`
+
+AC_SUBST(BUILD_ABSOLUTE_TOP)
+AC_SUBST(SRC_RELATIVE_TOP)
+AC_SUBST(SRC_ABSOLUTE_TOP)
+
+AC_SUBST(CFLAGS)
+AC_SUBST(LDFLAGS)
+AC_SUBST(LIBS)
+AC_SUBST(CPPFLAGS)
+
+AC_ARG_ENABLE(verbose,
+[ --enable-verbose Enables verbose output during build process],
+QUIET_COMPILE=0,
+QUIET_COMPILE=1)
+AC_SUBST(QUIET_COMPILE)
+
+AC_ARG_ENABLE(error-on-warning,
+[ --enable-error-on-warning Generate compiler error on warnings],
+WARNINGS_AS_ERRORS=1,
+WARNINGS_AS_ERRORS=0)
+AC_SUBST(WARNINGS_AS_ERRORS)
+
+STRICT_CFLAGS=1
+AC_ARG_ENABLE(strict,
+[ --disable-strict Turn off strict compiler warnings],
+[if test "x$enableval" = "xno" ; then
+ STRICT_CFLAGS=0
+fi],
+[
+ STRICT_CFLAGS=1
+])
+AC_SUBST(STRICT_CFLAGS)
+
+AC_ARG_ENABLE(coverage,
+[ --enable-coverage Enable coverage analysis (disables optimizations)],
+[ CFLAGS="$CFLAGS -g -pg -ftest-coverage -O0"
+ ENABLE_COVERAGE=1],
+)
+AC_SUBST(ENABLE_COVERAGE)
+
+m4_include([config/libev.m4])
+
+AC_OUTPUT([Makefile
+module.mk
+libev/module.mk
+])
+
diff --git a/code/maint/depend.sh b/code/src/c-utils/depend.sh
similarity index 100%
copy from code/maint/depend.sh
copy to code/src/c-utils/depend.sh
diff --git a/code/src/common/jenkins-hash.h b/code/src/c-utils/jenkins-hash.h
similarity index 100%
rename from code/src/common/jenkins-hash.h
rename to code/src/c-utils/jenkins-hash.h
diff --git a/code/src/common/libev/README b/code/src/c-utils/libev/README
similarity index 100%
rename from code/src/common/libev/README
rename to code/src/c-utils/libev/README
diff --git a/code/src/common/libev/ev++.h b/code/src/c-utils/libev/ev++.h
similarity index 100%
rename from code/src/common/libev/ev++.h
rename to code/src/c-utils/libev/ev++.h
diff --git a/code/src/common/libev/ev.c b/code/src/c-utils/libev/ev.c
similarity index 100%
rename from code/src/common/libev/ev.c
rename to code/src/c-utils/libev/ev.c
diff --git a/code/src/common/libev/ev.h b/code/src/c-utils/libev/ev.h
similarity index 100%
rename from code/src/common/libev/ev.h
rename to code/src/c-utils/libev/ev.h
diff --git a/code/src/common/libev/ev_epoll.c b/code/src/c-utils/libev/ev_epoll.c
similarity index 100%
rename from code/src/common/libev/ev_epoll.c
rename to code/src/c-utils/libev/ev_epoll.c
diff --git a/code/src/common/libev/ev_kqueue.c b/code/src/c-utils/libev/ev_kqueue.c
similarity index 100%
rename from code/src/common/libev/ev_kqueue.c
rename to code/src/c-utils/libev/ev_kqueue.c
diff --git a/code/src/common/libev/ev_poll.c b/code/src/c-utils/libev/ev_poll.c
similarity index 100%
rename from code/src/common/libev/ev_poll.c
rename to code/src/c-utils/libev/ev_poll.c
diff --git a/code/src/common/libev/ev_port.c b/code/src/c-utils/libev/ev_port.c
similarity index 100%
rename from code/src/common/libev/ev_port.c
rename to code/src/c-utils/libev/ev_port.c
diff --git a/code/src/common/libev/ev_select.c b/code/src/c-utils/libev/ev_select.c
similarity index 100%
rename from code/src/common/libev/ev_select.c
rename to code/src/c-utils/libev/ev_select.c
diff --git a/code/src/common/libev/ev_vars.h b/code/src/c-utils/libev/ev_vars.h
similarity index 100%
rename from code/src/common/libev/ev_vars.h
rename to code/src/c-utils/libev/ev_vars.h
diff --git a/code/src/common/libev/ev_win32.c b/code/src/c-utils/libev/ev_win32.c
similarity index 100%
rename from code/src/common/libev/ev_win32.c
rename to code/src/c-utils/libev/ev_win32.c
diff --git a/code/src/common/libev/ev_wrap.h b/code/src/c-utils/libev/ev_wrap.h
similarity index 100%
rename from code/src/common/libev/ev_wrap.h
rename to code/src/c-utils/libev/ev_wrap.h
diff --git a/code/src/common/libev/event.c b/code/src/c-utils/libev/event.c
similarity index 100%
rename from code/src/common/libev/event.c
rename to code/src/c-utils/libev/event.c
diff --git a/code/src/common/libev/event.h b/code/src/c-utils/libev/event.h
similarity index 100%
rename from code/src/common/libev/event.h
rename to code/src/c-utils/libev/event.h
diff --git a/code/src/c-utils/libev/module.mk.in b/code/src/c-utils/libev/module.mk.in
new file mode 100644
index 0000000..7a3ec40
--- /dev/null
+++ b/code/src/c-utils/libev/module.mk.in
@@ -0,0 +1,9 @@
+DIR := libev
+
+# note: the other .c files in this directory are included automatically by
+# ev.c as needed; don't compile them explicitly
+LIBSRC += $(DIR)/ev.c \
+ $(DIR)/event.c
+
+# turn off warnings for libev compile
+MODCFLAGS_$(DIR) = -w
diff --git a/code/src/common/lookup3.c b/code/src/c-utils/lookup3.c
similarity index 99%
rename from code/src/common/lookup3.c
rename to code/src/c-utils/lookup3.c
index 432e977..f3d8fa4 100644
--- a/code/src/common/lookup3.c
+++ b/code/src/c-utils/lookup3.c
@@ -1,5 +1,5 @@
-#include "src/common/jenkins-hash.h"
+#include "jenkins-hash.h"
/*
-------------------------------------------------------------------------------
diff --git a/code/src/c-utils/module.mk.in b/code/src/c-utils/module.mk.in
new file mode 100644
index 0000000..77ed362
--- /dev/null
+++ b/code/src/c-utils/module.mk.in
@@ -0,0 +1,3 @@
+LIBSRC += triton-string.c \
+ lookup3.c
+
diff --git a/code/prepare b/code/src/c-utils/prepare
similarity index 61%
copy from code/prepare
copy to code/src/c-utils/prepare
index ede73f4..573c075 100755
--- a/code/prepare
+++ b/code/src/c-utils/prepare
@@ -1,6 +1,6 @@
#!/bin/sh
-if aclocal --force -I ./maint/config && autoheader -f && autoconf -f; then
+if aclocal --force -I ./config && autoheader -f && autoconf -f; then
echo "configure script successfully regenerated"
else
echo "some part of configure regeneration failed"
diff --git a/code/src/common/triton-base.h b/code/src/c-utils/triton-base.h
similarity index 99%
rename from code/src/common/triton-base.h
rename to code/src/c-utils/triton-base.h
index 871369c..b33c233 100644
--- a/code/src/common/triton-base.h
+++ b/code/src/c-utils/triton-base.h
@@ -1,7 +1,7 @@
#ifndef __TRITON_BASE_H__
#define __TRITON_BASE_H__
-#include "triton-config.h"
+#include "c-utils-config.h"
/**
* triton-base.h includes important system headers and defines appropriate
diff --git a/code/src/common/triton-hash.h b/code/src/c-utils/triton-hash.h
similarity index 98%
rename from code/src/common/triton-hash.h
rename to code/src/c-utils/triton-hash.h
index ad2772d..df633b3 100644
--- a/code/src/common/triton-hash.h
+++ b/code/src/c-utils/triton-hash.h
@@ -8,10 +8,10 @@
#include <errno.h>
-#include "src/common/triton-list.h"
-#include "src/common/triton-string.h"
-#include "src/common/triton-thread.h"
-#include "src/common/jenkins-hash.h"
+#include "triton-list.h"
+#include "triton-string.h"
+#include "triton-thread.h"
+#include "jenkins-hash.h"
#define triton_hash_link triton_list_link
diff --git a/code/src/common/triton-list.h b/code/src/c-utils/triton-list.h
similarity index 99%
rename from code/src/common/triton-list.h
rename to code/src/c-utils/triton-list.h
index 685942b..608c9d9 100644
--- a/code/src/common/triton-list.h
+++ b/code/src/c-utils/triton-list.h
@@ -1,7 +1,7 @@
#ifndef __TRITON_LIST_H__
#define __TRITON_LIST_H__
-#include "src/common/triton-base.h"
+#include "triton-base.h"
typedef struct triton_list triton_list_t;
diff --git a/code/src/common/triton-string.c b/code/src/c-utils/triton-string.c
similarity index 70%
rename from code/src/common/triton-string.c
rename to code/src/c-utils/triton-string.c
index db094bc..796e236 100644
--- a/code/src/common/triton-string.c
+++ b/code/src/c-utils/triton-string.c
@@ -1,4 +1,4 @@
-#include "src/common/triton-string.h"
+#include "triton-string.h"
triton_string_t triton_string_null = { .size = 0, .string = NULL, .const_string = NULL };
diff --git a/code/src/common/triton-string.h b/code/src/c-utils/triton-string.h
similarity index 98%
rename from code/src/common/triton-string.h
rename to code/src/c-utils/triton-string.h
index fae01a6..e8b7179 100644
--- a/code/src/common/triton-string.h
+++ b/code/src/c-utils/triton-string.h
@@ -1,8 +1,8 @@
#ifndef __TRITON_STRING_H__
#define __TRITON_STRING_H__
-#include "src/common/jenkins-hash.h"
-#include "src/common/triton-thread.h"
+#include "jenkins-hash.h"
+#include "triton-thread.h"
/**
* The triton_string_t is a null-terminated string. Used for encoding
diff --git a/code/src/common/triton-thread.h b/code/src/c-utils/triton-thread.h
similarity index 98%
rename from code/src/common/triton-thread.h
rename to code/src/c-utils/triton-thread.h
index 40dbfc1..bf14f61 100644
--- a/code/src/common/triton-thread.h
+++ b/code/src/c-utils/triton-thread.h
@@ -1,7 +1,7 @@
#ifndef __TRITON_THREAD_H__
#define __TRITON_THREAD_H__
-#include "src/common/triton-base.h"
+#include "triton-base.h"
#ifdef __TRITON_POSIX_LOCKING__
#include <pthread.h>
diff --git a/code/src/common/triton-uint128.h b/code/src/c-utils/triton-uint128.h
similarity index 98%
rename from code/src/common/triton-uint128.h
rename to code/src/c-utils/triton-uint128.h
index 519f8a7..abb598f 100644
--- a/code/src/common/triton-uint128.h
+++ b/code/src/c-utils/triton-uint128.h
@@ -4,7 +4,7 @@
#include <stdio.h>
#include <assert.h>
-#include "src/common/triton-base.h"
+#include "triton-base.h"
/* unsigned 128 bit integer type */
typedef struct { uint64_t l; uint64_t u; } uint128_t;
diff --git a/code/src/common/.triton-hash.h.swp b/code/src/common/.triton-hash.h.swp
deleted file mode 100644
index d7ee31b..0000000
Binary files a/code/src/common/.triton-hash.h.swp and /dev/null differ
diff --git a/code/src/common/libev/module.mk.in b/code/src/common/libev/module.mk.in
deleted file mode 100644
index 0fa8213..0000000
--- a/code/src/common/libev/module.mk.in
+++ /dev/null
@@ -1,14 +0,0 @@
-DIR := src/common/libev
-
-# note: the other .c files in this directory are included automatically by
-# ev.c as needed; don't compile them explicitly
-LIBSRC += $(DIR)/ev.c \
- $(DIR)/event.c
-
-# Tell libev to use our config.h instead of its own.
-# This is in the top level makefile now so that it catches the dependency
-# generation step as well.
-# MODCFLAGS_$(DIR) = -DEV_CONFIG_H=\"triton-config.h\" -w
-
-# turn off warnings for libev compile
-MODCFLAGS_$(DIR) = -w
diff --git a/code/src/common/module.mk.in b/code/src/common/module.mk.in
deleted file mode 100644
index f434d4d..0000000
--- a/code/src/common/module.mk.in
+++ /dev/null
@@ -1,7 +0,0 @@
-DIR := src/common
-
-LIBSRC += $(DIR)/triton-string.c \
- $(DIR)/lookup3.c
-
-COMMONDIR := src/common
-
hooks/post-receive
--
Triton Repository
1
0
Triton Repository branch, aesop-dist, updated. e75872e4361ea2d73f57cdae5ef523cf7f82973c
by noreply@mcs.anl.gov 16 Dec '11
by noreply@mcs.anl.gov 16 Dec '11
16 Dec '11
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Triton Repository".
The branch, aesop-dist has been updated
via e75872e4361ea2d73f57cdae5ef523cf7f82973c (commit)
from 202efd867cfdff5762515017e0c0faf7d775e3c8 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit e75872e4361ea2d73f57cdae5ef523cf7f82973c
Author: Phil Carns <carns(a)mcs.anl.gov>
Date: Fri Dec 16 16:39:05 2011 -0500
cut triton-level docs from aesop-dist tree
-----------------------------------------------------------------------
Summary of changes:
code/doc/README | 17 --
code/doc/compiling-triton.txt | 58 ----
code/doc/fault-handling-overview.txt | 524 ----------------------------------
code/doc/fault-injection.txt | 131 ---------
code/doc/module.mk.in | 9 -
code/doc/pipelining.txt | 145 ----------
code/doc/test.txt | 31 --
7 files changed, 0 insertions(+), 915 deletions(-)
delete mode 100644 code/README
delete mode 100644 code/doc/README
delete mode 100644 code/doc/compiling-triton.txt
delete mode 100644 code/doc/fault-handling-overview.txt
delete mode 100644 code/doc/fault-injection.txt
delete mode 100644 code/doc/module.mk.in
delete mode 100644 code/doc/pipelining.txt
delete mode 100644 code/doc/test.txt
Diff of changes:
diff --git a/code/README b/code/README
deleted file mode 100644
index e69de29..0000000
diff --git a/code/doc/README b/code/doc/README
deleted file mode 100644
index 6602e8c..0000000
--- a/code/doc/README
+++ /dev/null
@@ -1,17 +0,0 @@
-The files in this directory contain general Triton documentation in asciidoc
-format.
-
-To convert all documents from .txt asciidoc files to pdf format, run "make
-docs" from the top level build directory.
-
-To convert a document from .txt to html format, then run "make doc/foo.html"
-where foo is the name of the document that you want to convert.
-
-Some asciidoc files included embedded figures in ditta or graphviz
-format. The graphviz package must be installed on your build system in
-order to generate the graphviz figures. There is no need to install
-asciidoc or ditta, however, as those tools are included in the triton source
-directory.
-
-See http://www.methods.co.nz/asciidoc/ for documenation on the asciidoc
-syntax. The "Cheatsheet" link is especially helpful.
diff --git a/code/doc/compiling-triton.txt b/code/doc/compiling-triton.txt
deleted file mode 100644
index 674baec..0000000
--- a/code/doc/compiling-triton.txt
+++ /dev/null
@@ -1,58 +0,0 @@
-Compiling Triton
-================
-
-== Requirements
-
-* Linux
-* Berkeley DB development libraries (package libdb4.8-dev or similar)
-* Glaskow Haskell Compiler (package ghc6 or similar)
-* MPI with support for MPI_THREAD_MULTIPLE (MPICH or OpenMPI)
-
-== Setting up the Haskell environment
-
-----
-# Download and compile necessary Haskell packages. This must only be
-# done once as a normal user (not root).
-cd code/maint/hs
-./setup-hs-local
-# Modify the langc package to support Aesop
-./setup-langc
-----
-
-== Configuring Triton
-
-----
-# generate the configure script
-cd code
-./prepare
-----
-
-Triton supports VPATH builds as shown in the following example, although
-you can also configure and build Triton in the source directory if you
-prefer. If mpicc is not in your path then you will also have to provide
-the --with-mpi=<path> argument to configure.
-
-----
-# create a build directory
-mkdir build
-# configure Triton
-cd build
-../code/configure
-----
-
-== Building Triton
-
-The Triton build supports the -j <level of concurrency> option to Make.
-
-The default makefile target will build the libtriton library, which
-currently includes both client and server functionality. You can also
-build a large collection of test programs using the "test" target. You can
-also generate documenation using the "docs" target:
-
-----
-make -j 3 test
-make -j 3 docs
-----
-
-This can take a long time to build completely, especially on slow systems.
-The Aesop compilation speed is a known problem.
diff --git a/code/doc/fault-handling-overview.txt b/code/doc/fault-handling-overview.txt
deleted file mode 100644
index a4dfcf5..0000000
--- a/code/doc/fault-handling-overview.txt
+++ /dev/null
@@ -1,524 +0,0 @@
-Triton Fault Handling Overview
-==============================
-
-
-== Introduction
-
-This document is intended to provide an overview of how clients and servers
-in Triton will respond to various fault conditions, including the steps
-needed to recover from those fault conditions.
-
-== Components
-
-* TOSD (was VOSD): Transaction Object Storage Device: Local storage
-component for each server
-* ROSD: Replicated Object Storage Device: Distributed storage component.
-This is implemented as a set of RPCs on top of the VOSD. The ROSD services
-requests from clients, translates them into local storage operations, and
-forwards requests to replicas.
-* Traffic Cop: Component that is present on both clients and servers that
-determines how many retries to issue, how long to wait between retries, and
-when to give up on communicating with a given server.
-* RPC: this refers to __remote functions in Aesop, which get translated into
-remote procedure calls. RPCs take a network address as an argument, but
-otherwise look like normal (local) function calls. They automatically
-encode requests, consult with the Traffic Cop, and retry operations.
-* NIID: Non-Idempotent IDentifier: This is a unique identifier that is
-generated for each RPC that is sent to a server. For operations that are
-not idempotent (like creating an object), the VOSD stores the NIID
-internally so that it can distinguish between new client requests and
-retries of requests that were already processed.
-* Gossip: distributed algorithm that will run continuously among servers to
-detect failures and distribute a membership list along with the current
-state of each server
-* System State: the API that other components consult to retrieve a snapshot
-of the current state of the system according to gossip
-* FakeSS: Fake System State: placeholder for the above component that
-presents information as if had been obtained via gossip
-* Placement algorithm: This is the algorithm that maps an arbitrary object
-id onto a set of server ids. This is a deterministic algorithm. The
-current implementation uses consistent hashing to map an object ID to the N
-closest server IDs in a ring. This is similar to PAST, except that all
-servers (and their IDs) are known ahead of time from gossip.
-
-== Fault scenarios from an ROSD server perspective
-
-[graphviz,rosd-faults.png]
-------------------------------
-digraph rosd_faults {
-"service request from client or parent server" -> "local work";
-"service request from client or parent server" -> "forward to replica";
-"local work" -> "semantic error";
-"forward to replica" -> "semantic error";
-"forward to replica" -> "remote network failure";
-"local work" -> "local storage fault";
-"forward to replica" -> "remote storage failure";
-"local work" -> "success";
-"forward to replica" -> "success";
-"semantic error" -> "operation-specific cleanup";
-"operation-specific cleanup" -> "error ack (permanent)";
-"success" -> "success ack";
-"local storage fault" -> "wait for remote requests to complete";
-"wait for remote requests to complete" -> "mark local server as down";
-"mark local server as down" -> "error ack (please retry)";
-"remote network failure" -> "Traffic cop suggests retry?";
-"Traffic cop suggests retry?" -> "forward to replica" [label="yes"];
-"Traffic cop suggests retry?" -> "remote node failure" [label="no"];
-"remote node failure" -> "error ack (please retry)";
-"remote storage failure" -> "remote node failure";
-}
-------------------------------
-
-=== Discussion
-
-An ROSD server has to handle four failure classes:
-
-. Network failure while communicating with a remote replica
-* Retry implicitly via RPC unless/until the Traffic Cop (which in turn
-relies on the system state, which in turn relies on gossip) indicates
-that the server is down
-
-. Local or remote failure due to a semantic problem
-* Examples: EEXIST, EACCES, etc.
-* The ROSD is responsible for cleaning up in whatever manner is appropriate
-for the operation and returning an error to the client (or parent server)
-
-. Local failure due to a storage fault
-* Examples: EIO, Berkeley database corruption, etc.
-* The ROSD will filter error codes from the VOSD to differentiate semantic
-errors (see above) from storage faults
-* We cannot keep the server online, because it would violate the placement
-algorithm if it wasn't able to maintain consistency for an object that it
-is responsible for storing
-* Note that NIIDs will gracefully handle any retries that might hit the
-replica later on
-
-. Remote failure due to a storage fault
-* Similar to network failure case, except that there are no retries.
-
-Note that there is no explicit step to initiate the recovery and rebuild
-process from this state machine. Recovery and rebuild will instead be
-triggered by a gossip notification on the affected servers. See the the
-section on <<rosd_rec_reb,ROSD recovery and rebuild>> for more details.
-
-== Fault scenarios from a client perspective
-[[client-faults]]
-
-[graphviz,client-fault-handling.png]
-------------------------------------
-digraph client_fault_handling {
-"map object id to server id" -> "RPC to server";
-"RPC to server" -> "success";
-"RPC to server" -> "server suggests retry in N seconds";
-"RPC to server" -> "server suggests use neighbor";
-"RPC to server" -> "retryable error";
-"RPC to server" -> "transient network error";
-"transient network error" -> "wait according to TC";
-"wait according to TC" -> "RPC to server";
-"server suggests retry in N seconds" -> "wait N seconds";
-"wait N seconds" -> "RPC to server";
-"retryable error" -> "first error to server?";
-"first error to server?" -> "pick next neighbor" [ label = "yes" ];
-"server suggests use neighbor" -> "pick next neighbor";
-"pick next neighbor" -> "RPC to server";
-"first error to server?" -> "wait gossip propagation time" [ label = "no" ];
-"wait gossip propagation time" -> "retrieve system state from random server";
-"retrieve system state from random server" -> "system state quiescent for M rounds?";
-"system state quiescent for M rounds?" -> "error to caller" [label = "yes"];
-"system state quiescent for M rounds?" -> "map object id to server id" [label = "no"];
-}
-------------------------------------
-
-=== Preconditions
-
-The client is assumed to have two things before the above state machine
-starts: a copy (possibly old) of the system state, and an estimate of
-the gossip propagation time for the system. The system state might
-have been retrieved when the client "mounted" the storage system,
-or the client might have updated it as part of a previous operation.
-The gossip propagation time estimate is calculated by a server based on
-the estimated number of servers and the gossip messagine rate.
-
-In general, the client never knows if its copy of the system state is up to
-date or not. We assume that if it keeps retrieving the system state it will
-eventually reach a steady state in most cases, though. Failures might be
-frequent, but we don't expect them to be continuous.
-
-=== Discussion
-
-A client has to handle the following cases:
-
-. a transient network error
-* It is up to the traffic cop to decide if it is worth retransmitting to the
-same server after a network error. This may not happen often.
-
-. a "retryable error"
-* could be a network error, a timeout, or a nack from a
-server that says "I'm the wrong server" or "I'm dead". The client can
-either pick the next neighbor or retrieve a system state update from another
-server.
-
-. server suggestion to retry same server in N seconds
-* might be used by a server that is operating properly but needs time to
- recover an object before servicing operation
-
-. server suggestion to retry to a neighbor
-* might be used by a server to suggest a better peer to service the
- operation
-
-Note that the Traffic Cop is involved in retry decisions at two levels:
-
-* within the RPC layer:
-** whether to retry transient network errors or not
-** how long to wait
-* above the RPC layer
-** whether to pick neighbors or retrieve new system state
-** how long to wait
-
-The Traffic Cop will use identifiers for each operation (passed as a hint
-into each RPC) to correlate high level client operations to RPCs.
-
-== How ROSD servers recover and rebuild after a fault
-[[rosd_rec_reb]]
-
-Index to server states and meanings (cf. +src/state/state.hae+):
-
-[width="60%",cols="40%,60%"]
-|=====================================================================
-| *State* | *Meaning*
-| PROTO | The node is joining the system
-| NOMINAL | The node is healthy
-| NOMINAL_REBUILD | The node is healthy but has rebuild work to do
-| RECOVERY | The node is recovering metadata from neighbors
-| FAILED_MAINTENANCE | The node is in a administrative state and
- is essentially useless
-| FAILED_INJECTED | The node is in a simulated FAILED state
-| FAILED_STORAGE | The node has experienced a local storage
- failure that makes it essentially useless
-| FAILED_UNREACHABLE | The node cannot be contacted; locally
- means the node cannot join the system
-|=====================================================================
-
-[graphviz,rosd-rec-reb.png]
-------------------------------------
-digraph rosd_rec_reb {
-"normal operation" -> "fault detection and dissemination" [label="node failure"];
-"fault detection and dissemination" -> "recovery" [label="notify servers"];
-"recovery" -> "rebuild" [label="return to service"];
-"rebuild" -> "normal operation" [label="data fully replicated"];
-}
-------------------------------------
-
-The ROSD servers will monitor gossip to discover when a relevant neighbor
-has failed. A relevant neighbor is any of the N*2 nearest servers, where N
-is the maximum replication factor supported by the storage system.
-
-Once the ROSD is aware of a failure, it will first enter a
-<<recovery,recovery mode>>. Recovery mode is used to identify missing
-objects and regain placement algorithm consistency. Recovery mode should
-occur quickly (on the order of a few minutes), but during that time the
-server _will not_ service client requests.
-
-Once recovery is complete, the ROSD server will initiate <<rebuild,
-rebuild mode>> in which the servers transfer object data to new replicas
-in order to regain the desired replication level for all objects.
-During this time the server _will_ service client requests.
-
-=== ROSD recovery
-[[recovery]]
-
-ROSD recovery is meant to happen as quickly as possible in order to minimize
-interruption to clients. Its main goal is to ensure that semantics
-(placement semantics, object semantics, etc.) are consistent following a
-failure. In some sense the result of recovery is a analgous to a RAID
-degraded mode, in which all data is accessable but is not necessarily fully
-replicated yet.
-
-At the end of recovery, all _primary_ objects should be fully operational.
-Some secondary objects will also be accessible, but others will be marked as
-stubs that are either out of sync or do not have a fully copy of the data
-yet. If a client hits one of those stubs then it will get a nack that says
-"please try the primary instead".
-
-At a high level, recovery on a given server must identify missing
-replicas, identify replicas that need to be resynchronized (due to
-incomplete modifications), and reach a consistent state for object
-placement by at least putting object stubs on all the right servers. Each
-affected server will pursue these steps independently.
-
-Recovery will only run on the N*2 servers that are within N positions of the
-failed server, where N is the maximum replication level allowed by the
-storage system. It does not need to run on all servers in the system.
-
-The following is a list of recovery steps that will be executed on each
-affected server. Note that a "missing object" refers to a new replica that
-needs to be created in order to conteract the fact that a replica was lost
-on a failed server.
-
-. enter "recovering state", in which the server either queues
-incoming requests or nacks with "try again in N seconds"
-
-. query the two adjacent servers in the ID space to get a list of missing object IDs that need to be created locally
-* those two servers can identify all missing local replicas because they are the
-only servers that could be replication parents for local objects
-
-. create a local placeholder (ie, a <<stub,stub>>) for each missing object
-
-. scan local objects in order to prepare to answer queries from neighbors
-for missing objects
-.. perform range query within object ID space that may have been owned by
-the failed server
-.. for each object:
-... check replication level and placement algorithm to determine if
-this server was (previously) the last in the replica chain
-... if so, add object ID to list of missing replicas for one of its adjacent
-peers
-... provide list to peer servers when they query
-
-. record list of object IDs for any write operations that were aborted
-due to node failure
-.. close open write transactions on those objects
-.. contact surviving down-stream replicas and tell them to mark that object
-ID as a "stub"
-
-. enter "rebuild" state
-* allow access from clients again while servers work to transfer data to
-replica stubs, see next section
-
-At this point clients can attempt to access any object. All primary objects
-and some secondary objects will respond in a perfectly normal manner. Some
-replicas will respond with a "please try the primary instead" nack until
-they are resynchronized or rebuilt.
-
-From a server point of view, writes (and other modifications) will be
-forwarded to stubs just as we would forward them to a normal object. Those
-changes will be applied as usual too. This allows stubs to stay in sync
-even while rebuilds are occuring at the same time (ie, avoiding the problem
-of "chasing a moving target" when trying to rebuild).
-
-"rebuild" state is equivalent to "nominal" state, in that client
-requests are still handled, but there is re-replication work in the
-rebuild queue to perform.
-
-==== Promoting primaries
-
-Note that the steps outlined in this section make no mention of promoting or
-electing new primaries following a failure. This is intentional. The 2nd
-replica in a replica chain will become a primary automatically by virtue of
-its position according to the placement algorithm. There are
-no additional steps to take. We just need to take care not to mark a
-primary object as a stub.
-
-==== Rationale for stubs
-[[stub]]
-
-* stubs have metadata indicating that the object data is incomplete
-* new replicas (and therefore stubs) are always at the _end_ of the replica
-chain
-* Having stubs in place after recovery insures the following:
-** the placement rules are not violated (all objects exist on all servers
-that are supposed to own them)
-** a target is available for future incoming operations (write, delete,
-etc.) to act on without adding special case logic to the ROSD replication
-** clients that attempt to access incomplete replicas will get a well known
-nack telling them to use the primary instead
-
-==== Rationale for disabling client access during recovery
-
-Clients request will either be queued or retried until recovery is complete.
-There are a few reasons for this decision, at least in the prototype phase.
-The first is that the object placement will be inconsistent. For example,
-if a client attempts to access a replica that doesn't exist, then the server
-has no way to know if the object really doesn't exist or if it does exist
-but doesn't have a stub yet.
-
-In theory we could allow some types of access to primary objects during
-recovery. The hardest part there would be how to handle operations that
-modify the object. Write operations, for example, may or may not be able to
-relay to the final replica stub. Remove operations may race against
-creation of a replica stub.
-
-For now we will not allow any client access during recovery, but we need to
-benchmark and tune the recovery process to make sure that it is sufficiently
-fast to prevent this from being a problem.
-
-==== Additional failures during recovery
-
-If one or more additional servers fail while recovery is in progress, then
-the safest general approach will be to simply restart the recovery process
-on all affected servers. The number of affected servers will be expanded to
-include those within maximum replication distance of both failed nodes.
-
-The recovery process will be restarted from scratch to make sure that we
-don't accidentally assume that we have finished creating stubs for an object
-already if it actually requires additional stubs due to the second failure.
-
-This requires that stub creation be idempotent in case a server calculates
-that it needs to create a new stub when there is one already in place from a
-previous recovery attempt.
-
-TODO: any special action to take if the there are more _adjacent_ failed
-servers than the default replication level can tolerate? In that case we
-have likely lost objects. For now we won't do anything except alert an
-administrator (via logs and other mechanisms).
-
-=== ROSD rebuild
-[[rebuild]]
-
-The rebuild process is driven by servers that hold secondary objects
-that are out of sync with their primaries (ie, stubs). They "pull" data
-from primary (or parent) objects. Once they have pulled complete data
-they mark the objects as normal objects (no longer stubs) and clients
-can interact with them as usual.
-
-The following steps are performed on each rebuilding server. For the sake
-of clarity we describe individual actions on each object. In practice we
-will want to batch these operations together and generate a schedule for an
-optimal order to perform rebuilds.
-
-. for each stub object:
-.. retrieve version state (ie, what versions have been applied)
-... may be "0" if it is a new replica with no data
-.. contact parent to request rebuild data
-.. on parent:
-... checkpoint the object in question
-... stream serialized copy of object data that is newer than the replica's
-version to the replica
-... delete checkpoint
-.. on local server:
-... receive and apply serialized copy of object to replica
-... remove stub attribute from object (at this point recovery is done for
-the object)
-
-The objects that have partial data should be recovered first. Those objects
-represent replicas that are mostly complete but just lack data that was
-
-==== Additional failures during rebuild
-
-* If parent detects a child failure while transmitting serialized data:
-** do nothing except terminate data transfer and remove snapshot
-** subsequent recovery steps will take care of new rebuild
-
-* If a child replica attempts to rebuild from a parent, but that parent also
-turns out to be a stub:
-** attempt rebuild from parent of parent
-
-* If child detects that all parents are stubs:
-** keep retrying until primary figures out whats going on (see below)
-
-* If a primary is a stub (there are no parents to rebuild from):
-** Assume that whatever data is present (if any) is authoritative
-** remove stub attribute
-** start servicing requests to rebuild from children
-** Data _might_ or _might not_ have been permanently lost
-*** If we reached this scenario because of multiple failures while writes
-were in flight, but at least one replica survived:
-**** No data loss; client will retry missing writes
-*** If we reached this scenario because all populated replicas were lost due
-to multiple failures:
-**** Data loss
-*** TODO: think about how to distinguish the two cases
-
-* If a child detects a parent failure while receiving serialized data:
-** restart rebuild to next parent
-
-==== Scheduling data transfers
-
-At a global level, there will be a set of servers that each need to
-pull replica data for some objects from some peers. In the long run a
-research contribution here would be to determine an optimal global schedule
-for the data transfers so that we utilize the network and disks effectively
-and priorities critical objects.
-
-We won't do this in the prototype, but here are some thing that we will want
-to consider when we tackle this topic:
-
-* coming up with a distributed schedule will require some coordination
-across servers
-* we could collect useful data for scheduling (like the size of each object)
-during the recovery scan process, if it doesn't add too much overhead
-* most scheduling activity, however, should happen _after_ recovery so that
-we minimize the time in which clients can't interact with objects
-* we should rebuild partially synced objects first
-** the most likely source of partially synced objects are objects that had a
-write in flight when the failure occured. Since these objects are "hot" it
-makes sense to try to return them to service ASAP.
-
-
-
-== How clients interact with recovering or rebuilding servers
-
-We want clients to interact gracefully with recovering or rebuilding
-servers. The various scenarios are already covered in the <<client-faults,
-section on client fault recovery>>, but here we will enumerate exactly which
-server activities lead to which client responses:
-
-* attempt to access a server that is in "recovery state":
-** receive a nack saying "try again in N seconds"
-
-* attempte to access an object stub (ie, an object that needs to be rebuilt
-or resynced):
-** receive a nack saying "try primary instead" (ie, a specific variation on the
-more general "server suggests use neighbor" nack from the earlier state
-machine)
-
-* attempt to access a server that is down
-** timeout, perceived transient network error, or retryable error
-** retryable errors includes server responses that say "I'm dead"
-
-=== Possible optimization: allowing client access to rebuilding replicas
-
-It is technically possible for clients to read _some_ data from replicas
-that haven't fully rebuilt yet. In order to do this, a replica server has
-to have first contacted its parent to determine what data its missing. The
-replica server can then differentiate between stale data, up to date data,
-and data that has been overwritten by recent writes.
-
-This will happen implicitly when a replica contacts its parent to rebuild a
-particular object. All of the necessary version information is exchanged at
-that time.
-
-Clients could therefore be able to read some data from rebuilding replicas
-as long as they have at least started or queued up the rebuild process for
-that object. If we wanted to we could initiate a rebuild on demand if a
-client tried to access a rebuilding replica.
-
-We aren't going to do this in the prototype phase.
-
-== Explicitly failing a server
-[[explicit-fail]]
-
-There are scenarios in which we need a server to enter a "failed" state even
-though the node is still running. This may be triggered by the ROSD if it
-detects a storage fault. It may also be triggered by an administrator, or
-by a developer for testing purposes.
-
-Regardless who triggers it, these are the steps to failing a server:
-
-. set it the server state to "failed" or whatever state is appropriate
-* this will result in subsequent client requests getting a nack that says
- "I'm dead". Server might still answer gossip messages or some
- administrative commands.
-
-. push the new server state into gossip
-
-. OPTIONAL: for testing purposes we can set the messaging method to 100%
-loss rate to simulate a server that has experienced a hardware failure
-
-== TOSD enhancements
-
-The TOSD (ie, VOSD) currently has a limited API that allows users to create,
-destroy, read, and write objects. This document assumes that we will
-enhance the TOSD API to make the following kinds of operations more
-efficient:
-
-* Bulk operations: like creating a large number of stub objects
-simultaneously
-* Range queries: scanning for objects within a specified ID range
-* Range queries with metadata: pulling values like the replication factor
-from each object as part of a range query
-
-These operations will probably be implemented inefficiently at first until
-we implement the first cut of recovery and rebuild to make sure that we have
-the right API and use cases. Then we can go back and optimize these as
-needed within the TOSD.
diff --git a/code/doc/fault-injection.txt b/code/doc/fault-injection.txt
deleted file mode 100644
index a882988..0000000
--- a/code/doc/fault-injection.txt
+++ /dev/null
@@ -1,131 +0,0 @@
-Triton Fault Injection
-======================
-
-== Introduction
-
-This document describes how to inject artificial fault conditions into
-Triton for testing purposes.
-
-== Network fault injection
-
-Triton includes a mechanism for injecting faults into arbitrary network
-methods. Two types of faults can be simulated: causing a send or recv to
-hang indefinitely (triggering timeout and retry behavior in Triton) or
-causing a send or recv to fail immediately with an error code (which also
-causes a retry, but without waiting for a timeout).
-
-In order to enable the fault injector for an arbitrary test program, you
-must first change all network address strings to use the "fault://" prefix
-rather than the "mpi://" prefix. For most many test programs this just
-means that you must edit the hosts file that it uses to identify servers.
-
-You must then set a series of environment variables before running the test
-program:
-
-----
-# Tell Aesop to use the fault injector as the default network method when
-# sending RPC requests.
-setenv aesop_remote_default_net fault
-
-# Tell the fault injector to use MPI as the underlying method for network
-# operations that do not fail
-setenv triton_net_fault_injector_base_method triton.net.mpi
-----
-
-You can then (optionally) specify persistent message fault rates as follows:
-
-----
-# specify that 15% of all sends should time out
-setenv triton_net_fault_injector_insert_send_timeouts_at_rate 15.0
-
-# specify that 10% of all recvs should time out
-setenv triton_net_fault_injector_insert_recv_timeouts_at_rate 10.0
-
-# specify that 13% of all sends should fail with an error
-setenv triton_net_fault_injector_insert_send_errors_at_rate 13.0
-
-# specify that 7% of all recvs should fail with an error
-setenv triton_net_fault_injector_insert_recv_errors_at_rate 7.0
-----
-
-You can then run your test program and observe the affect of the specified
-network message loss rate. Note that the recv loss rate does not affect
-recv_any() operations, which are used to receive incoming RPC
-requests.
-
-=== Network fault injection API
-
-It is also possible to modify the message loss rate at runtime from within
-your source code. This can be done in two ways. The first mechanism sets a
-global loss rate. This behaves exactly as in the environment variable
-example, except that it is controlled from within your program:
-
-[source,c]
-----
-/* tell the fault injector to drop all send messages */
-triton_zeroconf_set("triton.net.fault_injector.insert_send_timeouts_at_rate", "100");
-
-/* .... */
-
-/* tell the fault injector to enable all messages again */
-triton_zeroconf_set("triton.net.fault_injector.insert_send_timeouts_at_rate", "0");
-----
-
-The above example will cause all sends to time out. Please note that
-this will affect _all_ sends, not just those in the current aesop pbranch.
-
-The second mechanism can be used to insert one or more failures in a
-specific location. As in the initial example, there are four different
-types of faults: send timeout, send error, recv timeout, and recv error.
-The following example shows how to insert two send errors:
-
-[source,c]
-----
-int errors = 2;
-ret = aesop_hints_put("triton.net.fault_injector.insert_send_errors",
- sizeof(errors), &errors, 1);
-----
-
-The above example will only affect the current aesop pbranches and its
-underlying calls. Note that if you insert enough errors then the RPC retry
-logic will eventually give up. This mechanism can therefore be use to test
-both RPC retries as well as higher level error handling logic.
-
-== Storage fault injection
-
-Storage fault injection is similar to network fault injection, with two
-differences:
-
-* There is no extra setup necessary in order to inject faults; the fault
-injection is a feature of the default VOSD implementation.
-* There is no way to inject stalled storage operations. The only type of
-fault that can be injected is to cause a VOSD storage operation to fail
-immediately.
-
-If you want to set a persisent failure rate, then you can do so via an
-environment variable before running your test program:
-
-----
-# specify that 10% of all VOSD storage operations should fail
-setenv triton_vosd_insert_errors_at_rate 10
-----
-
-If you want to inject failures at a specific point in the source code, then
-you can do so using hints:
-
-[source,c]
-----
-/* specify that the next VOSD operation in this pbranch scope should fail */
-int errors = 1;
-tret = aesop_hints_put("triton.vosd.insert_errors", sizeof(errors), &errors, 1);
-----
-
-Note that the above hint can be set at any level of the Triton source code,
-and it will affect whatever storage operation occurs next in that pbranch
-scope. If you specify an error count greater than one, then the count will
-be decremented with each failure until it hits zero, at which point normal
-operation will resume.
-
-The VOSD will return TRITON_ERR_IO for injected failure conditions.
-
-
diff --git a/code/doc/module.mk.in b/code/doc/module.mk.in
deleted file mode 100644
index 831fca7..0000000
--- a/code/doc/module.mk.in
+++ /dev/null
@@ -1,9 +0,0 @@
-DIR := doc
-
-DOCSRC += $(DIR)/test.txt \
- $(DIR)/fault-handling-overview.txt \
- $(DIR)/fault-injection.txt \
- $(DIR)/pipelining.txt \
- $(DIR)/compiling-triton.txt \
- $(DIR)/aesop.txt \
- $(DIR)/aesop-pbranch-cancel.txt
diff --git a/code/doc/pipelining.txt b/code/doc/pipelining.txt
deleted file mode 100644
index 7023ddc..0000000
--- a/code/doc/pipelining.txt
+++ /dev/null
@@ -1,145 +0,0 @@
-Triton data pipelining
-======================
-
-== Introduction and assumptions
-
-Pipelining in Triton refers to breaking a single large transfer of data into
-smaller buffers in order to overlap disk and network activity and reduce
-memory consumption. Analogous functionality was provided by the flow
-protocol in PVFS.
-
-Triton pipelines may be used for large writes, large reads, object rebuilds,
-and any other activities that require streaming large amounts of data. The
-write case is unique in that pipelines in that case will span multiple
-replicas. Master objects will forward data buffers to replica objects as
-they arrive.
-
-Each data buffer in a Triton pipeline should include enough metadata to
-describe that buffer independently. In other words, there is no implicit
-assumption that data in a pipeline will arrive in a logical order.
-This is important for three reasons: it will allow us to use networks with
-relaxed message ordering guarantees, it allows us to retransmit individual
-failed data messages without restarting the entire pipeline, and it allows
-flexibility if the sender can modify the transfer order for
-optimization reasons. This is a departure from the flow protocol
-implementation in PVFS, in which data order was implied by message order
-within each pipeline.
-
-Each data message in a pipeline will be retryable, according to policies
-dictated by the Traffic Cop component of triton. We will also explicitly
-knowledge each data message. The first draft will acknowledge every
-message, but this can be relaxed later to an ack-every-N model. Note that
-even when we send an acknowledgement for every buffer, the sender does not
-have to wait on the acknowledgement for any given buffer before sending the
-next buffer. When possible, there should be multiple outstanding message
-buffers in flight at all times in order to keep the pipeline full.
-
-If the destination of a pipeline is a VOSD object, then the entire pipeline
-can be encapsulated in a single VOSD transaction. The transaction will be
-opened at the beginning of the transfer, all message buffers will be applied
-using the same transaction number, and then the transaction will be closed.
-
-== Eager messages
-
-Pipelines will not be used for all reads and writes. If the data payload
-is small enough to fit within request and acknowledgement size limits,
-then it will be sent along with the write request or the read response.
-This mode of operation is what the ROSD implementation does right now.
-
-== Pipelining implementation plan
-
-At a high level, the pipelining approach will be:
-
-* Use a "normal" RPC to initiate the pipeline
-
-On the server:
-
-* The remote function will start a lone pbranch
-** The pbranch provides a context for the server to continue processing the
-pipeline after sending an ack
-* Within the lone pbranch, create N concurrent pbranches, where N is the
-number of message buffers to keep in flight at a time
-** Each of the concurrent pbranches will cycle between the one of the
-following sets of steps:
-*** for writes: recv_buffer/write_buffer/send_ack
-*** for reads: read_buffer/send_buffer/recv_ack
-
-On the client:
-
-* Create N concurrent pbranches, where N is the
-number of message buffers to keep in flight at a time
-** Each of the concurrent pbranches will cycle between the one of the
-following sets of steps:
-*** for writes: send_buffer/recv_ack
-*** for reads: recv_buffer/send_ack
-
-If the pipeline connects two servers, then both sides will include a write
-or read step.
-
-All communication within the pipeline itself (after the initial RPC has
-completed) will be performed directly at the triton msg layer without
-further involvement from the RPC layer. Each pbranch will include retry
-functionality to handle transient network failures. For non-transient
-failures, the entire pipeline should be restarted from the beginning (recall
-that VOSD transactions are not closed until a pipeline completes).
-
-All data messages and control messages should be encoded using the same
-mechanism as that used by the RPC layer. Bulk data should be encapsulated
-in triton_buffer_t's to make sure that it is handled efficiently. The
-triton_buffer_t payload is not copied or endian encoded by the encoder.
-
-The encode and decode functions for pipeline messages will be generated
-automatically (just as in the RPC case) if the structs are prefixed with
-the __remote modifier. The generated functions are named aer_encode_* and
-aer_decode_*.
-
-The pseudocode below shows what the server side of a pipelined write
-operation would look like.
-
-[source,c]
-----
-__remote pipe_start(...)
-{
- pbranch
- {
- /* detached pbranch starts the pipelining */
- do_pipe();
- }
-
- /* sends the ack */
- return TRITON_SUCCESS;
-}
-----
-
-[source,c]
-----
-__blocking do_pipe()
-{
- /* allocate buffers */
-
- pwait
- {
- for(each pipelining unit)
- {
- pbranch
- {
- while(!done)
- {
- recv(encoded_buffer);
- aer_decode_struct_pipeline_buffer(...);
- write_to_disk(...);
- aer_encode_struct_pipeline_ack(...);
- send(encoded_ack);
- }
- }
- }
- }
-}
-----
-
-Note that the above code may need to change slightly if/when we transition
-to a messaging layer that requires recvs to be pre-posted. We may need to
-use another pwait/pbranch to get the recv posted for the next iteration
-before sending an ack for the current iteration. We could then use the acks
-as tokens for the sender to indicate that buffers are available for more
-data to be sent.
diff --git a/code/doc/test.txt b/code/doc/test.txt
deleted file mode 100644
index d9ff6fd..0000000
--- a/code/doc/test.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-
-= Test =
-
-This is an example of an asciidoc with ditaa figures embedded in it. It
-gets converted into a normal asciidoc file (*.txt) using ditaa tools,
-then converted into html (or pdf) using asciidoc tools.
-
-- look at the nifty
-- drawings!
-
-[DITAA START (Sample drawing)]
-/----------\ /--------\ /---------\
-| asciidoc | | mumble | | |
-| + |->| mumble |->| PROFIT! |
-| ditaa | | mumble | | |
-\----------/ \--------/ \---------/
-[DITAA END]
-
-The following is an example of a graphviz diagram embedded in asciidoc. It
-is handled automatically in asciidoc by way of a graphviz filter that is
-included with asciidoc by default.
-
-[graphviz,rebuild-example.png]
-------------------------------
-digraph rebuild_example { rankdir=LR; "node1"
-[style=filled,fillcolor=red];
- "node1" -> "node2" -> "node3";
- "node2" -> "node4";
-}
-------------------------------
-
hooks/post-receive
--
Triton Repository
1
0
Triton Repository branch, aesop-dist, updated. 202efd867cfdff5762515017e0c0faf7d775e3c8
by noreply@mcs.anl.gov 16 Dec '11
by noreply@mcs.anl.gov 16 Dec '11
16 Dec '11
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Triton Repository".
The branch, aesop-dist has been updated
via 202efd867cfdff5762515017e0c0faf7d775e3c8 (commit)
from 6b412d562ef11a24639114d9091cf1487bfce2ba (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 202efd867cfdff5762515017e0c0faf7d775e3c8
Author: Phil Carns <carns(a)mcs.anl.gov>
Date: Fri Dec 16 16:36:55 2011 -0500
move aesop documentation to aesop subdir
-----------------------------------------------------------------------
Summary of changes:
code/doc/aesop.txt | 64 ---------------------
code/{ => src/aesop}/doc/README | 6 +-
code/{ => src/aesop}/doc/aesop-pbranch-cancel.txt | 0
code/src/aesop/doc/aesop.txt | 33 +++++++++++
4 files changed, 35 insertions(+), 68 deletions(-)
delete mode 100644 code/doc/aesop.txt
copy code/{ => src/aesop}/doc/README (69%)
rename code/{ => src/aesop}/doc/aesop-pbranch-cancel.txt (100%)
create mode 100644 code/src/aesop/doc/aesop.txt
Diff of changes:
diff --git a/code/doc/aesop.txt b/code/doc/aesop.txt
deleted file mode 100644
index 6203687..0000000
--- a/code/doc/aesop.txt
+++ /dev/null
@@ -1,64 +0,0 @@
-Aesop
-=====
-
-== Source files
-
-Aesop source and header files are named *.ae and *.hae, respectively. They
-are used exactly like c source and header files, except that they support
-additional constructs, such as the __blocking qualifier for functions and
-the pwait and pbranch constructs.
-
-In addition, Aesop remote code (ie, RPC functions) can be found in .aer and
-.haer functions. These source files support an additional __remote
-qualifier for functions to be invoked via RPC.
-
-== Compilers
-
-The configure process produces two compilers in the maint/ directory. aecc
-is a compiler for .ae files, and aercc is a compiler for .aer files. Both
-are shell scripts that combine preprocessing, source translation, and
-compilation into one step.
-
-== Resources
-
-Resources are the lowest level aesop components that present Aesop
-compatible intefaces for managing concurrency. The current list of
-resources includes:
-
-* file resource
-** code/src/versioned-osd/prototype/file-resource
-** provides a mapping of open, close, read, write etc. functions. It uses
- a thread pool by default to implement nonblocking semantics.
-
-* Berkeley DB resource
-** code/src/versioned-osd/prototype/bdb-resource
-** provides a mapping of common Berkeley DB functions. It uses a thread
- pool by default to implement nonblocking semantics.
-
-* socket resource
-** code/src/common/resources/aesocket/
-** waits for a file descriptor to be ready for read or write operations.
- It does not implement actual read or write calls; it is assumed that the
- caller will use this resource in conjunction with nonblocking reads and
- writes. It uses libev, which in turn uses epoll() on Linux.
-
-* timer resource
-** code/src/common/resources/timer/
-** implements timers with millisecond resolution. The underlying
- implementation uses libev.
-
-* scheduling resource
-** code/src/common/resource/scheduling/
-** Implements various synchronization primitives, for example Aesop
- equivalents for condition variables.
-
-* branch threader resource
-** code/src/common/resource/branch-threader/
-** Proof of concept that allows the developer to manually allocate a thread
- for particular aesop code blocks.
-
-== Test programs
-
-A variety of tests and/or examples for Aesop functionality can be found in
-the code/src/aesop/parser/tests/blocking directory. These tests use a
-dummy resource to demonstrate various language features.
diff --git a/code/doc/README b/code/src/aesop/doc/README
similarity index 69%
copy from code/doc/README
copy to code/src/aesop/doc/README
index 6602e8c..54382c1 100644
--- a/code/doc/README
+++ b/code/src/aesop/doc/README
@@ -1,4 +1,4 @@
-The files in this directory contain general Triton documentation in asciidoc
+The files in this directory contain documentation in asciidoc
format.
To convert all documents from .txt asciidoc files to pdf format, run "make
@@ -9,9 +9,7 @@ where foo is the name of the document that you want to convert.
Some asciidoc files included embedded figures in ditta or graphviz
format. The graphviz package must be installed on your build system in
-order to generate the graphviz figures. There is no need to install
-asciidoc or ditta, however, as those tools are included in the triton source
-directory.
+order to generate the graphviz figures.
See http://www.methods.co.nz/asciidoc/ for documenation on the asciidoc
syntax. The "Cheatsheet" link is especially helpful.
diff --git a/code/doc/aesop-pbranch-cancel.txt b/code/src/aesop/doc/aesop-pbranch-cancel.txt
similarity index 100%
rename from code/doc/aesop-pbranch-cancel.txt
rename to code/src/aesop/doc/aesop-pbranch-cancel.txt
diff --git a/code/src/aesop/doc/aesop.txt b/code/src/aesop/doc/aesop.txt
new file mode 100644
index 0000000..e1e3d7d
--- /dev/null
+++ b/code/src/aesop/doc/aesop.txt
@@ -0,0 +1,33 @@
+Aesop
+=====
+
+== Source files
+
+Aesop source and header files are named *.ae and *.hae, respectively. They
+are used exactly like c source and header files, except that they support
+additional constructs, such as the __blocking qualifier for functions and
+the pwait and pbranch constructs.
+
+In addition, Aesop remote code (ie, RPC functions) can be found in .aer and
+.haer functions. These source files support an additional __remote
+qualifier for functions to be invoked via RPC.
+
+== Compilers
+
+The configure process produces two compilers in the maint/ directory. aecc
+is a compiler for .ae files, and aercc is a compiler for .aer files. Both
+are shell scripts that combine preprocessing, source translation, and
+compilation into one step.
+
+== Resources
+
+Resources are the lowest level aesop components that present Aesop
+compatible intefaces for managing concurrency. An example is the timer
+resource, found in aesop/resource/timer. It implements timers with
+millisecond resolution. The underlying implementation uses libev.
+
+== Test programs
+
+A variety of tests and/or examples for Aesop functionality can be found in
+the aesop/parser/tests/blocking directory. These tests use a
+dummy resource to demonstrate various language features.
hooks/post-receive
--
Triton Repository
1
0
Triton Repository branch, aesop-dist, updated. 6b412d562ef11a24639114d9091cf1487bfce2ba
by noreply@mcs.anl.gov 16 Dec '11
by noreply@mcs.anl.gov 16 Dec '11
16 Dec '11
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Triton Repository".
The branch, aesop-dist has been updated
via 6b412d562ef11a24639114d9091cf1487bfce2ba (commit)
from 050bd2cf97b72782d97037a0d6018c9c7b3e1e03 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 6b412d562ef11a24639114d9091cf1487bfce2ba
Author: Phil Carns <carns(a)mcs.anl.gov>
Date: Fri Dec 16 16:29:36 2011 -0500
cut old top level dirs from aesop-dist
-----------------------------------------------------------------------
Summary of changes:
oldcode/COPYING | 502 -
oldcode/Makefile.in | 734 -
oldcode/README | 6 -
oldcode/configure.ac | 973 -
oldcode/img/view2.dot | 25 -
oldcode/include/junk.h | 34 -
oldcode/maint/TEMPLATE_COPYRIGHT_HEADER.txt | 6 -
oldcode/maint/TEMPLATE_FORMAT_TRAILER.txt | 9 -
oldcode/maint/config/aio.m4 | 59 -
oldcode/maint/config/bdb.m4 | 235 -
oldcode/maint/config/config.guess | 1516 -
oldcode/maint/config/config.sub | 1626 -
oldcode/maint/config/install-sh | 250 -
oldcode/maint/config/missing | 336 -
oldcode/maint/config/rt.m4 | 28 -
oldcode/maint/depend.sh | 7 -
oldcode/maint/gs-header-footer.pl | 92 -
oldcode/maint/gs-indent.sh | 14 -
oldcode/maint/gs-mangle-in-place.sh | 37 -
oldcode/maint/gs-quote-includes.sh | 51 -
oldcode/maint/trove-autogen.pl | 232 -
oldcode/module.mk.in | 2 -
oldcode/prepare | 16 -
oldcode/src/adio/ad_cmpi/Makefile | 57 -
oldcode/src/adio/ad_cmpi/Makefile.in | 58 -
oldcode/src/adio/ad_cmpi/ad_cmpi.c | 35 -
oldcode/src/adio/ad_cmpi/ad_cmpi.h | 87 -
oldcode/src/adio/ad_cmpi/ad_cmpi_close.c | 22 -
oldcode/src/adio/ad_cmpi/ad_cmpi_delete.c | 21 -
oldcode/src/adio/ad_cmpi/ad_cmpi_done.c | 39 -
oldcode/src/adio/ad_cmpi/ad_cmpi_fcntl.c | 49 -
oldcode/src/adio/ad_cmpi/ad_cmpi_flush.c | 21 -
oldcode/src/adio/ad_cmpi/ad_cmpi_getsh.c | 23 -
oldcode/src/adio/ad_cmpi/ad_cmpi_hints.c | 32 -
oldcode/src/adio/ad_cmpi/ad_cmpi_iread.c | 61 -
oldcode/src/adio/ad_cmpi/ad_cmpi_iwrite.c | 67 -
oldcode/src/adio/ad_cmpi/ad_cmpi_open.c | 35 -
oldcode/src/adio/ad_cmpi/ad_cmpi_rdcoll.c | 29 -
oldcode/src/adio/ad_cmpi/ad_cmpi_read.c | 65 -
oldcode/src/adio/ad_cmpi/ad_cmpi_resize.c | 21 -
oldcode/src/adio/ad_cmpi/ad_cmpi_seek.c | 81 -
oldcode/src/adio/ad_cmpi/ad_cmpi_setsh.c | 22 -
oldcode/src/adio/ad_cmpi/ad_cmpi_wait.c | 39 -
oldcode/src/adio/ad_cmpi/ad_cmpi_wrcoll.c | 29 -
oldcode/src/adio/ad_cmpi/ad_cmpi_write.c | 77 -
oldcode/src/adio/patches/About.txt | 3 -
oldcode/src/adio/patches/mpich2_1_0_8_cmpi.diff | 140 -
oldcode/src/adio/patches/mpich2_1_0_8_cmpi.txt | 6 -
oldcode/src/adts/About.txt | 28 -
oldcode/src/adts/dpkm_list.c | 976 -
oldcode/src/adts/hashtable.c | 226 -
oldcode/src/adts/ilist.c | 617 -
oldcode/src/adts/inlist.c | 446 -
oldcode/src/adts/itable.c | 197 -
oldcode/src/adts/keyvalue.c | 16 -
oldcode/src/adts/klist.c | 164 -
oldcode/src/adts/list.c | 925 -
oldcode/src/adts/llist.c | 478 -
oldcode/src/adts/lnlist.c | 394 -
oldcode/src/adts/lru_table.c | 365 -
oldcode/src/adts/ltable.c | 160 -
oldcode/src/adts/module.mk.in | 16 -
oldcode/src/adts/xtree.c | 273 -
oldcode/src/can/can.c | 2403 -
oldcode/src/can/can.h | 105 -
oldcode/src/can/can_dtypes.h | 381 -
oldcode/src/can/can_mtypes.h | 102 -
oldcode/src/can/can_private.h | 89 -
oldcode/src/can/can_util.c | 383 -
oldcode/src/can/canclient.c | 1000 -
oldcode/src/can/cmpi_can.c | 206 -
oldcode/src/can/cmpi_can.h | 2 -
oldcode/src/can/helper.c | 67 -
oldcode/src/can/iaccept.c | 57 -
oldcode/src/can/module.mk.in | 14 -
oldcode/src/can/neighbor.c | 345 -
oldcode/src/can/recv.c | 194 -
oldcode/src/can/send.c | 96 -
oldcode/src/cmpi-cp/cmpi-cp.c | 234 -
oldcode/src/cmpi-cp/module.mk.in | 19 -
oldcode/src/cmpi-db/cmpi-db-fifo-quit.c | 26 -
oldcode/src/cmpi-db/cmpi-db-fifo.c | 50 -
oldcode/src/cmpi-db/module.mk.in | 17 -
oldcode/src/cmpi/accessor.c | 26 -
oldcode/src/cmpi/client.c | 65 -
oldcode/src/cmpi/cmpi-io-test.c | 52 -
oldcode/src/cmpi/cmpi-io.c | 140 -
oldcode/src/cmpi/cmpi.c | 231 -
oldcode/src/cmpi/cmpi_disk_printf.c | 21 -
oldcode/src/cmpi/cmpi_disk_void.c | 20 -
oldcode/src/cmpi/driver.c | 269 -
oldcode/src/cmpi/module.mk.in | 32 -
oldcode/src/cmpi/node.c | 226 -
oldcode/src/cmpi/pnet-cdf.c | 117 -
oldcode/src/common/gen-locks/gen-locks.c | 111 -
oldcode/src/common/gen-locks/gen-locks.h | 101 -
oldcode/src/common/gen-locks/module.mk.in | 3 -
oldcode/src/common/gossip/gossip.c | 618 -
oldcode/src/common/gossip/gossip.h | 234 -
oldcode/src/common/gossip/gs-debug.c | 100 -
oldcode/src/common/gossip/module.mk.in | 12 -
oldcode/src/common/id-generator/id-generator.c | 176 -
oldcode/src/common/id-generator/id-generator.h | 94 -
oldcode/src/common/id-generator/module.mk.in | 4 -
oldcode/src/common/job/TODO | 29 -
oldcode/src/common/job/job-desc-queue.c | 202 -
oldcode/src/common/job/job-desc-queue.h | 76 -
oldcode/src/common/job/job-time-mgr.c | 277 -
oldcode/src/common/job/job-time-mgr.h | 30 -
oldcode/src/common/job/job.c | 969 -
oldcode/src/common/job/job.h | 101 -
oldcode/src/common/job/module.mk.in | 5 -
oldcode/src/common/module.mk.in | 1 -
oldcode/src/common/quickhash.h | 362 -
oldcode/src/common/quickhash/module.mk.in | 1 -
oldcode/src/common/quickhash/quickhash.h | 362 -
oldcode/src/common/quicklist/module.mk.in | 1 -
oldcode/src/common/quicklist/quicklist.h | 193 -
oldcode/src/common/state-machine/module.mk.in | 3 -
.../src/common/state-machine/state-machine-fns.c | 728 -
oldcode/src/common/state-machine/state-machine.h | 226 -
oldcode/src/common/statecomp/codegen.c | 283 -
oldcode/src/common/statecomp/module.mk.in | 19 -
oldcode/src/common/statecomp/parser.y | 174 -
oldcode/src/common/statecomp/scanner.l | 130 -
oldcode/src/common/statecomp/statecomp.c | 250 -
oldcode/src/common/statecomp/statecomp.h | 65 -
oldcode/src/dense-1/cmpi_dense.c | 248 -
oldcode/src/dense-1/dense.c | 345 -
oldcode/src/dense-1/dense.h | 11 -
oldcode/src/dense-1/module.mk.in | 7 -
oldcode/src/disksim/disksim.c | 316 -
oldcode/src/disksim/dm-delay-disksim/Makefile | 20 -
oldcode/src/disksim/dm-delay-disksim/README | 9 -
oldcode/src/disksim/dm-delay-disksim/dm-bio-list.h | 107 -
oldcode/src/disksim/dm-delay-disksim/dm-delay.c | 384 -
oldcode/src/disksim/module.mk.in | 7 -
...ozniak_aproj_ags.git_acode_asrc_agack_agack.gs# | 3 -
oldcode/src/gack/gack.gs | 58 -
oldcode/src/gack/module.mk.in | 8 -
oldcode/src/gack/swim.gs | 191 -
oldcode/src/gobs/ait.gs | 96 -
oldcode/src/gobs/client.gs | 81 -
oldcode/src/gobs/dense/dense.gs | 350 -
oldcode/src/gobs/dense/module.mk.in | 6 -
oldcode/src/gobs/gobs.gs | 329 -
oldcode/src/gobs/launch.gs | 192 -
oldcode/src/gobs/module.mk.in | 31 -
oldcode/src/gobs/storage.gs | 12 -
oldcode/src/gobs/table.gs | 13 -
oldcode/src/gsl/.gitignore | 5 -
oldcode/src/gsl/Makefile.in | 404 -
oldcode/src/gsl/README | 20 -
oldcode/src/gsl/common/gs-opcache.c | 156 -
oldcode/src/gsl/common/gs.c | 347 -
oldcode/src/gsl/common/module.mk.in | 4 -
oldcode/src/gsl/configure.in | 126 -
oldcode/src/gsl/examples/TODO | 7 -
oldcode/src/gsl/examples/module.mk.in | 5 -
oldcode/src/gsl/examples/rpc-invoke.gs | 133 -
oldcode/src/gsl/include/gs-hash.h | 326 -
oldcode/src/gsl/include/gs-internal.h | 40 -
oldcode/src/gsl/include/gs-list.h | 257 -
oldcode/src/gsl/include/gs-op.h | 54 -
oldcode/src/gsl/include/gs-opcache.h | 50 -
oldcode/src/gsl/include/gs-oplist.h | 139 -
oldcode/src/gsl/include/gs.h | 141 -
oldcode/src/gsl/maint/config/bdb.m4 | 235 -
oldcode/src/gsl/maint/config/install-sh | 250 -
oldcode/src/gsl/maint/config/sqlite.m4 | 185 -
oldcode/src/gsl/maint/hs/alex-2.3.1.tar.gz | Bin 78951 -> 0 bytes
oldcode/src/gsl/maint/hs/happy-1.18.4.tar.gz | Bin 157585 -> 0 bytes
oldcode/src/gsl/maint/hs/language-c-0.3.3.tar.gz | Bin 103493 -> 0 bytes
oldcode/src/gsl/maint/hs/language-c.patch | 266 -
oldcode/src/gsl/maint/hs/mtl-1.1.0.2.tar.gz | Bin 18901 -> 0 bytes
oldcode/src/gsl/maint/hs/setup-hs-debian | 2 -
oldcode/src/gsl/maint/hs/setup-hs-local | 26 -
oldcode/src/gsl/maint/hs/setup-langc | 18 -
oldcode/src/gsl/parser/BlockingContext.lhs | 334 -
oldcode/src/gsl/parser/CGen.lhs | 432 -
oldcode/src/gsl/parser/CParse.lhs | 406 -
oldcode/src/gsl/parser/CUtils.lhs | 84 -
oldcode/src/gsl/parser/ContextGen.lhs | 121 -
oldcode/src/gsl/parser/Header.lhs | 100 -
oldcode/src/gsl/parser/Serialize.hs | 137 -
oldcode/src/gsl/parser/Walker.lhs | 325 -
oldcode/src/gsl/parser/gs-blocking-parser.lhs | 1631 -
oldcode/src/gsl/parser/gs-remote-parser.lhs | 518 -
oldcode/src/gsl/parser/module.mk.in | 20 -
oldcode/src/gsl/prepare | 7 -
oldcode/src/gsl/resources/cosd-prototype/README | 2 -
.../gsl/resources/cosd-prototype/cosd-fd-cache.c | 321 -
.../gsl/resources/cosd-prototype/cosd-fd-cache.h | 77 -
.../gsl/resources/cosd-prototype/cosd-prototype.c | 2829 -
.../resources/cosd-prototype/cosd-prototype.gsh | 149 -
.../src/gsl/resources/cosd-prototype/module.mk.in | 7 -
.../resources/cosd-prototype/test/4M-w-serial.txt | 7 -
.../src/gsl/resources/cosd-prototype/test/README | 1 -
.../cosd-prototype/test/cosd-bench-concurrent.gs | 312 -
.../cosd-prototype/test/cosd-multi-object.gs | 176 -
.../src/gsl/resources/cosd-prototype/test/cosd1.gs | 492 -
.../gsl/resources/cosd-prototype/test/module.mk.in | 9 -
.../resources/cosd-prototype/test/workload-gen.gs | 122 -
oldcode/src/gsl/resources/mpi/gs-mpi.c | 596 -
oldcode/src/gsl/resources/mpi/gs-mpi.gsh | 35 -
oldcode/src/gsl/resources/mpi/module.mk.in | 15 -
oldcode/src/gsl/resources/mpi/test/module.mk.in | 19 -
.../src/gsl/resources/mpi/test/pthread-compare.gs | 198 -
oldcode/src/gsl/resources/mpi/test/send-recv.gs | 72 -
oldcode/src/gsl/resources/scheduling/gs-sched.c | 186 -
oldcode/src/gsl/resources/scheduling/gs-sched.gsh | 79 -
oldcode/src/gsl/resources/scheduling/module.mk.in | 5 -
.../src/gsl/resources/scheduling/test/coalesce.gs | 113 -
.../gsl/resources/scheduling/test/limitqueue.gs | 114 -
.../src/gsl/resources/scheduling/test/module.mk.in | 7 -
.../resources/scheduling/test/pthread-compare.gs | 127 -
oldcode/src/gsl/resources/storage/README | 6 -
oldcode/src/gsl/resources/storage/gs-storage.c | 576 -
oldcode/src/gsl/resources/storage/gs-storage.gsh | 105 -
oldcode/src/gsl/resources/storage/module.mk.in | 6 -
.../src/gsl/resources/storage/osd-target/COPYING | 339 -
.../src/gsl/resources/storage/osd-target/Makefile | 115 -
.../src/gsl/resources/storage/osd-target/README | 125 -
.../src/gsl/resources/storage/osd-target/README2 | 27 -
.../src/gsl/resources/storage/osd-target/attr.c | 701 -
.../src/gsl/resources/storage/osd-target/attr.h | 63 -
oldcode/src/gsl/resources/storage/osd-target/bsg.h | 114 -
oldcode/src/gsl/resources/storage/osd-target/cdb.c | 1767 -
oldcode/src/gsl/resources/storage/osd-target/cdb.h | 33 -
.../src/gsl/resources/storage/osd-target/coll.c | 457 -
.../src/gsl/resources/storage/osd-target/coll.h | 58 -
oldcode/src/gsl/resources/storage/osd-target/db.c | 428 -
oldcode/src/gsl/resources/storage/osd-target/db.h | 94 -
.../src/gsl/resources/storage/osd-target/gs-osd.c | 271 -
.../src/gsl/resources/storage/osd-target/gs-osd.h | 37 -
.../gsl/resources/storage/osd-target/list-entry.c | 111 -
.../gsl/resources/storage/osd-target/list-entry.h | 30 -
.../gsl/resources/storage/osd-target/module.mk.in | 24 -
oldcode/src/gsl/resources/storage/osd-target/mtq.c | 524 -
oldcode/src/gsl/resources/storage/osd-target/mtq.h | 37 -
oldcode/src/gsl/resources/storage/osd-target/notes | 757 -
oldcode/src/gsl/resources/storage/osd-target/obj.c | 582 -
oldcode/src/gsl/resources/storage/osd-target/obj.h | 63 -
.../gsl/resources/storage/osd-target/osd-defs.h | 327 -
.../gsl/resources/storage/osd-target/osd-sense.c | 128 -
.../gsl/resources/storage/osd-target/osd-sense.h | 58 -
.../gsl/resources/storage/osd-target/osd-types.h | 223 -
.../gsl/resources/storage/osd-target/osd-util.c | 687 -
.../gsl/resources/storage/osd-target/osd-util.h | 135 -
oldcode/src/gsl/resources/storage/osd-target/osd.c | 4007 -
oldcode/src/gsl/resources/storage/osd-target/osd.h | 145 -
.../gsl/resources/storage/osd-target/osd.schema | 73 -
.../src/gsl/resources/storage/osd-target/sense.c | 1011 -
.../src/gsl/resources/storage/osd-target/sense.h | 25 -
.../resources/storage/osd-target/target-sense.h | 42 -
oldcode/src/gsl/resources/storage/osd-target/todo | 105 -
oldcode/src/gsl/resources/storage/test/README | 3 -
.../src/gsl/resources/storage/test/module.mk.in | 13 -
oldcode/src/gsl/resources/storage/test/storage1.gs | 184 -
oldcode/src/gsl/resources/storage/test/test-osd.gs | 253 -
oldcode/src/gsl/resources/timer/gs-timer.c | 228 -
oldcode/src/gsl/resources/timer/gs-timer.gsh | 12 -
oldcode/src/gsl/resources/timer/module.mk.in | 5 -
oldcode/src/gsl/resources/timer/test/module.mk.in | 6 -
.../gsl/resources/timer/test/pthread-compare.gs | 114 -
oldcode/src/gsl/resources/timer/test/timer1.gs | 70 -
oldcode/src/gsl/tests/correctness/TODO | 48 -
oldcode/src/gsl/tests/correctness/afterwhile.gs | 55 -
oldcode/src/gsl/tests/correctness/basic.gs | 50 -
oldcode/src/gsl/tests/correctness/btest-impl.c | 384 -
oldcode/src/gsl/tests/correctness/btest.gsh | 56 -
oldcode/src/gsl/tests/correctness/forloop.gs | 53 -
oldcode/src/gsl/tests/correctness/funptrs.gs | 116 -
oldcode/src/gsl/tests/correctness/icpfor.gs | 56 -
oldcode/src/gsl/tests/correctness/if.gs | 66 -
oldcode/src/gsl/tests/correctness/ifnbelse.gs | 56 -
oldcode/src/gsl/tests/correctness/ifnoelse.gs | 52 -
oldcode/src/gsl/tests/correctness/ifnoelse2.gs | 54 -
oldcode/src/gsl/tests/correctness/mixed.gs | 101 -
oldcode/src/gsl/tests/correctness/module.mk.in | 56 -
oldcode/src/gsl/tests/correctness/multif.gs | 93 -
oldcode/src/gsl/tests/correctness/nbfun.gs | 83 -
oldcode/src/gsl/tests/correctness/nested.gs | 50 -
oldcode/src/gsl/tests/correctness/parallel1.gs | 65 -
oldcode/src/gsl/tests/correctness/parallel2.gs | 74 -
oldcode/src/gsl/tests/correctness/parallel3.gs | 92 -
oldcode/src/gsl/tests/correctness/parallel4.gs | 90 -
oldcode/src/gsl/tests/correctness/parallelfor.gs | 66 -
oldcode/src/gsl/tests/correctness/parallelfor2.gs | 72 -
oldcode/src/gsl/tests/correctness/parallelfor3.gs | 71 -
oldcode/src/gsl/tests/correctness/params.gs | 46 -
oldcode/src/gsl/tests/correctness/pbreak.gs | 74 -
oldcode/src/gsl/tests/correctness/pbreak2.gs | 68 -
oldcode/src/gsl/tests/correctness/pbreak3.gs | 77 -
oldcode/src/gsl/tests/correctness/pbreak4.gs | 86 -
oldcode/src/gsl/tests/correctness/pbreak5.gs | 82 -
oldcode/src/gsl/tests/correctness/pbreak6.gs | 76 -
oldcode/src/gsl/tests/correctness/pbreak7.gs | 102 -
oldcode/src/gsl/tests/correctness/pbreak8.gs | 103 -
oldcode/src/gsl/tests/correctness/pprivate.gs | 79 -
oldcode/src/gsl/tests/correctness/pshared.gs | 97 -
oldcode/src/gsl/tests/correctness/tcpfor.gs | 56 -
oldcode/src/gsl/tests/correctness/threefors.gs | 115 -
oldcode/src/gsl/tests/correctness/twofors.gs | 99 -
oldcode/src/gsl/tests/correctness/whilebreak.gs | 52 -
oldcode/src/gsl/tests/correctness/whilebreak2.gs | 50 -
oldcode/src/gsl/tests/correctness/whilebreak3.gs | 57 -
oldcode/src/gsl/tests/correctness/whileloop.gs | 53 -
oldcode/src/gsl/tests/gen/basic.gs | 44 -
oldcode/src/gsl/tests/gen/basic2.gs | 36 -
oldcode/src/gsl/tests/gen/break.gs | 71 -
oldcode/src/gsl/tests/gen/conditional.gs | 56 -
oldcode/src/gsl/tests/gen/funptr.gs | 55 -
oldcode/src/gsl/tests/gen/if.gs | 56 -
oldcode/src/gsl/tests/gen/ifelse.gs | 64 -
oldcode/src/gsl/tests/gen/looping.gs | 46 -
oldcode/src/gsl/tests/gen/looping2.gs | 61 -
oldcode/src/gsl/tests/gen/looping3.gs | 67 -
oldcode/src/gsl/tests/gen/looping4.gs | 91 -
oldcode/src/gsl/tests/gen/multiplebcalls.gs | 52 -
oldcode/src/gsl/tests/gen/parallel1.gs | 70 -
oldcode/src/gsl/tests/gen/twoifs.gs | 60 -
oldcode/src/gsl/tests/gen/while.gs | 61 -
oldcode/src/gsl/tests/gen/while2.gs | 55 -
oldcode/src/gum/gum.gs | 455 -
oldcode/src/gum/module.mk.in | 14 -
oldcode/src/include/accessor.h | 9 -
oldcode/src/include/ait.gsh | 16 -
oldcode/src/include/ait_types.gsh | 33 -
oldcode/src/include/cmpi-cp.h | 22 -
oldcode/src/include/cmpi-io.h | 44 -
oldcode/src/include/cmpi.h | 268 -
oldcode/src/include/cmpi_dense-1.h | 14 -
oldcode/src/include/cmpi_disk.h | 8 -
oldcode/src/include/cmpi_kda-1.h | 4 -
oldcode/src/include/cmpi_kda-2.h | 6 -
oldcode/src/include/connection.h | 2 -
oldcode/src/include/dense-1.h | 58 -
oldcode/src/include/disksim.h | 40 -
oldcode/src/include/dpkm_list.h | 113 -
oldcode/src/include/driver.h | 47 -
oldcode/src/include/gack.gsh | 31 -
oldcode/src/include/gack_types.gsh | 13 -
oldcode/src/include/gobs.gsh | 114 -
oldcode/src/include/gobs_dense.h | 46 -
oldcode/src/include/gobs_types.gsh | 55 -
oldcode/src/include/gs-debug.h | 42 -
oldcode/src/include/gum.gsh | 142 -
oldcode/src/include/handlers.h | 5 -
oldcode/src/include/hashtable.h | 52 -
oldcode/src/include/ilist.h | 83 -
oldcode/src/include/inlist.h | 69 -
oldcode/src/include/io_tools.h | 6 -
oldcode/src/include/itable.h | 45 -
oldcode/src/include/kda-1.h | 145 -
oldcode/src/include/kda-2.h | 247 -
oldcode/src/include/kda_conn-A.h | 23 -
oldcode/src/include/kda_conn-B.h | 66 -
oldcode/src/include/kda_conn-C.h | 63 -
oldcode/src/include/kda_neighbor-1.h | 36 -
oldcode/src/include/kda_neighbor-2.h | 49 -
oldcode/src/include/kda_types-1.h | 66 -
oldcode/src/include/kda_types-2.h | 77 -
oldcode/src/include/keyvalue.h | 16 -
oldcode/src/include/klist.h | 44 -
oldcode/src/include/launch.gsh | 24 -
oldcode/src/include/list.h | 151 -
oldcode/src/include/llist.h | 72 -
oldcode/src/include/lnlist.h | 73 -
oldcode/src/include/lru_table.h | 51 -
oldcode/src/include/ltable.h | 41 -
oldcode/src/include/mpi_tools.h | 358 -
oldcode/src/include/mpirpc-1.h | 130 -
oldcode/src/include/mpirpc-2.h | 199 -
oldcode/src/include/mpirpc.h | 13 -
oldcode/src/include/node.h | 8 -
oldcode/src/include/pnet-cdf.h | 20 -
oldcode/src/include/skullfs.gsh | 73 -
oldcode/src/include/skullfs.h | 18 -
oldcode/src/include/skullfs_client.gsh | 55 -
oldcode/src/include/skullfs_handlers.gsh | 37 -
oldcode/src/include/skullfs_interpreter.gsh | 32 -
oldcode/src/include/skullfs_rpcs.gsh | 20 -
oldcode/src/include/swim.gsh | 28 -
oldcode/src/include/xtree.h | 78 -
oldcode/src/kda-1/Makefile | 48 -
oldcode/src/kda-1/cmpi_kademlia.c | 318 -
oldcode/src/kda-1/kademlia.c | 1216 -
oldcode/src/kda-1/module.mk.in | 8 -
oldcode/src/kda-1/neighbor.c | 168 -
oldcode/src/kda-2/Makefile | 42 -
oldcode/src/kda-2/ascii_map.io | 70 -
oldcode/src/kda-2/cmpi_kademlia.c | 237 -
oldcode/src/kda-2/conn-A.c | 137 -
oldcode/src/kda-2/conn-B.c | 483 -
oldcode/src/kda-2/conn-C.c | 481 -
oldcode/src/kda-2/hex.c | 19 -
oldcode/src/kda-2/hexord.c | 32 -
oldcode/src/kda-2/kademlia.c | 995 -
oldcode/src/kda-2/module.mk.in | 24 -
oldcode/src/kda-2/neighbor.c | 237 -
oldcode/src/kda-2/unhex.c | 19 -
oldcode/src/mpi_tools/io_tools.c | 41 -
oldcode/src/mpi_tools/module.mk.in | 5 -
oldcode/src/mpi_tools/mpi_tools.c | 456 -
oldcode/src/mpirpc-1/handlers.c | 10 -
oldcode/src/mpirpc-1/module.mk.in | 9 -
oldcode/src/mpirpc-1/mpirpc.c | 743 -
oldcode/src/mpirpc-2/Makefile | 38 -
oldcode/src/mpirpc-2/module.mk.in | 8 -
oldcode/src/mpirpc-2/mpirpc.c | 887 -
oldcode/src/mpirpc-2/unpublish.c | 54 -
oldcode/src/ops/module.mk.in | 12 -
oldcode/src/ops/noop.sm | 154 -
oldcode/src/ops/ops.h | 185 -
oldcode/src/skullfs/client.gs | 414 -
oldcode/src/skullfs/handlers.gs | 348 -
oldcode/src/skullfs/module.mk.in | 7 -
oldcode/src/skullfs/rpcs.gs | 87 -
oldcode/src/skullfs/skullfs.gs | 358 -
oldcode/test/Makefile.in | 302 -
oldcode/test/adts/About.txt | 8 -
oldcode/test/adts/module.mk.in | 13 -
oldcode/test/adts/test01.c | 112 -
oldcode/test/adts/test02.c | 181 -
oldcode/test/adts/test04.c | 27 -
oldcode/test/adts/test05.c | 39 -
oldcode/test/adts/test06.c | 28 -
oldcode/test/adts/test07.c | 43 -
oldcode/test/basic/module.mk.in | 3 -
oldcode/test/basic/trivial.c | 13 -
oldcode/test/cmpi-cp/About.txt | 4 -
oldcode/test/cmpi-cp/datafile01.txt | 1 -
oldcode/test/cmpi-cp/datafile02.txt | 3 -
oldcode/test/cmpi-cp/test01.zsh | 22 -
oldcode/test/cmpi-cp/test02.zsh | 27 -
oldcode/test/cmpi-cp/test03.zsh | 27 -
oldcode/test/cmpi-io/About.txt | 3 -
oldcode/test/cmpi-io/Makefile | 23 -
oldcode/test/cmpi-io/module.mk.in | 12 -
oldcode/test/cmpi-io/test01.c | 20 -
oldcode/test/cmpi-io/test02.c | 27 -
oldcode/test/cmpi-io/test1.c | 11 -
oldcode/test/cmpi-io/test1.zsh | 10 -
oldcode/test/cmpi-io/test2.c | 34 -
oldcode/test/cmpi-io/test2.zsh | 4 -
oldcode/test/cmpi-io/test_helpers.c | 64 -
oldcode/test/cmpi-io/test_helpers.h | 19 -
oldcode/test/cmpi/About.txt | 17 -
oldcode/test/cmpi/module.mk.in | 33 -
oldcode/test/cmpi/test01.c | 20 -
oldcode/test/cmpi/test01.zsh | 28 -
oldcode/test/cmpi/test02.c | 21 -
oldcode/test/cmpi/test02.zsh | 11 -
oldcode/test/cmpi/test03.c | 39 -
oldcode/test/cmpi/test04.c | 51 -
oldcode/test/cmpi/test04.zsh | 13 -
oldcode/test/cmpi/test05.c | 45 -
oldcode/test/cmpi/test06.c | 42 -
oldcode/test/cmpi/test_helpers.c | 52 -
oldcode/test/cmpi/test_helpers.h | 20 -
oldcode/test/common/gdb_wait_loop.c | 11 -
oldcode/test/disksim/About.txt | 11 -
oldcode/test/disksim/chunk_test.zsh | 29 -
oldcode/test/disksim/defaults.grace | 3 -
oldcode/test/disksim/module.mk.in | 20 -
oldcode/test/disksim/test01.c | 47 -
oldcode/test/disksim/test02.c | 48 -
oldcode/test/disksim/test03.c | 48 -
oldcode/test/driver/About.txt | 9 -
oldcode/test/driver/module.mk.in | 16 -
oldcode/test/driver/test01.c | 21 -
oldcode/test/driver/test01.zsh | 18 -
oldcode/test/driver/test02.c | 20 -
oldcode/test/driver/test02.zsh | 20 -
oldcode/test/driver/test03.c | 25 -
oldcode/test/driver/test_driver_fifo.c | 24 -
oldcode/test/driver/test_helpers.c | 52 -
oldcode/test/driver/test_helpers.h | 20 -
oldcode/test/gack/module.mk.in | 24 -
oldcode/test/gack/test01.gs | 27 -
oldcode/test/gack/test02.gs | 28 -
oldcode/test/gobs/About.txt | 4 -
oldcode/test/gobs/module.mk.in | 13 -
oldcode/test/gobs/test01.gs | 37 -
oldcode/test/gobs/test02.gs | 41 -
oldcode/test/gobs/test03.gs | 31 -
oldcode/test/gossip/module.mk.in | 8 -
oldcode/test/gossip/test01.c | 76 -
oldcode/test/gossip/test02.c | 33 -
oldcode/test/gossip/test03.c | 36 -
oldcode/test/gum/About.txt | 7 -
oldcode/test/gum/module.mk.in | 25 -
oldcode/test/gum/test01.gs | 189 -
oldcode/test/gum/test02.gs | 207 -
oldcode/test/gum/test03.gs | 194 -
oldcode/test/gum/test04.gs | 193 -
oldcode/test/mpi_tools/module.mk.in | 15 -
oldcode/test/mpi_tools/test01.c | 19 -
oldcode/test/mpirpc-1/Makefile | 24 -
oldcode/test/mpirpc-1/accept1.c | 53 -
oldcode/test/mpirpc-1/connect1.c | 59 -
oldcode/test/mpirpc-1/ilog2.c | 18 -
oldcode/test/mpirpc-1/module.mk.in | 14 -
oldcode/test/mpirpc-1/test01.c | 73 -
oldcode/test/mpirpc-1/test01.zsh | 4 -
oldcode/test/mpirpc-1/test02.c | 33 -
oldcode/test/mpirpc-1/test1.zsh | 31 -
oldcode/test/mpirpc-2/module.mk.in | 24 -
oldcode/test/mpirpc-2/test01.c | 106 -
oldcode/test/mpirpc-2/test02.c | 60 -
oldcode/test/mpirpc-2/test03.c | 81 -
oldcode/test/mpirpc-2/test04.c | 76 -
oldcode/test/mpirpc-2/test_helpers.h | 14 -
oldcode/test/paper1/About.txt | 3 -
oldcode/test/paper1/counts.zsh | 34 -
oldcode/test/paper1/defaults01.grace | 48 -
oldcode/test/paper1/defaults02.grace | 49 -
oldcode/test/paper1/defaults03.grace | 42 -
oldcode/test/paper1/defaults04.grace | 49 -
oldcode/test/paper1/module.mk.in | 46 -
oldcode/test/paper1/test01.c | 57 -
oldcode/test/paper1/test01.zsh | 136 -
oldcode/test/paper1/test02.c | 75 -
oldcode/test/paper1/test02.zsh | 133 -
oldcode/test/paper1/test03.c | 101 -
oldcode/test/paper1/test03.zsh | 146 -
oldcode/test/paper1/test04.c | 65 -
oldcode/test/paper1/test04.zsh | 115 -
oldcode/test/paper1/test_helpers.c | 52 -
oldcode/test/paper1/test_helpers.h | 19 -
oldcode/test/skullfs/About.txt | 8 -
oldcode/test/skullfs/module.mk.in | 24 -
oldcode/test/skullfs/test01.gs | 35 -
oldcode/test/skullfs/test02.gs | 34 -
oldcode/test/skullfs/test03.gs | 57 -
oldcode/test/skullfs/test04.gs | 59 -
oldcode/test/skullfs/test05.gs | 70 -
oldcode/test/skullfs/test06.gs | 51 -
oldcode/test/skullfs/test07.gs | 56 -
oldcode/tools/ascii_map.io | 71 -
oldcode/tools/attach_control.zsh | 16 -
oldcode/tools/attach_driver.zsh | 44 -
oldcode/tools/check_frees.awk | 11 -
oldcode/tools/clean_mpelogs.sed | 4 -
oldcode/tools/clean_mpelogs.zsh | 8 -
oldcode/tools/cmds.txt | 14 -
oldcode/tools/disksim.patch | 46 -
oldcode/tools/draw_dht.zsh | 9 -
oldcode/tools/grab_scx_output.zsh | 12 -
oldcode/tools/helpers.zsh | 759 -
oldcode/tools/kda_test.zsh | 29 -
oldcode/tools/no_negs.m | 15 -
oldcode/tools/nodes_kda_1.zsh | 42 -
oldcode/tools/plot_runs.m | 19 -
oldcode/tools/plot_runs.sh | 5 -
oldcode/tools/process.zsh | 5 -
oldcode/tools/reconfig.zsh | 60 -
oldcode/tools/startover.zsh | 5 -
oldcode/tools/startup_nodes.zsh | 56 -
oldcode/tools/startup_sweep.zsh | 91 -
oldcode/tools/to_dot.awk | 16 -
sim/gobs/.classpath | 12 -
sim/gobs/.project | 17 -
sim/gobs/.settings/org.eclipse.jdt.core.prefs | 281 -
sim/gobs/.settings/org.eclipse.jdt.ui.prefs | 4 -
sim/gobs/About.txt | 4 -
sim/gobs/build.xml | 142 -
sim/gobs/examples/gobs.cfg | 24 -
sim/gobs/examples/params.cfg | 59 -
sim/gobs/manifest.mf | 2 -
sim/gobs/prereqs/colt.jar | Bin 581945 -> 0 bytes
sim/gobs/prereqs/commons-io-1.4.jar | Bin 105025 -> 0 bytes
sim/gobs/prereqs/jcommon-1.0.16.jar | Bin 309293 -> 0 bytes
sim/gobs/prereqs/jfreechart-1.0.13.jar | Bin 1425744 -> 0 bytes
sim/gobs/prereqs/junit.jar | Bin 121070 -> 0 bytes
sim/gobs/prereqs/xmlgraphics-commons-1.4svn.jar | Bin 552552 -> 0 bytes
sim/gobs/scripts/eol.all.zsh | 12 -
sim/gobs/scripts/eol.zsh | 31 -
sim/gobs/scripts/sim.zsh | 21 -
sim/gobs/scripts/sweep.zsh | 23 -
sim/gobs/src/gobs/plot/AbstractPlot.java | 53 -
sim/gobs/src/gobs/plot/AsciiPlot.java | 93 -
sim/gobs/src/gobs/plot/LogPlot.java | 135 -
sim/gobs/src/gobs/plot/MultiLogXPlot.java | 152 -
sim/gobs/src/gobs/plot/MultiplePlot.java | 133 -
sim/gobs/src/gobs/plot/Plot.java | 73 -
sim/gobs/src/gobs/plot/SimplePlot.java | 120 -
sim/gobs/src/gobs/sim/Addressable.java | 146 -
sim/gobs/src/gobs/sim/Cause.java | 28 -
sim/gobs/src/gobs/sim/Copy.java | 80 -
sim/gobs/src/gobs/sim/Event.java | 50 -
sim/gobs/src/gobs/sim/Fault.java | 43 -
sim/gobs/src/gobs/sim/File.java | 146 -
sim/gobs/src/gobs/sim/FileFactory.java | 63 -
sim/gobs/src/gobs/sim/FileSizeComparator.java | 18 -
sim/gobs/src/gobs/sim/Gob.java | 33 -
sim/gobs/src/gobs/sim/KClosest.java | 217 -
sim/gobs/src/gobs/sim/Kademlia.java | 37 -
sim/gobs/src/gobs/sim/LayoutScheme.java | 24 -
sim/gobs/src/gobs/sim/Metric.java | 205 -
sim/gobs/src/gobs/sim/Nearest.java | 63 -
sim/gobs/src/gobs/sim/Node.java | 438 -
sim/gobs/src/gobs/sim/NodeFactory.java | 24 -
sim/gobs/src/gobs/sim/OSD.java | 26 -
sim/gobs/src/gobs/sim/Object.java | 31 -
sim/gobs/src/gobs/sim/ObjectStrip.java | 47 -
sim/gobs/src/gobs/sim/PDSIFiles.java | 343 -
sim/gobs/src/gobs/sim/ParallelRUSH.java | 231 -
sim/gobs/src/gobs/sim/Placement.java | 263 -
sim/gobs/src/gobs/sim/PlainFiles.java | 41 -
sim/gobs/src/gobs/sim/PrimaryObject.java | 32 -
sim/gobs/src/gobs/sim/PrimaryStrip.java | 23 -
sim/gobs/src/gobs/sim/Progress.java | 7 -
sim/gobs/src/gobs/sim/RAID.java | 147 -
sim/gobs/src/gobs/sim/RUSHp.java | 183 -
sim/gobs/src/gobs/sim/RandomFiles.java | 82 -
sim/gobs/src/gobs/sim/RandomNodes.java | 40 -
sim/gobs/src/gobs/sim/Rebuild.java | 587 -
sim/gobs/src/gobs/sim/Repair.java | 49 -
sim/gobs/src/gobs/sim/ReplicaSource.java | 21 -
sim/gobs/src/gobs/sim/Replicated.java | 188 -
sim/gobs/src/gobs/sim/SecondaryObject.java | 37 -
sim/gobs/src/gobs/sim/SecondaryStrip.java | 32 -
sim/gobs/src/gobs/sim/SimpleNodes.java | 42 -
sim/gobs/src/gobs/sim/Simulator.java | 1514 -
sim/gobs/src/gobs/sim/SingleObject.java | 43 -
sim/gobs/src/gobs/sim/Sites.java | 155 -
sim/gobs/src/gobs/sim/Statistics.java | 38 -
sim/gobs/src/gobs/sim/Termination.java | 19 -
sim/gobs/src/gobs/sim/TraceFiles.java | 110 -
sim/gobs/src/gobs/sim/VertexGroups.java | 121 -
sim/gobs/src/gobs/sweep/AbstractSweep.java | 457 -
sim/gobs/src/gobs/sweep/ArraySweep.java | 185 -
sim/gobs/src/gobs/sweep/Helpers.java | 41 -
sim/gobs/src/gobs/sweep/ParallelSweep.java | 151 -
sim/gobs/src/gobs/sweep/Sweep.java | 227 -
sim/gobs/src/gobs/sweep/x/Affected01.java | 41 -
sim/gobs/src/gobs/sweep/x/Balance01.java | 78 -
sim/gobs/src/gobs/sweep/x/Balance02.java | 65 -
sim/gobs/src/gobs/sweep/x/DataLoss01.java | 140 -
sim/gobs/src/gobs/sweep/x/DataLoss02.java | 169 -
sim/gobs/src/gobs/sweep/x/DataLoss03.java | 131 -
sim/gobs/src/gobs/sweep/x/DataLoss04.java | 131 -
sim/gobs/src/gobs/sweep/x/Decluster01.java | 37 -
sim/gobs/src/gobs/sweep/x/Decluster01P.java | 37 -
sim/gobs/src/gobs/sweep/x/Decluster02.java | 68 -
sim/gobs/src/gobs/sweep/x/Decluster03.java | 66 -
sim/gobs/src/gobs/sweep/x/Decluster04.java | 80 -
sim/gobs/src/gobs/sweep/x/Parallelism01.java | 66 -
sim/gobs/src/gobs/sweep/x/Parallelism02.java | 88 -
sim/gobs/src/gobs/sweep/x/RAID01.java | 58 -
sim/gobs/src/gobs/sweep/x/Rebuild01.java | 82 -
sim/gobs/src/gobs/sweep/x/Rebuild02.java | 205 -
sim/gobs/src/gobs/test/TestELHS.java | 34 -
sim/gobs/src/gobs/test/TestExponential.java | 54 -
sim/gobs/src/gobs/test/TestFileFactory.java | 133 -
sim/gobs/src/gobs/util/Bits.java | 151 -
sim/gobs/src/gobs/util/BoundedSortedValues.java | 149 -
sim/gobs/src/gobs/util/EnhancedLinkedHashSet.java | 23 -
sim/gobs/src/gobs/util/Entry.java | 51 -
sim/gobs/src/gobs/util/LineReader.java | 106 -
sim/gobs/src/gobs/util/MapSorter.java | 53 -
sim/gobs/src/gobs/util/Stats.java | 89 -
sim/gobs/src/gobs/util/Time.java | 76 -
sim/gobs/src/gobs/util/Tools.java | 289 -
sim/gobs/sweeps/About.txt | 21 -
sim/gobs/sweeps/Decluster01.cfg | 3 -
sim/gobs/sweeps/bl01-small.cfg | 52 -
sim/gobs/sweeps/bl01-small.zsh | 3 -
sim/gobs/sweeps/bl01.cfg | 50 -
sim/gobs/sweeps/bl01output.cfg | 15 -
sim/gobs/sweeps/build.zsh | 9 -
sim/gobs/sweeps/classpath.zsh | 13 -
sim/gobs/sweeps/dc02kpv01.cfg | 7 -
sim/gobs/sweeps/dc02kpv02.cfg | 7 -
sim/gobs/sweeps/dc02kpv03.cfg | 7 -
sim/gobs/sweeps/dc02kpv04.cfg | 7 -
sim/gobs/sweeps/dc02kpv05.cfg | 7 -
sim/gobs/sweeps/dc02kpv06.cfg | 7 -
sim/gobs/sweeps/dc03kpv01.cfg | 8 -
sim/gobs/sweeps/dc03kpv02.cfg | 7 -
sim/gobs/sweeps/dc03kpv03.cfg | 7 -
sim/gobs/sweeps/dc03kpv04.cfg | 7 -
sim/gobs/sweeps/dc03kpv05.cfg | 7 -
sim/gobs/sweeps/dc03kpv06.cfg | 7 -
sim/gobs/sweeps/dc04kpv01.cfg | 6 -
sim/gobs/sweeps/dc04kpv02.cfg | 7 -
sim/gobs/sweeps/dc04kpv03.cfg | 6 -
sim/gobs/sweeps/dc04kpv04.cfg | 7 -
sim/gobs/sweeps/dc04kpv05.cfg | 6 -
sim/gobs/sweeps/dc04kpv06.cfg | 7 -
sim/gobs/sweeps/dc_output.cfg | 19 -
sim/gobs/sweeps/debug.cfg | 14 -
sim/gobs/sweeps/decluster02.zsh | 23 -
sim/gobs/sweeps/decluster03.zsh | 14 -
sim/gobs/sweeps/decluster04.zsh | 14 -
sim/gobs/sweeps/disks-full-zaps-only.cfg | 19 -
sim/gobs/sweeps/disks-full.cfg | 21 -
sim/gobs/sweeps/disks-long.cfg | 18 -
sim/gobs/sweeps/disks-medium-zaps-only.cfg | 38 -
sim/gobs/sweeps/disks-medium.cfg | 25 -
sim/gobs/sweeps/disks-small.cfg | 18 -
sim/gobs/sweeps/dl01-full.cfg | 34 -
sim/gobs/sweeps/dl01-full.zsh | 9 -
sim/gobs/sweeps/dl01-medium.cfg | 33 -
sim/gobs/sweeps/dl01-medium.zsh | 9 -
sim/gobs/sweeps/dl01-small.cfg | 33 -
sim/gobs/sweeps/dl01-small.zsh | 9 -
sim/gobs/sweeps/dl01.cfg | 87 -
sim/gobs/sweeps/dl01.zsh | 20 -
sim/gobs/sweeps/dl02-medium.cfg | 38 -
sim/gobs/sweeps/dl02-medium.zsh | 9 -
sim/gobs/sweeps/dl02-small.cfg | 38 -
sim/gobs/sweeps/dl02-small.zsh | 9 -
sim/gobs/sweeps/dl03-full.cfg | 39 -
sim/gobs/sweeps/dl03-full.zsh | 9 -
sim/gobs/sweeps/dl04-full.cfg | 36 -
sim/gobs/sweeps/dl04-full.zsh | 11 -
sim/gobs/sweeps/dl_output.cfg | 19 -
sim/gobs/sweeps/faults-range01.cfg | 8 -
sim/gobs/sweeps/faults-range02.cfg | 11 -
sim/gobs/sweeps/faults01.cfg | 3 -
sim/gobs/sweeps/faults_10.cfg | 16 -
sim/gobs/sweeps/faults_medium.cfg | 10 -
sim/gobs/sweeps/faults_medium_range_dl01.cfg | 18 -
sim/gobs/sweeps/faults_real.cfg | 10 -
sim/gobs/sweeps/faults_real_range_dl01.cfg | 23 -
sim/gobs/sweeps/faults_real_range_dl03.cfg | 24 -
sim/gobs/sweeps/faults_real_zaps_only.cfg | 16 -
sim/gobs/sweeps/faults_small.cfg | 7 -
sim/gobs/sweeps/faults_small_zaps_only.cfg | 11 -
sim/gobs/sweeps/fs_pdsi_1EB.cfg | 11 -
sim/gobs/sweeps/fs_pdsi_1EB_chunky.cfg | 11 -
sim/gobs/sweeps/fs_pdsi_1EB_vchunky.cfg | 11 -
sim/gobs/sweeps/fs_pdsi_medium.cfg | 8 -
sim/gobs/sweeps/fs_pdsi_mini.cfg | 13 -
sim/gobs/sweeps/fs_pdsi_small.cfg | 9 -
sim/gobs/sweeps/fs_plain_mini.cfg | 17 -
sim/gobs/sweeps/helpers.zsh | 18 -
sim/gobs/sweeps/kpv01.cfg | 15 -
sim/gobs/sweeps/kpv02.cfg | 17 -
sim/gobs/sweeps/kpv03.cfg | 15 -
sim/gobs/sweeps/kpv04.cfg | 16 -
sim/gobs/sweeps/kpv05.cfg | 15 -
sim/gobs/sweeps/kpv06.cfg | 16 -
sim/gobs/sweeps/kpv_lit_big.cfg | 25 -
sim/gobs/sweeps/kpv_lit_small.cfg | 25 -
sim/gobs/sweeps/kpv_output.cfg | 15 -
sim/gobs/sweeps/kpv_scenario.cfg | 26 -
sim/gobs/sweeps/kpv_small.cfg | 26 -
sim/gobs/sweeps/nodes.cfg | 3 -
sim/gobs/sweeps/output.cfg | 15 -
sim/gobs/sweeps/parallelism01.zsh | 20 -
sim/gobs/sweeps/pll01-small.cfg | 18 -
sim/gobs/sweeps/pll01-small.zsh | 9 -
sim/gobs/sweeps/pll01.cfg | 20 -
sim/gobs/sweeps/pll01.zsh | 25 -
sim/gobs/sweeps/pll01case01.cfg | 6 -
sim/gobs/sweeps/pll01case02.cfg | 10 -
sim/gobs/sweeps/pll02.cfg | 19 -
sim/gobs/sweeps/pll02.zsh | 22 -
sim/gobs/sweeps/pll02case01.cfg | 5 -
sim/gobs/sweeps/pll02case02.cfg | 7 -
sim/gobs/sweeps/pll_output.cfg | 21 -
sim/gobs/sweeps/quick04.cfg | 74 -
sim/gobs/sweeps/raid01.cfg | 10 -
sim/gobs/sweeps/raid01.zsh | 8 -
sim/gobs/sweeps/rb01-full.cfg | 31 -
sim/gobs/sweeps/rb01-full.zsh | 9 -
sim/gobs/sweeps/rb01-long.cfg | 41 -
sim/gobs/sweeps/rb01-long.zsh | 11 -
sim/gobs/sweeps/rb01-medium.cfg | 37 -
sim/gobs/sweeps/rb01-medium.zsh | 9 -
sim/gobs/sweeps/rb01-range.cfg | 72 -
sim/gobs/sweeps/rb01-small.cfg | 32 -
sim/gobs/sweeps/rb01-small.zsh | 9 -
sim/gobs/sweeps/rb02-full.cfg | 34 -
sim/gobs/sweeps/rb02-full.zsh | 9 -
sim/gobs/sweeps/rb02-medium.cfg | 31 -
sim/gobs/sweeps/rb02-medium.zsh | 9 -
sim/gobs/sweeps/rb02-small.cfg | 33 -
sim/gobs/sweeps/rb02-small.zsh | 9 -
sim/gobs/sweeps/rb02.cfg | 61 -
sim/gobs/sweeps/rb02.zsh | 9 -
sim/gobs/sweeps/rb_full_output.cfg | 18 -
sim/gobs/sweeps/rb_output.cfg | 18 -
sim/gobs/sweeps/sweep.zsh | 29 -
sim/gobs/sweeps/system_10-20.cfg | 10 -
sim/gobs/sweeps/system_10.cfg | 15 -
sim/gobs/sweeps/system_100,200.cfg | 24 -
sim/gobs/sweeps/system_100,600.cfg | 24 -
sim/gobs/sweeps/system_100-1000.cfg | 14 -
sim/gobs/sweeps/system_100-300-600.cfg | 40 -
sim/gobs/sweeps/system_100-600.cfg | 24 -
sim/gobs/sweeps/system_100-700.cfg | 23 -
sim/gobs/sweeps/system_1000.cfg | 29 -
sim/gobs/sweeps/system_100_1000.cfg | 25 -
sim/gobs/sweeps/system_120_640.cfg | 14 -
sim/gobs/sweeps/system_20-1000.cfg | 40 -
sim/gobs/sweeps/system_20-40.cfg | 18 -
sim/gobs/sweeps/system_20-600.cfg | 40 -
sim/gobs/sweeps/system_240-640.cfg | 15 -
sim/gobs/sweeps/system_30-100.cfg | 12 -
sim/gobs/sweeps/system_600.cfg | 36 -
sim/gobs/sweeps/system_pdsi_100-1000.cfg | 11 -
sim/gobs/sweeps/system_pdsi_20-40.cfg | 23 -
sim/gobs/sweeps/user00.cfg | 8 -
sim/gobs/sweeps/user01.cfg | 8 -
sim/gobs/sweeps/user02.cfg | 7 -
sim/gobs/traces/onebigfile.trace | 4 -
sim/gobs/traces/test01.trace | 6 -
sim/gobs/wiki/PDSI_distribution.eps | 3250 -
sim/gobs/wiki/PlacementHierarchy.odg | Bin 15558 -> 0 bytes
sim/gobs/wiki/PlacementHierarchy.png | Bin 17710 -> 0 bytes
sim/gobs/wiki/dc02kpv01.cfg | 7 -
sim/gobs/wiki/dc02kpv01.eps | 4569 -
sim/gobs/wiki/dc02kpv02.cfg | 7 -
sim/gobs/wiki/dc02kpv02.eps | 4651 -
sim/gobs/wiki/dc02kpv03.cfg | 7 -
sim/gobs/wiki/dc02kpv03.eps | 4569 -
sim/gobs/wiki/dc02kpv04.cfg | 7 -
sim/gobs/wiki/dc02kpv04.eps | 4569 -
sim/gobs/wiki/dc02kpv05.cfg | 7 -
sim/gobs/wiki/dc02kpv05.eps | 4651 -
sim/gobs/wiki/dc02kpv06.cfg | 7 -
sim/gobs/wiki/dc02kpv06.eps | 4569 -
sim/gobs/wiki/dc03kpv01.cfg | 7 -
sim/gobs/wiki/dc03kpv01.eps | 4651 -
sim/gobs/wiki/dc03kpv02.cfg | 7 -
sim/gobs/wiki/dc03kpv02.eps | 4485 -
sim/gobs/wiki/dc03kpv03.cfg | 7 -
sim/gobs/wiki/dc03kpv03.eps | 4485 -
sim/gobs/wiki/dc03kpv04.cfg | 7 -
sim/gobs/wiki/dc03kpv04.eps | 5281 -
sim/gobs/wiki/dc03kpv05.cfg | 7 -
sim/gobs/wiki/dc03kpv05.eps | 4569 -
sim/gobs/wiki/dc03kpv06.cfg | 7 -
sim/gobs/wiki/dc03kpv06.eps | 5281 -
sim/gobs/wiki/dc04kpv01.cfg | 7 -
sim/gobs/wiki/dc04kpv01.eps | 8186 -
sim/gobs/wiki/dc04kpv02.cfg | 7 -
sim/gobs/wiki/dc04kpv02.eps |10235 -
sim/gobs/wiki/dc04kpv03.cfg | 7 -
sim/gobs/wiki/dc04kpv03.eps | 8044 -
sim/gobs/wiki/dc04kpv04.cfg | 7 -
sim/gobs/wiki/dc04kpv04.eps |12504 --
sim/gobs/wiki/dc04kpv05.cfg | 7 -
sim/gobs/wiki/dc04kpv05.eps | 8186 -
sim/gobs/wiki/dc04kpv06.cfg | 7 -
sim/gobs/wiki/dc04kpv06.eps |10606 -
sim/gobs/wiki/decluster02.zsh | 18 -
sim/gobs/wiki/decluster03.zsh | 18 -
sim/gobs/wiki/decluster04.zsh | 18 -
sim/gobs/wiki/dl01-small.cfg | 79 -
sim/gobs/wiki/dl01-small.eps | 3771 -
sim/gobs/wiki/kpv01.cfg | 16 -
sim/gobs/wiki/kpv02.cfg | 18 -
sim/gobs/wiki/kpv03.cfg | 18 -
sim/gobs/wiki/kpv04.cfg | 17 -
sim/gobs/wiki/kpv05.cfg | 18 -
sim/gobs/wiki/kpv06.cfg | 17 -
sim/gobs/wiki/kpv_lit_big.cfg | 25 -
sim/gobs/wiki/kpv_lit_small.cfg | 25 -
sim/gobs/wiki/kpv_output.cfg | 15 -
sim/gobs/wiki/kpv_scenario.cfg | 26 -
sim/gobs/wiki/kpv_small.cfg | 26 -
sim/gobs/wiki/rb01-small.cfg | 32 -
sim/gobs/wiki/rb01-small.eps |222960 --------------------
sim/gobs/wiki/rb01-small.zsh | 9 -
sim/gobs/wiki/rb02-small.cfg | 76 -
sim/gobs/wiki/rb02-small.eps | 7417 -
sim/gobs/wiki/rb02.cfg | 59 -
sim/gobs/wiki/rb02.zsh | 9 -
sim/gobs/wiki/rb_output.cfg | 18 -
sim/gobs/wiki/system_size_100_1000.cfg | 25 -
sim/gobs/wiki/system_size_20-1000.cfg | 29 -
877 files changed, 0 insertions(+), 447304 deletions(-)
delete mode 100644 oldcode/COPYING
delete mode 100644 oldcode/Makefile.in
delete mode 100644 oldcode/README
delete mode 100644 oldcode/configure.ac
delete mode 100644 oldcode/img/view2.dot
delete mode 100644 oldcode/include/junk.h
delete mode 100644 oldcode/include/pvfs2-types.h
delete mode 100644 oldcode/maint/TEMPLATE_COPYRIGHT_HEADER.txt
delete mode 100644 oldcode/maint/TEMPLATE_FORMAT_TRAILER.txt
delete mode 100644 oldcode/maint/config/aio.m4
delete mode 100644 oldcode/maint/config/bdb.m4
delete mode 100755 oldcode/maint/config/config.guess
delete mode 100755 oldcode/maint/config/config.sub
delete mode 100755 oldcode/maint/config/install-sh
delete mode 100755 oldcode/maint/config/missing
delete mode 100644 oldcode/maint/config/rt.m4
delete mode 100755 oldcode/maint/depend.sh
delete mode 100755 oldcode/maint/gs-header-footer.pl
delete mode 100755 oldcode/maint/gs-indent.sh
delete mode 100755 oldcode/maint/gs-mangle-in-place.sh
delete mode 100755 oldcode/maint/gs-quote-includes.sh
delete mode 100755 oldcode/maint/trove-autogen.pl
delete mode 100644 oldcode/module.mk.in
delete mode 100755 oldcode/prepare
delete mode 100644 oldcode/src/adio/ad_cmpi/Makefile
delete mode 100644 oldcode/src/adio/ad_cmpi/Makefile.in
delete mode 100644 oldcode/src/adio/ad_cmpi/ad_cmpi.c
delete mode 100644 oldcode/src/adio/ad_cmpi/ad_cmpi.h
delete mode 100644 oldcode/src/adio/ad_cmpi/ad_cmpi_close.c
delete mode 100644 oldcode/src/adio/ad_cmpi/ad_cmpi_delete.c
delete mode 100644 oldcode/src/adio/ad_cmpi/ad_cmpi_done.c
delete mode 100644 oldcode/src/adio/ad_cmpi/ad_cmpi_fcntl.c
delete mode 100644 oldcode/src/adio/ad_cmpi/ad_cmpi_flush.c
delete mode 100644 oldcode/src/adio/ad_cmpi/ad_cmpi_getsh.c
delete mode 100644 oldcode/src/adio/ad_cmpi/ad_cmpi_hints.c
delete mode 100644 oldcode/src/adio/ad_cmpi/ad_cmpi_iread.c
delete mode 100644 oldcode/src/adio/ad_cmpi/ad_cmpi_iwrite.c
delete mode 100644 oldcode/src/adio/ad_cmpi/ad_cmpi_open.c
delete mode 100644 oldcode/src/adio/ad_cmpi/ad_cmpi_rdcoll.c
delete mode 100644 oldcode/src/adio/ad_cmpi/ad_cmpi_read.c
delete mode 100644 oldcode/src/adio/ad_cmpi/ad_cmpi_resize.c
delete mode 100644 oldcode/src/adio/ad_cmpi/ad_cmpi_seek.c
delete mode 100644 oldcode/src/adio/ad_cmpi/ad_cmpi_setsh.c
delete mode 100644 oldcode/src/adio/ad_cmpi/ad_cmpi_wait.c
delete mode 100644 oldcode/src/adio/ad_cmpi/ad_cmpi_wrcoll.c
delete mode 100644 oldcode/src/adio/ad_cmpi/ad_cmpi_write.c
delete mode 100644 oldcode/src/adio/patches/About.txt
delete mode 100644 oldcode/src/adio/patches/mpich2_1_0_8_cmpi.diff
delete mode 100644 oldcode/src/adio/patches/mpich2_1_0_8_cmpi.txt
delete mode 100644 oldcode/src/adts/About.txt
delete mode 100644 oldcode/src/adts/dpkm_list.c
delete mode 100644 oldcode/src/adts/hashtable.c
delete mode 100644 oldcode/src/adts/ilist.c
delete mode 100644 oldcode/src/adts/inlist.c
delete mode 100644 oldcode/src/adts/itable.c
delete mode 100644 oldcode/src/adts/keyvalue.c
delete mode 100644 oldcode/src/adts/klist.c
delete mode 100644 oldcode/src/adts/list.c
delete mode 100644 oldcode/src/adts/llist.c
delete mode 100644 oldcode/src/adts/lnlist.c
delete mode 100644 oldcode/src/adts/lru_table.c
delete mode 100644 oldcode/src/adts/ltable.c
delete mode 100644 oldcode/src/adts/module.mk.in
delete mode 100644 oldcode/src/adts/xtree.c
delete mode 100644 oldcode/src/can/can.c
delete mode 100644 oldcode/src/can/can.h
delete mode 100644 oldcode/src/can/can_dtypes.h
delete mode 100644 oldcode/src/can/can_mtypes.h
delete mode 100644 oldcode/src/can/can_private.h
delete mode 100644 oldcode/src/can/can_util.c
delete mode 100644 oldcode/src/can/canclient.c
delete mode 100644 oldcode/src/can/cmpi_can.c
delete mode 100644 oldcode/src/can/cmpi_can.h
delete mode 100644 oldcode/src/can/helper.c
delete mode 100644 oldcode/src/can/iaccept.c
delete mode 100644 oldcode/src/can/module.mk.in
delete mode 100644 oldcode/src/can/neighbor.c
delete mode 100644 oldcode/src/can/recv.c
delete mode 100644 oldcode/src/can/send.c
delete mode 100644 oldcode/src/cmpi-cp/cmpi-cp.c
delete mode 100644 oldcode/src/cmpi-cp/module.mk.in
delete mode 100644 oldcode/src/cmpi-db/cmpi-db-fifo-quit.c
delete mode 100644 oldcode/src/cmpi-db/cmpi-db-fifo.c
delete mode 100644 oldcode/src/cmpi-db/module.mk.in
delete mode 100644 oldcode/src/cmpi/accessor.c
delete mode 100644 oldcode/src/cmpi/client.c
delete mode 100644 oldcode/src/cmpi/cmpi-io-test.c
delete mode 100644 oldcode/src/cmpi/cmpi-io.c
delete mode 100644 oldcode/src/cmpi/cmpi.c
delete mode 100644 oldcode/src/cmpi/cmpi_disk_printf.c
delete mode 100644 oldcode/src/cmpi/cmpi_disk_void.c
delete mode 100644 oldcode/src/cmpi/driver.c
delete mode 100644 oldcode/src/cmpi/module.mk.in
delete mode 100644 oldcode/src/cmpi/node.c
delete mode 100644 oldcode/src/cmpi/pnet-cdf.c
delete mode 100644 oldcode/src/common/gen-locks/gen-locks.c
delete mode 100644 oldcode/src/common/gen-locks/gen-locks.h
delete mode 100644 oldcode/src/common/gen-locks/module.mk.in
delete mode 100644 oldcode/src/common/gossip/gossip.c
delete mode 100644 oldcode/src/common/gossip/gossip.h
delete mode 100644 oldcode/src/common/gossip/gs-debug.c
delete mode 100644 oldcode/src/common/gossip/module.mk.in
delete mode 100644 oldcode/src/common/id-generator/id-generator.c
delete mode 100644 oldcode/src/common/id-generator/id-generator.h
delete mode 100644 oldcode/src/common/id-generator/module.mk.in
delete mode 100644 oldcode/src/common/job/TODO
delete mode 100644 oldcode/src/common/job/job-desc-queue.c
delete mode 100644 oldcode/src/common/job/job-desc-queue.h
delete mode 100644 oldcode/src/common/job/job-time-mgr.c
delete mode 100644 oldcode/src/common/job/job-time-mgr.h
delete mode 100644 oldcode/src/common/job/job.c
delete mode 100644 oldcode/src/common/job/job.h
delete mode 100644 oldcode/src/common/job/module.mk.in
delete mode 100644 oldcode/src/common/module.mk.in
delete mode 100644 oldcode/src/common/quickhash.h
delete mode 100644 oldcode/src/common/quickhash/module.mk.in
delete mode 100644 oldcode/src/common/quickhash/quickhash.h
delete mode 100644 oldcode/src/common/quicklist/module.mk.in
delete mode 100644 oldcode/src/common/quicklist/quicklist.h
delete mode 100644 oldcode/src/common/state-machine/module.mk.in
delete mode 100644 oldcode/src/common/state-machine/state-machine-fns.c
delete mode 100644 oldcode/src/common/state-machine/state-machine.h
delete mode 100644 oldcode/src/common/statecomp/codegen.c
delete mode 100644 oldcode/src/common/statecomp/module.mk.in
delete mode 100644 oldcode/src/common/statecomp/parser.y
delete mode 100644 oldcode/src/common/statecomp/scanner.l
delete mode 100644 oldcode/src/common/statecomp/statecomp.c
delete mode 100644 oldcode/src/common/statecomp/statecomp.h
delete mode 100644 oldcode/src/dense-1/cmpi_dense.c
delete mode 100644 oldcode/src/dense-1/dense.c
delete mode 100644 oldcode/src/dense-1/dense.h
delete mode 100644 oldcode/src/dense-1/module.mk.in
delete mode 100644 oldcode/src/disksim/disksim.c
delete mode 100644 oldcode/src/disksim/dm-delay-disksim/Makefile
delete mode 100644 oldcode/src/disksim/dm-delay-disksim/README
delete mode 100644 oldcode/src/disksim/dm-delay-disksim/dm-bio-list.h
delete mode 100644 oldcode/src/disksim/dm-delay-disksim/dm-delay.c
delete mode 100644 oldcode/src/disksim/module.mk.in
delete mode 100644 oldcode/src/gack/#_ascpx_blogin3.mcs.anl.gov_b_ahomes_awozniak_aproj_ags.git_acode_asrc_agack_agack.gs#
delete mode 100644 oldcode/src/gack/gack.gs
delete mode 100644 oldcode/src/gack/module.mk.in
delete mode 100644 oldcode/src/gack/swim.gs
delete mode 100644 oldcode/src/gobs/ait.gs
delete mode 100644 oldcode/src/gobs/client.gs
delete mode 100644 oldcode/src/gobs/dense/dense.gs
delete mode 100644 oldcode/src/gobs/dense/module.mk.in
delete mode 100644 oldcode/src/gobs/gobs.gs
delete mode 100644 oldcode/src/gobs/launch.gs
delete mode 100644 oldcode/src/gobs/module.mk.in
delete mode 100644 oldcode/src/gobs/storage.gs
delete mode 100644 oldcode/src/gobs/table.gs
delete mode 100644 oldcode/src/gsl/.gitignore
delete mode 100644 oldcode/src/gsl/Makefile.in
delete mode 100644 oldcode/src/gsl/README
delete mode 100644 oldcode/src/gsl/common/gs-opcache.c
delete mode 100644 oldcode/src/gsl/common/gs.c
delete mode 100644 oldcode/src/gsl/common/module.mk.in
delete mode 100644 oldcode/src/gsl/configure.in
delete mode 100644 oldcode/src/gsl/examples/TODO
delete mode 100644 oldcode/src/gsl/examples/module.mk.in
delete mode 100644 oldcode/src/gsl/examples/rpc-invoke.gs
delete mode 100644 oldcode/src/gsl/include/gs-hash.h
delete mode 100644 oldcode/src/gsl/include/gs-internal.h
delete mode 100644 oldcode/src/gsl/include/gs-list.h
delete mode 100644 oldcode/src/gsl/include/gs-op.h
delete mode 100644 oldcode/src/gsl/include/gs-opcache.h
delete mode 100644 oldcode/src/gsl/include/gs-oplist.h
delete mode 100644 oldcode/src/gsl/include/gs.h
delete mode 100644 oldcode/src/gsl/maint/config/bdb.m4
delete mode 100755 oldcode/src/gsl/maint/config/install-sh
delete mode 100644 oldcode/src/gsl/maint/config/sqlite.m4
delete mode 100644 oldcode/src/gsl/maint/hs/alex-2.3.1.tar.gz
delete mode 100644 oldcode/src/gsl/maint/hs/happy-1.18.4.tar.gz
delete mode 100644 oldcode/src/gsl/maint/hs/language-c-0.3.3.tar.gz
delete mode 100644 oldcode/src/gsl/maint/hs/language-c.patch
delete mode 100644 oldcode/src/gsl/maint/hs/mtl-1.1.0.2.tar.gz
delete mode 100755 oldcode/src/gsl/maint/hs/setup-hs-debian
delete mode 100755 oldcode/src/gsl/maint/hs/setup-hs-local
delete mode 100755 oldcode/src/gsl/maint/hs/setup-langc
delete mode 100644 oldcode/src/gsl/parser/BlockingContext.lhs
delete mode 100644 oldcode/src/gsl/parser/CGen.lhs
delete mode 100644 oldcode/src/gsl/parser/CParse.lhs
delete mode 100644 oldcode/src/gsl/parser/CUtils.lhs
delete mode 100644 oldcode/src/gsl/parser/ContextGen.lhs
delete mode 100644 oldcode/src/gsl/parser/Header.lhs
delete mode 100644 oldcode/src/gsl/parser/Serialize.hs
delete mode 100644 oldcode/src/gsl/parser/Walker.lhs
delete mode 100644 oldcode/src/gsl/parser/gs-blocking-parser.lhs
delete mode 100644 oldcode/src/gsl/parser/gs-remote-parser.lhs
delete mode 100644 oldcode/src/gsl/parser/module.mk.in
delete mode 100755 oldcode/src/gsl/prepare
delete mode 100644 oldcode/src/gsl/resources/cosd-prototype/README
delete mode 100644 oldcode/src/gsl/resources/cosd-prototype/cosd-fd-cache.c
delete mode 100644 oldcode/src/gsl/resources/cosd-prototype/cosd-fd-cache.h
delete mode 100644 oldcode/src/gsl/resources/cosd-prototype/cosd-prototype.c
delete mode 100644 oldcode/src/gsl/resources/cosd-prototype/cosd-prototype.gsh
delete mode 100644 oldcode/src/gsl/resources/cosd-prototype/module.mk.in
delete mode 100644 oldcode/src/gsl/resources/cosd-prototype/test/4M-w-serial.txt
delete mode 100644 oldcode/src/gsl/resources/cosd-prototype/test/README
delete mode 100644 oldcode/src/gsl/resources/cosd-prototype/test/cosd-bench-concurrent.gs
delete mode 100644 oldcode/src/gsl/resources/cosd-prototype/test/cosd-multi-object.gs
delete mode 100644 oldcode/src/gsl/resources/cosd-prototype/test/cosd1.gs
delete mode 100644 oldcode/src/gsl/resources/cosd-prototype/test/module.mk.in
delete mode 100644 oldcode/src/gsl/resources/cosd-prototype/test/workload-gen.gs
delete mode 100644 oldcode/src/gsl/resources/mpi/gs-mpi.c
delete mode 100644 oldcode/src/gsl/resources/mpi/gs-mpi.gsh
delete mode 100644 oldcode/src/gsl/resources/mpi/module.mk.in
delete mode 100644 oldcode/src/gsl/resources/mpi/test/module.mk.in
delete mode 100644 oldcode/src/gsl/resources/mpi/test/pthread-compare.gs
delete mode 100644 oldcode/src/gsl/resources/mpi/test/send-recv.gs
delete mode 100644 oldcode/src/gsl/resources/scheduling/gs-sched.c
delete mode 100644 oldcode/src/gsl/resources/scheduling/gs-sched.gsh
delete mode 100644 oldcode/src/gsl/resources/scheduling/module.mk.in
delete mode 100644 oldcode/src/gsl/resources/scheduling/test/coalesce.gs
delete mode 100644 oldcode/src/gsl/resources/scheduling/test/limitqueue.gs
delete mode 100644 oldcode/src/gsl/resources/scheduling/test/module.mk.in
delete mode 100644 oldcode/src/gsl/resources/scheduling/test/pthread-compare.gs
delete mode 100644 oldcode/src/gsl/resources/storage/README
delete mode 100644 oldcode/src/gsl/resources/storage/gs-storage.c
delete mode 100644 oldcode/src/gsl/resources/storage/gs-storage.gsh
delete mode 100644 oldcode/src/gsl/resources/storage/module.mk.in
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/COPYING
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/Makefile
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/README
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/README2
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/attr.c
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/attr.h
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/bsg.h
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/cdb.c
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/cdb.h
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/coll.c
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/coll.h
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/db.c
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/db.h
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/gs-osd.c
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/gs-osd.h
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/list-entry.c
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/list-entry.h
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/module.mk.in
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/mtq.c
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/mtq.h
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/notes
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/obj.c
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/obj.h
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/osd-defs.h
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/osd-sense.c
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/osd-sense.h
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/osd-types.h
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/osd-util.c
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/osd-util.h
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/osd.c
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/osd.h
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/osd.schema
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/sense.c
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/sense.h
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/target-sense.h
delete mode 100644 oldcode/src/gsl/resources/storage/osd-target/todo
delete mode 100644 oldcode/src/gsl/resources/storage/test/README
delete mode 100644 oldcode/src/gsl/resources/storage/test/module.mk.in
delete mode 100644 oldcode/src/gsl/resources/storage/test/storage1.gs
delete mode 100644 oldcode/src/gsl/resources/storage/test/test-osd.gs
delete mode 100644 oldcode/src/gsl/resources/storage/testfile.txt
delete mode 100644 oldcode/src/gsl/resources/timer/gs-timer.c
delete mode 100644 oldcode/src/gsl/resources/timer/gs-timer.gsh
delete mode 100644 oldcode/src/gsl/resources/timer/module.mk.in
delete mode 100644 oldcode/src/gsl/resources/timer/test/module.mk.in
delete mode 100644 oldcode/src/gsl/resources/timer/test/pthread-compare.gs
delete mode 100644 oldcode/src/gsl/resources/timer/test/timer1.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/TODO
delete mode 100644 oldcode/src/gsl/tests/correctness/afterwhile.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/basic.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/btest-impl.c
delete mode 100644 oldcode/src/gsl/tests/correctness/btest.gsh
delete mode 100644 oldcode/src/gsl/tests/correctness/forloop.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/funptrs.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/icpfor.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/if.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/ifnbelse.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/ifnoelse.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/ifnoelse2.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/mixed.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/module.mk.in
delete mode 100644 oldcode/src/gsl/tests/correctness/multif.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/nbfun.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/nested.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/parallel1.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/parallel2.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/parallel3.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/parallel4.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/parallelfor.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/parallelfor2.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/parallelfor3.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/params.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/pbreak.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/pbreak2.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/pbreak3.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/pbreak4.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/pbreak5.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/pbreak6.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/pbreak7.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/pbreak8.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/pprivate.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/pshared.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/tcpfor.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/threefors.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/twofors.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/whilebreak.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/whilebreak2.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/whilebreak3.gs
delete mode 100644 oldcode/src/gsl/tests/correctness/whileloop.gs
delete mode 100644 oldcode/src/gsl/tests/gen/basic.gs
delete mode 100644 oldcode/src/gsl/tests/gen/basic2.gs
delete mode 100644 oldcode/src/gsl/tests/gen/break.gs
delete mode 100644 oldcode/src/gsl/tests/gen/conditional.gs
delete mode 100644 oldcode/src/gsl/tests/gen/funptr.gs
delete mode 100644 oldcode/src/gsl/tests/gen/if.gs
delete mode 100644 oldcode/src/gsl/tests/gen/ifelse.gs
delete mode 100644 oldcode/src/gsl/tests/gen/looping.gs
delete mode 100644 oldcode/src/gsl/tests/gen/looping2.gs
delete mode 100644 oldcode/src/gsl/tests/gen/looping3.gs
delete mode 100644 oldcode/src/gsl/tests/gen/looping4.gs
delete mode 100644 oldcode/src/gsl/tests/gen/multiplebcalls.gs
delete mode 100644 oldcode/src/gsl/tests/gen/parallel1.gs
delete mode 100644 oldcode/src/gsl/tests/gen/twoifs.gs
delete mode 100644 oldcode/src/gsl/tests/gen/while.gs
delete mode 100644 oldcode/src/gsl/tests/gen/while2.gs
delete mode 100644 oldcode/src/gum/gum.gs
delete mode 100644 oldcode/src/gum/module.mk.in
delete mode 100644 oldcode/src/include/accessor.h
delete mode 100644 oldcode/src/include/ait.gsh
delete mode 100644 oldcode/src/include/ait_types.gsh
delete mode 100644 oldcode/src/include/cmpi-cp.h
delete mode 100644 oldcode/src/include/cmpi-io.h
delete mode 100644 oldcode/src/include/cmpi.h
delete mode 100644 oldcode/src/include/cmpi_dense-1.h
delete mode 100644 oldcode/src/include/cmpi_disk.h
delete mode 100644 oldcode/src/include/cmpi_kda-1.h
delete mode 100644 oldcode/src/include/cmpi_kda-2.h
delete mode 100644 oldcode/src/include/connection.h
delete mode 100644 oldcode/src/include/dense-1.h
delete mode 100644 oldcode/src/include/disksim.h
delete mode 100644 oldcode/src/include/dpkm_list.h
delete mode 100644 oldcode/src/include/driver.h
delete mode 100644 oldcode/src/include/gack.gsh
delete mode 100644 oldcode/src/include/gack_types.gsh
delete mode 100644 oldcode/src/include/gobs.gsh
delete mode 100644 oldcode/src/include/gobs_dense.h
delete mode 100644 oldcode/src/include/gobs_types.gsh
delete mode 100644 oldcode/src/include/gs-debug.h
delete mode 100644 oldcode/src/include/gum.gsh
delete mode 100644 oldcode/src/include/handlers.h
delete mode 100644 oldcode/src/include/hashtable.h
delete mode 100644 oldcode/src/include/ilist.h
delete mode 100644 oldcode/src/include/inlist.h
delete mode 100644 oldcode/src/include/io_tools.h
delete mode 100644 oldcode/src/include/itable.h
delete mode 100644 oldcode/src/include/kda-1.h
delete mode 100644 oldcode/src/include/kda-2.h
delete mode 100644 oldcode/src/include/kda_conn-A.h
delete mode 100644 oldcode/src/include/kda_conn-B.h
delete mode 100644 oldcode/src/include/kda_conn-C.h
delete mode 100644 oldcode/src/include/kda_neighbor-1.h
delete mode 100644 oldcode/src/include/kda_neighbor-2.h
delete mode 100644 oldcode/src/include/kda_types-1.h
delete mode 100644 oldcode/src/include/kda_types-2.h
delete mode 100644 oldcode/src/include/keyvalue.h
delete mode 100644 oldcode/src/include/klist.h
delete mode 100644 oldcode/src/include/launch.gsh
delete mode 100644 oldcode/src/include/list.h
delete mode 100644 oldcode/src/include/llist.h
delete mode 100644 oldcode/src/include/lnlist.h
delete mode 100644 oldcode/src/include/lru_table.h
delete mode 100644 oldcode/src/include/ltable.h
delete mode 100644 oldcode/src/include/mpi_tools.h
delete mode 100644 oldcode/src/include/mpirpc-1.h
delete mode 100644 oldcode/src/include/mpirpc-2.h
delete mode 100644 oldcode/src/include/mpirpc.h
delete mode 100644 oldcode/src/include/node.h
delete mode 100644 oldcode/src/include/pnet-cdf.h
delete mode 100644 oldcode/src/include/skullfs.gsh
delete mode 100644 oldcode/src/include/skullfs.h
delete mode 100644 oldcode/src/include/skullfs_client.gsh
delete mode 100644 oldcode/src/include/skullfs_handlers.gsh
delete mode 100644 oldcode/src/include/skullfs_interpreter.gsh
delete mode 100644 oldcode/src/include/skullfs_rpcs.gsh
delete mode 100644 oldcode/src/include/swim.gsh
delete mode 100644 oldcode/src/include/xtree.h
delete mode 100644 oldcode/src/kda-1/Makefile
delete mode 100644 oldcode/src/kda-1/cmpi_kademlia.c
delete mode 100644 oldcode/src/kda-1/kademlia.c
delete mode 100644 oldcode/src/kda-1/module.mk.in
delete mode 100644 oldcode/src/kda-1/neighbor.c
delete mode 100644 oldcode/src/kda-2/Makefile
delete mode 100755 oldcode/src/kda-2/ascii_map.io
delete mode 100644 oldcode/src/kda-2/cmpi_kademlia.c
delete mode 100644 oldcode/src/kda-2/conn-A.c
delete mode 100644 oldcode/src/kda-2/conn-B.c
delete mode 100644 oldcode/src/kda-2/conn-C.c
delete mode 100644 oldcode/src/kda-2/hex.c
delete mode 100644 oldcode/src/kda-2/hexord.c
delete mode 100644 oldcode/src/kda-2/kademlia.c
delete mode 100644 oldcode/src/kda-2/module.mk.in
delete mode 100644 oldcode/src/kda-2/neighbor.c
delete mode 100644 oldcode/src/kda-2/unhex.c
delete mode 100644 oldcode/src/mpi_tools/io_tools.c
delete mode 100644 oldcode/src/mpi_tools/module.mk.in
delete mode 100644 oldcode/src/mpi_tools/mpi_tools.c
delete mode 100644 oldcode/src/mpirpc-1/handlers.c
delete mode 100644 oldcode/src/mpirpc-1/module.mk.in
delete mode 100644 oldcode/src/mpirpc-1/mpirpc.c
delete mode 100644 oldcode/src/mpirpc-1/placeholder
delete mode 100644 oldcode/src/mpirpc-2/Makefile
delete mode 100644 oldcode/src/mpirpc-2/module.mk.in
delete mode 100644 oldcode/src/mpirpc-2/mpirpc.c
delete mode 100644 oldcode/src/mpirpc-2/unpublish.c
delete mode 100644 oldcode/src/ops/module.mk.in
delete mode 100644 oldcode/src/ops/noop.sm
delete mode 100644 oldcode/src/ops/ops.h
delete mode 100644 oldcode/src/shell/module.mk.in
delete mode 100644 oldcode/src/skullfs/client.gs
delete mode 100644 oldcode/src/skullfs/handlers.gs
delete mode 100644 oldcode/src/skullfs/module.mk.in
delete mode 100644 oldcode/src/skullfs/rpcs.gs
delete mode 100644 oldcode/src/skullfs/skullfs.gs
delete mode 100644 oldcode/test/Makefile.in
delete mode 100644 oldcode/test/adts/About.txt
delete mode 100644 oldcode/test/adts/module.mk.in
delete mode 100644 oldcode/test/adts/test01.c
delete mode 100644 oldcode/test/adts/test02.c
delete mode 100644 oldcode/test/adts/test04.c
delete mode 100644 oldcode/test/adts/test05.c
delete mode 100644 oldcode/test/adts/test06.c
delete mode 100644 oldcode/test/adts/test07.c
delete mode 100644 oldcode/test/basic/module.mk.in
delete mode 100644 oldcode/test/basic/trivial.c
delete mode 100644 oldcode/test/cmpi-cp/About.txt
delete mode 100644 oldcode/test/cmpi-cp/datafile01.txt
delete mode 100644 oldcode/test/cmpi-cp/datafile02.txt
delete mode 100755 oldcode/test/cmpi-cp/test01.zsh
delete mode 100755 oldcode/test/cmpi-cp/test02.zsh
delete mode 100755 oldcode/test/cmpi-cp/test03.zsh
delete mode 100644 oldcode/test/cmpi-io/About.txt
delete mode 100644 oldcode/test/cmpi-io/Makefile
delete mode 100644 oldcode/test/cmpi-io/module.mk.in
delete mode 100644 oldcode/test/cmpi-io/test01.c
delete mode 100644 oldcode/test/cmpi-io/test02.c
delete mode 100644 oldcode/test/cmpi-io/test1.c
delete mode 100755 oldcode/test/cmpi-io/test1.zsh
delete mode 100644 oldcode/test/cmpi-io/test2.c
delete mode 100755 oldcode/test/cmpi-io/test2.zsh
delete mode 100644 oldcode/test/cmpi-io/test_helpers.c
delete mode 100644 oldcode/test/cmpi-io/test_helpers.h
delete mode 100644 oldcode/test/cmpi/About.txt
delete mode 100644 oldcode/test/cmpi/module.mk.in
delete mode 100644 oldcode/test/cmpi/test01.c
delete mode 100755 oldcode/test/cmpi/test01.zsh
delete mode 100644 oldcode/test/cmpi/test02.c
delete mode 100644 oldcode/test/cmpi/test02.zsh
delete mode 100644 oldcode/test/cmpi/test03.c
delete mode 100644 oldcode/test/cmpi/test04.c
delete mode 100755 oldcode/test/cmpi/test04.zsh
delete mode 100644 oldcode/test/cmpi/test05.c
delete mode 100644 oldcode/test/cmpi/test06.c
delete mode 100644 oldcode/test/cmpi/test_helpers.c
delete mode 100644 oldcode/test/cmpi/test_helpers.h
delete mode 100644 oldcode/test/common/gdb_wait_loop.c
delete mode 100644 oldcode/test/disksim/About.txt
delete mode 100755 oldcode/test/disksim/chunk_test.zsh
delete mode 100644 oldcode/test/disksim/defaults.grace
delete mode 100644 oldcode/test/disksim/module.mk.in
delete mode 100644 oldcode/test/disksim/test01.c
delete mode 100644 oldcode/test/disksim/test02.c
delete mode 100644 oldcode/test/disksim/test03.c
delete mode 100644 oldcode/test/driver/About.txt
delete mode 100644 oldcode/test/driver/module.mk.in
delete mode 100644 oldcode/test/driver/test01.c
delete mode 100755 oldcode/test/driver/test01.zsh
delete mode 100644 oldcode/test/driver/test02.c
delete mode 100755 oldcode/test/driver/test02.zsh
delete mode 100644 oldcode/test/driver/test03.c
delete mode 100644 oldcode/test/driver/test_driver_fifo.c
delete mode 100644 oldcode/test/driver/test_helpers.c
delete mode 100644 oldcode/test/driver/test_helpers.h
delete mode 100644 oldcode/test/gack/module.mk.in
delete mode 100644 oldcode/test/gack/test01.gs
delete mode 100644 oldcode/test/gack/test02.gs
delete mode 100644 oldcode/test/gobs/About.txt
delete mode 100644 oldcode/test/gobs/module.mk.in
delete mode 100644 oldcode/test/gobs/test01.gs
delete mode 100644 oldcode/test/gobs/test02.gs
delete mode 100644 oldcode/test/gobs/test03.gs
delete mode 100644 oldcode/test/gossip/module.mk.in
delete mode 100644 oldcode/test/gossip/test01.c
delete mode 100644 oldcode/test/gossip/test02.c
delete mode 100644 oldcode/test/gossip/test03.c
delete mode 100644 oldcode/test/gum/About.txt
delete mode 100644 oldcode/test/gum/module.mk.in
delete mode 100644 oldcode/test/gum/test01.gs
delete mode 100644 oldcode/test/gum/test02.gs
delete mode 100644 oldcode/test/gum/test03.gs
delete mode 100644 oldcode/test/gum/test04.gs
delete mode 100644 oldcode/test/mpi_tools/module.mk.in
delete mode 100644 oldcode/test/mpi_tools/test01.c
delete mode 100644 oldcode/test/mpirpc-1/Makefile
delete mode 100644 oldcode/test/mpirpc-1/accept1.c
delete mode 100644 oldcode/test/mpirpc-1/connect1.c
delete mode 100644 oldcode/test/mpirpc-1/ilog2.c
delete mode 100644 oldcode/test/mpirpc-1/module.mk.in
delete mode 100644 oldcode/test/mpirpc-1/test01.c
delete mode 100755 oldcode/test/mpirpc-1/test01.zsh
delete mode 100644 oldcode/test/mpirpc-1/test02.c
delete mode 100644 oldcode/test/mpirpc-1/test1.zsh
delete mode 100644 oldcode/test/mpirpc-2/dmalloc_helpers.c
delete mode 100644 oldcode/test/mpirpc-2/module.mk.in
delete mode 100644 oldcode/test/mpirpc-2/test01.c
delete mode 100644 oldcode/test/mpirpc-2/test02.c
delete mode 100644 oldcode/test/mpirpc-2/test03.c
delete mode 100644 oldcode/test/mpirpc-2/test04.c
delete mode 100644 oldcode/test/mpirpc-2/test_helpers.h
delete mode 100644 oldcode/test/paper1/About.txt
delete mode 100644 oldcode/test/paper1/counts.zsh
delete mode 100644 oldcode/test/paper1/defaults01.grace
delete mode 100644 oldcode/test/paper1/defaults02.grace
delete mode 100644 oldcode/test/paper1/defaults03.grace
delete mode 100644 oldcode/test/paper1/defaults04.grace
delete mode 100644 oldcode/test/paper1/module.mk.in
delete mode 100644 oldcode/test/paper1/test01.c
delete mode 100755 oldcode/test/paper1/test01.zsh
delete mode 100644 oldcode/test/paper1/test02.c
delete mode 100755 oldcode/test/paper1/test02.zsh
delete mode 100644 oldcode/test/paper1/test03.c
delete mode 100755 oldcode/test/paper1/test03.zsh
delete mode 100644 oldcode/test/paper1/test04.c
delete mode 100755 oldcode/test/paper1/test04.zsh
delete mode 100644 oldcode/test/paper1/test_helpers.c
delete mode 100644 oldcode/test/paper1/test_helpers.h
delete mode 100644 oldcode/test/skullfs/About.txt
delete mode 100644 oldcode/test/skullfs/module.mk.in
delete mode 100644 oldcode/test/skullfs/test01.gs
delete mode 100644 oldcode/test/skullfs/test02.gs
delete mode 100644 oldcode/test/skullfs/test03.gs
delete mode 100644 oldcode/test/skullfs/test04.gs
delete mode 100644 oldcode/test/skullfs/test05.gs
delete mode 100644 oldcode/test/skullfs/test06.gs
delete mode 100644 oldcode/test/skullfs/test07.gs
delete mode 100755 oldcode/tools/ascii_map.io
delete mode 100755 oldcode/tools/attach_control.zsh
delete mode 100755 oldcode/tools/attach_driver.zsh
delete mode 100755 oldcode/tools/check_frees.awk
delete mode 100644 oldcode/tools/clean_mpelogs.sed
delete mode 100644 oldcode/tools/clean_mpelogs.zsh
delete mode 100644 oldcode/tools/cmds.txt
delete mode 100644 oldcode/tools/disksim.patch
delete mode 100755 oldcode/tools/draw_dht.zsh
delete mode 100755 oldcode/tools/grab_scx_output.zsh
delete mode 100644 oldcode/tools/helpers.zsh
delete mode 100755 oldcode/tools/kda_test.zsh
delete mode 100644 oldcode/tools/no_negs.m
delete mode 100644 oldcode/tools/nodes_kda_1.zsh
delete mode 100644 oldcode/tools/plot_runs.m
delete mode 100755 oldcode/tools/plot_runs.sh
delete mode 100755 oldcode/tools/process.zsh
delete mode 100755 oldcode/tools/reconfig.zsh
delete mode 100755 oldcode/tools/startover.zsh
delete mode 100755 oldcode/tools/startup_nodes.zsh
delete mode 100755 oldcode/tools/startup_sweep.zsh
delete mode 100755 oldcode/tools/to_dot.awk
delete mode 100644 sim/gobs/.classpath
delete mode 100644 sim/gobs/.project
delete mode 100644 sim/gobs/.settings/org.eclipse.jdt.core.prefs
delete mode 100644 sim/gobs/.settings/org.eclipse.jdt.ui.prefs
delete mode 100644 sim/gobs/About.txt
delete mode 100644 sim/gobs/build.xml
delete mode 100644 sim/gobs/examples/gobs.cfg
delete mode 100644 sim/gobs/examples/params.cfg
delete mode 100644 sim/gobs/manifest.mf
delete mode 100644 sim/gobs/prereqs/colt.jar
delete mode 100644 sim/gobs/prereqs/commons-io-1.4.jar
delete mode 100644 sim/gobs/prereqs/jcommon-1.0.16.jar
delete mode 100644 sim/gobs/prereqs/jfreechart-1.0.13.jar
delete mode 100644 sim/gobs/prereqs/junit.jar
delete mode 100644 sim/gobs/prereqs/xmlgraphics-commons-1.4svn.jar
delete mode 100755 sim/gobs/scripts/eol.all.zsh
delete mode 100755 sim/gobs/scripts/eol.zsh
delete mode 100755 sim/gobs/scripts/sim.zsh
delete mode 100755 sim/gobs/scripts/sweep.zsh
delete mode 100755 sim/gobs/src/gobs/plot/AbstractPlot.java
delete mode 100644 sim/gobs/src/gobs/plot/AsciiPlot.java
delete mode 100644 sim/gobs/src/gobs/plot/LogPlot.java
delete mode 100644 sim/gobs/src/gobs/plot/MultiLogXPlot.java
delete mode 100644 sim/gobs/src/gobs/plot/MultiplePlot.java
delete mode 100644 sim/gobs/src/gobs/plot/Plot.java
delete mode 100644 sim/gobs/src/gobs/plot/SimplePlot.java
delete mode 100644 sim/gobs/src/gobs/sim/Addressable.java
delete mode 100644 sim/gobs/src/gobs/sim/Cause.java
delete mode 100644 sim/gobs/src/gobs/sim/Copy.java
delete mode 100644 sim/gobs/src/gobs/sim/Event.java
delete mode 100644 sim/gobs/src/gobs/sim/Fault.java
delete mode 100644 sim/gobs/src/gobs/sim/File.java
delete mode 100644 sim/gobs/src/gobs/sim/FileFactory.java
delete mode 100644 sim/gobs/src/gobs/sim/FileSizeComparator.java
delete mode 100644 sim/gobs/src/gobs/sim/Gob.java
delete mode 100644 sim/gobs/src/gobs/sim/KClosest.java
delete mode 100644 sim/gobs/src/gobs/sim/Kademlia.java
delete mode 100644 sim/gobs/src/gobs/sim/LayoutScheme.java
delete mode 100644 sim/gobs/src/gobs/sim/Metric.java
delete mode 100644 sim/gobs/src/gobs/sim/Nearest.java
delete mode 100644 sim/gobs/src/gobs/sim/Node.java
delete mode 100644 sim/gobs/src/gobs/sim/NodeFactory.java
delete mode 100755 sim/gobs/src/gobs/sim/OSD.java
delete mode 100644 sim/gobs/src/gobs/sim/Object.java
delete mode 100644 sim/gobs/src/gobs/sim/ObjectStrip.java
delete mode 100644 sim/gobs/src/gobs/sim/PDSIFiles.java
delete mode 100644 sim/gobs/src/gobs/sim/ParallelRUSH.java
delete mode 100644 sim/gobs/src/gobs/sim/Placement.java
delete mode 100644 sim/gobs/src/gobs/sim/PlainFiles.java
delete mode 100644 sim/gobs/src/gobs/sim/PrimaryObject.java
delete mode 100644 sim/gobs/src/gobs/sim/PrimaryStrip.java
delete mode 100644 sim/gobs/src/gobs/sim/Progress.java
delete mode 100755 sim/gobs/src/gobs/sim/RAID.java
delete mode 100644 sim/gobs/src/gobs/sim/RUSHp.java
delete mode 100644 sim/gobs/src/gobs/sim/RandomFiles.java
delete mode 100644 sim/gobs/src/gobs/sim/RandomNodes.java
delete mode 100644 sim/gobs/src/gobs/sim/Rebuild.java
delete mode 100644 sim/gobs/src/gobs/sim/Repair.java
delete mode 100644 sim/gobs/src/gobs/sim/ReplicaSource.java
delete mode 100644 sim/gobs/src/gobs/sim/Replicated.java
delete mode 100644 sim/gobs/src/gobs/sim/SecondaryObject.java
delete mode 100644 sim/gobs/src/gobs/sim/SecondaryStrip.java
delete mode 100644 sim/gobs/src/gobs/sim/SimpleNodes.java
delete mode 100644 sim/gobs/src/gobs/sim/Simulator.java
delete mode 100644 sim/gobs/src/gobs/sim/SingleObject.java
delete mode 100644 sim/gobs/src/gobs/sim/Sites.java
delete mode 100644 sim/gobs/src/gobs/sim/Statistics.java
delete mode 100644 sim/gobs/src/gobs/sim/Termination.java
delete mode 100644 sim/gobs/src/gobs/sim/TraceFiles.java
delete mode 100644 sim/gobs/src/gobs/sim/VertexGroups.java
delete mode 100644 sim/gobs/src/gobs/sweep/AbstractSweep.java
delete mode 100644 sim/gobs/src/gobs/sweep/ArraySweep.java
delete mode 100755 sim/gobs/src/gobs/sweep/Helpers.java
delete mode 100644 sim/gobs/src/gobs/sweep/ParallelSweep.java
delete mode 100644 sim/gobs/src/gobs/sweep/Sweep.java
delete mode 100644 sim/gobs/src/gobs/sweep/x/Affected01.java
delete mode 100644 sim/gobs/src/gobs/sweep/x/Balance01.java
delete mode 100644 sim/gobs/src/gobs/sweep/x/Balance02.java
delete mode 100644 sim/gobs/src/gobs/sweep/x/DataLoss01.java
delete mode 100755 sim/gobs/src/gobs/sweep/x/DataLoss02.java
delete mode 100644 sim/gobs/src/gobs/sweep/x/DataLoss03.java
delete mode 100644 sim/gobs/src/gobs/sweep/x/DataLoss04.java
delete mode 100644 sim/gobs/src/gobs/sweep/x/Decluster01.java
delete mode 100644 sim/gobs/src/gobs/sweep/x/Decluster01P.java
delete mode 100644 sim/gobs/src/gobs/sweep/x/Decluster02.java
delete mode 100644 sim/gobs/src/gobs/sweep/x/Decluster03.java
delete mode 100644 sim/gobs/src/gobs/sweep/x/Decluster04.java
delete mode 100644 sim/gobs/src/gobs/sweep/x/Parallelism01.java
delete mode 100644 sim/gobs/src/gobs/sweep/x/Parallelism02.java
delete mode 100755 sim/gobs/src/gobs/sweep/x/RAID01.java
delete mode 100644 sim/gobs/src/gobs/sweep/x/Rebuild01.java
delete mode 100644 sim/gobs/src/gobs/sweep/x/Rebuild02.java
delete mode 100644 sim/gobs/src/gobs/test/TestELHS.java
delete mode 100644 sim/gobs/src/gobs/test/TestExponential.java
delete mode 100644 sim/gobs/src/gobs/test/TestFileFactory.java
delete mode 100644 sim/gobs/src/gobs/util/Bits.java
delete mode 100644 sim/gobs/src/gobs/util/BoundedSortedValues.java
delete mode 100644 sim/gobs/src/gobs/util/EnhancedLinkedHashSet.java
delete mode 100755 sim/gobs/src/gobs/util/Entry.java
delete mode 100644 sim/gobs/src/gobs/util/LineReader.java
delete mode 100644 sim/gobs/src/gobs/util/MapSorter.java
delete mode 100644 sim/gobs/src/gobs/util/Stats.java
delete mode 100755 sim/gobs/src/gobs/util/Time.java
delete mode 100644 sim/gobs/src/gobs/util/Tools.java
delete mode 100644 sim/gobs/sweeps/About.txt
delete mode 100644 sim/gobs/sweeps/Decluster01.cfg
delete mode 100644 sim/gobs/sweeps/bl01-small.cfg
delete mode 100755 sim/gobs/sweeps/bl01-small.zsh
delete mode 100644 sim/gobs/sweeps/bl01.cfg
delete mode 100644 sim/gobs/sweeps/bl01output.cfg
delete mode 100644 sim/gobs/sweeps/build.zsh
delete mode 100644 sim/gobs/sweeps/classpath.zsh
delete mode 100644 sim/gobs/sweeps/dc02kpv01.cfg
delete mode 100644 sim/gobs/sweeps/dc02kpv02.cfg
delete mode 100644 sim/gobs/sweeps/dc02kpv03.cfg
delete mode 100644 sim/gobs/sweeps/dc02kpv04.cfg
delete mode 100644 sim/gobs/sweeps/dc02kpv05.cfg
delete mode 100644 sim/gobs/sweeps/dc02kpv06.cfg
delete mode 100644 sim/gobs/sweeps/dc03kpv01.cfg
delete mode 100644 sim/gobs/sweeps/dc03kpv02.cfg
delete mode 100644 sim/gobs/sweeps/dc03kpv03.cfg
delete mode 100644 sim/gobs/sweeps/dc03kpv04.cfg
delete mode 100644 sim/gobs/sweeps/dc03kpv05.cfg
delete mode 100644 sim/gobs/sweeps/dc03kpv06.cfg
delete mode 100644 sim/gobs/sweeps/dc04kpv01.cfg
delete mode 100644 sim/gobs/sweeps/dc04kpv02.cfg
delete mode 100644 sim/gobs/sweeps/dc04kpv03.cfg
delete mode 100644 sim/gobs/sweeps/dc04kpv04.cfg
delete mode 100644 sim/gobs/sweeps/dc04kpv05.cfg
delete mode 100644 sim/gobs/sweeps/dc04kpv06.cfg
delete mode 100644 sim/gobs/sweeps/dc_output.cfg
delete mode 100644 sim/gobs/sweeps/debug.cfg
delete mode 100755 sim/gobs/sweeps/decluster02.zsh
delete mode 100755 sim/gobs/sweeps/decluster03.zsh
delete mode 100755 sim/gobs/sweeps/decluster04.zsh
delete mode 100644 sim/gobs/sweeps/disks-full-zaps-only.cfg
delete mode 100644 sim/gobs/sweeps/disks-full.cfg
delete mode 100644 sim/gobs/sweeps/disks-long.cfg
delete mode 100644 sim/gobs/sweeps/disks-medium-zaps-only.cfg
delete mode 100644 sim/gobs/sweeps/disks-medium.cfg
delete mode 100644 sim/gobs/sweeps/disks-small.cfg
delete mode 100644 sim/gobs/sweeps/dl01-full.cfg
delete mode 100755 sim/gobs/sweeps/dl01-full.zsh
delete mode 100644 sim/gobs/sweeps/dl01-medium.cfg
delete mode 100755 sim/gobs/sweeps/dl01-medium.zsh
delete mode 100644 sim/gobs/sweeps/dl01-small.cfg
delete mode 100755 sim/gobs/sweeps/dl01-small.zsh
delete mode 100644 sim/gobs/sweeps/dl01.cfg
delete mode 100755 sim/gobs/sweeps/dl01.zsh
delete mode 100644 sim/gobs/sweeps/dl02-medium.cfg
delete mode 100755 sim/gobs/sweeps/dl02-medium.zsh
delete mode 100644 sim/gobs/sweeps/dl02-small.cfg
delete mode 100755 sim/gobs/sweeps/dl02-small.zsh
delete mode 100644 sim/gobs/sweeps/dl03-full.cfg
delete mode 100755 sim/gobs/sweeps/dl03-full.zsh
delete mode 100644 sim/gobs/sweeps/dl04-full.cfg
delete mode 100755 sim/gobs/sweeps/dl04-full.zsh
delete mode 100644 sim/gobs/sweeps/dl_output.cfg
delete mode 100644 sim/gobs/sweeps/faults-range01.cfg
delete mode 100644 sim/gobs/sweeps/faults-range02.cfg
delete mode 100644 sim/gobs/sweeps/faults01.cfg
delete mode 100644 sim/gobs/sweeps/faults_10.cfg
delete mode 100644 sim/gobs/sweeps/faults_medium.cfg
delete mode 100644 sim/gobs/sweeps/faults_medium_range_dl01.cfg
delete mode 100644 sim/gobs/sweeps/faults_real.cfg
delete mode 100644 sim/gobs/sweeps/faults_real_range_dl01.cfg
delete mode 100644 sim/gobs/sweeps/faults_real_range_dl03.cfg
delete mode 100644 sim/gobs/sweeps/faults_real_zaps_only.cfg
delete mode 100644 sim/gobs/sweeps/faults_small.cfg
delete mode 100644 sim/gobs/sweeps/faults_small_zaps_only.cfg
delete mode 100644 sim/gobs/sweeps/fs_pdsi_1EB.cfg
delete mode 100644 sim/gobs/sweeps/fs_pdsi_1EB_chunky.cfg
delete mode 100644 sim/gobs/sweeps/fs_pdsi_1EB_vchunky.cfg
delete mode 100644 sim/gobs/sweeps/fs_pdsi_medium.cfg
delete mode 100644 sim/gobs/sweeps/fs_pdsi_mini.cfg
delete mode 100644 sim/gobs/sweeps/fs_pdsi_small.cfg
delete mode 100644 sim/gobs/sweeps/fs_plain_mini.cfg
delete mode 100644 sim/gobs/sweeps/helpers.zsh
delete mode 100644 sim/gobs/sweeps/kpv01.cfg
delete mode 100644 sim/gobs/sweeps/kpv02.cfg
delete mode 100644 sim/gobs/sweeps/kpv03.cfg
delete mode 100644 sim/gobs/sweeps/kpv04.cfg
delete mode 100644 sim/gobs/sweeps/kpv05.cfg
delete mode 100644 sim/gobs/sweeps/kpv06.cfg
delete mode 100644 sim/gobs/sweeps/kpv_lit_big.cfg
delete mode 100644 sim/gobs/sweeps/kpv_lit_small.cfg
delete mode 100644 sim/gobs/sweeps/kpv_output.cfg
delete mode 100644 sim/gobs/sweeps/kpv_scenario.cfg
delete mode 100644 sim/gobs/sweeps/kpv_small.cfg
delete mode 100644 sim/gobs/sweeps/nodes.cfg
delete mode 100644 sim/gobs/sweeps/output.cfg
delete mode 100755 sim/gobs/sweeps/parallelism01.zsh
delete mode 100644 sim/gobs/sweeps/pll01-small.cfg
delete mode 100644 sim/gobs/sweeps/pll01-small.zsh
delete mode 100644 sim/gobs/sweeps/pll01.cfg
delete mode 100755 sim/gobs/sweeps/pll01.zsh
delete mode 100644 sim/gobs/sweeps/pll01case01.cfg
delete mode 100644 sim/gobs/sweeps/pll01case02.cfg
delete mode 100644 sim/gobs/sweeps/pll02.cfg
delete mode 100755 sim/gobs/sweeps/pll02.zsh
delete mode 100644 sim/gobs/sweeps/pll02case01.cfg
delete mode 100644 sim/gobs/sweeps/pll02case02.cfg
delete mode 100644 sim/gobs/sweeps/pll_output.cfg
delete mode 100644 sim/gobs/sweeps/quick04.cfg
delete mode 100644 sim/gobs/sweeps/raid01.cfg
delete mode 100755 sim/gobs/sweeps/raid01.zsh
delete mode 100644 sim/gobs/sweeps/rb01-full.cfg
delete mode 100755 sim/gobs/sweeps/rb01-full.zsh
delete mode 100644 sim/gobs/sweeps/rb01-long.cfg
delete mode 100755 sim/gobs/sweeps/rb01-long.zsh
delete mode 100644 sim/gobs/sweeps/rb01-medium.cfg
delete mode 100755 sim/gobs/sweeps/rb01-medium.zsh
delete mode 100644 sim/gobs/sweeps/rb01-range.cfg
delete mode 100644 sim/gobs/sweeps/rb01-small.cfg
delete mode 100755 sim/gobs/sweeps/rb01-small.zsh
delete mode 100644 sim/gobs/sweeps/rb02-full.cfg
delete mode 100755 sim/gobs/sweeps/rb02-full.zsh
delete mode 100644 sim/gobs/sweeps/rb02-medium.cfg
delete mode 100755 sim/gobs/sweeps/rb02-medium.zsh
delete mode 100644 sim/gobs/sweeps/rb02-small.cfg
delete mode 100755 sim/gobs/sweeps/rb02-small.zsh
delete mode 100644 sim/gobs/sweeps/rb02.cfg
delete mode 100755 sim/gobs/sweeps/rb02.zsh
delete mode 100644 sim/gobs/sweeps/rb_full_output.cfg
delete mode 100644 sim/gobs/sweeps/rb_output.cfg
delete mode 100644 sim/gobs/sweeps/sweep.zsh
delete mode 100644 sim/gobs/sweeps/system_10-20.cfg
delete mode 100644 sim/gobs/sweeps/system_10.cfg
delete mode 100644 sim/gobs/sweeps/system_100,200.cfg
delete mode 100644 sim/gobs/sweeps/system_100,600.cfg
delete mode 100644 sim/gobs/sweeps/system_100-1000.cfg
delete mode 100644 sim/gobs/sweeps/system_100-300-600.cfg
delete mode 100644 sim/gobs/sweeps/system_100-600.cfg
delete mode 100644 sim/gobs/sweeps/system_100-700.cfg
delete mode 100644 sim/gobs/sweeps/system_1000.cfg
delete mode 100644 sim/gobs/sweeps/system_100_1000.cfg
delete mode 100644 sim/gobs/sweeps/system_120_640.cfg
delete mode 100644 sim/gobs/sweeps/system_20-1000.cfg
delete mode 100644 sim/gobs/sweeps/system_20-40.cfg
delete mode 100644 sim/gobs/sweeps/system_20-600.cfg
delete mode 100644 sim/gobs/sweeps/system_240-640.cfg
delete mode 100644 sim/gobs/sweeps/system_30-100.cfg
delete mode 100644 sim/gobs/sweeps/system_600.cfg
delete mode 100644 sim/gobs/sweeps/system_pdsi_100-1000.cfg
delete mode 100644 sim/gobs/sweeps/system_pdsi_20-40.cfg
delete mode 100644 sim/gobs/sweeps/user00.cfg
delete mode 100644 sim/gobs/sweeps/user01.cfg
delete mode 100644 sim/gobs/sweeps/user02.cfg
delete mode 100644 sim/gobs/traces/onebigfile.trace
delete mode 100644 sim/gobs/traces/test01.trace
delete mode 100644 sim/gobs/wiki/PDSI_distribution.eps
delete mode 100644 sim/gobs/wiki/PlacementHierarchy.odg
delete mode 100644 sim/gobs/wiki/PlacementHierarchy.png
delete mode 100644 sim/gobs/wiki/dc02kpv01.cfg
delete mode 100644 sim/gobs/wiki/dc02kpv01.eps
delete mode 100644 sim/gobs/wiki/dc02kpv02.cfg
delete mode 100644 sim/gobs/wiki/dc02kpv02.eps
delete mode 100644 sim/gobs/wiki/dc02kpv03.cfg
delete mode 100644 sim/gobs/wiki/dc02kpv03.eps
delete mode 100644 sim/gobs/wiki/dc02kpv04.cfg
delete mode 100644 sim/gobs/wiki/dc02kpv04.eps
delete mode 100644 sim/gobs/wiki/dc02kpv05.cfg
delete mode 100644 sim/gobs/wiki/dc02kpv05.eps
delete mode 100644 sim/gobs/wiki/dc02kpv06.cfg
delete mode 100644 sim/gobs/wiki/dc02kpv06.eps
delete mode 100644 sim/gobs/wiki/dc03kpv01.cfg
delete mode 100644 sim/gobs/wiki/dc03kpv01.eps
delete mode 100644 sim/gobs/wiki/dc03kpv02.cfg
delete mode 100644 sim/gobs/wiki/dc03kpv02.eps
delete mode 100644 sim/gobs/wiki/dc03kpv03.cfg
delete mode 100644 sim/gobs/wiki/dc03kpv03.eps
delete mode 100644 sim/gobs/wiki/dc03kpv04.cfg
delete mode 100644 sim/gobs/wiki/dc03kpv04.eps
delete mode 100644 sim/gobs/wiki/dc03kpv05.cfg
delete mode 100644 sim/gobs/wiki/dc03kpv05.eps
delete mode 100644 sim/gobs/wiki/dc03kpv06.cfg
delete mode 100644 sim/gobs/wiki/dc03kpv06.eps
delete mode 100644 sim/gobs/wiki/dc04kpv01.cfg
delete mode 100644 sim/gobs/wiki/dc04kpv01.eps
delete mode 100644 sim/gobs/wiki/dc04kpv02.cfg
delete mode 100644 sim/gobs/wiki/dc04kpv02.eps
delete mode 100644 sim/gobs/wiki/dc04kpv03.cfg
delete mode 100644 sim/gobs/wiki/dc04kpv03.eps
delete mode 100644 sim/gobs/wiki/dc04kpv04.cfg
delete mode 100644 sim/gobs/wiki/dc04kpv04.eps
delete mode 100644 sim/gobs/wiki/dc04kpv05.cfg
delete mode 100644 sim/gobs/wiki/dc04kpv05.eps
delete mode 100644 sim/gobs/wiki/dc04kpv06.cfg
delete mode 100644 sim/gobs/wiki/dc04kpv06.eps
delete mode 100755 sim/gobs/wiki/decluster02.zsh
delete mode 100755 sim/gobs/wiki/decluster03.zsh
delete mode 100755 sim/gobs/wiki/decluster04.zsh
delete mode 100644 sim/gobs/wiki/dl01-small.cfg
delete mode 100644 sim/gobs/wiki/dl01-small.eps
delete mode 100644 sim/gobs/wiki/kpv01.cfg
delete mode 100644 sim/gobs/wiki/kpv02.cfg
delete mode 100644 sim/gobs/wiki/kpv03.cfg
delete mode 100644 sim/gobs/wiki/kpv04.cfg
delete mode 100644 sim/gobs/wiki/kpv05.cfg
delete mode 100644 sim/gobs/wiki/kpv06.cfg
delete mode 100644 sim/gobs/wiki/kpv_lit_big.cfg
delete mode 100644 sim/gobs/wiki/kpv_lit_small.cfg
delete mode 100644 sim/gobs/wiki/kpv_output.cfg
delete mode 100644 sim/gobs/wiki/kpv_scenario.cfg
delete mode 100644 sim/gobs/wiki/kpv_small.cfg
delete mode 100644 sim/gobs/wiki/rb01-small.cfg
delete mode 100755 sim/gobs/wiki/rb01-small.eps
delete mode 100755 sim/gobs/wiki/rb01-small.zsh
delete mode 100644 sim/gobs/wiki/rb02-small.cfg
delete mode 100755 sim/gobs/wiki/rb02-small.eps
delete mode 100644 sim/gobs/wiki/rb02.cfg
delete mode 100755 sim/gobs/wiki/rb02.zsh
delete mode 100644 sim/gobs/wiki/rb_output.cfg
delete mode 100644 sim/gobs/wiki/system_size_100_1000.cfg
delete mode 100644 sim/gobs/wiki/system_size_20-1000.cfg
Diff of changes:
diff --git a/oldcode/COPYING b/oldcode/COPYING
deleted file mode 100644
index cfe59bc..0000000
--- a/oldcode/COPYING
+++ /dev/null
@@ -1,502 +0,0 @@
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL. It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
- This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it. You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
- When we speak of free software, we are referring to freedom of use,
-not price. Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
- To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights. These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
- For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you. You must make sure that they, too, receive or can get the source
-code. If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it. And you must show them these terms so they know their rights.
-
- We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
- To protect each distributor, we want to make it very clear that
-there is no warranty for the free library. Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
- Finally, software patents pose a constant threat to the existence of
-any free program. We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder. Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
- Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License. This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License. We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
- When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library. The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom. The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
- We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License. It also provides other free software developers Less
-of an advantage over competing non-free programs. These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries. However, the Lesser license provides advantages in certain
-special circumstances.
-
- For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard. To achieve this, non-free programs must be
-allowed to use the library. A more frequent case is that a free
-library does the same job as widely used non-free libraries. In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
- In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software. For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
- Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
- The precise terms and conditions for copying, distribution and
-modification follow. Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library". The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
- GNU LESSER GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
- A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
- The "Library", below, refers to any such software library or work
-which has been distributed under these terms. A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language. (Hereinafter, translation is
-included without limitation in the term "modification".)
-
- "Source code" for a work means the preferred form of the work for
-making modifications to it. For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
- Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it). Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
- 1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
- You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
- 2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) The modified work must itself be a software library.
-
- b) You must cause the files modified to carry prominent notices
- stating that you changed the files and the date of any change.
-
- c) You must cause the whole of the work to be licensed at no
- charge to all third parties under the terms of this License.
-
- d) If a facility in the modified Library refers to a function or a
- table of data to be supplied by an application program that uses
- the facility, other than as an argument passed when the facility
- is invoked, then you must make a good faith effort to ensure that,
- in the event an application does not supply such function or
- table, the facility still operates, and performs whatever part of
- its purpose remains meaningful.
-
- (For example, a function in a library to compute square roots has
- a purpose that is entirely well-defined independent of the
- application. Therefore, Subsection 2d requires that any
- application-supplied function or table used by this function must
- be optional: if the application does not supply it, the square
- root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library. To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License. (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.) Do not make any other change in
-these notices.
-
- Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
- This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
- 4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
- If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library". Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
- However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library". The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
- When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library. The
-threshold for this to be true is not precisely defined by law.
-
- If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work. (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
- Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
- 6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
- You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License. You must supply a copy of this License. If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License. Also, you must do one
-of these things:
-
- a) Accompany the work with the complete corresponding
- machine-readable source code for the Library including whatever
- changes were used in the work (which must be distributed under
- Sections 1 and 2 above); and, if the work is an executable linked
- with the Library, with the complete machine-readable "work that
- uses the Library", as object code and/or source code, so that the
- user can modify the Library and then relink to produce a modified
- executable containing the modified Library. (It is understood
- that the user who changes the contents of definitions files in the
- Library will not necessarily be able to recompile the application
- to use the modified definitions.)
-
- b) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (1) uses at run time a
- copy of the library already present on the user's computer system,
- rather than copying library functions into the executable, and (2)
- will operate properly with a modified version of the library, if
- the user installs one, as long as the modified version is
- interface-compatible with the version that the work was made with.
-
- c) Accompany the work with a written offer, valid for at
- least three years, to give the same user the materials
- specified in Subsection 6a, above, for a charge no more
- than the cost of performing this distribution.
-
- d) If distribution of the work is made by offering access to copy
- from a designated place, offer equivalent access to copy the above
- specified materials from the same place.
-
- e) Verify that the user has already received a copy of these
- materials or that you have already sent this user a copy.
-
- For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it. However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
- It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system. Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
- 7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities. This must be distributed under the terms of the
- Sections above.
-
- b) Give prominent notice with the combined library of the fact
- that part of it is a work based on the Library, and explaining
- where to find the accompanying uncombined form of the same work.
-
- 8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License. Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License. However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
- 9. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Library or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
- 10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
- 11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all. For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded. In such case, this License incorporates the limitation as if
-written in the body of this License.
-
- 13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
- 14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission. For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this. Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
- NO WARRANTY
-
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Libraries
-
- If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change. You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
- To apply these terms, attach the following notices to the library. It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
- <one line to give the library's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
- <signature of Ty Coon>, 1 April 1990
- Ty Coon, President of Vice
-
-That's all there is to it!
diff --git a/oldcode/Makefile.in b/oldcode/Makefile.in
deleted file mode 100644
index 96dbdd6..0000000
--- a/oldcode/Makefile.in
+++ /dev/null
@@ -1,734 +0,0 @@
-
-# LIST OF TARGETS WHICH MAY BE USED WHEN RUNNING MAKE:
-#
-# all default rule; builds libs, server, and test programs
-# clean cleans up make-created files
-# cleaner cleans up configure-created files
-# distclean _really_ cleans up; returns to pristine tree
-# cscope generates information for cscope utility
-# etags generates tags file for use by editors
-
-# INPUT CONTROL VARIABLES
-# D : if 1, turn on debugging output in CMPI programs
-# M : if 1, turn on malloc debugging output (mpi_tools)
-# P : if 1, turn on GSL pretty output
-# T : if 1, turn on MPE printf debugging
-# V : if 1, turn on normal make output
-
-# CONFIGURE OPTIONS
-# 1) DMALLOC
-# 2) DISKSIM
-
-# REQUIREMENTS
-# The current test functionality requires MPICH from SVN
-
-# GENERAL DOCUMENTATION
-#
-# This is a single makefile that runs the entire build process.
-# There are no makefiles in subdirectories.
-# For a general introduction to this approach, see:
-# http://www.tip.net.au/~millerp/rmch/recu-make-cons-harm.html
-#
-# Each subdirectory contains a module.mk file that gets included
-# when make is executed. These module.mk files tell make about the
-# files in each subdirectory that must be built, including any
-# special case rules. Make uses this information to generate a
-# single dependency graph and orchestrate the build process from this
-# top level directory.
-
-# Generic makefile setup
-
-# define a few generic variables that we need to use
-DESTDIR =
-srcdir = @srcdir@
-prefix = $(DESTDIR)@prefix@
-datarootdir = $(DESTDIR)@datarootdir@
-mandir = $(DESTDIR)@mandir@
-exec_prefix = $(DESTDIR)@exec_prefix@
-
-VPATH = $(srcdir)
-SHELL = @SHELL@
-INSTALL = @INSTALL@
-GNUC = @GNUC@
-INTELC = @INTELC@
-
-# OpenSSL
-ifneq (@OPENSSL_LOCATION@,)
- OPENSSL_INCLUDE = @OPENSSL_LOCATION@/include
- OPENSSL_LIB = @OPENSSL_LOCATION@/lib
-endif
-
-ifneq (@DMALLOC_LOCATION@,)
- DMALLOC_INCLUDE = @DMALLOC_LOCATION@/include
- DMALLOC_LIB = @DMALLOC_LOCATION@/lib
-endif
-
-# MPI location
-MPI = @USE_MPI@
-MPICC = @USE_MPI@/bin/mpicc
-MPIEXEC = @USE_MPI@/bin/mpiexec -recvtimeout 10
-
-# Job launch selection
-ifeq (@HAVE_SRUN@,no)
- LAUNCH = $(MPIEXEC)
-else
- LAUNCH = srun
-endif
-
-# DISKSIM location
-DISKSIM=@USE_DISKSIM@
-
-# MPIRPC choice
-ifeq (@USE_MPIRPC_1@,1)
- MPIRPC_DIR = src/mpirpc-1
-endif
-ifeq (@USE_MPIRPC_2@,1)
- MPIRPC_DIR = src/mpirpc-2
-endif
-
-# configure default is silent, unless --enable-verbose-build in
-# which case QUIET_COMPILE will _not_ be defined. Further allow
-# silence to be overriden with "make V=1".
-QUIET_COMPILE = @QUIET_COMPILE@
-ifeq ($(D),1)
- DEBUG = 1
-else
- DEBUG = 0
-endif
-ifeq ($(G),1)
- GDB_WAIT="-D GDB_WAIT"
-endif
-ifeq ($(M),1)
- DEBUG_MALLOC = 1
-else
- DEBUG_MALLOC = 0
-endif
-ifeq ($(P),1)
- GSLPRETTY = -p
-endif
-ifeq ($(T),1)
- MPE =-mpe=mpitrace
-endif
-ifeq ($(V),1)
- QUIET_COMPILE = 0
-endif
-
-TEST_OPTIONS :=
-ifeq ($(TEST01),1)
- TEST_OPTIONS += -D ENABLE_TEST01
-endif
-
-ifeq ($(QUIET_COMPILE),1)
- # say a one-line description of the action, do not echo the command
- Q=@echo
- E=@
-else
- # do not say the short Q lines, but do echo the entire command
- Q=@echo >/dev/null
- E=
-endif
-
-# build which client libs
-build_shared = @build_shared@
-build_static = @build_static@
-
-# Eliminate all default suffixes. We want explicit control.
-.SUFFIXES:
-
-# PHONEY targets are targets that do not result in the generation
-# of a file that has the same name as the target. Listing them
-# here keeps make from accidentally doing too much work (see GNU
-# make manual).
-.PHONY: all clean dist distclean docs docsclean cscope tags codecheck cmpi mpirpc null
-
-################################################################
-# Find project subdirectories
-
-# MODULES is a list of subdirectories that we wish to operate on.
-# They are identified by the presence of module.mk files (makefile
-# includes).
-DIR :=
-MODULES := $(shell find . "(" -name gsl -prune -or -name "*.mk" ")" -a -type f )
-
-# List of directories to search for headers.
-INCLUDES := src/include
-
-#################################################################
-# Setup global flags
-
-# These should all be self explanatory; they are standard flags
-# for compiling and linking unless otherwise noted
-CC = @CC@
-LD = @CC@
-BUILD_CC = @BUILD_CC@
-BUILD_LD = @BUILD_CC@
-BUILD_CFLAGS = @BUILD_CFLAGS@
-BUILD_LDFLAGS = @BUILD_LDFLAGS@
-# make sure the srcdir include gets included first
-CFLAGS = # @CFLAGS@ @CPPFLAGS@ # -I $(srcdir)/include
-LDFLAGS = -L@BUILD_ABSOLUTE_TOP@/lib -L$(DISKSIM)/src
-LDFLAGS += @LDFLAGS@
-LDSHARED = $(CC) -shared
-PICFLAGS = -fPIC
-LIBS += @LIBS@
-
-IFLAGS :=
-
-ifneq ($(DISKSIM),0)
- LIBS += -L$(DISKSIM)/src -L$(DISKSIM)/libparam
- LIBS += -L$(DISKSIM)/libddbg -L$(DISKSIM)/diskmodel
- LIBS += -L$(DISKSIM)/memsmodel -ldisksim -lparam -lddbg
- LIBS += -ldiskmodel -lmems_internals -lmemsmodel
-endif
-
-ifneq ($(OPENSSL_LIB),)
- LIBS += -L $(OPENSSL_LIB)
-endif
-ifneq ($(DMALLOC_LIB),)
- LIBS += -L $(DMALLOC_LIB) -l dmalloc
-endif
-
-# Used by src/mpi_tools/mpi_tools.c:isqrt()
-LIBS += -l m
-
-STRICT_CFLAGS = @STRICT_CFLAGS@
-
-ifeq ($(DEBUG),1)
- CFLAGS += @RDYNAMIC@ -Wno-unused-variable -ggdb3
-else
-# CFLAGS += -O
-endif
-# turn on large file support by default
-CFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
-# include current directory (for grayskull-config.h)
-IFLAGS += -I .
-# include gossip directory
-IFLAGS += -I $(srcdir)/src/common/gossip
-# include toplevel source dir
-IFLAGS += -I $(srcdir)
-# add selected include directories
-IFLAGS += $(patsubst %,-I $(srcdir)/%,$(INCLUDES))
-ifneq ($(DISKSIM),0)
- IFLAGS += -I $(DISKSIM) -I $(DISKSIM)/src
-endif
-ifneq ($(OPENSSL_INCLUDE),)
- IFLAGS += -I $(OPENSSL_INCLUDE)
-endif
-ifneq ($(DMALLOC_INCLUDE),)
- IFLAGS += -I $(DMALLOC_INCLUDE)
-endif
-
-CFLAGS += $(IFLAGS)
-
-# optionally define dmalloc symbols
-ifneq (@DMALLOC_LOCATION@,)
- CFLAGS += -D DMALLOC -D DMALLOC_FUNC_CHECK
-endif
-
-# add flags to enable MPI features in gossip
-CFLAGS += -D __GOSSIP_ENABLE_MPI__
-
-# add package version information
-CFLAGS += -D GRAYSKULL_VERSION="\"@GRAYSKULL_VERSION@\""
-# optionally turn on debugging output
-ifeq ($(DEBUG),1)
- CFLAGS += -D ENABLE_DEBUG
-endif
-ifeq ($(DEBUG_MALLOC),1)
- CFLAGS += -D ENABLE_DEBUG_MALLOC
-endif
-
-CFLAGS += $(GDB_WAIT)
-
-# enabled packages
-ifeq (@USE_CMPI_IO@,1)
- CMPI_IO_P = $(CMPI_IO)
-endif
-
-# always want these gcc flags
-GCC_CFLAGS := -pipe
-
-ifneq (,$(STRICT_CFLAGS))
- GCC_CFLAGS += -Wcast-align -Wbad-function-cast
- GCC_CFLAGS += -Wmissing-prototypes -Wmissing-declarations
- GCC_CFLAGS += -Wundef -Wpointer-arith
- GCC_CFLAGS += -Wnested-externs
- GCC_CFLAGS += -Wredundant-decls
-endif
-
-################################################################
-# Setup component specific flags
-
-# you can optionally disable thread safety support in the client
-# though it's not recommended unless *required*.
-#
-# run ./configure --help for information on how to do this cleanly.
-LIBCFLAGS=@LIBCFLAGS@
-LIBS += @THREAD_LIB@
-
-# Add gcc-specific flags if we know it is a gnu compiler.
-ifdef GNUC
-CFLAGS += $(GCC_CFLAGS)
-endif
-ifdef INTELC
-CFLAGS += $(INTEL_CFLAGS)
-endif
-
-# LIBSRC is source code for libpvfs2
-LIBSRC :=
-# SERVERSRC is source code for the pvfs2 server
-SERVERSRC :=
-# Source code for MPIRPC
-MPIRPC_SRC :=
-# Source code for CMPI
-CMPI_SRC :=
-# Source code for Kademlia
-KDA_SRC :=
-# Source code for Dense implementation
-DENSE_SRC :=
-# Source code for ADTs
-ADT_SRC :=
-# Source code for DiskSim interface
-DISKSIM_SRC :=
-# Source code for GUM
-GUM_GSSRC :=
-# Source code for GOBS
-GOBS_GSSRC :=
-# Source code for GACK
-GACK_GSSRC :=
-# Source code for SKULLFS
-SKULLFS_GSSRC :=
-# Source code for tests
-TEST_GSSRC :=
-
-GOBS_OBJS :=
-GACK_OBJS :=
-
-ALL_GS = $(GUM_GSSRC) \
- $(GOBS_GSSRC) src/gobs/launch.gs \
- $(GACK_GSSRC) \
- $(SKULLFS_GSSRC) \
- $(TEST_GSSRC)
-ALL_GS_I = $(patsubst %.gs, %.gs.i, $(ALL_GS))
-ALL_GS_S = $(patsubst %.gs, %.gs.s, $(ALL_GS))
-ALL_GS_DUMMY = $(patsubst %.gs, %.gs.dummyobj, $(ALL_GS))
-
-################################################################
-# Default target forward pointer, to avoid other targets in make stubs
-all::
- @echo No default target. Try one of the following:
- @echo -e "\t make cmpi"
- @echo -e "\t make tests"
-
-debug_variables:
- $(Q) " DEBUGGING VARIABLES "
- $(Q) " "
- $(E)echo MPICC: $(MPICC)
- $(E)echo MODULES: $(MODULES)
- $(E)echo DISKSIM: $(DISKSIM)
- $(E)echo CFLAGS: $(CFLAGS)
- $(E)echo IFLAGS: $(IFLAGS)
- $(E)echo LIBS: $(LIBS)
- $(E)echo DEPENDS: $(DEPENDS)
- $(E)echo OPENSSL: $(OPENSSL_LOCATION)
-# $(E)echo USE_MPIRPC_1: @USE_MPIRPC_1@
-# $(E)echo USE_MPIRPC_2: @USE_MPIRPC_2@
-# $(E)echo USE_TABLE_KDA_1: @USE_TABLE_KDA_1@
-# $(E)echo USE_TABLE_KDA_2A: @USE_TABLE_KDA_2A@
-# $(E)echo USE_TABLE_KDA_2B: @USE_TABLE_KDA_2B@
-# $(E)echo USE_TABLE_DENSE_1: @USE_TABLE_DENSE_1@
-# $(E)echo CMPI_SRC: $(CMPI_OBJS)
-# $(E)echo CMPI_OBJS: $(CMPI_OBJS)
- $(E)echo GACK_GSSRC: $(GACK_GSSRC)
- $(E)echo ADT_OBJS: $(ADT_OBJS)
- $(E)echo GUM_OBJS: $(GUM_OBJS)
- $(E)echo GOBS_OBJS: $(GOBS_OBJS)
- $(E)echo GACK_OBJS: $(GACK_OBJS)
- $(E)echo ALL_GS_S: $(ALL_GS_S)
-# $(E)echo TEST_CMPI_SRC: $(TEST_CMPI_SRC)
- $(E)echo TEST_DISKSIM_SRC: $(TEST_DISKSIM_SRC)
-# $(E)echo TEST_MPIRPC_SRC: $(TEST_MPIRPC_SRC)
- $(E)echo TEST_GUM_GSSRC: $(TEST_GUM_GSSRC)
- $(E)echo TEST_GOBS_GSSRC: $(TEST_GOBS_GSSRC)
- $(E)echo TEST_GSSRC: $(TEST_GSSRC)
- $(E)echo TEST_SRC: $(TEST_SRC)
- $(E)echo TEST_OBJS: $(TEST_OBJS)
- $(E)echo TEST_HELPER_SRC: $(TEST_HELPER_SRC)
- $(E)echo TEST_PROGS: $(TEST_PROGS)
- $(E)echo TEST_DEPS: $(TEST_DEPS)
- $(Q) " "
-
-# Shortcuts...
-CMPI := lib/libcmpi.a
-MPIRPC := lib/libmpirpc.a
-CMPI_IO := lib/libcmpi-io.so
-GOBS = lib/libgobs.a
-GACK = lib/libgack.a
-SKULLFS = lib/libskullfs.a
-
-################################################################
-# Makefile includes
-# this is how we pull build information from all of the project
-# subdirectories, make sure to catch top level module.mk as well
-DIR :=
-include module.mk
-include $(MODULES)
-
-TEST_OBJS += $(patsubst %.c, %.o, $(TEST_SRC))
-TEST_OBJS += $(patsubst %.gs, %.o, $(TEST_GSSRC))
-TEST_PROGS += $(patsubst %.c, %.x, $(TEST_SRC))
-TEST_PROGS += $(patsubst %.gs, %.x, $(TEST_GSSRC))
-TEST_OUTPUT += $(patsubst %.c, %.out, $(TEST_SRC))
-TEST_DEPS += $(patsubst %.c, %.d, $(TEST_SRC))
-TEST_HELPER_OBJS += $(patsubst %.c, %.o, $(TEST_HELPER_SRC))
-TEST_DEPS += $(patsubst %.c, %.d, $(TEST_HELPER_SRC))
-
-################################################################
-# Derived file lists
-
-# NOTES: At this point, the subdirectory makefile includes have informed
-# us what the source files are. Now we want to generate some
-# other lists (such as objects, executables, and dependency files)
-# by manipulating the lists of source files
-
-# LIBOBJS is a list of objects to put in the client lib
-LIBOBJS := $(patsubst %.c,%.o, $(filter %.c,$(LIBSRC)))
-
-ADT_OBJS := $(patsubst %.c,%.o, $(filter %.c,$(ADT_SRC)))
-DISKSIM_OBJS := $(patsubst %.c,%.o, $(filter %.c,$(DISKSIM_SRC)))
-MPIRPC_OBJS := $(patsubst %.c,%.o, $(filter %.c,$(MPIRPC_SRC)))
-MPIRPC_OBJS += $(ADT_OBJS)
-KDA_OBJS := $(patsubst %.c,%.o, $(filter %.c,$(KDA_SRC)))
-DENSE_OBJS := $(patsubst %.c,%.o, $(filter %.c,$(DENSE_SRC)))
-TABLE_OBJS := $(KDA_OBJS) $(DENSE_OBJS)
-CMPI_OBJS := $(patsubst %.c,%.o, $(filter %.c,$(CMPI_SRC)))
-CMPI_OBJS += $(TABLE_OBJS) $(MPIRPC_OBJS) $(DISKSIM_OBJS)
-# CMPI_PICS += src/cmpi/cmpi-io.po
-
-CMPI_DEPS := $(patsubst %.o,%.d,$(CMPI_OBJS))
-
-# DEPENDS is a global list of all of our dependency files.
-# NOTE: sort is just a trick to remove duplicates; the order
-# doesn't matter at all.
-# DEPENDS := $(sort $(CMPI_DEPS) $(TEST_DEPS))
-
-####################################################################
-# Rules and dependencies
-
-# default rule builds server, library, and applications
-# all:: # $(SERVER) $(LIBRARIES)
-
-cmpi: $(CMPI)
-
-cmpi-io: $(CMPI_IO)
-
-mpirpc: $(MPIRPC)
-
-gobs: $(GOBS)
-
-gack: $(GACK)
-
-skullfs: $(SKULLFS)
-
-# Just like dir, but strip the slash off the end, to be pretty.
-dirname = $(patsubst %/,%,$(dir $(1)))
-
-# Generate the canonical in-tree location of a file, given a possibly
-# out-of-tree reference.
-canonname = $(patsubst $(srcdir)/%,%,$(call dirname,$(1)))
-
-# Grab any CFLAGS defined by the make stub for a particular file, and
-# for the directory in which the source resides.
-modcflags = $(MODCFLAGS_$(call canonname,$(1))) \
- $(MODCFLAGS_$(patsubst $(srcdir)/%,%,$(1))) # -I$(srcdir)/$(call dirname,$(1))
-modldflags = $(MODLDFLAGS_$(call canonname,$(1))) \
- $(MODLDFLAGS_$(patsubst $(srcdir)/%,%,$(1)))
-
-$(CMPI): $(CMPI_OBJS) $(TABLE_OBJS)
- $(Q) " AR $@"
- $(E)$(INSTALL) -d lib
- $(E)ar rcs $(@) $(CMPI_OBJS) $(TABLE_OBJS)
-
-$(MPIRPC): $(MPIRPC_OBJS)
- $(Q) " AR $@"
- $(E)$(INSTALL) -d lib
- echo $(MODULES)
- $(E)ar crs $(@) $(MPIRPC_OBJS)
-
-# CMPI-IO must be enabled in configure --enable-cmpi-io
-$(CMPI_IO): $(CMPI) src/cmpi/cmpi-io.po
- $(Q) " MPICC [PIC] $@"
- $(E)$(INSTALL) -d lib
- $(E)$(MPICC) -shared $< $(CMPI) $(LIBS) -o $@
-
-$(GOBS): $(GOBS_OBJS) $(GUM_OBJS)
- $(Q) " AR $@"
- $(E)$(INSTALL) -d lib
- $(E)ar rcs $(@) $(^)
-
-$(GACK): $(GACK_OBJS) $(GOBS_OBJS) $(SKULLFS_OBJS) $(GUM_OBJS)
- $(Q) " AR $@"
- $(E)$(INSTALL) -d lib
- $(E)ar rcs $(@) $(^)
-
-$(SKULLFS): $(GACK_OBJS) $(GOBS_OBJS) $(SKULLFS_OBJS) $(GUM_OBJS)
- $(Q) " AR $@"
- $(E)$(INSTALL) -d lib
- $(E)ar rcs $(@) $(^)
-
-# GSL
-GSLFLAGS = $(CFLAGS)
-GSLFLAGS += -Wno-unused-label -Wno-unused-variable -Wno-parentheses
-# GSLFLAGS += $(GSLPRETTY)
-# GSCC = src/gsl/parser/gscc
-GSPARSER = src/gsl/parser/gs-parser
-GSLINCLUDES = -I src/gsl -I src/gsl/resources
-GSLLIBS = -L src/gsl/lib -l gs -l gstest
-
-# default rule for GSL source code
-%.o: %.gs.s
- $(Q) " MPICC $@"
- $(E)$(MPICC) -x c -c -o $(@) $(GSLFLAGS) $(GSLINCLUDES) $(<)
-
-# %.o: %.gs.s
-# $(E)$(call MCC_GS,$<) -I$(srcdir)/include/ -x c -c -o $@ \
-# $(LIBCFLAGS) \
-# $(CFLAGS) $(CWARNS) $(call MODCFLAGS_GS,$<) $<
-
-%.gs.s: %.gs.i $(GSPARSER)
- $(Q) " GS-PARSER $(@)"
- $(E)$(GSPARSER) -o $@ -r $*.gs $(GSLPRETTY) $*.gs.i
-# $(E)rm $*.gs.i
-
-%.gs.i: %.gs %.gs.dummyobj
- $(Q) " CPP $(@)"
- $(E)$(MPICC) $(GSLINCLUDES) $(GSLFLAGS) -x c -E -o $(@) $(<)
-# $(E)rm $*.gs.dummyobj
-
-%.gs.dummyobj: %.gs
- $(Q) " MPICC $(@)"
- $(E)$(MPICC) -D DUMMYOBJ -D__blocking="" \
- -Dpwait="while(0)" -Dpbranch="" -Dpbreak="break"\
- $(GSLINCLUDES) -x c -c -o $(@) $(LIBCFLAGS) \
- -Wall -Wno-implicit -Wno-unused -Werror \
- $(CFLAGS) $(<)
-
-%.gs.flat: %.gs
- $(Q) " CPP $(@)"
- $(E)$(MPICC) -D__blocking="" \
- -Dpwait="while(0)" -Dpbranch="" -Dpbreak="break"\
- $(GSLINCLUDES) -x c -E $(LIBCFLAGS) \
- $(CFLAGS) $(<) > $(@)
-
-
-$(GSPARSER):
- cd src/gsl && ./setup-langc && make && cd ../..
-
-## Tools...
-
-driver: src/cmpi/driver.o $(CMPI)
- $(Q) " MPICC $(@)"
- $(E)$(MPICC) src/cmpi/driver.o $(CMPI) $(LIBS) -o $(@)
-
-ifeq (@USE_COMM_WORLD@,0)
-
-# node executable is only built in the stand-alone node cases
-# (e.g., KDA-2B)
-
-node: src/cmpi/node.o $(CMPI)
- $(Q) " MPICC $(@)"
- $(E)$(MPICC) $(MPE) src/cmpi/node.o $(CMPI) $(LIBS) -o $(@)
-
-endif
-
-unpublish: src/mpirpc-2/unpublish.o $(CMPI)
- $(Q) " MPICC $(@)"
- $(E)$(MPICC) $(<) $(CMPI) $(LIBS) -o $(@)
-
-bin:
- $(Q) " MKDIR $(@)"
- $(E)mkdir -p $(@)
-
-## Development tools...
-
-bin/hex: src/kda-2/hex.o bin
- gcc $(<) -o $(@)
-
-bin/unhex: src/kda-2/unhex.o bin
- gcc $(<) -o $(@)
-
-bin/hexord: src/kda-2/hexord.o bin
- gcc $(<) -o $(@)
-
-## Tests...
-
-test_results: $(CMPI) $(TEST_OUTPUT)
-
-tests: $(CMPI) $(TEST_PROGS)
-
-# Obsolete target: delete soon.
-cmpi-io-test: $(CMPI_IO) src/cmpi/cmpi-io-test.o
- $(Q) " MPICC cmpi-io-test"
- $(E)$(MPICC) src/cmpi/cmpi-io-test.o $(CMPI) $(LIBS) -o cmpi-io-test
-
-# override default rule for building objects
-%.o : %.c
- $(Q) " MPICC $@"
- $(E)$(MPICC) $(LIBCFLAGS) $(CFLAGS) $(TEST_OPTIONS) \
- $(call modcflags,$(<)) $(<) -c -o $(@)
-
-.SECONDARY : %.o %.x
-
-# rule for building shared objects from objects
-#%.po: %.o
-# $(Q) " CC [PIC] $@"
-# $(E)$(CC) $(LIBCFLAGS) $(PICFLAGS) $(call modcflags,$<) $< -c -o $@
-
-# rule for building shared objects
-# %.po: %.c
-# $(Q) " CC [PIC] $@"
-# $(E)$(CC) $(LIBCFLAGS) $(CFLAGS) $(PICFLAGS) $(call modcflags,$<) $< -c -o $@
-
-# bison and yacc
-# %.c: %.y
-# $(Q) " BISON $@"
-# $(E)$(BISON) -d $< -o $@
-
-#%.c: %.l
-# $(Q) " FLEX $@"
-# $(E)$(FLEX) -o$@ $<
-
-# handy rule to generate cpp-output file, for debugging
-.PHONY: FORCE
-%.i: %.c FORCE
- $(Q) " CPP $@"
- $(E)$(CC) $(LIBCFLAGS) $(CFLAGS) $(call modcflags,$<) $< -E -o $@
-
-# rule for generating cscope information
-cscope:
- find @SRC_ABSOLUTE_TOP@ -iname "*.[ch]" -o -iname "*.sm" \
- > $(srcdir)/cscope.files
- ( cd @SRC_ABSOLUTE_TOP@; cscope -be -i @SRC_ABSOLUTE_TOP@/cscope.files )
-
-TAGS:
- $(Q) " TAGS "
- $(E) find $(srcdir) -name '*.[ch]' | xargs etags -a $(ETAGS_FLAGS)
-
-# Generate TAGS based on only files used by CMPI as configured:
-TAGS.config: deps.config.txt
- $(Q) " TAGS "
- $(E)etags -o $(@) $(ETAGS_FLAGS) `cat deps.config.txt`
-# $(E)etags `cat deps.txt`
-
-# Extract all files from *.d files, format and sort:
-# Formats to one file per line & extracts junk and extra files in *.d
-deps.config.txt: $(CMPI_DEPS)
- $(Q) " DEPS.TXT "
- $(E) cat $(CMPI_DEPS) | fmt -w 1 | cut -f 1 | \
- sed 's/ //g;s/\\//g' | \
- grep -v '.*\.o\>\|.*\.po\>\|.*\.d\>' | \
- sort -u > $(@)
-
-# top rule for cleaning up tree
-clean::
- $(Q) " CLEAN"
- $(E)rm -fv $(CMPI_DEPS) $(TEST_DEPS) \
- $(MPIRPC) $(CMPI) $(MPIRPC_OBJS) $(CMPI_OBJS) \
- $(KDA_OBJS) $(CMPI_IO) $(CMPI_PICS) \
- hex unhex hexord unpublish node driver \
- $(TEST_OUTPUT) $(TEST_PROGS) $(TEST_OBJS) \
- $(CMPI_PROGS) $(CMPI_CP_OBJS) splint.out \
- $(GUM_OBJS) \
- $(GOBS_OBJS) $(GOBS) src/gobs/launch.o \
- $(GACK_OBJS) $(GACK) \
- $(SKULLFS_OBJS) \
- $(ALL_GS_S) $(ALL_GS_I) $(ALL_GS_DUMMY)
-# $(E)find . -name "*.avg" -exec rm -fv \{\} \;
-# $(E)find . -name "*.per" -exec rm -fv \{\} \;
-
-#ifndef DIST_RELEASE
-# $(E)rm -fv $(STATECOMPGEN)
-#endif
-
-# Allow quick (cached) reconfiguration: regeneration of Makefile
-# some stuff that is cleaned in both distclean and dist targets
-cleaner: clean
- $(Q) " CLEANER"
- $(E)rm -fvr TAGS TAGS.config deps.config.txt \
- maint/mpi-depend.sh \
- examples/pvfs2-server.rc \
- /doxygen/pvfs2-doxygen.conf \
- examples/fs.conf \
- autom4te*.cache \
- config.h.in~ \
- $(srcdir)/cscope.out \
- $(srcdir)/cscope.files \
- aclocal.m4 \
- config.h.in \
- autoscan.log \
- configure.scan \
- grayskull-config.h*
- $(E)find . -name "*.i" -exec rm -fv \{\} \;
- $(E)find . -name "*.d" -exec rm -fv \{\} \;
- $(E)find . -name "module.mk" -exec rm -fv \{\} \;
-
-# Allow regeneration of configure script
-# _really_ clean the tree; should go back to pristine state
-# except, don't remove generated .c files if this is a distributed release
-distclean: cleaner docsclean
- $(Q) " DISTCLEAN"
- $(E)rm -fv Makefile config.h \
- src/server/simple.conf \
- src/apps/admin/pvfs2-config
- $(E)find . -name "*.dat" -exec rm -fv \{\} \;
-
-# this is where we include all of our automatic dependencies.
-# NOTE: we wrap this in ifneq's in order to prevent the
-# dependencies from being generated for special targets that don't
-# require them
-ifeq (,$(filter clean distclean dist docs cscope tags nodep,$(MAKECMDGOALS)))
--include $(DEPENDS)
-endif
-
-# add this as a make goal to disable rebuilding dependencies
-.PHONY: nodep clean
-.SECONDARY: $(TEST_OBJS) $(TEST_PROGS)
-.PRECIOUS: $(TEST_OUTPUT) %.gs.dummyobj %.gs.i %.gs.s %.o
-nodep:; @:
-
-# default rule for generating dependency files
-%.d: %.c
- $(Q) " DEP $@"
-# $(E) $(MPICC) -M $(CFLAGS) $(<) | sed -e 's@.*\.o:@@;s@\\@@' > $(@)
- $(E) CC="$(MPICC)" $(srcdir)/maint/depend.sh $(call dirname,$*) $(CFLAGS) $(call modcflags,$<) $< > $@
-
-SPLINTOPTS = +posixlib +gnuextensions # -preproc
-SPLINT_GS_S := $(shell find . -name "*.gs.s")
-
-splint: $(ALL_GS_S)
- $(Q) " SPLINT splint.out"
-# $(E) splint $(SPLINTOPTS) $(IFLAGS) -I $(MPI)/include $(CMPI_SRC) > splint.out
- echo $(ALL_GS)
- echo $(ALL_GS_S)
- $(E) splint $(SPLINTOPTS) $(IFLAGS) -I $(MPI)/include $(ALL_GS_S) > splint.out
-
-%.p: %.c
- $(Q) " CPP $@"
- $(E) cpp $(IFLAGS) -I $(MPI)/include $(<) > $(@) # || rm -v $(@)
-
-install:: all install_doc
- install -d $(prefix)/include
-# install -m 644 $(srcdir)/include/pvfs2.h $(prefix)/include
-
- install -d $(prefix)/lib
-# install -m 755 $(LIBRARIES) $(prefix)/lib
-
-ifdef TARGET_OS_DARWIN
-# TOC needs to be regenerated in libs after they get moved
- ranlib $(patsubst %,$(prefix)/%,$(LIBRARIES))
-endif
-
- install -d $(prefix)/bin
-# install -m 755 $(ADMINTOOLS) $(prefix)/bin
-
-null:
diff --git a/oldcode/README b/oldcode/README
deleted file mode 100644
index 0712aea..0000000
--- a/oldcode/README
+++ /dev/null
@@ -1,6 +0,0 @@
-libtool?
-automake?
-
-
-
-.
diff --git a/oldcode/configure.ac b/oldcode/configure.ac
deleted file mode 100644
index d993e25..0000000
--- a/oldcode/configure.ac
+++ /dev/null
@@ -1,973 +0,0 @@
-dnl **************************************************************
-dnl GRAYSKULL AUTOCONF SCRIPT
-dnl
-dnl Process this file with autoconf to produce a configure script.
-dnl You may need to use autoheader as well if changing any DEFINEs
-
-dnl sanity checks, output header, location of scripts used here
-AC_INIT(include/pvfs2-types.h)
-
-AC_PREREQ(2.59)
-AC_CONFIG_AUX_DIR(maint/config)
-
-dnl
-dnl for test builds, insert the build date and time information into
-dnl into the version; for official releases, clear the PVFS2_PRE line
-dnl
-dnl PVFS2 versioning information.
-dnl An @ in the date string can confuse e.g. scp and 'make kmod'
-CONFIGURE_TIME=`date -u +"%Y-%m-%d-%H%M%S"`
-GRAYSKULL_MAJOR=0
-GRAYSKULL_MINOR=1
-GRAYSKULL_SUB=1
-GRAYSKULL_PRE="pre1-$CONFIGURE_TIME"
-
-GRAYSKULL_VERSION=$GRAYSKULL_MAJOR.$GRAYSKULL_MINOR.$GRAYSKULL_SUB$GRAYSKULL_PRE
-AC_SUBST(GRAYSKULL_VERSION)
-AC_DEFINE_UNQUOTED(GRAYSKULL_VERSION_MAJOR, $GRAYSKULL_MAJOR, major version number)
-AC_DEFINE_UNQUOTED(GRAYSKULL_VERSION_MINOR, $GRAYSKULL_MINOR, minor version number)
-AC_DEFINE_UNQUOTED(GRAYSKULL_VERSION_SUB, $GRAYSKULL_SUB, sub version number)
-
-dnl Checks for host type
-dnl Ensures we can compile on this OS
-AC_CANONICAL_HOST
-
-if test "$build_cpu" = "powerpc64"; then
- AC_DEFINE(USE_STRINGS_H, 1, [Include strings.h])
-fi
-
-USR_CFLAGS=$CFLAGS
-if test "x$USR_CFLAGS" = "x"; then
- USR_CFLAGS_SET=no
-fi
-
-AC_CONFIG_HEADER(grayskull-config.h)
-
-dnl C configuration
-
-AC_C_BIGENDIAN
-AC_C_CONST
-AC_C_INLINE
-
-AC_STRUCT_TM
-
-AC_TYPE_INT32_T
-AC_TYPE_INT64_T
-AC_TYPE_UINT32_T
-AC_TYPE_UINT64_T
-
-AC_TYPE_SIZE_T
-
-dnl Check size of pointer type; needed by id-generator
-AC_CHECK_SIZEOF(void *)
-AC_CHECK_SIZEOF([long int])
-
-dnl AC_HEADER
-AC_HEADER_STDBOOL
-AC_HEADER_TIME
-
-dnl if we use headers that might not be on every platform, add them here
-dnl AC_CHECK_HEADERS(execinfo.h,
-dnl [AC_DEFINE(HAVE_EXECINFO_H, 1, \
-dnl Define if execinfo.h exists)])
-dnl AC_CHECK_HEADERS(fstab.h)
-AC_CHECK_HEADERS(fcntl.h)
-AC_CHECK_HEADERS(limits.h)
-AC_CHECK_HEADERS(malloc.h)
-dnl AC_CHECK_HEADERS(mntent.h)
-dnl AC_CHECK_HEADERS(netdb.h)
-AC_CHECK_HEADERS(stdarg.h)
-AC_CHECK_HEADERS(syslog.h)
-dnl AC_CHECK_HEADERS(arpa/inet.h)
-dnl AC_CHECK_HEADERS(attr/xattr.h)
-dnl AC_CHECK_HEADER([sys/mount.h],
-dnl [AC_DEFINE(HAVE_SYS_MOUNT_H, 1, \
-dnl Define if sys/mount.h exists)])
-dnl AC_CHECK_HEADERS(sys/socket.h)
-AC_CHECK_HEADER(sys/sysinfo.h,
- AC_DEFINE(HAVE_SYSINFO, 1, Define if sysinfo.h is present))
-dnl AC_CHECK_HEADERS(sys/xattr.h)
-AC_CHECK_HEADERS(sys/time.h)
-dnl AC_CHECK_HEADER([sys/vfs.h],
-dnl [AC_DEFINE(HAVE_SYS_VFS_H, 1, Define if sys/vfs.h exists)])
-
-dnl for regular functions, add another AC_CHECK_FUNCS line
-dnl AC_FUNC
-AC_FUNC_GETMNTENT
-AC_FUNC_MALLOC
-AC_FUNC_MEMCMP
-AC_FUNC_STRFTIME
-AC_CHECK_FUNCS(bzero)
-AC_CHECK_FUNCS(gettimeofday)
-AC_CHECK_FUNCS(index)
-AC_CHECK_FUNCS(memset)
-AC_CHECK_FUNCS(socket)
-AC_CHECK_FUNCS(sqrt)
-AC_CHECK_FUNCS(strchr)
-AC_CHECK_FUNCS(strdup)
-AC_CHECK_FUNCS(strnlen)
-AC_CHECK_FUNCS(strtoull)
-AC_CHECK_FUNCS(strstr)
-dnl AC_CHECK_FUNCS(fgetxattr)
-dnl AC_CHECK_FUNCS(fsetxattr)
-
-dnl CHECK_LIB
-AC_CHECK_LIB([crypto], [SHA1], [],
- [AC_MSG_ERROR(-lcrypto required. Install OpenSSL.)])
-
-dnl Check for utilities that we need during the build process
-AC_PROG_INSTALL
-AC_PROG_MAKE_SET
-AC_PROG_CC
-dnl Do not need: AC_PROG_CXX (false alarm in autoscan)
-
-AC_MSG_CHECKING([for required gcc])
-if test "x$GCC" = "x"; then
- AC_MSG_ERROR(no)
-fi
-
-CFLAGS=$USR_CFLAGS
-
-AC_PROG_CPP
-AC_PROG_RANLIB
-dnl AC_CHECK_PROG(HAVE_PERL, perl, yes, no)
-AC_CHECK_PROG(HAVE_FIND, find, yes, no)
-dnl AC_CHECK_PROG(HAVE_BISON, bison, yes, no)
-dnl AC_CHECK_PROG(HAVE_FLEX, flex, yes, no)
-
-AC_MSG_CHECKING([for required Math::BigInt perl module])
-perl -e "use Math::BigInt" 2>&1 > /dev/null
-if test $? != 0; then
- AC_MSG_ERROR(no)
-else
- AC_MSG_RESULT(yes)
-fi
-
-if test $host != $build; then
- AC_CHECK_PROGS(BUILD_CC, gcc cc)
-else
- BUILD_CC=$CC
- BUILD_CFLAGS=$BUILD_CFLAGS
- BUILD_LDFLAGS=$BUILD_LDFLAGS
-fi
-
-AC_SUBST(BUILD_CC)
-AC_SUBST(BUILD_CFLAGS)
-AC_SUBST(BUILD_LDFLAGS)
-
-dnl a mechanism to turn off threads in the client library
-AC_MSG_CHECKING([for client library thread safety support])
-AC_ARG_ENABLE(thread-safety,
-[ --disable-thread-safety Disables thread safety in the client library],
-[if test "x$enableval" = "xno" ; then
- LIBCFLAGS="$LIBCFLAGS -D__GEN_NULL_LOCKING__"
- THREAD_LIB=""
- AC_MSG_RESULT(no)
-fi],
-[ LIBCFLAGS="$LIBCFLAGS -D__GEN_POSIX_LOCKING__"
- THREAD_LIB="-lpthread"
- AC_MSG_RESULT(yes) ])
-
-AC_SUBST(LIBCFLAGS)
-AC_SUBST(THREAD_LIB)
-
-dnl a mechanism to turn off disk I/O for testing/debugging
-AC_ARG_ENABLE(disk-io,
-[ --disable-disk-io Disables pvfs2-server disk I/O (for testing)],
-[if test "x$enableval" = "xno" ; then
- CFLAGS="$CFLAGS -D__PVFS2_DISABLE_DISK_IO__"
-fi]
-,)
-
-dnl shared or static client library (see --enable-shared below)
-AC_ARG_ENABLE(static,
-[ --disable-static Do not build static client library],
-[build_static=$enableval], [build_static=yes])
-AC_SUBST(build_static)
-
-use_aio_thcb=1
-AC_ARG_ENABLE([aio-threaded-callbacks],
-[ --disable-aio-threaded-callbacks Disable use of AIO threaded callbacks],
- if test "$enableval" = no ; then use_aio_thcb=0 ; fi)
-
-dnl there used to be a big hairy test in here, back when glibc-2.3.0 and
-dnl glibc-2.3.1 had buggy aio callbacks. That test was broken because it
-dnl assumed just linux, and could not handle glibc-2.4.x (or newer). Rely on
-dnl aio-threaded-callbacks, perhaps with a blacklist of distros that have the
-dnl broken glibc.
-
-MISC_TROVE_FLAGS=""
-if test $use_aio_thcb = 1 ; then
- MISC_TROVE_FLAGS="-D__PVFS2_TROVE_AIO_THREADED__"
-fi
-AC_SUBST(MISC_TROVE_FLAGS)
-
-dnl Check for AIO's aiocb->__error_code field (linux has it, OS X doesn't)
-AC_MSG_CHECKING([for __error_code field in aiocb struct])
-AC_TRY_COMPILE(
- [
- #include <aio.h>
- ],
- [
- struct aiocb;
- aiocb.__error_code = 0;
- ],
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_AIOCB_ERROR_CODE, 1, Define if aiocb->__error_code exists)
- ,
- AC_MSG_RESULT(no)
-)
-
-dnl Check for AIO's aiocb->__return_value field (linux has it, OS X doesn't)
-AC_MSG_CHECKING([for __return_value field in aiocb struct])
-AC_TRY_COMPILE(
- [
- #include <aio.h>
- ],
- [
- struct aiocb;
- aiocb.__return_value = 0;
- ],
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_AIOCB_RETURN_VALUE, 1, Define if aiocb->__return_value exists)
- ,
- AC_MSG_RESULT(no)
-)
-
-dnl Options for debugging
-dnl This particular one enables tracing of memory allocation and
-dnl freeing with the mtrace tool
-AC_ARG_WITH(mtrace,
-[ --with-mtrace Use mtrace (must set MALLOC_TRACE to output file)],
-CFLAGS="$CFLAGS -include mcheck.h"
-AC_DEFINE(WITH_MTRACE, 1, Define if mtrace memory leak detection was enabled)
-)
-
-dnl This particular one enables berkeley db to emit detected errors
-AC_ARG_WITH(berkdb-debug,
-[ --with-berkdb-debug Use berkeley db error reporting (if detected).],
-AC_DEFINE(BERKDB_ERROR_REPORTING, 1, Define if berkeley db error reporting was enabled)
-)
-
-dnl use MPE profiling library
-AC_ARG_WITH(mpe,
-[ --with-mpe=path Use MPE profiling library installed in "path"],
- if test "x$withval" = "xyes" ; then
- AC_MSG_ERROR(--with-mpe must be given a pathname)
- else
- CFLAGS="$CFLAGS -I$withval/include"
- LDFLAGS="$LDFLAGS -L$withval/lib"
- LIBS="$LIBS -lmpe -lmpich"
- AC_MSG_CHECKING(for valid mpe install)
- AC_TRY_LINK(
- [#include <mpe.h>],
- [
- int eventID_begin, eventID_end;
- eventID_begin = MPE_Log_get_event_number();
- eventID_end = MPE_Log_get_event_number();
- MPE_Describe_state( eventID_begin, eventID_end, "Amult", "bluegreen" );
- MPE_Log_event( eventID_begin, 0, (char *)0 );
- MPE_Log_event( eventID_end, 0, (char *)0 );
- ],
- [
- AC_DEFINE(HAVE_MPE, 1, [Use the MPE profiling library])
- AC_MSG_RESULT(ok)],
- AC_MSG_ERROR(Invalid path to mpe install))
- fi
-)
-
-AC_ARG_WITH(dmalloc,
- [ --with-dmalloc Use dmalloc],
- if test "x$withval" = "xyes" ; then
- AC_MSG_ERROR(--with-dmalloc must be given a pathname)
- else
- AC_CHECK_FILE(${withval}/include/dmalloc.h,
- DMALLOC_LOCATION=${withval}
- AC_MSG_RESULT([using dmalloc in ${withval}]),
- AC_MSG_ERROR([Could not find dmalloc in ${withval}]))
- fi
-)
-AC_SUBST(DMALLOC_LOCATION)
-
-dnl PAV configuration needs absolute location of source and build.
-dnl Linux-2.6 module needs absolute location of source, and uses the
-dnl relative location for soft links for out-of-tree builds.
-BUILD_ABSOLUTE_TOP=`pwd`
-SRC_RELATIVE_TOP=$srcdir
-SRC_ABSOLUTE_TOP=`cd $srcdir ; pwd`
-AC_SUBST(BUILD_ABSOLUTE_TOP)
-AC_SUBST(SRC_RELATIVE_TOP)
-AC_SUBST(SRC_ABSOLUTE_TOP)
-
-dnl Optimized code, but never override CFLAGS from command line or environment.
-AC_ARG_ENABLE(fast,
-[ --enable-fast Disable optional debugging, enable optimizations.],
-[
-if test "x$USR_CFLAGS_SET" = "xno"; then
- CFLAGS="$CFLAGS -DNDEBUG -O3 -DGOSSIP_DISABLE_DEBUG"
-fi
-])
-
-# default CFLAGS is -g -O2, unless user set CFLAGS or asked for --enable-fast
-if test "x$USR_CFLAGS_SET" = "xno" && test "x$enable_fast" != "xyes"; then
- CFLAGS="$CFLAGS -g -O2"
-fi
-
-dnl Options that are not yet working
-dnl --------------------------------
-dnl AC_ARG_ENABLE(profiling,
-dnl [ --enable-profiling Enable profiling (using gprof). *** not yet working ***],
-dnl CFLAGS="$CFLAGS -pg -fprofile-arcs",
-dnl )
-dnl
-dnl AC_ARG_ENABLE(coverage,
-dnl [ --enable-coverage Enable coverage analysis (disables optimizations). *** not yet working ***],
-dnl [ CFLAGS="$CFLAGS -g -pg -ftest-coverage -O0"
-dnl ENABLE_COVERAGE=1 ],
-dnl )
-
-AC_SUBST(ENABLE_COVERAGE)
-
-STRICT_CFLAGS=
-AC_ARG_ENABLE(strict,
-[ --enable-strict Turn on strict compiler warnings],
- STRICT_CFLAGS=1)
-AC_SUBST(STRICT_CFLAGS)
-
-dnl Check if user actually wants to see all our build output (compiles, links, etc.).
-AC_ARG_ENABLE(verbose-build,
-[ --enable-verbose-build Enables full output during build process],
-QUIET_COMPILE=0,
-QUIET_COMPILE=1)
-
-AC_SUBST(QUIET_COMPILE)
-
-dnl dnl
-dnl dnl a function to check for epoll capabilities
-dnl dnl
-dnl test_for_epoll()
-dnl {
-dnl AC_CHECK_HEADERS(sys/epoll.h)
-dnl AC_MSG_CHECKING(for epoll functions)
-dnl AC_TRY_LINK([#include <sys/epoll.h>], [
-dnl int fd;
-dnl fd = epoll_create(1);
-dnl close(fd);
-dnl ],
-dnl AC_MSG_RESULT(yes)
-dnl BUILD_EPOLL=1
-dnl AC_SUBST(BUILD_EPOLL),
-dnl AC_MSG_RESULT(no)
-dnl )
-dnl }
-
-dnl optionally enable use of epoll() on Linux instead of poll()
-dnl optionally disable use of epoll() on Linux instead of poll()
-dnl AC_ARG_ENABLE(epoll,
-dnl [ --enable-epoll Enable use of epoll for TCP/IP polling
-dnl (epoll is enabled by default, this option
-dnl ensures no checking is done for x-compiling)
-dnl --disable-epoll Disable epoll, use poll instead],
-dnl [
-dnl if test "x$enableval" = "xyes"; then
-dnl BUILD_EPOLL=1
-dnl AC_SUBST(BUILD_EPOLL)
-dnl fi
-dnl ],
-dnl [
-dnl test_for_epoll
-dnl ])
-
-dnl shared or static client library
-AC_ARG_ENABLE(shared,
-[ --enable-shared Build shared client library],
-[build_shared=$enableval], [build_shared=no])
-AC_SUBST(build_shared)
-
-dnl Bad things happen in the makefile if you happen to --disable-static
-dnl but do not --enable-shared.
-if test "x$build_shared" = "xno" -a "x$build_static" = "xno" ; then
- AC_MSG_ERROR([Must do --enable-shared or --enable-static or both.])
-fi
-
-dnl See if CC is a GNU compiler. This may require a real test in future
-dnl versions of autoconf. In 2.13 it is a side-effect of AC_PROG_CC. First
-dnl check if it is an Intel compiler; those lie and claim to be gcc but are
-dnl not argument compatible
-INTELC=
-GNUC=
-AC_MSG_CHECKING(whether cc is an Intel compiler)
-AC_TRY_COMPILE([
-#ifndef __ICC
- choke me
-#endif
-], [],
- AC_MSG_RESULT(yes)
- INTELC=1
- ,
- AC_MSG_RESULT(no)
-)
-if test "x$INTELC" = "x" ; then
- if test "x$GCC" = "xyes" ; then
- GNUC=1
- fi
-fi
-AC_SUBST(INTELC)
-AC_SUBST(GNUC)
-
-AC_ARG_WITH(efence,
-[ --with-efence=<path> Use electric fence for malloc debugging.],
- if test "x$withval" != "xyes" ; then
- LDFLAGS="${LDFLAGS} -L$withval"
- fi
- AC_CHECK_LIB(efence,malloc)
-)
-
-dnl Use compiled-in valgrind annotations? Give the header path if
-dnl is not in the usual location. It is common to install the header
-dnl in a subdirectory, so look for that too. Leave the include path
-dnl in CPPFLAGS if it is not a standard header.
-AC_ARG_WITH(valgrind,
-[ --with-valgrind[=<path>] Use valgrind annotations for debugging.], [
- found=no
- save_cppflags="$CPPFLAGS"
- AC_MSG_CHECKING(for valgrind.h usability)
- if test "x$withval" = xyes ; then
- AC_COMPILE_IFELSE([#include <valgrind.h>], found=yes)
- if test x$found = xno ; then
- CPPFLAGS="$CPPFLAGS -I/usr/include/valgrind"
- AC_COMPILE_IFELSE([#include <valgrind.h>], found=yes,
- CPPFLAGS="$save_cppflags")
- fi
- else
- for d in $withval $withval/include \
- $withval/valgrind $withval/include/valgrind
- do
- CPPFLAGS="$CPPFLAGS -I$d"
- AC_COMPILE_IFELSE([#include <valgrind.h>], found=yes,
- CPPFLAGS="$save_cppflags")
- if test x$found = xyes ; then
- break
- fi
- done
- fi
- AC_MSG_RESULT($found)
- if test x$found = xyes ; then
- AC_DEFINE(HAVE_VALGRIND_H, 1, Define if include file valgrind.h exists)
- fi
-])
-
-dnl if test "x$NEED_BERKELEY_DB" = "xyes" ; then
-dnl dnl
-dnl dnl make sure that required db development package is installed
-dnl dnl and valid; path can be specified at configure time
-dnl dnl
-dnl AC_ARG_WITH(db,
-dnl [ --with-db=<dir> Location of installed DB package (default=/usr)],
-dnl [AX_BERKELEY_DB(${withval})],
-dnl [AX_BERKELEY_DB("")])
-dnl fi
-dnl end of NEED_BERKELEY_DB section
-
-if test "x$BUILD_SERVER" = "x1"; then
- dnl check if -lrt is required
- AX_CHECK_NEEDS_LIBRT
-fi
-
-case "$host_os" in
-
- *darwin*)
- AC_DEFINE([TARGET_OS_DARWIN], 1, Define if on darwin)
- TARGET_OS_DARWIN=1
- AC_SUBST(TARGET_OS_DARWIN)
- ;;
- *linux*)
- AC_DEFINE([TARGET_OS_LINUX], 1, Define if on linux)
- TARGET_OS_LINUX=1
- AC_SUBST(TARGET_OS_LINUX)
- ;;
-esac
-
-dnl dnl check for gethostbyname function
-dnl AC_MSG_CHECKING(for gethostbyname)
-dnl oldcflags="$CFLAGS"
-dnl CFLAGS="$USR_CFLAGS"
-dnl AC_TRY_COMPILE([
-dnl #include <netdb.h>
-dnl ], [
-dnl gethostbyname("localhost");
-dnl ],
-dnl AC_MSG_RESULT(yes)
-dnl AC_DEFINE(HAVE_GETHOSTBYNAME, 1, Define if gethostbyname function exists),
-dnl AC_MSG_RESULT(no)
-dnl WARN_ABOUT_HOSTNAMES="yes")
-
-dnl AC_MSG_CHECKING(for gethostbyaddr)
-dnl AC_TRY_COMPILE([
-dnl #include <netdb.h>
-dnl ], [
-dnl struct sockaddr_in peer;
-dnl gethostbyaddr((void *)&peer.sin_addr.s_addr, sizeof(struct in_addr), AF_INET);
-dnl ],
-dnl AC_MSG_RESULT(yes)
-dnl AC_DEFINE(HAVE_GETHOSTBYADDR, 1, Define if gethostbyaddr function exists),
-dnl AC_MSG_RESULT(no) )
-
-dnl CFLAGS="$oldcflags"
-
-dnl dnl
-dnl dnl check if fgetxattr takes extra arguments
-dnl AC_MSG_CHECKING([for fgetxattr extra arguments])
-dnl AC_TRY_COMPILE([
-dnl #include <sys/types.h>
-dnl #ifdef HAVE_ATTR_XATTR_H
-dnl #include <attr/xattr.h>
-dnl #endif
-dnl #ifdef HAVE_SYS_XATTR_H
-dnl #include <sys/xattr.h>
-dnl #endif
-dnl ],
-dnl [
-dnl fgetxattr(0, 0, 0, 0, 0, 0);
-dnl ],
-dnl AC_MSG_RESULT(yes)
-dnl AC_DEFINE(HAVE_FGETXATTR_EXTRA_ARGS, 1, Define if fgetxattr takes position and option arguments),
-dnl AC_MSG_RESULT(no)
-dnl )
-
-dnl dnl
-
-dnl dnl fgetxattr doesn't have a prototype on some systems
-dnl AC_MSG_CHECKING([for fgetxattr prototype])
-dnl AC_TRY_COMPILE([
-dnl #include <sys/types.h>
-dnl #ifdef HAVE_ATTR_XATTR_H
-dnl #include <attr/xattr.h>
-dnl #endif
-dnl #ifdef HAVE_SYS_XATTR_H
-dnl #include <sys/xattr.h>
-dnl #endif
-dnl char * fgetxattr(char *foo);
-dnl ], [],
-dnl AC_MSG_RESULT(no),
-dnl AC_MSG_RESULT(yes)
-dnl AC_DEFINE(HAVE_FGETXATTR_PROTOTYPE, 1, Define if system provides fgtxattr prototype)
-dnl )
-
-dnl dnl
-dnl dnl check if fgetxattr takes extra arguments: old systems that do not have any
-dnl dnl sort of fgetxattr should fall back to our faked version.
-
-dnl AC_MSG_CHECKING([for fgetxattr extra arguments])
-dnl AC_TRY_COMPILE([
-dnl #include <sys/types.h>
-dnl #ifdef HAVE_ATTR_XATTR_H
-dnl #include <attr/xattr.h>
-dnl #endif
-dnl #ifdef HAVE_SYS_XATTR_H
-dnl #include <sys/xattr.h>
-dnl #endif
-dnl ],
-dnl [
-dnl #ifdef HAVE_FGETXATTR_PROTOTYPE
-dnl fgetxattr(0, 0, 0, 0, 0, 0);
-dnl #else
-dnl # error
-dnl #endif
-dnl ],
-dnl AC_MSG_RESULT(yes)
-dnl AC_DEFINE(HAVE_FGETXATTR_EXTRA_ARGS, 1, Define if fgetxattr takes position and option arguments),
-dnl AC_MSG_RESULT(no)
-dnl )
-
-dnl AC_MSG_CHECKING([for fsetxattr extra arguments])
-dnl AC_TRY_COMPILE([
-dnl #include <sys/types.h>
-dnl #ifdef HAVE_ATTR_XATTR_H
-dnl #include <attr/xattr.h>
-dnl #endif
-dnl #ifdef HAVE_SYS_XATTR_H
-dnl #include <sys/xattr.h>
-dnl #endif
-dnl ],
-dnl [
-dnl fsetxattr(0, 0, 0, 0, 0, 0);
-dnl ],
-dnl AC_MSG_RESULT(yes)
-dnl AC_DEFINE(HAVE_FSETXATTR_EXTRA_ARGS, 1, Define if fsetxattr takes position and option arguments),
-dnl AC_MSG_RESULT(no)
-dnl )
-
-
-dnl dnl check for getmntent(), special test
-
-dnl dnl Which form of strerror?
-dnl AC_MSG_CHECKING([for GNU-style strerror_r])
-dnl AC_TRY_COMPILE(
-dnl [
-dnl #include <string.h>
-dnl extern char *strerror_r();
-dnl ], [],
-dnl AC_MSG_RESULT(yes)
-dnl AC_DEFINE(HAVE_GNU_STRERROR_R, 1, Define if strerror_r is GNU-specific)
-dnl ,
-dnl AC_MSG_RESULT(no)
-dnl )
-
-dnl create any missing subdirectories that wouldn't be created
-dnl by AC_OUTPUT below (which won't create intermediate dirs).
-for d in src/common test; do
- install -d $d;
-done
-
-dnl Check if we are on a SLURM system
-AC_CHECK_PROG(HAVE_SRUN, srun, yes, no)
-AC_SUBST(HAVE_SRUN)
-
-OPENSSL=""
-AC_ARG_WITH(openssl,
- AS_HELP_STRING([--with-openssl], [location of OpenSSL]),
- if test x$withval = xyes; then
- AC_MSG_ERROR(--with-openssl must be given a pathname)
- else
- OPENSSL_LOCATION="${withval}"
- AC_MSG_RESULT([using OpenSSL in ${withval}])
- fi
-)
-AC_SUBST(OPENSSL_LOCATION)
-
-dnl find mpicc
-
-dnl check --with-mpi path first
-AC_ARG_WITH(mpi,
- AS_HELP_STRING([--with-mpi], [location of MPI]),
- if test x$withval = xyes; then
- AC_MSG_ERROR(--with-mpi must be given a pathname)
- else
- MPICC="${withval}/bin/mpicc"
- GOT_MPICC="1"
- USE_MPI="${withval}"
- fi
-)
-dnl failing that, check path
-if test x$GOT_MPICC != x1; then
- AC_CHECK_PROG(HAVE_MPICC, mpicc, yes, no)
- if test x$HAVE_MPICC != xyes; then
- AC_MSG_ERROR(cannot find mpicc; please use --with-mpi)
- else
- MPICC=mpicc
- GOT_MPICC="1"
- TMP_MPI_PATH=`which mpicc`
- dnl strip off /bin/mpicc to get "MPI" path
- TMP_MPI_PATH=`dirname $TMP_MPI_PATH`
- USE_MPI=`dirname $TMP_MPI_PATH`
- fi
-fi
-AC_SUBST(USE_MPI)
-
-dnl does the mpi compiler that we found actually work?
-saveCC="$CC"
-CC="$MPICC"
-AC_MSG_CHECKING(whether the mpicc compiler works)
-AC_TRY_COMPILE([#include <mpi.h>], [int ret = MPI_Init(0, (void*)0)],
- AC_MSG_RESULT(yes),
- AC_MSG_RESULT(no)
- AC_MSG_ERROR($CC doesn't appear to be a valid MPI compiler)
-)
-CC=$saveCC
-
-dnl Disk types...
-
-dnl Disk operation debugging
-AC_ARG_WITH(disk-printf,
- AS_HELP_STRING(
- [--with-disk-printf],
- [Just print virtual disk operations]),
- [AC_DEFINE([USE_DISK_PRINTF], [], [Use cmpi_disk_printf.c])
- USE_DISK_PRINTF=1],
- [USE_DISK_PRINTF=0])
-AC_SUBST(USE_DISK_PRINTF)
-
-dnl DISKSIM options
-AC_ARG_WITH(disksim,
- AS_HELP_STRING(
- [--with-disksim],
- [location of DISKSIM]),
- [AC_CHECK_FILE(${withval}/src/disksim_interface.h,
- [], [USE_DISKSIM=0])
- if test "$USE_DISKSIM" = 0 ; then
- AC_MSG_ERROR(Could not find DISKSIM in $withval)
- fi
- AC_MSG_RESULT([using disksim in $withval...])
- AC_DEFINE_UNQUOTED([DISKSIM_LOCATION],
- "$withval", [DISKSIM Location])
- USE_DISKSIM=$withval
- ],
- [
- AC_MSG_RESULT([Not using DISKSIM...])
- USE_DISKSIM=0
- ])
-AC_SUBST(USE_DISKSIM)
-
-if test "$USE_DISK_PRINTF" = 0 -a "$USE_DISKSIM" = 0 ; then
- AC_MSG_RESULT([omitting disk operations...])
- USE_DISK_VOID=1
- AC_DEFINE_UNQUOTED([USE_DISK_VOID], [], [Use cmpi_disk_void.c])
- AC_SUBST(USE_DISK_VOID)
-fi
-
-dnl DHT type selection for GOBS:
-dnl Results are substituted in below:
-
-AC_ARG_ENABLE([gobs-dense],
- AS_HELP_STRING(
- [--enable-gobs-dense],
- [use GOBS dense implementation]),
- [AC_MSG_RESULT( [using GOBS dense implementation...] )
- AC_DEFINE([USE_GOBS_DENSE], [1], [Enable GOBS dense])
- USE_GOBS_DENSE=1],
- [AC_DEFINE([USE_GOBS_DENSE], [0], [Disable GOBS dense])
- USE_GOBS_DENSE_1=0])
-
-dnl DHT type selection for CMPI:
-dnl Results are substituted in below:
-
-AC_ARG_ENABLE([table-dense-1],
- AS_HELP_STRING(
- [--enable-table-dense-1],
- [use dense-1 table implementation]),
- [AC_MSG_RESULT( [using dense-1 table implementation...] )
- AC_DEFINE([USE_TABLE_DENSE_1], [1], [Using DENSE-1])
- AC_DEFINE([USE_MPIRPC_2], [1], [Using MPIRPC-1])
- AC_DEFINE([USE_COMM_WORLD], [1], [Using MPI_COMM_WORLD])
- USE_TABLE_DENSE_1=1
- USE_MPIRPC_2=1
- USE_COMM_WORLD=1],
- [USE_TABLE_DENSE_1=0])
-
-AC_ARG_ENABLE([table-kda-1],
- AS_HELP_STRING(
- [--enable-table-kda-1],
- [use kademlia-1 implementation]),
- [AC_MSG_RESULT([using kademlia-1 implementation...] )
- AC_DEFINE([USE_TABLE_KDA_1], [1], [Using Kademlia-1])
- AC_DEFINE([USE_MPIRPC_1], [1], [Using MPIRPC-1])
- AC_DEFINE([USE_COMM_WORLD], [1], [Using MPI_COMM_WORLD])
- USE_TABLE_KDA_1=1
- USE_MPIRPC_1=1
- USE_COMM_WORLD=1],
- [USE_TABLE_KDA_1=0])
-
-AC_ARG_ENABLE([table-kda-2A],
- AS_HELP_STRING(
- [--enable-table-kda-2A],
- [use kademlia-2A implementation]),
- [AC_MSG_RESULT([using kademlia-2A implementation...])
- AC_DEFINE([USE_TABLE_KDA_2A], [1], [Using Kademlia-2A])
- AC_DEFINE([USE_MPIRPC_2], [1], [Using MPIRPC-2])
- AC_DEFINE([USE_COMM_WORLD], [1], [Using MPI_COMM_WORLD])
- USE_TABLE_KDA_2A=1
- USE_MPIRPC_2=1
- USE_COMM_WORLD=1],
- [USE_TABLE_KDA_2A=0])
-
-AC_ARG_ENABLE([table-kda-2B],
- AS_HELP_STRING(
- [--enable-table-kda-2B],
- [use kademlia-2B implementation]),
- [AC_MSG_RESULT([using kademlia-2B implementation...])
- AC_DEFINE([USE_TABLE_KDA_2B], [1],
- [Using Kademlia-2B])
- AC_DEFINE([USE_MPIRPC_2], [1],
- [Using MPIRPC-2])
- AC_DEFINE([USE_COMM_WORLD], [0],
- [Not using MPI_COMM_WORLD])
- USE_TABLE_KDA_2B=1
- USE_MPIRPC_2=1
- USE_COMM_WORLD=0],
- [USE_TABLE_KDA_2B=0])
-
-AC_ARG_ENABLE([table-can],
- AS_HELP_STRING(
- [--enable-table-can],
- [use CAN implementation]),
- [AC_MSG_RESULT([using CAN implementation...] )
- AC_DEFINE([USE_TABLE_CAN], [1], [Using CAN])
- AC_DEFINE([USE_COMM_WORLD], [1], [Using MPI_COMM_WORLD])
- USE_TABLE_CAN=1
- USE_COMM_WORLD=1],
- [USE_TABLE_CAN=0])
-
-
-dnl Table results:
-AC_SUBST(USE_TABLE_DENSE_1)
-AC_SUBST(USE_TABLE_KDA_1)
-AC_SUBST(USE_TABLE_KDA_2A)
-AC_SUBST(USE_TABLE_KDA_2B)
-AC_SUBST(USE_TABLE_KDA_2C)
-AC_SUBST(USE_TABLE_CAN)
-AC_SUBST(USE_MPIRPC_1)
-AC_SUBST(USE_MPIRPC_2)
-AC_SUBST(USE_COMM_WORLD)
-
-AC_ARG_ENABLE([driver],
- AS_HELP_STRING(
- [--enable-driver],
- [use CMPI driver]),
- [AC_MSG_RESULT( [using CMPI driver...] )
- AC_DEFINE([USE_DRIVER], [1], [Using CMPI driver])
- USE_DRIVER=1],
- [USE_DRIVER=0])
-AC_SUBST(USE_DRIVER)
-
-AC_ARG_ENABLE([cmpi-io],
- AS_HELP_STRING(
- [--enable-cmpi-io],
- [use CMPI-IO]),
- [AC_MSG_RESULT( [using CMPI-IO...] )
- AC_DEFINE([USE_CMPI_IO], [1], [Using CMPI-IO])
- USE_CMPI_IO=1],
- [USE_CMPI_IO=0])
-AC_SUBST(USE_CMPI_IO)
-
-AC_ARG_ENABLE([tests],
- AS_HELP_STRING(
- [--enable-tests],
- [enable test modules]),
- [AC_MSG_RESULT([enabling test modules...])
- ENABLE_TESTS="yes"], [])
-
-dnl Disable -rdynamic if we don't have it.
-dnl Use it if we can for backtraces.
-dnl From: https://www.phpcompiler.org/lists/phc-general/2006-December/000619.html
-AC_DEFUN(
- AC_GCC_SUPPORTS_RDYNAMIC,
- [
- AC_PATH_PROG([grep], [grep])
- echo -n "checking if the compiler supports -rdynamic... "
- if test "X${ac_compiler_gnu}X" = "XyesX"; then
- if test "X`${CC} -dumpspecs | ${grep} rdynamic`X" != "XX"; then
- echo "yes"
- AC_SUBST([RDYNAMIC], ["-rdynamic"])
- else
- echo "no"
- AC_SUBST([RDYNAMIC], [])
- fi
- else
- echo "no"
- AC_SUBST([RDYNAMIC], [])
- fi
- ]
-)
-AC_GCC_SUPPORTS_RDYNAMIC([RDYNAMIC])
-
-find . -name module.mk -exec chmod u+w "{}" \;
-test -f Makefile && chmod u+w Makefile
-
-dnl output final version of top level makefile and subdirectory
-dnl makefile includes
-AC_CONFIG_FILES(Makefile
-module.mk
-dnl src/ops/module.mk
-dnl src/common/statecomp/module.mk
-dnl src/common/quickhash/module.mk
-dnl src/common/quicklist/module.mk
-dnl src/common/state-machine/module.mk
-dnl src/common/job/module.mk
-dnl src/common/id-generator/module.mk
-dnl src/common/gen-locks/module.mk
-src/common/gossip/module.mk
-src/adts/module.mk
-src/cmpi/module.mk
-src/cmpi-cp/module.mk
-src/cmpi-db/module.mk
-src/gack/module.mk
-src/gobs/module.mk
-src/gobs/dense/module.mk
-src/gum/module.mk
-src/mpi_tools/module.mk
-src/mpirpc-1/module.mk
-src/mpirpc-2/module.mk
-src/skullfs/module.mk
-src/dense-1/module.mk
-src/kda-1/module.mk
-src/kda-2/module.mk
-src/disksim/module.mk
-)
-
-if test "x$ENABLE_TESTS" = "xyes" ; then
- AC_CONFIG_FILES(
- test/Makefile
- test/adts/module.mk
- test/basic/module.mk
- test/cmpi/module.mk
- test/cmpi-io/module.mk
- test/driver/module.mk
- test/gack/module.mk
- test/gobs/module.mk
- test/gum/module.mk
- test/gossip/module.mk
- test/mpirpc-1/module.mk
- test/mpirpc-2/module.mk
- test/mpi_tools/module.mk
- test/skullfs/module.mk
- test/swim/module.mk
- test/paper1/module.mk
- )
-fi
-
-if test "x$USE_DISKSIM" != "x0" ; then
- AC_CONFIG_FILES(test/disksim/module.mk)
-fi
-
-AC_OUTPUT
-
-find . -name module.mk -exec chmod u-w "{}" \;
-chmod u-w Makefile
-
-# print a summary of the configuration information
-AC_MSG_RESULT()
-AC_MSG_RESULT([ Grayskull Configuration Summary ])
-AC_MSG_RESULT([-------------------------------------------------------])
-
-if test "x$BUILD_EPOLL" = "x1" ; then
- AC_MSG_RESULT([configured to use epoll : yes])
-else
- AC_MSG_RESULT([configured to use epoll : no])
-fi
-
-if test "x$ENABLE_COVERAGE" = "x1" ; then
- AC_MSG_RESULT([configured to perform coverage analysis : yes])
-else
- AC_MSG_RESULT([configured to perform coverage analysis : no])
-fi
-
-if test "x$MISC_TROVE_FLAGS" = "x" ; then
- AC_MSG_RESULT([configured for aio threaded callbacks : no])
-else
- AC_MSG_RESULT([configured for aio threaded callbacks : yes])
-fi
-
-if test "x$TRUSTED_CONNECTIONS" = "x" ; then
- AC_MSG_RESULT([configured for using trusted connections : no])
-else
- AC_MSG_RESULT([configured for using trusted connections : yes])
-fi
-
-if test "x$THREAD_LIB" = "x" ; then
- AC_MSG_RESULT([configured for a thread-safe client library : no])
-else
- AC_MSG_RESULT([configured for a thread-safe client library : yes])
-fi
-
-AC_MSG_RESULT()
-AC_MSG_RESULT([Grayskull version string: $GRAYSKULL_VERSION])
-
-AC_MSG_RESULT()
-
-# Configure GSL:
-pushd src/gsl > /dev/null
-echo
-echo "configure in src/gsl"
-configure -C --with-mpi=${USE_MPI} --enable-gsl-debug || exit 1
-popd > /dev/null
diff --git a/oldcode/img/view2.dot b/oldcode/img/view2.dot
deleted file mode 100644
index f08a531..0000000
--- a/oldcode/img/view2.dot
+++ /dev/null
@@ -1,25 +0,0 @@
-digraph G {
-"Node [232ADD1B]@1" -> "Node [1A7DD803]@5"
-"Node [232ADD1B]@1" -> "Node [11560EBD]@2"
-"Node [232ADD1B]@1" -> "Node [76927BBF]@7"
-"Node [232ADD1B]@1" -> "Node [486C7C6F]@6"
-"Node [11560EBD]@2" -> "Node [1A7DD803]@5"
-"Node [11560EBD]@2" -> "Node [232ADD1B]@1"
-"Node [11560EBD]@2" -> "Node [76927BBF]@7"
-"Node [3E52DFF5]@3" -> "Node [232ADD1B]@1"
-"Node [3E52DFF5]@3" -> "Node [11560EBD]@2"
-"Node [3E52DFF5]@3" -> "Node [1A7DD803]@5"
-"Node [3E52DFF5]@3" -> "Node [486C7C6F]@6"
-"Node [2D274378]@4" -> "Node [3E52DFF5]@3"
-"Node [2D274378]@4" -> "Node [11560EBD]@2"
-"Node [2D274378]@4" -> "Node [1A7DD803]@5"
-"Node [1A7DD803]@5" -> "Node [11560EBD]@2"
-"Node [1A7DD803]@5" -> "Node [2D274378]@4"
-"Node [1A7DD803]@5" -> "Node [3E52DFF5]@3"
-"Node [486C7C6F]@6" -> "Node [1A7DD803]@5"
-"Node [486C7C6F]@6" -> "Node [2D274378]@4"
-"Node [486C7C6F]@6" -> "Node [11560EBD]@2"
-"Node [76927BBF]@7" -> "Node [486C7C6F]@6"
-"Node [76927BBF]@7" -> "Node [1A7DD803]@5"
-"Node [76927BBF]@7" -> "Node [11560EBD]@2"
-}
diff --git a/oldcode/include/junk.h b/oldcode/include/junk.h
deleted file mode 100644
index 9113b91..0000000
--- a/oldcode/include/junk.h
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef __JUNK__
-#define __JUNK__
-
-typedef struct job_status {
- int error_code;
-} job_status_s;
-
-#define PVFS_error int
-#define PVFS_handle int
-#define PVFS_fs_id int
-#define PVFS_size int
-#define PVFS_mgmt_op_id int
-#define PVFS_BMI_addr_t void *
-
-typedef struct PVFS_credentials_s {
- int uid;
-} PVFS_credentials;
-
-#define GOSSIP_STATE_MACHINE_DEBUG 1
-#define GOSSIP_CLIENT_DEBUG 2
-
-#include <sys/types.h>
-
-typedef int64_t PVFS_id_gen_t;
-typedef PVFS_id_gen_t PVFS_sys_op_id;
-typedef int32_t PVFS_context_id;
-typedef PVFS_context_id job_context_id;
-
-#include <errno.h>
-
-#define PVFS_ENOMEM ENOMEM
-#define PVFS_EINVAL EINVAL
-
-#endif
diff --git a/oldcode/include/pvfs2-types.h b/oldcode/include/pvfs2-types.h
deleted file mode 100644
index e69de29..0000000
diff --git a/oldcode/maint/TEMPLATE_COPYRIGHT_HEADER.txt b/oldcode/maint/TEMPLATE_COPYRIGHT_HEADER.txt
deleted file mode 100644
index c24cb9a..0000000
--- a/oldcode/maint/TEMPLATE_COPYRIGHT_HEADER.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
- * (C) 2009 The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
diff --git a/oldcode/maint/TEMPLATE_FORMAT_TRAILER.txt b/oldcode/maint/TEMPLATE_FORMAT_TRAILER.txt
deleted file mode 100644
index 0ca58f2..0000000
--- a/oldcode/maint/TEMPLATE_FORMAT_TRAILER.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/maint/config/aio.m4 b/oldcode/maint/config/aio.m4
deleted file mode 100644
index 96dcf05..0000000
--- a/oldcode/maint/config/aio.m4
+++ /dev/null
@@ -1,59 +0,0 @@
-
-AC_DEFUN([AX_AIO],
-[
- libaiopath=ifelse([$1], ,,$1)
-
- if test "x$1" != "xno"; then
-
- AC_MSG_CHECKING([for libaio library])
-
- if test "x${libaiopath}" != "x"; then
- CFLAGS="${CFLAGS} -I${libaiopath}/include"
- LDFLAGS="$LDFLAGS -L${libaiopath}/lib64 -L${libaiopath}/lib"
- SERVER_LDFLAGS="$SERVER_LDFLAGS -L${libaiopath}/lib64 -L${libaiopath}/lib"
- fi
- LIBS="$LIBS -laio"
-
- AC_COMPILE_IFELSE(
- [#include "libaio.h"],
- [],
- [AC_MSG_ERROR(Invalid libaio path specified. No libaio.h found.)])
-
- AC_TRY_LINK(
- [#include "libaio.h"],
- [io_context_t * b;],
- [AC_MSG_RESULT(yes)],
- [AC_MSG_ERROR(could not find libaio libs)])
-
- AC_DEFINE(WITH_AIO, 1, [Define if libaio exists])
-
- AC_CHECK_HEADERS(libaio.h)
- fi
-])
-
-AC_DEFUN([AX_AIO_OPTIONAL],
-[
- AC_MSG_CHECKING([for libaio library])
- TMPLIBS=${LIBS}
- LIBS="$LIBS -laio"
-
- AC_COMPILE_IFELSE(
- [#include "libaio.h"],
- [],
- [AC_MSG_WARN(No libaio headers found.)])
-
- AC_TRY_LINK(
- [#include "libaio.h"],
- [io_context_t * b;],
- [AC_MSG_RESULT(yes)
- AC_DEFINE(WITH_AIO, 1, [Define if libaio exists])
- ],
- [
- AC_MSG_WARN(No libaio headers found.)
- LIBS=${TMPLIBS}
- ])
-
- AC_CHECK_HEADERS(libaio.h)
-
-])
-
diff --git a/oldcode/maint/config/bdb.m4 b/oldcode/maint/config/bdb.m4
deleted file mode 100644
index 9e17735..0000000
--- a/oldcode/maint/config/bdb.m4
+++ /dev/null
@@ -1,235 +0,0 @@
-
-AC_DEFUN([AX_BERKELEY_DB],
-[
- dbpath=ifelse([$1], ,,$1)
-
- DB_LDFLAGS=
- dnl
- dnl if the db is specified, try to link with -ldb
- dnl otherwise try -ldb4, then -ldb3, then -ldb
- dnl $lib set to notfound on link failure
- dnl
- AC_MSG_CHECKING([for db library])
- oldlibs=$LIBS
- lib=notfound
-
- if test "x$dbpath" != "x" ; then
- oldcflags=$CFLAGS
- for dbheader in db4 db3 notfound; do
- AC_COMPILE_IFELSE(
- [#include "$dbpath/include/$dbheader/db.h"],
- [DB_CFLAGS="-I$dbpath/include/$dbheader/"
- break])
- done
-
- if test "x$dbheader" = "xnotfound"; then
- AC_COMPILE_IFELSE(
- [#include "$dbpath/include/db.h"],
- [DB_CFLAGS="-I$dbpath/include/"],
- [AC_MSG_FAILURE(
- Invalid libdb path specified. No db.h found.)])
- fi
-
- DB_LDFLAGS="-L${dbpath}/lib"
- LDFLAGS="$DB_LDFLAGS ${LDFLAGS}"
-
- LIBS="${oldlibs} -ldb -lpthread"
- DB_LIB="-ldb"
- CFLAGS="$DB_CFLAGS $oldcflags"
- AC_TRY_LINK(
- [#include <db.h>],
- [DB *dbp; db_create(&dbp, NULL, 0);],
- lib=db)
- CFLAGS=$oldcflags
-
- else
- for lib in db4 db3 db notfound; do
- LIBS="${oldlibs} -l$lib -lpthread"
- DB_LIB="-l$lib"
- AC_TRY_LINK(
- [#include <db.h>],
- [DB *dbp; db_create(&dbp, NULL, 0);],
- [break])
- done
- fi
-
- dnl reset LIBS value and just report through DB_LIB
- LIBS=$oldlibs
- if test "x$lib" = "xnotfound" ; then
- AC_MSG_ERROR(could not find DB libraries)
- else
- AC_MSG_RESULT($lib)
- fi
- AC_SUBST(DB_CFLAGS)
- AC_SUBST(DB_LIB)
-
- dnl See if we have a new enough version of Berkeley DB; needed for
- dnl compilation of trove-dbpf component
- dnl AC_MSG_CHECKING(whether version of Berkeley DB is new enough)
- dnl AC_TRY_COMPILE([
- dnl #include <db.h>
- dnl ], [
- dnl #if DB_VERSION_MAJOR < 4
- dnl #error "DB_VERSION_MAJOR < 4; need newer Berkeley DB implementation"
- dnl #endif
- dnl ], AC_MSG_RESULT(yes),
- dnl AC_MSG_RESULT(no)
- dnl AC_MSG_ERROR(Need newer (4.x.x or later) version of Berkeley DB.
- dnl try: http://www.sleepycat.com/download/index.shtml
- dnl or: /parl/pcarns/rpms/db4-4.0.14-1mdk.src.rpm (to build rpm))
- dnl )
-
- dnl Test to check for DB_ENV variable to error callback fn. Then
- dnl test to see if third parameter must be const (related but not
- dnl exactly the same).
- AC_MSG_CHECKING(for dbenv parameter to DB error callback function)
- oldcflags=$CFLAGS
- CFLAGS="$USR_CFLAGS $DB_CFLAGS -Werror"
- AC_TRY_COMPILE([
- #include <db.h>
-
- void error_callback_fn(const DB_ENV *dbenv,
- const char *prefix,
- const char *message)
- {
- return;
- }
- ], [
- DB *db;
-
- db->set_errcall(db, error_callback_fn);
- ], AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_DBENV_PARAMETER_TO_DB_ERROR_CALLBACK, 1,
- Define if DB error callback function takes dbenv parameter)
- have_dbenv_parameter_to_db_error_callback=yes,
- AC_MSG_RESULT(no)
- have_dbenv_parameter_to_db_error_callback=no)
-
- if test "x$have_dbenv_parameter_to_db_error_callback" = "xyes" ; then
- dnl Test if compilation succeeds without const; we expect that it will
- dnl not.
- dnl NOTE: still using -Werror!
- AC_MSG_CHECKING(if third parameter to error callback function is const)
- AC_TRY_COMPILE([
- #include <db.h>
-
- void error_callback_fn(const DB_ENV *dbenv,
- const char *prefix,
- char *message)
- {
- return;
- }
- ], [
- DB *db;
-
- db->set_errcall(db, error_callback_fn);
- ], AC_MSG_RESULT(no),
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_CONST_THIRD_PARAMETER_TO_DB_ERROR_CALLBACK, 1,
- Define if third param (message) to DB error callback function is const))
- fi
-
- CFLAGS="$USR_CFLAGS $DB_CFLAGS -Werror"
- dnl Test to check for unknown third param to DB stat (four params
- dnl total). The unknown parameter is a function ptr so that the
- dnl the user can pass in a replcaement for malloc.
- dnl Note: this is a holdover from relatively old DB implementations,
- dnl while the txnid parameter is new. So we don't test for the old
- dnl unknown parameter if we found the new one.
- AC_MSG_CHECKING(for DB stat with malloc function ptr)
- AC_TRY_COMPILE([
- #include <db.h>
- #include <stdlib.h>
- ], [
- int ret = 0;
- DB *db = db;
- int dummy = 0;
- u_int32_t flags = 0;
-
- ret = db->stat(db, &dummy, malloc, flags);
- ], AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_UNKNOWN_PARAMETER_TO_DB_STAT, 1,
- Define if DB stat function takes malloc function ptr)
- have_db_stat_malloc=yes,
- AC_MSG_RESULT(no)
- have_db_stat_malloc=no)
-
- dnl Test to check for txnid parameter to DB stat (DB 4.3.xx+)
- if test "x$have_db_stat_malloc" = "xno" ; then
-
- AC_MSG_CHECKING(for txnid parameter to DB stat function)
- AC_TRY_COMPILE([
- #include <db.h>
- ], [
- int ret = 0;
- DB *db = db;
- DB_TXN *txnid = txnid;
- u_int32_t flags = 0;
-
- ret = db->stat(db, txnid, NULL, flags);
- ], AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_TXNID_PARAMETER_TO_DB_STAT, 1,
- Define if DB stat function takes txnid parameter)
- have_txnid_param_to_stat=yes,
- AC_MSG_RESULT(no)
- have_txnid_param_to_stat=no)
-
- fi
-
- dnl Test to check for txnid parameter to DB open (DB4.1+)
- AC_MSG_CHECKING(for txnid parameter to DB open function)
- AC_TRY_COMPILE([
- #include <db.h>
- ], [
- int ret = 0;
- DB *db = NULL;
- DB_TXN *txnid = NULL;
- char *file = NULL;
- char *database = NULL;
- DBTYPE type = 0;
- u_int32_t flags = 0;
- int mode = 0;
-
- ret = db->open(db, txnid, file, database, type, flags, mode);
- ], AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_TXNID_PARAMETER_TO_DB_OPEN, 1,
- Define if DB open function takes a txnid parameter),
- AC_MSG_RESULT(no))
-
- dnl check for DB_DIRTY_READ (it is not in db-3.2.9, for example)
- AC_MSG_CHECKING(for DB_DIRTY_READ flag)
- AC_TRY_COMPILE([
- #include <db.h>
- ], [
- u_int32_t flags = DB_DIRTY_READ;
- ], AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_DB_DIRTY_READ, 1, [Define if db library has DB_DIRTY_READ flag]),
- AC_MSG_RESULT(no))
-
- dnl check for DB_BUFFER_SMALL (it is returned by dbp->get in db-4.4 and up)
- AC_MSG_CHECKING(for DB_BUFFER_SMALL error)
- AC_TRY_COMPILE([
- #include <db.h>
- ], [
- int res = DB_BUFFER_SMALL;
- res++;
- ], AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_DB_BUFFER_SMALL, 1, [Define if db library has DB_BUFFER_SMALL error]),
- AC_MSG_RESULT(no))
-
- dnl Test to check for db->get_pagesize
- AC_MSG_CHECKING(for berkeley db get_pagesize function)
- AC_TRY_COMPILE([
- #include <db.h>
- ], [
- int ret = 0;
- DB *db = NULL;
- int pagesize;
-
- ret = db->get_pagesize(db, &pagesize);
- ], AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_DB_GET_PAGESIZE, 1, [Define if DB has get_pagesize function]),
- AC_MSG_RESULT(no))
-
- CFLAGS="$oldcflags"
-])
diff --git a/oldcode/maint/config/config.guess b/oldcode/maint/config/config.guess
deleted file mode 100755
index 951383e..0000000
--- a/oldcode/maint/config/config.guess
+++ /dev/null
@@ -1,1516 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-# Inc.
-
-timestamp='2007-05-17'
-
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner <per(a)bothner.com>.
-# Please send patches to <config-patches(a)gnu.org>. Submit a context
-# diff and a properly formatted ChangeLog entry.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub. If it succeeds, it prints the system name on stdout, and
-# exits with 0. Otherwise, it exits with 1.
-#
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit build system type.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Operation modes:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to <config-patches(a)gnu.org>."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit ;;
- --version | -v )
- echo "$version" ; exit ;;
- --help | --h* | -h )
- echo "$usage"; exit ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help" >&2
- exit 1 ;;
- * )
- break ;;
- esac
-done
-
-if test $# != 0; then
- echo "$me: too many arguments$help" >&2
- exit 1
-fi
-
-trap 'exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
-
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,) echo "int x;" > $dummy.c ;
- for c in cc gcc c89 c99 ; do
- if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
- CC_FOR_BUILD="$c"; break ;
- fi ;
- done ;
- if test x"$CC_FOR_BUILD" = x ; then
- CC_FOR_BUILD=no_compiler_found ;
- fi
- ;;
- ,,*) CC_FOR_BUILD=$CC ;;
- ,*,*) CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi(a)noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
- PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
- *:NetBSD:*:*)
- # NetBSD (nbsd) targets should (where applicable) match one or
- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
- # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
- # switched to ELF, *-*-netbsd* would select the old
- # object file format. This provides both forward
- # compatibility and a consistent mechanism for selecting the
- # object file format.
- #
- # Note: NetBSD doesn't particularly care about the vendor
- # portion of the name. We always set it to "unknown".
- sysctl="sysctl -n hw.machine_arch"
- UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
- case "${UNAME_MACHINE_ARCH}" in
- armeb) machine=armeb-unknown ;;
- arm*) machine=arm-unknown ;;
- sh3el) machine=shl-unknown ;;
- sh3eb) machine=sh-unknown ;;
- sh5el) machine=sh5le-unknown ;;
- *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
- esac
- # The Operating System including object format, if it has switched
- # to ELF recently, or will in the future.
- case "${UNAME_MACHINE_ARCH}" in
- arm*|i386|m68k|ns32k|sh3*|sparc|vax)
- eval $set_cc_for_build
- if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep __ELF__ >/dev/null
- then
- # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
- # Return netbsd for either. FIX?
- os=netbsd
- else
- os=netbsdelf
- fi
- ;;
- *)
- os=netbsd
- ;;
- esac
- # The OS release
- # Debian GNU/NetBSD machines have a different userland, and
- # thus, need a distinct triplet. However, they do not need
- # kernel version information, so it can be replaced with a
- # suitable tag, in the style of linux-gnu.
- case "${UNAME_VERSION}" in
- Debian*)
- release='-gnu'
- ;;
- *)
- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
- ;;
- esac
- # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
- # contains redundant information, the shorter form:
- # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}"
- exit ;;
- *:OpenBSD:*:*)
- UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
- echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
- exit ;;
- *:ekkoBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
- exit ;;
- *:SolidBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
- exit ;;
- macppc:MirBSD:*:*)
- echo powerpc-unknown-mirbsd${UNAME_RELEASE}
- exit ;;
- *:MirBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
- exit ;;
- alpha:OSF1:*:*)
- case $UNAME_RELEASE in
- *4.0)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
- ;;
- *5.*)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
- ;;
- esac
- # According to Compaq, /usr/sbin/psrinfo has been available on
- # OSF/1 and Tru64 systems produced since 1995. I hope that
- # covers most systems running today. This code pipes the CPU
- # types through head -n 1, so we only detect the type of CPU 0.
- ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
- case "$ALPHA_CPU_TYPE" in
- "EV4 (21064)")
- UNAME_MACHINE="alpha" ;;
- "EV4.5 (21064)")
- UNAME_MACHINE="alpha" ;;
- "LCA4 (21066/21068)")
- UNAME_MACHINE="alpha" ;;
- "EV5 (21164)")
- UNAME_MACHINE="alphaev5" ;;
- "EV5.6 (21164A)")
- UNAME_MACHINE="alphaev56" ;;
- "EV5.6 (21164PC)")
- UNAME_MACHINE="alphapca56" ;;
- "EV5.7 (21164PC)")
- UNAME_MACHINE="alphapca57" ;;
- "EV6 (21264)")
- UNAME_MACHINE="alphaev6" ;;
- "EV6.7 (21264A)")
- UNAME_MACHINE="alphaev67" ;;
- "EV6.8CB (21264C)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.8AL (21264B)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.8CX (21264D)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.9A (21264/EV69A)")
- UNAME_MACHINE="alphaev69" ;;
- "EV7 (21364)")
- UNAME_MACHINE="alphaev7" ;;
- "EV7.9 (21364A)")
- UNAME_MACHINE="alphaev79" ;;
- esac
- # A Pn.n version is a patched version.
- # A Vn.n version is a released version.
- # A Tn.n version is a released field test version.
- # A Xn.n version is an unreleased experimental baselevel.
- # 1.2 uses "1.2" for uname -r.
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- exit ;;
- Alpha\ *:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # Should we change UNAME_MACHINE based on the output of uname instead
- # of the specific Alpha model?
- echo alpha-pc-interix
- exit ;;
- 21064:Windows_NT:50:3)
- echo alpha-dec-winnt3.5
- exit ;;
- Amiga*:UNIX_System_V:4.0:*)
- echo m68k-unknown-sysv4
- exit ;;
- *:[Aa]miga[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-amigaos
- exit ;;
- *:[Mm]orph[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-morphos
- exit ;;
- *:OS/390:*:*)
- echo i370-ibm-openedition
- exit ;;
- *:z/VM:*:*)
- echo s390-ibm-zvmoe
- exit ;;
- *:OS400:*:*)
- echo powerpc-ibm-os400
- exit ;;
- arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
- echo arm-acorn-riscix${UNAME_RELEASE}
- exit ;;
- arm:riscos:*:*|arm:RISCOS:*:*)
- echo arm-unknown-riscos
- exit ;;
- SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
- echo hppa1.1-hitachi-hiuxmpp
- exit ;;
- Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
- # akee(a)wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
- if test "`(/bin/universe) 2>/dev/null`" = att ; then
- echo pyramid-pyramid-sysv3
- else
- echo pyramid-pyramid-bsd
- fi
- exit ;;
- NILE*:*:*:dcosx)
- echo pyramid-pyramid-svr4
- exit ;;
- DRS?6000:unix:4.0:6*)
- echo sparc-icl-nx6
- exit ;;
- DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
- case `/usr/bin/uname -p` in
- sparc) echo sparc-icl-nx7; exit ;;
- esac ;;
- sun4H:SunOS:5.*:*)
- echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- i86pc:SunOS:5.*:* | ix86xen:SunOS:5.*:*)
- echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:6*:*)
- # According to config.sub, this is the proper way to canonicalize
- # SunOS6. Hard to guess exactly what SunOS6 will be like, but
- # it's likely to be more like Solaris than SunOS4.
- echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:*:*)
- case "`/usr/bin/arch -k`" in
- Series*|S4*)
- UNAME_RELEASE=`uname -v`
- ;;
- esac
- # Japanese Language versions have a version number like `4.1.3-JL'.
- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
- exit ;;
- sun3*:SunOS:*:*)
- echo m68k-sun-sunos${UNAME_RELEASE}
- exit ;;
- sun*:*:4.2BSD:*)
- UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
- case "`/bin/arch`" in
- sun3)
- echo m68k-sun-sunos${UNAME_RELEASE}
- ;;
- sun4)
- echo sparc-sun-sunos${UNAME_RELEASE}
- ;;
- esac
- exit ;;
- aushp:SunOS:*:*)
- echo sparc-auspex-sunos${UNAME_RELEASE}
- exit ;;
- # The situation for MiNT is a little confusing. The machine name
- # can be virtually everything (everything which is not
- # "atarist" or "atariste" at least should have a processor
- # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
- # to the lowercase version "mint" (or "freemint"). Finally
- # the system name "TOS" denotes a system which is actually not
- # MiNT. But MiNT is downward compatible to TOS, so this should
- # be no problem.
- atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint${UNAME_RELEASE}
- exit ;;
- hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint${UNAME_RELEASE}
- exit ;;
- *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-unknown-mint${UNAME_RELEASE}
- exit ;;
- m68k:machten:*:*)
- echo m68k-apple-machten${UNAME_RELEASE}
- exit ;;
- powerpc:machten:*:*)
- echo powerpc-apple-machten${UNAME_RELEASE}
- exit ;;
- RISC*:Mach:*:*)
- echo mips-dec-mach_bsd4.3
- exit ;;
- RISC*:ULTRIX:*:*)
- echo mips-dec-ultrix${UNAME_RELEASE}
- exit ;;
- VAX*:ULTRIX*:*:*)
- echo vax-dec-ultrix${UNAME_RELEASE}
- exit ;;
- 2020:CLIX:*:* | 2430:CLIX:*:*)
- echo clipper-intergraph-clix${UNAME_RELEASE}
- exit ;;
- mips:*:*:UMIPS | mips:*:*:RISCos)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-#ifdef __cplusplus
-#include <stdio.h> /* for printf() prototype */
- int main (int argc, char *argv[]) {
-#else
- int main (argc, argv) int argc; char *argv[]; {
-#endif
- #if defined (host_mips) && defined (MIPSEB)
- #if defined (SYSTYPE_SYSV)
- printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_SVR4)
- printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
- printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
- #endif
- #endif
- exit (-1);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c &&
- dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
- SYSTEM_NAME=`$dummy $dummyarg` &&
- { echo "$SYSTEM_NAME"; exit; }
- echo mips-mips-riscos${UNAME_RELEASE}
- exit ;;
- Motorola:PowerMAX_OS:*:*)
- echo powerpc-motorola-powermax
- exit ;;
- Motorola:*:4.3:PL8-*)
- echo powerpc-harris-powermax
- exit ;;
- Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
- echo powerpc-harris-powermax
- exit ;;
- Night_Hawk:Power_UNIX:*:*)
- echo powerpc-harris-powerunix
- exit ;;
- m88k:CX/UX:7*:*)
- echo m88k-harris-cxux7
- exit ;;
- m88k:*:4*:R4*)
- echo m88k-motorola-sysv4
- exit ;;
- m88k:*:3*:R3*)
- echo m88k-motorola-sysv3
- exit ;;
- AViiON:dgux:*:*)
- # DG/UX returns AViiON for all architectures
- UNAME_PROCESSOR=`/usr/bin/uname -p`
- if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
- then
- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
- [ ${TARGET_BINARY_INTERFACE}x = x ]
- then
- echo m88k-dg-dgux${UNAME_RELEASE}
- else
- echo m88k-dg-dguxbcs${UNAME_RELEASE}
- fi
- else
- echo i586-dg-dgux${UNAME_RELEASE}
- fi
- exit ;;
- M88*:DolphinOS:*:*) # DolphinOS (SVR3)
- echo m88k-dolphin-sysv3
- exit ;;
- M88*:*:R3*:*)
- # Delta 88k system running SVR3
- echo m88k-motorola-sysv3
- exit ;;
- XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
- echo m88k-tektronix-sysv3
- exit ;;
- Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
- echo m68k-tektronix-bsd
- exit ;;
- *:IRIX*:*:*)
- echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
- exit ;;
- ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
- i*86:AIX:*:*)
- echo i386-ibm-aix
- exit ;;
- ia64:AIX:*:*)
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
- exit ;;
- *:AIX:2:3)
- if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <sys/systemcfg.h>
-
- main()
- {
- if (!__power_pc())
- exit(1);
- puts("powerpc-ibm-aix3.2.5");
- exit(0);
- }
-EOF
- if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
- then
- echo "$SYSTEM_NAME"
- else
- echo rs6000-ibm-aix3.2.5
- fi
- elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
- echo rs6000-ibm-aix3.2.4
- else
- echo rs6000-ibm-aix3.2
- fi
- exit ;;
- *:AIX:*:[45])
- IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
- if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
- IBM_ARCH=rs6000
- else
- IBM_ARCH=powerpc
- fi
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${IBM_ARCH}-ibm-aix${IBM_REV}
- exit ;;
- *:AIX:*:*)
- echo rs6000-ibm-aix
- exit ;;
- ibmrt:4.4BSD:*|romp-ibm:BSD:*)
- echo romp-ibm-bsd4.4
- exit ;;
- ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
- echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
- exit ;; # report: romp-ibm BSD 4.3
- *:BOSX:*:*)
- echo rs6000-bull-bosx
- exit ;;
- DPX/2?00:B.O.S.:*:*)
- echo m68k-bull-sysv3
- exit ;;
- 9000/[34]??:4.3bsd:1.*:*)
- echo m68k-hp-bsd
- exit ;;
- hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
- echo m68k-hp-bsd4.4
- exit ;;
- 9000/[34678]??:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- case "${UNAME_MACHINE}" in
- 9000/31? ) HP_ARCH=m68000 ;;
- 9000/[34]?? ) HP_ARCH=m68k ;;
- 9000/[678][0-9][0-9])
- if [ -x /usr/bin/getconf ]; then
- sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "${sc_cpu_version}" in
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
- 532) # CPU_PA_RISC2_0
- case "${sc_kernel_bits}" in
- 32) HP_ARCH="hppa2.0n" ;;
- 64) HP_ARCH="hppa2.0w" ;;
- '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
- esac ;;
- esac
- fi
- if [ "${HP_ARCH}" = "" ]; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-
- #define _HPUX_SOURCE
- #include <stdlib.h>
- #include <unistd.h>
-
- int main ()
- {
- #if defined(_SC_KERNEL_BITS)
- long bits = sysconf(_SC_KERNEL_BITS);
- #endif
- long cpu = sysconf (_SC_CPU_VERSION);
-
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
- case CPU_PA_RISC2_0:
- #if defined(_SC_KERNEL_BITS)
- switch (bits)
- {
- case 64: puts ("hppa2.0w"); break;
- case 32: puts ("hppa2.0n"); break;
- default: puts ("hppa2.0"); break;
- } break;
- #else /* !defined(_SC_KERNEL_BITS) */
- puts ("hppa2.0"); break;
- #endif
- default: puts ("hppa1.0"); break;
- }
- exit (0);
- }
-EOF
- (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
- test -z "$HP_ARCH" && HP_ARCH=hppa
- fi ;;
- esac
- if [ ${HP_ARCH} = "hppa2.0w" ]
- then
- eval $set_cc_for_build
-
- # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
- # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
- # generating 64-bit code. GNU and HP use different nomenclature:
- #
- # $ CC_FOR_BUILD=cc ./config.guess
- # => hppa2.0w-hp-hpux11.23
- # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
- # => hppa64-hp-hpux11.23
-
- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
- grep __LP64__ >/dev/null
- then
- HP_ARCH="hppa2.0w"
- else
- HP_ARCH="hppa64"
- fi
- fi
- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
- exit ;;
- ia64:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- echo ia64-hp-hpux${HPUX_REV}
- exit ;;
- 3050*:HI-UX:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <unistd.h>
- int
- main ()
- {
- long cpu = sysconf (_SC_CPU_VERSION);
- /* The order matters, because CPU_IS_HP_MC68K erroneously returns
- true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
- results, however. */
- if (CPU_IS_PA_RISC (cpu))
- {
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
- default: puts ("hppa-hitachi-hiuxwe2"); break;
- }
- }
- else if (CPU_IS_HP_MC68K (cpu))
- puts ("m68k-hitachi-hiuxwe2");
- else puts ("unknown-hitachi-hiuxwe2");
- exit (0);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
- echo unknown-hitachi-hiuxwe2
- exit ;;
- 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
- echo hppa1.1-hp-bsd
- exit ;;
- 9000/8??:4.3bsd:*:*)
- echo hppa1.0-hp-bsd
- exit ;;
- *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
- echo hppa1.0-hp-mpeix
- exit ;;
- hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
- echo hppa1.1-hp-osf
- exit ;;
- hp8??:OSF1:*:*)
- echo hppa1.0-hp-osf
- exit ;;
- i*86:OSF1:*:*)
- if [ -x /usr/sbin/sysversion ] ; then
- echo ${UNAME_MACHINE}-unknown-osf1mk
- else
- echo ${UNAME_MACHINE}-unknown-osf1
- fi
- exit ;;
- parisc*:Lites*:*:*)
- echo hppa1.1-hp-lites
- exit ;;
- C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
- echo c1-convex-bsd
- exit ;;
- C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
- echo c34-convex-bsd
- exit ;;
- C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
- echo c38-convex-bsd
- exit ;;
- C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
- echo c4-convex-bsd
- exit ;;
- CRAY*Y-MP:*:*:*)
- echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*[A-Z]90:*:*:*)
- echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
- | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
- -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
- -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*TS:*:*:*)
- echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*T3E:*:*:*)
- echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*SV1:*:*:*)
- echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- *:UNICOS/mp:*:*)
- echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
- FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
- 5000:UNIX_System_V:4.*:*)
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
- i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
- exit ;;
- sparc*:BSD/OS:*:*)
- echo sparc-unknown-bsdi${UNAME_RELEASE}
- exit ;;
- *:BSD/OS:*:*)
- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
- exit ;;
- *:FreeBSD:*:*)
- case ${UNAME_MACHINE} in
- pc98)
- echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- amd64)
- echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- *)
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- esac
- exit ;;
- i*:CYGWIN*:*)
- echo ${UNAME_MACHINE}-pc-cygwin
- exit ;;
- *:MINGW*:*)
- echo ${UNAME_MACHINE}-pc-mingw32
- exit ;;
- i*:windows32*:*)
- # uname -m includes "-pc" on this system.
- echo ${UNAME_MACHINE}-mingw32
- exit ;;
- i*:PW*:*)
- echo ${UNAME_MACHINE}-pc-pw32
- exit ;;
- *:Interix*:[3456]*)
- case ${UNAME_MACHINE} in
- x86)
- echo i586-pc-interix${UNAME_RELEASE}
- exit ;;
- EM64T | authenticamd)
- echo x86_64-unknown-interix${UNAME_RELEASE}
- exit ;;
- esac ;;
- [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
- echo i${UNAME_MACHINE}-pc-mks
- exit ;;
- i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
- # UNAME_MACHINE based on the output of uname instead of i386?
- echo i586-pc-interix
- exit ;;
- i*:UWIN*:*)
- echo ${UNAME_MACHINE}-pc-uwin
- exit ;;
- amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
- echo x86_64-unknown-cygwin
- exit ;;
- p*:CYGWIN*:*)
- echo powerpcle-unknown-cygwin
- exit ;;
- prep*:SunOS:5.*:*)
- echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- *:GNU:*:*)
- # the GNU system
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
- exit ;;
- *:GNU/*:*:*)
- # other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
- exit ;;
- i*86:Minix:*:*)
- echo ${UNAME_MACHINE}-pc-minix
- exit ;;
- arm*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- avr32*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- cris:Linux:*:*)
- echo cris-axis-linux-gnu
- exit ;;
- crisv32:Linux:*:*)
- echo crisv32-axis-linux-gnu
- exit ;;
- frv:Linux:*:*)
- echo frv-unknown-linux-gnu
- exit ;;
- ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- m32r*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- mips:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #undef CPU
- #undef mips
- #undef mipsel
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=mipsel
- #else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=mips
- #else
- CPU=
- #endif
- #endif
-EOF
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
- /^CPU/{
- s: ::g
- p
- }'`"
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
- ;;
- mips64:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #undef CPU
- #undef mips64
- #undef mips64el
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=mips64el
- #else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=mips64
- #else
- CPU=
- #endif
- #endif
-EOF
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
- /^CPU/{
- s: ::g
- p
- }'`"
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
- ;;
- or32:Linux:*:*)
- echo or32-unknown-linux-gnu
- exit ;;
- ppc:Linux:*:*)
- echo powerpc-unknown-linux-gnu
- exit ;;
- ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-gnu
- exit ;;
- alpha:Linux:*:*)
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
- EV5) UNAME_MACHINE=alphaev5 ;;
- EV56) UNAME_MACHINE=alphaev56 ;;
- PCA56) UNAME_MACHINE=alphapca56 ;;
- PCA57) UNAME_MACHINE=alphapca56 ;;
- EV6) UNAME_MACHINE=alphaev6 ;;
- EV67) UNAME_MACHINE=alphaev67 ;;
- EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
- objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
- exit ;;
- parisc:Linux:*:* | hppa:Linux:*:*)
- # Look for CPU level
- case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-gnu ;;
- PA8*) echo hppa2.0-unknown-linux-gnu ;;
- *) echo hppa-unknown-linux-gnu ;;
- esac
- exit ;;
- parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-gnu
- exit ;;
- s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux
- exit ;;
- sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- sh*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- sparc:Linux:*:* | sparc64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- vax:Linux:*:*)
- echo ${UNAME_MACHINE}-dec-linux-gnu
- exit ;;
- x86_64:Linux:*:*)
- echo x86_64-unknown-linux-gnu
- exit ;;
- xtensa:Linux:*:*)
- echo xtensa-unknown-linux-gnu
- exit ;;
- i*86:Linux:*:*)
- # The BFD linker knows what the default object file format is, so
- # first see if it will tell us. cd to the root directory to prevent
- # problems with other programs or directories called `ld' in the path.
- # Set LC_ALL=C to ensure ld outputs messages in English.
- ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
- | sed -ne '/supported targets:/!d
- s/[ ][ ]*/ /g
- s/.*supported targets: *//
- s/ .*//
- p'`
- case "$ld_supported_targets" in
- elf32-i386)
- TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
- ;;
- a.out-i386-linux)
- echo "${UNAME_MACHINE}-pc-linux-gnuaout"
- exit ;;
- coff-i386)
- echo "${UNAME_MACHINE}-pc-linux-gnucoff"
- exit ;;
- "")
- # Either a pre-BFD a.out linker (linux-gnuoldld) or
- # one that does not give us useful --help.
- echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
- exit ;;
- esac
- # Determine whether the default compiler is a.out or elf
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <features.h>
- #ifdef __ELF__
- # ifdef __GLIBC__
- # if __GLIBC__ >= 2
- LIBC=gnu
- # else
- LIBC=gnulibc1
- # endif
- # else
- LIBC=gnulibc1
- # endif
- #else
- #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
- LIBC=gnu
- #else
- LIBC=gnuaout
- #endif
- #endif
- #ifdef __dietlibc__
- LIBC=dietlibc
- #endif
-EOF
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
- /^LIBC/{
- s: ::g
- p
- }'`"
- test x"${LIBC}" != x && {
- echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
- exit
- }
- test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
- ;;
- i*86:DYNIX/ptx:4*:*)
- # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
- # earlier versions are messed up and put the nodename in both
- # sysname and nodename.
- echo i386-sequent-sysv4
- exit ;;
- i*86:UNIX_SV:4.2MP:2.*)
- # Unixware is an offshoot of SVR4, but it has its own version
- # number series starting with 2...
- # I am not positive that other SVR4 systems won't match this,
- # I just have to hope. -- rms.
- # Use sysv4.2uw... so that sysv4* matches it.
- echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
- exit ;;
- i*86:OS/2:*:*)
- # If we were able to find `uname', then EMX Unix compatibility
- # is probably installed.
- echo ${UNAME_MACHINE}-pc-os2-emx
- exit ;;
- i*86:XTS-300:*:STOP)
- echo ${UNAME_MACHINE}-unknown-stop
- exit ;;
- i*86:atheos:*:*)
- echo ${UNAME_MACHINE}-unknown-atheos
- exit ;;
- i*86:syllable:*:*)
- echo ${UNAME_MACHINE}-pc-syllable
- exit ;;
- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
- echo i386-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- i*86:*DOS:*:*)
- echo ${UNAME_MACHINE}-pc-msdosdjgpp
- exit ;;
- i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
- UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
- if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
- echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
- else
- echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
- fi
- exit ;;
- i*86:*:5:[678]*)
- # UnixWare 7.x, OpenUNIX and OpenServer 6.
- case `/bin/uname -X | grep "^Machine"` in
- *486*) UNAME_MACHINE=i486 ;;
- *Pentium) UNAME_MACHINE=i586 ;;
- *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
- esac
- echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
- exit ;;
- i*86:*:3.2:*)
- if test -f /usr/options/cb.name; then
- UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
- echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
- elif /bin/uname -X 2>/dev/null >/dev/null ; then
- UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
- (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
- (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
- && UNAME_MACHINE=i586
- (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
- && UNAME_MACHINE=i686
- (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
- && UNAME_MACHINE=i686
- echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
- else
- echo ${UNAME_MACHINE}-pc-sysv32
- fi
- exit ;;
- pc:*:*:*)
- # Left here for compatibility:
- # uname -m prints for DJGPP always 'pc', but it prints nothing about
- # the processor, so we play safe by assuming i386.
- echo i386-pc-msdosdjgpp
- exit ;;
- Intel:Mach:3*:*)
- echo i386-pc-mach3
- exit ;;
- paragon:*:*:*)
- echo i860-intel-osf1
- exit ;;
- i860:*:4.*:*) # i860-SVR4
- if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
- else # Add other i860-SVR4 vendors below as they are discovered.
- echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
- fi
- exit ;;
- mini*:CTIX:SYS*5:*)
- # "miniframe"
- echo m68010-convergent-sysv
- exit ;;
- mc68k:UNIX:SYSTEM5:3.51m)
- echo m68k-convergent-sysv
- exit ;;
- M680?0:D-NIX:5.3:*)
- echo m68k-diab-dnix
- exit ;;
- M68*:*:R3V[5678]*:*)
- test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
- 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
- OS_REL=''
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
- 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4; exit; } ;;
- m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
- echo m68k-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- mc68030:UNIX_System_V:4.*:*)
- echo m68k-atari-sysv4
- exit ;;
- TSUNAMI:LynxOS:2.*:*)
- echo sparc-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- rs6000:LynxOS:2.*:*)
- echo rs6000-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
- echo powerpc-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- SM[BE]S:UNIX_SV:*:*)
- echo mips-dde-sysv${UNAME_RELEASE}
- exit ;;
- RM*:ReliantUNIX-*:*:*)
- echo mips-sni-sysv4
- exit ;;
- RM*:SINIX-*:*:*)
- echo mips-sni-sysv4
- exit ;;
- *:SINIX-*:*:*)
- if uname -p 2>/dev/null >/dev/null ; then
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- echo ${UNAME_MACHINE}-sni-sysv4
- else
- echo ns32k-sni-sysv
- fi
- exit ;;
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
- # says <Richard.M.Bartel(a)ccMail.Census.GOV>
- echo i586-unisys-sysv4
- exit ;;
- *:UNIX_System_V:4*:FTX*)
- # From Gerald Hewes <hewes(a)openmarket.com>.
- # How about differentiating between stratus architectures? -djm
- echo hppa1.1-stratus-sysv4
- exit ;;
- *:*:*:FTX*)
- # From seanf(a)swdc.stratus.com.
- echo i860-stratus-sysv4
- exit ;;
- i*86:VOS:*:*)
- # From Paul.Green(a)stratus.com.
- echo ${UNAME_MACHINE}-stratus-vos
- exit ;;
- *:VOS:*:*)
- # From Paul.Green(a)stratus.com.
- echo hppa1.1-stratus-vos
- exit ;;
- mc68*:A/UX:*:*)
- echo m68k-apple-aux${UNAME_RELEASE}
- exit ;;
- news*:NEWS-OS:6*:*)
- echo mips-sony-newsos6
- exit ;;
- R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
- if [ -d /usr/nec ]; then
- echo mips-nec-sysv${UNAME_RELEASE}
- else
- echo mips-unknown-sysv${UNAME_RELEASE}
- fi
- exit ;;
- BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
- echo powerpc-be-beos
- exit ;;
- BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
- echo powerpc-apple-beos
- exit ;;
- BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
- echo i586-pc-beos
- exit ;;
- SX-4:SUPER-UX:*:*)
- echo sx4-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-5:SUPER-UX:*:*)
- echo sx5-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-6:SUPER-UX:*:*)
- echo sx6-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-7:SUPER-UX:*:*)
- echo sx7-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-8:SUPER-UX:*:*)
- echo sx8-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-8R:SUPER-UX:*:*)
- echo sx8r-nec-superux${UNAME_RELEASE}
- exit ;;
- Power*:Rhapsody:*:*)
- echo powerpc-apple-rhapsody${UNAME_RELEASE}
- exit ;;
- *:Rhapsody:*:*)
- echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
- exit ;;
- *:Darwin:*:*)
- UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
- case $UNAME_PROCESSOR in
- unknown) UNAME_PROCESSOR=powerpc ;;
- esac
- echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
- exit ;;
- *:procnto*:*:* | *:QNX:[0123456789]*:*)
- UNAME_PROCESSOR=`uname -p`
- if test "$UNAME_PROCESSOR" = "x86"; then
- UNAME_PROCESSOR=i386
- UNAME_MACHINE=pc
- fi
- echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
- exit ;;
- *:QNX:*:4*)
- echo i386-pc-qnx
- exit ;;
- NSE-?:NONSTOP_KERNEL:*:*)
- echo nse-tandem-nsk${UNAME_RELEASE}
- exit ;;
- NSR-?:NONSTOP_KERNEL:*:*)
- echo nsr-tandem-nsk${UNAME_RELEASE}
- exit ;;
- *:NonStop-UX:*:*)
- echo mips-compaq-nonstopux
- exit ;;
- BS2000:POSIX*:*:*)
- echo bs2000-siemens-sysv
- exit ;;
- DS/*:UNIX_System_V:*:*)
- echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
- exit ;;
- *:Plan9:*:*)
- # "uname -m" is not consistent, so use $cputype instead. 386
- # is converted to i386 for consistency with other x86
- # operating systems.
- if test "$cputype" = "386"; then
- UNAME_MACHINE=i386
- else
- UNAME_MACHINE="$cputype"
- fi
- echo ${UNAME_MACHINE}-unknown-plan9
- exit ;;
- *:TOPS-10:*:*)
- echo pdp10-unknown-tops10
- exit ;;
- *:TENEX:*:*)
- echo pdp10-unknown-tenex
- exit ;;
- KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
- echo pdp10-dec-tops20
- exit ;;
- XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
- echo pdp10-xkl-tops20
- exit ;;
- *:TOPS-20:*:*)
- echo pdp10-unknown-tops20
- exit ;;
- *:ITS:*:*)
- echo pdp10-unknown-its
- exit ;;
- SEI:*:*:SEIUX)
- echo mips-sei-seiux${UNAME_RELEASE}
- exit ;;
- *:DragonFly:*:*)
- echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
- exit ;;
- *:*VMS:*:*)
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- case "${UNAME_MACHINE}" in
- A*) echo alpha-dec-vms ; exit ;;
- I*) echo ia64-dec-vms ; exit ;;
- V*) echo vax-dec-vms ; exit ;;
- esac ;;
- *:XENIX:*:SysV)
- echo i386-pc-xenix
- exit ;;
- i*86:skyos:*:*)
- echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
- exit ;;
- i*86:rdos:*:*)
- echo ${UNAME_MACHINE}-pc-rdos
- exit ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
- printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
- "4"
-#else
- ""
-#endif
- ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
- printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- if (version < 4)
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
- else
- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
- exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
- printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
- printf ("ns32k-encore-mach\n"); exit (0);
-#else
- printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
- printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
- printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
- printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
- struct utsname un;
-
- uname(&un);
-
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-# include <sys/param.h>
-# if defined (BSD)
-# if BSD == 43
- printf ("vax-dec-bsd4.3\n"); exit (0);
-# else
-# if BSD == 199006
- printf ("vax-dec-bsd4.3reno\n"); exit (0);
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# endif
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# else
- printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- c34*)
- echo c34-convex-bsd
- exit ;;
- c38*)
- echo c38-convex-bsd
- exit ;;
- c4*)
- echo c4-convex-bsd
- exit ;;
- esac
-fi
-
-cat >&2 <<EOF
-$0: unable to guess system type
-
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
-
- http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.gue…
-and
- http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
-
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches(a)gnu.org> in order to provide the needed
-information to handle your system.
-
-config.guess timestamp = $timestamp
-
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo = `(hostinfo) 2>/dev/null`
-/bin/universe = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/oldcode/maint/config/config.sub b/oldcode/maint/config/config.sub
deleted file mode 100755
index 1761d8b..0000000
--- a/oldcode/maint/config/config.sub
+++ /dev/null
@@ -1,1626 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-# Inc.
-
-timestamp='2007-06-28'
-
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine. It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Please send patches to <config-patches(a)gnu.org>. Submit a context
-# diff and a properly formatted ChangeLog entry.
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support. The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
- $0 [OPTION] ALIAS
-
-Canonicalize a configuration name.
-
-Operation modes:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to <config-patches(a)gnu.org>."
-
-version="\
-GNU config.sub ($timestamp)
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit ;;
- --version | -v )
- echo "$version" ; exit ;;
- --help | --h* | -h )
- echo "$usage"; exit ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help"
- exit 1 ;;
-
- *local*)
- # First pass through any local machine types.
- echo $1
- exit ;;
-
- * )
- break ;;
- esac
-done
-
-case $# in
- 0) echo "$me: missing argument$help" >&2
- exit 1;;
- 1) ;;
- *) echo "$me: too many arguments$help" >&2
- exit 1;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
- uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
- storm-chaos* | os2-emx* | rtmk-nova*)
- os=-$maybe_os
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
- ;;
- *)
- basic_machine=`echo $1 | sed 's/-[^-]*$//'`
- if [ $basic_machine != $1 ]
- then os=`echo $1 | sed 's/.*-/-/'`
- else os=; fi
- ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work. We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
- -sun*os*)
- # Prevent following clause from handling this invalid input.
- ;;
- -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
- -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
- -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
- -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
- -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
- -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis | -knuth | -cray)
- os=
- basic_machine=$1
- ;;
- -sim | -cisco | -oki | -wec | -winbond)
- os=
- basic_machine=$1
- ;;
- -scout)
- ;;
- -wrs)
- os=-vxworks
- basic_machine=$1
- ;;
- -chorusos*)
- os=-chorusos
- basic_machine=$1
- ;;
- -chorusrdb)
- os=-chorusrdb
- basic_machine=$1
- ;;
- -hiux*)
- os=-hiuxwe2
- ;;
- -sco6)
- os=-sco5v6
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco5)
- os=-sco3.2v5
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco4)
- os=-sco3.2v4
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2.[4-9]*)
- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2v[4-9]*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco5v6*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco*)
- os=-sco3.2v2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -udk*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -isc)
- os=-isc2.2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -clix*)
- basic_machine=clipper-intergraph
- ;;
- -isc*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -lynx*)
- os=-lynxos
- ;;
- -ptx*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
- ;;
- -windowsnt*)
- os=`echo $os | sed -e 's/windowsnt/winnt/'`
- ;;
- -psos*)
- os=-psos
- ;;
- -mint | -mint[0-9]*)
- basic_machine=m68k-atari
- os=-mint
- ;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
- # Recognize the basic CPU types without company name.
- # Some are omitted here because they have special meanings below.
- 1750a | 580 \
- | a29k \
- | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
- | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
- | am33_2.0 \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
- | bfin \
- | c4x | clipper \
- | d10v | d30v | dlx | dsp16xx \
- | fido | fr30 | frv \
- | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
- | i370 | i860 | i960 | ia64 \
- | ip2k | iq2000 \
- | m32c | m32r | m32rle | m68000 | m68k | m88k \
- | maxq | mb | microblaze | mcore | mep \
- | mips | mipsbe | mipseb | mipsel | mipsle \
- | mips16 \
- | mips64 | mips64el \
- | mips64vr | mips64vrel \
- | mips64orion | mips64orionel \
- | mips64vr4100 | mips64vr4100el \
- | mips64vr4300 | mips64vr4300el \
- | mips64vr5000 | mips64vr5000el \
- | mips64vr5900 | mips64vr5900el \
- | mipsisa32 | mipsisa32el \
- | mipsisa32r2 | mipsisa32r2el \
- | mipsisa64 | mipsisa64el \
- | mipsisa64r2 | mipsisa64r2el \
- | mipsisa64sb1 | mipsisa64sb1el \
- | mipsisa64sr71k | mipsisa64sr71kel \
- | mipstx39 | mipstx39el \
- | mn10200 | mn10300 \
- | mt \
- | msp430 \
- | nios | nios2 \
- | ns16k | ns32k \
- | or32 \
- | pdp10 | pdp11 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
- | pyramid \
- | score \
- | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
- | sh64 | sh64le \
- | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
- | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
- | spu | strongarm \
- | tahoe | thumb | tic4x | tic80 | tron \
- | v850 | v850e \
- | we32k \
- | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
- | z8k)
- basic_machine=$basic_machine-unknown
- ;;
- m6811 | m68hc11 | m6812 | m68hc12)
- # Motorola 68HC11/12.
- basic_machine=$basic_machine-unknown
- os=-none
- ;;
- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
- ;;
- ms1)
- basic_machine=mt-unknown
- ;;
-
- # We use `pc' rather than `unknown'
- # because (1) that's what they normally are, and
- # (2) the word "unknown" tends to confuse beginning users.
- i*86 | x86_64)
- basic_machine=$basic_machine-pc
- ;;
- # Object if more than one company name word.
- *-*-*)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
- # Recognize the basic CPU types with company name.
- 580-* \
- | a29k-* \
- | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
- | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
- | avr-* | avr32-* \
- | bfin-* | bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
- | clipper-* | craynv-* | cydra-* \
- | d10v-* | d30v-* | dlx-* \
- | elxsi-* \
- | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
- | h8300-* | h8500-* \
- | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
- | i*86-* | i860-* | i960-* | ia64-* \
- | ip2k-* | iq2000-* \
- | m32c-* | m32r-* | m32rle-* \
- | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | maxq-* | mcore-* \
- | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
- | mips16-* \
- | mips64-* | mips64el-* \
- | mips64vr-* | mips64vrel-* \
- | mips64orion-* | mips64orionel-* \
- | mips64vr4100-* | mips64vr4100el-* \
- | mips64vr4300-* | mips64vr4300el-* \
- | mips64vr5000-* | mips64vr5000el-* \
- | mips64vr5900-* | mips64vr5900el-* \
- | mipsisa32-* | mipsisa32el-* \
- | mipsisa32r2-* | mipsisa32r2el-* \
- | mipsisa64-* | mipsisa64el-* \
- | mipsisa64r2-* | mipsisa64r2el-* \
- | mipsisa64sb1-* | mipsisa64sb1el-* \
- | mipsisa64sr71k-* | mipsisa64sr71kel-* \
- | mipstx39-* | mipstx39el-* \
- | mmix-* \
- | mt-* \
- | msp430-* \
- | nios-* | nios2-* \
- | none-* | np1-* | ns16k-* | ns32k-* \
- | orion-* \
- | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
- | pyramid-* \
- | romp-* | rs6000-* \
- | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
- | sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
- | tahoe-* | thumb-* \
- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
- | tron-* \
- | v850-* | v850e-* | vax-* \
- | we32k-* \
- | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
- | xstormy16-* | xtensa-* \
- | ymp-* \
- | z8k-*)
- ;;
- # Recognize the various machine names and aliases which stand
- # for a CPU type and a company and sometimes even an OS.
- 386bsd)
- basic_machine=i386-unknown
- os=-bsd
- ;;
- 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
- basic_machine=m68000-att
- ;;
- 3b*)
- basic_machine=we32k-att
- ;;
- a29khif)
- basic_machine=a29k-amd
- os=-udi
- ;;
- abacus)
- basic_machine=abacus-unknown
- ;;
- adobe68k)
- basic_machine=m68010-adobe
- os=-scout
- ;;
- alliant | fx80)
- basic_machine=fx80-alliant
- ;;
- altos | altos3068)
- basic_machine=m68k-altos
- ;;
- am29k)
- basic_machine=a29k-none
- os=-bsd
- ;;
- amd64)
- basic_machine=x86_64-pc
- ;;
- amd64-*)
- basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- amdahl)
- basic_machine=580-amdahl
- os=-sysv
- ;;
- amiga | amiga-*)
- basic_machine=m68k-unknown
- ;;
- amigaos | amigados)
- basic_machine=m68k-unknown
- os=-amigaos
- ;;
- amigaunix | amix)
- basic_machine=m68k-unknown
- os=-sysv4
- ;;
- apollo68)
- basic_machine=m68k-apollo
- os=-sysv
- ;;
- apollo68bsd)
- basic_machine=m68k-apollo
- os=-bsd
- ;;
- aux)
- basic_machine=m68k-apple
- os=-aux
- ;;
- balance)
- basic_machine=ns32k-sequent
- os=-dynix
- ;;
- c90)
- basic_machine=c90-cray
- os=-unicos
- ;;
- convex-c1)
- basic_machine=c1-convex
- os=-bsd
- ;;
- convex-c2)
- basic_machine=c2-convex
- os=-bsd
- ;;
- convex-c32)
- basic_machine=c32-convex
- os=-bsd
- ;;
- convex-c34)
- basic_machine=c34-convex
- os=-bsd
- ;;
- convex-c38)
- basic_machine=c38-convex
- os=-bsd
- ;;
- cray | j90)
- basic_machine=j90-cray
- os=-unicos
- ;;
- craynv)
- basic_machine=craynv-cray
- os=-unicosmp
- ;;
- cr16)
- basic_machine=cr16-unknown
- os=-elf
- ;;
- crds | unos)
- basic_machine=m68k-crds
- ;;
- crisv32 | crisv32-* | etraxfs*)
- basic_machine=crisv32-axis
- ;;
- cris | cris-* | etrax*)
- basic_machine=cris-axis
- ;;
- crx)
- basic_machine=crx-unknown
- os=-elf
- ;;
- da30 | da30-*)
- basic_machine=m68k-da30
- ;;
- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
- basic_machine=mips-dec
- ;;
- decsystem10* | dec10*)
- basic_machine=pdp10-dec
- os=-tops10
- ;;
- decsystem20* | dec20*)
- basic_machine=pdp10-dec
- os=-tops20
- ;;
- delta | 3300 | motorola-3300 | motorola-delta \
- | 3300-motorola | delta-motorola)
- basic_machine=m68k-motorola
- ;;
- delta88)
- basic_machine=m88k-motorola
- os=-sysv3
- ;;
- djgpp)
- basic_machine=i586-pc
- os=-msdosdjgpp
- ;;
- dpx20 | dpx20-*)
- basic_machine=rs6000-bull
- os=-bosx
- ;;
- dpx2* | dpx2*-bull)
- basic_machine=m68k-bull
- os=-sysv3
- ;;
- ebmon29k)
- basic_machine=a29k-amd
- os=-ebmon
- ;;
- elxsi)
- basic_machine=elxsi-elxsi
- os=-bsd
- ;;
- encore | umax | mmax)
- basic_machine=ns32k-encore
- ;;
- es1800 | OSE68k | ose68k | ose | OSE)
- basic_machine=m68k-ericsson
- os=-ose
- ;;
- fx2800)
- basic_machine=i860-alliant
- ;;
- genix)
- basic_machine=ns32k-ns
- ;;
- gmicro)
- basic_machine=tron-gmicro
- os=-sysv
- ;;
- go32)
- basic_machine=i386-pc
- os=-go32
- ;;
- h3050r* | hiux*)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- h8300hms)
- basic_machine=h8300-hitachi
- os=-hms
- ;;
- h8300xray)
- basic_machine=h8300-hitachi
- os=-xray
- ;;
- h8500hms)
- basic_machine=h8500-hitachi
- os=-hms
- ;;
- harris)
- basic_machine=m88k-harris
- os=-sysv3
- ;;
- hp300-*)
- basic_machine=m68k-hp
- ;;
- hp300bsd)
- basic_machine=m68k-hp
- os=-bsd
- ;;
- hp300hpux)
- basic_machine=m68k-hp
- os=-hpux
- ;;
- hp3k9[0-9][0-9] | hp9[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hp9k2[0-9][0-9] | hp9k31[0-9])
- basic_machine=m68000-hp
- ;;
- hp9k3[2-9][0-9])
- basic_machine=m68k-hp
- ;;
- hp9k6[0-9][0-9] | hp6[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hp9k7[0-79][0-9] | hp7[0-79][0-9])
- basic_machine=hppa1.1-hp
- ;;
- hp9k78[0-9] | hp78[0-9])
- # FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
- # FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][13679] | hp8[0-9][13679])
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][0-9] | hp8[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hppa-next)
- os=-nextstep3
- ;;
- hppaosf)
- basic_machine=hppa1.1-hp
- os=-osf
- ;;
- hppro)
- basic_machine=hppa1.1-hp
- os=-proelf
- ;;
- i370-ibm* | ibm*)
- basic_machine=i370-ibm
- ;;
-# I'm not sure what "Sysv32" means. Should this be sysv3.2?
- i*86v32)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv32
- ;;
- i*86v4*)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv4
- ;;
- i*86v)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv
- ;;
- i*86sol2)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-solaris2
- ;;
- i386mach)
- basic_machine=i386-mach
- os=-mach
- ;;
- i386-vsta | vsta)
- basic_machine=i386-unknown
- os=-vsta
- ;;
- iris | iris4d)
- basic_machine=mips-sgi
- case $os in
- -irix*)
- ;;
- *)
- os=-irix4
- ;;
- esac
- ;;
- isi68 | isi)
- basic_machine=m68k-isi
- os=-sysv
- ;;
- m88k-omron*)
- basic_machine=m88k-omron
- ;;
- magnum | m3230)
- basic_machine=mips-mips
- os=-sysv
- ;;
- merlin)
- basic_machine=ns32k-utek
- os=-sysv
- ;;
- mingw32)
- basic_machine=i386-pc
- os=-mingw32
- ;;
- mingw32ce)
- basic_machine=arm-unknown
- os=-mingw32ce
- ;;
- miniframe)
- basic_machine=m68000-convergent
- ;;
- *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
- basic_machine=m68k-atari
- os=-mint
- ;;
- mips3*-*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
- ;;
- mips3*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
- ;;
- monitor)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- morphos)
- basic_machine=powerpc-unknown
- os=-morphos
- ;;
- msdos)
- basic_machine=i386-pc
- os=-msdos
- ;;
- ms1-*)
- basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
- ;;
- mvs)
- basic_machine=i370-ibm
- os=-mvs
- ;;
- ncr3000)
- basic_machine=i486-ncr
- os=-sysv4
- ;;
- netbsd386)
- basic_machine=i386-unknown
- os=-netbsd
- ;;
- netwinder)
- basic_machine=armv4l-rebel
- os=-linux
- ;;
- news | news700 | news800 | news900)
- basic_machine=m68k-sony
- os=-newsos
- ;;
- news1000)
- basic_machine=m68030-sony
- os=-newsos
- ;;
- news-3600 | risc-news)
- basic_machine=mips-sony
- os=-newsos
- ;;
- necv70)
- basic_machine=v70-nec
- os=-sysv
- ;;
- next | m*-next )
- basic_machine=m68k-next
- case $os in
- -nextstep* )
- ;;
- -ns2*)
- os=-nextstep2
- ;;
- *)
- os=-nextstep3
- ;;
- esac
- ;;
- nh3000)
- basic_machine=m68k-harris
- os=-cxux
- ;;
- nh[45]000)
- basic_machine=m88k-harris
- os=-cxux
- ;;
- nindy960)
- basic_machine=i960-intel
- os=-nindy
- ;;
- mon960)
- basic_machine=i960-intel
- os=-mon960
- ;;
- nonstopux)
- basic_machine=mips-compaq
- os=-nonstopux
- ;;
- np1)
- basic_machine=np1-gould
- ;;
- nsr-tandem)
- basic_machine=nsr-tandem
- ;;
- op50n-* | op60c-*)
- basic_machine=hppa1.1-oki
- os=-proelf
- ;;
- openrisc | openrisc-*)
- basic_machine=or32-unknown
- ;;
- os400)
- basic_machine=powerpc-ibm
- os=-os400
- ;;
- OSE68000 | ose68000)
- basic_machine=m68000-ericsson
- os=-ose
- ;;
- os68k)
- basic_machine=m68k-none
- os=-os68k
- ;;
- pa-hitachi)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- paragon)
- basic_machine=i860-intel
- os=-osf
- ;;
- pbd)
- basic_machine=sparc-tti
- ;;
- pbb)
- basic_machine=m68k-tti
- ;;
- pc532 | pc532-*)
- basic_machine=ns32k-pc532
- ;;
- pc98)
- basic_machine=i386-pc
- ;;
- pc98-*)
- basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentium | p5 | k5 | k6 | nexgen | viac3)
- basic_machine=i586-pc
- ;;
- pentiumpro | p6 | 6x86 | athlon | athlon_*)
- basic_machine=i686-pc
- ;;
- pentiumii | pentium2 | pentiumiii | pentium3)
- basic_machine=i686-pc
- ;;
- pentium4)
- basic_machine=i786-pc
- ;;
- pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumpro-* | p6-* | 6x86-* | athlon-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentium4-*)
- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pn)
- basic_machine=pn-gould
- ;;
- power) basic_machine=power-ibm
- ;;
- ppc) basic_machine=powerpc-unknown
- ;;
- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppcle | powerpclittle | ppc-le | powerpc-little)
- basic_machine=powerpcle-unknown
- ;;
- ppcle-* | powerpclittle-*)
- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppc64) basic_machine=powerpc64-unknown
- ;;
- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppc64le | powerpc64little | ppc64-le | powerpc64-little)
- basic_machine=powerpc64le-unknown
- ;;
- ppc64le-* | powerpc64little-*)
- basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ps2)
- basic_machine=i386-ibm
- ;;
- pw32)
- basic_machine=i586-unknown
- os=-pw32
- ;;
- rdos)
- basic_machine=i386-pc
- os=-rdos
- ;;
- rom68k)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- rm[46]00)
- basic_machine=mips-siemens
- ;;
- rtpc | rtpc-*)
- basic_machine=romp-ibm
- ;;
- s390 | s390-*)
- basic_machine=s390-ibm
- ;;
- s390x | s390x-*)
- basic_machine=s390x-ibm
- ;;
- sa29200)
- basic_machine=a29k-amd
- os=-udi
- ;;
- sb1)
- basic_machine=mipsisa64sb1-unknown
- ;;
- sb1el)
- basic_machine=mipsisa64sb1el-unknown
- ;;
- sde)
- basic_machine=mipsisa32-sde
- os=-elf
- ;;
- sei)
- basic_machine=mips-sei
- os=-seiux
- ;;
- sequent)
- basic_machine=i386-sequent
- ;;
- sh)
- basic_machine=sh-hitachi
- os=-hms
- ;;
- sh5el)
- basic_machine=sh5le-unknown
- ;;
- sh64)
- basic_machine=sh64-unknown
- ;;
- sparclite-wrs | simso-wrs)
- basic_machine=sparclite-wrs
- os=-vxworks
- ;;
- sps7)
- basic_machine=m68k-bull
- os=-sysv2
- ;;
- spur)
- basic_machine=spur-unknown
- ;;
- st2000)
- basic_machine=m68k-tandem
- ;;
- stratus)
- basic_machine=i860-stratus
- os=-sysv4
- ;;
- sun2)
- basic_machine=m68000-sun
- ;;
- sun2os3)
- basic_machine=m68000-sun
- os=-sunos3
- ;;
- sun2os4)
- basic_machine=m68000-sun
- os=-sunos4
- ;;
- sun3os3)
- basic_machine=m68k-sun
- os=-sunos3
- ;;
- sun3os4)
- basic_machine=m68k-sun
- os=-sunos4
- ;;
- sun4os3)
- basic_machine=sparc-sun
- os=-sunos3
- ;;
- sun4os4)
- basic_machine=sparc-sun
- os=-sunos4
- ;;
- sun4sol2)
- basic_machine=sparc-sun
- os=-solaris2
- ;;
- sun3 | sun3-*)
- basic_machine=m68k-sun
- ;;
- sun4)
- basic_machine=sparc-sun
- ;;
- sun386 | sun386i | roadrunner)
- basic_machine=i386-sun
- ;;
- sv1)
- basic_machine=sv1-cray
- os=-unicos
- ;;
- symmetry)
- basic_machine=i386-sequent
- os=-dynix
- ;;
- t3e)
- basic_machine=alphaev5-cray
- os=-unicos
- ;;
- t90)
- basic_machine=t90-cray
- os=-unicos
- ;;
- tic54x | c54x*)
- basic_machine=tic54x-unknown
- os=-coff
- ;;
- tic55x | c55x*)
- basic_machine=tic55x-unknown
- os=-coff
- ;;
- tic6x | c6x*)
- basic_machine=tic6x-unknown
- os=-coff
- ;;
- tx39)
- basic_machine=mipstx39-unknown
- ;;
- tx39el)
- basic_machine=mipstx39el-unknown
- ;;
- toad1)
- basic_machine=pdp10-xkl
- os=-tops20
- ;;
- tower | tower-32)
- basic_machine=m68k-ncr
- ;;
- tpf)
- basic_machine=s390x-ibm
- os=-tpf
- ;;
- udi29k)
- basic_machine=a29k-amd
- os=-udi
- ;;
- ultra3)
- basic_machine=a29k-nyu
- os=-sym1
- ;;
- v810 | necv810)
- basic_machine=v810-nec
- os=-none
- ;;
- vaxv)
- basic_machine=vax-dec
- os=-sysv
- ;;
- vms)
- basic_machine=vax-dec
- os=-vms
- ;;
- vpp*|vx|vx-*)
- basic_machine=f301-fujitsu
- ;;
- vxworks960)
- basic_machine=i960-wrs
- os=-vxworks
- ;;
- vxworks68)
- basic_machine=m68k-wrs
- os=-vxworks
- ;;
- vxworks29k)
- basic_machine=a29k-wrs
- os=-vxworks
- ;;
- w65*)
- basic_machine=w65-wdc
- os=-none
- ;;
- w89k-*)
- basic_machine=hppa1.1-winbond
- os=-proelf
- ;;
- xbox)
- basic_machine=i686-pc
- os=-mingw32
- ;;
- xps | xps100)
- basic_machine=xps100-honeywell
- ;;
- ymp)
- basic_machine=ymp-cray
- os=-unicos
- ;;
- z8k-*-coff)
- basic_machine=z8k-unknown
- os=-sim
- ;;
- none)
- basic_machine=none-none
- os=-none
- ;;
-
-# Here we handle the default manufacturer of certain CPU types. It is in
-# some cases the only manufacturer, in others, it is the most popular.
- w89k)
- basic_machine=hppa1.1-winbond
- ;;
- op50n)
- basic_machine=hppa1.1-oki
- ;;
- op60c)
- basic_machine=hppa1.1-oki
- ;;
- romp)
- basic_machine=romp-ibm
- ;;
- mmix)
- basic_machine=mmix-knuth
- ;;
- rs6000)
- basic_machine=rs6000-ibm
- ;;
- vax)
- basic_machine=vax-dec
- ;;
- pdp10)
- # there are many clones, so DEC is not a safe bet
- basic_machine=pdp10-unknown
- ;;
- pdp11)
- basic_machine=pdp11-dec
- ;;
- we32k)
- basic_machine=we32k-att
- ;;
- sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
- basic_machine=sh-unknown
- ;;
- sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
- basic_machine=sparc-sun
- ;;
- cydra)
- basic_machine=cydra-cydrome
- ;;
- orion)
- basic_machine=orion-highlevel
- ;;
- orion105)
- basic_machine=clipper-highlevel
- ;;
- mac | mpw | mac-mpw)
- basic_machine=m68k-apple
- ;;
- pmac | pmac-mpw)
- basic_machine=powerpc-apple
- ;;
- *-unknown)
- # Make sure to match an already-canonicalized machine name.
- ;;
- *)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
- *-digital*)
- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
- ;;
- *-commodore*)
- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
- ;;
- *)
- ;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
- # First match some system type aliases
- # that might get confused with valid system types.
- # -solaris* is a basic system type, with this one exception.
- -solaris1 | -solaris1.*)
- os=`echo $os | sed -e 's|solaris1|sunos4|'`
- ;;
- -solaris)
- os=-solaris2
- ;;
- -svr4*)
- os=-sysv4
- ;;
- -unixware*)
- os=-sysv4.2uw
- ;;
- -gnu/linux*)
- os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
- ;;
- # First accept the basic system types.
- # The portable systems comes first.
- # Each alternative MUST END IN A *, to match a version number.
- # -sysv* is not here because it comes later, after sysvr4.
- -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
- | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
- | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* \
- | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
- | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
- | -openbsd* | -solidbsd* \
- | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
- | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
- | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
- | -chorusos* | -chorusrdb* \
- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
- | -uxpv* | -beos* | -mpeix* | -udk* \
- | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
- | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
- | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
- | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
- | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
- | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
- # Remember, each alternative MUST END IN *, to match a version number.
- ;;
- -qnx*)
- case $basic_machine in
- x86-* | i*86-*)
- ;;
- *)
- os=-nto$os
- ;;
- esac
- ;;
- -nto-qnx*)
- ;;
- -nto*)
- os=`echo $os | sed -e 's|nto|nto-qnx|'`
- ;;
- -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
- | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
- | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
- ;;
- -mac*)
- os=`echo $os | sed -e 's|mac|macos|'`
- ;;
- -linux-dietlibc)
- os=-linux-dietlibc
- ;;
- -linux*)
- os=`echo $os | sed -e 's|linux|linux-gnu|'`
- ;;
- -sunos5*)
- os=`echo $os | sed -e 's|sunos5|solaris2|'`
- ;;
- -sunos6*)
- os=`echo $os | sed -e 's|sunos6|solaris3|'`
- ;;
- -opened*)
- os=-openedition
- ;;
- -os400*)
- os=-os400
- ;;
- -wince*)
- os=-wince
- ;;
- -osfrose*)
- os=-osfrose
- ;;
- -osf*)
- os=-osf
- ;;
- -utek*)
- os=-bsd
- ;;
- -dynix*)
- os=-bsd
- ;;
- -acis*)
- os=-aos
- ;;
- -atheos*)
- os=-atheos
- ;;
- -syllable*)
- os=-syllable
- ;;
- -386bsd)
- os=-bsd
- ;;
- -ctix* | -uts*)
- os=-sysv
- ;;
- -nova*)
- os=-rtmk-nova
- ;;
- -ns2 )
- os=-nextstep2
- ;;
- -nsk*)
- os=-nsk
- ;;
- # Preserve the version number of sinix5.
- -sinix5.*)
- os=`echo $os | sed -e 's|sinix|sysv|'`
- ;;
- -sinix*)
- os=-sysv4
- ;;
- -tpf*)
- os=-tpf
- ;;
- -triton*)
- os=-sysv3
- ;;
- -oss*)
- os=-sysv3
- ;;
- -svr4)
- os=-sysv4
- ;;
- -svr3)
- os=-sysv3
- ;;
- -sysvr4)
- os=-sysv4
- ;;
- # This must come after -sysvr4.
- -sysv*)
- ;;
- -ose*)
- os=-ose
- ;;
- -es1800*)
- os=-ose
- ;;
- -xenix)
- os=-xenix
- ;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- os=-mint
- ;;
- -aros*)
- os=-aros
- ;;
- -kaos*)
- os=-kaos
- ;;
- -zvmoe)
- os=-zvmoe
- ;;
- -none)
- ;;
- *)
- # Get rid of the `-' at the beginning of $os.
- os=`echo $os | sed 's/[^-]*-//'`
- echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
- exit 1
- ;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system. Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
- score-*)
- os=-elf
- ;;
- spu-*)
- os=-elf
- ;;
- *-acorn)
- os=-riscix1.2
- ;;
- arm*-rebel)
- os=-linux
- ;;
- arm*-semi)
- os=-aout
- ;;
- c4x-* | tic4x-*)
- os=-coff
- ;;
- # This must come before the *-dec entry.
- pdp10-*)
- os=-tops20
- ;;
- pdp11-*)
- os=-none
- ;;
- *-dec | vax-*)
- os=-ultrix4.2
- ;;
- m68*-apollo)
- os=-domain
- ;;
- i386-sun)
- os=-sunos4.0.2
- ;;
- m68000-sun)
- os=-sunos3
- # This also exists in the configure program, but was not the
- # default.
- # os=-sunos4
- ;;
- m68*-cisco)
- os=-aout
- ;;
- mep-*)
- os=-elf
- ;;
- mips*-cisco)
- os=-elf
- ;;
- mips*-*)
- os=-elf
- ;;
- or32-*)
- os=-coff
- ;;
- *-tti) # must be before sparc entry or we get the wrong os.
- os=-sysv3
- ;;
- sparc-* | *-sun)
- os=-sunos4.1.1
- ;;
- *-be)
- os=-beos
- ;;
- *-haiku)
- os=-haiku
- ;;
- *-ibm)
- os=-aix
- ;;
- *-knuth)
- os=-mmixware
- ;;
- *-wec)
- os=-proelf
- ;;
- *-winbond)
- os=-proelf
- ;;
- *-oki)
- os=-proelf
- ;;
- *-hp)
- os=-hpux
- ;;
- *-hitachi)
- os=-hiux
- ;;
- i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
- os=-sysv
- ;;
- *-cbm)
- os=-amigaos
- ;;
- *-dg)
- os=-dgux
- ;;
- *-dolphin)
- os=-sysv3
- ;;
- m68k-ccur)
- os=-rtu
- ;;
- m88k-omron*)
- os=-luna
- ;;
- *-next )
- os=-nextstep
- ;;
- *-sequent)
- os=-ptx
- ;;
- *-crds)
- os=-unos
- ;;
- *-ns)
- os=-genix
- ;;
- i370-*)
- os=-mvs
- ;;
- *-next)
- os=-nextstep3
- ;;
- *-gould)
- os=-sysv
- ;;
- *-highlevel)
- os=-bsd
- ;;
- *-encore)
- os=-bsd
- ;;
- *-sgi)
- os=-irix
- ;;
- *-siemens)
- os=-sysv4
- ;;
- *-masscomp)
- os=-rtu
- ;;
- f30[01]-fujitsu | f700-fujitsu)
- os=-uxpv
- ;;
- *-rom68k)
- os=-coff
- ;;
- *-*bug)
- os=-coff
- ;;
- *-apple)
- os=-macos
- ;;
- *-atari*)
- os=-mint
- ;;
- *)
- os=-none
- ;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer. We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
- *-unknown)
- case $os in
- -riscix*)
- vendor=acorn
- ;;
- -sunos*)
- vendor=sun
- ;;
- -aix*)
- vendor=ibm
- ;;
- -beos*)
- vendor=be
- ;;
- -hpux*)
- vendor=hp
- ;;
- -mpeix*)
- vendor=hp
- ;;
- -hiux*)
- vendor=hitachi
- ;;
- -unos*)
- vendor=crds
- ;;
- -dgux*)
- vendor=dg
- ;;
- -luna*)
- vendor=omron
- ;;
- -genix*)
- vendor=ns
- ;;
- -mvs* | -opened*)
- vendor=ibm
- ;;
- -os400*)
- vendor=ibm
- ;;
- -ptx*)
- vendor=sequent
- ;;
- -tpf*)
- vendor=ibm
- ;;
- -vxsim* | -vxworks* | -windiss*)
- vendor=wrs
- ;;
- -aux*)
- vendor=apple
- ;;
- -hms*)
- vendor=hitachi
- ;;
- -mpw* | -macos*)
- vendor=apple
- ;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- vendor=atari
- ;;
- -vos*)
- vendor=stratus
- ;;
- esac
- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
- ;;
-esac
-
-echo $basic_machine$os
-exit
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/oldcode/maint/config/install-sh b/oldcode/maint/config/install-sh
deleted file mode 100755
index ebc6691..0000000
--- a/oldcode/maint/config/install-sh
+++ /dev/null
@@ -1,250 +0,0 @@
-#! /bin/sh
-#
-# install - install a program, script, or datafile
-# This comes from X11R5 (mit/util/scripts/install.sh).
-#
-# Copyright 1991 by the Massachusetts Institute of Technology
-#
-# Permission to use, copy, modify, distribute, and sell this software and its
-# documentation for any purpose is hereby granted without fee, provided that
-# the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission. M.I.T. makes no representations about the
-# suitability of this software for any purpose. It is provided "as is"
-# without express or implied warranty.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch. It can only install one file at a time, a restriction
-# shared with many OS's install programs.
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
- case $1 in
- -c) instcmd="$cpprog"
- shift
- continue;;
-
- -d) dir_arg=true
- shift
- continue;;
-
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
-
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd="$stripprog"
- shift
- continue;;
-
- -t=*) transformarg=`echo $1 | sed 's/-t=//'`
- shift
- continue;;
-
- -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
- shift
- continue;;
-
- *) if [ x"$src" = x ]
- then
- src=$1
- else
- # this colon is to work around a 386BSD /bin/sh bug
- :
- dst=$1
- fi
- shift
- continue;;
- esac
-done
-
-if [ x"$src" = x ]
-then
- echo "install: no input file specified"
- exit 1
-else
- true
-fi
-
-if [ x"$dir_arg" != x ]; then
- dst=$src
- src=""
-
- if [ -d $dst ]; then
- instcmd=:
- else
- instcmd=mkdir
- fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad
-# if $src (and thus $dsttmp) contains '*'.
-
- if [ -f $src -o -d $src ]
- then
- true
- else
- echo "install: $src does not exist"
- exit 1
- fi
-
- if [ x"$dst" = x ]
- then
- echo "install: no destination specified"
- exit 1
- else
- true
- fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
- if [ -d $dst ]
- then
- dst="$dst"/`basename $src`
- else
- true
- fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-# this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
-'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
- pathcomp="${pathcomp}${1}"
- shift
-
- if [ ! -d "${pathcomp}" ] ;
- then
- $mkdirprog "${pathcomp}"
- else
- true
- fi
-
- pathcomp="${pathcomp}/"
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
- $doit $instcmd $dst &&
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
- if [ x"$transformarg" = x ]
- then
- dstfile=`basename $dst`
- else
- dstfile=`basename $dst $transformbasename |
- sed $transformarg`$transformbasename
- fi
-
-# don't allow the sed command to completely eliminate the filename
-
- if [ x"$dstfile" = x ]
- then
- dstfile=`basename $dst`
- else
- true
- fi
-
-# Make a temp file name in the proper directory.
-
- dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
- $doit $instcmd $src $dsttmp &&
-
- trap "rm -f ${dsttmp}" 0 &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing. If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
-
-# Now rename the file to the real destination.
-
- $doit $rmcmd -f $dstdir/$dstfile &&
- $doit $mvcmd $dsttmp $dstdir/$dstfile
-
-fi &&
-
-
-exit 0
diff --git a/oldcode/maint/config/missing b/oldcode/maint/config/missing
deleted file mode 100755
index 6a37006..0000000
--- a/oldcode/maint/config/missing
+++ /dev/null
@@ -1,336 +0,0 @@
-#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
-# Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard(a)iro.umontreal.ca>, 1996.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-if test $# -eq 0; then
- echo 1>&2 "Try \`$0 --help' for more information"
- exit 1
-fi
-
-run=:
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
- configure_ac=configure.ac
-else
- configure_ac=configure.in
-fi
-
-case "$1" in
---run)
- # Try to run requested program, and just exit if it succeeds.
- run=
- shift
- "$@" && exit 0
- ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case "$1" in
-
- -h|--h|--he|--hel|--help)
- echo "\
-$0 [OPTION]... PROGRAM [ARGUMENT]...
-
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
-
-Options:
- -h, --help display this help and exit
- -v, --version output version information and exit
- --run try to run the given command, and emulate it if it fails
-
-Supported PROGRAM values:
- aclocal touch file \`aclocal.m4'
- autoconf touch file \`configure'
- autoheader touch file \`config.h.in'
- automake touch all \`Makefile.in' files
- bison create \`y.tab.[ch]', if possible, from existing .[ch]
- flex create \`lex.yy.c', if possible, from existing .c
- help2man touch the output file
- lex create \`lex.yy.c', if possible, from existing .c
- makeinfo touch the output file
- tar try tar, gnutar, gtar, then tar without non-portable flags
- yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
- ;;
-
- -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
- echo "missing 0.4 - GNU automake"
- ;;
-
- -*)
- echo 1>&2 "$0: Unknown \`$1' option"
- echo 1>&2 "Try \`$0 --help' for more information"
- exit 1
- ;;
-
- aclocal*)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- fi
-
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified \`acinclude.m4' or \`${configure_ac}'. You might want
- to install the \`Automake' and \`Perl' packages. Grab them from
- any GNU archive site."
- touch aclocal.m4
- ;;
-
- autoconf)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- fi
-
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified \`${configure_ac}'. You might want to install the
- \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
- archive site."
- touch configure
- ;;
-
- autoheader)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- fi
-
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified \`acconfig.h' or \`${configure_ac}'. You might want
- to install the \`Autoconf' and \`GNU m4' packages. Grab them
- from any GNU archive site."
- files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
- test -z "$files" && files="config.h"
- touch_files=
- for f in $files; do
- case "$f" in
- *:*) touch_files="$touch_files "`echo "$f" |
- sed -e 's/^[^:]*://' -e 's/:.*//'`;;
- *) touch_files="$touch_files $f.in";;
- esac
- done
- touch $touch_files
- ;;
-
- automake*)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- fi
-
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
- You might want to install the \`Automake' and \`Perl' packages.
- Grab them from any GNU archive site."
- find . -type f -name Makefile.am -print |
- sed 's/\.am$/.in/' |
- while read f; do touch "$f"; done
- ;;
-
- autom4te)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- fi
-
- echo 1>&2 "\
-WARNING: \`$1' is needed, and you do not seem to have it handy on your
- system. You might have modified some files without having the
- proper tools for further handling them.
- You can get \`$1Help2man' as part of \`Autoconf' from any GNU
- archive site."
-
- file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
- test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo "#! /bin/sh"
- echo "# Created by GNU Automake missing as a replacement of"
- echo "# $ $@"
- echo "exit 0"
- chmod +x $file
- exit 1
- fi
- ;;
-
- bison|yacc)
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified a \`.y' file. You may need the \`Bison' package
- in order for those modifications to take effect. You can get
- \`Bison' from any GNU archive site."
- rm -f y.tab.c y.tab.h
- if [ $# -ne 1 ]; then
- eval LASTARG="\${$#}"
- case "$LASTARG" in
- *.y)
- SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if [ -f "$SRCFILE" ]; then
- cp "$SRCFILE" y.tab.c
- fi
- SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if [ -f "$SRCFILE" ]; then
- cp "$SRCFILE" y.tab.h
- fi
- ;;
- esac
- fi
- if [ ! -f y.tab.h ]; then
- echo >y.tab.h
- fi
- if [ ! -f y.tab.c ]; then
- echo 'main() { return 0; }' >y.tab.c
- fi
- ;;
-
- lex|flex)
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified a \`.l' file. You may need the \`Flex' package
- in order for those modifications to take effect. You can get
- \`Flex' from any GNU archive site."
- rm -f lex.yy.c
- if [ $# -ne 1 ]; then
- eval LASTARG="\${$#}"
- case "$LASTARG" in
- *.l)
- SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if [ -f "$SRCFILE" ]; then
- cp "$SRCFILE" lex.yy.c
- fi
- ;;
- esac
- fi
- if [ ! -f lex.yy.c ]; then
- echo 'main() { return 0; }' >lex.yy.c
- fi
- ;;
-
- help2man)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- fi
-
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified a dependency of a manual page. You may need the
- \`Help2man' package in order for those modifications to take
- effect. You can get \`Help2man' from any GNU archive site."
-
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
- if test -z "$file"; then
- file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
- fi
- if [ -f "$file" ]; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo ".ab help2man is required to generate this page"
- exit 1
- fi
- ;;
-
- makeinfo)
- if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
- # We have makeinfo, but it failed.
- exit 1
- fi
-
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified a \`.texi' or \`.texinfo' file, or any other file
- indirectly affecting the aspect of the manual. The spurious
- call might also be the consequence of using a buggy \`make' (AIX,
- DU, IRIX). You might want to install the \`Texinfo' package or
- the \`GNU make' package. Grab either from any GNU archive site."
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
- if test -z "$file"; then
- file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
- fi
- touch $file
- ;;
-
- tar)
- shift
- if test -n "$run"; then
- echo 1>&2 "ERROR: \`tar' requires --run"
- exit 1
- fi
-
- # We have already tried tar in the generic part.
- # Look for gnutar/gtar before invocation to avoid ugly error
- # messages.
- if (gnutar --version > /dev/null 2>&1); then
- gnutar "$@" && exit 0
- fi
- if (gtar --version > /dev/null 2>&1); then
- gtar "$@" && exit 0
- fi
- firstarg="$1"
- if shift; then
- case "$firstarg" in
- *o*)
- firstarg=`echo "$firstarg" | sed s/o//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- case "$firstarg" in
- *h*)
- firstarg=`echo "$firstarg" | sed s/h//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- fi
-
- echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
- You may want to install GNU tar or Free paxutils, or check the
- command line arguments."
- exit 1
- ;;
-
- *)
- echo 1>&2 "\
-WARNING: \`$1' is needed, and you do not seem to have it handy on your
- system. You might have modified some files without having the
- proper tools for further handling them. Check the \`README' file,
- it often tells you about the needed prerequirements for installing
- this package. You may also peek at any GNU archive site, in case
- some other package would contain this missing \`$1' program."
- exit 1
- ;;
-esac
-
-exit 0
diff --git a/oldcode/maint/config/rt.m4 b/oldcode/maint/config/rt.m4
deleted file mode 100644
index 0cfab8c..0000000
--- a/oldcode/maint/config/rt.m4
+++ /dev/null
@@ -1,28 +0,0 @@
-
-AC_DEFUN([AX_CHECK_NEEDS_LIBRT],
-[
-
-AC_MSG_CHECKING([if server lib needs -lrt])
-oldldflags=$LDFLAGS
-
-AC_TRY_LINK(
- [#include <stdlib.h>
- #include <unistd.h>
- #include <aio.h>],
- [lio_listio(LIO_NOWAIT, NULL, 0, NULL);],
- [AC_MSG_RESULT(no)],
- [
- LDFLAGS="$LDFLAGS -lrt"
- AC_TRY_LINK(
- [#include <stdlib.h>
- #include <unistd.h>
- #include <aio.h>],
- [lio_listio(LIO_NOWAIT, NULL, 0, NULL);],
- [NEEDS_LIBRT=1
- AC_SUBST(NEEDS_LIBRT)
- AC_MSG_RESULT(yes)],
- [AC_MSG_ERROR(failed attempting to link lio_listio)])
- ])
-
-LDFLAGS=$oldldflags
-])
diff --git a/oldcode/maint/depend.sh b/oldcode/maint/depend.sh
deleted file mode 100755
index 491c7ff..0000000
--- a/oldcode/maint/depend.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-DIR="$1"
-shift
-if [ -n "$DIR" ] ; then
- DIR="$DIR"/
-fi
-exec $CC -M -MG "$@" | sed -e "s@^\(.*\)\.o:@$DIR\1.d $DIR\1.o $DIR\1.po:@"
diff --git a/oldcode/maint/gs-header-footer.pl b/oldcode/maint/gs-header-footer.pl
deleted file mode 100755
index c8cdac0..0000000
--- a/oldcode/maint/gs-header-footer.pl
+++ /dev/null
@@ -1,92 +0,0 @@
-#! /usr/bin/perl -w
-
-use Getopt::Long;
-
-$fix_flag = 0;
-
-GetOptions("fix" => \$fix_flag) or die "GetOptions: $!";
-
-@files = ();
-
-foreach $arg (@ARGV) {
- $files[$#files+1] = $arg;
-}
-
-if($fix_flag && $#files) {
- print "Error: please don't specify multiple targets when using --fix.\n";
- exit;
-}
-
-foreach $file (@files) {
- open(FD, "<$file") || die "error opening $file";
-
- $has_copyright = 0;
- $has_emacs_c_basic_offset = 0;
- $has_emacs_c_indent_level = 0;
- $has_vim_formatting = 0;
-
- while (<>) {
- if (/c-basic-offset: 4/) {
- $has_emacs_c_basic_offset++;
- }
- if (/c-indent-level: 4/) {
- $has_emacs_c_indent_level++;
- }
- if (/vim: ft=c ts=8 sts=4 sw=4 expandtab/) {
- print "found something!\n";
- $has_vim_formatting++;
- }
- if (/See COPYING in top-level directory/) {
- $has_copyright++;
- }
- }
-
- close(FD);
-
- if(!$fix_flag){
- if ($has_copyright < 1) { print "$file: missing or incorrect copyright block.\n"; }
- if ($has_copyright > 1) { print "$file: too many copyright lines!\n"; }
-
- if ($has_emacs_c_basic_offset < 1) { print "$file: missing emacs c-basic-offset: 4 line.\n"; }
- if ($has_emacs_c_basic_offset > 1) { print "$file: too many emacs c-basic-offset lines!\n"; }
-
- if ($has_emacs_c_indent_level < 1) { print "$file: missing emacs c-indent-level: 4 line.\n"; }
- if ($has_emacs_c_indent_level > 1) { print "$file: too many emacs c-indent-level lines!\n"; }
-
- if ($has_vim_formatting < 1) { print "$file: missing or incorrect vim formatting line.\n"; }
- if ($has_vim_formatting > 1) { print "$file: too many vim formatting lines!\n"; }
- }
- else {
- if(!$has_copyright) {
- open(TP_FD, "<TEMPLATE_COPYRIGHT_HEADER.txt") || die "error opening $file";
- while(<TP_FD>){
- print $_;
- }
- close(TP_FD);
- }
-
- open(FD, "<$file") || die "error opening $file";
- while(<FD>){
- print $_;
- }
- close(FD);
-
- # don't put a new trailer in unless the whole thing is missing
- if($has_emacs_c_basic_offset < 1 && $has_emacs_c_indent_level < 1 && $has_vim_formatting < 1) {
- open(TP_FD, "<TEMPLATE_FORMAT_TRAILER.txt") || die "error opening $file";
- while(<TP_FD>){
- print $_;
- }
- close(TP_FD);
- }
- else
- {
- if($has_emacs_c_basic_offset != 1 || $has_emacs_c_indent_level != 1 || $has_vim_formatting != 1) {
- print STDERR "WARNING: emacs or vim directives are present, but don't match the standard.\n";
- print STDERR "WARNING: see maint/TEMPLATE_FORMAT_TRAILER.txt.\n";
-
- }
- }
- }
-}
-
diff --git a/oldcode/maint/gs-indent.sh b/oldcode/maint/gs-indent.sh
deleted file mode 100755
index 77e2452..0000000
--- a/oldcode/maint/gs-indent.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh
-
-indent --brace-indent0 \
- --comment-indentation0 \
- --indent-level4 \
- --line-length80 \
- --comment-line-length78 \
- --break-function-decl-args \
- --cuddle-do-while \
- --no-space-after-function-call-names \
- --dont-break-procedure-type \
- -st \
- -nut \
- $@
diff --git a/oldcode/maint/gs-mangle-in-place.sh b/oldcode/maint/gs-mangle-in-place.sh
deleted file mode 100755
index 1d7204e..0000000
--- a/oldcode/maint/gs-mangle-in-place.sh
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/tcsh
-
-# WARNING: THIS SCRIPT IS DANGEROUS!!!!
-#
-# Note: this script must be run from within the maint directory
-#
-# This script takes a target file and runs it through
-# 3 scripts; one to fix quotation marks on includes, one to fix the
-# indentation style, and one to tack on copyright headers and vim/emacs
-# format footers. It overwrites the input file with the output file.
-#
-
-if ( $# != 1 ) then
- echo "Usage: gs-mangle-in-place.sh <filename>."
- exit 1
-endif
-
-if !(-f ${1} ) then
- echo "Error: could not access ${1}."
- exit 1
-endif
-
-if !(-f TEMPLATE_COPYRIGHT_HEADER.txt) then
- echo "Error: please run this script from within the maint directory of the grayskull source tree."
- exit 1
-endif
-
-echo "mangling ${1}."
-
-./gs-indent.sh ${1} > /tmp/mangle1
-./gs-quote-includes.sh ../ /tmp/mangle1 > /tmp/mangle2
-./gs-header-footer.pl --fix /tmp/mangle2 > /tmp/mangle3
-cp /tmp/mangle3 ${1}
-
-echo "...done."
-
-exit 0
diff --git a/oldcode/maint/gs-quote-includes.sh b/oldcode/maint/gs-quote-includes.sh
deleted file mode 100755
index bdf0dee..0000000
--- a/oldcode/maint/gs-quote-includes.sh
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/bin/tcsh
-
-# quick and dirty script to change
-# #include <foo.h>
-# to
-# #include "foo.h"
-# in the specified target file, where foo.h is a header that resides
-# in the grayskull source tree. It automatically generates the list of
-# headers files from the source tree at run time.
-
-# look for two arguments
-if ( $# != 2 ) then
- echo "Usage: gs-quote-includes.sh <grayskull_source_tree> <target_file>."
- exit 1
-endif
-
-# make sure the first argument is a valid gs source tree
-# TODO: look for a particular header or something
-if !( -d ${1} ) then
- echo "Error: ${1} doesn't look like a grayskull source tree."
- exit 1
-endif
-
-# make sure the second argument exists
-if !( -f ${2} ) then
- echo "Error: could not access ${2}."
- exit 1
-endif
-
-# grab list of headers (without path) from source tree
-set HEADERS = `find ${1} -name "*.h" | awk 'BEGIN { FS = "/" } ; {print $NF}'`
-
-# grab list of .gsh headers (without path) from source tree, and strip off
-# ".gs" part
-set HEADERS2 = `find ${1} -name "*.gsh" | awk 'BEGIN { FS = "/" } ; {print $NF}' | sed -e 's/\.gsh/.h/g'`
-
-# delete any old scratch file from previous runs
-rm /tmp/quoterules.sed >& /dev/null
-
-# dump a bunch of sed commands into a file
-foreach header ( $HEADERS)
- echo "s/#include[[:space:]]*<[[:space:]]*\(.*\/${header}\)[[:space:]]*>/#include "'"'"\1"'"'"/g" >> /tmp/quoterules.sed
-end
-foreach header ( $HEADERS2)
- echo "s/#include[[:space:]]*<[[:space:]]*\(.*\/${header}\)[[:space:]]*>/#include "'"'"\1"'"'"/g" >> /tmp/quoterules.sed
-end
-
-# now nail the target file with those sed commands
-sed -f /tmp/quoterules.sed ${2}
-
-exit 0
diff --git a/oldcode/maint/trove-autogen.pl b/oldcode/maint/trove-autogen.pl
deleted file mode 100755
index 9e38416..0000000
--- a/oldcode/maint/trove-autogen.pl
+++ /dev/null
@@ -1,232 +0,0 @@
-#!/usr/bin/perl -w
-
-#
-# This code parses a header file with prototypes and generates the code for the functions
-# for us. I should document it better.
-#
-
-# init_token() - call before calling next_token()
-sub init_token()
-{
- # skip to start of prototypes
- while(<>) {
- if ( /\/\* BEGIN AUTOGEN PROTOTYPES/ ) { last; }
- }
-
- $pos = 1;
- @tokens = ();
-}
-
-# next_token() - returns next token. starts with first line after BEGIN PROTOTYPES,
-# ends with line before END PROTOTYPES, returns "" once all tokens are
-# read.
-#
-# TODO: skip comments
-#
-sub next_token()
-{
- while (1) {
- if ($pos >= @tokens) {
- $pos = 0;
- if ($_ = <>) {
- if ( /\/\* END AUTOGEN PROTOTYPES/ ) { return ""; }
-
- @tokens = split(/([\s|\*+|\(|\)|,])/);
- }
- else { return ""; }
- }
-
- if ($tokens[$pos] =~ /^\s+/ || $tokens[$pos] eq "") { $pos++; }
- else { return $tokens[$pos++]; }
- }
-}
-
-# spit_out_header() - call before starting to output code
-sub spit_out_header()
-{
- print "/*\
- * (C) 2002 Clemson University and The University of Chicago\
- *\
- * See COPYING in top-level directory.\
- */\
-\
-/* THIS FILE IS AUTOMATICALLY GENERATED FROM HEADERS -- DO NOT EDIT!!! */\
-\
-#include \"trove.h\"\
-#include \"trove-internal.h\"\
-\
-extern struct TROVE_keyval_ops *keyval_method_table[];\
-extern struct TROVE_dspace_ops *dspace_method_table[];\
-extern struct TROVE_bstream_ops *bstream_method_table[];\
-extern struct TROVE_mgmt_ops *mgmt_method_table[];";
-
- printf "\n\n";
-}
-
-# spit_out_code() - creates code for us.
-#
-# This relies on $arg_nr being index to last argument in $arg_type[]
-# and $arg_name[] arrays, and $ret_type and $fn_name being set.
-# These are set by the main loop.
-sub spit_out_code()
-{
- printf "%s %s(\n", $ret_type, $fn_name;
- for ($i=0; $i <= $arg_nr; $i++) {
- printf " %s %s", $arg_type[$i], $arg_name[$i];
- if ($i == $arg_nr) { printf ")\n{\n"; }
- else { printf ",\n"; }
- }
-
- print " int method_id;\
-\
- method_id = map_coll_id_to_method(coll_id);\
- if (method_id < 0) {\
- return -1; /* NEED STATUS TYPE FOR THIS */\
- }\
-";
-
- $short_name = $fn_name;
- $short_name =~ s/trove_//;
-
- if ($short_name =~ /bstream/) {
- printf " return bstream_method_table[method_id]->";
- }
- elsif ($short_name =~ /keyval/) {
- printf " return keyval_method_table[method_id]->";
- }
- elsif ($short_name =~ /dspace/) {
- printf " return dspace_method_table[method_id]->";
- }
- elsif ($short_name =~ /collection/) {
- printf " return mgmt_method_table[method_id]->";
- }
- else {
- printf "unexpected function name\n";
- exit -1;
- }
-
- printf "%s(\n", $short_name;
- for ($i=0; $i <= $arg_nr; $i++) {
- printf " %s", $arg_name[$i];
- if ($i == $arg_nr) { printf ");\n}\n\n"; }
- else { printf ",\n"; }
- }
-}
-
-#
-# main loop
-#
-
-init_token();
-
-spit_out_header();
-
-# while (1) { print '"', next_token(), '"', "\n"; }
-
-#
-# Our states:
-# 0 - before start of fn
-# 1 - reading return type
-# 2 - starting read of type of parameter
-# 3 - reading parameter name
-# 4 - end of function
-# 5 - continuing to read type of parameter
-#
-$state = 0;
-$token = next_token();
-$arg_nr = 0;
-
-while (1) {
- SWITCH: {
- if ($state == 0) {
- $ret_type = $token;
- $token = next_token();
- $state = 1;
- last SWITCH;
- }
- if ($state == 1) {
- if ($token eq "*") {
- $ret_type = $ret_type . "*";
- $token = next_token();
- # keep looking for more return type
- }
- else {
- $fn_name = $token;
- $token = next_token();
- if ($token ne "(") {
- printf "state 1, expected (, got \"%s\"\n", $token;
- exit -1;
- }
- $token = next_token();
- $state = 2;
- }
- last SWITCH;
- }
- if ($state == 2) {
- $arg_type[$arg_nr] = $token;
- $token = next_token();
- $state = 5;
-
-
- last SWITCH;
- }
- if ($state == 5) {
- if ($token eq "*") {
- $arg_type[$arg_nr] = $arg_type[$arg_nr] . "*";
- # printf "partial name is %s\n", $arg_type[$arg_nr];
- $token = next_token();
- # keep looking for more argument type
- }
- else {
- # printf " arg_type[%d] = %s\n", $arg_nr, $arg_type[$arg_nr];
- $state = 3;
- }
- last SWITCH;
- }
- if ($state == 3) {
- $arg_name[$arg_nr] = $token;
- # printf " arg_name[%d] = %s\n", $arg_nr, $token;
- $token = next_token();
- if ($token eq ",") {
- $token = next_token();
- $arg_nr++;
- $state = 2;
- }
- elsif ($token ne ")") {
- printf "state 3, expected ), got \"%s\"\n", $token;
- exit -1;
- }
- else {
- $token = next_token();
- if ($token ne ";") {
- printf "state 3, expected ;, got \"%s\"\n", $token;
- exit -1;
- }
- $token = next_token();
- $state = 4;
- }
- last SWITCH;
- }
- if ($state == 4) {
- #
- # END OF FUNCTION
- #
- # printf "%s %s()\n", $ret_type, $fn_name;
-
- spit_out_code();
-
- $state = 0;
- $arg_nr = 0;
-
- if ($token eq "") { exit 0; }
- last SWITCH;
- }
- }
-}
-
-
-
-
-
-
-
diff --git a/oldcode/module.mk.in b/oldcode/module.mk.in
deleted file mode 100644
index 2bca3dc..0000000
--- a/oldcode/module.mk.in
+++ /dev/null
@@ -1,2 +0,0 @@
-# This file is used by "make dist" to pass along parameters
-# to the Makefile in release snapshots
diff --git a/oldcode/prepare b/oldcode/prepare
deleted file mode 100755
index f0693ee..0000000
--- a/oldcode/prepare
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/bash
-
-rm -fv config.cache
-
-if aclocal -I ./maint/config && autoheader && autoconf ; then
- echo "Grayskull configure script successfully regenerated"
-else
- echo "Some part of configure regeneration failed!"
- exit 1
-fi
-
-pushd src/gsl > /dev/null
-
-./prepare
-
-popd > /dev/null
diff --git a/oldcode/src/adio/ad_cmpi/Makefile b/oldcode/src/adio/ad_cmpi/Makefile
deleted file mode 100644
index b62675b..0000000
--- a/oldcode/src/adio/ad_cmpi/Makefile
+++ /dev/null
@@ -1,57 +0,0 @@
-CC = gcc
-AR = ar cr
-RANLIB = ranlib
-LIBNAME = /sandbox/wozniak/mpich2/lib/libmpich.a
-MPI = mpich
-srcdir = /sandbox/wozniak/mpich2/src/mpi/romio/adio/ad_cmpi
-CC_SHL = true
-SHLIBNAME = /sandbox/wozniak/mpich2/lib/libmpich
-
-INCLUDE_DIR = -I. -I${srcdir}/../include -I../include -I../../include -I${srcdir}/../../../../include -I../../../../include
-CFLAGS = -DUSE_PROCESS_LOCKS -I/sandbox/wozniak/mpich2/src/mpid/ch3/include -I/sandbox/wozniak/mpich2/src/mpid/ch3/include -I/sandbox/wozniak/mpich2/src/mpid/common/datatype -I/sandbox/wozniak/mpich2/src/mpid/common/datatype -I/sandbox/wozniak/mpich2/src/mpid/common/locks -I/sandbox/wozniak/mpich2/src/mpid/common/locks -I/sandbox/wozniak/mpich2/src/mpid/ch3/channels/nemesis/include -I/sandbox/wozniak/mpich2/src/mpid/ch3/channels/nemesis/include -I/sandbox/wozniak/mpich2/src/mpid/ch3/channels/nemesis/nemesis/include -I/sandbox/wozniak/mpich2/src/mpid/ch3/channels/nemesis/nemesis/include -I/sandbox/wozniak/mpich2/src/mpid/ch3/channels/nemesis/nemesis/utils/monitor -I/sandbox/wozniak/mpich2/src/mpid/ch3/channels/nemesis/nemesis/utils/monitor -I/sandbox/wozniak/mpich2/src/mpid/common/locks -I/sandbox/wozniak/mpich2/src/mpid/common/locks -I/sandbox/wozniak/mpich2/src/util/wrappers -I/sandbox/wozniak/mpich2/src/util/wrappers -O2 -DFORTRANDOUBLEUNDERSCORE -I /sandbox/wozni
ak/grayskull/branches/cmpi-io-1/code/src/include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_ROMIOCONF_H -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 $(INCLUDE_DIR)
-
-top_builddir = /sandbox/wozniak/mpich2
-LIBTOOL =
-C_COMPILE_SHL = $(CC_SHL)
-
-VPATH = .:${srcdir}
-
-AD_CMPI_OBJECTS = ad_cmpi_close.o ad_cmpi_read.o ad_cmpi_rdcoll.o \
- ad_cmpi_wrcoll.o ad_cmpi_open.o ad_cmpi_write.o \
- ad_cmpi_done.o ad_cmpi_fcntl.o ad_cmpi_iread.o \
- ad_cmpi_iwrite.o ad_cmpi_wait.o ad_cmpi_flush.o \
- ad_cmpi_seek.o ad_cmpi_resize.o ad_cmpi_hints.o \
- ad_cmpi_delete.o ad_cmpi.o
-
-default: $(LIBNAME)
- @if [ "none" != "none" ] ; then \
- $(MAKE) $(SHLIBNAME).la ;\
- fi
-
-.SUFFIXES: $(SUFFIXES) .p .lo
-
-.c.o:
- $(CC) $(CFLAGS) -c $<
-.c.lo:
- $(C_COMPILE_SHL) $(CFLAGS) -c $< -o _s$*.o
- @mv -f _s$*.o $*.lo
-
-$(LIBNAME): $(AD_CMPI_OBJECTS)
- $(AR) $(LIBNAME) $(AD_CMPI_OBJECTS)
- $(RANLIB) $(LIBNAME)
-
-AD_CMPI_LOOBJECTS = $(AD_CMPI_OBJECTS:.o=.lo)
-
-$(SHLIBNAME).la: $(AD_CMPI_LOOBJECTS)
- $(AR) $(SHLIBNAME).la $(AD_CMPI_LOOBJECTS)
-
-clean:
- @rm -f *.o *.lo *.gcno *.gcda *.bb *.bbg
- @rm -f ${srcdir}/*.gcno ${srcdir}/*.gcda
- @rm -f ${srcdir}/*.bb ${srcdir}/*.bbg
-
-tags: TAGS
-SOURCES = ${AD_CMPI_OBJECTS:.o=.c}
-HEADERS =
-TAGS:${HEADERS} ${SOURCES}
- here=`cd ../../../../.. && pwd` ; cd ${srcdir} && etags -o $$here/TAGS --append ${HEADERS} ${SOURCES}
diff --git a/oldcode/src/adio/ad_cmpi/Makefile.in b/oldcode/src/adio/ad_cmpi/Makefile.in
deleted file mode 100644
index 6c0f221..0000000
--- a/oldcode/src/adio/ad_cmpi/Makefile.in
+++ /dev/null
@@ -1,58 +0,0 @@
-CC = @CC@
-AR = @AR@
-RANLIB = @RANLIB@
-LIBNAME = @LIBNAME@
-MPI = @MPI@
-srcdir = @srcdir@
-CC_SHL = @CC_SHL@
-SHLIBNAME = @SHLIBNAME@
-
-INCLUDE_DIR = -I@MPI_INCLUDE_DIR@ -I${srcdir}/../include -I../include -I../../include -I${srcdir}/../../../../include -I../../../../include
-CFLAGS = @CPPFLAGS@ @CFLAGS@ $(INCLUDE_DIR)
-
-top_builddir = @master_topbuild_dir@
-LIBTOOL = @LIBTOOL@
-C_COMPILE_SHL = $(CC_SHL)
-
-@VPATH@
-
-AD_CMPI_OBJECTS = ad_cmpi_close.o ad_cmpi_read.o ad_cmpi_rdcoll.o \
- ad_cmpi_wrcoll.o ad_cmpi_open.o ad_cmpi_write.o \
- ad_cmpi_done.o ad_cmpi_fcntl.o ad_cmpi_iread.o \
- ad_cmpi_iwrite.o ad_cmpi_wait.o ad_cmpi_flush.o \
- ad_cmpi_seek.o ad_cmpi_resize.o ad_cmpi_hints.o \
- ad_cmpi_delete.o ad_cmpi.o
- ad_cmpi_delete.o ad_cmpi.o cmpi-io.o
-
-default: $(LIBNAME)
- @if [ "@ENABLE_SHLIB@" != "none" ] ; then \
- $(MAKE) $(SHLIBNAME).la ;\
- fi
-
-.SUFFIXES: $(SUFFIXES) .p .lo
-
-.c.o:
- $(CC) $(CFLAGS) -c $<
-.c.lo:
- $(C_COMPILE_SHL) $(CFLAGS) -c $< -o _s$*.o
- @mv -f _s$*.o $*.lo
-
-$(LIBNAME): $(AD_CMPI_OBJECTS)
- $(AR) $(LIBNAME) $(AD_CMPI_OBJECTS)
- $(RANLIB) $(LIBNAME)
-
-AD_CMPI_LOOBJECTS = $(AD_CMPI_OBJECTS:.o=.lo)
-
-$(SHLIBNAME).la: $(AD_CMPI_LOOBJECTS)
- $(AR) $(SHLIBNAME).la $(AD_CMPI_LOOBJECTS)
-
-clean:
- @rm -f *.o *.lo *.gcno *.gcda *.bb *.bbg
- @rm -f ${srcdir}/*.gcno ${srcdir}/*.gcda
- @rm -f ${srcdir}/*.bb ${srcdir}/*.bbg
-
-tags: TAGS
-SOURCES = ${AD_CMPI_OBJECTS:.o=.c}
-HEADERS =
-TAGS:${HEADERS} ${SOURCES}
- here=`cd ../../../../.. && pwd` ; cd ${srcdir} && etags -o $$here/TAGS --append ${HEADERS} ${SOURCES}
diff --git a/oldcode/src/adio/ad_cmpi/ad_cmpi.c b/oldcode/src/adio/ad_cmpi/ad_cmpi.c
deleted file mode 100644
index 473f4cd..0000000
--- a/oldcode/src/adio/ad_cmpi/ad_cmpi.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* -*- Mode: C; c-basic-offset:2 ; -*- */
-/*
- *
- * See COPYRIGHT notice in top-level directory.
- */
-
-#include "ad_cmpi.h"
-
-/* adioi.h has the ADIOI_Fns_struct define */
-#include "adioi.h"
-
-struct ADIOI_Fns_struct ADIO_CMPI_operations = {
- ADIOI_CMPI_Open, /* Open */
- ADIOI_CMPI_ReadContig, /* ReadContig */
- ADIOI_CMPI_WriteContig, /* WriteContig */
- ADIOI_CMPI_ReadStridedColl, /* ReadStridedColl */
- ADIOI_CMPI_WriteStridedColl, /* WriteStridedColl */
- ADIOI_CMPI_SeekIndividual, /* SeekIndividual */
- ADIOI_CMPI_Fcntl, /* Fcntl */
- ADIOI_CMPI_SetInfo, /* SetInfo */
- ADIOI_CMPI_ReadStrided, /* ReadStrided */
- ADIOI_CMPI_WriteStrided, /* WriteStrided */
- ADIOI_CMPI_Close, /* Close */
- ADIOI_CMPI_IreadContig, /* IreadContig */
- ADIOI_CMPI_IwriteContig, /* IwriteContig */
- ADIOI_CMPI_ReadDone, /* ReadDone */
- ADIOI_CMPI_WriteDone, /* WriteDone */
- ADIOI_CMPI_ReadComplete, /* ReadComplete */
- ADIOI_CMPI_WriteComplete, /* WriteComplete */
- ADIOI_CMPI_IreadStrided, /* IreadStrided */
- ADIOI_CMPI_IwriteStrided, /* IwriteStrided */
- ADIOI_CMPI_Flush, /* Flush */
- ADIOI_CMPI_Resize, /* Resize */
- ADIOI_CMPI_Delete /* Delete */
-};
diff --git a/oldcode/src/adio/ad_cmpi/ad_cmpi.h b/oldcode/src/adio/ad_cmpi/ad_cmpi.h
deleted file mode 100644
index c4ceda3..0000000
--- a/oldcode/src/adio/ad_cmpi/ad_cmpi.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- *
- * Copyright (C) 2001 University of Chicago.
- * See COPYRIGHT notice in top-level directory.
- */
-
-#ifndef AD_TESTFS_INCLUDE
-#define AD_TESTFS_INCLUDE
-
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/uio.h>
-#include <fcntl.h>
-#include "adio.h"
-
-#include "cmpi.h"
-
-void ADIOI_CMPI_Open(ADIO_File fd, int *error_code);
-void ADIOI_CMPI_Close(ADIO_File fd, int *error_code);
-void ADIOI_CMPI_ReadContig(ADIO_File fd, void *buf, int count,
- MPI_Datatype datatype, int file_ptr_type,
- ADIO_Offset offset, ADIO_Status *status, int
- *error_code);
-void ADIOI_CMPI_WriteContig(ADIO_File fd, void *buf, int count,
- MPI_Datatype datatype, int file_ptr_type,
- ADIO_Offset offset, ADIO_Status *status, int
- *error_code);
-void ADIOI_CMPI_IwriteContig(ADIO_File fd, void *buf, int count,
- MPI_Datatype datatype, int file_ptr_type,
- ADIO_Offset offset, ADIO_Request *request, int
- *error_code);
-void ADIOI_CMPI_IreadContig(ADIO_File fd, void *buf, int count,
- MPI_Datatype datatype, int file_ptr_type,
- ADIO_Offset offset, ADIO_Request *request, int
- *error_code);
-int ADIOI_CMPI_ReadDone(ADIO_Request *request, ADIO_Status *status, int
- *error_code);
-int ADIOI_CMPI_WriteDone(ADIO_Request *request, ADIO_Status *status, int
- *error_code);
-void ADIOI_CMPI_ReadComplete(ADIO_Request *request, ADIO_Status *status, int
- *error_code);
-void ADIOI_CMPI_WriteComplete(ADIO_Request *request, ADIO_Status *status,
- int *error_code);
-void ADIOI_CMPI_Fcntl(ADIO_File fd, int flag, ADIO_Fcntl_t *fcntl_struct,
- int *error_code);
-void ADIOI_CMPI_WriteStrided(ADIO_File fd, void *buf, int count,
- MPI_Datatype datatype, int file_ptr_type,
- ADIO_Offset offset, ADIO_Status *status,
- int *error_code);
-void ADIOI_CMPI_ReadStrided(ADIO_File fd, void *buf, int count,
- MPI_Datatype datatype, int file_ptr_type,
- ADIO_Offset offset, ADIO_Status *status, int
- *error_code);
-void ADIOI_CMPI_WriteStridedColl(ADIO_File fd, void *buf, int count,
- MPI_Datatype datatype, int file_ptr_type,
- ADIO_Offset offset, ADIO_Status *status, int
- *error_code);
-void ADIOI_CMPI_ReadStridedColl(ADIO_File fd, void *buf, int count,
- MPI_Datatype datatype, int file_ptr_type,
- ADIO_Offset offset, ADIO_Status *status, int
- *error_code);
-void ADIOI_CMPI_IreadStrided(ADIO_File fd, void *buf, int count,
- MPI_Datatype datatype, int file_ptr_type,
- ADIO_Offset offset, ADIO_Request *request, int
- *error_code);
-void ADIOI_CMPI_IwriteStrided(ADIO_File fd, void *buf, int count,
- MPI_Datatype datatype, int file_ptr_type,
- ADIO_Offset offset, ADIO_Request *request, int
- *error_code);
-void ADIOI_CMPI_Flush(ADIO_File fd, int *error_code);
-void ADIOI_CMPI_Resize(ADIO_File fd, ADIO_Offset size, int *error_code);
-ADIO_Offset ADIOI_CMPI_SeekIndividual(ADIO_File fd, ADIO_Offset offset,
- int whence, int *error_code);
-void ADIOI_CMPI_SetInfo(ADIO_File fd, MPI_Info users_info, int *error_code);
-void ADIOI_CMPI_Get_shared_fp(ADIO_File fd, int size,
- ADIO_Offset *shared_fp,
- int *error_code);
-void ADIOI_CMPI_Set_shared_fp(ADIO_File fd, ADIO_Offset offset,
- int *error_code);
-void ADIOI_CMPI_Delete(char *filename, int *error_code);
-
-#endif
-
-
-
-
diff --git a/oldcode/src/adio/ad_cmpi/ad_cmpi_close.c b/oldcode/src/adio/ad_cmpi/ad_cmpi_close.c
deleted file mode 100644
index f28fd3c..0000000
--- a/oldcode/src/adio/ad_cmpi/ad_cmpi_close.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- *
- * Copyright (C) 2001 University of Chicago.
- * See COPYRIGHT notice in top-level directory.
- */
-
-#include "ad_cmpi.h"
-#include "adioi.h"
-
-void ADIOI_CMPI_Close(ADIO_File fd, int *error_code)
-{
- int myrank, nprocs;
-
- fd->fd_sys = -1;
- *error_code = MPI_SUCCESS;
-
- MPI_Comm_size(fd->comm, &nprocs);
- MPI_Comm_rank(fd->comm, &myrank);
- FPRINTF(stdout, "[%d/%d] ADIOI_CMPI_Close called on %s\n", myrank,
- nprocs, fd->filename);
-}
diff --git a/oldcode/src/adio/ad_cmpi/ad_cmpi_delete.c b/oldcode/src/adio/ad_cmpi/ad_cmpi_delete.c
deleted file mode 100644
index 7ff85f5..0000000
--- a/oldcode/src/adio/ad_cmpi/ad_cmpi_delete.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- *
- * Copyright (C) 2001 University of Chicago.
- * See COPYRIGHT notice in top-level directory.
- */
-
-#include "ad_cmpi.h"
-#include "adioi.h"
-
-void ADIOI_CMPI_Delete(char *filename, int *error_code)
-{
- int myrank, nprocs;
-
- *error_code = MPI_SUCCESS;
-
- MPI_Comm_size(MPI_COMM_WORLD, &nprocs);
- MPI_Comm_rank(MPI_COMM_WORLD, &myrank);
- FPRINTF(stdout, "[%d/%d] ADIOI_CMPI_Delete called on %s\n",
- myrank, nprocs, filename);
-}
diff --git a/oldcode/src/adio/ad_cmpi/ad_cmpi_done.c b/oldcode/src/adio/ad_cmpi/ad_cmpi_done.c
deleted file mode 100644
index ea97c04..0000000
--- a/oldcode/src/adio/ad_cmpi/ad_cmpi_done.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- *
- * Copyright (C) 2001 University of Chicago.
- * See COPYRIGHT notice in top-level directory.
- */
-
-#include "ad_cmpi.h"
-#include "adioi.h"
-
-int ADIOI_CMPI_ReadDone(ADIO_Request *request, ADIO_Status *status, int
- *error_code)
-{
- int myrank, nprocs;
-
- *error_code = MPI_SUCCESS;
-
- MPI_Comm_size( MPI_COMM_WORLD, &nprocs );
- MPI_Comm_rank( MPI_COMM_WORLD, &myrank );
- FPRINTF(stdout, "[%d/%d] ADIOI_CMPI_ReadDone called on ADIO_REQUEST_NULL\n",
- myrank, nprocs);
- return 1;
-}
-
-
-int ADIOI_CMPI_WriteDone(ADIO_Request *request, ADIO_Status *status, int
- *error_code)
-{
- int myrank, nprocs;
-
- *error_code = MPI_SUCCESS;
-
- MPI_Comm_size( MPI_COMM_WORLD, &nprocs );
- MPI_Comm_rank( MPI_COMM_WORLD, &myrank );
- FPRINTF(stdout,
- "[%d/%d] ADIOI_CMPI_WriteDone called on ADIO_REQUEST_NULL\n",
- myrank, nprocs);
- return 1;
-}
diff --git a/oldcode/src/adio/ad_cmpi/ad_cmpi_fcntl.c b/oldcode/src/adio/ad_cmpi/ad_cmpi_fcntl.c
deleted file mode 100644
index 74787dd..0000000
--- a/oldcode/src/adio/ad_cmpi/ad_cmpi_fcntl.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- *
- * Copyright (C) 2001 University of Chicago.
- * See COPYRIGHT notice in top-level directory.
- */
-
-#include "ad_cmpi.h"
-#include "adioi.h"
-#include "adio_extern.h"
-
-void ADIOI_CMPI_Fcntl(ADIO_File fd, int flag, ADIO_Fcntl_t *fcntl_struct,
- int *error_code)
-{
- int myrank, nprocs;
- static char myname[] = "ADIOI_CMPI_FCNTL";
-
- *error_code = MPI_SUCCESS;
-
- MPI_Comm_size(fd->comm, &nprocs);
- MPI_Comm_rank(fd->comm, &myrank);
- FPRINTF(stdout, "[%d/%d] ADIOI_CMPI_Fcntl called on %s\n",
- myrank, nprocs, fd->filename);
-
- switch(flag) {
- case ADIO_FCNTL_GET_FSIZE:
- fcntl_struct->fsize = 0;
- *error_code = MPI_SUCCESS;
- break;
-
- case ADIO_FCNTL_SET_DISKSPACE:
- *error_code = MPI_SUCCESS;
- break;
-
- case ADIO_FCNTL_SET_ATOMICITY:
- fd->atomicity = (fcntl_struct->atomicity == 0) ? 0 : 1;
- *error_code = MPI_SUCCESS;
- break;
-
- default:
- /* --BEGIN ERROR HANDLING-- */
- *error_code = MPIO_Err_create_code(MPI_SUCCESS, MPIR_ERR_RECOVERABLE,
- myname, __LINE__,
- MPI_ERR_ARG,
- "**flag", "**flag %d", flag);
- return;
- /* --END ERROR HANDLING-- */
- }
-}
diff --git a/oldcode/src/adio/ad_cmpi/ad_cmpi_flush.c b/oldcode/src/adio/ad_cmpi/ad_cmpi_flush.c
deleted file mode 100644
index c14e513..0000000
--- a/oldcode/src/adio/ad_cmpi/ad_cmpi_flush.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- *
- * Copyright (C) 2001 University of Chicago.
- * See COPYRIGHT notice in top-level directory.
- */
-
-#include "ad_cmpi.h"
-#include "adioi.h"
-
-void ADIOI_CMPI_Flush(ADIO_File fd, int *error_code)
-{
- int myrank, nprocs;
-
- *error_code = MPI_SUCCESS;
-
- MPI_Comm_size(fd->comm, &nprocs);
- MPI_Comm_rank(fd->comm, &myrank);
- FPRINTF(stdout, "[%d/%d] ADIOI_CMPI_Flush called on %s\n",
- myrank, nprocs, fd->filename);
-}
diff --git a/oldcode/src/adio/ad_cmpi/ad_cmpi_getsh.c b/oldcode/src/adio/ad_cmpi/ad_cmpi_getsh.c
deleted file mode 100644
index be81196..0000000
--- a/oldcode/src/adio/ad_cmpi/ad_cmpi_getsh.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- *
- * Copyright (C) 2001 University of Chicago.
- * See COPYRIGHT notice in top-level directory.
- */
-
-#include "ad_cmpi.h"
-#include "adioi.h"
-
-void ADIOI_CMPI_Get_shared_fp(ADIO_File fd, int size,
- ADIO_Offset *shared_fp,
- int *error_code)
-{
- int myrank, nprocs;
-
- *error_code = MPI_SUCCESS;
-
- MPI_Comm_size(fd->comm, &nprocs);
- MPI_Comm_rank(fd->comm, &myrank);
- FPRINTF(stdout, "[%d/%d] ADIOI_CMPI_Get_shared_fp called on %s\n",
- myrank, nprocs, fd->filename);
-}
diff --git a/oldcode/src/adio/ad_cmpi/ad_cmpi_hints.c b/oldcode/src/adio/ad_cmpi/ad_cmpi_hints.c
deleted file mode 100644
index c67d9ad..0000000
--- a/oldcode/src/adio/ad_cmpi/ad_cmpi_hints.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- *
- * Copyright (C) 2001 University of Chicago.
- * See COPYRIGHT notice in top-level directory.
- */
-
-#include "ad_cmpi.h"
-#include "adioi.h"
-#ifdef ROMIO_BGL
-#include "../ad_bgl/ad_bgl.h"
-#endif
-void ADIOI_CMPI_SetInfo(ADIO_File fd, MPI_Info users_info, int *error_code)
-{
- int myrank, nprocs;
-
- *error_code = MPI_SUCCESS;
-
- MPI_Comm_size(fd->comm, &nprocs);
- MPI_Comm_rank(fd->comm, &myrank);
- FPRINTF(stdout, "[%d/%d] ADIOI_CMPI_SetInfo called on %s\n",
- myrank, nprocs, fd->filename);
- FPRINTF(stdout, "[%d/%d] calling ADIOI_GEN_SetInfo\n",
- myrank, nprocs);
-
-#ifdef ROMIO_BGL /* BlueGene support for pvfs through ufs */
- /* BlueGene hack: force testfs to mimic BlueGene hints */
- ADIOI_BGL_SetInfo(fd, users_info, error_code);
-#else
- ADIOI_GEN_SetInfo(fd, users_info, error_code);
-#endif
-}
diff --git a/oldcode/src/adio/ad_cmpi/ad_cmpi_iread.c b/oldcode/src/adio/ad_cmpi/ad_cmpi_iread.c
deleted file mode 100644
index 705132c..0000000
--- a/oldcode/src/adio/ad_cmpi/ad_cmpi_iread.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- *
- * Copyright (C) 2001 University of Chicago.
- * See COPYRIGHT notice in top-level directory.
- */
-
-#include "ad_cmpi.h"
-#include "adioi.h"
-
-/* ADIOI_CMPI_IreadContig()
- *
- * Implemented by immediately calling ReadContig()
- */
-void ADIOI_CMPI_IreadContig(ADIO_File fd, void *buf, int count,
- MPI_Datatype datatype, int file_ptr_type,
- ADIO_Offset offset, ADIO_Request *request, int
- *error_code)
-{
- ADIO_Status status;
- int myrank, nprocs, typesize, len;
-
- *error_code = MPI_SUCCESS;
-
- MPI_Comm_size(fd->comm, &nprocs);
- MPI_Comm_rank(fd->comm, &myrank);
- MPI_Type_size(datatype, &typesize);
- FPRINTF(stdout, "[%d/%d] ADIOI_CMPI_IreadContig called on %s\n",
- myrank, nprocs, fd->filename);
- FPRINTF(stdout, "[%d/%d] calling ADIOI_CMPI_ReadContig\n",
- myrank, nprocs);
-
- len = count * typesize;
- ADIOI_CMPI_ReadContig(fd, buf, len, MPI_BYTE, file_ptr_type,
- offset, &status, error_code);
-
- MPIO_Completed_request_create(&fd, len, error_code, request);
-}
-
-void ADIOI_CMPI_IreadStrided(ADIO_File fd, void *buf, int count,
- MPI_Datatype datatype, int file_ptr_type,
- ADIO_Offset offset, ADIO_Request *request, int
- *error_code)
-{
- ADIO_Status status;
- int myrank, nprocs;
- int typesize;
-
- MPI_Comm_size(fd->comm, &nprocs);
- MPI_Comm_rank(fd->comm, &myrank);
- MPI_Type_size(datatype, &typesize);
- FPRINTF(stdout, "[%d/%d] ADIOI_CMPI_IreadStrided called on %s\n",
- myrank, nprocs, fd->filename);
- FPRINTF(stdout, "[%d/%d] calling ADIOI_CMPI_ReadStrided\n",
- myrank, nprocs);
-
- ADIOI_CMPI_ReadStrided(fd, buf, count, datatype, file_ptr_type,
- offset, &status, error_code);
- MPIO_Completed_request_create(&fd, count*typesize, error_code, request);
-}
-
diff --git a/oldcode/src/adio/ad_cmpi/ad_cmpi_iwrite.c b/oldcode/src/adio/ad_cmpi/ad_cmpi_iwrite.c
deleted file mode 100644
index 8910600..0000000
--- a/oldcode/src/adio/ad_cmpi/ad_cmpi_iwrite.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- *
- * Copyright (C) 2001 University of Chicago.
- * See COPYRIGHT notice in top-level directory.
- */
-
-#include "ad_cmpi.h"
-#include "adioi.h"
-
-#include "mpiu_greq.h"
-#include "../../mpi-io/mpioimpl.h"
-
-/* ADIOI_CMPI_IwriteContig()
- *
- * Implemented by immediately calling WriteContig()
- */
-void ADIOI_CMPI_IwriteContig(ADIO_File fd, void *buf, int count,
- MPI_Datatype datatype, int file_ptr_type,
- ADIO_Offset offset, ADIO_Request *request, int
- *error_code)
-{
- ADIO_Status status;
- int myrank, nprocs, typesize, len;
-
- *error_code = MPI_SUCCESS;
-
- MPI_Type_size(datatype, &typesize);
- MPI_Comm_size(fd->comm, &nprocs);
- MPI_Comm_rank(fd->comm, &myrank);
- FPRINTF(stdout, "[%d/%d] ADIOI_CMPI_IwriteContig called on %s\n",
- myrank, nprocs, fd->filename);
- FPRINTF(stdout, "[%d/%d] calling ADIOI_CMPI_WriteContig\n",
- myrank, nprocs);
-
- len = count * typesize;
- ADIOI_CMPI_WriteContig(fd, buf, len, MPI_BYTE, file_ptr_type,
- offset, &status, error_code);
- MPIO_Completed_request_create(&fd, len, error_code, request);
-
-}
-
-void ADIOI_CMPI_IwriteStrided(ADIO_File fd, void *buf, int count,
- MPI_Datatype datatype, int file_ptr_type,
- ADIO_Offset offset, ADIO_Request *request, int
- *error_code)
-{
- ADIO_Status status;
- int myrank, nprocs;
- int typesize;
-
- *error_code = MPI_SUCCESS;
-
- MPI_Comm_size(fd->comm, &nprocs);
- MPI_Comm_rank(fd->comm, &myrank);
- MPI_Type_size(datatype, &typesize);
-
- FPRINTF(stdout, "[%d/%d] ADIOI_CMPI_IwriteStrided called on %s\n",
- myrank, nprocs, fd->filename);
- FPRINTF(stdout, "[%d/%d] calling ADIOI_CMPI_WriteStrided\n",
- myrank, nprocs);
-
- ADIOI_CMPI_WriteStrided(fd, buf, count, datatype, file_ptr_type,
- offset, &status, error_code);
- MPIO_Completed_request_create(&fd, count*typesize, error_code, request);
-
-}
diff --git a/oldcode/src/adio/ad_cmpi/ad_cmpi_open.c b/oldcode/src/adio/ad_cmpi/ad_cmpi_open.c
deleted file mode 100644
index 306d5db..0000000
--- a/oldcode/src/adio/ad_cmpi/ad_cmpi_open.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- *
- * Copyright (C) 2001 University of Chicago.
- * See COPYRIGHT notice in top-level directory.
- */
-
-#include "ad_cmpi.h"
-#include "adioi.h"
-
-void ADIOI_CMPI_Open(ADIO_File fd, int *error_code)
-{
- int myrank, nprocs;
-
- printf("CMPI_Open \n"); // CMPI_NOTE
-
- fd->fd_sys = 1;
- fd->fd_direct = -1;
- *error_code = MPI_SUCCESS;
-
- MPI_Comm_size(fd->comm, &nprocs);
- MPI_Comm_rank(fd->comm, &myrank);
- FPRINTF(stdout, "[%d/%d] ADIOI_CMPI_Open called on %s\n", myrank,
- nprocs, fd->filename);
-
- if (fd->access_mode & ADIO_CREATE)
- {
- char* value;
- cmpi_get(fd->filename, &value);
- if (value == NULL)
- {
- cmpi_put(fd->filename, "FILE 0");
- }
- }
-}
diff --git a/oldcode/src/adio/ad_cmpi/ad_cmpi_rdcoll.c b/oldcode/src/adio/ad_cmpi/ad_cmpi_rdcoll.c
deleted file mode 100644
index 0503e44..0000000
--- a/oldcode/src/adio/ad_cmpi/ad_cmpi_rdcoll.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- *
- * Copyright (C) 2001 University of Chicago.
- * See COPYRIGHT notice in top-level directory.
- */
-
-#include "ad_cmpi.h"
-#include "adioi.h"
-
-void ADIOI_CMPI_ReadStridedColl(ADIO_File fd, void *buf, int count,
- MPI_Datatype datatype, int file_ptr_type,
- ADIO_Offset offset, ADIO_Status *status,
- int *error_code)
-{
- int myrank, nprocs;
-
- *error_code = MPI_SUCCESS;
-
- MPI_Comm_size(fd->comm, &nprocs);
- MPI_Comm_rank(fd->comm, &myrank);
- FPRINTF(stdout, "[%d/%d] ADIOI_CMPI_ReadStridedColl called on %s\n",
- myrank, nprocs, fd->filename);
- FPRINTF(stdout, "[%d/%d] calling ADIOI_GEN_ReadStridedColl\n",
- myrank, nprocs);
-
- ADIOI_GEN_ReadStridedColl(fd, buf, count, datatype, file_ptr_type,
- offset, status, error_code);
-}
diff --git a/oldcode/src/adio/ad_cmpi/ad_cmpi_read.c b/oldcode/src/adio/ad_cmpi/ad_cmpi_read.c
deleted file mode 100644
index 07647b2..0000000
--- a/oldcode/src/adio/ad_cmpi/ad_cmpi_read.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- * Copyright (C) 2001 University of Chicago.
- * See COPYRIGHT notice in top-level directory.
- */
-
-#include "ad_cmpi.h"
-#include "adioi.h"
-
-void ADIOI_CMPI_ReadContig(ADIO_File fd, void *buf, int count,
- MPI_Datatype datatype, int file_ptr_type,
- ADIO_Offset offset, ADIO_Status *status, int
- *error_code)
-{
- int myrank, nprocs, datatype_size;
-
- *error_code = MPI_SUCCESS;
-
- MPI_Comm_size(fd->comm, &nprocs);
- MPI_Comm_rank(fd->comm, &myrank);
- MPI_Type_size(datatype, &datatype_size);
- FPRINTF(stdout, "[%d/%d] ADIOI_CMPI_ReadContig called on %s\n", myrank,
- nprocs, fd->filename);
- if (file_ptr_type != ADIO_EXPLICIT_OFFSET)
- {
- offset = fd->fp_ind;
- fd->fp_ind += datatype_size * count;
- fd->fp_sys_posn = fd->fp_ind;
-#if 0
- FPRINTF(stdout, "[%d/%d] new file position is %lld\n", myrank,
- nprocs, (long long) fd->fp_ind);
-#endif
- }
- else {
- fd->fp_sys_posn = offset + datatype_size * count;
- }
-
- FPRINTF(stdout, "[%d/%d] reading (buf = %p, loc = %lld, sz = %lld)\n",
- myrank, nprocs, buf, (long long) offset,
- (long long) datatype_size * count);
-
-#ifdef HAVE_STATUS_SET_BYTES
- MPIR_Status_set_bytes(status, datatype, datatype_size * count);
-#endif
-}
-
-void ADIOI_CMPI_ReadStrided(ADIO_File fd, void *buf, int count,
- MPI_Datatype datatype, int file_ptr_type,
- ADIO_Offset offset, ADIO_Status *status, int
- *error_code)
-{
- int myrank, nprocs;
-
- *error_code = MPI_SUCCESS;
-
- MPI_Comm_size(fd->comm, &nprocs);
- MPI_Comm_rank(fd->comm, &myrank);
- FPRINTF(stdout, "[%d/%d] ADIOI_CMPI_ReadStrided called on %s\n", myrank,
- nprocs, fd->filename);
- FPRINTF(stdout, "[%d/%d] calling ADIOI_GEN_ReadStrided\n", myrank,
- nprocs);
-
- ADIOI_GEN_ReadStrided(fd, buf, count, datatype, file_ptr_type, offset,
- status, error_code);
-}
diff --git a/oldcode/src/adio/ad_cmpi/ad_cmpi_resize.c b/oldcode/src/adio/ad_cmpi/ad_cmpi_resize.c
deleted file mode 100644
index 1e1d944..0000000
--- a/oldcode/src/adio/ad_cmpi/ad_cmpi_resize.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- *
- * Copyright (C) 2001 University of Chicago.
- * See COPYRIGHT notice in top-level directory.
- */
-
-#include "ad_cmpi.h"
-#include "adioi.h"
-
-void ADIOI_CMPI_Resize(ADIO_File fd, ADIO_Offset size, int *error_code)
-{
- int myrank, nprocs;
-
- *error_code = MPI_SUCCESS;
-
- MPI_Comm_size(fd->comm, &nprocs);
- MPI_Comm_rank(fd->comm, &myrank);
- FPRINTF(stdout, "[%d/%d] ADIOI_CMPI_Resize called on %s\n",
- myrank, nprocs, fd->filename);
-}
diff --git a/oldcode/src/adio/ad_cmpi/ad_cmpi_seek.c b/oldcode/src/adio/ad_cmpi/ad_cmpi_seek.c
deleted file mode 100644
index 64ed93d..0000000
--- a/oldcode/src/adio/ad_cmpi/ad_cmpi_seek.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- *
- * Copyright (C) 2001 University of Chicago.
- * See COPYRIGHT notice in top-level directory.
- */
-
-#include "ad_cmpi.h"
-#include "adioi.h"
-#include "adio_extern.h"
-
-/* ADIOI_CMPI_SeekIndividual()
- *
- * Implements SEEK_SET only (and doesn't test for whence type); all
- * other types of whence must be converted before calling this.
- *
- * Returns an absolute offset in bytes. The offset passed into the call is in
- * terms of the etype relative to the filetype, so some calculations are
- * necessary.
- */
-ADIO_Offset ADIOI_CMPI_SeekIndividual(ADIO_File fd, ADIO_Offset offset,
- int whence, int *error_code)
-{
- int myrank, nprocs;
-
- ADIO_Offset off;
- ADIOI_Flatlist_node *flat_file;
- int i, n_etypes_in_filetype, n_filetypes, etype_in_filetype;
- ADIO_Offset abs_off_in_filetype=0, sum;
- int size_in_filetype;
- int filetype_size, etype_size, filetype_is_contig;
- MPI_Aint filetype_extent;
-
- *error_code = MPI_SUCCESS;
-
- MPI_Comm_size(fd->comm, &nprocs);
- MPI_Comm_rank(fd->comm, &myrank);
- FPRINTF(stdout, "[%d/%d] ADIOI_CMPI_SeekIndividual called on %s\n",
- myrank, nprocs, fd->filename);
-
- ADIOI_Datatype_iscontig(fd->filetype, &filetype_is_contig);
- etype_size = fd->etype_size;
-
- if (filetype_is_contig) off = fd->disp + etype_size * offset;
- else {
- flat_file = ADIOI_Flatlist;
- while (flat_file->type != fd->filetype) flat_file = flat_file->next;
-
- MPI_Type_extent(fd->filetype, &filetype_extent);
- MPI_Type_size(fd->filetype, &filetype_size);
- if ( ! filetype_size ) {
- *error_code = MPI_SUCCESS;
- return 0;
- }
-
- n_etypes_in_filetype = filetype_size/etype_size;
- ADIOI_Assert((offset / n_etypes_in_filetype) == (int) (offset / n_etypes_in_filetype));
- n_filetypes = (int) (offset / n_etypes_in_filetype);
- etype_in_filetype = (int) (offset % n_etypes_in_filetype);
- size_in_filetype = etype_in_filetype * etype_size;
-
- sum = 0;
- for (i=0; i<flat_file->count; i++) {
- sum += flat_file->blocklens[i];
-
- if (sum > size_in_filetype) {
- abs_off_in_filetype = flat_file->indices[i] +
- size_in_filetype - (sum - flat_file->blocklens[i]);
- break;
- }
- }
-
- /* abs. offset in bytes in the file */
- off = fd->disp + (ADIO_Offset)n_filetypes * (ADIO_Offset)filetype_extent +
- abs_off_in_filetype;
- }
-
- fd->fp_ind = off;
-
- return off;
-}
diff --git a/oldcode/src/adio/ad_cmpi/ad_cmpi_setsh.c b/oldcode/src/adio/ad_cmpi/ad_cmpi_setsh.c
deleted file mode 100644
index 476756b..0000000
--- a/oldcode/src/adio/ad_cmpi/ad_cmpi_setsh.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- *
- * Copyright (C) 2001 University of Chicago.
- * See COPYRIGHT notice in top-level directory.
- */
-
-#include "ad_cmpi.h"
-#include "adioi.h"
-
-void ADIOI_CMPI_Set_shared_fp(ADIO_File fd, ADIO_Offset offset,
- int *error_code)
-{
- int myrank, nprocs;
-
- *error_code = MPI_SUCCESS;
-
- MPI_Comm_size(fd->comm, &nprocs);
- MPI_Comm_rank(fd->comm, &myrank);
- FPRINTF(stdout, "[%d/%d] ADIOI_CMPI_Set_shared_fp called on %s\n",
- myrank, nprocs, fd->filename);
-}
diff --git a/oldcode/src/adio/ad_cmpi/ad_cmpi_wait.c b/oldcode/src/adio/ad_cmpi/ad_cmpi_wait.c
deleted file mode 100644
index 4e93f77..0000000
--- a/oldcode/src/adio/ad_cmpi/ad_cmpi_wait.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- *
- * Copyright (C) 2001 University of Chicago.
- * See COPYRIGHT notice in top-level directory.
- */
-
-#include "ad_cmpi.h"
-#include "adioi.h"
-
-void ADIOI_CMPI_ReadComplete(ADIO_Request *request, ADIO_Status *status, int
- *error_code)
-{
- int myrank, nprocs;
-
- *error_code = MPI_SUCCESS;
-
- MPI_Comm_size(MPI_COMM_WORLD, &nprocs);
- MPI_Comm_rank(MPI_COMM_WORLD, &myrank);
- FPRINTF(stdout, "[%d/%d] ADIOI_CMPI_ReadComplete called \n",
- myrank, nprocs);
-
- /* do something with status set bytes? */
-}
-
-void ADIOI_CMPI_WriteComplete(ADIO_Request *request, ADIO_Status *status, int
- *error_code)
-{
- int myrank, nprocs;
-
- *error_code = MPI_SUCCESS;
-
- MPI_Comm_size(MPI_COMM_WORLD, &nprocs);
- MPI_Comm_rank(MPI_COMM_WORLD, &myrank);
- FPRINTF(stdout, "[%d/%d] ADIOI_CMPI_WriteComplete called\n",
- myrank, nprocs);
-
- /* do something with status_set_bytes? */
-}
diff --git a/oldcode/src/adio/ad_cmpi/ad_cmpi_wrcoll.c b/oldcode/src/adio/ad_cmpi/ad_cmpi_wrcoll.c
deleted file mode 100644
index 388b123..0000000
--- a/oldcode/src/adio/ad_cmpi/ad_cmpi_wrcoll.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- *
- * Copyright (C) 2001 University of Chicago.
- * See COPYRIGHT notice in top-level directory.
- */
-
-#include "ad_cmpi.h"
-#include "adioi.h"
-
-void ADIOI_CMPI_WriteStridedColl(ADIO_File fd, void *buf, int count,
- MPI_Datatype datatype, int file_ptr_type,
- ADIO_Offset offset, ADIO_Status *status,
- int *error_code)
-{
- int myrank, nprocs;
-
- *error_code = MPI_SUCCESS;
-
- MPI_Comm_size(fd->comm, &nprocs);
- MPI_Comm_rank(fd->comm, &myrank);
- FPRINTF(stdout, "[%d/%d] ADIOI_CMPI_WriteStridedColl called on %s\n",
- myrank, nprocs, fd->filename);
- FPRINTF(stdout, "[%d/%d] calling ADIOI_GEN_WriteStridedColl\n",
- myrank, nprocs);
-
- ADIOI_GEN_WriteStridedColl(fd, buf, count, datatype, file_ptr_type,
- offset, status, error_code);
-}
diff --git a/oldcode/src/adio/ad_cmpi/ad_cmpi_write.c b/oldcode/src/adio/ad_cmpi/ad_cmpi_write.c
deleted file mode 100644
index d48195b..0000000
--- a/oldcode/src/adio/ad_cmpi/ad_cmpi_write.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- * Copyright (C) 2001 University of Chicago.
- * See COPYRIGHT notice in top-level directory.
- */
-
-#include "ad_cmpi.h"
-#include "adioi.h"
-
-void ADIOI_CMPI_WriteContig(ADIO_File fd, void *buf, int count,
- MPI_Datatype datatype, int file_ptr_type,
- ADIO_Offset offset, ADIO_Status *status, int
- *error_code)
-{
- int myrank, nprocs, datatype_size;
-
- printf("CMPI_WriteContig() \n"); // CMPI_NOTE
-
- *error_code = MPI_SUCCESS;
-
- MPI_Comm_size(fd->comm, &nprocs);
- MPI_Comm_rank(fd->comm, &myrank);
- MPI_Type_size(datatype, &datatype_size);
- FPRINTF(stdout, "[%d/%d] ADIOI_CMPI_WriteContig called on %s\n", myrank,
- nprocs, fd->filename);
- FPRINTF(stdout, "[%d/%d] writing (buf = %p, loc = %lld, sz = %lld)\n",
- myrank, nprocs, buf, (long long) offset,
- (long long)datatype_size * (long long)count);
-
- int blocks = cmpi_io_blocks(fd->filename);
- SHOW_I(blocks);
-
- if (file_ptr_type != ADIO_EXPLICIT_OFFSET)
- {
- int block = fd->fp_ind / CMPI_IO_BLOCK;
- int partial = fd->fp_ind % CMPI_IO_BLOCK;
- int length = CMPI_IO_BLOCK - partial;
- char key[CMPI_IO_MAX_KEY];
- char value[CMPI_IO_BLOCK];
-
- sprintf(key, "%s[%i]", fd->filename, block);
- strncpy(value, buf, length);
- cmpi_update(key, value, length);
-
- fd->fp_ind += datatype_size * count;
- fd->fp_sys_posn = fd->fp_ind;
- FPRINTF(stdout, "[%d/%d] new file position is %lld\n", myrank,
- nprocs, (long long) fd->fp_ind);
- }
- else {
- fd->fp_sys_posn = offset + datatype_size * count;
- }
-
-#ifdef HAVE_STATUS_SET_BYTES
- MPIR_Status_set_bytes(status, datatype, datatype_size * count);
-#endif
-}
-
-void ADIOI_CMPI_WriteStrided(ADIO_File fd, void *buf, int count,
- MPI_Datatype datatype, int file_ptr_type,
- ADIO_Offset offset, ADIO_Status *status,
- int *error_code)
-{
- int myrank, nprocs;
-
- *error_code = MPI_SUCCESS;
-
- MPI_Comm_size(fd->comm, &nprocs);
- MPI_Comm_rank(fd->comm, &myrank);
- FPRINTF(stdout, "[%d/%d] ADIOI_CMPI_WriteStrided called on %s\n",
- myrank, nprocs, fd->filename);
- FPRINTF(stdout, "[%d/%d] calling ADIOI_GEN_WriteStrided\n",
- myrank, nprocs);
-
- ADIOI_GEN_WriteStrided(fd, buf, count, datatype, file_ptr_type, offset,
- status, error_code);
-}
diff --git a/oldcode/src/adio/patches/About.txt b/oldcode/src/adio/patches/About.txt
deleted file mode 100644
index 89eee6f..0000000
--- a/oldcode/src/adio/patches/About.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-For each .diff file, see corresponding .txt instructions
-to apply correctly to the MPI implementation source tree.
-
diff --git a/oldcode/src/adio/patches/mpich2_1_0_8_cmpi.diff b/oldcode/src/adio/patches/mpich2_1_0_8_cmpi.diff
deleted file mode 100644
index 8f33ca2..0000000
--- a/oldcode/src/adio/patches/mpich2_1_0_8_cmpi.diff
+++ /dev/null
@@ -1,140 +0,0 @@
-Index: src/mpi/romio/configure.in
-===================================================================
---- src/mpi/romio/configure.in (revision 4292)
-+++ src/mpi/romio/configure.in (working copy)
-@@ -100,7 +100,7 @@
- #
- have_aio=no
- #
--known_filesystems="nfs ufs pfs pvfs pvfs2 testfs xfs panfs gridftp lustre bgl bglockless"
-+known_filesystems="nfs ufs pfs pvfs pvfs2 testfs xfs panfs gridftp lustre bgl bglockless cmpi"
- known_mpi_impls="mpich2_mpi mpich_mpi sgi_mpi hp_mpi cray_mpi lam_mpi"
- #
- # Defaults
-@@ -127,6 +127,8 @@
- --with-file-system=name - Build with support for the named file systems],,)
- AC_ARG_WITH(pvfs2,[
- --with-pvfs2=path - Path to installation of PVFS (version 2)],,)
-+AC_ARG_WITH(cmpi,[
-+--with-cmpi=path - Path to CMPI],,)
- AC_ARG_WITH(mpi,[
- --with-mpi=name - Specify MPI implementation to build ROMIO for],,)
- dnl
-@@ -1080,6 +1082,26 @@
- AC_MSG_ERROR([pvfs2-config not found in $with_pvfs2])
- fi
-
-+
-+# - if 'with-cmpi' given, use that. complain if we
-+# cannot find it, as this is probably what the user would expect
-+# - if we can find 'pvfs2-config' in our path, we can use it to set CFLAGS,
-+# LIBS, and LDFLAGS accordingly
-+# - as a fallback, use CFLAGS, LIBS, and LDFLAGS passed in by the user
-+# - don't do any of this if --with-file-system was given and did not include
-+# 'pvfs2': i.e. don't surprise the user with pvfs support.
-+
-+if test -n "${with_cmpi}" ; then
-+AC_CHECK_FILE(${with_cmpi}/src/include/cmpi.h,
-+ CMPI=${withval}
-+ CFLAGS="$CFLAGS -I ${with_cmpi} -I ${with_cmpi}/src/include"
-+ LIBS="$LIBS ${with_cmpi}/lib"
-+ FILE_SYSTEM="cmpi $FILE_SYSTEM"
-+ file_system_cmpi=1
-+ AC_MSG_RESULT([Using CMPI in ${withval}]),
-+ AC_MSG_ERROR([Could not find CMPI in ${withval}]))
-+fi
-+
- #
- # Print list of configured file systems
- #
-@@ -1243,6 +1265,10 @@
- AC_DEFINE(ROMIO_GRIDFTP, 1, [Define for ROMIO with gridftp])
- fi
-
-+if test -n "$file_system_cmpi"; then
-+ AC_DEFINE(ROMIO_CMPI, 1, [Define for ROMIO with cmpi])
-+fi
-+
- if test -n "$file_system_bgl"; then
- SYSDEP_INC=-I${prefix}/include
- else
-@@ -2155,6 +2181,7 @@
- adio/ad_pvfs2/Makefile \
- adio/ad_gridftp/Makefile \
- adio/ad_lustre/Makefile \
-+ adio/ad_cmpi/Makefile \
- mpi-io/fortran/Makefile mpi2-other/info/fortran/Makefile \
- mpi2-other/array/fortran/Makefile test/fmisc.f \
- test/fcoll_test.f test/pfcoll_test.f test/fperf.f \
-Index: src/mpi/romio/adio/include/adio.h
-===================================================================
---- src/mpi/romio/adio/include/adio.h (revision 4292)
-+++ src/mpi/romio/adio/include/adio.h (working copy)
-@@ -292,6 +292,7 @@
- #define ADIO_LUSTRE 163 /* Lustre */
- #define ADIO_BGL 164 /* IBM BGL */
- #define ADIO_BGLOCKLESS 165 /* IBM BGL (lock-free) */
-+#define ADIO_CMPI 166 /* CMPI */
-
- #define ADIO_SEEK_SET SEEK_SET
- #define ADIO_SEEK_CUR SEEK_CUR
-Index: src/mpi/romio/adio/include/adioi_fs_proto.h
-===================================================================
---- src/mpi/romio/adio/include/adioi_fs_proto.h (revision 4292)
-+++ src/mpi/romio/adio/include/adioi_fs_proto.h (working copy)
-@@ -89,4 +89,9 @@
- extern struct ADIOI_Fns_struct ADIO_GRIDFTP_operations;
- #endif
-
-+#ifdef ROMIO_CMPI
-+/* prototypes are in adio/ad_gridftp/ad_gridftp.h */
-+extern struct ADIOI_Fns_struct ADIO_CMPI_operations;
- #endif
-+
-+#endif
-Index: src/mpi/romio/adio/include/adioi_errmsg.h
-===================================================================
---- src/mpi/romio/adio/include/adioi_errmsg.h (revision 4292)
-+++ src/mpi/romio/adio/include/adioi_errmsg.h (working copy)
-@@ -43,7 +43,7 @@
-
- MPI_ERR_IO
- MPIR_ERR_ETYPE_FRACTIONAL "Only an integral number of etypes can be accessed"
-- MPIR_ERR_NO_FSTYPE "Can't determine the file-system type. Check the filename/path you provided and try again. Otherwise, prefix the filename with a string to indicate the type of file sytem (piofs:, pfs:, nfs:, ufs:, hfs:, xfs:, sfs:, pvfs:, panfs: ftp: gsiftp:)"
-+ MPIR_ERR_NO_FSTYPE "Can't determine the file-system type. Check the filename/path you provided and try again. Otherwise, prefix the filename with a string to indicate the type of file sytem (piofs:, pfs:, nfs:, ufs:, hfs:, xfs:, sfs:, pvfs:, panfs: ftp: gsiftp: cmpi:)"
- MPIR_ERR_NO_PFS "ROMIO has not been configured to use the PFS file system"
- MPIR_ERR_NO_PIOFS "ROMIO has not been configured to use the PIOFS file system"
- MPIR_ERR_NO_UFS "ROMIO has not been configured to use the UFS file system"
-Index: src/mpi/romio/adio/common/ad_fstype.c
-===================================================================
---- src/mpi/romio/adio/common/ad_fstype.c (revision 4292)
-+++ src/mpi/romio/adio/common/ad_fstype.c (working copy)
-@@ -535,6 +535,11 @@
- !strncmp(filename, "BGLOCKLESS:", 11)) {
- *fstype = ADIO_BGLOCKLESS;
- }
-+ else if (!strncmp(filename, "cmpi:", 4)
-+ || !strncmp(filename, "CMPI:", 7))
-+ {
-+ *fstype = ADIO_CMPI;
-+ }
- else {
- #ifdef ROMIO_NTFS
- *fstype = ADIO_NTFS;
-@@ -756,6 +761,16 @@
- *ops = &ADIO_NTFS_operations;
- #endif
- }
-+ if (file_system == ADIO_CMPI) {
-+#ifndef ROMIO_CMPI
-+ *error_code = MPIO_Err_create_code(MPI_SUCCESS, MPIR_ERR_RECOVERABLE,
-+ myname, __LINE__, MPI_ERR_IO,
-+ "**iofstypeunsupported", 0);
-+ return;
-+#else
-+ *ops = &ADIO_CMPI_operations;
-+#endif
-+ }
- if (file_system == ADIO_TESTFS) {
- #ifndef ROMIO_TESTFS
- *error_code = MPIO_Err_create_code(MPI_SUCCESS, MPIR_ERR_RECOVERABLE,
diff --git a/oldcode/src/adio/patches/mpich2_1_0_8_cmpi.txt b/oldcode/src/adio/patches/mpich2_1_0_8_cmpi.txt
deleted file mode 100644
index 2c42d3a..0000000
--- a/oldcode/src/adio/patches/mpich2_1_0_8_cmpi.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-Patch for ROMIO in MPICH2 release 1.0.8 .
-Generated with svn diff from MPICH2_1_0_8/ .
-
-To apply:
-1) cd to MPICH2_1_0_8/
-2) run patch -p0 -i mpich2_1_0_8_cmpi.diff
diff --git a/oldcode/src/adts/About.txt b/oldcode/src/adts/About.txt
deleted file mode 100644
index 75ae4ef..0000000
--- a/oldcode/src/adts/About.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-bool _contains(target, key)
-bool _matches(target, cmp, data)
-DATA _search(target, key)
-DATA _inspect(target, data, n)
-
-LIST _select_where(target, cmp, pattern)
-LIST _pop_where(target, cmp, pattern)
-
-bool _remove(target, key)
-bool _erase(target, key, n) -> delete
-
-bool _clear(target) free all list items
-bool _clobber(target) clear the list and free the data
-bool _destroy(target) clobber and free the list
-
-void _printf(format, target) [printf]
-void _fprintf(FILE, format, target) [fprintf]
-void _dump(f(), target) [printf]
-void _fdump(FILE, f(), target) [fprintf]
-char* _output(f, target) [static]
-int _sprintf(s, format, target) [given]
-int _snprintf(s, n, format, target) [given]
-int _marshal(s, n, f(), target) [given]
-char* _serialize() [dynamic]
-char* _serialize_ptrs(target) [dynamic]
diff --git a/oldcode/src/adts/dpkm_list.c b/oldcode/src/adts/dpkm_list.c
deleted file mode 100644
index 881d89c..0000000
--- a/oldcode/src/adts/dpkm_list.c
+++ /dev/null
@@ -1,976 +0,0 @@
-
-#include "dpkm_list.h"
-
-struct dpkm_list*
-dpkm_list_create(int limit)
-{
- // SHOW_FI(limit);
- struct dpkm_list* new_dpkm_list = malloc(sizeof(struct dpkm_list));
- if (! new_dpkm_list)
- return NULL;
- new_dpkm_list->head = NULL;
- new_dpkm_list->tail = NULL;
- new_dpkm_list->size = 0;
- new_dpkm_list->limit = limit;
- return new_dpkm_list;
-}
-
-/**
- Adds item to tail.
- If list size exceeds limit, return item to flush.
- @return The new dpkm_list_item.
-*/
-struct dpkm_list_item*
-dpkm_list_add(struct dpkm_list* target, char* key, void* data, int length)
-{
- struct dpkm_list_item* result = NULL;
-
- struct dpkm_list_item* new_item = malloc(sizeof(struct dpkm_list_item));
- if (! new_item)
- return NULL;
-
- new_item->key = key;
- new_item->data = data;
- new_item->next = NULL;
- new_item->length = length;
-
- if (target->size == 0)
- {
- target->head = new_item;
- target->tail = new_item;
- new_item->prev = NULL;
- }
- else
- {
- new_item->prev = target->tail;
- target->tail->next = new_item;
- }
-
- target->tail = new_item;
- target->size++;
-
- if (target->size > target->limit)
- {
- result = dpkm_list_poll(target);
- }
-
- return result;
-}
-
-/**
- Move this item to the tail of the list.
-*/
-void
-dpkm_list_pushback(struct dpkm_list* target,
- struct dpkm_list_item* item)
-{
- // NOTE_F;
- /*
- printf("item: %s \n", item->key);
- if (item->next == NULL)
- printf("NULL\n");
- else
- printf("not NULL\n");
- */
- dpkm_list_excise(target, item);
- dpkm_list_append(target, item);
-}
-
-
-struct dpkm_list_item*
-dpkm_list_search(struct dpkm_list* target, char* key)
-{
- struct dpkm_list_item* item;
- for (item = target->head; item; item = item->next)
- if (strcmp(key, item->key) == 0)
- return item;
-
- return NULL;
-}
-
-
-/**
- Add this data if dpkm_list_inspect does not find it.
-*/
-/*
-struct dpkm_list_item*
-dpkm_list_add_one(struct dpkm_list* target, void* data, int n)
-{
- if (! dpkm_list_inspect(target, data, n))
- return dpkm_list_add(target, data);
- return NULL;
-}
-*/
-
-/**
- Add this pre-formed dpkm_list_item to target.
- Convenience: sets item->next to NULL.
- @return The added item.
-*/
-struct dpkm_list_item*
-dpkm_list_append(struct dpkm_list* target,
- struct dpkm_list_item* item)
-{
- if (target->size == 0)
- {
- target->head = item;
- }
- else
- {
- item->prev = target->tail;
- target->tail->next = item;
- }
- target->tail = item;
-
- item->next = NULL;
- target->size++;
- return item;
-}
-
-void
-dpkm_list_excise(struct dpkm_list* target,
- struct dpkm_list_item* item)
-{
- struct dpkm_list_item* prev = item->prev;
- struct dpkm_list_item* next = item->next;
-
- // NOTE_F;
-
- // printf("EXCISE %i \n", target->size);
- // dpkm_list_dump("%i", target);
-
- if (prev == NULL && next == NULL)
- {
- assert(target->size == 1);
- target->head = NULL;
- target->tail = NULL;
- }
- else if (prev == NULL)
- {
- next->prev = NULL;
- target->head = next;
- }
- else if (next == NULL)
- {
- prev->next = NULL;
- target->tail = prev;
- }
- else
- {
- prev->next = next;
- next->prev = prev;
- }
-
- target->size--;
-}
-
-/**
- Remove and return list tail.
- */
- /*
-void*
-dpkm_list_pop(struct dpkm_list* target)
-{
- void* data;
- if (target->size == 0)
- return NULL;
- if (target->size == 1)
- {
- data = target->head->data;
- // free(target->head);
- target->head = NULL;
- target->tail = NULL;
- target->size = 0;
- return data;
- }
-
- struct dpkm_list_item* item;
- for (item = target->head; item->next->next;
- item = item->next);
- data = item->next->data;
- // free(item->next);
- item->next = NULL;
- target->tail = item;
- target->size--;
- return data;
-}
- */
-
- /**
- Return list head data.
- */
-
-void*
-dpkm_list_peek(struct dpkm_list* target)
-{
- if (target->size == 0)
- return NULL;
- return target->head->data;
-}
-
-/**
- Remove and return list head.
- */
-struct dpkm_list_item*
-dpkm_list_poll(struct dpkm_list* target)
-{
- struct dpkm_list_item* result;
- struct dpkm_list_item* new_head;
-
- // NOTE_F;
- // SHOW_I(target->size);
-
- if (target->size == 0)
- return NULL;
-
- if (target->size == 1)
- {
- result = target->head;
- target->head = NULL;
- target->tail = NULL;
- target->size = 0;
- return result;
- }
-
- // SHOW_S(target->head->key);
-
- new_head = target->head->next;
- result = target->head;
- target->head = new_head;
- new_head->prev = NULL;
-
- target->size--;
-
- return result;
-}
-
-/*
-void*
-dpkm_list_random(struct dpkm_list* target)
-{
- printf("%s %i \n", "dpkm_list size: ", target->size);
-
- if (target->size == 0)
- return NULL;
-
- int p = rand() % target->size;
- struct dpkm_list_item* item = target->head;
- for (int i = 0; i < p; i++)
- item = item->next;
-
- return item->data;
-}
-*/
-
- /*
-struct dpkm_list_item*
-dpkm_list_ordered_insert(struct dpkm_list* target,
- int (*cmp)(void*,void*), void* data)
-{
- // printf("ordered insert\n");
- struct dpkm_list_item* new_item = malloc(sizeof(struct dpkm_list_item));
- if (! new_item)
- return NULL;
- new_item->data = data;
- new_item->next = NULL;
-
- if (target->size == 0)
- {
- target->head = new_item;
- target->tail = new_item;
- }
- else
- {
- struct dpkm_list_item* item = target->head;
- // Are we the new head?
- if (cmp(data, item->data) == -1)
- {
- new_item->next = target->head;
- target->head = new_item;
- }
- else
- {
- do
- {
- // Are we inserting after this item?
- if (item->next == NULL)
- {
- item->next = new_item;
- target->tail = new_item;
- break;
- }
- else
- {
- if (cmp(data, item->next->data) == -1)
- {
- new_item->next = item->next;
- item->next = new_item;
- break;
- }
- }
- } while ((item = item->next));
- }
- }
- target->size++;
- return new_item;
-}
- */
-
-/**
- Untested.
- */
- /*
-struct dpkm_list_item*
-dpkm_list_ordered_insert_unique(struct dpkm_list* target, int (*cmp)(void*,void*),
- void* data)
-{
- struct dpkm_list_item* new_item = malloc(sizeof(struct dpkm_list_item));
- if (! new_item)
- return NULL;
- new_item->data = data;
- new_item->next = NULL;
-
- if (target->size == 0)
- {
- target->head = new_item;
- target->tail = new_item;
- }
- else
- {
- struct dpkm_list_item* item = target->head;
- // Are we the new head?
- if (cmp(data, item->data) == -1)
- {
- new_item->next = target->head;
- target->head = new_item;
- }
- else
- {
- do
- {
- // Are we inserting after this item?
- if (item->next == NULL)
- {
- item->next = new_item;
- target->tail = new_item;
- break;
- }
- else
- {
- int c = cmp(data, item->next->data);
- if (c == 0)
- {
- // free(new_item);
- return NULL;
- }
- if (c == -1)
- {
- new_item->next = item->next;
- item->next = new_item;
- break;
- }
- }
- } while ((item = item->next));
- }
- }
- target->size++;
- return new_item;
-}
- */
-
- /*
-struct dpkm_list_item*
-dpkm_list_add_unique(struct dpkm_list* target,
- int (*cmp)(void*,void*), void* data)
-{
- if (! dpkm_list_contains(target, data, cmp))
- return dpkm_list_add(target, data);
- return NULL;
-}
- */
-
-/**
- */
- /*
-bool
-dpkm_list_contains(struct dpkm_list* target, int (*cmp)(void*,void*),
- void* data)
-{
- for (struct dpkm_list_item* item = target->head;
- item; item = item->next)
- if (cmp(item->data, data) == 0)
- return true;
- return false;
-}
-*/
-
-/**
- Compare data pointer addresses for match.
- @return An equal data pointer or NULL if not found.
-*/
- /*
-void*
-dpkm_list_search(struct dpkm_list* target, void* data)
-{
- for (struct dpkm_list_item* item = target->head;
- item; item = item->next)
- if (item->data == data)
- return data;
- return NULL;
-}
- */
-
-/**
- Compare data contents for match.
- @return A pointer to an equivalent object or NULL if not found.
- */
- /*
-void*
-dpkm_list_inspect(struct dpkm_list* target, void* data, size_t n)
-{
- for (struct dpkm_list_item* item = target->head;
- item; item = item->next)
- if (memcmp(item->data, data, n) == 0)
- return item->data;
- return NULL;
-}
-*/
-
-/**
- Empty the dpkm_list.
-*/
- /*
-void
-dpkm_list_clear(struct dpkm_list* target)
-{
- struct dpkm_list_item* item = target->head;
-
- while (item)
- {
- struct dpkm_list_item* next = item->next;
- // free(item);
- item = next;
- }
- target->head = NULL;
- target->tail = NULL;
- target->size = 0;
-}
- */
-
-/**
- Empty the dpkm_list and free the data.
-*/
- /*
-void
-dpkm_list_clobber(struct dpkm_list* target)
-{
- struct dpkm_list_item* item = target->head;
-
- while (item)
- {
- struct dpkm_list_item* next = item->next;
- free(item->data);
- free(item);
- item = next;
- }
- target->head = NULL;
- target->tail = NULL;
-}
- */
-
-/**
- Removes only one item that points to given data.
- Does not free the item data.
- @return True iff the data pointer was matched
- and the item was freed.
-*/
-bool
-dpkm_list_remove(struct dpkm_list* target, void* data)
-{
- if (target->size == 0)
- return false;
-
- struct dpkm_list_item* item = target->head;
-
- if (data == item->data)
- {
- struct dpkm_list_item* next = item->next;
- FREE(item);
- target->head = next;
- if (target->tail == next)
- target->tail = NULL;
- target->size--;
- return true;
- }
-
- while (item->next)
- {
- // Are we removing the item after this item?
- if (data == item->next->data)
- {
- struct dpkm_list_item* nextnext = item->next->next;
- if (target->tail == item->next)
- target->tail = nextnext;
- FREE(item->next);
- item->next = nextnext;
- target->size--;
- return true;
- }
- item = item->next;
- }
- return false;
-}
-
-/**
- Return all elements from the dpkm_list where cmp(data,arg) == 0.
-*/
-/*
-struct dpkm_list*
-dpkm_list_select(struct dpkm_list* target,
- int (*cmp)(void*,void*), void* arg)
-{
- assert(target != NULL);
-
- struct dpkm_list* result = dpkm_list_create();
-
- for (struct dpkm_list_item* item = target->head;
- item; item = item->next)
- {
- if (cmp(item->data, arg) == 0)
- dpkm_list_add(result, item->data);
- }
-
- return result;
-}
-*/
-
-/**
- Remove the elements from the dpkm_list where cmp(data,arg) == 0.
- @return true if one or more items were deleted.
-*/
-/*
-bool
-dpkm_list_remove_where(struct dpkm_list* target,
- int (*cmp)(void*,void*), void* arg)
-{
- bool result = false;
-
- if (target->size == 0)
- return false;
-
- int old_size = target->size;
-
- // Establish next good item in dpkm_list...
- struct dpkm_list_item* good = NULL;
- for (struct dpkm_list_item* item = target->head;
- item; item = item->next)
- {
- if (cmp(item->data, arg) != 0)
- {
- good = item;
- break;
- }
- }
-
- if (! good)
- // Dpkm_List should be empty
- {
- if (target->size > 0)
- result = true;
- dpkm_list_clear(target);
- return result;
- }
-
- // Establish correct head...
- struct dpkm_list_item* head = target->head;
- while (head && head != good)
- {
- struct dpkm_list_item* next = head->next;
- printf("free: %i \n", *(int*) head->data);
- free(head);
- target->size--;
- head = next;
- }
- target->head = good;
-
- // Now current points to the first valid item in the dpkm_list.
- struct dpkm_list_item* current = target->head;
- while (good != NULL)
- {
- // Move to a good item or NULL...
- struct dpkm_list_item* item = good->next;
- good = NULL;
- while (item)
- {
- if (cmp(item->data, arg) != 0)
- {
- good = item;
- break;
- }
- item = item->next;
- }
-
- if (good == NULL)
- // No more good items were found
- {
- target->tail = current;
- }
-
- // Free items between current and good:
-
- struct dpkm_list_item* link = current;
- current = current->next;
- while (current != good)
- {
- struct dpkm_list_item* next = current->next;
- free(current);
- target->size--;
- current = next;
- }
- link->next = good;
- }
-
- if (target->size != old_size)
- return true;
- return false;
-}
-*/
-
-/**
- Remove and return all elements from the dpkm_list where
- cmp(data,arg) == 0.
- @return true if one or more items were deleted.
-*/
-/*
-struct dpkm_list*
-dpkm_list_pop_where(struct dpkm_list* target,
- int (*cmp)(void*,void*), void* arg)
-{
- struct dpkm_list* result = dpkm_list_create();
-
- if (target->size == 0)
- return result;
-
- // Establish next good item in dpkm_list...
- struct dpkm_list_item* good = NULL;
- for (struct dpkm_list_item* item = target->head;
- item; item = item->next)
- {
- if (cmp(item->data, arg) != 0)
- {
- good = item;
- break;
- }
- }
-
- if (! good)
- // All elements should be moved
- {
- dpkm_list_transplant(result, target);
- return result;
- }
-
- // Establish correct head...
- struct dpkm_list_item* head = target->head;
- while (head && head != good)
- {
- struct dpkm_list_item* next = head->next;
- printf("free: %i \n", *(int*) head->data);
- dpkm_list_append(result, head);
- target->size--;
- head = next;
- }
- target->head = good;
-
- // Now current points to the first valid item in the dpkm_list.
- struct dpkm_list_item* current = target->head;
- while (good != NULL)
- {
- // Move to a good item or NULL...
- struct dpkm_list_item* item = good->next;
- good = NULL;
- while (item)
- {
- if (cmp(item->data, arg) != 0)
- {
- good = item;
- break;
- }
- item = item->next;
- }
-
- if (good == NULL)
- // No more good items were found
- target->tail = current;
-
- if (good != NULL)
- printf("good: %i \n", *(int*) good->data);
-
- // Free items between current and good:
-
- struct dpkm_list_item* link = current;
- current = current->next;
- while (current != good)
- {
- struct dpkm_list_item* next = current->next;
- dpkm_list_append(result, current);
- target->size--;
- current = next;
- }
- link->next = good;
- }
-
- return result;
-}
-*/
-
-/**
- Attach copy of tail to target.
-*/
-void
-dpkm_list_attach(struct dpkm_list* target, struct dpkm_list* segment);
-
-/**
- Moves all items from tail into target structure.
-*/
-/*
-void
-dpkm_list_transplant(struct dpkm_list* target, struct dpkm_list* segment)
-{
- if (target->size == 0)
- {
- target->head = segment->head;
- }
- target->tail->next = segment->head;
- target->size += segment->size;
- target->tail = segment->tail;
-
- segment->head = NULL;
- segment->tail = NULL;
- segment->size = 0;
-}
-*/
-
-/**
- Does not free the item data.
- @return True iff the data content was matched by memcmp
- and the item was freed.
-*/
-/*
-bool
-dpkm_list_erase(struct dpkm_list* target, void* data, size_t n)
-{
- struct dpkm_list_item* item = target->head;
- // Are we removing the head?
- if (memcmp(data, item->data, n) == 0)
- {
- struct dpkm_list_item* next = item->next;
- free(item);
- target->head = next;
- if (target->tail == next)
- target->tail = NULL;
- target->size--;
- return true;
- }
- do
- {
- // Are we removing the item after this item?
- if (memcmp(data, item->next->data, n) == 0)
- {
- struct dpkm_list_item* nextnext = item->next->next;
- if (target->tail == item->next)
- target->tail = nextnext;
- free(item->next);
- item->next = nextnext;
- target->size--;
- return true;
- }
- } while ((item = item->next));
- return false;
-}
-*/
-
-/**
- Function specifies the output format for the data items
- Does not free return of f.
- */
-/*
-void
-dpkm_list_output(char* (*f)(void*), struct dpkm_list* target)
-{
- struct dpkm_list_item* item;
-
- printf("[");
- for (item = target->head; item; item = item->next)
- {
- printf("%s", f(item->data));
- if (item->next)
- printf(",");
- }
- printf("]\n");
-}
-*/
-
-/**
- @param format Specifies the output format for the data items.
- */
-void
-dpkm_list_printf(char* format, struct dpkm_list* target)
-{
- struct dpkm_list_item* item;
-
- printf("[");
- for (item = target->head; item; item = item->next)
- {
- printf("(%s,", item->key);
- if (strcmp(format, "%s") == 0)
- printf(format, item->data);
- else if (strcmp(format, "%i") == 0)
- printf(format, *((int*) (item->data)));
- printf(")");
- if (item->next)
- printf(",");
- }
- printf("]\n");
-}
-
-/**
- @param format Specifies the output format for the data items.
- */
-void
-dpkm_list_fprintf(FILE* file, char* format, struct dpkm_list* target)
-{
- struct dpkm_list_item* item;
-
- fprintf(file, "[");
- for (item = target->head; item; item = item->next)
- {
- fprintf(file, "(%s,", item->key);
- if (strcmp(format, "%s") == 0)
- fprintf(file, format, item->data);
- else if (strcmp(format, "%i") == 0)
- fprintf(file, format, *((int*) (item->data)));
- fprintf(file, ")");
- if (item->next)
- fprintf(file, ",");
- }
- fprintf(file, "]\n");
-}
-
-/**
- Free this dpkm_list but not its data.
-*/
-void
-dpkm_list_free(struct dpkm_list* target)
-{
- struct dpkm_list_item* item = target->head;
- while (item)
- {
- struct dpkm_list_item* next = item->next;
- FREE(item);
- item = next;
- }
- FREE(target);
-}
-
-/**
- Free this dpkm_list and its data.
-*/
-/*
-void
-dpkm_list_destroy(struct dpkm_list* target)
-{
- struct dpkm_list_item* item = target->head;
- while (item)
- {
- struct dpkm_list_item* next = item->next;
- free(item->data);
- free(item);
- item = next;
- }
- free(target);
-}
-*/
-
-/*
-int
-int_cmp(void* i1, void* i2)
-{
- int j1 = *(int*) i1;
- int j2 = *(int*) i2;
-
- if (j1 > j2)
- return 1;
- else if (j1 < j2)
- return -1;
- else
- return 0;
-}
-*/
-
-/**
- Returns 0 iff i1 is divisible by i2.
-*/
-/*
-int
-divides_cmp(void* i1, void* i2)
-{
- int j1 = *(int*) i1;
- int j2 = *(int*) i2;
-
- return (j1 % j2);
-}
-*/
-
-/**
- Assumes item data is character.
-*/
-char* dpkm_pair_tostring(char* ptr, char* format,
- struct dpkm_list_item* item)
-{
- ptr += sprintf(ptr, "(%s,", item->key);
-
- if (strcmp(format, "%s") == 0)
- ptr += sprintf(ptr, format, (char*) item->data);
- else if (strcmp(format, "%i") == 0)
- ptr += sprintf(ptr, format, *(int*) item->data);
- ptr += sprintf(ptr, ")");
-
- if (item->next)
- ptr += sprintf(ptr, ",");
- return ptr;
-}
-
-
-/** Dump dpkm_list to string a la snprintf()
- size must be greater than 2.
- format specifies the output format for the data items
- returns int greater than size if size limits are exceeded
- indicating result is garbage
-*/
-int dpkm_list_tostring(char* str, size_t size,
- char* format, struct dpkm_list* target)
-{
- int error = size+1;
- char* ptr = str;
- struct dpkm_list_item* item;
-
- if (size <= 2)
- return error;
-
- ptr += sprintf(ptr, "[");
-
- for (item = target->head; item && (ptr-str < size);
- item = item->next)
- {
- if ((ptr-str) + strlen(item->key) + strlen(item->data) + 4 < size)
- ptr = dpkm_pair_tostring(ptr, format, item);
- else
- return error;
- }
- sprintf(ptr, "]");
-
- return (ptr-str);
-}
-
-
diff --git a/oldcode/src/adts/hashtable.c b/oldcode/src/adts/hashtable.c
deleted file mode 100644
index 6120dae..0000000
--- a/oldcode/src/adts/hashtable.c
+++ /dev/null
@@ -1,226 +0,0 @@
-
-#include "hashtable.h"
-
-/**
- * derived from an algorithm found in Aho, Sethi and Ullman's
- * {Compilers: Principles, Techniques and Tools}, published by Addison-Wesley.
- * This algorithm comes from P.J. Weinberger's C compiler.
- */
-int
-quickhash_string_hash(char* key, int table_size)
-{
- uint32_t h=0,g=0;
-
- if (! key)
- return -1;
-
- while (*key)
- {
- h = (h << 4) + *key++;
- if ((g = (h & 0xF0UL)))
- {
- h ^= g >> 24;
- h ^= g;
- }
- }
-
- return (int)(h & ((uint64_t)(table_size - 1)));
-}
-
-int
-hash_string(char* data, int table_size)
-{
- // dump_stack();
- int sha1 = SHA1_mod(data);
- int index = sha1 % table_size;
-
- // printf("hash_string %s -> %i \n", data, index);
-
- return index;
-}
-
-/**
- Compress SHA-1 down to a smaller address space,
- namely, 4 bytes, and make positive.
-*/
-int
-SHA1_mod(char* data)
-{
- static unsigned char output[SHA_DIGEST_LENGTH];
-
- SHA1((unsigned char*) data, strlen(data), output);
-
- int result;
- memcpy(&result, output+16, 4);
-
- // printf("KEY: %s %X \n", data, result);
-
- return abs(result);
-}
-
-struct hashtable*
-hashtable_create(int capacity)
-{
- // NOTE_F;
-
- int i = 0;
- struct hashtable *new_table = NULL;
-
- new_table =
- (struct hashtable*) MALLOC(sizeof(struct hashtable));
- if (! new_table)
- return (NULL);
-
- new_table->size = 0;
- new_table->capacity = capacity;
-
- new_table->array =
- (struct klist**) MALLOC(sizeof(struct klist*) * capacity);
- if (!new_table->array)
- {
- FREE(new_table);
- return (NULL);
- }
-
- for (i = 0; i < capacity; i++)
- {
- struct klist* new_klist = klist_create();
- if (! new_klist)
- return NULL;
- new_table->array[i] = new_klist;
- }
-
- return (new_table);
-}
-
-void
-hashtable_free(struct hashtable* target)
-{
- // NOTE_F;
-
- int i;
- for (i = 0; i < target->capacity; i++)
- klist_free(target->array[i]);
-
- FREE(target->array);
- FREE(target);
-
- return;
-}
-
-bool
-hashtable_add(struct hashtable *table, char* key, void* data)
-{
- // NOTE_F;
-
- int index = hash_string(key, table->capacity);
-
- struct klist_item* new_item =
- klist_add(table->array[index], key, data);
-
- if (! new_item)
- {
- printf("No new item! \n");
- return false;
- }
-
- table->size++;
-
- return true;
-}
-
-/**
- @return A pointer to the matching data or NULL if not found.
-*/
-void*
-hashtable_search(struct hashtable* table, char* key)
-{
- struct klist_item* item = NULL;
- int index = hash_string(key, table->capacity);
-
- for (item = table->array[index]->head; item;
- item = item->next)
- if (strcmp(key, item->key) == 0)
- return item->data;
-
- return NULL;
-}
-
-/** format specifies the output format for the data items
- */
-void
-hashtable_dump(char* format, struct hashtable* target)
-{
- char s[200];
- int i;
- printf("{\n");
- for (i = 0; i < target->capacity; i++)
- if (target->array[i]->size > 0)
- {
- klist_tostring(s, 200, "%s", target->array[i]);
- printf("%i: %s \n", i, s);
- }
- printf("}\n");
-}
-
-void
-hashtable_dumpkeys(struct hashtable* target)
-{
- int i;
- printf("{\n");
- for (i = 0; i < target->capacity; i++)
- if (target->array[i]->size)
- {
- printf("%i:", i);
- klist_dumpkeys(target->array[i]);
- }
- printf("}\n");
-}
-
-/** Dump klist to string a la snprintf()
- size must be greater than 2.
- format specifies the output format for the data items
- internally allocates O(size) memory
- returns int greater than size if size limits are exceeded
- indicating result is garbage
-*/
-int hashtable_tostring(char* str, size_t size,
- char* format, struct hashtable* target)
-{
- int error = size+1;
- char* ptr = str;
- int i;
- ptr += sprintf(str, "{\n");
-
- char* s = (char*) MALLOC(sizeof(char) * size);
-
- for (i = 0; i < target->capacity; i++)
- {
- int r = klist_tostring(s, size, format, target->array[i]);
- if ((ptr-str) + r + 2 < size)
- ptr += sprintf(ptr, "%s\n", s);
- else
- return error;
- }
- sprintf(ptr, "}\n");
-
- FREE(s);
- return (ptr-str);
-}
-
-/**
- Debugging only.
-*/
-
-#ifdef DEBUG_HASHTABLE
-int
-main()
-{
- struct hashtable* table = hashtable_create(11);
-
- hashtable_add(table, "key1", "val1");
-
- hashtable_dump("%s", table);
-
-}
-#endif
diff --git a/oldcode/src/adts/ilist.c b/oldcode/src/adts/ilist.c
deleted file mode 100644
index abdcc0f..0000000
--- a/oldcode/src/adts/ilist.c
+++ /dev/null
@@ -1,617 +0,0 @@
-
-#include <stdbool.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "ilist.h"
-
-struct ilist*
-ilist_create()
-{
- // NOTE_F;
- struct ilist* new_ilist = malloc(sizeof(struct ilist));
- if (! new_ilist)
- return NULL;
- new_ilist->head = NULL;
- new_ilist->tail = NULL;
- new_ilist->size = 0;
- return new_ilist;
-}
-
-struct ilist_item*
-ilist_add(struct ilist* target, int key, void* data)
-{
- struct ilist_item* new_item = malloc(sizeof(struct ilist_item));
- if (! new_item)
- return NULL;
-
- new_item->key = key;
- new_item->data = data;
- new_item->next = NULL;
- if (target->size == 0)
- {
- target->head = new_item;
- target->tail = new_item;
- }
- else
- {
- target->tail->next = new_item;
- }
- target->tail = new_item;
- target->size++;
- return new_item;
-}
-
-/**
-
- */
-struct ilist_item*
-ilist_replace(struct ilist* target, int key, void* data)
-{
- struct ilist_item* item;
- for (item = target->head; item; item = item->next)
- if (item->key == key)
- {
- item->data = data;
- return item;
- }
- return ilist_add(target, key, data);
-}
-
-bool
-ilist_contains(struct ilist* target, int key)
-{
- struct ilist_item* item;
- for (item = target->head; item; item = item->next)
- if (item->key == key)
- return true;
- return false;
-}
-
-bool
-ilist_matches(struct ilist* target, int (*cmp)(void*,void*), void* data)
-{
- // NOTE_F;
-
- struct ilist_item* item;
- for (item = target->head; item; item = item->next)
- if (cmp(item->data, data) == 0)
- return true;
- return false;
-}
-
-/**
- Insert into list so that keys are in order from smallest at head
- to largest at tail.
-*/
-struct ilist_item*
-ilist_ordered_insert(struct ilist* target, int key, void* data)
-{
- // NOTE_F;
-
- struct ilist_item* new_item = malloc(sizeof(struct ilist_item));
- if (! new_item)
- return NULL;
- new_item->key = key;
- new_item->data = data;
- new_item->next = NULL;
-
- if (target->size == 0)
- {
- target->head = new_item;
- target->tail = new_item;
- }
- else
- {
- struct ilist_item* item = target->head;
- // Are we the new head?
- if (key < target->head->key)
- {
- new_item->next = target->head;
- target->head = new_item;
- }
- else
- {
- do
- {
- // Are we inserting after this item?
- if (item->next == NULL)
- {
- item->next = new_item;
- target->tail = new_item;
- break;
- }
- else
- {
- if (key < item->next->key)
- {
- new_item->next = item->next;
- item->next = new_item;
- break;
- }
- }
- } while ((item = item->next));
- }
- }
- target->size++;
- return new_item;
-}
-
-/**
- Does nothing if the key/data pair are in the list.
- Ordered smallest to largest.
- @return NULL iff the key/data pair are in the list.
- Could optimize to only malloc if insertion point is found.
-*/
-struct ilist_item*
-ilist_ordered_insert_unique(struct ilist* target,
- int (*cmp)(void*,void*),
- int key, void* data)
-{
- struct ilist_item* new_item = malloc(sizeof(struct ilist_item));
- if (! new_item)
- return NULL;
- new_item->key = key;
- new_item->data = data;
- new_item->next = NULL;
-
- if (target->size == 0)
- {
- target->head = new_item;
- target->tail = new_item;
- }
- else
- {
- struct ilist_item* item = target->head;
- // Are we the new head?
- if (key < target->head->key)
- {
- new_item->next = target->head;
- target->head = new_item;
- }
- // Are we equal to the head?
- else if (key == target->head->key &&
- cmp(data, target->head->data) == 0)
- {
- FREE(new_item);
- return NULL;
- }
- else
- {
- do
- {
- // Are we inserting after this item?
- if (item->next == NULL)
- {
- item->next = new_item;
- target->tail = new_item;
- break;
- }
- else
- {
- if (key == item->next->key &&
- cmp(data, item->next->data) == 0)
- {
- FREE(new_item);
- return NULL;
- }
- if (key < item->next->key)
- {
- new_item->next = item->next;
- item->next = new_item;
- break;
- }
- }
- } while ((item = item->next));
- }
- }
- target->size++;
- return new_item;
-}
-
-/**
- This is expensive: singly linked list.
-*/
-void*
-ilist_pop(struct ilist* target)
-{
- // NOTE_F;
-
- void* data;
- if (target->size == 0)
- return NULL;
- if (target->size == 1)
- {
- data = target->head->data;
- FREE(target->head);
- target->head = NULL;
- target->tail = NULL;
- target->size = 0;
- return data;
- }
-
- struct ilist_item* item;
- for (item = target->head; item->next->next;
- item = item->next);
- data = item->next->data;
- FREE(item->next);
- item->next = NULL;
- target->tail = item;
- target->size--;
- return data;
-}
-
-/**
- Remove and return head of list.
- */
-void*
-ilist_poll(struct ilist* target)
-{
- void* data;
- if (target->size == 0)
- return NULL;
- if (target->size == 1)
- {
- data = target->head->data;
- FREE(target->head);
- target->head = NULL;
- target->tail = NULL;
- target->size = 0;
- return data;
- }
-
- struct ilist_item* delendum = target->head;
- data = target->head->data;
- target->head = target->head->next;
- FREE(delendum);
- target->size--;
- return data;
-}
-
-/**
- Return data item i or NULL if i is out of bounds.
-*/
-void*
-ilist_get(struct ilist* target, int i)
-{
- struct ilist_item* item;
- int j = 0;
- for (item = target->head; item; item = item->next, j++)
- if (i == j)
- return (item->data);
- return NULL;
-}
-
-/**
- @return The data or NULL if not found.
-*/
-void*
-ilist_search(struct ilist* target, int key)
-{
- struct ilist_item* item;
- for (item = target->head; item; item = item->next)
- if (key == item->key)
- return (item->data);
- return NULL;
-}
-
-/**
- Removes the ilist_item from the list.
- frees the ilist_item.
- @return The data item or NULL if not found.
-*/
-void*
-ilist_remove(struct ilist* target, int key)
-{
- struct ilist_item* item;
- void* data;
- if (target->size == 0)
- return false;
- if (target->head->key == key)
- {
- item = target->head;
- target->head = item->next;
- data = item->data;
- FREE(item);
- target->size--;
- return data;
- }
- for (item = target->head; item->next; item = item->next)
- if (item->next->key == key)
- {
- struct ilist_item* delendum = item->next;
- data = delendum->data;
- if (item->next == target->tail)
- target->tail = item;
- item->next = item->next->next;
- FREE(delendum);
- target->size--;
- return data;
- }
- return NULL;
-}
-
-/**
- Free this list but not its data.
-*/
-void
-ilist_free(struct ilist* target)
-{
- struct ilist_item* item = target->head;
- while (item)
- {
- struct ilist_item* next = item->next;
- FREE(item);
- item = next;
- }
- FREE(target);
-}
-
-/**
- Free this list and its data.
-*/
-void
-ilist_destroy(struct ilist* target)
-{
- // NOTE_F;
- struct ilist_item* item = target->head;
- while (item)
- {
- struct ilist_item* next = item->next;
- FREE(item->data);
- // FREE(item);
- item = next;
- }
- FREE(target);
- // DONE;
-}
-
-/**
- @param format Specifies the output format for the data items.
- */
-void
-ilist_printf(char* format, struct ilist* target)
-{
- struct ilist_item* item;
- printf("[");
- for (item = target->head;
- item; item = item->next)
- {
- printf("(%i,", item->key);
- if (strcmp(format, "%s") == 0)
- printf(format, item->data);
- else if (strcmp(format, "%i") == 0)
- printf(format, *((int*) (item->data)));
- printf(")");
- if (item->next)
- printf(",");
- }
- printf("]\n");
-}
-
-/**
- @param format Specifies the output format for the data items.
- */
-void
-ilist_fprintf(FILE* file, char* format, struct ilist* target)
-{
- struct ilist_item* item;
- fprintf(file, "[");
- for (item = target->head;
- item; item = item->next)
- {
- fprintf(file, "(%i,", item->key);
- if (strcmp(format, "%s") == 0)
- fprintf(file, format, item->data);
- else if (strcmp(format, "%i") == 0)
- fprintf(file, format, *((int*) (item->data)));
- fprintf(file, ")");
- if (item->next)
- fprintf(file, ",");
- }
- fprintf(file, "]\n");
-}
-
-/**
- @param f Specifies the output format for the data items.
- */
-void
-ilist_fdump(FILE* file, char* (f)(void*), struct ilist* target)
-{
- struct ilist_item* item;
- fprintf(file, "[");
- for (item = target->head;
- item; item = item->next)
- {
- fprintf(file, "(%i,", item->key);
- fprintf(file, "%s", f(item->data));
- fprintf(file, ")");
- if (item->next)
- fprintf(file, ",");
- }
- fprintf(file, "]\n");
-}
-
-/**
- Just dump the int keys.
- */
-void
-ilist_dumpkeys(struct ilist* target)
-{
- struct ilist_item* item;
- printf("KEYS: [");
- for (item = target->head;
- item; item = item->next)
- {
- printf("(%i)", item->key);
- if (item->next)
- printf(",");
- }
- printf("]\n");
-}
-
-/**
- Just dump the int keys.
- */
-void
-ilist_fdumpkeys(FILE* file, struct ilist* target)
-{
- struct ilist_item* item;
- fprintf(file, "KEYS: [");
- for (item = target->head;
- item; item = item->next)
- {
- fprintf(file, "(%i)", item->key);
- if (item->next)
- fprintf(file, ",");
- }
- fprintf(file, "]\n");
-}
-
-/**
- Dump the int keys in hex.
- */
-void
-ilist_xdumpkeys(struct ilist* target)
-{
- struct ilist_item* item;
- printf("[");
- for (item = target->head;
- item; item = item->next)
- {
- printf("(%x)", item->key);
- if (item->next)
- printf(",");
- }
- printf("]\n");
-}
-
-/**
- Just dump the data pointers.
- @return Allocated memory: 10 * target->size.
- */
-char*
-ilist_serialize_ptrs(struct ilist* target)
-{
- char* result = malloc(30*target->size);
- struct ilist_item* item;
- char* p = result;
- p += sprintf(p, "PTRS: [");
- for (item = target->head;
- item; item = item->next)
- {
- p += sprintf(p, "%p", item->data);
- if (item->next)
- p += sprintf(p, " ");
- }
- sprintf(p, "]\n");
- return result;
-}
-
-static char*
-append_pair(char* ptr, struct ilist_item* item, char* s)
-{
- ptr += sprintf(ptr, "(%i,", item->key);
- ptr += sprintf(ptr, "%s)", s);
-
- if (item->next)
- ptr += sprintf(ptr, ",");
- return ptr;
-}
-
-/**
- @param f The output function for the data.
-*/
-void
-ilist_dump(char* (*f)(void*), struct ilist* target)
-{
- struct ilist_item* item;
- printf("[");
- for (item = target->head;
- item; item = item->next)
- {
- printf("(%i,", item->key);
- printf(f(item->data));
- printf(")");
- if (item->next)
- printf(",");
- }
- printf("] \n");
-}
-
-/** Dump ilist to string a la snprintf()
- size must be greater than 2.
- format specifies the output format for the data items
- returns int greater than size if size limits are exceeded
- indicating result is garbage
- */
-int ilist_snprintf(char* str, size_t size,
- char* format, struct ilist* target)
-{
- int error = size+1;
- char* ptr = str;
- struct ilist_item* item;
-
- if (size <= 2)
- return error;
-
- ptr += sprintf(ptr, "[");
-
- char* s = (char*) malloc(sizeof(char)*ILIST_MAX_DATUM);
-
- for (item = target->head; item && ptr-str < size;
- item = item->next)
-
- {
- int r = snprintf(s, ILIST_MAX_DATUM, format, item->data);
- if (r > ILIST_MAX_DATUM)
- return size+1;
- if ((ptr-str) + 10 + r + 4 < size)
- ptr = append_pair(ptr, item, s);
- else
- return error;
- }
- ptr += sprintf(ptr, "]");
-
- FREE(s);
- return (ptr-str);
-}
-
-/** Dump ilist to string a la snprintf()
- size must be greater than 2.
- format specifies the output format for the data items
- returns int greater than size if size limits are exceeded
- indicating result is garbage
- */
-int ilist_marshal(char* str, size_t size,
- char* (f)(void*), struct ilist* target)
-{
- int error = size+1;
- char* ptr = str;
- struct ilist_item* item;
-
- if (size <= 2)
- return error;
-
- ptr += sprintf(ptr, "[");
-
- for (item = target->head; item && ptr-str < size;
- item = item->next)
- {
- char* s = f(item->data);
- int r = sprintf(s, "%s", s);
- if (r > ILIST_MAX_DATUM)
- return size+1;
- if ((ptr-str) + 10 + r + 4 < size)
- ptr = append_pair(ptr, item, s);
- else
- return error;
- }
- ptr += sprintf(ptr, "]");
-
- return (ptr-str);
-}
-
-#ifdef DEBUG_ILIST
-
-#endif
diff --git a/oldcode/src/adts/inlist.c b/oldcode/src/adts/inlist.c
deleted file mode 100644
index aa925e8..0000000
--- a/oldcode/src/adts/inlist.c
+++ /dev/null
@@ -1,446 +0,0 @@
-
-#include "inlist.h"
-
-struct inlist*
-inlist_create()
-{
- // NOTE_F;
- struct inlist* new_inlist = malloc(sizeof(struct inlist));
- if (! new_inlist)
- return NULL;
- new_inlist->head = NULL;
- new_inlist->tail = NULL;
- new_inlist->size = 0;
- return new_inlist;
-}
-
-/**
- Add to the tail of the inlist.
- @return The new inlist_item.
-*/
-struct inlist_item*
-inlist_add(struct inlist* target, int data)
-{
- //SHOW_FP(target);
-
- struct inlist_item* new_item = malloc(sizeof(struct inlist_item));
- if (! new_item)
- return NULL;
-
- new_item->data = data;
- new_item->next = NULL;
-
- if (target->size == 0)
- {
- target->head = new_item;
- target->tail = new_item;
- }
- else
- {
- target->tail->next = new_item;
- }
-
- target->tail = new_item;
- target->size++;
-
- return new_item;
-}
-
-/**
- Parse a string with integers separated by spaces.
- Add all integers found to the returned new inlist.
- Leading or trailing spaces are ok.
-*/
-struct inlist*
-inlist_parse(char* s)
-{
- struct inlist* result = inlist_create();
- char* p = s;
-
- int n;
- int tmp;
- bool good = true;
-
- int r;
- while (good)
- {
- r = sscanf(p, "%i%n", &tmp, &n);
- p += n;
- if (r == 1)
- inlist_add(result, tmp);
- if (*p == ' ')
- p++;
- else
- good = false;
- }
- return result;
-}
-
-/**
- Remove and return the tail data item.
- This is expensive: singly linked inlist.
- @return -1 if the list is empty.
-*/
-int
-inlist_pop(struct inlist* target)
-{
- int data;
- if (target->size == 0)
- return -1;
- if (target->size == 1)
- {
- data = target->head->data;
- free(target->head);
- target->head = NULL;
- target->tail = NULL;
- target->size = 0;
- return data;
- }
-
- struct inlist_item* item;
- for (item = target->head; item->next->next;
- item = item->next);
- data = item->next->data;
- free(item->next);
- item->next = NULL;
- target->tail = item;
- target->size--;
- return data;
-}
-
-/**
- Return the head data item.
- @return -1 if the list is empty.
-*/
-int
-inlist_peek(struct inlist* target)
-{
- if (target->size == 0)
- return -1;
- return target->head->data;
-}
-
-/**
- Return and remove the head data item.
- @return The data or -1 if list is empty.
- */
-int
-inlist_poll(struct inlist* target)
-{
- // NOTE_F;
-
- int data;
- if (target->size == 0)
- return -1;
- if (target->size == 1)
- {
- data = target->head->data;
- free(target->head);
- target->head = NULL;
- target->tail = NULL;
- target->size = 0;
- return data;
- }
-
- struct inlist_item* delendum = target->head;
- data = target->head->data;
- target->head = target->head->next;
- free(delendum);
- target->size--;
- return data;
-}
-
-struct inlist_item*
-inlist_ordered_insert(struct inlist* target, int data)
-{
- struct inlist_item* new_item = malloc(sizeof(struct inlist_item));
- if (! new_item)
- return NULL;
- new_item->data = data;
- new_item->next = NULL;
-
- if (target->size == 0)
- {
- target->head = new_item;
- target->tail = new_item;
- }
- else
- {
- struct inlist_item* item = target->head;
- // Are we the new head?
- if (data < item->data)
- {
- new_item->next = target->head;
- target->head = new_item;
- }
- else
- {
- do
- {
- // Are we inserting after this item?
- if (item->next == NULL)
- {
- item->next = new_item;
- target->tail = new_item;
- break;
- }
- else
- {
- if (data < item->next->data)
- {
- new_item->next = item->next;
- item->next = new_item;
- break;
- }
- }
- } while ((item = item->next));
- }
- }
- target->size++;
- return new_item;
-}
-
-/**
- Untested.
- */
-struct inlist_item*
-inlist_ordered_insertdata(struct inlist* target, int data)
-{
- struct inlist_item* new_item = malloc(sizeof(struct inlist_item));
- if (! new_item)
- return NULL;
- new_item->data = data;
- new_item->next = NULL;
-
- if (target->size == 0)
- {
- target->head = new_item;
- target->tail = new_item;
- }
- else
- {
- struct inlist_item* item = target->head;
- // Are we the new head?
- if (data < item->data)
- {
- new_item->next = target->head;
- target->head = new_item;
- }
- else
- {
- do
- {
- // Are we inserting after this item?
- if (item->next == NULL)
- {
- item->next = new_item;
- target->tail = new_item;
- break;
- }
- else
- {
- if (data == item->next->data)
- {
- free(new_item);
- return NULL;
- }
- if (data < item->next->data)
- {
- new_item->next = item->next;
- item->next = new_item;
- break;
- }
- }
- } while ((item = item->next));
- }
- }
- target->size++;
- return new_item;
-}
-
-int
-inlist_random(struct inlist* target)
-{
- int i;
- // printf("%s %i \n", "list size: ", target->size);
-
- if (target->size == 0)
- return -1;
-
- int p = rand() % target->size;
- struct inlist_item* item = target->head;
- for (i = 0; i < p; i++)
- item = item->next;
-
- return item->data;
-}
-
-/**
- */
-bool
-inlist_contains(struct inlist* target, int data)
-{
- struct inlist_item* item;
- for (item = target->head;
- item; item = item->next)
- if (item->data == data)
- return true;
- return false;
-}
-
-/**
- @return An equal data int or -1 if not found.
-*/
-int
-inlist_search(struct inlist* target, int data)
-{
- struct inlist_item* item;
- for (item = target->head;
- item; item = item->next)
- if (item->data == data)
- return data;
- return -1;
-}
-
-/**
- @return True iff the data was matched
- and the item was freed.
-*/
-bool
-inlist_remove(struct inlist* target, int data)
-{
- bool result = false;
-
- // NOTE_FI(data);
-
- struct inlist_item* item = target->head;
- // Are we removing the head?
- if (data == item->data)
- {
- struct inlist_item* next = item->next;
- free(item);
- target->head = next;
- if (target->tail == next)
- target->tail = NULL;
- target->size--;
- result = true;
- }
- else
- {
- // Are we removing the item after this item?
- while (item->next)
- {
- if (data == item->next->data)
- {
- struct inlist_item* nextnext = item->next->next;
- if (target->tail == item->next)
- target->tail = nextnext;
- free(item->next);
- item->next = nextnext;
- target->size--;
- result = true;
- break;
- }
- item = item->next;
- }
- }
- // DONE;
- return result;
-}
-
-/**
- Print all ints using printf.
- */
-void
-inlist_printf(struct inlist* target)
-{
- struct inlist_item* item;
-
- printf("[");
- for (item = target->head; item; item = item->next)
- {
- printf("%i", item->data);
- if (item->next)
- printf(",");
- }
- printf("]\n");
-}
-
-/**
- Returns pointer to allocated output location, 12*size.
- */
-char*
-inlist_serialize(struct inlist* target)
-{
- char* result = malloc(12 * (target->size) * sizeof(char));
- char* p = result;
- struct inlist_item* item;
-
- for (item = target->head; item; item = item->next)
- {
- p += sprintf(p, "%i", item->data);
- if (item->next)
- p += sprintf(p, " ");
- }
- return result;
-}
-
-/**
- Free this list.
- */
-void
-inlist_free(struct inlist* target)
-{
- // NOTE_F;
- struct inlist_item* item = target->head;
- struct inlist_item* next_item;
- while (item)
- {
- next_item = item->next;
- free(item);
- item = next_item;
- }
- free(target);
-}
-
-
-/*
- *
-** Dump inlist to string a la snprintf()
- size must be greater than 2.
- format specifies the output format for the data items
- returns int greater than size if size limits are exceeded
- indicating result is garbage
-
-int inlist_tostring(char* str, size_t size,
- char* format, struct inlist* target)
-{
- int error = size+1;
- char* ptr = str;
- struct inlist_item* item;
-
- if (size <= 2)
- return error;
-
- ptr += sprintf(ptr, "[");
-
- char* s = (char*) malloc(sizeof(char)*INLIST_MAX_DATUM);
-
- for (item = target->head; item; item = item->next,
- item && ptr-str < size)
- {
- int r = snprintf(s, INLIST_MAX_DATUM, format, item->data);
- if (r > INLIST_MAX_DATUM)
- return size+1;
- if ((ptr-str) + strlen(item->data) + r + 4 < size)
- ptr = append_pair(ptr, item, s);
- else
- return error;
- }
- sprintf(ptr, "]");
-
- free(s);
- return (ptr-str);
-}
-
-*/
diff --git a/oldcode/src/adts/itable.c b/oldcode/src/adts/itable.c
deleted file mode 100644
index d7e9110..0000000
--- a/oldcode/src/adts/itable.c
+++ /dev/null
@@ -1,197 +0,0 @@
-
-#include "itable.h"
-
-int
-hash_int(int key, int table_size)
-{
- return (key % table_size);
-}
-
-struct itable*
-itable_create(int capacity)
-{
- int i = 0;
- struct itable *new_table = NULL;
-
- new_table =
- (struct itable*) MALLOC(sizeof(struct itable));
- if (! new_table)
- return (NULL);
-
- new_table->size = 0;
- new_table->capacity = capacity;
-
- new_table->array =
- (struct ilist**) MALLOC(sizeof(struct ilist*) * capacity);
- if (!new_table->array)
- {
- FREE(new_table);
- return (NULL);
- }
-
- for (i = 0; i < capacity; i++)
- {
- struct ilist* new_ilist = ilist_create();
- if (! new_ilist)
- return NULL;
- new_table->array[i] = new_ilist;
- }
-
- return new_table;
-}
-
-/*
-void
-itable_finalize(struct itable *old_table)
-{
- // DOES NOT FREE ILISTS!
- free(old_table->array);
- free(old_table);
- return;
-}
-*/
-
-/**
- Add key/data pair to table.
- If key exists, replace with new data.
-*/
-bool
-itable_add(struct itable* table, int key, void* data)
-{
- int index = hash_int(key, table->capacity);
-
- struct ilist_item* new_item =
- ilist_replace(table->array[index], key, data);
-
- if (! new_item)
- return false;
-
- table->size++;
-
- return true;
-}
-
-/**
- @return The data or NULL if not found.
-*/
-void*
-itable_search(struct itable* table, int key)
-{
- int index = hash_int(key, table->capacity);
- return ilist_search(table->array[index], key);
-}
-
-void*
-itable_remove(struct itable* table, int key)
-{
- int index = hash_int(key, table->capacity);
- return ilist_remove(table->array[index], key);
-}
-
-void
-itable_free(struct itable* target)
-{
- int i;
-
- // NOTE_F;
- // SHOW_FI(target->size);
-
- for (i = 0; i < target->capacity; i++)
- {
- ilist_free(target->array[i]);
- }
- FREE(target->array);
- FREE(target);
-}
-
-void
-itable_destroy(struct itable* target)
-{
- int i;
-
- // NOTE_F;
- // SHOW_FI(target->size);
-
- for (i = 0; i < target->capacity; i++)
- {
- ilist_destroy(target->array[i]);
- }
- FREE(target->array);
- FREE(target);
-
- // DONE;
-}
-
-/**
- @param format specifies the output format for the data items
- */
-void
-itable_dump(char* format, struct itable* target)
-{
- int i;
- char s[200];
- printf("{\n");
- for (i = 0; i < target->capacity; i++)
- {
- if (target->array[i]->size > 0)
- {
- ilist_snprintf(s, 200, "%s", target->array[i]);
- printf("%i: %s \n", i, s);
- }
- }
- printf("}\n");
-}
-
-/** Dump ilist to string a la snprintf()
- size must be greater than 2.
- format specifies the output format for the data items
- internally allocates O(size) memory
- returns int greater than size if size limits are exceeded
- indicating result is garbage
-*/
-int itable_tostring(char* str, size_t size,
- char* format, struct itable* target)
-{
- int error = size+1;
- char* ptr = str;
- int i;
- ptr += sprintf(str, "{\n");
-
- char* s = (char*) MALLOC(sizeof(char) * size);
-
- for (i = 0; i < target->size; i++)
- {
- int r = ilist_snprintf(s, size, format, target->array[i]);
- if ((ptr-str) + r + 2 < size)
- ptr += sprintf(ptr, "%s\n", s);
- else
- return error;
- }
- sprintf(ptr, "}\n");
-
- FREE(s);
- return (ptr-str);
-}
-
-#ifdef DEBUG_ITABLE
-
-int
-main()
-{
- char s[200];
- struct itable* table = itable_create(30);
-
- itable_add(table, 30, "hello30");
- itable_add(table, 22, "hello22");
- itable_add(table, 21, "hello21");
- itable_add(table, 51, "hello51");
-
- // itable_tostring(s, 200, "%s", table);
- itable_dump("%s", table);
-
- itable_remove(table, 22);
-
- itable_dump("%s", table);
-}
-
-#endif
diff --git a/oldcode/src/adts/keyvalue.c b/oldcode/src/adts/keyvalue.c
deleted file mode 100644
index e2ae16e..0000000
--- a/oldcode/src/adts/keyvalue.c
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#include <stdlib.h>
-
-#include "keyvalue.h"
-
-/**
- Free this keyvalue pair and its member data pointers.
-*/
-void
-keyvalue_destroy(struct keyvalue* kv)
-{
- NOTE_F;
- FREE(kv->key);
- FREE(kv->data);
- FREE(kv);
-}
diff --git a/oldcode/src/adts/klist.c b/oldcode/src/adts/klist.c
deleted file mode 100644
index 12b68ef..0000000
--- a/oldcode/src/adts/klist.c
+++ /dev/null
@@ -1,164 +0,0 @@
-
-#include <stdio.h>
-#include <string.h>
-
-#include "klist.h"
-
-extern struct klist*
-klist_create()
-{
- // NOTE_F;
- struct klist* new_klist = MALLOC(sizeof(struct klist));
- if (! new_klist)
- return NULL;
- new_klist->head = NULL;
- new_klist->tail = NULL;
- new_klist->size = 0;
- return new_klist;
-}
-
-struct klist_item*
-klist_add(struct klist* target, char* key, void* data)
-{
- // NOTE_FS(key);
-
- struct klist_item* new_item = MALLOC(sizeof(struct klist_item));
- if (! new_item)
- return NULL;
-
- new_item->key = key;
- new_item->data = data;
- new_item->next = NULL;
- if (target->size == 0)
- {
- target->head = new_item;
- target->tail = new_item;
- }
- else
- {
- target->tail->next = new_item;
- }
- target->tail = new_item;
- target->size++;
- return new_item;
-}
-
-/**
- @param format specifies the output format for the data items
- */
-void
-klist_dump(char* format, struct klist* target)
-{
- struct klist_item* item;
-
- printf("[");
- for (item = target->head; item; item = item->next)
- {
- printf("(%s,", item->key);
- if (strcmp(format, "%s") == 0)
- printf(format, item->data);
- else if (strcmp(format, "%i") == 0)
- printf(format, *((int*) (item->data)));
- printf(")");
- if (item->next)
- printf(",");
- }
- printf("]\n");
-}
-
-void
-klist_dumpkeys(struct klist* target)
-{
- struct klist_item* item;
-
- printf("[");
- for (item = target->head; item; item = item->next)
- {
- printf("(%s)", item->key);
- if (item->next)
- printf(",");
- }
- printf("]\n");
-}
-
-static char*
-append_pair(char* ptr, struct klist_item* item, char* s)
-{
- ptr += sprintf(ptr, "(%s,", item->key);
- ptr += sprintf(ptr, "%s)", s);
-
- if (item->next)
- ptr += sprintf(ptr, ",");
- return ptr;
-}
-
-void klist_free(struct klist* target)
-{
- struct klist_item* item;
- // NOTE_F;
-
- // klist_dumpkeys(target);
-
- item = target->head;
- while (item)
- {
- struct klist_item* next = item->next;
- FREE(item);
- item = next;
- }
-
- FREE(target);
-}
-
-/** Dump klist to string a la snprintf()
- size must be greater than 2.
- format specifies the output format for the data items
- returns int greater than size if size limits are exceeded
- indicating result is garbage
- */
-int klist_tostring(char* str, size_t size,
- char* format, struct klist* target)
-{
- int error = size+1;
- char* ptr = str;
- struct klist_item* item;
-
- if (size <= 2)
- return error;
-
- ptr += sprintf(ptr, "[");
-
- char* s = (char*) MALLOC(sizeof(char)*KLIST_MAX_DATUM);
-
- for (item = target->head; item && ptr-str < size;
- item = item->next)
- {
- int r = snprintf(s, KLIST_MAX_DATUM, format, item->data);
- if (r > KLIST_MAX_DATUM)
- return size+1;
- if ((ptr-str) + strlen(item->key) + r + 4 < size)
- ptr = append_pair(ptr, item, s);
- else
- return error;
- }
- sprintf(ptr, "]");
-
- FREE(s);
- return (ptr-str);
-}
-
-#ifdef DEBUG_KLIST
-
-int
-main()
-{
- struct klist* L = klist_create();
-
- klist_add(L, "key", "value");
-
- klist_dump("%s", L);
-
-
-}
-
-#endif
diff --git a/oldcode/src/adts/list.c b/oldcode/src/adts/list.c
deleted file mode 100644
index 815521d..0000000
--- a/oldcode/src/adts/list.c
+++ /dev/null
@@ -1,925 +0,0 @@
-
-#include "list.h"
-
-#include "unistd.h"
-
-struct list*
-list_create()
-{
- struct list* new_list = MALLOC(sizeof(struct list));
- if (! new_list)
- return NULL;
- new_list->head = NULL;
- new_list->tail = NULL;
- new_list->size = 0;
- return new_list;
-}
-
-/**
- @return The new list_item.
-*/
-struct list_item*
-list_add(struct list* target, void* data)
-{
- struct list_item* new_item = MALLOC(sizeof(struct list_item));
- if (! new_item)
- return NULL;
-
- new_item->data = data;
- new_item->next = NULL;
-
- if (target->size == 0)
- {
- target->head = new_item;
- target->tail = new_item;
- }
- else
- {
- target->tail->next = new_item;
- }
-
- target->tail = new_item;
- target->size++;
-
- return new_item;
-}
-
-/**
- Add this data if list_inspect does not find it.
-*/
-struct list_item*
-list_add_one(struct list* target, void* data, int n)
-{
- if (! list_inspect(target, data, n))
- return list_add(target, data);
- return NULL;
-}
-
-/**
- Add this pre-formed list_item to target.
- Convenience: sets item->next to NULL.
- @return The added item.
-*/
-struct list_item*
-list_append(struct list* target, struct list_item* item)
-{
- if (target->size == 0)
- target->head = item;
- else
- target->tail->next = item;
- target->tail = item;
- item->next = NULL;
- target->size++;
- return item;
-}
-
-/**
- Create new list from string of words.
- Parse words separated by space or tab, insert each into list.
- */
-struct list*
-list_parse(char* s)
-{
- struct list* result = list_create();
- char* p = s;
- char* q;
- while (*p)
- {
- // Set p to start of word, q to end of word...
- while (*p == ' ' || *p == '\t')
- p++;
- if (!*p)
- break;
- q = p+1;
- while (! (*q == ' ' || *q == '\t' || *q == '\0'))
- q++;
-
- // Insert word into list...
- char* data = malloc(q-p+2);
- strncpy(data, p, q-p);
- data[q-p] = '\0';
- list_add(result, data);
-
- // Step forward:
- p = q;
- }
-
- return result;
-}
-
-/**
- This is expensive: singly linked list.
-*/
-void*
-list_pop(struct list* target)
-{
- void* data;
- if (target->size == 0)
- return NULL;
- if (target->size == 1)
- {
- data = target->head->data;
- FREE(target->head);
- target->head = NULL;
- target->tail = NULL;
- target->size = 0;
- return data;
- }
-
- struct list_item* item;
- for (item = target->head; item->next->next;
- item = item->next);
- data = item->next->data;
- FREE(item->next);
- item->next = NULL;
- target->tail = item;
- target->size--;
- return data;
-}
-
-void*
-list_peek(struct list* target)
-{
- if (target->size == 0)
- return NULL;
- return target->head->data;
-}
-
-/**
- */
-void*
-list_poll(struct list* target)
-{
- // NOTE_FI(target->size);
- void* data;
- if (target->size == 0)
- return NULL;
- if (target->size == 1)
- {
- data = target->head->data;
- FREE(target->head);
- target->head = NULL;
- target->tail = NULL;
- target->size = 0;
- return data;
- }
-
- struct list_item* delendum = target->head;
- data = target->head->data;
- target->head = target->head->next;
- FREE(delendum);
- target->size--;
- return data;
-}
-
-void*
-list_random(struct list* target)
-{
- int i;
- // printf("%s %i \n", "list size: ", target->size);
-
- if (target->size == 0)
- return NULL;
-
- int p = rand() % target->size;
- struct list_item* item = target->head;
- for (i = 0; i < p; i++)
- item = item->next;
-
- return item->data;
-}
-
-struct list_item*
-list_ordered_insert(struct list* target,
- int (*cmp)(void*,void*), void* data)
-{
- // NOTE_F;
- struct list_item* new_item = MALLOC(sizeof(struct list_item));
- if (! new_item)
- return NULL;
- new_item->data = data;
- new_item->next = NULL;
-
- if (target->size == 0)
- {
- target->head = new_item;
- target->tail = new_item;
- }
- else
- {
- struct list_item* item = target->head;
- // Are we the new head?
- if (cmp(data, item->data) == -1)
- {
- new_item->next = target->head;
- target->head = new_item;
- }
- else
- {
- do
- {
- // Are we inserting after this item?
- if (item->next == NULL)
- {
- item->next = new_item;
- target->tail = new_item;
- break;
- }
- else
- {
- if (cmp(data, item->next->data) == -1)
- {
- new_item->next = item->next;
- item->next = new_item;
- break;
- }
- }
- } while ((item = item->next));
- }
- }
- target->size++;
- return new_item;
-}
-
-/**
- Untested.
- */
-struct list_item*
-list_ordered_insert_unique(struct list* target, int (*cmp)(void*,void*),
- void* data)
-{
- struct list_item* new_item = MALLOC(sizeof(struct list_item));
- if (! new_item)
- return NULL;
- new_item->data = data;
- new_item->next = NULL;
-
- if (target->size == 0)
- {
- target->head = new_item;
- target->tail = new_item;
- }
- else
- {
- struct list_item* item = target->head;
- // Are we the new head?
- if (cmp(data, item->data) == -1)
- {
- new_item->next = target->head;
- target->head = new_item;
- }
- else
- {
- do
- {
- // Are we inserting after this item?
- if (item->next == NULL)
- {
- item->next = new_item;
- target->tail = new_item;
- break;
- }
- else
- {
- int c = cmp(data, item->next->data);
- if (c == 0)
- {
- FREE(new_item);
- return NULL;
- }
- if (c == -1)
- {
- new_item->next = item->next;
- item->next = new_item;
- break;
- }
- }
- } while ((item = item->next));
- }
- }
- target->size++;
- return new_item;
-}
-
-struct list_item*
-list_add_unique(struct list* target,
- int (*cmp)(void*,void*), void* data)
-{
- if (! list_contains(target, cmp, data))
- return list_add(target, data);
- return NULL;
-}
-
-/**
- */
-bool
-list_contains(struct list* target,
- int (*cmp)(void*,void*), void* data)
-{
- struct list_item* item;
- for (item = target->head;
- item; item = item->next)
- if (cmp(item->data, data) == 0)
- return true;
- return false;
-}
-
-/**
- Compare data pointer addresses for match.
- @return An equal data pointer or NULL if not found.
-*/
-void*
-list_search(struct list* target, void* data)
-{
- struct list_item* item;
- for (item = target->head;
- item; item = item->next)
- if (item->data == data)
- return data;
- return NULL;
-}
-
-/**
- Compare data contents for match.
- @return A pointer to an equivalent object or NULL if not found.
- */
-void*
-list_inspect(struct list* target, void* data, size_t n)
-{
- struct list_item* item;
- for (item = target->head;
- item; item = item->next)
- if (memcmp(item->data, data, n) == 0)
- return item->data;
- return NULL;
-}
-
-/**
- Empty the list.
-*/
-void
-list_clear(struct list* target)
-{
- struct list_item* item = target->head;
-
- while (item)
- {
- struct list_item* next = item->next;
- FREE(item);
- item = next;
- }
- target->head = NULL;
- target->tail = NULL;
- target->size = 0;
-}
-
-/**
- Empty the list and free the data.
-*/
-void
-list_clobber(struct list* target)
-{
- struct list_item* item = target->head;
-
- while (item)
- {
- struct list_item* next = item->next;
- FREE(item->data);
- FREE(item);
- item = next;
- }
- target->head = NULL;
- target->tail = NULL;
-}
-
-
-/**
- Removes only one item that points to given data.
- Does not free the item data.
- @return True iff the data pointer was matched
- and the item was freed.
-*/
-bool
-list_remove(struct list* target, void* data)
-{
- // NOTE_F;
-
- if (target->size == 0)
- return false;
-
- struct list_item* item = target->head;
-
- if (data == item->data)
- {
- struct list_item* next = item->next;
- FREE(item);
- target->head = next;
- if (target->tail == next)
- target->tail = NULL;
- target->size--;
- return true;
- }
-
- while (item->next)
- {
- // Are we removing the item after this item?
- if (data == item->next->data)
- {
- struct list_item* nextnext = item->next->next;
- if (target->tail == item->next)
- target->tail = nextnext;
- FREE(item->next);
- item->next = nextnext;
- target->size--;
- return true;
- }
- item = item->next;
- }
- return false;
-}
-
-/**
- Return all elements from the list where cmp(data,arg) == 0.
-*/
-struct list*
-list_select(struct list* target,
- int (*cmp)(void*,void*), void* arg)
-{
- struct list* result = list_create();
- struct list_item* item;
- assert(target != NULL);
-
-
- for (item = target->head;
- item; item = item->next)
- {
- if (cmp(item->data, arg) == 0)
- list_add(result, item->data);
- }
-
- return result;
-}
-
-/**
- Remove the elements from the list where cmp(data,arg) == 0.
- @return true if one or more items were deleted.
-*/
-bool
-list_remove_where(struct list* target,
- int (*cmp)(void*,void*), void* arg)
-{
- bool result = false;
- struct list_item* item;
-
- if (target->size == 0)
- return false;
-
- int old_size = target->size;
-
- // Establish next good item in list...
- struct list_item* good = NULL;
- for (item = target->head;
- item; item = item->next)
- {
- if (cmp(item->data, arg) != 0)
- {
- good = item;
- break;
- }
- }
-
- if (! good)
- // List should be empty
- {
- if (target->size > 0)
- result = true;
- list_clear(target);
- return result;
- }
-
- // Establish correct head...
- struct list_item* head = target->head;
- while (head && head != good)
- {
- struct list_item* next = head->next;
- printf("free: %i \n", *(int*) head->data);
- FREE(head);
- target->size--;
- head = next;
- }
- target->head = good;
-
- // Now current points to the first valid item in the list.
- struct list_item* current = target->head;
- while (good != NULL)
- {
- // Move to a good item or NULL...
- struct list_item* item = good->next;
- good = NULL;
- while (item)
- {
- if (cmp(item->data, arg) != 0)
- {
- good = item;
- break;
- }
- item = item->next;
- }
-
- if (good == NULL)
- // No more good items were found
- {
- target->tail = current;
- }
-
- // Free items between current and good:
-
- struct list_item* link = current;
- current = current->next;
- while (current != good)
- {
- struct list_item* next = current->next;
- FREE(current);
- target->size--;
- current = next;
- }
- link->next = good;
- }
-
- if (target->size != old_size)
- return true;
- return false;
-}
-
-
-/**
- Remove and return all elements from the list where
- cmp(data,arg) == 0.
- @return true if one or more items were deleted.
-*/
-struct list*
-list_pop_where(struct list* target,
- int (*cmp)(void*,void*), void* arg)
-{
- struct list* result = list_create();
- struct list_item* item;
-
- if (target->size == 0)
- return result;
-
- // Establish next good item in list...
- struct list_item* good = NULL;
- for (item = target->head;
- item; item = item->next)
- {
- if (cmp(item->data, arg) != 0)
- {
- good = item;
- break;
- }
- }
-
- if (! good)
- // All elements should be moved
- {
- list_transplant(result, target);
- return result;
- }
-
- // Establish correct head...
- struct list_item* head = target->head;
- while (head && head != good)
- {
- struct list_item* next = head->next;
- printf("free: %i \n", *(int*) head->data);
- list_append(result, head);
- target->size--;
- head = next;
- }
- target->head = good;
-
- // Now current points to the first valid item in the list.
- struct list_item* current = target->head;
- while (good != NULL)
- {
- // Move to a good item or NULL...
- struct list_item* item = good->next;
- good = NULL;
- while (item)
- {
- if (cmp(item->data, arg) != 0)
- {
- good = item;
- break;
- }
- item = item->next;
- }
-
- if (good == NULL)
- // No more good items were found
- target->tail = current;
-
- if (good != NULL)
- printf("good: %i \n", *(int*) good->data);
-
- // Free items between current and good:
-
- struct list_item* link = current;
- current = current->next;
- while (current != good)
- {
- struct list_item* next = current->next;
- list_append(result, current);
- target->size--;
- current = next;
- }
- link->next = good;
- }
-
- return result;
-}
-
-/**
- Attach copy of tail to target.
-*/
-void
-list_attach(struct list* target, struct list* segment);
-
-/**
- Moves all items from tail into target structure.
-*/
-void
-list_transplant(struct list* target, struct list* segment)
-{
- if (target->size == 0)
- {
- target->head = segment->head;
- }
- target->tail->next = segment->head;
- target->size += segment->size;
- target->tail = segment->tail;
-
- segment->head = NULL;
- segment->tail = NULL;
- segment->size = 0;
-}
-
-/**
- Does not free the item data.
- @return True iff the data content was matched by memcmp
- and the item was freed.
-*/
-bool
-list_erase(struct list* target, void* data, size_t n)
-{
- struct list_item* item = target->head;
- // Are we removing the head?
- if (memcmp(data, item->data, n) == 0)
- {
- struct list_item* next = item->next;
- FREE(item);
- target->head = next;
- if (target->tail == next)
- target->tail = NULL;
- target->size--;
- return true;
- }
- do
- {
- // Are we removing the item after this item?
- if (memcmp(data, item->next->data, n) == 0)
- {
- struct list_item* nextnext = item->next->next;
- if (target->tail == item->next)
- target->tail = nextnext;
- FREE(item->next);
- item->next = nextnext;
- target->size--;
- return true;
- }
- } while ((item = item->next));
- return false;
-}
-
-/**
- Function specifies the output format for the data items
- Does not free return of f.
- */
-void
-list_output(char* (*f)(void*), struct list* target)
-{
- struct list_item* item;
-
- printf("[");
- for (item = target->head; item; item = item->next)
- {
- printf("%s", f(item->data));
- if (item->next)
- printf(",");
- }
- printf("]\n");
-}
-
-/**
- format specifies the output format for the data items
- */
-void
-list_printf(char* format, struct list* target)
-{
- struct list_item* item;
-
- printf("[");
- for (item = target->head; item; item = item->next)
- {
- if (strcmp(format, "%s") == 0)
- printf(format, item->data);
- else if (strcmp(format, "%i") == 0)
- printf(format, *((int*) (item->data)));
- if (item->next)
- printf(",");
- }
- printf("]\n");
-}
-
-/**
- Free this list but not its data.
-*/
-void
-list_free(struct list* target)
-{
- struct list_item* item = target->head;
- while (item)
- {
- struct list_item* next = item->next;
- FREE(item);
- item = next;
- }
- FREE(target);
-}
-
-/**
- Free this list and its data.
-*/
-void
-list_destroy(struct list* target)
-{
- // NOTE_F;
-
- struct list_item* item = target->head;
- while (item)
- {
- struct list_item* next = item->next;
- FREE(item->data);
- FREE(item);
- item = next;
- }
- FREE(target);
-}
-
-int
-int_cmp(void* i1, void* i2)
-{
- int j1 = *(int*) i1;
- int j2 = *(int*) i2;
-
- if (j1 > j2)
- return 1;
- else if (j1 < j2)
- return -1;
- else
- return 0;
-}
-
-/**
- Returns 0 iff i1 is divisible by i2.
-*/
-int
-divides_cmp(void* i1, void* i2)
-{
- int j1 = *(int*) i1;
- int j2 = *(int*) i2;
-
- return (j1 % j2);
-}
-
-#ifdef DEBUG_LIST
-
-
-
-int
-main()
-{
- struct list* L = list_create();
-
- int zero = 0;
- int one = 1;
- int two = 2;
- int three = 3;
- int four = 4;
- int four2 = 4;
- int five = 5;
- int six = 6;
- int seven = 7;
- int eight = 8;
-
- list_ordered_insert(L, &two, int_cmp);
- list_ordered_insert(L, &four, int_cmp);
- list_ordered_insert(L, &three, int_cmp);
- list_ordered_insert(L, &three, int_cmp);
- list_ordered_insert(L, &three, int_cmp);
- list_ordered_insert(L, &three, int_cmp);
- list_ordered_insert(L, &zero, int_cmp);
- list_ordered_insert(L, &four2, int_cmp);
- list_ordered_insert(L, &four2, int_cmp);
- list_ordered_insert(L, &five, int_cmp);
- list_ordered_insert(L, &one, int_cmp);
-
- list_push(L, &eight);
-
- list_dump("%i", L);
- printf("size: %i \n", L->size);
-
- // struct list* matches = list_select(L, int_cmp, &four);
- // list_remove_where(L, divides_cmp, &two);
-
- struct list* K = list_pop_where(L, divides_cmp, &two);
-
- list_dump("%i", L);
- printf("size: %i \n", L->size);
-
- list_dump("%i", K);
- printf("size: %i \n", L->size);
-
- /*
- list_dump("%i", L);
- list_poll(L);
- list_dump("%i", L);
- list_pop(L);
- list_dump("%i", L);
- list_add(L, &seven);
- list_add(L, &six);
- list_dump("%i", L);
- */
-
- // list_clobber(L);
- list_clear(L);
- printf("size(L): %i \n", L->size);
-
- list_clear(K);
- printf("size(K): %i \n", K->size);
-
- list_dump("%i", L);
-}
-
-#endif
-
-/*
-
-char* append_pair(char* ptr, struct list_item* item, char* s)
-{
- ptr += sprintf(ptr, "(%s,", item->data);
- ptr += sprintf(ptr, "%s)", s);
-
- if (item->next)
- ptr += sprintf(ptr, ",");
- return ptr;
-}
-
-** Dump list to string a la snprintf()
- size must be greater than 2.
- format specifies the output format for the data items
- returns int greater than size if size limits are exceeded
- indicating result is garbage
-
-int list_tostring(char* str, size_t size,
- char* format, struct list* target)
-{
- int error = size+1;
- char* ptr = str;
- struct list_item* item;
-
- if (size <= 2)
- return error;
-
- ptr += sprintf(ptr, "[");
-
- char* s = (char*) malloc(sizeof(char)*LIST_MAX_DATUM);
-
- for (item = target->head; item; item = item->next,
- item && ptr-str < size)
- {
- int r = snprintf(s, LIST_MAX_DATUM, format, item->data);
- if (r > LIST_MAX_DATUM)
- return size+1;
- if ((ptr-str) + strlen(item->data) + r + 4 < size)
- ptr = append_pair(ptr, item, s);
- else
- return error;
- }
- sprintf(ptr, "]");
-
- // free(s);
- return (ptr-str);
-}
-
-*/
diff --git a/oldcode/src/adts/llist.c b/oldcode/src/adts/llist.c
deleted file mode 100644
index b71bfc5..0000000
--- a/oldcode/src/adts/llist.c
+++ /dev/null
@@ -1,478 +0,0 @@
-
-#include "llist.h"
-
-struct llist*
-llist_create()
-{
- struct llist* new_llist = MALLOC(sizeof(struct llist));
- if (! new_llist)
- return NULL;
- new_llist->head = NULL;
- new_llist->tail = NULL;
- new_llist->size = 0;
- return new_llist;
-}
-
-struct llist_item*
-llist_add(struct llist* target, long key, void* data)
-{
- struct llist_item* new_item = malloc(sizeof(struct llist_item));
- if (! new_item)
- return NULL;
-
- new_item->key = key;
- new_item->data = data;
- new_item->next = NULL;
- if (target->size == 0)
- {
- target->head = new_item;
- target->tail = new_item;
- }
- else
- {
- target->tail->next = new_item;
- }
- target->tail = new_item;
- target->size++;
- return new_item;
-}
-
-/**
- Insert into list so that keys are in order from smallest at head
- to largest at tail.
-*/
-struct llist_item*
-llist_ordered_insert(struct llist* target, long key, void* data)
-{
- struct llist_item* new_item = malloc(sizeof(struct llist_item));
- if (! new_item)
- return NULL;
- new_item->key = key;
- new_item->data = data;
- new_item->next = NULL;
-
- if (target->size == 0)
- {
- target->head = new_item;
- target->tail = new_item;
- }
- else
- {
- struct llist_item* item = target->head;
- // Are we the new head?
- if (key < target->head->key)
- {
- new_item->next = target->head;
- target->head = new_item;
- }
- else
- {
- do
- {
- // Are we inserting after this item?
- if (item->next == NULL)
- {
- item->next = new_item;
- target->tail = new_item;
- break;
- }
- else
- {
- if (key < item->next->key)
- {
- new_item->next = item->next;
- item->next = new_item;
- break;
- }
- }
- } while ((item = item->next));
- }
- }
- target->size++;
- return new_item;
-}
-
-/**
- Does nothing if the key/data pair are in the list.
- @return NULL iff the key/data pair are in the list.
- Could optimize to only malloc if insertion point is found.
-*/
-struct llist_item*
-llist_ordered_insertdata(struct llist* target,
- long key, void* data,
- bool (*cmp)(void*,void*))
-{
- struct llist_item* new_item = malloc(sizeof(struct llist_item));
- if (! new_item)
- return NULL;
- new_item->key = key;
- new_item->data = data;
- new_item->next = NULL;
-
- if (target->size == 0)
- {
- target->head = new_item;
- target->tail = new_item;
- }
- else
- {
- struct llist_item* item = target->head;
- // Are we the new head?
- if (key < target->head->key)
- {
- new_item->next = target->head;
- target->head = new_item;
- }
- // Are we equal to the head?
- else if (key == target->head->key &&
- cmp(data, target->head->data))
- {
- free(new_item);
- return NULL;
- }
- else
- {
- do
- {
- // Are we inserting after this item?
- if (item->next == NULL)
- {
- item->next = new_item;
- target->tail = new_item;
- break;
- }
- else
- {
- if (key == item->next->key &&
- cmp(data, item->next->data))
- {
- free(new_item);
- return NULL;
- }
- if (key < item->next->key)
- {
- new_item->next = item->next;
- item->next = new_item;
- break;
- }
- }
- } while ((item = item->next));
- }
- }
- target->size++;
- return new_item;
-}
-
-/**
- This is expensive: singly linked list.
-*/
-void*
-llist_pop(struct llist* target)
-{
- void* data;
- if (target->size == 0)
- return NULL;
- if (target->size == 1)
- {
- data = target->head->data;
- free(target->head);
- target->head = NULL;
- target->tail = NULL;
- target->size = 0;
- return data;
- }
-
- struct llist_item* item;
- for (item = target->head; item->next->next;
- item = item->next);
- data = item->next->data;
- free(item->next);
- item->next = NULL;
- target->tail = item;
- target->size--;
- return data;
-}
-
-/**
- Remove and return head of list.
- */
-void*
-llist_poll(struct llist* target)
-{
- void* data;
- if (target->size == 0)
- return NULL;
- if (target->size == 1)
- {
- data = target->head->data;
- free(target->head);
- target->head = NULL;
- target->tail = NULL;
- target->size = 0;
- return data;
- }
-
- struct llist_item* delendum = target->head;
- data = target->head->data;
- target->head = target->head->next;
- free(delendum);
- target->size--;
- return data;
-}
-
-/**
- Return data item i or NULL if i is out of bounds.
-*/
-void*
-llist_get(struct llist* target, int i)
-{
- struct llist_item* item;
- int j = 0;
- for (item = target->head; item; item = item->next, j++)
- if (i == j)
- return (item->data);
- return NULL;
-}
-
-void*
-llist_search(struct llist* target, long key)
-{
- struct llist_item* item;
- for (item = target->head; item; item = item->next)
- if (key == item->key)
- return (item->data);
- return NULL;
-}
-
-/**
- Removes the llist_item from the list.
- frees the llist_item and the data pointer.
- @return The removed item or NULL if not found.
-*/
-void*
-llist_remove(struct llist* target, long key)
-{
- struct llist_item* item;
- void* data;
- if (target->size == 0)
- return false;
- if (target->head->key == key)
- {
- item = target->head;
- target->head = item->next;
- data = item->data;
- free(item);
- target->size--;
- return data;
- }
- for (item = target->head; item->next; item = item->next)
- if (item->next->key == key)
- {
- struct llist_item* delendum = item->next;
- data = delendum->data;
- if (item->next == target->tail)
- target->tail = item;
- item->next = item->next->next;
- free(delendum);
- target->size--;
- return data;
- }
- return NULL;
-}
-
-/**
- Free this list but not its data.
-*/
-void
-llist_free(struct llist* target)
-{
- struct llist_item* item = target->head;
- while (item)
- {
- struct llist_item* next = item->next;
- free(item);
- item = next;
- }
- free(target);
-}
-
-/**
- Free this list and its data.
-*/
-void
-llist_destroy(struct llist* target)
-{
- struct llist_item* item = target->head;
- while (item)
- {
- struct llist_item* next = item->next;
- free(item->data);
- free(item);
- item = next;
- }
- free(target);
-}
-
-/** format specifies the output format for the data items
- */
-void
-llist_dump(char* format, struct llist* target)
-{
- struct llist_item* item;
- printf("[");
- for (item = target->head;
- item; item = item->next)
- {
- printf("(%li,", item->key);
- if (strcmp(format, "%s") == 0)
- printf(format, item->data);
- else if (strcmp(format, "%li") == 0)
- printf(format, *((long*) (item->data)));
- printf(")");
- if (item->next)
- printf(",");
- }
- printf("]\n");
-}
-
-/** Just dump the long keys.
- */
-void
-llist_dumpkeys(struct llist* target)
-{
- struct llist_item* item;
- printf("[");
- for (item = target->head;
- item; item = item->next)
- {
- printf("(%li)", item->key);
- if (item->next)
- printf(",");
- }
- printf("]\n");
-}
-
-/** Dump the long keys in hex.
- */
-void
-llist_xdumpkeys(struct llist* target)
-{
- struct llist_item* item;
- printf("[");
- for (item = target->head;
- item; item = item->next)
- {
- printf("(%lx)", item->key);
- if (item->next)
- printf(",");
- }
- printf("]\n");
-}
-
-
-static char*
-append_pair(char* ptr, struct llist_item* item, char* s)
-{
- ptr += sprintf(ptr, "(%li,", item->key);
- ptr += sprintf(ptr, "%s)", s);
-
- if (item->next)
- ptr += sprintf(ptr, ",");
- return ptr;
-}
-
-/**
- @param f The output function for the data.
-*/
-void llist_output(char* (*f)(void*), struct llist* target)
-{
- struct llist_item* item;
- printf("[");
- for (item = target->head;
- item; item = item->next)
- {
- printf("(%li,", item->key);
- printf(f(item->data));
- printf(")");
- if (item->next)
- printf(",");
- }
- printf("] \n");
-}
-
-/** Dump llist to string a la snprintf()
- size must be greater than 2.
- format specifies the output format for the data items
- returns int greater than size if size limits are exceeded
- indicating result is garbage
- */
-int llist_tostring(char* str, size_t size,
- char* format, struct llist* target)
-{
- int error = size+1;
- char* ptr = str;
- struct llist_item* item;
-
- if (size <= 2)
- return error;
-
- ptr += sprintf(ptr, "[");
-
- char* s = (char*) malloc(sizeof(char)*LLIST_MAX_DATUM);
-
- for (item = target->head; item && ptr-str < size;
- item = item->next)
-
- {
- int r = snprintf(s, LLIST_MAX_DATUM, format, item->data);
- if (r > LLIST_MAX_DATUM)
- return size+1;
- if ((ptr-str) + 10 + r + 4 < size)
- ptr = append_pair(ptr, item, s);
- else
- return error;
- }
- ptr += sprintf(ptr, "]");
-
- free(s);
- return (ptr-str);
-}
-
-#ifdef DEBUG_LLIST
-
-int
-main()
-{
- int i;
- char s[200];
- char* d1 = malloc(50*sizeof(char));
- strcpy(d1, "okey-dokey");
- char* d2 = malloc(50*sizeof(char));
- strcpy(d2, "okey-dokey30");
-
- struct llist* list = llist_create();
-
- llist_ordered_insert(list, 30, d2);
- llist_ordered_insert(list, 12, d1);
- llist_remove(list, 30);
- i = llist_tostring(s, 200, "%s", list);
- printf("1: %s \n", s);
-
- llist_ordered_insert(list, 31, "okey-dokey31");
- //
- llist_ordered_insert(list, 32, "okey-dokey32");
-
- i = llist_tostring(s, 200, "%s", list);
- printf("2: %s \n", s);
-
- llist_remove(list, 12);
- llist_ordered_insert(list, 33, "okey-dokey33");
- // llist_remove(list, 30);
-
- llist_ordered_insert(list, 20, "okey-dokey20");
-
- i = llist_tostring(s, 200, "%s", list);
- printf("%s \n", s);
-}
-
-#endif
diff --git a/oldcode/src/adts/lnlist.c b/oldcode/src/adts/lnlist.c
deleted file mode 100644
index fecd276..0000000
--- a/oldcode/src/adts/lnlist.c
+++ /dev/null
@@ -1,394 +0,0 @@
-
-#include "lnlist.h"
-
-struct lnlist*
-lnlist_create()
-{
- struct lnlist* new_lnlist = MALLOC(sizeof(struct lnlist));
- if (! new_lnlist)
- return NULL;
- new_lnlist->head = NULL;
- new_lnlist->tail = NULL;
- new_lnlist->size = 0;
- return new_lnlist;
-}
-
-/**
- @return The new lnlist_item.
-*/
-struct lnlist_item*
-lnlist_add(struct lnlist* target, long data)
-{
- struct lnlist_item* new_item = malloc(sizeof(struct lnlist_item));
- if (! new_item)
- return NULL;
-
- new_item->data = data;
- new_item->next = NULL;
-
- if (target->size == 0)
- {
- target->head = new_item;
- target->tail = new_item;
- }
- else
- {
- target->tail->next = new_item;
- }
-
- target->tail = new_item;
- target->size++;
-
- return new_item;
-}
-
-/**
- This is expensive: singly linked lnlist.
- @return -1 if the list is empty.
-*/
-long
-lnlist_pop(struct lnlist* target)
-{
- long data;
- if (target->size == 0)
- return -1;
- if (target->size == 1)
- {
- data = target->head->data;
- free(target->head);
- target->head = NULL;
- target->tail = NULL;
- target->size = 0;
- return data;
- }
-
- struct lnlist_item* item;
- for (item = target->head; item->next->next;
- item = item->next);
- data = item->next->data;
- free(item->next);
- item->next = NULL;
- target->tail = item;
- target->size--;
- return data;
-}
-
-/**
- @return -1 if the list is empty.
-*/
-long
-lnlist_peek(struct lnlist* target)
-{
- if (target->size == 0)
- return -1;
- return target->head->data;
-}
-
-/**
- Return and remove the head.
- @return The data or -1 if list is empty.
- */
-long
-lnlist_poll(struct lnlist* target)
-{
- long data;
- if (target->size == 0)
- return -1;
- if (target->size == 1)
- {
- data = target->head->data;
- free(target->head);
- target->head = NULL;
- target->tail = NULL;
- target->size = 0;
- return data;
- }
-
- struct lnlist_item* delendum = target->head;
- data = target->head->data;
- target->head = target->head->next;
- free(delendum);
- target->size--;
- return data;
-}
-
-struct lnlist_item*
-lnlist_ordered_insert(struct lnlist* target, long data)
-{
- struct lnlist_item* new_item = malloc(sizeof(struct lnlist_item));
- if (! new_item)
- return NULL;
- new_item->data = data;
- new_item->next = NULL;
-
- if (target->size == 0)
- {
- target->head = new_item;
- target->tail = new_item;
- }
- else
- {
- struct lnlist_item* item = target->head;
- // Are we the new head?
- if (data < item->data)
- {
- new_item->next = target->head;
- target->head = new_item;
- }
- else
- {
- do
- {
- // Are we inserting after this item?
- if (item->next == NULL)
- {
- item->next = new_item;
- target->tail = new_item;
- break;
- }
- else
- {
- if (data < item->next->data)
- {
- new_item->next = item->next;
- item->next = new_item;
- break;
- }
- }
- } while ((item = item->next));
- }
- }
- target->size++;
- return new_item;
-}
-
-/**
- Untested.
- */
-struct lnlist_item*
-lnlist_ordered_insertdata(struct lnlist* target, long data)
-{
- struct lnlist_item* new_item = malloc(sizeof(struct lnlist_item));
- if (! new_item)
- return NULL;
- new_item->data = data;
- new_item->next = NULL;
-
- if (target->size == 0)
- {
- target->head = new_item;
- target->tail = new_item;
- }
- else
- {
- struct lnlist_item* item = target->head;
- // Are we the new head?
- if (data < item->data)
- {
- new_item->next = target->head;
- target->head = new_item;
- }
- else
- {
- do
- {
- // Are we inserting after this item?
- if (item->next == NULL)
- {
- item->next = new_item;
- target->tail = new_item;
- break;
- }
- else
- {
- if (data == item->next->data)
- {
- free(new_item);
- return NULL;
- }
- if (data < item->next->data)
- {
- new_item->next = item->next;
- item->next = new_item;
- break;
- }
- }
- } while ((item = item->next));
- }
- }
- target->size++;
- return new_item;
-}
-
-/**
- */
-bool
-lnlist_contains(struct lnlist* target, long data)
-{
- struct lnlist_item* item;
- for (item = target->head;
- item; item = item->next)
- if (item->data == data)
- return true;
- return false;
-}
-
-/**
- @return An equal data int or -1 if not found.
-*/
-long
-lnlist_search(struct lnlist* target, long data)
-{
- struct lnlist_item* item;
- for (item = target->head;
- item; item = item->next)
- if (item->data == data)
- return data;
- return -1;
-}
-
-/**
- @return True iff the data was matched
- and the item was freed.
-*/
-bool
-lnlist_remove(struct lnlist* target, long data)
-{
- struct lnlist_item* item = target->head;
- // Are we removing the head?
- if (data == item->data)
- {
- struct lnlist_item* next = item->next;
- free(item);
- target->head = next;
- if (target->tail == next)
- target->tail = NULL;
- target->size--;
- return true;
- }
- do
- {
- // Are we removing the item after this item?
- if (data == item->next->data)
- {
- struct lnlist_item* nextnext = item->next->next;
- if (target->tail == item->next)
- target->tail = nextnext;
- free(item->next);
- item->next = nextnext;
- target->size--;
- return true;
- }
- } while ((item = item->next));
- return false;
-}
-
-/**
- @param format specifies the output format for the data items
- */
-void
-lnlist_dump(struct lnlist* target)
-{
- struct lnlist_item* item;
-
- printf("[");
- for (item = target->head; item; item = item->next)
- {
- printf("%li", item->data);
- if (item->next)
- printf(",");
- }
- printf("]\n");
-}
-
-/**
- Free this list.
- */
-void
-lnlist_free(struct lnlist* target)
-{
- struct lnlist_item* item = target->head;
- struct lnlist_item* next_item;
- while (item)
- {
- next_item = item->next;
- free(item);
- item = next_item;
- }
- free(target);
-}
-
-
-#ifdef DEBUG_LNLIST
-
-int
-main()
-{
- struct lnlist* L = lnlist_create();
-
- lnlist_ordered_insert(L, 2);
- lnlist_ordered_insert(L, 4);
- lnlist_ordered_insert(L, 3);
- lnlist_ordered_insert(L, 0);
- lnlist_ordered_insert(L, 5);
- lnlist_ordered_insert(L, 1);
-
- lnlist_push(L, 8);
-
- lnlist_dump(L);
-
- /*
- lnlist_dump("%i", L);
- lnlist_poll(L);
- lnlist_dump("%i", L);
- lnlist_pop(L);
- lnlist_dump("%i", L);
- lnlist_add(L, &seven);
- lnlist_add(L, &six);
- lnlist_dump("%i", L);
- */
-
-}
-
-#endif
-
-/*
- *
-** Dump lnlist to string a la snprintf()
- size must be greater than 2.
- format specifies the output format for the data items
- returns int greater than size if size limits are exceeded
- indicating result is garbage
-
-int lnlist_tostring(char* str, size_t size,
- char* format, struct lnlist* target)
-{
- int error = size+1;
- char* ptr = str;
- struct lnlist_item* item;
-
- if (size <= 2)
- return error;
-
- ptr += sprintf(ptr, "[");
-
- char* s = (char*) malloc(sizeof(char)*LNLIST_MAX_DATUM);
-
- for (item = target->head; item; item = item->next,
- item && ptr-str < size)
- {
- int r = snprintf(s, LNLIST_MAX_DATUM, format, item->data);
- if (r > LNLIST_MAX_DATUM)
- return size+1;
- if ((ptr-str) + strlen(item->data) + r + 4 < size)
- ptr = append_pair(ptr, item, s);
- else
- return error;
- }
- sprintf(ptr, "]");
-
- free(s);
- return (ptr-str);
-}
-
-*/
diff --git a/oldcode/src/adts/lru_table.c b/oldcode/src/adts/lru_table.c
deleted file mode 100644
index 8d03c4e..0000000
--- a/oldcode/src/adts/lru_table.c
+++ /dev/null
@@ -1,365 +0,0 @@
-
-#include "lru_table.h"
-
-int
-max(int i1, int i2)
-{
- return (i1>i2) ? i1 : i2;
-}
-
-struct lru_table*
-lru_table_create(int capacity, int limit)
-{
- // SHOW_FII(capacity, limit);
-
- int i = 0;
- struct lru_table *new_table = NULL;
-
- new_table =
- (struct lru_table*) malloc(sizeof(struct lru_table));
- if (! new_table)
- return (NULL);
-
- new_table->size = 0;
- new_table->capacity = capacity;
- new_table->limit = limit;
-
- new_table->lru = dpkm_list_create(limit);
-
- new_table->array =
- (struct dpkm_list**) malloc(capacity * sizeof(struct dpkm_list*));
- if (!new_table->array)
- {
- free(new_table);
- return NULL;
- }
-
- for (i = 0; i < capacity; i++)
- {
- // These lists do not enforce a limit!
- struct dpkm_list* new_dpkm_list = dpkm_list_create(limit+3);
- if (! new_dpkm_list)
- return NULL;
- new_table->array[i] = new_dpkm_list;
- }
-
- return new_table;
-}
-
-/**
- Does not free the data.
-*/
-void
-lru_table_free(struct lru_table* target)
-{
- NOTE_F;
- int i;
- for (i = 0; i < target->capacity; i++)
- dpkm_list_free(target->array[i]);
- FREE(target->array);
- dpkm_list_free(target->lru);
- FREE(target);
-}
-
-/**
- Adds the key/data pair to the table.
-
- Adds new item to end of table list and lru list.
- Sets those two item ptrs to each other.
-
- @param key Must be on the heap.
- @param data Must be on the heap.
-
- @return NULL if the table is not overfull or a
- struct keyvalue* representing the key/data pair
- that was LRU and selected as a victim.
- */
-struct keyvalue*
-lru_table_add(struct lru_table* table, char* key, char* data, int length)
-{
- // NOTE_F;
-
- struct keyvalue* result = NULL;
-
- int index = hash_string(key, table->capacity);
-
- // printf("%s -> %i \n", key, index);
-
- dpkm_list_add(table->array[index], key, data, length);
-
- struct dpkm_list_item* victim =
- dpkm_list_add(table->lru, key, data, length);
-
- table->array[index]->tail->ptr = table->lru->tail;
- table->lru->tail->ptr = table->array[index]->tail;
-
- if (victim == NULL)
- {
- table->size++;
- }
- else
- {
- int victim_index = hash_string(victim->key, table->capacity);
- dpkm_list_excise(table->array[victim_index], victim->ptr);
- result = (struct keyvalue*) malloc(sizeof(struct keyvalue));
- result->key = victim->key;
- result->data = victim->data;
- result->length = victim->length;
- free(victim->ptr);
- free(victim);
- }
-
- return result;
-}
-
-/**
- Search the table and touch the key/data pair
- to prevent vicitimization.
-
- @return Allocated keyvalue with pointers to key/data in table.
-*/
-struct keyvalue*
-lru_table_search(struct lru_table* table, char* key)
-{
- SHOW_FS(key);
-
- struct dpkm_list_item* item = NULL;
- int index = hash_string(key, table->capacity);
- struct keyvalue* result;
-
- item = dpkm_list_search(table->array[index], key);
- if (item)
- {
- dpkm_list_pushback(table->lru, item->ptr);
- result = malloc(sizeof(struct keyvalue));
- result->key = key;
- result->data = item->data;
- result->length = item->length;
-
- printdata("lru found: ", item->data, item->length);
-
- return result;
- }
-
- return NULL;
-}
-
-/**
- Search the table for the key/data pair and update the data.
- Copies data out of value: does not free it.
- Frees old data pointer.
- @return True iff the item was found and updated.
-*/
-bool
-lru_table_update(struct lru_table* table,
- char* key, char* value, int offset, int length)
-{
- SHOW_FSII(key,offset,length);
-
- struct dpkm_list_item* item = NULL;
- int index = hash_string(key, table->capacity);
-
- item = dpkm_list_search(table->array[index], key);
- if (item)
- dpkm_list_pushback(table->lru, item->ptr);
- else
- return false;
-
- gossip_do(MASK_ADTS, lru_table_printf("%s", table));
- printdata("old data: ", item->data, item->length);
-
- char* data = item->data;
-
- int new_length = max(item->length, offset+length);
-
- char* update = realloc(item->data, new_length);
- assert(update);
- memcpy(update+offset, value, length);
-
- item->data = update;
- item->length = new_length;
- item = item->ptr;
- item->data = update;
- item->length = new_length;
-
- printdata("new data: ", item->data, item->length);
-
- gossip_do(MASK_ADTS, lru_table_printf("%s", table));
-
- free(data);
-
- return true;
-}
-
-/**
- Remove the oldest key/value pair.
-
- @return NULL if the table is empty or a
- struct keyvalue* representing the key/data pair
- that was LRU.
- */
-struct keyvalue*
-lru_table_poll(struct lru_table* table)
-{
- // NOTE_F;
-
- struct keyvalue* result = NULL;
-
- struct dpkm_list_item* oldest = dpkm_list_poll(table->lru);
-
- if (oldest == NULL)
- {
- return NULL;
- }
- else
- {
- int oldest_index = hash_string(oldest->key, table->capacity);
- // SHOW_P((void*) oldest);
- // NOTE_S("OLDEST: ", oldest->key);
- // NOTE_S("OLDEST: ", ((struct dpkm_list_item*) oldest->ptr)->key);
- dpkm_list_excise(table->array[oldest_index], oldest->ptr);
- result = (struct keyvalue*) malloc(sizeof(struct keyvalue));
- // SHOW_S(oldest->key);
- result->key = oldest->key;
- result->data = oldest->data;
- result->length = oldest->length;
- free(oldest->ptr);
- free(oldest);
- }
-
- return result;
-}
-
-/**
- Internal method to remove key from table, not lru list.
-*/
-/*
-bool
-lru_table_remove(struct lru_table* target, struct dpkm_list_item* ptr)
-{
-
-list_excise()
-}
-*/
-
-/**
- Write the table to stdout.
- @param format specifies the output format for the data items
- */
-void
-lru_table_dump(char* format, struct lru_table* target)
-{
- int i;
- printf("LRU_TABLE(%i) \n{\n", target->size);
- printf("LRU: ");
- dpkm_list_printf(format, target->lru);
- for (i = 0; i < target->capacity; i++)
- if (target->array[i]->size > 0)
- {
- printf(" %i: ", i);
- dpkm_list_printf(format, target->array[i]);
- }
- printf("}\n");
-}
-
-/**
- @param format specifies the output format for the data items
- */
-void
-lru_table_printf(char* format, struct lru_table* target)
-{
- int i;
- printf("LRU_TABLE(%i) \n{\n", target->size);
- printf("LRU: ");
- dpkm_list_printf(format, target->lru);
- for (i = 0; i < target->capacity; i++)
- if (target->array[i]->size > 0)
- {
- printf(" %i: ", i);
- dpkm_list_printf(format, target->array[i]);
- }
- printf("}\n");
-}
-
-/**
- @param format specifies the output format for the data items
- */
-void
-lru_table_fprintf(FILE* file, char* format, struct lru_table* target)
-{
- int i;
- fprintf(file, "LRU_TABLE(%i) \n{\n", target->size);
- fprintf(file, "LRU: ");
- dpkm_list_fprintf(file, format, target->lru);
- for (i = 0; i < target->capacity; i++)
- if (target->array[i]->size > 0)
- {
- fprintf(file, " %i: ", i);
- dpkm_list_fprintf(file, format, target->array[i]);
- }
- fprintf(file, "}\n");
-}
-
-/*
-void
-lru_table_dumpkeys(struct lru_table* target)
-{
- int i;
- printf("{\n");
- for (i = 0; i < target->capacity; i++)
- if (target->array[i]->size)
- {
- printf("%i:", i);
- dpkm_list_dumpkeys(target->array[i]);
- }
- printf("}\n");
-}
-*/
-
-/** Dump dpkm_list to string a la snprintf()
- size must be greater than 2.
- format specifies the output format for the data items
- internally allocates O(size) memory
- returns int greater than size if size limits are exceeded
- indicating result is garbage
-*/
-int lru_table_tostring(char* str, size_t size,
- char* format, struct lru_table* target)
-{
- int error = size+1;
- char* ptr = str;
- int i;
- ptr += sprintf(str, "{\n");
-
- char* s = (char*) MALLOC(sizeof(char) * size);
-
- for (i = 0; i < target->capacity; i++)
- {
- int r = dpkm_list_tostring(s, size, format, target->array[i]);
- if ((ptr-str) + r + 2 < size)
- ptr += sprintf(ptr, "%s\n", s);
- else
- return error;
- }
- sprintf(ptr, "}\n");
-
- FREE(s);
- return (ptr-str);
-}
-
-/**
- Debugging only.
-*/
-
-#ifdef DEBUG_LRU_TABLE
-int
-main()
-{
- struct lru_table* table = lru_table_create(11);
-
- lru_table_add(table, "key1", "val1");
-
- lru_table_dump("%s", table);
-
-}
-#endif
diff --git a/oldcode/src/adts/ltable.c b/oldcode/src/adts/ltable.c
deleted file mode 100644
index 32087a8..0000000
--- a/oldcode/src/adts/ltable.c
+++ /dev/null
@@ -1,160 +0,0 @@
-
-#include "ltable.h"
-
-int
-hash_long(long key, int table_size)
-{
- return (key % table_size);
-}
-
-struct ltable*
-ltable_create(int capacity)
-{
- int i = 0;
- struct ltable *new_table = NULL;
-
- new_table =
- (struct ltable*) MALLOC(sizeof(struct ltable));
- if (! new_table)
- return (NULL);
-
- new_table->size = 0;
- new_table->capacity = capacity;
-
- new_table->array =
- (struct llist**) malloc(sizeof(struct llist*) * capacity);
- if (!new_table->array)
- {
- free(new_table);
- return NULL;
- }
-
- for (i = 0; i < capacity; i++)
- {
- struct llist* new_llist = llist_create();
- if (! new_llist)
- {
- for (i--; i >= 0; i--)
- free(new_table->array[i]);
- free(new_table);
- return NULL;
- }
- new_table->array[i] = new_llist;
- }
-
- return new_table;
-}
-
-void
-ltable_finalize(struct ltable *old_table)
-{
- // DOES NOT FREE LLISTS!
- free(old_table->array);
- free(old_table);
- return;
-}
-
-bool
-ltable_add(struct ltable *table, long key, void* data)
-{
- int index = 0;
-
- index = hash_long(key, table->capacity);
-
- struct llist_item* new_item =
- llist_add(table->array[index], key, data);
-
- if (! new_item)
- return false;
-
- table->size++;
-
- return true;
-}
-
-void*
-ltable_search(struct ltable* table, long key)
-{
- int index = hash_long(key, table->size);
- return llist_search(table->array[index], key);
-}
-
-void*
-ltable_remove(struct ltable* table, long key)
-{
- int index = hash_long(key, table->capacity);
- return llist_remove(table->array[index], key);
-}
-
-/** format specifies the output format for the data items
- */
-void
-ltable_dump(char* format, struct ltable* target)
-{
- int i;
- char s[200];
- printf("{\n");
- for (i = 0; i < target->capacity; i++)
- {
- if (target->array[i]->size > 0)
- {
- llist_tostring(s, 200, "%s", target->array[i]);
- printf("%i: %s \n", i, s);
- }
- }
- printf("}\n");
-}
-
-/** Dump llist to string a la snprintf()
- size must be greater than 2.
- format specifies the output format for the data items
- internally allocates O(size) memory
- returns int greater than size if size limits are exceeded
- indicating result is garbage
-*/
-int ltable_tostring(char* str, size_t size,
- char* format, struct ltable* target)
-{
- int error = size+1;
- char* ptr = str;
- int i;
- ptr += sprintf(str, "{\n");
-
- char* s = (char*) malloc(sizeof(char) * size);
-
- for (i = 0; i < target->size; i++)
- {
- int r = llist_tostring(s, size, format, target->array[i]);
- if ((ptr-str) + r + 2 < size)
- ptr += sprintf(ptr, "%s\n", s);
- else
- return error;
- }
- sprintf(ptr, "}\n");
-
- free(s);
- return (ptr-str);
-}
-
-#ifdef DEBUG_LTABLE
-
-int
-main()
-{
- char s[200];
- struct ltable* table = ltable_create(30);
-
- ltable_add(table, 30, "hello30");
- ltable_add(table, 22, "hello22");
- ltable_add(table, 21, "hello21");
- ltable_add(table, 51, "hello51");
-
- // ltable_tostring(s, 200, "%s", table);
- ltable_dump("%s", table);
-
- ltable_remove(table, 22);
-
- ltable_dump("%s", table);
-}
-
-#endif
diff --git a/oldcode/src/adts/module.mk.in b/oldcode/src/adts/module.mk.in
deleted file mode 100644
index 5351689..0000000
--- a/oldcode/src/adts/module.mk.in
+++ /dev/null
@@ -1,16 +0,0 @@
-
-DIR := src/adts
-
-ADT_SRC += $(DIR)/hashtable.c
-ADT_SRC += $(DIR)/keyvalue.c
-ADT_SRC += $(DIR)/itable.c
-ADT_SRC += $(DIR)/ltable.c
-ADT_SRC += $(DIR)/list.c
-ADT_SRC += $(DIR)/ilist.c
-ADT_SRC += $(DIR)/klist.c
-ADT_SRC += $(DIR)/llist.c
-ADT_SRC += $(DIR)/inlist.c
-ADT_SRC += $(DIR)/lnlist.c
-ADT_SRC += $(DIR)/dpkm_list.c
-ADT_SRC += $(DIR)/lru_table.c
-ADT_SRC += $(DIR)/xtree.c
diff --git a/oldcode/src/adts/xtree.c b/oldcode/src/adts/xtree.c
deleted file mode 100644
index d3f433c..0000000
--- a/oldcode/src/adts/xtree.c
+++ /dev/null
@@ -1,273 +0,0 @@
-
-#include <xtree.h>
-
-/**
- @return The ith bit of id.
-*/
-int
-bit(int i, xtree_id id)
-{
- // printf("shift: %i\n", (1 << i));
-
- return !! ((1 << i) & id);
-}
-
-struct xtree*
-xtree_create()
-{
- struct xtree* result;
-
- result = malloc(sizeof(struct xtree));
- result->size = 0;
- result->root = NULL;
-
- return result;
-}
-
-void
-xtree_add(struct xtree* target, xtree_id id, void* data)
-{
- xtree_object* new_object;
- xtree_object** p;
- bool done;
- int depth;
-
- new_object = malloc(sizeof(xtree_object));
- new_object->tag = XTREE_ITEM;
- new_object->thing.item.id = id;
- new_object->thing.item.data = data;
-
- if (target->size == 0)
- {
- target->root = new_object;
- target->size++;
- return;
- }
-
- p = &(target->root);
- depth = XTREE_DEPTH-1;
- done = false;
- while (!done)
- {
- if (*p == NULL)
- {
- printf("inserting at NULL stub: depth: %i\n", depth);
- *p = new_object;
- target->size++;
- break;
- }
- else if ((*p)->tag == XTREE_ITEM)
- {
- xtree_replace(target, depth, *p, new_object);
- target->size++;
- break;
- }
- else if ((*p)->tag == XTREE_NODE)
- {
- if (bit(depth, id) == 0)
- p = &((*p)->thing.node.zero);
- else
- p = &((*p)->thing.node.one);
- depth--;
- }
- }
-}
-
-#include <unistd.h>
-
-void
-xtree_replace(struct xtree* target, int depth,
- xtree_object* old_object, xtree_object* new_object)
-{
- xtree_item old_item;
- xtree_object* p;
-
- xtree_id old_id;
- xtree_id new_id;
-
- xtree_object* new_node;
-
- // Shortcuts...
- old_id = old_object->thing.item.id;
- new_id = new_object->thing.item.id;
-
- old_item.id = old_object->thing.item.id;
- old_item.data = old_object->thing.item.data;
-
- old_object->tag = XTREE_NODE;
- old_object->thing.node.zero = NULL;
- old_object->thing.node.one = NULL;
-
- printf("xtree_replace(%i)\n", depth);
- printf("old %i: \n", old_id);
- printf("new %i: \n", new_id);
-
- p = old_object;
-
- old_object = malloc(sizeof(xtree_object));
- old_object->tag = XTREE_ITEM;
- old_object->thing.item = old_item;
-
- while (true)
- {
- if (bit(depth,old_id) != bit(depth,new_id))
- {
- printf("diff at: %i\n", depth);
-
- if (bit(depth,old_id) == 0)
- {
- p->thing.node.zero = old_object;
- p->thing.node.one = new_object;
- }
- else
- {
- p->thing.node.zero = new_object;
- p->thing.node.one = old_object;
- }
- break;
- }
- else
- {
- // printf("new_node\n");
- new_node = malloc(sizeof(xtree_object));
- new_node->tag = XTREE_NODE;
- new_node->thing.node.zero = NULL;
- new_node->thing.node.one = NULL;
- if (bit(depth,old_item.id) == 0)
- p->thing.node.zero = new_node;
- else
- p->thing.node.one = new_node;
- p = new_node;
- }
- depth--;
- }
-}
-
-/**
-*/
-void
-xtree_find(xtree_object* p, xtree_id id, int count,
- int depth, struct ilist* objects)
-{
- if (p == NULL)
- {
- return;
- }
-
- if (p->tag == XTREE_ITEM)
- {
- ilist_ordered_insert(objects, id ^ p->thing.item.id, p);
- return;
- }
-
- if (bit(depth, id) == 0)
- {
- xtree_find(p->thing.node.zero, id, count, depth-1, objects);
- if (objects->size >= count)
- return;
- xtree_find(p->thing.node.one, id, count, depth-1, objects);
- }
- else
- {
- xtree_find(p->thing.node.one, id, count, depth-1, objects);
- if (objects->size >= count)
- return;
- xtree_find(p->thing.node.zero, id, count, depth-1, objects);
- }
-}
-
-struct inlist*
-xtree_query(struct xtree* target, xtree_id id, int count)
-{
- struct inlist* result;
- struct ilist* objects;
-
- struct ilist_item* item;
- xtree_object* object;
-
- objects = ilist_create();
- xtree_find(target->root, id, count, XTREE_DEPTH-1, objects);
-
- result = inlist_create();
- for (item = objects->head; item; item = item->next)
- {
- object = (xtree_object*) item->data;
- inlist_add(result, object->thing.item.id);
- }
-
- return result;
-}
-
-/**
- Return the data object for the matching id.
-*/
-void*
-xtree_search(struct xtree* target, xtree_id id)
-{
- void* result;
- struct ilist* objects;
- xtree_object* object;
-
- result = NULL;
-
- xtree_find(target->root, id, 1, XTREE_DEPTH-1, objects);
-
- if (objects->size > 0)
- {
- object = (xtree_object*) objects->head->data;
- if (object->thing.item.id == id)
- result = object->thing.item.data;
- }
-
- return result;
-}
-
-void
-xtree_printf_item(xtree_item* item, int depth)
-{
- printf(" %i", item->id);
-}
-
-void
-xtree_printf_node(xtree_object* object, int depth)
-{
- char spaces[256];
-
- memset(spaces, ' ', XTREE_DEPTH-depth);
- spaces[XTREE_DEPTH-depth] = '\0';
-
- // printf("depth: %i\n", depth)
-
- if (object != NULL)
- {
- if (object->tag == XTREE_ITEM)
- {
- printf("ITEM: ");
- xtree_printf_item(&(object->thing.item), depth);
- }
- else
- {
- if (object->thing.node.zero != NULL)
- {
- printf("\n%s0 ", spaces);
- xtree_printf_node(object->thing.node.zero, depth-1);
- }
- if (object->thing.node.one != NULL)
- {
- printf("\n%s1 ", spaces);
- xtree_printf_node(object->thing.node.one, depth-1);
- }
- }
- }
-}
-
-void
-xtree_printf(struct xtree* target)
-{
- if (target->size > 0)
- xtree_printf_node(target->root, XTREE_DEPTH-1);
- else
- printf("xtree: empty");
- printf("\n");
-}
-
diff --git a/oldcode/src/can/can.c b/oldcode/src/can/can.c
deleted file mode 100644
index 380c87c..0000000
--- a/oldcode/src/can/can.c
+++ /dev/null
@@ -1,2403 +0,0 @@
-/** @file can.c
- * The main file for the Content Addressable Network implementation.
- *
- * This file contains implementations for the whole public interface of the DHT.
- *
- * @defgroup dhtcontrol Control
- * @defgroup debugging Debugging
- * @defgroup processing Processing
- * @defgroup dhtpub Public
- *
- * @author Bryan Jacobs
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/types.h>
-#include <math.h>
-#include <string.h>
-#include <sched.h>
-#include <pthread.h>
-#include <unistd.h>
-#include "can_private.h"
-
-/**
- * Head of the node's data list
- *
- * @todo should be a hash table or tree instead of a SLL
- */
-static data_t* mdata;
-
-/** @{
- * General-purpose buffers
- */
-static char recvbuf[BUFFERLEN];
-static char sendbuf[BUFFERLEN];
-static void* mpibuffer;
-/**
- * @}
- */
-
-/** @{
- * Coordinate sets of the regions for which this node is responsible
- */
-static dim_t* lowers;
-static dim_t* uppers;
-/**
- * @}
- */
-
-/**
- * The giant pool of neighbor connections we've got (current a singly-linked list)
- */
-connlist_t* conns;
-
-/**
- * This thread's REAL MPI port
- */
-mpiport_t realmport;
-
-/**
- * This thread's service name
- */
-mpiport_t mname;
-
-/**
- * The thread's unique ID
- */
-mpi_id_t mid;
-
-/**
- * Whether a port has been opened for this node
- */
-static unsigned char portopen = 0;
-
-/**
- * The definitive version number for this node
- */
-serial_t mver;
-
-/**
- * Global communicator, or MPI_COMM_NULL for none
- */
-MPI_Comm mcomm;
-
-/**
- * Whether this node is part of the DHT in each reality
- */
-static unsigned char* connected;
-
-/**
- * Whether this node is alive or dead
- */
-static unsigned char dead = 0;
-
-unsigned char NUM_DIMENSIONS = 2;
-unsigned char NUM_REALITIES = 1;
-unsigned char USEWORLD = 1;
-unsigned char IACCEPT = 0;
-unsigned char DEBUG = 0;
-unsigned char VERBOSE = 1;
-
-/**
- * Fills a mpir_t structure that we're going to send in a buffer with our own information
- *
- * Upon this function's return, the passed mpir_t will be a copy of our own state
- *
- * @param fill This object will be filled with our information on the function's return
- * @param rno The reality from which to copy our information
- */
-static void put_self_in_object(mpir_t* fill, numr_t rno) {
- numd_t i;
- strcpy(fill->name, mname);
- fill->id = mid;
- fill->nver = mver;
- if (mcomm != MPI_COMM_NULL) {
- mpi_id_t rank;
- MPI_Comm_rank(mcomm, &rank);
- fill->rank = rank;
- fill->commest = 1;
- } else {
- fill->rank = -1;
- fill->comm = MPI_COMM_NULL;
- fill->commest = 0;
- }
- for (i = 0; i < NUM_DIMENSIONS; i++) {
- fill->lowers[i] = get_lowers(rno,i);
- fill->uppers[i] = get_uppers(rno,i);
- }
-}
-
-/**
- * Opens the MPI port if it's not already up
- *
- * This will create a port and register it under our service name, so other people can contact us.
- */
-static void open_port() {
- if (!portopen) {
- if (!USEWORLD) {
- MPI_Open_port(MPI_INFO_NULL, realmport);
- MPI_Publish_name(mname, MPI_INFO_NULL, realmport);
- }
- portopen = 1;
- }
-}
-
-/**
- * Method for finding the position of a point in a certain dimension from outside the DHT
- *
- * @ingroup debugging
- *
- * @param rno The reality in which to find the position
- * @param hash The point whose dimensional coordinates we want
- * @param dim The dimension we're interested in
- * @return The position in the given dimension (may be cast to a dim_t)
- */
-chash_t dhtpos(numr_t rno, chash_t hash, numd_t dim) {
- return get_dim_part(hash, dim);
-}
-
-/**
- * Finds the trynum'th deterministic path toward the destination from this node
- * Basically, call this repeatedly, incrementing trynum by one each time.
- *
- * @param rno The reality in which to route, or < 0 if we don't care
- * @param dests An array of chash_t having size NUM_REALITIES if rno >= 0,
- * where dest[i] corresponds to the destination in reality i, or having size 1 if rno < 0
- * @param trynum An integer which should start at 0 and be incremented once for each attempt to route the same message
- * @param outdim The dimension in which the chosen neighbor borders us
- * @param outdir The direction in which we head to reach the chosen neighbor
- *
- * @return A node object representing the routing choice made, or NULL if all choices have been exhausted
- */
-static mpir_t* make_routing_choice(numr_t rno, chash_t* dests, int trynum, numd_t* outdim, dir_t* outdir) {
- numd_t i;
- numr_t j;
- dir_t k;
- nlist_t* n;
- typedef struct ndlist_struct {
- mdim_t dist;
- mpir_t* neigh;
- struct ndlist_struct* next;
- } ndlist_t;
- ndlist_t* best = NULL;
- ndlist_t* prev = NULL;
- mpir_t* ret = NULL;
- ndlist_t* cur = NULL;
- for (j = 0; j < NUM_REALITIES; j++) {
- chash_t dest;
- if (rno >= 0) {
- j = rno;
- dest = dests[0];
- } else {
- dest = dests[j];
- }
- if (!connected[j]) {
- if (rno >= 0) {
- break;
- }
- continue;
- }
- for (i = 0; i < NUM_DIMENSIONS; i++) {
- for (k = 0; k < 2; k++) {
- n = neighbors[j][i][k];
- while (n != NULL) {
- unsigned char found = 0;
- mdim_t dist = get_distance(n->neighbor, dest);
- ndlist_t* ne = (ndlist_t*)malloc(sizeof(ndlist_t));
- cur = best;
- prev = NULL;
- ne->dist = dist;
- ne->neigh = n->neighbor;
- while (cur != NULL) {
- if (cur->neigh->id == n->neighbor->id) {
- /*
- * We already have this guy in our list
- */
- found = 1;
- break;
- }
- if (cur->dist > dist) {
- /*
- * This guy goes before cur
- */
- ne->next = cur;
- if (prev == NULL) {
- best = ne;
- } else {
- prev->next = ne;
- }
- found = 1;
- break;
- }
- prev = cur;
- cur = cur->next;
- }
- if (!found) {
- /*
- * Goes at the end of the list
- */
- ne->next = NULL;
- if (prev != NULL) {
- prev->next = ne;
- } else {
- best = ne;
- }
- }
- n = n->next;
- }
- }
- }
-
- if (rno >= 0) {
- /*
- * No point in looping
- */
- break;
- }
- }
-
- cur = best;
- while (cur != NULL) {
- if (trynum == 0 && ret == NULL) {
- ret = cur->neigh;
- /* Cannot break here because we need to free the whole list */
- }
- trynum--;
-
- prev = cur->next;
- free(cur);
- cur = prev;
- }
-
- return ret;
-}
-
-/**
- * Routes a message along a path toward the destination vid
- *
- * @todo Proper routing fallback
- * @param rno The reality in which to route the message
- * @param message The message itself
- * @param mlen Message length
- * @param tag The tag with which to send the message
- * @param dest The hash of the destination
- * @return 0 if the message was sent on, nonzero otherwise
- */
-static unsigned char send_towards(numr_t rno, char* message, dlen_t mlen, mpit_t tag, chash_t dest) {
- int cno = 0;
- numd_t dim;
- dir_t dir;
- while (1) {
- mpir_t* choice = make_routing_choice(rno, &dest, cno, &dim, &dir);
- if (choice == NULL) {
- debug_print("No route towards %x from %s!\n", dest, mname);
- return 1;
- }
- cno++;
- debug_print("send_towards on %s chose to route message to %s\n", mname, choice->name);
- if (!sendwrapper(message, mlen, MPI_BYTE, tag, choice)) {
- return 0;
- }
- }
- return 1;
-}
-
-/**
- * Handles actually SENDING a piece of data we've already got
- *
- * @param d The already-located data item we're sending
- * @param dest The recipient of the data
- *
- * @return Zero if the datum was sent, nonzero otherwise
- */
-static unsigned char send_data_piece(data_t* d, mpir_t* dest) {
- char* bufpos = recvbuf;
- memcpy(bufpos, &d->rno, sizeof(numr_t));
- bufpos += sizeof(numr_t);
- memcpy(bufpos, &d->hash, sizeof(chash_t));
- bufpos += sizeof(chash_t);
- memcpy(bufpos, &d->dlen, sizeof(dlen_t));
- bufpos += sizeof(dlen_t);
- memcpy(bufpos, d->data, d->dlen);
- bufpos += d->dlen; /* This line is so that bufpos-recvbuf below works */
- if (!sendwrapper(recvbuf, bufpos - recvbuf, MPI_BYTE, MTYPE_DATA_RESPONSE, dest)) {
- return 0;
- }
- return 1;
-}
-
-/**
- * Finds and sends a datum from our local cache to the specified destination.
- *
- * @param rno The reality in which to send data
- * @param hash The hash of the data item to send
- * @param dest The recipient of the data
- * @return 0 if the data was found and sent, -1 if it was not found, and something else on an error
- */
-static int send_data(numr_t rno, chash_t hash, mpir_t* dest) {
- data_t* d = mdata;
- while (d != NULL) {
- if (d->rno == rno && d->hash == hash) {
- debug_print("%s sending DATA RESPONSE to %s for %x (R%d)\n", mname, dest->name, hash, rno);
- if (!send_data_piece(d, dest)) {
- return 0;
- }
- return 1;
- }
- d = d->next;
- }
- return -1;
-}
-
-/**
- * Forwards a lookup query toward a destination - this will choose the reality in which the target is closest.
- *
- * Use this function whenever the message being forwarded should be able to cross realities.
- *
- * @param message The message to send
- * @param mlen Message length
- * @param tag The tag with which to send the message
- * @param l The lookup query as we received it - we need the hashes to know where to go next
- *
- * @return Zero if the query was successfully forwarded, nonzero otherwise
- */
-static unsigned char forward_query(char* message, dlen_t mlen, mpit_t tag, lookup_t* l) {
- mpir_t* choice;
- numr_t i;
- numd_t dim;
- dir_t dir;
- int cno = 0;
- chash_t* hashes = (chash_t*)malloc(sizeof(chash_t) * NUM_REALITIES);
- /* debug_print("%d forwarding query for %d\n",mrank,l->seeker); */
- for (i = 0; i < NUM_REALITIES; i++) {
- hashes[i] = l->hash[i];
- }
-
- if (DEBUG) {
- l->dimbeen[l->numbeen] = dim;
- l->dirbeen[l->numbeen] = dir;
- strcpy(l->been[l->numbeen++], mname);
- }
-
- while (1) {
- choice = make_routing_choice(-1, hashes, cno, &dim, &dir);
- if (choice == NULL) {
- debug_print("%s failed to find a forward path toward %x (in R0)!!!! MESSAGE LOST!\n", mname, l->hash[0]);
- free(hashes);
- return 1;
- }
- debug_print("%s is forwarding query to %s\n", mname, choice->name);
-
- if (sendwrapper(message, mlen, MPI_BYTE, tag, choice)) {
- /*
- * Send failed
- */
- cno++;
- continue;
- }
-
- free(hashes);
- return 0;
- }
-}
-
-/**
- * Triggers sending DATA to a neighbor as appropriate on a zone split/merge
- *
- * Data points that fall within the passed bounds will be sent. Others will not. This method will optionally remove the data
- * from our own list after sending.
- *
- * @todo Only send the real number of data bytes needed
- * @todo Batch messages, instead of using one per data element
- * @todo Eliminate extra message sent at end
- *
- * @param rno The reality in which to send data
- * @param to The recipient of the data
- * @param nlowers The lower bounds within which we want data to be sent, one entry per dimension
- * @param nuppers As nlowers, but upper bounds
- * @param remove If nonzero, delete data from our list after sending it
- *
- * @return Zero if the data were sent successfully, nonzero otherwise
- */
-static unsigned char send_zone_data_helper(numr_t rno, mpir_t* to, dim_t* nlowers, dim_t* nuppers, unsigned char remove) {
- data_t* d = mdata;
- data_t* prev = NULL;
- data_t* o = (data_t*)recvbuf;
- data_t* tmp;
- while (d != NULL) {
- unsigned char sent = 0;
- unsigned char pass = data_within(d->hash, nlowers, nuppers);
- if (pass) {
- o->dlen = d->dlen;
- o->hash = d->hash;
- o->rno = d->rno;
- o->next = (void*)1; /* Non-null means "I'm not done yet!" */
- memcpy(o->data, d->data, d->dlen);
- if (remove) {
- debug_print("%s handing off data %x to %s as part of op in R%d\n", mname, o->hash, to->name, rno);
- }
- if (!sendwrapper(o, sizeof(data_t), MPI_BYTE, MTYPE_ZONEDATA, to)) {
- sent = 1;
- } else {
- debug_print("DATA RECIPIENT %s FAILED (AFTER SOME DATA SENT?) ON %s\n", to->name, mname);
- return 1;
- }
- }
- if (sent && remove) {
- /*
- * Eliminate this data node and fill in the hole in the list it leaves
- */
- if (prev == NULL) {
- mdata = d->next;
- } else {
- prev->next = d->next;
- }
- tmp = d;
- d = d->next;
- free(tmp);
- } else {
- prev = d;
- d = d->next;
- }
- }
- o->next = NULL; /* NULL means "OK, I'm done, and ignore this message too" */
- if (!sendwrapper(o, sizeof(data_t), MPI_BYTE, MTYPE_ZONEDATA, to)) {
- return 0;
- }
- debug_print("%s FAILED BEFORE GETTING END-OF-DATA MESSAGE FROM %s\n", to->name, mname);
- return 1;
-}
-
-/**
- * Sends all our data in a given reality to a passed node
- *
- * @param rno The reality in which to send data
- * @param to The recipient
- *
- * @return Zero if the data were sent successfully, nonzero otherwise
- */
-static unsigned char send_zone_data(numr_t rno, mpir_t* to) {
- return send_zone_data_helper(rno, to, to->lowers, to->uppers, 1);
-}
-
-/**
- * Inserts item d into data list
- *
- * @param d The single data item to insert
- */
-static void insert_data_item(data_t* d) {
- data_t* n = (data_t*)malloc(sizeof(data_t));
- debug_print("%s is inserting data item with hash %x\n", mname, d->hash);
- memcpy(n, d, sizeof(data_t));
- n->next = mdata;
- mdata = n;
-}
-
-/**
- * Receives zone DATA on a zone split/merge
- *
- * @param rno The reality in which to receive data
- * @param from The node from which we want to get data
- *
- * @return Zero if the receipt was successful, nonzero otherwise
- */
-static unsigned char recv_zone_data(numr_t rno, mpir_t* from) {
- debug_print("%s receiving zone data from %s in R%d\n", mname, from->name, rno);
- while (1) {
- data_t* d = (data_t*)recvbuf;
- if (recvwrapper(recvbuf, BUFFERLEN, MPI_BYTE, MTYPE_ZONEDATA, from)) {
- debug_print("Data receipt from %s on %s failed because the node went down or timed out!\n", from->name, mname);
- return 1;
- }
- if (d->next == NULL) {
- /*
- * This was the quitting message.
- */
- break;
- }
- insert_data_item(d);
- }
- debug_print("%s done receiving zone data\n", mname);
- return 0;
-}
-
-/**
- * Determine if this node's zone touches the passed one in the given reality. As abuts, but with the calling node for m.
- *
- * @param nlowers See abuts
- * @param nuppers See abuts
- * @param dim See abuts
- * @param dir See abuts
- * @param rno The reality in which to check adjacency
- * @return See abuts
- */
-static unsigned char __attribute__((pure)) iabut(dim_t* nlowers, dim_t* nuppers, numr_t rno, numd_t dim, dir_t dir) {
- return abuts(get_lower_set(rno), get_upper_set(rno), nlowers, nuppers, dim, dir);
-}
-
-/**
- * Notifies a single neighbor that we have changed
- *
- * This will send a neighbor message with only one node packed in it.
- *
- * @param rno The reality in which the notice should be sent
- * @param jnode The second node to pack in the neighbor message
- * @param node The node to inform of our changes
- *
- * @return Zero if the message was successfully sent, nonzero otherwise
- */
-unsigned char send_one_neighbor_message(numr_t rno, mpir_t* jnode, mpir_t* node) {
- nchange_t nc;
- nc.rno = rno;
- if (jnode != NULL) {
- memcpy(&nc.jnode, jnode, sizeof(mpir_t));
- } else {
- nc.jnode.id = 0;
- }
- put_self_in_object(&nc.onode, rno);
- return sendwrapper_async(&nc, sizeof(nchange_t), MPI_BYTE, MTYPE_NEIGHBOR, node);
-}
-
-/**
- * Notifies each node in the list that topology could have changed.
- *
- * This method is asynchronous - it may return before all the messages have been received.
- *
- * @param rno The reality in which to send messages
- * @param nodes List of nodes to which the messages should be sent
- * @param jnode Second set of node information to include in the NEIGHBOR message (our own is one).
- * If this is NULL, we will only send our own information
- * @param nonotifysource If nonzero, we will not send a NEIGHBOR message to a node matching jnode
- *
- * @return Zero if all the messages went through, nonzero otherwise
- */
-static unsigned char send_neighbor_messages_from_list(numr_t rno, mpir_t* jnode, sentlist_t** nodes, unsigned char nonotifysource) {
- unsigned char ret = 0;
- nchange_t nc;
- sentlist_t* cur;
- nc.rno = rno;
- mver += 15; /* If we increment every time something changes, we're pretty well set */
- if (jnode != NULL) {
- memcpy(&nc.jnode, jnode, sizeof(mpir_t));
- } else {
- nc.jnode.id = 0;
- }
- put_self_in_object(&nc.onode, rno);
- cur = *nodes;
- while (cur != NULL) {
- /*
- * The below is necessary to prevent informing a node about changes
- * that it's participating in. It already knows, anyhow.
- */
- if (cur->id == mid) {
- /*
- * No. Not happening.
- */
- cur = cur->next;
- continue;
- }
- if (!nonotifysource || cur->id != jnode->id) {
- mpir_t* neighbor = get_neighbor_with_id(cur->id);
- /*
- * These messages should be asynchronous because we don't care about the results
- */
- if (sendwrapper_async(&nc, sizeof(nchange_t), MPI_BYTE, MTYPE_NEIGHBOR, neighbor)) {
- ret = 1;
- }
- }
- cur = cur->next;
- }
- return ret;
-}
-
-static unsigned char send_neighbor_messages(numr_t rno, mpir_t* jnode, unsigned char nonotifysource) {
- connlist_t* c;
- unsigned char ret;
- sentlist_t* slist = NULL;
- lock_connection_list();
- c = conns;
- while (c != NULL) {
- if (c->n.id == 0) {
- continue;
- }
- add_to_sentlist(&slist, c->n.id);
- c = c->next;
- }
- unlock_connection_list();
- ret = send_neighbor_messages_from_list(rno, jnode, &slist, nonotifysource);
- free_sentlist(&slist);
- return ret;
-}
-
-/**
- * A helper for performing topology queries from inside or outside the network
- *
- * @ingroup debugging
- *
- * @param neigh The node in which we're interested
- * @param rno The reality in which we want information
- * @param serial A "serial number" to send with the topology query
- *
- * @return A toporesp_t with the answers
- */
-static toporesp_t do_topo_query(numr_t rno, mpir_t* neigh, serial_t serial) {
- numd_t j;
- dir_t k;
- numneighbor_t nn;
- toporesp_t ret;
- char* bufpos;
- toporeq_t* tq = (toporeq_t*)sendbuf;
- tq->rno = rno;
- tq->serial = serial;
-
- /*debug_print("START TOPOQUERY to %s (%d)\n", neigh->name, neigh->rank);*/
- if (sendwrapper(sendbuf, sizeof(toporeq_t), MPI_BYTE, MTYPE_TOPOREQ, neigh)) {
- /*
- * Return a null toporesp - we couldn't reach the node
- */
- debug_print("%s COULD NOT REACH %s FOR TOPOREQ\n", mname, neigh->name);
- ret.vol = 0;
- return ret;
- }
- /*debug_print("IN-BETWEEN TOPOQUERY\n");*/
- if (recvwrapper(sendbuf, BUFFERLEN, MPI_BYTE, MTYPE_TOPORESP, neigh)) {
- debug_print("%s LOST %s's et TOPOREQ\n", mname, neigh->name);
- ret.vol = 0;
- return ret;
- }
- /*debug_print("DONE TOPOQUERY\n");*/
-
- /*
- * Unpack the buffer into the structure we return
- */
- bufpos = sendbuf;
- memcpy(&ret.vol, bufpos, sizeof(mdim_t));
- bufpos += sizeof(mdim_t);
- memcpy(ret.lowers, bufpos, sizeof(dim_t) * NUM_DIMENSIONS);
- bufpos += sizeof(dim_t) * NUM_DIMENSIONS;
- memcpy(ret.uppers, bufpos, sizeof(dim_t) * NUM_DIMENSIONS);
- bufpos += sizeof(dim_t) * NUM_DIMENSIONS;
- for (j = 0; j < NUM_DIMENSIONS; j++) {
- for (k = 0; k < 2; k++) {
- memcpy(&ret.nn[j][k], bufpos, sizeof(numneighbor_t));
- bufpos += sizeof(numneighbor_t);
- for (nn = 0; nn < ret.nn[j][k]; nn++) {
- memcpy(&ret.neigh[j][k][nn], bufpos, sizeof(mpi_id_t));
- bufpos += sizeof(mpi_id_t);
- memcpy(ret.nlowers[j][k][nn], bufpos, sizeof(dim_t) * NUM_DIMENSIONS);
- bufpos += sizeof(dim_t) * NUM_DIMENSIONS;
- memcpy(ret.nuppers[j][k][nn], bufpos, sizeof(dim_t) * NUM_DIMENSIONS);
- bufpos += sizeof(dim_t) * NUM_DIMENSIONS;
- }
- }
- }
-
- return ret;
-}
-
-/**
- * Splits this node's domain in half in one reality, or gives it away wholesale
- *
- * If reallysplit is set, the zone's area is divided. Otherwise we give the recipient 100% of our space and set ourselves
- * to be disconnected in the passed reality
- *
- * @param reallysplit Nonzero if and only if we're dividing our area in half
- * @param dimno Dimension along which we're splitting (if we are)
- * @param rno Reality in which to split
- * @param tonode Node which will share/take our zone after the split
- *
- * @return Zero if the split was successful, nonzero otherwise
- */
-static unsigned char dosplit_original(numr_t rno, mpir_t* tonode, numd_t dimno, unsigned char reallysplit) {
- char* bufpos;
- numd_t i;
- dir_t j;
- sentlist_t* sent = NULL;
- sentlist_t* alln = NULL;
- dim_t nlowers[MAX_DIMENSIONS];
- dim_t nuppers[MAX_DIMENSIONS];
- dim_t oupper;
-
- debug_print("%s splitting in R%u, D%u with %s\n", mname, rno, dimno, tonode->name);
-
- for (i = 0; i < NUM_DIMENSIONS; i++) {
- nuppers[i] = get_uppers(rno,i);
- nlowers[i] = get_lowers(rno,i);
- }
-
- if (reallysplit) {
- /*
- * This will get half my width in the dimension in which I split
- */
- oupper = get_uppers(rno,dimno);
- set_uppers(rno,dimno,(get_uppers(rno,dimno)+get_lowers(rno,dimno))/2);
- nlowers[dimno] = get_uppers(rno,dimno);
- } else {
- /*
- * Zero out my own dimensions, since I won't be holding any area after this
- */
- for (i = 0; i < NUM_DIMENSIONS; i++) {
- set_lowers(rno,i,0);
- set_uppers(rno,i,0);
- }
- }
-
- /**
- * Pack the buffer with a SPLITINFO. Format is as follows:
- *
- * numr_t, the reality in which this occurs
- * serial_t, new serial number of SENDER
- * for each dimension {
- * dim_t, lower bound of new zone in this dimension
- * dim_t, corresponding upper bound
- * dim_t, new lower bound of SENDER in this dimension
- * dim_t, corresponding upper bound
- * for each direction {
- * for each neighbor {
- * mpi_id_t, node global ID, or 0 for "no more"
- * IF AND ONLY IF this is the first time we've sent this ID (and it's not 0) {
- * mpir_t, description of neighbor
- * }
- * }
- * }
- * }
- */
- bufpos = recvbuf;
-
- debug_print("%s sending SPLITINFO: ", mname);
-
- memcpy(bufpos, &rno, sizeof(numr_t));
- bufpos += sizeof(numr_t);
-
- memcpy(bufpos, &mver, sizeof(serial_t));
- bufpos += sizeof(serial_t);
-
- for (i = 0; i < NUM_DIMENSIONS; i++) {
- dim_t tmp;
- memcpy(bufpos, &nlowers[i], sizeof(dim_t));
- bufpos += sizeof(dim_t);
- memcpy(bufpos, &nuppers[i], sizeof(dim_t));
- bufpos += sizeof(dim_t);
- tmp = get_lowers(rno,i);
- memcpy(bufpos, &tmp, sizeof(dim_t));
- bufpos += sizeof(dim_t);
- tmp = get_uppers(rno,i);
- memcpy(bufpos, &tmp, sizeof(dim_t));
- bufpos += sizeof(dim_t);
- debug_print("%u - %u (%u - %u)", nlowers[i], nuppers[i], get_lowers(rno,i), get_uppers(rno,i));
- if (i < NUM_DIMENSIONS - 1) {
- debug_print(" x ");
- }
- for (j = 0; j < 2; j++) {
- mpi_id_t term = 0;
- if (dimno == i && reallysplit && (j == 0 || (j == 1 && oupper == WMAX && get_lowers(rno,i) == 0))) {
- /*
- * The new node borders only me this way - either normally because of the split,
- * or because we used to span the whole dimension and so it now freakily borders us BOTH ways
- */
- nlist_t* n = neighbors[rno][i][j];
- while (n != NULL) {
- add_to_sentlist(&alln, n->neighbor->id);
- n = n->next;
- }
- memcpy(bufpos, &mid, sizeof(mpi_id_t));
- bufpos += sizeof(mpi_id_t);
- if (add_to_sentlist(&sent, mid)) {
- put_self_in_object((mpir_t*)bufpos, rno);
- bufpos += sizeof(mpir_t);
- }
- memcpy(bufpos, &term, sizeof(mpi_id_t));
- bufpos += sizeof(mpi_id_t);
- } else {
- nlist_t* prev = NULL;
- nlist_t* n = neighbors[rno][i][j];
- while (n != NULL) {
- unsigned char oabut = iabut(n->neighbor->lowers, n->neighbor->uppers, rno, i, j);
- unsigned char nabut = abuts(nlowers, nuppers, n->neighbor->lowers, n->neighbor->uppers, i, j);
- add_to_sentlist(&alln, n->neighbor->id);
- if (nabut) {
- /*
- * Pass this neighbor to the other node
- */
- memcpy(bufpos, &n->neighbor->id, sizeof(mpi_id_t));
- bufpos += sizeof(mpi_id_t);
- if (add_to_sentlist(&sent, n->neighbor->id)) {
- memcpy(bufpos, n->neighbor, sizeof(mpir_t));
- bufpos += sizeof(mpir_t);
- }
- }
- if (!oabut) {
- /*
- * I no longer border this neighbor (this way)
- */
- if (prev != NULL) {
- prev->next = n->next;
- free_n(n);
- n = prev->next;
- } else {
- prev = n;
- neighbors[rno][i][j] = n->next;
- n = neighbors[rno][i][j];
- free_n(prev);
- prev = NULL;
- }
- continue;
- }
- prev = n;
- n = n->next;
- }
- memcpy(bufpos, &term, sizeof(mpi_id_t));
- bufpos += sizeof(mpi_id_t);
- }
- }
- }
- debug_print("\n");
-
- if (sendwrapper(recvbuf, bufpos - recvbuf, MPI_BYTE, MTYPE_SPLITINFO, tonode)) {
- /*
- * Oops. This is a real problem.
- *
- * This isn't an issue if we're splitting with a new node just joining the network, but it
- * could become a BIG problem if we're trying to leave or, worse, trying to handle a FINDSPACE
- */
- debug_print("ZONEINFO FAILED TO SEND FROM %s TO %s!\n", mname, tonode->name);
- return 1;
- }
-
- /**
- * Update our own perception of the neighbor
- */
- update_neighbor_dimensions(tonode, rno, nlowers, nuppers);
-
- send_neighbor_messages_from_list(rno, tonode, &alln, 1);
-
- free_sentlist(&sent);
- free_sentlist(&alln);
-
- if (reallysplit) {
- /*
- * Add new guy to our neighbor list
- */
- insert_neighbor(tonode, rno, dimno, 1);
- if (get_lowers(rno,dimno) == 0 && oupper == WMAX) {
- /*
- * We border the new guy in BOTH directions in this dimension
- */
- insert_neighbor(tonode, rno, dimno, 0);
- }
- }
-
- if (send_zone_data(rno, tonode)) {
- debug_print("SOME DATA NOT SENT in zone transfer from %s to %s!\n", mname, tonode->name);
- return 1;
- }
-
- return 0;
-}
-
-/**
- * Helper that is like dosplit_new, but when we've already gotten a SPLITINFO
- *
- * @param buffer The buffer with a packed SPLITINFO in it
- * @param fromnode The node whose space we're taking
- *
- * @return 0 on success, or nonzero on failure
- */
-static unsigned char dosplit_new_helper(char* buffer, mpir_t* fromnode) {
- char* bufpos;
- numd_t i;
- dir_t j;
- sentlist_t* gotten = NULL;
- sentlist_t* neighborlist = NULL;
- numr_t rno;
- mpir_t n;
-
- bufpos = recvbuf;
-
- memcpy(&rno, bufpos, sizeof(numr_t));
- bufpos += sizeof(numr_t);
-
- debug_print("%s got SPLITINFO successfully from %s in R%d\n", mname, fromnode->name, rno);
-
- memcpy(&n.nver, bufpos, sizeof(serial_t));
- bufpos += sizeof(serial_t);
-
- for (i = 0; i < NUM_DIMENSIONS; i++) {
- dim_t lower;
- dim_t upper;
- memcpy(&lower, bufpos, sizeof(dim_t));
- bufpos += sizeof(dim_t);
- memcpy(&upper, bufpos, sizeof(dim_t));
- bufpos += sizeof(dim_t);
- memcpy(&n.lowers[i], bufpos, sizeof(dim_t));
- bufpos += sizeof(dim_t);
- memcpy(&n.uppers[i], bufpos, sizeof(dim_t));
- bufpos += sizeof(dim_t);
- if (get_lowers(rno,i) == 0 && get_uppers(rno,i) == 0) {
- /*
- * We had no zone; now this one's ours
- */
- set_lowers(rno,i,lower);
- set_uppers(rno,i,upper);
- } else {
- if (lower < get_lowers(rno,i)) {
- set_lowers(rno,i,lower);
- }
- if (upper > get_uppers(rno,i)) {
- set_uppers(rno,i,upper);
- }
- }
- for (j = 0; j < 2; j++) {
- mpir_t* nn;
- nlist_t* nl = neighbors[rno][i][j];
- while (nl != NULL) {
- add_to_sentlist(&neighborlist, nl->neighbor->id);
- nl = nl->next;
- }
- while (1) {
- mpi_id_t id;
- memcpy(&id, bufpos, sizeof(mpi_id_t));
- bufpos += sizeof(mpi_id_t);
- if (id == 0) {
- break;
- }
- add_to_sentlist(&neighborlist, id);
- if (add_to_sentlist(&gotten, id)) {
- mpir_t tmp;
- memcpy(&tmp, bufpos, sizeof(mpir_t));
- bufpos += sizeof(mpir_t);
- if (id != mid) {
- nn = update_neighbor_info(rno, &tmp, NULL, fromnode);
- if (nn != NULL) {
- print_neighbor("postupdate", nn);
- insert_neighbor(nn, rno, i, j);
- }
- }
- } else if (id != mid) {
- nn = get_other_node(id);
- insert_neighbor(nn, rno, i, j);
- }
- }
- }
- }
-
- free_sentlist(&gotten);
-
- debug_print("%s acquired: ", mname);
- for (i = 0; i < NUM_DIMENSIONS; i++) {
- debug_print("%d - %d", get_lowers(rno,i), get_uppers(rno,i));
- if (i < NUM_DIMENSIONS - 1) {
- debug_print(" x ");
- }
- }
- debug_print("\n");
-
- /*
- * We have to receive the data before sending neighbor messages, otherwise we'll hang when the neighbor who's waiting
- * to give US data doesn't respond
- */
- if (recv_zone_data(rno, fromnode)) {
- /**
- * This isn't actually a failure - we're just missing some data
- * @todo Handle mid-transfer failure better
- */
- debug_print("%s GOT INCOMPLETE DATA FROM %s\n", mname, fromnode->name);
- }
-
- add_to_sentlist(&neighborlist, fromnode->id);
-
- /*
- * Update our perspective of the neighbor with the info they gave us
- */
- n.id = fromnode->id;
- strcpy(n.name, rank_to_name(n.id)); /* I print the name in send_neighbor message, so it needs to be set */
- update_neighbor_info(rno, &n, NULL, fromnode);
-
- send_neighbor_messages_from_list(rno, &n, &neighborlist, 0);
- free_sentlist(&neighborlist);
-
- connected[rno] = 1;
- return 0;
-}
-
-/**
- * Assumes half/all of some other node's domain
- *
- * @param fromnode The node whose space we should assume
- *
- * @return 0 on success, or nonzero on failure
- */
-static unsigned char dosplit_new(mpir_t* fromnode) {
- /*
- * Get message from original node about what zone we're assuming
- */
- if (recvwrapper(recvbuf, BUFFERLEN, MPI_BYTE, MTYPE_SPLITINFO, fromnode)) {
- debug_print("%s DID NOT GET SPLITINFO FROM %s\n", mname, fromnode->name);
- return 1;
- }
-
- return dosplit_new_helper(recvbuf, fromnode);
-}
-
-/**
- * Handles a NEIGHBOR notice from a neighbor who just themself divided/merged
- *
- * This will update what we know about both nodes in the notice, alter our neighbor lists as appropriate,
- * and will send a NEIGHBOR message back to a mentioned node if we just added it to our neighbor list.
- *
- * @ingroup processing
- *
- * @param nc The NEIGHBOR notice we got
- * @param source The source of the NEIGHBOR message
- *
- * @return 1 if the first neighbor was updated, 2 if the second neighbor was updated, 3 if both were, or 0 if neither was
- */
-static unsigned char process_neighbor(nchange_t* nc, mpir_t* source) {
- numd_t i;
- dir_t j;
- unsigned char oneup;
- unsigned char twoup;
- mpir_t* on = update_neighbor_info(nc->rno, &nc->onode, &oneup, source);
- mpir_t* jn = update_neighbor_info(nc->rno, &nc->jnode, &twoup, source);
- for (i = 0; i < NUM_DIMENSIONS; i++) {
- for (j = 0; j < 2; j++) {
- if (on != NULL) {
- if (!iabut(on->lowers, on->uppers, nc->rno, i, j ? 0 : 1)) {
- remove_neighbor(on, nc->rno, i, j ? 0 : 1);
- } else {
- if (insert_neighbor(on, nc->rno, i, j ? 0 : 1)) {
- send_one_neighbor_message(nc->rno, NULL, on);
- }
- }
- }
- if (jn != NULL) {
- if (!iabut(jn->lowers, jn->uppers, nc->rno, i, j ? 0 : 1)) {
- remove_neighbor(jn, nc->rno, i, j ? 0 : 1);
- } else {
- if (insert_neighbor(jn, nc->rno, i, j ? 0 : 1)) {
- send_one_neighbor_message(nc->rno, NULL, jn);
- }
- }
- }
- }
- }
- debug_print("%s processed NEIGHBOR from %s/%s\n", mname, nc->onode.name, nc->jnode.id != 0 ? nc->jnode.name : "EMPTY");
- if (oneup && twoup) {
- return 3;
- } else if (oneup) {
- return 1;
- } else if (twoup) {
- return 2;
- } else {
- return 0;
- }
-}
-
-/**
- * Joins the network at the given attach point in response to a command
- *
- * @ingroup processing
- *
- * @param rno The reality in which to join the network
- * @param attachpoint A node already in the network which we should use for bootstrapping
- * @return 0 if the node is not part of the network, or nonzero if it is not
- */
-static unsigned char process_join(numr_t rno, mpir_t* attachpoint) {
- /*
- * Send a join request to onode and share its address space
- */
- mpir_t* gotfrom;
- int gotbytes;
- mpit_t tag;
- joinreq_t jr;
- jr.rno = rno;
- put_self_in_object(&jr.source, rno);
-
- if (sendwrapper(&jr, sizeof(joinreq_t), MPI_BYTE, MTYPE_JOINREQ, attachpoint)) {
- /*
- * Good, early failure
- */
- debug_print("%s NETWORK JOIN ABORTED BECAUSE OF %s\n", mname, attachpoint->name);
- return 1;
- }
- debug_print("%s sent JOINREQ to %s\n", mname, attachpoint->name);
- gotfrom = recvwrapper_any(recvbuf, 1, MPI_BYTE, MTYPE_JOINCONF, &gotbytes, &tag);
- if (gotfrom == NULL) {
- debug_print("%s NETWORK JOIN FAILED DUE TO NONRESPONSE\n", mname);
- return 1;
- }
- debug_print("%s read JOINCONF from %s\n", mname, gotfrom->name);
- if (dosplit_new(gotfrom)) {
- debug_print("%s NETWORK JOIN FAILED WHILE TAKING ZONE FROM %s\n", mname, gotfrom->name);
- return 1;
- }
- debug_print("%s done joining at %s\n", mname, attachpoint->name);
- return 0;
-}
-
-/**
- * Set an upper bound on this node's zone
- */
-void set_uppers(numr_t rno, numd_t dim, dim_t bound) {
- uppers[rno*NUM_DIMENSIONS+dim] = bound;
-}
-
-void set_lowers(numr_t rno, numd_t dim, dim_t bound) {
- lowers[rno*NUM_DIMENSIONS+dim] = bound;
-}
-
-dim_t get_uppers(numr_t rno, numd_t dim) {
- return uppers[rno*NUM_DIMENSIONS+dim];
-}
-
-dim_t get_lowers(numr_t rno, numd_t dim) {
- return lowers[rno*NUM_DIMENSIONS+dim];
-}
-
-dim_t* get_lower_set(numr_t rno) {
- return &lowers[rno*NUM_DIMENSIONS];
-}
-
-dim_t* get_upper_set(numr_t rno) {
- return &uppers[rno*NUM_DIMENSIONS];
-}
-
-void set_neighbors(numr_t rno, numd_t dim, dir_t direction, nlist_t* mneighbors) {
- neighbors[rno][dim][direction] = mneighbors;
-}
-
-void set_connected(numr_t rno, unsigned char mconnected) {
- connected[rno] = mconnected;
-}
-
-/**
- * Initialize one reality of the DHT.
- *
- * @ingroup dhtpub
- *
- * @param onode Node to use for bootstrapping. If NULL, I'm the first node in the given reality.
- * @param rno The reality number in which to connect the nodet
- *
- * @todo Handle initializing connected[] for each reality
- */
-int dhtinit(numr_t rno, mpir_t* onode) {
- numd_t j;
- unsigned char orig = 0;
- mdata = NULL;
- if (onode == NULL) {
- orig = 1;
- }
- for (j = 0; j < NUM_DIMENSIONS; j++) {
- set_neighbors(rno,j,0,NULL);
- set_neighbors(rno,j,1,NULL);
- set_lowers(rno,j,0);
- if (orig) {
- set_uppers(rno,j,WMAX);
- } else {
- set_uppers(rno,j,0);
- }
- }
- if (orig) {
- /*
- * I am THE FIRST node! Yay!
- * ... no really, this makes setup easy.
- */
- set_connected(rno,1);
- } else {
- /*for (i = 0; i < NUM_REALITIES; i++) {
- connected[i] = 0;
- }*/
- set_connected(rno,1);
- process_join(rno, onode);
- }
- debug_print("%s finished init\n", mname);
- return 0;
-}
-
-static int send_negative_response(mpir_t* node, serial_t serial) {
- negative_t n;
- n.serial = serial;
- return sendwrapper(&n, sizeof(negative_t), MPI_BYTE, MTYPE_FAILED, node);
-}
-
-/**
- * Handles a lookup request we received (or originated)
- *
- * This will check if we have data to satisfy the request. If so, we return a DATA_RESPONSE to the query originator.
- * If not, we will forward the query using CAN routing mechanisms.
- *
- * Alters the passed request - BE CAREFUL
- *
- * @ingroup processing
- *
- * @param l The lookup request we should process
- */
-static void process_lookup(lookup_t* l) {
- /*
- * Search all realities for a match of the query
- */
- unsigned char found = 0;
- mpir_t* seeker;
- numr_t i;
- numhop_t h;
- char* buf;
- char* bufpos;
-
- seeker = get_other_node(l->seeker.id);
-
- debug_print("%s got lookup request\n", mname);
- for (i = 0; i < NUM_REALITIES && !found; i++) {
- if (connected[i] && data_within(l->hash[i], get_lower_set(i), get_upper_set(i))) {
- /*
- * We've got the answer (or we're supposed to)
- */
- debug_print("%s has answer (for hash %x) in R%d\n", mname, l->hash[i], i);
-
- if (DEBUG) {
- /*
- * This needs to be up here because send_data trashes the buffer
- */
- l->dimbeen[l->numbeen] = 0;
- l->dirbeen[l->numbeen] = 0;
- strcpy(l->been[l->numbeen++], mname);
- buf = (char*)malloc((sizeof(numhop_t) + sizeof(mpir_t) + sizeof(numd_t) + sizeof(dir_t)) * l->numbeen);
- bufpos = buf;
- memcpy(buf, &l->numbeen, sizeof(numhop_t));
- bufpos += sizeof(numhop_t);
- for (h = 0; h < l->numbeen; h++) {
- memcpy(bufpos, &l->been[h], sizeof(mpir_t));
- bufpos += sizeof(mpir_t);
- memcpy(bufpos, &l->dimbeen[h], sizeof(numd_t));
- bufpos += sizeof(numd_t);
- memcpy(bufpos, &l->dirbeen[h], sizeof(dir_t));
- bufpos += sizeof(dir_t);
- }
- }
-
- if (!send_data(i, l->hash[i], seeker)) {
- found = 1;
- } else {
- debug_print("%s should have had an answer to send %s (for hash %x) in R%d, but didn't!\n", mname, seeker->name, l->hash[i], i);
- /*
- * Send a negatory response back to the source of the request
- *
- * It doesn't matter if this send fails, because the source will retry it
- */
- sendwrapper(recvbuf, 0, MPI_BYTE, MTYPE_DATA_RESPONSE, seeker);
- found = 1; /* Yeah, that's a lie, but whatever */
- }
- if (DEBUG) {
- /*
- * Send path information back, for reporting
- */
- sendwrapper(buf, sizeof(numhop_t) + (sizeof(mpir_t) + sizeof(numd_t) + sizeof(dir_t)) * l->numbeen, MPI_BYTE, MTYPE_PATH_INFO, seeker);
- free(buf);
- }
- }
- }
- if (!found) {
- if (forward_query((char*)l, sizeof(lookup_t), MTYPE_LOOKUP, l)) {
- /*
- * We can't pass this lookup on any farther - something failed. Send a negative response back to the origin.
- *
- * We don't care if the negative-response fails - timeouts will cause the query to be resent
- */
- debug_print("LOOKUP FROM %s FAILED AT %s\n", l->seeker.name, mname);
- send_negative_response(&l->seeker, l->serial);
- }
- }
-}
-
-/**
- * Handles a store request we received (or originated)
- *
- * @ingroup processing
- *
- * @param d A data object to store
- *
- * @return 0 if the item was either sent on or stored locally, nonzero on a failure
- */
-static unsigned char process_store(data_t* d) {
- debug_print("process_store in %s handling data with key %x for R%d\n", mname, d->hash, d->rno);
- if (data_within(d->hash, get_lower_set(d->rno), get_upper_set(d->rno))) {
- /*
- * I can hold this data. Yay.
- */
- insert_data_item(d);
- } else {
- debug_print("%s opted to try sending data with key %x in R%d onwards\n", mname, d->hash, d->rno);
- if (send_towards(d->rno, (char*)d, sizeof(data_t), MTYPE_STORE, d->hash)) {
- debug_print("%s send-on of data having key %x in R%d failed\n", mname, d->hash, d->rno);
- return 1;
- }
- }
- return 0;
-}
-
-/**
- * Choose a neighbor with which to merge
- *
- * This will first search for a node which has the same lower and upper bound as us in all but one dimension. If such a node exists,
- * it will be returned. If no such node exists, then this method returns the neighbor with the smallest volume we can find.
- *
- * @param rno Reality in which to pick a neighbor
- * @param exactorapprox The value this points to is set to be nonzero after the call if and only if the neighbor we picked
- * is a good match for our zone - so we'll merge with it instead of forwarding a FINDSPACE
- * @param mdim The value this points to is set to the dimension along which we border the node - only valid if exactorapprox is nonzero
- * @param mdir As mdim, but for the direction
- * @return NULL if no match could be found, otherwise an nlist_t* for the neighbor chosen.
- * Don't mess with the returned object, you could get hurt.
- */
-static mpir_t* select_merge_partner(numr_t rno, unsigned char* exactorapprox, numd_t* mdim, dir_t* mdir) {
- nlist_t* n;
- numd_t j;
- dir_t k;
- numd_t m;
- mdim_t choicev = 0;
- mdim_t minv = 0;
- nlist_t* min = NULL;
- *exactorapprox = 0;
- /*
- * Select a merge partner.
- *
- * First choice should go to neighbors which are the same size as us
- */
- debug_print("%s is selecting a node with which to merge in R%d...\n", mname, rno);
- for (j = 0; j < NUM_DIMENSIONS; j++) {
- for (k = 0; k < 2; k++) {
- nlist_t* neigh = neighbors[rno][j][k];
- while (neigh != NULL) {
- unsigned char ok = 1;
- unsigned char exclude = 0;
- mdim_t tv = 1;
-
- for (m = 0; m < NUM_DIMENSIONS; m++) {
- tv *= neigh->neighbor->uppers[m] - neigh->neighbor->lowers[m];
- if (m == j && ((k == 1 && get_uppers(rno,m) == WMAX && neigh->neighbor->lowers[m] == 0) || (k == 0 && neigh->neighbor->uppers[m]
- == WMAX && get_lowers(rno,m) == 0))) {
- /*
- * This node only borders us in a torus-wrapping way and will break our logic.
- *
- * @todo Make this possible
- */
- ok = 0;
- exclude = 1;
- continue;
- }
- if (m == j) {
- /**
- * We don't care about their width in this dimension - this line allows non-squares to form.
- *
- * But whatever.
- */
- continue;
- }
- if (neigh->neighbor->uppers[m] != get_uppers(rno,m) || neigh->neighbor->lowers[m] != get_lowers(rno,m)) {
- ok = 0;
- /*
- * We can't break here because we need to record the zone's total volume, including all dimensions!
- */
- }
- }
- /*
- * Record the neighbor with the absolute smallest volume we saw
- */
- if (!exclude && (minv == 0 || tv < minv)) {
- minv = tv;
- min = neigh;
- }
- /*
- * The below ensures that the match with the smallest volume will take over our zone
- */
- if (ok && (choicev == 0 || tv < choicev)) {
- n = neigh;
- *exactorapprox = 1;
- *mdim = j;
- *mdir = k;
- choicev = tv;
- }
-
- neigh = neigh->next;
- }
- }
- }
- if (*exactorapprox) {
- debug_print("%s has exact match %s in R%d\n", mname, n->neighbor->name, rno);
- return n->neighbor;
- } else {
- debug_print("%s has approx match? in R%d\n", mname, rno);
- return min->neighbor;
- }
-}
-
-/**
- * Leaves the passed reality
- *
- * This will first see if there's a node with whom we can easily merge. If so, we will give it our space.
- * If not, we send a FINDSPACE to our smallest neighbor. Someone will give us a SPACEFOUND, and we'll
- * give them our zone.
- *
- * @todo Fallback here if our best neighbor says no or doesn't respond
- *
- * @ingroup processing
- *
- * @param rno The reality in which we would like to detach
- * @return The node which now controls our space, or NULL if this failed for some reason
- */
-static mpir_t* process_leave(numr_t rno) {
- unsigned char chosen = 0;
- numd_t mdim;
- dir_t mdir;
- mpir_t* choicen;
- int bytes;
- mpit_t tag;
- sentlist_t* neighborlist = NULL;
- mpir_t* neigh;
-
- for (mdim = 0; mdim < NUM_DIMENSIONS; mdim++) {
- for (mdir = 0; mdir < 2; mdir++) {
- nlist_t* n = neighbors[rno][mdim][mdir];
- while (n != NULL) {
- add_to_sentlist(&neighborlist, n->neighbor->id);
- n = n->next;
- }
- }
- }
-
- neigh = select_merge_partner(rno, &chosen, &mdim, &mdir);
-
- if (!chosen) {
- findspace_t* f;
- /*
- * Fallback to forwarding to the neighbor with the smallest volume, then executing a swap with somebody.
- */
- debug_print("%s could not find a same-size neighbor with which to merge in R%d\n", mname, rno);
- if (neigh == NULL) {
- debug_print("%s HAS NO NEIGHBORS\n", mname);
- return NULL;
- }
- debug_print("%s falling back to %s (as a FINDSPACE relay) in R%d merge\n", mname, neigh->name, rno);
-
- f = (findspace_t*)recvbuf;
- f->rno = rno;
- put_self_in_object(&f->origin, rno);
-
- if (sendwrapper(f, sizeof(findspace_t), MPI_BYTE, MTYPE_FINDSPACE, neigh)) {
- free_sentlist(&neighborlist);
- return NULL; /* should be fallback here */
- }
-
- choicen = recvwrapper_any(recvbuf, BUFFERLEN, MPI_BYTE, MTYPE_SPACEFOUND, &bytes, &tag);
-
- debug_print("%s got SPACEFOUND from %s in R%d\n", mname, choicen->name, rno);
- } else {
- choicen = neigh;
- debug_print("%s chose to give its zone to %s via D%d (%d) on leaving R%d\n", mname, choicen->name, mdim, mdir, rno);
- }
-
- add_to_sentlist(&neighborlist, choicen->id);
-
- if (dosplit_original(rno, choicen, 0, 0)) {
- debug_print("%s FAILED TO DISCONNECT FROM R%d BECAUSE %s FAILED\n", mname, rno, choicen->name);
- free_sentlist(&neighborlist);
- return NULL; /* this should be trying again with a different neighbor */
- }
-
- debug_print("%s (%d) done disconnecting from R%d\n", mname, mid, rno);
-
- send_neighbor_messages_from_list(rno, choicen, &neighborlist, 0);
- free_sentlist(&neighborlist);
-
- connected[rno] = 0;
-
- return choicen;
-}
-
-/**
- * Handles a JOINREQ message.
- *
- * This will first check if we have a neighbor with a larger volume. If we do, the message is forwarded to them.
- * If not, this will divide our area in half and give the half to the new node (by way of dosplit_original).
- *
- * @ingroup processing
- *
- * @param jr A joinreq_t that we received and should process
- *
- * @return 0 for success or nonzero for failure
- */
-static unsigned char process_joinreq(joinreq_t* jr, mpir_t* source) {
- dim_t maxw;
- numd_t i, dim, k;
- mdim_t mvol;
- mdim_t maxvol = 0;
- mpir_t* maxrank;
- dir_t j;
- mpir_t* from;
- if (mcomm != MPI_COMM_NULL) {
- jr->source.comm = mcomm;
- jr->source.rank = jr->source.id;
- }
- from = update_neighbor_info(jr->rno, &jr->source, NULL, source);
- ASSERT(from != NULL);
- if (connected[jr->rno]) {
- mvol = 1;
- maxw = 0;
- dim = 0;
- for (i = 0; i < NUM_DIMENSIONS; i++) {
- mvol *= get_uppers(jr->rno,i) - get_lowers(jr->rno,i);
- if ((get_uppers(jr->rno,i) - get_lowers(jr->rno,i)) > maxw) {
- maxw = get_uppers(jr->rno,i) - get_lowers(jr->rno,i);
- dim = i;
- }
- }
- for (i = 0; i < NUM_DIMENSIONS; i++) {
- for (j = 0; j < 2; j++) {
- nlist_t* n = neighbors[jr->rno][i][j];
- while (n != NULL) {
- mdim_t nvol = 1;
- for (k = 0; k < NUM_DIMENSIONS; k++) {
- nvol *= n->neighbor->uppers[k] - n->neighbor->lowers[k];
- }
- if (nvol >= maxvol) {
- maxvol = nvol;
- maxrank = n->neighbor;
- }
- n = n->next;
- }
- }
- }
- if (maxvol > mvol) {
- /*
- * Pass the message on to our bigger neighbor
- */
- debug_print("%s forwarded %s's split to %s in R%d\n", mname, from->name, maxrank->name, jr->rno);
- if (sendwrapper(jr, sizeof(joinreq_t), MPI_BYTE, MTYPE_JOINREQ, maxrank)) {
- /**
- * @todo Forward the query to someone else!
- */
- return 1;
- }
- } else {
- /*
- * Take the split ourselves
- */
- debug_print("%s took %s's (%d) split on in R%d\n", mname, from->name, from->rank, jr->rno);
- sendwrapper(jr, 1, MPI_BYTE, MTYPE_JOINCONF, from);
- debug_print("%s sent JOINCONF to %s\n", mname, from->name);
- if (dosplit_original(jr->rno, from, dim, 1)) {
- /**
- * @todo Better handling here!
- */
- return 1;
- }
- }
- } else {
- debug_print("%s got JOINREQ (originally from %s), but was not connected in R%d!\n", mname, from->name, jr->rno);
- }
- return 0;
-}
-
-/**
- *
- * Trashes the buffer it's passed
- *
- * @ingroup processing
- *
- * @param buf A buffer containing the packed topology request. This will be filled with garbage after the function returns!
- * @param source The node which sent us the topology request
- */
-static void process_toporeq(char* buf, mpir_t* source) {
- numd_t i;
- dim_t j;
- toporeq_t* tq = (toporeq_t*)buf;
- int serial = tq->serial;
- numr_t rno = tq->rno;
- char* bufpos = buf;
- mdim_t vol;
- dim_t tmp;
-
-
- /**
- * Build topology response.
- *
- * Format is:
- * mdim_t, volume of our zone, or 0 if we're not connected in the given reality
- * for each dimension {
- * dim_t, our lower bound in this dimension
- * }
- * for each dimension {
- * dim_t, our upper bound in this dimension
- * }
- * for each dimension {
- * for each direction {
- * numneighbor_t, number of neighbors we have in this dimension
- * for each neighbor {
- * mpi_id_t, rank of neighbor
- * for each dimension {
- * dim_t, the lower bound we think the neighbor has in this dimension
- * }
- * for each dimension {
- * dim_t, the upper bound we think the neighbor has in this dimension
- * }
- * }
- * }
- * }
- */
-
- if (!connected[rno]) {
- vol = 0;
- debug_print("%s responded with null toporesp because it was not connected in R%d\n", mname, rno);
- memcpy(bufpos, &vol, sizeof(mdim_t));
- } else {
- vol = 1;
- for (i = 0; i < NUM_DIMENSIONS; i++) {
- vol *= get_uppers(rno,i) - get_lowers(rno,i);
- }
- memcpy(bufpos, &vol, sizeof(mdim_t));
- }
- bufpos += sizeof(mdim_t);
-
- for (tmp = 0; tmp < NUM_DIMENSIONS; tmp++) {
- dim_t ttmp;
- ttmp = get_lowers(rno,tmp);
- memcpy(bufpos, &ttmp, sizeof(dim_t));
- bufpos += sizeof(dim_t);
- }
- for (tmp = 0; tmp < NUM_DIMENSIONS; tmp++) {
- dim_t ttmp;
- ttmp = get_uppers(rno,tmp);
- memcpy(bufpos, &ttmp, sizeof(dim_t));
- bufpos += sizeof(dim_t);
- }
-
- for (i = 0; i < NUM_DIMENSIONS; i++) {
- for (j = 0; j < 2; j++) {
- /*
- * @todo make this not have to iterate twice
- */
- numneighbor_t nn = 0;
- nlist_t* n = neighbors[rno][i][j];
- while (n != NULL) {
- nn++;
- n = n->next;
- }
- memcpy(bufpos, &nn, sizeof(numneighbor_t));
- bufpos += sizeof(numneighbor_t);
- n = neighbors[rno][i][j];
- while (nn > 0) {
- memcpy(bufpos, &n->neighbor->id, sizeof(mpi_id_t));
- bufpos += sizeof(mpi_id_t);
- memcpy(bufpos, n->neighbor->lowers, sizeof(dim_t) * NUM_DIMENSIONS);
- bufpos += sizeof(dim_t) * NUM_DIMENSIONS;
- memcpy(bufpos, n->neighbor->uppers, sizeof(dim_t) * NUM_DIMENSIONS);
- bufpos += sizeof(dim_t) * NUM_DIMENSIONS;
- nn--;
- n = n->next;
- }
- }
- }
-
- if (connected[rno]) {
- debug_print("%s responded to %s's (%d) TOPOREQ #%d in R%d\n", mname, source->name, source->rank, serial, rno);
- }
- sendwrapper(buf, bufpos - buf, MPI_BYTE, MTYPE_TOPORESP, source);
-}
-
-/**
- * @todo Implement properly
- */
-static void process_findspace_helper(findspace_t* f, unsigned char forceleaving, mpir_t* source) {
- numd_t mdim;
- dir_t mdir;
- mpir_t* neigh;
- nlist_t* n;
- dim_t jlower[MAX_DIMENSIONS];
- dim_t jupper[MAX_DIMENSIONS];
- unsigned char good = 0;
- sentlist_t* neighborlist = NULL;
- numr_t rno = f->rno;
- mpir_t* origin = update_neighbor_info(rno, &f->origin, NULL, source);
- ASSERT(origin != NULL);
- neigh = select_merge_partner(rno, &good, &mdim, &mdir);
- if (good) {
- /*
- * There's someone with whom we're eligible to merge - do it!
- *
- * First, we notify the node looking for space that we're up for taking their zone.
- * Then, we leave our own zone.
- * Finally, we take the request origin's zone
- */
- mpir_t* gaveto;
-
- if (sendwrapper(recvbuf, 1, MPI_BYTE, MTYPE_SPACEFOUND, origin)) {
- /*
- * They'll resend the message. No biggie.
- */
- return;
- }
-
- /*
- * (Some of) these neighbors are about to be history, so let's put them in a list to be notified
- * of our changing dimensions
- *
- * Don't put this block below the call to process_leave below
- */
- for (mdim = 0; mdim < NUM_DIMENSIONS; mdim++) {
- for (mdir = 0; mdir < 2; mdir++) {
- nlist_t* nn = neighbors[rno][mdim][mdir];
- while (nn != NULL) {
- add_to_sentlist(&neighborlist, nn->neighbor->id);
- nn = nn->next;
- }
- }
- }
-
- gaveto = process_leave(rno);
- if (gaveto != NULL) {
- /*
- * Clean up any and all neighbors we have left in this zone
- *
- * This is a just-making-sure kind of thing.
- */
- for (mdim = 0; mdim < NUM_DIMENSIONS; mdim++) {
- for (mdir = 0; mdir < 2; mdir++) {
- nlist_t* tmp = NULL;
- n = neighbors[rno][mdim][mdir];
- while (n != NULL) {
- debug_print("%s had dirty neighbor %s!\n", mname, n->neighbor->name);
- tmp = n->next;
- free_n(n);
- n = tmp;
- }
- neighbors[rno][mdim][mdir] = NULL;
- if (abuts(origin->lowers, origin->uppers, gaveto->lowers, gaveto->uppers, mdim, mdir)) {
- /*
- * I'm going to border this guy this way, so let's insert him now
- */
- debug_print("%s doing targeted insert of %s in R%d, D%d (%d)\n", mname, gaveto->name, rno, mdim, mdir);
- insert_neighbor(gaveto, rno, mdim, mdir);
- }
- }
- }
-
- add_to_sentlist(&neighborlist, gaveto->id);
-
- if (dosplit_new(origin)) {
- /**
- * Oops. Now we're in trouble. We don't have old own zone anymore, and the person whose zone we were
- * going to take seems to be down
- *
- * @todo Rejoin the network
- */
- return;
- }
-
- /*
- * We've got new neighbors now - we need to tell them about ourself
- */
- for (mdim = 0; mdim < NUM_DIMENSIONS; mdim++) {
- for (mdir = 0; mdir < 2; mdir++) {
- nlist_t* nn = neighbors[rno][mdim][mdir];
- while (nn != NULL) {
- add_to_sentlist(&neighborlist, nn->neighbor->id);
- nn = nn->next;
- }
- }
- }
-
- bzero(jlower, sizeof(dim_t) * NUM_DIMENSIONS);
- bzero(jupper, sizeof(dim_t) * NUM_DIMENSIONS);
- send_neighbor_messages_from_list(rno, origin, &neighborlist, 0);
- free_sentlist(&neighborlist);
- return;
- }
- }
-
- /*
- * We need to forward this message
- */
- /** @todo what if we select the person who's asking for space to be found? We need fallback here! */
- if (n == NULL) {
- debug_print("%s tried to forward a FINDSPACE in R%d, but couldn't find a neighbor?!\n", mname, rno);
- return;
- }
- if (sendwrapper(f, sizeof(findspace_t), MPI_BYTE, MTYPE_FINDSPACE, n->neighbor)) {
- /*
- * Oops, we dropped the ball. No biggie, they'll resend the message.
- */
- debug_print("FINDSPACE DROPPED AT %s\n", mname);
- }
-
- return;
-}
-
-/**
- * Handles a FINDSPACE message
- *
- * This will first see if we can leave. If we can, we will do so and return a SPACEFOUND to the source of the FINDSPACE.
- * If we cannot, we forward the FINDSPACE to our smallest neighbor
- *
- * @ingroup processing
- *
- * @param f The FINDSPACE message we received
- */
-static void process_findspace(findspace_t* f, mpir_t* source) {
- process_findspace_helper(f, 0, source);
-}
-
-/**
- * Cleanup method which makes sure we're ready to shut down
- *
- * This is NOT for leaving the DHT - it's for permanently shutting down a node.
- *
- * @ingroup processing
- *
- * @param from Node which caused us to quit
- */
-static void process_quit(mpir_t* from) {
- int size;
- connlist_t* c;
- connlist_t* tmp;
- debug_print("%s quitting on request from %s\n", mname, from->name);
- destroy_conn_mutex();
- MPI_Buffer_detach(mpibuffer, &size);
- free(mpibuffer);
- portopen = 0;
- lock_connection_list();
- c = conns;
- while (c != NULL) {
- if (!USEWORLD) {
- if (c->n.commest) {
- MPI_Comm_disconnect(&c->n.comm);
- }
- }
- tmp = c->next;
- free(c);
- c = tmp;
- }
- conns = NULL;
- unlock_connection_list();
-}
-
-/**
- * Play dead for the given node
- *
- * @ingroup processing
- *
- * @param node Node which tried to message us while we're dead
- */
-static void dodead(mpir_t* node) {
- MPI_Send(sendbuf, 1, MPI_BYTE, node->rank, MTYPE_IMDEAD, node->comm);
- debug_print("%s played dead for %s\n", mname, node->name);
-}
-
-static unsigned char spincount = 0;
-
-/**
- * Processes one MPI message
- *
- * @ingroup dhtpub
- *
- * @return 0 if message processed OK, 1 if told to quit, < 0 if an error occurred.
- */
-int dhtprocess() {
- /*
- * Main loop
- */
-
- numd_t i;
- joinreq_t* jr;
- data_t* d;
- lookup_t* l;
- nchange_t* nc;
- leave_t* leave;
- join_t* join;
- findspace_t* f;
- alldata_t* a;
- dim_t* flowers;
- dim_t* fuppers;
- mpir_t* from = NULL;
- int bytes;
- mpit_t tag;
- /* numr_t r; */
-
- /*
- * Failed experiment
-
- if (spincount == NEIGHBORSPINS) {
- spincount = 0;
- for (r = 0; r < NUM_REALITIES; r++) {
- send_neighbor_messages(r, NULL, 0);
- }
- }*/
-
- /*debug_print("%s entering processing loop\n", mname);*/
-
- while (from == NULL) {
- if (DEBUG) {
- from = dead ? recvwrapper_any_noconfirm(recvbuf, BUFFERLEN, MPI_BYTE, MPI_ANY_TAG, &bytes, &tag) : recvwrapper_any(recvbuf, BUFFERLEN, MPI_BYTE,
- MPI_ANY_TAG, &bytes, &tag);
- } else {
- from = recvwrapper_any(recvbuf, BUFFERLEN, MPI_BYTE, MPI_ANY_TAG, &bytes, &tag);
- }
- }
-
- spincount++;
-
- switch (tag) {
- case MTYPE_FINISH:
- /*
- * Easy to handle.
- */
- process_quit(from);
- return 1;
- case MTYPE_NEIGHBOR:
- if (DEBUG) {
- if (dead) {
- dodead(from);
- break;
- }
- }
- nc = (nchange_t*)recvbuf;
- if (connected[nc->rno]) {
- process_neighbor(nc, from);
- } else {
- debug_print("%s ignored NEIGHBOR in R%d, where it wasn't connected\n", mname, nc->rno);
- }
- break;
- case MTYPE_JOINREQ:
- if (DEBUG) {
- if (dead) {
- dodead(from);
- break;
- }
- }
- jr = (joinreq_t*)recvbuf;
- process_joinreq(jr, from);
- break;
- case MTYPE_STORE:
- if (DEBUG) {
- if (dead) {
- dodead(from);
- break;
- }
- }
- d = (data_t*)recvbuf;
- if (connected[d->rno]) {
- process_store(d);
- } else {
- debug_print("%s got STORE from %s, but was not connected in R%d!\n", mname, from->name, d->rno);
- }
- break;
- case MTYPE_LOOKUP:
- if (DEBUG) {
- if (dead) {
- dodead(from);
- break;
- }
- }
- l = (lookup_t*)recvbuf;
- process_lookup(l);
- break;
- case MTYPE_TOPOREQ:
- process_toporeq(recvbuf, from);
- break;
- case MTYPE_JOIN:
- if (DEBUG) {
- if (dead) {
- dodead(from);
- break;
- }
- }
- /**
- * @todo Join in another reality
- */
- join = (join_t*)recvbuf;
- debug_print("%s got JOIN %s IN R%d from %s\n", mname, join->attachpoint.name, join->rno, from->name);
- if (connected[join->rno]) {
- debug_print("%s WAS ALREADY CONNECTED IN R%d\n", mname, join->rno);
- break;
- }
- process_join(join->rno, &join->attachpoint);
- break;
- case MTYPE_LEAVE:
- if (DEBUG) {
- if (dead) {
- dodead(from);
- break;
- }
- }
- leave = (leave_t*)recvbuf;
- if (!connected[leave->rno]) {
- debug_print("%s WAS NOT CONNECTED IN R%d\n", mname, leave->rno);
- break;
- }
- process_leave(leave->rno);
- break;
- case MTYPE_FINDSPACE:
- if (DEBUG) {
- if (dead) {
- dodead(from);
- break;
- }
- }
- f = (findspace_t*)recvbuf;
- if (!connected[f->rno]) {
- debug_print("%s got FINDSPACE from %s in R%d, but was not connected!\n", mname, from->name, f->rno);
- break;
- }
- process_findspace(f, from);
- break;
- case MTYPE_ALLDATA:
- a = (alldata_t*)recvbuf;
- if (!connected[a->rno]) {
- debug_print("%s got ALLDATA from %s in R%d, but was not connected!\n", mname, from->name, a->rno);
- /*
- * Drop through anyway - the person asking us needs a response
- */
- }
- /*
- * We want to send ALL data we hold, even stuff we shouldn't. So, we create bounds covering [0,WMAX] in each dimension
- */
- flowers = (dim_t*)calloc(NUM_DIMENSIONS, sizeof(dim_t));
- fuppers = (dim_t*)malloc(NUM_DIMENSIONS * sizeof(dim_t));
- for (i = 0; i < NUM_DIMENSIONS; i++) {
- fuppers[i] = WMAX;
- }
- send_zone_data_helper(a->rno, from, flowers, fuppers, 0);
- free(flowers);
- free(fuppers);
- break;
- case MTYPE_DIE:
- if (dead) {
- debug_print("%s already dead, %s!\n", mname, from->name);
- } else {
- dead = 1;
- debug_print("%s rolled over and died on %s's command\n", mname, from->name);
- }
- break;
- case MTYPE_REVIVE:
- if (!dead) {
- debug_print("%s was feeling pretty healthy already, %s!\n", mname, from->name);
- } else {
- dead = 0;
- debug_print("%s rises like a phoenix at %s's beckoning\n", mname, from->name);
- }
- break;
- case MTYPE_SPLITINFO:
- dosplit_new_helper(recvbuf, from);
- break;
- case MTYPE_ZONEDATA: /* No break below, intentionally */
- case MTYPE_DATA_RESPONSE:
- case MTYPE_IMDEAD:
- case MTYPE_JOINCONF:
- case MTYPE_SPACEFOUND:
- case MTYPE_TOPORESP:
- case MTYPE_COMMEST:
- /*
- * This is wrong: these types should not be gotten at this point
- */
- debug_print("%s GOT UNSOLICITED TAG %d FROM %s!\n", mname, tag, from->name);
- return -1;
- case MTYPE_CONFIRM:
- /*
- * This is actually OK: the message is a result of a NEIGHBOR message sent asynchronously being confirmed now
- */
- break;
- default:
- /*
- * Eh?
- */
- debug_print("%s got unknown tag %d from %s!\n", mname, tag, from->name);
- return -1;
- }
- return 0;
-}
-
-/**
- * Performs a store operation, from inside the DHT
- *
- * @param key The key under which to store the data
- * @param data The data itself
- * @param datalen The length of the data
- */
-void dhtstore_internal(ckey_t key, const char* data, dlen_t datalen) {
- numr_t i;
- data_t* d = (data_t*)sendbuf; /* Use sendbuf to avoid clobbering */
-
- debug_print("%s is starting a store for \"%s\" with key %x\n", mname, data, key);
-
- memcpy(d->data, data, datalen);
- d->dlen = datalen;
- d->next = NULL;
- /*
- * Store one copy per reality
- */
- for (i = 0; i < NUM_REALITIES; i++) {
- d->hash = chash(i, key);
- d->rno = i;
- process_store(d);
- }
-}
-
-/**
- * Performs a store operation, from outside the DHT
- *
- * @ingroup dhtpub
- *
- * @param key The key under which to store the data
- * @param data The data itself
- * @param datalen Length of the passed data
- * @param node The node at which to start the store request. This is not necessarily where it will end
- */
-void dhtstore(ckey_t key, const char* data, dlen_t datalen, mpir_t* node) {
- numr_t i;
- data_t* d = (data_t*)sendbuf;
- memcpy(d->data, data, datalen);
- d->dlen = datalen;
- d->next = NULL;
- for (i = 0; i < NUM_REALITIES; i++) {
- d->hash = chash(i, key);
- d->rno = i;
- sendwrapper(d, sizeof(data_t), MPI_BYTE, MTYPE_STORE, node);
- }
-}
-
-static char lastpath[MAXHOPBYTES];
-static numhop_t pathpos = 0;
-
-/**
- * Performs a DHT lookup from outside the DHT
- *
- * The seeker MUST be a member of the wcomm communicator
- *
- * @ingroup dhtpub
- *
- * @param out A buffer that will point to the response data (must be big enough)
- * @param attachnode The MPI rank of a node already in the DHT
- * @param key The key to look up
- * @return The number of bytes in the response
- */
-dlen_t dhtlookup(ckey_t key, mpir_t* attachnode, char* out) {
- char* bufpos;
- dlen_t ret;
- int ct;
- int bytes;
- mpit_t tag;
- mpir_t* source;
- lookup_t* l = (lookup_t*)sendbuf; /* sendbuf, not receivebuf! */
- open_port();
- make_hashes(l, key);
- strcpy(l->seeker.name, mname);
- if (DEBUG) {
- l->numbeen = 0;
- }
- sendwrapper(l, sizeof(lookup_t), MPI_BYTE, MTYPE_LOOKUP, attachnode);
- source = recvwrapper_any(recvbuf, BUFFERLEN, MPI_BYTE, MTYPE_DATA_RESPONSE, &bytes, &tag);
- if (bytes == 0) {
- debug_print("%s got no-data-available for its lookup of %x from %s", mname, key, source->name);
- } else {
- debug_print("%s got a response for its lookup of %x from %s\n", mname, key, source->name);
- }
-
- if (DEBUG) {
- /*
- * Get the path this lookup took
- */
- recvwrapper(lastpath, MAXHOPBYTES, MPI_BYTE, MTYPE_PATH_INFO, source);
- pathpos = 0;
- }
-
- if (ct == 0) {
- return 0;
- }
-
- bufpos = recvbuf;
- bufpos += sizeof(numr_t);
- bufpos += sizeof(chash_t);
- memcpy(&ret, bufpos, sizeof(dlen_t));
- bufpos += sizeof(dlen_t);
- memcpy(out, bufpos, ret);
- out[ret] = '\0'; /* Complimentary null terminator with every order! */
-
- return ret;
-}
-
-/**
- * Sends a FINISH message to the given MPI rank
- *
- * May be conducted from inside or outside the DHT
- *
- * @ingroup dhtcontrol
- *
- * @param node The rank to instruct to quit
- *
- * @return 0 for success or nonzero for failure
- */
-unsigned char dhtquit(mpir_t* node) {
- open_port();
- debug_print("Sending quit to %s from %s...\n", node->name, mname);
- return sendwrapper(sendbuf, 1, MPI_BYTE, MTYPE_FINISH, node);
-}
-
-/**
- * Gets an element of the last path a message took.
- *
- * @ingroup debugging
- *
- * @param outdim After the call, this is set to the dimension in which the message went
- * @param outdir After the call, this is the direction in which the message went
- * @return The message's next stop (a faked MPI rank), or 0 if no more.
- */
-mpi_id_t dhtpathel(numd_t* outdim, dir_t* outdir) {
- numhop_t nh = *((numhop_t*)lastpath);
- char* idx = lastpath + sizeof(numhop_t) + (sizeof(mpir_t) + sizeof(numd_t) + sizeof(dir_t)) * pathpos;
- if (pathpos == nh) {
- return 0;
- }
- pathpos++;
- *outdim = *((numd_t*)(idx + sizeof(mpir_t)));
- *outdir = *((dir_t*)(idx + sizeof(mpir_t) + sizeof(numd_t)));
- return *((mpi_id_t*)idx);
-}
-
-/**
- * Tells a node to leave the network cleanly
- *
- * @ingroup dhtcontrol
- *
- * @param rno Reality in which to leave the network
- * @param node The node which we desire gone
- *
- * @return 0 on success, or nonzero on failure
- */
-unsigned char dhtleave(numr_t rno, mpir_t* node) {
- leave_t* l = (leave_t*)sendbuf;
- l->rno = rno;
- open_port();
- debug_print("Sending LEAVE R%d to %s (%d) from %s...\n", rno, node->name, node->id, mname);
- return sendwrapper(sendbuf, sizeof(leave_t), MPI_BYTE, MTYPE_LEAVE, node);
-}
-
-/**
- * Tells a node to join the network
- *
- * @ingroup dhtcontrol
- *
- * @param rno The reality in which to join the network
- * @param node The node for which the message is destined
- * @param attachpoint Which node's space to share
- *
- * @return 0 on success or nonzero on failure
- */
-unsigned char dhtjoin(numr_t rno, mpir_t* node, mpir_t* attachpoint) {
- join_t* j = (join_t*)sendbuf;
- j->rno = rno;
- j->attachpoint = *attachpoint;
- open_port();
- debug_print("Sending JOIN AT %s IN R%d to %s from %s...\n", attachpoint->name, rno, node->name, mname);
- return sendwrapper(sendbuf, sizeof(join_t), MPI_BYTE, MTYPE_JOIN, node);
-}
-
-/**
- * Queries a node's topology from inside or outside the DHT
- *
- * The return value is NOT safe to keep without copying.
- *
- * @ingroup debugging
- *
- * @param rno The reality in which the topology is being queried
- * @param node The node whose topology you'd like to request
- * @param serial A "serial number" to send with the topology request
- * @return The requested information
- */
-toporesp_t dhttopo(numr_t rno, mpir_t* node, serial_t serial) {
- open_port();
- return do_topo_query(rno, node, serial);
-}
-
-/**
- * Starts getting ALL a node's data in a given reality, from outside the network
- *
- *@ingroup debugging
- *
- * @param rno The reality in which to get data
- * @param node The node whose data we want to request
- *
- * @return 0 if the data-start was successful or nonzero otherwise
- */
-int dhtdata_start(numr_t rno, mpir_t* node) {
- alldata_t* ad = (alldata_t*)sendbuf;
- ad->rno = rno;
- open_port();
- return sendwrapper(ad, sizeof(alldata_t), MPI_BYTE, MTYPE_ALLDATA, node);
-}
-
-/**
- * Returns a piece of data, or NULL for "no more".
- *
- * Should only be called after a successful dhtdata_start with the same parameters.
- *
- * @ingroup debugging
- *
- * @param node The node from which to get data
- * @param dl Set to the length of the data after the call.
- * @param hash Set to the data hash in this reality after the call.
- * @return The data - NOT safe to keep! Copy it out.
- */
-char* dhtdata_get(mpir_t* node, dlen_t* dl, chash_t* hash) {
- data_t* ret = (data_t*)sendbuf;
- recvwrapper(sendbuf, sizeof(data_t), MPI_BYTE, MTYPE_ZONEDATA, node);
- if (ret->next == NULL) {
- *dl = 0;
- return NULL;
- } else {
- *dl = ret->dlen;
- *hash = ret->hash;
- return ret->data;
- }
-}
-
-/**
- * Creates a connection to a node and returns a new node object
- *
- * @ingroup dhtpub
- *
- * @param rank The unique ID of the node which we want
- * @return A node object representing the requested node
- */
-mpir_t* get_other_node(mpi_id_t rank) {
- return insert_new_conn(rank_to_name(rank), rank, rank, mcomm == MPI_COMM_NULL ? 0 : 1, mcomm);
-}
-
-/**
- * Intializes the node, but does not join a DHT. This should be called FIRST.
- *
- * @ingroup dhtpub
- *
- * @param rank The unique identifier of the calling node
- * @param comm Communicator to use for ALL neighbor communication, or MPI_COMM_NULL to utilize MPI-2 dynamic methods
- *
- * @return zero on success, nonzero on failure
- */
-unsigned char open_node(mpi_id_t rank, MPI_Comm comm) {
- mid = rank;
- mcomm = comm;
- mver = 10;
- mpibuffer = malloc(BUFFERLEN);
- uppers = (dim_t*)malloc(sizeof(dim_t) * NUM_REALITIES * NUM_DIMENSIONS);
- lowers = (dim_t*)malloc(sizeof(dim_t) * NUM_REALITIES * NUM_DIMENSIONS);
- connected = (unsigned char*)malloc(sizeof(unsigned char) * NUM_REALITIES);
- MPI_Buffer_attach(mpibuffer, BUFFERLEN);
- strcpy(mname, rank_to_name(mid));
- if (comm == MPI_COMM_NULL) {
- open_port();
- if (IACCEPT) {
- return 0;
- } else {
- return create_helper_thread();
- }
- }
- return 0;
-}
diff --git a/oldcode/src/can/can.h b/oldcode/src/can/can.h
deleted file mode 100644
index c937abd..0000000
--- a/oldcode/src/can/can.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/** @file can.h
- * Primary header file for using the Content Addressable Network
- *
- * @author Bryan Jacobs
- */
-
-#ifndef CAN_H_
-#define CAN_H_
-
-#include <mpi.h>
-#include "can_mtypes.h"
-
-/** @mainpage CAN
- * This is an implementation of CAN written atop MPI.
- */
-
-/**
- * The maximum length of a data object
- */
-#define MAX_DATA_LEN (2048)
-
-#define MAX_REALITIES (8)
-#define MAX_DIMENSIONS (8)
-
-extern unsigned char NUM_REALITIES;
-extern unsigned char NUM_DIMENSIONS;
-extern unsigned char IACCEPT;
-extern unsigned char USEWORLD;
-extern unsigned char DEBUG;
-extern unsigned char VERBOSE;
-
-/**
- * Maximum number of times the zone can be split (you may only have 2^this nodes)
- */
-#define MAX_SPLITS (5)
-
-/**
- * The width of the whole coordinate space per dimension
- * (this should be an integer so I don't have to worry about rounding)
- * It's the same in every dimension because there's no advantage to not using a hypercube.
- *
- * Equivalent to 2^MAX_SPLITS
- */
-#define WMAX (2<<MAX_SPLITS)
-/**
- * Funny coincidence: 2<<MAX_SPLITS is also the maximum number of neighbors we can have on one side
- */
-#define MAXNEIGHBORS WMAX
-/**
- * Maximum number of neighbors we may have total
- */
-#define MAXNEIGHBORS_ANYWAY (MAXNEIGHBORS*NUM_DIMENSIONS*2)
-
-/**
- * The maximum volume a node can have
- */
-#define MAXVOL (WMAX^NUM_DIMENSIONS)
-
-/**
- * The maximum distance between two points - the below is actually an overestimate
- */
-#define MAXDIST (WMAX*NUM_DIMENSIONS)
-
-/**
- * Maximum number of hops a message can take to reach its destination
- *
- * @todo Consider enforcing this - currently it's just used for determining matrix sizes when DEBUG is set
- */
-#define MAXHOPS (WMAX*2)
-
-/**
- * The maximum number of bytes necessary to store a hop path
- */
-#define MAXHOPBYTES (sizeof(numhop_t)+(sizeof(mpir_t)+sizeof(numd_t)+sizeof(dir_t))*MAXHOPS)
-
-#define ASSERT(x) if (!(x)) fprintf(stderr,"ASSERTION \"%s\" FAILED!", "x");
-
-#include "can_dtypes.h"
-
-/*
- * Public interface of the DHT below here
- */
-int dhtinit(numr_t rno, mpir_t* onode);
-int dhtprocess();
-void dhtstore(ckey_t key, const char* data, dlen_t datalen, mpir_t* insertrank);
-dlen_t dhtlookup(ckey_t key, mpir_t* attachrank, char* out);
-unsigned char dhtquit(mpir_t* rank);
-toporesp_t dhttopo(numr_t rno, mpir_t* node, serial_t serial);
-unsigned char dhtleave(numr_t rno, mpir_t* rank);
-unsigned char dhtjoin(numr_t rno, mpir_t* rank, mpir_t* attachpoint);
-int dhtdata_start(numr_t rno, mpir_t* rank);
-char* dhtdata_get(mpir_t* node, dlen_t* dl, chash_t* hash);
-dim_t dhtpos(numr_t rno, chash_t hash, numd_t dim);
-void send_self(mpi_id_t mrank, mpi_id_t torank, MPI_Comm comm);
-mpir_t* get_other_node(mpi_id_t rank);
-unsigned char open_node(mpi_id_t rank, MPI_Comm comm);
-unsigned char __attribute__((pure)) abuts(dim_t* mlowers, dim_t* muppers, dim_t* nlowers, dim_t* nuppers, numd_t dim, dir_t dir);
-void debug_print(char* format, ...);
-mpi_id_t dhtpathel(numd_t* outdim, dir_t* outdir);
-
-#if DEBUG || CHECKEND || CHECKSTEP
-mpi_id_t dhtpathel();
-#endif
-
-#endif /*CAN_H_*/
diff --git a/oldcode/src/can/can_dtypes.h b/oldcode/src/can/can_dtypes.h
deleted file mode 100644
index 0c2ae4b..0000000
--- a/oldcode/src/can/can_dtypes.h
+++ /dev/null
@@ -1,381 +0,0 @@
-/** @file
- * CAN data types
- */
-
-#ifndef CAN_DTYPES_H_
-#define CAN_DTYPES_H_
-/**
- * The number of hops a message has taken
- */
-typedef unsigned int numhop_t;
-/**
- * A key to store or lookup data
- */
-typedef unsigned int ckey_t;
-/**
- * A hash - made from a key
- */
-typedef ckey_t chash_t;
-/**
- * A number of dimensions
- */
-typedef short numd_t;
-/**
- * A number of realities
- */
-typedef numd_t numr_t;
-/**
- * The length of a block of data
- */
-typedef unsigned int dlen_t;
-/**
- * A direction within a dimension
- */
-typedef unsigned char dir_t;
-
-/**
- * A location in one dimension
- */
-typedef unsigned int dim_t;
-/**
- * Used for when one wants to multiply coordinates together - should be large enough to hold a zone volume
- */
-typedef unsigned long mdim_t;
-/**
- * Used for storing the number of neighbors a node has in a given direction
- */
-typedef unsigned short numneighbor_t;
-/**
- * A raw MPI rank
- */
-typedef int mpi_id_t;
-
-/**
- * An MPI data type
- */
-typedef MPI_Datatype dtype_t;
-
-/**
- * An MPI tag (used just to ensure that data types are abstractly defined)
- */
-typedef int mpit_t;
-/**
- * A serial number for versioning
- */
-typedef unsigned int serial_t;
-
-/**
- * Description of a service name's length
- */
-typedef short mpiportlen_t;
-/**
- * Service name
- */
-typedef char mpiport_t[MPI_MAX_PORT_NAME];
-
-/**
- * Structure holding already-received messages
- */
-typedef struct waitmsg_struct {
- /**
- * Pointer to next message in list
- */
- struct waitmsg_struct* next;
- /**
- * Message length
- */
- int mlen;
- /**
- * Message body
- */
- char* msg;
- /**
- * Message tag
- */
- mpit_t tag;
-} waitmsg_t;
-
-/**
- * A way of reaching another node
- */
-typedef struct mpir_struct {
- /**
- * The service name to which the node responds
- */
- mpiport_t name;
- /**
- * Node's global identifier (shorthand way to compare nodes)
- */
- mpi_id_t id;
- /**
- * Whether the node is marked as failed - if so, avoid communication with it
- */
- unsigned char failed;
- /**
- * Whether a communicator is already established with the node
- */
- unsigned char commest;
- /**
- * Communicator containing us and them (only valid if commest is true)
- */
- MPI_Comm comm;
- /**
- * Rank of other node within communicator (only valid if commest is true)
- * This is still here in case we want to allow communicators with size greater than two
- */
- mpi_id_t rank;
- /**
- * Version number of last we knew about neighbor (to prevent old information supplanting new)
- */
- serial_t nver;
- /**
- * The lower bounds of the zone
- */
- dim_t lowers[MAX_DIMENSIONS];
- /**
- * The upper bounds of the zone
- */
- dim_t uppers[MAX_DIMENSIONS];
- /**
- * Head of the list of messages we've already received from this connection
- */
- waitmsg_t* waiting;
- /**
- * Foot of the list of messages we've already received from this connection
- */
- waitmsg_t* waitinglast;
-} mpir_t;
-
-/**
- * Structure for storing neighbors
- */
-typedef struct nlist_struct {
- /**
- * Pointer to next nlist_struct in the list
- */
- struct nlist_struct* next;
- /**
- * Pointer to neighbor node object
- */
- mpir_t* neighbor;
-} nlist_t;
-
-/**
- * Structure for storing data
- */
-typedef struct data_struct {
- /**
- * The data itself
- */
- char data[MAX_DATA_LEN];
- /**
- * Length of data
- */
- dlen_t dlen;
- /**
- * Pointer to next data_struct in the list
- */
- struct data_struct* next;
- /**
- * The hash in the appropriate reality
- */
- chash_t hash;
- /**
- * Reality in which the data is being passed
- */
- numr_t rno;
-/**
- * Used by canclient for recording whether a given piece of data has been matched
- */
-int seencount;
-} data_t;
-
-/**
- * Structure for NEIGHBOR information
- */
-typedef struct nchange_struct {
- /**
- * Original node - the RECIPIENT in a merge
- */
- mpir_t onode;
- /**
- * Newly-joining node (or newly-leaving in a merge)
- * If this NEIGHBOR message only contains info on one node, set this node's unique ID to zero
- */
- mpir_t jnode;
- /**
- * Reality in which this occurs
- */
- numr_t rno;
- /**
- * Number of the dimension in which I split/merged
- */
- numd_t dim;
-} nchange_t;
-
-/**
- * Structure for sending/receiving lookups
- */
-typedef struct lookup_struct {
- /**
- * One hash per reality, of course
- */
- chash_t hash[MAX_REALITIES];
- /**
- * MPI rank of node seeking data
- */
- mpir_t seeker;
- /**
- * A list of MPI ranks the message has visited
- */
- mpiport_t been[MAXHOPS];
- /**
- * The dimensions along which the message has moved
- */
- numd_t dimbeen[MAXHOPS];
- /**
- * The directions in which the message has moved
- */
- numr_t dirbeen[MAXHOPS];
- /**
- * How many entries in the been list are valid
- */
- numhop_t numbeen;
- /**
- * Serial number of this lookup query
- */
- serial_t serial;
-} lookup_t;
-
-/**
- * Structure for sending "query failed" responses
- */
-typedef struct negative_struct {
- serial_t serial;
-} negative_t;
-
-/**
- * Structure for sending/receiving zone join requests
- */
-typedef struct joinreq_struct {
- /**
- * Reality number in which one wants to join.
- */
- numr_t rno;
- /**
- * Request originator
- */
- mpir_t source;
-} joinreq_t;
-
-/**
- * Structure for requesting topology information
- */
-typedef struct toporeq_struct {
- /**
- * Reality in which topology information is interesting
- */
- numr_t rno;
- /**
- * For identifying sequencing
- */
- serial_t serial;
-} toporeq_t;
-
-/**
- * A structure for responding with topology information
- */
-typedef struct toporesp_struct {
- /**
- * The zone's volume
- */
- mdim_t vol;
- /**
- * The number of neighbors the zone has in each dimension
- */
- numneighbor_t nn[MAX_DIMENSIONS][2];
- /**
- * The neighbors' numeric identifiers (fake, not real MPI ranks)
- */
- mpi_id_t neigh[MAX_DIMENSIONS][2][MAXNEIGHBORS];
- /**
- * The neighbors' upper bounds as perceived by this node
- */
- dim_t nlowers[MAX_DIMENSIONS][2][MAXNEIGHBORS][MAX_DIMENSIONS];
- /**
- * The neighbors' lower bounds as perceived by this node
- */
- dim_t nuppers[MAX_DIMENSIONS][2][MAXNEIGHBORS][MAX_DIMENSIONS];
- /**
- * Lower bounds of zone in each dimension
- */
- dim_t lowers[MAX_DIMENSIONS];
- /**
- * Upper bounds of zone in each dimension
- */
- dim_t uppers[MAX_DIMENSIONS];
-} toporesp_t;
-
-/**
- * A structure for requesting all a node's data
- */
-typedef struct alldata_struct {
- /**
- * Reality in which data are requested
- */
- numr_t rno;
-} alldata_t;
-
-/**
- * A structure holding information on how and where to join the network
- */
-typedef struct join_struct {
- /**
- * Reality number in which to join
- */
- numr_t rno;
- /**
- * The node which should be used for bootstrapping
- */
- mpir_t attachpoint;
-} join_t;
-
-/**
- * A structure holding information on how to leave the network
- */
-typedef struct leave_struct {
- /**
- * Reality number in which to leave the network
- */
- numr_t rno;
-} leave_t;
-
-/**
- * A structure for finding space in the network
- */
-typedef struct findspace_struct {
- /**
- * The reality number associated with the message
- */
- numr_t rno;
- /**
- * Node to notify when space is found
- */
- mpir_t origin;
-} findspace_t;
-
-/**
- * Holds a list of connections
- */
-typedef struct connlist_struct {
- /**
- * The actual connection object held
- */
- mpir_t n;
- /**
- * Pointer to next in the linked list
- */
- struct connlist_struct* next;
-} connlist_t;
-
-#endif /* CAN_DTYPES_H_ */
diff --git a/oldcode/src/can/can_mtypes.h b/oldcode/src/can/can_mtypes.h
deleted file mode 100644
index 5e5e260..0000000
--- a/oldcode/src/can/can_mtypes.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/** @file
- * Contains different message types used as MPI tags by the CAN system
- */
-
-#ifndef CAN_MTYPES_H_
-#define CAN_MTYPES_H_
-
-/**
- * Info about zone to assume after split/takeover
- */
-#define MTYPE_SPLITINFO (1)
-/**
- * Request to join a zone
- */
-#define MTYPE_JOINREQ (2)
-/**
- * Request to look up some data
- */
-#define MTYPE_LOOKUP (3)
-/**
- * Request to store some data
- */
-#define MTYPE_STORE (4)
-/**
- * Update your information, one of your neighbors just split/merged
- */
-#define MTYPE_NEIGHBOR (5)
-/**
- * Tell the node to quit
- */
-#define MTYPE_FINISH (6)
-/**
- * The actual CONTENTS of a zone
- */
-#define MTYPE_ZONEDATA (7)
-/**
- * Query failed
- */
-#define MTYPE_FAILED (8)
-/**
- * Response to a data query
- */
-#define MTYPE_DATA_RESPONSE (9)
-/**
- * Request for topology info
- */
-#define MTYPE_TOPOREQ (10)
-/**
- * Response - contains topology info
- */
-#define MTYPE_TOPORESP (11)
-/**
- * I got your message successfully
- */
-#define MTYPE_CONFIRM (12)
-/* Gap here because I deleted a type, not because of triskadekophobia */
-/**
- * Instruction that triggers a node to leave the network (but NOT to stop listening for more commands)
- */
-#define MTYPE_LEAVE (14)
-/**
- * Instruction that triggers a node to join the network
- */
-#define MTYPE_JOIN (15)
-/**
- * Space must be found: either leave the network or pass the message on to someone who can
- */
-#define MTYPE_FINDSPACE (16)
-/**
- * Space has been found - I'm out
- */
-#define MTYPE_SPACEFOUND (17)
-/**
- * I want all your data! All of it!
- */
-#define MTYPE_ALLDATA (18)
-/**
- * Die and start returning failure messages
- */
-#define MTYPE_DIE (19)
-/**
- * Come back to life
- */
-#define MTYPE_REVIVE (20)
-/**
- * I'm dead, stop bugging me
- */
-#define MTYPE_IMDEAD (21)
-/**
- * You may join with me
- */
-#define MTYPE_JOINCONF (22)
-/**
- * Information on the path a message took
- */
-#define MTYPE_PATH_INFO (23)
-/**
- * Information about communicator establishment
- */
-#define MTYPE_COMMEST (24)
-
-#endif /* CAN_MTYPES_H_ */
diff --git a/oldcode/src/can/can_private.h b/oldcode/src/can/can_private.h
deleted file mode 100644
index 3c9c4ef..0000000
--- a/oldcode/src/can/can_private.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/** @file
- * Contains prototypes for internal CAN functions, and predeclarations of some variables
- */
-
-#ifndef CAN_PRIVATE_H_
-#define CAN_PRIVATE_H_
-
-#include "can.h"
-
-/* Private defines */
-/**
- * Size of receive buffer for messages
- */
-#define BUFFERLEN (67108864)
-
-/* Private data types */
-
-/**
- * Structure for keeping track of which nodes have been sent, to reduce message size
- */
-typedef struct sentlist_struct {
- struct sentlist_struct* next;
- mpi_id_t id;
-} sentlist_t;
-
-/* Private functions */
-
-/* can_util.c */
-void unlock_connection_list();
-void lock_connection_list();
-void destroy_conn_mutex();
-unsigned char add_to_sentlist(sentlist_t** list, mpi_id_t id);
-void free_sentlist(sentlist_t** list);
-void print_neighbor(const char* str, mpir_t* n);
-void wait_a_while();
-void free_n(nlist_t* n);
-char* rank_to_name(mpi_id_t rank);
-mdim_t get_distance(mpir_t* n, chash_t dest);
-chash_t __attribute__((const)) chash(numr_t rno, ckey_t key);
-chash_t __attribute__((const)) get_dim_part(chash_t dest, numd_t dimno);
-unsigned char data_within(chash_t data, dim_t* lowers, dim_t* uppers);
-void make_hashes(lookup_t* l, ckey_t key);
-
-/* send.c */
-unsigned char sendwrapper_async(void* buf, int dsize, dtype_t dtype, int tag, mpir_t* dest);
-unsigned char sendwrapper(void* buf, int dsize, dtype_t dtype, int tag, mpir_t* dest);
-
-/* recv.c */
-mpir_t* recvwrapper_any(char* buf, int buflen, dtype_t dtype, mpit_t tag, int* outcount, mpit_t* tagout);
-mpir_t* recvwrapper_any_noconfirm(char* buf, int buflen, dtype_t dtype, mpit_t tag, int* outcount, mpit_t* tagout);
-unsigned char recvwrapper(char* buf, int buflen, dtype_t dtype, mpit_t tag, mpir_t* from);
-void take_waiting_messages(mpir_t* n, mpit_t tag);
-
-/* neighbor.c */
-extern nlist_t* neighbors[MAX_REALITIES][MAX_DIMENSIONS][2];
-void remove_neighbor(mpir_t* neigh, numr_t rno, numd_t dim, dir_t dir);
-mpir_t* update_neighbor_info(numr_t rno, mpir_t* node, unsigned char* updated, mpir_t* source);
-void update_neighbor_dimensions(mpir_t* node, numr_t rno, dim_t* nlowers, dim_t* nuppers);
-void mark_node_dead(mpir_t* node);
-void mark_node_alive(mpir_t* node);
-mpir_t* insert_new_conn(char* oname, mpi_id_t id, mpi_id_t orank, unsigned char commest, MPI_Comm ocomm);
-mpir_t* get_neighbor_with_id(mpi_id_t id);
-unsigned char insert_neighbor(mpir_t* neigh, numr_t rno, numd_t dim, dir_t dir);
-
-/* helper.c */
-unsigned char create_helper_thread();
-void accept_any_connection();
-
-/* can.c */
-extern MPI_Comm mcomm;
-extern mpiport_t realmport;
-extern mpiport_t mname;
-extern mpi_id_t mid;
-extern connlist_t* conns;
-extern serial_t mver;
-unsigned char send_one_neighbor_message(numr_t rno, mpir_t* jnode, mpir_t* node);
-void set_uppers(numr_t rno, numd_t dim, dim_t bound);
-void set_lowers(numr_t rno, numd_t dim, dim_t bound);
-dim_t get_uppers(numr_t rno, numd_t dim);
-dim_t get_lowers(numr_t rno, numd_t dim);
-dim_t* get_upper_set(numr_t rno);
-dim_t* get_lower_set(numr_t rno);
-void set_neighbors(numr_t rno, numd_t dim, dir_t direction, nlist_t* neighbors);
-void set_connected(numr_t rno, unsigned char connected);
-
-/* iaccept.c */
-int MPI_Comm_Iaccept(char* port, MPI_Info info, int root, int timeout, MPI_Comm comm, MPI_Comm* newcomm);
-
-#endif /* CAN_PRIVATE_H_ */
diff --git a/oldcode/src/can/can_util.c b/oldcode/src/can/can_util.c
deleted file mode 100644
index 4f707cd..0000000
--- a/oldcode/src/can/can_util.c
+++ /dev/null
@@ -1,383 +0,0 @@
-/** @file
- * Assorted utility functions
- */
-
-#include <stdio.h>
-#include <pthread.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <sched.h>
-#include <stdarg.h>
-#include "can_private.h"
-
-/**
- * @defgroup mutex_functions Mutex Helpers
- * @{
- */
-
-/**
- * mutex protecting the connections list
- */
-static pthread_mutex_t connmutex;
-
-static unsigned char mutexinit = 0;
-
-static unsigned char connlistlockedbogustest = 0;
-
-void debug_print(char* format, ...) {
- va_list args;
- if (VERBOSE) {
- va_start(args,format);
- vprintf(format, args);
- va_end(args);
- }
-}
-
-/**
- * Locks the connection-list mutex
- */
-void lock_connection_list() {
- if (!USEWORLD && !IACCEPT && !mutexinit) {
- pthread_mutex_init(&connmutex, NULL);
- mutexinit = 1;
- }
- if (DEBUG) {
- ASSERT(!connlistlockedbogustest);
- connlistlockedbogustest = 1;
- }
- if (!IACCEPT && !USEWORLD) {
- pthread_mutex_lock(&connmutex);
- }
-}
-
-/**
- * Unlocks the connection-list mutex
- */
-void unlock_connection_list() {
- if (DEBUG) {
- ASSERT(connlistlockedbogustest);
- connlistlockedbogustest = 0;
- }
- if (!IACCEPT && !USEWORLD) {
- pthread_mutex_unlock(&connmutex);
- }
-}
-
-/**
- * Frees the connection-list mutex's resources
- */
-void destroy_conn_mutex() {
- if (mutexinit) {
- pthread_mutex_destroy(&connmutex);
- }
-}
-
-/**
- * @}
- * @defgroup sentlist_functions Sentlist Helpers
- * @{
- */
-
-/**
- * Adds an entry to a sentlist
- *
- * @param list A pointer to the list's head
- * @param id The entry to add if it's not already in the list
- *
- * @return Nonzero if the entry was added, zero if it was already in the list
- */
-unsigned char add_to_sentlist(sentlist_t** list, mpi_id_t id) {
- sentlist_t* cur;
- cur = *list;
- while (cur != NULL) {
- if (cur->id == id) {
- /*
- * Found
- */
- return 0;
- }
- cur = cur->next;
- }
- cur = (sentlist_t*)malloc(sizeof(sentlist_t));
- cur->next = *list;
- cur->id = id;
- *list = cur;
- return 1;
-}
-
-/**
- * Frees a sentlist
- *
- * @param list A pointer to the head of the list to free
- */
-void free_sentlist(sentlist_t** list) {
- sentlist_t* tmp;
- while (*list != NULL) {
- tmp = (*list)->next;
- free(*list);
- *list = tmp;
- }
- *list = NULL;
-}
-
-/**
- * @}
- */
-
-/**
- * Delays for a short, semi-randomized time
- */
-void wait_a_while() {
-#if DEBUG
- ASSERT(!connlistlockedbogustest);
-#endif
- if (rand() % 10 == 0) {
- /* debug_print("%s waiting\n", mname); */
- usleep(30000);
- /*sleep(1);*/
- } else {
- sched_yield();
- }
-}
-
-/**
- * Prints out a neighbor's version number and dimensions
- *
- * @param str A string with which to prefix the printing
- * @param n The node whose information we'd like to print
- */
-void print_neighbor(const char* str, mpir_t* n) {
- numd_t j;
- debug_print("%s: On %s, neighbor %s (#%d) has: ", str, mname, n->name, n->nver);
- for (j = 0; j < NUM_DIMENSIONS; j++) {
- debug_print("%d - %d", n->lowers[j], n->uppers[j]);
- if (j < NUM_DIMENSIONS - 1) {
- debug_print(" x ");
- }
- }
- debug_print("\n");
-}
-
-/**
- * Frees a neighbor
- *
- * @param n The neighbor-list object to free
- */
-void free_n(nlist_t* n) {
- free(n);
-}
-
-static mpiport_t portnametmp;
-
-/**
- * Converts an MPI rank into a service name
- *
- * @param rank The unique ID for which we want the name
- *
- * @return A null-terminated string which contains the service name. This may be overwritten by
- * the next call to this function and so MUST BE COPIED OUT.
- */
-char* rank_to_name(mpi_id_t rank) {
- sprintf(portnametmp, "dht_rank_%d", rank);
- return portnametmp;
-}
-
-/**
- * @defgroup position_functions Position Helpers
- * @{
- */
-/**
- * Gets the part of a hash that defines its position along a given dimension.
- *
- * @param dest The hash we're interested in
- * @param dimno The dimension we care about for this call
- * @return The part of the hash that lies along the given dimension - may be cast to a dim_t safely
- */
-chash_t __attribute__((const)) get_dim_part(chash_t dest, numd_t dimno) {
- chash_t mask = 0;
- int i;
- for (i = 0; i < (sizeof(chash_t) * 8) / NUM_DIMENSIONS; i++) {
- mask <<= 1;
- mask++;
- } /* mask now is 1/D filled with ones */
- dest >>= ((sizeof(chash_t) * 8) / NUM_DIMENSIONS) * dimno; /* dest now right-aligned */
- dest &= mask; /* Interesting bits only now on right */
- return dest;
-}
-
-/**
- * Hashes a piece of data
- *
- * Currently just uses a modulus to restrict each dimensional part of the key to fall within the virtual coordinate space
- *
- * @todo Make this a real uniform hash
- * @param rno The reality in which to perform hashing
- * @param key The key to hash
- * @return The hash value
- */
-chash_t __attribute__((const)) chash(numr_t rno, ckey_t key) {
- numd_t i;
- chash_t ret = 0;
- for (i = 0; i < NUM_DIMENSIONS; i++) {
- chash_t dimpart = get_dim_part(key, i);
- dimpart %= WMAX;
- dimpart <<= (sizeof(chash_t) * 8 / NUM_DIMENSIONS) * i;
- ret += dimpart;
- }
- return ret;
-}
-
-/**
- * Generates one hash for the given key in each reality, and places it in the lookup_t object provided
- *
- * @param l The lookup object whose hashes we want populated
- * @param key The key for which to generate hashes
- */
-void make_hashes(lookup_t* l, ckey_t key) {
- numr_t i;
- for (i = 0; i < NUM_REALITIES; i++) {
- l->hash[i] = chash(i, key);
- }
-}
-
-/**
- * Finds the position of a point relative to a given zone in a given dimension
- *
- * @param dest The point
- * @param lower Lower bound of the zone in a dimension
- * @param upper Corresponding upper bound
- * @param dimno The dimension in which our distance should be calculated
- * @return 1 if the point is forward from the node, -1 if backwards, 0 if within
- */
-static char __attribute__((const)) get_fb(chash_t dest, dim_t lower, dim_t upper, numd_t dimno) {
- dest = get_dim_part(dest, dimno);
- if (dest < lower) {
- return -1;
- }
- if (dest > upper) {
- return 1;
- }
- return 0;
-}
-
-/**
- * Gets the Cartesian distance (squared) from a particular node to a given hash
- * This takes into account the fact that the world is round
- *
- * @param n The node to which to get distance
- * @param dest The hash from which to get distance to the node
- * @return The distance value (really, distance squared, but we only care about relative distances anyway)
- */
-mdim_t get_distance(mpir_t* n, chash_t dest) {
- mdim_t ret = 0;
- numd_t i;
- for (i = 0; i < NUM_DIMENSIONS; i++) {
- dim_t dimdist = 0;
- chash_t dp = get_dim_part(dest, i);
- if (n->uppers[i] > dp) {
- if (n->lowers[i] > dp) {
- dimdist = n->lowers[i] - dp;
- if (dp + (WMAX - n->uppers[i]) < dimdist) {
- dimdist = dp + (WMAX - n->uppers[i]); /* Going up and over */
- }
- }
- } else {
- dimdist = dp - n->uppers[i];
- if (WMAX - dp + n->lowers[i]) {
- dimdist = WMAX - dp + n->lowers[i]; /* Going down and around */
- }
- }
- ret += dimdist * dimdist;
- }
- return ret;
-}
-
-/**
- * Determines if a hash falls within a given zone in all dimensions
- *
- * @param data The hash
- * @param lowers An ordered array of dim_t expressing the lower coordinates in each dimension
- * @param uppers As lowers, but upper bounds
- * @return nonzero if and only if the hash is within the given zone
- */
-unsigned char data_within(chash_t data, dim_t* lowers, dim_t* uppers) {
- numd_t i;
- char dir;
- /* debug_print("%d data_within %x\n",mrank,data); */
- for (i = 0; i < NUM_DIMENSIONS; i++) {
- dir = get_fb(data, lowers[i], uppers[i], i);
- if (dir != 0) {
- /*
- * Data not within zone on this dimension
- */
- return 0;
- }
- }
- return 1;
-}
-
-/**
- * Determine if two passed zones neighbor eachother
- *
- * The logic in here is very complicated, but all it does is determine if two zones are in contact along the specified dimension for
- * a d-torus, provided that dir is the correct dimension from node m to node n.
- *
- * Note that this will NOT handle overlapping zones. Make sure that doesn't happen.
- *
- * Special case: A zone with [0,0] in all dimensions is always NOT a neighbor of anything else. Even another such zone.
- *
- * @todo I'm sure this could be simplified
- *
- * @param mlowers The lower bounds of the first zone (m), ordered by dimension
- * @param muppers The upper bounds of the first zone
- * @param nlowers As mlowers, but for the second zone (n)
- * @param nuppers As muppers, but for the second zone
- * @param dim The dimension along which abuttance is being checked
- * @param dir The direction from m->n
- * @return Nonzero if and only if the two zones are neighbors
- */
-unsigned char __attribute__((pure)) abuts(dim_t* mlowers, dim_t* muppers, dim_t* nlowers, dim_t* nuppers, numd_t dim, dir_t dir) {
- numd_t i;
- unsigned char corner = 1;
- unsigned char nonzero = 0;
- for (i = 0; i < NUM_DIMENSIONS; i++) {
- if (nlowers[i] != 0 || nuppers[i] != 0) {
- nonzero = 1;
- }
- if (dim == i) {
- /*
- * Nodes MUST touch along this dimension
- */
- if (dir == 0) {
- if (mlowers[i] != nuppers[i] && !(mlowers[i] == 0 && nuppers[i] == WMAX)) {
- return 0;
- }
- } else {
- if (muppers[i] != nlowers[i] && !(muppers[i] == WMAX && nlowers[i] == 0)) {
- return 0;
- }
- }
- }
- if ((((dim != i || dir != 1) && mlowers[i] > nuppers[i]) || ((dim != i || dir != 0) && muppers[i] < nlowers[i])) || (dim == i && dir == 1 && nlowers[i]
- < mlowers[i] && (nlowers[i] != 0 || muppers[i] != WMAX)) || (dim == i && dir == 0 && nuppers[i] > muppers[i] && (nuppers[i] != WMAX
- || mlowers[i] != 0))) {
- return 0;
- }
- if (!(muppers[i] == nlowers[i] || mlowers[i] == nuppers[i] || (dim == i && mlowers[i] == 0 && nuppers[i] == WMAX) || (dim == i && muppers[i] == WMAX
- && nlowers[i] == 0))) {
- corner = 0;
- }
- }
- if (corner) {
- /* The zones touch on all dimensions but overlap on none - a corner case */
- return 0;
- }
- if (!nonzero) {
- return 0;
- }
- return 1;
-}
-
-/**
- * @}
- */
diff --git a/oldcode/src/can/canclient.c b/oldcode/src/can/canclient.c
deleted file mode 100644
index affe393..0000000
--- a/oldcode/src/can/canclient.c
+++ /dev/null
@@ -1,1000 +0,0 @@
-/** @file canclient.c
- * A program that initializes the CAN and allows basic manual control
- *
- * This will intialize one process (rank 0) as the "control node". This node will open port 6666 for TCP connections.
- * You can send it commands by using telnet or nc to that port.
- *
- * @author Bryan Jacobs
- */
-
-#include <stdio.h>
-#include <sys/types.h>
-#include <linux/limits.h>
-#include <unistd.h>
-#include <string.h>
-#include <stdlib.h>
-#include <sys/socket.h>
-#include <arpa/inet.h>
-
-#include <can.h>
-
-/**
- * Whether to listen on port 6666 for commands (alternative is to run noninteractively)
- */
-static unsigned char LISTEN = 0;
-/*
- * Whether to spit out data on the network structure at each step
- */
-static unsigned char PLOTS = 1;
-/**
- * Whether to output data at the last step, FOR the last step
- */
-static unsigned char PLOTATEND = 0;
-
-static unsigned char CHECKSTEP = 1;
-static unsigned char CHECKSTARTUP = 0;
-static unsigned char CHECKEND = 1;
-
-/**
- * The number of nodes that will participate in the DHT
- */
-static unsigned int DHTKIDS = 12;
-
-/**
- * Number of consecutive passes that the DHT topology must be stable before we consider it so
- */
-static unsigned int NUM_TOPO_PASSES = 2;
-
-/**
- * An array of MPI connections, one per child thread (and one unused for the control thread)
- */
-static mpir_t** threadports;
-/**
- * The last-know topology of the nodes
- */
-static toporesp_t* topos;
-
-/**
- * Whether we think a given node is "in" the network
- */
-static unsigned char* shouldbein;
-
-static unsigned int stepno = 0;
-
-/**
- * Write files encapsulating the state of the network out for later analysis
- *
- * @param lastcommand The last command run, for labeling purposes
- * @param topos One toporesp_t per child node (plus an unused one for rank zero) - each one is one node's state
- * @param numkids How many children are in the DHT
- */
-static void doplots(const char* lastcommand, toporesp_t* topos, int numkids) {
- char fname[128];
- FILE* f;
- int i;
- numd_t j;
- dir_t k;
- numneighbor_t nn;
- /*
- * Write step file
- */
- snprintf(fname, sizeof(char) * 128, "step-%d.dat", stepno);
- f = fopen(fname, "w");
-
- fprintf(f, "rank,");
- for (j = 0; j < NUM_DIMENSIONS; j++) {
- fprintf(f, "dim%dlow,dim%dhigh", j, j);
- if (j < NUM_DIMENSIONS - 1) {
- fprintf(f, ",");
- }
- }
- fprintf(f, "\n");
-
- for (i = 1; i <= numkids; i++) {
- fprintf(f, "%d,", i);
- if (topos[i].vol == 0) {
- /*
- * Useless, it's not in this reality
- */
- for (j = 0; j < NUM_DIMENSIONS; j++) {
- fprintf(f, "0,0");
- if (j < NUM_DIMENSIONS - 1) {
- fprintf(f, ",");
- }
- }
- fprintf(f, "\n");
- continue;
- }
-
- for (j = 0; j < NUM_DIMENSIONS; j++) {
- fprintf(f, "%d,%d", topos[i].lowers[j], topos[i].uppers[j]);
- if (j < NUM_DIMENSIONS - 1) {
- fprintf(f, ",");
- }
- }
- fprintf(f, "\n");
-
- }
- fclose(f);
-
- /*
- * Write relationships file
- */
- for (i = 1; i <= numkids; i++) {
- snprintf(fname, sizeof(char) * 128, "relationships-%d-%d.dat", stepno, i);
- f = fopen(fname, "w");
- fprintf(f, "dim,dir,neighbor\n");
- if (topos[i].vol == 0) {
- /*
- * Not in the network - we don't want cruft below
- */
- continue;
- }
- for (j = 0; j < NUM_DIMENSIONS; j++) {
- for (k = 0; k < 2; k++) {
- for (nn = 0; nn < topos[i].nn[j][k]; nn++) {
- fprintf(f, "%d,%d,%d\n", j, k, topos[i].neigh[j][k][nn]);
- }
- }
- }
- fclose(f);
- }
-
- /*
- * Write commands file
- */
- snprintf(fname, sizeof(char) * 128, "commands.dat");
- if (stepno == 0) {
- f = fopen(fname, "w");
- fprintf(f, "step,command\n0,\"INITIAL\"\n");
- } else {
- f = fopen(fname, "a");
- fprintf(f, "%d,\"%s\"\n", stepno, lastcommand);
- }
- fclose(f);
-
- /*
- * Sync so if our next invariant check fails or we crash, stuff is still on the disk
- */
- sync();
-
- stepno++;
-}
-
-/**
- * Gets the complete path to the executable that is currently running
- *
- * This method relies on the proc file system, which is a Linux meme
- *
- * @param out After the call, set to a null-terminated string representing an absolute path
- * @param outsize How large the buffer is - if the output is too long, it will be truncated to fit
- * @return 0 on success, nonzero on truncation or failure
- */
-static int get_self_executable(char* out, int outsize) {
- char lp[PATH_MAX];
- ssize_t read;
- pid_t mpid = getpid();
- if (snprintf(lp, PATH_MAX, "/proc/%d/exe", mpid) >= PATH_MAX) {
- return 1;
- }
- read = readlink(lp, out, outsize);
- if (read == -1) {
- perror("readlink");
- return 1;
- }
- out[read] = '\0'; /* Readlink doesn't null-terminate */
- return 0;
-}
-
-/**
- * Checks that neighbors' lower bounds match a node's upper bounds or vice versa
- */
-static int check_matching_borders(toporesp_t* topos, int numkids) {
- int i;
- numd_t j;
- dir_t k;
- numneighbor_t nn;
- unsigned char ok = 1;
- for (i = 1; i <= numkids; i++) {
- for (j = 0; j < NUM_DIMENSIONS; j++) {
- for (k = 0; k < 2; k++) {
- for (nn = 0; nn < topos[i].nn[j][k]; nn++) {
- mpi_id_t n = topos[i].neigh[j][k][nn];
- if (k == 0) {
- if (topos[n].uppers[j] != topos[i].lowers[j] && !(topos[i].lowers[j] == 0 && topos[n].uppers[j] == WMAX)) {
- ok = 0;
- fprintf(stderr, "Border-matching invariant failed: In D%u, %u [%u - %u] borders %u [%u - %u]\n", j, i, topos[i].lowers[j],
- topos[i].uppers[j], n, topos[n].lowers[j], topos[n].uppers[j]);
- }
- } else {
- if (topos[n].lowers[j] != topos[i].uppers[j] && !(topos[n].lowers[j] == 0 && topos[i].uppers[j] == WMAX)) {
- ok = 0;
- fprintf(stderr, "Border-matching invariant failed: In D%u, %u [%u - %u] borders %u [%u - %u]\n", j, i, topos[i].lowers[j],
- topos[i].uppers[j], n, topos[n].lowers[j], topos[n].uppers[j]);
-
- }
- }
- }
- }
- }
- }
- if (!ok) {
- return 1;
- }
- return 0;
-}
-
-/**
- * Checks that all nodes we think are in the network really are
- */
-static int check_network_presence(toporesp_t* topos, int numkids) {
- int i;
- unsigned char ok = 1;
- for (i = 1; i <= numkids; i++) {
- if (shouldbein[i]) {
- if (topos[i].vol == 0) {
- ok = 0;
- fprintf(stderr, "%d is not in the network and should be!\n", i);
- }
- } else {
- if (topos[i].vol != 0) {
- ok = 0;
- fprintf(stderr, "%d is in the network and shouldn't be!\n", i);
- }
- }
- }
- if (!ok) {
- fprintf(stderr, "Network presence check failed!\n");
- return 1;
- }
- return 0;
-}
-
-typedef struct rellist_struct {
- mpi_id_t from;
- mpi_id_t to;
- numd_t dim;
- dir_t dirfromto;
- struct rellist_struct* next;
-} rellist_t;
-
-/**
- * Checks that all relationships are mutual. We like that.
- */
-static int check_neighbor_bidirectionality(toporesp_t* topos, int numkids) {
- int i;
- numd_t j;
- dir_t k;
- numneighbor_t l;
- rellist_t* unrequited = NULL;
- unsigned char ok = 1;
- for (i = 1; i <= numkids; i++) {
- if (topos[i].vol == 0) {
- /*
- * This node's not even part of the reality at all!
- */
- continue;
- }
- for (j = 0; j < NUM_DIMENSIONS; j++) {
- for (k = 0; k < 2; k++) {
- for (l = 0; l < topos[i].nn[j][k]; l++) {
- mpi_id_t neigh = topos[i].neigh[j][k][l];
- rellist_t* n = unrequited;
- rellist_t* prev = NULL;
- unsigned char found = 0;
- if (neigh == i) {
- fprintf(stderr, "%d borders itself!\n", i);
- ok = 0;
- continue;
- }
- while (n != NULL) {
- if (n->from == neigh && n->to == i && n->dim == j && n->dirfromto != k) {
- /*
- * We matched this relationship, so get it out of the list
- */
- found = 1;
- if (prev == NULL) {
- unrequited = unrequited->next;
- } else {
- prev->next = n->next;
- }
- free(n);
- break;
- }
- prev = n;
- n = n->next;
- }
- if (!found) {
- /*
- * Insert relationship into list
- */
- n = (rellist_t*)malloc(sizeof(rellist_t));
- n->from = i;
- n->to = neigh;
- n->dim = j;
- n->dirfromto = k;
- n->next = unrequited;
- unrequited = n;
- }
- }
- }
- }
- }
- if (unrequited != NULL) {
- rellist_t* n = unrequited;
- rellist_t* tmp;
- fprintf(stderr, "Bidirectional relationship invariant violated!\n");
- while (n != NULL) {
- fprintf(stderr, "%d -> %d in D%d (%d)\n", n->from, n->to, n->dim, n->dirfromto);
- tmp = n->next;
- free(n);
- n = tmp;
- }
- return 1;
- }
- return !ok;
-}
-
-/**
- * Check that a neighbor relationship which SHOULD be present, IS present
- */
-static int check_relationship_completeness(toporesp_t* topos, int numkids) {
- int i, j;
- numd_t k;
- dir_t l;
- numneighbor_t m;
- unsigned char ok = 1;
- for (i = 1; i <= numkids; i++) {
- for (j = 1; j <= numkids; j++) {
- if (i == j || topos[i].vol == 0 || topos[j].vol == 0) {
- /*
- * Don't check nodes against themselves or if they're not in the network
- */
- continue;
- }
- for (k = 0; k < NUM_DIMENSIONS; k++) {
- for (l = 0; l < 2; l++) {
- if (abuts(topos[i].lowers, topos[i].uppers, topos[j].lowers, topos[j].uppers, k, l)) {
- unsigned int found = 0;
- for (m = 0; m < topos[i].nn[k][l]; m++) {
- if (topos[i].neigh[k][l][m] == j) {
- found++;
- }
- }
- if (found != 1) {
- fprintf(stderr, "Bordering neighbor %d of %d in D%d (%d) found %d times!\n", j, i, k, l, found);
- ok = 0;
- }
- }
- }
- }
-
- }
- }
- if (!ok) {
- fprintf(stderr, "Neighbor relationship completeness check failed!\n");
- return 1;
- }
- return 0;
-}
-
-/**
- * Checks that all nodes' perceptions of their neighbors' sizes match up with what the neighbors
- * themselves think.
- */
-static int check_size_agreement(toporesp_t* topos, int numkids) {
- int i;
- numd_t j, m;
- dir_t k;
- numneighbor_t nn;
- unsigned char failed = 0;
- for (i = 1; i <= numkids; i++) {
- if (topos[i].vol == 0) {
- /*
- * No point quizzing nodes outside of the network on what their neighbors are like
- */
- continue;
- }
- for (j = 0; j < NUM_DIMENSIONS; j++) {
- for (k = 0; k < 2; k++) {
- for (nn = 0; nn < topos[i].nn[j][k]; nn++) {
- mpi_id_t nrank = topos[i].neigh[j][k][nn];
- for (m = 0; m < NUM_DIMENSIONS; m++) {
- if (topos[i].nlowers[j][k][nn][m] != topos[nrank].lowers[m] || topos[i].nuppers[j][k][nn][m] != topos[nrank].uppers[m]) {
- failed = 1;
- debug_print("Size agreement failure: %d thinks %d has %d-%d in D%d (%d), but really it has %d-%d\n", i, nrank,
- topos[i].nlowers[j][k][nn][m], topos[i].nuppers[j][k][nn][m], m, k, topos[nrank].lowers[m], topos[nrank].uppers[m]);
- }
- }
- }
- }
- }
- }
- if (failed) {
- debug_print("Size agreement assertion failed!\n");
- return 1;
- }
- return 0;
-}
-
-static data_t* client_data = NULL;
-
-/**
- * Checks that all data points returned by a node actually lie within that node's zone,
- * and that only the data we know about are within the network
- */
-static int check_data(numr_t rno, MPI_Comm wcomm, toporesp_t* topos, int numkids) {
- int i;
- data_t* d;
- unsigned char ok = 1;
- numd_t j;
- unsigned char dfound;
-
- char pfname[128];
- FILE* pf;
- dim_t x;
- dim_t y;
- /*
- * stepno-1 below because doplots has already run and incremented stepno
- */
- if (PLOTS) {
- snprintf(pfname, 128, "points-%d.dat", stepno - 1);
- } else {
- snprintf(pfname, 128, "points-%d.dat", stepno);
- }
- pf = fopen(pfname, "w");
- fprintf(pf, "x, y, data\n");
-
- for (i = 1; i <= numkids; i++) {
- dlen_t len;
- chash_t hash;
- dhtdata_start(rno, threadports[i]);
- while (1) {
- char* buf = dhtdata_get(threadports[i], &len, &hash);
- if (buf == NULL) {
- break;
- }
-
- for (j = 0; j < NUM_DIMENSIONS; j++) {
- dim_t dpos = dhtpos(rno, hash, j);
- if (dpos < topos[i].lowers[j] || dpos > topos[i].uppers[j]) {
- dim_t k;
- fprintf(stderr, "Data %x is out-of-bounds at node %d D%d: (", hash, i, j);
- for (k = 0; k < NUM_DIMENSIONS; k++) {
- fprintf(stderr, "%d", dhtpos(rno, hash, k));
- if (k < NUM_DIMENSIONS - 1) {
- fprintf(stderr, " , ");
- }
- }
- fprintf(stderr, ") vs. (");
- for (k = 0; k < NUM_DIMENSIONS; k++) {
- fprintf(stderr, "%d - %d", topos[i].lowers[k], topos[i].uppers[k]);
- if (k < NUM_DIMENSIONS - 1) {
- fprintf(stderr, " x ");
- }
- }
- fprintf(stderr, ")\n");
- ok = 0;
- }
- }
-
- if (PLOTS) {
- x = dhtpos(rno, hash, 0);
- y = dhtpos(rno, hash, 1);
- fprintf(pf, "%d, %d, %s\n", x, y, buf);
- }
- dfound = 0;
- d = client_data;
- while (d != NULL) {
- if (d->rno == rno && d->dlen == len && memcmp(buf, d->data, len) == 0) {
- d->seencount++;
- dfound = 1;
- }
- d = d->next;
- }
- if (!dfound) {
- fprintf(stderr, "Unknown data piece %x was in the network!\n", hash);
- ok = 0;
- }
- }
- }
-
- if (PLOTS) {
- fclose(pf);
- /*
- * Need to make sure this gets out to the disk
- */
- sync();
- }
-
- d = client_data;
- while (d != NULL) {
- if (d->rno == rno && d->seencount != 1) {
- debug_print("Data piece %x has been seen %d times!\n", d->hash, d->seencount);
- }
- d->seencount = 0;
- d = d->next;
- }
-
- if (!ok) {
- fprintf(stderr, "data invariant check failed!\n");
- return 1;
- }
- return 0;
-}
-
-/**
- * Records the topology of the entire network.
- *
- * This method queries each node in the network a minimum of two times: it will only return
- * when the entire network's topology is the same two times in a row.
- *
- * @param rno The reality in which to conduct the query
- * @param numkids The maximum MPI rank to query
- * @param wcomm The DHT MPI communicator
- * @return An array of toporesp_t objects, the first element of which is garbage
- */
-static toporesp_t* gettopos(numr_t rno, int numkids, MPI_Comm wcomm) {
- int i;
- toporesp_t ttmp;
- unsigned int passesok = 1;
- /*
- * The below is 1 unit too big because 0 is a placeholder
- */
- toporesp_t* topos = (toporesp_t*)malloc(sizeof(toporesp_t) * (numkids + 1));
- for (i = 1; i <= numkids; i++) {
- topos[i] = dhttopo(rno, threadports[i], stepno);
- }
- /*
- * Keep passing here until we get the exact same results two times in a row
- */
- while (passesok < NUM_TOPO_PASSES) {
- unsigned char ok = 1;
- usleep(3000); /* Sleep to improve odds of network final stability and decrease odds of false positives */
- for (i = 1; i <= numkids; i++) {
- debug_print("topochecking %d\n", i);
- ttmp = dhttopo(rno, threadports[i], stepno);
- if (memcmp(&ttmp, &topos[i], sizeof(toporesp_t)) != 0) {
- ok = 0;
- /*
- * Cannot break here because of assignment below, unfortunately
- */
- }
- topos[i] = ttmp;
- }
- if (ok) {
- passesok++;
- } else {
- passesok = 1;
- debug_print("topocheck failed\n");
- }
- }
- return topos;
-}
-
-static int check_invariants(const char* lastcommand, MPI_Comm wcomm, int numkids, numr_t rno) {
- unsigned char ok = 1;
- int i;
- numd_t j;
- dir_t k;
-
- debug_print("Checking invariants step %d\n", stepno);
-
- if (PLOTS && CHECKSTEP) {
- doplots(lastcommand, topos, numkids);
- }
- if (check_network_presence(topos, numkids)) {
- ok = 0;
- }
- if (check_neighbor_bidirectionality(topos, numkids)) {
- ok = 0;
- }
- if (check_relationship_completeness(topos, numkids)) {
- ok = 0;
- }
- if (check_size_agreement(topos, numkids)) {
- ok = 0;
- }
- if (check_matching_borders(topos, numkids)) {
- ok = 0;
- }
- if (check_data(rno, wcomm, topos, numkids)) {
- ok = 0;
- }
-
- if (!ok) {
- for (i = 1; i <= numkids; i++) {
- toporesp_t* t = &topos[i];
- if (t->vol == 0) {
- fprintf(stderr, "%d NOT CONNECTED\n", i);
- } else {
- for (j = 0; j < NUM_DIMENSIONS; j++) {
- for (k = 0; k < 2; k++) {
- numneighbor_t l;
- for (l = 0; l < t->nn[j][k]; l++) {
- fprintf(stderr, "%d borders %d along edge D%d(%d)\n", i, t->neigh[j][k][l], j, k);
- }
- }
- }
- }
- }
- }
-
- return !ok;
-}
-
-/**
- * Writes out a trace of the path the last request took to its destination, for later analysis
- */
-static void gettrace() {
- mpi_id_t rank = 1;
- numd_t dim;
- dir_t dir;
- char fname[128];
- FILE* f;
- snprintf(fname, 128, "path-%d.dat", stepno);
- f = fopen(fname, "w");
- fprintf(f, "rank, dim, dir\n");
- while (rank != 0) {
- rank = dhtpathel(&dim, &dir);
- if (rank == 0) {
- break;
- }
- fprintf(f, "%d, %d, %d\n", rank, dim, dir);
- }
- fclose(f);
-}
-
-/**
- * Main handler for the DHT
- */
-static int dodht(int argc, char** argv) {
- int rank;
- mpi_id_t i;
- int* errs;
- MPI_Comm parent;
- MPI_Comm childcomm;
- MPI_Comm uscomm;
- char buf[1024];
- unsigned char isroot;
- ckey_t key;
- toporesp_t t;
- int rrank, orank;
- int j, k;
- char dat[1024];
- struct sockaddr_in remaddr;
- int sock, consock;
- FILE* f;
- unsigned char skipcheck;
- int sz;
-
- if (argc > 1) {
- int numkids = atoi(argv[1]);
- DHTKIDS = numkids;
- }
-
- MPI_Comm_size(MPI_COMM_WORLD, &sz);
- if (sz < DHTKIDS + 1) {
- MPI_Comm_get_parent(&parent);
- if (parent == MPI_COMM_NULL) {
- /* I'm/we're the first */
- char mexe[PATH_MAX];
- int tmprank;
-
- if (get_self_executable(mexe, PATH_MAX)) {
- return 1;
- }
- /* debug_print("Spawning...\n"); */
- MPI_Comm_rank(MPI_COMM_WORLD, &tmprank);
- if (tmprank == 0) {
- debug_print("%d node(s) spawning %d children...\n", sz, DHTKIDS + 1 - sz);
- }
- errs = (int*)malloc(sizeof(int) * (DHTKIDS + 1 - sz));
- MPI_Comm_spawn(mexe, MPI_ARGV_NULL, DHTKIDS + 1 - sz, MPI_INFO_NULL, 0, MPI_COMM_WORLD, &childcomm, errs);
- free(errs);
- /* debug_print("Spawned, trying to merge...\n"); */
- MPI_Intercomm_merge(childcomm, 0, &uscomm);
- } else {
- if (USEWORLD) {
- MPI_Intercomm_merge(parent, 1, &uscomm);
- }
- }
- } else {
- if (USEWORLD) {
- MPI_Comm_dup(MPI_COMM_WORLD, &uscomm);
- }
- }
-
- MPI_Comm_rank(uscomm, &rank);
-
- if (rank == 0) {
- isroot = 1;
- } else {
- isroot = 0;
- }
-
- debug_print("Rank %d enter (%d)\n", rank, isroot);
-
- if (isroot) {
- /* Control node */
- struct sockaddr_in addr;
- socklen_t len;
-
- buf[0] = 'I';
- buf[1] = 'N';
- buf[2] = 'I';
- buf[3] = 'T';
- buf[4] = 'I';
- buf[5] = 'A';
- buf[6] = 'L';
- buf[7] = '\0';
-
- threadports = (mpir_t**)malloc(sizeof(mpir_t*) * DHTKIDS);
- topos = (toporesp_t*)malloc(sizeof(toporesp_t) * DHTKIDS);
- shouldbein = (unsigned char*)malloc(sizeof(unsigned char) * DHTKIDS);
-
- if (USEWORLD) {
- open_node(0, uscomm);
- } else {
- open_node(0, MPI_COMM_NULL);
- }
-
- if (DEBUG) {
- for (i = 1; i <= DHTKIDS; i++) {
- debug_print("Activating %d\n", i);
- if (i == 1) {
- sleep(20);
- }
- MPI_Send(&i, sizeof(mpi_id_t), MPI_BYTE, i, 0, uscomm);
- threadports[i] = get_other_node(i);
- debug_print("Port identified: %s\n", threadports[i]->name);
- shouldbein[i] = 1;
- if (CHECKSTARTUP) {
- topos = gettopos(0, i, uscomm);
- if (check_invariants(buf, uscomm, i, 0)) {
- fprintf(stderr, "Invariant checks failed!\n");
- return 1;
- } else {
- debug_print("INVARIANTS OK\n");
- }
- }
- }
- skipcheck = 1;
- } else {
- for (i = 1; i <= DHTKIDS; i++) {
- threadports[i] = get_other_node(i);
- if (CHECKEND || CHECKSTEP) {
- shouldbein[i] = 1;
- }
- }
- }
- if (LISTEN) {
- addr.sin_family = AF_INET;
- addr.sin_port = htons(6666);
- addr.sin_addr.s_addr = inet_addr("127.0.0.1");
-
- len = sizeof(remaddr);
- sock = socket(AF_INET, SOCK_STREAM, 0);
- if (sock < 0) {
- perror("socket");
- return 1;
- }
- if (bind(sock, (struct sockaddr*)&addr, sizeof(addr)) == -1) {
- perror("bind");
- return 1;
- }
- if (listen(sock, 5) == -1) {
- perror("listen");
- return 1;
- }
- consock = accept(sock, (struct sockaddr*)&remaddr, &len);
- if (consock == -1) {
- perror("accept");
- return 1;
- }
- } else {
- f = fopen("commands.txt", "r");
- if (f == NULL) {
- perror("fopen commands.txt");
- return 1;
- }
- }
-
- while (1) {
- int numread;
- if (CHECKSTEP) {
- if (!skipcheck) {
- topos = gettopos(0, DHTKIDS, uscomm);
- if (check_invariants(buf, uscomm, DHTKIDS, 0)) {
- fprintf(stderr, "Invariant checks failed!\n");
- return 1;
- } else {
- debug_print("INVARIANTS OK\n");
- }
- } else {
- skipcheck = 0;
- debug_print("Invariants not checked\n");
- }
- } else {
- if (PLOTS && !PLOTATEND) {
- topos = gettopos(0, DHTKIDS, uscomm);
- doplots(buf, topos, DHTKIDS);
- free(topos);
- }
- }
- if (LISTEN) {
- numread = read(consock, buf, 1024);
- if (numread <= 0) {
- perror("read");
- for (i = 1; i <= DHTKIDS; i++) {
- while (dhtquit(threadports[i]))
- ;
- }
- break;
- }
- buf[numread - 2] = '\0';
- } else {
- if (fgets(buf, 1024, f) == NULL) {
- if ((PLOTATEND || CHECKEND) && !CHECKSTEP) {
- topos = gettopos(0, DHTKIDS, uscomm);
- if (CHECKEND) {
- check_invariants("END", uscomm, DHTKIDS, 0);
- }
- }
- for (i = 1; i <= DHTKIDS; i++) {
- dhtquit(threadports[i]);
- }
- break;
- }
- }
- /* debug_print("Read %d/%d: \"%s\"\n", numread, strlen(buf), buf); */
- if (strncasecmp("quit", buf, strlen(buf)) == 0) {
- if ((PLOTATEND || CHECKEND) && !CHECKSTEP) {
- topos = gettopos(0, DHTKIDS, uscomm);
- if (CHECKEND) {
- check_invariants("END", uscomm, DHTKIDS, 0);
- }
- }
- for (i = 1; i <= DHTKIDS; i++) {
- dhtquit(threadports[i]);
- }
- break;
- }
- if (strncasecmp("topo", buf, strlen(buf)) == 0) {
- for (i = 1; i <= DHTKIDS; i++) {
- t = dhttopo(0, threadports[i], stepno);
- if (t.vol == 0) {
- fprintf(stderr, "Rank %u NOT CONNECTED\n", i);
- } else {
- fprintf(stderr, "Rank %u has volume %lu (", i, t.vol);
- for (j = 0; j < NUM_DIMENSIONS; j++) {
- fprintf(stderr, "%u-%u", t.lowers[j], t.uppers[j]);
- if (j < NUM_DIMENSIONS - 1) {
- fprintf(stderr, " x ");
- }
- }
- fprintf(stderr, ")\n");
- }
- }
-
- skipcheck = 1;
- continue;
- }
- if (strncasecmp("neigh", buf, strlen(buf)) == 0) {
- for (i = 1; i <= DHTKIDS; i++) {
- t = dhttopo(0, threadports[i], stepno);
- if (t.vol == 0) {
- fprintf(stderr, "%u NOT CONNECTED\n", i);
- } else {
- for (j = 0; j < NUM_DIMENSIONS; j++) {
- for (k = 0; k < 2; k++) {
- numneighbor_t l;
- for (l = 0; l < t.nn[j][k]; l++) {
- fprintf(stderr, "%u borders %u along edge D%u(%u)\n", i, t.neigh[j][k][l], j, k);
- }
- }
- }
- }
- }
- skipcheck = 1;
- continue;
- }
- if (sscanf(buf, "store %x %s", &key, dat) == 2) {
- data_t* d;
- if (DEBUG) {
- d = (data_t*)malloc(sizeof(data_t));
- d->rno = 0;
- d->dlen = strlen(dat);
- d->hash = key;
- d->next = client_data;
- d->seencount = 0;
- memcpy(d->data, dat, d->dlen);
- client_data = d;
- }
- dhtstore(key, dat, strlen(dat), threadports[1]);
- continue;
- }
- if (sscanf(buf, "lookup %x", &key) == 1) {
- char ret[MAX_DATA_LEN + 1];
- dlen_t numret = dhtlookup(key, threadports[1], ret);
- if (numret == 0) {
- fprintf(stderr, "DATA NOT FOUND\n");
- } else {
- fprintf(stderr, "%s\n", ret);
- }
- if (PLOTS && (DEBUG || CHECKEND || CHECKSTEP)) {
- gettrace();
- }
- continue;
- }
-
- if (sscanf(buf, "leave %d", &rrank) == 1) {
- dhtleave(0, threadports[rrank]);
- shouldbein[rrank] = 0;
- continue;
- }
-
- if (sscanf(buf, "join %d %d", &rrank, &orank) == 2) {
- while (dhtjoin(0, threadports[rrank], threadports[orank]))
- ;
- shouldbein[rrank] = 1;
- continue;
- }
- }
- if (LISTEN) {
- close(consock);
- close(sock);
- }
- if (PLOTATEND && !CHECKSTEP) {
- doplots("END", topos, DHTKIDS);
- }
- } else {
- MPI_Status status;
- if (DEBUG) {
- MPI_Recv(&rank, sizeof(mpi_id_t), MPI_BYTE, 0, 0, uscomm, &status);
- } else {
- MPI_Comm_rank(uscomm, &rank);
- }
- debug_print("Rank %d activated\n", rank);
- if (USEWORLD) {
- open_node(rank, uscomm);
- } else {
- open_node(rank, MPI_COMM_NULL);
- }
- if (rank == 1) {
- dhtinit(0, NULL);
- } else {
- mpir_t* tmp;
- int jrank = (rand() % (rank - 1)) + 1;
- tmp = get_other_node(jrank);
- dhtinit(0, tmp);
- }
- while (!dhtprocess())
- ;
- }
- return 0;
-}
-
-int main(int argc, char** argv) {
- int provided;
- if (USEWORLD) {
- if (MPI_Init(&argc, &argv) != MPI_SUCCESS) {
- return 1;
- }
- } else {
- if (MPI_Init_thread(&argc, &argv, MPI_THREAD_MULTIPLE, &provided) != MPI_SUCCESS) {
- return 1;
- }
- if (provided != MPI_THREAD_MULTIPLE) {
- fprintf(stderr, "MPI does not provide threading support!\n");
- return 1;
- }
- }
-
- if (dodht(argc, argv)) {
- MPI_Abort(MPI_COMM_WORLD, 1);
- }
-
- MPI_Finalize();
- return 0;
-}
diff --git a/oldcode/src/can/cmpi_can.c b/oldcode/src/can/cmpi_can.c
deleted file mode 100644
index 1433596..0000000
--- a/oldcode/src/can/cmpi_can.c
+++ /dev/null
@@ -1,206 +0,0 @@
-
-
-#include "cmpi_can.h"
-
-/**
- List of DHT nodes this client officially knows about.
-*/
-struct inlist* contacts;
-
-/**
- List of faulty nodes. We must kill these specially at shutdown.
-*/
-struct inlist* faulty;
-
-void
-CAN_Read_params(void)
-{
- char* nodes_msg = cmpi_params_search("nodes");
- int n = sscanf(nodes_msg, "%i", &kda_nodes);
- assert(n == 1);
-}
-
-CMPI_RETURN
-cmpi_init_impl()
-{
- // NOTE_F;
-
- CAN_Read_params();
-
- // dhtinit(); ?
-
- return CMPI_SUCCESS;
-}
-
-CMPI_RETURN
-cmpi_init_impl_client()
-{
- int i;
- CAN_Read_params();
-
- contacts = inlist_create();
- faulty = inlist_create();
-
- for (i = 0; i < kda_nodes; i++)
- {
- // NOTE_I("contact: ", i);
- inlist_add(contacts, i);
- }
-
- // dht???
-
- return CMPI_SUCCESS;
-}
-
-int
-convert_id_to_rank(CMPI_ID id)
-{
- return 0;
-}
-
-/**
- @return The MPI rank closest to the given key.
-*/
-CMPI_ID
-cmpi_lookup(char* key)
-{
- NOTE_FS(key);
-
- int result = -1;
-
- int i = inlist_random(contacts);
- result = CAN_Lookup(i, key);
-
-
- printf("cmpi_lookup()@%i -> %i \n", i, result);
-
- return result;
-}
-
-CMPI_ID
-cmpi_translate(CMPI_ID id)
-{
- int i = inlist_random(contacts);
-
- int result = -1;
- result = CAN_Translate(i, (KDA_ID) id);
-
- return result;
-}
-
-CMPI_RETURN
-cmpi_put(char* key, char* value)
-{
- struct inlist_item* item;
- NOTE_FSS(key, value);
-
- CAN_Lookup(i, key);
-
- struct inlist* ranks;
-
- for (item = ranks->head;
- item; item = item->next)
- {
- CAN_Store(item->data, key, value);
- }
-
- inlist_free(ranks);
-
- return 0;
-}
-
-
-/**
- This method has additional fault-handling cases for test/paper1/test02.
-*/
-CMPI_RETURN
-cmpi_get(char* key, char** value)
-{
- NOTE_FS(key);
- bool lookup_success = false;
- bool get_success = false;
-
- MPIRPC* lookup;
- int loops = 0;
- int result;
- while (! lookup_success)
- {
- int i = inlist_random(contacts);
- result = CAN_Lookup_k(i, key);
-
- if (++loops > ilog2(nodes))
- {
- NOTE("FAULT: Too many loops!");
- break;
- }
- }
-
- struct inlist* ranks;
-
- struct inlist_item* item;
- for (item = ranks->head;
- item; item = item->next)
- {
- CAN_Retrieve(item->data, key);
- if (status == FAULT)
- {
- NOTE("FAULT: Could not KDA_Retrieve()!");
- }
- else
- {
- NOTE("OK: KDA_Retrieve().");
- *value = result;
- get_success = true;
- }
- }
- inlist_free(ranks);
-
- if (! get_success)
- return CMPI_ERROR_NEIGHBORS;
-
- return CMPI_SUCCESS;
-}
-
-/**
- Calls emulate_fault p random nodes.
-*/
-void
-cmpi_emulate_faults(int p)
-{
- NOTE_F;
-
- int r = rand();
- for ( ; p > 0; p--)
- {
- int other_rank;
- do
- {
- other_rank = rand_lt(mpi_rank);
- } while (inlist_contains(faulty, other_rank));
- inlist_add(faulty, other_rank);
-
- // Cause fault on rank r
- }
-}
-
-void
-
-cmpi_shutdown()
-{
- NOTE_F;
-
- cmpi_quitting = true;
- int r = rand();
- while (contacts->size > 0)
- {
- int i = inlist_poll(contacts);
- // Call quit on r
- }
-
- while (faulty->size > 0)
- {
- int i = inlist_poll(faulty);
- // Kill i
- }
- inlist_free(faulty);
-}
diff --git a/oldcode/src/can/cmpi_can.h b/oldcode/src/can/cmpi_can.h
deleted file mode 100644
index 2b21f68..0000000
--- a/oldcode/src/can/cmpi_can.h
+++ /dev/null
@@ -1,2 +0,0 @@
-
-#include <cmpi.h>
diff --git a/oldcode/src/can/helper.c b/oldcode/src/can/helper.c
deleted file mode 100644
index 16d88dc..0000000
--- a/oldcode/src/can/helper.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/** @file
- * Contains functions for the connection-accepting helper thread
- */
-
-#include <string.h>
-#include <stdio.h>
-#include <pthread.h>
-#include "can_private.h"
-
-/**
- * The helper thread which just accepts connections
- */
-static pthread_t helperthread;
-
-/**
- * Accepts a single connection from anyone and adds it to the list
- *
- * This function should only be called within the helper thread if not using IACCEPT mode. If you ARE using IACCEPT mode,
- * then this function may or may not actually add a neighbor to the list, but will return either way.
- */
-void accept_any_connection() {
- mpi_id_t orank;
- MPI_Comm ocomm;
- mpi_id_t id;
- mpiport_t name;
- MPI_Status status;
-
- if (IACCEPT) {
- MPI_Comm_Iaccept(realmport, MPI_INFO_NULL, 0, 1, MPI_COMM_SELF, &ocomm);
- if (ocomm == MPI_COMM_NULL) {
- return;
- }
- } else {
- MPI_Comm_accept(realmport, MPI_INFO_NULL, 0, MPI_COMM_SELF, &ocomm);
- }
-
- MPI_Recv(&id, sizeof(mpi_id_t), MPI_BYTE, MPI_ANY_SOURCE, MTYPE_COMMEST, ocomm, &status);
-
- orank = status.MPI_SOURCE; /* This WILL be rank 0, but we need their service name anyhow, so why not use the status? */
- strcpy(name, rank_to_name(id));
- debug_print("%s accepted communication with %s (ID %d)\n", mname, name, id);
- insert_new_conn(name, id, orank, 1, ocomm);
- return;
-}
-
-/**
- * Just causes the helper thread to loop and call accept_any_connection
- */
-static void* helper_thread_main(void* notused) {
- while (1) {
- accept_any_connection();
- }
- return NULL;
-}
-
-/**
- * Creates a helper thread which justs runs MPI_Comm_accept endlessly
- *
- * @return 0 on success, nonzero on failure
- */
-unsigned char create_helper_thread() {
- if (pthread_create(&helperthread, NULL, helper_thread_main, NULL)) {
- perror("pthread_create");
- return 1;
- }
- return 0;
-}
diff --git a/oldcode/src/can/iaccept.c b/oldcode/src/can/iaccept.c
deleted file mode 100644
index d345dc0..0000000
--- a/oldcode/src/can/iaccept.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/** @file
- * Contains a nonblock wrapper around the MPI_Comm_accept method.
- */
-#include <setjmp.h>
-#include <signal.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-#include <mpi.h>
-
-static unsigned char iaccept_ready = 0;
-static jmp_buf iaccept_escape;
-static sigset_t iaccept_sigset;
-static struct sigaction iaccept_action;
-
-static void iaccept_handler(int i) {
- sigprocmask(SIG_UNBLOCK, &iaccept_sigset, NULL);
- longjmp(iaccept_escape, 1);
-}
-
-static void iaccept_init() {
- /* Set up SIG_UNBLOCK operation... */
- sigemptyset(&iaccept_sigset);
- sigaddset(&iaccept_sigset, SIGALRM);
-
- /* Set up signal action... */
- iaccept_action.sa_handler = iaccept_handler;
- iaccept_action.sa_flags = 0;
- sigemptyset(&iaccept_action.sa_mask);
- sigaction(SIGALRM, &iaccept_action, NULL);
-
- iaccept_ready = 1;
-}
-
-/**
- * Limited duration accept method.
- *
- * @return MPI_ERR_OTHER and sets newcomm=MPI_COMM_NULL if there was no connection.
- */
-int MPI_Comm_Iaccept(char* port, MPI_Info info, int root, int timeout, MPI_Comm comm, MPI_Comm* newcomm) {
- int result;
-
- if (!iaccept_ready) iaccept_init();
-
- /* Handle exception: */
- if (setjmp(iaccept_escape)) {
- *newcomm = MPI_COMM_NULL;
- return MPI_ERR_OTHER;
- }
-
- /* Execute and return normal accept()... */
- alarm(timeout);
- result = MPI_Comm_accept(port, info, 0, comm, newcomm);
- alarm(0);
-
- return result;
-}
diff --git a/oldcode/src/can/module.mk.in b/oldcode/src/can/module.mk.in
deleted file mode 100644
index 0829951..0000000
--- a/oldcode/src/can/module.mk.in
+++ /dev/null
@@ -1,14 +0,0 @@
-
-DIR = src/can
-
-ifeq (@USE_TABLE_CAN_1@,1)
- CAN_SRC += $(DIR)/can.c
- CAN_SRC += $(DIR)/canclient.c
- CAN_SRC += $(DIR)/cmpi_can.c
- CAN_SRC += $(DIR)/can_util.c
- CAN_SRC += $(DIR)/helper.c
- CAN_SRC += $(DIR)/iaccept.c
- CAN_SRC += $(DIR)/neighbor.c
- CAN_SRC += $(DIR)/recv.c
- CAN_SRC += $(DIR)/send.c
-endif
diff --git a/oldcode/src/can/neighbor.c b/oldcode/src/can/neighbor.c
deleted file mode 100644
index 975c827..0000000
--- a/oldcode/src/can/neighbor.c
+++ /dev/null
@@ -1,345 +0,0 @@
-/** @file
- * Functions for manipulating neighbors
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include "can_private.h"
-
-/**
- * Our neighbor list table (yes, that's confusing wording)
- * The [2] on the end is because in each dimension there's both a "forward" and a "backward" neighbor
- * Remember that we may have multiple neighbors in each dimension, which is why this is an nlist_t*.
- */
-nlist_t* neighbors[MAX_REALITIES][MAX_DIMENSIONS][2];
-
-/**
- * Marks a node as "dead", indicating that we shouldn't attempt to communicate with it
- *
- * @param node The node that's down
- */
-void mark_node_dead(mpir_t* node) {
- node->failed = 1;
-}
-
-/**
- * Marks a node as "alive", indicating that it's OK
- *
- * @param node The node that's up
- */
-void mark_node_alive(mpir_t* node) {
- node->failed = 0;
-}
-
-/**
- * Removes a neighbor from our list in a given reality, dimension, and direction
- *
- * @param neigh The node to remove
- * @param rno The reality in which to remove the node
- * @param dim The dimension in which to remove the node
- * @param dir The direction from which to remove the node
- */
-void remove_neighbor(mpir_t* neigh, numr_t rno, numd_t dim, dir_t dir) {
- nlist_t* prev = NULL;
- nlist_t* n = neighbors[rno][dim][dir];
- while (n != NULL) {
- if (n->neighbor->id == neigh->id) {
- if (prev == NULL) {
- nlist_t* tmp = neighbors[rno][dim][dir]->next;
- free_n(n);
- neighbors[rno][dim][dir] = tmp;
- n = tmp;
- } else {
- nlist_t* tmp = n->next;
- prev->next = tmp;
- free_n(n);
- n = tmp;
- }
- /*
- * continue instead of return for bug triage - what if we get the same neighbor twice?
- */
- continue;
- }
- prev = n;
- n = n->next;
- }
-}
-
-/**
- * Updates information (dimensions and version) of a neighbor, regardless of where they appeared
- *
- * This will insert the connection into our list if it wasn't found
- *
- * @param rno The reality in which to update the neighbor
- * @param node A temporary node object containing information on the neighbor we want to update
- * @param updated If non-NULL, this will be nonzero after the call if the neighbor was changed
- * @param source The information's source, or NULL for unknown
- *
- * @return A usable node object for the updated (or newly created) neighbor
- */
-mpir_t* update_neighbor_info(numr_t rno, mpir_t* node, unsigned char* updated, mpir_t* source) {
- connlist_t* c;
- mpir_t* ret;
- numd_t j;
- unsigned char found = 0;
- unsigned char allzeros = 1;
- if (updated != NULL) {
- *updated = 0;
- }
- if (node->id == mid) {
- /*
- * Someone passed us info on ourself - ignore it except to tell them if they're out of date
- */
- if (node->nver < mver) {
- send_one_neighbor_message(rno, NULL, source);
- }
- return NULL;
- }
- if (node->id == 0) {
- /*
- * Zero is the magical "nobody" value
- */
- return NULL;
- }
- lock_connection_list();
- c = conns;
- while (c != NULL) {
- if (c->n.id == node->id) {
- if (c->n.nver < node->nver) {
- if (updated != NULL) {
- *updated = 1;
- }
- memcpy(c->n.lowers, node->lowers, sizeof(dim_t) * NUM_DIMENSIONS);
- memcpy(c->n.uppers, node->uppers, sizeof(dim_t) * NUM_DIMENSIONS);
- c->n.nver = node->nver;
- debug_print("%s updated to #%d on %s\n", node->name, node->nver, mname);
- } else {
- debug_print("Update to neighbor %s ignored on %s because version %d was not newer than %d\n", c->n.name, mname, node->nver, c->n.nver);
- if (c->n.nver > node->nver) {
- send_one_neighbor_message(rno, &c->n, source);
- }
- }
- ret = &c->n;
- unlock_connection_list();
- found = 1;
- break;
- }
- c = c->next;
- }
- /*
- * We need to insert this new connection
- */
- if (!found) {
- if (updated != NULL) {
- *updated = 1;
- }
- c = (connlist_t*)malloc(sizeof(connlist_t));
- c->next = conns;
- memcpy(&c->n, node, sizeof(mpir_t));
- if (mcomm == MPI_COMM_NULL) {
- c->n.commest = 0;
- } else {
- c->n.commest = 1;
- c->n.comm = mcomm;
- }
- c->n.waiting = NULL;
- c->n.waitinglast = NULL;
- strcpy(c->n.name, rank_to_name(c->n.id));
- ret = &c->n;
- conns = c;
- unlock_connection_list();
- debug_print("%s #%d inserted on %s\n", ret->name, ret->nver, mname);
- }
- for (j = 0; j < NUM_DIMENSIONS; j++) {
- if (ret->lowers[j] != 0 || ret->uppers[j] != 0) {
- allzeros = 0;
- break;
- }
- }
- if (allzeros) {
- /*
- * This neighbor's dimensions have been updated to be [0,0]. Remove it from our neighbor lists.
- */
- dir_t k;
- for (j = 0; j < NUM_DIMENSIONS; j++) {
- for (k = 0; k < 2; k++) {
- remove_neighbor(ret, rno, j, k);
- }
- }
- }
- return ret;
-}
-
-/**
- * Forces updating a neighbor's dimensions even when we haven't actually received any information from them
- *
- * This will bump the version we've recorded for the neighbor by 1, so that newer info from the neighbor itself
- * will override what we suppose here.
- *
- * @param node The node whose dimensions we're updating
- * @param rno The reality in which to change the neighbor dimensions
- * @param nlowers The node's new lower bounds (one dim_t per dimension)
- * @param nuppers The node's new upper bounds
- */
-void update_neighbor_dimensions(mpir_t* node, numr_t rno, dim_t* nlowers, dim_t* nuppers) {
- numd_t i;
- mpir_t tmp;
- memcpy(&tmp, node, sizeof(mpir_t));
- tmp.nver = node->nver+1; /* We need this bump to take effect, but not outstrip legitimately-newer info */
- memcpy(&tmp.lowers, nlowers, sizeof(dim_t) * NUM_DIMENSIONS);
- memcpy(&tmp.uppers, nuppers, sizeof(dim_t) * NUM_DIMENSIONS);
- debug_print("%s updating %s to %d: ", mname, node->name, tmp.nver);
- for (i = 0; i < NUM_DIMENSIONS; i++) {
- debug_print("%d - %d", tmp.lowers[i], tmp.uppers[i]);
- if (i < NUM_DIMENSIONS-1) {
- debug_print(" x ");
- }
- }
- debug_print("\n");
- update_neighbor_info(rno, &tmp, NULL, NULL);
-}
-
-/**
- * Helper for insert_new_conn
- *
- * When this function returns, the connection-list lock will NOT be held by the calling thread
- *
- * @see insert_new_conn
- * @param lockheld Whether the connection-list lock is held before calling this function
- * @param oname As insert_new_conn
- * @param id As insert_new_conn
- * @param orank As insert_new_conn
- * @param commest As insert_new_conn
- * @param ocomm As insert_new_conn
- */
-static mpir_t* insert_new_conn_helper(char* oname, mpi_id_t id, mpi_id_t orank, unsigned char commest, MPI_Comm ocomm, unsigned char lockheld) {
- connlist_t* c;
- mpir_t* ret;
-
- if (id == mid) {
- /*
- * Let's NOT do this.
- */
- return NULL;
- }
-
- if (!lockheld) {
- lock_connection_list();
- }
-
- c = conns; /* Resist the temptation to put this above the mutex grab */
- while (c != NULL) {
- if (c->n.id == id) {
- if (commest) {
- c->n.commest = 1;
- c->n.rank = orank;
- c->n.comm = ocomm;
- }
- ret = &c->n;
- unlock_connection_list();
- return ret;
- }
- c = c->next;
- }
- c = (connlist_t*)malloc(sizeof(connlist_t));
- c->next = conns;
- c->n.rank = orank;
- c->n.commest = commest;
- c->n.comm = ocomm;
- c->n.nver = 0;
- c->n.id = id;
- c->n.failed = 0;
- c->n.waiting = NULL;
- c->n.waitinglast = NULL;
- strcpy(c->n.name, oname);
- conns = c;
- debug_print("%s added connection %s to its list\n", mname, oname);
- ret = &conns->n;
- unlock_connection_list();
- return ret;
-}
-
-/**
- * Inserts information on a node into our list. This is NOT related to the neighbor table.
- *
- * This will happily insert a node with id 0, but will not insert a copy of ourself.
- *
- * @param oname The service name of the new node
- * @param id The unique ID of the new node
- * @param orank The rank of the node in the communicator (only used if commest is true)
- * @param commest Nonzero if and only if we've established a communicator with the node already
- * @param ocomm Communicator we have open (only used if commest is true)
- *
- * @return The new node we inserted, or NULL if we chose not to (invalid input)
- */
-mpir_t* insert_new_conn(char* oname, mpi_id_t id, mpi_id_t orank, unsigned char commest, MPI_Comm ocomm) {
- return insert_new_conn_helper(oname,id,orank,commest,ocomm,0);
-}
-
-/**
- * Gets the neighbor having the passed ID from our list
- *
- * This function will not create a node object if it didn't already exist
- *
- * @param id The unique ID of the node whose object we want
- * @return A node object representing the requested neighbor, or NULL if we didn't have it
- */
-mpir_t* get_neighbor_with_id(mpi_id_t id) {
- connlist_t* c;
- mpir_t* ret = NULL;
- lock_connection_list();
- c = conns;
- while (c != NULL) {
- if (c->n.id == id) {
- ret = &c->n;
- break;
- }
- c = c->next;
- }
- unlock_connection_list();
- return ret;
-}
-
-
-/**
- * When we already have an mpir_t object, this will insert it into the neighbor list in a particular dimension/direction
- *
- * This will NOT insert a neighbor with id==0. It will also NOT insert copies of the current node (no node should border itself)
- *
- * @param neigh The neighbor to put into the list
- * @param rno The reality in which we should border the neighbor
- * @param dim The dimension in which we should border the neighbor
- * @param dir The direction in which we should border the neighbor
- * @return 0 if we already had the neighbor in the given list, nonzero if it was really inserted
- */
-unsigned char insert_neighbor(mpir_t* neigh, numr_t rno, numd_t dim, dir_t dir) {
- nlist_t* n;
- if (neigh->id == mid) {
- /*
- * Let's NOT insert ourselves into our neighbor list
- */
- return 0;
- }
- /*
- * This function iterates so that we can avoid inserting the same neighbor twice in the same list
- */
- n = neighbors[rno][dim][dir];
- while (n != NULL) {
- if (n->neighbor->id == neigh->id) {
- /*
- * We already had this neighbor in this list
- */
- return 0;
- }
- n = n->next;
- }
- n = (nlist_t*)malloc(sizeof(nlist_t));
- n->neighbor = neigh;
- n->next = neighbors[rno][dim][dir];
- neighbors[rno][dim][dir] = n;
- debug_print("%s inserting neighbor %s in R%d,D%d (%d)\n", mname, neigh->name, rno, dim, dir);
- print_neighbor("postinsert", n->neighbor);
- return 1;
-}
diff --git a/oldcode/src/can/recv.c b/oldcode/src/can/recv.c
deleted file mode 100644
index ea3455e..0000000
--- a/oldcode/src/can/recv.c
+++ /dev/null
@@ -1,194 +0,0 @@
-/** @file
- * Functions for receiving information from another node
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "can_private.h"
-
-/**
- * When we need to receive a message from a certain node, we have to wait for them to establish communications with us.
- *
- * This message busy-waits until our helper thread has confirmed that the other node has established a communicator for us to use.
- *
- * @param m The node from which we want to issue a receive
- */
-static void wait_for_port_open(mpir_t* m) {
- debug_print("%s waiting for %s to open communications\n", mname, m->name);
- while (1) {
- if (m->commest) {
- /*
- * We're done waiting!
- */
- return;
- }
- wait_a_while();
- }
-}
-
-void take_waiting_messages(mpir_t* n, mpit_t tag) {
- MPI_Status status;
- int flag;
-
- if (!n->commest) {
- wait_for_port_open(n);
- }
-
- MPI_Iprobe(n->rank, MPI_ANY_TAG, n->comm, &flag, &status);
-
- /*
- * We'll take any message except COMMEST and put it into our "received" list
- */
- if (flag && status.MPI_TAG == MTYPE_COMMEST) {
- debug_print("%s got waiting COMMEST from %s!\n", mname, n->name);
- return;
- }
- if (flag) {
- waitmsg_t* newmsg = (waitmsg_t*)malloc(sizeof(waitmsg_t));
- newmsg->next = NULL;
- newmsg->tag = status.MPI_TAG;
- MPI_Get_count(&status, MPI_BYTE, &newmsg->mlen);
- newmsg->msg = (char*)malloc(sizeof(char) * newmsg->mlen);
- MPI_Recv(newmsg->msg, newmsg->mlen, MPI_BYTE, n->rank, status.MPI_TAG, n->comm, &status);
- if (n->waitinglast == NULL) {
- n->waiting = newmsg;
- n->waitinglast = newmsg;
- } else {
- n->waitinglast->next = newmsg;
- }
- /* debug_print("%d from %s queued on %s\n", newmsg->tag, n->name, mname); */
- }
-}
-
-static unsigned char try_receive_from_one(char* buf, int buflen, dtype_t dtype, mpit_t tag, int* outcount, mpit_t* tagout, mpir_t* n) {
- take_waiting_messages(n, tag);
-
- /* debug_print("%s trying from %s\n", mname, n->name); */
-
- if (n->waiting != NULL) {
- waitmsg_t* w = n->waiting;
- waitmsg_t* prev = NULL;
- while (w != NULL) {
- if (w->tag != MTYPE_COMMEST && (tag == MPI_ANY_TAG || tag == w->tag)) {
- /*
- * This message is a match
- */
- if (w->mlen > buflen) {
- fprintf(stderr, "MESSAGE TOO LONG ON %s!!!!!\n", mname);
- return 0;
- }
- if (prev != NULL) {
- prev->next = w->next;
- } else {
- n->waiting = w->next;
- }
- if (w->next == NULL) {
- n->waitinglast = prev;
- }
- *tagout = w->tag;
- *outcount = w->mlen;
- memcpy(buf, w->msg, w->mlen);
- free(w->msg);
- free(w);
- /* debug_print("Message %d from %s dispatched on %s\n", *tagout, n->name, mname); */
- return 1;
- }
- prev = w;
- w = w->next;
- }
- }
-
- return 0;
-}
-
-static mpir_t* recvwrapper_any_helper(char* buf, int buflen, dtype_t dtype, mpit_t tag, int* outcount, mpit_t* tagout, unsigned char sendconfirm) {
- if (mcomm != MPI_COMM_NULL) {
- int i;
- int wsize;
- MPI_Comm_size(mcomm, &wsize);
- while (1) {
- for (i = 0; i < wsize; i++) {
- mpir_t* n;
- if (i == mid) {
- continue;
- }
- n = get_other_node(i);
- if (try_receive_from_one(buf, buflen, dtype, tag, outcount, tagout, n)) {
- return n;
- }
- }
- }
- } else {
- connlist_t* c;
- while (1) {
- lock_connection_list();
- c = conns;
- while (c != NULL) {
- if (c->n.commest && try_receive_from_one(buf, buflen, dtype, tag, outcount, tagout, &c->n)) {
- mpir_t* ret = &c->n;
- unlock_connection_list();
- return ret;
- }
- c = c->next;
- }
- unlock_connection_list();
- wait_a_while();
- }
- }
-
- return NULL;
-}
-
-/**
- * Wrapper for a receive from any source
- *
- * @param buf Buffer into which to store the received message
- * @param buflen Maximum message length we can fit in the buffer in terms of dtype
- * @param dtype MPI data type of the buffer
- * @param tag The tag of the message we're willing to receive
- * @param outcount After the call, set to how many items are in the buffer
- * @param tagout After the call, set to the tag we actually got (obviously, only useful if the passed tag was MPI_ANY_TAG)
- * @return A node object representing the source of the message we received, or NULL if the receive failed/timed out
- */
-mpir_t* recvwrapper_any(char* buf, int buflen, dtype_t dtype, mpit_t tag, int* outcount, mpit_t* tagout) {
- return recvwrapper_any_helper(buf, buflen, dtype, tag, outcount, tagout, 1);
-}
-
-/**
- * As recvwrapper_any, but send a negatory confirmation message instead of a positive one
- */
-mpir_t* recvwrapper_any_noconfirm(char* buf, int buflen, dtype_t dtype, mpit_t tag, int* outcount, mpit_t* tagout) {
- return recvwrapper_any_helper(buf, buflen, dtype, tag, outcount, tagout, 0);
-}
-
-static unsigned char recvwrapper_helper(char* buf, int buflen, dtype_t dtype, mpit_t tag, mpir_t* from, unsigned char sendconf) {
- if (!from->commest) {
- wait_for_port_open(from);
- }
- debug_print("%s waiting on %s %d\n", mname, from->name, tag);
- while (1) {
- mpit_t otag;
- int count;
- if (try_receive_from_one(buf, buflen, dtype, tag, &count, &otag, from)) {
- debug_print("%s wait on %s %d complete\n", mname, from->name, otag);
- return 0;
- }
- wait_a_while();
- }
- return 1;
-}
-
-/**
- * Wrapper for MPI_Recv
- *
- * @param buf The buffer in which to put the message
- * @param buflen Length of the buffer in terms of dtype
- * @param dtype The MPI data type of the buffer
- * @param tag The tag we wish to receive
- * @param from Node from which we wish to receive a message
- * @return Zero if the receive was successful, nonzero on a failure
- */
-unsigned char recvwrapper(char* buf, int buflen, dtype_t dtype, mpit_t tag, mpir_t* from) {
- return recvwrapper_helper(buf, buflen, dtype, tag, from, 1);
-}
diff --git a/oldcode/src/can/send.c b/oldcode/src/can/send.c
deleted file mode 100644
index 9769f9a..0000000
--- a/oldcode/src/can/send.c
+++ /dev/null
@@ -1,96 +0,0 @@
-/** @file
- * Functions for sending information to another node
- */
-
-#include <stdio.h>
-#include <unistd.h>
-#include <time.h>
-#include "can_private.h"
-
-/**
- * Opens a communicator with the passed node
- *
- * This first looks up the port the node's using by its service name.
- * Second, a communicator is opened with MPI_Comm_connect.
- * Finally, we send a small message to the other node telling them our service name.
- *
- * @param dest The node with which to establish a new communicator
- */
-static void open_communications(mpir_t* dest) {
- mpiport_t realport;
- dest->rank = 0;
- MPI_Lookup_name(dest->name, MPI_INFO_NULL, realport);
- MPI_Comm_connect(realport, MPI_INFO_NULL, 0, MPI_COMM_SELF, &dest->comm);
- MPI_Send(&mid, sizeof(mpi_id_t), MPI_BYTE, dest->rank, MTYPE_COMMEST, dest->comm);
- debug_print("%s established communication with %s\n", mname, dest->name);
- dest->commest = 1;
-}
-
-static unsigned char sendwrapper_helper(void* buf, int dsize, dtype_t dtype, int tag, mpir_t* dest, unsigned char async) {
- MPI_Request req;
- time_t starttime;
- /**
- * @todo Analyze possible race condition where we check, see the comm's not established, then the OTHER SIDE connects
- * Just locking the connection list here won't fix that
- */
- if (!dest->commest) {
- open_communications(dest);
- debug_print("%s opened communications with %s (rank %d)\n", mname, dest->name, dest->rank);
- } else {
- /* debug_print("%s was already in communication with %s (rank %d)\n", mport, dest->name, dest->rank); */
- }
-
- /*debug_print("%s sending %d to %s\n", mname, tag, dest->name);*/
-
- if (async) {
- MPI_Bsend(buf, dsize, dtype, dest->rank, tag, dest->comm);
- return 0;
- } else {
- MPI_Issend(buf, dsize, dtype, dest->rank, tag, dest->comm, &req);
- }
-
- starttime = time(NULL);
-
- while (1) {
- int flag;
- MPI_Test(&req, &flag, MPI_STATUS_IGNORE);
- if (flag) {
- return 0;
- }
- if (time(NULL)-starttime > 10) {
- debug_print("SEND OF %d TO %s TIMED OUT ON %s\n", tag, dest->name, mname);
- MPI_Cancel(&req);
- return 1;
- }
- /*
- * Here we make sure that if they're sending to US, we get their message
- */
- take_waiting_messages(dest, MPI_ANY_TAG);
- wait_a_while();
- }
-
- return 1;
-
-}
-
-/**
- * Wrapper for MPI_Send
- *
- * @param buf The buffer full of stuff to send
- * @param dtype The MPI data type of which the buffer is full
- * @param dsize The size of the buffer in terms of dtype
- * @param tag The tag with which to send the message
- * @param dest The destined recipient for our message
- *
- * @return Zero if the message was sent successfully, nonzero otherwise
- */
-unsigned char sendwrapper(void* buf, int dsize, dtype_t dtype, int tag, mpir_t* dest) {
- return sendwrapper_helper(buf, dsize, dtype, tag, dest, 0);
-}
-
-/**
- * As sendwrapper, but will not wait for the other side to acknowledge
- */
-unsigned char sendwrapper_async(void* buf, int dsize, dtype_t dtype, int tag, mpir_t* dest) {
- return sendwrapper_helper(buf, dsize, dtype, tag, dest, 1);
-}
diff --git a/oldcode/src/cmpi-cp/cmpi-cp.c b/oldcode/src/cmpi-cp/cmpi-cp.c
deleted file mode 100644
index 498c16a..0000000
--- a/oldcode/src/cmpi-cp/cmpi-cp.c
+++ /dev/null
@@ -1,234 +0,0 @@
-
-#include <cmpi-cp.h>
-
-char* target1;
-char* target2;
-
-int value_size;
-
-void
-cmpi_cp_args(int argc, char* argv[])
-{
- if (argc == 1)
- {
- printhelp();
- exit(EXIT_FAILURE);
- }
- target1 = argv[1];
- target2 = argv[2];
-}
-
-void
-printhelp()
-{
- printf("usage: cmpi [OPTION] target1 target2 \n");
- printf(" each target is a file path \n");
- printf(" or a standard stream - \n");
- printf(" or a DHT key formatted as dht://<key> \n\n");
- printf("options: \n");
- printf(" -h print this message \n");
- printf(" -v show version information \n");
- printf(" -c set chunk size \n");
-}
-
-/**
- Determine the type of this target, file or key.
-*/
-CMPI_CP_TYPE
-cmpi_cp_extract_type(char* target, char* value)
-{
- CMPI_CP_TYPE result;
- if (strstr(target, "dht://"))
- {
- strcpy(value, target+6);
- result = CMPI_CP_KEY;
- }
- else if (strstr(target, "-") && strlen(target) == 1)
- {
- strcpy(value, target);
- result = CMPI_CP_STREAM;
- }
- else
- {
- strcpy(value, target);
- result = CMPI_CP_FILE;
- }
- return result;
-}
-
-CMPI_RETURN
-cmpi_cp_put(FILE* file, char* object)
-{
- char key[CMPI_KEY_LENGTH+10];
- char data[value_size];
- char msg[100];
- int count = 0;
- while (! feof(file))
- {
- int total = 0;
- while (!feof(file) &&
- total < value_size)
- {
- int chunk = value_size-total;
- int actual = fread(data+total, 1, chunk, file);
- data[total+actual] = '\0';
- total += actual;
- }
- if (total == 0)
- break;
-
- sprintf(key, "%s[%i]", object, count++);
- // printf("put: %s\n", key);
- fprintf(to_cmpi, "put %s %i\n", key, total);
- fflush(to_cmpi);
- fscanf(from_cmpi, "%s", msg);
- if (strcmp(msg, "ok") != 0)
- return CMPI_ERROR_UNKNOWN;
- buffer_to_stream(data, total, to_cmpi);
- fflush(to_cmpi);
- }
-
- sprintf(data, "DHT: %i", count);
- fprintf(to_cmpi, "put %s %i\n", object, (int) strlen(data));
- fflush(to_cmpi);
- fprintf(to_cmpi, "%s", data);
- fflush(to_cmpi);
-
- char result[32];
- fscanf(from_cmpi, "%s\n", result);
-
- if (strncmp(result, "ok", 2) != 0)
- return CMPI_ERROR_UNKNOWN;
-
- return CMPI_SUCCESS;
-}
-
-CMPI_RETURN
-cmpi_cp_get(char* object, FILE* file)
-{
- char data[value_size];
- int count, c;
- int length;
-
- fprintf(to_cmpi, "get %s\n", object);
- fflush(to_cmpi);
-
- fscanf(from_cmpi, "%i", &length);
- fgetc(from_cmpi);
- if (length == -1)
- return CMPI_DOESNT_EXIST;
-
- stream_to_buffer(data, length, from_cmpi);
- sscanf(data, "DHT: %i", &count);
- // printf("count: %i\n", count);
-
- for (c = 0; c < count; c++)
- {
- fprintf(to_cmpi, "get %s[%i]\n", object, c);
- fflush(to_cmpi);
- fscanf(from_cmpi, "%i", &length);
- fgetc(from_cmpi);
- if (length == -1)
- {
- printf("not found: %s[%i]\n", object, c);
- return CMPI_DOESNT_EXIST;
- }
-
- stream_to_buffer(data, length, from_cmpi);
- buffer_to_stream(data, length, file);
- }
- return CMPI_SUCCESS;
-}
-
-void
-bad_file(char* filename)
-{
- printf("Could not open: %s\n", filename);
- exit(EXIT_FAILURE);
-}
-
-CMPI_RETURN
-cmpi_cp_case(CMPI_CP_TYPE type1, char* object1,
- CMPI_CP_TYPE type2, char* object2)
-{
- CMPI_RETURN result = CMPI_SUCCESS;
- if (type1 == CMPI_CP_FILE &&
- type2 == CMPI_CP_KEY)
- {
- // FILE -> DHT
- FILE* file = fopen(object1, "r");
- if (!file)
- bad_file(object1);
- result = cmpi_cp_put(file, object2);
- fclose(file);
- }
- else if (type1 == CMPI_CP_KEY &&
- type2 == CMPI_CP_FILE)
- {
- // DHT -> FILE
- FILE* file = fopen(object2, "w");
- if (!file)
- bad_file(object2);
- result = cmpi_cp_get(object1, file);
- fclose(file);
- }
- else if (type1 == CMPI_CP_KEY &&
- type2 == CMPI_CP_KEY)
- {
- // DHT -> DHT
- }
- else if (type1 == CMPI_CP_STREAM &&
- type2 == CMPI_CP_KEY)
- {
- // STREAM -> DHT
- result = cmpi_cp_put(stdin, object2);
- }
- else if (type1 == CMPI_CP_KEY &&
- type2 == CMPI_CP_STREAM)
- {
- // DHT -> STREAM
- result = cmpi_cp_get(object1, stdout);
- }
- return result;
-}
-
-int
-main(int argc, char* argv[])
-{
- CMPI_CP_TYPE target1_type;
- CMPI_CP_TYPE target2_type;
-
- char object1[CMPI_KEY_LENGTH+10];
- char object2[CMPI_KEY_LENGTH+10];
-
- value_size = CMPI_CP_CHUNK;
-
- cmpi_cp_args(argc, argv);
- target1_type = cmpi_cp_extract_type(target1, object1);
- target2_type = cmpi_cp_extract_type(target2, object2);
-
- if (target1_type == CMPI_CP_FILE &&
- target2_type == CMPI_CP_FILE)
- {
- printf("cmpi-cp: given two files!\n");
- exit(EXIT_FAILURE);
- }
-
- driver_access_fifo();
-
- CMPI_RETURN result =
- cmpi_cp_case(target1_type, object1, target2_type, object2);
-
- if (result == CMPI_DOESNT_EXIST)
- {
- // cmpi_get could not find the dht:// target
- printf("does not exist: %s\n", target1);
- return EXIT_FAILURE;
- }
- else if (result != CMPI_SUCCESS)
- {
- printf("error\n");
- return EXIT_FAILURE;
- }
- return EXIT_SUCCESS;
-}
diff --git a/oldcode/src/cmpi-cp/module.mk.in b/oldcode/src/cmpi-cp/module.mk.in
deleted file mode 100644
index 6f838c5..0000000
--- a/oldcode/src/cmpi-cp/module.mk.in
+++ /dev/null
@@ -1,19 +0,0 @@
-
-# CMPI-CP is not an MPI program
-
-DIR := src/cmpi-cp
-
-CMPI_PROGS += bin/cmpi-cp
-CMPI_CP_SRC += src/cmpi-cp/cmpi-cp.c
-
-CMPI_CP_OBJS = src/cmpi-cp/cmpi-cp.o src/cmpi/accessor.o src/mpi_tools/io_tools.o
-
-CMPI_CP_LIBS :=
-
-ifneq ($(DMALLOC_LIB),)
- CMPI_CP_LIBS += -L $(DMALLOC_LIB) -l dmalloc
-endif
-
-bin/cmpi-cp: $(CMPI_CP_OBJS) bin
- $(Q) " CC $(@) "
- $(E)$(CC) $(CMPI_CP_OBJS) $(CMPI_CP_LIBS) -o $(@)
diff --git a/oldcode/src/cmpi-db/cmpi-db-fifo-quit.c b/oldcode/src/cmpi-db/cmpi-db-fifo-quit.c
deleted file mode 100644
index 395e460..0000000
--- a/oldcode/src/cmpi-db/cmpi-db-fifo-quit.c
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <accessor.h>
-
-int
-main(int argc, char* argv[])
-{
- char msg[100];
-
- driver_access_fifo();
-
- fprintf(to_cmpi, "quit\n");
- fflush(to_cmpi);
-
- fscanf(from_cmpi, "%s\n", msg);
- if (strcmp(msg, "ok") != 0)
- {
- printf("error\n");
- return EXIT_FAILURE;
- }
-
- return EXIT_SUCCESS;
-}
diff --git a/oldcode/src/cmpi-db/cmpi-db-fifo.c b/oldcode/src/cmpi-db/cmpi-db-fifo.c
deleted file mode 100644
index 02ca2d8..0000000
--- a/oldcode/src/cmpi-db/cmpi-db-fifo.c
+++ /dev/null
@@ -1,50 +0,0 @@
-
-#include <unistd.h>
-
-#include <node.h>
-#include <driver.h>
-
-void
-wait_for_notification(void)
-{
- int tmp;
- MPI_Status status;
- MPI_Recv(&tmp, 1, MPI_INT,
- MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &status);
- assert(tmp == -2);
-}
-
-void
-notify_next(void)
-{
- if (mpi_rank < mpi_size-1)
- {
- int msg = -2;
- MPI_Send(&msg, 1, MPI_INT, mpi_rank+1, 0, MPI_COMM_WORLD);
- }
- else
- {
- // NOTE("NOTIFICATION COMPLETE");
- }
-}
-
-void
-cmpi_client_code()
-{
- char hostname[100];
-
- wait_for_notification();
- notify_next();
-
- NOTE("CMPI-DB-FIFO...");
- gethostname(hostname, 100);
- SHOW_S(hostname);
-
- cmpi_driver* driver = driver_create();
-
- while (! driver->quitting)
- {
- driver_setup_fifo(driver);
- driver_process(driver);
- }
-}
diff --git a/oldcode/src/cmpi-db/module.mk.in b/oldcode/src/cmpi-db/module.mk.in
deleted file mode 100644
index b1a9074..0000000
--- a/oldcode/src/cmpi-db/module.mk.in
+++ /dev/null
@@ -1,17 +0,0 @@
-
-DIR := src/cmpi-db
-
-CMPI_PROGS += bin/cmpi-db
-CMPI_PROGS += bin/cmpi-db-fifo-quit
-CMPI_SRC += src/cmpi-cp/cmpi-cp.c src/cmpi-db/cmpi-db-fifo-quit.c
-
-CMPI_DB = bin/cmpi-db
-
-$(CMPI_DB): src/cmpi/node.o src/cmpi/driver.o src/cmpi-db/cmpi-db-fifo.o $(CMPI) bin
- $(Q) " MPICC $(@)"
- $(E)$(MPICC) $(MPE) src/cmpi/node.o src/cmpi/driver.o \
- src/cmpi-db/cmpi-db-fifo.o $(CMPI) $(LIBS) -o $(@)
-
-bin/cmpi-db-fifo-quit: src/cmpi-db/cmpi-db-fifo-quit.o $(CMPI) bin
- $(Q) " MPICC $(@)"
- $(E)$(MPICC) src/cmpi-db/cmpi-db-fifo-quit.o $(CMPI) -o $(@)
diff --git a/oldcode/src/cmpi/accessor.c b/oldcode/src/cmpi/accessor.c
deleted file mode 100644
index 7cbf004..0000000
--- a/oldcode/src/cmpi/accessor.c
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#include <accessor.h>
-
-/**
- @return True iff successfully access to fifos is made.
-*/
-bool
-driver_access_fifo()
-{
- char fifo_in[20] = "/tmp/cmpi.fifo.in";
- char fifo_out[20] = "/tmp/cmpi.fifo.out";
-
- to_cmpi = fopen(fifo_in, "w");
- if (to_cmpi == NULL)
- {
- printf("Could not open: %s \n", fifo_in);
- return false;
- }
- from_cmpi = fopen(fifo_out, "r");
- if (from_cmpi == NULL)
- {
- printf("Could not open: %s \n", fifo_out);
- return false;
- }
- return true;
-}
diff --git a/oldcode/src/cmpi/client.c b/oldcode/src/cmpi/client.c
deleted file mode 100644
index 6ded49b..0000000
--- a/oldcode/src/cmpi/client.c
+++ /dev/null
@@ -1,65 +0,0 @@
-
-/**
- * Participant client for CMPI.
- * Only used in multiple communicator, MPI-2 case.
- *
- * Command-line arguments:
- *
- * -s <ms> snooze_max in milliseconds.
- * -t <tag> symbolic tag number
- */
-
-#include "node.h"
-
-int nodes;
-
-void
-options(int argc, char* argv[])
-{
- struct option options[] =
- {
- {"snooze", required_argument, NULL, 's'},
- {"tag", required_argument, NULL, 't'},
- {"nodes", required_argument, NULL, 'n'},
- {0, 0, 0, 0}
- };
-
- int c = 0;
- int t = 0;
- while ((c = getopt_long(argc, argv, "f:s:t:n:c:", options, &c)) != -1)
- {
- switch (c)
- {
- case 's':
- sscanf(optarg, "%i", &t);
- snooze_max = t*1000;
- // printf("Snooze max: %i \n", snooze_max);
- case 't':
- sscanf(optarg, "%i", &t);
- debug_rank = t;
- case 'n':
- sscanf(optarg, "%i", &t);
- nodes = t;
- }
- c++;
- }
-}
-
-int
-main(int argc, char* argv[])
-{
- options(argc, argv);
-
- MPI_Init(&argc, &argv);
-
- whoami();
- if (mpi_rank == 0)
- timestamp("START", NULL);
-
- cmpi_init_client();
- cmpi_client_code();
-
- MPI_Finalize();
-
- return 0;
-}
diff --git a/oldcode/src/cmpi/cmpi-io-test.c b/oldcode/src/cmpi/cmpi-io-test.c
deleted file mode 100644
index 1df97b2..0000000
--- a/oldcode/src/cmpi/cmpi-io-test.c
+++ /dev/null
@@ -1,52 +0,0 @@
-
-#include <cmpi.h>
-
-/**
- Debugging only.
-*/
-int
-main(int argc, char* argv[])
-{
- int i,j;
- MPI_Init(&argc, &argv);
-
- whoami();
-
- MPI_File mpi_file;
- MPI_Status status;
-
- snooze_max = 1000;
- cmpi_init();
-
- if (mpi_rank == 0)
- {
- sleep(3);
-
- MPI_File_open(MPI_COMM_WORLD, "/sandbox/mpi-io.dat",
- MPI_MODE_CREATE|
- MPI_MODE_RDWR,
- MPI_INFO_NULL, &mpi_file);
-
- char data[60];
- char* p = data;
- for (i = 0; i < 6; i++)
- {
- for (j = 0; j < 9; j++)
- {
- p += sprintf(p, "%i", j);
- }
- p += sprintf(p, "X");
- }
-
- MPI_File_write(mpi_file, data, 60, MPI_CHAR, &status);
-
- if (MPI_File_close(&mpi_file) == MPI_SUCCESS)
- NOTE("closed");
- else
- NOTE("close error");
-
- cmpi_shutdown();
- }
-
- MPI_Finalize();
-}
diff --git a/oldcode/src/cmpi/cmpi-io.c b/oldcode/src/cmpi/cmpi-io.c
deleted file mode 100644
index d72ded9..0000000
--- a/oldcode/src/cmpi/cmpi-io.c
+++ /dev/null
@@ -1,140 +0,0 @@
-
-#include "cmpi-io.h"
-
-bool cmpi_io_ready = false;
-
-/**
- List of CMPI_Files.
-*/
-struct list* open_files = NULL;
-
-CMPI_File CMPI_FILE_NULL = (CMPI_File) -1;
-
-void
-cmpi_io_init(void)
-{
- NOTE_F;
- open_files = list_create();
- cmpi_io_ready = true;
-
- /*
- char* preload = malloc(1024*sizeof(char));
- sprintf(preload, "%s%s/lib/libmpich.so %s/lib/libcmpi-io.so",
- "LD_PRELOAD=", "MPI_LOCATION", getenv("PWD"));
- NOTE_S("preload: ", preload);
- putenv(preload);
- */
-}
-
-int
-CMPI_File_open()
-{
-
-}
-
-int
-MPI_File_open(MPI_Comm comm, char* filename,
- int mode, MPI_Info info, MPI_File* fh)
-{
- NOTE_FS(filename);
-
- char* data = NULL;
- cmpi_get(filename, &data);
- NOTE_S("data: ", data);
-
- if (data == NULL)
- {
- if (mode & MPI_MODE_CREATE)
- {
- cmpi_put(filename, "FILE: 0");
- }
- else
- {
- return MPI_ERR_NO_SUCH_FILE;
- }
- }
-
- CMPI_File new_fh = (CMPI_File) malloc(sizeof(CMPI_File));
- new_fh->filename = filename;
-
- list_add(open_files, new_fh);
- *fh = (MPI_File) new_fh;
-
- return MPI_SUCCESS;
-}
-
-// rename to CMPI_File_close()
-int
-MPI_File_close(MPI_File* fh)
-{
- NOTE_F;
-
- // MPI_MODE_DELETE_ON_CLOSE
- // MPI_FILE_SYNC
-
- if (list_remove(open_files, *fh))
- {
- *fh = (MPI_File) CMPI_FILE_NULL;
- return MPI_SUCCESS;
- }
- else
- return MPI_ERR_FILE;
-}
-
-/**
- Currently assuming count is a multiple of CMPI_IO_BLOCK_SIZE.
-*/
-int
-MPI_File_write(MPI_File fh, void* buf, int count,
- MPI_Datatype datatype, MPI_Status* status)
-{
- int i;
- NOTE_S("WRITE: ", buf);
- int size = CMPI_IO_BLOCK_SIZE;
- int blocks = count / size;
-
- char name[1024];
- strcpy(name, ((CMPI_File) fh)->filename);
- char *p = name + strlen(name);
- char data[size+1];
- for (i = 0; i < blocks; i++)
- {
- sprintf(p, "[%i]%c", i, '\0');
- memcpy(data, buf+(i*size), size);
- data[size] = '\0';
- cmpi_put(name, data);
- NOTE("put");
- }
- // MPI_Status;
- return MPI_SUCCESS;
-}
-
-int
-MPI_File_read(MPI_File fh, void* buf, int count,
- MPI_Datatype datatype, MPI_Status* status)
-{
- int i;
- NOTE("READ: ");
-
- int size = CMPI_IO_BLOCK_SIZE;
- int blocks = count / size;
-
- char name[1024];
- strcpy(name, ((CMPI_File) fh)->filename);
- char *p = name + strlen(name);
- char *data;
- for (i = 0; i < blocks; i++)
- {
- sprintf(p, "[%i]%c", i, '\0');
- cmpi_get(name, &data);
- memcpy(data, buf+(i*size), size);
- }
-
- return MPI_SUCCESS;
-}
-
-int
-MPI_File_delete(char *filename, MPI_Info info)
-{
- return MPI_SUCCESS;
-}
diff --git a/oldcode/src/cmpi/cmpi.c b/oldcode/src/cmpi/cmpi.c
deleted file mode 100644
index e4aabdc..0000000
--- a/oldcode/src/cmpi/cmpi.c
+++ /dev/null
@@ -1,231 +0,0 @@
-
-#include <cmpi.h>
-
-#include <keyvalue.h>
-
-int cmpi_status;
-
-int cmpi_cache_limit;
-struct lru_table* cmpi_cache = NULL;
-
-/**
- Used to store values from cmpi_impl_parameter().
-*/
-struct hashtable* cmpi_params = NULL;
-
-int cmpi_msg_join;
-int cmpi_msg_neighbor;
-int cmpi_msg_sendnode;
-int cmpi_msg_sendkey;
-int cmpi_msg_sendblob;
-int cmpi_msg_lookupkey;
-int cmpi_msg_getblob;
-int cmpi_msg_shutdown;
-
-/**
- True when quitting
-*/
-bool cmpi_quitting = false;
-
-void
-cmpi_params_init()
-{
- // NOTE_F;
- cmpi_params = hashtable_create(10);
-}
-
-/**
- Add copy of key/value pair to cmpi_params table.
-*/
-void
-cmpi_params_add(char* key, char* value)
-{
- // SHOW_FSS(key, value);
- hashtable_add(cmpi_params, heap(key), heap(value));
-}
-
-/**
- Returns a copy of the matching value or NULL if not found.
-*/
-char*
-cmpi_params_search(char* key)
-{
- char* result;
- result = hashtable_search(cmpi_params, key);
- if (result)
- return heap(result);
- return NULL;
-}
-
-void
-cmpi_basics(void)
-{
- cmpi_status = CMPI_STATUS_PROTO;
-
- MPIRPC_Init();
-
- cmpi_msg_join = CMPI_MSG_JOIN;
- cmpi_msg_neighbor = CMPI_MSG_NEIGHBOR;
- cmpi_msg_sendnode = CMPI_MSG_SENDNODE;
- cmpi_msg_sendkey = CMPI_MSG_SENDKEY;
- cmpi_msg_sendblob = CMPI_MSG_SENDBLOB;
- cmpi_msg_lookupkey = CMPI_MSG_LOOKUPKEY;
- cmpi_msg_getblob = CMPI_MSG_GETBLOB;
- cmpi_msg_shutdown = CMPI_MSG_SHUTDOWN;
-}
-
-/**
- Must be called after MPI_Init()
-*/
-CMPI_RETURN
-cmpi_init()
-{
- cmpi_basics();
-
- cmpi_cache = lru_table_create(cmpi_cache_limit, cmpi_cache_limit);
-
- cmpi_init_impl();
-
- return 0;
-}
-
-CMPI_RETURN
-cmpi_init_client(void)
-{
- cmpi_basics();
- cmpi_init_impl_client();
-
-#ifdef USE_CMPI_IO
- NOTE("USING CMPI-IO \n");
- cmpi_io_init();
-#endif
-
- return CMPI_SUCCESS;
-}
-
-/**
-
- */
-int
-cmpi_cached_retrieve(char* key, char** data)
-{
- int result;
- NOTE_F;
-
- DEBUG(lru_table_fprintf(debug_file, "%s", cmpi_cache));
- struct keyvalue* found = lru_table_search(cmpi_cache, key);
-
- if (found)
- {
- printdata("found: ", found->data, found->length);
- *data = found->data;
- SHOW_P(*data);
- result = found->length;
- printf("length: %i\n", result);
- // free(found->key);
- // free(found);
- }
- else
- {
- result = cmpi_disk_loadpair(key, data);
-
- if (*data != NULL)
- {
- struct keyvalue* kv = lru_table_add(cmpi_cache, key,
- *data, result);
- if (kv)
- {
- cmpi_disk_storepair(kv->key, kv->data, kv->length);
- keyvalue_destroy(kv);
- }
- }
- else
- {
- result = 0;
- *data = NULL;
- }
- }
-
- return result;
-}
-
-/**
- */
-void
-cmpi_cached_store(char* key, char* data, int length)
-{
- struct keyvalue* kv;
- SHOW_FS(key);
- kv = lru_table_add(cmpi_cache, key, data, length);
- if (kv)
- {
- cmpi_disk_storepair(kv->key, kv->data, length);
- printf("CACHE_DROP: %s\n", kv->key);
- free(kv->key);
- free(kv);
- }
-}
-
-/**
- Does not use cmpi_disk.
-*/
-void
-cmpi_cached_update(char* key, char* data, int offset, int length)
-{
- SHOW_FSII(key,offset,length);
- printdata("update: ", data, length) ;
-
- if (lru_table_search(cmpi_cache, key))
- {
- lru_table_update(cmpi_cache, key, data, offset, length);
- }
- else
- {
- if (offset != 0)
- {
- char* update = malloc(offset+length);
- memset(update, ' ', offset);
- memcpy(update+offset, data, length);
- lru_table_add(cmpi_cache, key, update, length);
- }
- else
- {
- lru_table_add(cmpi_cache, key, data, length);
- }
- }
- // DEBUG(lru_table_fprintf(debug_file, "%s", cmpi_cache));
-
- DONE;
-}
-
-/**
- Free up our resources.
-*/
-void
-cmpi_cleanup()
-{
- // NOTE_F;
- MPIRPC_Finalize();
- // struct keyvalue* kv;
- /*
- while ((kv = lru_table_poll(cmpi_cache)))
- {
- ;// FREE(kv->key);
- // FREE(kv);
- }
- */
- // lru_table_free(cmpi_cache);
- // NOTE("free cmpi_params");
- hashtable_free(cmpi_params);
-}
-
-/**
- Free up our resources.
-*/
-void
-cmpi_client_cleanup()
-{
- // NOTE_F;
- hashtable_free(cmpi_params);
- MPIRPC_Finalize();
-}
diff --git a/oldcode/src/cmpi/cmpi_disk_printf.c b/oldcode/src/cmpi/cmpi_disk_printf.c
deleted file mode 100644
index ae36ab9..0000000
--- a/oldcode/src/cmpi/cmpi_disk_printf.c
+++ /dev/null
@@ -1,21 +0,0 @@
-
-/**
- * Dumps disk operations to the screen.
- * Used if configure --with-disk-printf is used.
- * */
-
-#include <stdio.h>
-
-#include <mpi_tools.h>
-
-void
-cmpi_disk_storepair(char* key, char* value)
-{
- NOTE_F;
- note_ss("DISK_STOREPAIR: ", key, value);
-}
-
-void cmpi_disk_loadpair(char* key, char** value)
-{
- note_s("DISK_LOADPAIR: ", key);
-}
diff --git a/oldcode/src/cmpi/cmpi_disk_void.c b/oldcode/src/cmpi/cmpi_disk_void.c
deleted file mode 100644
index 352a14a..0000000
--- a/oldcode/src/cmpi/cmpi_disk_void.c
+++ /dev/null
@@ -1,20 +0,0 @@
-
-/**
- * Ignores disk operations.
- * Used if no disk options are given at configure time.
- * */
-
-#include <mpi_tools.h>
-
-void
-cmpi_disk_storepair(char* key, char* value, int length)
-{
- NOTE_FS(key);
-}
-
-int cmpi_disk_loadpair(char* key, char** value)
-{
- NOTE_F;
- *value = NULL;
- return 0;
-}
diff --git a/oldcode/src/cmpi/driver.c b/oldcode/src/cmpi/driver.c
deleted file mode 100644
index 906be6e..0000000
--- a/oldcode/src/cmpi/driver.c
+++ /dev/null
@@ -1,269 +0,0 @@
-
-/**
- * Command-line client for CMPI.
- */
-
-#include <errno.h>
-#include <signal.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#include <driver.h>
-
-char* filename = NULL;
-
-bool driver_quitting = false;
-
-cmpi_driver*
-driver_create(void)
-{
- cmpi_driver* driver = malloc(sizeof(cmpi_driver));
- driver->quitting = false;
- return driver;
-}
-
-bool
-driver_setup_file(cmpi_driver* driver, char* filename)
-{
- driver->source = fopen(filename, "r");
- if (driver->source == NULL)
- {
- printf("Could not open: %s \n", filename);
- return false;
- }
- return true;
-}
-
-bool
-driver_setup_stdin(cmpi_driver* driver)
-{
- driver->source = stdin;
- driver->sink = stdout;
- return true;
-}
-
-/**
- @return True iff the fifos were set up and opened correctly.
-*/
-bool
-driver_setup_fifo(cmpi_driver* driver)
-{
- char fifo_in[20] = "/tmp/cmpi.fifo.in";
- char fifo_out[20] = "/tmp/cmpi.fifo.out";
-
- signal(SIGPIPE, SIG_IGN);
-
- int error = mkfifo(fifo_in, S_IRUSR|S_IWUSR);
- if (error != 0 &&
- errno != EEXIST)
- {
- printf("Could not create fifo: %s\n", fifo_in);
- return false;
- }
- error = mkfifo(fifo_out, S_IRUSR|S_IWUSR);
- if (error != 0 &&
- errno != EEXIST)
- {
- printf("Could not create fifo: %s\n", fifo_in);
- return false;
- }
-
- driver->source = fopen(fifo_in, "r");
- if (driver->source == NULL)
- {
- printf("Could not open: %s \n", fifo_in);
- return false;
- }
-
- driver->sink = fopen(fifo_out, "w");
- if (driver->sink == NULL)
- {
- printf("Could not open: %s \n", fifo_out);
- return false;
- }
-
- return true;
-}
-
-void
-driver_put(cmpi_driver* driver, struct list* tokens)
-{
- char* key = tokens->head->next->data;
- char value[CMPI_VALUE_LENGTH];
- int length;
- sscanf(tokens->head->next->next->data, "%i", &length);
-
- SHOW_FSI(key, length);
- fprintf(driver->sink, "ok\n");
- fflush(driver->sink);
-
- NOTE("reading to buffer");
- stream_to_buffer(value, length, driver->source);
- NOTE("got buffer");
- cmpi_put(key, value, length);
-
- int error = fprintf(driver->sink, "ok\n");
- NOTE("said ok\n");
- if (error == -1)
- printf("driver_put result error!\n");
- fflush(driver->sink);
-}
-
-void
-driver_get(cmpi_driver* driver, struct list* tokens)
-{
- char* key = tokens->head->next->data;
-
- NOTE_FS(key);
-
- char* value;
- int length;
- cmpi_get(key, &value, &length);
-
- if (value == NULL)
- {
- fprintf(driver->sink, "-1\n");
- }
- else
- {
- fprintf(driver->sink, "%i\n", length);
- fflush(driver->sink);
- buffer_to_stream(value, length, driver->sink);
- }
- fflush(driver->sink);
- DONE;
-}
-
-void
-driver_info(struct list* tokens)
-{
- char* p = tokens->head->next->data;
- int i;
- sscanf(p, "%i", &i);
- char* result = cmpi_info(i);
- printf(result);
-}
-
-void
-driver_lookup(struct list* tokens)
-{
- char* p = tokens->head->next->data;
- cmpi_lookup(p);
-}
-
-void
-driver_sleep(cmpi_driver* driver, struct list* tokens)
-{
- char* p = tokens->head->next->data;
- int i;
- SHOW_I(i);
- sscanf(p, "%i", &i);
- sleep(i);
- fprintf(driver->sink, "ok\n");
- fflush(driver->sink);
-}
-
-void
-driver_quit(cmpi_driver* driver)
-{
- driver->quitting = true;
-
- fprintf(driver->sink, "ok\n");
- fflush(driver->sink);
-
- cmpi_shutdown();
- DONE;
-}
-
-void
-driver_execute(cmpi_driver* driver)
-{
- SHOW_FS(driver->command);
-
- struct list* tokens = list_parse(driver->command);
-
- gossip_ldebug(MASK_DRIVER, "got tokens: \n");
- gossip_do(MASK_DRIVER, list_printf("%s", tokens));
-
- if (tokens->size == 0)
- return;
-
- char* optoken = tokens->head->data;
- if (strncmp(optoken, "#", 1) == 0)
- {
- ; // This is a comment.
- }
- else if (strncmp(optoken, "put", 3) == 0)
- {
- driver_put(driver, tokens);
- }
- else if (strncmp(optoken, "get", 3) == 0)
- {
- driver_get(driver, tokens);
- }
- else if (strncmp(optoken, "lookup", 6) == 0)
- {
- driver_lookup(tokens);
- }
- else if (strncmp(optoken, "info", 4) == 0)
- {
- driver_info(tokens);
- }
- else if (strncmp(optoken, "sleep", 5) == 0)
- {
- printf("sleep\n");
- driver_sleep(driver, tokens);
- }
- else if (strncmp(optoken, "quit", 4) == 0)
- {
- driver_quit(driver);
- }
- list_destroy(tokens);
-}
-
-void
-driver_process(cmpi_driver* driver)
-{
- gossip_ldebug(MASK_DRIVER, "driver_process()...\n");
- while (! driver->quitting)
- {
- char* result =
- fgets(driver->command, CMPI_DRIVER_MAX_COMMAND, driver->source);
- if (!result)
- {
- gossip_ldebug(MASK_DRIVER, "Resetting driver...\n");
- fclose(driver->source);
- fclose(driver->sink);
- driver_setup_fifo(driver);
- continue;
- }
- char* s = strchr(driver->command, '\n');
- *s = '\0';
- driver_execute(driver);
- }
- gossip_ldebug(MASK_DRIVER, "Closing driver...\n");
- fclose(driver->source);
- fclose(driver->sink);
-}
-
-void
-dump_info(char* filename)
-{
- int i;
- FILE* f = fopen(filename, "w");
- if (! f)
- {
- printf("file error: %s \n", filename);
- return;
- }
-
- for (i = 1; i < mpi_size; i++)
- {
- char* t = cmpi_info(i);
- fprintf(f, "%s\n", t);
- }
- fclose(f);
-}
-
-
diff --git a/oldcode/src/cmpi/module.mk.in b/oldcode/src/cmpi/module.mk.in
deleted file mode 100644
index 12e218b..0000000
--- a/oldcode/src/cmpi/module.mk.in
+++ /dev/null
@@ -1,32 +0,0 @@
-
-DIR := src/cmpi
-
-CMPI_SRC += $(DIR)/cmpi.c
-CMPI_SRC += $(DIR)/node.c
-CMPI_SRC += $(DIR)/driver.c
-CMPI_SRC += $(DIR)/accessor.c
-
-ifeq (@USE_TABLE_DENSE@,1)
- CMPI_SRC += $(DIR)/dense.c
- CMPI_SRC += $(DIR)/driver.c
-endif
-
-ifeq (@USE_DRIVER@,1)
- CMPI_SRC += $(DIR)/driver.c
-endif
-
-ifeq (@USE_CMPI_IO@,1)
- CMPI_SRC += $(DIR)/cmpi-io.c
-endif
-
-ifeq (@USE_COMM_WORLD@,0)
- CMPI_SRC += $(DIR)/client.c
-endif
-
-ifeq (@USE_DISK_PRINTF@,1)
- CMPI_SRC += $(DIR)/cmpi_disk_printf.c
-endif
-
-ifeq (@USE_DISK_VOID@,1)
- CMPI_SRC += $(DIR)/cmpi_disk_void.c
-endif
diff --git a/oldcode/src/cmpi/node.c b/oldcode/src/cmpi/node.c
deleted file mode 100644
index 4dc4879..0000000
--- a/oldcode/src/cmpi/node.c
+++ /dev/null
@@ -1,226 +0,0 @@
-
-/**
- * Participant node/client for CMPI.
- *
- * Command-line arguments:
- * -c <cap> the capacity of the CMPI cache.
- * -n <nodes> the number of nodes to start as DHT nodes.
- * -p <k>=<v> store k,v in the CMPI parameter table.
- * -s <ms> snooze_max in milliseconds.
- * -t <tag> symbolic tag number.
- */
-
-#include "node.h"
-
-int nodes;
-MPI_Comm cmpi_comm_clients;
-
-#ifdef DMALLOC
-void
-dmalloc_setup(void)
-{
- // sprintf(dmalloc_logpath, "./dmalloc_%i.out", debug_rank);
-}
-#endif
-
-void
-options(int argc, char* argv[])
-{
- struct option options[] =
- {
- {"cache", required_argument, NULL, 'c'},
- {"nodes", required_argument, NULL, 'n'},
- {"param", required_argument, NULL, 'p'},
- {"snooze", required_argument, NULL, 's'},
- {"tag", required_argument, NULL, 't'},
- {0, 0, 0, 0}
- };
-
- int c = 0;
- int t = 0;
- char* p;
- char key[40];
- char value[40];
-
- // Defaults...
- cmpi_cache_limit = 10000;
- snooze_max = 500000;
- debug_rank = mpi_rank;
- nodes = mpi_size;
-
- cmpi_params_init();
- while ((c =
- getopt_long(argc, argv, "c:s:t:n:p:", options, &c)) != -1)
- {
- int n;
- switch (c)
- {
- case 'c':
- n = sscanf(optarg, "%i", &cmpi_cache_limit);
- if (n < 1)
- {
- printf("Got bad CMPI cache limit!\n");
- exit(EXIT_FAILURE);
- }
- break;
- case 'n':
- n = sscanf(optarg, "%i", &t);
- if (n < 1)
- {
- printf("Got bad node count!\n");
- exit(EXIT_FAILURE);
- }
- cmpi_params_add("nodes", optarg);
- nodes = t;
- break;
- case 'p':
- p = strchr(optarg, '=');
- if (p == NULL)
- {
- printf("Got bad -p argument! \n");
- exit(EXIT_FAILURE);
- }
- *p = ' ';
- n = sscanf(optarg, "%s %s", key, value);
- if (n == 2)
- cmpi_params_add(key, value);
- else if (n == 1)
- cmpi_params_add(key, "");
- else
- {
- printf("Got bad -p argument! \n");
- exit(EXIT_FAILURE);
- }
- break;
- case 's':
- n = sscanf(optarg, "%i", &t);
- if (n < 1)
- {
- printf("Got bad snooze time!\n");
- exit(EXIT_FAILURE);
- }
- snooze_max = t*1000;
- // printf("Snooze max: %i \n", snooze_max);
- break;
- case 't':
- n = sscanf(optarg, "%i", &t);
- if (n < 1)
- {
- printf("Got bad debug rank!\n");
- exit(EXIT_FAILURE);
- }
-
- debug_rank = t;
- break;
-
- default:
- {
- printf("Got bad argument! \n");
- exit(EXIT_FAILURE);
- }
- }
- c++;
- }
-}
-
-/**
- Sets up cmpi_comm_clients.
-*/
-void
-build_client_communicator(void)
-{
- MPI_Group group_world;
- MPI_Group group_clients;
- int ranges[1][3];
-
- // gossip_debug(MASK_CMPI, ":\n");
-
- if (mpi_size == nodes)
- {
- cmpi_comm_clients = MPI_COMM_NULL;
- return;
- }
-
- ranges[0][0] = nodes;
- ranges[0][1] = mpi_size-1;
- ranges[0][2] = 1;
-
- MPI_Comm_group(MPI_COMM_WORLD, &group_world);
- MPI_Group_range_incl(group_world, 1, ranges, &group_clients);
- MPI_Comm_create(MPI_COMM_WORLD, group_clients, &cmpi_comm_clients);
-}
-
-int
-main(int argc, char* argv[])
-{
- gossip_set_debug_mask(1,MASK_DEBUG|MASK_MPIRPC|MASK_ADTS|
- MASK_CMPI|MASK_DRIVER);
-
- // Comment out to achieve deterministic results:
- // srand((unsigned int) time(NULL));
-
- // Basic MPI startup...
- MPI_Init(&argc, &argv);
-
- int rank;
- MPI_Comm_rank(MPI_COMM_WORLD, &rank);
-
- whoami();
-
- if (mpi_rank == 0)
- {
- DEBUG(timestamp("START", NULL));
- }
-
- DMALLOC_SETUP(dmalloc_setup());
-
- // Handle and store options...
- options(argc, argv);
-
-#if USE_COMM_WORLD == 1
-// Use MPI_COMM_WORLD to bootstrap.
-
- build_client_communicator();
-
- if (mpi_rank < nodes)
- {
- cmpi_init();
- }
- else
- {
- cmpi_init_client();
- cmpi_client_code();
- }
-
-#else
- // Startup as a stand-alone node, will use MPI-2 to bootstrap.
-
- NOTE("NODE-2");
- cmpi_init();
-
-#endif
-
- NOTE("MPI_Finalize()...");
- MPI_Finalize();
-
-#if USE_COMM_WORLD == 1
-
- if (mpi_rank < nodes)
- cmpi_cleanup();
- else
- cmpi_client_cleanup();
-
-#else
-
- cmpi_cleanup();
-
-#endif
-
- DMALLOC_SETUP(if (mpi_rank == 0)
- { NOTE("DMALLOC_SHUTDOWN");
- dmalloc_shutdown();
- });
-
- NOTE("Normal exit.");
- return 0;
-}
diff --git a/oldcode/src/cmpi/pnet-cdf.c b/oldcode/src/cmpi/pnet-cdf.c
deleted file mode 100644
index 241bbf2..0000000
--- a/oldcode/src/cmpi/pnet-cdf.c
+++ /dev/null
@@ -1,117 +0,0 @@
-
-#include "pnet-cdf.h"
-
-/**
- List of CMPI_Files.
-*/
-struct itable* open_files = NULL;
-
-int cpnet_cdf_ready;
-
-int ncid_unique;
-int dimid_unique;
-int varid_unique;
-
-void
-cpnet_cdf_init()
-{
- NOTE_F;
-
- whoami();
-
- open_files = itable_create(10);
- cpnet_cdf_ready = true;
- ncid_unique = 1;
- dimid_unique = 1;
-}
-
-
-
-int
-ncmpi_create(MPI_Comm comm, const char *path,
- int cmode, MPI_Info info, int *ncidp)
-{
- if (mpi_rank == 0)
- {
- NOTE_FS(path);
-
- ncid = unique++;
-
- CPNETCDF_File* file =
- (CPNETCDF_File*) malloc(sizeof(CPNETCDF_File));
-
- file->attributes = hashtable_create(10);
- }
- return NC_NOERR;
-}
-
-int
-ncmpi_put_att_text(int ncid, int64_t varid, const char *name,
- int64_t nelems, const char *value)
-{
- if (mpi_rank == 0)
- {
- CPNETCDF_File* file = itable_get(open_files, ncid);
-
- if (varid == NC_GLOBAL)
- {
- hashtable_add(file->attributes, name, value);
- }
- else
- {
- CPNETCDF_Variable* v = itable_get(file->variables, varid);
- hashtable_add(v->attributes, name, value);
- }
- }
-
- return NC_NOERR;
-}
-
-int
-ncmpi_def_dim(int ncid, const char *name, int64_t size,
- int64_t *dimidp)
-{
- int dimid = dimid_unique++;
- *dimidp = dimid;
-
- if (mpi_rank == 0)
- {
- CPNETCDF_File* file = itable_get(open_files, ncid);
-
- int64_t* i = heap_i64(size);
- hashtable_add(file->dimension_names, name, i);
- itable_add(file->dimension_ids, dimid, i);
- }
-
- return NC_NOERR;
-}
-
-int
-ncmpi_def_var(int ncid, const char *name, nc_type type,
- int64_t ndims, const int64_t *dimids, int64_t *varidp)
-{
- int varid = varid_unique++;
- *varidp = varid;
-
- if (mpi_rank == 0)
- {
- CPNETCDF_File* file = itable_get(open_files, ncid);
-
- CPNETCDF_Variable* v =
- (CPNETCDF_Variable*) malloc(sizeof(CPNETCDF_Variable));
- v->type = type;
- v->dimensions = ndims;
- v->dimension_ids = dimids;
- v->attributes = hashtable_create(100);
- hashtable_add(file->variable_names, name, v);
- itable_add(file->variable_names, varid, v);
- }
-
- return NC_NOERR;
-}
-
-int
-ncmpi_enddef(int ncid)
-{
-
-}
diff --git a/oldcode/src/common/gen-locks/gen-locks.c b/oldcode/src/common/gen-locks/gen-locks.c
deleted file mode 100644
index 1876dbb..0000000
--- a/oldcode/src/common/gen-locks/gen-locks.c
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * (C) 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-
-/* This code implements generic locking that can be turned on or off at
- * compile time.
- */
-
-#include <stdlib.h>
-#include <errno.h>
-
-#include "gen-locks.h"
-
-/***************************************************************
- * visible functions
- */
-
-#ifndef __GEN_NULL_LOCKING__
-/*
- * gen_mutex_init()
- *
- * initializes a previously declared mutex
- *
- * returns 0 on success, -1 and sets errno on failure.
- */
-int gen_posix_mutex_init(
- pthread_mutex_t * mut)
-{
- return (pthread_mutex_init(mut, NULL));
-}
-
-/*
- * gen_mutex_lock()
- *
- * blocks until it obtains a mutex lock on the given mutex
- *
- * returns 0 on success, -1 and sets errno on failure.
- */
-int gen_posix_mutex_lock(
- pthread_mutex_t * mut)
-{
- return (pthread_mutex_lock(mut));
-}
-
-
-/*
- * gen_mutex_unlock()
- *
- * releases a lock held on a mutex
- *
- * returns 0 on success, -1 and sets errno on failure
- */
-int gen_posix_mutex_unlock(
- pthread_mutex_t * mut)
-{
- return (pthread_mutex_unlock(mut));
-}
-
-
-/*
- * pthread_mutex_trylock()
- *
- * nonblocking attempt to acquire a lock.
- *
- * returns 0 on success, -1 and sets errno on failure, sets errno to EBUSY
- * if it cannot obtain the lock
- */
-int gen_posix_mutex_trylock(
- pthread_mutex_t * mut)
-{
- return (pthread_mutex_trylock(mut));
-}
-
-/*
- * gen_mutex_destroy()
- *
- * uninitializes the mutex.
- *
- * returns 0 on success, -errno on failure.
- */
-int gen_posix_mutex_destroy(
- pthread_mutex_t * mut)
-{
-
- if (!mut)
- {
- return (-EINVAL);
- }
- pthread_mutex_destroy(mut);
-
- return (0);
-}
-
-pthread_t gen_posix_thread_self(void)
-{
- return pthread_self();
-}
-
-#endif
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/common/gen-locks/gen-locks.h b/oldcode/src/common/gen-locks/gen-locks.h
deleted file mode 100644
index 6bf0f77..0000000
--- a/oldcode/src/common/gen-locks/gen-locks.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * (C) 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-/* this is a header for a customizable set of locking primitives. They can
- * be turned on or off through compile time defines. Application
- * programmers should use the following interface for portability rather
- * than directly calling specific lock implementations:
- *
- * int gen_mutex_lock(gen_mutex_t* mut);
- * int gen_mutex_unlock(gen_mutex_t* mut);
- * int gen_mutex_trylock(gen_mutex_t* mut);
- * int gen_mutex_destroy(gen_mutex_t* mut);
- *
- * See the examples directory for details.
- */
-
-#ifndef __GEN_LOCKS_H
-#define __GEN_LOCKS_H
-
-#include <stdlib.h>
-
-/* we will make posix locks the default unless turned off for now. */
-/* this is especially important for development in which case the locks
- * should really be enabled in order to verify proper operation
- */
-#if !defined(__GEN_NULL_LOCKING__) && !defined(__GEN_POSIX_LOCKING__)
-#define __GEN_POSIX_LOCKING__
-#endif
-
-#ifdef __GEN_POSIX_LOCKING__
-#include <pthread.h>
-
- /* function prototypes for specific locking implementations */
-int gen_posix_mutex_lock(
- pthread_mutex_t * mut);
-int gen_posix_mutex_unlock(
- pthread_mutex_t * mut);
-int gen_posix_mutex_trylock(
- pthread_mutex_t * mut);
-int gen_posix_mutex_destroy(
- pthread_mutex_t * mut);
-int gen_posix_mutex_init(
- pthread_mutex_t * mut);
-pthread_t gen_posix_thread_self(void);
-
-typedef pthread_mutex_t gen_mutex_t;
-typedef pthread_t gen_thread_t;
-#define GEN_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER;
-#define gen_mutex_lock(m) gen_posix_mutex_lock(m)
-#define gen_mutex_unlock(m) gen_posix_mutex_unlock(m)
-#define gen_mutex_trylock(m) gen_posix_mutex_trylock(m)
-#define gen_mutex_destroy(m) gen_posix_mutex_destroy(m)
-#define gen_mutex_init(m) gen_posix_mutex_init(m)
-#define gen_thread_self() gen_posix_thread_self()
-#endif /* __GEN_POSIX_LOCKING__ */
-
-
-#ifdef __GEN_NULL_LOCKING__
- /* this stuff messes around just enough to prevent warnings */
-typedef int gen_mutex_t;
-typedef unsigned long gen_thread_t;
-#define GEN_MUTEX_INITIALIZER 0
-static inline int gen_mutex_lock(
- gen_mutex_t * mutex_p)
-{
- (void) mutex_p;
- return 0;
-}
-static inline int gen_mutex_unlock(
- gen_mutex_t * mutex_p)
-{
- (void) mutex_p;
- return 0;
-}
-static inline int gen_mutex_trylock(
- gen_mutex_t * mutex_p)
-{
- (void) mutex_p;
- return 0;
-}
-static inline gen_thread_t gen_thread_self(void)
-{
- return 0;
-}
-#define gen_mutex_init(m) do{}while(0)
-#define gen_mutex_destroy(m) do{}while(0)
-#endif /* __GEN_NULL_LOCKING__ */
-
-#endif /* __GEN_LOCKS_H */
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/common/gen-locks/module.mk.in b/oldcode/src/common/gen-locks/module.mk.in
deleted file mode 100644
index 23034c5..0000000
--- a/oldcode/src/common/gen-locks/module.mk.in
+++ /dev/null
@@ -1,3 +0,0 @@
-DIR := src/common/gen-locks
-LIBSRC += $(DIR)/gen-locks.c
-SERVERSRC += $(DIR)/gen-locks.c
diff --git a/oldcode/src/common/gossip/gossip.c b/oldcode/src/common/gossip/gossip.c
deleted file mode 100644
index 5a917a1..0000000
--- a/oldcode/src/common/gossip/gossip.c
+++ /dev/null
@@ -1,618 +0,0 @@
-/*
- * (C) 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-/** \file
- * \ingroup gossip
- *
- * Implementation of gossip interface.
- */
-
-// #include "grayskull-config.h"
-
-#include <stdio.h>
-#include <stdarg.h>
-#include <stdint.h>
-#include <stdio.h>
-#include <errno.h>
-#include <syslog.h>
-#include <stdlib.h>
-#include <time.h>
-#include <sys/time.h>
-#ifdef HAVE_EXECINFO_H
-#include <execinfo.h>
-#endif
-#ifdef __GOSSIP_ENABLE_MPI__
-#include <mpi.h>
-#endif
-
-#include "gossip.h"
-
-#if 0
-#include "gen-locks.h"
-#endif
-
-/** controls whether debugging is on or off */
-int gossip_debug_on = 0;
-
-/** controls the mask level for debugging messages */
-uint64_t gossip_debug_mask = 0;
-
-enum
-{
- GOSSIP_STDERR = 1,
- GOSSIP_FILE = 2,
- GOSSIP_SYSLOG = 4
-};
-
-/** determines which logging facility to use. Default to stderr to begin
- * with.
- */
-int gossip_facility = GOSSIP_STDERR;
-
-/* file handle used for file logging */
-static FILE *internal_log_file = NULL;
-
-/* syslog priority setting */
-static int internal_syslog_priority = LOG_INFO;
-
-/* what type of timestamp to put on logs */
-static enum gossip_logstamp internal_logstamp = GOSSIP_LOGSTAMP_DEFAULT;
-
-/*****************************************************************
- * prototypes
- */
-static int gossip_disable_stderr(void);
-static int gossip_disable_file(void);
-
-static int gossip_debug_fp_va(FILE *fp, char prefix, const char *format, va_list ap, enum
-gossip_logstamp ts);
-static int gossip_debug_syslog(
- char prefix,
- const char *format,
- va_list ap);
-static int gossip_err_syslog(
- const char *format,
- va_list ap);
-static int gossip_disable_syslog(
- void);
-
-
-/*****************************************************************
- * visible functions
- */
-
-/** Turns on syslog logging facility. The priority argument is a
- * combination of the facility and level to use, as seen in the
- * syslog(3) man page.
- *
- * \return 0 on success, -errno on failure.
- */
-int gossip_enable_syslog(
- int priority)
-{
-
- /* keep up with the existing logging settings */
- int tmp_debug_on = gossip_debug_on;
- uint64_t tmp_debug_mask = gossip_debug_mask;
-
- /* turn off any running facility */
- gossip_disable();
-
- internal_syslog_priority = priority;
- gossip_facility = GOSSIP_SYSLOG;
-
- openlog("PVFS2", 0, LOG_DAEMON);
-
- /* restore the logging settings */
- gossip_debug_on = tmp_debug_on;
- gossip_debug_mask = tmp_debug_mask;
-
- return 0;
-}
-
-/** Turns on logging to stderr.
- *
- * \return 0 on success, -errno on failure.
- */
-int gossip_enable_stderr(
- void)
-{
-
- /* keep up with the existing logging settings */
- int tmp_debug_on = gossip_debug_on;
- uint64_t tmp_debug_mask = gossip_debug_mask;
-
- /* turn off any running facility */
- gossip_disable();
-
- gossip_facility = GOSSIP_STDERR;
-
- /* restore the logging settings */
- gossip_debug_on = tmp_debug_on;
- gossip_debug_mask = tmp_debug_mask;
-
- return 0;
-}
-
-/** Turns on logging to a file. The filename argument indicates which
- * file to use for logging messages, and the mode indicates whether the
- * file should be truncated or appended (see fopen() man page).
- *
- * \return 0 on success, -errno on failure.
- */
-int gossip_enable_file(
- const char *filename,
- const char *mode)
-{
-
- /* keep up with the existing logging settings */
- int tmp_debug_on = gossip_debug_on;
- uint64_t tmp_debug_mask = gossip_debug_mask;
-
- /* turn off any running facility */
- gossip_disable();
-
- internal_log_file = fopen(filename, mode);
- if (!internal_log_file)
- {
- return -errno;
- }
-
- gossip_facility = GOSSIP_FILE;
-
- /* restore the logging settings */
- gossip_debug_on = tmp_debug_on;
- gossip_debug_mask = tmp_debug_mask;
-
- return 0;
-}
-
-/** Turns off any active logging facility and disables debugging.
- *
- * \return 0 on success, -errno on failure.
- */
-int gossip_disable(
- void)
-{
- int ret = -EINVAL;
-
- switch (gossip_facility)
- {
- case GOSSIP_STDERR:
- ret = gossip_disable_stderr();
- break;
- case GOSSIP_FILE:
- ret = gossip_disable_file();
- break;
- case GOSSIP_SYSLOG:
- ret = gossip_disable_syslog();
- break;
- default:
- break;
- }
-
- gossip_debug_on = 0;
- gossip_debug_mask = 0;
-
- return ret;
-}
-
-/** Fills in args indicating whether debugging is on or off, and what the
- * mask level is.
- *
- * \return 0 on success, -errno on failure.
- */
-int gossip_get_debug_mask(
- int *debug_on,
- uint64_t *mask)
-{
- *debug_on = gossip_debug_on;
- *mask = gossip_debug_mask;
- return 0;
-}
-
-/** Determines whether debugging messages are turned on or off. Also
- * specifies the mask that determines which debugging messages are
- * printed.
- *
- * \return 0 on success, -errno on failure.
- */
-int gossip_set_debug_mask(
- int debug_on,
- uint64_t mask)
-{
- if ((debug_on != 0) && (debug_on != 1))
- {
- return -EINVAL;
- }
-
- gossip_debug_on = debug_on;
- gossip_debug_mask = mask;
- return 0;
-}
-
-/* gossip_set_logstamp()
- *
- * sets timestamp style for gossip messages
- *
- * returns 0 on success, -errno on failure
- */
-int gossip_set_logstamp(
- enum gossip_logstamp ts)
-{
- internal_logstamp = ts;
- return(0);
-}
-
-#ifndef __GNUC__
-/* __gossip_debug_stub()
- *
- * stub for gossip_debug that doesn't do anything; used when debugging
- * is "compiled out" on non-gcc builds
- *
- * returns 0
- */
-int __gossip_debug_stub(
- uint64_t mask,
- char prefix,
- const char *format,
- ...)
-{
- return 0;
-}
-#endif
-
-
-/* __gossip_debug()
- *
- * Logs a standard debugging message. It will not be printed unless the
- * mask value matches (logical "and" operation) with the mask specified in
- * gossip_set_debug_mask() and debugging is turned on.
- *
- * returns 0 on success, -errno on failure
- */
-int __gossip_debug(
- uint64_t mask,
- char prefix,
- const char *format,
- ...)
-{
- int ret = -EINVAL;
- va_list ap;
-
- /* rip out the variable arguments */
- va_start(ap, format);
- ret = __gossip_debug_va(mask, prefix, format, ap);
- va_end(ap);
-
- return ret;
-}
-
-int __gossip_debug_va(
- uint64_t mask,
- char prefix,
- const char *format,
- va_list ap)
-{
- int ret = -EINVAL;
-
- /* NOTE: this check happens in the macro (before making a function call)
- * if we use gcc
- */
-#ifndef __GNUC__
- /* exit quietly if we aren't meant to print */
- if ((!gossip_debug_on) || !(gossip_debug_mask & mask) ||
- (!gossip_facility))
- {
- return 0;
- }
-#endif
-
- if(prefix == '?')
- {
- /* automatic prefix assignment */
- prefix = 'D';
- }
-
- switch (gossip_facility)
- {
- case GOSSIP_STDERR:
- ret = gossip_debug_fp_va(stderr, prefix, format, ap, internal_logstamp);
- break;
- case GOSSIP_FILE:
- ret = gossip_debug_fp_va(
- internal_log_file, prefix, format, ap, internal_logstamp);
- break;
- case GOSSIP_SYSLOG:
- ret = gossip_debug_syslog(prefix, format, ap);
- break;
- default:
- break;
- }
-
- return ret;
-}
-
-/** Logs a critical error message. This will print regardless of the
- * mask value and whether debugging is turned on or off, as long as some
- * logging facility has been enabled.
- *
- * \return 0 on success, -errno on failure.
- */
-int gossip_err(
- const char *format,
- ...)
-{
- va_list ap;
- int ret = -EINVAL;
-
- if (!gossip_facility)
- {
- return 0;
- }
-
- /* rip out the variable arguments */
- va_start(ap, format);
-
- switch (gossip_facility)
- {
- case GOSSIP_STDERR:
- ret = gossip_debug_fp_va(stderr, 'E', format, ap, internal_logstamp);
- break;
- case GOSSIP_FILE:
- ret = gossip_debug_fp_va(internal_log_file, 'E', format, ap, internal_logstamp);
- break;
- case GOSSIP_SYSLOG:
- ret = gossip_err_syslog(format, ap);
- break;
- default:
- break;
- }
-
- va_end(ap);
-
- return ret;
-}
-
-#ifdef GOSSIP_ENABLE_BACKTRACE
- #ifndef GOSSIP_BACKTRACE_DEPTH
- #define GOSSIP_BACKTRACE_DEPTH 12
- #endif
-/** Prints out a dump of the current stack (excluding this function)
- * using gossip_err.
- */
-void gossip_backtrace(void)
-{
- void *trace[GOSSIP_BACKTRACE_DEPTH];
- char **messages = NULL;
- int i, trace_size;
-
- trace_size = backtrace(trace, GOSSIP_BACKTRACE_DEPTH);
- messages = backtrace_symbols(trace, trace_size);
- for(i = 1; i < trace_size; i++)
- {
- gossip_err("\t[bt] %s\n", messages[i]);
- }
- free(messages);
-}
-#else
-void gossip_backtrace(void)
-{
-}
-#endif
-
-/****************************************************************
- * Internal functions
- */
-
-/* gossip_debug_syslog()
- *
- * This is the standard debugging message function for the syslog logging
- * facility
- *
- * returns 0 on success, -errno on failure
- */
-static int gossip_debug_syslog(
- char prefix,
- const char *format,
- va_list ap)
-{
- char buffer[GOSSIP_BUF_SIZE];
- char *bptr = buffer;
- int bsize = sizeof(buffer);
- int ret = -EINVAL;
-
- sprintf(bptr, "[%c] ", prefix);
- bptr += 4;
- bsize -= 4;
-
- ret = vsnprintf(bptr, bsize, format, ap);
- if (ret < 0)
- {
- return -errno;
- }
-
- syslog(internal_syslog_priority, "%s", buffer);
-
- return 0;
-}
-
-int gossip_debug_fp(FILE *fp, char prefix,
- enum gossip_logstamp ts, const char *format, ...)
-{
- int ret;
- va_list ap;
-
- /* rip out the variable arguments */
- va_start(ap, format);
- ret = gossip_debug_fp_va(fp, prefix, format, ap, ts);
- va_end(ap);
- return ret;
-}
-
-/* gossip_debug_fp_va()
- *
- * This is the standard debugging message function for the file logging
- * facility or to stderr.
- *
- * returns 0 on success, -errno on failure
- */
-static int gossip_debug_fp_va(FILE *fp, char prefix,
- const char *format, va_list ap, enum gossip_logstamp ts)
-{
- char buffer[GOSSIP_BUF_SIZE], *bptr = buffer;
- int bsize = sizeof(buffer);
- int ret = -EINVAL;
- struct timeval tv;
- time_t tp;
- int rank = -1;
-
- sprintf(bptr, "[%c ", prefix);
- bptr += 3;
- bsize -= 3;
-
- switch(ts)
- {
- case GOSSIP_LOGSTAMP_USEC:
- gettimeofday(&tv, 0);
- tp = tv.tv_sec;
- strftime(bptr, 9, "%H:%M:%S", localtime(&tp));
- sprintf(bptr+8, ".%06ld] ", (long)tv.tv_usec);
- bptr += 17;
- bsize -= 17;
- break;
- case GOSSIP_LOGSTAMP_DATETIME:
- gettimeofday(&tv, 0);
- tp = tv.tv_sec;
- strftime(bptr, 14, "%m/%d %H:%M] ", localtime(&tp));
- bptr += 13;
- bsize -= 13;
- break;
- case GOSSIP_LOGSTAMP_THREAD:
- gettimeofday(&tv, 0);
- tp = tv.tv_sec;
- strftime(bptr, 9, "%H:%M:%S", localtime(&tp));
-#if 0
- sprintf(bptr+8, ".%06ld (%ld)] ", (long)tv.tv_usec,
- gen_thread_self());
-#endif
- /* CUT OUT THREAD -- RBR, 12/18/2007 */
- sprintf(bptr+8, ".%06ld (xx)] ", (long)tv.tv_usec);
- bptr += 30;
- bsize -= 30;
- break;
- case GOSSIP_LOGSTAMP_MPI:
- gettimeofday(&tv, 0);
- tp = tv.tv_sec;
- strftime(bptr, 9, "%H:%M:%S", localtime(&tp));
-#ifdef __GOSSIP_ENABLE_MPI__
- MPI_Comm_rank(MPI_COMM_WORLD, &rank);
-#endif
- ret = sprintf(bptr+8, ".%06ld R:%d] ", (long)tv.tv_usec, rank);
- bptr += (ret+8);
- bsize -= (ret+8);
- break;
- case GOSSIP_LOGSTAMP_NONE:
- bptr--;
- sprintf(bptr, "] ");
- bptr += 2;
- bsize++;
- break;
- default:
- break;
- }
-
- ret = vsnprintf(bptr, bsize, format, ap);
- if (ret < 0)
- {
- return -errno;
- }
-
- ret = fprintf(fp, "%s", buffer);
- if (ret < 0)
- {
- return -errno;
- }
- fflush(fp);
-
- return 0;
-}
-
-/* gossip_err_syslog()
- *
- * error message function for the syslog logging facility
- *
- * returns 0 on success, -errno on failure
- */
-static int gossip_err_syslog(
- const char *format,
- va_list ap)
-{
- /* for syslog we have the opportunity to change the priority level
- * for errors
- */
- int tmp_priority = internal_syslog_priority;
- internal_syslog_priority = LOG_ERR;
-
- gossip_debug_syslog('E', format, ap);
-
- internal_syslog_priority = tmp_priority;
-
- return 0;
-}
-
-
-/* gossip_disable_stderr()
- *
- * The shutdown function for the stderr logging facility.
- *
- * returns 0 on success, -errno on failure
- */
-static int gossip_disable_stderr(
- void)
-{
- /* this function doesn't need to do anything... */
- return 0;
-}
-
-/* gossip_disable_file()
- *
- * The shutdown function for the file logging facility.
- *
- * returns 0 on success, -errno on failure
- */
-static int gossip_disable_file(
- void)
-{
- if (internal_log_file)
- {
- fclose(internal_log_file);
- internal_log_file = NULL;
- }
- return 0;
-}
-
-/* gossip_disable_syslog()
- *
- * The shutdown function for the syslog logging facility.
- *
- * returns 0 on success, -errno on failure
- */
-static int gossip_disable_syslog(
- void)
-{
- closelog();
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/common/gossip/gossip.h b/oldcode/src/common/gossip/gossip.h
deleted file mode 100644
index de057f8..0000000
--- a/oldcode/src/common/gossip/gossip.h
+++ /dev/null
@@ -1,234 +0,0 @@
-/*
- * (C) 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-/** \defgroup gossip gossip logging interface
- *
- * This is a basic application logging facility. It uses printf style
- * formatting and provides several mechanisms for output.
- *
- * @{
- */
-
-/** \file
- *
- * Declarations for the gossip logging interface.
- */
-
-#ifndef __GOSSIP_H
-#define __GOSSIP_H
-
-#ifndef __KERNEL__
-#include <stdint.h>
-#include <stdarg.h>
-#include "syslog.h"
-#endif
-#include "grayskull-config.h"
-
-// Masks...
-#define MASK_NONE ((uint64_t)0)
-#define MASK_DEBUG ((uint64_t)1 << 1)
-#define MASK_MPIRPC ((uint64_t)1 << 2)
-#define MASK_DHT ((uint64_t)1 << 3)
-#define MASK_ADTS ((uint64_t)1 << 4)
-#define MASK_DRIVER ((uint64_t)1 << 5)
-#define MASK_CMPI ((uint64_t)1 << 6)
-#define MASK_ARCH ((uint64_t)1 << 7)
-#define MASK_STORAGE ((uint64_t)1 << 8)
-#define MASK_GUM ((uint64_t)1 << 9)
-#define MASK_GOBS ((uint64_t)1 << 10)
-#define MASK_FS ((uint64_t)1 << 11)
-#define MASK_CLIENT ((uint64_t)1 << 12)
-
-/********************************************************************
- * Visible interface
- */
-
-#define GOSSIP_BUF_SIZE 1024
-
-/* what type of timestamp to place in msgs */
-enum gossip_logstamp
-{
- GOSSIP_LOGSTAMP_NONE = 0,
- GOSSIP_LOGSTAMP_USEC = 1,
- GOSSIP_LOGSTAMP_DATETIME = 2,
- GOSSIP_LOGSTAMP_THREAD = 3,
- GOSSIP_LOGSTAMP_MPI = 4,
-};
-#define GOSSIP_LOGSTAMP_DEFAULT GOSSIP_LOGSTAMP_MPI
-
-/* Keep a simplified version for the kmod */
-#ifdef __KERNEL__
-
-#ifdef GOSSIP_DISABLE_DEBUG
-#define gossip_debug(mask, format, f...) do {} while(0)
-#else
-extern int gossip_debug_mask;
-
-/* try to avoid function call overhead by checking masks in macro */
-#define gossip_debug(mask, format, f...) \
-do { \
- if (gossip_debug_mask & mask) \
- { \
- printk(format, ##f); \
- } \
-} while(0)
-#endif /* GOSSIP_DISABLE_DEBUG */
-
-/* do file and line number printouts w/ the GNU preprocessor */
-#define gossip_ldebug(mask, format, f...) \
-do { \
- gossip_debug(mask, "%s: " format, __func__ , ##f); \
-} while(0)
-
-#define gossip_err printk
-#define gossip_lerr(format, f...) \
-do { \
- gossip_err("%s line %d: " format, __FILE__ , __LINE__ , ##f); \
-} while(0)
-
-#else /* __KERNEL__ */
-
-/* stdio is needed by gossip_debug_fp declaration for FILE* */
-#include <stdio.h>
-
-int gossip_enable_syslog(
- int priority);
-int gossip_enable_stderr(
- void);
-int gossip_enable_file(
- const char *filename,
- const char *mode);
-int gossip_disable(
- void);
-int gossip_set_debug_mask(
- int debug_on,
- uint64_t mask);
-int gossip_get_debug_mask(
- int *debug_on,
- uint64_t *mask);
-int gossip_set_logstamp(
- enum gossip_logstamp ts);
-
-void gossip_backtrace(void);
-
-#ifdef __GNUC__
-
-/* do printf style type checking if built with gcc */
-int __gossip_debug(
- uint64_t mask,
- char prefix,
- const char *format,
- ...) __attribute__ ((format(printf, 3, 4)));
-int gossip_err(
- const char *format,
- ...) __attribute__ ((format(printf, 1, 2)));
-int __gossip_debug_va(
- uint64_t mask,
- char prefix,
- const char *format,
- va_list ap);
-int gossip_debug_fp(
- FILE *fp,
- char prefix,
- enum gossip_logstamp ts,
- const char *format,
- ...) __attribute__ ((format(printf, 4, 5)));
-
-#ifdef GOSSIP_DISABLE_DEBUG
-#define gossip_debug(mask, format, f...) do {} while(0)
-#define gossip_perf_log(format, f...) do {} while(0)
-#define gossip_debug_enabled(__m) 0
-#else
-extern int gossip_debug_on;
-extern int gossip_facility;
-extern uint64_t gossip_debug_mask;
-
-#define gossip_debug_enabled(__m) \
- (gossip_debug_on && (gossip_debug_mask & __m))
-
-/* try to avoid function call overhead by checking masks in macro */
-#define gossip_debug(mask, format, f...) \
-do { \
- if ((gossip_debug_on) && (gossip_debug_mask & mask) &&\
- (gossip_facility)) \
- { \
- __gossip_debug(mask, '?', format, ##f); \
- } \
-} while(0)
-#define gossip_perf_log(format, f...) \
-do { \
- if ((gossip_debug_on) && \
- (gossip_debug_mask & GOSSIP_PERFCOUNTER_DEBUG) && \
- (gossip_facility)) \
- { \
- __gossip_debug(GOSSIP_PERFCOUNTER_DEBUG, 'P', \
- format, ##f); \
- } \
-} while(0)
-#define gossip_do(mask, x) \
- if ((gossip_debug_on) && (gossip_debug_mask & mask) && \
- (gossip_facility)) \
- { x; }
-
-#endif /* GOSSIP_DISABLE_DEBUG */
-
-/* do file and line number printouts w/ the GNU preprocessor */
-#define gossip_ldebug(mask, format, f...) \
-do { \
- gossip_debug(mask, "%s %s() line %d: " format, __FILE__, __func__ , __LINE__, ##f); \
-} while(0)
-
-#define gossip_lerr(format, f...) \
-do { \
- gossip_err("%s %s() line %d: " format, __FILE__ , __func__, __LINE__ , ##f); \
- gossip_backtrace(); \
-} while(0)
-#else /* ! __GNUC__ */
-
-int __gossip_debug(
- uint64_t mask,
- char prefix,
- const char *format,
- ...);
-int __gossip_debug_stub(
- uint64_t mask,
- char prefix,
- const char *format,
- ...);
-int gossip_err(
- const char *format,
- ...);
-
-#ifdef GOSSIP_DISABLE_DEBUG
-#define gossip_debug(__m, __f, f...) __gossip_debug_stub(__m, '?', __f, ##f);
-#define gossip_ldebug(__m, __f, f...) __gossip_debug_stub(__m, '?', __f, ##f);
-#define gossip_debug_enabled(__m) 0
-#else
-#define gossip_debug(__m, __f, f...) __gossip_debug(__m, '?', __f, ##f);
-#define gossip_ldebug(__m, __f, f...) __gossip_debug(__m, '?', __f, ##f);
-#define gossip_debug_enabled(__m) \
- ((gossip_debug_on != 0) && (__m & gossip_debug_mask))
-
-#endif /* GOSSIP_DISABLE_DEBUG */
-
-#define gossip_lerr gossip_err
-
-#endif /* __GNUC__ */
-
-#endif /* __KERNEL__ */
-
-#endif /* __GOSSIP_H */
-
-/* @} */
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/common/gossip/gs-debug.c b/oldcode/src/common/gossip/gs-debug.c
deleted file mode 100644
index 0d9d55c..0000000
--- a/oldcode/src/common/gossip/gs-debug.c
+++ /dev/null
@@ -1,100 +0,0 @@
-#include <string.h>
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "gs-debug.h"
-
-/* a private internal type */
-typedef struct
-{
- const char *keyword;
- uint64_t mask_val;
-} __keyword_mask_t;
-
-#define __DEBUG_ALL ((uint64_t) -1)
-
-/* map all config keywords to pvfs2 debug masks here */
-static __keyword_mask_t s_keyword_mask_map[] =
-{
- /* example level until we have real masks */
- { "example", GS_D_EXAMPLE },
-
- /* NOTE: add additional levels here */
-
- /* No debug output */
- { "none", GS_D_NONE },
- /* Everything */
- { "all", __DEBUG_ALL }
-};
-#undef __DEBUG_ALL
-
-static const int num_keyword_mask_map = (int) \
-(sizeof(s_keyword_mask_map) / sizeof(__keyword_mask_t));
-
-static uint64_t debug_to_mask(__keyword_mask_t *mask_map,
- int num_mask_map, const char *event_logging)
-{
- uint64_t mask = 0;
- char *s = NULL, *t = NULL;
- const char *toks = ", ";
- int i = 0, negate = 0;
-
- if (event_logging)
- {
- s = strdup(event_logging);
- t = strtok(s, toks);
-
- while(t)
- {
- if (*t == '-')
- {
- negate = 1;
- ++t;
- }
-
- for(i = 0; i < num_mask_map; i++)
- {
- if (!strcmp(t, mask_map[i].keyword))
- {
- if (negate)
- {
- mask &= ~mask_map[i].mask_val;
- }
- else
- {
- mask |= mask_map[i].mask_val;
- }
- break;
- }
- }
- t = strtok(NULL, toks);
- }
- free(s);
- }
- return mask;
-}
-
-/*
- * Based on human readable keywords, translate them into
- * a mask value appropriate for the debugging level desired.
- * The 'computed' mask is returned; 0 if no keywords are
- * present or recognized.
- *
- * Prefix a keyword with "-" to turn it off. All keywords
- * processed in specified order.
- */
-uint64_t gs_debug_mask(const char *event_logging)
-{
- return debug_to_mask(s_keyword_mask_map,
- num_keyword_mask_map, event_logging);
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/common/gossip/module.mk.in b/oldcode/src/common/gossip/module.mk.in
deleted file mode 100644
index 14a8119..0000000
--- a/oldcode/src/common/gossip/module.mk.in
+++ /dev/null
@@ -1,12 +0,0 @@
-GOSSIP_ENABLE_BACKTRACE =
-# TODO: need to figure out how to tie in -rdynamic configure tests here, in top
-# level makefile it is only enabled with $DEBUG regardless of configure
-# outcome
-
-DIR := src/common/gossip
-ADT_SRC += $(DIR)/gossip.c
-ADT_SRC += $(DIR)/gs-debug.c
-
-ifdef GOSSIP_ENABLE_BACKTRACE
-MODCFLAGS_$(DIR)/gossip.c := -DGOSSIP_ENABLE_BACKTRACE
-endif
diff --git a/oldcode/src/common/id-generator/id-generator.c b/oldcode/src/common/id-generator/id-generator.c
deleted file mode 100644
index 6775eb4..0000000
--- a/oldcode/src/common/id-generator/id-generator.c
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * (C) 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-#include <stdlib.h>
-#include <assert.h>
-#include "id-generator.h"
-#include "src/common/quickhash/quickhash.h"
-#include "src/common/gen-locks/gen-locks.h"
-
-#define DEFAULT_ID_GEN_SAFE_TABLE_SIZE 997
-
-static gen_mutex_t s_id_gen_safe_mutex = GEN_MUTEX_INITIALIZER;
-static int s_id_gen_safe_init_count = 0;
-
-static int hash_key(void *key, int table_size);
-static int hash_key_compare(void *key, struct qlist_head *link);
-
-static PVFS_id_gen_t s_id_gen_safe_tag = 0;
-
-typedef struct
-{
- struct qlist_head hash_link;
-
- PVFS_id_gen_t id;
- void *item;
-} id_gen_safe_t;
-
-static struct qhash_table *s_id_gen_safe_table = NULL;
-
-#define ID_GEN_SAFE_INITIALIZED() \
-(s_id_gen_safe_table)
-
-int id_gen_safe_initialize()
-{
- if (!ID_GEN_SAFE_INITIALIZED())
- {
- s_id_gen_safe_table = qhash_init(
- hash_key_compare, hash_key, DEFAULT_ID_GEN_SAFE_TABLE_SIZE);
- if (!s_id_gen_safe_table)
- {
- return -PVFS_ENOMEM;
- }
- }
- s_id_gen_safe_init_count++;
- return 0;
-}
-
-int id_gen_safe_finalize()
-{
- s_id_gen_safe_init_count--;
- if(s_id_gen_safe_init_count == 0 && ID_GEN_SAFE_INITIALIZED())
- {
- gen_mutex_lock(&s_id_gen_safe_mutex);
- qhash_destroy_and_finalize(s_id_gen_safe_table, id_gen_safe_t, hash_link, free);
- s_id_gen_safe_table = NULL;
- gen_mutex_unlock(&s_id_gen_safe_mutex);
- }
- return 0;
-}
-
-int id_gen_safe_register(
- PVFS_id_gen_t *new_id,
- void *item)
-{
- id_gen_safe_t *id_elem = NULL;
-
- assert(s_id_gen_safe_table != NULL);
-
- if (!item)
- {
- return -PVFS_EINVAL;
- }
-
- gen_mutex_lock(&s_id_gen_safe_mutex);
-
- id_elem = (id_gen_safe_t *)malloc(sizeof(id_gen_safe_t));
- if (!id_elem)
- {
- return -PVFS_ENOMEM;
- }
-
- id_elem->id = ++s_id_gen_safe_tag;
- id_elem->item = item;
-
- qhash_add(s_id_gen_safe_table, &id_elem->id, &id_elem->hash_link);
-
- *new_id = id_elem->id;
-
- gen_mutex_unlock(&s_id_gen_safe_mutex);
- return 0;
-}
-
-void *id_gen_safe_lookup(PVFS_id_gen_t id)
-{
- void *ret = NULL;
- id_gen_safe_t *id_elem = NULL;
- struct qlist_head *hash_link = NULL;
-
- if (ID_GEN_SAFE_INITIALIZED())
- {
- gen_mutex_lock(&s_id_gen_safe_mutex);
-
- hash_link = qhash_search(s_id_gen_safe_table, &id);
- if (hash_link)
- {
- id_elem = qlist_entry(hash_link, id_gen_safe_t, hash_link);
- assert(id_elem);
- assert(id_elem->id == id);
- assert(id_elem->item);
-
- ret = id_elem->item;
- }
- gen_mutex_unlock(&s_id_gen_safe_mutex);
- }
- return ret;
-}
-
-int id_gen_safe_unregister(PVFS_id_gen_t new_id)
-{
- int ret = -PVFS_EINVAL;
- id_gen_safe_t *id_elem = NULL;
- struct qlist_head *hash_link = NULL;
-
- if (ID_GEN_SAFE_INITIALIZED())
- {
- gen_mutex_lock(&s_id_gen_safe_mutex);
-
- hash_link = qhash_search_and_remove(
- s_id_gen_safe_table, &new_id);
- if (hash_link)
- {
- id_elem = qlist_entry(hash_link, id_gen_safe_t, hash_link);
- assert(id_elem);
-
- id_elem->item = NULL;
- free(id_elem);
- ret = 0;
- }
- gen_mutex_unlock(&s_id_gen_safe_mutex);
- }
- return ret;
-}
-
-static int hash_key(void *key, int table_size)
-{
- unsigned long tmp = 0;
- PVFS_id_gen_t *id = (PVFS_id_gen_t *)key;
-
- tmp += *id;
- tmp = tmp % table_size;
-
- return ((int) tmp);
-}
-
-static int hash_key_compare(void *key, struct qlist_head *link)
-{
- id_gen_safe_t *id_elem = NULL;
- PVFS_id_gen_t id = *((PVFS_id_gen_t *)key);
-
- id_elem = qlist_entry(link, id_gen_safe_t, hash_link);
- assert(id_elem);
-
- return (id_elem->id == id);
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/common/id-generator/id-generator.h b/oldcode/src/common/id-generator/id-generator.h
deleted file mode 100644
index 0b902bf..0000000
--- a/oldcode/src/common/id-generator/id-generator.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * (C) 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-
-/* A small library for generating and looking up fully opaque id's for
- * an arbitrary piece of data.
- */
-
-/* This will hopefully eventually be a library of mechanisms for doing
- * fast registration and lookups of data structures. Right now it only
- * has routines that directly convert pointers into integer types and vice
- * versa.
- */
-
-#ifndef __ID_GENERATOR_H
-#define __ID_GENERATOR_H
-
-#include <stdint.h>
-
-#if 0
-#include "pvfs2-types.h"
-#include "grayskull-config.h"
-#endif
-
-#include "junk.h"
-
-/* id_gen_fast_register()
- *
- * registers a piece of data (a pointer of some sort) and
- * returns an opaque id for it.
- *
- * *new_id will be 0 if item is NULL
- */
-static inline void id_gen_fast_register(PVFS_id_gen_t * new_id,
- void *item)
-{
-#if SIZEOF_VOID_P == 8
- *new_id = (int64_t) item;
-#else
- *new_id = 0;
- *new_id += (int32_t) item;
-#endif
-}
-
-/* id_gen_fast_lookup()
- *
- * Returns the piece of data registered with an id. It does no error
- * checking! It does not make sure that that the id was actually
- * registered before proceeding.
- *
- * returns pointer to data on success, NULL on failure
- */
-static inline void *id_gen_fast_lookup(PVFS_id_gen_t id)
-{
-#if SIZEOF_VOID_P == 8
- return (void *) id;
-#else
- return (void *) (uint32_t) id;
-#endif
-}
-
-#define id_gen_fast_unregister(id) do { } while(0)
-
-int id_gen_safe_initialize(void);
-int id_gen_safe_finalize(void);
-
-/* id_gen_safe_register()
- *
- * registers a piece of data (a pointer of some sort) and returns an
- * opaque id for it. this register is safe because it is guaranteed
- * to have an indirect association with the data being registered
- *
- * returns 0 on success, -errno on failure
- */
-int id_gen_safe_register(PVFS_id_gen_t *new_id,
- void *item);
-
-void *id_gen_safe_lookup(PVFS_id_gen_t id);
-
-int id_gen_safe_unregister(PVFS_id_gen_t new_id);
-
-#endif /* __ID_GENERATOR_H */
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/common/id-generator/module.mk.in b/oldcode/src/common/id-generator/module.mk.in
deleted file mode 100644
index 0a605f1..0000000
--- a/oldcode/src/common/id-generator/module.mk.in
+++ /dev/null
@@ -1,4 +0,0 @@
-DIR := src/common/id-generator
-LIBSRC += $(DIR)/id-generator.c
-SERVERSRC += $(DIR)/id-generator.c
-
diff --git a/oldcode/src/common/job/TODO b/oldcode/src/common/job/TODO
deleted file mode 100644
index 2055ea9..0000000
--- a/oldcode/src/common/job/TODO
+++ /dev/null
@@ -1,29 +0,0 @@
-
-general
-==========================================
-
-- come back later and do some optimizing to avoid the flags
- argument to job_bmi_unexp(). This flag can be used to disable
- immediate completion, which is currently necessary in the server
- code to allow it to repost unexpected jobs correctly. See
- mailing list thread:
- http://www.beowulf-underground.org/pipermail/pvfs2-internal/2003-February/0…
-
-- make post functions avoid allocating a job descriptor if they
- immediately complete (right now, we allocate one whether its
- needed or not, really) - actually, may be best to just make sure that
- job descriptors are cached rather than malloc'd on every call
-
-- bring example programs back up to speed
-
-- once unpost() is fully supported, attempt to unpost any pending
- operations at finalize time
-
-- handle timeout / unpost situations
-
-- make thread condition signalling more efficient (maybe try to avoid
- waking up testing processes unless something they were looking for
- completed)
-
-- make job API thread safe (needed eventually for thread safe system
- interface API?
diff --git a/oldcode/src/common/job/job-desc-queue.c b/oldcode/src/common/job/job-desc-queue.c
deleted file mode 100644
index 8f63a55..0000000
--- a/oldcode/src/common/job/job-desc-queue.c
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * (C) 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-/* functions for handling queues of jobs that the job interface is
- * managing
- */
-
-#include <stdlib.h>
-#include <errno.h>
-#include <string.h>
-#include <assert.h>
-
-#include "job-desc-queue.h"
-#include "src/common/gossip/gossip.h"
-#include "src/common/id-generator/id-generator.h"
-
-/***************************************************************
- * Visible functions
- */
-
-/* alloc_job_desc()
- *
- * creates a new job desc struct and fills in default values
- *
- * returns pointer to structure on success, NULL on failure
- */
-struct job_desc *alloc_job_desc(int type)
-{
- struct job_desc *jd = NULL;
-
- jd = (struct job_desc *) malloc(sizeof(struct job_desc));
- if (!jd)
- {
- return (NULL);
- }
- memset(jd, 0, sizeof(struct job_desc));
-
- id_gen_safe_register(&(jd->job_id), jd);
-
- jd->type = type;
- return (jd);
-};
-
-/* dealloc_job_desc()
- *
- * destroys an existing job desc structure
- *
- * no return value
- */
-void dealloc_job_desc(struct job_desc *jd)
-{
- id_gen_safe_unregister(jd->job_id);
- free(jd);
-}
-
-/* job_desc_q_new()
- *
- * creates a new queue of job descriptions
- *
- * returns pointer to queue on success, NULL on failure
- */
-job_desc_q_p job_desc_q_new(void)
-{
- struct qlist_head *tmp_job_desc_q = NULL;
-
- tmp_job_desc_q = (struct qlist_head *)
- malloc(sizeof(struct qlist_head));
- if (tmp_job_desc_q)
- {
- INIT_QLIST_HEAD(tmp_job_desc_q);
- }
- return (tmp_job_desc_q);
-}
-
-/* job_desc_q_cleanup()
- *
- * destroys an existing queue of job descriptions
- *
- * no return value
- */
-void job_desc_q_cleanup(job_desc_q_p jdqp)
-{
- job_desc_q_p iterator = NULL;
- job_desc_q_p scratch = NULL;
- struct job_desc *tmp_job_desc = NULL;
-
- if (jdqp)
- {
- qlist_for_each_safe(iterator, scratch, jdqp)
- {
- tmp_job_desc = qlist_entry(iterator, struct job_desc,
- job_desc_q_link);
- /* qlist_for_each_safe lets us iterate and remove nodes. no
- * need to adjust pointers as we are freeing everything */
- free(tmp_job_desc);
- }
-
- free(jdqp);
- jdqp = NULL;
- }
- return;
-}
-
-/* job_desc_q_add()
- *
- * adds a new job description to a queue
- *
- * no return value
- */
-void job_desc_q_add(job_desc_q_p jdqp,
- struct job_desc *desc)
-{
- if (jdqp)
- {
- assert(desc);
-
- /* note that we are adding to tail to preserve fifo order */
- qlist_add_tail(&(desc->job_desc_q_link), jdqp);
- }
-}
-
-/* job_desc_q_remove()
- *
- * removes an entry from a job desc queue
- *
- * no return value
- */
-void job_desc_q_remove(struct job_desc *desc)
-{
- assert(desc);
- qlist_del(&(desc->job_desc_q_link));
-}
-
-/* job_desc_q_empty()
- *
- * checks to see if a given queue is empty or not
- *
- * returns 1 if empty, 0 otherwise
- */
-int job_desc_q_empty(job_desc_q_p jdqp)
-{
- return (qlist_empty(jdqp));
-}
-
-/* job_desc_q_shownext()
- *
- * returns a pointer to the next item in the queue
- *
- * returns pointer to job desc on success, NULL on failure
- */
-struct job_desc *job_desc_q_shownext(job_desc_q_p jdqp)
-{
- if (jdqp->next == jdqp)
- {
- return (NULL);
- }
- return (qlist_entry(jdqp->next, struct job_desc, job_desc_q_link));
-}
-
-
-/* job_desc_q_dump()
- *
- * prints out the contents of the desired job desc queue
- *
- * no return value
- */
-void job_desc_q_dump(job_desc_q_p jdqp)
-{
- struct qlist_head *tmp_link = NULL;
- struct job_desc *tmp_entry = NULL;
-
- gossip_err("job_desc_q_dump():\n");
- gossip_err("------------------\n");
-
- /* iterate all the way through the queue */
- qlist_for_each(tmp_link, jdqp)
- {
- tmp_entry = qlist_entry(tmp_link, struct job_desc,
- job_desc_q_link);
- gossip_err(" job id: %ld.\n", (long) tmp_entry->job_id);
- switch (tmp_entry->type)
- {
- case JOB_NULL:
- gossip_err(" type: JOB_NULL.\n");
- break;
- }
- }
-
- return;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/common/job/job-desc-queue.h b/oldcode/src/common/job/job-desc-queue.h
deleted file mode 100644
index 1e0b811..0000000
--- a/oldcode/src/common/job/job-desc-queue.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * (C) 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-/* functions for handling queues of jobs that the job interface is
- * managing
- */
-
-#ifndef __JOB_DESC_QUEUE_H
-#define __JOB_DESC_QUEUE_H
-
-#include "src/common/quicklist/quicklist.h"
-#include "job.h"
-
-
-/* passes along error code for null jobs */
-struct null_info_desc
-{
- int error_code;
-};
-
-enum job_type
-{
- JOB_NULL = 1
-};
-
-/* describes a job, which may be one of several types */
-struct job_desc
-{
- enum job_type type; /* type of job */
- job_id_t job_id; /* job interface identifier */
- void *job_user_ptr; /* user pointer */
- job_aint status_user_tag; /* user supplied tag */
- int completed_flag; /* has the job finished? */
- job_context_id context_id; /* context */
-#if 0
- enum PVFS_event_op event_type;
-#endif
-
- /* union of information for lower level interfaces */
- union
- {
- struct null_info_desc null_info;
- }
- u;
-
- struct qlist_head job_desc_q_link; /* queue link */
- struct qlist_head job_time_link; /* queue link */
- void* time_bucket;
-};
-
-typedef struct qlist_head *job_desc_q_p;
-
-struct job_desc *alloc_job_desc(int type);
-void dealloc_job_desc(struct job_desc *jd);
-job_desc_q_p job_desc_q_new(void);
-void job_desc_q_cleanup(job_desc_q_p jdqp);
-void job_desc_q_add(job_desc_q_p jdqp,
- struct job_desc *desc);
-void job_desc_q_remove(struct job_desc *desc);
-int job_desc_q_empty(job_desc_q_p jdqp);
-struct job_desc *job_desc_q_shownext(job_desc_q_p jdqp);
-void job_desc_q_dump(job_desc_q_p jdqp);
-
-#endif /* __JOB_DESC_QUEUE_H */
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/common/job/job-time-mgr.c b/oldcode/src/common/job/job-time-mgr.c
deleted file mode 100644
index 6c13ccb..0000000
--- a/oldcode/src/common/job/job-time-mgr.c
+++ /dev/null
@@ -1,277 +0,0 @@
-/*
- * (C) 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-#include <sys/time.h>
-#include <assert.h>
-#include <string.h>
-
-#include "job-desc-queue.h"
-#include "job.h"
-#include "src/common/quicklist/quicklist.h"
-#include "src/common/gen-locks/gen-locks.h"
-#include "src/common/gossip/gossip.h"
-#include "job-time-mgr.h"
-
-static QLIST_HEAD(bucket_queue);
-static gen_mutex_t bucket_mutex = GEN_MUTEX_INITIALIZER;
-
-struct time_bucket
-{
- long expire_time_sec;
- struct qlist_head bucket_link;
- struct qlist_head jd_queue;
-};
-
-/* job_time_mgr_init()
- *
- * initialize timeout mgmt interface
- *
- * returns 0 on success, -PVFS_error on failure
- */
-int job_time_mgr_init(void)
-{
- INIT_QLIST_HEAD(&bucket_queue);
- return(0);
-}
-
-/* job_time_mgr_finalize()
- *
- * shut down timeout mgmt interface
- *
- * returns 0 on success, -PVFS_error on failure
- */
-int job_time_mgr_finalize(void)
-{
- struct qlist_head* iterator = NULL;
- struct qlist_head* scratch = NULL;
- struct qlist_head* iterator2 = NULL;
- struct qlist_head* scratch2 = NULL;
- struct time_bucket* tmp_bucket = NULL;
- struct job_desc* jd = NULL;
-
- gen_mutex_lock(&bucket_mutex);
-
- qlist_for_each_safe(iterator, scratch, &bucket_queue)
- {
- tmp_bucket = qlist_entry(iterator, struct time_bucket, bucket_link);
- assert(tmp_bucket);
-
- qlist_del(&tmp_bucket->bucket_link);
- qlist_for_each_safe(iterator2, scratch2, &tmp_bucket->jd_queue)
- {
- jd = qlist_entry(iterator2, struct job_desc, job_time_link);
- qlist_del(&jd->job_time_link);
- jd->time_bucket = NULL;
- }
- INIT_QLIST_HEAD(&tmp_bucket->jd_queue);
- free(tmp_bucket);
- }
- INIT_QLIST_HEAD(&bucket_queue);
-
- gen_mutex_unlock(&bucket_mutex);
-
- return(0);
-}
-
-static int __job_time_mgr_add(struct job_desc* jd, int timeout_sec)
-{
- struct timeval tv;
- long expire_time_sec;
- struct qlist_head* tmp_link;
- struct time_bucket* tmp_bucket = NULL;
- struct time_bucket* prev_bucket = NULL;
- struct time_bucket* new_bucket = NULL;
-
- struct qlist_head* prev;
- struct qlist_head* next;
-
- if(timeout_sec == JOB_TIMEOUT_INF)
- {
- /* do nothing */
- return(0);
- }
-
- gettimeofday(&tv, NULL);
-
- /* round up to the second that this job should expire */
- expire_time_sec = tv.tv_sec + timeout_sec;
-
- /* look for a bucket matching the desired seconds value */
- qlist_for_each(tmp_link, &bucket_queue)
- {
- tmp_bucket = qlist_entry(
- tmp_link, struct time_bucket, bucket_link);
- assert(tmp_bucket);
-
- if(tmp_bucket->expire_time_sec >= expire_time_sec)
- {
- break;
- }
-
- prev_bucket = tmp_bucket;
- tmp_bucket = NULL;
- }
-
- if(!tmp_bucket || tmp_bucket->expire_time_sec != expire_time_sec)
- {
- /* make a new bucket, we didn't find an exact match */
- new_bucket = (struct time_bucket*)
- malloc(sizeof(struct time_bucket));
- assert(new_bucket);
-
- new_bucket->expire_time_sec = expire_time_sec;
- INIT_QLIST_HEAD(&new_bucket->bucket_link);
- INIT_QLIST_HEAD(&new_bucket->jd_queue);
-
- if(tmp_bucket)
- next = &tmp_bucket->bucket_link;
- else
- next = &bucket_queue;
-
- if(prev_bucket)
- prev = &prev_bucket->bucket_link;
- else
- prev = &bucket_queue;
-
- __qlist_add(&new_bucket->bucket_link, prev, next);
-
- tmp_bucket = new_bucket;
- }
-
- assert(tmp_bucket);
- assert(tmp_bucket->expire_time_sec >= expire_time_sec);
-
- /* add the job descriptor onto the correct bucket */
- qlist_add_tail(&jd->job_time_link, &tmp_bucket->jd_queue);
- jd->time_bucket = tmp_bucket;
-
- return(0);
-}
-/* job_time_mgr_add()
- *
- * adds a job to be monitored for timeout, timeout_sec is an interval in
- * seconds
- *
- * return 0 on success, -PVFS_error on failure
- */
-int job_time_mgr_add(struct job_desc* jd, int timeout_sec)
-{
- int ret = -1;
-
- gen_mutex_lock(&bucket_mutex);
-
- ret = __job_time_mgr_add(jd, timeout_sec);
-
- gen_mutex_unlock(&bucket_mutex);
-
- return(ret);
-}
-
-/* job_time_mgr_rem()
- *
- * remove a job from the set that is being monitored for timeout
- *
- * no return value
- */
-void job_time_mgr_rem(struct job_desc* jd)
-{
- struct time_bucket* tmp_bucket = NULL;
-
- gen_mutex_lock(&bucket_mutex);
-
- if(jd->time_bucket == NULL)
- {
- /* nothing to do, it is already removed */
- gen_mutex_unlock(&bucket_mutex);
- return;
- }
-
- tmp_bucket = (struct time_bucket*)jd->time_bucket;
-
- if(qlist_empty(&tmp_bucket->jd_queue))
- {
- /* no need for this bucket any longer; it is empty */
- qlist_del(&tmp_bucket->bucket_link);
- INIT_QLIST_HEAD(&tmp_bucket->jd_queue);
- free(tmp_bucket);
- }
- qlist_del(&jd->job_time_link);
- jd->time_bucket = NULL;
-
- gen_mutex_unlock(&bucket_mutex);
-
- return;
-}
-
-/* job_time_mgr_expire()
- *
- * look for expired jobs and cancel them
- *
- * returns 0 on success, -PVFS_error on failure
- */
-int job_time_mgr_expire(void)
-{
- struct timeval tv;
- struct qlist_head* iterator = NULL;
- struct qlist_head* scratch = NULL;
- struct qlist_head* iterator2 = NULL;
- struct qlist_head* scratch2 = NULL;
- struct time_bucket* tmp_bucket = NULL;
- struct job_desc* jd = NULL;
- int ret = -1;
-
- gettimeofday(&tv, NULL);
-
- gen_mutex_lock(&bucket_mutex);
-
- qlist_for_each_safe(iterator, scratch, &bucket_queue)
- {
- tmp_bucket = qlist_entry(iterator, struct time_bucket, bucket_link);
- assert(tmp_bucket);
-
- /* stop when we see the first bucket that has not expired */
- if(tmp_bucket->expire_time_sec > tv.tv_sec)
- {
- break;
- }
-
- /* cancel the associated jobs and remove the bucket */
- qlist_for_each_safe(iterator2, scratch2, &tmp_bucket->jd_queue)
- {
- jd = qlist_entry(iterator2, struct job_desc, job_time_link);
- qlist_del(&jd->job_time_link);
-
- switch(jd->type)
- {
- default:
- ret = 0;
- jd->time_bucket = NULL;
- break;
- }
-
- /* FIXME: error handling */
- assert(ret == 0);
- }
- qlist_del(&tmp_bucket->bucket_link);
- INIT_QLIST_HEAD(&tmp_bucket->jd_queue);
- free(tmp_bucket);
- }
-
- gen_mutex_unlock(&bucket_mutex);
-
- return(0);
-}
-
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
-
diff --git a/oldcode/src/common/job/job-time-mgr.h b/oldcode/src/common/job/job-time-mgr.h
deleted file mode 100644
index 131996f..0000000
--- a/oldcode/src/common/job/job-time-mgr.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * (C) 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-#ifndef __JOB_TIME_MGR_H
-#define __JOB_TIME_MGR_H
-
-#include "pvfs2-types.h"
-#include "job-desc-queue.h"
-#include "job.h"
-
-int job_time_mgr_init(void);
-int job_time_mgr_finalize(void);
-int job_time_mgr_add(struct job_desc* jd, int timeout_sec);
-void job_time_mgr_rem(struct job_desc* jd);
-int job_time_mgr_expire(void);
-
-#endif /* __JOB_TIME_MGR_H */
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
-
diff --git a/oldcode/src/common/job/job.c b/oldcode/src/common/job/job.c
deleted file mode 100644
index 5362f93..0000000
--- a/oldcode/src/common/job/job.c
+++ /dev/null
@@ -1,969 +0,0 @@
-/*
- * (C) 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-/* this file contains a skeleton implementation of the job interface */
-
-#include <errno.h>
-#include <sys/time.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <limits.h>
-#include <string.h>
-#include <assert.h>
-#include <time.h>
-
-#include "src/common/state-machine/state-machine.h"
-#include "job.h"
-#include "job-desc-queue.h"
-#include "src/common/gen-locks/gen-locks.h"
-#include "src/common/gossip/gossip.h"
-#include "src/common/id-generator/id-generator.h"
-#include "job-time-mgr.h"
-
-#define JOB_EVENT_START(__op, __id) \
- PINT_event_timestamp(PVFS_EVENT_API_JOB, __op, 0, __id, \
- PVFS_EVENT_FLAG_START)
-
-#define JOB_EVENT_END(__op, __size, __id) \
- PINT_event_timestamp(PVFS_EVENT_API_JOB, __op, __size, __id, \
- PVFS_EVENT_FLAG_END)
-
-/* queues of pending jobs */
-static job_desc_q_p completion_queue_array[JOB_MAX_CONTEXTS] = {NULL};
-static int completion_error = 0;
-static gen_mutex_t completion_mutex = GEN_MUTEX_INITIALIZER;
-
-static int initialized = 0;
-static gen_mutex_t initialized_mutex = GEN_MUTEX_INITIALIZER;
-
-#ifdef __PVFS2_JOB_THREADED__
-static pthread_cond_t completion_cond = PTHREAD_COND_INITIALIZER;
-#endif /* __PVFS2_JOB_THREADED__ */
-
-/* number of jobs to test for at once inside of do_one_work_cycle() */
-enum
-{
- job_work_metric = 5,
- thread_wait_timeout = 10000 /* usecs */
-};
-
-/********************************************************
- * function prototypes
- */
-
-static int setup_queues(void);
-static void teardown_queues(void);
-static void fill_status(struct job_desc *jd,
- void **returned_user_ptr_p,
- job_status_s * status);
-static int completion_query_some(job_id_t * id_array,
- int *inout_count_p,
- int *out_index_array,
- void **returned_user_ptr_array,
- job_status_s * out_status_array_p);
-static int completion_query_context(job_id_t * out_id_array_p,
- int *inout_count_p,
- void **returned_user_ptr_array,
- job_status_s *
- out_status_array_p,
- job_context_id context_id);
-#ifndef __PVFS2_JOB_THREADED__
-static void do_one_work_cycle_all(int idle_time_ms);
-#endif
-
-/********************************************************
- * public interface
- */
-
-/* job_initialize()
- *
- * start up the job interface
- *
- * returns 0 on success, -errno on failure
- */
-int job_initialize(int flags)
-{
- int ret = -1;
-
- ret = setup_queues();
- if (ret < 0)
- {
- return (ret);
- }
-
- id_gen_safe_initialize();
-
- gen_mutex_lock(&initialized_mutex);
- initialized = 1;
- gen_mutex_unlock(&initialized_mutex);
-
- return (0);
-}
-
-/* job_finalize()
- *
- * shuts down the job interface
- *
- * returns 0 on success, -errno on failure
- */
-int job_finalize(void)
-{
- gen_mutex_lock(&initialized_mutex);
- initialized = 0;
- gen_mutex_unlock(&initialized_mutex);
-
- id_gen_safe_finalize();
-
- teardown_queues();
- return 0;
-}
-
-
-/* job_open_context()
- *
- * opens a new context for the job interface
- *
- * returns 0 on success, -errno on failure
- */
-int job_open_context(job_context_id* context_id)
-{
- int context_index;
-
- /* find an unused context id */
- gen_mutex_lock(&completion_mutex);
- for(context_index=0; context_index<JOB_MAX_CONTEXTS; context_index++)
- {
- if(completion_queue_array[context_index] == NULL)
- {
- break;
- }
- }
-
- if(context_index >= JOB_MAX_CONTEXTS)
- {
- /* we don't have any more available! */
- gen_mutex_unlock(&completion_mutex);
- return(-EBUSY);
- }
-
- /* create a new completion queue for the context */
- completion_queue_array[context_index] = job_desc_q_new();
- if(!completion_queue_array[context_index])
- {
- gen_mutex_unlock(&completion_mutex);
- return(-ENOMEM);
- }
- gen_mutex_unlock(&completion_mutex);
-
- *context_id = context_index;
- return(0);
-}
-
-
-/* job_close_context()
- *
- * destroys a context previously created with job_open_context()
- *
- * no return value
- */
-void job_close_context(job_context_id context_id)
-{
- gen_mutex_lock(&completion_mutex);
- if(!completion_queue_array[context_id])
- {
- gen_mutex_unlock(&completion_mutex);
- return;
- }
-
- job_desc_q_cleanup(completion_queue_array[context_id]);
-
- completion_queue_array[context_id] = NULL;
-
- gen_mutex_unlock(&completion_mutex);
- return;
-}
-
-/* job_reset_timeout()
- *
- * resets the timeout associated with a job that has already been posted but
- * has not yet completed
- *
- * returns 0 on success, -PVFS_errno on failure
- */
-int job_reset_timeout(job_id_t id, int timeout_sec)
-{
-
- return -PVFS_EINVAL;
-}
-
-/* job_null()
- *
- * post null job; can be used to trigger asynchronous state transitions
- * without doing any underlying work
- *
- * returns 0 on success, -PVFS_error on failure
- * NOTE: immediate completion not allowed here
- */
-int job_null(
- int error_code,
- void *user_ptr,
- job_aint status_user_tag,
- job_status_s * out_status_p,
- job_id_t * id,
- job_context_id context_id)
-{
- struct job_desc *jd = NULL;
-
- jd = alloc_job_desc(JOB_NULL);
- if (!jd)
- {
- return (-errno);
- }
- jd->job_user_ptr = user_ptr;
- jd->context_id = context_id;
- jd->status_user_tag = status_user_tag;
- jd->u.null_info.error_code = error_code;
-
- gen_mutex_lock(&completion_mutex);
- job_desc_q_add(completion_queue_array[jd->context_id],
- jd);
- /* set completed flag while holding queue lock */
- jd->completed_flag = 1;
-#ifdef __PVFS2_JOB_THREADED__
- /* wake up anyone waiting for completion */
- pthread_cond_signal(&completion_cond);
-#endif
- gen_mutex_unlock(&completion_mutex);
-
- return(0);
-}
-
-
-/* job_test()
- *
- * check for completion of a particular job, don't return until
- * either job completes or timeout expires
- *
- * returns 0 if nothing done, 1 if something done, -errno on failure
- */
-int job_test(job_id_t id,
- int *out_count_p,
- void **returned_user_ptr_p,
- job_status_s * out_status_p,
- int timeout_ms,
- job_context_id context_id)
-{
- int ret = -1;
- int tmp_index;
-
- *out_count_p = 1;
-
- /* job_test() is really just a special case of job_testsome() */
- ret = job_testsome(&id, out_count_p, &tmp_index, returned_user_ptr_p,
- out_status_p, timeout_ms, context_id);
-
- return(ret);
-}
-
-#ifdef __PVFS2_JOB_THREADED__
-
-/* job_testsome()
- *
- * check for completion of a set of jobs, don't return until
- * either all jobs complete or timeout expires
- *
- * returns 0 on success, -errno on failure
- */
-int job_testsome(job_id_t * id_array,
- int *inout_count_p,
- int *out_index_array,
- void **returned_user_ptr_array,
- job_status_s * out_status_array_p,
- int timeout_ms,
- job_context_id context_id)
-{
- int ret = -1;
- struct timespec pthread_timeout;
- struct timeval start;
- int original_count = *inout_count_p;
- int pthread_ret = -1;
-
- /* use this as a chance to do a cheap test on the request
- * scheduler
- */
- if ((ret = do_one_test_cycle_req_sched()) < 0)
- {
- return (ret);
- }
-
- /* figure out how long to wait if we need to */
- if(timeout_ms > 0)
- {
- ret = gettimeofday(&start, NULL);
- if (ret < 0)
- {
- return (ret);
- }
- pthread_timeout.tv_sec = start.tv_sec + timeout_ms / 1000;
- pthread_timeout.tv_nsec = (start.tv_usec + ((timeout_ms % 1000)*1000))*1000;
- if (pthread_timeout.tv_nsec > 1000000000)
- {
- pthread_timeout.tv_nsec = pthread_timeout.tv_nsec - 1000000000;
- pthread_timeout.tv_sec++;
- }
- }
-
- /* check for completed jobs */
- gen_mutex_lock(&completion_mutex);
- pthread_ret = 0;
- while(((ret = completion_query_some(id_array,
- inout_count_p,
- out_index_array,
- returned_user_ptr_array,
- out_status_array_p)) == 0) &&
- ((pthread_ret == EINTR) || (pthread_ret == 0)))
- {
- *inout_count_p = original_count;
-
- if(timeout_ms > 0)
- {
- pthread_ret = pthread_cond_timedwait(&completion_cond,
- &completion_mutex,
- &pthread_timeout);
- }
- else if(timeout_ms == 0)
- {
- pthread_ret = ETIMEDOUT;
- }
- else
- {
- /* block indefinitely */
- pthread_ret = pthread_cond_wait(&completion_cond,
- &completion_mutex);
- }
- }
- gen_mutex_unlock(&completion_mutex);
-
- if(ret == 0)
- {
- *inout_count_p = 0;
-
- if ((pthread_ret != 0) && (pthread_ret != EINTR) && (pthread_ret !=
- EINVAL) && pthread_ret != ETIMEDOUT)
- {
- /* pthread_cond_wait() gave a weird return code; pass along to
- * caller
- */
- ret = pthread_ret;
- }
- }
-
- return(ret);
-}
-
-#else /* __PVFS2_JOB_THREADED__ */
-
-/* job_testsome()
- *
- * check for completion of a set of jobs, don't return until
- * either all jobs complete or timeout expires
- *
- * returns 0 if nothing done, 1 if something done, -errno on failure
- */
-int job_testsome(job_id_t * id_array,
- int *inout_count_p,
- int *out_index_array,
- void **returned_user_ptr_array,
- job_status_s * out_status_array_p,
- int timeout_ms,
- job_context_id context_id)
-{
- int ret = -1;
- struct timeval target_time;
- struct timeval end;
- int original_count = *inout_count_p;
- int time_exhaust_flag = 0;
-
- /* check before we do anything else to see if the completion queue
- * has anything in it
- */
- gen_mutex_lock(&completion_mutex);
- ret = completion_query_some(id_array,
- inout_count_p,
- out_index_array,
- returned_user_ptr_array,
- out_status_array_p);
- gen_mutex_unlock(&completion_mutex);
- /* return here on error or completion */
- if (ret < 0)
- {
- return (ret);
- }
- if (ret > 0)
- {
- return (1);
- }
-
- *inout_count_p = original_count;
-
- /* figure out when the function should time out */
- if(timeout_ms > 0)
- {
- ret = gettimeofday(&target_time, NULL);
- if (ret < 0)
- {
- return (ret);
- }
- target_time.tv_sec += (timeout_ms/1000);
- target_time.tv_usec += (timeout_ms%1000)*1000;
- if(target_time.tv_usec > 1000000)
- {
- target_time.tv_sec++;
- target_time.tv_usec -= 1000000;
- }
- }
-
- /* if we fall through to this point, then we need to just try
- * to eat up the timeout until the jobs that we want hit the
- * completion queue
- */
- do
- {
-
- if (timeout_ms)
- {
- do_one_work_cycle_all(10);
- }
- else
- {
- do_one_work_cycle_all(0);
- }
-
- /* check queue now to see if anything is done */
- gen_mutex_lock(&completion_mutex);
- ret = completion_query_some(id_array,
- inout_count_p,
- out_index_array,
- returned_user_ptr_array,
- out_status_array_p);
- gen_mutex_unlock(&completion_mutex);
- /* return here on error or completion */
- if (ret < 0)
- {
- return (ret);
- }
- if (ret > 0)
- {
- return (1);
- }
-
- *inout_count_p = original_count;
-
- /* if we reach this point, decide if we timeout or continue */
- if(timeout_ms == 0)
- {
- time_exhaust_flag = 1;
- }
- else if(timeout_ms < 0)
- {
- time_exhaust_flag = 0;
- }
- else
- {
- ret = gettimeofday(&end, NULL);
- if (ret < 0)
- {
- return (ret);
- }
-
- /* compare current time with our projected timeout point */
- if((end.tv_sec > target_time.tv_sec) || ((end.tv_sec ==
- target_time.tv_sec) && (end.tv_usec >=
- target_time.tv_usec)))
- {
- time_exhaust_flag = 1;
- }
- else
- {
- time_exhaust_flag = 0;
- }
- }
-
- } while (!time_exhaust_flag);
-
- /* fall through, nothing done, time is used up */
- *inout_count_p = 0;
-
- return (0);
-}
-#endif /* __PVFS2_JOB_THREADED__ */
-
-#ifdef __PVFS2_JOB_THREADED__
-/* job_testcontext()
- *
- * check for completion of any jobs currently in progress. Don't return
- * until either at least one job has completed or the timeout has
- * expired
- *
- * returns 0 on success, -errno on failure
- */
-int job_testcontext(job_id_t * out_id_array_p,
- int *inout_count_p,
- void **returned_user_ptr_array,
- job_status_s * out_status_array_p,
- int timeout_ms,
- job_context_id context_id)
-{
- int ret = -1;
- struct timespec pthread_timeout;
- struct timeval start;
- int original_count = *inout_count_p;
- int pthread_ret = -1;
-
- /* use this as a chance to do a cheap test on the request
- * scheduler
- */
- if ((ret = do_one_test_cycle_req_sched()) < 0)
- {
- return (ret);
- }
-
- /* figure out how long to wait if we need to */
- if(timeout_ms > 0)
- {
- ret = gettimeofday(&start, NULL);
- if (ret < 0)
- {
- return (ret);
- }
- pthread_timeout.tv_sec = start.tv_sec + timeout_ms / 1000;
- pthread_timeout.tv_nsec = (start.tv_usec + ((timeout_ms % 1000)*1000))*1000;
- if (pthread_timeout.tv_nsec > 1000000000)
- {
- pthread_timeout.tv_nsec = pthread_timeout.tv_nsec - 1000000000;
- pthread_timeout.tv_sec++;
- }
- }
-
- /* check for completed jobs */
- gen_mutex_lock(&completion_mutex);
- pthread_ret = 0;
- while(((ret = completion_query_context(out_id_array_p,
- inout_count_p,
- returned_user_ptr_array,
- out_status_array_p, context_id)) == 0) &&
- ((pthread_ret == EINTR) || (pthread_ret == 0)))
- {
- *inout_count_p = original_count;
-
- if(timeout_ms > 0)
- {
- pthread_ret = pthread_cond_timedwait(&completion_cond,
- &completion_mutex,
- &pthread_timeout);
- }
- else if(timeout_ms == 0)
- {
- pthread_ret = ETIMEDOUT;
- }
- else
- {
- /* block indefinitely */
- pthread_ret = pthread_cond_wait(&completion_cond,
- &completion_mutex);
- }
- }
- gen_mutex_unlock(&completion_mutex);
-
- if(ret == 0)
- {
- *inout_count_p = 0;
-
- if ((pthread_ret != 0) && (pthread_ret != EINTR) && (pthread_ret !=
- EINVAL) && pthread_ret != ETIMEDOUT)
- {
- /* pthread_cond_wait() gave a weird return code; pass along to
- * caller
- */
- ret = pthread_ret;
- }
- }
-
- return(ret);
-}
-
-#else /* __PVFS2_JOB_THREADED__ */
-
-/* job_testcontext()
- *
- * check for completion of any jobs currently in progress. Don't return
- * until either at least one job has completed or the timeout has
- * expired
- *
- * returns 0 on success, -errno on failure
- */
-int job_testcontext(job_id_t * out_id_array_p,
- int *inout_count_p,
- void **returned_user_ptr_array,
- job_status_s * out_status_array_p,
- int timeout_ms,
- job_context_id context_id)
-{
- int ret = -1;
- struct timeval target_time;
- struct timeval end;
- int original_count = *inout_count_p;
- int time_exhaust_flag = 0;
-
- /* check before we do anything else to see if the completion queue
- * has anything in it
- */
- gen_mutex_lock(&completion_mutex);
- ret = completion_query_context(out_id_array_p,
- inout_count_p,
- returned_user_ptr_array,
- out_status_array_p, context_id);
- gen_mutex_unlock(&completion_mutex);
- /* return here on error or completion */
- if (ret < 0)
- {
- return (ret);
- }
- if (ret > 0)
- {
- return (1);
- }
-
- *inout_count_p = original_count;
-
- /* figure out when the function should time out */
- if(timeout_ms > 0)
- {
- ret = gettimeofday(&target_time, NULL);
- if (ret < 0)
- {
- return (ret);
- }
- target_time.tv_sec += (timeout_ms/1000);
- target_time.tv_usec += (timeout_ms%1000)*1000;
- if(target_time.tv_usec > 1000000)
- {
- target_time.tv_sec++;
- target_time.tv_usec -= 1000000;
- }
- }
-
- /* if we fall through to this point, then we need to just try
- * to eat up the timeout until the jobs that we want hit the
- * completion queue
- */
- do
- {
-
- if (timeout_ms)
- {
- do_one_work_cycle_all(10);
- }
- else
- {
- do_one_work_cycle_all(0);
- }
-
- /* check queue now to see if anything is done */
- gen_mutex_lock(&completion_mutex);
- ret = completion_query_context(out_id_array_p,
- inout_count_p,
- returned_user_ptr_array,
- out_status_array_p,
- context_id);
- gen_mutex_unlock(&completion_mutex);
- /* return here on error or completion */
- if (ret < 0)
- {
- return (ret);
- }
- if (ret > 0)
- {
- return (1);
- }
-
- *inout_count_p = original_count;
-
- /* if we reach this point, decide if we timeout or continue */
- if(timeout_ms == 0)
- {
- time_exhaust_flag = 1;
- }
- else if(timeout_ms < 0)
- {
- time_exhaust_flag = 0;
- }
- else
- {
- ret = gettimeofday(&end, NULL);
- if (ret < 0)
- {
- return (ret);
- }
-
- /* compare current time with our projected timeout point */
- if((end.tv_sec > target_time.tv_sec) || ((end.tv_sec ==
- target_time.tv_sec) && (end.tv_usec >=
- target_time.tv_usec)))
- {
- time_exhaust_flag = 1;
- }
- else
- {
- time_exhaust_flag = 0;
- }
- }
-
- } while (!time_exhaust_flag);
-
- /* fall through, nothing done, time is used up */
- *inout_count_p = 0;
-
- return (0);
-}
-#endif /* __PVFS2_JOB_THREADED__ */
-
-
-/*********************************************************
- * Internal utility functions
- */
-
-
-/* setup_queues()
- *
- * initializes all of the job queues needed by the interface
- *
- * returns 0 on success, -errno on failure
- */
-static int setup_queues(void)
-{
- return (0);
-}
-
-/* teardown_queues()
- *
- * tears down any existing queues used by the job interface
- *
- * no return value
- */
-static void teardown_queues(void)
-{
- return;
-}
-
-/* fill_status()
- *
- * fills in the completion status based on the given job descriptor
- *
- * no return value
- */
-static void fill_status(struct job_desc *jd,
- void **returned_user_ptr_p,
- job_status_s * status)
-{
- assert(jd);
- assert(status);
-
-#if 0
- status->status_user_tag = jd->status_user_tag;
-#endif
-
- if (returned_user_ptr_p)
- {
- *returned_user_ptr_p = jd->job_user_ptr;
- }
- switch (jd->type)
- {
- case JOB_NULL:
- status->error_code = jd->u.null_info.error_code;
- break;
- }
-
-#if 0
- if(jd->event_type)
- JOB_EVENT_END(jd->event_type, status->actual_size, jd->job_id);
-#endif
-
- return;
-}
-
-/*
- * Appears to return <0 if problem, 0 if not done, 1 if done.
- */
-static int completion_query_some(job_id_t * id_array,
- int *inout_count_p,
- int *out_index_array,
- void **returned_user_ptr_array,
- job_status_s * out_status_array_p)
-{
- int i;
- struct job_desc *tmp_desc;
- int incount = *inout_count_p;
- int real_id_count = 0;
- int done_count = 0;
-
- *inout_count_p = 0;
-
- if (completion_error)
- {
- return (completion_error);
- }
-
- /* count how many of the id's are non zero */
- for (i = 0; i < incount; i++)
- {
- if (id_array[i])
- {
- real_id_count++;
- }
- }
-
- if (!real_id_count)
- {
- gossip_lerr("Error: job_testXXX() called with no valid ids.\n");
- return (-EINVAL);
- }
-
- /* don't do anything unless all of the target ops are done */
- for(i=0; i<incount; i++)
- {
- tmp_desc = id_gen_safe_lookup(id_array[i]);
- if(tmp_desc && tmp_desc->completed_flag)
- {
- done_count++;
- }
- }
-
- if(done_count < real_id_count)
- {
- return(0);
- }
-
- /* all target ops are complete; pull them out of completion queue */
- for(i=0; i<incount; i++)
- {
- tmp_desc = id_gen_safe_lookup(id_array[i]);
- if(tmp_desc && tmp_desc->completed_flag)
- {
- if(returned_user_ptr_array)
- {
- fill_status(tmp_desc,
- &(returned_user_ptr_array[*inout_count_p]),
- &(out_status_array_p[*inout_count_p]));
- }
- else
- {
- fill_status(tmp_desc, NULL,
- &(out_status_array_p[*inout_count_p]));
- }
- job_desc_q_remove(tmp_desc);
-
- dealloc_job_desc(tmp_desc);
- tmp_desc = NULL;
-
- out_index_array[*inout_count_p] = i;
- (*inout_count_p)++;
- }
- }
-
- /* we better not have lost any ops since the first loop through the job
- * list
- */
- assert((*inout_count_p) == done_count);
-
- return(1);
-}
-
-/* TODO: fill in comment */
-static int completion_query_context(job_id_t * out_id_array_p,
- int *inout_count_p,
- void **returned_user_ptr_array,
- job_status_s *
- out_status_array_p,
- job_context_id context_id)
-{
- struct job_desc *query;
- int incount = *inout_count_p;
- *inout_count_p = 0;
-
- if (completion_error)
- {
- return (completion_error);
- }
- while (*inout_count_p < incount && (query =
- job_desc_q_shownext(
- completion_queue_array[context_id])))
- {
- assert(query);
-
- if (returned_user_ptr_array)
- {
- fill_status(query, &(returned_user_ptr_array[*inout_count_p]),
- &(out_status_array_p[*inout_count_p]));
- }
- else
- {
- fill_status(query, NULL, &(out_status_array_p[*inout_count_p]));
- }
- out_id_array_p[*inout_count_p] = query->job_id;
- job_desc_q_remove(query);
- (*inout_count_p)++;
-
-
- dealloc_job_desc(query);
- query = NULL;
- }
-
- if((*inout_count_p) > 0)
- {
- return(1);
- }
- else
- {
- return (0);
- }
-}
-
-#ifndef __PVFS2_JOB_THREADED__
-/* do_one_work_cycle_all()
- *
- * makes progress when threads are not used
- *
- * no return value
- */
-static void do_one_work_cycle_all(int idle_time_ms)
-{
- int total_pending_count = 0;
-
- if(total_pending_count == 0 && idle_time_ms != 0)
- {
- /* The caller would like for us to idle if necessary, but we really
- * don't have a single thing to do. Sleep here to prevent busy
- * spins.
- */
- struct timespec ts;
- ts.tv_sec = idle_time_ms/1000;
- ts.tv_nsec = (idle_time_ms%1000)*1000*1000;
- nanosleep(&ts, NULL);
- }
-
- return;
-}
-#endif
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/common/job/job.h b/oldcode/src/common/job/job.h
deleted file mode 100644
index 607713b..0000000
--- a/oldcode/src/common/job/job.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * (C) 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-/* this file contains prototypes for the job interface */
-
-#ifndef __JOB_H
-#define __JOB_H
-
-#include <inttypes.h>
-
-#include "junk.h"
-
-typedef PVFS_id_gen_t job_id_t;
-
-/* integer type; large enough to hold a pointer */
-typedef intptr_t job_aint;
-
-#define JOB_MAX_CONTEXTS 16
-
-#if 0
-/* used to report the status of jobs upon completion */
-typedef struct job_status
-{
- /* the comments indicate which type of job will fill in which fields */
- job_aint status_user_tag; /* tag supplied by caller */
- int error_code; /* returned by all operations */
-}
-job_status_s;
-#endif
-
-enum job_flags
-{
- JOB_NO_IMMED_COMPLETE = 1
-};
-
-#define JOB_TIMEOUT_INF (-1)
-
-/******************************************************************
- * management functions
- */
-
-int job_initialize(int flags);
-
-int job_finalize(void);
-
-int job_open_context(job_context_id* context_id);
-
-void job_close_context(job_context_id context_id);
-
-int job_reset_timeout(job_id_t id, int timeout_sec);
-
-/******************************************************************
- * job posting functions
- */
-int job_null(
- int error_code,
- void *user_ptr,
- job_aint status_user_tag,
- job_status_s * out_status_p,
- job_id_t * id,
- job_context_id context_id);
-
-/******************************************************************
- * job test/wait for completion functions
- */
-
-int job_test(job_id_t id,
- int *out_count_p,
- void **returned_user_ptr_p,
- job_status_s * out_status_p,
- int timeout_ms,
- job_context_id context_id);
-
-int job_testsome(job_id_t * id_array,
- int *inout_count_p,
- int *out_index_array,
- void **returned_user_ptr_array,
- job_status_s * out_status_array_p,
- int timeout_ms,
- job_context_id context_id);
-
-int job_testcontext(job_id_t * out_id_array_p,
- int *inout_count_p,
- void **returned_user_ptr_array,
- job_status_s * out_status_array_p,
- int timeout_ms,
- job_context_id context_id);
-
-#endif /* __JOB_H */
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/common/job/module.mk.in b/oldcode/src/common/job/module.mk.in
deleted file mode 100644
index c4afb21..0000000
--- a/oldcode/src/common/job/module.mk.in
+++ /dev/null
@@ -1,5 +0,0 @@
-DIR := src/common/job
-LIBSRC += \
- $(DIR)/job.c \
- $(DIR)/job-desc-queue.c\
- $(DIR)/job-time-mgr.c
diff --git a/oldcode/src/common/module.mk.in b/oldcode/src/common/module.mk.in
deleted file mode 100644
index a35e1f6..0000000
--- a/oldcode/src/common/module.mk.in
+++ /dev/null
@@ -1 +0,0 @@
-DIR := src/common/quickhash
diff --git a/oldcode/src/common/quickhash.h b/oldcode/src/common/quickhash.h
deleted file mode 100644
index ae33153..0000000
--- a/oldcode/src/common/quickhash.h
+++ /dev/null
@@ -1,362 +0,0 @@
-/* 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-#ifndef QUICKHASH_H
-#define QUICKHASH_H
-
-#ifdef __KERNEL__
-
-#define qhash_malloc(x) kmalloc(x, GFP_KERNEL)
-#define qhash_free(x) kfree(x)
-#define qhash_head list_head
-#define INIT_QHASH_HEAD INIT_LIST_HEAD
-#define qhash_entry list_entry
-#define qhash_add_tail list_add_tail
-#define qhash_del list_del
-#define qhash_for_each list_for_each
-#define qhash_for_each_safe list_for_each_safe
-
-#define qhash_lock_init(lock_ptr) spin_lock_init(lock_ptr)
-#define qhash_lock(lock_ptr) spin_lock(lock_ptr)
-#define qhash_unlock(lock_ptr) spin_unlock(lock_ptr)
-
-#else
-
-#include <stdlib.h>
-#include <stdint.h>
-#include "../quicklist/quicklist.h"
-
-#define qhash_malloc(x) malloc(x)
-#define qhash_free(x) free(x)
-#define qhash_head qlist_head
-#define INIT_QHASH_HEAD INIT_QLIST_HEAD
-#define qhash_entry qlist_entry
-#define qhash_add_tail qlist_add_tail
-#define qhash_del qlist_del
-#define qhash_for_each qlist_for_each
-#define qhash_for_each_safe qlist_for_each_safe
-
-#define qhash_lock_init(lock_ptr) do {} while(0)
-#define qhash_lock(lock_ptr) do {} while(0)
-#define qhash_unlock(lock_ptr) do {} while(0)
-
-#endif /* __KERNEL__ */
-
-struct qhash_table
-{
- struct qhash_head *array;
- int table_size;
- int (*compare) (void *key, struct qhash_head * link);
- int (*hash) (void *key, int table_size);
-
-#ifdef __KERNEL__
- spinlock_t lock;
-#endif
-};
-
-/* qhash_init()
- *
- * creates a new hash table with the specified table size. The
- * hash function and compare function must be provided.
- * table_size should be a good prime number.
- *
- * returns pointer to table on success, NULL on failure
- */
-static inline struct qhash_table *qhash_init(
- int (*compare) (void *key,
- struct qhash_head * link),
- int (*hash) (void *key,
- int table_size),
- int table_size)
-{
- int i = 0;
- struct qhash_table *new_table = NULL;
-
- /* create struct to contain table information */
- new_table = (struct qhash_table *)
- qhash_malloc(sizeof(struct qhash_table));
- if (!new_table)
- {
- return (NULL);
- }
-
- /* fill in info */
- new_table->compare = compare;
- new_table->hash = hash;
- new_table->table_size = table_size;
-
- /* create array for actual table */
- new_table->array = (struct qhash_head *)
- qhash_malloc(sizeof(struct qhash_head) * table_size);
- if (!new_table->array)
- {
- qhash_free(new_table);
- return (NULL);
- }
-
- /* initialize a doubly linked at each hash table index */
- for (i = 0; i < table_size; i++)
- {
- INIT_QHASH_HEAD(&new_table->array[i]);
- }
- qhash_lock_init(&new_table->lock);
-
- return (new_table);
-}
-
-
-/* qhash_finalize()
- *
- * frees any resources created by the hash table
- *
- * no return value
- */
-static inline void qhash_finalize(
- struct qhash_table *old_table)
-{
- qhash_free(old_table->array);
- qhash_free(old_table);
- return;
-}
-
-/* qhash_add()
- *
- * adds a new link onto the hash table, hashes based on given key
- *
- * no return value
- */
-static inline void qhash_add(
- struct qhash_table *table,
- void *key,
- struct qhash_head *link)
-{
- int index = 0;
-
- /* hash on the key */
- index = table->hash(key, table->table_size);
-
- /* add to the tail of the linked list at that offset */
- qhash_lock(&table->lock);
- qhash_add_tail(link, &(table->array[index]));
- qhash_unlock(&table->lock);
-
- return;
-}
-
-/* qhash_search()
- *
- * searches for a link in the hash table
- * that matches the given key
- *
- * returns pointer to link on success, NULL on failure (or item
- * not found)
- */
-static inline struct qhash_head *qhash_search(
- struct qhash_table *table,
- void *key)
-{
- int index = 0;
- struct qhash_head *tmp_link = NULL;
-
- /* find the hash value */
- index = table->hash(key, table->table_size);
-
- /* linear search at index to find match */
- qhash_lock(&table->lock);
- qhash_for_each(tmp_link, &(table->array[index]))
- {
- if (table->compare(key, tmp_link))
- {
- qhash_unlock(&table->lock);
- return (tmp_link);
- }
- }
- qhash_unlock(&table->lock);
- return (NULL);
-}
-
-/* qhash_search_at_index()
- *
- * searches for a link in the list matching
- * the specified index
- *
- * returns pointer to link on success, NULL on failure (or item
- * not found)
- */
-static inline struct qhash_head *qhash_search_at_index(
- struct qhash_table *table,
- int index)
-{
- struct qhash_head *tmp_link = NULL;
-
- if(index >= table->table_size)
- {
- return NULL;
- }
-
- qhash_lock(&table->lock);
- qhash_for_each(tmp_link, &(table->array[index]))
- {
- qhash_unlock(&table->lock);
- return (tmp_link);
- }
- qhash_unlock(&table->lock);
- return (NULL);
-}
-
-/* qhash_search_and_remove()
- *
- * searches for and removes a link in the hash table
- * that matches the given key
- *
- * returns pointer to link on success, NULL on failure (or item
- * not found). On success, link is removed from hashtable.
- */
-static inline struct qhash_head *qhash_search_and_remove(
- struct qhash_table *table,
- void *key)
-{
- int index = 0;
- struct qhash_head *tmp_link = NULL;
-
- /* find the hash value */
- index = table->hash(key, table->table_size);
-
- /* linear search at index to find match */
- qhash_lock(&table->lock);
- qhash_for_each(tmp_link, &(table->array[index]))
- {
- if (table->compare(key, tmp_link))
- {
- qhash_del(tmp_link);
- qhash_unlock(&table->lock);
- return (tmp_link);
- }
- }
- qhash_unlock(&table->lock);
- return (NULL);
-}
-
-/* qhash_search_and_remove_at_index()
- *
- * searches for and removes the first link in the list
- * matching the specified index
- *
- * returns pointer to link on success, NULL on failure (or item
- * not found). On success, link is removed from hashtable.
- */
-static inline struct qhash_head *qhash_search_and_remove_at_index(
- struct qhash_table *table,
- int index)
-{
- struct qhash_head *tmp_link = NULL;
-
- if(index >= table->table_size)
- {
- return NULL;
- }
-
- qhash_lock(&table->lock);
- qhash_for_each(tmp_link, &(table->array[index]))
- {
- qhash_del(tmp_link);
- qhash_unlock(&table->lock);
- return (tmp_link);
- }
- qhash_unlock(&table->lock);
- return (NULL);
-}
-
-#define qhash_destroy_and_finalize(_oldtable, _entry_type, _link, _destructor) \
- do \
- { \
- int i = 0; \
- struct qhash_head *entry; \
- struct qhash_head *tmpe; \
- qhash_lock(&_oldtable->lock); \
- for(i = 0; i < _oldtable->table_size; ++i) \
- { \
- qhash_for_each_safe(entry, tmpe, &(_oldtable->array[i])) \
- { \
- qhash_del(entry); \
- _destructor(qhash_entry(entry, _entry_type, _link)); \
- } \
- } \
- qhash_unlock(&_oldtable->lock); \
- \
- qhash_finalize(_oldtable); \
- \
- } while(0)
-
-/* http://www.cris.com/~Ttwang/tech/inthash.htm */
-static inline int quickhash_32bit_hash(void *k, int table_size)
-{
- int32_t key = *(int32_t *)k;
- key = ~key + (key << 15); /* key = (key << 15) - key - 1; */
- key = key ^ (key >> 12);
- key = key + (key << 2);
- key = key ^ (key >> 4);
- key = key * 2057; /* key = (key + (key << 3)) + (key << 11); */
- key = key ^ (key >> 16);
-
- return (int) (key & (table_size - 1));
-}
-
-static inline int quickhash_64bit_hash(void *k, int table_size)
-{
- uint64_t key = *(uint64_t *)k;
-
- key = (~key) + (key << 18); /* key = (key << 18) - key - 1; */
- key = key ^ (key >> 31);
- key = key * 21; /* key = (key + (key << 2)) + (key << 4); */
- key = key ^ (key >> 11);
- key = key + (key << 6);
- key = key ^ (key >> 22);
-
- return (int) (key & ((uint64_t)(table_size - 1)));
-}
-
-/**
- * derived from an algorithm found in Aho, Sethi and Ullman's
- * {Compilers: Principles, Techniques and Tools}, published by Addison-Wesley.
- * This algorithm comes from P.J. Weinberger's C compiler.
- */
-static inline int quickhash_string_hash(void *k, int table_size)
-{
- const char *str = (char *)k;
- uint32_t h, g;
-
- while(*str)
- {
- h = (h << 4) + *str++;
- if((g = (h & 0xF0UL)))
- {
- h ^= g >> 24;
- h ^= g;
- }
- }
-
- return (int)(h & ((uint64_t)(table_size - 1)));
-}
-
-static inline int quickhash_voidp_hash(void *key, int tablesize)
-{
-#if PVFS2_SIZEOF_VOIDP == 32
- return (int)(((int)key) & (tablesize - 1));
-#else
- return quickhash_64bit_hash(key, tablesize);
-#endif
-}
-
-#endif /* QUICKHASH_H */
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/common/quickhash/module.mk.in b/oldcode/src/common/quickhash/module.mk.in
deleted file mode 100644
index a35e1f6..0000000
--- a/oldcode/src/common/quickhash/module.mk.in
+++ /dev/null
@@ -1 +0,0 @@
-DIR := src/common/quickhash
diff --git a/oldcode/src/common/quickhash/quickhash.h b/oldcode/src/common/quickhash/quickhash.h
deleted file mode 100644
index ae33153..0000000
--- a/oldcode/src/common/quickhash/quickhash.h
+++ /dev/null
@@ -1,362 +0,0 @@
-/* 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-#ifndef QUICKHASH_H
-#define QUICKHASH_H
-
-#ifdef __KERNEL__
-
-#define qhash_malloc(x) kmalloc(x, GFP_KERNEL)
-#define qhash_free(x) kfree(x)
-#define qhash_head list_head
-#define INIT_QHASH_HEAD INIT_LIST_HEAD
-#define qhash_entry list_entry
-#define qhash_add_tail list_add_tail
-#define qhash_del list_del
-#define qhash_for_each list_for_each
-#define qhash_for_each_safe list_for_each_safe
-
-#define qhash_lock_init(lock_ptr) spin_lock_init(lock_ptr)
-#define qhash_lock(lock_ptr) spin_lock(lock_ptr)
-#define qhash_unlock(lock_ptr) spin_unlock(lock_ptr)
-
-#else
-
-#include <stdlib.h>
-#include <stdint.h>
-#include "../quicklist/quicklist.h"
-
-#define qhash_malloc(x) malloc(x)
-#define qhash_free(x) free(x)
-#define qhash_head qlist_head
-#define INIT_QHASH_HEAD INIT_QLIST_HEAD
-#define qhash_entry qlist_entry
-#define qhash_add_tail qlist_add_tail
-#define qhash_del qlist_del
-#define qhash_for_each qlist_for_each
-#define qhash_for_each_safe qlist_for_each_safe
-
-#define qhash_lock_init(lock_ptr) do {} while(0)
-#define qhash_lock(lock_ptr) do {} while(0)
-#define qhash_unlock(lock_ptr) do {} while(0)
-
-#endif /* __KERNEL__ */
-
-struct qhash_table
-{
- struct qhash_head *array;
- int table_size;
- int (*compare) (void *key, struct qhash_head * link);
- int (*hash) (void *key, int table_size);
-
-#ifdef __KERNEL__
- spinlock_t lock;
-#endif
-};
-
-/* qhash_init()
- *
- * creates a new hash table with the specified table size. The
- * hash function and compare function must be provided.
- * table_size should be a good prime number.
- *
- * returns pointer to table on success, NULL on failure
- */
-static inline struct qhash_table *qhash_init(
- int (*compare) (void *key,
- struct qhash_head * link),
- int (*hash) (void *key,
- int table_size),
- int table_size)
-{
- int i = 0;
- struct qhash_table *new_table = NULL;
-
- /* create struct to contain table information */
- new_table = (struct qhash_table *)
- qhash_malloc(sizeof(struct qhash_table));
- if (!new_table)
- {
- return (NULL);
- }
-
- /* fill in info */
- new_table->compare = compare;
- new_table->hash = hash;
- new_table->table_size = table_size;
-
- /* create array for actual table */
- new_table->array = (struct qhash_head *)
- qhash_malloc(sizeof(struct qhash_head) * table_size);
- if (!new_table->array)
- {
- qhash_free(new_table);
- return (NULL);
- }
-
- /* initialize a doubly linked at each hash table index */
- for (i = 0; i < table_size; i++)
- {
- INIT_QHASH_HEAD(&new_table->array[i]);
- }
- qhash_lock_init(&new_table->lock);
-
- return (new_table);
-}
-
-
-/* qhash_finalize()
- *
- * frees any resources created by the hash table
- *
- * no return value
- */
-static inline void qhash_finalize(
- struct qhash_table *old_table)
-{
- qhash_free(old_table->array);
- qhash_free(old_table);
- return;
-}
-
-/* qhash_add()
- *
- * adds a new link onto the hash table, hashes based on given key
- *
- * no return value
- */
-static inline void qhash_add(
- struct qhash_table *table,
- void *key,
- struct qhash_head *link)
-{
- int index = 0;
-
- /* hash on the key */
- index = table->hash(key, table->table_size);
-
- /* add to the tail of the linked list at that offset */
- qhash_lock(&table->lock);
- qhash_add_tail(link, &(table->array[index]));
- qhash_unlock(&table->lock);
-
- return;
-}
-
-/* qhash_search()
- *
- * searches for a link in the hash table
- * that matches the given key
- *
- * returns pointer to link on success, NULL on failure (or item
- * not found)
- */
-static inline struct qhash_head *qhash_search(
- struct qhash_table *table,
- void *key)
-{
- int index = 0;
- struct qhash_head *tmp_link = NULL;
-
- /* find the hash value */
- index = table->hash(key, table->table_size);
-
- /* linear search at index to find match */
- qhash_lock(&table->lock);
- qhash_for_each(tmp_link, &(table->array[index]))
- {
- if (table->compare(key, tmp_link))
- {
- qhash_unlock(&table->lock);
- return (tmp_link);
- }
- }
- qhash_unlock(&table->lock);
- return (NULL);
-}
-
-/* qhash_search_at_index()
- *
- * searches for a link in the list matching
- * the specified index
- *
- * returns pointer to link on success, NULL on failure (or item
- * not found)
- */
-static inline struct qhash_head *qhash_search_at_index(
- struct qhash_table *table,
- int index)
-{
- struct qhash_head *tmp_link = NULL;
-
- if(index >= table->table_size)
- {
- return NULL;
- }
-
- qhash_lock(&table->lock);
- qhash_for_each(tmp_link, &(table->array[index]))
- {
- qhash_unlock(&table->lock);
- return (tmp_link);
- }
- qhash_unlock(&table->lock);
- return (NULL);
-}
-
-/* qhash_search_and_remove()
- *
- * searches for and removes a link in the hash table
- * that matches the given key
- *
- * returns pointer to link on success, NULL on failure (or item
- * not found). On success, link is removed from hashtable.
- */
-static inline struct qhash_head *qhash_search_and_remove(
- struct qhash_table *table,
- void *key)
-{
- int index = 0;
- struct qhash_head *tmp_link = NULL;
-
- /* find the hash value */
- index = table->hash(key, table->table_size);
-
- /* linear search at index to find match */
- qhash_lock(&table->lock);
- qhash_for_each(tmp_link, &(table->array[index]))
- {
- if (table->compare(key, tmp_link))
- {
- qhash_del(tmp_link);
- qhash_unlock(&table->lock);
- return (tmp_link);
- }
- }
- qhash_unlock(&table->lock);
- return (NULL);
-}
-
-/* qhash_search_and_remove_at_index()
- *
- * searches for and removes the first link in the list
- * matching the specified index
- *
- * returns pointer to link on success, NULL on failure (or item
- * not found). On success, link is removed from hashtable.
- */
-static inline struct qhash_head *qhash_search_and_remove_at_index(
- struct qhash_table *table,
- int index)
-{
- struct qhash_head *tmp_link = NULL;
-
- if(index >= table->table_size)
- {
- return NULL;
- }
-
- qhash_lock(&table->lock);
- qhash_for_each(tmp_link, &(table->array[index]))
- {
- qhash_del(tmp_link);
- qhash_unlock(&table->lock);
- return (tmp_link);
- }
- qhash_unlock(&table->lock);
- return (NULL);
-}
-
-#define qhash_destroy_and_finalize(_oldtable, _entry_type, _link, _destructor) \
- do \
- { \
- int i = 0; \
- struct qhash_head *entry; \
- struct qhash_head *tmpe; \
- qhash_lock(&_oldtable->lock); \
- for(i = 0; i < _oldtable->table_size; ++i) \
- { \
- qhash_for_each_safe(entry, tmpe, &(_oldtable->array[i])) \
- { \
- qhash_del(entry); \
- _destructor(qhash_entry(entry, _entry_type, _link)); \
- } \
- } \
- qhash_unlock(&_oldtable->lock); \
- \
- qhash_finalize(_oldtable); \
- \
- } while(0)
-
-/* http://www.cris.com/~Ttwang/tech/inthash.htm */
-static inline int quickhash_32bit_hash(void *k, int table_size)
-{
- int32_t key = *(int32_t *)k;
- key = ~key + (key << 15); /* key = (key << 15) - key - 1; */
- key = key ^ (key >> 12);
- key = key + (key << 2);
- key = key ^ (key >> 4);
- key = key * 2057; /* key = (key + (key << 3)) + (key << 11); */
- key = key ^ (key >> 16);
-
- return (int) (key & (table_size - 1));
-}
-
-static inline int quickhash_64bit_hash(void *k, int table_size)
-{
- uint64_t key = *(uint64_t *)k;
-
- key = (~key) + (key << 18); /* key = (key << 18) - key - 1; */
- key = key ^ (key >> 31);
- key = key * 21; /* key = (key + (key << 2)) + (key << 4); */
- key = key ^ (key >> 11);
- key = key + (key << 6);
- key = key ^ (key >> 22);
-
- return (int) (key & ((uint64_t)(table_size - 1)));
-}
-
-/**
- * derived from an algorithm found in Aho, Sethi and Ullman's
- * {Compilers: Principles, Techniques and Tools}, published by Addison-Wesley.
- * This algorithm comes from P.J. Weinberger's C compiler.
- */
-static inline int quickhash_string_hash(void *k, int table_size)
-{
- const char *str = (char *)k;
- uint32_t h, g;
-
- while(*str)
- {
- h = (h << 4) + *str++;
- if((g = (h & 0xF0UL)))
- {
- h ^= g >> 24;
- h ^= g;
- }
- }
-
- return (int)(h & ((uint64_t)(table_size - 1)));
-}
-
-static inline int quickhash_voidp_hash(void *key, int tablesize)
-{
-#if PVFS2_SIZEOF_VOIDP == 32
- return (int)(((int)key) & (tablesize - 1));
-#else
- return quickhash_64bit_hash(key, tablesize);
-#endif
-}
-
-#endif /* QUICKHASH_H */
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/common/quicklist/module.mk.in b/oldcode/src/common/quicklist/module.mk.in
deleted file mode 100644
index 5b633a8..0000000
--- a/oldcode/src/common/quicklist/module.mk.in
+++ /dev/null
@@ -1 +0,0 @@
-DIR := src/common/quicklist
diff --git a/oldcode/src/common/quicklist/quicklist.h b/oldcode/src/common/quicklist/quicklist.h
deleted file mode 100644
index a7fdc4b..0000000
--- a/oldcode/src/common/quicklist/quicklist.h
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * (C) 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-/* Derived from linked qlist code taken from linux 2.4.3 (list.h) */
-
-/*
- * Simple doubly linked qlist implementation.
- *
- * Some of the internal functions ("__xxx") are useful when
- * manipulating whole qlists rather than single entries, as
- * sometimes we already know the next/prev entries and we can
- * generate better code by using them directly rather than
- * using the generic single-entry routines.
- */
-
-#ifndef QUICKLIST_H
-#define QUICKLIST_H
-
-struct qlist_head {
- struct qlist_head *next, *prev;
-};
-
-#define QLIST_HEAD_INIT(name) { &(name), &(name) }
-
-#define QLIST_HEAD(name) \
- struct qlist_head name = QLIST_HEAD_INIT(name)
-
-#define INIT_QLIST_HEAD(ptr) do { \
- (ptr)->next = (ptr); (ptr)->prev = (ptr); \
-} while (0)
-
-/*
- * Insert a new entry between two known consecutive entries.
- *
- * This is only for internal qlist manipulation where we know
- * the prev/next entries already!
- */
-static __inline__ void __qlist_add(struct qlist_head * new,
- struct qlist_head * prev,
- struct qlist_head * next)
-{
- next->prev = new;
- new->next = next;
- new->prev = prev;
- prev->next = new;
-}
-
-/**
- * qlist_add - add a new entry
- * @new: new entry to be added
- * @head: qlist head to add it after
- *
- * Insert a new entry after the specified head.
- * This is good for implementing stacks.
- */
-static __inline__ void qlist_add(struct qlist_head *new, struct qlist_head *head)
-{
- __qlist_add(new, head, head->next);
-}
-
-/**
- * qlist_add_tail - add a new entry
- * @new: new entry to be added
- * @head: qlist head to add it before
- *
- * Insert a new entry before the specified head.
- * This is useful for implementing queues.
- */
-static __inline__ void qlist_add_tail(struct qlist_head *new, struct qlist_head *head)
-{
- __qlist_add(new, head->prev, head);
-}
-
-/*
- * Delete a qlist entry by making the prev/next entries
- * point to each other.
- *
- * This is only for internal qlist manipulation where we know
- * the prev/next entries already!
- */
-static __inline__ void __qlist_del(struct qlist_head * prev,
- struct qlist_head * next)
-{
- next->prev = prev;
- prev->next = next;
-}
-
-/**
- * qlist_del - deletes entry from qlist.
- * @entry: the element to delete from the qlist.
- * Note: qlist_empty on entry does not return true after this, the entry is in an undefined state.
- */
-static __inline__ void qlist_del(struct qlist_head *entry)
-{
- __qlist_del(entry->prev, entry->next);
-}
-
-/**
- * qlist_del_init - deletes entry from qlist and reinitialize it.
- * @entry: the element to delete from the qlist.
- */
-static __inline__ void qlist_del_init(struct qlist_head *entry)
-{
- __qlist_del(entry->prev, entry->next);
- INIT_QLIST_HEAD(entry);
-}
-
-/**
- * qlist_empty - tests whether a qlist is empty
- * @head: the qlist to test.
- */
-static __inline__ int qlist_empty(struct qlist_head *head)
-{
- return head->next == head;
-}
-
-/**
- * qlist_splice - join two qlists
- * @qlist: the new qlist to add.
- * @head: the place to add it in the first qlist.
- */
-static __inline__ void qlist_splice(struct qlist_head *qlist, struct qlist_head *head)
-{
- struct qlist_head *first = qlist->next;
-
- if (first != qlist) {
- struct qlist_head *last = qlist->prev;
- struct qlist_head *at = head->next;
-
- first->prev = head;
- head->next = first;
-
- last->next = at;
- at->prev = last;
- }
-}
-
-/**
- * qlist_entry - get the struct for this entry
- * @ptr: the &struct qlist_head pointer.
- * @type: the type of the struct this is embedded in.
- * @member: the name of the qlist_struct within the struct.
- */
-#define qlist_entry(ptr, type, member) \
- ((type *)((char *)(ptr)-(unsigned long)((&((type *)0)->member))))
-
-/**
- * qlist_for_each - iterate over a qlist
- * @pos: the &struct qlist_head to use as a loop counter.
- * @head: the head for your qlist.
- */
-#define qlist_for_each(pos, head) \
- for (pos = (head)->next; pos != (head); pos = pos->next)
-
-/**
- * list_for_each_safe - iterate over a list safe against
- * removal of list entry
- * @pos: the &struct list_head to use as a loop counter.
- * @n: another &struct list_head to use as temporary storage
- * @head: the head for your list.
- */
-#define qlist_for_each_safe(pos, scratch, head) \
- for (pos = (head)->next, scratch = pos->next; pos != (head);\
- pos = scratch, scratch = pos->next)
-
-/**
- * qlist_for_each_entry - iterate over list of given type
- * @pos: the type * to use as a loop counter.
- * @head: the head for your list.
- * @member: the name of the list_struct within the struct.
- */
-#define qlist_for_each_entry(pos, head, member) \
- for (pos = qlist_entry((head)->next, typeof(*pos), member); \
- &pos->member != (head); \
- pos = qlist_entry(pos->member.next, typeof(*pos), member)) \
-
-/**
- * qlist_for_each_entry_safe - iterate over list of given type safe against removal of list entry
- * @pos: the type * to use as a loop counter.
- * @n: another type * to use as temporary storage
- * @head: the head for your list.
- * @member: the name of the list_struct within the struct.
- */
-#define qlist_for_each_entry_safe(pos, n, head, member) \
- for (pos = qlist_entry((head)->next, typeof(*pos), member), \
- n = qlist_entry(pos->member.next, typeof(*pos), member); \
- &pos->member != (head); \
- pos = n, n = qlist_entry(n->member.next, typeof(*n), member))
-
-#endif /* QUICKLIST_H */
diff --git a/oldcode/src/common/state-machine/module.mk.in b/oldcode/src/common/state-machine/module.mk.in
deleted file mode 100644
index 300372c..0000000
--- a/oldcode/src/common/state-machine/module.mk.in
+++ /dev/null
@@ -1,3 +0,0 @@
-DIR := src/common/state-machine
-
-LIBSRC += $(DIR)/state-machine-fns.c
diff --git a/oldcode/src/common/state-machine/state-machine-fns.c b/oldcode/src/common/state-machine/state-machine-fns.c
deleted file mode 100644
index 783fe40..0000000
--- a/oldcode/src/common/state-machine/state-machine-fns.c
+++ /dev/null
@@ -1,728 +0,0 @@
-/*
- * (C) 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-#ifndef __STATE_MACHINE_FNS_H
-#define __STATE_MACHINE_FNS_H
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-
-#if 0
-#include "pvfs2-debug.h"
-#endif
-
-#include "src/common/gossip/gossip.h"
-#include "src/common/state-machine/state-machine.h"
-
-/* THIS SHOULDN'T BE NEEDED! -- RBR, 12/18/2007 */
-#include "src/ops/ops.h"
-
-/* STATE-MACHINE-FNS.C
- *
- * This file implements a small collection of functions used when
- * interacting with the state machine system implemented in
- * state-machine.h. Probably you'll only need these functions in one
- * file per instance of a state machine implementation.
- *
- * The PINT_OP_STATE_TABLE has been replaced with a macro that must be #defined
- * instead: PINT_OP_STATE_GET_MACHINE.
- * This allows the _locate function to be used in the client as well.
- *
- * A good example of this is the pvfs2-server.h in the src/server directory,
- * which includes state-machine.h at the bottom, and server-state-machine.c,
- * which includes first pvfs2-server.h and then state-machine-fns.h.
- */
-
-struct PINT_frame_s
-{
- int task_id;
- void *frame;
- int error;
- struct qlist_head link;
-};
-
-static struct PINT_state_s *PINT_pop_state(struct PINT_smcb *);
-static void PINT_push_state(struct PINT_smcb *, struct PINT_state_s *);
-static struct PINT_state_s *PINT_sm_task_map(struct PINT_smcb *smcb, int task_id);
-static void PINT_sm_start_child_frames(struct PINT_smcb *smcb);
-
-/* Function: PINT_state_machine_halt(void)
- Params: None
- Returns: True
- Synopsis: This function is used to shutdown the state machine
- */
-int PINT_state_machine_halt(void)
-{
- return 0;
-}
-
-/* Function: PINT_state_machine_terminate
- Params: smcb, job status
- Returns: 0 on sucess, otherwise error
- Synopsis: This function cleans up and terminates a SM
- in some cases we may need to keep the SM alive until
- its children terminate or something - in which case we
- will post the relevant job here.
- */
-int PINT_state_machine_terminate(struct PINT_smcb *smcb, job_status_s *r)
-{
- struct PINT_frame_s *current_frame;
- job_id_t id;
-
- /* notify parent */
- if (smcb->parent_smcb)
- {
- assert(smcb->parent_smcb->children_running > 0);
-
- current_frame = qlist_entry(
- &smcb->frames.next, struct PINT_frame_s, link);
- current_frame->error = r->error_code;
-
- if (--smcb->parent_smcb->children_running > 0)
- {
- /* SM is still deferred */
- return SM_ACTION_DEFERRED;
- }
- else
- {
- /* no more child state machines running, so we can
- * start up the parent state machine again
- */
- job_null(0, smcb->parent_smcb, 0, r, &id, smcb->context);
- }
- }
- /* call state machine completion function */
- if (smcb->terminate_fn)
- {
- (*smcb->terminate_fn)(smcb, r);
- }
- return 0;
-}
-
-/* Function: PINT_state_machine_invoke
- Params: smcb pointer and job status pointer
- Returns: return value of state action
- Synopsis: runs the current state action, produces debugging
- output if needed, checls return value and takes action
- if needed (sets op_terminate if SM_ACTION_TERMINATED is
- returned)
- */
-PINT_sm_action PINT_state_machine_invoke(struct PINT_smcb *smcb,
- job_status_s *r)
-{
- PINT_sm_action retval;
- const char * state_name;
- const char * machine_name;
-
- if (!(smcb) || !(smcb->current_state) ||
- !(smcb->current_state->flag == SM_RUN ||
- smcb->current_state->flag == SM_PJMP) ||
- !(smcb->current_state->action.func))
- {
- gossip_err("SM invoke called on invalid smcb or state\n");
- return SM_ERROR;
- }
-
- /* print pre-call debugging info */
- gossip_debug(GOSSIP_STATE_MACHINE_DEBUG,
- "SM invoke smcb %p op %d\n",smcb,(smcb)->op);
-
- state_name = PINT_state_machine_current_state_name(smcb);
- machine_name = PINT_state_machine_current_machine_name(smcb);
-
-#if 0
- gossip_debug(GOSSIP_STATE_MACHINE_DEBUG,
- "[SM Entering]: (%p) %s:%s (status: %d)\n",
- smcb,
- /* skip pvfs2_ */
- machine_name,
- state_name,
- (int32_t)r->status_user_tag);
-#endif
-
- /* call state action function */
- retval = (smcb->current_state->action.func)(smcb,r);
- /* process return code */
- switch (retval)
- {
- case SM_ACTION_TERMINATE :
- gossip_debug(GOSSIP_STATE_MACHINE_DEBUG,
- "SM Terminates (%p)\n", smcb);
- smcb->op_terminate = 1;
- break;
- case SM_ACTION_COMPLETE :
- gossip_debug(GOSSIP_STATE_MACHINE_DEBUG,
- "SM Returns Complete (%p)\n", smcb);
- break;
- case SM_ACTION_DEFERRED :
- gossip_debug(GOSSIP_STATE_MACHINE_DEBUG,
- "SM Returns Deferred (%p)\n", smcb);
- break;
- default :
- /* error */
- gossip_err("SM Action %s:%s returned invalid return code %d (%p)\n",
- machine_name, state_name, retval, smcb);
- break;
- }
-
- /* print post-call debugging info */
- gossip_debug(GOSSIP_STATE_MACHINE_DEBUG,
- "[SM Exiting]: (%p) %s:%s (error code: %d), (sm action: %s)\n",
- smcb,
- /* skip pvfs2_ */
- machine_name,
- state_name,
- r->error_code,
- SM_ACTION_STRING(retval));
-
- if (retval == SM_ACTION_COMPLETE && smcb->current_state->flag == SM_PJMP)
- {
- /* start child SMs */
- PINT_sm_start_child_frames(smcb);
- gossip_debug(GOSSIP_STATE_MACHINE_DEBUG,
- "SM (%p) started %d child frames\n",
- smcb, smcb->children_running);
- if (smcb->children_running > 0)
- retval = SM_ACTION_DEFERRED;
- else
- retval = SM_ACTION_COMPLETE;
- }
-
- return retval;
-}
-
-/* Function: PINT_state_machine_start()
- Params: smcb pointer and job status pointer
- Returns: return value of last state action
- Synopsis: Runs the state action pointed to by the
- current state, then continues to run the SM
- as long as return code is SM_ACTION_COMPLETE.
- */
-
-PINT_sm_action PINT_state_machine_start(struct PINT_smcb *smcb, job_status_s *r)
-{
- PINT_sm_action ret;
-
- /* run the current state action function */
- ret = PINT_state_machine_invoke(smcb, r);
- if (ret == SM_ACTION_COMPLETE || ret == SM_ACTION_TERMINATE)
- {
- /* keep running until state machine deferrs or terminates */
- ret = PINT_state_machine_next(smcb, r);
-
- /* note that if ret == SM_ACTION_TERMINATE, we _don't_ call
- * PINT_state_machine_terminate here because that adds the smcb
- * to the completion list. We don't want to do that on immediate
- * completion
- */
- }
- return ret;
-}
-
-/* Function: PINT_state_machine_next()
- Params: smcb pointer and job status pointer
- Returns: return value of last state action
- Synopsis: Runs through a list of return values to find the next function to
- call. Calls that function. If that function returned COMPLETED loop
- and repeat.
- */
-PINT_sm_action PINT_state_machine_next(struct PINT_smcb *smcb, job_status_s *r)
-{
- int i; /* index for transition table */
- struct PINT_tran_tbl_s *transtbl;
- PINT_sm_action ret; /* holds state action return code */
-
- if (!smcb)
- {
- gossip_err("SM next called on invald smcb\n");
- return -1;
- }
- gossip_debug(GOSSIP_STATE_MACHINE_DEBUG,
- "SM next smcb %p op %d\n",smcb,(smcb)->op);
- /* loop while invoke of new state returns COMPLETED */
- do {
- /* loop while returning from nested SM */
- do {
- if (!smcb->current_state || !smcb->current_state->trtbl)
- {
- gossip_err("SM current state or trtbl is invalid "
- "(smcb = %p)\n", smcb);
- gossip_backtrace();
- assert(0);
- return -1;
- }
- transtbl = smcb->current_state->trtbl;
-
- /* for each entry in the transition table there is a return
- * code followed by a next state pointer to the new state.
- * This loops through each entry, checking for a match on the
- * return address, and then sets the new current_state and calls
- * the new state action function */
- for (i = 0; transtbl[i].return_value != DEFAULT_ERROR; i++)
- {
- if (transtbl[i].return_value == r->error_code)
- break;
- }
- /* we expect the last state action function to return
- * SM_ACTION_TERMINATE which sets the smcb->op_terminate
- * flag. ALSO the state machine must direct the next state
- * to be terminate, which sets loc->flag to SM_TERMINATE.
- * We'll terminate for EITHER, but print an error if not
- * both.
- */
- if(transtbl[i].flag == SM_TERM || smcb->op_terminate)
- {
- if (!(transtbl[i].flag == SM_TERM))
- {
- gossip_lerr("Error: state machine returned"
- " SM_ACTION_TERMINATE but didn't reach terminate\n");
- }
- if (!smcb->op_terminate)
- {
- gossip_lerr("Error: state machine reached terminate"
- " without returning SM_ACTION_TERMINATE\n");
- smcb->op_terminate = 1;
- }
- return SM_ACTION_TERMINATE;
- }
- if (transtbl[i].flag == SM_RETURN)
- {
- /* if this is a return pop the stack
- * and we'll continue from the state returned to
- */
- smcb->current_state = PINT_pop_state(smcb);
- if(!smcb->current_state ||
- smcb->current_state->trtbl[0].flag == SM_TERM)
- {
- /* assume nested machine was invoked without
- * a parent, or nested machine completion results
- * in immediate termination
- */
- return SM_ACTION_TERMINATE;
- }
- }
- } while (transtbl[i].flag == SM_RETURN);
- smcb->current_state = transtbl[i].next_state;
- /* To do nested states, we check to see if the next state is
- * a nested state machine, and if so we push the return state
- * onto a stack */
- while (smcb->current_state->flag == SM_JUMP)
- {
- PINT_push_state(smcb, smcb->current_state);
- smcb->current_state =
- smcb->current_state->action.nested->first_state;
- }
- /* runs state_action and returns the return code */
- ret = PINT_state_machine_invoke(smcb, r);
- } while (ret == SM_ACTION_COMPLETE || ret == SM_ACTION_TERMINATE);
- return ret;
-}
-
-/* Function: PINT_state_machine_continue
- Params: smcb pointer and job status pointer
- Returns: return value of last state action
- Synopsis: This function essentially calls next, and if the state
- machine terminates, calls terminate to perform cleanup.
- This allows separation from the start call (which calls
- next but does not call terminate if the state machine
- terminates).
-*/
-PINT_sm_action PINT_state_machine_continue(struct PINT_smcb *smcb, job_status_s *r)
-{
- PINT_sm_action ret;
-
- ret = PINT_state_machine_next(smcb, r);
-
- if(ret == SM_ACTION_TERMINATE)
- {
- /* process terminating SM */
- PINT_state_machine_terminate(smcb, r);
- }
-
- return ret;
-}
-
-/* Function: PINT_state_machine_locate(void)
- Params: smcb pointer with op correctly set
- Returns: 1 on successful locate, 0 on locate failure, <0 on error
- Synopsis: This function locates the state associated with the op
- specified in smcb->op in order to start a state machine's
- execution.
- */
-int PINT_state_machine_locate(struct PINT_smcb *smcb)
-{
- struct PINT_state_s *current_tmp;
- struct PINT_state_machine_s *op_sm;
-
- /* check for valid inputs */
- if (!smcb || smcb->op < 0 || !smcb->op_get_state_machine)
- {
- gossip_err("State machine requested not valid\n");
- return -PVFS_EINVAL;
- }
- gossip_debug(GOSSIP_STATE_MACHINE_DEBUG,
- "SM locate smcb %p op %d\n",smcb,(smcb)->op);
- /* this is a the usage dependant routine to look up the SM */
- op_sm = (*smcb->op_get_state_machine)(smcb->op);
- if (op_sm != NULL)
- {
- current_tmp = op_sm->first_state;
- /* handle the case in which the first state points to a nested
- * machine, rather than a simple function
- */
- while(current_tmp->flag == SM_JUMP)
- {
- PINT_push_state(smcb, current_tmp);
- current_tmp = ((struct PINT_state_machine_s *)
- current_tmp->action.nested)->first_state;
- }
- smcb->current_state = current_tmp;
- return 1; /* indicates successful locate */
- }
- gossip_err("State machine not found for operation %d\n",smcb->op);
- return 0; /* indicates failed to locate */
-}
-
-/* Function: PINT_smcb_set_op
- Params: pointer to an smcb pointer, and an op code (int)
- Returns: nothing
- Synopsis: sets op on existing smcb and reruns locate if
- we have a valid locate func
- */
-int PINT_smcb_set_op(struct PINT_smcb *smcb, int op)
-{
- gossip_debug(GOSSIP_STATE_MACHINE_DEBUG,
- "SM set op smcb %p op %d\n",smcb,op);
- smcb->op = op;
- return PINT_state_machine_locate(smcb);
-}
-
-/* Function: PINT_smcb_op
- Params: pointer to an smcb pointer
- Returns: op (int)
- Synopsis: returns the op currently set in the smcb
- */
-int PINT_smcb_op(struct PINT_smcb *smcb)
-{
- return smcb->op;
-}
-
-/* Function: PINT_smcb_set_complete
- Params: pointer to an smcb pointer
- Returns: nothing
- Synopsis: sets op_terminate on existing smcb
- */
-void PINT_smcb_set_complete(struct PINT_smcb *smcb)
-{
- smcb->op_terminate = 1;
-}
-
-/* Function: PINT_smcb_complete
- Params: pointer to an smcb pointer
- Returns: op (int)
- Synopsis: returns the op_terminate currently set in the smcb
- */
-int PINT_smcb_complete(struct PINT_smcb *smcb)
-{
- return smcb->op_terminate;
-}
-
-/* Function: PINT_smcb_set_cancelled
- Params: pointer to an smcb pointer
- Returns: nothing
- Synopsis: sets op_cancelled on existing smcb
- */
-void PINT_smcb_set_cancelled(struct PINT_smcb *smcb)
-{
- smcb->op_cancelled = 1;
-}
-
-/* Function: PINT_smcb_cancelled
- Params: pointer to an smcb pointer
- Returns: op (int)
- Synopsis: returns the op_cancelled currently set in the smcb
- */
-int PINT_smcb_cancelled(struct PINT_smcb *smcb)
-{
- return smcb->op_cancelled;
-}
-
-/* Function: PINT_smcb_alloc
- Params: pointer to an smcb pointer, an op code (int), size of frame
- (int), pinter to function to locate SM
- Returns: nothing, but fills in pointer argument
- Synopsis: this allocates an smcb struct, including its frame stack
- and sets the op code so you can start the state machine
- */
-int PINT_smcb_alloc(
- struct PINT_smcb **smcb,
- int op,
- int frame_size,
- struct PINT_state_machine_s *(*getmach)(int),
- int (*term_fn)(struct PINT_smcb *, job_status_s *),
- job_context_id context_id)
-{
- *smcb = (struct PINT_smcb *)malloc(sizeof(struct PINT_smcb));
- if (!(*smcb))
- {
- return -PVFS_ENOMEM;
- }
- gossip_debug(GOSSIP_STATE_MACHINE_DEBUG,
- "SM allocate smcb %p op %d\n",*smcb,op);
- /* zero out all members */
- memset(*smcb, 0, sizeof(struct PINT_smcb));
-
- INIT_QLIST_HEAD(&(*smcb)->frames);
-
- /* if frame_size given, allocate a frame */
- if (frame_size > 0)
- {
- void *new_frame = malloc(frame_size);
- if (!new_frame)
- {
- free(*smcb);
- *smcb = NULL;
- return -PVFS_ENOMEM;
- }
- /* zero out all members */
- memset(new_frame, 0, frame_size);
- PINT_sm_push_frame(*smcb, 0, new_frame);
- }
- (*smcb)->op = op;
- (*smcb)->op_get_state_machine = getmach;
- (*smcb)->terminate_fn = term_fn;
- (*smcb)->context = context_id;
- /* if a getmach given, lookup state machine */
- if (getmach)
- return PINT_state_machine_locate(*smcb);
- return 0; /* success */
-}
-
-/* Function: PINT_smcb_free
- * Params: pointer to an smcb pointer
- * Returns: nothing, but sets the pointer to NULL
- * Synopsis: this frees an smcb struct, including
- * anything on the frame stack with a zero task_id
- */
-void PINT_smcb_free(struct PINT_smcb *smcb)
-{
- struct PINT_frame_s *frame_entry, *tmp;
- assert(smcb);
- gossip_debug(GOSSIP_STATE_MACHINE_DEBUG,
- "SM free smcb %p op %d\n", smcb, smcb->op);
- qlist_for_each_entry_safe(frame_entry, tmp, &smcb->frames, link)
- {
- if (frame_entry->frame && frame_entry->task_id == 0)
- {
- /* only free if task_id is 0 */
- free(frame_entry->frame);
- }
- qlist_del(&frame_entry->link);
- free(frame_entry);
- }
- free(smcb);
-}
-
-/* Function: PINT_pop_state
- * Params: pointer to an smcb pointer
- * Returns:
- * Synopsis: pushes a SM pointer onto a stack for
- * implementing nested SMs - called by the
- * "next" routine above
- */
-static struct PINT_state_s *PINT_pop_state(struct PINT_smcb *smcb)
-{
- assert(smcb->stackptr > 0);
-
- return smcb->state_stack[--smcb->stackptr];
-}
-
-/* Function: PINT_push_state
- * Params: pointer to an smcb pointer
- * Returns:
- * Synopsis: pops a SM pointer off of a stack for
- * implementing nested SMs - called by the
- * "next" routine above
- */
-static void PINT_push_state(struct PINT_smcb *smcb,
- struct PINT_state_s *p)
-{
- assert(smcb->stackptr < PINT_STATE_STACK_SIZE);
-
- smcb->state_stack[smcb->stackptr++] = p;
-}
-
-/* Function: PINT_sm_frame
- * Params: pointer to smcb, stack index
- * Returns: pointer to frame
- * Synopsis: returns a frame off of the frame stack
- */
-void *PINT_sm_frame(struct PINT_smcb *smcb, int index)
-{
- struct PINT_frame_s *frame_entry;
- struct qlist_head *next;
-
- if(qlist_empty(&smcb->frames))
- {
- gossip_debug(GOSSIP_STATE_MACHINE_DEBUG,
- "FRAME GET smcb %p index %d -> frame: NULL\n",
- smcb, index);
- return NULL;
- }
- else
- {
- int i = 0;
-
- next = smcb->frames.next;
- while(i < index)
- {
- next = next->next;
- }
- frame_entry = qlist_entry(next, struct PINT_frame_s, link);
- gossip_debug(GOSSIP_STATE_MACHINE_DEBUG,
- "FRAME GET smcb %p index %d -> frame: %p\n",
- smcb, index, frame_entry->frame);
- return frame_entry->frame;
- }
-}
-
-/* Function: PINT_sm_push_frame
- * Params: pointer to smcb, void pointer for new frame
- * Returns:
- * Synopsis: pushes a new frame pointer onto the frame_stack
- */
-int PINT_sm_push_frame(struct PINT_smcb *smcb, int task_id, void *frame_p)
-{
- struct PINT_frame_s *newframe;
- gossip_debug(GOSSIP_STATE_MACHINE_DEBUG,
- "PUSH FRAME %p onto smcb %p\n",
- frame_p, smcb);
-
- newframe = malloc(sizeof(struct PINT_frame_s));
- if(!newframe)
- {
- return -PVFS_ENOMEM;
- }
- newframe->task_id = task_id;
- newframe->frame = frame_p;
- qlist_add(&newframe->link, &smcb->frames);
- return 0;
-}
-
-/* Function: PINT_sm_pop_frame
- * Params: pointer to an smcb pointer
- * Returns: frame pointer
- * Synopsis: pops a frame pointer from the frame_stack and returns it
- */
-void *PINT_sm_pop_frame(struct PINT_smcb *smcb, int *error_code)
-{
- struct PINT_frame_s *frame_entry;
- void *frame;
-
- if(qlist_empty(&smcb->frames))
- {
- return NULL;
- }
-
- frame_entry = qlist_entry(&smcb->frames.next, struct PINT_frame_s, link);
- qlist_del(smcb->frames.next);
-
- frame = frame_entry->frame;
- *error_code = frame_entry->error;
-
- free(frame_entry);
-
- gossip_debug(GOSSIP_STATE_MACHINE_DEBUG,
- "POP FRAME %p from smcb %p\n",
- frame, smcb);
- return frame;
-}
-
-/* Function: PINT_sm_task_map
- * Params: smcb and an integer task_id
- * Returns: The state machine a new child state should execute
- * Synopsis: Uses the task_id and task jump table from the SM
- * code to decide which SM a new child should run. Called
- * by the start_child_frames function
- */
-static struct PINT_state_s *PINT_sm_task_map(struct PINT_smcb *smcb, int task_id)
-{
- struct PINT_pjmp_tbl_s *pjmptbl;
- int i;
-
- pjmptbl = smcb->current_state->pjtbl;
- for (i = 0; ; i++)
- { if (pjmptbl[i].return_value == task_id ||
- pjmptbl[i].return_value == -1)
- return pjmptbl[i].state_machine->first_state;
- }
-}
-
-static int child_sm_frame_terminate(struct PINT_smcb * smcb, job_status_s * js_p)
-{
- PINT_smcb_free(smcb);
- return 0;
-}
-
-/* Function: PINT_sm_start_child_frames
- * Params: pointer to an smcb pointer
- * Returns: number of children started
- * Synopsis: This starts all the enw child SMs based on the frame_stack
- * This is called by the invoke function above which expects the
- * number of children to be returned to decide if the state is
- * deferred or not.
- */
-static void PINT_sm_start_child_frames(struct PINT_smcb *smcb)
-{
- int retval;
- struct PINT_smcb *new_sm;
- struct PINT_frame_s *frame_entry;
- job_status_s r;
-
- assert(smcb);
-
- qlist_for_each_entry(frame_entry, &smcb->frames, link)
- {
- /* allocate smcb */
- PINT_smcb_alloc(&new_sm, smcb->op, 0, NULL,
- child_sm_frame_terminate, smcb->context);
- /* set parent smcb pointer */
- new_sm->parent_smcb = smcb;
- /* increment parent's counter */
- smcb->children_running++;
- /* assign frame */
- PINT_sm_push_frame(new_sm, frame_entry->task_id, frame_entry->frame);
- /* locate SM to run */
- new_sm->current_state = PINT_sm_task_map(smcb, frame_entry->task_id);
- /* invoke SM */
- retval = PINT_state_machine_start(new_sm, &r);
- if(retval < 0)
- {
- gossip_err("PJMP child state machine failed to start.\n");
- }
- }
-}
-
-char * PINT_sm_action_string[3] =
-{
- "DEFERRED",
- "COMPLETE",
- "TERMINATE"
-};
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
-
-#endif
-
diff --git a/oldcode/src/common/state-machine/state-machine.h b/oldcode/src/common/state-machine/state-machine.h
deleted file mode 100644
index d4c3cf0..0000000
--- a/oldcode/src/common/state-machine/state-machine.h
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * (C) 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-#ifndef __STATE_MACHINE_H
-#define __STATE_MACHINE_H
-
-#if 0
-#include "job.h"
-#endif
-#include "src/common/quicklist/quicklist.h"
-#include "src/common/id-generator/id-generator.h"
-
-#include "junk.h"
-
-/* STATE-MACHINE.H
- *
- * This file sets up all the definitions necessary for our state machine
- * implementation. This is set up in this (somewhat obscure) way because
- * we want:
- * - a very fast state machine implementation (few dereferences)
- * - easy access to the state data for the implementation
- * - reuse across client and server (different state data)
- *
- * The important thing to note about this file is that it requires that
- * PINT_OP_STATE be defined. This must be a typedef to the structure
- * that holds the necessary state information for a given state machine.
- * There are four fields that must exist and are used by the state machine
- * implementation:
- * - int op;
- * - int stackptr;
- * - PINT_state_array_values *current_state;
- * - PINT_state_array_values *state_stack[PINT_STATE_STACK_SIZE];
- *
- * Also, PINT_STATE_STACK_SIZE must be defined or enum'd before that
- * declaration.
- *
- * The file state-machine-fns.h defines a set of functions for use in
- * interacting with the state machine. There are also a couple of other
- * functions that must be defined, in particular some sort of initialization
- * function. See src/server/server-state-machine.c for examples.
- */
-
-enum PINT_state_code {
- SM_NONE = 0,
- SM_NEXT = 1,
- SM_RETURN = 2,
- SM_EXTERN = 3,
- SM_NESTED = 5,
- SM_JUMP = 6,
- SM_TERM = 7,
- SM_PJMP = 8,
- SM_RUN = 9
-};
-
-/* these define things like stack size and so forth for the common
- * state machine code.
- * The state stack size limits the number of nested state machines that
- * can exist. 8 seems reasonable.
- */
-#define PINT_STATE_STACK_SIZE 8
-
-/* State machine control block - one per running instance of a state
- * machine
- */
-typedef struct PINT_smcb
-{
- /* state machine execution variables */
- int stackptr;
- struct PINT_state_s *current_state;
- struct PINT_state_s *state_stack[PINT_STATE_STACK_SIZE];
-
- struct qlist_head frames;
-
- /* usage specific routinet to look up SM from OP */
- struct PINT_state_machine_s *(*op_get_state_machine)(int);
- /* state machine context and control variables */
-
- int op; /* this field externally indicates type of state machine */
-
- PVFS_id_gen_t op_id; /* unique ID for this operation */
- struct PINT_smcb *parent_smcb; /* points to parent smcb or NULL */
- int op_terminate; /* indicates SM is ready to terminate */
- int op_cancelled; /* indicates SM operation was cancelled */
- int children_running; /* the number of child SMs running */
- int op_completed; /* indicates SM operation was added to completion Q */
- /* add a lock here */
-
- /* NOTE: THIS WAS job_context_id -- RBR, 12/18/2007 */
- int context; /* job context when waiting for children */
- int (*terminate_fn)(struct PINT_smcb *, job_status_s *);
- void *user_ptr; /* external user pointer */
-} PINT_smcb;
-
-#define PINT_SET_OP_COMPLETE do{PINT_smcb_set_complete(smcb);} while (0)
-
-struct PINT_state_machine_s
-{
- const char *name;
- struct PINT_state_s *first_state;
-};
-
-struct PINT_state_s
-{
- const char *state_name;
- struct PINT_state_machine_s *parent_machine;
- enum PINT_state_code flag;
- union
- {
- int (*func)(struct PINT_smcb *, job_status_s *);
- struct PINT_state_machine_s *nested;
- } action;
- struct PINT_pjmp_tbl_s *pjtbl;
- struct PINT_tran_tbl_s *trtbl;
-};
-
-struct PINT_pjmp_tbl_s
-{
- int return_value;
- enum PINT_state_code flag;
- struct PINT_state_machine_s *state_machine;
-};
-
-struct PINT_tran_tbl_s
-{
- int return_value;
- enum PINT_state_code flag;
- struct PINT_state_s *next_state;
-};
-
-/* All state action functions return this type which controls state
- * machine action
- */
-typedef enum {
- SM_ACTION_DEFERRED = 0,
- SM_ACTION_COMPLETE = 1,
- SM_ACTION_TERMINATE = 2,
- SM_ERROR = -1 /* this is a catastrophic error */
-} PINT_sm_action;
-
-extern char * PINT_sm_action_string[];
-#define SM_ACTION_STRING(action) \
- (action == SM_ERROR ? "ERROR" : PINT_sm_action_string[action])
-
-#define SM_ACTION_ISERR(ret) ((ret)<0)
-#define SM_ACTION_ISVALID(ret) \
- (ret == SM_ACTION_DEFERRED || \
- ret == SM_ACTION_COMPLETE || \
- ret == SM_ACTION_TERMINATE || \
- ret == SM_ERROR)
-
-/* what is this type? */
-enum {
- JMP_NOT_READY = 99,
- DEFAULT_ERROR = -1,
-};
-
-#define ENCODE_TYPE 0
-#define SM_STATE_RETURN -1
-#define SM_NESTED_STATE 1
-
-#define SM_NONE 0
-#define SM_NEXT 1
-#define SM_RETURN 2
-#define SM_EXTERN 3
-#define SM_NESTED 5
-#define SM_JUMP 6
-#define SM_TERMINATE 7
-
-/* Prototypes for functions provided by user */
-int PINT_state_machine_complete(void *);
-
-/* This macro returns the state machine string of the current machine.
- * We assume the first 6 characters of every state machine name are "pvfs2_".
- */
-#define PINT_state_machine_current_machine_name(smcb) \
- (((smcb)->current_state->parent_machine->name) + 6)
-
-/* This macro returns the current state invoked */
-#define PINT_state_machine_current_state_name(smcb) \
- ((smcb)->current_state->state_name)
-
-/* Prototypes for functions defined in by state machine code */
-int PINT_state_machine_halt(void);
-int PINT_state_machine_terminate(struct PINT_smcb *, job_status_s *);
-PINT_sm_action PINT_state_machine_next(struct PINT_smcb *,job_status_s *);
-PINT_sm_action PINT_state_machine_invoke(struct PINT_smcb *, job_status_s *);
-PINT_sm_action PINT_state_machine_start(struct PINT_smcb *, job_status_s *);
-PINT_sm_action PINT_state_machine_continue(
- struct PINT_smcb *smcb, job_status_s *r);
-int PINT_state_machine_locate(struct PINT_smcb *) __attribute__((used));
-int PINT_smcb_set_op(struct PINT_smcb *smcb, int op);
-int PINT_smcb_op(struct PINT_smcb *smcb);
-void PINT_smcb_set_complete(struct PINT_smcb *smcb);
-int PINT_smcb_invalid_op(struct PINT_smcb *smcb);
-int PINT_smcb_complete(struct PINT_smcb *smcb);
-void PINT_smcb_set_cancelled(struct PINT_smcb *smcb);
-int PINT_smcb_cancelled(struct PINT_smcb *smcb);
-int PINT_smcb_alloc(struct PINT_smcb **, int, int,
- struct PINT_state_machine_s *(*getmach)(int),
- int (*term_fn)(struct PINT_smcb *, job_status_s *),
- job_context_id context_id);
-void PINT_smcb_free(struct PINT_smcb *);
-void *PINT_sm_frame(struct PINT_smcb *, int);
-int PINT_sm_push_frame(struct PINT_smcb *smcb, int task_id, void *frame_p);
-void *PINT_sm_pop_frame(struct PINT_smcb *smcb, int *error_code);
-
-int PINT_sm_pop_error(PINT_smcb *smcb, PVFS_error ret);
-
-/* This macro is used in calls to PINT_sm_fram() */
-#define PINT_FRAME_CURRENT 0
-
-struct PINT_state_machine_s pvfs2_void_sm;
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
-
-#endif
diff --git a/oldcode/src/common/statecomp/codegen.c b/oldcode/src/common/statecomp/codegen.c
deleted file mode 100644
index 083f119..0000000
--- a/oldcode/src/common/statecomp/codegen.c
+++ /dev/null
@@ -1,283 +0,0 @@
-/*
- * (C) 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-/** \file
- * \ingroup statecomp
- *
- * Code generation routines for statecomp.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-
-#include "../quicklist/quicklist.h"
-#include "../quickhash/quickhash.h"
-
-#include "statecomp.h"
-
-static int needcomma = 1;
-
-static void gen_state_decl(char *state_name);
-static void gen_runfunc_decl(char *func_name);
-static void gen_state_start(char *state_name, char *machine_name);
-static void gen_state_action(
- enum state_action action, char *run_func, char *state_name);
-static void gen_return_code(char *return_code);
-static void gen_next_state(enum transition_type type, char *new_state);
-static void gen_state_end(void);
-static void gen_trtbl(char *state_name);
-static void gen_pjtbl(char *state_name);
-
-void gen_machine(char *machine_name)
-{
- struct state *s, *snext;
- struct transition *t, *tnext;
- struct task *task, *tasknext;
-
- if (states == NULL)
- fprintf(stderr, "%s: no states declared in machine %s\n", __func__,
- machine_name);
-
- /* dump forward declarations of all the states */
- for (s=states; s; s=s->next)
- {
- if(s->action == ACTION_RUN)
- gen_runfunc_decl(s->function_or_machine);
- gen_state_decl(s->name);
- }
-
- /* delcare the machine start point */
- fprintf(out_file, "\nstruct PINT_state_machine_s %s = {\n", machine_name);
- fprintf(out_file, "\t.name = \"%s\",\n", machine_name);
- fprintf(out_file, "\t.first_state = &ST_%s\n", states->name);
- fprintf(out_file, "};\n\n");
-
- /* generate all output */
- for (s=states; s; s=s->next) {
- gen_state_start(s->name, machine_name);
- gen_state_action(s->action, s->function_or_machine, s->name);
- if(s->action == ACTION_PJMP)
- {
- gen_pjtbl(s->name);
-
- /* if there are tasks (the action must be a pjmp) so we output
- * stuff for the tasks
- */
- for (task=s->task; task; task=task->next)
- {
- gen_return_code(task->return_code);
- gen_next_state(TRANS_PJMP, task->task_name);
- }
- }
-
- gen_trtbl(s->name);
-
- for (t=s->transition; t; t=t->next) {
- gen_return_code(t->return_code);
- gen_next_state(t->type, t->next_state);
- }
- gen_state_end();
- }
-
- /* purge for next machine */
- for (s=states; s; s=snext) {
- if(s->task)
- {
- for (task=s->task; task; task=tasknext)
- {
- tasknext = task->next;
- free(task->return_code);
- free(task);
- }
- }
-
- for (t=s->transition; t; t=tnext) {
- tnext = t->next;
- free(t->return_code);
- free(t);
- }
- snext = s->next;
- free(s->name);
- free(s);
- }
- states = NULL;
-}
-
-struct runfunc_decl_entry
-{
- char *func_name;
- struct qhash_head link;
-};
-
-static int runfunc_compare(void *key, struct qhash_head *link)
-{
- if(!strcmp((char *)key,
- qhash_entry(link, struct runfunc_decl_entry, link)->func_name))
- {
- return 1;
- }
- return 0;
-}
-
-static int runfunc_hash(void *key, int table_size)
-{
- char *k = (char *)key;
- int h, g;
- while(*k)
- {
- h = (h << 4) + *k++;
- if((g = (h & 0xF0UL)))
- {
- h ^= g >> 24;
- h ^= g;
- }
- }
-
- return h % table_size;
-}
-
-static struct qhash_table *runfunc_table = NULL;
-
-static void gen_runfunc_decl(char *func_name)
-{
- if(!runfunc_table)
- {
- runfunc_table = qhash_init(runfunc_compare, runfunc_hash, 1024);
- assert(runfunc_table);
- }
-
- if(!qhash_search(runfunc_table, func_name))
- {
- struct runfunc_decl_entry *entry =
- malloc(sizeof(struct runfunc_decl_entry));
- assert(entry);
-
- entry->func_name = strdup(func_name);
- qhash_add(runfunc_table, entry->func_name, &entry->link);
-
- fprintf(out_file,
- "\nstatic PINT_sm_action %s(\n"
- "\tstruct PINT_smcb *smcb, job_status_s *js_p);\n\n",
- func_name);
- }
-}
-
-static void gen_state_decl(char *state_name)
-{
- fprintf(out_file, "static struct PINT_state_s ST_%s;\n", state_name);
- fprintf(out_file, "static struct PINT_pjmp_tbl_s ST_%s_pjtbl[];\n",
- state_name);
- fprintf(out_file, "static struct PINT_tran_tbl_s ST_%s_trtbl[];\n",
- state_name);
-}
-
-void gen_state_start(char *state_name, char *machine_name)
-{
- fprintf(out_file,
- "static struct PINT_state_s ST_%s = {\n"
- "\t .state_name = \"%s\" ,\n"
- "\t .parent_machine = &%s ,\n",
- state_name, state_name, machine_name);
-}
-
-/** generates first two lines in the state machine (I think),
- * the first one indicating what kind of action it is ("run"
- * or "jump") and the second being the action itself (either a
- * function or a nested state machine).
- */
-void gen_state_action(enum state_action action,
- char *run_func,
- char *state_name)
-{
- switch (action) {
- case ACTION_RUN:
- fprintf(out_file, "\t .flag = SM_RUN ,\n");
- fprintf(out_file, "\t .action.func = %s ,\n", run_func);
- fprintf(out_file,"\t .pjtbl = NULL ,\n");
- fprintf(out_file,"\t .trtbl = ST_%s_trtbl ", state_name);
- break;
- case ACTION_PJMP:
- fprintf(out_file, "\t .flag = SM_PJMP ,\n");
- fprintf(out_file, "\t .action.func = &%s ,\n", run_func);
- fprintf(out_file,"\t .pjtbl = ST_%s_pjtbl ,\n", state_name);
- fprintf(out_file,"\t .trtbl = ST_%s_trtbl ", state_name);
- break;
- case ACTION_JUMP:
- fprintf(out_file, "\t .flag = SM_JUMP ,\n");
- fprintf(out_file, "\t .action.nested = &%s ,\n", run_func);
- fprintf(out_file,"\t .pjtbl = NULL ,\n");
- fprintf(out_file,"\t .trtbl = ST_%s_trtbl ", state_name);
- break;
- }
- /* generate the end of the state struct with refs to jump tbls */
-}
-
-void gen_trtbl(char *state_name)
-{
- fprintf(out_file,"\n};\n\n");
- fprintf(out_file,"static struct PINT_tran_tbl_s ST_%s_trtbl[] = {\n",
- state_name);
- needcomma = 0;
-}
-
-void gen_pjtbl(char *state_name)
-{
- fprintf(out_file,"\n};\n\n");
- fprintf(out_file,"static struct PINT_pjmp_tbl_s ST_%s_pjtbl[] = {\n",
- state_name);
- needcomma = 0;
-}
-
-static void gen_return_code(char *return_code)
-{
- if (needcomma)
- {
- fprintf(out_file,",\n");
- }
- fprintf(out_file, "\t{ .return_value = %s ", return_code);
- needcomma = 1;
-}
-
-static void gen_next_state(enum transition_type type, char *new_state)
-{
- if (needcomma)
- {
- fprintf(out_file,",\n");
- }
- switch (type) {
- case TRANS_PJMP:
- fprintf(out_file, "\n\t .state_machine = &%s }", new_state);
- break;
- case TRANS_NEXT_STATE:
- fprintf(out_file, "\t .next_state = &ST_%s }", new_state);
- break;
- case TRANS_RETURN:
- terminate_path_flag = 1;
- fprintf(out_file, "\t .flag = SM_RETURN }");
- break;
- case TRANS_TERMINATE:
- terminate_path_flag = 1;
- fprintf(out_file, "\n\t .flag = SM_TERM }");
- break;
- }
- needcomma = 1;
-}
-
-static void gen_state_end(void)
-{
- fprintf(out_file,"\n};\n\n");
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/common/statecomp/module.mk.in b/oldcode/src/common/statecomp/module.mk.in
deleted file mode 100644
index 975e2b2..0000000
--- a/oldcode/src/common/statecomp/module.mk.in
+++ /dev/null
@@ -1,19 +0,0 @@
-DIR := src/common/statecomp
-
-STATECOMP := $(DIR)/statecomp
-STATECOMPSRC := \
- $(DIR)/statecomp.c \
- $(DIR)/codegen.c \
- $(DIR)/parser.c \
- $(DIR)/scanner.c
-
-STATECOMPGEN := \
- $(DIR)/scanner.c \
- $(DIR)/parser.c \
- $(DIR)/parser.h \
-
-# shut up warnings for problems from flex-2.5.33
-MODCFLAGS_$(DIR)/scanner.c := -D__STDC_VERSION__=0
-
-.SECONDARY: $(STATECOMPGEN)
-
diff --git a/oldcode/src/common/statecomp/parser.y b/oldcode/src/common/statecomp/parser.y
deleted file mode 100644
index 90bded7..0000000
--- a/oldcode/src/common/statecomp/parser.y
+++ /dev/null
@@ -1,174 +0,0 @@
-
-%{
-
-/*
- * (C) 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-/** \file
- * \ingroup statecomp
- *
- * Parser for statecomp source-to-source translator.
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-
-#include "statecomp.h"
-
-/* We never use this, disable default. */
-#define YY_LOCATION_PRINT 0
-
-/* No NLS. */
-#define YYENABLE_NLS 0
-
-/* building these things up as the rules go */
-static struct state *cur_state;
-static struct transition *cur_transition;
-static struct task *cur_task;
-
-void gen_state_start(char *state_name, char *machine_name);
-void gen_state_action(enum state_action action,
- char *run_func, char *state_name);
-void gen_return_code(char *return_code);
-void gen_next_state(enum transition_type type, char *new_state);
-void gen_state_end(void);
-char *current_machine_name(void);
-
-/* in scanner.l generated code */
-extern int yylex(void);
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
-
-
-%}
-
-%union {
- int i;
- char *c;
-};
-
-%token <i> MACHINE
-%token <i> NESTED
-%token <i> STATE
-%token <i> RUN
-%token <i> PJMP
-%token <i> JUMP
-%token <i> STATE_RETURN
-%token <i> STATE_TERMINATE
-%token <i> SUCCESS
-%token <c> DEFAULT
-%token <i> LBRACE
-%token <i> RBRACE
-%token <i> SEMICOLON
-%token <i> ARROW
-%token <c> IDENTIFIER
-
-%type <i> state_body state_action
-
-%type <c> identifier return_code transition transition_list
-
-%type <i> state_def state_machine target state_machine_list
- task task_list
-
-%start state_machine_list
-
-%%
-
-state_machine_list : state_machine
- | state_machine state_machine_list
- ;
-
-state_machine : NESTED MACHINE identifier LBRACE state_def_list RBRACE
- {
- gen_machine($3);
- }
- | MACHINE identifier LBRACE state_def_list RBRACE
- {
- gen_machine($2);
- }
- ;
-
-state_def_list : state_def
- | state_def state_def_list
- ;
-
-state_def : STATE identifier LBRACE
- {
- cur_state = new_state($2);
- }
- state_body RBRACE
- ;
-
-state_body : state_action transition_list
- ;
-
-state_action : RUN identifier SEMICOLON
- {
- cur_state->action = ACTION_RUN;
- cur_state->function_or_machine = $2;
- }
- | JUMP identifier SEMICOLON
- {
- cur_state->action = ACTION_JUMP;
- cur_state->function_or_machine = $2;
- }
- | PJMP identifier LBRACE task_list RBRACE
- {
- cur_state->action = ACTION_PJMP;
- cur_state->function_or_machine = $2;
- }
- ;
-
-task_list : task
- | task task_list
- ;
-
-task : return_code ARROW identifier SEMICOLON
- {
- cur_task = new_task(cur_state, $1, $3);
- }
-
-transition_list : transition
- | transition transition_list
- ;
-
-transition : return_code ARROW
- {
- cur_transition = new_transition(cur_state, $1);
- }
- target SEMICOLON
- ;
-
-target : identifier
- {
- cur_transition->type = TRANS_NEXT_STATE;
- cur_transition->next_state = $1;
- }
- | STATE_RETURN
- {
- cur_transition->type = TRANS_RETURN;
- }
- | STATE_TERMINATE
- {
- cur_transition->type = TRANS_TERMINATE;
- }
- ;
-
-return_code : SUCCESS {$$ = estrdup("0");}
- | DEFAULT {$$ = estrdup("-1");}
- | identifier {$$ = $1;}
- ;
-
-identifier : IDENTIFIER {$$ = estrdup($1);}
- ;
-
diff --git a/oldcode/src/common/statecomp/scanner.l b/oldcode/src/common/statecomp/scanner.l
deleted file mode 100644
index 27b31a5..0000000
--- a/oldcode/src/common/statecomp/scanner.l
+++ /dev/null
@@ -1,130 +0,0 @@
-%{
-
-/*
- * (C) 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-/** \file
- * \ingroup statecomp
- *
- * Lexical analyzer for statecomp source-to-source translator.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "statecomp.h"
-#include "parser.h"
-
-/*
- we're never interactive, so avoid isatty call that sometimes
- fails due to occassional improper ioctl command mappings --
- these can cause an infinite loop in statecomp execution.
-*/
-#define YY_ALWAYS_INTERACTIVE 0
-#define YY_NEVER_INTERACTIVE 1
-
-/* No push/pop of scanner state. */
-#define YY_STACK_USED 0
-
-/* No main needed. */
-#define YY_MAIN 0
-
-/* For the new and broken flex-2.5.33, it defines isatty() no matter what,
- * but we can tell it not to include unistd.h that really defines that.
- */
-#define YY_NO_UNISTD_H 1
-
-/*
- * flex-2.5.33 produces these non-static functions that are never used
- * internally or externally by us. Shut up gcc complaints by pretending we
- * have declared them. Older flex-2.5.4 is not so dumb.
- */
-int yyget_lineno(void);
-FILE *yyget_in(void);
-FILE *yyget_out(void);
-int yyget_leng(void);
-char *yyget_text(void);
-void yyset_lineno(int line_number);
-void yyset_in(FILE *in_str );
-void yyset_out(FILE *out_str);
-int yyget_debug(void);
-void yyset_debug(int bdebug);
-int yylex_destroy(void);
-
-/* flex-2.5.33 does generate a prototype, but 2.5.4 does not */
-#if !defined(YY_FLEX_SUBMINOR_VERSION) || (YY_FLEX_SUBMINOR_VERSION < 33)
-extern int yylex(void);
-#endif
-
-#define RETURNVAL(x) yylval.i = x; return x;
-static int comment_caller;
-
-%}
-
-id [_a-zA-Z][_0-9a-zA-Z]*
-
-%x CODE
-%x COMMENT
-
-/* avoid a warning since we do not use yyunput() */
-%option nounput
-
-%%
-
-[^%\n]* {fprintf(out_file, "%s", yytext);}
-"\n" {fprintf(out_file, "%s", yytext); line++;}
-"\%" {fprintf(out_file, "%s", yytext);}
-"\%\%" {BEGIN(CODE);}
-
-<CODE>"\%\%" {fprintf(out_file,"# %d \"%s\"\n", line, in_file_name);
- BEGIN(0);}
-
-<CODE>"machine" {RETURNVAL(MACHINE);}
-<CODE>"nested" {RETURNVAL(NESTED);}
-<CODE>"state" {RETURNVAL(STATE);}
-<CODE>"run" {RETURNVAL(RUN);}
-<CODE>"pjmp" {RETURNVAL(PJMP);}
-<CODE>"jump" {RETURNVAL(JUMP);}
-<CODE>"return" {RETURNVAL(STATE_RETURN);}
-<CODE>"terminate" {RETURNVAL(STATE_TERMINATE);}
-<CODE>"success" {RETURNVAL(SUCCESS);}
-<CODE>"default" {RETURNVAL(DEFAULT);}
-<CODE>"\{" {RETURNVAL(LBRACE);}
-<CODE>"\}" {RETURNVAL(RBRACE);}
-<CODE>"\;" {RETURNVAL(SEMICOLON);}
-<CODE>"\=\>" {RETURNVAL(ARROW);}
-
-<CODE>"/*" {comment_caller = CODE; BEGIN(COMMENT);}
-<COMMENT>[^*\n]* /* eat anything that's not a '*' */
-<COMMENT>"*"+[^*/\n]* /* eat up '*'s not followed by '/'s */
-<COMMENT>\n line++;
-<COMMENT>"*"+"/" BEGIN(comment_caller);
-
-<CODE>{id} {yylval.c = yytext; return(IDENTIFIER);}
-
-<CODE>"\n" {line++;}
-<CODE>[ \t]+ /* eat white space */
-<*>. {char s[256];
- sprintf(s, "bad character '%s'", yytext); yyerror(s); }
-
-%%
-
-/* On EOF, no more files. */
-int yywrap(void)
-{
- return 1;
-}
-
-/*
- * Local variables:
- * mode: c
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/common/statecomp/statecomp.c b/oldcode/src/common/statecomp/statecomp.c
deleted file mode 100644
index 6b75f3b..0000000
--- a/oldcode/src/common/statecomp/statecomp.c
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- * (C) 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-/** \defgroup statecomp statecomp source-to-source translator
- *
- * statecomp is a source-to-source translator. It takes state machine
- * descriptions (.sm extension) as input and creates a corresponding C
- * source file for compilation. Both clients and servers rely on these
- * state machines for concurrent processing. This executable is built at
- * compile time and used only during compilation of PVFS2.
- *
- * @{
- */
-
-/** \file
- *
- * Core of state machine source-to-source translator executable, statecomp,
- * including processing arguments, calling the parser, and producing
- * warning and error messages.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-#include "statecomp.h"
-
-#ifdef __GNUC__
-#ifdef YYPARSE_PARAM
-int yyparse (void *);
-#else
-int yyparse (void);
-#endif
-#endif
-
-/*
- * Global Variables
- */
-struct state *states = NULL;
-int terminate_path_flag = 0;
-int line = 1;
-FILE *out_file;
-const char *in_file_name;
-
-static const char *progname;
-static char *out_file_name;
-
-static void parse_args(int argc, char **argv);
-static void finalize(void);
-
-int main(int argc, char **argv)
-{
- int retval;
- parse_args(argc, argv);
- retval = yyparse();
- switch (retval)
- {
- case 0:
- /* successful parse */
- break;
- case 1:
- /* syntax error */
- fprintf(stderr,"yyparse returned syntax error\n");
- break;
- case 2:
- /* out of memory error */
- fprintf(stderr,"yyparse returned out of memory error\n");
- break;
- default:
- /* unknown error */
- fprintf(stderr,"yyparse returned unknown error\n");
- break;
- }
- finalize();
- return retval;
-}
-
-static void usage(void)
-{
- fprintf(stderr, "Usage: %s [-l] input_file.sm [output_file.c]\n", progname);
- exit(1);
-}
-
-static void parse_args(int argc, char **argv)
-{
- int len;
- const char *cp;
-
- for (cp=progname=argv[0]; *cp; cp++)
- if (*cp == '/')
- progname = cp+1;
-
- if (argc < 2 || argc > 3)
- usage();
-
- in_file_name = argv[1];
- out_file_name = argc == 3 ? argv[2] : NULL;
-
- len = strlen(in_file_name);
- if (len <= 3 || strcmp(&in_file_name[len-3], ".sm") != 0)
- usage();
-
- if (!freopen(in_file_name, "r", stdin))
- {
- perror("open input file");
- exit(1);
- }
-
- if (!out_file_name) {
- /* construct output file name from input file name */
- out_file_name = estrdup(in_file_name);
- out_file_name[len-2] = 'c';
- out_file_name[len-1] = 0;
- }
-
- out_file = fopen(out_file_name, "w");
- if (!out_file)
- {
- perror("opening output file");
- exit(1);
- }
-
- /* dump header comment into out file */
- fprintf(out_file,
- "/* WARNING: THIS FILE IS AUTOMATICALLY GENERATED FROM A .SM FILE.\n");
- fprintf(out_file,
- " * Changes made here will certainly be overwritten.\n");
- fprintf(out_file,
- " */\n\n");
-}
-
-static void finalize(void)
-{
- if (!terminate_path_flag) {
- fprintf(stderr, "%s: %s: state machine contains no explicit"
- " exit path (terminate or return transition).\n", progname,
- in_file_name);
- unlink(out_file_name);
- exit(1);
- }
- fclose(out_file);
-}
-
-void yyerror(char *s)
-{
- fprintf(stderr, "%s: %s:%d: %s\n", progname, in_file_name, line, s);
- unlink(out_file_name);
- exit(1);
-}
-
-/*
- * Error checking malloc.
- */
-void *emalloc(size_t size)
-{
- void *p;
-
- p = malloc(size);
- if (!p) {
- fprintf(stderr, "%s: no more dynamic storage - aborting\n", progname);
- exit(1);
- }
- return p;
-}
-
-char *estrdup(const char *oldstring)
-{
- char *s;
-
- s = emalloc(strlen(oldstring)+1);
- strcpy(s, oldstring);
- return s;
-}
-
-struct state *new_state(char *name)
-{
- struct state *s, **sprev = &states;
-
- for (s=states; s; s=s->next) {
- if (!strcmp(s->name, name)) {
- fprintf(stderr, "%s: state %s already exists\n", __func__, name);
- exit(1);
- }
- sprev = &s->next;
- }
- s = emalloc(sizeof(*s));
- s->name = name;
- s->transition = NULL;
- s->task = NULL;
- s->next = NULL;
- *sprev = s;
- return s;
-}
-
-struct transition *new_transition(struct state *s, char *return_code)
-{
- struct transition *t, **tprev = &s->transition;
-
- for (t=s->transition; t; t=t->next) {
- if (!strcmp(t->return_code, return_code)) {
- fprintf(stderr, "%s: state %s: return code %s already exists\n",
- __func__, s->name, return_code);
- exit(1);
- }
- tprev = &t->next;
- }
- t = emalloc(sizeof(*t));
- t->return_code = return_code;
- t->next = NULL;
- *tprev = t;
- return t;
-}
-
-struct task *new_task(
- struct state *s, char *return_code, char *task_name)
-{
- struct task *t, **tprev;
-
- /* allocate for the new task */
- t = emalloc(sizeof(*t));
- t->return_code = return_code;
- t->task_name = task_name;
- t->next = NULL;
-
- /* move to the end of the task list */
- tprev = &s->task;
- while(*tprev)
- {
- tprev = &(*tprev)->next;
- }
-
- /* add the new task to the end of the list */
- *tprev = t;
- return t;
-}
-
-/* @} */
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/common/statecomp/statecomp.h b/oldcode/src/common/statecomp/statecomp.h
deleted file mode 100644
index 328f491..0000000
--- a/oldcode/src/common/statecomp/statecomp.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * (C) 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-/** \file
- * \ingroup statecomp
- *
- * Defines and prototypes for statecomp symbol table.
- */
-
-enum transition_type
-{
- TRANS_NEXT_STATE,
- TRANS_RETURN,
- TRANS_TERMINATE,
- TRANS_PJMP
-};
-
-enum state_action
-{
- ACTION_RUN,
- ACTION_JUMP,
- ACTION_PJMP
-};
-
-struct task {
- struct task *next;
- char *return_code;
- char *task_name;
-};
-
-struct transition {
- struct transition *next;
- char *return_code;
- enum transition_type type;
- char *next_state;
-};
-
-struct state {
- struct state *next;
- char *name;
- enum state_action action;
- char *function_or_machine;
- struct task *task;
- struct transition *transition;
-};
-
-extern struct state *states;
-extern int terminate_path_flag;
-extern int line;
-extern FILE *out_file;
-extern const char *in_file_name;
-
-void yyerror(char *);
-void *emalloc(size_t size);
-char *estrdup(const char *oldstring);
-struct state *new_state(char *name);
-struct transition *new_transition(struct state *s, char *return_code);
-struct task *new_task(
- struct state *s, char *return_code, char *task_name);
-
-void gen_machine(char *machine_name);
-
diff --git a/oldcode/src/dense-1/cmpi_dense.c b/oldcode/src/dense-1/cmpi_dense.c
deleted file mode 100644
index 10822de..0000000
--- a/oldcode/src/dense-1/cmpi_dense.c
+++ /dev/null
@@ -1,248 +0,0 @@
-
-#include "cmpi_dense-1.h"
-
-/**
- List of node ranks to contact for DENSE routines.
-*/
-struct inlist* contacts;
-
-CMPI_RETURN
-cmpi_init_impl()
-{
- // NOTE_F;
- DENSE_Read_params();
-
- DENSE_Init(3, 3);
-
- return CMPI_SUCCESS;
-}
-
-CMPI_RETURN
-cmpi_init_impl_client()
-{
- int i;
- DENSE_Read_params();
-
- DENSE_Init_client();
-
- contacts = inlist_create();
-
- for (i = 0; i < dense_nodes; i++)
- {
- gossip_debug(MASK_DHT, "contact: %i\n", i);
- inlist_add(contacts, i);
- }
-
- return CMPI_SUCCESS;
-}
-
-CMPI_RETURN
-cmpi_impl_parameter(char* name, char* value)
-{
- if (strcmp(name, "nodes") == 0)
- {
- int n;
- sscanf(value, "%i", &n);
- dense_nodes = n;
- }
-
- return CMPI_SUCCESS;
-}
-
-char*
-cmpi_info(CMPI_ID key)
-{
- char* result = NULL;
- int i = inlist_random(contacts);
-
- MPIRPC_Node node;
- MPIRPC_Node_make(i, MPI_COMM_WORLD, &node);
-
- result = MPIRPC_Block(node, "info", xheap(key));
-
- return result;
-}
-
-/**
- Ex-DHT search.
- @return The MPI rank closest to the given key.
-*/
-CMPI_ID
-cmpi_lookup(char* key)
-{
- int i = inlist_random(contacts);
-
- NOTE_FS(key);
-
- i = inlist_random(contacts);
-
- MPIRPC_Node node;
- MPIRPC_Node_make(i, MPI_COMM_WORLD, &node);
-
- MPIRPC* rpc = DENSE_Lookup(node, key);
- MPIRPC_Wait(rpc);
-
- // printf("cmpi_lookup()@%i -> %s \n", i, rpc->result);
-
- return 0;
-}
-
-CMPI_ID
-cmpi_translate(CMPI_ID id)
-{
- NOTE_F;
-
- int i = inlist_random(contacts);
- MPIRPC_Node node;
- MPIRPC_Node_make(MPI_COMM_WORLD, i, &node);
-
- MPIRPC* rpc = DENSE_Translate(node, (DENSE_ID) id);
- MPIRPC_Wait(rpc);
- int result = 0;
- sscanf(rpc->result, "%X", &result);
- return result;
-}
-
-/**
- Blocking call.
-*/
-CMPI_RETURN
-cmpi_put(char* key, char* value, int length)
-{
- struct inlist_item* item;
- MPIRPC_Node node;
- SHOW_FS(key);
-
- int i = inlist_random(contacts);
- MPIRPC_Node_make(MPI_COMM_WORLD, i, &node);
- MPIRPC* lookup = DENSE_Lookup_k(node, key);
- MPIRPC_Wait(lookup);
-
- struct inlist* ranks = inlist_parse(lookup->result);
-
- for (item = ranks->head;
- item; item = item->next)
- {
- SHOW_I(item->data);
- MPIRPC_Node_make(MPI_COMM_WORLD, item->data, &node);
- MPIRPC* rpc = DENSE_Store(node, key, value, length);
- MPIRPC_Wait(rpc);
- MPIRPC_Free(rpc);
- }
- inlist_free(ranks);
-
- DONE;
- return CMPI_SUCCESS;
-}
-
-/**
- Blocking call.
-*/
-CMPI_RETURN
-cmpi_update(char* key, char* value, int length, int offset)
-{
- struct inlist_item* item;
- MPIRPC_Node node;
- SHOW_FS(key);
-
- int i = inlist_random(contacts);
- MPIRPC_Node_make(MPI_COMM_WORLD, i, &node);
- MPIRPC* lookup = DENSE_Lookup_k(node, key);
- MPIRPC_Wait(lookup);
-
- struct inlist* ranks = inlist_parse(lookup->result);
-
- for (item = ranks->head;
- item; item = item->next)
- {
- SHOW_I(item->data);
- MPIRPC_Node_make(MPI_COMM_WORLD, item->data, &node);
- MPIRPC* rpc = DENSE_Update(node, key, value, length, offset);
- MPIRPC_Wait(rpc);
- MPIRPC_Free(rpc);
- }
- inlist_free(ranks);
-
- DONE;
- return CMPI_SUCCESS;
-}
-
-CMPI_RETURN
-cmpi_get(char* key, char** value, int* length)
-{
- int i = inlist_random(contacts);
- MPIRPC_Node node;
-
- NOTE_FS(key);
-
- MPIRPC_Node_make(MPI_COMM_WORLD, i, &node);
-
- MPIRPC* lookup = DENSE_Lookup_k(node, key);
- MPIRPC_Wait(lookup);
-
- struct inlist* ranks = inlist_parse(lookup->result);
- int rank = inlist_random(ranks);
- inlist_free(ranks);
-
- MPIRPC_Node_make(MPI_COMM_WORLD, rank, &node);
- MPIRPC* rpc = DENSE_Retrieve(node, key);
- MPIRPC_Wait(rpc);
- *value = rpc->result;
- *length = rpc->result_length;
-
- SHOW_I(rpc->result_length);
-
- MPIRPC_Free(rpc);
-
- DONE;
- return CMPI_SUCCESS;
-}
-
-void
-cmpi_shutdown()
-{
- struct inlist_item* item;
- NOTE_F;
-
- MPIRPC_Node node;
- for (item = contacts->head; item; item = item->next)
- {
- MPIRPC_Node_make(MPI_COMM_WORLD, item->data, &node);
- DENSE_Shutdown(node);
- }
- DONE;
-}
-
-void
-cmpi_debug_tables()
-{}
-
-void
-cmpi_debug_caches()
-{
- struct inlist_item* item;
- MPIRPC_Node node;
- for (item = contacts->head; item; item = item->next)
- {
- MPIRPC_Node_make(MPI_COMM_WORLD, item->data, &node);
- DENSE_Debug_cache(node);
- }
-}
-
-void
-DENSE_Read_params(void)
-{
- // NOTE_F;
- char* nodes_msg = cmpi_params_search("nodes");
- if (nodes_msg)
- {
- int n = sscanf(nodes_msg, "%i", &dense_nodes);
- // SHOW_I(dense_nodes);
- assert(n == 1);
- free(nodes_msg);
- }
- else
- {
- dense_nodes = mpi_size;
- }
-}
diff --git a/oldcode/src/dense-1/dense.c b/oldcode/src/dense-1/dense.c
deleted file mode 100644
index ed53efd..0000000
--- a/oldcode/src/dense-1/dense.c
+++ /dev/null
@@ -1,345 +0,0 @@
-
-#include <dense-1.h>
-
-/**
- Number of service nodes.
-*/
-int dense_nodes;
-
-/**
- When true, shutdown.
-*/
-bool dense_quitting = false;
-
-/**
- ID for special sequential global operations such as
- debug dumps and shutdowns.
-*/
-int last_global_opid = 0;
-
-/**
- Number of times buckets have been dumped.
- Useful for debugging only.
-*/
-int dumps = 0;
-
-MPIRPC_Node* nodes;
-
-int k = 3;
-
-void
-DENSE_Init(int k_in, MPI_Comm comm)
-{
- char hostname[100];
-
- NOTE_F;
-
- k = k_in;
- nodes = malloc(dense_nodes * sizeof(MPIRPC_Node));
-
- int i;
- for (i = 0; i < dense_nodes; i++)
- MPIRPC_Node_make(comm, i, &nodes[i]);
- MPIRPC_Register("bootping", handle_bootping);
- MPIRPC_Register("info", handle_info);
- MPIRPC_Register("ping", handle_ping);
- MPIRPC_Register("query_id", handle_query_id);
- MPIRPC_Register("query_id_k", handle_query_id_k);
- MPIRPC_Register("store", handle_store);
- MPIRPC_Register("update", handle_update);
- MPIRPC_Register("retrieve", handle_retrieve);
- MPIRPC_Register("debug_cache", handle_debug_cache);
- MPIRPC_Register("quit", handle_quit);
-
- MPIRPC_Comm_add(MPI_COMM_WORLD);
-
- if (mpi_rank == 0)
- rpc_bootping();
-
- gethostname(hostname, 100);
-
- listen_loop();
-}
-
-void
-DENSE_Init_client()
-{
- MPIRPC_Comm_add(MPI_COMM_WORLD);
-}
-
-void
-rpc_bootping()
-{
- if (mpi_rank < dense_nodes-1)
- {
- MPIRPC_Node node;
- MPIRPC_Node_make(MPI_COMM_WORLD, mpi_rank+1, &node);
- MPIRPC_Block(node, "bootping", NULL);
- }
- else
- {
- NOTE("NOTIFYING");
- int msg = -2;
- MPI_Send(&msg, 1, MPI_INT, mpi_rank+1, 0, MPI_COMM_WORLD);
- }
-}
-
-void
-listen_loop()
-{
- NOTE_F;
-
- while (! dense_quitting)
- {
- /*
- if (! MPIRPC_Check())
- {
- MPIRPC_Snooze();
- }
- else
- {
- MPIRPC_Snooze_reset();
- }
- */
- MPIRPC_Recv(MPI_COMM_WORLD);
- }
-}
-
-/**
- Query node at rank for key location.
-*/
-MPIRPC*
-DENSE_Lookup(MPIRPC_Node node, char* key)
-{
- SHOW_FIS(node.comm, key);
-
- DENSE_ID object_id = SHA1_mod(key);
-
- SHOW_X(object_id);
-
- return DENSE_Translate(node, object_id);
-}
-
-MPIRPC*
-DENSE_Translate(MPIRPC_Node node, DENSE_ID id)
-{
- MPIRPC* rpc =
- MPIRPC_Call(node, heap("query_id"), iheap(id),
- NULL, MPIRPC_PROCEED_NULL);
- return rpc;
-}
-
-/**
- Query node at rank for k closest key locations.
-*/
-MPIRPC*
-DENSE_Lookup_k(MPIRPC_Node node, char* key)
-{
- DENSE_ID object_id = SHA1_mod(key);
- SHOW_FISX(node.rank, key, object_id);
-
- return DENSE_Translate_k(node, object_id);
-}
-
-MPIRPC*
-DENSE_Translate_k(MPIRPC_Node node, DENSE_ID id)
-{
- MPIRPC* rpc =
- MPIRPC_Call(node, heap("query_id_k"), xheap(id),
- NULL, MPIRPC_PROCEED_NULL);
- return rpc;
-}
-
-/**
- Instruct a node to store a value.
- Asynchronous. Copies key into MPIRPC.
-*/
-MPIRPC*
-DENSE_Store(MPIRPC_Node node, char* key, char* value, int length)
-{
- SHOW_FSI(key, length);
- int klength = strlen(key);
- int vlength = strlen(value);
- char* args = malloc((klength+vlength+5)*sizeof(char));
- assert(args);
- strcpy(args, key);
-
- MPIRPC* rpc = MPIRPC_Call_blob(node, "store", key,
- value, length,
- NULL, MPIRPC_PROCEED_NULL);
- return rpc;
-}
-
-MPIRPC*
-DENSE_Update(MPIRPC_Node node, char* key, char* value,
- int length, int offset)
-{
- SHOW_FSI(key, length);
-
- char args[32];
- sprintf(args, "%s %i", key, offset);
-
- MPIRPC* rpc = MPIRPC_Call_blob(node, "update", args,
- value, length,
- NULL, MPIRPC_PROCEED_NULL);
- return rpc;
-}
-
-/**
- Instruct a node to retrieve a value.
- Asynchronous. Copies key into MPIRPC.
- User must use MPIRPC->result_length
- to find number of bytes retrieved.
-*/
-MPIRPC*
-DENSE_Retrieve(MPIRPC_Node node, char* key)
-{
- MPIRPC* rpc =
- MPIRPC_Call(node, "retrieve", heap(key),
- NULL, MPIRPC_PROCEED_NULL);
- return rpc;
-}
-
-void
-DENSE_Debug_cache(MPIRPC_Node node)
-{
- MPIRPC_Block(node, "debug_cache", NULL);
-}
-
-void
-DENSE_Shutdown(MPIRPC_Node node)
-{
- MPIRPC_Block(node, "quit", NULL);
-}
-
-void
-handle_bootping(MPIRPC_Node caller, int unique, char* args, char* blob, int blob_length)
-{
- MPIRPC_Null(caller, unique);
- rpc_bootping();
-}
-
-void
-handle_info(MPIRPC_Node caller, int unique, char* args,
- char* blob, int blob_length)
-{
- MPIRPC_Null(caller, unique);
-}
-
-void
-handle_ping(MPIRPC_Node caller, int unique, char* args,
- char* blob, int blob_length)
-{
- MPIRPC_Null(caller, unique);
-}
-
-void
-handle_query_id(MPIRPC_Node caller, int unique, char* args,
- char* blob, int blob_length)
-{
- int object_id;
- sscanf(args, "%X", &object_id);
- int other_rank = object_id % dense_nodes;
- char* result = malloc(10*sizeof(char));
- int length = sprintf(result, "%i", other_rank);
- MPIRPC_Return(caller, unique, result, length);
-}
-
-void
-handle_query_id_k(MPIRPC_Node caller, int unique, char* args,
- char* blob, int blob_length)
-{
- int i;
- int object_id;
- sscanf(args, "%X", &object_id);
-
- struct inlist* ranks = inlist_create();
- for (i = 0; i < k; i++)
- {
- int other_rank = (object_id+i) % dense_nodes;
- inlist_add(ranks, other_rank);
- }
- char* result = inlist_serialize(ranks);
- MPIRPC_Return(caller, unique, result, strlen(result));
-}
-
-void
-handle_store(MPIRPC_Node caller, int unique, char* args,
- char* blob, int blob_length)
-{
- SHOW_FSI(args, blob_length);
-
- cmpi_cached_store(args, blob, blob_length);
- DEBUG(lru_table_printf("%s", cmpi_cache));
-
- MPIRPC_Null(caller, unique);
-}
-
-void
-handle_update(MPIRPC_Node caller, int unique, char* args,
- char* blob, int blob_length)
-{
- char key[CMPI_KEY_LENGTH];
- int offset;
-
- SHOW_FSI(args, blob_length);
-
- sscanf(args, "%s %i", key, &offset);
-
- cmpi_cached_update(key, blob, offset, blob_length);
- // DEBUG(lru_table_printf("%s", cmpi_cache));
-
- MPIRPC_Null(caller, unique);
-}
-
-void
-handle_retrieve(MPIRPC_Node caller, int unique, char* args,
- char* blob, int blob_length)
-{
- NOTE_FS(args);
-
- char* data;
- int length = cmpi_cached_retrieve(args, &data);
-
- printdata("result1: ", data, length);
- // printdata("result2: ", result, length);
-
-
- char* result = malloc(CMPI_VALUE_LENGTH);
-
- SHOW_P(data);
-
- memcpy(result, data, length);
-
-
- if (data)
- {
- MPIRPC_Return(caller, unique, result, length);
- }
- else
- {
- NOTE("handle_retrieve() returning NULL");
- MPIRPC_Null(caller, unique);
- }
-}
-
-void
-handle_debug_cache(MPIRPC_Node caller, int unique, char* args,
- char* blob, int blob_length)
-{
- MPIRPC_Null(caller, unique);
- note("cmpi_cache:");
- lru_table_printf("%s", cmpi_cache);
-}
-
-void
-handle_quit(MPIRPC_Node caller, int unique, char* args,
- char* blob, int blob_length)
-{
- MPIRPC_Null(caller, unique);
- sleep(1);
- MPIRPC_Flush_returns();
- dense_quitting = true;
- // TODO: cleanup
-}
-
diff --git a/oldcode/src/dense-1/dense.h b/oldcode/src/dense-1/dense.h
deleted file mode 100644
index c92aa9f..0000000
--- a/oldcode/src/dense-1/dense.h
+++ /dev/null
@@ -1,11 +0,0 @@
-
-#include <mpirpc-2.h>
-
-void DENSE_Init(int k_in, MPI_Comm comm);
-void handle_info(MPIRPC_Node* caller, int unique, char* args);
-void handle_ping(MPIRPC_Node* caller, int unique, char* args);
-void handle_query_id(MPIRPC_Node* caller, int unique, char* args);
-void handle_query_id_k(MPIRPC_Node* caller, int unique, char* args);
-void handle_store(MPIRPC_Node* caller, int unique, char* args);
-void handle_retrieve(MPIRPC_Node* caller, int unique, char* args);
-
diff --git a/oldcode/src/dense-1/module.mk.in b/oldcode/src/dense-1/module.mk.in
deleted file mode 100644
index 9028fd2..0000000
--- a/oldcode/src/dense-1/module.mk.in
+++ /dev/null
@@ -1,7 +0,0 @@
-
-DIR := src/dense-1
-
-ifeq (@USE_TABLE_DENSE_1@,1)
- DENSE_SRC += $(DIR)/dense.c
- DENSE_SRC += $(DIR)/cmpi_dense.c
-endif
diff --git a/oldcode/src/disksim/disksim.c b/oldcode/src/disksim/disksim.c
deleted file mode 100644
index 27b9086..0000000
--- a/oldcode/src/disksim/disksim.c
+++ /dev/null
@@ -1,316 +0,0 @@
-
-#include "disksim.h"
-
-#define BLOCK 4096
-#define SECTOR 512
-#define BLOCK2SECTOR (BLOCK/SECTOR)
-
-struct disksim_interface *disksim_if;
-struct disksim_request r;
-
-struct Stat{
- int n;
- double sum;
- double sqr;
- double min;
- double max;
-} ;
-
-typedef double SysTime; /* system time */
-
-static SysTime init_time = 0; /* start ref time in seconds */
-static SysTime now = 0; /* current time */
-static SysTime next_event = -1; /* next event */
-static int completed = 0; /* last request was completed */
-struct Stat st;
-
-int nsectors;
-
-void
-panic(const char *s)
-{
- perror(s);
- exit(1);
-}
-
-
-void
-add_statistics(struct Stat *s, double x)
-{
- s->n++;
- s->sum += x;
- s->sqr += x*x;
-}
-
-
-void
-print_statistics(struct Stat *s, const char *title)
-{
- double avg, std;
-
- avg = s->sum/s->n;
- std = sqrt((s->sqr - 2*avg*s->sum + s->n*avg*avg) / s->n);
- //printf("%s: n=%d average=%f std. deviation=%f\n", title, s->n, avg, std);
-}
-
-
-/*
- * Schedule next callback at time t.
- * Note that there is only *one* outstanding callback at any given time.
- * The callback is for the earliest event.
- */
-void
-syssim_schedule_callback(disksim_interface_callback_t fn,
- SysTime t,
- void *ctx)
-{
- //fprintf(stderr, "%s: t = %lf\n", __func__, t); /* sson */
- next_event = t;
-}
-
-
-/*
- * de-scehdule a callback.
- */
-void
-syssim_deschedule_callback(double t, void *ctx)
-{
- next_event = -1;
-}
-
-void
-syssim_report_completion(SysTime t, struct disksim_request *r, void *ctx)
-{
- completed = 1;
- now = t;
- add_statistics(&st, t - r->start);
-}
-
-void disksim_init(void)
-{
- char paramFile[100];
- char* p = paramFile;
- p += sprintf(p, "%s", DISKSIM_LOCATION);
- sprintf(p, "/valid/cheetah9LP.parv");
-
- char outFile[100] = "disksim.out";
- // int len = 8192000;
-
- nsectors = 17783240;
-
- disksim_if = disksim_interface_initialize(paramFile,
- outFile,
- syssim_report_completion,
- syssim_schedule_callback,
- syssim_deschedule_callback,
- 0,
- 0,
- 0);
- init_time = MPI_Wtime(); /* set start ref time */
-}
-
-/**
- Should obtain value by computing a disk location
- and calling emulate_read().
- @return Size of value.
-*/
-int
-cmpi_disk_loadpair(char* key, char** value)
-{
- struct disksim_request r;
- int value_size;
-
- r.start = MPI_Wtime()*1e3; /* resolution of MPI_Wtime is microseconds */
- r.flags = DISKSIM_READ;
- r.devno = 0;
-
- /* NOTE: it is bad to use this internal disksim call from external... */
- r.blkno = BLOCK2SECTOR*(DISKSIM_lrand48()%(nsectors/BLOCK2SECTOR));
- r.bytecount = BLOCK;
- completed = 0;
- disksim_interface_request_arrive(disksim_if, now, &r);
-
- /* Process events until this I/O is completed */
- while(next_event >= 0) {
- now = next_event;
- next_event = -1;
- disksim_interface_internal_event(disksim_if, now, 0);
- }
-
- if (!completed) {
- fprintf(stderr, "Internal error. Last event not completed\n");
- exit(1);
- }
-
- return value_size;
-}
-
-/**
- Emulate a disk read, calls usleep() for the appropriate delay.
-*/
-void
-emulate_read(long block, char** data, int size)
-{
- double cpu_start = MPI_Wtime();
- double delay = compute_read(block, data, 0);
- double cpu_time = MPI_Wtime() - cpu_start;
-
- // NOTE_I("virtual delay (us): ", (int) delay);
- // NOTE_D("actual delay (us): ", (int) (cpu_time*1e6));
- usleep((unsigned int) (delay - cpu_time));
-
- /*
- if (cpu_time*1e6 > delay)
- {
- NOTE("DELAY EXCEEDED!");
- NOTE_I("virtual: ", (int) delay);
- NOTE_D("actual: ", (int) (cpu_time*1e6));
- }
- */
-}
-
-/**
- Use disksim to determine how long a read operation will take.
-*/
-double
-compute_read(long block, char** data, int size)
-{
- struct disksim_request r;
-
- // units of MPI_Wtime() are seconds
- r.start = (MPI_Wtime()-init_time)*1e3;
- r.flags = DISKSIM_READ;
- r.devno = 0;
-
- /* NOTE: it is bad to use this internal disksim call from external... */
- r.blkno = BLOCK2SECTOR*(DISKSIM_lrand48()%(nsectors/BLOCK2SECTOR));
- r.bytecount = BLOCK;
- completed = 0;
- now = r.start;
- disksim_interface_request_arrive(disksim_if, now, &r);
-
- /* Process events until this I/O is completed */
- while(next_event >= 0) {
- now = next_event;
- next_event = -1;
- disksim_interface_internal_event(disksim_if, now, 0);
- }
-
- fprintf(stderr, "emulate_read(): completed!\n");
- if (!completed) {
- fprintf(stderr, "Internal error. Last event not completed\n");
- exit(1);
- }
-
- return ((now - r.start) * 1e3);
-}
-
-/**
- Should store key/value pair by computing a disk location
- and calling emulate_write().
- @param length Length of value.
-*/
-void
-cmpi_disk_storepair(char* key, char* value, int length)
-{
- NOTE_F;
-
- // struct disksim_request r;
-
- /* r.start = MPI_Wtime()*1e3; /\* resolution of MPI_Wtime is microseconds *\/ */
- /* r.flags = DISKSIM_WRITE; */
- /* r.devno = 0; */
-
- /* /\* NOTE: it is bad to use this internal disksim call from external... *\/ */
- /* r.blkno = BLOCK2SECTOR*(DISKSIM_lrand48()%(nsectors/BLOCK2SECTOR)); */
- /* r.bytecount = BLOCK; */
- /* completed = 0; */
- /* disksim_interface_request_arrive(disksim_if, now, &r); */
-
- /* /\* Process events until this I/O is completed *\/ */
- /* while(next_event >= 0) { */
- /* now = next_event; */
- /* next_event = -1; */
- /* disksim_interface_internal_event(disksim_if, now, 0); */
- /* } */
-
- /* if (!completed) { */
- /* fprintf(stderr, "Internal error. Last event not completed\n"); */
- /* exit(1); */
- /* } */
-}
-
-/**
- Compute the disk access delay using disksim.
- @return The delay in us as as double, -1 on error.
-*/
-double
-compute_write(long block, char* data, int size)
-{
- NOTE_F;
-
- struct disksim_request r;
-
- // r.start: milliseconds in a double
- // MPI_Wtime(): seconds in a double
- r.start = (MPI_Wtime()-init_time)*1e3;
- r.flags = DISKSIM_WRITE;
- r.devno = 0;
-
- /* NOTE: it is bad to use this internal disksim call from external... */
- // Random block:
- // r.blkno = BLOCK2SECTOR*(DISKSIM_lrand48()%(nsectors/BLOCK2SECTOR));
- // Specified block and length (Disksim bug here?):
- r.blkno = block;
- r.bytecount = (1+(size/512))*512;
- // SHOW_I(r.blkno);
- // SHOW_I(r.bytecount);
- completed = 0;
- now = r.start;
- disksim_interface_request_arrive(disksim_if, now, &r);
-
- /* Process events until this I/O is completed */
- int events = 0;
- while (next_event >= 0) {
- events++;
- now = next_event;
- next_event = -1;
- disksim_interface_internal_event(disksim_if, now, NULL);
- }
-
- // fprintf(stderr, "emulate_write(): completed!\n");
- if (!completed) {
- fprintf(stderr, "Internal error. Last event not completed\n");
- exit(1);
- }
-
- // SHOW_I(events);
-
- // Return useconds in a double
- return ((now - r.start) * 1e3);
-}
-
-/**
- Emulate the write, calls usleep() for the appropriate delay.
-*/
-void
-emulate_write(long block, char* data, int size)
-{
- double cpu_start = MPI_Wtime();
- double delay = compute_write(block, data, size);
- double cpu_time = MPI_Wtime() - cpu_start;
-
- // NOTE_I("virtual delay (us): ", (int) delay);
- // NOTE_D("actual delay (us): ", (int) (cpu_time*1e6));
- usleep((unsigned int) (delay - cpu_time));
-
- /*
- if (cpu_time*1e6 > delay)
- {
- NOTE("DELAY EXCEEDED!");
- NOTE_I("virtual: ", (int) delay);
- NOTE_D("actual: ", (int) (cpu_time*1e6));
- }
- */
-}
-
diff --git a/oldcode/src/disksim/dm-delay-disksim/Makefile b/oldcode/src/disksim/dm-delay-disksim/Makefile
deleted file mode 100644
index 3d29909..0000000
--- a/oldcode/src/disksim/dm-delay-disksim/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-
-csrc = dm-delay.c
-
-objs = $(csrc:.c=.o)
-othergen = dm-delay.ko dm-delay.mod.c dm-delay.mod.o Module.markers modules.order
-othergendir = .tmp_versions # around 2.6.6 this is generated locally
-cmds = $(patsubst %,.%.cmd,$(objs) $(othergen))
-
-obj-m += dm-delay.o
-dm-deleay-objs := $(objs)
-
-KDIR := /lib/modules/$(shell uname -r)/build
-PWD := $(shell pwd)
-
-default:
- make -C $(KDIR) SUBDIRS=$(PWD) modules
-
-clean:
- make -C $(KDIR) SUBDIRS=$(PWD) clean
- rm -f $(objs) $(othergen) $(cmds)
diff --git a/oldcode/src/disksim/dm-delay-disksim/README b/oldcode/src/disksim/dm-delay-disksim/README
deleted file mode 100644
index 11fd533..0000000
--- a/oldcode/src/disksim/dm-delay-disksim/README
+++ /dev/null
@@ -1,9 +0,0 @@
-mk2fs /dev/ram0
-
-echo "0 `blockdev --getsize /dev/ram0` delay /dev/ram0 0 500" | dmsetup create delayed
-
-mount /dev/mapper/delayed /mnt/tmp
-<whatever>
-umount /mnt/tmp
-
-dmsetup remove delayed
diff --git a/oldcode/src/disksim/dm-delay-disksim/dm-bio-list.h b/oldcode/src/disksim/dm-delay-disksim/dm-bio-list.h
deleted file mode 100644
index d4509be..0000000
--- a/oldcode/src/disksim/dm-delay-disksim/dm-bio-list.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (C) 2004 Red Hat UK Ltd.
- *
- * This file is released under the GPL.
- */
-
-#ifndef DM_BIO_LIST_H
-#define DM_BIO_LIST_H
-
-#include <linux/bio.h>
-
-#ifdef CONFIG_BLOCK
-
-struct bio_list {
- struct bio *head;
- struct bio *tail;
-};
-
-static inline int bio_list_empty(const struct bio_list *bl)
-{
- return bl->head == NULL;
-}
-
-static inline void bio_list_init(struct bio_list *bl)
-{
- bl->head = bl->tail = NULL;
-}
-
-#define bio_list_for_each(bio, bl) \
- for (bio = (bl)->head; bio; bio = bio->bi_next)
-
-static inline unsigned bio_list_size(const struct bio_list *bl)
-{
- unsigned sz = 0;
- struct bio *bio;
-
- bio_list_for_each(bio, bl)
- sz++;
-
- return sz;
-}
-
-static inline void bio_list_add(struct bio_list *bl, struct bio *bio)
-{
- bio->bi_next = NULL;
-
- if (bl->tail)
- bl->tail->bi_next = bio;
- else
- bl->head = bio;
-
- bl->tail = bio;
-}
-
-static inline void bio_list_merge(struct bio_list *bl, struct bio_list *bl2)
-{
- if (!bl2->head)
- return;
-
- if (bl->tail)
- bl->tail->bi_next = bl2->head;
- else
- bl->head = bl2->head;
-
- bl->tail = bl2->tail;
-}
-
-static inline void bio_list_merge_head(struct bio_list *bl,
- struct bio_list *bl2)
-{
- if (!bl2->head)
- return;
-
- if (bl->head)
- bl2->tail->bi_next = bl->head;
- else
- bl->tail = bl2->tail;
-
- bl->head = bl2->head;
-}
-
-static inline struct bio *bio_list_pop(struct bio_list *bl)
-{
- struct bio *bio = bl->head;
-
- if (bio) {
- bl->head = bl->head->bi_next;
- if (!bl->head)
- bl->tail = NULL;
-
- bio->bi_next = NULL;
- }
-
- return bio;
-}
-
-static inline struct bio *bio_list_get(struct bio_list *bl)
-{
- struct bio *bio = bl->head;
-
- bl->head = bl->tail = NULL;
-
- return bio;
-}
-
-#endif /* CONFIG_BLOCK */
-#endif
diff --git a/oldcode/src/disksim/dm-delay-disksim/dm-delay.c b/oldcode/src/disksim/dm-delay-disksim/dm-delay.c
deleted file mode 100644
index 477d555..0000000
--- a/oldcode/src/disksim/dm-delay-disksim/dm-delay.c
+++ /dev/null
@@ -1,384 +0,0 @@
-/*
- * Copyright (C) 2005-2007 Red Hat GmbH
- *
- * A target that delays reads and/or writes and can send
- * them to different devices.
- *
- * This file is released under the GPL.
- */
-
-#include <linux/module.h>
-#include <linux/init.h>
-#include <linux/blkdev.h>
-#include <linux/bio.h>
-#include <linux/slab.h>
-
-#include <linux/device-mapper.h>
-
-#include "dm-bio-list.h"
-
-#define DM_MSG_PREFIX "delay"
-
-struct delay_c {
- struct timer_list delay_timer;
- struct mutex timer_lock;
- struct work_struct flush_expired_bios;
- struct list_head delayed_bios;
- atomic_t may_delay;
- mempool_t *delayed_pool;
-
- struct dm_dev *dev_read;
- sector_t start_read;
- unsigned read_delay;
- unsigned reads;
-
- struct dm_dev *dev_write;
- sector_t start_write;
- unsigned write_delay;
- unsigned writes;
-};
-
-struct dm_delay_info {
- struct delay_c *context;
- struct list_head list;
- struct bio *bio;
- unsigned long expires;
-};
-
-static DEFINE_MUTEX(delayed_bios_lock);
-
-static struct workqueue_struct *kdelayd_wq;
-static struct kmem_cache *delayed_cache;
-
-static void handle_delayed_timer(unsigned long data)
-{
- struct delay_c *dc = (struct delay_c *)data;
-
- queue_work(kdelayd_wq, &dc->flush_expired_bios);
-}
-
-static void queue_timeout(struct delay_c *dc, unsigned long expires)
-{
- mutex_lock(&dc->timer_lock);
-
- if (!timer_pending(&dc->delay_timer) || expires < dc->delay_timer.expires)
- mod_timer(&dc->delay_timer, expires);
-
- mutex_unlock(&dc->timer_lock);
-}
-
-static void flush_bios(struct bio *bio)
-{
- struct bio *n;
-
- while (bio) {
- n = bio->bi_next;
- bio->bi_next = NULL;
- generic_make_request(bio);
- bio = n;
- }
-}
-
-static struct bio *flush_delayed_bios(struct delay_c *dc, int flush_all)
-{
- struct dm_delay_info *delayed, *next;
- unsigned long next_expires = 0;
- int start_timer = 0;
- struct bio_list flush_bios = { };
-
- mutex_lock(&delayed_bios_lock);
- list_for_each_entry_safe(delayed, next, &dc->delayed_bios, list) {
- if (flush_all || time_after_eq(jiffies, delayed->expires)) {
- list_del(&delayed->list);
- bio_list_add(&flush_bios, delayed->bio);
- if ((bio_data_dir(delayed->bio) == WRITE))
- delayed->context->writes--;
- else
- delayed->context->reads--;
- mempool_free(delayed, dc->delayed_pool);
- continue;
- }
-
- if (!start_timer) {
- start_timer = 1;
- next_expires = delayed->expires;
- } else
- next_expires = min(next_expires, delayed->expires);
- }
-
- mutex_unlock(&delayed_bios_lock);
-
- if (start_timer)
- queue_timeout(dc, next_expires);
-
- return bio_list_get(&flush_bios);
-}
-
-static void flush_expired_bios(struct work_struct *work)
-{
- struct delay_c *dc;
-
- dc = container_of(work, struct delay_c, flush_expired_bios);
- flush_bios(flush_delayed_bios(dc, 0));
-}
-
-/*
- * Mapping parameters:
- * <device> <offset> <delay> [<write_device> <write_offset> <write_delay>]
- *
- * With separate write parameters, the first set is only used for reads.
- * Delays are specified in milliseconds.
- */
-static int delay_ctr(struct dm_target *ti, unsigned int argc, char **argv)
-{
- struct delay_c *dc;
- unsigned long long tmpll;
-
- if (argc != 3 && argc != 6) {
- ti->error = "requires exactly 3 or 6 arguments";
- return -EINVAL;
- }
-
- dc = kmalloc(sizeof(*dc), GFP_KERNEL);
- if (!dc) {
- ti->error = "Cannot allocate context";
- return -ENOMEM;
- }
-
- dc->reads = dc->writes = 0;
-
- if (sscanf(argv[1], "%llu", &tmpll) != 1) {
- ti->error = "Invalid device sector";
- goto bad;
- }
- dc->start_read = tmpll;
-
- if (sscanf(argv[2], "%u", &dc->read_delay) != 1) {
- ti->error = "Invalid delay";
- goto bad;
- }
-
- if (dm_get_device(ti, argv[0], dc->start_read, ti->len,
- dm_table_get_mode(ti->table), &dc->dev_read)) {
- ti->error = "Device lookup failed";
- goto bad;
- }
-
- dc->dev_write = NULL;
- if (argc == 3)
- goto out;
-
- if (sscanf(argv[4], "%llu", &tmpll) != 1) {
- ti->error = "Invalid write device sector";
- goto bad_dev_read;
- }
- dc->start_write = tmpll;
-
- if (sscanf(argv[5], "%u", &dc->write_delay) != 1) {
- ti->error = "Invalid write delay";
- goto bad_dev_read;
- }
-
- if (dm_get_device(ti, argv[3], dc->start_write, ti->len,
- dm_table_get_mode(ti->table), &dc->dev_write)) {
- ti->error = "Write device lookup failed";
- goto bad_dev_read;
- }
-
-out:
- dc->delayed_pool = mempool_create_slab_pool(128, delayed_cache);
- if (!dc->delayed_pool) {
- DMERR("Couldn't create delayed bio pool.");
- goto bad_dev_write;
- }
-
- setup_timer(&dc->delay_timer, handle_delayed_timer, (unsigned long)dc);
-
- INIT_WORK(&dc->flush_expired_bios, flush_expired_bios);
- INIT_LIST_HEAD(&dc->delayed_bios);
- mutex_init(&dc->timer_lock);
- atomic_set(&dc->may_delay, 1);
-
- ti->private = dc;
- return 0;
-
-bad_dev_write:
- if (dc->dev_write)
- dm_put_device(ti, dc->dev_write);
-bad_dev_read:
- dm_put_device(ti, dc->dev_read);
-bad:
- kfree(dc);
- return -EINVAL;
-}
-
-static void delay_dtr(struct dm_target *ti)
-{
- struct delay_c *dc = ti->private;
-
- flush_workqueue(kdelayd_wq);
-
- dm_put_device(ti, dc->dev_read);
-
- if (dc->dev_write)
- dm_put_device(ti, dc->dev_write);
-
- mempool_destroy(dc->delayed_pool);
- kfree(dc);
-}
-
-static int delay_bio(struct delay_c *dc, int delay, struct bio *bio)
-{
- struct dm_delay_info *delayed;
- unsigned long expires = 0;
-
- if (!delay || !atomic_read(&dc->may_delay))
- return 1;
-
- delayed = mempool_alloc(dc->delayed_pool, GFP_NOIO);
-
- delayed->context = dc;
- delayed->bio = bio;
- printk("bio->bi_sector: %llu, bi_vcnt: %hd, bi_phys_segments: %u, bi_size: %u\n", (u64)bio->bi_sector,
- bio->bi_vcnt, bio->bi_phys_segments, bio->bi_size);
- delayed->expires = expires = jiffies + (delay * HZ / 1000);
-
- mutex_lock(&delayed_bios_lock);
-
- if (bio_data_dir(bio) == WRITE)
- dc->writes++;
- else
- dc->reads++;
-
- list_add_tail(&delayed->list, &dc->delayed_bios);
-
- mutex_unlock(&delayed_bios_lock);
-
- queue_timeout(dc, expires);
-
- return 0;
-}
-
-static void delay_presuspend(struct dm_target *ti)
-{
- struct delay_c *dc = ti->private;
-
- atomic_set(&dc->may_delay, 0);
- del_timer_sync(&dc->delay_timer);
- flush_bios(flush_delayed_bios(dc, 1));
-}
-
-static void delay_resume(struct dm_target *ti)
-{
- struct delay_c *dc = ti->private;
-
- atomic_set(&dc->may_delay, 1);
-}
-
-static int delay_map(struct dm_target *ti, struct bio *bio,
- union map_info *map_context)
-{
- struct delay_c *dc = ti->private;
-
- if ((bio_data_dir(bio) == WRITE) && (dc->dev_write)) {
- bio->bi_bdev = dc->dev_write->bdev;
- bio->bi_sector = dc->start_write +
- (bio->bi_sector - ti->begin);
-
- return delay_bio(dc, dc->write_delay, bio);
- }
-
- bio->bi_bdev = dc->dev_read->bdev;
- bio->bi_sector = dc->start_read +
- (bio->bi_sector - ti->begin);
-
- return delay_bio(dc, dc->read_delay, bio);
-}
-
-static int delay_status(struct dm_target *ti, status_type_t type,
- char *result, unsigned maxlen)
-{
- struct delay_c *dc = ti->private;
- int sz = 0;
-
- switch (type) {
- case STATUSTYPE_INFO:
- DMEMIT("%u %u", dc->reads, dc->writes);
- break;
-
- case STATUSTYPE_TABLE:
- DMEMIT("%s %llu %u", dc->dev_read->name,
- (unsigned long long) dc->start_read,
- dc->read_delay);
- if (dc->dev_write)
- DMEMIT(" %s %llu %u", dc->dev_write->name,
- (unsigned long long) dc->start_write,
- dc->write_delay);
- break;
- }
-
- return 0;
-}
-
-static struct target_type delay_target = {
- .name = "delay",
- .version = {1, 0, 2},
- .module = THIS_MODULE,
- .ctr = delay_ctr,
- .dtr = delay_dtr,
- .map = delay_map,
- .presuspend = delay_presuspend,
- .resume = delay_resume,
- .status = delay_status,
-};
-
-static int __init dm_delay_init(void)
-{
- int r = -ENOMEM;
-
- kdelayd_wq = create_workqueue("kdelayd");
- if (!kdelayd_wq) {
- DMERR("Couldn't start kdelayd");
- goto bad_queue;
- }
-
- delayed_cache = KMEM_CACHE(dm_delay_info, 0);
- if (!delayed_cache) {
- DMERR("Couldn't create delayed bio cache.");
- goto bad_memcache;
- }
-
- r = dm_register_target(&delay_target);
- if (r < 0) {
- DMERR("register failed %d", r);
- goto bad_register;
- }
-
- return 0;
-
-bad_register:
- kmem_cache_destroy(delayed_cache);
-bad_memcache:
- destroy_workqueue(kdelayd_wq);
-bad_queue:
- return r;
-}
-
-static void __exit dm_delay_exit(void)
-{
- int r = dm_unregister_target(&delay_target);
-
- if (r < 0)
- DMERR("unregister failed %d", r);
-
- kmem_cache_destroy(delayed_cache);
- destroy_workqueue(kdelayd_wq);
-}
-
-/* Module hooks */
-module_init(dm_delay_init);
-module_exit(dm_delay_exit);
-
-MODULE_DESCRIPTION(DM_NAME " delay target");
-MODULE_AUTHOR("Heinz Mauelshagen <mauelshagen(a)redhat.com>");
-MODULE_LICENSE("GPL");
diff --git a/oldcode/src/disksim/module.mk.in b/oldcode/src/disksim/module.mk.in
deleted file mode 100644
index 6ad02af..0000000
--- a/oldcode/src/disksim/module.mk.in
+++ /dev/null
@@ -1,7 +0,0 @@
-
-DIR := src/disksim
-
-ifneq (@USE_DISKSIM@,0)
- DISKSIM_SRC += $(DIR)/disksim.c
-endif
-
diff --git a/oldcode/src/gack/#_ascpx_blogin3.mcs.anl.gov_b_ahomes_awozniak_aproj_ags.git_acode_asrc_agack_agack.gs# b/oldcode/src/gack/#_ascpx_blogin3.mcs.anl.gov_b_ahomes_awozniak_aproj_ags.git_acode_asrc_agack_agack.gs#
deleted file mode 100644
index 232742a..0000000
--- a/oldcode/src/gack/#_ascpx_blogin3.mcs.anl.gov_b_ahomes_awozniak_aproj_ags.git_acode_asrc_agack_agack.gs#
+++ /dev/null
@@ -1,3 +0,0 @@
-
-#include <gack.gsh>
-
diff --git a/oldcode/src/gack/gack.gs b/oldcode/src/gack/gack.gs
deleted file mode 100644
index 05e5ed1..0000000
--- a/oldcode/src/gack/gack.gs
+++ /dev/null
@@ -1,58 +0,0 @@
-
-#include <gack.gsh>
-
-void
-gack_init(gobs_impl impl, MPI_Comm comm)
-{}
-
-gack_sack*
-gack_allocate(int width)
-{
- gack_sack* result;
-
- int i,j,k,n;
- gobs_id range;
- gobs_id offset;
-
- result = malloc(sizeof(gack_sack));
-
- n = gobs_size();
- if (width == GACK_WIDTH_FULL)
- width = n;
-
- result->size = width;
- result->id = malloc(width*sizeof(gobs_id));
-
- offset = rand_lt(GOBS_LIMIT);
-
- range = GOBS_LIMIT/n;
- j = -offset/range;
- k = -j;
- for (i = 0; i < width; i++)
- {
- result->id[k] = offset + range*j;
- j++;
- k = (k+1) % n;
- }
-
- return result;
-}
-
-gobs_id
-gack_file()
-{
- return rand_lt(100);
-}
-
-void
-gack_printf_sack(gack_sack* sack)
-{
- int i;
-
- printf("sack: (%i) {", sack->size);
- for (i = 0; i < sack->size-1; i++)
- {
- printf("%i ", sack->id[i]);
- }
- printf("%i}\n", sack->id[i]);
-}
diff --git a/oldcode/src/gack/module.mk.in b/oldcode/src/gack/module.mk.in
deleted file mode 100644
index cf35280..0000000
--- a/oldcode/src/gack/module.mk.in
+++ /dev/null
@@ -1,8 +0,0 @@
-
-# GACK
-
-DIR := src/gack
-
-GACK_GSSRC += $(shell cd @SRC_ABSOLUTE_TOP@; find $(DIR) -name "*.gs" )
-GACK_OBJS := $(patsubst %.gs, %.o, $(GACK_GSSRC))
-GACK_OBJS += src/adts/list.o
diff --git a/oldcode/src/gack/swim.gs b/oldcode/src/gack/swim.gs
deleted file mode 100644
index 609a1b1..0000000
--- a/oldcode/src/gack/swim.gs
+++ /dev/null
@@ -1,191 +0,0 @@
-
-/**
- * SWIM
- *
- * Borrowed from Gupta, Chandra, and Goldszmidt (2001) Figure 1.
- * Line references indicated with "GCG".
- *
- * Relies on fault emulation provided by GUM.
- * */
-
-#include <swim.gsh>
-
-/**
- GCG line 0.
-*/
-long swim_period;
-
-void
-swim_init()
-{
- swim_period = 0;
-}
-
-/**
- GCG line 1.
-*/
-__blocking void
-swim_periodic()
-{
- // bool error;
-
- gum_node mj;
- bool ping;
-
- gossip_debug(MASK_GOBS, "swim_periodic()...\n");
-
- swim_period++;
-
- mj = ait_random_member();
-
- ping = swim_ping(mj, swim_period, mj);
- if (!ping)
- {
- swim_check(mj);
- }
- return;
-}
-
-/**
- GCG lines 2-3.
-*/
-__blocking void
-swim_check(gum_node mj)
-{
- struct list* k_members;
- struct list_item* item;
-
- bool ping;
-
- k_members = ait_random_k_members();
-
- // Should this be a parallel for loop?
- for (item = k_members->head; item; item = item->next)
- {
- ping = swim_ping_req(self, mj, swim_period, mj);
- if (!ping)
- {
- swim_fail(mj);
- break;
- }
- }
- return;
-}
-
-__blocking bool
-swim_ping(gum_node object, long period,
- gum_node target)
-{
- bool result;
- // non-zero indicates success:
- int error;
- gum_msg* msg;
- gum_msg* response;
-
- msg = gum_msg_build(SWIM_PING, NULL, 0);
- error = gum_call(target, msg, &response);
-
- if (strcmp(response->data, "NACK") == 0)
- {
- error = 0;
- }
-
- if (error)
- {
- result = true;
- }
- else
- {
- result = false;
- }
- return result;
-}
-
-__blocking bool
-swim_ping_req(gum_node from, gum_node object, long period,
- gum_node target)
-{
- bool result;
- char* args;
-
- gum_msg* msg;
- gum_msg* response;
-
- int error;
-
- args = malloc(128);
-
- sprintf(args, "%i %li", from.rank, period);
-
- msg = gum_msg_build(SWIM_PING_REQ, args, strlen(args)+1);
- error = gum_call(target, msg, &response);
-
- if (error)
- {
- result = true;
- }
- else
- {
- result = false;
- }
- return result;
-}
-
-void
-swim_fail(gum_node dead_node)
-{
- gobs.ait_fail(dead_node);
-}
-
-/**
- GCG line 4.
-*/
-__blocking void
-handle_swim_ping_req(gum_node caller, gum_msg* call)
-{
- gum_msg* response;
- char* arg;
-
- gum_node object;
- int period;
- bool ping;
-
- object.comm = self.comm;
- sscanf(call->data, "%i %i", &(object.rank), &period);
-
- if (gobs.ait_failed(object))
- {
- arg = "NACK";
- }
- else
- {
- ping = swim_ping(object, period, object);
- if (ping)
- {
- arg = "ACK";
- }
- else
- {
- arg = "NACK";
- }
- }
- response = gum_msg_build(SWIM_RESPONSE, arg, strlen(arg)+1);
- gum_return(caller, response);
- return;
-}
-
-/**
- GCG lines 5-6.
-*/
-__blocking void
-handle_swim_ping(gum_node caller, gum_msg* call)
-{
- gum_msg* response;
- char* arg;
-
- arg = strdup("ACK");
-
- response = gum_msg_build(SWIM_RESPONSE, arg, strlen(arg)+1);
- gum_return(caller, response);
- return;
-}
diff --git a/oldcode/src/gobs/ait.gs b/oldcode/src/gobs/ait.gs
deleted file mode 100644
index 841f49c..0000000
--- a/oldcode/src/gobs/ait.gs
+++ /dev/null
@@ -1,96 +0,0 @@
-
-#include <ait.gsh>
-
-void
-ait_create()
-{
- gobs.ait_create();
-}
-
-ait_iterator*
-ait_get_iterator()
-{
- ait_iterator* result;
-
- result = gobs.ait_iterator();
-
- return result;
-}
-
-ait_entry*
-ait_lookup(gobs_id id)
-{
- return gobs.ait_lookup(id);
-}
-
-__blocking int
-handle_ait_fetch(gum_node caller, gum_msg* call)
-{
- gum_msg response;
-
- ait_iterator* iterator;
- ait_entry* entry;
-
- char* result;
- char* p;
-
- result = malloc(gobs.ait_size()*100);
-
- iterator = ait_get_iterator();
-
- p = result;
- p += sprintf(p, "%i ", gobs.ait_size());
- while ((entry = gobs.ait_iterator_next(iterator)) != NULL)
- {
- p += sprintf(p, "%i ", entry->node.rank);
- }
-
- response.unique = flip2(call->unique);
- response.data = result;
- response.length = strlen(result);
-
- gum_return(caller, &response);
-
- return 1;
-}
-
-__blocking int
-gobs_ait_pull(gum_node target)
-{
- gum_msg* msg;
- gum_msg* response;
-
- char args[8];
-
- strcpy(args, "");
- msg = gum_msg_build(AIT_FETCH, args, 8);
- gum_call(target, msg, &response);
-
- printf("gobs_ait_pull(): %s\n", response->data);
-
- return 1;
-}
-
-gum_node
-ait_random_member()
-{
- return gobs.ait_random_member();
-}
-
-struct list*
-ait_random_k_members(int k)
-{
- return gobs.ait_random_k_members(k);
-}
-
-void
-ait_fail(gum_node dead_node)
-{
- gobs.ait_fail(dead_node);
-}
-
-bool
-ait_failed(gum_node node)
-{
- return gobs.ait_failed(node);
-}
diff --git a/oldcode/src/gobs/client.gs b/oldcode/src/gobs/client.gs
deleted file mode 100644
index 066d80f..0000000
--- a/oldcode/src/gobs/client.gs
+++ /dev/null
@@ -1,81 +0,0 @@
-
-#include <gobs.gsh>
-
-__blocking int
-gobs_all_quit(void)
-{
- int i;
- gum_node target;
-
- gossip_ldebug(MASK_GOBS, "gobs_all_quit(): \n");
-
- target.comm = self.comm;
-
- for (i = 0; i < self.rank; i++)
- {
- target.rank = i;
- gobs_quit(target);
- }
-
- for (i = self.rank+1; i < mpi_size; i++)
- {
- target.rank = i;
- gobs_quit(target);
- }
-
- target.rank = self.rank;
- gobs_quit(target);
-
- return 1;
-}
-
-/*
-__blocking int
-gobs_client_code()
-{
- gobs_id key;
- char data[128];
- int length;
-
- gum_node target;
- gum_node recipient;
-
- key = 3;
- strcpy(data, "test02_data");
- length = strlen(data)+1;
-
- target.rank = 0;
- target.comm = MPI_COMM_WORLD;
-
- recipient = gobs_query(target, key);
- gobs_store(recipient, key, data, length);
-
- return 1;
-}
-*/
-
-__blocking int
-gobs_client_init()
-{
- gossip_debug(MASK_ARCH, "client_init()...\n");
-
- pwait
- {
- pbranch
- {
- gobs_client_code();
- printf("client code complete \n");
- gobs_all_quit();
- }
- pbranch
- {
- while (gobs_running)
- {
- gossip_debug(MASK_ARCH, "response:\n");
- gobs_response(MPI_COMM_WORLD);
- }
- }
- }
-
- return 1;
-}
diff --git a/oldcode/src/gobs/dense/dense.gs b/oldcode/src/gobs/dense/dense.gs
deleted file mode 100644
index 225ec63..0000000
--- a/oldcode/src/gobs/dense/dense.gs
+++ /dev/null
@@ -1,350 +0,0 @@
-
-#include <gobs_dense.h>
-
-ait_entry* gobs_dense_ait;
-int gobs_dense_ait_size;
-
-struct ilist* dead_nodes;
-
-void
-gobs_dense_setup(MPI_Comm comm)
-{
- self.comm = comm;
- MPI_Comm_rank(self.comm, &self.rank);
- MPI_Comm_size(self.comm, &mpi_size);
-
- dead_nodes = ilist_create();
-
- gobs_dense_ait_create();
-
- gobs.ait_iterator = gobs_dense_get_iterator;
- gobs.ait_size = gobs_dense_ait_get_size;
- gobs.ait_lookup = gobs_dense_ait_lookup;
- gobs.ait_iterator_next = gobs_dense_iterator_next;
- gobs.ait_fail = gobs_dense_fail;
- gobs.ait_failed = gobs_dense_failed;
- gobs.ait_random_member = gobs_dense_random_member;
- gobs.ait_random_k_members = gobs_dense_random_k_members;
-}
-
-void
-gobs_dense_ait_create()
-{
- gobs_dense_ait = malloc(mpi_size*sizeof(ait_entry));
- gobs_dense_ait_size = mpi_size;
-}
-
-int
-gobs_dense_ait_get_size()
-{
- return gobs_dense_ait_size;
-}
-
-ait_entry*
-gobs_dense_ait_lookup(gobs_id id)
-{
- gum_node node;
-
- node = gobs_lookup(id);
-
- return &(gobs_dense_ait[node.rank]);
-}
-
-ait_iterator*
-gobs_dense_get_iterator()
-{
- ait_iterator* result;
- gobs_dense_iterator* dense_iterator;
- ait_entry* table;
- int i;
-
- result = malloc(sizeof(ait_iterator));
-
- result->type = AIT_TYPE_DENSE;
-
- result->content = malloc(sizeof(gobs_dense_iterator));
- dense_iterator = result->content;
-
- dense_iterator->index = -1;
- dense_iterator->table = malloc(mpi_size*sizeof(ait_entry));
-
- table = dense_iterator->table;
- for (i = 0; i < mpi_size; i++)
- {
- table[i].node.rank = i;
- table[i].node.comm = self.comm;
- table[i].status = AIT_STATUS_UP;
- table[i].attrib = klist_create();
- }
-
- return result;
-}
-
-ait_entry*
-gobs_dense_iterator_next(ait_iterator* iterator)
-{
- gobs_dense_iterator* dense_iterator;
-
- dense_iterator = iterator->content;
- dense_iterator->index++;
-
- if (dense_iterator->index >= mpi_size)
- {
- return NULL;
- }
-
- return &(dense_iterator->table[dense_iterator->index]);
-}
-
-/**
- @param node OUT The node holding the given id.
-*/
-__blocking int
-gobs_query(gum_node target, gobs_id id, gum_node* node)
-{
- gum_node result;
- gum_msg* response;
- gum_msg* msg;
- char args[32];
-
- gossip_debug(MASK_DHT, "gobs_query(%i,%i):\n", target.rank, id);
-
- msg = gum_msg_create();
- sprintf(args, "%i", id);
- gum_msg_init(GOBS_QUERY, args, strlen(args)+1, msg);
- gum_call(target, msg, &response);
-
- sscanf(response->data, "%i", &(result.rank));
- result.comm = target.comm;
-
- *node = result;
-
- return 1;
-}
-
-__blocking int
-handle_query(gum_node caller, gum_msg* call)
-{
- gum_msg response;
- gum_node result;
- int query_id;
-
- sscanf(call->data, "%i", &query_id);
- result = gobs_lookup(query_id);
-
- gossip_debug(MASK_DHT, "handle_query(%i)\n", query_id);
-
- response.data = malloc(16);
- sprintf(response.data, "%i", result.rank);
- response.length = strlen(response.data);
- response.unique = flip2(call->unique);
- gum_return(caller, &response);
-
- return 1;
-}
-
-gum_node
-gobs_lookup(gobs_id id)
-{
- gum_node node;
-
- node.comm = self.comm;
- node.rank = id % mpi_size;
-
- return node;
-}
-
-int
-gobs_size()
-{
- return mpi_size;
-}
-
-__blocking int
-gobs_store(gum_node target, gobs_id id,
- char* data, int length)
-{
- gum_msg* response;
- gum_msg* msg;
- char args[16];
-
- msg = gum_msg_create();
- sprintf(args, "%i", id);
- gum_msg_init(GOBS_STORE, args, strlen(args)+1, msg);
- gum_call(target, msg, &response);
-
- gs_mpi_send(data, length, MPI_CHAR, target.rank,
- response->unique, target.comm);
-
- return 1;
-}
-
-__blocking int
-handle_store(gum_node caller, gum_msg* msg)
-{
- MPI_Status status;
- gum_msg response;
- gobs_id query_id;
- char* data;
-
- sscanf(msg->data, "%i", &query_id);
-
- response.unique = flip2(msg->unique);
- response.data = malloc(1);
- response.data[0] = '\0';
- response.length = 1;
-
- gum_return(caller, &response);
-
- data = malloc(GUM_MSG_MAX);
- gs_mpi_recv(data, GUM_MSG_MAX, MPI_CHAR, caller.rank,
- response.unique, caller.comm, &status);
-
- itable_add(gobs_cache, query_id, data);
-
- gossip_debug(MASK_STORAGE, "store: %i\n", query_id);
-
- return 1;
-}
-
-/**
- @param data OUT Must be allocated GUM_MSG_MAX bytes.
-*/
-__blocking int
-gobs_retrieve(gum_node target, gobs_id id, char* data)
-{
- MPI_Status status;
- gum_msg* response;
- gum_msg* msg;
- char args[16];
- int length;
-
- msg = gum_msg_create();
- sprintf(args, "%i", id);
- gum_msg_init(GOBS_RETRIEVE, args, strlen(args)+1, msg);
- gum_call(target, msg, &response);
-
- gs_mpi_recv(data, GUM_MSG_MAX, MPI_CHAR, target.rank,
- response->unique, target.comm, &status);
-
- MPI_Get_count(&status, MPI_CHAR, &length);
- return length;
-}
-
-__blocking int
-handle_retrieve(gum_node caller, gum_msg* msg)
-{
- gum_msg response;
- int query_id;
- char* data;
- int length;
-
- sscanf(msg->data, "%i", &query_id);
- response.unique = flip2(msg->unique);
- response.data = malloc(1);
- response.data[0] = '\0';
- response.length = 1;
-
- gum_return(caller, &response);
-
- data = itable_search(gobs_cache, query_id);
- length = strlen(data);
-
- gs_mpi_send(data, length, MPI_CHAR, caller.rank,
- response.unique, caller.comm);
-
- return 1;
-}
-
-void
-gobs_dense_fail(gum_node dead_node)
-{
- gum_node* copy;
-
- copy = malloc(sizeof(dead_node));
- *copy = dead_node;
- ilist_add(dead_nodes, dead_node.rank, copy);
-}
-
-bool
-gobs_dense_failed(gum_node dead_node)
-{
- return ilist_contains(dead_nodes, dead_node.rank);
-}
-
-gum_node
-gobs_dense_random_member()
-{
- gum_node result;
-
- result.comm = self.comm;
-
- do
- {
- result.rank = rand_lt(gobs_dense_ait_size);
- } while (gobs_dense_failed(result));
-
- return result;
-}
-
-struct list*
-gobs_dense_random_k_members(int k)
-{
- struct list* result;
- int i,j;
- int bailout;
-
- gum_node node;
- gum_node* slot;
-
- bailout = gobs_dense_ait_size*2;
-
- result = list_create();
- j = 0;
- for (i = 0; i < k; i++)
- {
- slot = malloc(sizeof(gum_node));
- do
- {
- node = gobs_dense_random_member();
- *slot = node;
- assert(j++ < bailout);
- } while (list_inspect(result, &node, sizeof(gum_node)));
-
- list_add(result, slot);
- }
-
- return result;
-}
-
-__blocking int
-gobs_quit(gum_node target)
-{
- gum_msg* msg;
- gum_msg* result;
-
- msg = gum_msg_create();
- gum_msg_init(GOBS_QUIT, "now", 4, msg);
- gum_call(target, msg, &result);
-
- return 1;
-}
-
-__blocking int
-handle_quit(gum_node caller, gum_msg* call)
-{
- gum_msg response;
-
- gossip_debug(MASK_GOBS, "handle_quit()...");
-
- gum_shutdown();
- gobs_running = false;
- response.unique = flip2(call->unique);
- response.data = malloc(1);
- response.data[0] = '\0';
- response.length = 1;
-
- gum_return(caller, &response);
-
- return 1;
-}
diff --git a/oldcode/src/gobs/dense/module.mk.in b/oldcode/src/gobs/dense/module.mk.in
deleted file mode 100644
index 727719e..0000000
--- a/oldcode/src/gobs/dense/module.mk.in
+++ /dev/null
@@ -1,6 +0,0 @@
-
-# GOBS dense implementation
-
-#src/gobs/dense/dense.o: src/gobs/dense/dense.gs $(GSCC)
-# $(Q) " GSCC $(@)"
-# $(E)$(GSCC) $(GSLFLAGS) $(GSINCLUDES) $(<) --outfile $(@)
diff --git a/oldcode/src/gobs/gobs.gs b/oldcode/src/gobs/gobs.gs
deleted file mode 100644
index 489f6dc..0000000
--- a/oldcode/src/gobs/gobs.gs
+++ /dev/null
@@ -1,329 +0,0 @@
-
-#include <gobs.gsh>
-#include <gobs_dense.h>
-
-MPI_Comm gobs_comm;
-int mpi_rank;
-
-bool gobs_running;
-gum_node self;
-int mpi_size;
-
-struct itable* gobs_cache;
-
-gobs_fns gobs;
-gobs_id GOBS_LIMIT;
-
-void
-gobs_init(gobs_impl impl, MPI_Comm comm)
-{
- gobs_running = true;
-
- gobs_setup(impl, comm);
-
- MPI_Comm_dup(MPI_COMM_WORLD, &gobs_comm);
- MPI_Comm_rank(gobs_comm, &mpi_rank);
- MPI_Comm_size(gobs_comm, &mpi_size);
-
- gobs_cache = itable_create(10);
-
- GOBS_LIMIT = INT_MAX;
-}
-
-/**
- @return True on success, false if the implementation
- was not included at compile time.
-*/
-bool
-gobs_setup(gobs_impl impl, MPI_Comm comm)
-{
- if (impl == GOBS_DENSE)
- {
- gobs_dense_setup(comm);
- }
- else if (impl == GOBS_KDA)
- {
- // gobs = gobs_kda_impl;
- }
- return true;
-}
-
-__blocking int
-gobs_ping(gum_node target)
-{
- gum_msg* msg;
- gum_msg* response;
-
- msg = gum_msg_create();
- gum_msg_init(GOBS_PING, "", 1, msg);
- gum_call(target, msg, &response);
-
- return 1;
-}
-
-__blocking int
-handle_ping(gum_node caller, gum_msg* call)
-{
- gum_msg response;
-
- response.data = malloc(1);
- response.data[1] = '\0';
- response.length = 1;
- response.unique = flip2(call->unique);
- gum_return(caller, &response);
-
- return 1;
-}
-
-__blocking int
-gobs_response(MPI_Comm comm)
-{
- gum_node caller;
-
- int unique;
- gum_proc_idx idx;
- int length;
- char data[GUM_MSG_MAX];
-
- gum_msg call;
- gum_node target;
-
- target.rank = MPI_ANY_SOURCE;
- target.comm = comm;
-
- caller.rank = gum_recv(target, GUM_CALL, &idx, &caller.rank,
- &unique, &length, data);
-
- caller.comm = comm;
-
- call.unique = unique;
- call.source = caller.rank;
- call.length = length;
- call.data = malloc(GUM_MSG_MAX);
- strcpy(call.data, data);
-
- if (idx == GOBS_PING)
- {
- handle_ping(caller, &call);
- }
- else if (idx == GOBS_QUERY)
- {
- handle_query(caller, &call);
- }
- else if (idx == GOBS_ALLOCATE)
- {
- // handle_allocate(caller, &call);
- }
- else if (idx == GOBS_STORE)
- {
- handle_store(caller, &call);
- }
- else if (idx == GOBS_WRITE)
- {
- handle_write(caller, &call);
- }
- else if (idx == GOBS_READ)
- {
- handle_read(caller, &call);
- }
- else if (idx == GOBS_RETRIEVE)
- {
- handle_retrieve(caller, &call);
- }
- // AIT OPERATIONS:
- else if (idx == AIT_FETCH)
- {
- handle_ait_fetch(caller, &call);
- }
- // FS OPERATIONS:
- else if (idx == GOBS_OPEN)
- {
- handle_open(caller, &call);
- }
- else if (idx == GOBS_MKFS)
- {
- handle_mkfs(caller, &call);
- }
- /*
- else if (idx == GOBS_LOOKUP)
- {
- handle_lookup(caller, &call);
- }
- */
- else if (idx == GOBS_MKDIR)
- {
- handle_mkdir(caller, &call);
- }
- else if (idx == GOBS_LIST)
- {
- handle_list(caller, &call);
- }
- else if (idx == GOBS_MAKE_FILE)
- {
- handle_make_file(caller, &call);
- }
- else if (idx == GOBS_CREATE_FILE)
- {
- handle_create_file(caller, &call);
- }
- else if (idx == GOBS_CREATE_BLOB)
- {
- handle_create_blob(caller, &call);
- }
- else if (idx == GOBS_LINK_FILE)
- {
- handle_link_file(caller, &call);
- }
- else if (idx == GOBS_BLOB_IDS)
- {
- // handle_blob_ids(caller, &call);
- }
- else if (idx == GOBS_QUIT)
- {
- handle_quit(caller, &call);
- }
- else
- {
- printf("unknown function!\n");
- exit(1);
- }
-
- return 0;
-}
-
-__blocking int
-gobs_write(gum_node target, gobs_id id,
- char* data, int count, int offset)
-{
- gum_msg* msg;
- gum_msg* response;
-
- char args[64];
-
- sprintf(args, "%i %i %i", id, count, offset);
- msg = gum_msg_build(GOBS_WRITE, args, strlen(args)+1);
-
- gum_call(target, msg, &response);
-
- gs_mpi_send(data, count, MPI_CHAR, target.rank,
- response->unique, target.comm);
-
- return 1;
-}
-
-__blocking int
-handle_write(gum_node caller, gum_msg* msg)
-{
- MPI_Status status;
- gum_msg response;
- gobs_id id;
- int count;
- int offset;
-
- skullfs_object* object;
- skullfs_blob* blob;
- char* tmp;
- char* data;
-
- sscanf(msg->data, "%i %i %i", &id, &count, &offset);
-
- gossip_debug(MASK_STORAGE, "handle_write(%i,%i,%i)\n",
- id, count, offset);
-
- response.unique = flip2(msg->unique);
- response.data = malloc(1);
- response.data[0] = '\0';
- response.length = 1;
-
- gum_return(caller, &response);
-
- data = malloc(GUM_MSG_MAX);
- gs_mpi_recv(data, GUM_MSG_MAX, MPI_CHAR, caller.rank,
- response.unique, caller.comm, &status);
-
- // printdata("handle_write(): data: ", data, count);
-
- object = itable_search(gobs_cache, id);
- blob = object->contents;
-
- if (blob->size < offset+count)
- {
- tmp = realloc(blob->data, offset+count);
- blob->data = tmp;
- blob->size = offset+count;
- }
-
- memcpy(blob->data+offset, data, count);
-
- return 1;
-}
-
-__blocking int
-gobs_read(gum_node target, gobs_id id,
- char* data, int count, int offset)
-{
- MPI_Status status;
- gum_msg* msg;
- gum_msg* response;
-
- char args[64];
-
- sprintf(args, "%i %i %i", id, count, offset);
- msg = gum_msg_build(GOBS_READ, args, strlen(args)+1);
-
- gossip_debug(MASK_STORAGE, "gobs_read(%i,%i,%i)\n",
- id, count, offset);
-
- gum_call(target, msg, &response);
-
- gs_mpi_recv(data, count, MPI_CHAR, target.rank,
- response->unique, target.comm, &status);
-
- return 1;
-}
-
-__blocking int
-handle_read(gum_node caller, gum_msg* msg)
-{
- gum_msg response;
- gobs_id id;
-
- int count;
- int offset;
-
- skullfs_object* object;
- skullfs_blob* blob;
-
- char* data;
-
- sscanf(msg->data, "%i %i %i", &id, &count, &offset);
-
- gossip_debug(MASK_STORAGE, "handle_read(%i,%i,%i)\n",
- id, count, offset);
-
- response.unique = flip2(msg->unique);
- response.data = malloc(1);
- response.data[0] = '\0';
- response.length = 1;
-
- gum_return(caller, &response);
-
- object = itable_search(gobs_cache, id);
- blob = object->contents;
- data = blob->data;
-
- gs_mpi_send(data+offset, count, MPI_CHAR, caller.rank,
- response.unique, caller.comm);
-
- gossip_do(MASK_FS, printdata("handle_read(): data: ",
- data, count));
-
- return 1;
-}
-
-/*
-int gobs_size()
-{
- return gobs.ait_size();
-}
-*/
diff --git a/oldcode/src/gobs/launch.gs b/oldcode/src/gobs/launch.gs
deleted file mode 100644
index 03dc3a5..0000000
--- a/oldcode/src/gobs/launch.gs
+++ /dev/null
@@ -1,192 +0,0 @@
-
-/**
- LAUNCH: Start GOBS processes
-*/
-
-#include <launch.gsh>
-
-int done = 0;
-
-int gobs_layout_stores;
-// int gobs_layout_tables;
-int gobs_layout_clients;
-
-char dmalloc_mpi_logpath[128];
-
-bool gobs_using_gdb;
-
-gs_ret_t bootstrap_post(void (f)(void*,int),
- void*, gs_hints_t,
- gs_context_t, gs_op_id_t*);
-
-static void
-done_callback(void *user_ptr, int ret)
-{
- done = 1;
-}
-
-/**
- Process the layout and jump into the correct mode.
-*/
-__blocking int
-bootstrap()
-{
- gobs_init(GOBS_DENSE, MPI_COMM_WORLD);
-
- if (mpi_rank < gobs_layout_stores)
- {
- gobs_storage_init();
- }
- /*
- else if (mpi_rank < gobs_layout_stores)
- {
- gobs_table_init();
- }
- */
- else
- {
- gobs_client_init();
- }
-
- return 0;
-}
-
-void
-gdb_startup(void)
-{
- int gdb_wait = 0;
-
- pid_t pid = getpid();
- printf("pid: %i\n", pid);
-
- if (mpi_rank == 0)
- {
- sleep(1);
- printf("attach debugger...\n");
- }
-
- fflush(stdout);
-
- // if (mpi_rank == 0)
- while (!gdb_wait);
-}
-
-#ifdef DMALLOC
-void
-dmalloc_setup(void)
-{
- // printf("dmalloc_setup: %i\n", mpi_rank);
- sprintf(dmalloc_mpi_logpath, "./dmalloc_%i.out", mpi_rank);
- dmalloc_logpath = dmalloc_mpi_logpath;
-}
-#else
-#define dmalloc_setup(x)
-#endif
-
-void
-gobs_options(int argc, char* argv[])
-{
- int c; // Option character
- int i; // Option index; not used
- int n; // Count of option arguments; checks for input error
-
- struct option options[] =
- {{"stores", required_argument, NULL, 's'},
- // {"nodes", required_argument, NULL, 'n'},
- {"clients", required_argument, NULL, 'c'},
- {"gdb", no_argument, NULL, 'g'},
- {0, 0, 0, 0}};
-
- // Defaults:
- gobs_using_gdb = false;
- gobs_layout_stores = mpi_size-1;
- gobs_layout_clients = 1;
-
- while ((c = getopt_long(argc, argv, "s:n:c:g", options, &i)) != -1)
- {
- switch (c)
- {
- case 's':
- n = sscanf(optarg, "%i", &gobs_layout_stores);
- if (n < 1)
- {
- printf("Got bad layout!\n");
- exit(EXIT_FAILURE);
- }
- break;
-
- /*
- case 'n':
- n = sscanf(optarg, "%i", &gobs_layout_tables);
- if (n < 1)
- {
- printf("Got bad layout!\n");
- exit(EXIT_FAILURE);
- }
- break;
- */
-
- case 'c':
- n = sscanf(optarg, "%i", &gobs_layout_clients);
- if (n < 1)
- {
- printf("Got bad layout!\n");
- exit(EXIT_FAILURE);
- }
- break;
-
- case 'g':
- gobs_using_gdb = true;
- break;
-
- default:
- printf("Got bad argument! \n");
- exit(EXIT_FAILURE);
- }
- c++;
- }
-}
-
-int
-main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- gs_context_t ctx;
-
- gossip_set_debug_mask(1, MASK_GUM|MASK_GOBS|MASK_DHT|MASK_ARCH|MASK_STORAGE|MASK_FS);
-
- MPI_Init(&argc, &argv);
-
- MPI_Comm_size(MPI_COMM_WORLD, &mpi_size);
- MPI_Comm_rank(MPI_COMM_WORLD, &mpi_rank);
-
- srand(23+mpi_rank);
- // srand(((unsigned int) time(NULL))+mpi_rank);
-
- dmalloc_setup();
-
- gobs_options(argc, argv);
-
- if (gobs_using_gdb)
- gdb_startup();
-
- gs_mpi_init();
- gs_context_create(&ctx, 1, "mpi");
- gum_init();
-
- bootstrap_post(done_callback, NULL, NULL, ctx, &op_id);
-
- while (done == 0)
- {
- // if (mpi_rank != 0) sleep(10);
- // printf("poll:\n");
- gs_poll(ctx, 10);
- }
-
- printf("finalize\n");
- MPI_Finalize();
-
- gs_context_destroy(ctx);
- gs_mpi_finalize();
- return 0;
-}
diff --git a/oldcode/src/gobs/module.mk.in b/oldcode/src/gobs/module.mk.in
deleted file mode 100644
index fe68bd4..0000000
--- a/oldcode/src/gobs/module.mk.in
+++ /dev/null
@@ -1,31 +0,0 @@
-
-# GOBS
-
-DIR := src/gobs
-
-GOBS_ADTS += src/adts/itable.c
-GOBS_ADTS += src/adts/hashtable.c
-GOBS_ADTS += src/adts/list.c
-GOBS_ADTS += src/adts/ilist.c
-GOBS_ADTS += src/adts/klist.c
-
-GOBS_GSSRC := src/gobs/client.gs src/gobs/storage.gs src/gobs/ait.gs src/skullfs/skullfs.o src/gobs/dense/dense.gs src/gobs/gobs.gs
-# $(shell cd @SRC_ABSOLUTE_TOP@; find $(DIR) -name "*.gs" )
-
-# SKULLFS and GACK only necessary until we get function pointers working
-GOBS_OBJS := $(patsubst %.gs, %.o, $(GOBS_GSSRC)) $(patsubst %.c, %.o, $(GOBS_ADTS)) src/mpi_tools/mpi_tools.o src/common/gossip/gossip.o src/skullfs/skullfs.o src/skullfs/handlers.o src/skullfs/rpcs.o src/gack/gack.o
-
-# $(GUM_OBJS)
-
-GOBS_IMPLS :=
-
-ifeq (@ENABLE_GOBS_DENSE@,1)
- GOBS_IMPLS += src/gobs/dense/dense_impl.o
-endif
-ifeq (@ENABLE_GOBS_KDA@,1)
- GOBS_IMPLS += src/gobs/kda/kda_impl.o
-endif
-
-bin/gobs_launch: src/gobs/launch.o $(GOBS_OBJS) src/gum/gum.o bin
- $(Q) " MPICC $(@)"
- $(E)$(MPICC) $(GOBS_OBJS) $(LIBS) $(GSLLIBS) -o $(@)
diff --git a/oldcode/src/gobs/storage.gs b/oldcode/src/gobs/storage.gs
deleted file mode 100644
index 1d0fede..0000000
--- a/oldcode/src/gobs/storage.gs
+++ /dev/null
@@ -1,12 +0,0 @@
-
-#include <gobs.gsh>
-
-__blocking int
-gobs_storage_init()
-{
- while (gobs_running)
- {
- gobs_response(MPI_COMM_WORLD);
- }
- return 0;
-}
diff --git a/oldcode/src/gobs/table.gs b/oldcode/src/gobs/table.gs
deleted file mode 100644
index b40b7f1..0000000
--- a/oldcode/src/gobs/table.gs
+++ /dev/null
@@ -1,13 +0,0 @@
-
-#include <gobs.gsh>
-
-__blocking int
-gobs_table_init()
-{
- gossip_debug(MASK_ARCH, "table_init()...\n");
-
- while (gobs_running)
- {
- gobs_response(MPI_COMM_WORLD);
- }
-}
diff --git a/oldcode/src/gsl/.gitignore b/oldcode/src/gsl/.gitignore
deleted file mode 100644
index 571af37..0000000
--- a/oldcode/src/gsl/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-aclocal.m4
-autom4te.cache
-build
-configure
-maint/hs/GHC
diff --git a/oldcode/src/gsl/Makefile.in b/oldcode/src/gsl/Makefile.in
deleted file mode 100644
index 2698a92..0000000
--- a/oldcode/src/gsl/Makefile.in
+++ /dev/null
@@ -1,404 +0,0 @@
-###############################################################
-# General documentation
-#
-# This is a single makefile that runs the entire pvfs2 build
-# process. There are no makefiles in subdirectories. For a
-# general introduction to this approach, please read this document
-# by Peter Miller:
-#
-# http://www.tip.net.au/~millerp/rmch/recu-make-cons-harm.html
-#
-# Each subdirectory contains a module.mk file that gets included
-# when make is executed. These module.mk files tell make about the
-# files in each subdirectory that must be built, including any
-# special case rules. Make uses this information to generate a
-# sinle dependency graph and orchestrate the build process from this
-# top level directory.
-#
-# We categorize our source depending on what it will be used for.
-# For example, there are lists of source files for building the
-# server, building the library, building documentation, etc.
-#
-
-###############################################################
-# Generic makefile setup
-
-# define a few generic variables that we need to use; DESTDIR may
-# be overridden on the command line during make install
-DESTDIR =
-srcdir = @srcdir@
-builddir = @BUILD_ABSOLUTE_TOP@
-prefix = @prefix@
-datarootdir = @datarootdir@
-exec_prefix = @exec_prefix@
-includedir = $(DESTDIR)@includedir@
-mandir = $(DESTDIR)@mandir@
-sbindir = $(DESTDIR)@sbindir@
-bindir = $(DESTDIR)@bindir@
-libdir = $(DESTDIR)@libdir@
-
-VPATH = $(srcdir)
-GSPRETTY =
-GSDEBUG =
-ifneq (,@GSL_DEBUG@)
- GSPRETTY = --pretty
- GSDEBUG = @GSL_DEBUG@
-endif
-
-# for now assume ghc is installed and in path.
-GHC = ghc
-
-CC = @CC@
-LD = @LD@
-BUILD_CC = @BUILD_CC@
-BUILD_LD = @BUILD_LD@
-BUILD_CFLAGS = @BUILD_CFLAGS@
-BUILD_LDFLAGS = @BUILD_LDFLAGS@
-
-STRICT_CFLAGS = @STRICT_CFLAGS@
-
-CFLAGS= -I$(srcdir)/include -I. -I$(srcdir) @CFLAGS@ @CPPFLAGS@
-CFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
-CFLAGS += -D__GS_POSIX_LOCKING__
-CWARNS=
-ifneq (,$(STRICT_CFLAGS))
- CWARNS += -Wcast-align -Wbad-function-cast
- CWARNS += -Wmissing-prototypes -Wmissing-declarations
- CWARNS += -Wundef -Wpointer-arith
- CWARNS += -Wnested-externs
- CWARNS += -Wredundant-decls
- # Very noisy, too strict
- CWARNS += -W -Wno-unused -Wno-sign-compare
- CWARNS += -Wcast-qual
- CWARNS += -Wshadow
- CWARNS += -Wwrite-strings
-endif
-
-LDFLAGS += @LDFLAGS@
-LIBS += @LIBS@
-
-MPICC = @MPICC@
-MPICFLAGS = @MPICFLAGS@
-MPILDFLAGS = @MPILDFLAGS@
-MPILIBS = @MPILIBS@
-BUILD_MPI = @BUILD_MPI@
-BUILD_OSD = @BUILD_OSD@
-
-INSTALL = @INSTALL@
-
-GSLIBSRC :=
-LIBSRC :=
-GSTESTSRC :=
-GSHDR :=
-GSTESTLIBSRC :=
-TESTLIBSRC :=
-HSSRC :=
-HSBINSRC :=
-LIBOSDSRC :=
-
-# Eliminate all default suffixes. We want explicit control.
-.SUFFIXES:
-
-QUIET_COMPILE = @QUIET_COMPILE@
-
-ifdef V
- QUIET_COMPILE = 0
-endif
-
-ifeq ($(QUIET_COMPILE),1)
- # say a one-line description of the action, do not echo the command
- Q=@echo
- E=@
-else
- # do not say the short Q lines, but do echo the entire command
- Q=@echo >/dev/null
- E=
-endif
-
-# PHONEY targets are targets that do not result in the generation
-# of a file that has the same name as the target. Listing them
-# here keeps make from accidentally doing too much work (see GNU
-# make manual).
-.PHONY: all clean
-
-################################################################
-# Find project subdirectories
-
-# MODULES is a list of subdirectories that we wish to operate on.
-# They are identified by the presence of module.mk files (makefile
-# includes).
-MODULES := $(shell find . -name "*.mk" | sed -e 's/^.\///;s/module.mk//')
-
-################################################################
-# Default target forward pointer, to avoid other targets in make stubs
-all::
-
-################################################################
-# Makefile includes
-
-# this is how we pull build information from all of the project
-# subdirectories, make sure to catch top level module.mk as well
-include $(patsubst %, %/module.mk, $(MODULES))
-
-# Just like dir, but strip the slash off the end, to be pretty.
-dirname = $(patsubst %/,%,$(dir $(1)))
-
-# Generate the canonical in-tree location of a file, given a possible out
-# of tree reference.
-canonname = $(patsubst $(srcdir)/%,%,$(call dirname,$(1)))
-
-################################################################
-# Derived file lists
-
-# NOTES: At this point, the subdirectory makefile includes have informed
-# us what the source files are. Now we want to generate some
-# other lists (such as objects, executables, and dependency files)
-# by manipulating the lists of source files
-
-# Grab any CFLAGS defined by the make stub for a particular file, and
-# for the directory in which the source resides.
-# Always add the source directory in question for "local" includes.
-# Similar for ldflags.
-modcflags = $(MODCFLAGS_$(call canonname,$(1))) \
- $(MODCFLAGS_$(patsubst $(srcdir)/%,%,$(1))) \
- -I$(srcdir)/$(call dirname,$(1))
-
-MODCFLAGS_GS = $(call modcflags,$(patsubst %.o,%.gs,$(1)))
-MODCFLAGS_C = $(call modcflags,$(patsubst %.o,%.c,$(1)))
-
-modldflags = $(MODLDFLAGS_$(call canonname,$(1))) \
- $(MODLDFLAGS_$(patsubst $(srcdir)/%,%,$(1)))
-
-MODLDFLAGS_GS = $(call modldflags,$(patsubst %.o,%.gs,$(1)))
-MODLDFLAGS_C = $(call modldflags,$(patsubst %.o,%.c,$(1)))
-
-modlibs = $(MODLIBS_$(call canonname,$(1))) \
- $(MODLIBS_$(patsubst $(srcdir)/%,%,$(1)))
-
-MODLIBS_GS = $(call modlibs,$(patsubst %.o,%.gs,$(1)))
-MODLIBS_C = $(call modlibs,$(patsubst %.o,%.c,$(1)))
-
-modname = $(MODNAME_$(call canonname,$(1))) \
- $(MODNAME_$(patsubst $(srcdir)/%,%,$(1)))
-
-modcc = $(if $(MODCC_$(1)), \
- $(MODCC_$(1)),$(CC))
-
-MCC_GS = $(call modcc,$(patsubst %.o,%.gs,$(1)))
-MCC_C = $(call modcc,$(patsubst %.o,%.c,$(1)))
-
-# Get the parameters for a given test
-testparams = $(TESTPARAMS_$(1))
-
-# The object files for the gs library generated from .gs files
-GSLIBOBJS=$(patsubst %.gs,%.o,$(GSLIBSRC))
-
-# The object files for the gs library generated from .c files
-LIBOBJS=$(patsubst %.c,%.o,$(LIBSRC))
-
-LIBOBJS_DEPENDS=$(patsubst %.c,%.d,$(LIBSRC))
-
-# The object files for the osc osd library generated from .c files
-LIBOSDOBJS=$(patsubst %.c,%.o,$(LIBOSDSRC))
-
-LIBOSDOBJS_DEPENDS=$(patsubst %.c,%.d,$(LIBOSDSRC))
-
-# The object files for binary tests generated from .gs files
-GSTESTOBJS=$(patsubst %.gs,%.o,$(GSTESTSRC))
-
-GSTESTOBJS_DEPENDS=$(patsubst %.gs,%.d,$(GSTESTSRC))
-
-# The binary files from .gs test files
-GSTEST=$(patsubst %.gs,%,$(GSTESTSRC))
-
-# The C header files generated from .gsh files
-GSTRHDR=$(patsubst %.gsh,%.h,$(GSHDR))
-GSTRHDR_CPP=$(patsubst %.gsh,%.gsh.i,$(GSHDR))
-
-# The object files for the gs test library generated from .gs files
-GSTESTLIBOBJS=$(patsubst %.gs,%.o,$(GSTESTLIBSRC))
-
-GSTESTLIBOBJS_DEPENDS=$(patsubst %.gs,%.d,$(GSTESTLIBSRC))
-
-GSOBJS=$(GSTESTLIBOBJS) $(GSTESTOBJS) $(GSLIBOBJS)
-GSOBJS_DEPENDS=$(GSTESTLIBOJS_DEPENDS) \
- $(GSTESTOBJS_DEPENDS) \
- $(GSLIBOBJS_DEPENDS)
-
-GSOBJS_INTERM=$(patsubst %.o,%.gs.s,$(GSOBJS))
-GSOBJS_CPP=$(patsubst %.o,%.gs.i,$(GSOBJS))
-GSOBJS_DUMMY=$(patsubst %.o,%.gs.dummyobj,$(GSOBJS))
-
-# The object files for the gs test library generated from .c files
-TESTLIBOBJS=$(patsubst %.c,%.o,$(TESTLIBSRC))
-
-TESTLIBOBJS_DEPENDS=$(patsubst %.c,%.d,$(TESTLIBSRC))
-
-HSBIN=$(patsubst %.lhs,%,$(HSBINSRC))
-HSOBJ=$(patsubst %.lhs,%.o,$(filter %.lhs,$(HSSRC))) \
- $(patsubst %.hs,%.o,$(filter %.hs,$(HSSRC)))
-HSINT=$(patsubst %.lhs,%.hi,$(filter %.lhs,$(HSSRC))) \
- $(patsubst %.hs,%.hi,$(filter %.lhs,$(HSSRC)))
-
-DEPENDS = $(LIBOBJS_DEPENDS) $(TESTLIBOBJS_DEPENDS) $(GSOBJS_DEPENDS)
-
-TESTS = $(GSTEST)
-runTESTS = $(patsubst %,run%,$(TESTS))
-runVALGRIND = $(patsubst %,valgrind%,$(TESTS))
-
-####################################################################
-# Rules and dependencies
-
-$(GSOBJS_DEPENDS): %.d: %.gs
- $(Q) " DEP $@"
- $(E)$(CC) -x c -MT $(patsubst %.d,%.o,$@) -MM -MG -MF $@ $< $(LIBCFLAGS) $(CFLAGS) $(CWARNS) $(call MODCFLAGS_GS,$<)
-
-$(LIBOBJS_DEPENDS) $(TESTLIBOBJS_DEPENDS): %.d: %.c
- $(Q) " DEP $@"
- $(E)$(CC) -MT $(patsubst %.d,%.o,$@) -MM -MG -MF $@ $< $(LIBCFLAGS) $(CFLAGS) $(CWARNS) $(call MODCFLAGS,$<)
-
-$(GSTEST): %: %.o lib/libgs.a lib/libgstest.a
- $(Q) " LD $@"
- $(E)$(call MCC_GS,$<) \
- -o $@ $< $(LDFLAGS) $(LIBS) \
- -L$(builddir)/lib -lgstest -lgs \
- $(call MODLDFLAGS_GS,$<) $(call MODLIBS_GS,$<)
-
-$(GSOBJS): %.o: %.gs.s
- $(E)$(call MCC_GS,$<) -I$(srcdir)/include/ -x c -c -o $@ \
- $(LIBCFLAGS) \
- $(CFLAGS) $(CWARNS) -Wno-redundant-decls $(call MODCFLAGS_GS,$<) $<
-
-$(GSOBJS_INTERM): %.gs.s: %.gs.i parser
- $(E)$(builddir)/parser/gs-blocking-parser -o $@ -r $*.gs $(GSPRETTY) $*.gs.i
-
-$(GSOBJS_DUMMY): %.gs.dummyobj: %.gs
- $(Q) " GSCC $*"
- $(E)$(call MCC_GS,$<) -D__blocking="" \
- -Dpwait="while(0)" -Dpbranch="" -Dpbreak="break" -Dpprivate="" -Dpshared=""\
- -I$(srcdir)/include/ -x c -c -o $@ $(LIBCFLAGS) \
- -Wall -Wno-implicit -Wno-unused -Werror \
- $(CFLAGS) $(call MODCFLAGS_GS,$<) $<
-
-$(GSOBJS_CPP): %.gs.i: %.gs %.gs.dummyobj
- $(E)$(call MCC_GS,$<) -I$(srcdir)/include/ -x c -E -o $*.gs.i \
- $(LIBCFLAGS) $(CFLAGS) $(CWARNS) $(call MODCFLAGS_GS,$<) $(srcdir)/$*.gs
-
-$(GSTRHDR_CPP): %.gsh.i: %.gsh
- $(Q) " GSCC $<"
- $(E)$(call MCC_GS,$<) -I$(srcdir)/include/ -x c -E -o $*.gsh.i \
- $(LIBCFLAGS) $(CFLAGS) $(CWARNS) $(call MODCFLAGS_GS,$<) $(srcdir)/$*.gsh
-
-$(GSTRHDR): %.h: %.gsh.i parser
- $(E)$(builddir)/parser/gs-blocking-parser -j -r $(srcdir)/$*.gsh -o $@ $<
-
-$(LIBOBJS): %.o: %.d
- $(Q) " CC $@"
- $(E)$(call MCC_C,$(patsubst %.d,%.c,$<)) -c -o $@ \
- $(LIBCFLAGS) $(CFLAGS) $(CWARNS) \
- $(call MODCFLAGS_C,$(patsubst %.d,%.c,$<)) \
- $(srcdir)/$(patsubst %.d,%.c,$<)
-
-$(LIBOSDOBJS): %.o: %.c
- $(Q) " CC $@"
- $(E)$(call MCC_C,$<) -c -o $@ $(LIBCFLAGS) $(CFLAGS) $(CWARNS) \
- $(call modcflags,$<) $<
-
-$(TESTLIBOBJS): %.o: %.d
- $(Q) " CC $@"
- $(E)$(call MCC_C,$(patsubst %.d,%.c,$<)) -c -o $@ \
- $(LIBCFLAGS) $(CFLAGS) $(CWARNS) \
- $(call MODCFLAGS_C,$(patsubst %.d,%.c,$<)) \
- $(srcdir)/$(patsubst %.d,%.c,$<)
-
-$(HSBIN): %: %.lhs $(HSSRC)
- $(Q) " GHC $@"
- $(E)$(GHC) -odir $(call canonname,$<) \
- -hidir $(call canonname,$<) \
- -o $@ \
- -main-is $(call modname,$<) \
- -i$(call dir,$<) --make $<
-
-LIBRARIES=lib/libgs.a lib/libgstest.a
-
-lib/libgs.a: $(GSLIBOBJS) $(LIBOBJS)
- $(Q) " RANLIB $@"
- $(E)$(INSTALL) -d lib
- $(E)ar rcs $@ $(LIBOBJS) $(GSLIBOBJS)
-
-lib/libgstest.a: $(GSTESTLIBOBJS) $(TESTLIBOBJS)
- $(Q) " RANLIB $@"
- $(E)$(INSTALL) -d lib
- $(E)ar rcs $@ $(GSTESTLIBOBJS) $(TESTLIBOBJS)
-
-ifneq (,$(BUILD_OSD))
-lib/libosc-osd.a: $(LIBOSDOBJS)
- $(Q) " RANLIB $@"
- $(E)$(INSTALL) -d lib
- $(E)ar rcs $@ $(LIBOSDOBJS)
-endif
-
-all:: $(TESTS) $(LIBRARIES) $(GSTHDR)
-
-parser: $(HSBIN)
-
-$(runTESTS): run%: %
- @if test -n "$(call testparams,$<)"; then \
- for p in $(call testparams,$<); do \
- echo -n "Running $< $$p..."; \
- ./$< $$p > /dev/null; \
- echo "done."; \
- done \
- else \
- echo -n "Running $<..."; \
- ./$< > /dev/null; \
- echo "done."; \
- fi
-
-runtests: $(runTESTS)
-
-$(runVALGRIND): valgrind%: %
- @if test -n "$(call testparams,$<)"; then \
- for p in $(call testparams,$<); do \
- echo -n "Running valgrind $< $$p..."; \
- valgrind --error-exitcode=1 ./$< $$p > /dev/null 2>./.vout; \
- grep "All heap blocks were freed" ./.vout >/dev/null 2>&1; \
- if test $$? != 0; then \
- echo "\nErrors found in $<. Rerun valgrind ./$<"; \
- exit 1; \
- fi; \
- echo "done."; \
- done; \
- else \
- echo -n "Running valgrind $<..."; \
- valgrind --error-exitcode=1 ./$< > /dev/null 2>./.vout; \
- grep "All heap blocks were freed" ./.vout >/dev/null 2>&1; \
- if test $$? != 0; then \
- echo "\nErrors found in $<. Rerun valgrind ./$<"; \
- exit 1; \
- fi; \
- echo "done."; \
- fi
-
-runvalgrind: $(runVALGRIND)
-
-clean::
- $(Q) " CLEAN"
- $(E)rm -f $(GSOBJS) $(GSOBJS_CPP) $(GSOBJS_INTERM) $(GSOBJS_DUMMY) \
- $(LIBOBJS) $(GSTEST) \
- $(GSTRHDR) $(TESTLIBOBJS) \
- $(LIBRARIES) $(DEPENDS)
-
-parserclean:
- $(Q) " PARSER CLEAN"
- $(E)rm -f $(HSBIN) $(HSOBJ) $(HSINT)
-
-# this is where we include all of our automatic dependencies.
-# NOTE: we wrap this in ifneq's in order to prevent the dependencies
-# from being generated for special targets that don't require them
-ifeq (,$(filter clean nodep,$(MAKECMDGOALS)))
--include $(DEPENDS)
-endif
-# add this as a make goal to disable rebuilding deps
-.PHONY: nodep
-.nodep:; @:
diff --git a/oldcode/src/gsl/README b/oldcode/src/gsl/README
deleted file mode 100644
index c720212..0000000
--- a/oldcode/src/gsl/README
+++ /dev/null
@@ -1,20 +0,0 @@
-
-If you want to build/install haskell and
-the necessary haskell libraries for gsl, you should follow these steps:
-
-On debian/ubuntu, run (requires sudo privs):
-
-./setup-hs-debian
-./setup-langc
-
-On systems without haskell binary packages, you'll need to do:
-
-* Download/Build/Install ghc from http://www.haskell.org/ghc/
-* Download/Build/Install MTL from http://hackage.haskell.org/cgi-bin/hackage-scripts/package/mtl
-* Download/Build/Install happy from http://www.haskell.org/happy/
-* Download/Build/Install alex from http://www.haskell.org/alex/
-
-* Then run: setup-langc
-
-NOTE: Building by hand turns out to be a big PITA, its highly recommended
-that you find a system where you can install the debian packages.
diff --git a/oldcode/src/gsl/common/gs-opcache.c b/oldcode/src/gsl/common/gs-opcache.c
deleted file mode 100644
index 724e7a8..0000000
--- a/oldcode/src/gsl/common/gs-opcache.c
+++ /dev/null
@@ -1,156 +0,0 @@
-
-#include <errno.h>
-#include "include/gs-op.h"
-#include "include/gs-oplist.h"
-#include "include/gs-opcache.h"
-
-#define GS_OPCACHE_ARRAY_COUNT 32
-#define GS_OPCACHE_MAX_INDEX (0xFFFFFF)
-
-struct gs_opcache
-{
- void *array[GS_OPCACHE_ARRAY_COUNT];
- int array_count;
- int size;
- int count;
- gs_mutex_t mutex;
- gs_oplist_t free_list;
- int typesize;
- int member_offset;
-};
-
-int gs_opcache_init(int typesize, int member_offset, int init_size, gs_opcache_t *cache)
-{
- struct gs_opcache *c;
- c = malloc(sizeof(*c));
- if(!c)
- {
- return -ENOMEM;
- }
- c->size = init_size;
- c->array_count = 1;
- c->array[0] = malloc(typesize * init_size);
- if(!c->array[0])
- {
- free(c);
- return -ENOMEM;
- }
- c->typesize = typesize;
- c->member_offset = member_offset;
- c->count = 0;
- gs_mutex_init(&c->mutex, NULL);
- GS_OPLIST_INIT(&(c->free_list));
- *cache = c;
- return 0;
-}
-
-int gs_opcache_double_size(gs_opcache_t cache)
-{
- int i;
- gs_mutex_lock(&cache->mutex);
- cache->array[cache->array_count] = malloc(cache->typesize * cache->size);
- if(!cache->array[cache->array_count])
- {
- for(i = 0; i < cache->array_count; ++i)
- {
- free(cache->array[i]);
- }
- free(cache);
- gs_mutex_unlock(&cache->mutex);
- return -ENOMEM;
- }
- cache->array_count++;
- cache->size *= 2;
- gs_mutex_unlock(&cache->mutex);
- return 0;
-}
-
-int gs_opcache_destroy(gs_opcache_t cache)
-{
- int i;
- gs_mutex_lock(&cache->mutex);
- for(i = 0; i < cache->array_count; ++i)
- {
- free(cache->array[i]);
- }
- gs_mutex_unlock(&cache->mutex);
- free(cache);
- return 0;
-}
-
-inline int gs_opcache_size(gs_opcache_t cache)
-{
- return cache->size;
-}
-
-inline int gs_opcache_count(gs_opcache_t cache)
-{
- return cache->count;
-}
-
-struct gs_op *gs_opcache_get(gs_opcache_t cache)
-{
- int aind, count;
- struct gs_op *op;
-
- gs_mutex_lock(&cache->mutex);
- if(gs_oplist_empty(&cache->free_list))
- {
- if(cache->count == cache->size)
- {
- gs_opcache_double_size(cache);
- }
-
- aind = cache->array_count - 1;
- count = (cache->array_count > 1) ?
- cache->count - (cache->size / 2) : cache->count;
-
- op = (struct gs_op *)(((char *)cache->array[aind]) +
- (count * cache->typesize) +
- cache->member_offset);
- memset((void*)((unsigned long)op - cache->member_offset), 0,
- cache->typesize);
- op->cache_id = (aind << 25) | count;
- gs_op_clear(op);
- ++cache->count;
- }
- else
- {
- op = gs_oplist_pop(&cache->free_list);
- memset((void*)((unsigned long)op - cache->member_offset), 0,
- cache->typesize);
- }
- gs_mutex_unlock(&cache->mutex);
- return op;
-}
-
-int gs_opcache_put(gs_opcache_t cache, struct gs_op *op)
-{
- gs_mutex_lock(&cache->mutex);
- gs_oplist_push(op, &cache->free_list);
- gs_mutex_unlock(&cache->mutex);
-
- return 0;
-}
-
-struct gs_op *gs_opcache_lookup(gs_opcache_t cache, int id)
-{
- int aind, count;
-
- /* we get the array index from the top 6 bits */
- aind = (id >> 25);
- count = id & 0xFFFFFF;
-
- return (struct gs_op *)(((char *)cache->array[aind]) +
- (count * cache->typesize) +
- cache->member_offset);
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/common/gs.c b/oldcode/src/gsl/common/gs.c
deleted file mode 100644
index b94f92f..0000000
--- a/oldcode/src/gsl/common/gs.c
+++ /dev/null
@@ -1,347 +0,0 @@
-
-#include <time.h>
-#include "include/gs-list.h"
-#include "include/gs.h"
-
-#include <errno.h>
-
-struct gs_resource_entry
-{
- int id;
- struct gs_resource *resource;
-};
-
-static int gs_resource_count = 0;
-static struct gs_resource_entry gs_resource_entries[GS_MAX_RESOURCES];
-
-#define GS_RESOURCE_IDX2ID(reindex) (reindex+16)
-#define GS_RESOURCE_ID2IDX(rid) (rid-16)
-
-struct gs_context
-{
- int id;
- int resource_count;
- int *resource_ids;
-};
-
-static int gs_context_count = 0;
-static struct gs_context gs_context_entries[GS_MAX_CONTEXTS];
-
-int gs_resource_register(struct gs_resource *resource)
-{
- int reindex = gs_resource_count;
-
- if(gs_resource_count == GS_MAX_RESOURCES)
- {
- return -EINVAL;
- }
-
- gs_resource_entries[reindex].id = GS_RESOURCE_IDX2ID(reindex);
- gs_resource_entries[reindex].resource = resource;
- gs_resource_count++;
- return GS_RESOURCE_IDX2ID(reindex);
-}
-
-int gs_resource_unregister(int id)
-{
- int idx = GS_RESOURCE_ID2IDX(id);
-
- if(idx != (gs_resource_count -1))
- {
- /* this is not the last resource in the table; shift everything down */
- memmove(&gs_resource_entries[idx], &gs_resource_entries[idx+1],
- (sizeof(struct gs_resource_entry) * (gs_resource_count-idx-1)));
- }
- gs_resource_count--;
-}
-
-int gs_cancel_op(gs_context_t context, gs_op_id_t op_id)
-{
- struct gs_ctl *ctl;
- int resource_id, ridx;
- int ret = -EINVAL;
-
- gs_id_lookup(op_id, &resource_id);
- ridx = GS_RESOURCE_ID2IDX(resource_id);
- if(ridx > gs_resource_count)
- {
- return -EINVAL;
- }
-
- if(gs_resource_entries[ridx].id != resource_id)
- {
- return -EINVAL;
- }
-
- if(gs_resource_entries[ridx].id == -1)
- {
- return -EINVAL;
- }
-
- if(resource_id == 0)
- {
- ctl = (struct gs_ctl *)(intptr_t)gs_id_lookup(op_id, NULL);
- gs_mutex_lock(&ctl->mutex);
- if(ctl->cancelled)
- {
- /* already cancelled! */
- gs_mutex_unlock(&ctl->mutex);
- return -EINVAL;
- }
-
- ctl->cancelled = 1;
- if(ctl->in_pwait)
- {
- /* cancel children */
- struct gs_list_link *entry;
- struct gs_ctl *child_ctl;
- if(gs_list_empty(&ctl->children))
- {
- return -EINVAL;
- }
-
- gs_list_for_each(entry, &ctl->children)
- {
- child_ctl = gs_list_get_entry(entry, typeof(*child_ctl), link);
- ret = gs_cancel_op(context, child_ctl->current_op_id);
- if(ret != 0)
- {
- /* cancel failed */
- gs_mutex_unlock(&ctl->mutex);
- }
- }
- }
- else
- {
- ret = gs_cancel_op(context, ctl->current_op_id);
- }
- gs_mutex_unlock(&ctl->mutex);
- return ret;
- }
-
- return gs_resource_entries[ridx].resource->cancel(context, op_id);
-}
-
-gs_op_id_t gs_id_gen(int resource_id, uint64_t ptr)
-{
- return (gs_op_id_t)(GS_GET_RESOURCE_MASK(resource_id) | ptr);
-}
-
-uint64_t gs_id_lookup(gs_op_id_t id, int *resource_id)
-{
- if(resource_id) *resource_id = GS_GET_RESOURCE_ID(id);
- return (~GS_RESOURCE_MASK)&id;
-}
-
-int gs_cancel_children(gs_context_t context, void *ptr)
-{
- int ret;
- struct gs_ctl *ctl;
- struct gs_ctl *child_ctl;
- struct gs_list_link *entry;
-
- ctl = (struct gs_ctl *)ptr;
- if(gs_list_empty(&ctl->children))
- {
- /* don't do anything here because there are no children
- * to cancel
- */
- return 0;
- }
-
- gs_list_for_each(entry, &ctl->children)
- {
- child_ctl = gs_list_get_entry(entry, typeof(*child_ctl), link);
- ret = gs_cancel_op(context, child_ctl->current_op_id);
- if(ret != 0)
- {
- /* cancel failed */
- return ret;
- }
- }
-
- return 0;
-}
-
-#include <execinfo.h>
-#include <stdio.h>
-
-void gs_backtrace(void)
-{
- void *trace[16];
- char **messages = (char **)NULL;
- int size, i;
-
- size = backtrace(trace, 16);
- messages = backtrace_symbols(trace, size);
- for(i = 0; i < size; ++i)
- {
- fprintf(stderr, "gsl backtrace: %s\n", messages[i]);
- }
-}
-
-#include <assert.h>
-
-void gs_assert(const char *str, int expr)
-{
- if(!expr)
- {
- fprintf(stderr, "%s\n", str);
- gs_backtrace();
- assert(expr);
- }
-}
-
-int gs_poll(gs_context_t context, int millisecs)
-{
- int resource_ms, i, ret;
- int rid, ridx;
- int resources_polled = 0;
-
- if(context)
- {
- resource_ms = millisecs / context->resource_count;
- for(i = 0; i < context->resource_count; ++i)
- {
- rid = context->resource_ids[i];
- ridx = GS_RESOURCE_ID2IDX(rid);
- if(gs_resource_entries[ridx].resource->poll_context)
- {
- ret = gs_resource_entries[ridx].resource->poll_context(context, resource_ms);
- if(ret != 0)
- {
- return ret;
- }
- resources_polled++;
- }
- }
- }
- else
- {
- resource_ms = millisecs / gs_resource_count;
- for(i = 0; i < gs_resource_count; ++i)
- {
- if(gs_resource_entries[i].resource->poll_context)
- {
- ret = gs_resource_entries[i].resource->poll_context(
- context, resource_ms);
- if(ret != 0)
- {
- return ret;
- }
- resources_polled++;
- }
- }
- }
-
- if(resources_polled == 0)
- {
- struct timespec ts;
-
- ts.tv_sec = (int)(millisecs / 1e3);
- ts.tv_nsec = (millisecs % 1000) * 1e6;
- ret = nanosleep(&ts, NULL);
- if(ret != 0)
- {
- return -errno;
- }
- }
- return 0;
-}
-
-#include <stdarg.h>
-
-int gs_context_create(gs_context_t *context, int resource_count, ...)
-{
- va_list ap;
- char *rname;
- int cindex = gs_context_count;
- gs_context_t c;
- int i, j, ret, reindex;
-
- if(gs_context_count == GS_MAX_CONTEXTS)
- {
- return -EINVAL;
- }
-
- c = &(gs_context_entries[cindex]);
- c->id = gs_context_count;
- gs_context_count++;
- c->resource_count = resource_count;
- c->resource_ids = malloc(sizeof(int) * resource_count);
- if(!c->resource_ids)
- {
- return -ENOMEM;
- }
- reindex = 0;
-
-
- /* step through the resource names passed in and register the context with them */
- va_start(ap, resource_count);
- for(i = 0; i < resource_count; ++i)
- {
- int resource_found = 0;
- rname = va_arg(ap, char *);
-
- /* find the matching resource and register the context with that resource */
-
- for(j = 0; j < gs_resource_count; ++j)
- {
- if(!strcmp(gs_resource_entries[j].resource->resource_name, rname))
- {
- if(gs_resource_entries[j].resource->register_context)
- {
- ret = gs_resource_entries[j].resource->register_context(c);
- if(ret != 0)
- {
- /* what do we do if a context fails to register with a resource? */
- va_end(ap);
- return ret;
- }
- }
- c->resource_ids[reindex] = gs_resource_entries[j].id;
- reindex++;
- resource_found = 1;
- break;
- }
- }
- if(!resource_found)
- {
- va_end(ap);
- return -EINVAL;
- }
- }
- va_end(ap);
-
- *context = c;
- return 0;
-}
-
-int gs_context_destroy(gs_context_t context)
-{
- int rid, idx, i;
-
- for(i = 0; i < context->resource_count; ++i)
- {
- rid = context->resource_ids[i];
- idx = GS_RESOURCE_ID2IDX(rid);
- if(gs_resource_entries[idx].resource->unregister_context)
- {
- gs_resource_entries[idx].resource->unregister_context(context);
- }
- }
- free(context->resource_ids);
- context->resource_ids = NULL;
- context->id = -1;
- context->resource_count = -1;
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/common/module.mk.in b/oldcode/src/gsl/common/module.mk.in
deleted file mode 100644
index 3cfbfa4..0000000
--- a/oldcode/src/gsl/common/module.mk.in
+++ /dev/null
@@ -1,4 +0,0 @@
-DIR := common
-
-LIBSRC += $(DIR)/gs.c \
- $(DIR)/gs-opcache.c
diff --git a/oldcode/src/gsl/configure.in b/oldcode/src/gsl/configure.in
deleted file mode 100644
index aef0cb8..0000000
--- a/oldcode/src/gsl/configure.in
+++ /dev/null
@@ -1,126 +0,0 @@
-dnl **************************************************************
-dnl GS AUTOCONF SCRIPT
-dnl
-dnl Process this file with autoconf to produce a configure script.
-dnl You may need to use autoheader as well if changing any DEFINEs
-
-CONFIGURE_TIME=`date -u +"%Y-%m-%d-%H%M%S"`
-GS_MAJOR=0
-GS_MINOR=1
-GS_SUB=1
-GS_PRE="pre-$CONFIGURE_TIME"
-
-GS_VERSION=$GS_MAJOR.$GS_MINOR.$GS_SUB$GS_PRE
-
-AC_PREREQ(2.50)
-AC_INIT(grayskull, 0.1.1, gs-core(a)mcs.anl.gov)
-
-AC_SUBST(GS_VERSION)
-
-AC_DEFINE_UNQUOTED(GS_VERSION_MAJOR, $GS_MAJOR, major version number)
-AC_DEFINE_UNQUOTED(GS_VERSION_MINOR, $GS_MINOR, minor version number)
-AC_DEFINE_UNQUOTED(GS_VERSION_SUB, $GS_SUB, sub version number)
-
-AC_CONFIG_HEADER(gs-config.h)
-AC_CONFIG_AUX_DIR(maint/config)
-
-AC_PROG_INSTALL
-AC_PROG_CC
-AC_PROG_CPP
-
-AC_C_BIGENDIAN
-
-AC_CHECK_SIZEOF([long int])
-AC_CHECK_SIZEOF(void *)
-
-AC_MSG_CHECKING([for required gcc])
-if test "x$GCC" = "x"; then
- AC_MSG_ERROR(no)
-fi
-AC_MSG_RESULT(yes)
-
-dnl
-dnl make sure that required db development package is installed
-dnl and valid; path can be specified at configure time
-dnl
-AC_ARG_WITH(db,
- [ --with-db=<dir> Location of installed DB package
-(default=/usr)],
- [AX_BERKELEY_DB(${withval})],
- [AX_BERKELEY_DB("")])
-
-AC_ARG_WITH(mpi,
-[ --with-mpi=<dir> Location of the MPI installation],
- if test x$withval = xyes; then
- AC_MSG_ERROR(--with-mpi must be given a pathname)
- else
- MPICC="${withval}/bin/mpicc"
- MPICFLAGS="-I${withval}/include"
- MPILDFLAGS="-L${withval}/lib"
- MPILIBS="-lmpich"
- BUILD_MPI="1"
- fi
-)
-AC_SUBST(MPICC)
-AC_SUBST(MPICFLAGS)
-AC_SUBST(MPILDFLAGS)
-AC_SUBST(MPILIBS)
-AC_SUBST(BUILD_MPI)
-
-BUILD_ABSOLUTE_TOP=${PWD}
-SRC_RELATIVE_TOP=$srcdir
-SRC_ABSOLUTE_TOP=`cd $srcdir; pwd`
-
-AC_SUBST(BUILD_ABSOLUTE_TOP)
-AC_SUBST(SRC_RELATIVE_TOP)
-AC_SUBST(SRC_ABSOLUTE_TOP)
-
-AC_SUBST(CFLAGS)
-AC_SUBST(LDFLAGS)
-AC_SUBST(LIBS)
-AC_SUBST(CPPFLAGS)
-
-AC_ARG_ENABLE(verbose,
-[ --enable-verbose Enables verbose output during build process],
-QUIET_COMPILE=0,
-QUIET_COMPILE=1)
-AC_SUBST(QUIET_COMPILE)
-
-STRICT_CFLAGS=
-AC_ARG_ENABLE(strict,
-[ --enable-strict Turn on strict compiler warnings],
- STRICT_CFLAGS=1)
-AC_SUBST(STRICT_CFLAGS)
-
-GSL_DEBUG=
-AC_ARG_ENABLE(gsl-debug,
-[ --enable-gsl-debug Turn on debugging of the gs-parser],
- GSL_DEBUG=1)
-AC_SUBST(GSL_DEBUG)
-
-AC_ARG_ENABLE(coverage,
-[ --enable-coverage Enable coverage analysis (disables optimizations)],
-[ CFLAGS="$CFLAGS -g -pg -ftest-coverage -O0"
- ENABLE_COVERAGE=1],
-)
-AC_SUBST(ENABLE_COVERAGE)
-
-GS_LIB_SQLITE(3.0.0)
-
-AC_OUTPUT(Makefile
-common/module.mk
-resources/storage/module.mk
-resources/cosd-prototype/module.mk
-resources/cosd-prototype/test/module.mk
-resources/storage/osd-target/module.mk
-resources/storage/test/module.mk
-resources/mpi/module.mk
-resources/mpi/test/module.mk
-resources/timer/module.mk
-resources/timer/test/module.mk
-tests/correctness/module.mk
-parser/module.mk
-resources/scheduling/module.mk
-resources/scheduling/test/module.mk
-examples/module.mk)
-
diff --git a/oldcode/src/gsl/examples/TODO b/oldcode/src/gsl/examples/TODO
deleted file mode 100644
index 440a78b..0000000
--- a/oldcode/src/gsl/examples/TODO
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-timeout/retry
-flow pipelining
-invoking blocking functions based on runtime state (server handling unexpected requests)
-
-
diff --git a/oldcode/src/gsl/examples/module.mk.in b/oldcode/src/gsl/examples/module.mk.in
deleted file mode 100644
index 9d92c05..0000000
--- a/oldcode/src/gsl/examples/module.mk.in
+++ /dev/null
@@ -1,5 +0,0 @@
-DIR := examples
-
-GSTESTSRC += $(DIR)/rpc-invoke.gs
-
-MODLIBS_$(DIR) = -lpthread
diff --git a/oldcode/src/gsl/examples/rpc-invoke.gs b/oldcode/src/gsl/examples/rpc-invoke.gs
deleted file mode 100644
index 81f23e3..0000000
--- a/oldcode/src/gsl/examples/rpc-invoke.gs
+++ /dev/null
@@ -1,133 +0,0 @@
-
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-#include "resources/timer/gs-timer.gsh"
-
-__blocking static int rpc_invoke()
-{
- int a = 0;
- int randval, val, ret;
-
- randval = btest_random();
- val = randval % 3;
- printf("RANDOM VALUE: %d\n", val);
- if(0 == val)
- {
- ret = btest1(&a);
- }
- else if(1 == val)
- {
- ret = btest2(&a);
- }
- else if(2 == val)
- {
- ret = btest3(&a);
- }
-
- assert(ret == 0);
- assert((a-1) == val);
- return randval;
-}
-
-__blocking static void invoke_many(int count)
-{
- pwait
- {
- int i;
- for(i = 0; i < count; ++i)
- {
- pbranch { rpc_invoke(); }
- }
- }
-}
-
-static int running = 1;
-
-__blocking static void many_looping()
-{
- pwait
- {
- int i;
-
- /* startup 100 looping invocations */
- i = 0;
- while(i < 100)
- {
- pbranch
- {
- int j = 0;
-
- while(running)
- {
- rpc_invoke();
- printf("invoke: %d, %d\n", i, j++);
- }
- }
- ++i;
- }
-
- /* let those loop for a bit */
- pbranch
- {
- gs_timer(10000);
- running = 0;
- }
- }
-}
-
-static int many_looping_done = 0;
-static void many_looping_cb(void *up)
-{
- many_looping_done = 1;
-}
-
-static int done = 0;
-static int manydone = 0;
-
-static void cb(void *up, int ret)
-{
- done++;
-}
-
-static void many_cb(void *up)
-{
- manydone=1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_context_t ctx;
- int i;
-
- gs_timer_init();
- btest_init();
-
- gs_context_create(&ctx, 2, "btest", "timer");
-
- for(i = 0; i < 100; ++i)
- {
- rpc_invoke_post(cb, NULL, NULL, NULL, NULL);
- }
-
- while(done < 100)
- {
- gs_poll(ctx, 100);
- }
-
- invoke_many_post(200, many_cb, NULL, NULL, NULL, NULL);
- while(manydone == 0)
- {
- gs_poll(ctx, 100);
- }
-
- many_looping_post(many_looping_cb, NULL, NULL, NULL, NULL);
- while(many_looping_done == 0)
- {
- gs_poll(ctx, 100);
- }
-
- gs_context_destroy(ctx);
- btest_finalize();
- gs_timer_finalize();
- return 0;
-}
diff --git a/oldcode/src/gsl/include/gs-hash.h b/oldcode/src/gsl/include/gs-hash.h
deleted file mode 100644
index 2621101..0000000
--- a/oldcode/src/gsl/include/gs-hash.h
+++ /dev/null
@@ -1,326 +0,0 @@
-/* 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-#ifndef GS_HASH_H
-#define GS_HASH_H
-
-#include <stdlib.h>
-#include <stdint.h>
-#include "gs-list.h"
-#include "gs.h"
-
-#define gs_hash_link gs_list_link
-#define gs_hash_get_entry gs_list_get_entry
-
-struct gs_hash_table
-{
- struct gs_hash_link *array;
- int table_size;
- int (*compare) (void *key, struct gs_hash_link * link);
- int (*hash) (void *key, int table_size);
- gs_mutex_t lock;
-
-#ifdef __KERNEL__
- spinlock_t lock;
-#endif
-};
-
-/* gs_hash_init()
- *
- * creates a new hash table with the specified table size. The
- * hash function and compare function must be provided.
- * table_size should be a good prime number.
- *
- * returns pointer to table on success, NULL on failure
- */
-static inline struct gs_hash_table *gs_hash_init(
- int (*compare) (void *key,
- struct gs_hash_link * link),
- int (*hash) (void *key,
- int table_size),
- int table_size)
-{
- int i = 0;
- struct gs_hash_table *new_table = NULL;
-
- /* create struct to contain table information */
- new_table = (struct gs_hash_table *)malloc(sizeof(struct gs_hash_table));
- if (!new_table)
- {
- return (NULL);
- }
-
- /* fill in info */
- new_table->compare = compare;
- new_table->hash = hash;
- new_table->table_size = table_size;
-
- /* create array for actual table */
- new_table->array = (struct gs_hash_link *)
- malloc(sizeof(struct gs_hash_link) * table_size);
- if (!new_table->array)
- {
- free(new_table);
- return (NULL);
- }
-
- /* initialize a doubly linked at each hash table index */
- for (i = 0; i < table_size; i++)
- {
- INIT_GS_LIST_HEAD(&new_table->array[i]);
- }
-
- /* initialize mutex lock */
- gs_mutex_init(&new_table->lock, NULL);
-
- return (new_table);
-}
-
-
-/* gs_hash_finalize()
- *
- * frees any resources created by the hash table
- *
- * no return value
- */
-static inline void gs_hash_finalize(
- struct gs_hash_table *old_table)
-{
- free(old_table->array);
- free(old_table);
- return;
-}
-
-/* gs_hash_add()
- *
- * adds a new link onto the hash table, hashes based on given key
- *
- * no return value
- */
-static inline void gs_hash_add(
- struct gs_hash_table *table,
- void *key,
- struct gs_hash_link *llink)
-{
- int hindex = 0;
-
- /* hash on the key */
- hindex = table->hash(key, table->table_size);
-
- /* add to the tail of the linked list at that offset */
- gs_mutex_lock(&table->lock);
- gs_list_add_tail(llink, &(table->array[hindex]));
- gs_mutex_unlock(&table->lock);
-
- return;
-}
-
-/* gs_hash_search()
- *
- * searches for a link in the hash table
- * that matches the given key
- *
- * returns pointer to link on success, NULL on failure (or item
- * not found)
- */
-static inline struct gs_hash_link *gs_hash_search(
- struct gs_hash_table *table,
- void *key)
-{
- int hindex = 0;
- struct gs_hash_link *tmp_link = NULL;
-
- /* find the hash value */
- hindex = table->hash(key, table->table_size);
-
- /* linear search at hindex to find match */
- gs_mutex_lock(&table->lock);
- gs_list_for_each(tmp_link, &(table->array[hindex]))
- {
- if (table->compare(key, tmp_link))
- {
- gs_mutex_unlock(&table->lock);
- return (tmp_link);
- }
- }
- gs_mutex_unlock(&table->lock);
- return (NULL);
-}
-
-/* gs_hash_search_at_index()
- *
- * searches for a link in the list matching
- * the specified index
- *
- * returns pointer to link on success, NULL on failure (or item
- * not found)
- */
-static inline struct gs_hash_link *gs_hash_search_at_index(
- struct gs_hash_table *table,
- int hindex)
-{
- struct gs_hash_link *tmp_link = NULL;
-
- if(hindex >= table->table_size)
- {
- return NULL;
- }
-
- gs_mutex_lock(&table->lock);
- gs_list_for_each(tmp_link, &(table->array[hindex]))
- {
- gs_mutex_unlock(&table->lock);
- return (tmp_link);
- }
- gs_mutex_unlock(&table->lock);
- return (NULL);
-}
-
-/* gs_hash_search_and_remove()
- *
- * searches for and removes a link in the hash table
- * that matches the given key
- *
- * returns pointer to link on success, NULL on failure (or item
- * not found). On success, link is removed from hashtable.
- */
-static inline struct gs_hash_link *gs_hash_search_and_remove(
- struct gs_hash_table *table,
- void *key)
-{
- int hindex = 0;
- struct gs_hash_link *tmp_link = NULL;
-
- /* find the hash value */
- hindex = table->hash(key, table->table_size);
-
- /* linear search at hindex to find match */
- gs_mutex_lock(&table->lock);
- gs_list_for_each(tmp_link, &(table->array[hindex]))
- {
- if (table->compare(key, tmp_link))
- {
- gs_list_del(tmp_link);
- gs_mutex_unlock(&table->lock);
- return (tmp_link);
- }
- }
- gs_mutex_unlock(&table->lock);
- return (NULL);
-}
-
-/* gs_hash_search_and_remove_at_index()
- *
- * searches for and removes the first link in the list
- * matching the specified index
- *
- * returns pointer to link on success, NULL on failure (or item
- * not found). On success, link is removed from hashtable.
- */
-static inline struct gs_hash_link *gs_hash_search_and_remove_at_index(
- struct gs_hash_table *table,
- int hindex)
-{
- struct gs_hash_link *tmp_link = NULL;
-
- if(hindex >= table->table_size)
- {
- return NULL;
- }
-
- gs_mutex_lock(&table->lock);
- gs_list_for_each(tmp_link, &(table->array[hindex]))
- {
- gs_list_del(tmp_link);
- gs_mutex_unlock(&table->lock);
- return (tmp_link);
- }
- gs_mutex_unlock(&table->lock);
- return (NULL);
-}
-
-#define gs_hash_destroy_and_finalize( \
- _oldtable, _entry_type, _link, _destructor) \
- do \
- { \
- int i = 0; \
- struct gs_list_link *entry; \
- struct gs_list_link *tmpe; \
- gs_mutex_lock(&_oldtable->lock); \
- for(i = 0; i < _oldtable->table_size; ++i) \
- { \
- gs_list_for_each_safe(entry, tmpe, &(_oldtable->array[i])) \
- { \
- gs_list_del(entry); \
- _destructor(gs_hash_get_entry(entry, _entry_type, _link)); \
- } \
- } \
- gs_mutex_unlock(&_oldtable->lock); \
- \
- gs_hash_finalize(_oldtable); \
- \
- } while(0)
-
-/* http://www.cris.com/~Ttwang/tech/inthash.htm */
-static inline int gs_hash_32bit_hash(void *k, int table_size)
-{
- int32_t key = *(int32_t *)k;
- key = ~key + (key << 15); /* key = (key << 15) - key - 1; */
- key = key ^ (key >> 12);
- key = key + (key << 2);
- key = key ^ (key >> 4);
- key = key * 2057; /* key = (key + (key << 3)) + (key << 11); */
- key = key ^ (key >> 16);
-
- return (int) (key & (table_size - 1));
-}
-
-static inline int gs_hash_64bit_hash(void *k, int table_size)
-{
- uint64_t key = *(uint64_t *)k;
-
- key = (~key) + (key << 18); /* key = (key << 18) - key - 1; */
- key = key ^ (key >> 31);
- key = key * 21; /* key = (key + (key << 2)) + (key << 4); */
- key = key ^ (key >> 11);
- key = key + (key << 6);
- key = key ^ (key >> 22);
-
- return (int) (key & ((uint64_t)(table_size - 1)));
-}
-
-/**
- * derived from an algorithm found in Aho, Sethi and Ullman's
- * {Compilers: Principles, Techniques and Tools}, published by Addison-Wesley.
- * This algorithm comes from P.J. Weinberger's C compiler.
- */
-static inline int gs_hash_string_hash(void *k, int table_size)
-{
- const char *str = (char *)k;
- uint32_t g, h = 0;
-
- while(*str)
- {
- h = (h << 4) + *str++;
- if((g = (h & 0xF0UL)))
- {
- h ^= g >> 24;
- h ^= g;
- }
- }
-
- return (int)(h & ((uint64_t)(table_size - 1)));
-}
-
-#endif /* GS_HASH_H */
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/include/gs-internal.h b/oldcode/src/gsl/include/gs-internal.h
deleted file mode 100644
index 36a3319..0000000
--- a/oldcode/src/gsl/include/gs-internal.h
+++ /dev/null
@@ -1,40 +0,0 @@
-#ifndef __GS_INTERNAL_H__
-#define __GS_INTERNAL_H__
-
-#ifdef __STRICT_ANSI__
-/* strict ANSI C doesn't have 'inline' functions, so we use __inline__ instead */
-#define inline __inline__ __attribute__((flatten))
-#endif
-
-#ifndef __unused
-#define __unused __attribute__((unused))
-#endif
-
-/* The gs_ctl structure is used by the gsl generated code to manage parallel and
- * nested operations. This structure is not needed by resource writers or gsl
- * code.
- * TODO: move these to a separate header
- */
-struct gs_ctl
-{
- gs_op_id_t current_op_id;
- int cancelled;
- gs_mutex_t mutex;
- gs_list_t children;
- struct gs_list_link link;
- int posted;
- int completed;
- int allposted;
- int hit_pbreak;
- int in_pwait;
-};
-
-/* internal function -- used by generated code */
-int gs_cancel_children(gs_context_t ctx, void *ptr);
-
-/* internal function -- used by generated code */
-void gs_assert(const char *str, int expr);
-
-void gs_backtrace(void);
-
-#endif
diff --git a/oldcode/src/gsl/include/gs-list.h b/oldcode/src/gsl/include/gs-list.h
deleted file mode 100644
index 5897854..0000000
--- a/oldcode/src/gsl/include/gs-list.h
+++ /dev/null
@@ -1,257 +0,0 @@
-#ifndef __GS_LIST_H__
-#define __GS_LIST_H__
-
-#include <stdlib.h>
-#include <assert.h>
-
-typedef struct gs_list_link gs_list_link_t;
-struct gs_list_link {
- struct gs_list_link *next, *prev;
-};
-
-typedef gs_list_link_t gs_list_t;
-
-#define GS_LIST_HEAD_INIT(name) { &(name), &(name) }
-
-#define GS_LIST_HEAD(name) \
- gs_list_t name = GS_LIST_HEAD_INIT(name)
-
-#define INIT_GS_LIST_HEAD(ptr) do { \
- (ptr)->next = (ptr); (ptr)->prev = (ptr); \
-} while (0)
-
-#define CLEAR_GS_LIST_LINK(ptr) do { \
- (ptr)->next = NULL; (ptr)->prev = NULL; \
-} while (0)
-
-/*
- * Insert a new entry between two known consecutive entries.
- *
- * This is only for internal gs_list manipulation where we know
- * the prev/next entries already!
- */
-static __inline__ void __gs_list_add(struct gs_list_link * new,
- struct gs_list_link * prev,
- struct gs_list_link * next)
-{
- next->prev = new;
- new->next = next;
- new->prev = prev;
- prev->next = new;
-}
-
-/**
- * gs_list_add - add a new entry
- * @new: new entry to be added
- * @head: gs_list head to add it after
- *
- * Insert a new entry after the specified head.
- * This is good for implementing stacks.
- */
-static __inline__ void gs_list_add(struct gs_list_link *new, gs_list_t *head)
-{
- __gs_list_add(new, head, head->next);
-}
-
-/**
- * gs_list_add_tail - add a new entry
- * @new: new entry to be added
- * @head: gs_list head to add it before
- *
- * Insert a new entry before the specified head.
- * This is useful for implementing queues.
- */
-static __inline__ void gs_list_add_tail(struct gs_list_link *new, gs_list_t *head)
-{
- __gs_list_add(new, head->prev, head);
-}
-
-/*
- * Delete a gs_list entry by making the prev/next entries
- * point to each other.
- *
- * This is only for internal gs_list manipulation where we know
- * the prev/next entries already!
- */
-static __inline__ void __gs_list_del(struct gs_list_link * prev,
- struct gs_list_link * next)
-{
- next->prev = prev;
- prev->next = next;
-}
-
-/**
- * gs_list_del - deletes entry from gs_list.
- * @entry: the element to delete from the gs_list.
- * Note: gs_list_empty on entry does not return true after this, the entry is in an undefined state.
- */
-static __inline__ void gs_list_del(struct gs_list_link *entry)
-{
- assert(entry->prev != NULL && entry->next != NULL);
- __gs_list_del(entry->prev, entry->next);
- entry->prev = NULL; entry->next = NULL;
-}
-
-/**
- * gs_list_del_clear - deletes entry from gs_list and reinitialize it.
- * @entry: the element to delete from the gs_list.
- */
-static __inline__ void gs_list_del_clear(struct gs_list_link *entry)
-{
- __gs_list_del(entry->prev, entry->next);
- CLEAR_GS_LIST_LINK(entry);
-}
-
-/**
- * gs_list_empty - tests whether a gs_list is empty
- * @head: the gs_list to test.
- */
-static __inline__ int gs_list_empty(gs_list_t *head)
-{
- return head->next == head;
-}
-
-/**
- * gs_list_splice - join two gs_lists
- * @gs_list: the new gs_list to add.
- * @head: the place to add it in the first gs_list.
- */
-static __inline__ void gs_list_splice(gs_list_t *gs_list, struct gs_list_link *llink)
-{
- struct gs_list_link *first = gs_list->next;
-
- if (first != gs_list) {
- struct gs_list_link *last = gs_list->prev;
- struct gs_list_link *at = llink->next;
-
- first->prev = llink;
- llink->next = first;
-
- last->next = at;
- at->prev = last;
- }
-}
-
-/**
- * gs_list_get_entry - get the struct for this entry
- * @ptr: the &struct gs_list_link pointer.
- * @type: the type of the struct this is embedded in.
- * @member: the name of the gs_list_struct within the struct.
- */
-#define gs_list_get_entry(ptr, type, member) \
- ((ptr != NULL) ? ((type *)((char *)(ptr)-(unsigned long)((&((type *)0)->member)))) : NULL)
-
-/**
- * gs_list_for_each - iterate over a gs_list
- * @pos: the &struct gs_list_link to use as a loop counter.
- * @link: the link for your gs_list.
- */
-#define gs_list_for_each(pos, head) \
- for (pos = (head)->next; pos != (head); pos = pos->next)
-
-/**
- * list_for_each_safe - iterate over a list safe against
- * removal of list entry
- * @pos: the &struct list_link to use as a loop counter.
- * @n: another &struct list_link to use as temporary storage
- * @link: the link for your list.
- */
-#define gs_list_for_each_safe(pos, scratch, head) \
- for (pos = (head)->next, scratch = pos->next; pos != (head);\
- pos = scratch, scratch = pos->next)
-
-/**
- * gs_list_for_each_entry - iterate over list of given type
- * @pos: the type * to use as a loop counter.
- * @head: the head for your list.
- * @member: the name of the list_struct within the struct.
- */
-#define gs_list_for_each_entry(pos, head, member) \
- for (pos = gs_list_get_entry((head)->next, typeof(*pos), member); \
- pos && (&pos->member != (head)); \
- pos = gs_list_get_entry(pos->member.next, typeof(*pos), member))
-
-/**
- * gs_list_for_each_entry_safe - iterate over list of given type safe against removal of list entry
- * @pos: the type * to use as a loop counter.
- * @n: another type * to use as temporary storage
- * @head: the head for your list.
- * @member: the name of the list_struct within the struct.
- */
-#define gs_list_for_each_entry_safe(pos, n, head, member) \
- for (pos = gs_list_get_entry((head)->next, typeof(*pos), member), \
- n = gs_list_get_entry(pos->member.next, typeof(*pos), member); \
- pos && (&pos->member != (head)); \
- pos = n, n = gs_list_get_entry(n->member.next, typeof(*n), member))
-
-static inline int gs_list_exists(gs_list_t *list, struct gs_list_link *llink)
-{
- struct gs_list_link *pos;
- gs_list_for_each(pos, list)
- {
- if(pos == llink)
- {
- return 1;
- }
- }
- return 0;
-}
-
-static inline int gs_list_count(gs_list_t *list)
-{
- struct gs_list_link *pos;
- int count = 0;
-
- pos = list->next;
-
- while(pos != list)
- {
- ++count;
- pos = pos->next;
- }
-
- return count;
-}
-
-static inline struct gs_list_link * gs_list_find(
- gs_list_t *list,
- int (*compare)(struct gs_list_link *, void *),
- void *ptr)
-{
- struct gs_list_link *pos;
- gs_list_for_each(pos, list)
- {
- if(compare(pos, ptr))
- {
- return pos;
- }
- }
- return NULL;
-}
-
-#define gs_list_push(__list, __entry) gs_list_add_tail((__entry), (__list))
-
-static inline struct gs_list_link * gs_list_pop(gs_list_t *list)
-{
- struct gs_list_link *entry = list->next;
- if(gs_list_empty(list)) return NULL;
- gs_list_del(list->next);
- return entry;
-}
-
-static inline struct gs_list_link *gs_list_peek(gs_list_t *list)
-{
- if(list->next == list) return NULL;
- return list->next;
-}
-
-#endif
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/include/gs-op.h b/oldcode/src/gsl/include/gs-op.h
deleted file mode 100644
index a4debd7..0000000
--- a/oldcode/src/gsl/include/gs-op.h
+++ /dev/null
@@ -1,54 +0,0 @@
-
-#ifndef __GS_OP_H__
-#define __GS_OP_H__
-
-#include "include/gs.h"
-
-struct gs_op
-{
- void (*callback)(void *ptr, int ret);
- void *user_ptr;
- gs_hints_t hints;
- gs_context_t ctx;
- int cache_id;
- struct gs_oplist *inlist;
- struct gs_list_link link;
-};
-
-#define gs_op_from_link(_link) gs_list_get_entry((_link), struct gs_op, link)
-
-#define gs_op_entry(_op, _type, _member) \
- ((_op != NULL) ? \
- ((_type *)((char *)(_op) - (unsigned long)((&((_type *)0)->_member)))) : NULL)
-
-#define gs_invoke_callback(_op, _result) (_op)->callback((_op)->user_ptr, _result)
-
-#define gs_op_fill(_op, _cb, _up, _hints, _ctx) \
- do { \
- (_op)->callback = (_cb); \
- (_op)->user_ptr = (_up); \
- (_op)->hints = (_hints); \
- (_op)->ctx = (_ctx); \
- } while(0)
-
-#define gs_op_clear(_op) \
- do { \
- (_op)->callback = NULL; \
- (_op)->user_ptr = NULL; \
- (_op)->hints = NULL; \
- (_op)->ctx = NULL; \
- (_op)->inlist = NULL; \
- CLEAR_GS_LIST_LINK(&(_op)->link); \
- } while(0)
-
-#endif
-
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/include/gs-opcache.h b/oldcode/src/gsl/include/gs-opcache.h
deleted file mode 100644
index f5b2ce5..0000000
--- a/oldcode/src/gsl/include/gs-opcache.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-#ifndef __GS_OPCACHE_H__
-#define __GS_OPCACHE_H__
-
-#include "gs.h"
-#include "gs-op.h"
-
-typedef struct gs_opcache *gs_opcache_t;
-
-#define GS_OPCACHE_INIT(_optype, _member, _size, _name) \
- gs_opcache_init(sizeof(_optype), (unsigned long)(&((_optype *)0)->_member), _size, (_name))
-
-/* complete an operation by returning it to opcache and invoking callback */
-/* note that __error_code is copied on purpose for safety in case it is a
- * member of the __op structure.
- */
-#define gs_opcache_complete_op(__opcache, __op, __error_code) do { \
- void (*__callback)(void *, int) = (__op)->callback; \
- void* __user_ptr = (__op)->user_ptr; \
- int __saved_error_code = __error_code; \
- gs_opcache_put(__opcache, __op); \
- __callback(__user_ptr, __saved_error_code); \
- } while(0)
-
-int gs_opcache_init(int typesize, int member_offset, int init_size, gs_opcache_t *cache);
-
-int gs_opcache_double_size(gs_opcache_t cache);
-
-int gs_opcache_destroy(gs_opcache_t cache);
-
-struct gs_op *gs_opcache_get(gs_opcache_t cache);
-
-int gs_opcache_put(gs_opcache_t cache, struct gs_op *op);
-
-inline int gs_opcache_size(gs_opcache_t cache);
-
-inline int gs_opcache_count(gs_opcache_t cache);
-
-struct gs_op *gs_opcache_lookup(gs_opcache_t cache, int id);
-
-#endif
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/include/gs-oplist.h b/oldcode/src/gsl/include/gs-oplist.h
deleted file mode 100644
index 8ea57f9..0000000
--- a/oldcode/src/gsl/include/gs-oplist.h
+++ /dev/null
@@ -1,139 +0,0 @@
-#ifndef __GS_OPLIST_H__
-#define __GS_OPLIST_H__
-
-#include "include/gs.h"
-#include "include/gs-op.h"
-#include "include/gs-list.h"
-
-#define GS_OPLIST_INIT(ptr) \
- do \
- { \
- INIT_GS_LIST_HEAD(&((ptr)->list)); \
- (ptr)->count = 0; \
- } while(0)
-
-typedef struct gs_oplist
-{
- gs_list_t list;
- int count;
-} gs_oplist_t;
-
-#define gs_oplist_add(_op, _oplist) \
- do { \
- assert((_op)->inlist == NULL); \
- assert((_op)->link.next == NULL && (_op)->link.prev == NULL); \
- gs_list_add(&(_op)->link, &(_oplist)->list); \
- (_oplist)->count++; \
- (_op)->inlist = _oplist; \
- } while(0)
-
-#define gs_oplist_add_tail(_op, _oplist) \
- do { \
- assert((_op)->inlist == NULL); \
- assert((_op)->link.next == NULL && (_op)->link.prev == NULL); \
- gs_list_add_tail(&(_op)->link, &(_oplist)->list); \
- (_oplist)->count++; \
- (_op)->inlist = _oplist; \
- } while(0)
-
-#define gs_oplist_insert_after(_op, _after, _oplist) \
- do { \
- assert((_op)->inlist == NULL); \
- assert((_op)->link.next == NULL && (_op)->link.prev == NULL); \
- assert((_after)->inlist == _oplist); \
- gs_list_add(&((_op)->link), (gs_list_t *)(&(_after)->link)); \
- (_oplist)->count++; \
- (_op)->inlist = _oplist; \
- } while(0)
-
-#define gs_oplist_insert_before(_op, _before, _oplist) \
- do { \
- assert((_op)->inlist == NULL); \
- assert((_op)->link.next == NULL && (_op)->link.prev == NULL); \
- assert((_before)->inlist == _oplist); \
- gs_list_add_tail(&((_op)->link), (gs_list_t *)(&(_before)->link)); \
- (_oplist)->count++; \
- (_op)->inlist = _oplist; \
- } while(0)
-
-#define gs_oplist_del(_op, _oplist) \
- do { \
- assert((_op)->link.next != NULL && (_op)->link.prev != NULL); \
- assert((_op)->inlist == _oplist); \
- gs_list_del(&(_op)->link); \
- (_oplist)->count--; \
- CLEAR_GS_LIST_LINK(&(_op)->link); \
- (_op)->inlist = NULL; \
- } while(0)
-
-#define gs_oplist_empty(_oplist) gs_list_empty(&(_oplist)->list)
-
-#define gs_oplist_push(_op, _list) gs_oplist_add_tail(_op, _list)
-
-static inline struct gs_op * gs_oplist_pop(gs_oplist_t *oplist)
-{
- struct gs_list_link *entry;
- struct gs_op *op;
- if(gs_oplist_empty(oplist)) return NULL;
- entry = gs_list_pop(&oplist->list);
- oplist->count--;
- CLEAR_GS_LIST_LINK(entry);
- op = gs_op_from_link(entry);
- assert(((gs_oplist_t *)op->inlist) == oplist);
- op->inlist = NULL;
- return op;
-}
-
-#define gs_oplist_peek(_oplist) gs_op_from_link(gs_list_peek(&(_oplist)->list))
-
-#define gs_oplist_for_each(_pos, _oplist) \
- gs_list_for_each_entry(_pos, &(_oplist)->list, link)
-
-#define gs_oplist_for_each_safe(_pos, _scratch, _oplist) \
- gs_list_for_each_entry_safe(_pos, _scratch, &(_oplist)->list, link)
-
-#define gs_oplist_for_each_entry(_pos, _oplist, _member) \
- for(_pos = gs_op_entry(gs_op_from_link((_oplist)->list.next)); \
- _pos && (&((_pos)->_member).link != (_oplist)->list); \
- _pos = gs_op_entry(((_pos)->_member).link.next, typeof(*_pos), _member))
-
-#define gs_oplist_for_each_entry_safe(_pos, _scratch, _oplist, _member) \
- for(_pos = gs_op_entry(gs_op_from_link((_oplist)->list.next), typeof(*_scratch), _member), \
- _scratch = gs_op_entry(gs_op_from_link(((_pos)->_member).link.next), \
- typeof(*_scratch), \
- _member); \
- _pos && (&((_pos)->_member).link != &(_oplist)->list); \
- _pos = _scratch, _scratch = gs_op_entry(((_pos)->_member).link.next, typeof(*_pos), _member))
-
-#define gs_oplist_exists(_oplist, _op) \
- gs_list_exists(&(_oplist)->list, (_op)->link)
-
-#define gs_oplist_count(_oplist) (_oplist)->count
-
-static inline struct gs_op * gs_oplist_find(
- gs_oplist_t *list,
- int (*compare)(struct gs_op *, void *),
- void *ptr)
-{
- struct gs_op *pos;
- gs_oplist_for_each(pos, list)
- {
- if(compare(pos, ptr))
- {
- return pos;
- }
- }
- return NULL;
-}
-
-#endif
-
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/include/gs.h b/oldcode/src/gsl/include/gs.h
deleted file mode 100644
index 1a144c9..0000000
--- a/oldcode/src/gsl/include/gs.h
+++ /dev/null
@@ -1,141 +0,0 @@
-#ifndef __GS_H__
-#define __GS_H__
-
-#include <string.h>
-#include <stdint.h>
-#include <assert.h>
-
-#include "include/gs-list.h"
-
-#define GS_ERR_MASK (1 << 7)
-#define GS_ECANCELLED (GS_ERR_MASK | 1)
-
-#define GS_MAX_RESOURCES 255
-#define GS_MAX_CONTEXTS 1024
-
-#define GS_RESOURCE_MASK (((uint64_t)0xFF)<<56)
-#define GS_GET_RESOURCE_MASK(resource_id) (GS_RESOURCE_MASK&(((uint64_t)resource_id)<<56))
-#define GS_GET_RESOURCE_ID(op_id) (((op_id&GS_RESOURCE_MASK)>>56)&0xFF)
-
-#ifdef __GS_POSIX_LOCKING__
-#include <pthread.h>
-#endif
-
-typedef enum
-{
- GS_POSTED = 0,
- GS_COMPLETE = 1
-} gs_ret_t;
-
-typedef struct gs_hints *gs_hints_t;
-typedef struct gs_context *gs_context_t;
-
-typedef uint64_t gs_op_id_t;
-
-gs_op_id_t gs_id_gen(int resource_id, uint64_t ptr);
-uint64_t gs_id_lookup(gs_op_id_t id, int *resource_id);
-
-#ifdef __GS_POSIX_LOCKING__
-
-typedef pthread_mutex_t gs_mutex_t;
-typedef pthread_mutexattr_t gs_mutexattr_t;
-/* NOTE: using function calls rather than #defines here to allow this
- * function to be called within code generated by the gs-parser -PHC
- */
-static inline int gs_mutex_lock(gs_mutex_t *__mut)
- {return pthread_mutex_lock(__mut);}
-static inline int gs_mutex_unlock(gs_mutex_t *__mut)
- {return pthread_mutex_unlock(__mut);}
-static inline int gs_mutex_init(gs_mutex_t *__mut, gs_mutexattr_t *__attr)
- {return pthread_mutex_init(__mut, __attr); }
-static inline int gs_mutex_destroy(gs_mutex_t *__mut)
- {return pthread_mutex_destroy(__mut); }
-
-#define GS_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
-#define GS_COND_INITIALIZER PTHREAD_COND_INITIALIZER
-
-typedef pthread_cond_t gs_cond_t;
-typedef pthread_condattr_t gs_condattr_t;
-#define gs_cond_init(__cond, __condattr) pthread_cond_init(__cond, __condattr)
-#define gs_cond_signal(__cond) pthread_cond_signal(__cond)
-#define gs_cond_broadcast(__cond) pthread_cond_broadcast(__cond)
-#define gs_cond_wait(__cond, __mutex) pthread_cond_wait(__cond, __mutex)
-#define gs_cond_timedwait(__cond, __mutex, __time) pthread_cond_timedwait(__cond, __mutex, __time)
-#define gs_cond_destroy(__cond) pthread_cond_destroy(__cond)
-
-#else
-
-typedef int gs_mutex_t;
-typedef int gs_mutexattr_t;
-static inline int gs_mutex_lock(gs_mutex_t *__mut) { return 0; }
-static inline int gs_mutex_unlock(gs_mutex_t *__mut) { return 0; }
-static inline int gs_mutex_init(gs_mutex_t *__mut, gs_mutexattr_t *__attr) {return 0; }
-static inline int gs_mutex_destroy(gs_mutex_t *__mut) {return 0; }
-#define GS_MUTEX_INITIALIZER 0
-
-typedef int gs_cond_t;
-typedef int gs_condattr_t;
-#define GS_COND_INITIALIZER 0
-
-static inline int gs_cond_init(gs_cond_t *__cond, gs_condattr_t *__condattr) { return 0; }
-static inline int gs_cond_signal(gs_cond_t *__cond) { return 0; }
-static inline int gs_cond_broadcast(gs_cond_t *__cond) { return 0; }
-static inline int gs_cond_wait(gs_cond_t *__cond, gs_mutex_t *__mutex) { return 0; }
-static inline int gs_cond_timedwait(
- gs_cond_t *__cond, gs_mutex_t *__mutex, struct timespec *abstime) { return 0; }
-static inline int gs_cond_destroy(gs_cond_t *__cond) { return 0; }
-
-#endif
-
-/* The resource structure is defined by a given resource, and registered
- * to the gs management code during resource initialization.
- */
-struct gs_resource
-{
- const char *resource_name;
- int (*test)(gs_op_id_t id, int ms_timeout);
- int (*poll_context)(gs_context_t context, int ms_timeout);
- int (*cancel)(gs_context_t ctx, gs_op_id_t id);
- int (*register_context)(gs_context_t context);
- int (*unregister_context)(gs_context_t context);
-};
-
-/* Called by resources to register themselves to the resource framework */
-int gs_resource_register(struct gs_resource *resource);
-int gs_resource_unregister(int resource_id);
-
-/* Contexts are created to allow separation of polling for different logical
- * groups of operations.
- */
-int gs_context_create(gs_context_t *context, int resource_count, ...);
-
-/* Context destruction. Called to cleanup state allocated in gs_context_create.
- */
-int gs_context_destroy(gs_context_t context);
-
-/* Poll for completion of the operations within the given context up to a
- * timeout value.
- */
-int gs_poll(gs_context_t context, int ms);
-
-/* Cancel an operation */
-int gs_cancel_op(gs_context_t context, gs_op_id_t op_id);
-
-#include <sys/time.h>
-
-#define GS_REL_MSECS_TO_ABS_TIMESPEC(__msecs, __abs) \
- do { \
- struct timeval __now; \
- gettimeofday(&__now, NULL); \
- __abs.tv_sec = __now.tv_sec + (int)(__msecs / 1e3); \
- __abs.tv_nsec = (__now.tv_usec * 1e3) + ((__msecs % 1000) * 1e6); \
- if(__abs.tv_nsec >= 1e9) \
- { \
- __abs.tv_sec++; \
- __abs.tv_nsec -= 1e9; \
- } \
- } while(0)
-
-#include "gs-internal.h"
-
-#endif
diff --git a/oldcode/src/gsl/maint/config/bdb.m4 b/oldcode/src/gsl/maint/config/bdb.m4
deleted file mode 100644
index 9e17735..0000000
--- a/oldcode/src/gsl/maint/config/bdb.m4
+++ /dev/null
@@ -1,235 +0,0 @@
-
-AC_DEFUN([AX_BERKELEY_DB],
-[
- dbpath=ifelse([$1], ,,$1)
-
- DB_LDFLAGS=
- dnl
- dnl if the db is specified, try to link with -ldb
- dnl otherwise try -ldb4, then -ldb3, then -ldb
- dnl $lib set to notfound on link failure
- dnl
- AC_MSG_CHECKING([for db library])
- oldlibs=$LIBS
- lib=notfound
-
- if test "x$dbpath" != "x" ; then
- oldcflags=$CFLAGS
- for dbheader in db4 db3 notfound; do
- AC_COMPILE_IFELSE(
- [#include "$dbpath/include/$dbheader/db.h"],
- [DB_CFLAGS="-I$dbpath/include/$dbheader/"
- break])
- done
-
- if test "x$dbheader" = "xnotfound"; then
- AC_COMPILE_IFELSE(
- [#include "$dbpath/include/db.h"],
- [DB_CFLAGS="-I$dbpath/include/"],
- [AC_MSG_FAILURE(
- Invalid libdb path specified. No db.h found.)])
- fi
-
- DB_LDFLAGS="-L${dbpath}/lib"
- LDFLAGS="$DB_LDFLAGS ${LDFLAGS}"
-
- LIBS="${oldlibs} -ldb -lpthread"
- DB_LIB="-ldb"
- CFLAGS="$DB_CFLAGS $oldcflags"
- AC_TRY_LINK(
- [#include <db.h>],
- [DB *dbp; db_create(&dbp, NULL, 0);],
- lib=db)
- CFLAGS=$oldcflags
-
- else
- for lib in db4 db3 db notfound; do
- LIBS="${oldlibs} -l$lib -lpthread"
- DB_LIB="-l$lib"
- AC_TRY_LINK(
- [#include <db.h>],
- [DB *dbp; db_create(&dbp, NULL, 0);],
- [break])
- done
- fi
-
- dnl reset LIBS value and just report through DB_LIB
- LIBS=$oldlibs
- if test "x$lib" = "xnotfound" ; then
- AC_MSG_ERROR(could not find DB libraries)
- else
- AC_MSG_RESULT($lib)
- fi
- AC_SUBST(DB_CFLAGS)
- AC_SUBST(DB_LIB)
-
- dnl See if we have a new enough version of Berkeley DB; needed for
- dnl compilation of trove-dbpf component
- dnl AC_MSG_CHECKING(whether version of Berkeley DB is new enough)
- dnl AC_TRY_COMPILE([
- dnl #include <db.h>
- dnl ], [
- dnl #if DB_VERSION_MAJOR < 4
- dnl #error "DB_VERSION_MAJOR < 4; need newer Berkeley DB implementation"
- dnl #endif
- dnl ], AC_MSG_RESULT(yes),
- dnl AC_MSG_RESULT(no)
- dnl AC_MSG_ERROR(Need newer (4.x.x or later) version of Berkeley DB.
- dnl try: http://www.sleepycat.com/download/index.shtml
- dnl or: /parl/pcarns/rpms/db4-4.0.14-1mdk.src.rpm (to build rpm))
- dnl )
-
- dnl Test to check for DB_ENV variable to error callback fn. Then
- dnl test to see if third parameter must be const (related but not
- dnl exactly the same).
- AC_MSG_CHECKING(for dbenv parameter to DB error callback function)
- oldcflags=$CFLAGS
- CFLAGS="$USR_CFLAGS $DB_CFLAGS -Werror"
- AC_TRY_COMPILE([
- #include <db.h>
-
- void error_callback_fn(const DB_ENV *dbenv,
- const char *prefix,
- const char *message)
- {
- return;
- }
- ], [
- DB *db;
-
- db->set_errcall(db, error_callback_fn);
- ], AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_DBENV_PARAMETER_TO_DB_ERROR_CALLBACK, 1,
- Define if DB error callback function takes dbenv parameter)
- have_dbenv_parameter_to_db_error_callback=yes,
- AC_MSG_RESULT(no)
- have_dbenv_parameter_to_db_error_callback=no)
-
- if test "x$have_dbenv_parameter_to_db_error_callback" = "xyes" ; then
- dnl Test if compilation succeeds without const; we expect that it will
- dnl not.
- dnl NOTE: still using -Werror!
- AC_MSG_CHECKING(if third parameter to error callback function is const)
- AC_TRY_COMPILE([
- #include <db.h>
-
- void error_callback_fn(const DB_ENV *dbenv,
- const char *prefix,
- char *message)
- {
- return;
- }
- ], [
- DB *db;
-
- db->set_errcall(db, error_callback_fn);
- ], AC_MSG_RESULT(no),
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_CONST_THIRD_PARAMETER_TO_DB_ERROR_CALLBACK, 1,
- Define if third param (message) to DB error callback function is const))
- fi
-
- CFLAGS="$USR_CFLAGS $DB_CFLAGS -Werror"
- dnl Test to check for unknown third param to DB stat (four params
- dnl total). The unknown parameter is a function ptr so that the
- dnl the user can pass in a replcaement for malloc.
- dnl Note: this is a holdover from relatively old DB implementations,
- dnl while the txnid parameter is new. So we don't test for the old
- dnl unknown parameter if we found the new one.
- AC_MSG_CHECKING(for DB stat with malloc function ptr)
- AC_TRY_COMPILE([
- #include <db.h>
- #include <stdlib.h>
- ], [
- int ret = 0;
- DB *db = db;
- int dummy = 0;
- u_int32_t flags = 0;
-
- ret = db->stat(db, &dummy, malloc, flags);
- ], AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_UNKNOWN_PARAMETER_TO_DB_STAT, 1,
- Define if DB stat function takes malloc function ptr)
- have_db_stat_malloc=yes,
- AC_MSG_RESULT(no)
- have_db_stat_malloc=no)
-
- dnl Test to check for txnid parameter to DB stat (DB 4.3.xx+)
- if test "x$have_db_stat_malloc" = "xno" ; then
-
- AC_MSG_CHECKING(for txnid parameter to DB stat function)
- AC_TRY_COMPILE([
- #include <db.h>
- ], [
- int ret = 0;
- DB *db = db;
- DB_TXN *txnid = txnid;
- u_int32_t flags = 0;
-
- ret = db->stat(db, txnid, NULL, flags);
- ], AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_TXNID_PARAMETER_TO_DB_STAT, 1,
- Define if DB stat function takes txnid parameter)
- have_txnid_param_to_stat=yes,
- AC_MSG_RESULT(no)
- have_txnid_param_to_stat=no)
-
- fi
-
- dnl Test to check for txnid parameter to DB open (DB4.1+)
- AC_MSG_CHECKING(for txnid parameter to DB open function)
- AC_TRY_COMPILE([
- #include <db.h>
- ], [
- int ret = 0;
- DB *db = NULL;
- DB_TXN *txnid = NULL;
- char *file = NULL;
- char *database = NULL;
- DBTYPE type = 0;
- u_int32_t flags = 0;
- int mode = 0;
-
- ret = db->open(db, txnid, file, database, type, flags, mode);
- ], AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_TXNID_PARAMETER_TO_DB_OPEN, 1,
- Define if DB open function takes a txnid parameter),
- AC_MSG_RESULT(no))
-
- dnl check for DB_DIRTY_READ (it is not in db-3.2.9, for example)
- AC_MSG_CHECKING(for DB_DIRTY_READ flag)
- AC_TRY_COMPILE([
- #include <db.h>
- ], [
- u_int32_t flags = DB_DIRTY_READ;
- ], AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_DB_DIRTY_READ, 1, [Define if db library has DB_DIRTY_READ flag]),
- AC_MSG_RESULT(no))
-
- dnl check for DB_BUFFER_SMALL (it is returned by dbp->get in db-4.4 and up)
- AC_MSG_CHECKING(for DB_BUFFER_SMALL error)
- AC_TRY_COMPILE([
- #include <db.h>
- ], [
- int res = DB_BUFFER_SMALL;
- res++;
- ], AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_DB_BUFFER_SMALL, 1, [Define if db library has DB_BUFFER_SMALL error]),
- AC_MSG_RESULT(no))
-
- dnl Test to check for db->get_pagesize
- AC_MSG_CHECKING(for berkeley db get_pagesize function)
- AC_TRY_COMPILE([
- #include <db.h>
- ], [
- int ret = 0;
- DB *db = NULL;
- int pagesize;
-
- ret = db->get_pagesize(db, &pagesize);
- ], AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_DB_GET_PAGESIZE, 1, [Define if DB has get_pagesize function]),
- AC_MSG_RESULT(no))
-
- CFLAGS="$oldcflags"
-])
diff --git a/oldcode/src/gsl/maint/config/install-sh b/oldcode/src/gsl/maint/config/install-sh
deleted file mode 100755
index ebc6691..0000000
--- a/oldcode/src/gsl/maint/config/install-sh
+++ /dev/null
@@ -1,250 +0,0 @@
-#! /bin/sh
-#
-# install - install a program, script, or datafile
-# This comes from X11R5 (mit/util/scripts/install.sh).
-#
-# Copyright 1991 by the Massachusetts Institute of Technology
-#
-# Permission to use, copy, modify, distribute, and sell this software and its
-# documentation for any purpose is hereby granted without fee, provided that
-# the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission. M.I.T. makes no representations about the
-# suitability of this software for any purpose. It is provided "as is"
-# without express or implied warranty.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch. It can only install one file at a time, a restriction
-# shared with many OS's install programs.
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
- case $1 in
- -c) instcmd="$cpprog"
- shift
- continue;;
-
- -d) dir_arg=true
- shift
- continue;;
-
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
-
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd="$stripprog"
- shift
- continue;;
-
- -t=*) transformarg=`echo $1 | sed 's/-t=//'`
- shift
- continue;;
-
- -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
- shift
- continue;;
-
- *) if [ x"$src" = x ]
- then
- src=$1
- else
- # this colon is to work around a 386BSD /bin/sh bug
- :
- dst=$1
- fi
- shift
- continue;;
- esac
-done
-
-if [ x"$src" = x ]
-then
- echo "install: no input file specified"
- exit 1
-else
- true
-fi
-
-if [ x"$dir_arg" != x ]; then
- dst=$src
- src=""
-
- if [ -d $dst ]; then
- instcmd=:
- else
- instcmd=mkdir
- fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad
-# if $src (and thus $dsttmp) contains '*'.
-
- if [ -f $src -o -d $src ]
- then
- true
- else
- echo "install: $src does not exist"
- exit 1
- fi
-
- if [ x"$dst" = x ]
- then
- echo "install: no destination specified"
- exit 1
- else
- true
- fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
- if [ -d $dst ]
- then
- dst="$dst"/`basename $src`
- else
- true
- fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-# this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
-'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
- pathcomp="${pathcomp}${1}"
- shift
-
- if [ ! -d "${pathcomp}" ] ;
- then
- $mkdirprog "${pathcomp}"
- else
- true
- fi
-
- pathcomp="${pathcomp}/"
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
- $doit $instcmd $dst &&
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
- if [ x"$transformarg" = x ]
- then
- dstfile=`basename $dst`
- else
- dstfile=`basename $dst $transformbasename |
- sed $transformarg`$transformbasename
- fi
-
-# don't allow the sed command to completely eliminate the filename
-
- if [ x"$dstfile" = x ]
- then
- dstfile=`basename $dst`
- else
- true
- fi
-
-# Make a temp file name in the proper directory.
-
- dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
- $doit $instcmd $src $dsttmp &&
-
- trap "rm -f ${dsttmp}" 0 &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing. If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
-
-# Now rename the file to the real destination.
-
- $doit $rmcmd -f $dstdir/$dstfile &&
- $doit $mvcmd $dsttmp $dstdir/$dstfile
-
-fi &&
-
-
-exit 0
diff --git a/oldcode/src/gsl/maint/config/sqlite.m4 b/oldcode/src/gsl/maint/config/sqlite.m4
deleted file mode 100644
index c4ced2b..0000000
--- a/oldcode/src/gsl/maint/config/sqlite.m4
+++ /dev/null
@@ -1,185 +0,0 @@
-dnl GS_LIB_SQLITE(minimum_ver)
-dnl
-dnl Search for a suitable version of sqlite. minimum_ver is a
-dnl version string which is the lowest suitable version we can use.
-dnl
-dnl If a --with-sqlite=PREFIX option is passed, look for a suitable sqlite
-dnl installed under the directory PREFIX, otherwise search system
-dnl
-dnl If the search for sqlite fails, set gs_lib_sqlite to no, otherwise set
-dnl it to yes.
-
-AC_DEFUN([GS_LIB_SQLITE],
-[
- SQLITE_MINIMUM_VER="$1"
- SQLITE_PKGNAME="sqlite3"
- BUILD_OSD=
-
- GS_SQLITE_MIN_VERNUM_PARSE
-
- AC_MSG_NOTICE([checking sqlite library])
-
- AC_ARG_WITH(sqlite,
- AS_HELP_STRING([--with-sqlite=PREFIX],
- [Use installed SQLite library or amalgamation file.]),
- [
- if test "$withval" = "yes" ; then
- AC_MSG_ERROR([--with-sqlite requires an argument.])
- else
- sqlite_dir="$withval"
- fi
-
- if test -d $sqlite_dir; then
- dnl pointed at an sqlite installation
- GS_SQLITE_DIR_CONFIG($sqlite_dir)
- else
- AC_MSG_ERROR([$sqlite_dir is not a directory.])
- fi
-
- # if a --with-sqlite argument was given, then we should complain if we
- # can't find it there
- if test -z "$gs_lib_sqlite"; then
- AC_MSG_ERROR([no suitable sqlite found in $sqlite_dir])
- else
- BUILD_OSD=1
- fi
- ],
- [
- if test -z "$gs_lib_sqlite"; then
- dnl check the "standard" location of /usr
- GS_SQLITE_DIR_CONFIG()
- fi
-
- if test -z "$gs_lib_sqlite"; then
- dnl no --with-sqlite switch, and no sqlite subdir, look in PATH
- GS_SQLITE_PKG_CONFIG
- fi
-
-# if test -z "$gs_lib_sqlite"; then
-# GS_DOWNLOAD_SQLITE
-# fi
- if test -n "$gs_lib_sqlite"; then
- BUILD_OSD=1
- fi
- ])
-
- AC_SUBST(GS_SQLITE_INCLUDES)
- AC_SUBST(GS_SQLITE_LIBS)
- AC_SUBST(BUILD_OSD)
-])
-
-dnl GS_SQLITE_PKG_CONFIG
-dnl
-dnl Look for sqlite in PATH using pkg-config.
-AC_DEFUN([GS_SQLITE_PKG_CONFIG],
-[
- if test -n "$PKG_CONFIG"; then
- AC_MSG_CHECKING([sqlite library version (via pkg-config)])
- sqlite_version=`$PKG_CONFIG $SQLITE_PKGNAME --modversion --silence-errors`
-
- if test -n "$sqlite_version"; then
- GS_SQLITE_VERNUM_PARSE
-
- if test "$sqlite_ver_num" -ge "$sqlite_min_ver_num"; then
- AC_MSG_RESULT([$sqlite_version])
- gs_lib_sqlite="yes"
- GS_SQLITE_INCLUDES="`$PKG_CONFIG $SQLITE_PKGNAME --cflags`"
- GS_SQLITE_LIBS="`$PKG_CONFIG $SQLITE_PKGNAME --libs`"
- else
- AC_MSG_RESULT([none or unsupported $sqlite_version])
- fi
- fi
- fi
-
- if test -z "$gs_lib_sqlite"; then
- AC_MSG_RESULT(no)
- fi
-])
-
-dnl GS_SQLITE_DIR_CONFIG(sqlite_dir)
-dnl
-dnl Check to see if we've got an appropriate sqlite library at sqlite_dir.
-dnl If we don't, fail.
-AC_DEFUN([GS_SQLITE_DIR_CONFIG],
-[
- if test -z "$1"; then
- sqlite_dir=""
- sqlite_include="sqlite3.h"
- else
- sqlite_dir="$1"
- sqlite_include="$1/include/sqlite3.h"
- fi
-
- save_CPPFLAGS="$CPPFLAGS"
- save_LDFLAGS="$LDFLAGS"
-
- if test ! -z "$1"; then
- CPPFLAGS="$CPPFLAGS -I$sqlite_dir/include"
- LDFLAGS="$LDFLAGS -L$sqlite_dir/lib"
- fi
-
- AC_CHECK_HEADER(sqlite3.h,
- [
- AC_MSG_CHECKING([sqlite library version (via header)])
- AC_EGREP_CPP(SQLITE_VERSION_OKAY,[
-#include "$sqlite_include"
-#if SQLITE_VERSION_NUMBER >= $sqlite_min_ver_num
-SQLITE_VERSION_OKAY
-#endif],
- [AC_MSG_RESULT([okay])
- AC_CHECK_LIB(sqlite3, sqlite3_close, [
- gs_lib_sqlite="yes"
- if test -z "$sqlite_dir" -o ! -d "$sqlite_dir"; then
- GS_SQLITE_LIBS="-lsqlite3"
- else
- GS_SQLITE_INCLUDES="-I$sqlite_dir/include"
- GS_SQLITE_LIBS="-L$sqlite_dir/lib -lsqlite3"
- fi
- ])], [AC_MSG_RESULT([unsupported SQLite version])])
- ])
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
-])
-
-dnl GS_SQLITE_VERNUM_PARSE()
-dnl
-dnl Parse a x.y[.z] version string sqlite_version into a number sqlite_ver_num.
-AC_DEFUN([GS_SQLITE_VERNUM_PARSE],
-[
- sqlite_major=`expr $sqlite_version : '\([[0-9]]*\)'`
- sqlite_minor=`expr $sqlite_version : '[[0-9]]*\.\([[0-9]]*\)'`
- sqlite_micro=`expr $sqlite_version : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
- if test -z "$sqlite_micro"; then
- sqlite_micro=0
- fi
- sqlite_ver_num=`expr $sqlite_major \* 1000000 \
- \+ $sqlite_minor \* 1000 \
- \+ $sqlite_micro`
-])
-
-dnl GS_SQLITE_MIN_VERNUM_PARSE()
-dnl
-dnl Parse a x.y.z version string SQLITE_MINIMUM_VER into a number
-dnl sqlite_min_ver_num.
-AC_DEFUN([GS_SQLITE_MIN_VERNUM_PARSE],
-[
- sqlite_min_major=`expr $SQLITE_MINIMUM_VER : '\([[0-9]]*\)'`
- sqlite_min_minor=`expr $SQLITE_MINIMUM_VER : '[[0-9]]*\.\([[0-9]]*\)'`
- sqlite_min_micro=`expr $SQLITE_MINIMUM_VER : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
- sqlite_min_ver_num=`expr $sqlite_min_major \* 1000000 \
- \+ $sqlite_min_minor \* 1000 \
- \+ $sqlite_min_micro`
-])
-
-dnl GS_DOWNLOAD_SQLITE()
-dnl no sqlite found, print out a message telling the user what to do
-AC_DEFUN([GS_DOWNLOAD_SQLITE],
-[
- echo ""
- echo "An appropriate version of sqlite could not be found. We require"
- echo "at least ${SQLITE_MINIMUM_VER}. Please install a newer sqlite "
- echo "on this system."
- echo ""
- AC_MSG_ERROR([Grayskull requires SQLite])
-])
diff --git a/oldcode/src/gsl/maint/hs/alex-2.3.1.tar.gz b/oldcode/src/gsl/maint/hs/alex-2.3.1.tar.gz
deleted file mode 100644
index c42c538..0000000
Binary files a/oldcode/src/gsl/maint/hs/alex-2.3.1.tar.gz and /dev/null differ
diff --git a/oldcode/src/gsl/maint/hs/happy-1.18.4.tar.gz b/oldcode/src/gsl/maint/hs/happy-1.18.4.tar.gz
deleted file mode 100644
index 459a9b5..0000000
Binary files a/oldcode/src/gsl/maint/hs/happy-1.18.4.tar.gz and /dev/null differ
diff --git a/oldcode/src/gsl/maint/hs/language-c-0.3.3.tar.gz b/oldcode/src/gsl/maint/hs/language-c-0.3.3.tar.gz
deleted file mode 100644
index fa9522b..0000000
Binary files a/oldcode/src/gsl/maint/hs/language-c-0.3.3.tar.gz and /dev/null differ
diff --git a/oldcode/src/gsl/maint/hs/language-c.patch b/oldcode/src/gsl/maint/hs/language-c.patch
deleted file mode 100644
index 9f7ccb5..0000000
--- a/oldcode/src/gsl/maint/hs/language-c.patch
+++ /dev/null
@@ -1,266 +0,0 @@
-diff -Naur language-c-0.3.3/language-c.cabal language-c-0.3.3-new/language-c.cabal
---- language-c-0.3.3/language-c.cabal 2009-07-02 14:11:45.000000000 -0500
-+++ language-c-0.3.3-new/language-c.cabal 2009-12-15 09:16:28.275537558 -0600
-@@ -1,4 +1,4 @@
--Name: language-c
-+Name: language-gsl
- Version: 0.3.3
- Cabal-Version: >= 1.2
- Build-Type: Simple
-@@ -6,14 +6,15 @@
- License-File: LICENSE
- Copyright: LICENSE
- Author: AUTHORS
--Maintainer: benedikt.huber(a)gmail.com
-+Maintainer: benedikt.huber(a)gmail.com [Modified by Sam Lang (slang(a)mcs.anl.gov) for gsl]
- Stability: experimental
- Homepage: http://www.sivity.net/projects/language.c/
- Bug-reports: http://www.sivity.net/projects/language.c/
--Synopsis: Analysis and generation of C code
--Description: Language C is a haskell library for the analysis and generation of C code.
-+Synopsis: Analysis and generation of GSL code
-+Description: Language GSL is a haskell library for the analysis and generation of GSL code.
- It features a complete, well tested parser and pretty printer for all of C99 and a large
- set of GNU extensions.
-+ extensions for GSL.
- Category: Language
-
- Extra-Source-Files: AUTHORS AUTHORS.c2hs ChangeLog README
-diff -Naur language-c-0.3.3/src/Language/C/Data/Position.hs language-c-0.3.3-new/src/Language/C/Data/Position.hs
---- language-c-0.3.3/src/Language/C/Data/Position.hs 2009-07-02 14:11:45.000000000 -0500
-+++ language-c-0.3.3-new/src/Language/C/Data/Position.hs 2009-12-15 09:16:28.277945977 -0600
-@@ -50,7 +50,7 @@
- show BuiltinPosition = "<builtin>"
- show InternalPosition = "<internal>"
-
--{-# DEPRECATED posColumn "column number information is inaccurate in presence of macros - do not rely on it." #-}
-+{-- DEPRECATED posColumn "column number information is inaccurate in presence of macros - do not rely on it." --}
-
- -- | @position absoluteOffset fileName lineNumber columnNumber@ initializes a @Position@ using the given arguments
- position :: Int -> String -> Int -> Int -> Position
-diff -Naur language-c-0.3.3/src/Language/C/Parser/Lexer.x language-c-0.3.3-new/src/Language/C/Parser/Lexer.x
---- language-c-0.3.3/src/Language/C/Parser/Lexer.x 2009-07-02 14:11:45.000000000 -0500
-+++ language-c-0.3.3-new/src/Language/C/Parser/Lexer.x 2009-12-15 09:16:28.280809877 -0600
-@@ -351,6 +351,13 @@
- idkwtok ('v' : 'o' : 'l' : 'a' : 't' : 'i' : 'l' : 'e' : []) = tok 8 CTokVolatile
- idkwtok ('_' : '_' : 'v' : 'o' : 'l' : 'a' : 't' : 'i' : 'l' : 'e' : '_' : '_' : []) = tok 12 CTokVolatile
- idkwtok ('w' : 'h' : 'i' : 'l' : 'e' : []) = tok 5 CTokWhile
-+idkwtok ('_':'_':'b':'l':'o':'c':'k':'i':'n':'g':[]) = tok 10 CTokBlocking
-+idkwtok ('_':'_':'r':'e':'m':'o':'t':'e':[]) = tok 10 CTokRemote
-+idkwtok ('p':'w':'a':'i':'t':[]) = tok 5 CTokPWait
-+idkwtok ('p':'b':'r':'a':'n':'c':'h':[]) = tok 7 CTokPBranch
-+idkwtok ('p':'b':'r':'e':'a':'k':[]) = tok 6 CTokPBreak
-+idkwtok ('p':'p':'r':'i':'v':'a':'t':'e':[]) = tok 6 CTokPPrivate
-+idkwtok ('p':'s':'h':'a':'r':'e':'d':[]) = tok 6 CTokPShared
-
- idkwtok cs = \pos -> do
- name <- getNewName
-diff -Naur language-c-0.3.3/src/Language/C/Parser/Parser.y language-c-0.3.3-new/src/Language/C/Parser/Parser.y
---- language-c-0.3.3/src/Language/C/Parser/Parser.y 2009-07-02 14:11:45.000000000 -0500
-+++ language-c-0.3.3-new/src/Language/C/Parser/Parser.y 2009-12-15 09:16:28.286135310 -0600
-@@ -217,6 +217,8 @@
- typedef { CTokTypedef _ }
- typeof { CTokTypeof _ }
- "__thread" { CTokThread _ }
-+"__blocking" { CTokBlocking _ }
-+"__remote" { CTokRemote _ }
- union { CTokUnion _ }
- unsigned { CTokUnsigned _ }
- void { CTokVoid _ }
-@@ -236,6 +238,11 @@
- "__builtin_va_arg" { CTokGnuC GnuCVaArg _ }
- "__builtin_offsetof" { CTokGnuC GnuCOffsetof _ }
- "__builtin_types_compatible_p" { CTokGnuC GnuCTyCompat _ }
-+pwait { CTokPWait _ }
-+pbranch { CTokPBranch _ }
-+pbreak { CTokPBreak _ }
-+pshared { CTokPShared _ }
-+pprivate { CTokPPrivate _ }
-
- %%
-
-@@ -359,6 +366,7 @@
- | iteration_statement { $1 }
- | jump_statement { $1 }
- | asm_statement {% withNodeInfo $1 (CAsm $1) }
-+ | parallel_statement { $1 }
-
-
- -- parse C labeled statement (C99 6.8.1)
-@@ -473,6 +481,16 @@
- | for '(' enter_scope declaration expression_opt ';' expression_opt ')' statement leave_scope
- {% withNodeInfo $1 $ CFor (Right $4) $5 $7 $9 }
-
-+-- parse Parallel C statement
-+--
-+parallel_statement :: { CStat }
-+parallel_statement
-+ : pwait statement
-+ {% withNodeInfo $1 $ CPWait $2 }
-+ | pbranch statement
-+ {% withNodeInfo $1 $ CPBranch $2 }
-+ | pbreak
-+ {% withNodeInfo $1 $ CPBreak }
-
- -- parse C jump statement (C99 6.8.6)
- --
-@@ -550,7 +568,7 @@
- -- storage class and type qualifier
- ---------------------------------------------------------------------------------------------------------------
- attr :- __attribute__((..))
--storage_class :- typedef | extern | static | auto | register | __thread
-+storage_class :- typedef | extern | static | auto | register | __thread | __blocking | pprivate | ppshared
- type_qualifier :- const | volatile | restrict | inline
- type_qualifier_list :- type_qualifier+
-
-@@ -755,7 +773,7 @@
-
-
- -- A mixture of type qualifiers (const, volatile, restrict, inline) and storage class specifiers
---- (extern, static, auto, register, __thread), in any order, but containing at least one storage class specifier.
-+-- (extern, static, auto, register, __thread, __blocking, pshared, pprivate), in any order, but containing at least one storage class specifier.
- --
- -- declaration_qualifier_list :- <permute> type_qualifier* storage_class+
- --
-@@ -1188,6 +1206,10 @@
- | volatile {% withNodeInfo $1 $ CVolatQual }
- | restrict {% withNodeInfo $1 $ CRestrQual }
- | inline {% withNodeInfo $1 $ CInlineQual }
-+ | "__blocking" {% withNodeInfo $1 $ CBlocking }
-+ | "__remote" {% withNodeInfo $1 $ CRemote }
-+ | pshared {% withNodeInfo $1 $ CPShared }
-+ | pprivate {% withNodeInfo $1 $ CPPrivate }
-
- -- a list containing at least one type_qualifier (const, volatile, restrict, inline)
- -- and additionally CAttrs
-diff -Naur language-c-0.3.3/src/Language/C/Parser/Tokens.hs language-c-0.3.3-new/src/Language/C/Parser/Tokens.hs
---- language-c-0.3.3/src/Language/C/Parser/Tokens.hs 2009-07-02 14:11:45.000000000 -0500
-+++ language-c-0.3.3-new/src/Language/C/Parser/Tokens.hs 2009-12-15 09:16:28.289379739 -0600
-@@ -132,6 +132,13 @@
- | CTokTyIdent !PosLength !Ident -- `typedef-name' identifier
- | CTokGnuC !GnuCTok !PosLength -- special GNU C tokens
- | CTokEof -- end of file
-+ | CTokBlocking !PosLength -- '__blocking'
-+ | CTokRemote !PosLength -- '__remote'
-+ | CTokPWait !PosLength -- `pwait'
-+ | CTokPBranch !PosLength -- `pbranch'
-+ | CTokPBreak !PosLength -- `pbreak'
-+ | CTokPShared !PosLength -- `pshared'
-+ | CTokPPrivate !PosLength -- `pprivate'
-
- -- special tokens used in GNU C extensions to ANSI C
- --
-@@ -242,6 +249,13 @@
- posLenOfTok (CTokIdent pos _) = pos
- posLenOfTok (CTokTyIdent pos _) = pos
- posLenOfTok (CTokGnuC _ pos ) = pos
-+posLenOfTok (CTokBlocking pos ) = pos
-+posLenOfTok (CTokRemote pos ) = pos
-+posLenOfTok (CTokPWait pos ) = pos
-+posLenOfTok (CTokPBranch pos ) = pos
-+posLenOfTok (CTokPBreak pos ) = pos
-+posLenOfTok (CTokPPrivate pos ) = pos
-+posLenOfTok (CTokPShared pos ) = pos
- posLenOfTok CTokEof = error "tokenPos: Eof"
-
- instance Show CToken where
-@@ -327,11 +341,18 @@
- showsPrec _ (CTokTypedef _ ) = showString "typedef"
- showsPrec _ (CTokTypeof _ ) = showString "typeof"
- showsPrec _ (CTokThread _ ) = showString "__thread"
-+ showsPrec _ (CTokBlocking _ ) = showString "__blocking"
-+ showsPrec _ (CTokRemote _ ) = showString "__remote"
- showsPrec _ (CTokUnion _ ) = showString "union"
- showsPrec _ (CTokUnsigned _ ) = showString "unsigned"
- showsPrec _ (CTokVoid _ ) = showString "void"
- showsPrec _ (CTokVolatile _ ) = showString "volatile"
- showsPrec _ (CTokWhile _ ) = showString "while"
-+ showsPrec _ (CTokPWait _ ) = showString "pwait"
-+ showsPrec _ (CTokPBranch _ ) = showString "pbranch"
-+ showsPrec _ (CTokPBreak _ ) = showString "pbreak"
-+ showsPrec _ (CTokPPrivate _ ) = showString "pprivate"
-+ showsPrec _ (CTokPShared _ ) = showString "pshared"
- showsPrec _ (CTokCLit _ c) = shows c
- showsPrec _ (CTokILit _ i) = shows i
- showsPrec _ (CTokFLit _ f) = shows f
-diff -Naur language-c-0.3.3/src/Language/C/Pretty.hs language-c-0.3.3-new/src/Language/C/Pretty.hs
---- language-c-0.3.3/src/Language/C/Pretty.hs 2009-07-02 14:11:45.000000000 -0500
-+++ language-c-0.3.3-new/src/Language/C/Pretty.hs 2009-12-15 09:18:04.042219887 -0600
-@@ -151,7 +151,11 @@
- pretty (CReturn Nothing _) = ii $ text "return" <> semi
- pretty (CReturn (Just e) _) = ii $ text "return" <+> pretty e <> semi
- pretty (CAsm asmStmt _) = pretty asmStmt
-- prettyPrec p (CCompound localLabels bis _) =
-+ pretty (CPWait stmt _) =
-+ ii $ text "pwait" $+$ prettyPrec (-1) stmt
-+ pretty (CPBranch stmt _) = ii $ text "pbranch" $+$ prettyPrec (-1) stmt
-+ pretty (CPBreak _) = ii $ text "pbreak" <> semi
-+ prettyPrec p (CCompound localLabels bis ni) =
- let inner = text "{" $+$ mlistP ppLblDecls localLabels $+$ vcat (map pretty bis) $$ text "}"
- in if p == -1 then inner else ii inner
- where ppLblDecls = vcat . map (\l -> text "__label__" <+> identP l <+> semi)
-@@ -245,6 +249,10 @@
- pretty (CRestrQual _) = text "__restrict"
- pretty (CInlineQual _) = text "inline"
- pretty (CAttrQual a) = attrlistP [a]
-+ pretty (CBlocking _) = text "__blocking"
-+ pretty (CRemote _) = text "__remote"
-+ pretty (CPShared _) = text "pshared"
-+ pretty (CPPrivate _) = text "pprivate"
-
- instance Pretty CStructUnion where
- pretty (CStruct tag ident Nothing cattrs _) = pretty tag <+> attrlistP cattrs <+> maybeP identP ident
-diff -Naur language-c-0.3.3/src/Language/C/Syntax/AST.hs language-c-0.3.3-new/src/Language/C/Syntax/AST.hs
---- language-c-0.3.3/src/Language/C/Syntax/AST.hs 2009-07-02 14:11:45.000000000 -0500
-+++ language-c-0.3.3-new/src/Language/C/Syntax/AST.hs 2009-12-15 09:19:46.381624818 -0600
-@@ -236,6 +236,9 @@
- | CBreak NodeInfo -- ^ break statement
- | CReturn (Maybe CExpr)NodeInfo -- ^ return statement @CReturn returnExpr@
- | CAsm CAsmStmt NodeInfo -- ^ assembly statement
-+ | CPWait CStat NodeInfo
-+ | CPBranch CStat NodeInfo
-+ | CPBreak NodeInfo
- deriving (Data,Typeable {-! CNode !-})
-
- -- | GNU Assembler statement
-@@ -349,6 +352,10 @@
- | CRestrQual NodeInfo
- | CInlineQual NodeInfo
- | CAttrQual CAttr
-+ | CBlocking NodeInfo -- ^ blocking function
-+ | CRemote NodeInfo -- ^ remote function
-+ | CPShared NodeInfo -- ^ shared variable across pbranch blocks
-+ | CPPrivate NodeInfo -- ^ private variable across pbranch blocks
- deriving (Data,Typeable {-! CNode !-})
-
- -- | C structure or union specifiers (K&R A8.3, C99 6.7.2.1)
-@@ -596,6 +603,9 @@
- nodeInfo (CBreak nodeinfo) = nodeinfo
- nodeInfo (CReturn _ nodeinfo) = nodeinfo
- nodeInfo (CAsm _ nodeinfo) = nodeinfo
-+ nodeInfo (CPWait _ nodeinfo) = nodeinfo
-+ nodeInfo (CPBranch _ nodeinfo) = nodeinfo
-+ nodeInfo (CPBreak nodeinfo) = nodeinfo
- instance Pos CStat
- where posOf x = posOfNode (nodeInfo x)
-
-@@ -630,6 +640,8 @@
- nodeInfo (CExtern nodeinfo) = nodeinfo
- nodeInfo (CTypedef nodeinfo) = nodeinfo
- nodeInfo (CThread nodeinfo) = nodeinfo
-+
-+
- instance Pos CStorageSpec
- where posOf x = posOfNode (nodeInfo x)
-
-@@ -659,6 +671,10 @@
- nodeInfo (CRestrQual nodeinfo) = nodeinfo
- nodeInfo (CInlineQual nodeinfo) = nodeinfo
- nodeInfo (CAttrQual d) = nodeInfo d
-+ nodeInfo (CBlocking nodeinfo) = nodeinfo
-+ nodeInfo (CRemote nodeinfo) = nodeinfo
-+ nodeInfo (CPPrivate nodeinfo) = nodeinfo
-+ nodeInfo (CPShared nodeinfo) = nodeinfo
- instance Pos CTypeQual
- where posOf x = posOfNode (nodeInfo x)
-
diff --git a/oldcode/src/gsl/maint/hs/mtl-1.1.0.2.tar.gz b/oldcode/src/gsl/maint/hs/mtl-1.1.0.2.tar.gz
deleted file mode 100644
index d9d9e6d..0000000
Binary files a/oldcode/src/gsl/maint/hs/mtl-1.1.0.2.tar.gz and /dev/null differ
diff --git a/oldcode/src/gsl/maint/hs/setup-hs-debian b/oldcode/src/gsl/maint/hs/setup-hs-debian
deleted file mode 100755
index 9e31a30..0000000
--- a/oldcode/src/gsl/maint/hs/setup-hs-debian
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-sudo apt-get install ghc6 haskell-utils happy alex libghc6-mtl-dev
diff --git a/oldcode/src/gsl/maint/hs/setup-hs-local b/oldcode/src/gsl/maint/hs/setup-hs-local
deleted file mode 100755
index fbc2642..0000000
--- a/oldcode/src/gsl/maint/hs/setup-hs-local
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/sh
-
-OLDPWD=$PWD
-
-#wget http://hackage.haskell.org/packages/archive/mtl/1.1.0.2/mtl-1.1.0.2.tar.gz
-tar xvfz mtl-1.1.0.2.tar.gz
-cd mtl-1.1.0.2
-runhaskell Setup configure --prefix=${OLDPWD}/GHC --user
-runhaskell Setup build
-runhaskell Setup install --user
-
-cd ${OLDPWD}
-#wget http://hackage.haskell.org/packages/archive/happy/1.18.4/happy-1.18.4.tar.gz
-tar xvfz happy-1.18.4.tar.gz
-cd happy-1.18.4
-runhaskell Setup configure --prefix=${OLDPWD}/GHC --user
-runhaskell Setup build
-runhaskell Setup install --user
-
-cd ${OLDPWD}
-#wget http://hackage.haskell.org/packages/archive/alex/2.3.1/alex-2.3.1.tar.gz
-tar xvfz alex-2.3.1.tar.gz
-cd alex-2.3.1
-runhaskell Setup configure --prefix=${OLDPWD}/GHC --user
-runhaskell Setup build
-runhaskell Setup install --user
diff --git a/oldcode/src/gsl/maint/hs/setup-langc b/oldcode/src/gsl/maint/hs/setup-langc
deleted file mode 100755
index e87a9bc..0000000
--- a/oldcode/src/gsl/maint/hs/setup-langc
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-
-#wget --connect-timeout=2 --read-timeout=2 --tries=1 http://hackage.haskell.org/packages/archive/language-c/0.3.1/language-c-0.3…
-
-OLDPWD=$PWD
-
-# put happy and alex in the path
-PATH=${OLDPWD}/GHC/bin:$PATH
-
-# use local copy for now
-tar xvfz language-c-0.3.3.tar.gz
-cd language-c-0.3.3
-patch -p 1 < ../language-c.patch
-runhaskell Setup configure --prefix=${OLDPWD}/GHC
-runhaskell Setup build
-runhaskell Setup install --user
-cd -
-#rm -r language-c-0.3.3
diff --git a/oldcode/src/gsl/parser/BlockingContext.lhs b/oldcode/src/gsl/parser/BlockingContext.lhs
deleted file mode 100644
index e1bff49..0000000
--- a/oldcode/src/gsl/parser/BlockingContext.lhs
+++ /dev/null
@@ -1,334 +0,0 @@
-> module BlockingContext where
-> import Language.C
-> import Language.C.System.GCC -- preprocessor used
-> import System.Environment
-> import Data.Typeable
-> import Data.Maybe
-> import Data.Either
-> import Data.HashTable
-> import Control.Exception
-> import Control.Monad.State
-> import Data.List
-> import Debug.Trace
-> import CParse
-> import CUtils
-> import Data.Generics
-> import Data.Generics.Schemes
-> import Data.Tree
-
-> data BlockingContext = FunContext { funDef :: CFunDef ,
-> stmts :: [BlockingContext] ,
-> parent :: Maybe BlockingContext ,
-> next :: Maybe BlockingContext ,
-> prev :: Maybe BlockingContext }
-
-> | IfContext { ifDef :: CStat ,
-> ifStmts :: [BlockingContext] ,
-> elseStmts :: Maybe [BlockingContext] ,
-> nbStmtsBefore :: [CStat] ,
-> nbStmtsAfter :: [CStat] ,
-> parent :: Maybe BlockingContext ,
-> next :: Maybe BlockingContext ,
-> prev :: Maybe BlockingContext }
-
-> | ForContext { forDef :: CStat ,
-> forStmts :: [BlockingContext] ,
-> nbStmtsBefore :: [CStat] ,
-> nbStmtsAfter :: [CStat] ,
-> parent :: Maybe BlockingContext ,
-> next :: Maybe BlockingContext ,
-> prev :: Maybe BlockingContext }
-
-> | WhileContext { whileDef :: CStat ,
-> whileStmts :: [BlockingContext] ,
-> nbStmtsBefore :: [CStat] ,
-> nbStmtsAfter :: [CStat] ,
-> parent :: Maybe BlockingContext ,
-> next :: Maybe BlockingContext ,
-> prev :: Maybe BlockingContext }
-
-> | BlockingStmt { stmt :: CStat ,
-> nbStmtsBefore :: [CStat] ,
-> nbStmtsAfter :: [CStat] ,
-> parent :: Maybe BlockingContext ,
-> next :: Maybe BlockingContext ,
-> prev :: Maybe BlockingContext }
-
-> | PWaitContext { id :: String,
-> pwaitDef :: CStat ,
-> stmts :: [BlockingContext] ,
-> nbStmtsBefore :: [CStat] ,
-> nbStmtsAfter :: [CStat] ,
-> parent :: Maybe BlockingContext ,
-> next :: Maybe BlockingContext ,
-> prev :: Maybe BlockingContext }
-
-> | PBranchContext { id :: String,
-> pbranchDef :: CStat ,
-> stmts :: [BlockingContext] ,
-> nbStmtsBefore :: [CStat] ,
-> nbStmtsAfter :: [CStat] ,
-> parent :: Maybe BlockingContext ,
-> next :: Maybe BlockingContext ,
-> prev :: Maybe BlockingContext }
-
-> getNI :: BlockingContext -> NodeInfo
-> getNI (PBranchContext _ d _ _ _ _ _ _) = nodeInfo d
-> getNI (PWaitContext _ d _ _ _ _ _ _) = nodeInfo d
-> getNI (BlockingStmt s _ _ _ _ _) = nodeInfo s
-> getNI (WhileContext d _ _ _ _ _ _) = nodeInfo d
-> getNI (ForContext d _ _ _ _ _ _) = nodeInfo d
-> getNI (IfContext d _ _ _ _ _ _ _) = nodeInfo d
-> getNI (FunContext d _ _ _ _) = nodeInfo d
-
-> instance Eq BlockingContext where
-> (==) (FunContext fDef1 _ _ _ _) (FunContext fDef2 _ _ _ _) = (nodeInfo fDef1) == (nodeInfo fDef2)
-> (==) (IfContext ifDef1 _ _ _ _ _ _ _) (IfContext ifDef2 _ _ _ _ _ _ _) = (nodeInfo ifDef1) == (nodeInfo ifDef2)
-> (==) (ForContext fDef1 _ _ _ _ _ _) (ForContext fDef2 _ _ _ _ _ _) = (nodeInfo fDef1) == (nodeInfo fDef2)
-> (==) (WhileContext wDef1 _ _ _ _ _ _) (WhileContext wDef2 _ _ _ _ _ _) = (nodeInfo wDef1) == (nodeInfo wDef2)
-> (==) (BlockingStmt s1 _ _ _ _ _) (BlockingStmt s2 _ _ _ _ _) = (nodeInfo s1) == (nodeInfo s2)
-> (==) (PWaitContext _ pw1 _ _ _ _ _ _) (PWaitContext _ pw2 _ _ _ _ _ _) = (nodeInfo pw1) == (nodeInfo pw2)
-> (==) (PBranchContext _ pb1 _ _ _ _ _ _) (PBranchContext _ pb2 _ _ _ _ _ _) = (nodeInfo pb1) == (nodeInfo pb2)
-> (==) _ _ = False
-
-> isLastContext :: BlockingContext -> Bool
-> isLastContext b = isNothing $ next b
-
-> isLastContextInFun :: BlockingContext -> Bool
-> isLastContextInFun b
-> | isLastContext b && parentIsFun b = True
-> | isLastContext b && (isJust $ parent b) = isLastContextInFun $ fromJust $ parent b
-> | otherwise = False
-
-> parentIsFun :: BlockingContext -> Bool
-> parentIsFun b = case (parent b) of { (Just (FunContext _ _ _ _ _)) -> True ; _ -> False }
-
-> parentIsFor :: BlockingContext -> Bool
-> parentIsFor b = (isJust $ parent b) && (isForContext $ fromJust $ parent b)
-
-> parentIsWhile :: BlockingContext -> Bool
-> parentIsWhile b = (isJust $ parent b) && (isWhileContext $ fromJust $ parent b)
-
-> parentIsIf :: BlockingContext -> Bool
-> parentIsIf b = (isJust $ parent b) && (isIfContext $ fromJust $ parent b)
-
-> parentIsPBranch :: BlockingContext -> Bool
-> parentIsPBranch b = (isJust $ parent b) && (isPBranchContext $ fromJust $ parent b)
-
-> getPBranchAncestor :: BlockingContext -> BlockingContext
-> getPBranchAncestor b | isPBranchContext b = b
-> | otherwise = getPBranchAncestor $ fromJust $ parent b
-
-> hasPBranchAncestor :: BlockingContext -> Bool
-> hasPBranchAncestor b
-> | (isJust $ parent b) && (isPBranchContext $ fromJust $ parent b) = True
-> | (isJust $ parent b) = hasPBranchAncestor $ fromJust $ parent b
-> | otherwise = False
-
-> getPWaitAncestor :: BlockingContext -> BlockingContext
-> getPWaitAncestor b | isPWaitContext b = b
-> | otherwise = getPWaitAncestor $ fromJust $ parent b
-
-> hasPWaitAncestor :: BlockingContext -> Bool
-> hasPWaitAncestor b | isPWaitContext b = True
-> | isJust $ parent b = hasPWaitAncestor $ fromJust $ parent b
-> | otherwise = False
-
-> isIfContext :: BlockingContext -> Bool
-> isIfContext (IfContext _ _ _ _ _ _ _ _) = True
-> isIfContext _ = False
-
-> isForContext :: BlockingContext -> Bool
-> isForContext (ForContext _ _ _ _ _ _ _) = True
-> isForContext _ = False
-
-> isWhileContext :: BlockingContext -> Bool
-> isWhileContext (WhileContext _ _ _ _ _ _ _) = True
-> isWhileContext _ = False
-
-> isPBranchContext :: BlockingContext -> Bool
-> isPBranchContext (PBranchContext _ _ _ _ _ _ _ _) = True
-> isPBranchContext _ = False
-
-> isPWaitContext :: BlockingContext -> Bool
-> isPWaitContext (PWaitContext _ _ _ _ _ _ _ _) = True
-> isPWaitContext _ = False
-
-> isBlockingStmt :: BlockingContext -> Bool
-> isBlockingStmt (BlockingStmt _ _ _ _ _ _) = True
-> isBlockingStmt _ = False
-
-> getCtxName :: BlockingContext -> String
-> getCtxName (BlockingStmt _ _ _ _ _ _) = "BlockingStmt"
-> getCtxName (FunContext _ _ _ _ _) = "FunContext"
-> getCtxName (ForContext _ _ _ _ _ _ _) = "ForContext"
-> getCtxName (WhileContext _ _ _ _ _ _ _) = "WhileContext"
-> getCtxName (PWaitContext _ _ _ _ _ _ _ _) = "PWaitContext"
-> getCtxName (PBranchContext _ _ _ _ _ _ _ _) = "PBranchContext"
-> getCtxName (IfContext _ _ _ _ _ _ _ _) = "IfContext"
-
-> instance Show BlockingContext where
-> show (BlockingStmt stmt _ _ parent prev next) = "BlockingStmt: " ++ (show . pretty $ stmt) ++ "\n"
-> show (FunContext funDef _ _ _ _) = "FunContext: " ++ (getFunDefName $ funDef) ++ "\n"
-> show (ForContext forDef forStmts _ _ _ _ _) = "ForContext"
-> show (WhileContext whileDef whileStmts _ _ _ _ _) = "WhileContext"
-> show (PWaitContext _ _ stmts _ _ _ _ _) = "PWaitContext"
-> show (PBranchContext _ _ stmts _ _ _ _ _) = "PBranchContext"
-> show (IfContext ifDef ifCtx elseCtx nbBefore nbAfter parent next prev) =
-> "IfContext: IF: " ++ (concat (map (("IFNODE: " ++) . (drawTree . contextToTree)) ifCtx)) ++
-> (if isJust elseCtx then ("\n\n\tELSE: " ++
-> (concat (map (("ELSENODE: " ++) . (drawTree . contextToTree)) $ fromJust elseCtx)))
-> else "")
-
-> mkTreeNode :: BlockingContext -> (String, [BlockingContext])
-> mkTreeNode b@(BlockingStmt stmt _ _ _ _ _) =
-> let nodeName = show b
-> in (nodeName, [])
-
-> mkTreeNode b@(FunContext funDef stmts _ _ _) =
-> let nodeName = show b
-> in (nodeName, stmts)
-
-> mkTreeNode b@(ForContext forDef forStmts _ _ _ _ _) =
-> let nodeName = show b
-> in (nodeName, forStmts)
-
-> mkTreeNode b@(WhileContext whileDef whileStmts nbStmtsBefore nbStmtsAfter parent next prev) =
-> let nodeName = show b
-> in (nodeName, whileStmts)
-
-> mkTreeNode b@(IfContext ifDef ifCtx elseCtx nbBefore nbAfter parent next prev) =
-> let nodeName = show b
-> in (nodeName, [])
-
-> mkTreeNode b@(PWaitContext _ _ stmts _ _ _ _ _) =
-> let nodeName = show b
-> in (nodeName, stmts)
-
-> mkTreeNode b@(PBranchContext _ _ stmts _ _ _ _ _) =
-> let nodeName = show b
-> in (nodeName, stmts)
-
-> contextToTree :: BlockingContext -> Tree String
-> contextToTree b = unfoldTree mkTreeNode b
-
-> getFunContext :: BlockingContext -> BlockingContext
-> getFunContext b@(FunContext _ _ _ _ _) = b
-> getFunContext b = getFunContext $ fromJust $ parent b
-
-> getParent :: BlockingContext -> BlockingContext
-> getParent b@(FunContext _ _ _ _ _) = b
-> getParent b = getParent $ fromJust $ parent b
-
-> findLoopParent :: BlockingContext -> BlockingContext
-> findLoopParent b
-> | parentIsWhile b = fromJust $ parent b
-> | parentIsFor b = fromJust $ parent b
-> | otherwise = findLoopParent $ fromJust $ parent b
-
-> getParentName :: BlockingContext -> String
-> getParentName (FunContext funDef _ _ _ _) = getFunDefName funDef
-> getParentName b = getParentName $ assert (isJust $ parent b) fromJust $ parent b
-
-> mkContextTree :: Maybe BlockingContext -> Maybe BlockingContext -> Maybe BlockingContext -> BlockingContext -> BlockingContext
-
-> mkContextTree parent next prev (FunContext funDef stmts _ _ _) = this
-> where this = FunContext funDef (fixupContextList (Just this) Nothing stmts) Nothing Nothing Nothing
-
-> mkContextTree parent next prev (IfContext ifDef ifStmts elseStmts nbBefore nbAfter _ _ _) = this
-> where newElseStmts = if isJust elseStmts then
-> Just (fixupContextList (Just this) Nothing (fromJust elseStmts)) else Nothing
-> this = IfContext ifDef
-> (fixupContextList (Just this) Nothing ifStmts)
-> newElseStmts
-> nbBefore
-> nbAfter
-> parent
-> next
-> prev
-
-> mkContextTree parent next prev (ForContext forDef forStmts nbBefore nbAfter _ _ _) = this
-> where this = ForContext forDef (fixupContextList (Just this) Nothing forStmts) nbBefore nbAfter parent next prev
-
-> mkContextTree parent next prev (WhileContext whileDef whileStmts nbBefore nbAfter _ _ _) = this
-> where this = WhileContext whileDef (fixupContextList (Just this) Nothing whileStmts) nbBefore nbAfter parent next prev
-
-> mkContextTree parent next prev (BlockingStmt stmt nbBefore nbAfter _ _ _) = this
-> where this = BlockingStmt stmt nbBefore nbAfter parent next prev
-
-> mkContextTree parent next prev (PWaitContext id waitDef stmts nbBefore nbAfter _ _ _) = this
-> where this = PWaitContext id waitDef (fixupContextList (Just this) Nothing stmts) nbBefore nbAfter parent next prev
-
-> mkContextTree parent next prev (PBranchContext id branchDef stmts nbBefore nbAfter _ _ _) = this
-> where this = PBranchContext id branchDef (fixupContextList (Just this) Nothing stmts) nbBefore nbAfter parent next prev
-
-> fixupContextList :: Maybe BlockingContext -> Maybe BlockingContext -> [BlockingContext] -> [BlockingContext]
-
-> fixupContextList parent prev [] = []
-> fixupContextList parent prev (b:[]) = (mkContextTree parent Nothing prev b):[]
-
-> fixupContextList parent prev (b:bs) = newb:next:rest
-> where newb = mkContextTree parent (Just next) prev b
-> next:rest = fixupContextList parent (Just newb) bs
-
-> getPWaitSharedDecls :: BlockingContext -> [CDecl]
-> getPWaitSharedDecls (PWaitContext id (CPWait (CCompound _ bitems _) _) _ _ _ _ _ _) =
-> filterDecls (\_ -> True) (not . isPrivateSpec) removeSharedSpecFromDecl $ findFuncDecls bitems
-> getPWaitSharedDecls _ = []
-
-> getPWaitPrivateDecls :: BlockingContext -> [CDecl]
-> getPWaitPrivateDecls (PWaitContext id (CPWait (CCompound _ bitems _) _) _ _ _ _ _ _) =
-> filterDecls isPrivateSpec (not . isSharedSpec) removePrivateSpecFromDecl $ findFuncDecls bitems
-
-> getPWaitId :: BlockingContext -> String
-> getPWaitId (PWaitContext id _ _ _ _ _ _ _) = id
-> getPWaitId _ = error "Not a pwait context"
-
-> containsPWait :: BlockingContext -> Bool
-> containsPWait (PWaitContext _ _ _ _ _ _ _ _) = True
-> containsPWait (PBranchContext _ _ stmts _ _ _ _ _) = any containsPWait stmts
-> containsPWait (BlockingStmt _ _ _ _ _ _) = False
-> containsPWait (WhileContext _ stmts _ _ _ _ _) = any containsPWait stmts
-> containsPWait (ForContext _ stmts _ _ _ _ _) = any containsPWait stmts
-> containsPWait (IfContext _ ifStmts elseStmts _ _ _ _ _) =
-> (any containsPWait ifStmts) ||
-> (if isJust elseStmts then any containsPWait $ fromJust elseStmts else False)
-> containsPWait (FunContext _ stmts _ _ _) = any containsPWait stmts
-
-> foldPWaits :: [BlockingContext] -> [BlockingContext]
-> foldPWaits [] = []
-> foldPWaits bs = foldl1 (++) $ map getPWaits bs
-
-> getPWaits :: BlockingContext -> [BlockingContext]
-> getPWaits b@(PWaitContext _ _ _ _ _ _ _ _) = [b]
-> getPWaits (PBranchContext _ _ stmts _ _ _ _ _) = foldPWaits stmts
-> getPWaits (BlockingStmt _ _ _ _ _ _) = []
-> getPWaits (WhileContext _ stmts _ _ _ _ _) = foldPWaits stmts
-> getPWaits (ForContext _ stmts _ _ _ _ _) = foldPWaits stmts
-> getPWaits (IfContext _ ifStmts elseStmts _ _ _ _ _) =
-> (foldPWaits ifStmts) ++
-> (if isJust elseStmts then foldPWaits $ fromJust elseStmts else [])
-> getPWaits (FunContext _ stmts _ _ _) = foldPWaits stmts
-
-> getPBranchDecls :: BlockingContext -> [CDecl]
-> getPBranchDecls (PBranchContext id (CPBranch (CCompound _ bitems _) _) _ _ _ _ _ _) =
-> findFuncDecls bitems
-> getPBranchDecls _ = []
-
-> getPBranchId :: BlockingContext -> String
-> getPBranchId (PBranchContext id _ _ _ _ _ _ _) = id
-> getPBranchId _ = error "Not a pbranch context"
-
-> foldPBranches :: [BlockingContext] -> [BlockingContext]
-> foldPBranches [] = []
-> foldPBranches bs = foldl1 (++) $ map getPBranches bs
-
-> getPBranches :: BlockingContext -> [BlockingContext]
-> getPBranches (PWaitContext _ _ stmts _ _ _ _ _) = foldPBranches stmts
-> getPBranches b@(PBranchContext _ _ _ _ _ _ _ _) = [b]
-> getPBranches (BlockingStmt _ _ _ _ _ _) = []
-> getPBranches (WhileContext _ stmts _ _ _ _ _) = foldPBranches stmts
-> getPBranches (ForContext _ stmts _ _ _ _ _) = foldPBranches stmts
-> getPBranches (IfContext _ ifStmts elseStmts _ _ _ _ _) =
-> (foldPBranches ifStmts) ++
-> (if isJust elseStmts then foldPBranches $ fromJust elseStmts else [])
diff --git a/oldcode/src/gsl/parser/CGen.lhs b/oldcode/src/gsl/parser/CGen.lhs
deleted file mode 100644
index 53f52ed..0000000
--- a/oldcode/src/gsl/parser/CGen.lhs
+++ /dev/null
@@ -1,432 +0,0 @@
-> module CGen where
-> import Language.C
-> import Language.C.System.GCC -- preprocessor used
-> import System.Environment
-> import Data.Typeable
-> import Data.Maybe
-> import Data.Either
-> import Data.HashTable
-> import Data.Generics
-> import Data.Generics.Schemes
-> import Control.Monad.State
-> import qualified Data.ByteString
-> import qualified Data.ByteString.Char8
-> import Control.Exception
-> import Data.List
-> import Debug.Trace
-> import CParse
-
-Construct a new node info:
-
-> newIdent :: String -> NodeInfo -> Ident
-> newIdent name ni = mkIdent (posOfNode ni) name (Name 0)
-
-Functions to generate AST objects from C template code
-
-> mkInputStream :: String -> InputStream
-> mkInputStream s = inputStreamFromString s
-
-> constructDeclFromC :: NodeInfo -> String -> CDecl
-> constructDeclFromC ni s =
-> let result = (execParser_ extDeclP (mkInputStream s) $ posOfNode ni) in
-> case result of
-> -- parse succeeded, so we return the declaration
-> (Right (CDeclExt decl)) -> decl
-> -- parse failed, so we assert fail for now. The CDecl empty constructor is needed to match types
-> (Left pe) -> assert False (CDecl [] [] ni)
-
-> mkStmtFromC :: NodeInfo -> String -> CStat
-> mkStmtFromC ni s =
-> let result = (execParser_ statementP (mkInputStream s) $ posOfNode ni) in
-> case result of
-> -- parse succeeded, so we return the statement
-> (Right stmt) -> stmt
-> (Left pe) -> trace ("Parse Error in:\n\n" ++
-> ("mkStmtFromC failed: " ++ s) ++
-> (show pe)) $ assert False (CBreak ni)
-
-> mkStmtsFromCLines :: NodeInfo -> String -> [CStat]
-> mkStmtsFromCLines ni lines = [mkStmtFromC ni lines]
-
-> mkCompoundStmt :: Maybe String -> [CStat] -> NodeInfo -> CStat
-> mkCompoundStmt (Just label) stmts ni = CLabel (newIdent label ni) (CCompound [] (map CBlockStmt stmts) ni) [] ni
-> mkCompoundStmt Nothing stmts ni = CCompound [] (map CBlockStmt stmts) ni
-
-> mkCompoundWithDecls :: Maybe String -> [CDecl] -> [CStat] -> NodeInfo -> CStat
-> mkCompoundWithDecls (Just label) decls stmts ni =
-> CLabel (newIdent label ni) (CCompound [] ((map CBlockDecl decls) ++ (map CBlockStmt stmts)) ni) [] ni
-> mkCompoundWithDecls Nothing decls stmts ni =
-> CCompound [] ((map CBlockDecl decls) ++ (map CBlockStmt stmts)) ni
-
-> constructExprFromC :: NodeInfo -> String -> CExpr
-> constructExprFromC ni s =
-> let result = (execParser_ expressionP (mkInputStream s) $ posOfNode ni) in
-> case result of
-> -- parse succeeded, so we return the expression
-> (Right expr) -> expr
-> (Left pe) -> assert False (CVar (newIdent "blah" ni) ni)
-
-funDefDecl creates the return type declaration for a given function. The parameters to funDefDecl are
-the function definition and the name of the return type. For example, a function defined as:
-
-int ** myFunc(int a);
-
-would generate a CDecl like this:
-
-int ** ret;
-
-> mkRetDecl :: (CTypeSpec, [CDerivedDeclr]) -> String -> NodeInfo -> [CDecl]
-> mkRetDecl ((CVoidType _), []) name ni = []
-> mkRetDecl rtype name ni = [CDecl [(CTypeSpec (fst rtype))]
-> [(Just (CDeclr (Just $ newIdent name ni) (snd rtype) Nothing [] ni),
-> Nothing,
-> Nothing)]
-> ni]
-
-> mkRetDeclFromFunDef :: CFunDef -> String -> [CDecl]
-> mkRetDeclFromFunDef f name =
-> mkRetDecl rtype name (nodeInfo f)
-> where rtype = getFunDefReturn f
-
-Functions for building struct members from scratch
-
-Make a declarator: <derived> name;
-Examples:
-
-**foo;
-
-mkCDeclr "foo" [CPtrDeclr, CPtrDeclr] ...
-
-(*myFunPtr)(int bar, char *baz);
-
-mkCDeclr "myFunPtr" [CPtrDeclr, (CFunDeclr (Right [(CDecl [CTypeSpec CIntType] [("bar" ...)]), ...]) ...)]
-
-> mkCDeclr :: String -> [CDerivedDeclr] -> CDeclr
-> mkCDeclr name derived =
-> let ni = nodeInfo $ head derived
-> in CDeclr (Just (newIdent name ni)) derived Nothing [] ni
-
-> mkAnonCDeclr :: [CDerivedDeclr] -> CDeclr
-> mkAnonCDeclr derived =
-> let ni = nodeInfo $ head derived
-> in CDeclr Nothing derived Nothing [] ni
-
-Make a declaration: type <derived> name;
-Examples:
-
-int **foo;
-
-mkCDecl CIntType [CPtrDeclr, CPtrDeclr] "foo"
-
-struct myStruct bar;
-
-mkCDecl (CSUType (CStruct CStructTag "myStruct" Nothing [] ...) ...) [] "bar"
-
-myType *baz;
-
-mkCDecl (CTypeDef "myType") [CPtrDeclr] "baz"
-
-> mkCDecl :: CTypeSpec -> [CDerivedDeclr] -> String -> NodeInfo -> CDecl
-> mkCDecl mtype derives name ni = CDecl [CTypeSpec mtype] [(Just $ mkCDeclr name derives, Nothing, Nothing)] ni
-
-> mkAnonCDecl :: CTypeSpec -> [CDerivedDeclr] -> NodeInfo -> CDecl
-> mkAnonCDecl mtype derives ni = CDecl [CTypeSpec mtype] [(Just $ mkAnonCDeclr derives, Nothing, Nothing)] ni
-
-> genCDecl :: String -> String -> NodeInfo -> CDecl
-> genCDecl typedef name ni = mkCDecl (CTypeDef (newIdent typedef ni) ni) [] name ni
-
-> addBlockingTQ :: CDecl -> CDecl
-> addBlockingTQ (CDecl specs inits ni) = CDecl (CTypeQual ((CBlocking ni)):specs) inits ni
-
-Functions for building a struct from the name and array of members
-
-param1Decl can be created with mkCDecl.
-
-> mkStructDef :: Ident -> [CDecl] -> NodeInfo -> CTypeSpec
-> mkStructDef name members ni = CSUType (CStruct CStructTag (Just name) (Just members) [] ni) ni
-
-> mkStructDefDecl :: String -> [CDecl] -> NodeInfo -> CDecl
-> mkStructDefDecl name members ni =
-> CDecl [CTypeSpec $ mkStructDef (newIdent name ni) members ni] [(Nothing, Nothing, Nothing)] ni
-
-> mkStructDecl :: String -> String -> NodeInfo -> CDecl
-> mkStructDecl tname name ni = mkCDecl (CSUType (CStruct CStructTag (Just $ newIdent tname ni)
-> Nothing
-> []
-> ni) ni) [] name ni
-
-> mkStructPtrDecl :: String -> String -> NodeInfo -> CDecl
-> mkStructPtrDecl tname name ni = mkCDecl (CSUType (CStruct CStructTag (Just $ newIdent tname ni)
-> Nothing
-> []
-> ni) ni) [(CPtrDeclr [] ni)] name ni
-
-> mkAnonStructPtrDecl :: String -> NodeInfo -> CDecl
-> mkAnonStructPtrDecl tname ni = mkAnonCDecl (CSUType (CStruct CStructTag (Just $ newIdent tname ni) Nothing [] ni) ni)
-> [(CPtrDeclr [] ni)] ni
-> mkIntDecl :: String -> NodeInfo -> CDecl
-> mkIntDecl name ni = mkCDecl (CIntType ni) [] name ni
-
-From a name list of parameters, and return type, construct an external declaration struct
-
-Example:
-
-struct myStruct
-{
- param1type param1;
- param2type param2;
-};
-
-genStructExtDecl "myStruct" [param1Decl, param2Decl]
-
-> genStructExtDecl :: String -> [CDecl] -> NodeInfo -> CExtDecl
-> genStructExtDecl name members ni = CDeclExt $ mkStructDefDecl name members ni
-
-Make a function pointer declarator: (*) (params);
-
-> mkFunPtrDeclr :: [CDecl] -> [CDerivedDeclr]
-> mkFunPtrDeclr params =
-> let ni = nodeInfo $ head params
-> in [CPtrDeclr [] ni, CFunDeclr (Right (params, False)) [] ni]
-
-Make the function pointer: void (* name) (params);
-
-> mkFunPtrDecl :: String -> CTypeSpec -> [CDecl] -> CDecl
-> mkFunPtrDecl name retType params =
-> let ni = nodeInfo retType
-> in mkCDecl retType (mkFunPtrDeclr params) name ni
-
-> mkFunPtrDerivedDecl :: String -> CTypeSpec -> [CDerivedDeclr] -> [CDecl] -> CDecl
-> mkFunPtrDerivedDecl name retType retDerived params =
-> let ni = nodeInfo retType
-> in mkCDecl retType ((mkFunPtrDeclr params) ++ retDerived) name ni
-
-> mkVoidFunPtr :: String -> [CDecl] -> CDecl
-> mkVoidFunPtr name params =
-> let ni = nodeInfo $ head params
-> in mkFunPtrDecl name (CVoidType ni) params
-
-> mkFunDeclr :: [CDecl] -> NodeInfo -> CDerivedDeclr
-> mkFunDeclr params ni =
-> CFunDeclr (Right (params, False)) [] ni
-
-> mkFunDecl :: String -> CTypeSpec -> [CDerivedDeclr] -> [CDecl] -> CDecl
-> mkFunDecl fname returnType returnDerived params =
-> let ni = nodeInfo returnType
-> in mkCDecl returnType ([mkFunDeclr params ni] ++ returnDerived) fname ni
-
-> mkFunDeclWithDeclSpecs :: String -> CTypeSpec -> [CDerivedDeclr] -> [CDeclSpec] -> [CDecl] -> CDecl
-> mkFunDeclWithDeclSpecs fname rType rDerived declSpecs params =
-> let ni = nodeInfo rType
-> in CDecl (declSpecs ++ [CTypeSpec rType])
-> [(Just $ mkCDeclr fname ([mkFunDeclr params ni] ++ rDerived),
-> Nothing, Nothing)] ni
-
-> mkFunPtrDeclWithDeclSpecs :: String -> CTypeSpec -> [CDerivedDeclr] -> [CDeclSpec] -> [CDecl] -> Maybe String -> CDecl
-> mkFunPtrDeclWithDeclSpecs fname rType rDerived declSpecs params initName =
-> let ni = nodeInfo rType
-> in CDecl (declSpecs ++ [CTypeSpec rType])
-> [(Just $ mkCDeclr fname ([CPtrDeclr [] ni, mkFunDeclr params ni] ++ rDerived),
-> (if isJust initName
-> then Just (CInitExpr (CVar (newIdent (fromJust initName) ni) ni) ni)
-> else Nothing), Nothing)] ni
-
-Remove the initializer from the declarator. For example:
-
-int a = 10;
-
-becomes:
-
-int a;
-
-We don't remove the initialization list, so:
-
-int a[2] = {1, 2};
-
-remains.
-
-> removeInitFromDeclr :: (Maybe CDeclr, Maybe CInit, Maybe CExpr) -> (Maybe CDeclr, Maybe CInit, Maybe CExpr)
-> removeInitFromDeclr ((,,) declr (Just (CInitExpr expr _)) cexpr) = (declr, Nothing, cexpr)
-> removeInitFromDeclr t = t
-
-> removeInitFromDecl :: CDecl -> CDecl
-> removeInitFromDecl (CDecl declspecs declrs ni) = (CDecl declspecs (map removeInitFromDeclr declrs) ni)
-
-> getInitFromDeclr :: (Maybe CDeclr, Maybe CInit, Maybe CExpr) -> Maybe CExpr
-> getInitFromDeclr ((,,) _ (Just (CInitExpr initexpr _)) _) = Just initexpr
-> getInitFromDeclr _ = Nothing
-
-> getNameFromDeclr :: (Maybe CDeclr, Maybe CInit, Maybe CExpr) -> Maybe Ident
-> getNameFromDeclr ((,,) (Just (CDeclr name _ _ _ _)) _ _) = name
-> getNameFromDeclr _ = Nothing
-
-Get the init statements from a declaration. As an example, the declaration:
-
-int a, b = 3, c = 4;
-
-results in the statements:
-
-b = 3;
-c = 4;
-
-> getInitStmtsFromDecl :: CDecl -> [CStat]
-> getInitStmtsFromDecl d@(CDecl declspecs declrs ni) = do
-> declr <- declrs
-> let name = getNameFromDeclr declr
-> init = getInitFromDeclr declr
-> ni = nodeInfo d
-> if isJust init && isJust name then (return $ mkAssignStmt (CVar (fromJust name) ni) (fromJust init)) else []
-
-> getInitsFromDecls :: [CDecl] -> [CStat]
-> getInitsFromDecls ds = join $ map getInitStmtsFromDecl ds
-
-> removeVarNameFromDeclr :: CDeclr -> CDeclr
-> removeVarNameFromDeclr (CDeclr name indirections asm attrs ni) =
-> (CDeclr Nothing indirections asm attrs ni)
-
-> removeVarFromDecl :: CDecl -> CDecl
-> removeVarFromDecl (CDecl specs indirs ni) = (CDecl specs (map stripVar indirs) ni) where
-> stripVar i@(cd, ci, ce) =
-> if isJust cd
-> then (Just (removeVarNameFromDeclr $ fromJust $ cd), Nothing, Nothing)
-> else i
-
-Given a lhs expression and rhs expression, construct the statement: lhs = rhs;
-
-> mkAssignStmt :: CExpr -> CExpr -> CStat
-> mkAssignStmt lexpr rexpr =
-> let ni = nodeInfo lexpr
-> in (CExpr (Just (CAssign CAssignOp lexpr rexpr ni)) ni)
-
-> mkFunCall :: CExpr -> CExpr -> [CExpr] -> CStat
-> mkFunCall ret call params =
-> let ni = nodeInfo ret
-> in (CExpr (Just (CAssign CAssignOp ret (CCall call params ni) ni)) ni)
-
-> mkVar :: String -> NodeInfo -> CExpr
-> mkVar s ni = (CVar (newIdent s ni) ni)
-
-Tack on a struct pointer variable to an expression (assuming its a CVar). For example, with an expression of "blah"
-
-addStructPtr "params" expr
-
-will make:
-
-params->blah
-
-> addStructPtr :: String -> CExpr -> CExpr
-> addStructPtr sname (CVar name ni) = CMember (CVar (newIdent sname ni) ni) name True ni
-> addStructPtr _ expr = expr
-
-> addAddrOp :: CExpr -> CExpr
-> addAddrOp c = (CUnary CAdrOp c (nodeInfo c))
-
-addStructPtrPrefix "ctl" "params" (CVar "blah")
-
-will make:
-
-ctl->params->blah
-
-> addStructPtrPrefix :: String -> String -> CExpr -> CExpr
-> addStructPtrPrefix sname pname (CVar name ni) = CMember (CMember (CVar (newIdent sname ni) ni) (newIdent pname ni) True ni) name True ni
-> addStructPtrPrefix _ _ e = e
-
-Same as above, but without the second pointer deref:
-
-ctl->params.blah
-
-> addStructPrefix :: String -> String -> CExpr -> CExpr
-> addStructPrefix sname pname (CVar name ni) =
-> CMember (CMember (CVar (newIdent sname ni) ni)
-> (newIdent pname ni) True ni) name False ni
-
-> addStructPrefixPrefix :: String -> String -> String -> CExpr -> CExpr
-> addStructPrefixPrefix sname p1name p2name (CVar name ni) =
-> CMember (CMember (CMember (CVar (newIdent sname ni) ni)
-> (newIdent p1name ni) True ni)
-> (newIdent p2name ni) False ni) name False ni
-
-> addStructPtrPrefixPrefix :: String -> String -> String -> CExpr -> CExpr
-> addStructPtrPrefixPrefix sname p1name p2name (CVar name ni) =
-> CMember (CMember (CMember (CVar (newIdent sname ni) ni) (newIdent p1name ni) True ni) (newIdent p2name ni) True ni) name False ni
-
-Take an assign statement, and insert a struct pointer prefix to the lhs. For example:
-
-addStructToAssign "params" "mymem" "funcall(a, 123)"
-
-results in the statement: params.mymem = funcall(a, 123);
-
-> addStructToAssign :: String -> String -> Ident -> CExpr -> CStat
-> addStructToAssign sname pname lvar rexpr =
-> let ni = nodeInfo rexpr
-> in (CExpr (Just (CAssign CAssignOp (addStructPrefix sname pname (CVar lvar ni)) rexpr ni)) ni)
-
-Take an assign statement, and insert a struct pointer prefix to the lhs. For example:
-
-addStructPtrToAssign "params" "mymem" "funcall(a, 123)"
-
-results in the statement: params->mymem = funcall(a, 123);
-
-> addStructPtrToAssign :: String -> String -> Ident -> CExpr -> CStat
-> addStructPtrToAssign sname pname lvar rexpr =
-> let ni = nodeInfo rexpr
-> in (CExpr (Just (CAssign CAssignOp (addStructPtrPrefix sname pname (CVar lvar ni)) rexpr ni)) ni)
-
-> mkFunDef :: CTypeSpec -> [CDeclSpec] -> String -> [CDecl] -> CStat -> CExtDecl
-> mkFunDef return dspecs fname params stmts =
-> let ni = if null params then nodeInfo stmts else nodeInfo $ head params
-> in CFDefExt (CFunDef (dspecs ++ [(CTypeSpec return)])
-> (CDeclr (Just $ newIdent fname ni)
-> [(CFunDeclr (Right (params, False)) [] ni)]
-> Nothing [] ni)
-> [] stmts ni)
-
-> mkStaticFunDecl :: CTypeSpec -> String -> [CDecl] -> CExtDecl
-> mkStaticFunDecl return fname params =
-> let ni = nodeInfo return
-> in CDeclExt (CDecl [(CStorageSpec (CStatic ni)),
-> (CTypeSpec return)]
-> [((Just $ mkCDeclr fname [mkFunDeclr params ni]), Nothing, Nothing)] ni)
-
-> mkStaticFunDef :: CTypeSpec -> String -> [CDecl] -> CStat -> CExtDecl
-> mkStaticFunDef return fname params stmts =
-> let ni = if null params then nodeInfo stmts else nodeInfo $ head params
-> in CFDefExt (CFunDef [(CStorageSpec (CStatic ni)), (CTypeSpec return)]
-> (CDeclr (Just $ newIdent fname ni)
-> [(CFunDeclr (Right (params, False)) [] ni)]
-> Nothing [] ni)
-> [] stmts ni)
-
-> mkIfCondition :: Maybe CExpr -> CExpr
-> mkIfCondition mexpr = if isJust mexpr then fromJust mexpr else CConst (CIntConst (cInteger 1) $ nodeInfo $ fromJust mexpr)
-
-> mkIfStmt :: Maybe CExpr -> [CStat] -> CStat
-> mkIfStmt cond stmts = CIf (mkIfCondition cond) (CCompound [] (map CBlockStmt stmts) $ nodeInfo $ fromJust cond) Nothing $ nodeInfo $ fromJust cond
-
-> mkIfElseStmt :: Maybe CExpr -> [CStat] -> [CStat] -> CStat
-> mkIfElseStmt cond ifstmts elsestmts =
-> CIf (mkIfCondition cond)
-> (CCompound [] (map CBlockStmt ifstmts) $ nodeInfo $ fromJust cond)
-> (Just (CCompound [] (map CBlockStmt elsestmts) $ nodeInfo $ fromJust cond)) $ nodeInfo $ fromJust cond
-
-> mkIntConst :: Integer -> NodeInfo -> CExpr
-> mkIntConst v ni = CConst (CIntConst (cInteger v) ni)
-
-> mkGoto :: String -> NodeInfo -> CStat
-> mkGoto s ni = (CGoto (newIdent s ni) ni)
-
-> mkLabel :: String -> [CStat] -> NodeInfo -> CStat
-> mkLabel s stmts ni = (CLabel (newIdent s ni) (CCompound [] (map CBlockStmt stmts) ni) [] ni)
-
-> canonCDecl :: CDecl -> String
-> canonCDecl (CDecl declspecs derived _) =
-> let t = getTypeSpec declspecs
-> tstr = case t of
-> (CSUType (CStruct CStructTag (Just n) _ _ _) _) -> "struct_" ++ (identToString n)
-> (CTypeDef n _) -> identToString n
-> (CSUType (CStruct CUnionTag (Just n) _ _ _) _) -> "union_" ++ (identToString n)
-> (CEnumType (CEnum (Just n) _ _ _) _) -> "enum_" ++ (identToString n)
-> _ -> show $ pretty t
-> ptrs = filter isDerivedPtr (join $ map getDerivedDeclrs derived)
-> ptrStr = concat [ "_ptr" | p <- ptrs ]
-> in tstr ++ ptrStr
diff --git a/oldcode/src/gsl/parser/CParse.lhs b/oldcode/src/gsl/parser/CParse.lhs
deleted file mode 100644
index de068d5..0000000
--- a/oldcode/src/gsl/parser/CParse.lhs
+++ /dev/null
@@ -1,406 +0,0 @@
-> module CParse where
-> import Language.C
-> import Language.C.Data.Node
-> import Language.C.Data.Position
-> import Language.C.Data.Ident
-> import Language.C.System.GCC -- preprocessor used
-> import System.Environment
-> import Data.Typeable
-> import Data.Maybe
-> import Data.Either
-> import Data.HashTable
-> import Data.Generics
-> import Data.Generics.Schemes
-> import Control.Monad.State
-> import qualified Data.ByteString
-> import qualified Data.ByteString.Char8
-> import Control.Exception
-> import Data.List
-> import System.IO.Unsafe
-> import Debug.Trace
-
-Add a first function for triples
-
-> tfst :: (a,b,c) -> a
-> tfst ((,,) a _ _) = a
-
-Get the line number and column string from a node info. For example, a variable at line 123, column 34 will result
-in the string:
-
-_123_34_
-
-> getPosVarStr :: NodeInfo -> String
-> getPosVarStr (NodeInfo p _ _) = "_" ++ (show $ posRow p) ++ "_" ++ (show $ posColumn p) ++ "_"
-
-Get the declarators from a list of triples
-
-> getCDeclrsFromList :: [(Maybe CDeclr, Maybe CInit, Maybe CExpr)] -> [CDeclr]
-> getCDeclrsFromList cdeclrs =
-> concatMap (\cd -> if isJust $ tfst cd then [fromJust $ tfst cd] else []) cdeclrs
-
- Get the name from a declarator
-
-> getCDeclrName :: CDeclr -> Ident
-> getCDeclrName (CDeclr name _ _ _ _) = fromJust $ name
-
-Get the names from a declaration. For example:
-
-int a, b, c = 3;
-
-Will result in ["a", "b", "c"]
-
-> getCDeclNames :: CDecl -> [Ident]
-> getCDeclNames (CDecl _ declrs _) = map getCDeclrName $ getCDeclrsFromList declrs
-
-> getCDeclName :: CDecl -> Ident
-> getCDeclName (CDecl _ declrs _) = getCDeclrName $ head $ getCDeclrsFromList declrs
-
-> hasDeclrName :: CDecl -> Bool
-> hasDeclrName (CDecl _ declrs _) = any (\(CDeclr name _ _ _ _) -> isJust name) $ getCDeclrsFromList declrs
-
-> splitDecls :: CDecl -> [CDecl]
-> splitDecls (CDecl specifiers initdecls ni) = map (\dlr -> (CDecl specifiers [dlr] ni)) initdecls
-
-> isStructTypeSpec :: CDeclSpec -> Bool
-> isStructTypeSpec (CTypeSpec (CSUType (CStruct _ _ _ _ _) _)) = True
-> isStructTypeSpec _ = False
-
-> isTypeDefSpec :: CDeclSpec -> Bool
-> isTypeDefSpec (CStorageSpec (CTypedef _)) = True
-> isTypeDefSpec _ = False
-
-> isTypeDefTypeSpec :: CDeclSpec -> Bool
-> isTypeDefTypeSpec (CTypeSpec (CTypeDef _ _)) = True
-> isTypeDefTypeSpec _ = False
-
-> isVoidTypeSpec :: CDeclSpec -> Bool
-> isVoidTypeSpec (CTypeSpec (CVoidType _)) = True
-> isVoidTypeSpec _ = False
-
-> isStructDecl :: CDecl -> Bool
-> isStructDecl (CDecl specs initdecls ni) = any isStructTypeSpec specs
-
-> isTypeDefDecl :: CDecl -> Bool
-> isTypeDefDecl (CDecl (s:specs) initdecls ni) = isTypeDefSpec s
-> isTypeDefDecl _ = False
-
-> structSpecHasName :: CDeclSpec -> Bool
-> structSpecHasName (CTypeSpec (CSUType (CStruct _ (Just _) _ _ _) _)) = True
-> structSpecHasName _ = False
-
-> structSpecHasFields :: CDeclSpec -> Bool
-> structSpecHasFields (CTypeSpec (CSUType (CStruct _ _ (Just fields) _ _) _)) = True
-> structSpecHasFields _ = False
-
-> isTypeDefOfPredefStruct :: CDecl -> Bool
-> isTypeDefOfPredefStruct (CDecl (s1:s2:[]) initdecls ni) =
-> isTypeDefSpec s1 && isStructTypeSpec s2 && (not $ structSpecHasFields s2)
-> isTypeDefOfPredefStruct _ = False
-
-> isTypeDefOfInlineStruct :: CDecl -> Bool
-> isTypeDefOfInlineStruct (CDecl (s1:s2:[]) initdecls ni) =
-> isTypeDefSpec s1 && isStructTypeSpec s2 && structSpecHasFields s2
-> isTypeDefOfInlineStruct _ = False
-
-> isTypeDefOfTypeDef :: CDecl -> Bool
-> isTypeDefOfTypeDef (CDecl (s1:s2:[]) _ _) =
-> isTypeDefSpec s1 && isTypeDefTypeSpec s2
-> isTypeDefOfTypeDef _ = False
-
-> getStructName :: CDeclSpec -> Maybe String
-> getStructName (CTypeSpec (CSUType (CStruct _ n _ _ _) _)) = if isJust n then Just $ identToString $ fromJust n else Nothing
-> getStructName _ = Nothing
-
-> getStructTypeDefInfo :: CDecl -> Maybe (Maybe String, String)
-> getStructTypeDefInfo d@(CDecl (s1:s2:[]) initdecls ni)
-> | isTypeDefSpec s1 && isStructTypeSpec s2 =
-> let ((Just (CDeclr (Just (Ident tname _ _)) _ _ _ _)), _, _) = head initdecls
-> in Just (getStructName s2, tname)
-> | otherwise = Nothing
-
-> getTypeDefTypeDefInfo :: CDecl -> Maybe (String, String)
-> getTypeDefTypeDefInfo d@(CDecl (s1:s2:[]) initdecls ni)
-> | isTypeDefSpec s1 && isTypeDefTypeSpec s2 =
-> let (CTypeSpec (CTypeDef (Ident pname _ _) _)) = s2
-> ((Just (CDeclr (Just (Ident tname _ _)) _ _ _ _)), _, _) = head initdecls
-> in Just (pname, tname)
-> | otherwise = Nothing
-
-> getStructInfo :: CDecl -> Maybe (Maybe String, [CDecl])
-> getStructInfo (CDecl s i n) =
-> let t = filter isStructTypeSpec s
-> in case head t of
-> (CTypeSpec (CSUType (CStruct _ (Just n) (Just f) _ _) _)) -> Just (Just $ identToString n, f)
-> (CTypeSpec (CSUType (CStruct _ Nothing (Just f) _ _) _)) -> Just (Nothing, f)
-> _ -> Nothing
-
-> getTypeName :: CDecl -> Maybe String
-> getTypeName d@(CDecl s _ _) =
-> case head s of
-> (CTypeSpec (CSUType (CStruct _ (Just n) _ _ _) _)) -> Just $ identToString n
-> _ -> Nothing
-
-> isVarDecl :: CDecl -> Bool
-> isVarDecl d@(CDecl specs initdecls ni) =
-> (not $ isFunDecl d) && (not $ any isTypeDefSpec specs) && hasDeclrName d
-
-> getVarName :: CDecl -> String
-> getVarName d@(CDecl _ initdecls _) = vname
-> where ((Just (CDeclr (Just (Ident vname _ _)) _ _ _ _)), _, _) = head initdecls
-
-For a compound block item (part of a compound block of statements), is the item a declaration?
-
-> isFuncDecl :: CBlockItem -> Bool
-> isFuncDecl (CBlockDecl decl) = True
-> isFuncDecl _ = False
-
-For a compound block item (part of a compound block of statements), is the item a declaration?
-
-> getFuncDecl :: CBlockItem -> CDecl
-> getFuncDecl (CBlockDecl decl) = decl
-
-For the array of compound block items, get the elements that are declarations
-
-> findFuncDecls :: [CBlockItem] -> [CDecl]
-> findFuncDecls decls = [ getFuncDecl d | d <- decls, isFuncDecl d ]
-
-For the function derived declarator, get the function parameters
-
-> getCFunDeclrParams :: CDerivedDeclr -> [CDecl]
-> getCFunDeclrParams (CFunDeclr (Right (declarations, isVariadic)) _ ni)
-> | not isVariadic = declarations
-> | otherwise = error "Variadic functions are unsupported with the __blocking specifier on function"
-
-> isTypeSpec :: CDeclSpec -> Bool
-> isTypeSpec (CTypeSpec c) = True
-> isTypeSpec _ = False
-
-> getTypeSpecFromDeclSpec :: CDeclSpec -> CTypeSpec
-> getTypeSpecFromDeclSpec (CTypeSpec c) = c
-
-> getTypeSpec :: [CDeclSpec] -> CTypeSpec
-> getTypeSpec declspecs = getTypeSpecFromDeclSpec $ fromJust $ find isTypeSpec declspecs
-
-> getTypeSpecFromDecl :: CDecl -> CTypeSpec
-> getTypeSpecFromDecl (CDecl dspecs _ _) = getTypeSpec dspecs
-
-> isDerivedPtr :: CDerivedDeclr -> Bool
-> isDerivedPtr (CPtrDeclr _ _) = True
-> isDerivedPtr _ = False
-
-> getDerivedDeclrs :: (Maybe CDeclr, Maybe CInit, Maybe CExpr) -> [CDerivedDeclr]
-> getDerivedDeclrs (Just (CDeclr _ derived _ _ _), _, _) = derived
-> getDerivedDeclrs _ = []
-
-> getDerivedPtrs :: CDeclr -> [CDerivedDeclr]
-> getDerivedPtrs (CDeclr _ derivedDeclrs _ _ _) =
-> if any isDerivedFun derivedDeclrs then
-> tail $ snd $ break isDerivedFun derivedDeclrs
-> else filter (not . isDerivedPtr) derivedDeclrs
-
-> getReturn :: CDecl -> (CTypeSpec, [CDerivedDeclr])
-> getReturn d@(CDecl specs declarators ni) =
-> let declrs = getCDeclrsFromList declarators
-> derivedPtrs = if null declrs then [] else getDerivedPtrs $ head declrs
-> in (getTypeSpec specs, derivedPtrs)
-
-> isDerivedFun :: CDerivedDeclr -> Bool
-> isDerivedFun (CFunDeclr (Right ((,) params variadic)) _ _)
-> | otherwise = True
-> isDerivedFun _ = False
-
-> getDerivedFun :: CDeclr -> CDerivedDeclr
-> getDerivedFun (CDeclr _ derivedDeclrs _ _ _) = fromJust $ find isDerivedFun derivedDeclrs
-
-> getDerivedFunParams :: CDerivedDeclr -> [CDecl]
-> getDerivedFunParams (CFunDeclr (Right ((,) params variadic)) _ _)
-> | variadic = error "Variadic blocking functions not supported!"
-> | otherwise = params
-
-> getParams :: CDecl -> [CDecl]
-> getParams (CDecl specs declarators ni) =
-> let declrs = getCDeclrsFromList declarators
-> in if null declrs then [] else getDerivedFunParams $ getDerivedFun $ head declrs
-
-> splitFunDecl :: CDecl -> (String, (CTypeSpec, [CDerivedDeclr]), [CDecl])
-> splitFunDecl decl = (identToString $ head $ getCDeclNames decl, getReturn decl, getParams decl)
-
-> getFunInfo :: CFunDef -> (String, (CTypeSpec, [CDerivedDeclr]), [CDecl])
-> getFunInfo f = (getFunDefName f, getFunDefReturn f, getFunDefParams f)
-
-Get the name of a function definition
-
-> getFunDefName :: CFunDef -> String
-> getFunDefName (CFunDef _ (CDeclr name _ _ _ _) _ _ _) = identToString $ fromJust name
-
-Get the parameter declarations of a function definition
-
-> getFunDefParams :: CFunDef -> [CDecl]
-> getFunDefParams (CFunDef _ (CDeclr _ derivedDeclrs _ _ _) _ _ _) =
-> let fundeclr = find isFunDeclr derivedDeclrs
-> in getCFunDeclrParams (fromJust fundeclr)
-
-Get the return type and derived declarators for a function definition
-
-> getFunDefReturn :: CFunDef -> (CTypeSpec, [CDerivedDeclr])
-> getFunDefReturn (CFunDef specs (CDeclr _ derivedDeclrs _ _ _) _ _ _) =
-> let (CTypeSpec tspec) = fromJust $ find isTypeSpec specs
-> derivedPtrs = filter isDerivedPtr derivedDeclrs
-> in (tspec, derivedPtrs)
-
-> isBlockingSpec :: CDeclSpec -> Bool
-> isBlockingSpec (CTypeQual (CBlocking _)) = True
-> isBlockingSpec _ = False
-
-> isPrivateSpec :: CDeclSpec -> Bool
-> isPrivateSpec (CTypeQual (CPPrivate _)) = True
-> isPrivateSpec _ = False
-
-> isSharedSpec :: CDeclSpec -> Bool
-> isSharedSpec (CTypeQual (CPShared _)) = True
-> isSharedSpec _ = False
-
-> isStdSpec :: CDeclSpec -> Bool
-> isStdSpec c = (not $ isBlockingSpec c) && (not $ isPrivateSpec c) && (not $ isSharedSpec c)
-
-> isRemoteSpec :: CDeclSpec -> Bool
-> isRemoteSpec (CTypeQual (CRemote _)) = True
-> isRemoteSpec _ = False
-
-> getDeclSpecs :: CFunDef -> [CDeclSpec]
-> getDeclSpecs (CFunDef declspecs _ _ _ _) = declspecs
-
-> getAllStorageSpecs :: [CDeclSpec] -> [CStorageSpec]
-> getAllStorageSpecs declspecs = map getSto $ filter isSto declspecs
-> where isSto (CStorageSpec s) = True
-> isSto _ = False
-> getSto (CStorageSpec s) = s
-
-> getStorageSpecs :: CFunDef -> [CStorageSpec]
-> getStorageSpecs (CFunDef declspecs _ _ _ _) = getStorageSpecsFromDeclSpecs declspecs
-
-> getStorageSpecsFromDeclSpecs :: [CDeclSpec] -> [CStorageSpec]
-> getStorageSpecsFromDeclSpecs ((CStorageSpec s):specs)
-> | isStdSpec (CStorageSpec s) = s:(getStorageSpecsFromDeclSpecs specs)
-> | otherwise = getStorageSpecsFromDeclSpecs specs
-> getStorageSpecsFromDeclSpecs (s:specs) = getStorageSpecsFromDeclSpecs specs
-> getStorageSpecsFromDeclSpecs [] = []
-
-> filterDecls :: (CDeclSpec -> Bool) -> (CDeclSpec -> Bool) -> (CDecl -> CDecl) -> [CDecl] -> [CDecl]
-> filterDecls anyFunc allFunc transFunc decls = map transFunc $ filter isFilterDecl decls
-> where isFilterDecl (CDecl specs l ni) = any anyFunc specs && all allFunc specs
-
-> isStorageSpec :: CDeclSpec -> Bool
-> isStorageSpec (CStorageSpec _) = True
-> isStorageSpec _ = False
-
-> isTypeQual :: CDeclSpec -> Bool
-> isTypeQual (CTypeQual _) = True
-> isTypeQual _ = False
-
-> isStdTypeQual :: CDeclSpec -> Bool
-> isStdTypeQual (CTypeQual (CRemote _)) = False
-> isStdTypeQual (CTypeQual (CBlocking _)) = False
-> isStdTypeQual (CTypeQual (CPPrivate _)) = False
-> isStdTypeQual (CTypeQual (CPShared _)) = False
-> isStdTypeQual (CTypeQual _) = True
-> isStdTypeQual _ = False
-
-> filterStdDeclSpecs :: [CDeclSpec] -> [CDeclSpec]
-> filterStdDeclSpecs declspecs = filter (\s -> isStorageSpec s || isStdTypeQual s) declspecs
-
-> getStdDeclSpecs :: CFunDef -> [CDeclSpec]
-> getStdDeclSpecs (CFunDef declspecs _ _ _ _) = filterStdDeclSpecs declspecs
-
-> removeSharedSpecFromDecl :: CDecl -> CDecl
-> removeSharedSpecFromDecl (CDecl specs l ni) = (CDecl rspecs l ni)
-> where rspecs = filter (not . isSharedSpec) specs
-
-> removePrivateSpecFromDecl :: CDecl -> CDecl
-> removePrivateSpecFromDecl (CDecl specs l ni) = (CDecl rspecs l ni)
-> where rspecs = filter (not . isPrivateSpec) specs
-
-> removeRemoteSpecFromFunDef :: CExtDecl -> CExtDecl
-> removeRemoteSpecFromFunDef (CFDefExt (CFunDef specs declr decls stmt ni)) =
-> let newspecs = filter (not . isRemoteSpec) specs
-> in (CFDefExt (CFunDef newspecs declr decls stmt ni))
-
-Get the local declarations for a function definition
-
-> getFunLocalDeclarations :: CFunDef -> [CDecl]
-> getFunLocalDeclarations (CFunDef _ _ _ (CCompound _ bitems _) _) = findFuncDecls bitems
-
-> getLocalDeclarations :: CStat -> [CDecl]
-> getLocalDeclarations (CPBranch (CCompound _ bitems _) _) = findFuncDecls bitems
-> getLocalDeclarations (CPWait (CCompound _ bitems _) _) = findFuncDecls bitems
-> getLocalDeclarations _ = error "Not handled!"
-
-> getCallName :: CExpr -> String
-> getCallName (CCall (CVar n _) _ _) = identToString n
-> getCallName (CCall _ _ ni) = "fptr"
-
-> getCallParams :: CExpr -> [CExpr]
-> getCallParams (CCall _ p _) = p
-
-> getCallNodeInfo :: CExpr -> NodeInfo
-> getCallNodeInfo (CCall _ _ ni) = ni
-
-> getBlockStmt :: CBlockItem -> Maybe CStat
-> getBlockStmt (CBlockStmt stmt) = Just stmt
-> getBlockStmt _ = Nothing
-
-> getStmtsFromBlockItems :: [CBlockItem] -> [CStat]
-> getStmtsFromBlockItems bitems = [ fromJust b | b <- map getBlockStmt bitems, isJust b ]
-
-> getFunStmts :: CFunDef -> [CStat]
-> getFunStmts (CFunDef _ _ _ (CCompound _ bitems _) _) = getStmtsFromBlockItems bitems
-
-> getStmtList :: CStat -> [CStat]
-> getStmtList (CCompound _ bitems _) = getStmtsFromBlockItems bitems
-> getStmtList c = [c]
-
-> getForExprs :: CStat -> (Maybe CExpr, Maybe CExpr, Maybe CExpr)
-> getForExprs (CFor (Left init) expr1 expr2 _ _) = (init, expr1, expr2)
-
-> isFunDeclr :: CDerivedDeclr -> Bool
-> isFunDeclr (CFunDeclr _ _ _) = True
-> isFunDeclr _ = False
-
-> isFunDecl :: CDecl -> Bool
-> isFunDecl (CDecl specs drs _) = or $ map (any isFunDeclr) $ map getDerivedDeclrs drs
-
-> blockItemIsDecl :: CBlockItem -> Bool
-> blockItemIsDecl (CBlockDecl _) = True
-> blockItemIsDecl _ = False
-
-> isCompound :: CStat -> Bool
-> isCompound (CCompound _ _ _) = True
-> isCompound _ = False
-
-> stmtsHaveDecl :: CStat -> (Bool, NodeInfo)
-> stmtsHaveDecl (CCompound i bitems ni) = (any blockItemIsDecl bitems, ni)
-> stmtsHaveDecl c = (False, nodeInfo c)
-
-> isVoidType :: CDecl -> Bool
-> isVoidType (CDecl specs declarators ni) =
-> let derivedDeclrs = concatMap getDerivedDeclrs declarators
-> in (not $ any isDerivedPtr derivedDeclrs) && (any isVoidTypeSpec specs)
-
-> isVoidReturn :: (CTypeSpec, [CDerivedDeclr]) -> Bool
-> isVoidReturn (CVoidType _, []) = True
-> isVoidReturn _ = False
-
-> isReturnStmt :: CStat -> Bool
-> isReturnStmt (CReturn _ _) = True
-> isReturnStmt _ = False
-
-> justVoid :: [CDecl] -> Bool
-> justVoid decls = ((length decls) < 2) && (any isVoidType decls)
-
-> isBreak :: CStat -> Maybe CStat
-> isBreak b@(CBreak _) = Just b
-> isBreak _ = Nothing
-
-> isPBreak :: CStat -> Maybe CStat
-> isPBreak b@(CPBreak _) = Just b
-> isPBreak _ = Nothing
diff --git a/oldcode/src/gsl/parser/CUtils.lhs b/oldcode/src/gsl/parser/CUtils.lhs
deleted file mode 100644
index 0cc7431..0000000
--- a/oldcode/src/gsl/parser/CUtils.lhs
+++ /dev/null
@@ -1,84 +0,0 @@
-> module CUtils (orElseM,
-> takeJust,
-> orElseMMaybe,
-> orElseMBool,
-> orElseMAdd,
-> spanM,
-> takeWhileM,
-> spliceM,
-> splitM) where
-> import Language.C
-> import Language.C.System.GCC -- preprocessor used
-> import System.Environment
-> import Data.Typeable
-> import Data.Maybe
-> import Data.Either
-> import Data.HashTable
-> import Data.Generics
-> import Data.Generics.Schemes
-> import Control.Monad.State
-> import qualified Data.ByteString
-> import qualified Data.ByteString.Char8
-> import Control.Exception
-> import Data.List
-> import System.IO.Unsafe
-> import Debug.Trace
-
-
-> orElseM :: (Monad m) => (a -> a -> a) -> m a -> m a -> m a
-> orElseM compare x y = do mx <- x; my <- y; return $ compare mx my
-
-> takeJust :: Maybe a -> Maybe a -> Maybe a
-> takeJust a b = if isJust a then a else b
-
-> orElseMMaybe :: (Monad m) => m (Maybe a) -> m (Maybe a) -> m (Maybe a)
-> orElseMMaybe = orElseM takeJust
-
-> orElseMBool :: (Monad m) => m Bool -> m Bool -> m Bool
-> orElseMBool = orElseM (||)
-
-> orElseMAdd :: (Monad m) => m Int -> m Int -> m Int
-> orElseMAdd = orElseM (+)
-
-> spanM :: (Monad m) => (a -> m Bool) -> [a] -> m ([a],[a])
-> spanM _ [] = return ([], [])
-> spanM p (x:xs) = do
-> res <- p x
-> if res then (do (ys,zs) <- spanM p xs ; return (x:ys,zs)) else (return ([], x:xs))
-
-> takeWhileM :: (Monad m) => (a -> m Bool) -> [a] -> m [a]
-> takeWhileM _ [] = return []
-> takeWhileM p (x:xs) = do
-> res <- p x
-> if res then (do as <- takeWhileM p xs ; return $ x:as) else (return [])
-
-Take a monad predicate and a list, for each element of the list evaluate with the predicate
-and split the list at that point if the predicate returns False. So the result is a
-monad that contains a list of lists. Each internal list contains elements from the previous
-list up-to the failed element. For example, the list:
-
-[1, 2, 2, 1, 2, 3, 1, 1, 2, 3, 2, 3, 1, 2]
-
-and a predicate: (== 1)
-
-will return:
-
-[[1], [2, 2, 1] [2, 3, 1], [1], [2, 3, 2, 3, 1], [2]]
-
-> spliceM :: (Monad m) => (a -> m Bool) -> [a] -> m [[a]]
-> spliceM _ [] = return [[]]
-> spliceM p (x:xs) = do
-> res <- p x
-> l:ls <- spliceM p xs
-> if res then return $ (x:l):ls else return $ [x]:l:ls
-
-> splitM :: (Monad m) => (a -> m Bool) -> [a] -> m [Either a [a]]
-> splitM _ [] = return []
-> splitM p (a:[]) = do
-> res <- p a
-> if res then return [Right [a]] else return [Left a]
-> splitM p (x:xs) = do
-> res <- p x
-> l:ls <- splitM p xs
-> if res then case l of { Right as -> return $ (Right (x:as)):ls ; _ -> return $ (Right [x]):(l:ls) } else return $ (Left x):(l:ls)
-
diff --git a/oldcode/src/gsl/parser/ContextGen.lhs b/oldcode/src/gsl/parser/ContextGen.lhs
deleted file mode 100644
index 0214c84..0000000
--- a/oldcode/src/gsl/parser/ContextGen.lhs
+++ /dev/null
@@ -1,121 +0,0 @@
-> module ContextGen where
-> import Language.C
-> import Language.C.System.GCC -- preprocessor used
-> import System.Environment
-> import Data.Typeable
-> import Data.Maybe
-> import Data.Either
-> import Data.HashTable
-> import Control.Exception
-> import Control.Monad.State
-> import Data.List
-> import Debug.Trace
-> import CParse
-> import CUtils
-> import Walker
-> import Data.Generics
-> import Data.Generics.Schemes
-> import Data.Tree
-> import BlockingContext
-
-> mkBlockingContext :: CStat -> [CStat] -> [CStat] -> Maybe BlockingContext -> Maybe BlockingContext -> Maybe BlockingContext -> WalkerT BlockingContext
-
-> mkBlockingContext b@(CIf expr ifStmts elseStmts _) nbBefore nbAfter parent next prev = do
-> ifCtxStmts <- mkBlockingList <=< splitAtBlocking $ getStmtList ifStmts
-> elseCtxStmts <- if (isJust elseStmts)
-> then
-> liftM Just $ mkBlockingList <=< splitAtBlocking $
-> getStmtList $ fromJust elseStmts
-> else return Nothing
-> return $ IfContext b ifCtxStmts elseCtxStmts nbBefore nbAfter parent next prev
-
-> mkBlockingContext b@(CFor init expr2 expr3 stmts _) nbBefore nbAfter parent next prev = do
-> forCtxStmts <- mkBlockingList <=< splitAtBlocking $ getStmtList stmts
-> return $ ForContext b forCtxStmts nbBefore nbAfter parent next prev
-
-> mkBlockingContext b@(CWhile expr stmts isDoWhile _) nbBefore nbAfter parent next prev = do
-> whileStmtsCtx <- mkBlockingList <=< splitAtBlocking $ getStmtList stmts
-> return $ WhileContext b whileStmtsCtx nbBefore nbAfter parent next prev
-
-> mkBlockingContext b@(CPWait stmts _) nbBefore nbAfter parent next prev = do
-> waitCtx <- mkBlockingList <=< splitAtBlocking $ getStmtList stmts
-> let (NodeInfo p _ _) = nodeInfo b
-> pwaitId = "pwait_" ++ (show $ posRow p) ++ "_" ++ (show $ posColumn p)
-> return $ PWaitContext pwaitId b waitCtx nbBefore nbAfter parent next prev
-
-> mkBlockingContext b@(CPBranch stmts _) nbBefore nbAfter parent next prev = do
-> branchCtx <- mkBlockingList <=< splitAtBlocking $ getStmtList stmts
-> let (NodeInfo p _ _) = nodeInfo b
-> pbranchId = "pbranch_" ++ (show $ posRow p) ++ "_" ++ (show $ posColumn p)
-> return $ PBranchContext pbranchId b branchCtx nbBefore nbAfter parent next prev
-
-> mkBlockingContext b nbBefore nbAfter parent next prev =
-> return $ BlockingStmt b nbBefore nbAfter parent next prev
-
-
-> mkBlockingList :: [Either CStat [CStat]] -> WalkerT [BlockingContext]
-
-> mkBlockingList ((Right nbl):(Left b):(Right nbr):es) = do
-> ctx <- mkBlockingContext b nbl nbr Nothing Nothing Nothing
-> rest <- mkBlockingList $ (Right nbr):es
-> return $ ctx:rest
-
-> mkBlockingList ((Left b):(Right nbr):es) = do
-> ctx <- mkBlockingContext b [] nbr Nothing Nothing Nothing
-> rest <- mkBlockingList $ (Right nbr):es
-> return $ ctx:rest
-
-> mkBlockingList ((Right nbl):(Left b):es) = do
-> ctx <- mkBlockingContext b nbl [] Nothing Nothing Nothing
-> rest <- mkBlockingList es
-> return $ ctx:rest
-
-> mkBlockingList ((Left b):es) = do
-> ctx <- mkBlockingContext b [] [] Nothing Nothing Nothing
-> rest <- mkBlockingList es
-> return $ ctx:rest
-
-> mkBlockingList ((Right _):[]) = return []
-> mkBlockingList [] = return []
-
-> generateContext :: CFunDef -> WalkerT BlockingContext
-> generateContext funDef = do
-> ctxStmts <- mkBlockingList <=< splitAtBlocking $ getFunStmts funDef
-> let fctx = FunContext funDef ctxStmts Nothing Nothing Nothing
-> return $ mkContextTree Nothing Nothing Nothing fctx
-
-> isBlockingCall :: CExpr -> WalkerT Bool
-> isBlockingCall c@(CCall v args _) = do
-> res <- lookupBlocking v
-> if (isJust res) then (return True) else (return False)
-> isBlockingCall _ = return False
-
-> containsBlockingCall :: CStat -> WalkerT Bool
-> containsBlockingCall stmt = do
-> anyBlocking <- everything orElseMBool (mkQ (return False) isBlockingCall) $ stmt
-> if not anyBlocking then
-> case stmt of
-> (CPBranch stmts ni) -> do
-> fstr <- getFilePosStr ni
-> error $ fstr ++ ": The pbranch block does not contain a blocking call"
-> (CPWait stmts ni) -> do
-> fstr <- getFilePosStr ni
-> error $ fstr ++ ": The pwait block does not contain a blocking call"
-> _ -> return anyBlocking
->
-> else return $ anyBlocking
-
-> splitAtBlocking :: [CStat] -> WalkerT ([Either CStat [CStat]])
-> splitAtBlocking ls = do
-> split <- splitM ((liftM not) . containsBlockingCall) ls
-> return split
-
-> countBlocking :: CExpr -> WalkerT Int
-> countBlocking (CCall e _ _) = do
-> res <- lookupBlocking e
-> if (isJust res) then (return 1) else (return 0)
-> countBlocking _ = return 0
-
-> countBlockingCalls :: CStat -> WalkerT Int
-> countBlockingCalls stmt = do
-> everything orElseMAdd (mkQ (return 0) countBlocking) $ stmt
diff --git a/oldcode/src/gsl/parser/Header.lhs b/oldcode/src/gsl/parser/Header.lhs
deleted file mode 100644
index bb8150a..0000000
--- a/oldcode/src/gsl/parser/Header.lhs
+++ /dev/null
@@ -1,100 +0,0 @@
-> module Header where
-> import Language.C
-> import Language.C.Data.Position
-> import Language.C.Data.Node
-> import Language.C.System.GCC -- preprocessor used
-> import Language.C.Data.Ident
-> import System.Environment
-> import System.Console.GetOpt
-> import System.Exit
-> import Data.Typeable
-> import Data.Maybe
-> import Data.Either
-> import Data.HashTable
-> import Data.Generics
-> import Data.Generics.Schemes
-> import qualified Data.ByteString
-> import qualified Data.ByteString.Char8
-> import Control.Monad.State
-> import Control.Exception
-> import Data.List
-> import CGen
-> import CParse
-> import CUtils
-> import System.IO.Unsafe
-> import Debug.Trace
-> import Data.Tree
-> import BlockingContext
-> import Walker
-> import ContextGen
-> import Serialize
-
-> data HeaderS = HeaderS { header :: [String], trans :: Bool, pos :: Position }
-
-> newHeaderState :: FilePath -> IO HeaderS
-> newHeaderState f = do
-> s <- readFile f
-> return $ HeaderS (lines s) False (position 0 f 0 0)
-
-> type HeaderT = StateT HeaderS IO
-
-> getTrans :: HeaderT Bool
-> getTrans = do { h <- get ; return $ trans h }
-
-> setTrans :: Bool -> HeaderT ()
-> setTrans b = do { (HeaderS h l p) <- get ; put (HeaderS h b p) }
-
-> getLastPos :: HeaderT Position
-> getLastPos = do { h <- get ; return $ pos h }
-
-> setLastPos :: Position -> HeaderT ()
-> setLastPos np = do { (HeaderS h l p) <- get ; put (HeaderS h l np) }
-
-> getHeaderLines :: Int -> HeaderT [String]
-> getHeaderLines i = do
-> (HeaderS h l p) <- get
-> let (n, rest) = splitAt i $ h
-> put (HeaderS rest l p)
-> return n
-
-> getRemainingLines :: HeaderT [String]
-> getRemainingLines = do
-> (HeaderS h l p) <- get
-> return h
-
-> skipBytes :: Int -> HeaderT ()
-> skipBytes i = do
-> (HeaderS h l p) <- get
-> let (n, rest) = splitAt i $ unlines h
-> put (HeaderS (lines rest) l p)
-
-> outputHeader :: FilePath -> FilePath -> [([CExtDecl], CExtDecl)] -> IO ()
-> outputHeader hf outf pairs = do
-> writeFile outf ""
-> hs <- newHeaderState hf
-> runStateT (outputPairs hf outf pairs) $ hs
-> return ()
-
-> outputPairs :: FilePath -> FilePath -> [([CExtDecl], CExtDecl)] -> HeaderT ()
-> outputPairs hf outf pairs = do
-> mapM_ (outputPair hf outf) pairs
-> l <- getRemainingLines
-> liftIO $ appendFile outf $ unlines l
-
-> outputPair :: FilePath -> FilePath -> ([CExtDecl], CExtDecl) -> HeaderT ()
-> outputPair hf outf ([], c) | isInFile c hf = return ()
-> outputPair hf outf (ds, c) | isInFile c hf = do
-> lastPos <- getLastPos
-> let currentPos = posOfNode $ nodeInfo c
-> n = (posRow currentPos) - (posRow lastPos) - 1
-> ltp = fst $ getLastTokenPos $ nodeInfo c
-> hl <- getHeaderLines n
-> getHeaderLines $ (posRow $ ltp) - (posRow currentPos) + 1
-> liftIO $ appendFile outf $ unlines hl
-> liftIO $ appendFile outf $ unlines $ map (show . pretty) ds
-> setLastPos $ ltp
-> outputPair hf outf (ds, c) = do
-> return ()
-
-> isInFile :: CExtDecl -> String -> Bool
-> isInFile c f = (posFile $ posOfNode $ nodeInfo c) == f
diff --git a/oldcode/src/gsl/parser/Serialize.hs b/oldcode/src/gsl/parser/Serialize.hs
deleted file mode 100644
index 1b6d075..0000000
--- a/oldcode/src/gsl/parser/Serialize.hs
+++ /dev/null
@@ -1,137 +0,0 @@
-module Serialize (
- Serialize (..)
-) where
-
-import Text.PrettyPrint.HughesPJ
-
-import Language.C.Pretty
-import Language.C.Data
-import Language.C.Syntax
-
-class (Pretty s) => Serialize s where
-
- serialize :: s -> Doc
- serializePrec :: Int -> s -> Doc
-
- serialize = pretty
- serializePrec _ = serialize
-
-szLine :: NodeInfo -> Doc
-szLine ni = text "#" <+> int (posRow $ posOfNode ni) <+> (doubleQuotes $ text (posFile $ posOfNode ni))
-
--- serialize optional chunk
-maybeP :: (p -> Doc) -> Maybe p -> Doc
-maybeP = maybe empty
-
--- serialize when flag is true
-ifP :: Bool -> Doc -> Doc
-ifP flag doc = if flag then doc else empty
-
--- serialize _optional_ list, i.e. [] ~ Nothing and (x:xs) ~ Just (x:xs)
-mlistP :: ([p] -> Doc) -> [p] -> Doc
-mlistP pp xs = maybeP pp (if null xs then Nothing else Just xs)
-
--- serialize identifier
-identP :: Ident -> Doc
-identP = text . identToString
-
--- pretty print attribute annotations
-attrlistP :: [CAttr] -> Doc
-attrlistP [] = empty
-attrlistP attrs = text "__attribute__" <> parens (parens (hcat . punctuate comma . map pretty $ attrs))
-
--- analogous to showParen
-parenPrec :: Int -> Int -> Doc -> Doc
-parenPrec prec prec2 t = if prec <= prec2 then t else parens t
-
--- indent a chunk of code
-ii :: Doc -> Doc
-ii = nest 4
-
--- Serialize instances
-instance Serialize CTranslUnit where
- serialize c@(CTranslUnit edecls ni) = szLine ni $+$ vcat (map serialize edecls)
-
--- TODO: Check need of __extension__
-instance Serialize CExtDecl where
- serialize (CDeclExt decl) = (szLine $ nodeInfo decl) $+$ serialize decl <> semi
- serialize (CFDefExt fund) = (szLine $ nodeInfo fund) $+$ serialize fund
- serialize (CAsmExt asmStmt _) = text "asm" <> parens (pretty asmStmt) <> semi
-
-instance Serialize CFunDef where
- serialize (CFunDef declspecs declr decls stat ni) = -- Example:
- szLine ni
- $+$ hsep (map pretty declspecs) -- __attribute__((noreturn)) static long
- <+> pretty declr -- foo(b)
- $+$ (ii . vcat . map (<> semi) . map pretty) decls -- register long b;
- $$ serializePrec (-1) stat -- { ...
- -- }
-
-instance Serialize CStat where
- serialize (CLabel ident stat cattrs ni) = szLine ni $+$ identP ident <> text ":" <+> attrlistP cattrs $$ serialize stat
- serialize (CCase expr stat ni) =
- szLine ni $+$ text "case" <+> pretty expr <> text ":" $$ serialize stat
- serialize (CCases expr1 expr2 stat ni) =
- szLine ni $+$ text "case" <+> pretty expr1 <+> text "..."
- <+> pretty expr2 <> text ":" $$ serialize stat
- serialize (CDefault stat ni) = szLine ni $+$ text "default:" $$ serialize stat
- serialize (CExpr expr ni) = szLine ni $+$ (ii $ maybeP pretty expr <> semi)
- serialize c@(CCompound _ _ _) = serializePrec 0 c
- serialize (CIf expr stat estat ni) =
- szLine ni $+$
- (ii $ text "if" <+> text "(" <> pretty expr <> text ")")
- $+$ serializePrec (-1) stat
- $$ maybeP szElse estat
- where
- szElse (CIf else_if_expr else_if_stat else_stat ni) =
- szLine ni $+$
- text "else if" <+> text "(" <> pretty else_if_expr <> text ")"
- $+$ serializePrec (-1) else_if_stat
- $$ maybeP szElse else_stat
- szElse else_stmt =
- text "else" $+$ serializePrec (-1) else_stmt
-
- serialize (CSwitch expr stat ni) =
- szLine ni $+$
- (ii $ text "switch" <+> text "(" <> pretty expr <> text ")"
- $+$ serializePrec (-1) stat)
- serialize (CWhile expr stat False ni) =
- szLine ni $+$
- (ii $ text "while" <+> text "(" <> pretty expr <> text ")"
- $+$ serializePrec (-1) stat)
- serialize (CWhile expr stat True ni) =
- szLine ni $+$
- (ii $ text "do" $+$ serializePrec (-1) stat
- $$ text "while" <+> text "(" <> pretty expr <> text ");")
- serialize (CFor for_init cond step stat ni) =
- szLine ni $+$
- (ii $ text "for" <+> text "("
- <> either (maybeP pretty) pretty for_init <> semi
- <+> maybeP pretty cond <> semi
- <+> maybeP pretty step <> text ")" $+$ serializePrec (-1) stat)
- serialize (CGoto ident ni) = szLine ni $+$ (ii $ text "goto" <+> identP ident <> semi)
- serialize (CGotoPtr expr ni) = szLine ni $+$ (ii $ text "goto" <+> text "*" <+> prettyPrec 30 expr <> semi)
- serialize (CCont ni) = szLine ni $+$ (ii $ text "continue" <> semi)
- serialize (CBreak ni) = szLine ni $+$ (ii $ text "break" <> semi)
- serialize (CReturn Nothing ni) = szLine ni $+$ (ii $ text "return" <> semi)
- serialize (CReturn (Just e) ni) = szLine ni $+$ (ii $ text "return" <+> pretty e <> semi)
- serialize (CAsm asmStmt ni) = szLine ni $+$ pretty asmStmt
- serialize (CPWait stmt ni) =
- szLine ni $+$
- (ii $ text "pwait" $+$ prettyPrec (-1) stmt)
- serialize (CPBranch stmt ni) = szLine ni $+$ (ii $ text "pbranch" $+$ prettyPrec (-1) stmt)
- serialize (CPBreak ni) = szLine ni $+$ (ii $ text "pbreak" <> semi)
- serializePrec p (CCompound localLabels bis ni) =
- let inner = szLine ni $+$ text "{" $+$ mlistP ppLblDecls localLabels $+$ vcat (map serialize bis) $$ text "}"
- in if p == -1 then inner else ii inner
- where ppLblDecls = vcat . map (\l -> text "__label__" <+> identP l <+> semi)
- serializePrec _ p = serialize p
-
--- TODO: Check need of __extension__
-instance Serialize CBlockItem where
- serialize (CBlockStmt stat) = serialize stat
- serialize (CBlockDecl decl) = ii $ serialize decl <> semi
- serialize (CNestedFunDef fundef) = ii $ pretty fundef
-
-instance Serialize CDecl where
- serialize c@(CDecl specs divs ni) = szLine ni $+$ pretty c
diff --git a/oldcode/src/gsl/parser/Walker.lhs b/oldcode/src/gsl/parser/Walker.lhs
deleted file mode 100644
index 5c9c1c8..0000000
--- a/oldcode/src/gsl/parser/Walker.lhs
+++ /dev/null
@@ -1,325 +0,0 @@
-> module Walker where
-> import Language.C
-> import Language.C.System.GCC -- preprocessor used
-> import System.Environment
-> import Data.Typeable
-> import Data.Maybe
-> import Data.Either
-> import Data.HashTable
-> import Control.Exception
-> import Data.Generics
-> import Data.Generics.Schemes
-> import Data.List
-> import Debug.Trace
-> import Control.Monad.State
-> import BlockingContext
-> import CParse
-> import CGen
-> import Control.Monad.Error
-
-Registry for blocking operations. Once we see a function declaration
-with the __blocking specifier, we add it to the registry.
-
-> type ReturnType = (CTypeSpec, [CDerivedDeclr])
-> type FunDecl = (String, ReturnType, [CDecl])
-
-
-> data FPType = FPFun { name :: String , ftype :: FunDecl }
-> | FPStruct { name :: String , field :: String, inner :: FPType }
-
-> instance Show FPType where
-> show (FPFun n _) = "Fun: " ++ n
-> show (FPStruct n f t) = "Struct: " ++ n ++ ":" ++ f ++ "[" ++ (show t) ++ "]"
-
-> isFPStruct :: FPType -> Bool
-> isFPStruct (FPStruct _ _ _) = True
-> isFPStruct _ = False
-
-> getInner :: FPType -> Maybe FPType
-> getInner (FPStruct _ _ t) = Just t
-> getInner _ = Nothing
-
-> isFPFun :: FPType -> Bool
-> isFPFun (FPFun _ _) = True
-> isFPFun _ = False
-
-> getFunDecl :: FPType -> Maybe FunDecl
-> getFunDecl (FPFun _ f) = Just f
-> getFunDecl _ = Nothing
-
-> type FPTypeRegistry = [FPType]
-
-> type VarMap = HashTable String CDecl
-
-> data VarRegistry = VarRegistry { locals :: VarMap , globals :: VarMap }
-
-> newVarRegistry :: IO VarRegistry
-> newVarRegistry = do
-> l <- Data.HashTable.new (==) Data.HashTable.hashString
-> g <- Data.HashTable.new (==) Data.HashTable.hashString
-> return $ VarRegistry l g
-
-> resetLocalVarsInRegistry :: VarRegistry -> IO VarRegistry
-> resetLocalVarsInRegistry v = do
-> l <- Data.HashTable.new (==) Data.HashTable.hashString
-> return $ VarRegistry l (globals v)
-
-> insertGlobalDeclsToVarRegistry :: [CDecl] -> VarRegistry -> IO ()
-> insertGlobalDeclsToVarRegistry decls v = do
-> let alldecls = concatMap splitDecls decls
-> mapM_ (\d -> Data.HashTable.insert (globals v) (identToString . getCDeclName $ d) d) alldecls
-
-> insertLocalDeclsToVarRegistry :: [CDecl] -> VarRegistry -> IO ()
-> insertLocalDeclsToVarRegistry decls v = do
-> let alldecls = concatMap splitDecls decls
-> getDName d = identToString $ getCDeclName $ d
-> insertD d = Data.HashTable.insert (locals v) (getDName d) d
-> mapM_ insertD alldecls
-
-> lookupInVarRegistry :: String -> VarRegistry -> IO (Maybe CDecl)
-> lookupInVarRegistry s v = do
-> res <- Data.HashTable.lookup (locals v) s
-> if isJust res
-> then return res
-> else Data.HashTable.lookup (globals v) s
-
-The monad transformer that we thread through our functions
-
-The Walker is the state that we pass around our functions as we walk the AST. It primarily holds
-the blocking call information, but is actually a tuple of:
-filename, prefix stack, blocking call registry, and blocking function pointer registry
-
-> data Walker = Walker {
-> filename :: String,
-> prefixes :: [String],
-> errorWriter :: (String -> ReturnType -> String -> NodeInfo -> CStat),
-> pbranchDone :: (BlockingContext -> NodeInfo -> [CStat]),
-> transExit :: (CStat -> CStat),
-> fpTypeReg :: FPTypeRegistry,
-> fpTypeLocalReg :: FPTypeRegistry,
-> varReg :: VarRegistry
-> }
-
-> newWalkerState :: String -> (String -> ReturnType -> String -> NodeInfo -> CStat) -> (BlockingContext -> NodeInfo -> [CStat]) -> (CStat -> CStat) -> IO Walker
-> newWalkerState fname errorWriter pbranchDone transExit = do
-> varReg <- newVarRegistry
-> return $ Walker fname ["ctl"] errorWriter pbranchDone transExit [] [] varReg
-
-> setErrorWriter :: (String -> ReturnType -> String -> NodeInfo -> CStat) -> WalkerT ()
-> setErrorWriter ew = do
-> (Walker f ps _ pb t fr frl vr) <- get
-> put (Walker f ps ew pb t fr frl vr)
-
-> getErrorWriter :: WalkerT (String -> ReturnType -> String -> NodeInfo -> CStat)
-> getErrorWriter = do
-> w <- get
-> return $ errorWriter w
-
-> setPBDone :: (BlockingContext -> NodeInfo -> [CStat]) -> WalkerT ()
-> setPBDone pb = do
-> (Walker f ps ew _ t fr frl vr) <- get
-> put (Walker f ps ew pb t fr frl vr)
-
-> getPBDone :: WalkerT (BlockingContext -> NodeInfo -> [CStat])
-> getPBDone = do
-> w <- get
-> return $ pbranchDone w
-
-> setTransExit :: (CStat -> CStat) -> WalkerT ()
-> setTransExit tr = do
-> (Walker f ps e pb _ fr frl v) <- get
-> put (Walker f ps e pb tr fr frl v)
-
-> getTransExit :: WalkerT (CStat -> CStat)
-> getTransExit = do
-> w <- get
-> return $ transExit w
-
-> pushPrefix :: String -> WalkerT ()
-> pushPrefix s = do
-> (Walker f ps e pb t fr frl v) <- get
-> put (Walker f (s:ps) e pb t fr frl v)
-
-> popPrefix :: WalkerT ()
-> popPrefix = do
-> (Walker f (s:ps) e pb t fr frl v) <- get
-> put (Walker f ps e pb t fr frl v)
-
-> getPrefix :: WalkerT String
-> getPrefix = do
-> w <- get
-> return $ head $ prefixes w
-
-> type WalkerT = StateT Walker IO
-
-> getFileName :: WalkerT String
-> getFileName = do
-> w <- get
-> return $ filename w
-
-> getFilePosStr :: NodeInfo -> WalkerT (String)
-> getFilePosStr (NodeInfo p _ _) = do
-> fname <- getFileName
-> return (fname ++ ":" ++ (show $ posRow p) ++ ":" ++ (show $ posColumn p))
-
-> clearLocalFunPtrRegistry :: WalkerT ()
-> clearLocalFunPtrRegistry = do
-> (Walker s pn e pb t fr frl v) <- get
-> put (Walker s pn e pb t fr [] v)
-
-> resetLocals :: WalkerT ()
-> resetLocals = do
-> (Walker f ps ew pb t fpr fr vr) <- get
-> newvr <- liftIO $ resetLocalVarsInRegistry vr
-> put (Walker f ps ew pb t fpr fr newvr)
-
-> addLocals :: [CDecl] -> WalkerT ()
-> addLocals ds = do
-> w <- get
-> liftIO $ insertLocalDeclsToVarRegistry ds $ varReg w
-
-> addGlobals :: [CDecl] -> WalkerT ()
-> addGlobals ds = do
-> w <- get
-> liftIO $ insertGlobalDeclsToVarRegistry ds $ varReg w
-
-Get the chain of variable references starting
-at the outermost. i.e.
-
-struct a a1;
-struct b b1;
-typedef struct c ct;
-ct c1;
-struct d d1;
-
-a1->b1->c1->d1
-
-Turns into:
-
-(a, [b1, c1, d1])
-
-> lookupVar :: CExpr -> WalkerT (Maybe [String])
-> lookupVar e@(CVar name _) = do
-> w <- get
-> d <- liftIO $ lookupInVarRegistry (identToString name) $ varReg w
-> if isNothing d
-> then return Nothing
-> else do
-> let t = getTypeSpecFromDecl $ fromJust d
-> r = case t of
-> (CTypeDef tname _) -> Just [identToString tname]
-> (CSUType (CStruct _ (Just tname) _ _ _) _) -> Just [identToString tname]
-> _ -> Nothing
-> if isJust r
-> then return r
-> else if isFunDecl $ fromJust d
-> then return $ Just [identToString $ getCDeclName $ fromJust d]
-> else return Nothing
-
-> lookupVar (CMember expr name _ _) = do
-> w <- get
-> inner <- lookupVar expr
-> if isNothing inner
-> then return Nothing
-> else return $ Just $ (fromJust inner) ++ [identToString name]
-
-> lookupVar e = do
-> return Nothing
-
-> insertFP :: FPType -> WalkerT ()
-> insertFP fptype = do
-> (Walker f ps ew pb t fr frl vr) <- get
-> put (Walker f ps ew pb t (fptype:fr) frl vr)
-
-> registerBlocking :: FunDecl -> WalkerT ()
-> registerBlocking f = do
-> let (n, (rt, rd), p) = f
-> insertFP $ FPFun n f
-
-> let d = mkFunDecl n rt rd p
-> addGlobals [d]
-
-> registerBlockingStruct :: String -> String -> FunDecl -> WalkerT ()
-> registerBlockingStruct structName fieldName funDecl = do
-> let (n, (rt, rd), p) = funDecl
-> insertFP $ FPStruct structName fieldName (FPFun n funDecl)
-
-> lookupAndRegisterBlockingStruct :: String -> String -> String -> WalkerT ()
-> lookupAndRegisterBlockingStruct structName fieldName fieldType = do
-> w <- get
-> let reg = fpTypeReg w
-> matching = filter (\f -> (isFPStruct f && ((name f) == fieldType))) reg
-> if not $ null matching
-> then do
-> assert ((length matching) == 1) return ()
-> insertFP $ FPStruct structName fieldName (head matching)
-> else return ()
-
-> lookupAndRegisterBlockingTypedef :: String -> String -> WalkerT ()
-> lookupAndRegisterBlockingTypedef structName typeName = do
-> w <- get
-> let reg = fpTypeReg w
-> matching = filter (\f -> (isFPStruct f && ((name f) == structName))) reg
-> if not $ null matching
-> then do
-> assert ((length matching) == 1) return ()
-> let mkFP (FPStruct s f fpt) = FPStruct typeName f fpt
-> mapM_ (insertFP . mkFP) matching
-> else return ()
-
-> registerLocalBlocking :: FunDecl -> WalkerT ()
-> registerLocalBlocking fd = do
-> (Walker f ps ew pb t fr frl vr) <- get
-> let (n, _, _) = fd
-> put (Walker f ps ew pb t fr ((FPFun n fd):frl) vr)
-
-> getAllBlocking :: WalkerT [FPType]
-> getAllBlocking = do
-> w <- get
-> let bs = fpTypeReg w
-> bls = fpTypeLocalReg w
-> return $ bs ++ bls
-
-> showAllBlocking :: WalkerT ()
-> showAllBlocking = do
-> all <- getAllBlocking
-> putStrLnW $ unlines $ map show all
-
-> tr :: [String] -> FPType -> String -> a -> a
-> tr ss st a = trace $ a ++ "::" ++ (show ss) ++ "::" ++ (show st)
-
-> matchFP :: [String] -> FPType -> Maybe FunDecl
-> matchFP ss@(s:p:seqs) st@(FPStruct n f t)
-> | s == n && p == f && null seqs && isFPFun t = getFunDecl t
-> | s == n && p == f = matchiFP seqs (fromJust (getInner t))
-> | otherwise = Nothing
-
-> matchFP s f = matchiFP s f
-
-> matchiFP :: [String] -> FPType -> Maybe FunDecl
-> matchiFP [] _ = Nothing
-
-> matchiFP ss@(s:[]) st@(FPFun n t) = if s == n then Just t else Nothing
-> matchiFP ss@(s:seqs) st@(FPFun n t) = Nothing
-> matchiFP ss@(s:seqs) st@(FPStruct n f t) =
-> if s == f then matchFP seqs t else Nothing
-
-> lookupBlocking :: CExpr -> WalkerT (Maybe FunDecl)
-> lookupBlocking (CCall e _ _) = lookupBlocking e
-> lookupBlocking c = do
-> w <- get
-> v <- lookupVar c
-> if isNothing v
-> then return Nothing
-> else do
-> all <- getAllBlocking
-> let fs = mapMaybe (matchFP $ fromJust v) $ all
-> if null fs then return Nothing else return $ Just $ head fs
-
-Utility lift the print function into the WalkerT monad transformer
-
-> putStrLnW :: String -> WalkerT ()
-> putStrLnW = liftIO . putStrLn
-
-> putStrW :: String -> WalkerT ()
-> putStrW = liftIO . putStr
diff --git a/oldcode/src/gsl/parser/gs-blocking-parser.lhs b/oldcode/src/gsl/parser/gs-blocking-parser.lhs
deleted file mode 100644
index 78014a2..0000000
--- a/oldcode/src/gsl/parser/gs-blocking-parser.lhs
+++ /dev/null
@@ -1,1631 +0,0 @@
-> module BlockingParser where
-> import Language.C
-> import Language.C.Data.Position
-> import Language.C.System.GCC -- preprocessor used
-> import Language.C.Data.Ident
-> import System.Environment
-> import System.Console.GetOpt
-> import System.Exit
-> import Data.Typeable
-> import Data.Maybe
-> import Data.Either
-> import Data.HashTable
-> import Data.Generics
-> import Data.Generics.Schemes
-> import qualified Data.ByteString
-> import qualified Data.ByteString.Char8
-> import Control.Monad.State
-> import Control.Exception
-> import Data.List
-> import CGen
-> import CParse
-> import CUtils
-> import System.IO.Unsafe
-> import Debug.Trace
-> import Data.Tree
-> import BlockingContext
-> import Walker
-> import ContextGen
-> import Serialize
-> import Header
-
-> mkErrorCBPostHandler :: String -> ReturnType -> String -> NodeInfo -> CStat
-> mkErrorCBPostHandler fname retType ctlName ni = mkStmtFromC ni $
-> "if (!(__gs_postret == GS_POSTED || __gs_postret == GS_COMPLETE))" ++
-> "{ fprintf(stderr, \"INVALID POST RETURN: %s:%d: post call did not return GS_POSTED or GS_COMPLETE\\n\", \"" ++ fname ++ "\", " ++ (show $ posRow $ posOfNode ni) ++ "); exit(1); }"
-
-> mkErrorPostHandler :: String -> ReturnType -> String -> NodeInfo -> CStat
-> mkErrorPostHandler fname retType ctlName ni = mkStmtFromC ni $
-> "if (!(__gs_postret == GS_POSTED || __gs_postret == GS_COMPLETE))" ++
-> "{ fprintf(stderr, \"INVALID POST RETURN: %s:%d: post call did not return GS_POSTED or GS_COMPLETE\\n\", \"" ++ fname ++ "\", " ++ (show $ posRow $ posOfNode ni) ++ "); exit(1); }"
-
-
-> mkPBreakStmts :: String -> String -> NodeInfo -> ([CDecl], [CStat])
-> mkPBreakStmts prefix funName ni =
-> ([mkCDecl (CIntType ni) [] "__gs_cancel_ret" ni],
-> [mkStmtFromC ni $ "done_ctl->parent->hit_pbreak = 1;",
-> mkStmtFromC ni $ "gs_list_del(&done_ctl->link);",
-> mkStmtFromC ni $ "__gs_cancel_ret = gs_cancel_children(done_ctl->context, done_ctl->parent);",
-> mkStmtFromC ni $
-> "if (__gs_cancel_ret != 0)" ++
-> "{ fprintf(stderr, \"INVALID CANCEL RETURN: %s:%d: cancel did not return 0\\n\", \"" ++ funName ++ "\", " ++ (show $ posRow $ posOfNode ni) ++ "); exit(1); }"])
-
-After a blocking operation within a pbranch, we need to check if the pbranch has been cancelled,
-either from a pbreak, or from an external cancel call of the entire blocking function.
-
-> mkPBranchCallbackStartStmts :: String -> String -> NodeInfo -> ([CDecl], [CStat])
-> mkPBranchCallbackStartStmts prefix funName ni =
-> ([mkCDecl (CIntType ni) [] "__gs_pwait_done" ni,
-> mkStructPtrDecl (mkStructCtlName $ funName) "done_ctl" ni],
-> [mkStmtFromC ni $ "done_ctl = "++prefix++";",
-> mkStmtFromC ni $ "gs_mutex_lock(&done_ctl->parent->mutex);"])
-
-> mkPBranchDeleteStmts :: NodeInfo -> [CStat]
-> mkPBranchDeleteStmts ni = [mkStmtFromC ni $ "gs_list_del(&done_ctl->link);"]
-
-> mkPBranchDoneStmts :: String -> String -> NodeInfo -> [CStat]
-> mkPBranchDoneStmts prefix funName ni = map (mkStmtFromC ni)
-> ["done_ctl->parent->completed++;",
-> "__gs_pwait_done = done_ctl->parent->allposted == 1 && \
-> \ done_ctl->parent->posted == done_ctl->parent->completed;",
-> "gs_mutex_unlock(&done_ctl->parent->mutex);",
-> "free(done_ctl);"]
-
-> mkPBranchCBDoneStmts :: BlockingContext -> NodeInfo -> [CStat]
-> mkPBranchCBDoneStmts pb ni = map (mkStmtFromC ni)
-> ["if(!__gs_pwait_done) goto __gs_callback_end;"]
-
-> mkPBranchPostDoneStmts :: BlockingContext -> NodeInfo -> [CStat]
-> mkPBranchPostDoneStmts pb ni = map (mkStmtFromC ni)
-> ["if(!__gs_pwait_done) goto __gs_" ++ (getPBranchId pb) ++ "_end;"]
-
-> mkDoneStmts :: NodeInfo -> [CStat]
-> mkDoneStmts ni = [mkGoto "__gs_callback_end" ni]
-
-> mkDoneCtlSetStmt :: String -> NodeInfo -> CStat
-> mkDoneCtlSetStmt p ni = mkStmtFromC ni $ p++" = done_ctl->parent;"
-
-> mkPWaitInitStmts :: String -> String -> NodeInfo -> [CStat]
-> mkPWaitInitStmts pwaitParams prefix ni = mkStmtsFromCLines ni $
-> "{ \
-> \ "++prefix++"->posted = 0; \
-> \ "++prefix++"->completed = 0; \
-> \ "++prefix++"->allposted = 0; \
-> \ "++prefix++"->hit_pbreak = 0; \
-> \ gs_mutex_init(&"++prefix++"->mutex, (void *)0); \
-> \ "++prefix++"->parent = (void *)0; \
-> \ "++prefix++"->children.next = &("++prefix++"->children); \
-> \ "++prefix++"->children.prev = &("++prefix++"->children); \
-> \ "++prefix++"->in_pwait = 1; \
-> \ "++prefix++"->"++pwaitParams++".shared_params = &"++prefix++"->"++pwaitParams++".shared; \
-> \}"
-
-> mkPWaitFinishStmts :: [CStat] -> String -> NodeInfo -> [CStat]
-> mkPWaitFinishStmts afterPWaitStmts prefix ni = [mkCompoundWithDecls Nothing
-> [mkCDecl (CIntType ni) [] "__gs_pwait_done" ni]
-> [mkStmtFromC ni $ "gs_mutex_lock(&"++prefix++"->mutex);",
-> mkStmtFromC ni $ "__gs_pwait_done = "++prefix++"->posted == "++prefix++"->completed;",
-> mkStmtFromC ni $ prefix++"->allposted = 1;",
-> mkStmtFromC ni $ "gs_mutex_unlock(&"++prefix++"->mutex);",
-> mkIfElseStmt (Just (constructExprFromC ni "__gs_pwait_done"))
-> afterPWaitStmts []] ni]
-
-> mkPostFunInitStmts :: String -> NodeInfo -> [CStat]
-> mkPostFunInitStmts name ni = mkStmtsFromCLines ni $
-> "{ \
-> \ " ++ name ++ " = malloc(sizeof(*" ++ name ++ ")); \
-> \ if(" ++ name ++ " == (void *)0) \
-> \ { \
-> \ return -12; \
-> \ } \
-> \ "++name++"->params = &"++name++"->fields; \
-> \ "++name++"->user_ptr = user_ptr; \
-> \ "++name++"->callback = callback; \
-> \ "++name++"->hints = hints; \
-> \ "++name++"->context = context; \
-> \}"
-
-> mkPBranchPostStmts :: String -> String -> String -> String -> [CStat] -> NodeInfo -> [CStat]
-> mkPBranchPostStmts pwaitName prefix parentPrefix fname stmts ni =
-> [mkCompoundWithDecls Nothing
-> [constructDeclFromC ni ("struct " ++ (mkStructCtlName fname) ++ " *" ++ prefix ++ ";")]
-> ([mkStmtFromC ni $ prefix ++ " = malloc(sizeof(*" ++ prefix ++ "));",
-> mkStmtFromC ni $ prefix ++ "->parent = " ++ parentPrefix ++ ";",
-> mkStmtFromC ni $ prefix++"->context = "++parentPrefix++"->context;",
-> mkStmtFromC ni $ prefix++"->hints = "++parentPrefix++"->hints;",
-> mkStmtFromC ni $ prefix++"->params = "++parentPrefix++"->params;",
-> mkStmtFromC ni $ "memcpy(&"++prefix++"->"++pwaitName++".private,&"++parentPrefix++"->"++pwaitName++".private, sizeof("++prefix++"->"++pwaitName++".private));",
-> mkStmtFromC ni $ prefix++"->"++pwaitName++".shared_params = &"++parentPrefix++"->"++pwaitName++".shared;",
-> mkStmtFromC ni $ "gs_mutex_lock(&("++prefix++"->parent->mutex));",
-> mkStmtFromC ni $ "("++prefix++"->parent->posted)++;",
-> mkStmtFromC ni $ "gs_list_add(&"++prefix++"->link, &"++prefix++"->parent->children);",
-> mkStmtFromC ni $ "gs_mutex_unlock(&("++prefix++"->parent->mutex));"]
-> ++ stmts) ni]
-
-> mkBlockingParamsParallelFields :: String -> Bool -> NodeInfo -> [CDecl]
-> mkBlockingParamsParallelFields _ False _ = []
-> mkBlockingParamsParallelFields name True ni = [mkParentPointer name ni]
-
-> mkBlockingParams :: (String -> [CDecl]) -> [CDecl] -> NodeInfo -> [CDecl]
-> mkBlockingParams getRetDecl params ni =
-> [mkVoidFunPtr "callback" ([constructDeclFromC ni "void *user_ptr;"] ++
-> getRetDecl "__gs_ret")] ++
-> [constructDeclFromC ni "void *user_ptr;"] ++
-> [genCDecl "gs_hints_t" "hints" ni,
-> genCDecl "gs_context_t" "context" ni]
-
-> mkBlockingParamsForStruct :: CFunDef -> [CDecl]
-> mkBlockingParamsForStruct fdef =
-> let ni = nodeInfo fdef
-> in [genCDecl "gs_op_id_t" "current_op_id" ni,
-> mkCDecl (CIntType ni) [] "cancelled" ni,
-> genCDecl "gs_mutex_t" "mutex" ni] ++
-
-> [genCDecl "gs_list_t" "children" ni,
-> genCDecl "struct gs_list_link" "link" ni,
-> mkCDecl (CIntType ni) [] "posted" ni,
-> mkCDecl (CIntType ni) [] "completed" ni,
-> mkCDecl (CIntType ni) [] "allposted" ni,
-> mkCDecl (CIntType ni) [] "hit_pbreak" ni,
-> mkCDecl (CIntType ni) [] "in_pwait" ni] ++
-
-> (mkRetDeclFromFunDef fdef "__gs_ret") ++
-> (mkBlockingParams (mkRetDeclFromFunDef fdef) (getFunDefParams fdef) ni)
-
-> mkBlockingParamsForPost :: CFunDef -> [CDecl]
-> mkBlockingParamsForPost fdef =
-> let ni = nodeInfo fdef
-> in (mkBlockingParams (mkRetDeclFromFunDef fdef) (getFunDefParams fdef) ni) ++
-> [mkCDecl (CTypeDef (newIdent "gs_op_id_t" ni) ni) [CPtrDeclr [] ni] "op_id" ni]
-
-> mkBlockingParamsFromFunPtrDecl :: CDecl -> [CDecl]
-> mkBlockingParamsFromFunPtrDecl c@(CDecl _ declrs ni) =
-> let (tSpec, derivedPtrs) = getReturn c
-> (Just declr, _, _) = head declrs
-> funDeclr = getDerivedFun declr
-> in (mkBlockingParams (\s -> mkRetDecl (tSpec, derivedPtrs) s $ nodeInfo c)
-> (getCFunDeclrParams funDeclr) (nodeInfo c)) ++
-> [mkCDecl (CTypeDef (newIdent "gs_op_id_t" ni) ni) [CPtrDeclr [] ni] "op_id" ni]
-
-> checkForReturn :: CFunDef -> WalkerT CFunDef
-> checkForReturn f@(CFunDef specs declarator decls (CCompound idents stmts cni) ni)
-> | (isVoidReturn $ getFunDefReturn f) && (not $ isReturnStmt $ fromJust $ getBlockStmt $ last stmts) =
-> return $ (CFunDef specs declarator decls (CCompound idents (stmts ++ [CBlockStmt (CReturn Nothing ni)]) cni) ni)
-> | (not $ isVoidReturn $ getFunDefReturn f) && (not $ isReturnStmt $ fromJust $ getBlockStmt $ last stmts) = do
-> invalid ("The blocking function: " ++ (getFunDefName f) ++ " does not have a final return statement\n") ni
-> return f
-> | otherwise = return f
-
-> getLocals :: BlockingContext -> [CDecl]
-> getLocals (FunContext funDef _ _ _ _) = getFuncLocalDecls funDef
-> getLocals b = getLocals $ getParent b
-
-> addLoopBreakLabel :: BlockingContext -> [CStat] -> [CStat]
-> addLoopBreakLabel b stmts = [mkLabel (mkLoopBreakLabelStr b) stmts $ getNI b]
-
-> isBlockingField :: CDecl -> Bool
-> isBlockingField (CDecl s i n) = any isBlockingSpec s
-
-> registerStruct :: CDecl -> Maybe String -> WalkerT ()
-> registerStruct d@(CDecl s i n) altSname = do
-> when (structSpecHasFields (head $ filter isStructTypeSpec s)) $ do
-> let si = getStructInfo d
-> (Just (sn, fields)) = si
-> sname = if isJust sn then sn else altSname
-> assert (isJust si && isJust sname) return ()
-> let blockingFields = filter isBlockingField fields
-> notBlockingFields = filter (\j -> isStructDecl j && (not $ isBlockingField j)) fields
-
-> regStruct i = registerBlockingStruct
-> (fromJust sname)
-> (identToString $ getCDeclName i)
-> (splitFunDecl i)
-> mapM_ regStruct blockingFields
-
-> let lookupAndReg i = lookupAndRegisterBlockingStruct
-> (fromJust sname)
-> (identToString $ getCDeclName i)
-> (fromJust $ getTypeName i)
-> mapM_ lookupAndReg (filter isStructDecl notBlockingFields)
-
-> registerTypedefStruct :: CDecl -> Maybe String -> WalkerT ()
-> registerTypedefStruct d altSname = do
-> let t = getStructTypeDefInfo d
-> (Just (sn, tname)) = t
-> sname = if isJust sn then sn else altSname
-> assert (isJust t && isJust sname) return ()
-> lookupAndRegisterBlockingTypedef (fromJust sname) tname
-
-> registerTypedefTypedef :: CDecl -> WalkerT ()
-> registerTypedefTypedef d = do
-> let t = getTypeDefTypeDefInfo d
-> (Just (pn, tname)) = t
-> assert (isJust t) return ()
-> lookupAndRegisterBlockingTypedef pn tname
-
-> registerBlockingDecl :: Bool -> CExtDecl -> WalkerT [CExtDecl]
-
-> registerBlockingDecl ph e@(CDeclExt d@(CDecl specifiers initdecls ni))
-
-> | isTypeDefOfInlineStruct d = do
-> let name = "anonstruct_" ++
-> (show $ posRow $ posOfNode $ nodeInfo d) ++ "_" ++
-> (show $ posColumn $ posOfNode $ nodeInfo d)
-> registerStruct d (Just name)
-> registerTypedefStruct d (Just name)
-> if ph then
-> return [e]
-> else return []
-
-> | isTypeDefOfPredefStruct d = do
-> registerTypedefStruct d Nothing
-> if ph then
-> return [e]
-> else return []
-
-> | isTypeDefOfTypeDef d = do
-> registerTypedefTypedef d
-> if ph then
-> return [e]
-> else return []
-
-Register structs containing blocking function pointers as fields: struct a { __blocking int (*myfun) (); }
-Or fields that are structs with blocking function pointers: struct b { struct a mya; }
-etc. etc.
-
-> | isStructDecl d = do
-> registerStruct d Nothing
-> if ph then
-> return [CDeclExt (everywhere (mkT translateBlockingFunParam) d)]
-> else return []
-
-Register global variable declarations. This is necessary to map variable names to types (structs, typedefs, etc.)
-allowing us to determine if a function pointer is being called within a particular variable.
-
-> | isVarDecl d = do
-> addGlobals [d]
-> let name = "anonstruct_" ++
-> (show $ posRow $ posOfNode $ nodeInfo d) ++ "_" ++
-> (show $ posColumn $ posOfNode $ nodeInfo d)
-> when (isStructDecl d) (registerStruct (removeVarFromDecl d) (Just name))
-> if ph then return [e] else return []
-
-Register blocking function declarations: __blocking int myfun();
-
-> | isFunDecl d && (any isBlockingSpec specifiers) = do
-> let function = splitFunDecl (CDecl specifiers initdecls ni)
-> registerBlocking function
-> return $ [CDeclExt $ mkPostDecl function specifiers, CDeclExt $ mkPostPtrDecl True function specifiers]
-
-> registerBlockingDecl True c = return [c]
-> registerBlockingDecl False c = return []
-
-Registers all the blocking declarations present in the CTranslUnit
-
-> registerBlockingFunDecls :: CTranslUnit -> WalkerT CTranslUnit
-> registerBlockingFunDecls (CTranslUnit decls ni) = do
-> newdecls <- liftM concat $ sequence $ map (registerBlockingDecl True) decls
-> return $ CTranslUnit newdecls ni
-
-> getBlockingHeaderDecls :: CTranslUnit -> WalkerT [([CExtDecl], CExtDecl)]
-> getBlockingHeaderDecls (CTranslUnit decls ni) = do
-> newdecls <- sequence $ map (registerBlockingDecl False) decls
-> return $ zip newdecls decls
-
-Registers blocking function pointers passed to a blocking function.
-
-While translating a blocking function, we need to keep a registry of all the
-variable names for blocking function pointers passed to the blocking function, so
-that if one of them gets called, we can do translation at that point. For example:
-
-__blocking int myblockingfun(int a, __blocking int (*myblockingfunptr)(int b));
-
-In this example, the myblockingfunptr variable refers to a blocking function somewhere, which
-gets called in the blocking function myblockingfun.
-
-> registerBlockingFunParam :: CDecl -> WalkerT ()
-> registerBlockingFunParam (CDecl specifiers initdecls ni)
-> | (any isBlockingSpec specifiers) = do
-> let retType = getTypeSpec specifiers
-> (Just declr, _, _) = head initdecls
-> (CDeclr (Just f) derivedDeclrs _ _ _) = declr
-> fname = identToString f
-> (Just funDeclr) = find isFunDeclr derivedDeclrs
-> params = getCFunDeclrParams funDeclr
-> registerLocalBlocking (fname, (retType, derivedDeclrs), params)
-> | otherwise = return ()
-
-> translateBlockingFunParam :: CDecl -> CDecl
-> translateBlockingFunParam fptr@(CDecl specifiers initdecls ni)
-> | isBlockingFunDecl fptr =
-> let specs = filter (not . isBlockingSpec) specifiers
-> (Just declr, _, _) = head initdecls
-> (CDeclr (Just (Ident fname _ _)) _ _ _ _) = declr
-> funDeclr = getDerivedFun declr
-> params = getCFunDeclrParams funDeclr
-> postParams = params ++ (mkBlockingParamsFromFunPtrDecl fptr)
-> in mkFunPtrDecl fname (CTypeDef (newIdent "gs_ret_t" ni) ni) postParams
-
-> | otherwise = fptr
-
-> removeVoid :: [CDecl] -> [CDecl]
-> removeVoid decls = if justVoid decls then [] else decls
-
-> isBlockingFunDef :: CFunDef -> Bool
-> isBlockingFunDef (CFunDef specifiers declarator decls stmt ni) = any isBlockingSpec specifiers
-
-> isBlockingFunDecl :: CDecl -> Bool
-> isBlockingFunDecl (CDecl specs _ _) = any isBlockingSpec specs
-
-> replaceBreak :: CStat -> CStat -> CStat
-> replaceBreak replaceStmt bstmt
-> | isJust $ isBreak bstmt = replaceStmt
-> | otherwise = bstmt
-
-> swapBreak :: CStat -> [CStat] -> [CStat]
-> swapBreak swapStmt stmts = map (everywhere (mkT $ replaceBreak swapStmt)) stmts
-
-> replacePBreak :: CStat -> CStat -> CStat
-> replacePBreak replaceStmt bstmt
-> | isJust $ isPBreak bstmt = replaceStmt
-> | otherwise = bstmt
-
-> swapPBreak :: CStat -> [CStat] -> [CStat]
-> swapPBreak swapStmt stmts = map (everywhere (mkT $ replacePBreak swapStmt)) stmts
-
-> containsBreak :: [CStat] -> Bool
-> containsBreak stmts =
-> let hasBreak = everything orElse (mkQ Nothing isBreak)
-> in (any (isJust . hasBreak) stmts)
-
-> containsPBreak :: [CStat] -> Bool
-> containsPBreak stmts =
-> let hasPBreak = everything orElse (mkQ Nothing isPBreak)
-> in (any (isJust . hasPBreak) stmts)
-
-> getBINodeInfo :: CBlockItem -> NodeInfo
-> getBINodeInfo (CBlockDecl (CDecl _ _ ni)) = ni
-
-> invalid :: String -> NodeInfo -> WalkerT ()
-> invalid msg ni = do
-> fstr <- getFilePosStr ni
-> error (fstr ++ ": Invalid grayskull usage: " ++ msg)
-
-> gspWarn :: String -> NodeInfo -> WalkerT ()
-> gspWarn msg ni = do
-> fstr <- getFilePosStr ni
-> putStrLnW $ fstr ++ ": warning: " ++ msg
-
-> isValidBlockingFor :: CStat -> WalkerT ()
-> isValidBlockingFor (CFor (Right _) _ _ _ ni) = invalid "declaration in blocking for loop" ni
-> isValidBlockingFor (CFor (Left init) expr1 expr2 stmts ni) = do
-> binit <- containsBlockingCall (CExpr init ni)
-> when binit $ invalid "init expression in for loop cannot contain a blocking call" ni
-> bexpr1 <- containsBlockingCall (CExpr expr1 ni)
-> when bexpr1 $ invalid "conditional expression in for loop cannot contain a blocking call" ni
-> bexpr2 <- containsBlockingCall (CExpr expr2 ni)
-> when bexpr2 $ invalid "update expression in for loop cannot contain a blocking call" ni
-> when (not $ isCompound stmts)
-> $ invalid "blocking for loop requires curly brackets" ni
-> when (fst $ stmtsHaveDecl stmts)
-> $ invalid "blocking for loop cannot contain local declarations" (snd $ stmtsHaveDecl stmts)
-> return ()
-
-> isValidBlockingWhile :: CStat -> WalkerT ()
-> isValidBlockingWhile (CWhile expr stmts isDoWhile ni) = do
-> bexpr <- containsBlockingCall (CExpr (Just expr) ni)
-> when bexpr $ invalid "conditional expression in while loop cannot contain a blocking call" ni
-> when (not $ isCompound stmts)
-> $ invalid "blocking while loop requires curly brackets" ni
-> when (fst $ stmtsHaveDecl stmts)
-> $ invalid "blocking while loop cannot contain local declarations" (snd $ stmtsHaveDecl stmts)
-> return ()
-
-
-> isValidBlockingIf :: CStat -> WalkerT ()
-> isValidBlockingIf (CIf expr ifStmts elseStmts ni) = do
-> bexpr <- containsBlockingCall (CExpr (Just expr) ni)
-> when bexpr $ invalid "if expression cannot contain a blocking call" ni
-> when (not $ isCompound ifStmts)
-> $ invalid "blocking if requires curly brackets" ni
-> when (fst $ stmtsHaveDecl $ ifStmts)
-> $ invalid "if block with blocking calls cannot contain local declarations" (snd $ stmtsHaveDecl $ ifStmts)
-> when ((isJust elseStmts) && (isCompound $ fromJust elseStmts) && (fst $ stmtsHaveDecl $ fromJust elseStmts))
-> $ invalid "else block with blocking calls cannot contain local declarations" (snd $ stmtsHaveDecl $ fromJust elseStmts)
-> return ()
-
-> isValidPWait :: CStat -> WalkerT ()
-> isValidPWait (CPWait stmts ni) = return ()
-
-> getBlockingCallName :: CExpr -> WalkerT (Maybe String)
-> getBlockingCallName (CCall e args _) = do
-> res <- lookupBlocking e
-> case res of { (Just (bname, _, _)) -> return $ Just bname ; Nothing -> return Nothing }
-> getBlockingCallName _ = return Nothing
-
-> findBlockingCall :: CStat -> WalkerT (Maybe String)
-> findBlockingCall stmt =
-> everything orElseMMaybe (mkQ (return Nothing) getBlockingCallName) $ stmt
-
-> getBlockingCallExpr :: CExpr -> WalkerT (Maybe CExpr)
-> getBlockingCallExpr call@(CCall e _ _) = do
-> res <- lookupBlocking e
-> if isJust res then return $ Just call else return Nothing
-> getBlockingCallExpr _ = return Nothing
-
-> findBlockingCallExpr :: CStat -> WalkerT (Maybe CExpr)
-> findBlockingCallExpr stmt =
-> everything orElseMMaybe (mkQ (return Nothing) getBlockingCallExpr) $ stmt
-
-Split a statement with a blocking function call into a triple of (return expression, function name, parameter expressions). This
-function replaces the blocking call with a variable "ret", and returns that as the return expression.
-
-> replaceCallWithVar :: String -> CExpr -> WalkerT CExpr
-> replaceCallWithVar varname call@(CCall e _ ni) = do
-> res <- lookupBlocking e
-> if isJust res then return (mkVar varname ni) else return call
-> replaceCallWithVar _ c = return c
-
-> findAndReplaceBlockingCall :: String -> CStat -> WalkerT CStat
-
-> -- if the statement is just the blocking call (the return value is ignored), we don't replace
-> findAndReplaceBlockingCall s (CExpr (Just call@(CCall e _ _)) ni) = do
-> res <- lookupBlocking e
-> if isJust res then return (mkCompoundStmt (Just "__gs_result_expr") [] ni) else do
-> expr <- replaceCallWithVar s call
-> return (CExpr (Just expr) ni)
-
-> findAndReplaceBlockingCall varname stmt = everywhereM (mkM $ replaceCallWithVar varname) stmt
-
-From a blocking function definition, Construct an external declaration parameters struct
-
-> mkStructParamsName :: String -> String
-> mkStructParamsName name = name ++ "_params"
-
-> mkStructCtlName :: String -> String
-> mkStructCtlName name = name ++ "_ctl"
-
-> mkStructPWaitName :: String -> String -> String
-> mkStructPWaitName name id = name ++ "_" ++ id ++ "_params"
-
-> mkStructPBranchName :: String -> String -> String -> String
-> mkStructPBranchName name pwaitName id = pwaitName ++ "_" ++ name ++ "_" ++ id ++ "_params"
-
-> mkPrivateParamPWaitName :: String -> String -> String
-> mkPrivateParamPWaitName name id = name ++ "_" ++ id ++ "_private_params"
-
-> mkSharedParamPWaitName :: String -> String -> String
-> mkSharedParamPWaitName name id = name ++ "_" ++ id ++ "_shared_params"
-
-> mkPWaitName :: String -> String
-> mkPWaitName id = id ++ "_params"
-
-> mkPrivateName :: String
-> mkPrivateName = "private"
-
-> mkPrivatePWaitName :: String -> String
-> mkPrivatePWaitName id = (mkPWaitName id) ++ "." ++ mkPrivateName
-
-> mkSharedName :: String
-> mkSharedName = "shared"
-
-> mkSharedPtrName :: String
-> mkSharedPtrName = "shared_params"
-
-> mkSharedPWaitName :: String -> String
-> mkSharedPWaitName id = (mkPWaitName id) ++ "." ++ mkSharedPtrName
-
-> mkParamPBranchName :: String -> String
-> mkParamPBranchName id = id ++ "_params"
-
-> mkParentPointer :: String -> NodeInfo -> CDecl
-> mkParentPointer name ni = mkCDecl (CSUType
-> (CStruct CStructTag
-> (Just (newIdent (mkStructCtlName name) ni))
-> Nothing [] ni) ni)
-> [CPtrDeclr [] ni] "parent" ni
-
-> mkBlockingParamsStruct :: CFunDef -> WalkerT CExtDecl
-> mkBlockingParamsStruct funDef = do
-> let decls = getFunDefParams funDef
-> ni = nodeInfo funDef
-> params = (map translateBlockingFunParam $ removeVoid decls) ++
-> (map removeInitFromDecl $ getFunLocalDeclarations funDef)
-> return $ genStructExtDecl (mkStructParamsName $ getFunDefName funDef) params ni
-
-> removeInits :: (String, [CDecl]) -> (String, [CDecl])
-> removeInits (pwaitName, pwaitDecls) = (pwaitName, (map removeInitFromDecl pwaitDecls))
-
-> mkPWaitExtDecl :: (String -> String) -> (String, [CDecl]) -> NodeInfo -> CExtDecl
-> mkPWaitExtDecl snamef (pwaitName, pwaitDecls) ni =
-> genStructExtDecl (snamef pwaitName) pwaitDecls ni
-
-> mkBlockingPBranchStructs :: CFunDef -> (String, BlockingContext) -> WalkerT [CExtDecl]
-> mkBlockingPBranchStructs funDef (pwaitName, pwaitCtx) = do
-> let fname = getFunDefName funDef
-> ni = nodeInfo funDef
-> pbranches = getPBranches pwaitCtx
-> pbranchDecls = zip (map getPBranchId pbranches) (map getPBranchDecls pbranches)
-> params = map removeInits pbranchDecls
-> return $ map (\p -> mkPBranchExtDecl fname pwaitName p ni) params
-
-> addPBranchParams :: CFunDef -> BlockingContext -> (String, [CDecl]) -> (String, [CDecl])
-> addPBranchParams funDef pwaitCtx (pwaitId, pWaitDecls) =
-> let fname = getFunDefName funDef
-> ni = nodeInfo funDef
-> pbranchDecls =
-> map (\p -> mkStructDecl
-> (mkStructPBranchName fname pwaitId (getPBranchId p))
-> (mkParamPBranchName (getPBranchId p)) ni) $ getPBranches pwaitCtx
-> in (pwaitId, (pWaitDecls ++ pbranchDecls))
-
-> mkBlockingPWaitStructs :: CFunDef -> BlockingContext -> WalkerT [CExtDecl]
-> mkBlockingPWaitStructs funDef bctx
-> | containsPWait bctx = do
-> let fname = getFunDefName funDef
-> ni = nodeInfo funDef
-> pwaits = getPWaits bctx
-> ids = map getPWaitId pwaits
-> privatePWaitDecls = zip ids (map getPWaitPrivateDecls pwaits) -- :: [(pwait_id, [private_decl])]
-> sharedPWaitDecls = zip ids (map getPWaitSharedDecls pwaits) -- :: [(pwait_id, [shared_decl])]
-> private = map removeInits privatePWaitDecls -- :: [(pwait_id, [private_decl_no_inits])]
-> shared = map removeInits sharedPWaitDecls -- :: [(pwait_id, [shared_decl_no_inits])]
-> sharedWithPBranch = zipWith (addPBranchParams funDef) pwaits shared -- :: [(pwait_id, [shared_decl_no_inits] ++ [pbranch_struct_decl])]
-> privatePWaitStructs = map (\p -> mkPWaitExtDecl (mkPrivateParamPWaitName fname) p ni) private
-> sharedPWaitStructs = map (\p -> mkPWaitExtDecl (mkSharedParamPWaitName fname) p ni) sharedWithPBranch
-> pwaitParams = map (\id -> (id, [mkStructDecl (mkPrivateParamPWaitName fname id) mkPrivateName ni,
-> mkStructDecl (mkSharedParamPWaitName fname id) mkSharedName ni,
-> mkStructPtrDecl (mkSharedParamPWaitName fname id) mkSharedPtrName ni])) ids -- [(pwait_id, [private_struct, shared_struct])]
-> pwaitStructs = map (\p -> mkPWaitExtDecl (mkStructPWaitName fname) p ni) pwaitParams
-> pwaitNamePairs = zip (map getPWaitId pwaits) pwaits
-> pbranchStructs <- liftM concat $ mapM (mkBlockingPBranchStructs funDef) pwaitNamePairs
-> return $ pbranchStructs ++ privatePWaitStructs ++ sharedPWaitStructs ++ pwaitStructs
-> | otherwise = return []
-
-> mkPBranchExtDecl :: String -> String -> (String, [CDecl]) -> NodeInfo -> CExtDecl
-> mkPBranchExtDecl fname pwaitName (pbranchName, pbranchDecls) ni =
-> genStructExtDecl (mkStructPBranchName fname pwaitName pbranchName) pbranchDecls ni
-
-> mkBlockingCtlStruct :: CFunDef -> BlockingContext -> Bool -> WalkerT CExtDecl
-> mkBlockingCtlStruct funDef bctx pblock = do
-> let decls = getFunDefParams funDef
-> params = (map translateBlockingFunParam $ removeVoid decls) ++
-> (map removeInitFromDecl $ getFunLocalDeclarations funDef)
-> ni = nodeInfo funDef
-> fname = getFunDefName funDef
-> ctlName = mkStructCtlName fname
-> spName = mkStructParamsName fname
-> bparams = mkBlockingParamsForStruct funDef
-> pparams = mkBlockingParamsParallelFields (getFunDefName funDef) pblock ni
-> fieldsDecl = mkStructDecl spName "fields" ni
-> paramsDecl = mkStructPtrDecl spName "params" ni
-> pwaitDecls = map (\p -> mkStructDecl (mkStructPWaitName fname (getPWaitId p))
-> (mkPWaitName (getPWaitId p)) ni)
-> $ getPWaits bctx
-> return $ genStructExtDecl ctlName
-> (bparams ++ pparams ++
-> [fieldsDecl, paramsDecl] ++ pwaitDecls) ni
-
-> mkPostFunName :: String -> String -> String
-> mkPostFunName ctlName name = name ++ "_post"
-
-Each callback function defined for a given blocking function must have a unique name. We use:
-
-<bfun>_<bcall>_<bcallrow>_<bcallcol>_callback
-
-<bfun> is the name of the blocking function being translated
-<bcall> is the name of the blocking call being made within the function
-<bcallrow> is the row (line number in the file) where the blocking call is being made
-<bcallcol> is the column in the file where the blocking call is being made
-
-> mkCallbackFunName :: String -> String -> NodeInfo -> String
-> mkCallbackFunName funName callName (NodeInfo p _ _) = funName ++ "_" ++ callName ++ "_" ++ (show $ posRow p) ++ "_" ++ (show $ posColumn p) ++ "_callback"
-
-> mkCallbackRetParam :: String -> NodeInfo -> String
-> mkCallbackRetParam callName (NodeInfo p _ _) = callName ++ "_" ++ (show $ posRow p) ++ "_" ++ (show $ posColumn p) ++ "_ret"
-
-> isVarIn :: [Ident] -> CExpr -> Bool
-> isVarIn locals (CVar name _) = name `elem` locals
-> isVarIn _ _ = False
-
-> addParamsPtrPrefixToExpr :: String -> String -> [Ident] -> CExpr -> CExpr
-> addParamsPtrPrefixToExpr ctlPrefix paramsPrefix locals expr
-> | isVarIn locals expr = addStructPtrPrefix ctlPrefix paramsPrefix expr
-> | otherwise = expr
-
-> addParamsPtrPrefixes :: String -> String -> [Ident] -> CStat -> CStat
-> addParamsPtrPrefixes ctlPrefix paramsPrefix idents stmt = everywhere (mkT $ addParamsPtrPrefixToExpr ctlPrefix paramsPrefix idents) stmt
-
-> addParamsPrefixToExpr :: String -> String -> [Ident] -> CExpr -> CExpr
-> addParamsPrefixToExpr ctlPrefix paramsPrefix locals expr
-> | isVarIn locals expr = addStructPrefix ctlPrefix paramsPrefix expr
-> | otherwise = expr
-
-> addParamsPrefixes :: String -> String -> [Ident] -> CStat -> CStat
-> addParamsPrefixes ctlPrefix paramsPrefix idents stmt = everywhere (mkT $ addParamsPrefixToExpr ctlPrefix paramsPrefix idents) stmt
-
-> addParams2PrefixToExpr :: String -> String -> String -> [Ident] -> CExpr -> CExpr
-> addParams2PrefixToExpr ctlPrefix p1Prefix p2Prefix locals expr
-> | isVarIn locals expr = addStructPrefixPrefix ctlPrefix p1Prefix p2Prefix expr
-> | otherwise = expr
-
-> addParams2Prefixes :: String -> String -> String -> [Ident] -> CStat -> CStat
-> addParams2Prefixes ctlPrefix p1Prefix p2Prefix idents stmt =
-> everywhere (mkT $ addParams2PrefixToExpr ctlPrefix p1Prefix p2Prefix idents) stmt
-
-> addParams2PtrPrefixToExpr :: String -> String -> String -> [Ident] -> CExpr -> CExpr
-> addParams2PtrPrefixToExpr ctlPrefix p1Prefix p2Prefix locals expr
-> | isVarIn locals expr = addStructPtrPrefixPrefix ctlPrefix p1Prefix p2Prefix expr
-> | otherwise = expr
-
-> addParams2PtrPrefixes :: String -> String -> String -> [Ident] -> CStat -> CStat
-> addParams2PtrPrefixes ctlPrefix p1Prefix p2Prefix idents stmts =
-> everywhere (mkT $ addParams2PtrPrefixToExpr ctlPrefix p1Prefix p2Prefix idents) stmts
-
-trLocals finds the local declarations for a blocking function context, and translates
-the variables used in the statement, into variables prefixed with the ctl and parameter structures.
-So for example, if a, b, c and d are local parameters, the statement:
-
-runfun(a, b, c, d);
-
-gets translated to:
-
-runfun(ctl->fields.a, ctl->fields.b, ctl->fields.c, ctl->fields.d);
-
-> trPBranchLocals :: String -> BlockingContext -> CStat -> CStat
-> trPBranchLocals ctlPrefix bctx stmt
-> | hasPBranchAncestor bctx =
-> let pbranchCtx = getPBranchAncestor bctx
-> pwaitCtx = getPWaitAncestor bctx
-> locals = join $ map getCDeclNames $ getPBranchDecls pbranchCtx
-> in (addParams2PtrPrefixes ctlPrefix
-> ((mkPWaitName (getPWaitId pwaitCtx)) ++ "." ++ mkSharedPtrName)
-> (mkParamPBranchName (getPBranchId pbranchCtx))
-> locals) stmt
-> | otherwise = stmt
-
-> trPWaitLocals :: String -> BlockingContext -> CStat -> CStat
-> trPWaitLocals ctlPrefix bctx stmt
-> | hasPWaitAncestor bctx =
-> let pwaitCtx = getPWaitAncestor bctx
-> privateLocals = join $ map getCDeclNames $ getPWaitPrivateDecls pwaitCtx
-> sharedLocals = join $ map getCDeclNames $ getPWaitSharedDecls pwaitCtx
-> privatePrefixedStmt = addParamsPrefixes ctlPrefix (mkPrivatePWaitName (getPWaitId pwaitCtx)) privateLocals stmt
-> allPrefixedStmt = addParamsPtrPrefixes ctlPrefix (mkSharedPWaitName (getPWaitId pwaitCtx)) sharedLocals privatePrefixedStmt
-> in allPrefixedStmt
-> | otherwise = stmt
-
-> trFunLocals :: String -> BlockingContext -> CStat -> CStat
-> trFunLocals ctlPrefix bctx stmt =
-> let locals = join $ map getCDeclNames $ getLocals bctx
-> in (addParamsPtrPrefixes ctlPrefix "params" locals) stmt
-
-> trLocals :: String -> BlockingContext -> CStat -> CStat
-> trLocals s b = (trFunLocals s b) . (trPWaitLocals s b) . (trPBranchLocals s b)
-
-> trExpr :: String -> BlockingContext -> Maybe CExpr -> Maybe CExpr
-> trExpr ctlPrefix bctx expr =
-> let (CExpr resExpr _) = trLocals ctlPrefix bctx (CExpr expr $ getNI bctx)
-> in resExpr
-
-translateForCB turns statements that use local variables to statements that use
-fields within the appropriate parameter structure, and converts return statements
-to calling the appropriate callback
-
-> translateForCB :: BlockingContext -> [CStat] -> WalkerT [CStat]
-> translateForCB b stmts = do
-> p <- getPrefix
-> transformExits <- getTransExit
-> return $ map ((trLocals p b) . transformExits) stmts
-
-> swapReturnWithCallback :: CStat -> CStat
-> swapReturnWithCallback (CReturn retexpr ni) =
-> let retparam = if isNothing retexpr then [] else [fromJust retexpr]
-> in mkCompoundStmt Nothing [CExpr (Just (CCall (CMember (mkVar "ctl" ni)
-> (newIdent "callback" ni) True ni)
-> ([constructExprFromC ni "ctl->user_ptr"] ++ retparam) ni)) ni,
-> mkStmtFromC ni "free(ctl);",
-> mkStmtFromC ni "return;"] ni
-
-> swapReturnWithCallback c = c
-
-> transformFuncReturnStmts :: CStat -> CStat
-> transformFuncReturnStmts stmt =
-> everywhere (mkT $ swapReturnWithCallback) stmt
-
-> swapPostReturnWithCallback :: CStat -> CStat
-> swapPostReturnWithCallback (CReturn retexpr ni) =
-> let retparam = if isNothing retexpr then [] else [fromJust retexpr]
-> in mkCompoundStmt Nothing
-> [(CExpr (Just (CCall (CMember (mkVar "ctl" ni)
-> (newIdent "callback" ni) True ni)
-> ([constructExprFromC ni "ctl->user_ptr"] ++ retparam) ni)) ni),
-> mkStmtFromC ni "free(ctl);",
-> mkStmtFromC ni "return 0;"] ni
-> swapPostReturnWithCallback c = c
-
-> transformPostFuncReturnStmts :: CStat -> CStat
-> transformPostFuncReturnStmts stmt =
-> everywhere (mkT $ swapPostReturnWithCallback) stmt
-
-> getFuncLocalDecls :: CFunDef -> [CDecl]
-> getFuncLocalDecls funDef = (getFunDefParams funDef) ++ (getFunLocalDeclarations funDef)
-
-Make the initialization statements for the post function:
-
-params = malloc(sizeof(*params));
-if(params == NULL)
-{
- return -ENOMEM;
-}
-params->j = 0;
-params->val = val;
-...
-
-> mkPostFunInit :: String -> BlockingContext -> [CDecl] -> [CDecl] -> [CStat]
-> mkPostFunInit pname bctx fdecls pdecls =
-> -- default initialize statements for params
-> mkPostFunInitStmts pname (getNI bctx)
-
-> -- get the function parameters, and set the parameters in the params struct to the values passed in
-> ++ (map ((\name -> addStructPtrToAssign "ctl" "params" name (CVar name $ getNI bctx)) . getCDeclName) $
-> concat (map splitDecls fdecls))
-
-> -- get the init statements from local declarations, and add the params-> prefix
-> ++ (map (trLocals pname bctx) (getInitsFromDecls pdecls))
-
-
-> generateNextPostStmts :: Maybe BlockingContext -> WalkerT ([CStat])
-> generateNextPostStmts b = do
-> generatePostStmts b []
-
-> generateFirstPostStmts :: BlockingContext -> WalkerT ([CStat])
-> generateFirstPostStmts b@(FunContext _ (first:_) _ _ _) = do
-> let initStmts = nbStmtsBefore first
-> ctxInitStmts = getCtxInitStmts first
-> tlInitStmts <- translateForCB b (initStmts ++ ctxInitStmts)
-> setErrorWriter mkErrorPostHandler
-> setPBDone mkPBranchPostDoneStmts
-> setTransExit transformPostFuncReturnStmts
-> postStmts <- generatePostStmts (Just first) []
-> return $ tlInitStmts ++ postStmts
-
-> generateFirstPostStmts b@(FunContext f _ _ _ _) = do
-> let fname = getFunDefName f
-> stmts = getFunStmts f
-> tlInitStmts <- translateForCB b stmts
-> setErrorWriter mkErrorPostHandler
-> setPBDone mkPBranchPostDoneStmts
-> setTransExit transformPostFuncReturnStmts
-> gspWarn
-> ("The blocking function '" ++ fname ++ "' does not contain any blocking statements\n")
-> (getNI b)
-> return tlInitStmts
-
-> generateFirstPostStmts _ = error "Not a FunContext. Invalid code path."
-
-generatePostStmts makes the post call statements for a callback (or post function).
-This is called on a blocking statement that will translate to a post call within a callback function (or post function).
-
-> generatePostStmts :: Maybe BlockingContext -> [BlockingContext] -> WalkerT ([CStat])
-
-> generatePostStmts (Just b@(BlockingStmt stmt nbBefore _ _ _ _)) _ = do
-
-> -- pull out just the blocking call from a complex expression
-> (Just blockingCall) <- findBlockingCallExpr $ stmt
-
-> -- generate the function name for the callback to pass to the post call
-> let callbackFunName = (mkCallbackFunName (getParentName b)
-> (getCallName blockingCall)
-> (getCallNodeInfo blockingCall))
-
-> -- get the return type of the blocking call
-> let parentRetType = getFunDefReturn $ funDef (getParent b)
-
-> -- get the current params prefix
-> pname <- getPrefix
-> fname <- getFileName
-> errorWriter <- getErrorWriter
-> return (mkPostCall b callbackFunName pname blockingCall (\s -> errorWriter fname parentRetType s (getNI b)))
-
-> generatePostStmts (Just (FunContext _ (first:stmts) _ _ _)) tracer = error "generatePostStmts(FunContext): Invalid"
-
-> generatePostStmts (Just ifCtx@(IfContext ifDef (bif:ifStmts) (Just (belse:elseStmts)) nbBefore _ _ _ _)) tr = do
-> isValidBlockingIf ifDef
-> if (any (ifCtx ==) tr) then return []
-> else do
-> let tracer = ifCtx : tr
-> (CIf expr _ _ ni) = ifDef
-> ifPostStmts <- generatePostStmts (Just bif) tracer
-> ifInitStmts <- translateForCB ifCtx (getCtxInitStmts bif)
-
-> elsePostStmts <- generatePostStmts (Just belse) tracer
-> elseInitStmts <- translateForCB ifCtx (getCtxInitStmts belse)
-
-> ((CExpr tlExpr _):_) <- translateForCB ifCtx [(CExpr (Just expr) ni)]
-
-> tlNBBeforeIf <- translateForCB ifCtx $ nbStmtsBefore bif
-> tlNBBeforeElse <- translateForCB ifCtx $ nbStmtsBefore belse
-
-> let ifStmts = tlNBBeforeIf ++ ifInitStmts ++ ifPostStmts
-> elseStmts = tlNBBeforeElse ++ elseInitStmts ++ elsePostStmts
-> return [mkIfElseStmt tlExpr ifStmts elseStmts]
-
-Special case where the else has blocking call(s) but the if doesn't. We know that the else
-has blocking calls, because otherwise the IfContext wouldn't have been created.
-
-> generatePostStmts (Just ifCtx@(IfContext ifDef [] (Just (belse:elseStmts)) nbBefore nbAfter _ next _)) tr = do
-> isValidBlockingIf ifDef
-> if (any (ifCtx ==) tr) then return []
-> else do
-> let tracer = ifCtx : tr
-> transCtx = findTransition ifCtx
-> (CIf expr nbIfBlock _ ni) = ifDef
-
-> elsePostStmts <- generatePostStmts (Just belse) tracer
-> firstInitStmts <- translateForCB ifCtx (getCtxInitStmts belse)
-
-> afterIfStmts <- generateAfterStmts ifCtx tracer
-
-> ((CExpr tlIfExpr _):_) <- translateForCB ifCtx [(CExpr (Just expr) ni)]
-
-> tlNBIfStmts <- translateForCB ifCtx [nbIfBlock]
-
-> tlNBBeforeElse <- translateForCB ifCtx $ nbStmtsBefore belse
-
-> let ifStmts = tlNBIfStmts ++ afterIfStmts
-> elseStmts = tlNBBeforeElse ++ firstInitStmts ++ elsePostStmts
-
-> return [mkIfElseStmt tlIfExpr ifStmts elseStmts]
-
-Special case where the if has blocking call(s), but the else doesn't (an else may not even be present).
-
-> generatePostStmts (Just ifCtx@(IfContext ifDef (bif:ifStmts) (Just []) nbBefore nbAfter _ next _)) tr = do
-> isValidBlockingIf ifDef
-> if (any (ifCtx ==) tr) then return []
-> else do
-> let tracer = ifCtx : tr
-> transCtx = findTransition ifCtx
-> (CIf expr _ nbElse ni) = ifDef
-
-> ifPostStmts <- generatePostStmts (Just bif) tracer
-> firstInitStmts <- translateForCB ifCtx (getCtxInitStmts bif)
-
-> afterIfStmts <- generateAfterStmts ifCtx tracer
-
-> ((CExpr tlIfExpr _):_) <- translateForCB ifCtx [(CExpr (Just expr) ni)]
-
-> tlNBIfStmts <- translateForCB ifCtx $ nbStmtsBefore bif
-
-> tlNBBeforeElse <- if isJust nbElse then translateForCB ifCtx [fromJust nbElse] else return []
-
-> let ifStmts = tlNBIfStmts ++ firstInitStmts ++ ifPostStmts
-> elseStmts = tlNBBeforeElse ++ afterIfStmts
-
-> return [mkIfElseStmt tlIfExpr ifStmts elseStmts]
-
-> generatePostStmts (Just ifCtx@(IfContext ifDef (bif:ifStmts) Nothing before after parent next prev)) tr =
-> generatePostStmts (Just (IfContext ifDef (bif:ifStmts) (Just []) before after parent next prev)) tr
-
-> generatePostStmts (Just forCtx@(ForContext forDef (firstB:forStmts) nbBefore nbAfter _ forNext _)) tr = do
-> isValidBlockingFor forDef
-
-> if (any (forCtx ==) tr) then return [mkGoto (mkLoopStartLabelStr forCtx) (getNI forCtx)]
-> else do
-
-> let (CFor init expr1 expr2 _ ni) = forDef
-> loopStartLabel = \s -> mkLabel (mkLoopStartLabelStr forCtx) s $ getNI forCtx
-
-> let tracer = forCtx : tr
-> forPostStmts <- generatePostStmts (Just firstB) tracer
-> forPostInitStmts <- translateForCB forCtx $ ((nbStmtsBefore firstB) ++ (getCtxInitStmts firstB))
-> firstInitStmts <- translateForCB forCtx (getCtxInitStmts firstB)
-> let forStmts = forPostInitStmts ++ forPostStmts
-
-> afterForStmts <- generateAfterStmts forCtx tracer
-
-> ((CExpr tlForExpr _):_) <- translateForCB forCtx [(CExpr expr1 ni)]
-
-> return $ [loopStartLabel [mkIfElseStmt tlForExpr forStmts (addLoopBreakLabel forCtx afterForStmts)]]
-
-> generatePostStmts (Just whileCtx@(WhileContext whileDef (bwhile:whileStmts) nbBefore nbAfter _ _ _)) tr = do
-> isValidBlockingWhile whileDef
-
-> if (any (whileCtx ==) tr) then return [mkGoto (mkLoopStartLabelStr whileCtx) (getNI whileCtx)]
-> else do
-
-> let (CWhile expr stmts isDoWhile ni) = whileDef
-> loopStartLabel = \s -> mkLabel (mkLoopStartLabelStr whileCtx) s $ getNI whileCtx
-
-> let tracer = whileCtx : tr
-> whilePostStmts <- generatePostStmts (Just bwhile) tracer
-> whilePostInitStmts <- translateForCB whileCtx $ ((nbStmtsBefore bwhile) ++ (getCtxInitStmts bwhile))
-> firstInitStmts <- translateForCB whileCtx (getCtxInitStmts bwhile)
-> let whileStmts = whilePostInitStmts ++ firstInitStmts ++ whilePostStmts
-
-> afterWhileStmts <- generateAfterStmts whileCtx tracer
-
-> ((CExpr tlWhileExpr _):_) <- translateForCB whileCtx [(CExpr (Just expr) ni)]
-
-> return $ [loopStartLabel [mkIfElseStmt tlWhileExpr whileStmts (addLoopBreakLabel whileCtx afterWhileStmts)]]
-
-> generatePostStmts Nothing tr = return []
-
-> generatePostStmts (Just next@(PWaitContext _ pwaitDef stmts before after _ _ _)) tr = do
-> isValidPWait pwaitDef
-> getParallelStmts next tr
-
-> generatePostStmts (Just next@(PBranchContext _ _ _ _ _ _ _ _)) tr = return []
-
-> generatePostStmts (Just c) _ = error $ "generatePostStmts: " ++ (getCtxName c) ++ " not handled yet"
-
-> generateAfterStmts :: BlockingContext -> [BlockingContext] -> WalkerT [CStat]
-> generateAfterStmts b tracer = do
-> let transCtx = findTransition b
-> afterLoopPostStmts <- generatePostStmts transCtx tracer
-> stmtsAfter <- getStmtsAfter b []
-> if isJust transCtx
-> then do
-> initStmts <- translateForCB b ((getNextInitStmts b) ++ stmtsAfter)
-> return $ initStmts ++ afterLoopPostStmts
-> else return stmtsAfter
-
-> getParallelStmts :: BlockingContext -> [BlockingContext] -> WalkerT [CStat]
-
-> getParallelStmts pb@(PBranchContext _ branchDef (b:branchStmts) _ _ _ _ _) tr = do
-> pp <- getPrefix
-> let ni = getNI pb
-> nbStmtsBeforePB = nbStmtsBefore pb
-> nbStmts = nbStmtsBefore b
-> pbDeclInits = getInitsFromDecls $ getLocalDeclarations branchDef
-> ctxInitStmts = getCtxInitStmts b
-> pwaitName = mkPWaitName (getPWaitId $ getPWaitAncestor pb)
-> pbend = [mkLabel ("__gs_" ++ (getPBranchId pb) ++ "_end") [] ni]
-> afterPBranchNBStmts <- translateForCB pb (nbStmtsAfter pb)
-> pushPrefix "child_ctl"
-> initStmts <- translateForCB b $ (pbDeclInits ++ nbStmts ++ ctxInitStmts)
-> setPBDone mkPBranchPostDoneStmts
-> branchPostStmts <- generatePostStmts (Just b) []
-> cp <- getPrefix
-> let branchStmts = mkPBranchPostStmts pwaitName cp pp (getParentName pb) (initStmts ++ branchPostStmts) (nodeInfo branchDef)
-> popPrefix
-> return $ branchStmts ++ pbend ++ afterPBranchNBStmts
-
-> getParallelStmts pw@(PWaitContext _ waitDef waitStmts@(w:ws) before after parent next prev) tr = do
-> let nbStmts = nbStmtsBefore w
-> pwaitDeclInits = getInitsFromDecls $ getLocalDeclarations waitDef
-> pwParamsName = mkPWaitName (getPWaitId pw)
-> firstStmts <- translateForCB w (pwaitDeclInits ++ nbStmts)
-> pStmts <- liftM concat $ mapM (\b -> (getParallelStmts b tr)) waitStmts
-> p <- getPrefix
-> afterPWaitStmts <- generateAfterStmts pw tr
-> return $ (mkPWaitInitStmts pwParamsName p $ getNI pw) ++
-> firstStmts ++ pStmts ++ (mkPWaitFinishStmts afterPWaitStmts p $ getNI pw)
-
-> getParallelStmts b@(ForContext forDef forStmts@(f:fs) nbBefore nbAfter parent next prev) tr = do
-> p <- getPrefix
-> pStmts <- liftM concat $ mapM (\f1 -> (getParallelStmts f1 tr)) forStmts
-> let (CFor (Left init) expr2 expr3 _ ni) = forDef
-> trInit = trExpr p b init
-> trExpr2 = trExpr p b expr2
-> trExpr3 = trExpr p b expr3
-> trb <- translateForCB b (nbStmtsBefore f)
-> afterForNBStmts <- translateForCB b (nbStmtsAfter b)
-
-> return $ [(CFor (Left trInit) trExpr2 trExpr3
-> (mkCompoundStmt Nothing (trb ++ pStmts) ni) ni)] ++ afterForNBStmts
-
-> getParallelStmts b@(WhileContext whileDef whileStmts@(w:ws) nbBefore nbAfter parent next prev) tr = do
-> p <- getPrefix
-> pStmts <- liftM concat $ mapM (\w1 -> (getParallelStmts w1 tr)) whileStmts
-> let (CWhile expr stmts isDoWhile ni) = whileDef
-> (Just transExpr) = trExpr p b (Just expr)
-> trb <- translateForCB w (nbStmtsBefore w)
-> afterWhileNBStmts <- translateForCB b (nbStmtsAfter b)
-> return $ [(CWhile transExpr
-> (mkCompoundStmt Nothing (trb ++ pStmts) ni) isDoWhile ni)]
-> ++ afterWhileNBStmts
-
-> getParallelStmts b@(IfContext ifDef ifStmts@(if1:ifs) (Just (e1:elseStmts)) nbBefore nbAfter parent next prev) tr = do
-> p <- getPrefix
-> ifPStmts <- liftM concat $ mapM (\i -> (getParallelStmts i tr)) ifStmts
-> elsePStmts <- liftM concat $ mapM (\e -> (getParallelStmts e tr)) elseStmts
-> let (CIf expr _ _ ni) = ifDef
-> (Just transExpr) = trExpr p b (Just expr)
-> iftrb <- translateForCB if1 (nbStmtsBefore if1)
-> elsetrb <- translateForCB e1 (nbStmtsBefore e1)
-
-> afterIfNBStmts <- translateForCB b (nbStmtsAfter b)
-> return $ [(CIf transExpr (mkCompoundStmt Nothing (iftrb ++ ifPStmts) ni) (Just (mkCompoundStmt Nothing (elsetrb ++ elsePStmts) ni)) ni)] ++ afterIfNBStmts
-
-> getParallelStmts b@(IfContext ifDef ifStmts@(if1:ifs) Nothing nbBefore nbAfter parent next prev) tr = do
-> p <- getPrefix
-> ifPStmts <- liftM concat $ mapM (\i -> (getParallelStmts i tr)) ifStmts
-> let (CIf expr _ _ ni) = ifDef
-> (Just transExpr) = trExpr p b (Just expr)
-> iftrb <- translateForCB if1 (nbStmtsBefore if1)
-
-> afterIfNBStmts <- translateForCB b (nbStmtsAfter b)
-> return $ [(CIf transExpr (mkCompoundStmt Nothing (iftrb ++ ifPStmts) ni) Nothing ni)] ++ afterIfNBStmts
-
-> getLoopParent :: BlockingContext -> Maybe BlockingContext
-> getLoopParent b@(WhileContext _ _ _ _ _ _ _) = Just b
-> getLoopParent b@(ForContext _ _ _ _ _ _ _) = Just b
-> getLoopParent b = if isNothing $ parent b then Nothing else getLoopParent $ fromJust $ parent b
-
-> getLoopNI :: BlockingContext -> NodeInfo
-> getLoopNI (WhileContext wDef _ _ _ _ _ _) = nodeInfo wDef
-> getLoopNI (ForContext fDef _ _ _ _ _ _) = nodeInfo fDef
-> getLoopNI _ = assert False $ error "Not a loop context!"
-
-> mkLoopBreakLabelStr :: BlockingContext -> String
-> mkLoopBreakLabelStr b = (getParentName b) ++ (getPosVarStr $ getLoopNI $ fromJust $ getLoopParent b) ++ "break_after_loop"
-
-> mkLoopStartLabelStr :: BlockingContext -> String
-> mkLoopStartLabelStr b = (getParentName b) ++ (getPosVarStr $ getLoopNI b) ++ "start_of_loop"
-
-> getStmtsAfter :: BlockingContext -> [CStat] -> WalkerT [CStat]
-> getStmtsAfter b bcallReturn
-> | containsBreak $ nbStmtsAfter b = do
-> let loopCtx = findLoopParent b
-> ni = getNI b
-> breakStmts <- generateAfterStmts loopCtx []
-> tlAfter <- translateForCB b $ bcallReturn ++ (nbStmtsAfter b)
-> return $ swapBreak (mkCompoundStmt Nothing (breakStmts ++ [CReturn Nothing ni]) $ getNI b) tlAfter
-
-> | (containsPBreak $ nbStmtsAfter b) && isLastContext b && parentIsPBranch b = do
-> prefix <- getPrefix
-
-> let pwaitCtx = getPWaitAncestor b
-> pbranchCtx = getPBranchAncestor b
-> afterPWaitStmts <- generateAfterStmts pwaitCtx []
-> pbDone <- getPBDone
-
-> let fname = getParentName b
-> ni = getNI b
-> setDoneCtlStmt = [mkDoneCtlSetStmt prefix ni]
-> (pbreakDecls, pbreakStmts) = mkPBreakStmts prefix fname ni
-> (pbranchDecls, pbranchStart) = mkPBranchCallbackStartStmts prefix fname ni
-> pbranchDelete = mkPBranchDeleteStmts ni
-> pbranchDone = mkPBranchDoneStmts prefix fname ni
-> pbCheckDone = pbDone pbranchCtx ni
-> doneStmts = mkDoneStmts ni
-
-> tlAfter <- translateForCB b $ bcallReturn ++ (nbStmtsAfter b)
-> let afterStmts = swapPBreak (mkCompoundWithDecls Nothing
-> pbreakDecls
-> (pbranchStart ++ pbreakStmts ++ pbranchDone ++ pbCheckDone ++
-> setDoneCtlStmt ++ afterPWaitStmts ++ doneStmts)
-> $ getNI b) tlAfter
-
-> return $ [mkCompoundWithDecls Nothing pbranchDecls
-> (pbranchStart ++ afterStmts ++ setDoneCtlStmt ++
-> pbranchDelete ++ pbranchDone ++ pbCheckDone ++ afterPWaitStmts) $ getNI b]
-
-
-
-> | containsPBreak $ nbStmtsAfter b = do
-> prefix <- getPrefix
-
-> let pwaitCtx = getPWaitAncestor b
-> pbranchCtx = getPBranchAncestor b
-> afterPWaitStmts <- generateAfterStmts pwaitCtx []
-> pbDone <- getPBDone
-
-> let fname = getParentName b
-> ni = getNI b
-> setDoneCtlStmt = [mkDoneCtlSetStmt prefix ni]
-> (pbreakDecls, pbreakStmts) = mkPBreakStmts prefix fname ni
-> (pbranchDecls, pbranchStart) = mkPBranchCallbackStartStmts prefix fname ni
-> pbranchDone = mkPBranchDoneStmts prefix fname ni
-> pbCheckDone = pbDone pbranchCtx ni
-> doneStmts = mkDoneStmts ni
-
-> tlAfter <- translateForCB b $ bcallReturn ++ (nbStmtsAfter b)
-> let afterStmts = swapPBreak (mkCompoundWithDecls Nothing
-> pbreakDecls
-> (pbranchStart ++ pbreakStmts ++ pbranchDone ++ pbCheckDone ++
-> setDoneCtlStmt ++ afterPWaitStmts ++ doneStmts)
-> $ getNI b) tlAfter
-
-> return $ [mkCompoundWithDecls Nothing pbranchDecls afterStmts $ getNI b]
-
-
-> | isLastContext b && parentIsIf b = do
-> prefix <- getPrefix
-> parentStmts <- getStmtsAfter (fromJust $ parent b) []
-> tlAfter <- translateForCB b $ bcallReturn ++ (nbStmtsAfter b)
-> return $ tlAfter ++ parentStmts
-
-> | isLastContext b && parentIsPBranch b = do
-
-> prefix <- getPrefix
-
-> let pn = getParentName b
-> ni = getNI b
-
-> -- get statements after last blocking call in pbranch
-> tlAfterLastBlocking <- translateForCB b $ bcallReturn ++ (nbStmtsAfter b)
-
-> -- get statements after pwait context
-> let pwaitCtx = getPWaitAncestor b
-> pbranchCtx = getPBranchAncestor b
-> afterPWaitStmts <- getStmtsAfter pwaitCtx []
-> pbDone <- getPBDone
-
-> let pbDoneStmts = (mkPBranchDeleteStmts ni) ++
-> (mkPBranchDoneStmts prefix pn ni) ++
-> (pbDone pbranchCtx ni)
-> setDoneCtlStmt = [mkDoneCtlSetStmt prefix ni]
-> (cbDecls, cbStmts) = mkPBranchCallbackStartStmts prefix pn ni
-> return $ [mkCompoundWithDecls Nothing
-> cbDecls
-> (cbStmts ++ tlAfterLastBlocking ++ setDoneCtlStmt ++
-> pbDoneStmts ++ afterPWaitStmts) $ getNI b]
-
-> | otherwise = translateForCB b $ bcallReturn ++ (nbStmtsAfter b)
-
-> getNextInitStmts :: BlockingContext -> [CStat]
-> getNextInitStmts b
-> | isLastContext b && parentIsFor b =
-> let (Just (ForContext (CFor (Left init) expr1 expr2 _ ni) _ _ _ _ _ _)) = parent b
-> in [(CExpr expr2 ni)]
-
-> | isLastContext b && parentIsIf b = getNextInitStmts $ fromJust $ parent b
-
-> | (isJust $ next b) && (isForContext $ fromJust $ next b) =
-> let (Just (ForContext (CFor (Left init) expr1 expr2 _ ni) _ _ _ _ _ _)) = next b
-> in [(CExpr init ni)]
-> | otherwise = []
-
-> getCtxInitStmts :: BlockingContext -> [CStat]
-> getCtxInitStmts b
-> | isForContext b =
-> let (ForContext (CFor (Left init) expr1 expr2 _ ni) _ _ _ _ _ _) = b
-> in [(CExpr init ni)]
-> | otherwise = []
-
-> findTransition :: BlockingContext -> Maybe BlockingContext
-
-> findTransition b
-
-> -- When the blocking context is the last context in a chain and the parent is a loop,
-> -- we transition back to the loop
-
-> | isLastContext b && parentIsFun b = Nothing
-> | isLastContext b && parentIsFor b = parent b
-> | isLastContext b && parentIsWhile b = parent b
-> | isLastContext b && parentIsIf b = findTransition $ fromJust $ parent b
-> | isLastContext b && parentIsPBranch b = findTransition $ getPWaitAncestor b
-> | otherwise = next b
-
-> mkPostCall :: BlockingContext -> String -> String -> CExpr -> (String -> CStat) -> [CStat]
-> mkPostCall b fname ctlName bcall@(CCall fexpr _ _) errorHandler =
-> let ni = nodeInfo bcall
-> in [mkFunCall (mkVar "__gs_postret" ni)
-> fexpr
-> ((map (fromJust . (trExpr ctlName b) . Just) $ getCallParams bcall)
-> ++ [mkVar fname ni, mkVar ctlName ni,
-> addStructPtr ctlName $ mkVar "hints" ni,
-> addStructPtr ctlName $ mkVar "context" ni,
-> addAddrOp $ addStructPtr ctlName $ mkVar "current_op_id" ni]),
-> errorHandler ctlName]
-
-Construct the statements for the post function. First the declarations, next the initialization parts,
-and finally the code up-to the first blocking call.
-
-> mkPostStmts :: String -> BlockingContext -> CFunDef -> [CStat] -> CStat
-> mkPostStmts prefix bctx funDef blockingStmts = mkCompoundWithDecls Nothing
-
-> -- declarations
-> [mkStructPtrDecl (mkStructCtlName $ getParentName bctx) "ctl" $ getNI bctx,
-> genCDecl "gs_ret_t" "__gs_postret" $ getNI bctx]
-
-> -- initializer statements
-> (mkPostFunInit prefix bctx (getFunDefParams funDef) (getFunLocalDeclarations funDef)
-
-> -- statements before first blocking call
-> ++ (map (trLocals prefix bctx) blockingStmts)
-> ++ [mkLabel "__gs_post_end" [] $ getNI bctx,
-> mkStmtFromC (getNI bctx) "if(op_id) *op_id = gs_id_gen(0, (unsigned long)ctl);",
-> CReturn (Just (mkVar "__gs_postret" $ getNI bctx)) $ getNI bctx]) $ getNI bctx
-
-> mkCBParam :: (CTypeSpec, [CDerivedDeclr]) -> NodeInfo -> [CDecl]
-> mkCBParam (CVoidType _, []) ni =
-> [mkVoidFunPtr "callback" [constructDeclFromC ni "void *user_ptr;"]]
-> mkCBParam return ni =
-> [mkVoidFunPtr "callback"
-> [constructDeclFromC ni "void *user_ptr;",
-> mkCDecl (fst return) (snd return) "__gs_ret" ni]]
-
-> mkPostParams :: (String, (CTypeSpec, [CDerivedDeclr]), [CDecl]) -> [CDecl]
-> mkPostParams ((,,) fname return params) =
-> let ni = nodeInfo $ fst return
-> txParams = map translateBlockingFunParam $ removeVoid params
-> in txParams
-> ++ mkCBParam return ni
-> ++ [constructDeclFromC ni "void *user_ptr;"]
-> ++ [(genCDecl "gs_hints_t" "hints" ni),
-> (genCDecl "gs_context_t" "context" ni)]
-> ++ [mkCDecl (CTypeDef (newIdent "gs_op_id_t" ni) ni) [CPtrDeclr [] ni] "op_id" ni]
-
-> mkPostDecl :: (String, (CTypeSpec, [CDerivedDeclr]), [CDecl]) -> [CDeclSpec] -> CDecl
-> mkPostDecl f@((,,) fname return params) declspecs =
-> let ni = nodeInfo $ fst return
-> fparams = mkPostParams f
-> in mkFunDeclWithDeclSpecs
-> (fname ++ "_post")
-> (CTypeDef (newIdent "gs_ret_t" ni) ni) []
-> (filterStdDeclSpecs declspecs)
-> fparams
-
-> mkPostPtrDecl :: Bool -> (String, (CTypeSpec, [CDerivedDeclr]), [CDecl]) -> [CDeclSpec] -> CDecl
-> mkPostPtrDecl extern f@((,,) fname return params) declspecs =
-> let ni = nodeInfo $ fst return
-> fparams = mkPostParams f
-> in mkFunPtrDeclWithDeclSpecs
-> fname
-> (CTypeDef (newIdent "gs_ret_t" ni) ni) []
-> ((filterStdDeclSpecs declspecs) ++
-> (if extern then [CStorageSpec $ CExtern ni] else []))
-> fparams
-> (if not extern then Just (fname ++ "_post") else Nothing)
-
-> mkPostFunction :: String -> BlockingContext -> CFunDef -> [CStat] -> CExtDecl
-> mkPostFunction prefix bctx funDef postStmts =
-> let decls = getFunDefParams funDef
-> params = map translateBlockingFunParam $ removeVoid decls
-> ni = getNI bctx
-> in mkFunDef (CTypeDef (newIdent "gs_ret_t" ni) ni) -- return type
-> (getStdDeclSpecs funDef) -- get the storage specifiers for the function
-> (mkPostFunName "params" $ getFunDefName funDef) -- function name
-> (params ++ (mkBlockingParamsForPost funDef))
-> (mkPostStmts prefix bctx funDef postStmts) -- statements
-
-> mkCallbackInitStmts :: String -> BlockingContext -> [CStat]
-> mkCallbackInitStmts prefix bctx =
-> let ni = getNI bctx
-> in [CExpr (Just (CAssign
-> CAssignOp
-> (mkVar prefix ni)
-> (CCast (mkAnonStructPtrDecl (mkStructCtlName $ getParentName bctx) ni)
-> (mkVar "__gs_ptr" ni) ni) ni)) ni]
-
-> mkCallbackStmts :: String -> BlockingContext -> [CStat] -> [CStat] -> CStat
-> mkCallbackStmts prefix bctx stmtsAfter nextBlockingPostStmts =
-> let ni = getNI bctx
-> in mkCompoundWithDecls Nothing
-
-> -- declarations
-> [(mkStructPtrDecl (mkStructCtlName $ getParentName bctx) "ctl" ni),
-> (genCDecl "gs_ret_t" "__gs_postret" ni)]
-
-> -- initializer stmts
-> ((mkCallbackInitStmts prefix bctx)
-
-> -- callback statements
-> ++ stmtsAfter
-
-> -- the next blocking call
-> ++ nextBlockingPostStmts
-> ++ [mkLabel "__gs_callback_end" [] $ getNI bctx]) $ getNI bctx
-
-> mkCallbackReturnParamDecl :: (CTypeSpec, [CDerivedDeclr]) -> String -> NodeInfo -> [CDecl]
-> -- no parameter if the return type is void
-> mkCallbackReturnParamDecl (CVoidType _, []) _ _ = []
-> mkCallbackReturnParamDecl (retType, derives) name ni =
-> [mkCDecl retType (filter (not . isDerivedFun) derives) (mkCallbackRetParam name ni) ni]
-
-function definition, blocking call, return expression, statements after blocking call up to next blocking, optional next blocking call
-
-> mkCallbackDecl :: BlockingContext -> CExpr -> (CTypeSpec, [CDerivedDeclr]) -> CExtDecl
-> mkCallbackDecl bctx blockingCall returnType =
-> let fname = getCallName blockingCall
-> params = getCallParams blockingCall
-> ni = getCallNodeInfo blockingCall
-> in mkStaticFunDecl (CVoidType ni) -- return type
-> (mkCallbackFunName (getParentName bctx) fname ni) -- function name
-> ([constructDeclFromC ni "void *__gs_ptr;"] ++ -- parameter for control state
-> (mkCallbackReturnParamDecl returnType fname ni)) -- parameter for return type of blocking function
-
-> mkCallback :: String -> BlockingContext -> CExpr -> (CTypeSpec, [CDerivedDeclr]) -> [CStat] -> [CStat] -> CExtDecl
-> mkCallback prefix bctx blockingCall returnType stmts nextBlockingPostStmts =
-> let fname = getCallName blockingCall
-> params = getCallParams blockingCall
-> ni = getCallNodeInfo blockingCall
-> in mkStaticFunDef (CVoidType ni) -- return type
-> (mkCallbackFunName (getParentName bctx) fname ni) -- function name
-> ([constructDeclFromC ni "void *__gs_ptr;"] ++ -- parameter for control state
-> (mkCallbackReturnParamDecl returnType fname ni)) -- parameter for return type of blocking function
-> (mkCallbackStmts prefix bctx stmts nextBlockingPostStmts) -- statements
-
-Take a blocking statement and a list of statements that follow
-(possibly containing other blocking statements), and return a list
-of external declarations that are linked sequence of callback function
-definitions for the blocking statements in the list.
-
-Parameters:
-
-BlockingContext: The blocking context
-CStat: The blocking statement
-[[CStat]]: A list of statement lists. Each internal list contains nonblocking statements,
- with an optional blocking statement as the last element.
-
-> generateCallbackForBlocking :: BlockingContext -> WalkerT CExtDecl
-> generateCallbackForBlocking b@(BlockingStmt _ _ _ _ _ _) = do
-
-> -- get the actual blocking function call from the statement containing the call
-> blockingCall <- findBlockingCallExpr $ stmt b
-
-> -- verify that the blocking call exists
-> assert (isJust blockingCall) return ()
-
-> -- create a callback parameter that matches the return type of the blocking call
-> let callbackRetParam = mkCallbackRetParam (getCallName $ fromJust blockingCall) (getCallNodeInfo $ fromJust blockingCall)
-
-> -- make a statement that matches the one with the blocking call, but with the blocking call replaced
-> -- with a return variable
-> blockingCallReturnStmt <- findAndReplaceBlockingCall callbackRetParam $ stmt b
-
-> -- lookup the declaration of the blocking function call to get the return type and parameter types
-> blockingFun <- lookupBlocking $ fromJust blockingCall
-> assert (isJust blockingFun) return ()
-> let (Just ((,,) bname retType params)) = blockingFun
-
-> setErrorWriter mkErrorCBPostHandler
-> setTransExit transformFuncReturnStmts
-> setPBDone mkPBranchCBDoneStmts
-
-> -- get the nonblocking statements
-> prefix <- getPrefix
-> nonBlockingStmts <- getStmtsAfter b [blockingCallReturnStmt]
-> nextInitStmts <- translateForCB b $ getNextInitStmts b
-
-> -- figure out if there's another blocking call following this one, and get the call statements if so
-> nextBlockingPostStmts <- generateNextPostStmts (findTransition b)
-
-> prefix <- getPrefix
-> transformExits <- getTransExit
-
-> -- finally, generate the actual callback function definition
-> return $ mkCallback prefix
-> b
-> (fromJust blockingCall)
-> retType
-> (nonBlockingStmts ++ nextInitStmts)
-> nextBlockingPostStmts
-
-> generateCallbackDeclForBlocking :: BlockingContext -> WalkerT CExtDecl
-> generateCallbackDeclForBlocking b = do
-> blockingCall <- findBlockingCallExpr $ stmt b
-> -- verify that the blocking call exists
-> assert (isJust blockingCall) return ()
->
-> blockingFun <- lookupBlocking $ fromJust blockingCall
-> assert (isJust blockingFun) return ()
->
-> let (Just ((,,) bname retType params)) = blockingFun
-> return $ mkCallbackDecl b (fromJust blockingCall) retType
-
-> generateCallbackDefs :: BlockingContext -> WalkerT [CExtDecl]
-> generateCallbackDefs = generateCallbacks generateCallbackForBlocking
-
-> generateCallbackDecls :: BlockingContext -> WalkerT [CExtDecl]
-> generateCallbackDecls = generateCallbacks generateCallbackDeclForBlocking
-
-> generateCallbacks :: (BlockingContext -> WalkerT CExtDecl) -> BlockingContext -> WalkerT [CExtDecl]
-
-> generateCallbacks transFun (FunContext funDef stmts _ _ _) = liftM concat $ mapM (generateCallbacks transFun) stmts
-
-> generateCallbacks transFun b@(BlockingStmt stmt before after _ _ _) = do
-> liftM (:[]) $ transFun b
-
-> generateCallbacks transFun b@(IfContext ifDef ifStmts elseStmts before after _ _ _) = do
-> isValidBlockingIf ifDef
-> ifCallbacks <- mapM (generateCallbacks transFun) ifStmts
-> elseCallbacks <- if isJust elseStmts then mapM (generateCallbacks transFun) $ fromJust elseStmts else return []
-> return $ concat ifCallbacks ++ concat elseCallbacks
-
-> generateCallbacks transFun b@(ForContext forDef forStmts before after _ _ _) =
-> liftM concat $ mapM (generateCallbacks transFun) forStmts
-
-> generateCallbacks transFun b@(WhileContext whileDef whileStmts before after _ _ _) =
-> liftM concat $ mapM (generateCallbacks transFun) whileStmts
-
-> generateCallbacks transFun b@(PWaitContext _ pwaitDef stmts before after _ _ _) =
-> liftM concat $ mapM (generateCallbacks transFun) stmts
-
-> generateCallbacks transFun b@(PBranchContext _ pwaitDef stmts before after _ _ _) =
-> liftM concat $ mapM (generateCallbacks transFun) stmts
-
-> transformBlocking :: CExtDecl -> WalkerT [CExtDecl]
-> transformBlocking (CFDefExt funDef)
-
-> -- A blocking function definition, so we transform it
-> | isBlockingFunDef funDef = do
-
-> -- register a blocking function with its parameters and return type
-> registerBlocking ((getFunDefName funDef), (getFunDefReturn funDef), (getFunDefParams funDef))
-
-> -- Find any blocking function pointers as parameters to the blocking function,
-> -- and register them
-> mapM_ registerBlockingFunParam $ getFunDefParams funDef
-
-> -- Register function parameters as local variables
-> addLocals $ getFunDefParams funDef
-
-> -- Register function local variables
-> addLocals $ getFunLocalDeclarations funDef
-
-> -- before generating the context, we add a return; statement at the end if its
-> -- a void function and doesn't have a return
-> fDefWReturn <- checkForReturn funDef
-
-> -- Generate the blocking tree of BlockingContext nodes
-> ctx <- generateContext fDefWReturn
-
-> -- Debugging: display the blocking tree
-> -- putStrLnW $ drawTree $ contextToTree ctx
-
-> -- Walk the tree, and generate the callback function declarations
-> callbackDecls <- generateCallbackDecls ctx
-
-> -- Walk the tree, and generate the callback function definitions
-> callbackDefs <- generateCallbackDefs ctx
-
-> setErrorWriter mkErrorPostHandler
-> setPBDone mkPBranchPostDoneStmts
-> setTransExit transformPostFuncReturnStmts
-
-> -- Generate the post statements for the post function from the first blocking context
-> postStmts <- generateFirstPostStmts ctx
-
-> -- Make the blocking params structure declaration
-> paramsStruct <- mkBlockingParamsStruct funDef
-> pwaitStructs <- mkBlockingPWaitStructs funDef ctx
-> ctlStruct <- mkBlockingCtlStruct funDef ctx True
-
-> prefix <- getPrefix
-
-> let ni = getNI ctx
-> fi = getFunInfo funDef
-> specs = map CStorageSpec (getStorageSpecs funDef)
-> postDecls = [CDeclExt $ mkPostDecl fi specs, CDeclExt $ mkPostPtrDecl False fi specs]
-> -- Construct the external declarations of parameters, callback functions, and post function
-> transformedDecls = pwaitStructs ++ [paramsStruct, ctlStruct] ++ callbackDecls ++ callbackDefs ++
-> postDecls ++
-> [mkPostFunction prefix ctx funDef postStmts]
-
-> -- Clear the blocking function parameters registry
-> resetLocals
-> clearLocalFunPtrRegistry
-
-> return transformedDecls
-
-> transformBlocking c = return [c]
-
-> transform :: CTranslUnit -> WalkerT CTranslUnit
-> transform (CTranslUnit decls ni) = do
-> -- map transformBlockingDef decls returns: [WalkerT [CExtDecl]]
-> -- sequence of that returns: WalkerT [[CExtDecl]]
-> -- so we lift concat into a monad so that we end up with WalkerT [CExtDecl]
-> newdecls <- liftM concat $ sequence $ map transformBlocking decls
-> return $ CTranslUnit newdecls ni
-
-> derivedToString :: CDerivedDeclr -> String
-> derivedToString (CPtrDeclr _ _) = " * "
-> derivedToString (CFunDeclr (Right (params, _)) _ _) = foldl1 (++) $ map (show . pretty) params
-
-> printBlocking :: Int -> FPType -> WalkerT ()
-> printBlocking l (FPFun n f) = do
-> let (bname, (rettype, derives), params) = f
-> liftIO $ print $ (take l $ repeat ' ') ++ bname ++ "( " ++ (foldl1 (++) $ map (show . pretty) params) ++ " ) = " ++ (show . pretty $ rettype)
-> printBlocking l (FPStruct n f i) = do
-> liftIO $ print $ (take l $ repeat ' ') ++ "( " ++ n ++ " )->" ++ f
-> printBlocking (l + 4) i
-
-> printRegisteredBlockingCalls :: WalkerT ()
-> printRegisteredBlockingCalls = do
-> blocking <- getAllBlocking
-> liftIO $ print "BLOCKING FUNCTIONS:"
-> mapM_ (printBlocking 0) blocking
-
-> generateAST :: FilePath -> IO CTranslUnit
-> generateAST input_file = do
-> input_stream <- readInputStream input_file
-> let parse_result = parseC input_stream (position 0 input_file 1 1)
-> case parse_result of
-> Left parse_err -> error (show parse_err)
-> Right ast -> return ast
-
-> generateASTWithCPP :: FilePath -> [String] -> IO CTranslUnit
-> generateASTWithCPP input_file includes = do
-> parseResult <- parseCFile (newGCC "gcc") Nothing (("-x c"):includes) input_file
-> case parseResult of
-> Left p -> error (show p)
-> Right ast -> return ast
-
-> parseHeader :: FilePath -> Maybe FilePath -> FilePath -> IO ()
-> parseHeader headerfile report outfile = do
-> let r = if isJust report then fromJust report else headerfile
-> w <- newWalkerState r mkErrorPostHandler mkPBranchPostDoneStmts transformFuncReturnStmts
-> ctu <- generateAST headerfile
-> (pairs, w) <- runStateT (getBlockingHeaderDecls ctu) w
-> outputHeader r outfile pairs
-> appendFile headerfile "\n\n"
-> return ()
-
-> parseFile :: Bool -> [String] -> FilePath -> Maybe FilePath -> FilePath -> IO ()
-> parseFile p includes outfile report f = do
-> let r = if isJust report then fromJust report else f
-> w <- newWalkerState r mkErrorPostHandler mkPBranchPostDoneStmts transformFuncReturnStmts
-> ctu <- generateAST f
-> (ctuWithPostDecls, w) <- runStateT (registerBlockingFunDecls ctu) w
-> (transCTU, w) <- runStateT (transform ctuWithPostDecls) w
-> if p then ((writeFile outfile) . show . pretty) transCTU
-> else ((writeFile outfile) . show . serialize) transCTU
-> appendFile outfile "\n\n"
-> return ()
-
-> data ParserOpts = Pretty | Help | Include String | Report String | Outfile String | Header
-
-> getIncludes :: [ParserOpts] -> [String]
-> getIncludes ((Include s):ps) = ("-I" ++ s):(getIncludes ps)
-> getIncludes (_:ps) = getIncludes ps
-> getIncludes [] = []
-
-> getReportFilename :: [ParserOpts] -> Maybe String
-> getReportFilename ((Report s):ps) = Just s
-> getReportFilename (_:ps) = getReportFilename ps
-> getReportFilename [] = Nothing
-
-> getOutfile :: [ParserOpts] -> Maybe String
-> getOutfile ((Outfile s):ps) = Just s
-> getOutfile (_:ps) = getOutfile ps
-> getOutfile [] = Nothing
-
-> parserOpts :: [OptDescr ParserOpts]
-> parserOpts =
-> [ Option ['p'] ["pretty"] (NoArg Pretty)
-> "output in pretty form without source line macros"
-> , Option ['I'] ["include"] (ReqArg (\s -> Include s) "<include path>")
-> "include path for preprocessor"
-> , Option ['h','?'] ["help"] (NoArg Help)
-> "help text"
-> , Option ['r'] ["report"] (ReqArg (\s -> Report s) "<report filename>")
-> "filename to use when reporting errors"
-> , Option ['o'] ["outfile"] (ReqArg (\s -> Outfile s) "<output file>")
-> "filename to write translated C code"
-> , Option ['j'] ["header"] (NoArg Header)
-> "parse header file instead of source"
-> ]
-
-> optPretty :: ParserOpts -> Bool
-> optPretty (Pretty) = True
-> optPretty _ = False
-
-> optHelp :: ParserOpts -> Bool
-> optHelp (Help) = True
-> optHelp _ = False
-
-> optHeader :: ParserOpts -> Bool
-> optHeader (Header) = True
-> optHeader _ = False
-
-> main :: IO ()
-> main = do
-> args <- getArgs
-> let (opts, files, errs) = getOpt RequireOrder parserOpts args
-> pretty = any optPretty opts
-> help = any optHelp opts
-> includes = getIncludes opts
-> report = getReportFilename opts
-> outfile = getOutfile opts
-> pheader = any optHeader opts
-> header = "Usage: gs-parser [OPTIONS...] files..."
-> when (not $ null errs) $ ioError $ userError ((concat errs) ++
-> (usageInfo header parserOpts))
-> when help $ do { putStrLn $ usageInfo header parserOpts ; exitWith (ExitFailure 1) }
-> when (isNothing outfile) $ ioError $ userError "No output file specified."
-> when pheader $ do { mapM_ (\f -> parseHeader f report (fromJust outfile)) files ; exitWith (ExitSuccess) }
-> mapM_ (parseFile pretty includes (fromJust outfile) report) files
diff --git a/oldcode/src/gsl/parser/gs-remote-parser.lhs b/oldcode/src/gsl/parser/gs-remote-parser.lhs
deleted file mode 100644
index 9c4c991..0000000
--- a/oldcode/src/gsl/parser/gs-remote-parser.lhs
+++ /dev/null
@@ -1,518 +0,0 @@
-> module RemoteParser where
-> import Language.C
-> import Language.C.Data.Position
-> import Language.C.System.GCC -- preprocessor used
-> import Language.C.Data.Ident
-> import System.Environment
-> import System.Console.GetOpt
-> import System.Exit
-> import Data.Typeable
-> import Data.Maybe
-> import Data.Either
-> import Data.HashTable
-> import Data.Generics
-> import Data.Generics.Schemes
-> import qualified Data.ByteString
-> import qualified Data.ByteString.Char8
-> import Control.Monad.State
-> import Control.Exception
-> import Data.List
-> import CGen
-> import CParse
-> import CUtils
-> import System.IO.Unsafe
-> import Debug.Trace
-> import Data.Tree
-> import Serialize
-> import CParse
-> import CGen
-> import Header
-
-> type RemoteTypeRegistry = [String]
-
-> data Remote = Remote {
-> filename :: String,
-> typeReg :: RemoteTypeRegistry
-> }
-
-> newRemoteState :: String -> IO Remote
-> newRemoteState fname = return $ Remote fname []
-
-> getRemoteTypeName :: CTypeSpec -> Maybe String
-> getRemoteTypeName (CSUType (CStruct CStructTag (Just n) _ _ _) _) = Just $ "struct_" ++ (identToString n)
-> getRemoteTypeName (CSUType (CStruct CUnionTag (Just n) _ _ _) _) = Just $ "union_" ++ (identToString n)
-> getRemoteTypeName (CEnumType (CEnum (Just n) _ _ _) _) = Just $ "enum_" ++ (identToString n)
-> getRemoteTypeName (CTypeDef n _) = Just $ identToString n
-> getRemoteTypeName _ = Nothing
-
-> mkRemoteDecl :: CDecl -> [CDerivedDeclr] -> String -> Maybe CDecl
-> mkRemoteDecl d@(CDecl specs inits ni) ders v =
-> let s = getTypeSpec specs
-> in case s of
-> (CSUType (CStruct CStructTag name _ _ ni2) ni3) -> Just $ mkCDecl (CSUType (CStruct CStructTag name Nothing [] ni2) ni3) ders v ni
-> (CSUType (CStruct CUnionTag name _ _ ni2) ni3) -> Just $ mkCDecl (CSUType (CStruct CUnionTag name Nothing [] ni2) ni3) ders v ni
-> (CEnumType (CEnum name _ _ ni2) ni3) -> Just $ mkCDecl (CEnumType (CEnum name Nothing [] ni2) ni3) ders v ni
-> (CTypeDef name ni2) -> Just $ mkCDecl (CTypeDef name ni2) ders v ni
-> _ -> Nothing
-
-> getFieldTypeName :: CDecl -> RemoteT String
-> getFieldTypeName d@(CDecl specs declrs ni) = do
-> let t = getTypeSpec specs
-> ds = getCDeclrsFromList declrs
-> ptrs = if null ds then [] else getDerivedPtrs $ head ds
-> tname = getRemoteTypeName t
-> ptrStrings = join $ map (\_ -> "_ptr") ptrs
-> when (isNothing tname) $ invalid ("parameter '" ++ (show $ pretty d) ++ "' does not have an known encoding type") ni
-> return ((fromJust tname) ++ ptrStrings)
-
-typeof(expr)
-
-CTypeOfType CDecl NodeInfo
-
-
-> mkEncodeBlock :: NodeInfo -> Bool -> String -> String -> [CStat]
-> mkEncodeBlock ni isPtr typeName fieldName = mkStmtsFromCLines ni $
-> "{ \
-> \ ret = gs_encode_"++typeName++"(buf, "++fieldName++", "++(if isPtr then "" else "&")++"x->"++fieldName++"); \
-> \ if(ret != 0) \
-> \ { \
-> \ return ret; \
-> \ } \
-> \}"
-
-> mkEncodeStmts :: [CDecl] -> NodeInfo -> RemoteT CStat
-> mkEncodeStmts fields ni = do
-> types <- mapM getFieldTypeName fields
-> let vars = map getVarName fields
-> return $ mkCompoundWithDecls Nothing [genCDecl "gs_ret_t" "ret" ni]
-> ((concat (zipWith (mkEncodeBlock ni False) types vars)) ++ [mkStmtFromC ni "return ret;"]) ni
-
-> mkEncodeFun :: CDecl -> String -> [CDecl] -> NodeInfo -> RemoteT CExtDecl
-> mkEncodeFun decl sname fields ni = do
-> stmts <- mkEncodeStmts fields ni
-> let tparam = mkRemoteDecl decl [(CPtrDeclr [] ni)] "x"
-> when (isNothing tparam) $ invalid "not a known encoding type" ni
-> return $ mkFunDef (CTypeDef (newIdent "gs_ret_t" ni) ni)
-> [(CStorageSpec (CStatic ni)), (CTypeQual (CInlineQual ni))]
-> ("gs_encode_" ++ sname)
-> [genCDecl "gs_buffer_t" "buf" ni,
-> genCDecl "gs_string_t" "varname" ni,
-> fromJust tparam]
-> stmts
-
-> mkDecodeBlock :: NodeInfo -> Bool -> String -> String -> [CStat]
-> mkDecodeBlock ni isPtr typeName fieldName = mkStmtsFromCLines ni $
-> "{ \
-> \ ret = gs_decode_"++typeName++"(buf, "++fieldName++", "++(if isPtr then "" else "&")++"x->"++fieldName++"); \
-> \ if(ret != 0) \
-> \ { \
-> \ return ret; \
-> \ } \
-> \}"
-
-> mkDecodeStmts :: [CDecl] -> NodeInfo -> RemoteT CStat
-> mkDecodeStmts fields ni = do
-> types <- mapM getFieldTypeName fields
-> let vars = map getVarName fields
-> return $ mkCompoundWithDecls Nothing [genCDecl "gs_ret_t" "ret" ni]
-> ((concat (zipWith (mkDecodeBlock ni False) types vars)) ++ [mkStmtFromC ni "return ret;"]) ni
-
-> mkDecodeFun :: CDecl -> String -> [CDecl] -> NodeInfo -> RemoteT CExtDecl
-> mkDecodeFun decl sname fields ni = do
-> stmts <- mkDecodeStmts fields ni
-> let tparam = mkRemoteDecl decl [(CPtrDeclr [] ni)] "x"
-> when (isNothing tparam) $ invalid "not a known encoding type" ni
-> return $ mkFunDef (CTypeDef (newIdent "gs_ret_t" ni) ni)
-> [(CStorageSpec (CStatic ni)), (CTypeQual (CInlineQual ni))]
-> ("gs_decode_" ++ sname)
-> [genCDecl "gs_buffer_t" "buf" ni,
-> genCDecl "gs_string_t" "varname" ni,
-> fromJust tparam]
-> stmts
-
-> mkSizeBlock :: NodeInfo -> Bool -> String -> String -> [CStat]
-> mkSizeBlock ni isPtr typeName fieldName = mkStmtsFromCLines ni $
-> "{ \
-> \ size += gs_encode_size_"++typeName++"("++fieldName++", "++(if isPtr then "" else "&")++"x->"++fieldName++"); \
-> \}"
-
-> mkSizeStmts :: [CDecl] -> NodeInfo -> RemoteT CStat
-> mkSizeStmts fields ni = do
-> types <- mapM getFieldTypeName fields
-> let vars = map getVarName fields
-> return $ mkCompoundWithDecls Nothing [genCDecl "uint64_t" "size" ni]
-> ([mkStmtFromC ni "size = 0;"] ++ ((concat (zipWith (mkSizeBlock ni False) types vars))) ++ [mkStmtFromC ni "return size;"]) ni
-
-> mkSizeFun :: CDecl -> String -> [CDecl] -> NodeInfo -> RemoteT CExtDecl
-> mkSizeFun decl sname fields ni = do
-> stmts <- mkSizeStmts fields ni
-> let tparam = mkRemoteDecl decl [(CPtrDeclr [] ni)] "x"
-> when (isNothing tparam) $ invalid "not a known encoding type" ni
-> return $ mkFunDef (CTypeDef (newIdent "uint64_t" ni) ni)
-> [(CStorageSpec (CStatic ni)), (CTypeQual (CInlineQual ni))]
-> ("gs_encode_size_" ++ sname)
-> [genCDecl "gs_string_t" "varname" ni,
-> fromJust tparam]
-> stmts
-
-
-> registerStruct :: CDecl -> RemoteT [CExtDecl]
-> registerStruct d@(CDecl specs inits ni) = do
-> let si = getStructInfo d
-> (Just (_, fields)) = si
-> s = getRemoteTypeName (getTypeSpec specs)
-> sname = fromJust s
-> allFields = join $ map splitDecls fields
-> when (isNothing s) $ invalid ("cannot define a remote struct without a name\n") ni
-> if (structSpecHasFields (head $ filter isStructTypeSpec specs)) then do
-> let newS = CDeclExt $ CDecl (filter (not . isRemoteSpec) specs) inits ni
-> enc <- mkEncodeFun d sname allFields ni
-> size <- mkSizeFun d sname allFields ni
-> dec <- mkDecodeFun d sname allFields ni
-> return [newS, size, enc, dec]
-> else return []
-
- init = mkInitFun d
- dest = mkDestroyFun d
-
-> transDecl :: CExtDecl -> RemoteT [CExtDecl]
-> transDecl e@(CDeclExt d@(CDecl specs inits ni))
-> | any isRemoteSpec specs = registerStruct d
-> | otherwise = return []
-
-> getFileName :: RemoteT String
-> getFileName = do
-> w <- get
-> return $ filename w
-
-> getFilePosStr :: NodeInfo -> RemoteT String
-> getFilePosStr (NodeInfo p _ _) = do
-> fname <- getFileName
-> return (fname ++ ":" ++ (show $ posRow p) ++ ":" ++ (show $ posColumn p))
-
-> type RemoteT = StateT Remote IO
-
-> invalid :: String -> NodeInfo -> RemoteT ()
-> invalid msg ni = do
-> fstr <- getFilePosStr ni
-> error (fstr ++ ": Invalid grayskull usage: " ++ msg)
-
-> inRemoteStructs :: CDecl -> Bool
-> inRemoteStructs _ = True
-
-> isRemoteFunDef :: CFunDef -> Bool
-> isRemoteFunDef (CFunDef specs declr decls stmt ni) = any isRemoteSpec specs
-
-> filterOutRemoteSpec :: [CDeclSpec] -> [CDeclSpec]
-> filterOutRemoteSpec = filter (not . isRemoteSpec)
-
-> mkStubDecl :: String -> (CTypeSpec, [CDerivedDeclr]) -> [CDecl] -> CDecl
-> mkStubDecl fname (retType, retDerived) params = mkFunDecl ("remote_" ++ fname) retType retDerived params
-
-> mkGSRetType :: NodeInfo -> CTypeSpec
-> mkGSRetType ni = (CTypeDef (newIdent "gs_ret_t" ni) ni)
-
-> mkGSBufferType :: NodeInfo -> CTypeSpec
-> mkGSBufferType ni = (CTypeDef (newIdent "gs_buffer_t" ni) ni)
-
-> mkSkelDecl :: NodeInfo -> String -> CDecl
-> mkSkelDecl ni fname = mkFunDecl ("__service_"++fname) (mkGSRetType ni) [] [mkCDecl (mkGSBufferType ni) [(CPtrDeclr [] ni)] "buffer" ni]
-
-> checkRemoteParams :: NodeInfo -> [CDecl] -> RemoteT ()
-> checkRemoteParams ni [inputdecl, outputdecl] = do
-> let inNI = nodeInfo inputdecl
-> inName = identToString $ getCDeclName inputdecl
-> outNI = nodeInfo outputdecl
-> outName = identToString $ getCDeclName outputdecl
-> when (not $ inRemoteStructs inputdecl) $ invalid ("input parameter '"++inName++"' cannot be encoded, must use a __remote type") inNI
-> when (not $ inRemoteStructs outputdecl) $ invalid ("output parameter '"++outName++"' cannot be encoded, must use a __remote type") outNI
-> let (CDecl specs initdeclrs ni) = outputdecl
-> ptrs = filter isDerivedPtr $ join $ map getDerivedDeclrs initdeclrs
-> when ((length ptrs) /= 1) $ invalid ("output parameter '"++outName++"' must be a pointer to type") outNI
-> return ()
-
-> checkRemoteParams ni _ = do
-> invalid "only two parameters allowed for a __remote declaration" ni
-> return ()
-
-> isGSReturnType :: CTypeSpec -> Bool
-> isGSReturnType (CTypeDef (Ident name _ _) _) = name == "gs_ret_t"
-
-> checkRemoteReturn :: (CTypeSpec, [CDerivedDeclr]) -> RemoteT ()
-> checkRemoteReturn (retType, retDerived) = do
-> when (not $ isGSReturnType retType) $ invalid "__remote function must have a return type of gs_ret_t" (nodeInfo retType)
-> return ()
-
-> registerRemoteDecl :: CExtDecl -> RemoteT [CExtDecl]
-> registerRemoteDecl e@(CDeclExt d@(CDecl specs inits ni))
-
-> | isStructDecl d && (any isRemoteSpec specs) = transDecl e
-> | isFunDecl d && (any isRemoteSpec specs) = do
-> let (fname, returnType, params) = splitFunDecl d
-> newspecs = filterOutRemoteSpec specs
-> ni = nodeInfo e
-
-> -- only two params allowed right now: input and pointer to output
-> checkRemoteParams ni params
-
-> checkRemoteReturn returnType
-
-> let [inputdecl, outputdecl] = params
-> origDecl = CDeclExt $ (CDecl newspecs inits ni)
-> stubDecl = CDeclExt $ addBlockingTQ $ mkStubDecl fname returnType params
-> skelDecl = CDeclExt $ addBlockingTQ $ mkSkelDecl ni fname
-
-> return [origDecl, stubDecl, skelDecl]
-> | otherwise = return [e]
-
-> registerRemoteDecl e = return [e]
-
-> registerRemoteDecls :: CTranslUnit -> RemoteT CTranslUnit
-> registerRemoteDecls (CTranslUnit decls ni) = do
-> newdecls <- liftM concat $ sequence $ map registerRemoteDecl decls
-> return $ CTranslUnit newdecls ni
-
-> data ParserOpts = Pretty | Help | Include String | Report String | Outfile String | Header
-
-> getIncludes :: [ParserOpts] -> [String]
-> getIncludes ((Include s):ps) = ("-I" ++ s):(getIncludes ps)
-> getIncludes (_:ps) = getIncludes ps
-> getIncludes [] = []
-
-> getReportFilename :: [ParserOpts] -> Maybe String
-> getReportFilename ((Report s):ps) = Just s
-> getReportFilename (_:ps) = getReportFilename ps
-> getReportFilename [] = Nothing
-
-> getOutfile :: [ParserOpts] -> Maybe String
-> getOutfile ((Outfile s):ps) = Just s
-> getOutfile (_:ps) = getOutfile ps
-> getOutfile [] = Nothing
-
-> parserOpts :: [OptDescr ParserOpts]
-> parserOpts =
-> [ Option ['p'] ["pretty"] (NoArg Pretty)
-> "output in pretty form without source line macros"
-> , Option ['I'] ["include"] (ReqArg (\s -> Include s) "<include path>")
-> "include path for preprocessor"
-> , Option ['h','?'] ["help"] (NoArg Help)
-> "help text"
-> , Option ['r'] ["report"] (ReqArg (\s -> Report s) "<report filename>")
-> "filename to use when reporting errors"
-> , Option ['o'] ["outfile"] (ReqArg (\s -> Outfile s) "<output file>")
-> "filename to write translated C code"
-> , Option ['j'] ["header"] (NoArg Header)
-> "parse header file instead of source"
-> ]
-
-> optPretty :: ParserOpts -> Bool
-> optPretty (Pretty) = True
-> optPretty _ = False
-
-> optHelp :: ParserOpts -> Bool
-> optHelp (Help) = True
-> optHelp _ = False
-
-> optHeader :: ParserOpts -> Bool
-> optHeader (Header) = True
-> optHeader _ = False
-
-> parseRemoteHeader :: FilePath -> Maybe FilePath -> FilePath -> IO ()
-> parseRemoteHeader headerfile report outfuile = return ()
-
-> mkStubBlock :: String -> String -> String -> String -> NodeInfo -> [CStat]
-> mkStubBlock inTypeName inName outTypeName outName ni = mkStmtsFromCLines ni $
-> "{ \
-> \ ret = gs_encode_maxsize_"++inTypeName++"(&maxsize); \
-> \ if(ret != GS_SUCCESS) \
-> \ { \
-> \ return ret; \
-> \ } \
-> \ ret = gs_buffer_allocate(&buffer, maxsize); \
-> \ if(ret != GS_SUCCESS) \
-> \ { \
-> \ return ret; \
-> \ } \
-> \ ret = gs_encode_"++inTypeName++"(buffer, "++inName++"); \
-> \ if(ret != GS_SUCCESS) \
-> \ { \
-> \ gs_buffer_free(buffer); \
-> \ return ret; \
-> \ } \
-> \ ret = gs_decode_maxsize_"++outTypeName++"(&max_recvsize); \
-> \ if(ret != GS_SUCCESS) \
-> \ { \
-> \ gs_buffer_free(buffer); \
-> \ return ret; \
-> \ } \
-> \ ret = gs_buffer_allocate(&recv_buffer, max_recvsize); \
-> \ if(ret != GS_SUCCESS) \
-> \ { \
-> \ gs_buffer_free(buffer); \
-> \ return ret; \
-> \ } \
-> \ ret = gs_msg_send_recv(id, buffer, recv_buffer); \
-> \ if(ret != GS_SUCCESS) \
-> \ { \
-> \ gs_buffer_free(buffer); \
-> \ gs_buffer_free(recv_buffer); \
-> \ return ret; \
-> \ } \
-> \ ret = gs_decode_"++outTypeName++"(buffer, "++outName++"); \
-> \ gs_buffer_free(buffer); \
-> \ gs_buffer_free(recv_buffer); \
-> \ return ret; \
-> \}"
-
-> mkStubStmts :: [CDecl] -> NodeInfo -> CStat
-> mkStubStmts params ni =
-> let [inparam, outparam] = params
-> (Ident inParamName _ _) = getCDeclName inparam
-> (Ident outParamName _ _) = getCDeclName outparam
-> inTypeName = canonCDecl inparam
-> outTypeName = canonCDecl outparam
-
-> in mkCompoundWithDecls Nothing
-
-> -- declarations
-> [genCDecl "gs_buffer_t" "buffer" ni,
-> genCDecl "gs_buffer_t" "recv_buffer" ni,
-> genCDecl "int" "maxsize" ni,
-> genCDecl "gs_ret_t" "ret" ni]
-
-> (mkStubBlock inTypeName inParamName outTypeName outParamName ni)
-> ni
-
-> mkStubFun :: CFunDef -> CExtDecl
-> mkStubFun fundef =
-> let fname = getFunDefName fundef
-> params = getFunDefParams fundef
-> ni = nodeInfo fundef
-> in mkFunDef (CTypeDef (newIdent "gs_ret_t" ni) ni) -- return type
-> (filterOutRemoteSpec $ getDeclSpecs fundef) -- get the storage specs for the function
-> ("remote_" ++ fname) -- the function name for the stub
-> ((genCDecl "gs_node_id" "id" ni) : params) -- parameters
-> (mkStubStmts params ni)
-
-> mkSkelBlock :: String -> String -> String -> String -> String -> NodeInfo -> [CStat]
-> mkSkelBlock fname inTypeName inName outTypeName outName ni = mkStmtsFromCLines ni $
-> "{ \
-> \ ret = gs_decode_"++inTypeName++"(buffer, "++inName++"); \
-> \ if(ret != GS_SUCCESS) \
-> \ { \
-> \ return ret; \
-> \ } \
-> \ ret = gs_encode_maxsize_"++outTypeName++"(&max_respsize); \
-> \ if(ret != GS_SUCCESS) \
-> \ { \
-> \ return ret; \
-> \ } \
-> \ ret = gs_buffer_allocate(resp_buffer, max_respsize); \
-> \ if(ret != GS_SUCCESS) \
-> \ { \
-> \ return ret; \
-> \ } \
-> \ ret = "++fname++"("++inName++", &"++outName++"); \
-> \ if(ret != GS_SUCCESS) \
-> \ { \
-> \ return ret; \
-> \ } \
-> \ ret = gs_encode_"++outTypeName++"(resp_buffer, "++outName++"); \
-> \ if(ret != GS_SUCCESS) \
-> \ { \
-> \ return ret; \
-> \ } \
-> \ return ret; \
-> \}"
-
-> mkSkelStmts :: String -> [CDecl] -> NodeInfo -> CStat
-> mkSkelStmts fname params ni =
-> let [inparam, outparam] = params
-> (Ident inParamName _ _) = getCDeclName inparam
-> (Ident outParamName _ _) = getCDeclName outparam
-> inTypeName = canonCDecl inparam
-> outTypeName = canonCDecl outparam
-
-> in mkCompoundWithDecls Nothing
-
-> -- declarations
-> [genCDecl "int" "maxsize" ni,
-> inparam, outparam,
-> genCDecl "gs_ret_t" "ret" ni]
-
-> -- stmts
-> (mkSkelBlock fname inTypeName inParamName outTypeName outParamName ni)
-> ni
-
-
-> mkSkelFun :: CFunDef -> CExtDecl
-> mkSkelFun fundef =
-> let fname = getFunDefName fundef
-> params = getFunDefParams fundef
-> ni = nodeInfo fundef
-> in mkFunDef (CTypeDef (newIdent "gs_ret_t" ni) ni) -- return type
-> (filterOutRemoteSpec $ getDeclSpecs fundef) -- get the storage specs for the function
-> ("__service_" ++ fname) -- the function name for the stub
-> [genCDecl "gs_buffer_t *" "buffer" ni,
-> genCDecl "gs_buffer_t *" "resp_buffer" ni]
-> (mkSkelStmts fname params ni)
-
-> transformRemote :: CExtDecl -> RemoteT [CExtDecl]
-> transformRemote e@(CFDefExt funDef)
-> | isRemoteFunDef funDef = do
-> let re = removeRemoteSpecFromFunDef e
-> stub = mkStubFun funDef
-> rstub = removeRemoteSpecFromFunDef stub
-> skel = mkSkelFun funDef
-> rskel = removeRemoteSpecFromFunDef skel
-> return [re, rstub, rskel]
-> | otherwise = return [e]
-> transformRemote e = return [e]
-
-> transformR :: CTranslUnit -> RemoteT CTranslUnit
-> transformR (CTranslUnit decls ni) = do
-> newdecls <- liftM concat $ sequence $ map transformRemote decls
-> return $ CTranslUnit newdecls ni
-
-> generateAST :: FilePath -> IO CTranslUnit
-> generateAST input_file = do
-> input_stream <- readInputStream input_file
-> let parse_result = parseC input_stream (position 0 input_file 1 1)
-> case parse_result of
-> Left parse_err -> error (show parse_err)
-> Right ast -> return ast
-
-> parseRemote :: Bool -> [String] -> FilePath -> Maybe FilePath -> FilePath -> IO ()
-> parseRemote p includes outfile report f = do
-> let r = if isJust report then fromJust report else f
-> w <- newRemoteState r
-> ctu <- generateAST f
-> (ctuWithDecls, w) <- runStateT (registerRemoteDecls ctu) w
-> (transCTU, w) <- runStateT (transformR ctuWithDecls) w
-> if p then ((writeFile outfile) . show . pretty) transCTU
-> else ((writeFile outfile) . show . serialize) transCTU
-> appendFile outfile "\n\n"
-> return ()
-
-> main :: IO ()
-> main = do
-> args <- getArgs
-> let (opts, files, errs) = getOpt RequireOrder parserOpts args
-> pretty = any optPretty opts
-> help = any optHelp opts
-> includes = getIncludes opts
-> outfile = getOutfile opts
-> pheader = any optHeader opts
-> report = getReportFilename opts
-> header = "Usage: gs-remote-parser [OPTIONS...] files..."
->
-> when (not $ null errs) $ ioError $ userError ((concat errs) ++
-> (usageInfo header parserOpts))
->
-> when help $ do { putStrLn $ usageInfo header parserOpts ; exitWith (ExitFailure 1) }
-> when (isNothing outfile) $ ioError $ userError "No output file specified."
-
-> when pheader $ do { mapM_ (\f -> parseRemoteHeader f report (fromJust outfile)) files ; exitWith (ExitSuccess) }
-> mapM_ (parseRemote pretty includes (fromJust outfile) report) files
-
-vim: ts=8 sts=4 sw=4 expandtab
diff --git a/oldcode/src/gsl/parser/module.mk.in b/oldcode/src/gsl/parser/module.mk.in
deleted file mode 100644
index ab1ed82..0000000
--- a/oldcode/src/gsl/parser/module.mk.in
+++ /dev/null
@@ -1,20 +0,0 @@
-DIR := parser
-
-HSSRC += $(DIR)/gs-blocking-parser.lhs \
- $(DIR)/CGen.lhs \
- $(DIR)/CParse.lhs \
- $(DIR)/CUtils.lhs \
- $(DIR)/BlockingContext.lhs \
- $(DIR)/Walker.lhs \
- $(DIR)/ContextGen.lhs \
- $(DIR)/Serialize.hs \
- $(DIR)/Header.lhs \
- $(DIR)/gs-remote-parser.lhs
-
-HSBINSRC += $(DIR)/gs-blocking-parser.lhs $(DIR)/gs-remote-parser.lhs
-
-MODNAME_$(DIR)/gs-blocking-parser.lhs = BlockingParser
-MODNAME_$(DIR)/gs-remote-parser.lhs = RemoteParser
-
-clean::
- rm -rf *.o *.hi gs-blocking-parser gs-remote-parser
diff --git a/oldcode/src/gsl/prepare b/oldcode/src/gsl/prepare
deleted file mode 100755
index 0c62e84..0000000
--- a/oldcode/src/gsl/prepare
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-if aclocal -I ./maint/config && autoheader && autoconf ; then
- echo "configure script successfully regenerated"
-else
- echo "some part of configure regeneration failed"
-fi
diff --git a/oldcode/src/gsl/resources/cosd-prototype/README b/oldcode/src/gsl/resources/cosd-prototype/README
deleted file mode 100644
index 71b5f71..0000000
--- a/oldcode/src/gsl/resources/cosd-prototype/README
+++ /dev/null
@@ -1,2 +0,0 @@
-This resource is a prototype of the COSD object layer, intended for use as a
-replication building block.
diff --git a/oldcode/src/gsl/resources/cosd-prototype/cosd-fd-cache.c b/oldcode/src/gsl/resources/cosd-prototype/cosd-fd-cache.c
deleted file mode 100644
index 6cbb0c2..0000000
--- a/oldcode/src/gsl/resources/cosd-prototype/cosd-fd-cache.c
+++ /dev/null
@@ -1,321 +0,0 @@
-#define _GNU_SOURCE
-#define _XOPEN_SOURCE 600
-
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <limits.h>
-#include <stdio.h>
-
-#include "gs-config.h"
-#include "include/gs.h"
-#include "include/gs-list.h"
-#include "include/gs-hash.h"
-#include "cosd-fd-cache.h"
-
-/* TODO: this is duplicated in cosd-prototype.c, need to resolve */
-#define DIRECT_ALIGN 4096
-
-/* TODO: this needs to be in a header somewhere */
-#ifndef llu
-#if SIZEOF_LONG_INT == 4
-# define llu(x) (x)
-# define lld(x) (x)
-# define SCANF_lld "%lld"
-#elif SIZEOF_LONG_INT == 8
-# define llu(x) (unsigned long long)(x)
-# define lld(x) (long long)(x)
-# define SCANF_lld "%ld"
-#else
-# error Unexpected sizeof(long int)
-#endif
-#endif
-
-/* TODO: it would be great if there were a way to disable the mutex locking
- * inside of gs_hash. We are locking ourselves here because we need to span
- * multiple operations and data structures
- */
-
-static GS_LIST_HEAD(unused_list);
-static struct gs_hash_table* oid_table = NULL;;
-static char* fd_cache_cosd_log_path = NULL;
-static int hash_count = 0;
-static gs_mutex_t fd_mutex = GS_MUTEX_INITIALIZER;
-
-/* this is the point at which we try to close unused file descriptors */
-#define OPEN_WATERMARK 300
-
-static int oid_compare(void *key, struct gs_hash_link *hash_link);
-static void fd_cache_destructor(struct fd_cache_entry* entry);
-
-int fd_cache_initialize(char* cosd_log_path)
-{
- gs_mutex_lock(&fd_mutex);
-
- oid_table = gs_hash_init(oid_compare, gs_hash_64bit_hash, 200);
- if(!oid_table)
- {
- gs_mutex_unlock(&fd_mutex);
- /* TODO: error code */
- return(-1);
- }
-
- fd_cache_cosd_log_path = strdup(cosd_log_path);
- if(!fd_cache_cosd_log_path)
- {
- gs_mutex_unlock(&fd_mutex);
- /* TODO: error code */
- return(-1);
- }
-
- gs_mutex_unlock(&fd_mutex);
- return(0);
-}
-
-void fd_cache_finalize(void)
-{
- struct gs_list_link* iterator;
- struct gs_list_link* scratch;
- struct fd_cache_entry *tmp_entry;
-
- gs_mutex_lock(&fd_mutex);
- assert(oid_table);
-
- /* empty the lru list for safety */
- gs_list_for_each_safe(iterator, scratch, &unused_list)
- {
- tmp_entry = gs_list_get_entry(iterator, struct fd_cache_entry,
- unused_link);
- gs_list_del(&tmp_entry->unused_link);
- }
-
- /* iterate through the whole table closing files and freeing memory */
- gs_hash_destroy_and_finalize(oid_table, struct fd_cache_entry,
- hash_link, fd_cache_destructor);
- oid_table = NULL;
-
- assert(hash_count == 0);
- assert(gs_list_empty(&unused_list));
-
- free(fd_cache_cosd_log_path);
-
- gs_mutex_unlock(&fd_mutex);
- return;
-}
-
-void fd_cache_remove(uint64_t oid)
-{
- struct gs_hash_link* tmp_link;
- struct fd_cache_entry* tmp_entry;
- char log_name [PATH_MAX];
- int ret;
-
- gs_mutex_lock(&fd_mutex);
-
- /* do we have it open? */
- tmp_link = gs_hash_search(oid_table, &oid);
- if(tmp_link)
- {
- tmp_entry = gs_list_get_entry(tmp_link, struct fd_cache_entry,
- hash_link);
- /* we are in trouble if someone is using this */
- assert(tmp_entry->ref_count == 0);
-
- /* get rid of the fd cache entry */
- gs_list_del(&tmp_entry->unused_link);
- gs_list_del(&tmp_entry->hash_link);
- close(tmp_entry->fd);
- gs_mutex_destroy(&tmp_entry->log_offset_mutex);
- free(tmp_entry);
- hash_count--;
- }
-
- /* actually unlink the log file */
- sprintf(log_name, "%s/%llu.dat", fd_cache_cosd_log_path,
- llu(oid));
- unlink(log_name);
-
- gs_mutex_unlock(&fd_mutex);
- return;
-}
-
-struct fd_cache_entry* fd_cache_get(uint64_t oid)
-{
- struct gs_hash_link* tmp_link;
- struct fd_cache_entry* tmp_entry;
- struct fd_cache_entry* dead_entry;
- struct gs_list_link* iterator;
- struct gs_list_link* scratch;
- char log_name [PATH_MAX];
- int ret;
- struct stat statbuf;
-
- gs_mutex_lock(&fd_mutex);
- assert(oid_table);
-
- tmp_link = gs_hash_search(oid_table, &oid);
- if(tmp_link)
- {
- /* we already have it open */
- tmp_entry = gs_list_get_entry(tmp_link, struct fd_cache_entry,
- hash_link);
- if(tmp_entry->ref_count == 0)
- {
- assert(tmp_entry->unused_link.prev);
- gs_list_del(&tmp_entry->unused_link);
- }
- tmp_entry->ref_count++;
- gs_mutex_unlock(&fd_mutex);
- return(tmp_entry);
- }
-
- /* don't know about this one yet */
- tmp_entry = malloc(sizeof(*tmp_entry));
- memset(tmp_entry, 0, sizeof(*tmp_entry));
- gs_mutex_init(&tmp_entry->log_offset_mutex, NULL);
-
- tmp_entry->oid = oid;
- tmp_entry->ref_count = 1;
-
- /* actually open the file */
- sprintf(log_name, "%s/%llu.dat", fd_cache_cosd_log_path,
- llu(oid));
- tmp_entry->fd = open(log_name, O_RDWR|O_CREAT|O_DIRECT|O_NOATIME,
- S_IRUSR|S_IWUSR);
- if(tmp_entry->fd < 0)
- {
- gs_mutex_destroy(&tmp_entry->log_offset_mutex);
- free(tmp_entry);
- gs_mutex_unlock(&fd_mutex);
- /* TODO: error handling */
- return(NULL);
- }
-
- /* use the current size as the next log offset */
- /* NOTE: this is safe. If the file was closed gracefully, we
- * truncate up to the appropriate size. If the process crashes, then
- * we are protected by the fact that the write txn doesn't close until
- * after data is written.
- */
- ret = fstat(tmp_entry->fd, &statbuf);
- if(ret < 0)
- {
- close(tmp_entry->fd);
- gs_mutex_destroy(&tmp_entry->log_offset_mutex);
- free(tmp_entry);
- gs_mutex_unlock(&fd_mutex);
- /* TODO: error handling */
- return(NULL);
- }
- assert((statbuf.st_size % DIRECT_ALIGN) == 0);
- tmp_entry->log_offset = statbuf.st_size;
-
- gs_hash_add(oid_table, &oid, &tmp_entry->hash_link);
- hash_count++;
-
- /* do we have too many objects open now? */
- if(hash_count > OPEN_WATERMARK)
- {
- /* go through unused list and close files until we get below the
- * watermark again
- */
- gs_list_for_each_safe(iterator, scratch, &unused_list)
- {
- dead_entry = gs_list_get_entry(iterator, struct fd_cache_entry,
- unused_link);
- assert(dead_entry->ref_count == 0);
- gs_list_del(&dead_entry->unused_link);
- gs_list_del(&dead_entry->hash_link);
- if(fstat(dead_entry->fd, &statbuf) == 0)
- {
- if(statbuf.st_size < dead_entry->log_offset)
- {
- /* truncate up; we have a write pending that hasn't hit
- * yet even though this file is being closed
- */
- ret = ftruncate(dead_entry->fd, dead_entry->log_offset);
- assert(ret == 0);
- /* TODO: error handling */
- }
- }
- close(dead_entry->fd);
- gs_mutex_destroy(&dead_entry->log_offset_mutex);
- free(dead_entry);
- hash_count--;
-
- if(hash_count < OPEN_WATERMARK)
- break;
- }
- }
-
- gs_mutex_unlock(&fd_mutex);
- return(tmp_entry);
-}
-
-void fd_cache_put(struct fd_cache_entry* entry)
-{
- gs_mutex_lock(&fd_mutex);
-
- assert(oid_table);
- entry->ref_count--;
- assert(entry->ref_count >= 0);
-
- /* don't close anything here. Just mark it as unused if the reference
- * count hits zero
- */
-
- if(entry->ref_count == 0)
- {
- assert(entry->unused_link.prev == NULL);
- gs_list_add_tail(&entry->unused_link, &unused_list);
- }
- gs_mutex_unlock(&fd_mutex);
- return;
-}
-
-static int oid_compare(void *key, struct gs_hash_link *hash_link)
-{
- struct fd_cache_entry *entry;
-
- entry = gs_hash_get_entry(hash_link, struct fd_cache_entry, hash_link);
- return(*((uint64_t*)key) == entry->oid);
-}
-
-static void fd_cache_destructor(struct fd_cache_entry* entry)
-{
- struct stat statbuf;
- int ret;
-
- /* we have done something wrong if this is still in use */
- assert(entry->ref_count == 0);
-
- if(fstat(entry->fd, &statbuf) == 0)
- {
- if(statbuf.st_size < entry->log_offset)
- {
- /* truncate up; we have a write pending that hasn't hit
- * yet even though this file is being closed
- */
- ret = ftruncate(entry->fd, entry->log_offset);
- assert(ret == 0);
- /* TODO: error handling */
- }
- }
- close(entry->fd);
- gs_mutex_destroy(&entry->log_offset_mutex);
- free(entry);
-
- hash_count--;
-
- return;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/resources/cosd-prototype/cosd-fd-cache.h b/oldcode/src/gsl/resources/cosd-prototype/cosd-fd-cache.h
deleted file mode 100644
index 3386d4b..0000000
--- a/oldcode/src/gsl/resources/cosd-prototype/cosd-fd-cache.h
+++ /dev/null
@@ -1,77 +0,0 @@
-#ifndef __COSD_FD_CACHE_GSH__
-#define __COSD_FD_CACHE_GSH__
-
-/** \defgroup COSD FD cache
- *
- * This is a simple API for caching open file descriptors in the COSD
- * prototype
- *
- * Notes:
- * - All functions return 0 on success or -errno on failure unless otherwise
- * noted
- * .
- * @{
- */
-
-/** \file
- * Declarations for COSD FD cache API.
- */
-
-#include "include/gs.h"
-
-struct fd_cache_entry
-{
- uint64_t oid; /* object id */
- int fd; /* file descriptor */
- int64_t log_offset; /* next available log offset */
- gs_mutex_t log_offset_mutex; /* protects log_offset field */
- int ref_count; /* number of people using this fd */
- gs_list_link_t unused_link; /* link to unused list */
- gs_list_link_t hash_link; /* link to hash table */
-};
-
-/**
- * Initializes fd cache interface
- * \return 0 on success, -errno on failure
- */
-int fd_cache_initialize(
- char* cosd_log_path /**< path on disk to data files */
-);
-
-void fd_cache_finalize(void);
-
-/**
- * Gets a reference to an object
- * \return 0 on success, -errno on failure
- */
-struct fd_cache_entry* fd_cache_get(
- uint64_t oid /**< object ID */
-);
-
-/**
- * Returns a reference to an object
- */
-void fd_cache_put(
- struct fd_cache_entry* entry /**< entry to put */
-);
-
-/**
- * Removes an object
- */
-void fd_cache_remove(
- uint64_t oid /**< object ID */
-);
-
-
-#endif
-
-/* @} */
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/resources/cosd-prototype/cosd-prototype.c b/oldcode/src/gsl/resources/cosd-prototype/cosd-prototype.c
deleted file mode 100644
index 1369a2d..0000000
--- a/oldcode/src/gsl/resources/cosd-prototype/cosd-prototype.c
+++ /dev/null
@@ -1,2829 +0,0 @@
-#define _GNU_SOURCE
-#define _XOPEN_SOURCE 600
-
-#include <time.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <unistd.h>
-#include <pthread.h>
-#include <stdio.h>
-#include <limits.h>
-#include <db.h>
-#include <stdlib.h>
-#include "gs-config.h"
-#include "cosd-fd-cache.h"
-
-/* This file contains a prototype implementation of the VOSD API that uses
- * Berkeley DB and O_DIRECT access to flat files rather than a T10 OSD.
- */
-
-/**************************************************************/
-/* TODO: general stuff:
- * - audit what calls can return DB_LOCK_DEADLOCK (c_close() seems silly,
- * for example)
- * - deadlock avoidance
- * - consider non-durable transactions in order to coalesce commits
- * - use txn_checkpoint to flush when coalescing
- * - consider rmw locks where appropriate
- * - long term: consider fallocate hint for logs to keep them linear
- * - try computing cksum along the way, store in db
- * - either in log map itself or db that matches its keys
- * - try to figure out o_direct alignment at runtime:
- * http://lkml.indiana.edu/hypermail/linux/kernel/0302.1/1064.html
- */
-/**************************************************************/
-
-/* TODO: this needs to be in a header somewhere */
-#ifndef llu
-#if SIZEOF_LONG_INT == 4
-# define llu(x) (x)
-# define lld(x) (x)
-# define SCANF_lld "%lld"
-#elif SIZEOF_LONG_INT == 8
-# define llu(x) (unsigned long long)(x)
-# define lld(x) (long long)(x)
-# define SCANF_lld "%ld"
-#else
-# error Unexpected sizeof(long int)
-#endif
-#endif
-
-#include "include/gs.h"
-#include "include/gs-op.h"
-#include "include/gs-oplist.h"
-#include "include/gs-opcache.h"
-#include "include/gs-hash.h"
-#include "resources/cosd-prototype/cosd-prototype.h"
-
-#define STORAGE_DEFAULT_OPCACHE_SIZE 1024
-#define COSD_LOG_SUBDIR "logs"
-#define COSD_MIN(__a, __b) ((__a) < (__b) ? (__a) : (__b))
-#define COSD_MAX(__a, __b) ((__a) > (__b) ? (__a) : (__b))
-/* TODO: find this programmatically */
-/* TODO: this is duplicated in fd cache, need to resolve */
-#define DIRECT_ALIGN 4096
-#define COSD_INIT_DBT(__dbt, __data) \
- do { \
- memset(&(__dbt), 0, sizeof(__dbt)); \
- (__dbt).data = &(__data); \
- (__dbt).size = sizeof(__data); \
- (__dbt).ulen = sizeof(__data); \
- (__dbt).flags = DB_DBT_USERMEM; \
- }while(0)
-#define COSD_INIT_DBT_EMPTY(__dbt) \
- do { \
- memset(&(__dbt), 0, sizeof(__dbt)); \
- (__dbt).flags = DB_DBT_USERMEM; \
- }while(0)
-
-
-static gs_opcache_t cosd_opcache;
-static gs_oplist_t cosd_oplist;
-static gs_mutex_t cosd_mutex = GS_MUTEX_INITIALIZER;
-static char* cosd_path = NULL;
-static char* cosd_log_path = NULL;
-static struct gs_hash_table *txn_table = NULL;
-static gs_mutex_t txn_mutex = GS_MUTEX_INITIALIZER;
-
-static DB *log_map_dbp = NULL;
-static DB *missing_ver_dbp = NULL;
-static DB *ver_dbp = NULL;
-DB_ENV *envp = NULL;
-
-static int gs_cosd_resource_id;
-static enum progress_mode gs_cosd_progress_mode = GS_PROG_NONE;
-
-
-/* counter used by poll function in thread-per-op case to know if ops have
- * finished since last poll
- */
-static int completed_counter = 0;
-static gs_mutex_t completed_counter_mutex = GS_MUTEX_INITIALIZER;
-static gs_cond_t completed_counter_cond = GS_COND_INITIALIZER;
-
-static unsigned long deadlock_counter = 0;
-
-/* uniquely identifies each active txn (in memory) */
-struct txn_accumulator
-{
- uint64_t oid;
- uint64_t fork;
- /* txn identifier */
- uint64_t txn_number;
- /* list of updates included in this txn */
- struct gs_list_link update_list;
- int update_list_count;
-
- /* link into hash table of current txns */
- struct gs_hash_link hash_link;
-};
-
-/* db entry representing region in logical map */
-/* indexed via last offset */
-struct logical_map_entry
-{
- int64_t size; /* size of region */
- int64_t logical_offset; /* beginning of logical region */
- int64_t logical_offset_end; /* end of logical region */
- int64_t log_offset; /* offset into log */
- uint64_t version; /* version number */
- int flags; /* record of what flags were used at write time */
- struct gs_list_link list_link;
-};
-
-struct logical_map_key
-{
- uint64_t oid;
- uint64_t fork;
- int64_t logical_offset_end;
-};
-
-/* represents a missing version number in a particular object */
-struct missing_version
-{
- uint64_t oid;
- uint64_t version;
-};
-
-struct cosd_op;
-
-struct cosd_work
-{
- union
- {
- struct create_op{
- uint64_t requested_oid;
- uint64_t* out_oid;
- } create;
- struct remove_op{
- uint64_t oid;
- } remove;
- struct write_op{
- uint64_t oid;
- uint64_t fork;
- uint64_t txn_number;
- char** mem_offsets;
- int64_t* mem_sizes;
- int mem_count;
- int64_t* obj_offsets;
- int64_t* obj_sizes;
- int obj_count;
- int flags;
- } write;
- struct read_op{
- uint64_t oid;
- uint64_t fork;
- char** mem_offsets;
- int64_t* mem_sizes;
- int mem_count;
- int64_t* obj_offsets;
- int64_t* obj_sizes;
- int obj_count;
- int64_t* out_size;
- } read;
- struct txn_close_op{
- uint64_t oid;
- uint64_t fork;
- uint64_t txn_number;
- } txn_close;
- struct get_version_op{
- uint64_t oid;
- uint64_t *version;
- } get_version;
- }u;
-
- int (*op_worker)(struct gs_op* op);
- void (*cleanup_fn)(struct cosd_work* work);
-};
-
-struct cosd_op
-{
- struct cosd_work work;
- struct cosd_work* work_array;
- int work_array_count;
- gs_op_id_t op_id;
- struct gs_op op;
- int error_code;
-};
-
-static int merge_logical_map(struct gs_list_link* list1_in, int
- list1_count, struct gs_list_link* list2_in, int list2_count,
- struct gs_list_link* list_out, void** free_ptr);
-static int compare_log_map_key(DB * dbp, const DBT * a, const DBT * b);
-static int compare_missing_version(DB * dbp, const DBT * a, const DBT * b);
-static int compare_uint64(DB * dbp, const DBT * a, const DBT * b);
-static int cmp_lme(const void *p1, const void *p2);
-static int advance_listio_ptrs(
- char** mem_offsets,
- int64_t* mem_sizes,
- int mem_count,
- int* mem_index,
- int64_t* obj_offsets,
- int64_t* obj_sizes,
- int obj_count,
- int* obj_index,
- int64_t size);
-static int cosd_write_set_work(
- struct cosd_work* work,
- uint64_t oid,
- uint64_t fork,
- uint64_t txn_number,
- char** mem_offsets,
- int64_t* mem_sizes,
- int mem_count,
- int64_t* obj_offsets,
- int64_t* obj_sizes,
- int obj_count,
- int flags);
-static int cosd_txn_close_set_work(
- struct cosd_work* work,
- uint64_t oid,
- uint64_t fork,
- uint64_t txn_number);
-
-static void* thread_fn(void* foo)
-{
- struct gs_op* op = foo;
- struct cosd_op* c_op = gs_op_entry(op, struct cosd_op, op);
- int i = 0;
-
- gs_mutex_lock(&cosd_mutex);
- /* pull off of list */
- gs_oplist_del(op, &cosd_oplist);
- gs_mutex_unlock(&cosd_mutex);
-
- if(c_op->work_array_count == 0)
- {
- /* normal operation */
- /* spin on op worker */
- while(c_op->work.op_worker(op) != 1);
-
- /* call cleanup function if present */
- if(c_op->work.cleanup_fn)
- c_op->work.cleanup_fn(&c_op->work);
- }
- else
- {
- /* compound operation */
- while(i<c_op->work_array_count && c_op->error_code == 0)
- {
- c_op->work = c_op->work_array[i];
- while(c_op->work.op_worker(op) != 1);
- i++;
- }
- for(i=0; i<c_op->work_array_count; i++)
- {
- if(c_op->work_array[i].cleanup_fn)
- c_op->work_array[i].cleanup_fn(&c_op->work_array[i]);
- }
- free(c_op->work_array);
- }
-
- /* trigger completion of the operation */
- gs_opcache_complete_op(cosd_opcache, op, c_op->error_code);
-
- /* wake up any pollers */
- gs_mutex_lock(&completed_counter_mutex);
- completed_counter++;
- gs_cond_signal(&completed_counter_cond);
- gs_mutex_unlock(&completed_counter_mutex);
-
- return(NULL);
-}
-
-static int txn_acc_compare(void *key, struct gs_hash_link *hash_link)
-{
- struct txn_accumulator *txn_acc;
-
- txn_acc = gs_hash_get_entry(hash_link, struct txn_accumulator, hash_link);
- return(*((uint64_t*)key) == txn_acc->txn_number);
-}
-
-static int gs_cosd_launch_op(struct gs_op *op, enum progress_mode mode)
-{
- int ret;
- pthread_t tid;
- pthread_attr_t attr;
-
- switch(mode)
- {
- case GS_PROG_POLL:
- gs_mutex_lock(&cosd_mutex);
- gs_oplist_add(op, &cosd_oplist);
- gs_mutex_unlock(&cosd_mutex);
- break;
- case GS_PROG_THREAD_PER_OP:
- /* TODO: make this better. Right now its a free for all */
-
- /* put on the queue */
- gs_mutex_lock(&cosd_mutex);
- gs_oplist_add(op, &cosd_oplist);
- gs_mutex_unlock(&cosd_mutex);
-
- /* launch a thread to do the work */
- /* TODO: error handling */
- ret = pthread_attr_init(&attr);
- assert(ret == 0);
- ret = pthread_attr_setdetachstate(&attr,
- PTHREAD_CREATE_DETACHED);
- assert(ret == 0);
- /* TODO: store tid in op (to help with cancelling or joining?) */
- ret = pthread_create(&tid, &attr, thread_fn, op);
- assert(ret == 0);
- pthread_attr_destroy(&attr);
-
- break;
- case GS_PROG_NONE:
- return(-EINVAL);
- break;
- case GS_PROG_THREAD_POOL:
- /* TODO: alert the thread pool etc. */
- /* TODO: gossip... */
- gs_mutex_lock(&cosd_mutex);
- gs_oplist_add(op, &cosd_oplist);
- gs_mutex_unlock(&cosd_mutex);
- return(-EINVAL);
- break;
- case GS_PROG_MAX:
- break;
- }
-
- return(0);
-}
-
-/* gs_cosd_poll_thread_per_op()
- *
- * poll function in the thread-per-op mode that doesn't do anything except
- * make sure that gs_poll wakes up if operations complete.
- */
-static int gs_cosd_poll_thread_per_op(gs_context_t context, int millisecs)
-{
- struct timespec abstime;
- struct timeval start;
- int ret;
-
- if(millisecs > 0)
- {
- ret = gettimeofday(&start, NULL);
- if (ret < 0)
- return (0);
-
- abstime.tv_sec = start.tv_sec + millisecs / 1000;
- abstime.tv_nsec = (start.tv_usec + ((millisecs % 1000)*1000))*1000;
- if (abstime.tv_nsec > 1000000000)
- {
- abstime.tv_nsec = abstime.tv_nsec - 1000000000;
- abstime.tv_sec++;
- }
- }
-
- gs_mutex_lock(&completed_counter_mutex);
- ret = 0;
- while(completed_counter == 0 && ret == 0)
- {
- if(millisecs > 0)
- {
- ret = gs_cond_timedwait(&completed_counter_cond,
- &completed_counter_mutex, &abstime);
- }
- else
- {
- ret = ETIMEDOUT;
- }
- }
- completed_counter = 0; /* reset for next poller */
- gs_mutex_unlock(&completed_counter_mutex);
-
- return(0);
-}
-
-static int gs_cosd_poll(gs_context_t context, int millisecs)
-{
- struct gs_op *gop;
- struct cosd_op *c_op;
- struct timespec ts_sleep;
- int i=0;
-
- /* NOTE: just servicing one op per call right now */
-
- /* NOTE: poll doesn't need locking, because it is not used in the
- * threaded modes
- */
-
- /* gs_mutex_lock(&cosd_mutex); */
-
- /* TODO: decouple locking for op list from servicing of operations so
- * that multithreaded apps can post while servicing happens
- * simultaneously
- */
- gop = gs_oplist_pop(&cosd_oplist);
- if(!gop)
- {
- /* sleep */
- /* TODO: this needs to be something that can be interrupted if
- * something is posted
- */
- ts_sleep.tv_sec = (int)(millisecs / 1e3);
- ts_sleep.tv_nsec = (millisecs % 1000) * 1e6;
- nanosleep(&ts_sleep, NULL);
- /* gs_mutex_unlock(&cosd_mutex); */
- return(0);
- }
-
- c_op = gs_op_entry(gop, struct cosd_op, op);
-
- if(c_op->work_array_count == 0)
- {
- /* normal operation */
- /* spin on op worker */
- while(c_op->work.op_worker(gop) != 1);
-
- /* call cleanup function if present */
- if(c_op->work.cleanup_fn)
- c_op->work.cleanup_fn(&c_op->work);
- }
- else
- {
- /* compound operation */
- while(i<c_op->work_array_count && c_op->error_code == 0)
- {
- c_op->work = c_op->work_array[i];
- while(c_op->work.op_worker(gop) != 1);
- i++;
- }
- for(i=0; i<c_op->work_array_count; i++)
- {
- if(c_op->work_array[i].cleanup_fn)
- c_op->work_array[i].cleanup_fn(&c_op->work_array[i]);
- }
- free(c_op->work_array);
- }
-
- gs_opcache_complete_op(cosd_opcache, gop, c_op->error_code);
-
- /* gs_mutex_unlock(&cosd_mutex); */
-
- return 0;
-}
-
-/* TODO: does this have to handle the case of the op already having
- * disappeared, or does the GSL engine protect against that?
- */
-static int gs_cosd_cancel(gs_context_t gs_ctx, gs_op_id_t op_id)
-{
- int cache_id, resource_id;
- gs_mutex_lock(&cosd_mutex);
- struct gs_op *op;
- struct cosd_op *c_op;
-
- cache_id = gs_id_lookup(op_id, &resource_id);
- assert(resource_id == gs_cosd_resource_id);
-
- op = gs_opcache_lookup(cosd_opcache, (int)cache_id);
- c_op = gs_op_entry(op, struct cosd_op, op);
-#if 0
- gs_oplist_del(op, &cosd_oplist);
- gs_opcache_put(cosd_opcache, op);
-#endif
-
- gs_mutex_unlock(&cosd_mutex);
-
- return 0;
-}
-
-struct gs_resource gs_cosd_resource =
-{
- .resource_name = "cosd",
- .poll_context = gs_cosd_poll,
- .cancel = gs_cosd_cancel
-};
-
-int gs_cosd_init(enum progress_mode mode, const char* path)
-{
- int ret = 0;
- int dir_exists = 0;
- uint32_t env_flags;
- uint32_t open_flags;
-
- /* make a directory for storage if not already present */
- ret = mkdir(path, 0755);
- if(ret != 0 && errno == EEXIST)
- {
- dir_exists = 1;
- }
- else if(ret != 0)
- {
- /* some other error */
- return(ret);
- }
-
- /* store paths */
- /* TODO: free both of these on error */
- cosd_path = strdup(path);
- if(!cosd_path)
- return(-errno);
- cosd_log_path = malloc(strlen(path)+strlen(COSD_LOG_SUBDIR)+2);
- if(!cosd_log_path)
- return(-errno);
- sprintf(cosd_log_path, "%s/%s", path, COSD_LOG_SUBDIR);
-
- /* create berkeley db environment */
- ret = db_env_create(&envp, 0);
- if(ret != 0)
- {
- /* TODO: err handling */
- return(-1);
- }
-
-#if 0
- /* purely for experimental purposes at this point */
- /* make transactions non-durable */
- ret = envp->set_flags(envp, DB_TXN_NOSYNC, 1);
- if(ret != 0)
- {
- /* TODO: error handling */
- return(-1);
- }
-#endif
-
- /* have db do deadlock detection and reject txn with fewest locks */
- ret = envp->set_lk_detect(envp, DB_LOCK_MINWRITE);
- if(ret != 0)
- {
- /* TODO: err handling */
- return(-1);
- }
-
- env_flags =
- DB_CREATE | /* Create the environment if it does not exist */
- DB_RECOVER | /* Run normal recovery. */
- DB_INIT_LOCK | /* Initialize the locking subsystem */
- DB_INIT_LOG | /* Initialize the logging subsystem */
- DB_INIT_TXN | /* Initialize the transactional subsystem. This
- * also turns on logging. */
- DB_INIT_MPOOL | /* Initialize the memory pool (in-memory cache) */
- DB_THREAD | /* Cause the environment to be free-threaded */
- DB_RECOVER; /* Run normal recovery steps */
-
- if(!dir_exists)
- {
- /* making a brand new storage space */
-
- /* new directory for logs */
- ret = mkdir(cosd_log_path, 0755);
- if(ret != 0)
- return(-errno);
- }
-
- /* open environment */
- ret = envp->open(envp, cosd_path, env_flags, 0);
- if(ret != 0)
- {
- /* TODO: error handling */
- return(-1);
- }
-
- /* create db handles */
- /* custom sort functions allow all dbs to be queried using cursors over
- * id ranges
- */
- ret = db_create(&log_map_dbp, envp, 0);
- if(ret != 0)
- {
- /* TODO: error handling */
- return(-1);
- }
- log_map_dbp->set_bt_compare(log_map_dbp, compare_log_map_key);
- ret = db_create(&missing_ver_dbp, envp, 0);
- if(ret != 0)
- {
- /* TODO: error handling */
- return(-1);
- }
- missing_ver_dbp->set_bt_compare(missing_ver_dbp, compare_missing_version);
- ret = db_create(&ver_dbp, envp, 0);
- if(ret != 0)
- {
- /* TODO: error handling */
- return(-1);
- }
- ver_dbp->set_bt_compare(ver_dbp, compare_uint64);
-
- /* open dbs */
- open_flags = DB_CREATE | /* Allow database creation */
- DB_READ_UNCOMMITTED | /* Allow dirty reads */
- DB_AUTO_COMMIT; /* Allow autocommit */
-
- ret = log_map_dbp->open(log_map_dbp, NULL, "logical-map.db",
- NULL, DB_BTREE, open_flags, 0);
- if(ret != 0)
- {
- /* TODO: error handling */
- return(-1);
- }
- ret = missing_ver_dbp->open(missing_ver_dbp, NULL, "missing_versions.db",
- NULL, DB_BTREE, open_flags, 0);
- if(ret != 0)
- {
- /* TODO: error handling */
- return(-1);
- }
- ret = ver_dbp->open(ver_dbp, NULL, "version.db",
- NULL, DB_BTREE, open_flags, 0);
- if(ret != 0)
- {
- /* TODO: error handling */
- return(-1);
- }
-
- /* flush out txn logs up front; otherwise the first I/O operation to the
- * COSD may bog down instead.
- */
- envp->txn_checkpoint(envp, 0, 0, 0);
-
- gs_mutex_lock(&txn_mutex);
- /* create hash table for open txns */
- txn_table = gs_hash_init(txn_acc_compare, gs_hash_64bit_hash, 1024);
- if(!txn_table)
- {
- /* TODO: error handling */
- gs_mutex_unlock(&txn_mutex);
- return(-1);
- }
- gs_mutex_unlock(&txn_mutex);
-
- ret = fd_cache_initialize(cosd_log_path);
- if(ret < 0)
- {
- return(ret);
- }
-
- GS_OPLIST_INIT(&cosd_oplist);
-
- ret = GS_OPCACHE_INIT(struct cosd_op, op, STORAGE_DEFAULT_OPCACHE_SIZE, &cosd_opcache);
- if(ret < 0)
- {
- fd_cache_finalize();
- return(ret);
- }
-
- assert(mode > GS_PROG_NONE && mode < GS_PROG_MAX);
-
- /* modify poll function depending on requested mode */
- switch(mode)
- {
- case GS_PROG_POLL:
- gs_cosd_resource.poll_context = gs_cosd_poll;
- break;
- case GS_PROG_THREAD_PER_OP:
- case GS_PROG_THREAD_POOL:
- gs_cosd_resource.poll_context = gs_cosd_poll_thread_per_op;
- break;
- case GS_PROG_NONE:
- case GS_PROG_MAX:
- return(-EINVAL);
- }
-
- gs_cosd_resource_id = gs_resource_register(&gs_cosd_resource);
- if(gs_cosd_resource_id < 0)
- {
- fd_cache_finalize();
- gs_opcache_destroy(cosd_opcache);
- return(gs_cosd_resource_id);
- }
- gs_cosd_progress_mode = mode;
-
- return ret;
-}
-
-int gs_cosd_finalize(void)
-{
- gs_resource_unregister(gs_cosd_resource_id);
- gs_opcache_destroy(cosd_opcache);
-
- fd_cache_finalize();
-
- envp = log_map_dbp->get_env(log_map_dbp);
- log_map_dbp->close(log_map_dbp, 0);
- missing_ver_dbp->close(missing_ver_dbp, 0);
- ver_dbp->close(ver_dbp, 0);
-
- gs_mutex_lock(&txn_mutex);
- gs_hash_finalize(txn_table);
- gs_mutex_unlock(&txn_mutex);
-
- printf("deadlock_counter: %lu\n", deadlock_counter);
-
- return 0;
-}
-
-/* read_op_cleanup()
- *
- * cleans up memory after a read operation completes
- */
-static void read_op_cleanup(struct cosd_work *work)
-{
- if(work->u.read.mem_offsets)
- free(work->u.read.mem_offsets);
- if(work->u.read.mem_sizes)
- free(work->u.read.mem_sizes);
- if(work->u.read.obj_sizes)
- free(work->u.read.obj_sizes);
- if(work->u.read.obj_offsets)
- free(work->u.read.obj_offsets);
-
- return;
-}
-
-/* write_op_cleanup()
- *
- * cleans up memory after a write operation completes
- */
-static void write_op_cleanup(struct cosd_work* work)
-{
- if(work->u.write.mem_offsets)
- free(work->u.write.mem_offsets);
- if(work->u.write.mem_sizes)
- free(work->u.write.mem_sizes);
- if(work->u.write.obj_sizes)
- free(work->u.write.obj_sizes);
- if(work->u.write.obj_offsets)
- free(work->u.write.obj_offsets);
-
- return;
-}
-
-/* read_op_worker()
- *
- * reads data from an object
- */
-static int read_op_worker(struct gs_op* op)
-{
- struct cosd_op *c_op;
- int ret;
- DB_TXN *txn;
- DBT key, value;
- int done = 0;
- int mem_index = 0;
- int obj_index = 0;
- struct logical_map_entry lme;
- struct logical_map_key lmk;
- DBC *dbc_p = NULL;
- void* scratch_buffer = NULL;
- int scratch_size = 0;
- int scratch_buffer_size = 0;
- struct fd_cache_entry* fd_entry;
-
- c_op = gs_op_entry(op, struct cosd_op, op);
- assert(c_op);
-
- lmk.oid = c_op->work.u.read.oid;
- lmk.fork = c_op->work.u.read.fork;
-
- assert(c_op->work.u.read.mem_count > 0);
- assert(c_op->work.u.read.obj_count > 0);
-
- fd_entry = fd_cache_get(c_op->work.u.read.oid);
- /* TODO: error handling */
- assert(fd_entry);
-
- /* TODO: safety check that total mem size equals total obj size */
- /* TODO: safety check no zero buffers in either list */
-
- /* iterate through object regions and match to logical mask */
- while(!done)
- {
-read_op_retry:
- /* NOTE: reads do not have to be atomic. It is possible (and legal
- * in our semantics) for each region to see a different logical view
- * if concurrent writes are modifying the log
- */
- /* TODO: would it be better to grab all of the relevant log offsets
- * in one pass rather than opening a new cursor every iteration?
- */
- ret = envp->txn_begin(envp, NULL, &txn, 0);
- if(ret != 0)
- {
- /* TODO: error handling */
- c_op->error_code = -1;
- if(scratch_buffer)
- free(scratch_buffer);
- fd_cache_put(fd_entry);
- return(1);
- }
-
- /* create a cursor to move through logical map db */
- /* TODO: check flags */
- ret = log_map_dbp->cursor(log_map_dbp, txn, &dbc_p, 0);
- if(ret != 0)
- {
- txn->abort(txn);
- if(ret == DB_LOCK_DEADLOCK)
- {
- deadlock_counter++;
- goto read_op_retry;
- }
- /* TODO: error handling */
- assert(0);
- }
- COSD_INIT_DBT(key, lmk);
- COSD_INIT_DBT(value, lme);
-
- lmk.logical_offset_end = c_op->work.u.read.obj_offsets[obj_index] + 1;
-
- ret = dbc_p->c_get(dbc_p, &key, &value, DB_SET_RANGE);
- if(ret == DB_NOTFOUND)
- {
- /* hit EOF; return success at our current position */
- done = 1;
- /* TODO: check error codes? */
- c_op->error_code = 0;
- dbc_p->c_close(dbc_p);
- txn->commit(txn, 0);
- if(scratch_buffer)
- free(scratch_buffer);
- fd_cache_put(fd_entry);
- return(1);
- }
- if(ret != 0)
- {
- dbc_p->c_close(dbc_p);
- txn->abort(txn);
- if(ret == DB_LOCK_DEADLOCK)
- {
- deadlock_counter++;
- goto read_op_retry;
- }
- /* TODO: err handling */
- assert(0);
- }
-
- ret = dbc_p->c_close(dbc_p);
- if(ret != 0)
- {
- txn->abort(txn);
- if(ret == DB_LOCK_DEADLOCK)
- {
- deadlock_counter++;
- goto read_op_retry;
- }
- /* TODO: error handling */
- assert(0);
- }
-
- ret = txn->commit(txn, 0);
- if(ret != 0)
- {
- txn->abort(txn);
- if(ret == DB_LOCK_DEADLOCK)
- {
- deadlock_counter++;
- goto read_op_retry;
- }
- /* TODO: error handling */
- assert(0);
- }
-
- if(lmk.oid != c_op->work.u.read.oid || lmk.fork != c_op->work.u.read.fork ||
- lme.logical_offset > c_op->work.u.read.obj_offsets[obj_index])
- {
- int64_t amt_to_zero;
- int64_t amt_left;
-
- /* figure out how big this hole is */
- if(lmk.oid == c_op->work.u.read.oid &&
- lmk.fork == c_op->work.u.read.fork &&
- c_op->work.u.read.obj_sizes[obj_index] > (lme.logical_offset -
- c_op->work.u.read.obj_offsets[obj_index]))
- {
- /* zero up to the next region in the log */
- amt_to_zero = lme.logical_offset -
- c_op->work.u.read.obj_offsets[obj_index];
- }
- else if(lmk.oid == c_op->work.u.read.oid &&
- lmk.fork == c_op->work.u.read.fork)
- {
- /* zero this whole buffer */
- amt_to_zero = c_op->work.u.read.obj_sizes[obj_index];
- }
- else
- {
- /* EOF */
- done = 1;
- break;
- }
-
- /* cycle through memory regions and zero appropriately */
- amt_left = amt_to_zero;
- while(amt_left)
- {
- int64_t this_region;
-
- if(amt_left > c_op->work.u.read.mem_sizes[mem_index])
- this_region = c_op->work.u.read.mem_sizes[mem_index];
- else
- this_region = amt_left;
-
- assert(this_region > 0);
- memset(c_op->work.u.read.mem_offsets[mem_index], 0, this_region);
- amt_left -= this_region;
-
- done = advance_listio_ptrs(
- c_op->work.u.read.mem_offsets,
- c_op->work.u.read.mem_sizes,
- c_op->work.u.read.mem_count,
- &mem_index,
- c_op->work.u.read.obj_offsets,
- c_op->work.u.read.obj_sizes,
- c_op->work.u.read.obj_count,
- &obj_index,
- this_region);
- *c_op->work.u.read.out_size += this_region;
-
- /* keep going; there might be more data after the hole */
- continue;
- }
- }
-
- /* we have some data to read */
-
- /* ignore portions of logical map beyond what we want */
- if(lme.logical_offset < c_op->work.u.read.obj_offsets[obj_index])
- {
- int64_t diff = c_op->work.u.read.obj_offsets[obj_index] -
- lme.logical_offset;
- lme.size -= diff;
- lme.logical_offset += diff;
- lme.log_offset += diff;
- }
- if(lme.size > c_op->work.u.read.obj_sizes[obj_index])
- {
- int64_t diff = lme.size - c_op->work.u.read.obj_sizes[obj_index];
- lme.size -= diff;
- lme.logical_offset_end -= diff;
- }
-
- /* now the lme refers to exactly what we want to read on this
- * iteration
- */
-
- /* if the lme is aligned, and the memory buffer is aligned, and the
- * next memory buffer is big enough, then we read straight to the buffer
- */
- if(lme.log_offset % DIRECT_ALIGN == 0 &&
- lme.size % DIRECT_ALIGN == 0 &&
- ((unsigned long)c_op->work.u.read.mem_offsets[mem_index]) % DIRECT_ALIGN == 0 &&
- c_op->work.u.read.mem_sizes[mem_index] >= lme.size)
- {
- int64_t pread_ret;
- pread_ret = pread(fd_entry->fd, c_op->work.u.read.mem_offsets[mem_index],
- lme.size, lme.log_offset);
- /* TODO: error handling */
- assert(pread_ret == lme.size);
-
- /* advance pointers */
- done = advance_listio_ptrs(
- c_op->work.u.read.mem_offsets,
- c_op->work.u.read.mem_sizes,
- c_op->work.u.read.mem_count,
- &mem_index,
- c_op->work.u.read.obj_offsets,
- c_op->work.u.read.obj_sizes,
- c_op->work.u.read.obj_count,
- &obj_index,
- lme.size);
- *c_op->work.u.read.out_size += lme.size;
- }
- else
- {
- int64_t scratch_offset;
- int64_t pread_ret;
- char* copy_ptr = NULL;
- int copy_remaining = 0;
- int copy_amt = 0;
-
- /* alignment is out of whack somewhere; use a scratch buffer */
- if(!scratch_buffer || scratch_buffer_size <
- (((lme.size / DIRECT_ALIGN) * DIRECT_ALIGN) +
- (DIRECT_ALIGN*2)))
- {
- if(scratch_buffer)
- free(scratch_buffer);
-
- scratch_buffer_size = (((lme.size / DIRECT_ALIGN + 2) * DIRECT_ALIGN));
-
- assert(scratch_buffer_size > 0);
- ret = posix_memalign(&scratch_buffer, DIRECT_ALIGN,
- scratch_buffer_size);
- /* TODO: error handling */
- assert(ret == 0);
-
- }
-
- /* round offset down to nearest alignment boundary */
- scratch_offset = (lme.log_offset/DIRECT_ALIGN) * DIRECT_ALIGN;
- /* expand size to account for front alignment */
- scratch_size = lme.size + (lme.log_offset - scratch_offset);
- /* round size up to next alignment boundary */
- if(scratch_size % DIRECT_ALIGN)
- scratch_size = (scratch_size/DIRECT_ALIGN + 1) * DIRECT_ALIGN;
-
- /* read data */
- pread_ret = pread(fd_entry->fd, scratch_buffer, scratch_size,
- scratch_offset);
- /* TODO: error handling */
- assert(pread_ret == scratch_size);
-
- /* loop over copy into mem buffers until done */
- copy_ptr = scratch_buffer;
- copy_ptr += (lme.log_offset - scratch_offset);
- copy_remaining = lme.size;
- while(copy_remaining)
- {
- if(copy_remaining > c_op->work.u.read.mem_sizes[mem_index])
- copy_amt = c_op->work.u.read.mem_sizes[mem_index];
- else
- copy_amt = copy_remaining;
-
- memcpy(c_op->work.u.read.mem_offsets[mem_index], copy_ptr, copy_amt);
- copy_ptr += copy_amt;
- copy_remaining -= copy_amt;
-
- /* advance pointers */
- done = advance_listio_ptrs(
- c_op->work.u.read.mem_offsets,
- c_op->work.u.read.mem_sizes,
- c_op->work.u.read.mem_count,
- &mem_index,
- c_op->work.u.read.obj_offsets,
- c_op->work.u.read.obj_sizes,
- c_op->work.u.read.obj_count,
- &obj_index,
- copy_amt);
- *c_op->work.u.read.out_size += copy_amt;
- }
- }
- }
-
- c_op->error_code = 0;
- fd_cache_put(fd_entry);
- if(scratch_buffer)
- free(scratch_buffer);
- return(1);
-}
-/* write_op_worker()
- *
- * writes data to an object
- */
-static int write_op_worker(struct gs_op* op)
-{
- struct cosd_op *c_op;
- int ret;
- int done = 0;
- int mem_index = 0;
- int obj_index = 0;
- struct logical_map_entry *tmp_update;
- const char* mem_ptr;
- void* scratch_buffer = NULL;
- int scratch_size = 0;
- int64_t aligned_size = 0;
- struct txn_accumulator* txn_acc;
- struct gs_hash_link* hash_link;
- struct fd_cache_entry* fd_entry;
-
- c_op = gs_op_entry(op, struct cosd_op, op);
- assert(c_op);
-
- assert(c_op->work.u.write.mem_count > 0);
- assert(c_op->work.u.write.obj_count > 0);
-
- fd_entry = fd_cache_get(c_op->work.u.write.oid);
- /* TODO: error handling */
- assert(fd_entry);
-
- /* TODO: safety check that total mem size equals total obj size */
- /* TODO: safety check no zero buffers in either list */
-
- while(!done)
- {
- /* structure to track this update in the txn */
- tmp_update = malloc(sizeof(*tmp_update));
- if(!tmp_update)
- {
- /* TODO: err handling */
- c_op->error_code = -errno;
- assert(0);
- }
-
- /* find the next chunk that is contiguous in memory and disk */
- mem_ptr = c_op->work.u.write.mem_offsets[mem_index];
- tmp_update->logical_offset = c_op->work.u.write.obj_offsets[obj_index];
- tmp_update->size = c_op->work.u.write.mem_sizes[mem_index];
- tmp_update->logical_offset_end = tmp_update->logical_offset +
- tmp_update->size;
- tmp_update->flags = c_op->work.u.write.flags;
- if(tmp_update->size >= c_op->work.u.write.obj_sizes[obj_index])
- {
- /* mem region is bigger than obj region */
- tmp_update->size = c_op->work.u.write.obj_sizes[obj_index];
- }
-
- /* advance pointers */
- done = advance_listio_ptrs(
- c_op->work.u.write.mem_offsets,
- c_op->work.u.write.mem_sizes,
- c_op->work.u.write.mem_count,
- &mem_index,
- c_op->work.u.write.obj_offsets,
- c_op->work.u.write.obj_sizes,
- c_op->work.u.write.obj_count,
- &obj_index,
- tmp_update->size);
-
- /* calculate aligned buffer size */
- if(tmp_update->size % DIRECT_ALIGN != 0)
- aligned_size =
- ((tmp_update->size / DIRECT_ALIGN)+1)*DIRECT_ALIGN;
- else
- aligned_size = tmp_update->size;
-
- /* get next log offset and increment */
- gs_mutex_lock(&fd_entry->log_offset_mutex);
- tmp_update->log_offset = fd_entry->log_offset;
- fd_entry->log_offset += aligned_size;
- gs_mutex_unlock(&fd_entry->log_offset_mutex);
-
- if(((unsigned long)mem_ptr) % DIRECT_ALIGN || tmp_update->size != aligned_size)
- {
- /* mem buffer is not aligned */
- /* allocate a scratch buffer to copy to */
- if(scratch_size < aligned_size)
- {
- if(scratch_buffer)
- free(scratch_buffer);
- scratch_size = aligned_size;
- ret = posix_memalign(&scratch_buffer, DIRECT_ALIGN,
- aligned_size);
- if(ret < 0)
- {
- /* TODO: err handling */
- c_op->error_code = -errno;
- assert(0);
- }
- }
- memcpy(scratch_buffer, mem_ptr, tmp_update->size);
- mem_ptr = scratch_buffer;
- }
-
- /* actually write the data */
- ret = pwrite(fd_entry->fd, mem_ptr, aligned_size,
- tmp_update->log_offset);
- if(ret < 0)
- {
- /* TODO: err handling */
- c_op->error_code = -errno;
- assert(0);
- }
-
- /* track this update in the txn accumulator */
- gs_mutex_lock(&txn_mutex);
- hash_link = gs_hash_search(txn_table, &c_op->work.u.write.txn_number);
- if(!hash_link)
- {
- /* TODO: txn is gone (which could be normal); error handling */
- c_op->error_code = -1;
- gs_mutex_unlock(&txn_mutex);
- fd_cache_put(fd_entry);
- return(1);
- }
- txn_acc = gs_hash_get_entry(hash_link, struct txn_accumulator,
- hash_link);
- /* check that oid and fork match */
- if(txn_acc->oid != c_op->work.u.write.oid ||
- txn_acc->fork != c_op->work.u.write.fork)
- {
- /* TODO: graceful error handling; the write operation isn't
- * legal in this transaction
- */
- c_op->error_code = -1;
- gs_mutex_unlock(&txn_mutex);
- fd_cache_put(fd_entry);
- return(1);
- }
- tmp_update->version = txn_acc->txn_number;
- gs_list_add(&tmp_update->list_link, &txn_acc->update_list);
- txn_acc->update_list_count++;
- gs_mutex_unlock(&txn_mutex);
- }
-
- /* cleanup any leftover buffer */
- if(scratch_buffer)
- free(scratch_buffer);
-
- fd_cache_put(fd_entry);
- c_op->error_code = 0;
- return(1);
-}
-
-/* dump_op_worker()
- *
- * dumps all db information from cosd
- */
-/* TODO: audit for deadlocks */
-static int dump_op_worker(struct gs_op* op)
-{
- struct cosd_op *c_op;
- int ret;
- DB_TXN *txn;
- DBC *log_map_dbcp, *missing_ver_dbcp, *ver_dbcp;
- DBT log_map_key, missing_ver_key, ver_key;
- DBT log_map_value, missing_ver_value, ver_value;
- int c_get_flag = DB_SET_RANGE;
-
- /* keys for each db */
- struct logical_map_key lmk;
- struct missing_version mvk;
- uint64_t vk = 0;
- COSD_INIT_DBT(log_map_key, lmk);
- COSD_INIT_DBT(missing_ver_key, mvk);
- COSD_INIT_DBT(ver_key, vk);
-
- /* values for each db */
- struct logical_map_entry lmv;
- uint64_t vv;
- COSD_INIT_DBT(log_map_value, lmv);
- COSD_INIT_DBT_EMPTY(missing_ver_value);
- COSD_INIT_DBT(ver_value, vv);
-
- c_op = gs_op_entry(op, struct cosd_op, op);
- assert(c_op);
-
- ret = envp->txn_begin(envp, NULL, &txn, 0);
- if(ret != 0)
- {
- /* TODO: error handling */
- c_op->error_code = -1;
- return(1);
- }
-
- /* create cursors on all 3 dbs */
- ret = log_map_dbp->cursor(log_map_dbp, txn, &log_map_dbcp, 0);
- assert(ret == 0); /* TODO: err handling */
- ret = ver_dbp->cursor(ver_dbp, txn, &ver_dbcp, 0);
- assert(ret == 0); /* TODO: err handling */
- ret = missing_ver_dbp->cursor(missing_ver_dbp, txn, &missing_ver_dbcp, 0);
- assert(ret == 0); /* TODO: err handling */
-
- printf("Dumping VOSD contents...\n");
- /* loop through version db, one entry per object */
- while ((ret = ver_dbcp->c_get(ver_dbcp, &ver_key, &ver_value, DB_NEXT)) == 0)
- {
- printf("OID: %llu\n", llu(vk));
- printf("=============================================\n");
- printf(" version: %llu\n", llu(vv));
-
- /* search for any missing versions */
- printf(" missing versions: ");
- mvk.oid = vk;
- mvk.version = 0;
- c_get_flag = DB_SET_RANGE;
- while((ret = missing_ver_dbcp->c_get(missing_ver_dbcp,
- &missing_ver_key, &missing_ver_value, c_get_flag)) == 0)
- {
- c_get_flag = DB_NEXT;
- printf("%llu ", llu(mvk.version));
- }
- printf("\n");
- assert(ret == DB_NOTFOUND); /* TODO: err handling */
-
- /* search for logical map entries */
- printf(" logical map:\n");
- printf(" ------------------------------------------\n");
- lmk.oid = vk;
- lmk.fork = 0;
- lmk.logical_offset_end = 0;
- c_get_flag = DB_SET_RANGE;
- while((ret = log_map_dbcp->c_get(log_map_dbcp,
- &log_map_key, &log_map_value, c_get_flag)) == 0)
- {
- /* stop iterating if we go past the oid */
- if(lmk.oid != vk)
- break;
- printf("fork: %llu, logical_off: %lld, logical_end: %lld, size: %lld, log_off: %lld, ver: %llu\n",
- llu(lmk.fork),
- lld(lmv.logical_offset), lld(lmv.logical_offset_end),
- lld(lmv.size), lld(lmv.log_offset), llu(lmv.version));
- c_get_flag = DB_NEXT;
- }
- assert(ret == 0 || ret == DB_NOTFOUND); /* TODO: err handling */
-
- printf("\n");
- }
- assert(ret == DB_NOTFOUND); /* TODO: err handling */
-
- log_map_dbcp->c_close(log_map_dbcp);
- ver_dbcp->c_close(ver_dbcp);
- missing_ver_dbcp->c_close(missing_ver_dbcp);
-
- ret = txn->commit(txn, 0);
- if(ret != 0)
- {
- /* TODO: error handling */
- assert(0);
- }
-
- c_op->error_code = 0;
- return(1);
-}
-
-
-/* remove_op_worker()
- *
- * removes an object
- */
-/* TODO: audit for deadlocks */
-/* TODO: figure out how to prevent races with read, write, etc. */
-static int remove_op_worker(struct gs_op* op)
-{
- struct cosd_op *c_op;
- int ret;
- DB_TXN *txn;
- DBC *log_map_dbcp, *missing_ver_dbcp;
- DBT log_map_key, missing_ver_key, ver_key;
- DBT log_map_value, missing_ver_value, ver_value;
- int c_get_flag = DB_SET_RANGE;
- struct logical_map_key lmk;
- struct missing_version mvk;
- uint64_t vk;
- struct logical_map_entry lmv;
- uint64_t vv;
-
- /* keys for each db */
- COSD_INIT_DBT(log_map_key, lmk);
- COSD_INIT_DBT(missing_ver_key, mvk);
- COSD_INIT_DBT(ver_key, vk);
-
- /* values for each db */
- COSD_INIT_DBT(log_map_value, lmv);
- COSD_INIT_DBT_EMPTY(missing_ver_value);
- COSD_INIT_DBT(ver_value, vv);
-
- c_op = gs_op_entry(op, struct cosd_op, op);
- assert(c_op);
-
- vk = c_op->work.u.remove.oid;
-
-remove_op_retry:
-
- ret = envp->txn_begin(envp, NULL, &txn, 0);
- if(ret != 0)
- {
- /* TODO: error handling */
- c_op->error_code = -1;
- return(1);
- }
-
- /* delete version key */
- ret = ver_dbp->del(ver_dbp, txn, &ver_key, 0);
- if(ret == DB_LOCK_DEADLOCK)
- {
- txn->abort(txn);
- deadlock_counter++;
- goto remove_op_retry;
- }
- else if(ret == DB_NOTFOUND)
- {
- /* this object didn't exist */
- ret = txn->commit(txn, 0);
- if(ret != 0)
- {
- txn->abort(txn);
- if(ret == DB_LOCK_DEADLOCK)
- {
- deadlock_counter++;
- goto remove_op_retry;
- }
- /* TODO: error handling */
- assert(0);
- }
- else
- {
- c_op->error_code = -ENOENT;
- return(1);
- }
- }
- else if(ret != 0)
- {
- txn->abort(txn);
- /* TODO: error handling */
- assert(0);
- }
-
- /* create cursors for any remaining metadata */
- ret = log_map_dbp->cursor(log_map_dbp, txn, &log_map_dbcp, 0);
- if(ret != 0)
- {
- txn->abort(txn);
- if(ret == DB_LOCK_DEADLOCK)
- {
- deadlock_counter++;
- goto remove_op_retry;
- }
- /* TODO: error handling */
- assert(0);
- }
-
- ret = missing_ver_dbp->cursor(missing_ver_dbp, txn, &missing_ver_dbcp, 0);
- if(ret != 0)
- {
- log_map_dbcp->c_close(log_map_dbcp);
- txn->abort(txn);
- if(ret == DB_LOCK_DEADLOCK)
- {
- deadlock_counter++;
- goto remove_op_retry;
- }
- /* TODO: error handling */
- assert(0);
- }
-
- /* search for any missing versions */
- mvk.oid = vk;
- mvk.version = 0;
- c_get_flag = DB_SET_RANGE;
- while((ret = missing_ver_dbcp->c_get(missing_ver_dbcp,
- &missing_ver_key, &missing_ver_value, c_get_flag)) == 0)
- {
- if(mvk.oid != vk)
- break;
- c_get_flag = DB_NEXT;
-
- /* delete it */
- ret = missing_ver_dbcp->c_del(missing_ver_dbcp, 0);
- if(ret != 0)
- {
- log_map_dbcp->c_close(log_map_dbcp);
- missing_ver_dbcp->c_close(missing_ver_dbcp);
- txn->abort(txn);
- if(ret == DB_LOCK_DEADLOCK)
- {
- deadlock_counter++;
- goto remove_op_retry;
- }
- /* TODO: error handling */
- assert(0);
- }
- }
- if(ret != 0 && ret != DB_NOTFOUND)
- {
- log_map_dbcp->c_close(log_map_dbcp);
- missing_ver_dbcp->c_close(missing_ver_dbcp);
- txn->abort(txn);
- if(ret == DB_LOCK_DEADLOCK)
- {
- deadlock_counter++;
- goto remove_op_retry;
- }
- /* TODO: error handling */
- assert(0);
- }
-
- /* search for logical map entries */
- lmk.oid = vk;
- lmk.fork = 0;
- lmk.logical_offset_end = 0;
- c_get_flag = DB_SET_RANGE;
- while((ret = log_map_dbcp->c_get(log_map_dbcp,
- &log_map_key, &log_map_value, c_get_flag)) == 0)
- {
- /* stop iterating if we go past the oid */
- if(lmk.oid != vk)
- break;
- c_get_flag = DB_NEXT;
-
- /* delete it */
- ret = log_map_dbcp->c_del(log_map_dbcp, 0);
- if(ret != 0)
- {
- log_map_dbcp->c_close(log_map_dbcp);
- missing_ver_dbcp->c_close(missing_ver_dbcp);
- txn->abort(txn);
- if(ret == DB_LOCK_DEADLOCK)
- {
- deadlock_counter++;
- goto remove_op_retry;
- }
- /* TODO: error handling */
- assert(0);
- }
- }
- if(ret != 0 && ret != DB_NOTFOUND)
- {
- log_map_dbcp->c_close(log_map_dbcp);
- missing_ver_dbcp->c_close(missing_ver_dbcp);
- txn->abort(txn);
- if(ret == DB_LOCK_DEADLOCK)
- {
- deadlock_counter++;
- goto remove_op_retry;
- }
- /* TODO: error handling */
- assert(0);
- }
-
- log_map_dbcp->c_close(log_map_dbcp);
- missing_ver_dbcp->c_close(missing_ver_dbcp);
-
- ret = txn->commit(txn, 0);
- if(ret != 0)
- {
- /* TODO: error handling */
- assert(0);
- }
-
- /* get rid of the underlying file */
- fd_cache_remove(vk);
-
- c_op->error_code = 0;
- return(1);
-}
-
-
-/* create_op_worker()
- *
- * creates an object
- */
-/* TODO: audit for deadlocks */
-static int create_op_worker(struct gs_op* op)
-{
- struct cosd_op *c_op;
- int ret;
- DB_TXN *txn;
- int64_t val;
- DBT key, value;
- struct fd_cache_entry* fd_entry;
-
- c_op = gs_op_entry(op, struct cosd_op, op);
- assert(c_op);
-
- *c_op->work.u.create.out_oid = c_op->work.u.create.requested_oid;
-
- /* TODO: crap; need to check for existence using version db */
-
- /* do db stuff */
- ret = envp->txn_begin(envp, NULL, &txn, 0);
- if(ret != 0)
- {
- /* TODO: error handling */
- c_op->error_code = -1;
- return(1);
- }
-
- /* set initial version of 1 */
- val = 1;
- COSD_INIT_DBT(key, c_op->work.u.create.requested_oid);
- COSD_INIT_DBT(value, val);
-
- ret = ver_dbp->put(ver_dbp, txn, &key, &value, 0);
- if(ret != 0)
- {
- /* TODO: error handling */
- assert(0);
- }
-
- ret = txn->commit(txn, 0);
- if(ret != 0)
- {
- /* TODO: error handling */
- assert(0);
- }
-
- /* implicitly create the data file */
- fd_entry = fd_cache_get(c_op->work.u.create.requested_oid);
- /* TODO: error handling */
- assert(fd_entry);
- fd_cache_put(fd_entry);
-
- c_op->error_code = 0;
-
- return(1);
-}
-
-static int cosd_write_set_work(
- struct cosd_work* work,
- uint64_t oid,
- uint64_t fork,
- uint64_t txn_number,
- char** mem_offsets,
- int64_t* mem_sizes,
- int mem_count,
- int64_t* obj_offsets,
- int64_t* obj_sizes,
- int obj_count,
- int flags)
-{
- work->u.write.oid = oid;
- work->u.write.fork = fork;
- work->u.write.txn_number = txn_number;
- work->u.write.mem_count = mem_count;
- work->u.write.obj_count = obj_count;
- work->u.write.flags = flags;
-
- /* copy arrays so that we can modify them internally */
- /* TODO: error handling */
- work->u.write.mem_offsets = malloc(mem_count*sizeof(*mem_offsets));
- assert(work->u.write.mem_offsets);
- memcpy(work->u.write.mem_offsets, mem_offsets,
- mem_count*sizeof(*mem_offsets));
-
- work->u.write.mem_sizes = malloc(mem_count*sizeof(*mem_sizes));
- assert(work->u.write.mem_sizes);
- memcpy(work->u.write.mem_sizes, mem_sizes,
- mem_count*sizeof(*mem_sizes));
-
- work->u.write.obj_offsets = malloc(obj_count*sizeof(*obj_offsets));
- assert(work->u.write.obj_offsets);
- memcpy(work->u.write.obj_offsets, obj_offsets,
- obj_count*sizeof(*obj_offsets));
-
- work->u.write.obj_sizes = malloc(obj_count*sizeof(*obj_sizes));
- assert(work->u.write.obj_sizes);
- memcpy(work->u.write.obj_sizes, obj_sizes,
- obj_count*sizeof(*obj_sizes));
-
- work->op_worker = write_op_worker;
- work->cleanup_fn = write_op_cleanup;
-
- return(0);
-}
-
-gs_ret_t gs_cosd_write_post(
- uint64_t oid,
- uint64_t fork,
- uint64_t txn_number,
- char** mem_offsets,
- int64_t* mem_sizes,
- int mem_count,
- int64_t* obj_offsets,
- int64_t* obj_sizes,
- int obj_count,
- int flags,
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id)
-{
- struct gs_op *op;
- struct cosd_op *c_op;
- int ret;
-
- op = gs_opcache_get(cosd_opcache);
- gs_op_fill(op, callback, user_ptr, hints, ctx);
-
- c_op = gs_op_entry(op, struct cosd_op, op);
- c_op->op_id = gs_id_gen(gs_cosd_resource_id, (uint64_t)(op->cache_id));
-
- if(flags & COSD_FLAG_AUTO_TXN)
- {
- /* txn open never blocks; just call it directly */
- ret = gs_cosd_txn_open(oid, fork, txn_number);
- if(ret < 0)
- {
- return(ret);
- }
-
- /* allocate array to describe the write and txn close operations
- * that we want to bundle together
- */
- c_op->work_array = malloc(sizeof(*c_op->work_array) * 2);
- /* TODO: error handling */
- assert(c_op->work_array);
- c_op->work_array_count = 2;
-
- /* set up write operation */
- ret = cosd_write_set_work(&c_op->work_array[0], oid, fork, txn_number,
- mem_offsets, mem_sizes, mem_count, obj_offsets, obj_sizes,
- obj_count, flags);
- if(ret < 0)
- {
- free(c_op->work_array);
- return(ret);
- }
-
- /* set up txn close operation */
- ret = cosd_txn_close_set_work(&c_op->work_array[1], oid, fork,
- txn_number);
- if(ret < 0)
- {
- c_op->work_array[0].cleanup_fn(&c_op->work_array[0]);
- free(c_op->work_array);
- return(ret);
- }
- }
- else
- {
- ret = cosd_write_set_work(&c_op->work, oid, fork, txn_number,
- mem_offsets, mem_sizes, mem_count, obj_offsets, obj_sizes,
- obj_count, flags);
- if(ret < 0)
- {
- return(ret);
- }
- }
-
- *op_id = c_op->op_id;
-
- gs_cosd_launch_op(op, gs_cosd_progress_mode);
-
- return 0;
-}
-gs_ret_t (* gs_cosd_write)(
- uint64_t oid,
- uint64_t fork,
- uint64_t txn_number,
- char** mem_offsets,
- int64_t* mem_sizes,
- int mem_count,
- int64_t* obj_offsets,
- int64_t* obj_sizes,
- int obj_count,
- int flags,
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id) = gs_cosd_write_post;
-
-gs_ret_t gs_cosd_read_post(
- uint64_t oid,
- uint64_t fork,
- char** mem_offsets,
- int64_t* mem_sizes,
- int mem_count,
- int64_t* obj_offsets,
- int64_t* obj_sizes,
- int obj_count,
- int64_t *out_size,
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id)
-{
- struct gs_op *op;
- struct cosd_op *c_op;
-
- op = gs_opcache_get(cosd_opcache);
- gs_op_fill(op, callback, user_ptr, hints, ctx);
-
- c_op = gs_op_entry(op, struct cosd_op, op);
- c_op->op_id = gs_id_gen(gs_cosd_resource_id, (uint64_t)(op->cache_id));
- c_op->work.u.read.oid = oid;
- c_op->work.u.read.fork = fork;
- c_op->work.u.read.mem_count = mem_count;
- c_op->work.u.read.obj_count = obj_count;
- c_op->work.u.read.out_size = out_size;
- *out_size = 0;
-
- /* copy arrays so that we can modify them internally */
- /* TODO: error handling */
- c_op->work.u.read.mem_offsets = malloc(mem_count*sizeof(*mem_offsets));
- assert(c_op->work.u.read.mem_offsets);
- memcpy(c_op->work.u.read.mem_offsets, mem_offsets,
- mem_count*sizeof(*mem_offsets));
-
- c_op->work.u.read.mem_sizes = malloc(mem_count*sizeof(*mem_sizes));
- assert(c_op->work.u.read.mem_sizes);
- memcpy(c_op->work.u.read.mem_sizes, mem_sizes,
- mem_count*sizeof(*mem_sizes));
-
- c_op->work.u.read.obj_offsets = malloc(obj_count*sizeof(*obj_offsets));
- assert(c_op->work.u.read.obj_offsets);
- memcpy(c_op->work.u.read.obj_offsets, obj_offsets,
- obj_count*sizeof(*obj_offsets));
-
- c_op->work.u.read.obj_sizes = malloc(obj_count*sizeof(*obj_sizes));
- assert(c_op->work.u.read.obj_sizes);
- memcpy(c_op->work.u.read.obj_sizes, obj_sizes,
- obj_count*sizeof(*obj_sizes));
-
- *op_id = c_op->op_id;
-
- c_op->work.op_worker = read_op_worker;
- c_op->work.cleanup_fn = read_op_cleanup;
-
- gs_cosd_launch_op(op, gs_cosd_progress_mode);
-
- return 0;
-}
-gs_ret_t (* gs_cosd_read)(
- uint64_t oid,
- uint64_t fork,
- char** mem_offsets,
- int64_t* mem_sizes,
- int mem_count,
- int64_t* obj_offsets,
- int64_t* obj_sizes,
- int obj_count,
- int64_t *out_size,
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id) = gs_cosd_read_post;
-
-
-
-gs_ret_t gs_cosd_dump_post(
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id)
-{
- struct gs_op *op;
- struct cosd_op *c_op;
-
- op = gs_opcache_get(cosd_opcache);
- gs_op_fill(op, callback, user_ptr, hints, ctx);
-
- c_op = gs_op_entry(op, struct cosd_op, op);
- c_op->op_id = gs_id_gen(gs_cosd_resource_id, (uint64_t)(op->cache_id));
-
- *op_id = c_op->op_id;
-
- c_op->work.op_worker = dump_op_worker;
- c_op->work.cleanup_fn = NULL;
-
- gs_cosd_launch_op(op, gs_cosd_progress_mode);
-
- return 0;
-}
-gs_ret_t (* gs_cosd_dump)(
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id) = gs_cosd_dump_post;
-
-
-gs_ret_t gs_cosd_create_post(
- uint64_t requested_oid,
- uint64_t* out_oid,
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id)
-{
- struct gs_op *op;
- struct cosd_op *c_op;
-
- op = gs_opcache_get(cosd_opcache);
- gs_op_fill(op, callback, user_ptr, hints, ctx);
-
- c_op = gs_op_entry(op, struct cosd_op, op);
- c_op->op_id = gs_id_gen(gs_cosd_resource_id, (uint64_t)(op->cache_id));
- c_op->work.u.create.requested_oid = requested_oid;
- c_op->work.u.create.out_oid = out_oid;
- /* we don't support automatically chosing ids */
- assert(requested_oid != 0);
-
- *op_id = c_op->op_id;
-
- c_op->work.op_worker = create_op_worker;
- c_op->work.cleanup_fn = NULL;
-
- gs_cosd_launch_op(op, gs_cosd_progress_mode);
-
- return 0;
-}
-gs_ret_t (* gs_cosd_create)(
- uint64_t requested_oid,
- uint64_t* out_oid,
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id) = gs_cosd_create_post;
-
-gs_ret_t gs_cosd_remove_post(
- uint64_t oid,
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id)
-{
- struct gs_op *op;
- struct cosd_op *c_op;
-
- op = gs_opcache_get(cosd_opcache);
- gs_op_fill(op, callback, user_ptr, hints, ctx);
-
- c_op = gs_op_entry(op, struct cosd_op, op);
- c_op->op_id = gs_id_gen(gs_cosd_resource_id, (uint64_t)(op->cache_id));
- c_op->work.u.remove.oid = oid;
-
- *op_id = c_op->op_id;
-
- c_op->work.op_worker = remove_op_worker;
- c_op->work.cleanup_fn = NULL;
-
- gs_cosd_launch_op(op, gs_cosd_progress_mode);
-
- return 0;
-}
-gs_ret_t (* gs_cosd_remove)(
- uint64_t oid,
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id) = gs_cosd_remove_post;
-
-
-int gs_cosd_txn_open(uint64_t oid, uint64_t fork, uint64_t txn_number)
-{
- struct txn_accumulator *txn_acc;
-
- txn_acc = malloc(sizeof(*txn_acc));
- if(!txn_acc)
- {
- return(-ENOMEM);
- }
- memset(txn_acc, 0, sizeof(*txn_acc));
-
- txn_acc->oid = oid;
- txn_acc->fork = fork;
- txn_acc->txn_number = txn_number;
- INIT_GS_LIST_HEAD(&txn_acc->update_list);
-
- gs_mutex_lock(&txn_mutex);
- /* TODO: safety test for duplicate txn numbers */
- gs_hash_add(txn_table, &txn_acc->txn_number, &txn_acc->hash_link);
- gs_mutex_unlock(&txn_mutex);
-
- return(0);
-}
-
-
-/* get_version_op_worker()
- *
- * retrieves the current version number of an object
- */
-/* TODO: audit for deadlocks */
-static int get_version_op_worker(struct gs_op* op)
-{
- struct cosd_op *c_op;
- int ret;
- DB_TXN *txn;
- uint64_t version;
- DBT key, value;
-
- c_op = gs_op_entry(op, struct cosd_op, op);
- assert(c_op);
-
- /* do db stuff */
- ret = envp->txn_begin(envp, NULL, &txn, 0);
- if(ret != 0)
- {
- /* TODO: error handling */
- c_op->error_code = -1;
- return(1);
- }
-
- /* read current version */
- COSD_INIT_DBT(key, c_op->work.u.get_version.oid);
- COSD_INIT_DBT(value, version);
-
- ret = ver_dbp->get(ver_dbp, txn, &key, &value, 0);
- if(ret != 0)
- {
- /* TODO: error handling */
- assert(0);
- }
-
- *c_op->work.u.get_version.version = version;
-
- ret = txn->commit(txn, 0);
- if(ret != 0)
- {
- /* TODO: error handling */
- assert(0);
- }
-
- c_op->error_code = 0;
-
- return(1);
-}
-
-
-gs_ret_t gs_cosd_get_version_post(
- uint64_t oid,
- uint64_t* version,
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id)
-{
- struct gs_op *op;
- struct cosd_op *c_op;
-
- op = gs_opcache_get(cosd_opcache);
- gs_op_fill(op, callback, user_ptr, hints, ctx);
-
- c_op = gs_op_entry(op, struct cosd_op, op);
- c_op->op_id = gs_id_gen(gs_cosd_resource_id, (uint64_t)(op->cache_id));
- c_op->work.u.get_version.oid = oid;
- c_op->work.u.get_version.version = version;
-
- *op_id = c_op->op_id;
-
- c_op->work.op_worker = get_version_op_worker;
- c_op->work.cleanup_fn = NULL;
-
- gs_cosd_launch_op(op, gs_cosd_progress_mode);
-
- return 0;
-}
-gs_ret_t (* gs_cosd_get_version)(
- uint64_t oid,
- uint64_t* version,
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id) = gs_cosd_get_version_post;
-
-
-/* txn_close_op_worker()
- *
- * closes a transaction
- */
-static int txn_close_op_worker(struct gs_op* op)
-{
- struct cosd_op *c_op;
- int ret;
- DB_TXN *txn;
- DBT key, value;
- struct txn_accumulator* txn_acc;
- struct gs_hash_link* hash_link;
- struct gs_list_link* iterator;
- struct gs_list_link* scratch;
- struct logical_map_entry* tmp_entry;
- struct logical_map_entry* tmp_update;
- DBC *dbc_p = NULL;
- struct logical_map_entry lme;
- struct logical_map_key lmk;
- GS_LIST_HEAD(on_disk_entries);
- GS_LIST_HEAD(new_disk_entries);
- int on_disk_count = 0;
- int done = 0;
- int c_get_flag = DB_SET_RANGE;
- int64_t version;
- int64_t missing_ver;
- DBT mv_key, mv_value;
- struct missing_version mv;
- void* free_ptr;
-
- c_op = gs_op_entry(op, struct cosd_op, op);
- assert(c_op);
-
- lmk.oid = c_op->work.u.txn_close.oid;
- lmk.fork = c_op->work.u.txn_close.fork;
-
- /* pull txn accumulator out of hash so no one can touch it */
- gs_mutex_lock(&txn_mutex);
- hash_link = gs_hash_search(txn_table, &c_op->work.u.txn_close.txn_number);
- if(!hash_link)
- {
- /* TODO: txn is gone (which could be normal); error handling */
- c_op->error_code = -1;
- gs_mutex_unlock(&txn_mutex);
- return(1);
- }
- txn_acc = gs_hash_get_entry(hash_link, struct txn_accumulator,
- hash_link);
-
- if(txn_acc->oid != c_op->work.u.txn_close.oid ||
- txn_acc->fork != c_op->work.u.txn_close.fork)
- {
- /* TODO: error handling */
- /* mismatch between txn open and close */
- assert(0);
- }
-
- gs_list_del(&txn_acc->hash_link);
- gs_mutex_unlock(&txn_mutex);
-
-txn_close_op_retry:
- on_disk_count = 0;
- done = 0;
- c_get_flag = DB_SET_RANGE;
- /* clear up on disk list in case this is a retry */
- gs_list_for_each_safe(iterator, scratch, &on_disk_entries)
- {
- tmp_entry = gs_list_get_entry(iterator, struct
- logical_map_entry, list_link);
- gs_list_del(&tmp_entry->list_link);
- free(tmp_entry);
- }
-
- /* do db stuff */
- ret = envp->txn_begin(envp, NULL, &txn, 0);
- if(ret != 0)
- {
- /* TODO: error handling */
- c_op->error_code = -1;
- return(1);
- }
-
- /* create a cursor to move through logical map db */
- /* TODO: check flags */
- ret = log_map_dbp->cursor(log_map_dbp, txn, &dbc_p, 0);
- if(ret != 0)
- {
- txn->abort(txn);
- if(ret == DB_LOCK_DEADLOCK)
- {
- deadlock_counter++;
- goto txn_close_op_retry;
- }
- /* TODO: error handling */
- assert(0);
- }
- COSD_INIT_DBT(key, lmk);
- COSD_INIT_DBT(value, lme);
-
- /* TODO: optimize to avoid updates if no log regions need to be
- * replaced
- */
-
- /* loop through each update in the cosd txn */
- gs_list_for_each_safe(iterator, scratch, &txn_acc->update_list)
- {
- tmp_update = gs_list_get_entry(iterator, struct logical_map_entry,
- list_link);
-
- lmk.oid = c_op->work.u.txn_close.oid;
- lmk.fork = c_op->work.u.txn_close.fork;
- lmk.logical_offset_end = tmp_update->logical_offset + 1;
- done = 0;
- c_get_flag = DB_SET_RANGE;
- while(!done)
- {
- /* get each potentially overlapping on disk region */
- /* TODO: remove RMW flag if we change this to not replace all
- * keys
- */
- ret = dbc_p->c_get(dbc_p, &key, &value, (c_get_flag|DB_RMW));
- if(ret == DB_NOTFOUND)
- {
- done = 1;
- break;
- }
- if(ret != 0)
- {
- dbc_p->c_close(dbc_p);
- txn->abort(txn);
- if(ret == DB_LOCK_DEADLOCK)
- {
- deadlock_counter++;
- goto txn_close_op_retry;
- }
- /* TODO: err handling */
- assert(0);
- }
-
- /* stop if we run into the next oid, if we run into the next
- * branch, or if we go past our offset. Ignore the offset if
- * flag is set to truncate the whole fork.
- */
- if(lmk.oid != c_op->work.u.txn_close.oid ||
- lmk.fork != c_op->work.u.txn_close.fork ||
- (lme.logical_offset >= tmp_update->logical_offset_end &&
- !(tmp_update->flags & COSD_FLAG_TRUNC_WRITE)))
- {
- /* no more overlapping regions in this this object/fork */
- done = 1;
- break;
- }
-
- if(!(tmp_update->flags & COSD_FLAG_TRUNC_WRITE))
- {
- /* store this in a linked list */
- tmp_entry = malloc(sizeof(*tmp_entry));
- if(!tmp_entry)
- {
- /* TODO: err handling */
- assert(0);
- }
- *tmp_entry = lme;
- gs_list_add(&tmp_entry->list_link, &on_disk_entries);
- on_disk_count++;
- }
- c_get_flag = DB_NEXT;
-
- /* TODO: worth optimizing? We can instead calculate exactly
- * what needs to be updated/added/removed/left alone for each
- * region
- */
- /* delete it from db; will be added back later if necessary */
- ret = dbc_p->c_del(dbc_p, 0);
- if(ret != 0)
- {
- dbc_p->c_close(dbc_p);
- txn->abort(txn);
- if(ret == DB_LOCK_DEADLOCK)
- {
- deadlock_counter++;
- goto txn_close_op_retry;
- }
- /* TODO: err handling */
- assert(0);
- }
- }
- }
-
- ret = dbc_p->c_close(dbc_p);
- if(ret != 0)
- {
- txn->abort(txn);
- if(ret == DB_LOCK_DEADLOCK)
- {
- deadlock_counter++;
- goto txn_close_op_retry;
- }
- /* TODO: error handling */
- assert(0);
- }
-
- /* merge on disk and txn regions */
- ret = merge_logical_map(&on_disk_entries, on_disk_count,
- &txn_acc->update_list, txn_acc->update_list_count,
- &new_disk_entries, &free_ptr);
- if(ret != 0)
- {
- /* TODO: err handling */
- assert(0);
- }
-
- /* write new logical map updates */
- gs_list_for_each(iterator, &new_disk_entries)
- {
- tmp_entry = gs_list_get_entry(iterator, struct logical_map_entry,
- list_link);
- lme = *tmp_entry;
- lmk.oid = c_op->work.u.txn_close.oid;
- lmk.fork = c_op->work.u.txn_close.fork;
- lmk.logical_offset_end = lme.logical_offset_end;
- ret = log_map_dbp->put(log_map_dbp, txn, &key, &value, 0);
- if(ret != 0)
- {
- txn->abort(txn);
- free(free_ptr);
- if(ret == DB_LOCK_DEADLOCK)
- {
- deadlock_counter++;
- goto txn_close_op_retry;
- }
- /* TODO: err handling */
- assert(0);
- }
- }
- free(free_ptr);
-
- /* read current version */
- COSD_INIT_DBT(key, c_op->work.u.txn_close.oid);
- COSD_INIT_DBT(value, version);
-
- ret = ver_dbp->get(ver_dbp, txn, &key, &value, DB_RMW);
- if(ret != 0)
- {
- txn->abort(txn);
- if(ret == DB_LOCK_DEADLOCK)
- {
- deadlock_counter++;
- goto txn_close_op_retry;
- }
-
- /* TODO: error handling */
- assert(0);
- }
-
- if(txn_acc->txn_number > version)
- {
- /* this update is newer than the current version of the object */
- COSD_INIT_DBT(mv_key, mv);
- COSD_INIT_DBT_EMPTY(mv_value);
-
- /* identify skipped version numbers */
- missing_ver = version + 1;
- while(missing_ver < txn_acc->txn_number)
- {
- mv.oid = c_op->work.u.txn_close.oid;
- mv.version = missing_ver;
-
- /* record each missing ver in db */
- ret = missing_ver_dbp->put(missing_ver_dbp, txn, &mv_key, &mv_value, 0);
- if(ret != 0)
- {
- txn->abort(txn);
- if(ret == DB_LOCK_DEADLOCK)
- {
- deadlock_counter++;
- goto txn_close_op_retry;
- }
- /* TODO: error handling */
- assert(0);
- }
-
- missing_ver++;
- }
-
- /* bump overall version number */
- version = txn_acc->txn_number;
- ret = ver_dbp->put(ver_dbp, txn, &key, &value, 0);
- if(ret != 0)
- {
- txn->abort(txn);
- if(ret == DB_LOCK_DEADLOCK)
- {
- deadlock_counter++;
- goto txn_close_op_retry;
- }
- /* TODO: error handling */
- assert(0);
- }
- }
- if(txn_acc->txn_number < version)
- {
- /* this update is older than the current version of the object */
- /* remove it from list of missing versions if present */
- memset(&mv_key, 0, sizeof(DBT));
- mv_key.data = &mv;
- mv_key.size = sizeof(mv);
- mv.oid = c_op->work.u.txn_close.oid;
- mv.version = txn_acc->txn_number;
-
- /* delete from db db */
- ret = missing_ver_dbp->del(missing_ver_dbp, txn, &mv_key, 0);
- if(ret == DB_LOCK_DEADLOCK)
- {
- txn->abort(txn);
- deadlock_counter++;
- goto txn_close_op_retry;
- }
- if(ret != 0 && ret != DB_NOTFOUND)
- {
- txn->abort(txn);
- /* TODO: error handling */
- assert(0);
- }
- }
-
- ret = txn->commit(txn, 0);
- if(ret != 0)
- {
- txn->abort(txn);
- if(ret == DB_LOCK_DEADLOCK)
- {
- deadlock_counter++;
- goto txn_close_op_retry;
- }
-
- /* TODO: error handling */
- assert(0);
- }
-
- gs_list_for_each_safe(iterator, scratch, &on_disk_entries)
- {
- tmp_entry = gs_list_get_entry(iterator, struct
- logical_map_entry, list_link);
- gs_list_del(&tmp_entry->list_link);
- free(tmp_entry);
- }
- gs_list_for_each_safe(iterator, scratch, &txn_acc->update_list)
- {
- tmp_entry = gs_list_get_entry(iterator, struct
- logical_map_entry, list_link);
- gs_list_del(&tmp_entry->list_link);
- free(tmp_entry);
- }
-
- free(txn_acc);
- c_op->error_code = 0;
- return(1);
-}
-
-static int cosd_txn_close_set_work(
- struct cosd_work* work,
- uint64_t oid,
- uint64_t fork,
- uint64_t txn_number)
-{
- work->u.txn_close.oid = oid;
- work->u.txn_close.fork = fork;
- work->u.txn_close.txn_number = txn_number;
-
- work->op_worker = txn_close_op_worker;
- work->cleanup_fn = NULL;
-
- return(0);
-}
-
-gs_ret_t gs_cosd_txn_close_post(
- uint64_t oid,
- uint64_t fork,
- uint64_t txn_number,
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id)
-{
- struct gs_op *op;
- struct cosd_op *c_op;
- int ret;
-
- op = gs_opcache_get(cosd_opcache);
- gs_op_fill(op, callback, user_ptr, hints, ctx);
-
- c_op = gs_op_entry(op, struct cosd_op, op);
- c_op->op_id = gs_id_gen(gs_cosd_resource_id, (uint64_t)(op->cache_id));
-
- ret = cosd_txn_close_set_work(&c_op->work, oid, fork, txn_number);
- if(ret < 0)
- return(ret);
-
- *op_id = c_op->op_id;
- gs_cosd_launch_op(op, gs_cosd_progress_mode);
-
- return 0;
-}
-gs_ret_t (* gs_cosd_txn_close)(
- uint64_t oid,
- uint64_t fork,
- uint64_t txn_number,
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id) = gs_cosd_txn_close_post;
-
-
-/* merge_logical_map()
- *
- * merges two logical maps into one map. The output map is allocated from
- * scratch and can be freed via the free_ptr argument.
- *
- * returns 0 on success, -errno on failure
- */
-static int merge_logical_map(struct gs_list_link* list1_in, int
- list1_count, struct gs_list_link* list2_in, int list2_count,
- struct gs_list_link* list_out, void** free_ptr)
-{
- struct gs_list_link* iterator;
- struct gs_list_link* scratch;
- struct logical_map_entry* tmp_entry;
- int i=0;
- int j=0;
- int k=0;
- struct logical_map_entry* list1_array;
- struct logical_map_entry* list2_array;
- struct logical_map_entry* list_out_array;
- struct logical_map_entry* winner;
- struct logical_map_entry* loser;
- int list_out_array_count = 0;
- int64_t logical_offset;
-
- /* maximum size of merged array */
- if(list1_count > list2_count)
- list_out_array_count = list1_count * 3;
- else
- list_out_array_count = list2_count * 3;
-
- /* allocate linear arrays to use for sorting */
- list_out_array = malloc(list_out_array_count*sizeof(*list_out_array));
- list1_array = malloc(list1_count*sizeof(*list1_array));
- list2_array = malloc(list2_count*sizeof(*list2_array));
- /* TODO: err handling */
- assert(list_out_array && list1_array && list2_array);
-
- /* populate arrays */
- i=0;
- gs_list_for_each_safe(iterator, scratch, list1_in)
- {
- tmp_entry = gs_list_get_entry(iterator, struct logical_map_entry,
- list_link);
- list1_array[i] = *tmp_entry;
- i++;
- }
- assert(i==list1_count);
- i=0;
- gs_list_for_each_safe(iterator, scratch, list2_in)
- {
- tmp_entry = gs_list_get_entry(iterator, struct logical_map_entry,
- list_link);
- list2_array[i] = *tmp_entry;
- i++;
- }
- assert(i==list2_count);
-
- /* sort arrays */
- qsort(list1_array, list1_count, sizeof(struct logical_map_entry),
- cmp_lme);
- qsort(list2_array, list2_count, sizeof(struct logical_map_entry),
- cmp_lme);
-
- /* pick lowest logical offset to use for iterator */
- assert(list1_count || list2_count); /* at least one needs entries */
- if(list1_count == 0)
- logical_offset = list2_array[0].logical_offset;
- else if(list2_count == 0)
- logical_offset = list1_array[0].logical_offset;
- else
- {
- logical_offset = COSD_MIN(list1_array[0].logical_offset,
- list2_array[0].logical_offset);
- }
-
- /* loop through arrays and merge into output array */
- i=0;
- j=0;
- while(i<list1_count || j<list2_count)
- {
-
- /* consume any elements that have been entirely passed over */
- if(i < list1_count && list1_array[i].logical_offset_end <= logical_offset)
- {
- i++;
- continue;
- }
- if(j < list2_count && list2_array[j].logical_offset_end <= logical_offset)
- {
- j++;
- continue;
- }
-
- /* shave off the beginning of any extent that has been partially
- * passed over
- */
- if(i < list1_count && list1_array[i].logical_offset < logical_offset)
- {
- list1_array[i].size -= (logical_offset -
- list1_array[i].logical_offset);
- list1_array[i].log_offset += (logical_offset -
- list1_array[i].logical_offset);
- list1_array[i].logical_offset = logical_offset;
- }
- if(j < list2_count && list2_array[j].logical_offset < logical_offset)
- {
- list2_array[j].size -= (logical_offset -
- list2_array[j].logical_offset);
- list2_array[j].log_offset += (logical_offset -
- list2_array[j].logical_offset);
- list2_array[j].logical_offset = logical_offset;
- }
-
- /* if one list is already exhausted, then the other wins */
- if(i >= list1_count)
- {
- logical_offset = list2_array[j].logical_offset_end;
- list_out_array[k++] = list2_array[j++];
- continue;
- }
- if(j >= list2_count)
- {
- logical_offset = list1_array[i].logical_offset_end;
- list_out_array[k++] = list1_array[i++];
- continue;
- }
-
- /* pick winner for overlapped regions */
- if(list1_array[i].logical_offset == list2_array[j].logical_offset)
- {
- /* TODO: think about how to handle version wrap... */
- if(list1_array[i].version > list2_array[j].version)
- {
- winner = &list1_array[i];
- loser = &list2_array[j];
- }
- else
- {
- winner = &list2_array[j];
- loser = &list1_array[i];
- }
- list_out_array[k] = *winner;
- logical_offset = COSD_MIN(winner->logical_offset_end,
- loser->logical_offset_end);
- list_out_array[k].logical_offset_end = logical_offset;
- list_out_array[k].size = list_out_array[k].logical_offset_end -
- list_out_array[k].logical_offset;
- k++;
- continue;
- }
-
- /* pick easy winner for any non-overlapping regions */
- if(list1_array[i].logical_offset < list2_array[j].logical_offset)
- {
- winner = &list1_array[i];
- loser = &list2_array[j];
- }
- if(list2_array[j].logical_offset < list1_array[i].logical_offset)
- {
- winner = &list2_array[j];
- loser = &list1_array[i];
- }
- list_out_array[k] = *winner;
- logical_offset = COSD_MIN(winner->logical_offset_end,
- loser->logical_offset);
- list_out_array[k].logical_offset_end = logical_offset;
- list_out_array[k].size = list_out_array[k].logical_offset_end -
- list_out_array[k].logical_offset;
- k++;
- }
-
- /* TODO: assert that there is no overlap of extents _within_ either
- * input array
- */
-
- /* merge any adjacent entries in output array that have the same version
- * number. The above loop may have split some regions more than was
- * strictly needed
- */
- i=0;
- j=1;
- list_out_array_count = k;
- while(j<k)
- {
- if(list_out_array[i].logical_offset_end ==
- list_out_array[j].logical_offset &&
- list_out_array[i].version == list_out_array[j].version &&
- (list_out_array[i].log_offset + list_out_array[j].size ==
- list_out_array[j].log_offset))
- {
- list_out_array[i].size += list_out_array[j].size;
- list_out_array[i].logical_offset_end += list_out_array[j].size;
- list_out_array_count--;
- }
- else
- {
- i++;
- list_out_array[i] = list_out_array[j];
- }
- j++;
- }
-
- /* turn final array into a linked list */
- INIT_GS_LIST_HEAD(list_out);
- for(i=0; i<list_out_array_count; i++)
- {
- gs_list_add(&list_out_array[i].list_link, list_out);
- }
- *free_ptr = list_out_array;
- free(list1_array);
- free(list2_array);
-
- return(0);
-}
-
-static int compare_log_map_key(DB * dbp, const DBT * a, const DBT * b)
-{
- struct logical_map_key* lmk_a;
- struct logical_map_key* lmk_b;
-
- lmk_a = (struct logical_map_key *) a->data;
- lmk_b = (struct logical_map_key *) b->data;
-
- /* oid takes precedence */
- if(lmk_a->oid > lmk_b->oid)
- return(1);
- if(lmk_a->oid < lmk_b->oid)
- return(-1);
-
- /* then fork */
- if(lmk_a->fork > lmk_b->fork)
- return(1);
- if(lmk_a->fork < lmk_b->fork)
- return(-1);
-
- /* then ending offset within oid */
- if(lmk_a->logical_offset_end > lmk_b->logical_offset_end)
- return(1);
- if(lmk_a->logical_offset_end < lmk_b->logical_offset_end)
- return(-1);
-
- return 0;
-}
-
-static int compare_missing_version(DB * dbp, const DBT * a, const DBT * b)
-{
- struct missing_version* ver_a;
- struct missing_version* ver_b;
-
- ver_a = (struct missing_version *) a->data;
- ver_b = (struct missing_version *) b->data;
-
- /* oid takes precendenc */
- if(ver_a->oid > ver_b->oid)
- return 1;
- if(ver_a->oid < ver_b->oid)
- return -1;
-
- /* then version within oid */
- if(ver_a->version > ver_b->version)
- return 1;
- if(ver_a->version < ver_b->version)
- return -1;
-
- return(0);
-}
-
-static int compare_uint64(DB * dbp, const DBT * a, const DBT * b)
-{
- uint64_t* int_a;
- uint64_t* int_b;
-
- int_a = (uint64_t *) a->data;
- int_b = (uint64_t *) b->data;
-
- if(*int_a > *int_b)
- return(1);
- if(*int_a < *int_b)
- return(-1);
-
- return(0);
-}
-
-/* cmp_lme()
- *
- * logical map entry comparison function for qsort()
- */
-static int cmp_lme(const void *p1, const void *p2)
-{
- const struct logical_map_entry* lme1 = p1;
- const struct logical_map_entry* lme2 = p2;
-
- if(lme1->logical_offset < lme2->logical_offset)
- return(-1);
- if(lme1->logical_offset > lme2->logical_offset)
- return(1);
-
- return(0);
-}
-
-/* advance_listio_ptrs()
- *
- * increment data structures that track position in memory and object
- * regions. returns 1 if listio is done, 0 otherwise.
- */
-static int advance_listio_ptrs(
- char** mem_offsets,
- int64_t* mem_sizes,
- int mem_count,
- int* mem_index,
- int64_t* obj_offsets,
- int64_t* obj_sizes,
- int obj_count,
- int* obj_index,
- int64_t size)
-{
- int done = 0;
-
- mem_sizes[*mem_index] -= size;
- mem_offsets[*mem_index] += size;
- if(mem_sizes[*mem_index] == 0)
- {
- if(*mem_index == (mem_count -1))
- done = 1;
- else
- (*mem_index)++;
- }
- obj_sizes[*obj_index] -= size;
- obj_offsets[*obj_index] += size;
- if(obj_sizes[*obj_index] == 0)
- {
- if(*obj_index == (obj_count -1))
- done = 1;
- else
- (*obj_index)++;
- }
-
- return(done);
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/resources/cosd-prototype/cosd-prototype.gsh b/oldcode/src/gsl/resources/cosd-prototype/cosd-prototype.gsh
deleted file mode 100644
index bb03588..0000000
--- a/oldcode/src/gsl/resources/cosd-prototype/cosd-prototype.gsh
+++ /dev/null
@@ -1,149 +0,0 @@
-#ifndef __COSD_PROTOTYPE_GSH__
-#define __COSD_PROTOTYPE_GSH__
-
-/** \defgroup COSD prototype
- *
- * This is a prototype COSD to be used for initial studies of the Grayskull
- * replication protocol.
- *
- * Notes:
- * - All functions return 0 on success or -errno on failure unless otherwise
- * noted
- * .
- * @{
- */
-
-/** \file
- * Declarations for COSD object storage resource.
- */
-
-#include "include/gs.h"
-
-#define COSD_FLAG_TRUNC_WRITE 1 /**< truncate fork on write */
-#define COSD_FLAG_AUTO_TXN 2 /**< automatically wrap write in a transaction */
-
-/** modes of making progress on posted storage operations */
-enum progress_mode
-{
- GS_PROG_NONE = 0, /**< invalid mode */
- GS_PROG_POLL, /**< requires active polling by client */
- GS_PROG_THREAD_PER_OP, /**< spawns new thread for each op */
- GS_PROG_THREAD_POOL, /**< uses pre-allocated thread pool */
- GS_PROG_MAX, /**< invalid mode */
-};
-
-/**
- * Initializes COSD interface
- */
-int gs_cosd_init(
- enum progress_mode mode, /**< progress mode */
- const char* path /**< local path to use for storing data,
- will be created if needed */
-);
-
-/**
- * Shuts down COSD interface
- */
-int gs_cosd_finalize(void);
-
-/**
- * Creates a new object
- * \return 0 on success, -errno on failure
- */
-__blocking int gs_cosd_create(
- uint64_t requested_oid, /**< requested identifier, a value of zero
- allows OSD to choose. */
- uint64_t* out_oid /**< assigned identifier */
-);
-
-/**
- * Removes an existing object
- * \return 0 on success, -errno on failure
- */
-__blocking int gs_cosd_remove(
- uint64_t oid /**< oid to remove */
-);
-
-
-/**
- * Retrieves current version number of object
- * \return 0 on success, -errno on failure
- */
-__blocking int gs_cosd_get_version(
- uint64_t oid, /**< object to operate on */
- uint64_t* version /**< version number of object */
-);
-
-/**
- * Opens a txn
- * \return 0 on success, -errno on failure
- */
-int gs_cosd_txn_open(
- uint64_t oid, /**< object to operate on */
- uint64_t fork, /**< fork to operate on */
- uint64_t txn_number /**< caller-assigned txn identifier */
-);
-
-/**
- * Closes a txn
- * \return 0 on success, -errno on failure
- */
-__blocking int gs_cosd_txn_close(
- uint64_t oid, /**< object to operate on */
- uint64_t fork, /**< fork to operate on */
- uint64_t txn_number /**< caller-assigned txn identifier */
-);
-
-/**
- * Reads data from an object
- * \return 0 on success, -errno on failure
- */
-__blocking int gs_cosd_read(
- uint64_t oid, /**< object to operate on */
- uint64_t fork, /**< object fork to operate on */
- char** mem_offsets, /**< memory region pointers */
- int64_t* mem_sizes, /**< memory region sizes */
- int mem_count, /**< memory region count */
- int64_t* obj_offsets, /**< object region offsets */
- int64_t* obj_sizes, /**< object region sizes */
- int obj_count, /**< object region count */
- int64_t* out_size /**< amount read */
-);
-
-
-/**
- * Writes data into an object
- * \return 0 on success, -errno on failure
- */
-__blocking int gs_cosd_write(
- uint64_t oid, /**< object to operate on */
- uint64_t fork, /**< fork identifier */
- uint64_t txn_number, /**< txn identifier */
- char** mem_offsets, /**< memory region pointers */
- int64_t* mem_sizes, /**< memory region sizes */
- int mem_count, /**< memory region count */
- int64_t* obj_offsets, /**< object region offsets */
- int64_t* obj_sizes, /**< object region sizes */
- int obj_count, /**< object region count */
- int flags /**< optional flags */
-);
-
-
-/**
- * Dumps object version and log information from cosd to stdout
- * \return 0 on success, -errno on failure
- */
-__blocking int gs_cosd_dump(void);
-
-#endif
-
-/* @} */
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/resources/cosd-prototype/module.mk.in b/oldcode/src/gsl/resources/cosd-prototype/module.mk.in
deleted file mode 100644
index 1dce999..0000000
--- a/oldcode/src/gsl/resources/cosd-prototype/module.mk.in
+++ /dev/null
@@ -1,7 +0,0 @@
-DIR := resources/cosd-prototype
-
-GSHDR += $(DIR)/cosd-prototype.gsh
-LIBSRC += $(DIR)/cosd-prototype.c
-LIBSRC += $(DIR)/cosd-fd-cache.c
-
-MODCFLAGS_$(DIR) = @DB_CFLAGS@
diff --git a/oldcode/src/gsl/resources/cosd-prototype/test/4M-w-serial.txt b/oldcode/src/gsl/resources/cosd-prototype/test/4M-w-serial.txt
deleted file mode 100644
index 22c07a2..0000000
--- a/oldcode/src/gsl/resources/cosd-prototype/test/4M-w-serial.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-# <op> <offset> <size>
-write 0 4194304
-write 4194304 4194304
-write 8388608 4194304
-write 12582912 4194304
-write 16777216 4194304
-write 20971520 4194304
diff --git a/oldcode/src/gsl/resources/cosd-prototype/test/README b/oldcode/src/gsl/resources/cosd-prototype/test/README
deleted file mode 100644
index 8b13789..0000000
--- a/oldcode/src/gsl/resources/cosd-prototype/test/README
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/oldcode/src/gsl/resources/cosd-prototype/test/cosd-bench-concurrent.gs b/oldcode/src/gsl/resources/cosd-prototype/test/cosd-bench-concurrent.gs
deleted file mode 100644
index c4848b4..0000000
--- a/oldcode/src/gsl/resources/cosd-prototype/test/cosd-bench-concurrent.gs
+++ /dev/null
@@ -1,312 +0,0 @@
-
-#include <stdio.h>
-#include <errno.h>
-#include <sys/time.h>
-#include "../../../include/gs.h"
-#include "../cosd-prototype.gsh"
-#include "gs-config.h"
-
-/* TODO: this needs to be in a header somewhere */
-#ifndef llu
-#if SIZEOF_LONG_INT == 4
-# define llu(x) (x)
-# define lld(x) (x)
-# define SCANF_lld lld
-#elif SIZEOF_LONG_INT == 8
-# define llu(x) (unsigned long long)(x)
-# define lld(x) (long long)(x)
-# define SCANF_lld ld
-#else
-# error Unexpected sizeof(long int)
-#endif
-#endif
-
-enum op_type
-{
- WRITE,
- READ
-};
-
-struct bench_op
-{
- int64_t offset;
- int64_t size;
- enum op_type type;
- struct gs_list_link list_link;
-};
-
-GS_LIST_HEAD(op_list);
-gs_mutex_t op_list_mutex = GS_MUTEX_INITIALIZER;
-
-static double Wtime(void)
-{
- struct timeval t;
- gettimeofday(&t, NULL);
- return((double)t.tv_sec + (double)(t.tv_usec) / 1000000);
-}
-static double start_tm;
-static double end_tm;
-static int64_t total_size = 0;
-static int concurrent;
-static char data_mode;
-static uint64_t first_version;
-static uint64_t version;
-
-static __blocking int do_cosd_test(void)
-{
- int ret;
- int w_flags = COSD_FLAG_AUTO_TXN;
-
- if(data_mode == 'k')
- w_flags |= COSD_FLAG_TRUNC_WRITE;
-
- uint64_t out_oid1;
-
- ret = gs_cosd_create(1, &out_oid1);
- if(ret == -EEXIST)
- {
- printf("# operating on existing object.\n");
- }
- else if(ret != 0)
- {
- printf("Error creating oid=1: %d\n", ret);
- return 1;
- }
-
- ret = gs_cosd_get_version(1, &version);
- if(ret != 0)
- {
- printf("Error getting version number for oid=1: %d\n", ret);
- return(1);
- }
- first_version = version;
-
- start_tm = Wtime();
-
- pwait
- {
- pprivate int i;
- pprivate struct gs_list_link* tmp_link;
- pprivate char* buffer = NULL;
- pprivate uint64_t b_version;
- pprivate struct bench_op* tmp_op;
- pprivate int b_ret;
- pprivate int64_t out_size;
- pprivate int64_t keyval_offset = 0;
- pprivate int64_t* offset_ptr;
- pprivate uint64_t fork;
- /* TODO: make buffer size configurable, and check that
- * nothing in workload desc is bigger than this
- */
- pprivate int64_t buffer_size = 4*1024*1024;
-
- for(i=0; i<concurrent; i++)
- {
- pbranch
- {
-
- buffer = malloc(buffer_size);
- assert(buffer);
-
- gs_mutex_lock(&op_list_mutex);
- while((tmp_link = gs_list_pop(&op_list)) != NULL)
- {
- b_version = version++;
- gs_mutex_unlock(&op_list_mutex);
-
- tmp_op = gs_list_get_entry(tmp_link, struct bench_op,
- list_link);
-
- total_size += tmp_op->size;
- assert(tmp_op->size <= buffer_size);
-
- if(data_mode == 'k')
- {
- offset_ptr = &keyval_offset;
- fork = tmp_op->offset;
- }
- else
- {
- offset_ptr = &tmp_op->offset;
- fork = 0;
- }
-
- if(tmp_op->type == WRITE)
- {
- b_ret = gs_cosd_write(1, fork, b_version, &buffer,
- &tmp_op->size, 1, &tmp_op->offset,
- &tmp_op->size, 1, w_flags);
- if(b_ret < 0)
- {
- /* TODO: error handling */
- assert(0);
- }
- }
- else
- {
- assert(tmp_op->type == READ);
-
- b_ret = gs_cosd_read(1, fork, &buffer, &tmp_op->size, 1,
- &tmp_op->offset, &tmp_op->size, 1, &out_size);
- if(b_ret < 0)
- {
- /* TODO: error handling */
- assert(0);
- }
- /* TODO: short read detection */
- assert(out_size == tmp_op->size);
- }
-
- gs_mutex_lock(&op_list_mutex);
- }
- gs_mutex_unlock(&op_list_mutex);
-
- free(buffer);
- }
- }
- }
- end_tm = Wtime();
-
-#if 0
- ret = gs_cosd_dump();
- assert(ret == 0);
-#endif
- return 0;
-}
-
-int done = 0;
-
-static void done_callback(void *up, int ret)
-{
- done = 1;
-}
-
-
-int main(int argc, char *argv[])
-{
- gs_context_t ctx;
- gs_op_id_t op_id;
- int mode = GS_PROG_POLL;
- int pc = 0;
- FILE *desc = 0;
- char line[2048];
- char op_string[100];
- int64_t size;
- int64_t offset;
- int ret;
- struct bench_op* tmp_op;
-
- if(argc != 6)
- {
- fprintf(stderr, "Usage: cosd1 <1|2> <workload description file> <cosd dir> <concurrent ops> <k|d>\n");
- fprintf(stderr, " # 1 for polling\n");
- fprintf(stderr, " # 2 for thread-per-op\n");
- fprintf(stderr, " # k for key/val mode\n");
- fprintf(stderr, " # d for data mode\n");
- return(-1);
- }
-
- sscanf(argv[1], "%d", &mode);
- if(mode > 2 || mode < 1)
- {
- fprintf(stderr, "Usage: cosd1 <1|2> <workload description file> <cosd dir> <concurrent ops> <k|d>\n");
- fprintf(stderr, " # 1 for polling\n");
- fprintf(stderr, " # 2 for thread-per-op\n");
- fprintf(stderr, " # k for key/val mode\n");
- fprintf(stderr, " # d for data mode\n");
- return(-1);
- }
-
- ret = sscanf(argv[4], "%d", &concurrent);
- if(ret != 1 || concurrent < 1)
- {
- fprintf(stderr, "Usage: cosd1 <1|2> <workload description file> <cosd dir> <concurrent ops> <k|d>\n");
- fprintf(stderr, " # 1 for polling\n");
- fprintf(stderr, " # 2 for thread-per-op\n");
- fprintf(stderr, " # k for key/val mode\n");
- fprintf(stderr, " # d for data mode\n");
- }
-
- ret = sscanf(argv[5], "%c", &data_mode);
- if(ret != 1 || (data_mode != 'k' && data_mode != 'd'))
- {
- fprintf(stderr, "Usage: cosd1 <1|2> <workload description file> <cosd dir> <concurrent ops> <k|d>\n");
- fprintf(stderr, " # 1 for polling\n");
- fprintf(stderr, " # 2 for thread-per-op\n");
- fprintf(stderr, " # k for key/val mode\n");
- fprintf(stderr, " # d for data mode\n");
- }
-
-
- /* parse description of workload */
- desc = fopen(argv[2], "r");
- if(!desc)
- {
- perror("fopen");
- return(-1);
- }
- while(fgets(line, 2048, desc))
- {
- if(line[0] == '#')
- continue;
-#if SIZEOF_LONG_INT == 4
- ret = sscanf(line, "%s %lld %lld", op_string, &offset, &size);
-#else
- ret = sscanf(line, "%s %ld %ld", op_string, &offset, &size);
-#endif
- if(ret != 3)
- {
- fprintf(stderr, "Error: bad line: %s\n", line);
- return(-1);
- }
- tmp_op = malloc(sizeof(*tmp_op));
- assert(tmp_op);
-
- if(strcmp(op_string, "write") == 0)
- tmp_op->type = WRITE;
- else if(strcmp(op_string, "read") == 0)
- tmp_op->type = READ;
- else
- assert(0);
- tmp_op->offset = offset;
- tmp_op->size = size;
- gs_list_add_tail(&tmp_op->list_link, &op_list);
- }
- fclose(desc);
-
- if(mode == 1)
- printf("# Initializing cosd in poll-driven mode.\n");
- else
- printf("# Initializing cosd in thread-per-op mode.\n");
-
- gs_cosd_init(mode, argv[3]);
-
- gs_context_create(&ctx, 1, "cosd");
-
- done = 0;
- do_cosd_test_post(done_callback, NULL, NULL, ctx, &op_id);
- while(done == 0)
- {
- pc++;
- gs_poll(ctx, 10000);
- }
-
- gs_cosd_finalize();
- gs_context_destroy(ctx);
-
- printf("# Moved %lld bytes in %f seconds.\n", lld(total_size),
- (end_tm-start_tm));
- printf("%f MB/s\n", (((double)total_size)/(1024.0*1024.0))/(end_tm-start_tm));
- printf("%f ops/s\n", ((double)(version-first_version))/(end_tm-start_tm));
-
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/resources/cosd-prototype/test/cosd-multi-object.gs b/oldcode/src/gsl/resources/cosd-prototype/test/cosd-multi-object.gs
deleted file mode 100644
index 19efa19..0000000
--- a/oldcode/src/gsl/resources/cosd-prototype/test/cosd-multi-object.gs
+++ /dev/null
@@ -1,176 +0,0 @@
-
-#include <stdio.h>
-#include <errno.h>
-#include "../../../include/gs.h"
-#include "../cosd-prototype.gsh"
-#include "gs-config.h"
-
-/* TODO: this needs to be in a header somewhere */
-#ifndef llu
-#if SIZEOF_LONG_INT == 4
-# define llu(x) (x)
-# define lld(x) (x)
-# define SCANF_lld "%lld"
-#elif SIZEOF_LONG_INT == 8
-# define llu(x) (unsigned long long)(x)
-# define lld(x) (long long)(x)
-# define SCANF_lld "%ld"
-#else
-# error Unexpected sizeof(long int)
-#endif
-#endif
-
-static __blocking int do_cosd_test(void)
-{
- int ret;
- char* buffer;
- void* void_buffer;
-
- int64_t buffer_szs[3];
- char* buffer_offsets[3];
- int64_t obj_offsets[3];
- int64_t obj_szs[3];
- uint64_t version_array[500];
-
- uint64_t oid;
- uint64_t out_oid1;
- int64_t out_size;
-
- int i;
-
- ret = posix_memalign(&void_buffer, 512, 4096);
- assert(ret == 0);
- buffer = void_buffer;
-
- /* create and get version for 500 objects */
- for(i=0; i<500; i++)
- {
- oid = i+1;
- ret = gs_cosd_create(oid, &out_oid1);
- if(ret != 0 && ret != -EEXIST)
- {
- printf("Error creating oid=%llu\n", oid);
- free(buffer);
- return(1);
- }
-
- ret = gs_cosd_get_version(oid, &version_array[i]);
- if(ret != 0)
- {
- printf("Error getting version number for oid=%llu: %d\n", oid, ret);
- free(buffer);
- return(1);
- }
- }
-
- /* write something into each object */
- for(i=0; i<500; i++)
- {
- oid = i+1;
-
- buffer_offsets[0] = buffer;
- buffer_szs[0] = 1024;
- obj_offsets[0] = 0;
- obj_szs[0] = 1024;
- ret = gs_cosd_write(oid, 0, version_array[i], buffer_offsets, buffer_szs, 1,
- obj_offsets, obj_szs, 1, COSD_FLAG_AUTO_TXN);
- if(ret != 0)
- {
- printf("Error writing 0-1024 on oid=%llu: %d\n", oid, ret);
- free(buffer);
- return 1;
- }
- }
-
- ret = gs_cosd_dump();
- assert(ret == 0);
-
- /* delete them all */
- for(i=0; i<500; i++)
- {
- oid = i+1;
-
- ret = gs_cosd_remove(oid);
- if(ret != 0)
- {
- printf("Error deleting oid=%llu\n", oid);
- free(buffer);
- return(1);
- }
- }
-
- ret = gs_cosd_dump();
- assert(ret == 0);
-
- /* try to delete something that doesn't exist */
- ret = gs_cosd_remove(0);
- assert(ret == -ENOENT);
-
- free(buffer);
- return 0;
-}
-
-int done = 0;
-
-static void done_callback(void *up, int ret)
-{
- done = 1;
-}
-
-
-int main(int argc, char *argv[])
-{
- gs_context_t ctx;
- gs_op_id_t op_id;
- int mode = GS_PROG_POLL;
- int pc = 0;
-
- if(argc != 2)
- {
- fprintf(stderr, "Usage: cosd1 <1|2>\n");
- fprintf(stderr, " # 1 for polling\n");
- fprintf(stderr, " # 2 for thread-per-op\n");
- return(-1);
- }
-
- sscanf(argv[1], "%d", &mode);
- if(mode > 2 || mode < 1)
- {
- fprintf(stderr, "Usage: cosd1 <1|2>\n");
- fprintf(stderr, " # 1 for polling\n");
- fprintf(stderr, " # 2 for thread-per-op\n");
- return(-1);
- }
-
- if(mode == 1)
- printf("Initializing cosd in poll-driven mode...\n");
- else
- printf("Initializing cosd in thread-per-op mode...\n");
-
- gs_cosd_init(mode, "/tmp/cosd");
- printf("Done.\n");
-
- gs_context_create(&ctx, 1, "cosd");
-
- done = 0;
- do_cosd_test_post(done_callback, NULL, NULL, ctx, &op_id);
- while(done == 0)
- {
- pc++;
- gs_poll(ctx, 10000);
- printf("polled %d times...\n", pc);
- }
-
- gs_cosd_finalize();
- gs_context_destroy(ctx);
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/resources/cosd-prototype/test/cosd1.gs b/oldcode/src/gsl/resources/cosd-prototype/test/cosd1.gs
deleted file mode 100644
index a794eea..0000000
--- a/oldcode/src/gsl/resources/cosd-prototype/test/cosd1.gs
+++ /dev/null
@@ -1,492 +0,0 @@
-
-#include <stdio.h>
-#include <errno.h>
-#include "../../../include/gs.h"
-#include "../cosd-prototype.gsh"
-#include "gs-config.h"
-
-/* TODO: this needs to be in a header somewhere */
-#ifndef llu
-#if SIZEOF_LONG_INT == 4
-# define llu(x) (x)
-# define lld(x) (x)
-# define SCANF_lld "%lld"
-#elif SIZEOF_LONG_INT == 8
-# define llu(x) (unsigned long long)(x)
-# define lld(x) (long long)(x)
-# define SCANF_lld "%ld"
-#else
-# error Unexpected sizeof(long int)
-#endif
-#endif
-
-static __blocking int do_cosd_test(void)
-{
- int ret;
- char* buffer;
- void* void_buffer;
-
- int64_t buffer_szs[3];
- char* buffer_offsets[3];
- int64_t obj_offsets[3];
- int64_t obj_szs[3];
-
- uint64_t out_oid1;
- uint64_t version;
- int64_t out_size;
-
- int i;
-
- ret = posix_memalign(&void_buffer, 512, 4096);
- assert(ret == 0);
- buffer = void_buffer;
-
- printf("Creating oid 1 (if it doesn't already exist)...\n");
- ret = gs_cosd_create(1, &out_oid1);
- if(ret != 0 && ret != -EEXIST)
- {
- printf("Error creating oid=1: %d\n", ret);
- free(buffer);
- return 1;
- }
- printf("DONE\n");
-
- printf("Getting version number of oid 1...\n");
- ret = gs_cosd_get_version(1, &version);
- if(ret != 0)
- {
- printf("Error getting version number for oid=1: %d\n", ret);
- free(buffer);
- return(1);
- }
- printf("DONE: %llu\n", llu(version));
-
- ret = gs_cosd_dump();
- assert(ret == 0);
- /********************************************************/
- printf("opening txn...\n");
- ret = gs_cosd_txn_open(1, 0, (++version));
- if(ret != 0)
- {
- printf("Error opening txn 1: %d\n", ret);
- free(buffer);
- return 1;
- }
- printf("DONE\n");
-
- printf("writing 0-1024...\n");
- buffer_offsets[0] = buffer;
- buffer_szs[0] = 1024;
- obj_offsets[0] = 0;
- obj_szs[0] = 1024;
- ret = gs_cosd_write(1, 0, (version), buffer_offsets, buffer_szs, 1,
- obj_offsets, obj_szs, 1, 0);
- if(ret != 0)
- {
- printf("Error writing 0-1024: %d\n", ret);
- free(buffer);
- return 1;
- }
- printf("DONE\n");
-
- printf("closing txn...\n");
- ret = gs_cosd_txn_close(1, 0, (version));
- if(ret != 0)
- {
- printf("Error closing txn 1: %d\n", ret);
- free(buffer);
- return 1;
- }
- printf("DONE\n");
-
- ret = gs_cosd_dump();
- assert(ret == 0);
- /********************************************************/
- printf("opening txn...\n");
- version = version+2;
- ret = gs_cosd_txn_open(1, 0, (version));
- if(ret != 0)
- {
- printf("Error opening txn 1: %d\n", ret);
- free(buffer);
- return 1;
- }
- printf("DONE\n");
-
- printf("writing with listio (3 mem regions, 2 file regions)...\n");
- buffer_offsets[0] = buffer;
- buffer_offsets[1] = buffer+512;
- buffer_offsets[2] = buffer+768;
- buffer_szs[0] = 512;
- buffer_szs[1] = 256;
- buffer_szs[2] = 256;
- obj_offsets[0] = 1024;
- obj_offsets[1] = 2000;
- obj_szs[0] = 100;
- obj_szs[1] = 924;
- ret = gs_cosd_write(1, 0, (version), buffer_offsets, buffer_szs, 3,
- obj_offsets, obj_szs, 2, 0);
- if(ret != 0)
- {
- printf("Error writing with listio: %d\n", ret);
- free(buffer);
- return 1;
- }
- printf("DONE\n");
-
- printf("closing txn...\n");
- ret = gs_cosd_txn_close(1, 0, (version));
- if(ret != 0)
- {
- printf("Error closing txn 1: %d\n", ret);
- free(buffer);
- return 1;
- }
- printf("DONE\n");
-
- ret = gs_cosd_dump();
- assert(ret == 0);
- /********************************************************/
- printf("opening txn...\n");
- ret = gs_cosd_txn_open(1, 0, (version-1));
- if(ret != 0)
- {
- printf("Error opening txn 1: %d\n", ret);
- free(buffer);
- return 1;
- }
- printf("DONE\n");
-
- printf("writing bigger region with old version...\n");
- buffer_offsets[0] = buffer;
- buffer_szs[0] = 4096;
- obj_offsets[0] = 200;
- obj_szs[0] = 4096;
- ret = gs_cosd_write(1, 0, (version-1), buffer_offsets, buffer_szs, 1,
- obj_offsets, obj_szs, 1, 0);
- if(ret != 0)
- {
- printf("Error writing with listio: %d\n", ret);
- free(buffer);
- return 1;
- }
- printf("DONE\n");
-
- printf("closing txn...\n");
- ret = gs_cosd_txn_close(1, 0, (version-1));
- if(ret != 0)
- {
- printf("Error closing txn 1: %d\n", ret);
- free(buffer);
- return 1;
- }
- printf("DONE\n");
-
- ret = gs_cosd_dump();
- assert(ret == 0);
-
- /********************************************************/
- printf("reading a single aligned buffer...\n");
- buffer_offsets[0] = buffer;
- buffer_szs[0] = 512;
- obj_offsets[0] = 1024;
- obj_szs[0] = 512;
- ret = gs_cosd_read(1, 0, buffer_offsets, buffer_szs, 1, obj_offsets,
- obj_szs, 1, &out_size);
- assert(out_size == 512);
- if(ret != 0)
- {
- printf("Error reading aligned buffer: %d\n", ret);
- free(buffer);
- return(-1);
- }
- printf("DONE\n");
-
- /********************************************************/
- printf("reading beyond eof...\n");
- buffer_offsets[0] = buffer;
- buffer_szs[0] = 512;
- obj_offsets[0] = 51200;
- obj_szs[0] = 512;
- ret = gs_cosd_read(1, 0, buffer_offsets, buffer_szs, 1, obj_offsets,
- obj_szs, 1, &out_size);
- if(ret != 0 || out_size != 0)
- {
- printf("Error: bad error code our out size from EOF read: %d, %lld\n", ret, lld(out_size));
- free(buffer);
- return(-1);
- }
- printf("DONE\n");
-
- /********************************************************/
- printf("reading unaligned data...\n");
- buffer_offsets[0] = buffer+100;
- buffer_offsets[1] = buffer+1612;
- buffer_szs[0] = 1512;
- buffer_szs[1] = 12;
- obj_offsets[0] = 13;
- obj_szs[0] = 1524;
- ret = gs_cosd_read(1, 0, buffer_offsets, buffer_szs, 2, obj_offsets,
- obj_szs, 1, &out_size);
- if(ret != 0)
- {
- printf("Error: could not read unaligned buffers: %d\n", ret);
- free(buffer);
- return(-1);
- }
- assert(out_size == 1524);
- printf("DONE\n");
-
- /********************************************************/
- printf("opening txn...\n");
- ret = gs_cosd_txn_open(1, 0, (++version));
- if(ret != 0)
- {
- printf("Error opening txn 1: %d\n", ret);
- free(buffer);
- return 1;
- }
- printf("DONE\n");
-
- printf("writing 10024-10037...\n");
- buffer_offsets[0] = buffer;
- buffer_szs[0] = 13;
- sprintf(buffer, "Hello world.");
- obj_offsets[0] = 10024;
- obj_szs[0] = 13;
- ret = gs_cosd_write(1, 0, (version), buffer_offsets, buffer_szs, 1,
- obj_offsets, obj_szs, 1, 0);
- if(ret != 0)
- {
- printf("Error writing 10024-10037: %d\n", ret);
- free(buffer);
- return 1;
- }
- printf("DONE\n");
-
- printf("closing txn...\n");
- ret = gs_cosd_txn_close(1, 0, (version));
- if(ret != 0)
- {
- printf("Error closing txn: %d\n", ret);
- free(buffer);
- return 1;
- }
- printf("DONE\n");
-
- ret = gs_cosd_dump();
- assert(ret == 0);
-
- /********************************************************/
- printf("reading with a hole...\n");
- buffer_offsets[0] = buffer;
- buffer_szs[0] = 512;
- obj_offsets[0] = 9525;
- obj_szs[0] = 512;
- ret = gs_cosd_read(1, 0, buffer_offsets, buffer_szs, 1, obj_offsets,
- obj_szs, 1, &out_size);
- if(ret != 0)
- {
- printf("Error on read with hole: %d\n", ret);
- free(buffer);
- return(-1);
- }
- assert(out_size == 512);
- printf("DONE\n");
-
- /* confirm buffer contents */
- for(i=0; i<499; i++)
- assert(buffer[i] = '0');
-
- printf("buffer: %s\n", &buffer[499]);
-
- /********************************************************/
- printf("writing to two forks...\n");
- ret = gs_cosd_txn_open(1, 1, (++version));
- assert(ret == 0);
-
- buffer_offsets[0] = buffer;
- buffer_szs[0] = 6;
- sprintf(buffer, "fork1");
- obj_offsets[0] = 0;
- obj_szs[0] = 6;
- ret = gs_cosd_write(1, 1, (version), buffer_offsets, buffer_szs, 1,
- obj_offsets, obj_szs, 1, 0);
- assert(ret == 0);
-
- ret = gs_cosd_txn_close(1, 1, (version));
- assert(ret == 0);
-
- ret = gs_cosd_txn_open(1, 2, (++version));
- assert(ret == 0);
-
- buffer_offsets[0] = buffer;
- buffer_szs[0] = 6;
- sprintf(buffer, "fork2");
- obj_offsets[0] = 0;
- obj_szs[0] = 6;
- ret = gs_cosd_write(1, 2, (version), buffer_offsets, buffer_szs, 1,
- obj_offsets, obj_szs, 1, 0);
- assert(ret == 0);
-
- ret = gs_cosd_txn_close(1, 2, (version));
- assert(ret == 0);
-
- printf("DONE\n");
- printf("reading from first fork...\n");
-
- buffer_offsets[0] = buffer;
- buffer_szs[0] = 512;
- obj_offsets[0] = 0;
- obj_szs[0] = 512;
- ret = gs_cosd_read(1, 1, buffer_offsets, buffer_szs, 1, obj_offsets,
- obj_szs, 1, &out_size);
- assert(ret == 0 && out_size == 6);
-
- printf("DONE\n");
- printf("reading from second fork...\n");
-
- buffer_offsets[0] = &buffer[256];
- buffer_szs[0] = 256;
- obj_offsets[0] = 0;
- obj_szs[0] = 256;
- ret = gs_cosd_read(1, 2, buffer_offsets, buffer_szs, 1, obj_offsets,
- obj_szs, 1, &out_size);
- assert(ret == 0 && out_size == 6);
-
- printf("buffer from fork 1: %s, buffer from fork 2: %s\n",
- buffer, &buffer[256]);
-
- printf("DONE\n");
-
- ret = gs_cosd_dump();
- assert(ret == 0);
-
- /********************************************************/
- printf("opening txn...\n");
- ret = gs_cosd_txn_open(1, 0, (++version));
- if(ret != 0)
- {
- printf("Error opening txn 1: %d\n", ret);
- free(buffer);
- return 1;
- }
- printf("DONE\n");
-
- printf("writing 0-1024 with truncate flag...\n");
- buffer_offsets[0] = buffer;
- buffer_szs[0] = 1024;
- obj_offsets[0] = 0;
- obj_szs[0] = 1024;
- ret = gs_cosd_write(1, 0, (version), buffer_offsets, buffer_szs, 1,
- obj_offsets, obj_szs, 1, COSD_FLAG_TRUNC_WRITE);
- if(ret != 0)
- {
- printf("Error writing 0-1024: %d\n", ret);
- free(buffer);
- return 1;
- }
- printf("DONE\n");
-
- printf("closing txn...\n");
- ret = gs_cosd_txn_close(1, 0, (version));
- if(ret != 0)
- {
- printf("Error closing txn 1: %d\n", ret);
- free(buffer);
- return 1;
- }
- printf("DONE\n");
-
- ret = gs_cosd_dump();
- assert(ret == 0);
-
- /********************************************************/
-
- printf("writing 512-1024 with auto txn...\n");
- buffer_offsets[0] = buffer;
- buffer_szs[0] = 512;
- obj_offsets[0] = 512;
- obj_szs[0] = 512;
- ret = gs_cosd_write(1, 0, (++version), buffer_offsets, buffer_szs, 1,
- obj_offsets, obj_szs, 1, COSD_FLAG_AUTO_TXN);
- if(ret != 0)
- {
- printf("Error writing 512-1024: %d\n", ret);
- free(buffer);
- return 1;
- }
- printf("DONE\n");
-
- ret = gs_cosd_dump();
- assert(ret == 0);
-
-
- free(buffer);
- return 0;
-}
-
-int done = 0;
-
-static void done_callback(void *up, int ret)
-{
- done = 1;
-}
-
-
-int main(int argc, char *argv[])
-{
- gs_context_t ctx;
- gs_op_id_t op_id;
- int mode = GS_PROG_POLL;
- int pc = 0;
-
- if(argc != 2)
- {
- fprintf(stderr, "Usage: cosd1 <1|2>\n");
- fprintf(stderr, " # 1 for polling\n");
- fprintf(stderr, " # 2 for thread-per-op\n");
- return(-1);
- }
-
- sscanf(argv[1], "%d", &mode);
- if(mode > 2 || mode < 1)
- {
- fprintf(stderr, "Usage: cosd1 <1|2>\n");
- fprintf(stderr, " # 1 for polling\n");
- fprintf(stderr, " # 2 for thread-per-op\n");
- return(-1);
- }
-
- if(mode == 1)
- printf("Initializing cosd in poll-driven mode...\n");
- else
- printf("Initializing cosd in thread-per-op mode...\n");
-
- gs_cosd_init(mode, "/tmp/cosd");
- printf("Done.\n");
-
- gs_context_create(&ctx, 1, "cosd");
-
- done = 0;
- do_cosd_test_post(done_callback, NULL, NULL, ctx, &op_id);
- while(done == 0)
- {
- pc++;
- gs_poll(ctx, 10000);
- printf("polled %d times...\n", pc);
- }
-
- gs_cosd_finalize();
- gs_context_destroy(ctx);
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/resources/cosd-prototype/test/module.mk.in b/oldcode/src/gsl/resources/cosd-prototype/test/module.mk.in
deleted file mode 100644
index 11d46ae..0000000
--- a/oldcode/src/gsl/resources/cosd-prototype/test/module.mk.in
+++ /dev/null
@@ -1,9 +0,0 @@
-DIR := resources/cosd-prototype/test
-
-GSTESTSRC += $(DIR)/cosd1.gs
-GSTESTSRC += $(DIR)/cosd-bench-concurrent.gs
-GSTESTSRC += $(DIR)/workload-gen.gs
-GSTESTSRC += $(DIR)/cosd-multi-object.gs
-
-MODLIBS_$(DIR) = -lpthread @DB_LIB@
-
diff --git a/oldcode/src/gsl/resources/cosd-prototype/test/workload-gen.gs b/oldcode/src/gsl/resources/cosd-prototype/test/workload-gen.gs
deleted file mode 100644
index 37db00a..0000000
--- a/oldcode/src/gsl/resources/cosd-prototype/test/workload-gen.gs
+++ /dev/null
@@ -1,122 +0,0 @@
-#include <stdio.h>
-#include <errno.h>
-#include <assert.h>
-#include <stdlib.h>
-
-#include "../../../include/gs.h"
-#include "../cosd-prototype.gsh"
-#include "gs-config.h"
-
-
-/*
- * arguments:
- * ./workload-gen <total size> <op size> <l|r>
- */
-
-/* TODO: this needs to be in a header somewhere */
-#ifndef llu
-#if SIZEOF_LONG_INT == 4
-# define llu(x) (x)
-# define lld(x) (x)
-# define SCANF_lld lld
-#elif SIZEOF_LONG_INT == 8
-# define llu(x) (unsigned long long)(x)
-# define lld(x) (long long)(x)
-# define SCANF_lld ld
-#else
-# error Unexpected sizeof(long int)
-#endif
-#endif
-
-int main(int argc, char **argv)
-{
- int64_t total_size = -1;
- int64_t op_size = -1;
- int random_flag = 0;
- int op_count = 0;
- int64_t* offset_array;
- int i;
- int64_t current_offset = 0;
-
- if(argc != 4)
- {
- fprintf(stderr, "Usage: %s <total size> <op size> <l|r>\n",
- argv[0]);
- fprintf(stderr, " r=random, l=linear\n");
- return(-1);
- }
-
-#if SIZEOF_LONG_INT == 4
- sscanf(argv[1], "%lld", &total_size);
- sscanf(argv[2], "%lld", &op_size);
-#else
- sscanf(argv[1], "%ld", &total_size);
- sscanf(argv[2], "%ld", &op_size);
-#endif
-
- if(total_size < 1 || op_size < 1)
- {
- fprintf(stderr, "Usage: %s <total size> <op size> <l|r>\n",
- argv[0]);
- fprintf(stderr, " r=random, l=linear\n");
- return(-1);
- }
-
- if(strcmp(argv[3], "l") == 0)
- random_flag = 0;
- else if(strcmp(argv[3], "r") == 0)
- random_flag = 1;
- else
- {
- fprintf(stderr, "Usage: %s <total size> <op size> <l|r>\n",
- argv[0]);
- fprintf(stderr, " r=random, l=linear\n");
- return(-1);
- }
-
- if(total_size % op_size != 0)
- {
- fprintf(stderr, "Error: sizes must be evenly divisible.\n");
- return(-1);
- }
-
- op_count = total_size/op_size;
-
- /* allocate one big array with all of the offset */
- offset_array = malloc(op_count*sizeof(int64_t));
- assert(offset_array);
-
- for(i=0; i<op_count; i++)
- {
- offset_array[i] = current_offset;
- current_offset+= op_size;
- }
-
- if(random_flag && op_count > 1)
- {
- for(i=0; i<(op_count-1); i++)
- {
- int j = i + rand() / (RAND_MAX / (op_count-i) + 1);
- int64_t t = offset_array[j];
- offset_array[j] = offset_array[i];
- offset_array[i] = t;
- }
- }
-
- printf("# <op> <offset> <size>\n");
- for(i=0; i<op_count; i++)
- {
- printf("write\t%lld\t%lld\n", lld(offset_array[i]), lld(op_size));
- }
-
- return(0);
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/resources/mpi/gs-mpi.c b/oldcode/src/gsl/resources/mpi/gs-mpi.c
deleted file mode 100644
index d561bb9..0000000
--- a/oldcode/src/gsl/resources/mpi/gs-mpi.c
+++ /dev/null
@@ -1,596 +0,0 @@
-
-#include <stdlib.h>
-#include <errno.h>
-#include "include/gs.h"
-#include "include/gs-opcache.h"
-#include "include/gs-oplist.h"
-#include "include/gs-hash.h"
-#include "resources/mpi/gs-mpi.h"
-
-#define MPI_TESTCOUNT_MAXSIZE 1024
-
-struct mpi_op
-{
- MPI_Request *request;
- MPI_Status *status;
- gs_op_id_t op_id;
- struct gs_op op;
-};
-
-struct mpi_context
-{
- gs_context_t gs_ctx_ptr;
-
- gs_opcache_t opcache;
- gs_oplist_t oplist;
- gs_mutex_t oplist_mutex;
-
- MPI_Request *reqarray;
- MPI_Status *statusarray;
- int *indexarray;
-
- int array_size;
- int array_count;
- gs_mutex_t array_mutex;
-
- gs_mutex_t wait_mutex;
- gs_cond_t wait_cond;
-
- int ops_in_progress;
-
- struct gs_hash_link link;
-};
-
-static struct gs_hash_table *context_table;
-static gs_mutex_t ctx_mutex;
-
-static int gs_mpi_resource_id;
-
-static int mpi_initialized = 0;
-
-static int double_array_size(struct mpi_context *ctx)
-{
- int i;
- gs_mutex_lock(&ctx->array_mutex);
- ctx->array_size *= 2;
- ctx->reqarray = realloc(ctx->reqarray, sizeof(*ctx->reqarray) * ctx->array_size);
- if(!ctx->reqarray)
- {
- gs_mutex_unlock(&ctx->array_mutex);
- return -ENOMEM;
- }
- for(i = ctx->array_size/2; i < ctx->array_size; ++i)
- {
- ctx->reqarray[i] = MPI_REQUEST_NULL;
- }
-
- ctx->indexarray = realloc(ctx->indexarray, sizeof(*ctx->indexarray) * ctx->array_size);
- if(!ctx->indexarray)
- {
- gs_mutex_unlock(&ctx->array_mutex);
- return -ENOMEM;
- }
- ctx->statusarray = realloc(ctx->statusarray, sizeof(*ctx->statusarray) * ctx->array_size);
- if(!ctx->statusarray)
- {
- gs_mutex_unlock(&ctx->array_mutex);
- return -ENOMEM;
- }
- gs_mutex_unlock(&ctx->array_mutex);
- return 0;
-}
-
-static int add_op(MPI_Request req,
- MPI_Status *status,
- void (*callback)(void *ptr, int ret),
- void *up,
- gs_hints_t hints,
- gs_context_t gs_ctx,
- gs_op_id_t *op_id)
-{
- struct mpi_op *mpi_op;
- struct gs_op *op;
- struct gs_hash_link *link;
- struct mpi_context *ctx;
-
- /* get the mpi context structure from the context hashtable */
- link = gs_hash_search(context_table, gs_ctx);
- if(!link)
- {
- return -EINVAL;
- }
- ctx = gs_hash_get_entry(link, struct mpi_context, link);
-
- op = gs_opcache_get(ctx->opcache);
-
- /* kind of a hack for mpi case, if size of opcache doubles, we double
- * the request and index arrays too
- */
- if(gs_opcache_size(ctx->opcache) > ctx->array_size)
- {
- double_array_size(ctx);
- }
-
- mpi_op = gs_op_entry(op, struct mpi_op, op);
- mpi_op->status = status;
-
- gs_op_fill(op, callback, up, hints, gs_ctx);
-
- mpi_op->op_id = gs_id_gen(gs_mpi_resource_id, (uint64_t)(op->cache_id));
- ctx->reqarray[op->cache_id] = req;
- mpi_op->request = &(ctx->reqarray[op->cache_id]);
- gs_mutex_lock(&ctx->oplist_mutex);
- gs_oplist_add(op, &ctx->oplist);
- gs_mutex_unlock(&ctx->oplist_mutex);
- *op_id = mpi_op->op_id;
- return 0;
-}
-
-static int remove_op(struct mpi_context *ctx, gs_op_id_t id)
-{
- int cache_id, resource_id;
- struct gs_op *op;
-
- cache_id = gs_id_lookup(id, &resource_id);
- op = gs_opcache_lookup(ctx->opcache, cache_id);
-
- /* remove the op from the operation list */
- gs_mutex_lock(&ctx->oplist_mutex);
- gs_oplist_del(op, &ctx->oplist);
- gs_mutex_unlock(&ctx->oplist_mutex);
-
- /* give the op back to the opcache */
- gs_opcache_put(ctx->opcache, op);
- return 0;
-}
-
-static int set_ops_in_progress(gs_context_t gs_ctx)
-{
- struct gs_hash_link *link;
- struct mpi_context *ctx;
-
- link = gs_hash_search(context_table, gs_ctx);
- if(!link)
- {
- return -EINVAL;
- }
- ctx = gs_hash_get_entry(link, struct mpi_context, link);
-
- /* if no ops in progress, the poll function may be sleeping, so we
- * send a signal to wake it up and test
- */
- if(ctx->ops_in_progress == 0)
- {
- gs_mutex_lock(&ctx->wait_mutex);
- ctx->ops_in_progress = 1;
- gs_cond_signal(&ctx->wait_cond);
- gs_mutex_unlock(&ctx->wait_mutex);
- }
-
- return 0;
-}
-
-#define DEFINE_MPISEND_CALL(__CALL__) \
-gs_ret_t gs_mpi_##__CALL__##_post( \
- void *buffer, \
- int count, \
- MPI_Datatype datatype, \
- int dest, \
- int tag, \
- MPI_Comm comm, \
- void (*callback)(void *ptr, int ret), \
- void *user_ptr, \
- gs_hints_t hints, \
- gs_context_t ctx, \
- gs_op_id_t *op_id) \
-{ \
- int ret; \
- MPI_Request request; \
- \
- if(!mpi_initialized) \
- { \
- callback(user_ptr, -GS_ECANCELLED); \
- return GS_COMPLETE; \
- } \
- \
- ret = MPI_I##__CALL__( \
- buffer, \
- count, \
- datatype, \
- dest, \
- tag, \
- comm, \
- &request); \
- if(ret != MPI_SUCCESS) \
- { \
- callback(user_ptr, ret); \
- return GS_COMPLETE; \
- } \
- \
- /* status is null for send calls */ \
- ret = add_op(request, NULL, callback, user_ptr, hints, ctx, op_id); \
- if(ret != 0) \
- { \
- callback(user_ptr, ret); \
- return GS_COMPLETE; \
- } \
- \
- set_ops_in_progress(ctx); \
- return GS_POSTED; \
-}; \
-gs_ret_t (* gs_mpi_##__CALL__)( \
- void *buffer, \
- int count, \
- MPI_Datatype datatype, \
- int dest, \
- int tag, \
- MPI_Comm comm, \
- void (*callback)(void *ptr, int ret), \
- void *user_ptr, \
- gs_hints_t hints, \
- gs_context_t ctx, \
- gs_op_id_t *op_id) = gs_mpi_##__CALL__##_post
-
-DEFINE_MPISEND_CALL(send);
-DEFINE_MPISEND_CALL(bsend);
-DEFINE_MPISEND_CALL(ssend);
-DEFINE_MPISEND_CALL(rsend);
-
-gs_ret_t gs_mpi_recv_post(
- void *buf,
- int count,
- MPI_Datatype type,
- int source,
- int tag,
- MPI_Comm comm,
- MPI_Status *status,
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t gs_ctx,
- gs_op_id_t *op_id)
-{
- int ret;
- MPI_Request request;
-
- ret = MPI_Irecv(buf, count, type, source, tag, comm, &request);
- if(ret != MPI_SUCCESS)
- {
- callback(user_ptr, ret);
- return GS_POSTED;
- }
-
- ret = add_op(request, status, callback, user_ptr, hints, gs_ctx, op_id);
- if(ret != 0)
- {
- callback(user_ptr, ret);
- return GS_COMPLETE;
- }
-
- set_ops_in_progress(gs_ctx);
- return GS_POSTED;
-}
-gs_ret_t (* gs_mpi_recv)(
- void *buf,
- int count,
- MPI_Datatype type,
- int source,
- int tag,
- MPI_Comm comm,
- MPI_Status *status,
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t gs_ctx,
- gs_op_id_t *op_id) = gs_mpi_recv_post;
-
-static int gs_mpi_poll(gs_context_t gs_ctx, int millisecs)
-{
- int ret, outcount, test_count;
- struct timespec t;
- struct gs_op *op;
- struct mpi_op *mpi_op;
- struct mpi_context *ctx;
- struct gs_hash_link *link;
-
- /* get the mpi context structure from the context hashtable */
- gs_mutex_lock(&ctx_mutex);
- link = gs_hash_search(context_table, gs_ctx);
- gs_mutex_unlock(&ctx_mutex);
- if(!link)
- {
- return -EINVAL;
- }
- ctx = gs_hash_get_entry(link, struct mpi_context, link);
-
- test_count = gs_opcache_count(ctx->opcache);
-
- /* Wait for completion of operations */
- ret = MPI_Waitsome(
- test_count, ctx->reqarray, &outcount, ctx->indexarray, ctx->statusarray);
-
- /* According to MPI spec, if all requests in reqarray are null, outcount is
- * set to MPI_UNDEFINED. This happens every time we poll without any operations
- * in-progress. So we do a timedwait until the timeout passed in or until the
- * condition is signalled by the addition of an operation.
- */
- if(outcount == MPI_UNDEFINED)
- {
- gs_mutex_lock(&ctx->wait_mutex);
-
- /* Verify that no ops are posted with lock held. This prevents us from missing
- * a signal from a post. We test on the entire request array (most will be
- * MPI_REQUEST_NULL), just so that we don't miss a request getting added after
- * we got the test_count field from the opcache.
- */
- ret = MPI_Waitsome(
- ctx->array_size, ctx->reqarray, &outcount, ctx->indexarray, ctx->statusarray);
- if(outcount == MPI_UNDEFINED)
- {
- /* ok, no ops posted, so we can wait */
- ctx->ops_in_progress = 0;
-
- /* timedwait takes absolute time */
- GS_REL_MSECS_TO_ABS_TIMESPEC(millisecs, t);
- ret = gs_cond_timedwait(&ctx->wait_cond, &ctx->wait_mutex, &t);
- if(ret != 0)
- {
- /* we assume timedout or was interrupted by a signal */
- gs_mutex_unlock(&ctx->wait_mutex);
- return ret;
- }
-
- test_count = gs_opcache_count(ctx->opcache);
-
- ret = MPI_Waitsome(
- test_count, ctx->reqarray, &outcount, ctx->indexarray, ctx->statusarray);
- }
- gs_mutex_unlock(&ctx->wait_mutex);
- }
-
- if(ret == MPI_SUCCESS || ret == MPI_ERR_IN_STATUS)
- {
- int i;
- for(i = 0; i < outcount; ++i)
- {
- int mpi_errno;
-
- if(ctx->reqarray[ctx->indexarray[i]] == MPI_REQUEST_NULL)
- {
- int cancelled;
- MPI_Test_cancelled(&ctx->statusarray[i], &cancelled);
- if(cancelled)
- {
- mpi_errno = -GS_ECANCELLED;
- }
- else
- {
- mpi_errno = ctx->statusarray[i].MPI_ERROR;
- }
-
- op = gs_opcache_lookup(ctx->opcache, ctx->indexarray[i]);
-
- /* set the status for MPI calls that pass it in (gs_mpi_recv) */
- mpi_op = gs_op_entry(op, struct mpi_op, op);
- if(mpi_op->status)
- {
- memcpy((mpi_op->status), &(ctx->statusarray[i]), sizeof(MPI_Status));
- }
-
- /* call the callback */
- gs_invoke_callback(op, mpi_errno);
- remove_op(ctx, mpi_op->op_id);
- }
- }
- }
- else
- {
- /* Not sure what to do with unknown MPI error */
- return ret;
- }
-
- return 0;
-}
-
-static int gs_mpi_cancel(gs_context_t gs_ctx, gs_op_id_t op_id)
-{
- uint64_t cache_id;
- int resource_id, ret;
- struct gs_op *op;
- struct mpi_op *mpi_op;
- struct gs_hash_link *link;
- struct mpi_context *ctx;
-
- gs_mutex_lock(&ctx_mutex);
- link = gs_hash_search(context_table, gs_ctx);
- gs_mutex_unlock(&ctx_mutex);
- if(!link)
- {
- return -EINVAL;
- }
- ctx = gs_hash_get_entry(link, struct mpi_context, link);
-
- cache_id = gs_id_lookup(op_id, &resource_id);
- assert(resource_id == gs_mpi_resource_id);
-
- op = gs_opcache_lookup(ctx->opcache, (int)cache_id);
- mpi_op = gs_op_entry(op, struct mpi_op, op);
-
- ret = MPI_Cancel(mpi_op->request);
- if(ret == MPI_ERR_REQUEST || ret == MPI_ERR_ARG)
- {
- return -EINVAL;
- }
- return 0;
-}
-
-static int mpi_context_compare(void *key, struct gs_hash_link *link)
-{
- struct mpi_context *mpi_ctx;
-
- mpi_ctx = gs_hash_get_entry(link, struct mpi_context, link);
- return (((gs_context_t)key) == (mpi_ctx->gs_ctx_ptr));
-}
-
-struct gs_resource gs_mpi_resource;
-
-int gs_mpi_init(void)
-{
- context_table = gs_hash_init(mpi_context_compare, gs_hash_64bit_hash, 1024);
- if(context_table == NULL)
- {
- return -ENOMEM;
- }
-
- gs_mpi_resource_id = gs_resource_register(&gs_mpi_resource);
-
- mpi_initialized = 1;
-
- return 0;
-}
-
-int gs_mpi_finalize(void)
-{
- mpi_initialized = 0;
-
- gs_resource_unregister(gs_mpi_resource_id);
-
- /* might want to verify that context table is empty */
- gs_hash_finalize(context_table);
-
- return 0;
-}
-
-static int gs_mpi_context_register(gs_context_t context)
-{
- int ret, i;
- struct mpi_context *ctx;
-
- ctx = malloc(sizeof(*ctx));
- if(!ctx)
- {
- return -ENOMEM;
- }
- ctx->gs_ctx_ptr = context;
-
- ctx->array_size = MPI_TESTCOUNT_MAXSIZE;
- ctx->array_count = 0;
- gs_mutex_init(&ctx->array_mutex, NULL);
-
- ret = GS_OPCACHE_INIT(struct mpi_op, op, ctx->array_size, &ctx->opcache);
- if(ret != 0)
- {
- free(ctx);
- return ret;
- }
-
- GS_OPLIST_INIT((&ctx->oplist));
- gs_mutex_init(&ctx->oplist_mutex, NULL);
- ctx->reqarray = malloc(sizeof(*ctx->reqarray) * ctx->array_size);
- if(!ctx->reqarray)
- {
- gs_opcache_destroy(ctx->opcache);
- free(ctx);
- return -ENOMEM;
- }
- /* init request array to MPI_REQUEST_NULL values */
- for(i = 0; i < ctx->array_size; ++i)
- {
- ctx->reqarray[i] = MPI_REQUEST_NULL;
- }
-
- ctx->indexarray = malloc(sizeof(*ctx->indexarray) * ctx->array_size);
- if(!ctx->indexarray)
- {
- free(ctx->reqarray);
- gs_opcache_destroy(ctx->opcache);
- free(ctx);
- return -ENOMEM;
- }
-
- ctx->statusarray = malloc(sizeof(*ctx->statusarray) * ctx->array_size);
- if(!ctx->statusarray)
- {
- free(ctx->indexarray);
- free(ctx->reqarray);
- gs_opcache_destroy(ctx->opcache);
- free(ctx);
- return -ENOMEM;
- }
-
- gs_cond_init(&ctx->wait_cond, NULL);
- ctx->ops_in_progress = 0;
-
- gs_mutex_lock(&ctx_mutex);
- gs_hash_add(context_table, ctx->gs_ctx_ptr, &ctx->link);
- gs_mutex_unlock(&ctx_mutex);
- return 0;
-}
-
-static int gs_mpi_context_unregister(gs_context_t context)
-{
- struct gs_hash_link *link;
- struct mpi_context *ctx;
- struct mpi_op *mpi_op, *tmp;
- int ret;
-
- gs_mutex_lock(&ctx_mutex);
- link = gs_hash_search_and_remove(context_table, context);
- gs_mutex_unlock(&ctx_mutex);
- if(!link)
- {
- return -EINVAL;
- }
- ctx = gs_hash_get_entry(link, struct mpi_context, link);
-
- gs_mutex_lock(&ctx->oplist_mutex);
- /* we need to cancel and cleanup all pending MPI operations */
- gs_oplist_for_each_entry_safe(mpi_op, tmp, &ctx->oplist, op)
- {
- ret = MPI_Cancel(mpi_op->request);
- if(ret == MPI_ERR_REQUEST || ret == MPI_ERR_ARG)
- {
- gs_mutex_unlock(&ctx->oplist_mutex);
- return -EINVAL;
- }
- }
-
- while(!gs_oplist_empty(&ctx->oplist))
- {
- gs_mutex_unlock(&ctx->oplist_mutex);
-
- /* wait for a 1/10 seconds for MPI ops to complete */
- gs_mpi_poll(context, 100);
-
- gs_mutex_lock(&ctx->oplist_mutex);
- }
-
- gs_mutex_unlock(&ctx->oplist_mutex);
-
- gs_cond_destroy(&ctx->wait_cond);
- free(ctx->statusarray);
- free(ctx->indexarray);
- free(ctx->reqarray);
- gs_opcache_destroy(ctx->opcache);
- free(ctx);
-
- return 0;
-}
-
-struct gs_resource gs_mpi_resource =
-{
- .resource_name = "mpi",
- .poll_context = gs_mpi_poll,
- .cancel = gs_mpi_cancel,
- .register_context = gs_mpi_context_register,
- .unregister_context = gs_mpi_context_unregister
-};
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/resources/mpi/gs-mpi.gsh b/oldcode/src/gsl/resources/mpi/gs-mpi.gsh
deleted file mode 100644
index 8c8a048..0000000
--- a/oldcode/src/gsl/resources/mpi/gs-mpi.gsh
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef __GS_MPI_GSH__
-#define __GS_MPI_GSH__
-
-#include <mpi.h>
-#include "include/gs.h"
-
-int gs_mpi_init(void);
-int gs_mpi_finalize(void);
-
-/* The return values of these functions match their blocking
- * counterparts, except that they may be negative, which indicate
- * an error during the post of the call. I.e. -ENOMEM indicates
- * malloc failed in the post. Also, the function may be cancelled
- * at some point, and to indicate that it was cancelled, a special
- * GS errno value is returned: -GS_ECANCELLED.
- */
-
-/* Matches the MPI_send call. */
-__blocking int gs_mpi_send(void *, int, MPI_Datatype, int, int, MPI_Comm);
-
-/* Matches the MPI_bsend call */
-__blocking int gs_mpi_bsend(void *, int, MPI_Datatype, int, int, MPI_Comm);
-
-/* Matches the MPI_ssend call */
-__blocking int gs_mpi_ssend(void *, int, MPI_Datatype, int, int, MPI_Comm);
-
-#include <stdint.h>
-
-/* Matches the MPI_rsend call */
-__blocking int gs_mpi_rsend(void *, int, MPI_Datatype, int, int, MPI_Comm);
-
-/* Matches the MPI_recv call */
-__blocking int gs_mpi_recv(void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status *);
-
-#endif
diff --git a/oldcode/src/gsl/resources/mpi/module.mk.in b/oldcode/src/gsl/resources/mpi/module.mk.in
deleted file mode 100644
index af78f8b..0000000
--- a/oldcode/src/gsl/resources/mpi/module.mk.in
+++ /dev/null
@@ -1,15 +0,0 @@
-DIR := resources/mpi
-
-ifneq (,$(BUILD_MPI))
-
-GSHDR += $(DIR)/gs-mpi.gsh
-
-LIBSRC += $(DIR)/gs-mpi.c
-
-MODCFLAGS_$(DIR)/gs-mpi.gsh = $(MPICFLAGS)
-MODCC_$(DIR)/gs-mpi.gsh = $(MPICC)
-
-MODCFLAGS_$(DIR)/gs-mpi.c = $(MPICFLAGS)
-MODCC_$(DIR)/gs-mpi.c = $(MPICC)
-
-endif # BUILD_MPI
diff --git a/oldcode/src/gsl/resources/mpi/test/module.mk.in b/oldcode/src/gsl/resources/mpi/test/module.mk.in
deleted file mode 100644
index 8821331..0000000
--- a/oldcode/src/gsl/resources/mpi/test/module.mk.in
+++ /dev/null
@@ -1,19 +0,0 @@
-DIR := resources/mpi/test
-
-ifneq (,$(BUILD_MPI))
-
-GSTESTSRC += $(DIR)/send-recv.gs \
- $(DIR)/pthread-compare.gs
-
-MODCFLAGS_$(DIR)/send-recv.gs = $(MPICFLAGS)
-MODLDFLAGS_$(DIR)/send-recv.gs = $(MPILDFLAGS)
-MODLIBS_$(DIR)/send-recv.gs = $(MPILIBS)
-MODCC_$(DIR)/send-recv.gs = $(MPICC)
-
-MODCFLAGS_$(DIR)/pthread-compare.gs = $(MPICFLAGS)
-MODLDFLAGS_$(DIR)/pthread-compare.gs = $(MPILDFLAGS)
-MODLIBS_$(DIR)/pthread-compare.gs = $(MPILIBS) -lpthread
-MODCC_$(DIR)/pthread-compare.gs = $(MPICC)
-
-
-endif # BUILD_MPI
diff --git a/oldcode/src/gsl/resources/mpi/test/pthread-compare.gs b/oldcode/src/gsl/resources/mpi/test/pthread-compare.gs
deleted file mode 100644
index 59da0cb..0000000
--- a/oldcode/src/gsl/resources/mpi/test/pthread-compare.gs
+++ /dev/null
@@ -1,198 +0,0 @@
-
-#include <stdio.h>
-#include <mpi.h>
-#include <pthread.h>
-#include "include/gs.h"
-#include "resources/mpi/gs-mpi.gsh"
-
-static __blocking int send_recv(int numprocs, int rank)
-{
- char buf[1024];
- char recvbuf[1024];
- MPI_Status status;
- int recvsize;
- int ret;
-
- pwait
- {
- int i;
-
- for(i = 0; i < numprocs; ++i)
- {
- pbranch
- {
- if(rank != (rank+i)%numprocs)
- {
- ret = gs_mpi_send(
- buf, 1024, MPI_CHAR, (rank+i)%numprocs, rank, MPI_COMM_WORLD);
- }
- }
- }
-
- for(i = 0; i < numprocs; ++i)
- {
- if(rank != (numprocs+(rank-i))%numprocs)
- {
- pbranch
- {
- ret = gs_mpi_recv(
- recvbuf, 1024, MPI_CHAR,
- (numprocs+(rank-i))%numprocs,
- (numprocs+(rank-i))%numprocs, MPI_COMM_WORLD, &status);
- }
- }
- }
- }
-
- return 0;
-}
-
-static int done = 0;
-static void done_cb(void *up, int ret)
-{
- done = 1;
-}
-
-struct t
-{
- int np;
- int r;
- int i;
-};
-
-static void *send_thread(void *cb)
-{
- char buff[1024];
- struct t *tpr;
- tpr = (struct t *)cb;
-
- MPI_Send(buff, 1024, MPI_CHAR, (tpr->r+tpr->i)%tpr->np, tpr->r, MPI_COMM_WORLD);
- return NULL;
-}
-
-static void *recv_thread(void *cb)
-{
- char buff[1024];
- struct t *tpr;
- tpr = (struct t *)cb;
- MPI_Status status;
-
- MPI_Recv(buff, 1024, MPI_CHAR, (tpr->np+tpr->r-tpr->i)%tpr->np, (tpr->np+tpr->r-tpr->i)%tpr->np, MPI_COMM_WORLD, &status);
- return NULL;
-}
-
-static void thread_send_recv(int numprocs, int rank)
-{
- pthread_t *send_tid, *recv_tid;
- int ret, i;
- void *val;
- struct t *tpr;
-
- send_tid = malloc(sizeof(*send_tid) * numprocs);
- recv_tid = malloc(sizeof(*recv_tid) * numprocs);
-
- for(i = 0; i < numprocs; ++i)
- {
- tpr = malloc(sizeof(*tpr));
- tpr->np = numprocs;
- tpr->r = rank;
- tpr->i = i;
-
-
- if((tpr->r+tpr->i)%tpr->np != rank)
- {
-
- ret = pthread_create(&send_tid[i], NULL, send_thread, tpr);
- if(ret != 0)
- {
- perror("pthread_create failed!\n");
- assert(ret == 0);
- }
- }
- }
-
- for(i = 0; i < numprocs; ++i)
- {
- tpr = malloc(sizeof(*tpr));
- tpr->np = numprocs;
- tpr->r = rank;
- tpr->i = i;
-
- if((tpr->np+tpr->r-tpr->i)%tpr->np != rank)
- {
- ret = pthread_create(&recv_tid[i], NULL, recv_thread, tpr);
- if(ret != 0)
- {
- perror("pthread_create failed\n");
- assert(ret == 0);
- }
- }
- }
-
- for(i = 0; i < numprocs; ++i)
- {
- if((rank+i)%numprocs != rank)
- {
- pthread_join(send_tid[i], &val);
- }
- }
-
- for(i = 0; i < numprocs; ++i)
- {
- if((numprocs+rank-i)%numprocs != rank)
- {
- pthread_join(recv_tid[i], &val);
- }
- }
-
- return;
-}
-
-
-
-int main(int argc, char *argv[])
-{
- int numprocs, rank;
- gs_op_id_t op_id;
- gs_context_t ctx;
- double t1, t2, diff, sum;
-
- MPI_Init(&argc, &argv);
-
- MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
- MPI_Comm_rank(MPI_COMM_WORLD, &rank);
-
- gs_mpi_init();
-
- gs_context_create(&ctx, 1, "mpi");
-
- t1 = MPI_Wtime();
- send_recv_post(numprocs, rank, done_cb, NULL, NULL, ctx, &op_id);
- while (done == 0)
- {
- gs_poll(ctx, 10);
- }
- t2 = MPI_Wtime();
- diff = t2 - t1;
- MPI_Allreduce(&diff, &sum, 1, MPI_DOUBLE, MPI_SUM, MPI_COMM_WORLD);
- if(rank == 0)
- {
- printf("gs avg time: %f usecs\n", (sum/numprocs));
- }
-
- t1 = MPI_Wtime();
- thread_send_recv(numprocs, rank);
- t2 = MPI_Wtime();
- diff = t2 - t1;
- MPI_Allreduce(&diff, &sum, 1, MPI_DOUBLE, MPI_SUM, MPI_COMM_WORLD);
- if(rank == 0)
- {
- printf("thread avg time: %f usecs\n", (sum/numprocs));
- }
-
- MPI_Finalize();
-
- gs_context_destroy(ctx);
- gs_mpi_finalize();
- return 0;
-}
diff --git a/oldcode/src/gsl/resources/mpi/test/send-recv.gs b/oldcode/src/gsl/resources/mpi/test/send-recv.gs
deleted file mode 100644
index 90e99e9..0000000
--- a/oldcode/src/gsl/resources/mpi/test/send-recv.gs
+++ /dev/null
@@ -1,72 +0,0 @@
-
-#include <stdio.h>
-#include "include/gs.h"
-#include "resources/mpi/gs-mpi.gsh"
-
-static __blocking int send_recv(int numprocs, int rank)
-{
- char buf[1024];
- char recvbuf[1024];
- MPI_Status status;
- int recvsize;
- int ret;
-
- sprintf(buf, "hello from %d!", rank);
-
- pwait
- {
- pbranch
- {
- ret = gs_mpi_send(
- buf, strlen(buf), MPI_CHAR, (rank+1)%numprocs, 10, MPI_COMM_WORLD);
- printf("%d: sent message to %d\n", rank, (rank+1)%numprocs);
- }
-
- pbranch
- {
- printf("%d: receiving message from %d\n", rank, (numprocs+(rank-1))%numprocs);
- ret = gs_mpi_recv(
- recvbuf, 1024, MPI_CHAR, (numprocs+(rank-1))%numprocs, 10, MPI_COMM_WORLD, &status);
- }
- }
- MPI_Get_count(&status, MPI_CHAR, &recvsize);
- printf("recvsize: %i\n", recvsize);
-
- printf("%d: received message from %d: %.*s\n", rank, (numprocs+rank-1)%numprocs, recvsize, recvbuf);
-
- return 0;
-}
-
-int done = 0;
-
-static void done_callback(void *user_ptr, int ret)
-{
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- int numprocs, rank;
- gs_op_id_t op_id;
- gs_context_t ctx;
-
- MPI_Init(&argc, &argv);
-
- MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
- MPI_Comm_rank(MPI_COMM_WORLD, &rank);
-
- gs_mpi_init();
-
- gs_context_create(&ctx, 1, "mpi");
-
- send_recv_post(numprocs, rank, done_callback, NULL, NULL, ctx, &op_id);
- while (done == 0)
- {
- gs_poll(ctx, 10);
- }
- MPI_Finalize();
-
- gs_context_destroy(ctx);
- gs_mpi_finalize();
- return 0;
-}
diff --git a/oldcode/src/gsl/resources/scheduling/gs-sched.c b/oldcode/src/gsl/resources/scheduling/gs-sched.c
deleted file mode 100644
index f1d6e63..0000000
--- a/oldcode/src/gsl/resources/scheduling/gs-sched.c
+++ /dev/null
@@ -1,186 +0,0 @@
-
-#include <errno.h>
-#include "include/gs.h"
-#include "include/gs-opcache.h"
-#include "resources/scheduling/gs-sched.h"
-
-static int gs_sched_resource_id;
-static gs_opcache_t sched_opcache;
-
-#define gs_sched_inotify(_sched, _action) \
- if(_action != GS_SCHED_ACTION_NONE) gs_sched_notify(_sched, _action)
-
-#define gs_sched_itrigger(_sched, _event) \
- if((!((_sched)->innotify)) && (_sched)->trigger) \
- { \
- gs_sched_action_t a = (_sched)->trigger(sched, _event); \
- gs_sched_inotify(sched, a); \
- }
-
-static struct gs_resource gs_sched_resource =
-{
- .resource_name = "sched",
-};
-
-int gs_sched_init(void)
-{
- int ret;
-
- GS_OPCACHE_INIT(gs_sched_id, op, 1024, &sched_opcache);
- gs_sched_resource_id = gs_resource_register(&gs_sched_resource);
-
- return 0;
-}
-
-int gs_sched_finalize(void)
-{
- gs_resource_unregister(gs_sched_resource_id);
- gs_opcache_destroy(sched_opcache);
-
- return 0;
-}
-
-gs_ret_t gs_sched_obj_wait_post(gs_sched_t *sched,
- gs_sched_id *result,
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id)
-{
- struct gs_op *op;
- if(result == NULL)
- {
- op = gs_opcache_get(sched_opcache);
- result = gs_op_entry(op, gs_sched_id, op);
- result->internal = 1;
- }
- else
- {
- result->internal = 0;
- }
-
- gs_op_clear(&result->op);
- gs_op_fill(&result->op, callback, user_ptr, hints, ctx);
-
- gs_mutex_lock(&sched->lock);
- result->rank = gs_oplist_count(&sched->opqueue);
- gs_oplist_push(&result->op, &sched->opqueue);
- gs_sched_itrigger(sched, GS_SCHED_OP_ADDED);
- gs_mutex_unlock(&sched->lock);
-
- return GS_POSTED;
-}
-gs_ret_t (* gs_sched_obj_wait)(gs_sched_t *sched,
- gs_sched_id *result,
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id) = gs_sched_obj_wait_post;
-
-
-int gs_sched_notify(gs_sched_t *sched, gs_sched_action_t action)
-{
- switch(action)
- {
- case GS_SCHED_ACTION_NONE:
- break;
- case GS_SCHED_ACTION_NOTIFY_ALL:
- gs_sched_notify_all(sched);
- break;
- case GS_SCHED_ACTION_NOTIFY_NEXT:
- gs_sched_notify_next(sched);
- break;
- default:
- return -EINVAL;
- }
- return 0;
-}
-
-int gs_sched_notify_all(gs_sched_t *sched)
-{
- struct gs_op *op;
- gs_sched_id *result;
- gs_mutex_lock(&sched->lock);
- if(gs_oplist_empty(&sched->opqueue))
- {
- gs_mutex_unlock(&sched->lock);
- return 0;
- }
- sched->innotify = 1;
- while(!gs_oplist_empty(&sched->opqueue))
- {
- op = gs_oplist_pop(&sched->opqueue);
- gs_invoke_callback(op, 0);
- result = gs_op_entry(op, gs_sched_id, op);
- if(result->internal)
- {
- gs_opcache_put(sched_opcache, op);
- }
- else
- {
- gs_op_clear(op);
- }
- }
- gs_sched_itrigger(sched, GS_SCHED_EMPTIED);
- sched->innotify = 0;
- gs_mutex_unlock(&sched->lock);
- return 0;
-}
-
-int gs_sched_notify_next(gs_sched_t *sched)
-{
- struct gs_op *op;
- gs_sched_id *result;
- gs_mutex_lock(&sched->lock);
- sched->innotify = 1;
- if(!gs_oplist_empty(&sched->opqueue))
- {
- op = gs_oplist_pop(&sched->opqueue);
- gs_invoke_callback(op, 0);
- result = gs_op_entry(op, gs_sched_id, op);
- if(result->internal)
- {
- gs_opcache_put(sched_opcache, op);
- }
- else
- {
- gs_op_clear(op);
- }
- gs_sched_itrigger(sched, GS_SCHED_OP_REMOVED);
- }
- sched->innotify = 0;
- gs_mutex_unlock(&sched->lock);
- return 0;
-}
-
-int gs_sched_notify_specific(gs_sched_t *sched, gs_sched_id *id)
-{
- gs_mutex_lock(&sched->lock);
- sched->innotify = 1;
-
- gs_oplist_del(&id->op, &sched->opqueue);
- gs_invoke_callback(&id->op, 0);
- if(id->internal)
- {
- gs_opcache_put(sched_opcache, &id->op);
- }
- else
- {
- gs_op_clear(&id->op);
- }
- gs_sched_itrigger(sched, GS_SCHED_OP_REMOVED);
- sched->innotify = 0;
- gs_mutex_unlock(&sched->lock);
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/resources/scheduling/gs-sched.gsh b/oldcode/src/gsl/resources/scheduling/gs-sched.gsh
deleted file mode 100644
index dc98ac7..0000000
--- a/oldcode/src/gsl/resources/scheduling/gs-sched.gsh
+++ /dev/null
@@ -1,79 +0,0 @@
-
-#ifndef __GS_SCHED_GSH__
-#define __GS_SCHED_GSH__
-
-#include "gs-oplist.h"
-#include "include/gs-op.h"
-
-typedef struct gs_sched_entry
-{
- int rank;
- struct gs_op op;
- int internal;
-} gs_sched_id;
-
-typedef enum
-{
- GS_SCHED_OP_ADDED,
- GS_SCHED_OP_REMOVED,
- GS_SCHED_EMPTIED
-} gs_sched_trigger_event_t;
-
-typedef enum
-{
- GS_SCHED_ACTION_NONE,
- GS_SCHED_ACTION_NOTIFY_ALL,
- GS_SCHED_ACTION_NOTIFY_NEXT
-} gs_sched_action_t;
-
-struct gs_sched;
-typedef gs_sched_action_t (*gs_sched_trigger_t)(struct gs_sched *sched, gs_sched_trigger_event_t op);
-
-typedef struct gs_sched
-{
- gs_oplist_t opqueue;
- gs_mutex_t lock;
- gs_sched_trigger_t trigger;
- int innotify;
-} gs_sched_t;
-
-#define gs_sched_reset(_sched) \
-do { \
- GS_OPLIST_INIT(&(_sched)->opqueue); \
- gs_mutex_destroy(&((_sched)->lock)); \
- gs_mutex_init(&((_sched)->lock), NULL); \
- (_sched)->trigger = NULL; \
-} while(0)
-
-#define gs_sched_set_trigger(sched, _trigger) (sched)->trigger = (_trigger);
-
-int gs_sched_notify(gs_sched_t *sched, gs_sched_action_t action);
-
-int gs_sched_notify_all(gs_sched_t *sched);
-
-int gs_sched_notify_next(gs_sched_t *sched);
-
-int gs_sched_notify_specific(gs_sched_t *sched, gs_sched_id *id);
-
-int gs_sched_get_entries(gs_sched_t *sched, int *count, gs_sched_id **entries);
-
-#define gs_sched_get_envelope(_id, _type, _member) \
- ((_type *)((char *)(_id) - (unsigned long)((&((_type *)0)->_member))))
-
-__blocking int gs_sched_obj_wait(gs_sched_t *sched, gs_sched_id *result);
-
-#define gs_sched_wait(_sched) gs_sched_obj_wait(_sched, NULL)
-
-int gs_sched_init(void);
-int gs_sched_finalize(void);
-
-#endif
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/resources/scheduling/module.mk.in b/oldcode/src/gsl/resources/scheduling/module.mk.in
deleted file mode 100644
index 01ebead..0000000
--- a/oldcode/src/gsl/resources/scheduling/module.mk.in
+++ /dev/null
@@ -1,5 +0,0 @@
-DIR := resources/scheduling
-
-GSHDR += $(DIR)/gs-sched.gsh
-
-LIBSRC += $(DIR)/gs-sched.c
diff --git a/oldcode/src/gsl/resources/scheduling/test/coalesce.gs b/oldcode/src/gsl/resources/scheduling/test/coalesce.gs
deleted file mode 100644
index 7acb6c4..0000000
--- a/oldcode/src/gsl/resources/scheduling/test/coalesce.gs
+++ /dev/null
@@ -1,113 +0,0 @@
-
-#include <stdio.h>
-#include <errno.h>
-#include "resources/scheduling/gs-sched.gsh"
-#include "resources/timer/gs-timer.gsh"
-
-static gs_sched_action_t coalesce_trigger(struct gs_sched *sched, gs_sched_trigger_event_t op)
-{
- if(gs_oplist_count(&sched->opqueue) >= 8)
- {
- return GS_SCHED_ACTION_NOTIFY_ALL;
- }
- return GS_SCHED_ACTION_NONE;
-}
-
-struct coalesce_obj
-{
- int ind;
- gs_sched_id sched_id;
-};
-
-static gs_sched_t coalesce_sched;
-static gs_sched_t sync_sched;
-
-__blocking int coalesce(struct coalesce_obj *obj);
-
-static __blocking int dostuff(void)
-{
- struct coalesce_obj obj[32];
-
- pwait
- {
- int i; /* special pwait variable gets copied at pbranch invocation */
- for(i = 0; i < 32; ++i)
- {
- pbranch
- {
- obj[i].ind = i;
- coalesce(&obj[i]);
- }
- }
- }
-
- return 0;
-}
-
-__blocking int coalesce(struct coalesce_obj *obj)
-{
- int ret;
- ret = gs_sched_obj_wait(&coalesce_sched, &obj->sched_id);
- assert(ret == 0);
- printf("coalesce wait completed for index: %d\n", obj->ind);
-
- if(obj->sched_id.rank == 0)
- {
- printf("index: %d does the sync\n", obj->ind);
- ret = gs_timer(1000);
- assert(ret == 0);
- ret = gs_sched_notify_all(&sync_sched);
- assert(ret == 0);
- }
- else
- {
- printf("index: %d waiting for sync to complete (rank=%d)\n", obj->ind, obj->sched_id.rank);
- ret = gs_sched_wait(&sync_sched);
- assert(ret == 0);
- }
-
- return 0;
-}
-
-static int done = 0;
-
-static void cb(void *up, int ret)
-{
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_context_t ctx;
-
- gs_sched_init();
- gs_timer_init();
-
- gs_context_create(&ctx, 2, "sched", "timer");
-
- gs_sched_reset(&coalesce_sched);
- gs_sched_reset(&sync_sched);
- gs_sched_set_trigger(&coalesce_sched, coalesce_trigger);
-
- dostuff_post(cb,NULL,NULL,ctx,NULL);
-
- while(!done)
- {
- gs_poll(ctx, 100);
- }
-
- gs_context_destroy(ctx);
- gs_timer_finalize();
- gs_sched_finalize();
-
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/resources/scheduling/test/limitqueue.gs b/oldcode/src/gsl/resources/scheduling/test/limitqueue.gs
deleted file mode 100644
index e91d8d9..0000000
--- a/oldcode/src/gsl/resources/scheduling/test/limitqueue.gs
+++ /dev/null
@@ -1,114 +0,0 @@
-
-#include <stdio.h>
-#include <errno.h>
-#include "resources/scheduling/gs-sched.gsh"
-#include "resources/timer/gs-timer.gsh"
-
-struct limit_obj
-{
- int ind;
- gs_sched_id sched_id;
-};
-
-static gs_sched_t limit_sched;
-
-__blocking int dolimit(struct limit_obj *obj);
-
-static __blocking int dostuff(void)
-{
- struct limit_obj obj[100];
-
- pwait
- {
- int i; /* special pwait variable gets copied at pbranch invocation */
- for(i = 0; i < 100; ++i)
- {
- pbranch
- {
- obj[i].ind = i;
- dolimit(&obj[i]);
- }
- }
- }
-
- return 0;
-}
-
-static int inprogress = 0;
-static gs_mutex_t progmut = GS_MUTEX_INITIALIZER;
-
-__blocking int dolimit(struct limit_obj *obj)
-{
- int ret;
-
- gs_mutex_lock(&progmut);
- if(inprogress > 16)
- {
- gs_mutex_unlock(&progmut);
-
- /* wait till an op finishes */
- ret = gs_sched_wait(&limit_sched);
- assert(ret == 0);
- printf("limit wait completed for index: %d\n", obj->ind);
-
- gs_mutex_lock(&progmut);
- }
-
- ++inprogress;
- gs_mutex_unlock(&progmut);
-
- /* actually do something here, and then notify the next guy */
- printf("index: %d sleeping\n", obj->ind);
- ret = gs_timer(100);
- assert(ret == 0);
-
- gs_mutex_lock(&progmut);
- --inprogress;
- gs_mutex_lock(&progmut);
-
- ret = gs_sched_notify_next(&limit_sched);
- assert(ret == 0);
-
- return 0;
-}
-
-static int done = 0;
-
-static void cb(void *up, int ret)
-{
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_context_t ctx;
-
- gs_sched_init();
- gs_timer_init();
-
- gs_context_create(&ctx, 2, "sched", "timer");
-
- gs_sched_reset(&limit_sched);
-
- dostuff_post(cb,NULL,NULL,ctx,NULL);
-
- while(!done)
- {
- gs_poll(ctx, 100);
- }
-
- gs_context_destroy(ctx);
- gs_timer_finalize();
- gs_sched_finalize();
-
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/resources/scheduling/test/module.mk.in b/oldcode/src/gsl/resources/scheduling/test/module.mk.in
deleted file mode 100644
index 6177d40..0000000
--- a/oldcode/src/gsl/resources/scheduling/test/module.mk.in
+++ /dev/null
@@ -1,7 +0,0 @@
-DIR := resources/scheduling/test
-
-GSTESTSRC += $(DIR)/coalesce.gs \
- $(DIR)/limitqueue.gs \
- $(DIR)/pthread-compare.gs
-
-MODLIBS_$(DIR)/pthread-compare.gs = -lpthread
diff --git a/oldcode/src/gsl/resources/scheduling/test/pthread-compare.gs b/oldcode/src/gsl/resources/scheduling/test/pthread-compare.gs
deleted file mode 100644
index a52e637..0000000
--- a/oldcode/src/gsl/resources/scheduling/test/pthread-compare.gs
+++ /dev/null
@@ -1,127 +0,0 @@
-
-#include <stdio.h>
-#include <errno.h>
-#include <pthread.h>
-#include "include/gs.h"
-#include "resources/scheduling/gs-sched.gsh"
-
-static pthread_cond_t cond;
-static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
-
-static gs_sched_t sched;
-
-static __blocking int sched_test(void)
-{
- struct timeval t1, t2, diff;
-
- gettimeofday(&t1, NULL);
- pwait
- {
- int i;
- for(i = 0; i < 1000; ++i)
- {
- pbranch
- {
- gs_sched_wait(&sched);
- }
- }
- }
- gettimeofday(&t2, NULL);
- diff.tv_sec = t2.tv_sec - t1.tv_sec;
- diff.tv_usec = t2.tv_usec - t1.tv_usec;
- if(t2.tv_usec < t1.tv_usec)
- {
- diff.tv_sec--;
- diff.tv_usec += 1e6;
- }
- printf("sched time: %d.%06d secs\n", (int)diff.tv_sec, (int)diff.tv_usec);
- return 0;
-}
-
-static void *thread_cb(void *up)
-{
- pthread_mutex_lock(&mutex);
- pthread_cond_wait(&cond, &mutex);
- pthread_mutex_unlock(&mutex);
-
- return NULL;
-}
-
-static void thread_test(void)
-{
- int i, ret;
- pthread_t tid[100];
- void *val;
- struct timeval t1, t2, diff;
-
- gettimeofday(&t1, NULL);
- for(i = 0; i < 100; ++i)
- {
- ret = pthread_create(&tid[i], NULL, thread_cb, NULL);
- if(ret != 0)
- {
- perror("pthread_create failed!\n");
- assert(ret == 0);
- }
-
- }
-
- pthread_mutex_lock(&mutex);
- pthread_cond_broadcast(&cond);
- pthread_mutex_unlock(&mutex);
-
- for(i = 0; i < 100; ++i)
- {
- pthread_join(tid[i], &val);
- }
- gettimeofday(&t2, NULL);
- diff.tv_sec = t2.tv_sec - t1.tv_sec;
- diff.tv_usec = t2.tv_usec - t1.tv_usec;
- if(t2.tv_usec < t1.tv_usec)
- {
- diff.tv_sec--;
- diff.tv_usec += 1e6;
- }
- printf("thread time: %d.%06d secs\n", (int)diff.tv_sec, (int)diff.tv_usec);
-}
-
-static int done = 0;
-static void donecb(void *up, int ret)
-{
- done=1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_context_t ctx;
-
- gs_sched_init();
-
- gs_context_create(&ctx, 1, "sched");
-
- gs_sched_reset(&sched);
-
- sched_test_post(donecb, NULL, NULL, ctx, NULL);
- gs_sched_notify_all(&sched);
- while(!done)
- {
- gs_poll(ctx, 100);
- }
-
- gs_context_destroy(ctx);
- gs_sched_finalize();
-
- pthread_cond_init(&cond, NULL);
- thread_test();
-
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/resources/storage/README b/oldcode/src/gsl/resources/storage/README
deleted file mode 100644
index 579a8c4..0000000
--- a/oldcode/src/gsl/resources/storage/README
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a toy resource. The main purpose is to learn GSL, try to implement
-a nonblocking interface over a blocking one, and experiment with storage
-APIs.
-
-osd-util and osd-target directories contain code taken directly from
-the OSC OSD target implementation.
diff --git a/oldcode/src/gsl/resources/storage/gs-storage.c b/oldcode/src/gsl/resources/storage/gs-storage.c
deleted file mode 100644
index 0ce1509..0000000
--- a/oldcode/src/gsl/resources/storage/gs-storage.c
+++ /dev/null
@@ -1,576 +0,0 @@
-#include <time.h>
-#include <sys/time.h>
-#include <errno.h>
-#include <unistd.h>
-#include <pthread.h>
-#include <stdio.h>
-
-#include "include/gs.h"
-#include "include/gs-op.h"
-#include "include/gs-oplist.h"
-#include "include/gs-opcache.h"
-#include "resources/storage/gs-storage.h"
-
-#include "resources/storage/osd-target/gs-osd.h"
-
-#define STORAGE_DEFAULT_OPCACHE_SIZE 1024
-
-static gs_opcache_t storage_opcache;
-static gs_oplist_t storage_oplist;
-static gs_mutex_t storage_mutex = GS_MUTEX_INITIALIZER;
-static gs_mutex_t osd_mutex = GS_MUTEX_INITIALIZER;
-
-static int gs_storage_resource_id;
-static enum progress_mode gs_storage_progress_mode = GS_STO_PROG_NONE;
-
-static struct gs_osd_device osd;
-
-struct storage_op
-{
- union {
- struct create_op{
- uint64_t requested_oid;
- uint64_t* out_oid;
- } create;
- struct remove_op{
- uint64_t oid;
- } remove;
- struct setattr_list_op{
- uint64_t oid;
- int count;
- const uint32_t* page_array;
- const uint32_t* number_array;
- const void** val_array;
- const int* len_array;
- } setattr_list;
- struct getattr_list_op{
- uint64_t oid;
- int count;
- const uint32_t* page_array;
- const uint32_t* number_array;
- void** val_array;
- int* len_array;
- } getattr_list;
-
- } u;
- int (*op_worker)(struct gs_op* op);
- gs_op_id_t op_id;
- struct gs_op op;
- int error_code;
-};
-
-/* remove_op_worker()
- *
- * removes an object
- */
-static int remove_op_worker(struct gs_op* op)
-{
- struct storage_op *sto_op;
-
- sto_op = gs_op_entry(op, struct storage_op, op);
- assert(sto_op);
-
- gs_mutex_lock(&osd_mutex);
-
- sto_op->error_code = gs_osd_remove(&osd, GS_OSD_PARTITION,
- sto_op->u.remove.oid);
-
- gs_mutex_unlock(&osd_mutex);
-
- return(1);
-}
-
-
-/* create_op_worker()
- *
- * creates an object
- */
-static int create_op_worker(struct gs_op* op)
-{
- struct storage_op *sto_op;
-
- sto_op = gs_op_entry(op, struct storage_op, op);
- assert(sto_op);
-
- gs_mutex_lock(&osd_mutex);
-
- sto_op->error_code = gs_osd_create(&osd, GS_OSD_PARTITION,
- sto_op->u.create.requested_oid,
- sto_op->u.create.out_oid);
-
- gs_mutex_unlock(&osd_mutex);
-
- return(1);
-}
-
-/* getattr_list_op_worker()
- *
- * gets multiple attributes on an object
- */
-static int getattr_list_op_worker(struct gs_op* op)
-{
- struct storage_op *sto_op;
-
- sto_op = gs_op_entry(op, struct storage_op, op);
- assert(sto_op);
-
- gs_mutex_lock(&osd_mutex);
-
- sto_op->error_code = gs_osd_getattr_list(&osd, GS_OSD_PARTITION,
- sto_op->u.getattr_list.oid,
- sto_op->u.getattr_list.count,
- sto_op->u.getattr_list.page_array,
- sto_op->u.getattr_list.number_array,
- sto_op->u.getattr_list.val_array,
- sto_op->u.getattr_list.len_array);
-
- gs_mutex_unlock(&osd_mutex);
-
- return(1);
-}
-
-/* setattr_list_op_worker()
- *
- * sets multiple attributes on an object
- */
-static int setattr_list_op_worker(struct gs_op* op)
-{
- struct storage_op *sto_op;
-
- sto_op = gs_op_entry(op, struct storage_op, op);
- assert(sto_op);
-
- gs_mutex_lock(&osd_mutex);
-
- sto_op->error_code = gs_osd_setattr_list(&osd, GS_OSD_PARTITION,
- sto_op->u.setattr_list.oid,
- sto_op->u.setattr_list.count,
- sto_op->u.setattr_list.page_array,
- sto_op->u.setattr_list.number_array,
- sto_op->u.setattr_list.val_array,
- sto_op->u.setattr_list.len_array);
-
- gs_mutex_unlock(&osd_mutex);
-
- return(1);
-}
-static void* thread_fn(void* foo)
-{
- struct gs_op* op = foo;
- struct storage_op* sto_op = gs_op_entry(op, struct storage_op, op);
-
- gs_mutex_lock(&storage_mutex);
- /* pull off of list */
- gs_oplist_del(op, &storage_oplist);
- gs_mutex_unlock(&storage_mutex);
-
- /* spin on op worker */
- while(sto_op->op_worker(op) != 1);
-
- /* done */
- gs_opcache_complete_op(storage_opcache, op, sto_op->error_code);
-
- return(NULL);
-}
-
-static int gs_storage_launch_op(struct gs_op *op, enum progress_mode mode)
-{
- int ret;
- pthread_t tid;
- pthread_attr_t attr;
-
- switch(mode)
- {
- case GS_STO_PROG_POLL:
- gs_mutex_lock(&storage_mutex);
- gs_oplist_add(op, &storage_oplist);
- gs_mutex_unlock(&storage_mutex);
- break;
- case GS_STO_PROG_THREAD_PER_OP:
- /* TODO: make this better. Right now its a free for all */
-
- /* put on the queue */
- gs_mutex_lock(&storage_mutex);
- gs_oplist_add(op, &storage_oplist);
- gs_mutex_unlock(&storage_mutex);
-
- /* launch a thread to do the work */
- /* TODO: error handling */
- ret = pthread_attr_init(&attr);
- assert(ret == 0);
- ret = pthread_attr_setdetachstate(&attr,
- PTHREAD_CREATE_DETACHED);
- assert(ret == 0);
- /* TODO: store tid in op (to help with cancelling or joining?) */
- ret = pthread_create(&tid, &attr, thread_fn, op);
- assert(ret == 0);
- pthread_attr_destroy(&attr);
-
- break;
- case GS_STO_PROG_NONE:
- return(-EINVAL);
- break;
- case GS_STO_PROG_THREAD_POOL:
- /* TODO: alert the thread pool etc. */
- /* TODO: gossip... */
- gs_mutex_lock(&storage_mutex);
- gs_oplist_add(op, &storage_oplist);
- gs_mutex_unlock(&storage_mutex);
- return(-EINVAL);
- break;
- case GS_STO_PROG_MAX:
- assert(0);
- break;
- }
-
- return(0);
-}
-
-gs_ret_t gs_storage_remove_post(
- uint64_t oid,
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id)
-{
- struct gs_op *op;
- struct storage_op *sto_op;
-
- op = gs_opcache_get(storage_opcache);
- gs_op_fill(op, callback, user_ptr, hints, ctx);
-
- sto_op = gs_op_entry(op, struct storage_op, op);
- sto_op->op_id = gs_id_gen(gs_storage_resource_id, (uint64_t)(op->cache_id));
- sto_op->u.remove.oid = oid;
- sto_op->op_worker = remove_op_worker;
-
- *op_id = sto_op->op_id;
-
- gs_storage_launch_op(op, gs_storage_progress_mode);
-
- return 0;
-}
-gs_ret_t (* gs_storage_remove)(
- uint64_t oid,
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id) = gs_storage_remove_post;
-
-
-gs_ret_t gs_storage_create_post(
- uint64_t requested_oid,
- uint64_t* out_oid,
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id)
-{
- struct gs_op *op;
- struct storage_op *sto_op;
-
- op = gs_opcache_get(storage_opcache);
- gs_op_fill(op, callback, user_ptr, hints, ctx);
-
- sto_op = gs_op_entry(op, struct storage_op, op);
- sto_op->op_id = gs_id_gen(gs_storage_resource_id, (uint64_t)(op->cache_id));
- sto_op->u.create.requested_oid = requested_oid;
- sto_op->u.create.out_oid = out_oid;
- sto_op->op_worker = create_op_worker;
-
- *op_id = sto_op->op_id;
-
- gs_storage_launch_op(op, gs_storage_progress_mode);
-
- return 0;
-}
-gs_ret_t (* gs_storage_create)(
- uint64_t requested_oid,
- uint64_t* out_oid,
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id) = gs_storage_create_post;
-
-gs_ret_t gs_storage_setattr_list_post(
- uint64_t oid,
- int count,
- const uint32_t* page_array,
- const uint32_t* number_array,
- const void** val_array,
- const int* len_array,
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id)
-{
- struct gs_op *op;
- struct storage_op *sto_op;
-
- op = gs_opcache_get(storage_opcache);
- gs_op_fill(op, callback, user_ptr, hints, ctx);
-
- sto_op = gs_op_entry(op, struct storage_op, op);
- sto_op->op_id = gs_id_gen(gs_storage_resource_id, (uint64_t)(op->cache_id));
- sto_op->u.setattr_list.oid = oid;
- sto_op->u.setattr_list.count = count;
- sto_op->u.setattr_list.page_array = page_array;
- sto_op->u.setattr_list.number_array = number_array;
- sto_op->u.setattr_list.val_array = val_array;
- sto_op->u.setattr_list.len_array = len_array;
- sto_op->op_worker = setattr_list_op_worker;
-
- *op_id = sto_op->op_id;
-
- gs_storage_launch_op(op, gs_storage_progress_mode);
-
- return(0);
-}
-gs_ret_t (* gs_storage_setattr_list)(
- uint64_t oid,
- int count,
- const uint32_t* page_array,
- const uint32_t* number_array,
- const void** val_array,
- const int* len_array,
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id) = gs_storage_setattr_list_post;
-
-gs_ret_t gs_storage_getattr_list_post(
- uint64_t oid,
- int count,
- const uint32_t* page_array,
- const uint32_t* number_array,
- void** val_array,
- int* len_array,
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id)
-{
- struct gs_op *op;
- struct storage_op *sto_op;
-
- op = gs_opcache_get(storage_opcache);
- gs_op_fill(op, callback, user_ptr, hints, ctx);
-
- sto_op = gs_op_entry(op, struct storage_op, op);
- sto_op->op_id = gs_id_gen(gs_storage_resource_id, (uint64_t)(op->cache_id));
- sto_op->u.getattr_list.oid = oid;
- sto_op->u.getattr_list.count = count;
- sto_op->u.getattr_list.page_array = page_array;
- sto_op->u.getattr_list.number_array = number_array;
- sto_op->u.getattr_list.val_array = val_array;
- sto_op->u.getattr_list.len_array = len_array;
- sto_op->op_worker = getattr_list_op_worker;
-
- *op_id = sto_op->op_id;
-
- gs_storage_launch_op(op, gs_storage_progress_mode);
-
- return(0);
-}
-gs_ret_t (* gs_storage_getattr_list)(
- uint64_t oid,
- int count,
- const uint32_t* page_array,
- const uint32_t* number_array,
- void** val_array,
- int* len_array,
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id) = gs_storage_getattr_list_post;
-
-
-static int gs_storage_poll(gs_context_t context, int millisecs)
-{
- struct gs_op *gop;
- struct storage_op *sto_op;
- struct timespec ts_sleep;
- int ret;
-
- /* NOTE: just servicing one op per call right now */
-
- /* NOTE: poll doesn't need locking, because it is not used in the
- * threaded modes
- */
-
- /* gs_mutex_lock(&storage_mutex); */
-
- /* TODO: decouple locking for op list from servicing of operations so
- * that multithreaded apps can post while servicing happens
- * simultaneously
- */
- gop = gs_oplist_pop(&storage_oplist);
- if(!gop)
- {
- /* sleep */
- /* TODO: this needs to be something that can be interrupted if
- * something is posted
- */
- ts_sleep.tv_sec = (int)(millisecs / 1e3);
- ts_sleep.tv_nsec = (millisecs % 1000) * 1e6;
- nanosleep(&ts_sleep, NULL);
- /* gs_mutex_unlock(&storage_mutex); */
- return(0);
- }
-
- sto_op = gs_op_entry(gop, struct storage_op, op);
-
- ret = sto_op->op_worker(gop);
- if(ret == 1)
- {
- /* done */
- gs_opcache_complete_op(storage_opcache, gop, sto_op->error_code);
- }
- else
- {
- assert(ret == 0); /* only 0 and 1 allowed? */
- /* not done */
- gs_oplist_add(gop, &storage_oplist);
- }
-
- /* gs_mutex_unlock(&storage_mutex); */
-
- return 0;
-}
-
-/* TODO: does this have to handle the case of the op already having
- * disappeared, or does the GSL engine protect against that?
- */
-static int gs_storage_cancel(gs_context_t gs_ctx, gs_op_id_t op_id)
-{
- int cache_id, resource_id;
- gs_mutex_lock(&storage_mutex);
- struct gs_op *op;
- struct storage_op *sto_op;
-
- cache_id = gs_id_lookup(op_id, &resource_id);
- assert(resource_id == gs_storage_resource_id);
-
- op = gs_opcache_lookup(storage_opcache, (int)cache_id);
- sto_op = gs_op_entry(op, struct storage_op, op);
-#if 0
- gs_oplist_del(op, &storage_oplist);
- gs_opcache_put(storage_opcache, op);
-#endif
-
- gs_mutex_unlock(&storage_mutex);
-
- return 0;
-}
-
-struct gs_resource gs_storage_resource =
-{
- .resource_name = "storage",
- .poll_context = gs_storage_poll,
- .cancel = gs_storage_cancel
-};
-
-int gs_storage_init(enum progress_mode mode, const char* path)
-{
- int ret = 0;
- uint64_t check_partition;
- int outcount;
-
- /* initialize osd */
- ret = gs_osd_open(path, &osd);
- if(ret < 0)
- {
- return(ret);
- }
-
- /* is there a partition yet? */
- ret = gs_osd_list_partitions(&osd, &check_partition, 1, &outcount);
- if(ret < 0)
- {
- gs_osd_close(&osd);
- return(ret);
- }
-
- /* did we find a partition? */
- if(outcount == 1)
- {
- /* a partition is there, but it doesn't match what we expected */
- if(check_partition != GS_OSD_PARTITION)
- {
- gs_osd_close(&osd);
- return(-ENODEV);
- }
- }
- else
- {
- ret = gs_osd_create_partition(&osd, GS_OSD_PARTITION);
- if(ret < 0)
- {
- gs_osd_close(&osd);
- return(ret);
- }
- }
-
- GS_OPLIST_INIT(&storage_oplist);
-
- ret = GS_OPCACHE_INIT(struct storage_op, op, STORAGE_DEFAULT_OPCACHE_SIZE, &storage_opcache);
- if(ret < 0)
- {
- gs_osd_close(&osd);
- return(ret);
- }
-
- assert(mode > GS_STO_PROG_NONE && mode < GS_STO_PROG_MAX);
-
- /* modify poll function depending on requested mode */
- switch(mode)
- {
- case GS_STO_PROG_POLL:
- gs_storage_resource.poll_context = gs_storage_poll;
- break;
- case GS_STO_PROG_THREAD_PER_OP:
- case GS_STO_PROG_THREAD_POOL:
- gs_storage_resource.poll_context = NULL;
- break;
- case GS_STO_PROG_NONE:
- case GS_STO_PROG_MAX:
- return(-EINVAL);
- }
-
- gs_storage_resource_id = gs_resource_register(&gs_storage_resource);
- if(gs_storage_resource_id < 0)
- {
- gs_opcache_destroy(storage_opcache);
- gs_osd_close(&osd);
- return(gs_storage_resource_id);
- }
- gs_storage_progress_mode = mode;
-
- return ret;
-}
-
-int gs_storage_finalize(void)
-{
- gs_resource_unregister(gs_storage_resource_id);
- gs_opcache_destroy(storage_opcache);
- gs_osd_close(&osd);
-
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/resources/storage/gs-storage.gsh b/oldcode/src/gsl/resources/storage/gs-storage.gsh
deleted file mode 100644
index 8f18285..0000000
--- a/oldcode/src/gsl/resources/storage/gs-storage.gsh
+++ /dev/null
@@ -1,105 +0,0 @@
-#ifndef __GS_STORAGE_GSH__
-#define __GS_STORAGE_GSH__
-
-/** \defgroup GS storage
- *
- * This is a prototype Grayskull object storage resource. The API described
- * here is a local interface, to be called by higher level components
- * within Grayskull. It could be extended using GUM to provide basic remote
- * access to objects, in which case the API will need to include an OSD or
- * node identifier for each function.
- *
- * Notes:
- * - A separate interface will probably be provided to expose lower level
- * functionality for inter-object mirroring and failure recovery. See
- * mirror protocol proposal on wiki.
- * - All functions return 0 on success or -errno on failure unless otherwise
- * noted
- * .
- * @{
- */
-
-/** \file
- * Declarations for Grayskull object storage resource.
- */
-
-#include "include/gs.h"
-
-/** modes of making progress on posted storage operations */
-enum progress_mode
-{
- GS_STO_PROG_NONE = 0, /**< invalid mode */
- GS_STO_PROG_POLL, /**< requires active polling by client */
- GS_STO_PROG_THREAD_PER_OP, /**< spawns new thread for each op */
- GS_STO_PROG_THREAD_POOL, /**< uses pre-allocated thread pool */
- GS_STO_PROG_MAX, /**< invalid mode */
-};
-
-#define GS_STO_MIN_ID 0x10001LLU /**< minimum valid object identifier value */
-#define GS_STO_MIN_ATTRPG 0x10000 /**< min valid attribute page */
-#define GS_STO_MAX_ATTRPG 0x1FFFFFFF /**< max valid attribute page */
-#define GS_STO_MIN_ATTRNUM 0x0 /**< min valid attribute number */
-#define GS_STO_MAX_ATTRNUM 0xFFFFFFFE /**< max valid attribute number */
-
-/**
- * Initializes object storage interface
- */
-int gs_storage_init(
- enum progress_mode mode, /**< progress mode */
- const char* path /**< local path to use for storing data,
- will be created if needed */
-);
-
-/**
- * Shuts down object interface
- */
-int gs_storage_finalize(void);
-
-/**
- * Creates a new object
- * \return 0 on success, -errno on failure
- */
-__blocking int gs_storage_create(
- uint64_t requested_oid, /**< requested identifier, a value of zero
- allows OSD to choose. */
- uint64_t* out_oid /**< assigned identifier */
-);
-
-/**
- * Removes an object
- * \return 0 on success, -errno on failure
- */
-__blocking int gs_storage_remove(
- uint64_t oid); /**< identifier of object to remove */
-
-/**
- * Retreives an array of 1 or more attributes on a single object
- * \return 0 on success, -errno if any attributes fail
- */
-__blocking int gs_storage_getattr_list( uint64_t oid, int count, const uint32_t* page_array, const uint32_t* number_array, void** val_array, int* len_array);
-
-/**
- * Sets an array of 1 or more attributes on a single object
- * \return 0 on success, -errno if any attributes fail
- */
-__blocking int gs_storage_setattr_list(
- uint64_t oid, /**< object to operate on */
- int count, /**< number of attrs to set */
- const uint32_t* page_array, /**< array of attr pages */
- const uint32_t* number_array, /**< array of attr numbers */
- const void** val_array, /**< array of attr values */
- const int* len_array /**< array of attr value lengths */
-);
-
-#endif
-
-/* @} */
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/resources/storage/module.mk.in b/oldcode/src/gsl/resources/storage/module.mk.in
deleted file mode 100644
index 6580434..0000000
--- a/oldcode/src/gsl/resources/storage/module.mk.in
+++ /dev/null
@@ -1,6 +0,0 @@
-DIR := resources/storage
-
-GSHDR += $(DIR)/gs-storage.gsh
-ifneq (,$(BUILD_OSD))
-LIBSRC += $(DIR)/gs-storage.c
-endif
diff --git a/oldcode/src/gsl/resources/storage/osd-target/COPYING b/oldcode/src/gsl/resources/storage/osd-target/COPYING
deleted file mode 100644
index d511905..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/COPYING
+++ /dev/null
@@ -1,339 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
diff --git a/oldcode/src/gsl/resources/storage/osd-target/Makefile b/oldcode/src/gsl/resources/storage/osd-target/Makefile
deleted file mode 100644
index b48f905..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/Makefile
+++ /dev/null
@@ -1,115 +0,0 @@
-#
-# OSD target makefile
-#
-
-SRC := attr.c db.c obj.c osd-schema.c osd.c cdb.c osd-sense.c list-entry.c
-SRC += osd-schema.c coll.c mtq.c
-INC := attr.h db.h obj.h osd-types.h osd.h cdb.h list-entry.h target-sense.h
-INC += coll.h mtq.c
-DEP := .depend
-OBJ := $(SRC:.c=.o)
-TESTDIR := ./tests/
-UTILDIR := ../osd-util/
-STGTDIR := ../tgt/
-INITDIR := ../osd-initiator/
-OSDTARGETLIB := libosdtgt.a
-
-STGTLIB := ../stgt/libstgt.a
-UTILLIB := ../osd-util/libosdutil.a
-
-IB_HW_OF_LIBS= -L/usr/local/openib-iser/lib
-
-UNAME= $(shell uname)
-ifeq (FreeBSD,$(UNAME))
-LIBS += -L/usr/local/lib/
-CFLAGS += -I/usr/local/include -I$(STGTDIR)/usr/bsd -I$(STGTDIR)/usr
-CFLAGS += -D__MAKE_BSD_BUILD__
-endif
-
-LIBS += -lm -lcrypto -lsqlite3 -laio -lavahi-core -lavahi-common \
- $(IB_HW_OF_LIBS) -libverbs -lrdmacm
-
--include ../Makedefs
-
-CC := gcc
-CPP_M := -MM
-LD := $(CC)
-COPTS := $(OPT)
-COPTS += -fPIC -foptimize-sibling-calls -D_GNU_SOURCE
-CWARN := -Wall -W -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual \
- -Wbad-function-cast -Wundef -Wmissing-prototypes \
- -Wmissing-declarations -Wnested-externs
-CFLAGS += $(COPTS) $(CWARN) -I.. -Wno-unused -I../osd-util
-
-ifeq ($(PVFS_OSD_INTEGRATED),1)
-CFLAGS += -DPVFS_OSD_INTEGRATED
-endif
-
-# To enable the use of tick tracing inside OSD target library. It is
-# driven by tgt, and we must pick up the header files from it. When changing
-# TICK_TRACE symbols, be sure to compile in stgt to update ttrace_def.h
-# first, then build osd-target, then go back to stgt to link the binary.
-#CFLAGS += -DTICK_TRACING -include ../stgt-git/usr/ttrace.h
-
-.PHONY: UTIL TESTS STGT
-
-.SUFFIXES: .c .o .i
-
-all :: $(OSDTARGETLIB)
-
-# Need -whole-archive this to get the constructors for the various device
-# types. Another way would be to force a ref to an object in the file
-# somehow, or just use shared libs.
-tgtd: $(STGTLIB) $(OSDTARGETLIB) $(UTILLIB)
- $(LD) -o $@ -Wl,-whole-archive $(STGTLIB) -Wl,-no-whole-archive \
- $(OSDTARGETLIB) $(UTILLIB) $(LIBS)
-
-TESTS: $(UTILLIB) $(OSDTARGETLIB)
- make -C $(TESTDIR)
-
-$(OSDTARGETLIB): $(OBJ)
- ar cr $@ $^
-
-$(STGTLIB): STGT
- make -C $(STGTDIR)
-
-$(UTILLIB): UTIL
- make -C $(UTILDIR)
-
-%.o: %.c Makefile
- $(CC) $(CFLAGS) -c $< -o $@
-
-osd-schema.c: osd.schema
- @( echo "const char osd_schema[] =";\
- sed 's/^/"/; s/$$/\\n"/' < $< ;\
- echo ";" ) > $@
-
-#depend
-ifneq (clean, $(MAKECMDGOALS))
--include $(DEP)
-endif
-
-all :: $(DEP)
-$(DEP) : osd-schema.c
- @$(CC) $(CPP_M) $(CFLAGS) $(SRC) > $(DEP)
-
-clean:
- rm -f tgtd $(OSDTARGETLIB) $(OBJ) $(DEP) osd-schema.c
-
-tags: FORCE osd-schema.c
- ctags -R $(SRC) $(INC) $(TESTDIR) $(UTILDIR) $(INITDIR) osd-schema.c
-
-FORCE:;
-
-# distribution tarball
-.PHONY: dist
-MV := osd-target
-MVD := $(MV)-$(shell date +%Y%m%d)
-dist:
- rm -rf $(MV) $(MVD)
- mkdir $(MVD)
- svn list -R | grep -v '/$$' | rsync --files-from=/dev/stdin ./ $(MVD)/
- ln -s $(MVD) $(MV)
- tar cf - $(MV) $(MVD) | bzip2 -9c > $(MVD).tar.bz2
- rm -rf $(MV) $(MVD)
-
diff --git a/oldcode/src/gsl/resources/storage/osd-target/README b/oldcode/src/gsl/resources/storage/osd-target/README
deleted file mode 100644
index 9513496..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/README
+++ /dev/null
@@ -1,125 +0,0 @@
-Documentation for OSD Target library.
-
-Copyright (C) 2007 Dennis Dalessandro (dennis(a)osc.edu)
-Copyright (C) 2007 Ananth Devulapalli (ananth(a)osc.edu)
-Copyright (C) 2007 Pete Wyckoff (pw(a)osc.edu)
-
-This directory contains code to build an OSD command processor that uses
-SQLite as its attribute storage, and a normal file system (such as ext3)
-as its data storage. It is purely userspace code. It needs one other
-major component, namely the SCSI transport and processing. This is
-provided by stgt, and this OSD Target code is a library that is linked
-into stgt's executable.
-
-Major components:
-
- cdb.c - Main entry point via osdemu_cmd_submit, and parsing for
- all commands and optional setattr and getattr CDB sections
- osd.c - One function for every command, plus some helpers.
-
- obj.c - Object table manipulation
- attr.c - Attribute manipulation back-end
-
- coll.c - Collection manipulation
- db.c - SQLite database open, close, query, error handling
-
- list-entry.c - Pack attributes in list format, used in a few places.
- mtq.c - Multitable queries, whenever more than one table is
- searched
- osd.schema - The schema used to initialize the SQLite database,
- converted into a C file during the build process.
- osd-sense.c - Generating sense (error) return values.
-
- patch/ - Changes to tgt to allow it to use this osd target library.
-
-
-Building
---------
-
-This requires the osd-util library, and expects it to be in ../osd-util/
-by default. Edit $(UTILDIR) in the Makefile if not.
-
-Type "make" to build the osd target library, libosdtgt.a.
-
-If you have a file called ../Makedefs, it will be used during
-the build to set variables in make. A couple of useful lines to
-put in that file are:
- OPT := -g
-or
- OPT := -O3 -DNDEBUG
-
-
-Building a SCSI target
-----------------------
-
-To build a full iSCSI target that uses OSD, you'll need to get
-the tgt code from its git repository, patch it, then build it
-to link against this OSD target library.
-
-The tgt git repository is:
-
- git://git.kernel.org/pub/scm/linux/kernel/git/tomo/tgt.git
-
-It is browseable at:
-
- http://git.kernel.org/?p=linux/kernel/git/tomo/tgt.git
-
-This library has been tested with commit
-448fe4bd7a8fce622f9efab05a3251a297a1a815 from 13 Dec 2007.
-
-0. Assuming you will put all of osd-target, osd-util, and tgt in one
- directory, else adjust paths.
-
-1. Set up for debugging (optional)
-
- echo "OPT := -g" > Makedefs
-
-2. Build osd-util
-
- cd osd-util
- make
- cd ..
-
-3. Build osd-target
-
- cd osd-target
- make
- cd ..
-
-4. Download tgt.
-
- git clone git://git.kernel.org/pub/scm/linux/kernel/git/tomo/tgt.git
-
-5. Merge handy patches for OSD support from OSC. These will use the
- library in osd-target
-
- cd tgt
- git remote add osc git://git.osc.edu/tgt.git
- git remote update
- git merge osc/osd
- cd usr
- make
-
-
-Running tgt with OSD target
----------------------------
-
-The patches you applied above build the target with OSD support. They
-also make a few changes to tgt to make it easier to deal with for
-testing scenarios.
-
-It will create or reuse a directory /tmp/tgt-$(id -un) where
-$(id -un) is your username. It sends logging to stderr, not
-to syslog. A convenient way to run it is:
-
- ./tgtd -d 9 -f
-
-If you prefer to run it in the background, do not use -f.
-If you prefer no debugging messages, do not use -d 9.
-You can redirect debug output to a file too.
-
-Now, point an iSCSI initiator at this machine, port 3260, and
-issue OSD commands.
-
-
-# vim: set tw=72 :
diff --git a/oldcode/src/gsl/resources/storage/osd-target/README2 b/oldcode/src/gsl/resources/storage/osd-target/README2
deleted file mode 100644
index 486d5f9..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/README2
+++ /dev/null
@@ -1,27 +0,0 @@
-Documentation for OSD Utilities library
-
-Copyright (C) 2007 Dennis Dalessandro (dennis(a)osc.edu)
-Copyright (C) 2007 Ananth Devulapalli (ananth(a)osc.edu)
-Copyright (C) 2007 Pete Wyckoff (pw(a)osc.edu)
-
-This little library includes code needed by both the OSD Initiator
-library and the OSD Target library. Just type "make" to build
-the library of exactly one file.
-
-
-Contents
---------
-
-bsg.h - temporary header file for /dev/bsg character interface until
-picked up by glibc-headers. Used by the initiator for all
-communications and by the target for some test programs.
-
-osd-defs.h - handy defines, including values for the OSD command
-types and various parameters, mostly from the specification.
-
-osd-sense.h - handy defines related to sense errors
-
-osd-util.h osd-util.c - grab bag of utilities for error message and
-debug printing, memory allocation, statistics, endian conversion, etc.
-
-# vim: set tw=72 :
diff --git a/oldcode/src/gsl/resources/storage/osd-target/attr.c b/oldcode/src/gsl/resources/storage/osd-target/attr.c
deleted file mode 100644
index 09969f4..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/attr.c
+++ /dev/null
@@ -1,701 +0,0 @@
-/*
- * Attributes.
- *
- * Copyright (C) 2007 OSD Team <pvfs-osd(a)osc.edu>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include <stdlib.h>
-#include <stdio.h>
-#include <sqlite3.h>
-#include <errno.h>
-#include <string.h>
-#include <assert.h>
-#include <sys/stat.h>
-
-#include "osd-types.h"
-#include "osd-defs.h"
-#include "db.h"
-#include "attr.h"
-#include "osd-util.h"
-#include "list-entry.h"
-
-/* attr table stores all the attributes of all the objects in the OSD */
-
-/* 40 bytes including terminating NUL */
-static const char unid_page[ATTR_PAGE_ID_LEN] =
-" unidentified attributes page ";
-
-static const char *attr_tab_name = "attr";
-struct attr_tab {
- char *name; /* name of the table */
- sqlite3_stmt *setattr; /* set an attr by inserting row */
- sqlite3_stmt *delattr; /* delete an attr */
- sqlite3_stmt *delall; /* delete all attr for an object */
- sqlite3_stmt *getattr; /* get an attr */
- sqlite3_stmt *getval; /* get attribute value */
- sqlite3_stmt *pgaslst; /* get page as list */
- sqlite3_stmt *forallpg; /* for all pages get an attribute */
- sqlite3_stmt *getall; /* get all attributes of an object */
- sqlite3_stmt *dirpage; /* get directory page of object's attr */
-};
-
-
-/*
- * returns:
- * -ENOMEM: out of memory
- * -EINVAL: invalid args
- * -EIO: if any prepare statement fails
- * OSD_OK: success
- */
-int attr_initialize(struct db_context *dbc)
-{
- int ret = 0;
- int sqlret = 0;
- char SQL[MAXSQLEN];
-
- if (dbc == NULL || dbc->db == NULL) {
- ret = -EINVAL;
- goto out;
- }
-
- if (dbc->attr != NULL) {
- if (strcmp(dbc->attr->name, attr_tab_name) != 0) {
- ret = -EINVAL;
- goto out;
- } else {
- attr_finalize(dbc);
- }
- }
-
- dbc->attr = Calloc(1, sizeof(*dbc->attr));
- if (!dbc->attr) {
- ret = -ENOMEM;
- goto out;
- }
-
- dbc->attr->name = strdup(attr_tab_name);
- if (!dbc->attr->name) {
- ret = -ENOMEM;
- goto out;
- }
-
- sprintf(SQL, "INSERT OR REPLACE INTO %s VALUES (?, ?, ?, ?, ?);",
- dbc->attr->name);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->attr->setattr, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_setattr;
-
- sprintf(SQL, "DELETE FROM %s WHERE pid = ? AND oid = ? AND page = ? "
- " AND number = ?;", dbc->attr->name);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->attr->delattr, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_delattr;
-
- sprintf(SQL, "DELETE FROM %s WHERE pid = ? AND oid = ?;",
- dbc->attr->name);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->attr->delall, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_delall;
-
- sprintf(SQL, "SELECT page, number, value FROM %s WHERE pid = ? AND "
- " oid = ? AND page = ? AND number = ?;", dbc->attr->name);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->attr->getattr, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_getattr;
-
- sprintf(SQL, "SELECT value FROM %s WHERE pid = ? AND oid = ? AND "
- " page = ? AND number = ?;", dbc->attr->name);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->attr->getval, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_getval;
-
- sprintf(SQL, "SELECT page, number, value FROM %s WHERE pid = ? AND "
- " oid = ? AND page = ?;", dbc->attr->name);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->attr->pgaslst, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_pgaslst;
-
- sprintf(SQL, "SELECT page, number, value FROM %s WHERE pid = ? AND "
- " oid = ? AND number = ?;", dbc->attr->name);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->attr->forallpg, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_forallpg;
-
- sprintf(SQL, "SELECT page, number, value FROM %s WHERE pid = ? AND "
- "oid = ?;", dbc->attr->name);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->attr->getall, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_getall;
-
- /*
- * We need to compute the directory page since we don't maintain any.
- * This SQL statement is inefficient. Its complexity is O(N) where
- * 'N' is the total number of defined attributes of the object.
- * Further the statement executes 3 iterations over all the
- * attributes of the object, hence the constant term is also
- * significant. There is some advantage in adding an index on
- * (pid,oid,number) but that will hit performance of insertions and
- * deletions which are more critical than dirpage.
- */
- sprintf(SQL,
- " SELECT page, @uip FROM %s"
- " WHERE pid = @pid AND oid = @oid GROUP BY page "
- " EXCEPT "
- " SELECT page, @uip FROM attr "
- " WHERE pid = @pid AND oid = @oid AND number = 0 "
- " UNION ALL "
- " SELECT page, value FROM attr "
- " WHERE pid = @pid AND oid = @oid AND number = 0;",
- dbc->attr->name);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->attr->dirpage, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_dirpage;
-
- ret = OSD_OK; /* success */
- goto out;
-
-out_finalize_dirpage:
- db_sqfinalize(dbc->db, dbc->attr->dirpage, SQL);
- SQL[0] = '\0';
-out_finalize_getall:
- db_sqfinalize(dbc->db, dbc->attr->getall, SQL);
- SQL[0] = '\0';
-out_finalize_forallpg:
- db_sqfinalize(dbc->db, dbc->attr->forallpg, SQL);
- SQL[0] = '\0';
-out_finalize_pgaslst:
- db_sqfinalize(dbc->db, dbc->attr->pgaslst, SQL);
- SQL[0] = '\0';
-out_finalize_getval:
- db_sqfinalize(dbc->db, dbc->attr->getval, SQL);
- SQL[0] = '\0';
-out_finalize_getattr:
- db_sqfinalize(dbc->db, dbc->attr->getattr, SQL);
- SQL[0] = '\0';
-out_finalize_delall:
- db_sqfinalize(dbc->db, dbc->attr->delall, SQL);
- SQL[0] = '\0';
-out_finalize_delattr:
- db_sqfinalize(dbc->db, dbc->attr->delattr, SQL);
- SQL[0] = '\0';
-out_finalize_setattr:
- db_sqfinalize(dbc->db, dbc->attr->setattr, SQL);
- ret = -EIO;
-out:
- return ret;
-}
-
-
-int attr_finalize(struct db_context *dbc)
-{
- if (!dbc || !dbc->attr)
- return OSD_ERROR;
-
- /* finalize statements; ignore return values */
- sqlite3_finalize(dbc->attr->setattr);
- sqlite3_finalize(dbc->attr->delattr);
- sqlite3_finalize(dbc->attr->delall);
- sqlite3_finalize(dbc->attr->getattr);
- sqlite3_finalize(dbc->attr->getval);
- sqlite3_finalize(dbc->attr->pgaslst);
- sqlite3_finalize(dbc->attr->forallpg);
- sqlite3_finalize(dbc->attr->getall);
- sqlite3_finalize(dbc->attr->dirpage);
- free(dbc->attr->name);
- free(dbc->attr);
- dbc->attr = NULL;
-
- return OSD_OK;
-}
-
-
-const char *attr_getname(struct db_context *dbc)
-{
- if (dbc == NULL || dbc->attr == NULL)
- return NULL;
- return dbc->attr->name;
-}
-
-
-/*
- * Note: Current SQLITE INSERT syntax does not support bulk inserts in a
- * single INSERT SQL statement. Therefore this function needs to be called
- * for each table insert.
- *
- * returns:
- * -EINVAL: invalid arg
- * OSD_ERROR: some other error
- * OSD_OK: success
- */
-int attr_set_attr(struct db_context *dbc, uint64_t pid, uint64_t oid,
- uint32_t page, uint32_t number, const void *val,
- uint16_t len)
-{
- int ret = 0;
- sqlite3_stmt *stmt = NULL;
-
- assert(dbc && dbc->db && dbc->attr && dbc->attr->setattr);
-
-repeat:
- ret = 0;
- stmt = dbc->attr->setattr;
- ret |= sqlite3_bind_int64(stmt, 1, pid);
- ret |= sqlite3_bind_int64(stmt, 2, oid);
- ret |= sqlite3_bind_int(stmt, 3, page);
- ret |= sqlite3_bind_int(stmt, 4, number);
- ret |= sqlite3_bind_blob(stmt, 5, val, len, SQLITE_TRANSIENT);
- ret = db_exec_dms(dbc, stmt, ret, __func__);
- if (ret == OSD_REPEAT)
- goto repeat;
-
- return ret;
-}
-
-
-/*
- * returns:
- * -EINVAL: invalid arg
- * OSD_ERROR: some other error
- * OSD_OK: success
- */
-int attr_delete_attr(struct db_context *dbc, uint64_t pid, uint64_t oid,
- uint32_t page, uint32_t number)
-{
- int ret = 0;
- sqlite3_stmt *stmt = NULL;
-
- assert(dbc && dbc->db && dbc->attr && dbc->attr->delattr);
-
-repeat:
- ret = 0;
- stmt = dbc->attr->delattr;
- ret |= sqlite3_bind_int64(stmt, 1, pid);
- ret |= sqlite3_bind_int64(stmt, 2, oid);
- ret |= sqlite3_bind_int(stmt, 3, page);
- ret |= sqlite3_bind_int(stmt, 4, number);
- ret = db_exec_dms(dbc, stmt, ret, __func__);
- if (ret == OSD_REPEAT)
- goto repeat;
-
- return ret;
-}
-
-
-/*
- * returns:
- * -EINVAL: invalid arg
- * OSD_ERROR: some other error
- * OSD_OK: success
- */
-int attr_delete_all(struct db_context *dbc, uint64_t pid, uint64_t oid)
-{
- int ret = 0;
-
- assert(dbc && dbc->db && dbc->attr && dbc->attr->delall);
-
-repeat:
- ret = 0;
- ret |= sqlite3_bind_int64(dbc->attr->delall, 1, pid);
- ret |= sqlite3_bind_int64(dbc->attr->delall, 2, oid);
- ret = db_exec_dms(dbc, dbc->attr->delall, ret, __func__);
- if (ret == OSD_REPEAT)
- goto repeat;
-
- return ret;
-}
-
-
-/*
- * Gather the results into list_entry format. Each row has page, number, len,
- * value. Look at queries in attr_get_attr attr_get_attr_page. See page 163.
- *
- * -EINVAL: invalid argument
- * -EOVERFLOW: error, if not enough room to even start the entry
- * >0: success. returns number of bytes copied into outbuf.
- */
-static int attr_gather_attr(sqlite3_stmt *stmt, void *buf, uint32_t buflen,
- uint64_t oid, uint8_t listfmt)
-{
- uint32_t page = sqlite3_column_int(stmt, 0);
- uint32_t number = sqlite3_column_int(stmt, 1);
- uint16_t len = sqlite3_column_bytes(stmt, 2);
- const void *val = sqlite3_column_blob(stmt, 2);
-
- if (listfmt == RTRVD_SET_ATTR_LIST) {
- return le_pack_attr(buf, buflen, page, number, len, val);
- } else if (listfmt == RTRVD_CREATE_MULTIOBJ_LIST) {
- return le_multiobj_pack_attr(buf, buflen, oid, page, number,
- len, val);
- } else {
- return -EINVAL;
- }
-}
-
-
-/*
- * Gather attr val. Conservative implementation: if not enough space for the
- * attr then return err.
- * -EINVAL: error
- * >0: success. returns number of bytes copied into buf.
- */
-static int attr_gather_val(sqlite3_stmt *stmt, void *buf, uint32_t buflen)
-{
- uint16_t len = sqlite3_column_bytes(stmt, 0);
- const void *val = sqlite3_column_blob(stmt, 0);
-
- if (buflen < len)
- return -EINVAL;
-
- memcpy(buf, val, len);
- return len;
-}
-
-
-/*
- * packs contents of an attribute of dir page. Note that even though the
- * query selects 'page', the resultant rows are actually rows 'numbers'
- * within directory page.
- *
- * returns:
- * -EINVAL: invalid argument, or length(attribute value) != 40
- * -EOVERFLOW: outlen too small
- * >0: success, number of bytes copied into outdata
- */
-static int attr_gather_dir_page(sqlite3_stmt *stmt, uint32_t outlen,
- void *outdata, uint64_t oid, uint32_t page,
- uint8_t listfmt)
-{
- uint32_t number = sqlite3_column_int(stmt, 0);
- uint16_t len = sqlite3_column_bytes(stmt, 1);
- const void *val = sqlite3_column_blob(stmt, 1);
-
- if (len != ATTR_PAGE_ID_LEN)
- return -EINVAL;
-
- if (listfmt == RTRVD_SET_ATTR_LIST) {
- return le_pack_attr(outdata, outlen, page, number, len, val);
- } else if (listfmt == RTRVD_CREATE_MULTIOBJ_LIST) {
- return le_multiobj_pack_attr(outdata, outlen, oid, page,
- number, len, val);
- } else {
- return -EINVAL;
- }
-}
-
-
-/*
- * returns:
- * -EINVAL: invalid arg or misaligned buffer
- * -ENOENT: empty result set
- * OSD_ERROR: some other error
- * OSD_OK: success, used_outlen modified
- */
-static int exec_attr_rtrvl_stmt(struct db_context *dbc, sqlite3_stmt *stmt,
- int ret, const char *func, uint64_t oid,
- uint64_t page, int rtrvl_type, uint64_t outlen,
- uint8_t *outdata, uint8_t listfmt,
- uint32_t *used_outlen)
-{
- uint32_t len = 0;
- uint8_t found = 0;
- uint8_t bound = (ret == SQLITE_OK);
- uint8_t inval = 0;
-
- if (!bound) {
- error_sql(dbc->db, "%s: bind failed", func);
- goto out_reset;
- }
-
- *used_outlen = 0;
- while (1) {
- ret = sqlite3_step(stmt);
- if (ret == SQLITE_ROW) {
- if (rtrvl_type == GATHER_VAL) {
- ret = attr_gather_val(stmt, outdata, outlen);
- } else if (rtrvl_type == GATHER_ATTR) {
- ret = attr_gather_attr(stmt, outdata, outlen,
- oid, listfmt);
- } else if (rtrvl_type == GATHER_DIR_PAGE) {
- ret = attr_gather_dir_page(stmt, outlen,
- outdata, oid, page,
- listfmt);
- } else {
- ret = -EINVAL;
- }
- if (ret > 0) {
- len += ret;
- outlen -= ret;
- outdata += ret;
- if (!found)
- found = 1;
- } else {
- if (ret == -EINVAL)
- inval = 1;
- break;
- }
- } else if (ret == SQLITE_BUSY) {
- continue;
- } else {
- break;
- }
- }
-
-out_reset:
- ret = db_reset_stmt(dbc, stmt, bound, func);
- if (inval) {
- ret = -EINVAL;
- } else if (ret == OSD_OK) {
- *used_outlen = len;
- if (!found)
- ret = -ENOENT;
- }
- return ret;
-}
-
-
-/*
- * get one attribute in list format.
- *
- * -EINVAL: invalid arg, ignore used_len
- * -ENOENT: error, attribute not found
- * OSD_ERROR: some other error
- * OSD_OK: success, used_outlen modified
- */
-int attr_get_attr(struct db_context *dbc, uint64_t pid, uint64_t oid,
- uint32_t page, uint32_t number, uint64_t outlen,
- void *outdata, uint8_t listfmt, uint32_t *used_outlen)
-{
- int ret = 0;
- sqlite3_stmt *stmt = NULL;
-
- assert(dbc && dbc->db && dbc->attr && dbc->attr->getattr);
-
-repeat:
- ret = 0;
- stmt = dbc->attr->getattr;
- ret |= sqlite3_bind_int64(stmt, 1, pid);
- ret |= sqlite3_bind_int64(stmt, 2, oid);
- ret |= sqlite3_bind_int(stmt, 3, page);
- ret |= sqlite3_bind_int(stmt, 4, number);
- ret = exec_attr_rtrvl_stmt(dbc, stmt, ret, __func__, oid, 0,
- GATHER_ATTR, outlen, outdata, listfmt,
- used_outlen);
- if (ret == OSD_REPEAT) {
- goto repeat;
- } else if (ret == -ENOENT) {
- osd_debug("%s: attr (%llu %llu %u %u) not found!", __func__,
- llu(pid), llu(oid), page, number);
- }
-
- return ret;
-}
-
-
-/*
- * get one attribute value.
- *
- * -EINVAL: invalid arg, ignore used_len
- * -ENOENT: error, attribute not found
- * OSD_ERROR: some other error
- * OSD_OK: success, used_outlen modified
- */
-int attr_get_val(struct db_context *dbc, uint64_t pid, uint64_t oid,
- uint32_t page, uint32_t number, uint64_t outlen,
- void *outdata, uint32_t *used_outlen)
-{
- int ret = 0;
- sqlite3_stmt *stmt = NULL;
-
- assert(dbc && dbc->db && dbc->attr && dbc->attr->getval);
-
-repeat:
- ret = 0;
- stmt = dbc->attr->getval;
- ret |= sqlite3_bind_int64(stmt, 1, pid);
- ret |= sqlite3_bind_int64(stmt, 2, oid);
- ret |= sqlite3_bind_int(stmt, 3, page);
- ret |= sqlite3_bind_int(stmt, 4, number);
- ret = exec_attr_rtrvl_stmt(dbc, stmt, ret, __func__, oid, 0,
- GATHER_VAL, outlen, outdata, 0,
- used_outlen);
- if (ret == OSD_REPEAT) {
- goto repeat;
- } else if (ret == -ENOENT) {
- osd_debug("%s: attr (%llu %llu %u %u) not found!", __func__,
- llu(pid), llu(oid), page, number);
- }
-
- return ret;
-}
-
-/*
- * get one page in list format
- *
- * XXX:SD If the page is defined and we don't have name for the page (attr
- * num == 0), then we don't return its name. That is a bug
- *
- * -EINVAL: invalid arg, ignore used_len
- * -ENOENT: error, attribute not found
- * OSD_ERROR: some other error
- * OSD_OK: success, used_outlen modified
- */
-int attr_get_page_as_list(struct db_context *dbc, uint64_t pid, uint64_t oid,
- uint32_t page, uint64_t outlen, void *outdata,
- uint8_t listfmt, uint32_t *used_outlen)
-{
- int ret = 0;
- sqlite3_stmt *stmt = NULL;
-
- assert(dbc && dbc->db && dbc->attr && dbc->attr->pgaslst);
-
-repeat:
- ret = 0;
- stmt = dbc->attr->pgaslst;
- ret |= sqlite3_bind_int64(stmt, 1, pid);
- ret |= sqlite3_bind_int64(stmt, 2, oid);
- ret |= sqlite3_bind_int(stmt, 3, page);
- ret = exec_attr_rtrvl_stmt(dbc, stmt, ret, __func__, oid, 0,
- GATHER_ATTR, outlen, outdata, listfmt,
- used_outlen);
- if (ret == OSD_REPEAT) {
- goto repeat;
- } else if (ret == -ENOENT) {
- osd_debug("%s: attr (%llu %llu %u *) not found!", __func__,
- llu(pid), llu(oid), page);
- }
-
- return ret;
-}
-
-
-/*
- * for each defined page of an object get attribute with specified number
- *
- * XXX:SD If the page is defined and we don't have name for the page (attr
- * num == 0), then we don't return its name. That is a bug
- *
- * -EINVAL: invalid arg, ignore used_len
- * -ENOENT: error, attribute not found
- * OSD_ERROR: some other error
- * OSD_OK: success, used_outlen modified
- */
-int attr_get_for_all_pages(struct db_context *dbc, uint64_t pid, uint64_t oid,
- uint32_t number, uint64_t outlen, void *outdata,
- uint8_t listfmt, uint32_t *used_outlen)
-{
- int ret = 0;
- sqlite3_stmt *stmt = NULL;
-
- assert(dbc && dbc->db && dbc->attr && dbc->attr->forallpg);
-
-repeat:
- ret = 0;
- stmt = dbc->attr->forallpg;
- ret |= sqlite3_bind_int64(stmt, 1, pid);
- ret |= sqlite3_bind_int64(stmt, 2, oid);
- ret |= sqlite3_bind_int(stmt, 3, number);
- ret = exec_attr_rtrvl_stmt(dbc, stmt, ret, __func__, oid, 0,
- GATHER_ATTR, outlen, outdata, listfmt,
- used_outlen);
- if (ret == OSD_REPEAT) {
- goto repeat;
- } else if (ret == -ENOENT) {
- osd_debug("%s: attr (%llu %llu * %u) not found!", __func__,
- llu(pid), llu(oid), number);
- }
-
- return ret;
-}
-
-
-/*
- * get all attributes for an object in a list format
- *
- * XXX:SD If the page is defined and we don't have name for the page (attr
- * num == 0), then we don't return its name. That is a bug
- *
- * returns:
- * -EINVAL: invalid arg, ignore used_len
- * -ENOENT: error, attribute not found
- * OSD_ERROR: some other error
- * OSD_OK: success, used_outlen modified
- */
-int attr_get_all_attrs(struct db_context *dbc, uint64_t pid, uint64_t oid,
- uint64_t outlen, void *outdata, uint8_t listfmt,
- uint32_t *used_outlen)
-{
- int ret = 0;
- sqlite3_stmt *stmt = NULL;
-
- assert(dbc && dbc->db && dbc->attr && dbc->attr->getall);
-
-repeat:
- ret = 0;
- stmt = dbc->attr->getall;
- ret |= sqlite3_bind_int64(stmt, 1, pid);
- ret |= sqlite3_bind_int64(stmt, 2, oid);
- ret = exec_attr_rtrvl_stmt(dbc, stmt, ret, __func__, oid, 0,
- GATHER_ATTR, outlen, outdata, listfmt,
- used_outlen);
- if (ret == OSD_REPEAT) {
- goto repeat;
- } else if (ret == -ENOENT) {
- osd_debug("%s: attr (%llu %llu * *) not found!", __func__,
- llu(pid), llu(oid));
- }
-
- return ret;
-}
-
-
-/*
- * get the directory page of the object.
- *
- * returns:
- * -EINVAL: invalid arg, ignore used_len
- * -ENOENT: error, attribute not found
- * OSD_ERROR: some other error
- * OSD_OK: success, used_outlen modified
- */
-int attr_get_dir_page(struct db_context *dbc, uint64_t pid, uint64_t oid,
- uint32_t page, uint64_t outlen, void *outdata,
- uint8_t listfmt, uint32_t *used_outlen)
-{
- int ret = 0;
- sqlite3_stmt *stmt = NULL;
-
- assert(dbc && dbc->db && dbc->attr && dbc->attr->dirpage);
-
- if (page != USEROBJECT_DIR_PG && page != COLLECTION_DIR_PG &&
- page != PARTITION_DIR_PG && page != ROOT_DIR_PG)
- return -EINVAL;
-repeat:
- ret = 0;
- stmt = dbc->attr->dirpage;
- ret |= sqlite3_bind_blob(stmt, 1, unid_page, sizeof(unid_page),
- SQLITE_TRANSIENT);
- ret |= sqlite3_bind_int64(stmt, 2, pid);
- ret |= sqlite3_bind_int64(stmt, 3, oid);
- ret = exec_attr_rtrvl_stmt(dbc, stmt, ret, __func__, oid, page,
- GATHER_DIR_PAGE, outlen, outdata, listfmt,
- used_outlen);
- if (ret == OSD_REPEAT) {
- goto repeat;
- } else if (ret == -ENOENT) {
- osd_debug("%s: dir page not found!", __func__);
- }
-
- return ret;
-}
-
diff --git a/oldcode/src/gsl/resources/storage/osd-target/attr.h b/oldcode/src/gsl/resources/storage/osd-target/attr.h
deleted file mode 100644
index 4a5dbbf..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/attr.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Attributes.
- *
- * Copyright (C) 2007 OSD Team <pvfs-osd(a)osc.edu>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#ifndef __ATTR_H
-#define __ATTR_H
-
-#include <sqlite3.h>
-#include "osd-types.h"
-
-int attr_initialize(struct db_context *dbc);
-
-int attr_finalize(struct db_context *dbc);
-
-const char *attr_getname(struct db_context *dbc);
-
-int attr_set_attr(struct db_context *dbc, uint64_t pid, uint64_t oid,
- uint32_t page, uint32_t number, const void *val,
- uint16_t len);
-
-int attr_delete_attr(struct db_context *dbc, uint64_t pid, uint64_t oid,
- uint32_t page, uint32_t number);
-
-int attr_delete_all(struct db_context *dbc, uint64_t pid, uint64_t oid);
-
-int attr_get_attr(struct db_context *dbc, uint64_t pid, uint64_t oid,
- uint32_t page, uint32_t number, uint64_t outlen,
- void *outdata, uint8_t listfmt, uint32_t *used_outlen);
-
-int attr_get_val(struct db_context *dbc, uint64_t pid, uint64_t oid,
- uint32_t page, uint32_t number, uint64_t outlen,
- void *outdata, uint32_t *used_outlen);
-
-int attr_get_page_as_list(struct db_context *dbc, uint64_t pid, uint64_t oid,
- uint32_t page, uint64_t outlen, void *outdata,
- uint8_t listfmt, uint32_t *used_outlen);
-
-int attr_get_for_all_pages(struct db_context *dbc, uint64_t pid, uint64_t oid,
- uint32_t number, uint64_t outlen, void *outdata,
- uint8_t listfmt, uint32_t *used_outlen);
-
-int attr_get_all_attrs(struct db_context *dbc, uint64_t pid, uint64_t oid,
- uint64_t outlen, void *outdata, uint8_t listfmt,
- uint32_t *used_outlen);
-
-int attr_get_dir_page(struct db_context *dbc, uint64_t pid, uint64_t oid,
- uint32_t page, uint64_t outlen, void *outbuf,
- uint8_t listfmt, uint32_t *used_outlen);
-
-#endif /* __ATTR_H */
diff --git a/oldcode/src/gsl/resources/storage/osd-target/bsg.h b/oldcode/src/gsl/resources/storage/osd-target/bsg.h
deleted file mode 100644
index 5aa2c83..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/bsg.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copied from linux header to avoid needing kernel includes.
- */
-#ifndef BSG_H
-#define BSG_H
-
-#define BSG_PROTOCOL_SCSI 0
-
-#define BSG_SUB_PROTOCOL_SCSI_CMD 0
-#define BSG_SUB_PROTOCOL_SCSI_TMF 1
-#define BSG_SUB_PROTOCOL_SCSI_TRANSPORT 2
-
-typedef int32_t __s32;
-typedef uint32_t __u32;
-typedef uint64_t __u64;
-
-struct sg_io_v4_v2622 {
- __s32 guard; /* [i] 'Q' to differentiate from v3 */
- __u32 protocol; /* [i] 0 -> SCSI , .... */
- __u32 subprotocol; /* [i] 0 -> SCSI command, 1 -> SCSI task
- management function, .... */
-
- __u32 request_len; /* [i] in bytes */
- __u64 request; /* [i], [*i] {SCSI: cdb} */
- __u32 request_attr; /* [i] {SCSI: task attribute} */
- __u32 request_tag; /* [i] {SCSI: task tag (only if flagged)} */
- __u32 request_priority; /* [i] {SCSI: task priority} */
- __u32 max_response_len; /* [i] in bytes */
- __u64 response; /* [i], [*o] {SCSI: (auto)sense data} */
-
- /* "din_" for data in (from device); "dout_" for data out (to device) */
- __u32 dout_iovec_count; /* [i] =0 -> "flat" data transfer */
- __u32 din_iovec_count; /* [i] */
- __u32 dout_xfer_len; /* [i] bytes to be transferred to device */
- __u32 din_xfer_len; /* [i] bytes to be transferred from device */
- __u64 dout_xferp; /* [i], [*i] */
- __u64 din_xferp; /* [i], [*o] */
-
- __u32 timeout; /* [i] units: millisecond */
- __u32 flags; /* [i] bit mask */
- __u64 usr_ptr; /* [i->o] unused internally */
- __u32 spare_in; /* [i] */
-
- __u32 driver_status; /* [o] 0 -> ok */
- __u32 transport_status; /* [o] 0 -> ok */
- __u32 device_status; /* [o] {SCSI: command completion status} */
- __u32 retry_delay; /* [o] {SCSI: status auxiliary information} */
- __u32 info; /* [o] additional information */
- __u32 duration; /* [o] time to complete, in milliseconds */
- __u32 response_len; /* [o] bytes of response actually written */
- __s32 din_resid; /* [o] actual_din_xfer_len - din_xfer_len */
- __u32 generated_tag; /* [o] {SCSI: task tag that transport chose} */
- __u32 spare_out; /* [o] */
-
- __u32 padding;
-};
-
-struct sg_io_v4_v2624 {
- __s32 guard; /* [i] 'Q' to differentiate from v3 */
- __u32 protocol; /* [i] 0 -> SCSI , .... */
- __u32 subprotocol; /* [i] 0 -> SCSI command, 1 -> SCSI task
- management function, .... */
-
- __u32 request_len; /* [i] in bytes */
- __u64 request; /* [i], [*i] {SCSI: cdb} */
- __u64 request_tag; /* [i] {SCSI: task tag (only if flagged)} */
- __u32 request_attr; /* [i] {SCSI: task attribute} */
- __u32 request_priority; /* [i] {SCSI: task priority} */
- __u32 request_extra; /* [i] {spare, for padding} */
- __u32 max_response_len; /* [i] in bytes */
- __u64 response; /* [i], [*o] {SCSI: (auto)sense data} */
-
- /* "dout_": data out (to device); "din_": data in (from device) */
- __u32 dout_iovec_count; /* [i] 0 -> "flat" dout transfer else
- dout_xfer points to array of iovec */
- __u32 dout_xfer_len; /* [i] bytes to be transferred to device */
- __u32 din_iovec_count; /* [i] 0 -> "flat" din transfer */
- __u32 din_xfer_len; /* [i] bytes to be transferred from device */
- __u64 dout_xferp; /* [i], [*i] */
- __u64 din_xferp; /* [i], [*o] */
-
- __u32 timeout; /* [i] units: millisecond */
- __u32 flags; /* [i] bit mask */
- __u64 usr_ptr; /* [i->o] unused internally */
- __u32 spare_in; /* [i] */
-
- __u32 driver_status; /* [o] 0 -> ok */
- __u32 transport_status; /* [o] 0 -> ok */
- __u32 device_status; /* [o] {SCSI: command completion status} */
- __u32 retry_delay; /* [o] {SCSI: status auxiliary information} */
- __u32 info; /* [o] additional information */
- __u32 duration; /* [o] time to complete, in milliseconds */
- __u32 response_len; /* [o] bytes of response actually written */
- __s32 din_resid; /* [o] din_xfer_len - actual_din_xfer_len */
- __s32 dout_resid; /* [o] dout_xfer_len - actual_dout_xfer_len */
- __u64 generated_tag; /* [o] {SCSI: transport generated task tag} */
- __u32 spare_out; /* [o] */
-
- __u32 padding;
-};
-
-/*
- * Vector of address/length pairs, used when dout_iovec_count (or din_)
- * is non-zero. In that case, dout_xferp is a list of struct sg_v4_iovec
- * and dout_iovec_count is the number of entries in that list. dout_xfer_len
- * is the total length of the list.
- */
-struct sg_v4_iovec {
- __u64 iov_base;
- __u32 iov_len;
- __u32 __pad1;
-};
-
-#endif
diff --git a/oldcode/src/gsl/resources/storage/osd-target/cdb.c b/oldcode/src/gsl/resources/storage/osd-target/cdb.c
deleted file mode 100644
index 13299c1..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/cdb.c
+++ /dev/null
@@ -1,1767 +0,0 @@
-/*
- * Initial command descriptor block parsing. Gateway into the
- * core osd functions in osd.c.
- *
- * Copyright (C) 2007 OSD Team <pvfs-osd(a)osc.edu>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include <stdio.h>
-#include <stdint.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <assert.h>
-
-#include "osd.h"
-#include "osd-sense.h"
-#include "osd-defs.h"
-#include "target-sense.h"
-#include "cdb.h"
-#include "osd-util.h"
-#include "list-entry.h"
-
-/*
- * Aggregate parameters for function calls in this file.
- */
-struct command {
- struct osd_device *osd;
- uint8_t *cdb;
- uint16_t action;
- uint8_t getset_cdbfmt;
- uint64_t retrieved_attr_off; /* -1 means empty. 0 is a legal value. */
- struct getattr_list get_attr;
- struct setattr_list set_attr;
- const uint8_t *indata;
- uint64_t inlen;
- uint8_t *outdata;
- uint64_t outlen;
- uint64_t used_outlen;
- uint32_t get_used_outlen;
- uint8_t sense[OSD_MAX_SENSE];
- int senselen;
-};
-
-static int get_attr_page(struct command *cmd, uint64_t pid, uint64_t oid,
- uint8_t isembedded, uint16_t numoid, uint32_t cdb_cont_len)
-{
- int ret = 0;
- uint8_t *cdb = cmd->cdb;
- uint32_t page = get_ntohl(&cmd->cdb[52]);
- uint32_t alloc_len = get_ntohl(&cdb[56]);
- void *outbuf = NULL;
-
-
- if (page == 0 || alloc_len == 0)/* nothing to be retrieved. osd2r00 */
- return 0; /* Sec 5.2.2.2 */
-
- if (numoid > 1 && page != CUR_CMD_ATTR_PG)
- goto out_param_list_err;
-
- if (!cmd->outdata)
- goto out_param_list_err;
-
- outbuf = &cmd->outdata[cmd->retrieved_attr_off];
- return osd_getattr_page(cmd->osd, pid, oid, page, outbuf, alloc_len,
- isembedded, &cmd->get_used_outlen, cdb_cont_len,
- cmd->sense);
-
-out_param_list_err:
- return sense_basic_build(cmd->sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_PARAMETER_LIST_LENGTH_ERROR, pid,
- oid);
-}
-
-static int set_attr_value(struct command *cmd, uint64_t pid, uint64_t oid,
- uint8_t isembedded, uint16_t numoid, uint32_t cdb_cont_len)
-{
- int ret = 0;
- int err = 0;
- uint64_t i = 0;
- uint8_t *cdb = cmd->cdb;
- uint32_t page = get_ntohl(&cmd->cdb[64]);
- uint32_t number = get_ntohl(&cdb[68]);
- uint32_t len = get_ntohl(&cdb[72]); /* XXX: bug in std? sizeof(len) = 4B */
- uint64_t offset = get_ntohoffset(&cdb[76]);
-
- if (page == 0)
- return 0; /* nothing to set. osd2r00 Sec 5.2.2.2 */
-
- err = osd_begin_txn(cmd->osd);
- assert(err == 0);
-
- for (i = oid; i < oid+numoid; i++) {
- ret = osd_set_attributes(cmd->osd, pid, i, page, number,
- &cmd->indata[offset], len, isembedded,
- cdb_cont_len, cmd->sense);
- if (ret != 0)
- break;
- }
-
- err = osd_end_txn(cmd->osd);
- assert(err == 0);
-
- return ret;
-}
-
-static int set_one_attr_value(struct command *cmd, uint64_t pid, uint64_t oid,
- uint8_t isembedded, uint16_t numoid, uint32_t cdb_cont_len)
-{
- int ret = 0;
- int err = 0;
- uint8_t *cdb = cmd->cdb;
- uint64_t i = 0;
- uint32_t page = get_ntohl(&cmd->cdb[52]);
- uint32_t number = get_ntohl(&cdb[56]);
- uint16_t len = get_ntohs(&cdb[60]);
- void *value = &cmd->cdb[62];
-
- /* nothing to set. osd2r03 Sec 5.2.4.2 */
- if (page == 0)
- return 0;
-
- /* terminate command with check command status, set sense to illegal
- reguest osd2r03 Sec 5.2.4.2 */
- if (len > 18)
- goto out_invalid_param;
-
- /* terminate command with check command status, set sense to illegal
- request osd2r03 Sec 5.2.4.2 */
- if (page == 0xFFFFFFFF || number == 0xFFFFFFFF)
- goto out_invalid_param;
-
- err = osd_begin_txn(cmd->osd);
- assert(err == 0);
-
- for (i = oid; i < oid+numoid; i++) {
- ret = osd_set_attributes(cmd->osd, pid, i, page, number,
- value, len, isembedded, cdb_cont_len, cmd->sense);
- if (ret != 0)
- break;
- }
-
- err = osd_end_txn(cmd->osd);
- assert(err == 0);
-
- return ret;
-
-out_invalid_param:
- return sense_basic_build(cmd->sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
-}
-/*
- * TODO: proper return codes
- * returns:
- * ==0: success
- * >0: failure, senselen is returned.
- */
-static int get_attr_list(struct command *cmd, uint64_t pid, uint64_t oid,
- uint8_t isembedded, uint16_t numoid, uint32_t cdb_cont_len)
-{
- int ret = 0;
- int err = 0;
- int within_txn = 0;
- uint64_t i = 0;
- uint8_t list_type;
- uint8_t listfmt = RTRVD_SET_ATTR_LIST;
- uint32_t getattr_list_len = get_ntohl(&cmd->cdb[52]);
- uint32_t list_in_len, list_len = 0;
- uint64_t list_off = get_ntohoffset(&cmd->cdb[56]);
- uint32_t list_alloc_len = get_ntohl(&cmd->cdb[60]);
- const uint8_t *list_hdr = &cmd->indata[list_off];
- uint8_t *outbuf;
- uint8_t *cp = NULL;
-
- if (getattr_list_len == 0)
- return 0; /* nothing to retrieve, osd2r00 Sec 5.2.2.3 */
-
- if (!cmd->outdata)
- goto out_param_list_err;
- outbuf = &cmd->outdata[cmd->retrieved_attr_off];
-
- if (getattr_list_len != 0 && getattr_list_len < LIST_HDR_LEN)
- goto out_param_list_err;
-
- /* available bytes in getattr list, need at least a header */
- list_in_len = cmd->inlen - list_off;
- if (list_in_len < 8)
- goto out_param_list_err;
-
- if ((list_off & 0x7) || (list_alloc_len & 0x7))
- goto out_param_list_err;
-
- list_type = list_hdr[0] & 0xF;
- if (list_type != RTRV_ATTR_LIST)
- goto out_invalid_param_list;
-
- list_len = getattr_list_len - 8;
- if (list_len & 0x7) /* multiple of 8 */
- goto out_param_list_err;
- if (list_len + 8 < list_in_len)
- goto out_param_list_err;
-
- if (numoid > 1)
- listfmt = RTRVD_CREATE_MULTIOBJ_LIST;
- outbuf[0] = listfmt; /* fill list header */
- outbuf[1] = outbuf[2] = outbuf[3] = 0;
-
- err = osd_begin_txn(cmd->osd);
- assert(err == 0);
- within_txn = 1;
-
- list_hdr += 8;
- cp = outbuf + 8;
- cmd->get_used_outlen = 8;
- list_alloc_len -= 8;
- while (list_len > 0) {
- uint32_t page = get_ntohl(&list_hdr[0]);
- uint32_t number = get_ntohl(&list_hdr[4]);
-
- for (i = oid; i < oid+numoid; i++) {
- uint32_t get_used_outlen;
- ret = osd_getattr_list(cmd->osd, pid, i, page, number,
- cp, list_alloc_len, isembedded,
- listfmt, &get_used_outlen, cdb_cont_len,
- cmd->sense);
- if (ret != 0) {
- cmd->senselen = ret;
- goto out_err;
- }
-
- list_alloc_len -= get_used_outlen;
- cmd->get_used_outlen += get_used_outlen;
- cp += get_used_outlen;
- }
-
- list_len -= 8;
- list_hdr += 8;
- }
- set_htonl(&outbuf[4], cmd->get_used_outlen - 8);
-
- err = osd_end_txn(cmd->osd);
- assert(err == 0);
-
- return OSD_OK; /* success */
-
-out_err:
- if (within_txn) {
- err = osd_end_txn(cmd->osd);
- assert(err == 0);
- }
- return ret;
-
-out_param_list_err:
- return sense_basic_build(cmd->sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_PARAMETER_LIST_LENGTH_ERROR, pid,
- oid);
-
-out_invalid_param_list:
- return sense_basic_build(cmd->sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_PARAM_LIST, pid,
- oid);
-}
-
-
-/*
- * TODO: proper return codes
- * returns:
- * ==0: success
- * >0: failure, senselen is returned.
- */
-static int set_attr_list(struct command *cmd, uint64_t pid, uint64_t oid,
- uint8_t isembedded, uint16_t numoid, uint32_t cdb_cont_len)
-{
- int ret = 0;
- int err = 0;
- int within_txn = 0;
- uint64_t i = 0;
- uint8_t list_type;
- uint8_t *cdb = cmd->cdb;
- uint32_t setattr_list_len = get_ntohl(&cdb[68]);
- uint32_t list_len = 0;
- uint32_t list_off = get_ntohoffset(&cdb[72]);
- const uint8_t *list_hdr = &cmd->indata[list_off];
-
- if (setattr_list_len == 0)
- return 0; /* nothing to set, osd2r00 Sec 5.2.2.3 */
-
- if (setattr_list_len != 0 && setattr_list_len < LIST_HDR_LEN)
- goto out_param_list_err;
-
- list_type = list_hdr[0] & 0xF;
- if (list_type != RTRVD_SET_ATTR_LIST)
- goto out_param_list_err;
-
- list_len = setattr_list_len - 8;
- if (list_len & 0x7) /* multiple of 8, values are padded */
- goto out_param_list_err;
-
- err = osd_begin_txn(cmd->osd);
- assert(err == 0);
- within_txn = 1;
-
- list_hdr = &list_hdr[8]; /* XXX: osd errata */
- while (list_len > 0) {
- uint32_t page = get_ntohl(&list_hdr[0]);
- uint32_t number = get_ntohl(&list_hdr[4]);
- uint32_t len = get_ntohs(&list_hdr[8]);
- uint32_t pad = 0;
-
- /* set attr on multiple objects if that is the case */
- for (i = oid; i < oid+numoid; i++) {
- ret = osd_set_attributes(cmd->osd, pid, i, page,
- number, &list_hdr[10], len,
- isembedded, cdb_cont_len, cmd->sense);
- if (ret != 0) {
- cmd->senselen = ret;
- goto out_err;
- }
- }
-
- pad = (0x8 - ((LE_VAL_OFF + len) & 0x7)) & 0x7;
- list_hdr += LE_VAL_OFF + len + pad;
- list_len -= LE_VAL_OFF + len + pad;
- }
-
- err = osd_end_txn(cmd->osd);
- assert(err == 0);
-
- return 0; /* success */
-
-out_err:
- if (within_txn) {
- err = osd_end_txn(cmd->osd);
- assert(err == 0);
- }
- return ret;
-
-out_param_list_err:
- if (within_txn) {
- err = osd_end_txn(cmd->osd);
- assert(err == 0);
- }
- cmd->senselen = sense_basic_build(cmd->sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_PARAMETER_LIST_LENGTH_ERROR,
- pid, oid);
- return cmd->senselen;
-}
-
-static int parse_getattr_list(struct command *cmd, uint64_t pid, uint64_t oid)
-{
- int ret = 0;
- uint64_t i = 0;
- uint8_t list_type;
- uint32_t getattr_list_len = get_ntohl(&cmd->cdb[52]);
- uint32_t list_in_len, list_len = 0;
- uint64_t list_off = get_ntohoffset(&cmd->cdb[56]);
- uint32_t list_alloc_len = get_ntohl(&cmd->cdb[60]);
- const uint8_t *list_hdr = &cmd->indata[list_off];
- uint8_t *cp = NULL;
-
- if (getattr_list_len == 0)
- return 0; /* nothing to retrieve, osd2r00 Sec 5.2.2.3 */
-
- if (getattr_list_len != 0 && getattr_list_len < LIST_HDR_LEN)
- goto out_param_list_err;
-
- /* available bytes in getattr list, need at least a header */
- list_in_len = cmd->inlen - list_off;
- if (list_in_len < 8)
- goto out_param_list_err;
-
- if ((list_off & 0x7) || (list_alloc_len & 0x7))
- goto out_param_list_err;
-
- list_type = list_hdr[0] & 0xF;
- if (list_type != RTRV_ATTR_LIST)
- goto out_invalid_param_list;
-
- list_len = getattr_list_len - 8;
- if (list_len & 0x7) /* multiple of 8 */
- goto out_param_list_err;
- if (list_len + 8 < list_in_len)
- goto out_param_list_err;
-
- if (list_len > 0) {
- cmd->get_attr.sz = list_len/8;
- /* XXX: This leaks memory. free it somewhere */
- cmd->get_attr.le = Malloc(cmd->get_attr.sz *
- sizeof(*(cmd->get_attr.le)));
- if (!cmd->get_attr.le)
- goto out_hw_err;
- }
-
- i = 0;
- list_hdr += 8;
- for (i = 0; i < list_len/8; i++) {
- cmd->get_attr.le[i].page = get_ntohl(&list_hdr[0]);
- cmd->get_attr.le[i].number = get_ntohl(&list_hdr[4]);
- list_hdr += 8;
- }
-
- return 0; /* success */
-
-out_param_list_err:
- return sense_basic_build(cmd->sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_PARAMETER_LIST_LENGTH_ERROR, pid,
- oid);
-
-out_invalid_param_list:
- return sense_basic_build(cmd->sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_PARAM_LIST, pid,
- oid);
-out_hw_err:
- return sense_basic_build(cmd->sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
-}
-
-
-static int parse_setattr_list(struct command *cmd, uint64_t pid, uint64_t oid)
-{
- int ret = 0;
- uint32_t i = 0;
- uint8_t list_type;
- uint8_t *cdb = cmd->cdb;
- uint32_t setattr_list_len = get_ntohl(&cmd->cdb[68]);
- uint32_t list_len = 0;
- uint32_t list_off = get_ntohoffset(&cmd->cdb[72]);
- const uint8_t *list_hdr = &cmd->indata[list_off];
- uint8_t pad = 0;
-
- if (setattr_list_len == 0)
- return 0; /* nothing to set, osd2r00 Sec 5.2.2.3 */
-
- if (setattr_list_len != 0 && setattr_list_len < LIST_HDR_LEN)
- goto out_param_list_err;
-
- list_type = list_hdr[0] & 0xF;
- if (list_type != RTRVD_SET_ATTR_LIST)
- goto out_param_list_err;
-
- list_len = setattr_list_len - 8;
- if (list_len & 0x7) /* multiple of 8, values are padded */
- goto out_param_list_err;
-
- if (list_len > 0) {
- /*
- * This malloc provides for the maximum number of attrs,
- * but it can be much smaller if the attrs have any
- * values.
- */
- cmd->set_attr.sz = list_len >> 4; /* min(list_len) == 16 */
- /* XXX: this leaks memory */
- cmd->set_attr.le = Malloc(cmd->set_attr.sz *
- sizeof(*(cmd->set_attr.le)));
- if (!cmd->set_attr.le)
- goto out_hw_err;
- }
-
- i = 0;
- pad = 0;
- list_hdr += 8;
- cmd->set_attr.sz = 0; /* start counting again */
- while (list_len > 0) {
- cmd->set_attr.le[i].page = get_ntohl(&list_hdr[LE_PAGE_OFF]);
- cmd->set_attr.le[i].number =
- get_ntohl(&list_hdr[LE_NUMBER_OFF]);
- cmd->set_attr.le[i].len = get_ntohs(&list_hdr[LE_LEN_OFF]);
- cmd->set_attr.le[i].cval = &list_hdr[LE_VAL_OFF];
-
- pad = (0x8 - ((LE_VAL_OFF + cmd->set_attr.le[i].len) & 0x7)) &
- 0x7;
- list_hdr += LE_VAL_OFF + cmd->set_attr.le[i].len + pad;
- list_len -= LE_VAL_OFF + cmd->set_attr.le[i].len + pad;
- ++i;
- ++cmd->set_attr.sz;
- }
-
- return 0;
-
-out_param_list_err:
- return sense_basic_build(cmd->sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_PARAMETER_LIST_LENGTH_ERROR, pid,
- oid);
-out_hw_err:
- return sense_basic_build(cmd->sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
-}
-
-
-/*
- * returns:
- * ==0: success
- * >0: failed, sense len set accordingly
- */
-static int get_attributes(struct command *cmd, uint64_t pid, uint64_t oid,
- uint16_t numoid, uint32_t cdb_cont_len)
-{
- int ret = 0;
- uint8_t isembedded = TRUE;
-
- if (numoid < 1)
- goto out_cdb_err;
-
- if (cmd->action == OSD_GET_ATTRIBUTES)
- isembedded = FALSE;
-
- if (cmd->getset_cdbfmt == GETPAGE_SETVALUE) {
- return get_attr_page(cmd, pid, oid, isembedded, numoid, cdb_cont_len);
- } else if (cmd->getset_cdbfmt == GETLIST_SETLIST) {
- return get_attr_list(cmd, pid, oid, isembedded, numoid, cdb_cont_len);
- } else if (cmd->getset_cdbfmt == GETFIELD_SETVALUE){
- return 0;
- }else {
- goto out_cdb_err;
- }
-
-out_cdb_err:
- return sense_basic_build(cmd->sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
-}
-
-/*
- * returns:
- * ==0: success
- * >0: failed, sense len set accordingly
- */
-static int set_attributes(struct command *cmd, uint64_t pid, uint64_t oid,
- uint32_t numoid, uint32_t cdb_cont_len)
-{
- int ret = 0;
- uint8_t isembedded = TRUE;
-
- if (numoid < 1)
- goto out_cdb_err;
-
- if (cmd->action == OSD_SET_ATTRIBUTES)
- isembedded = FALSE;
-
- if (cmd->getset_cdbfmt == GETPAGE_SETVALUE) {
- return set_attr_value(cmd, pid, oid, isembedded, numoid, cdb_cont_len);
- } else if (cmd->getset_cdbfmt == GETLIST_SETLIST) {
- return set_attr_list(cmd, pid, oid, isembedded, numoid, cdb_cont_len);
- } else if (cmd->getset_cdbfmt == GETFIELD_SETVALUE) {
- return set_one_attr_value(cmd, pid, oid, isembedded, numoid, cdb_cont_len);
- } else {
- goto out_cdb_err;
- }
-
-out_cdb_err:
- return sense_basic_build(cmd->sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
-}
-
-static int cdb_copy_user_objects(struct command*cmd, uint32_t cdb_cont_len)
-{
- int ret = 0;
- int cpy_atr = 0, pad_len = 0;
- uint16_t descriptor_type = 0;
- uint32_t cdb_descriptor_len = 0;
- uint8_t dupl_method = cmd->cdb[16];
- uint64_t destination_pid = get_ntohll(&cmd->cdb[16]);
- uint64_t requested_oid = get_ntohll(&cmd->cdb[24]);
- uint64_t source_pid;
- uint64_t source_oid;
-
-
- descriptor_type = get_ntohs(&cmd->cdb[48]);
- pad_len = cmd->cdb[51] & 7;
- cdb_descriptor_len = get_ntohl(&cmd->cdb[52]);
- source_pid = get_ntohll(&cmd->cdb[56]);
- source_oid = get_ntohll(&cmd->cdb[64]);
- cpy_atr = cmd->cdb[72] & 1;
-
- if (descriptor_type != 0x0101)
- goto out_cdb_err;
- if (pad_len != 0)
- goto out_cdb_err;
- if (cdb_descriptor_len != 18)
- goto out_cdb_err;
-
- ret = osd_copy_user_objects(cmd->osd, destination_pid, requested_oid, source_pid, source_oid,
- cpy_atr, dupl_method, cdb_cont_len, cmd->sense);
-out_cdb_err:
- ret = sense_basic_build(cmd->sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, destination_pid,
- requested_oid);
- return ret;
-}
-
-/*
- * returns:
- * ==0: success
- * >0: error, cmd->sense is appropriately set
- */
-static int cdb_create(struct command *cmd, uint32_t cdb_cont_len)
-{
- int ret = 0;
- int err = 0;
- int within_txn = 0;
- uint64_t i = 0;
- uint32_t page;
- uint64_t oid;
- uint8_t *cdb = cmd->cdb;
- uint64_t pid = get_ntohll(&cdb[16]);
- uint64_t requested_oid = get_ntohll(&cdb[24]);
- uint16_t numoid = get_ntohs(&cdb[32]);
- uint8_t local_sense[OSD_MAX_SENSE];
-
- TICK_TRACE(cdb_create);
- if (numoid > 1 && cmd->getset_cdbfmt == GETPAGE_SETVALUE) {
- page = get_ntohl(&cmd->cdb[52]);
- if (page != CUR_CMD_ATTR_PG)
- goto out_cdb_err;
- }
-
- err = osd_begin_txn(cmd->osd);
- assert(err == 0);
-
- ret = osd_create(cmd->osd, pid, requested_oid, numoid, cdb_cont_len, cmd->sense);
-
- err = osd_end_txn(cmd->osd);
- assert(err == 0);
-
- if (ret != 0)
- return ret;
-
- numoid = (numoid == 0) ? 1 : numoid;
- oid = osd_get_created_oid(cmd->osd, numoid);
-
- TICK_TRACE(cdb_create_setattr);
- ret = set_attributes(cmd, pid, oid, numoid, cdb_cont_len);
- if (ret != 0)
- goto out_remove_obj;
- TICK_TRACE(cdb_create_getattr);
- ret = get_attributes(cmd, pid, oid, numoid, cdb_cont_len);
- if (ret != 0)
- goto out_remove_obj;
-
- TICK_TRACE(cdb_create);
- return ret; /* success */
-
-out_remove_obj:
- for (i = oid; i < oid+numoid; i++)
- osd_remove(cmd->osd, pid, i, cdb_cont_len, local_sense);
- return ret; /* preserve ret */
-
-out_cdb_err:
- ret = sense_basic_build(cmd->sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid,
- requested_oid);
- return ret;
-}
-
-/*
- * returns:
- * ==0: on success
- * >0: on failure. no side-effects of create partition remain.
- */
-static int cdb_create_collection(struct command *cmd, uint32_t cdb_cont_len)
-{
- int ret;
- uint8_t sense[OSD_MAX_SENSE];
- uint64_t pid = get_ntohll(&cmd->cdb[16]);
- uint64_t cid, requested_cid = get_ntohll(&cmd->cdb[24]);
-
- ret = osd_create_collection(cmd->osd, pid, requested_cid, cdb_cont_len, sense);
- if (ret != 0)
- return ret;
-
- cid = cmd->osd->ccap.oid;
- ret = set_attributes(cmd, pid, cid, 1, cdb_cont_len);
- if (ret != 0)
- goto out_remove_obj;
- ret = get_attributes(cmd, pid, cid, 1, cdb_cont_len);
- if (ret != 0)
- goto out_remove_obj;
-
- return ret;
-
-out_remove_obj:
- osd_remove(cmd->osd, pid, cid, cdb_cont_len, sense);
- return ret;
-}
-
-/*
- * returns:
- * ==0: on success
- * >0: on failure. no side-effects of create partition remain.
- */
-static int cdb_create_partition(struct command *cmd, uint32_t cdb_cont_len)
-{
- int ret = 0;
- uint64_t pid = 0;
- uint64_t requested_pid = get_ntohll(&cmd->cdb[16]);
- uint8_t local_sense[OSD_MAX_SENSE];
-
- ret = osd_create_partition(cmd->osd, requested_pid, cdb_cont_len, cmd->sense);
- if (ret != 0)
- return ret;
-
- pid = cmd->osd->ccap.pid;
- ret = set_attributes(cmd, pid, PARTITION_OID, 1, cdb_cont_len);
- if (ret != 0)
- goto out_remove_obj;
- ret = get_attributes(cmd, pid, PARTITION_OID, 1, cdb_cont_len);
- if (ret != 0)
- goto out_remove_obj;
-
- return ret;
-
-out_remove_obj:
- osd_remove(cmd->osd, pid, PARTITION_OID, cdb_cont_len, local_sense);
- return ret;
-}
-
-/*
- * returns:
- * ==0: on success
- * >0: on failure
- */
-static int cdb_remove_partition(struct command *cmd, uint32_t cdb_cont_len)
-{
- int ret = 0;
- uint64_t pid = get_ntohll(&cmd->cdb[16]);
-
- ret = set_attributes(cmd, pid, PARTITION_OID, 1, cdb_cont_len);
- if (ret != 0)
- return ret;
- ret = get_attributes(cmd, pid, PARTITION_OID, 1, cdb_cont_len);
- if (ret != 0)
- return ret;
-
- return osd_remove_partition(cmd->osd, pid, cdb_cont_len, cmd->sense);
-}
-
-/*
- * returns:
- * ==0: on success
- * >0: on failure
- */
-static int cdb_remove(struct command *cmd, uint32_t cdb_cont_len)
-{
- int ret = 0;
- uint64_t pid = get_ntohll(&cmd->cdb[16]);
- uint64_t oid = get_ntohll(&cmd->cdb[24]);
-
- ret = set_attributes(cmd, pid, oid, 1, cdb_cont_len);
- if (ret != 0)
- return ret;
- ret = get_attributes(cmd, pid, oid, 1, cdb_cont_len);
- if (ret != 0)
- return ret;
-
- return osd_remove(cmd->osd, pid, oid, cdb_cont_len, cmd->sense);
-}
-
-/*
- * returns:
- * ==0: success
- * >0: error; either it is a genuine error or it is OSD_SSK_RECOVERED_ERROR.
- */
-static int cdb_read(struct command *cmd, uint32_t cdb_cont_len)
-{
- int ret = 0, rec_err_sense = 0;
- uint8_t ddt = cmd->cdb[10];
- uint64_t pid = get_ntohll(&cmd->cdb[16]);
- uint64_t oid = get_ntohll(&cmd->cdb[24]);
- uint64_t len = get_ntohll(&cmd->cdb[32]);
- uint64_t offset = get_ntohll(&cmd->cdb[40]);
-
- ret = osd_read(cmd->osd, pid, oid, len, offset, cmd->indata, cmd->outdata,
- &cmd->used_outlen, cdb_cont_len, cmd->sense, ddt);
- if (ret) {
- /* only tolerate recovered error, return for others */
- if (!sense_test_type(cmd->sense, OSD_SSK_RECOVERED_ERROR,
- OSD_ASC_READ_PAST_END_OF_USER_OBJECT))
- return ret;
- rec_err_sense = ret; /* save ret */
- }
-
- ret = set_attributes(cmd, pid, oid, 1, cdb_cont_len);
- if (ret)
- return ret;
- ret = get_attributes(cmd, pid, oid, 1, cdb_cont_len);
- if (ret)
- return ret;
- return rec_err_sense; /* return 0 or recoved error sense length */
-}
-
-static int cdb_read_map(struct command *cmd, uint32_t cdb_cont_len)
-{
- int ret = 0;
- uint64_t pid = get_ntohll(&cmd->cdb[16]);
- uint64_t oid = get_ntohll(&cmd->cdb[24]);
- uint64_t alloc_len = get_ntohll(&cmd->cdb[32]);
- uint64_t offset = get_ntohll(&cmd->cdb[40]);
- uint16_t map_type = get_ntohs(&cmd->cdb[48]);
-
- ret = set_attributes(cmd, pid, oid, 1, cdb_cont_len);
- if (ret)
- return ret;
- ret = get_attributes(cmd, pid, oid, 1, cdb_cont_len);
- if (ret)
- return ret;
-
- return osd_read_map(cmd->osd, pid, oid, alloc_len, offset, map_type,
- cmd->outdata, &cmd->used_outlen, cdb_cont_len, cmd->sense);
-}
-
-/*
- * actions for various (pid, list_attr) combinations:
- *
- * 0, 0: get pids within root, no attrs returned. results in param. data
- * 0, 1: get pids within root. results are returned as described below:
- * - all root object (since pid = 0) pages described in get attr segment
- * of CDB are returned in retrieved attr segment.
- * - for each pid computed by the LIST command all paritition pages
- * described in get attr segment of CDB shall be returned in
- * command parameter data
- * - if there is any page associated with userobject or collection error
- * is flagged.
- * !0, 0: get oids within the pid, no attr returned. results in param. data
- * !0, 1: get oids within the pid. results are returned as described below:
- * - all parition object (since pid != 0) pages described in get attr
- * segment are returned in retrieved attr segment.
- * - for each oid computed by the LIST command all user object pages
- * described in get attr segment of CDB shall be returned in
- * command parition data
- * - if there is any page associated with root or collection objects
- * then error is flagged.
- */
-static int cdb_list(struct command *cmd)
-{
- int ret = 0;
- uint8_t *cdb = cmd->cdb;
- uint8_t list_attr = (cdb[11] & 0x40) >> 6;
- uint8_t sort_order = (cdb[11] & 0x0F);
- uint64_t pid = get_ntohll(&cdb[16]);
- uint32_t list_id = get_ntohl(&cdb[48]);
- uint64_t alloc_len = get_ntohll(&cdb[32]);
- uint64_t initial_oid = get_ntohll(&cdb[40]);
-
- if (cmd->getset_cdbfmt == GETPAGE_SETVALUE)
- goto out_cdb_err; /* TODO: implement this */
-
- if (list_attr == 1 && cmd->getset_cdbfmt == GETPAGE_SETVALUE)
- goto out_cdb_err;
-
- if (sort_order != 0)
- goto out_cdb_err;
-
- ret = parse_getattr_list(cmd, pid, initial_oid);
- if (ret)
- goto out_cdb_err;
-
- /*
- * TODO: not implementing the following:
- * get pids within root
- * get pids within root + their attrs
- * get/set attributes along with list for that
- * setvalue not implemented
- */
- return osd_list(cmd->osd, list_attr, pid, alloc_len, initial_oid,
- &cmd->get_attr, list_id, cmd->outdata,
- &cmd->used_outlen, cmd->sense);
-
- /* get/set attr not implemented */
-
-out_cdb_err:
- ret = sense_basic_build(cmd->sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid,
- initial_oid);
- return ret;
-}
-
-static int cdb_set_member_attributes(struct command *cmd, uint32_t cdb_cont_len)
-{
- int ret = 0;
- uint64_t pid = get_ntohll(&cmd->cdb[16]);
- uint64_t cid = get_ntohll(&cmd->cdb[24]);
-
- ret = parse_setattr_list(cmd, pid, cid);
- if (ret)
- goto out_cdb_err;
-
- ret = osd_set_member_attributes(cmd->osd, pid, cid, &cmd->set_attr,
- cdb_cont_len, cmd->sense);
- if (ret)
- return ret;
-
- /*
- * TODO: currently not setting any attributes in collection. Also not
- * getting any attributes, either for the collection or for the
- * objects within collection
- */
- return 0;
-
-out_cdb_err:
- ret = sense_basic_build(cmd->sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, cid);
- return ret;
-}
-
-
-static inline int std_get_set_attr(struct command *cmd, uint64_t pid,
- uint64_t oid, uint32_t cdb_cont_len)
-{
- int ret = set_attributes(cmd, pid, oid, 1, cdb_cont_len);
- if (ret)
- return ret;
-
- return get_attributes(cmd, pid, oid, 1, cdb_cont_len);
-}
-
-static int cdb_cas(struct command *cmd, uint32_t cdb_cont_len)
-{
- int ret = 0;
- uint8_t *cdb = cmd->cdb;
- uint64_t pid = get_ntohll(&cdb[16]);
- uint64_t oid = get_ntohll(&cdb[24]);
- uint64_t len = get_ntohll(&cdb[32]); /* len of cmp/swap */
- uint64_t off = get_ntohll(&cdb[40]); /* offset in dataout */
- uint64_t cmp, swap;
-
- if (cmd->outdata == NULL || cmd->indata == NULL)
- goto out_cdb_err;
-
- if (len < sizeof(swap))
- goto out_cdb_err;
-
- /*
- * cmp & swap always start at offset 0, get/set attributes follow
- * them
- */
- cmp = get_ntohll(&cmd->indata[0]);
- swap = get_ntohll(&cmd->indata[8]);
-
- ret = osd_cas(cmd->osd, pid, oid, cmp, swap, cmd->outdata + off,
- &cmd->used_outlen, cmd->sense);
- if (ret)
- return ret;
-
- ret = set_attributes(cmd, pid, oid, 1, cdb_cont_len);
- if (ret != 0)
- return ret;
- return get_attributes(cmd, pid, oid, 1, cdb_cont_len);
-
-out_cdb_err:
- ret = sense_basic_build(cmd->sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-}
-
-
-static int cdb_fa(struct command *cmd, uint32_t cdb_cont_len)
-{
- int ret = 0;
- uint8_t *cdb = cmd->cdb;
- uint64_t pid = get_ntohll(&cdb[16]);
- uint64_t oid = get_ntohll(&cdb[24]);
- uint64_t len = get_ntohll(&cdb[32]); /* datain len */
- uint64_t off = get_ntohll(&cdb[40]); /* offset in dataout */
- uint64_t add;
-
- if (cmd->outdata == NULL || cmd->indata == NULL)
- goto out_cdb_err;
-
- if (len < sizeof(add))
- goto out_cdb_err;
-
- /* add always start at offset 0, get/set attributes follow them */
- add = get_ntohll(&cmd->indata[0]);
-
- ret = osd_fa(cmd->osd, pid, oid, add, cmd->outdata + off,
- &cmd->used_outlen, cmd->sense);
- if (ret)
- return ret;
-
- ret = set_attributes(cmd, pid, oid, 1, cdb_cont_len);
- if (ret != 0)
- return ret;
- return get_attributes(cmd, pid, oid, 1, cdb_cont_len);
-
-out_cdb_err:
- ret = sense_basic_build(cmd->sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-}
-
-static int exec_gen_cas(struct command *cmd, uint64_t pid, uint64_t oid,
- const uint8_t **setattr_list, uint32_t *orig_page,
- uint32_t *orig_number, uint8_t **orig,
- uint16_t *orig_len, uint32_t *list_len,
- uint8_t *cas_res)
-{
- int ret;
- uint8_t pad, list_type;
- uint32_t page, number;
- const uint8_t *cmp, *swap;
- uint16_t cmp_len, swap_len;
- const uint8_t *list = *setattr_list;
- uint32_t setattr_list_len = get_ntohl(&cmd->cdb[68]);
-
- if (setattr_list_len < LIST_HDR_LEN) /* need atleast cmp & swap */
- goto out_param_list_err;
-
- list_type = list[0] & 0xF;
- if (list_type != RTRVD_SET_ATTR_LIST)
- goto out_param_list_err;
-
- *list_len = get_ntohl(&list[4]); /* XXX: osd errata */
- if ((*list_len + 8) != setattr_list_len)
- goto out_param_list_err;
- if (*list_len & 0x7) /* multiple of 8, values are padded */
- goto out_param_list_err;
-
- /* grab cmp & swap */
- list = &list[8]; /* XXX: osd errata */
- page = get_ntohl(&list[0]);
- number = get_ntohl(&list[4]);
- cmp_len = get_ntohs(&list[8]);
- if (cmp_len == 0)
- cmp = NULL;
- else
- cmp = &list[10];
- pad = (0x8 - ((LE_VAL_OFF + cmp_len) & 0x7)) & 0x7;
- list += LE_VAL_OFF + cmp_len + pad;
- *list_len -= LE_VAL_OFF + cmp_len + pad;
- if (*list_len < LE_VAL_OFF)
- goto out_cdb_err; /* need both cmp & swap */
- assert(page == get_ntohl(&list[0]));
- assert(number == get_ntohl(&list[4]));
- swap_len = get_ntohs(&list[8]);
- if (swap_len == 0)
- swap = NULL;
- else
- swap = &list[10];
- pad = (0x8 - ((LE_VAL_OFF + swap_len) & 0x7)) & 0x7;
- list += LE_VAL_OFF + swap_len + pad;
- *list_len -= LE_VAL_OFF + swap_len + pad;
- *setattr_list = list;
-
- *orig = NULL;
- *cas_res = 0;
- ret = osd_gen_cas(cmd->osd, pid, oid, page, number, cmp, cmp_len,
- swap, swap_len, orig, orig_len, cmd->sense);
- if (ret != OSD_OK) {
- cmd->senselen = ret;
- goto out_err;
- }
-
- if (*orig_len == cmp_len && memcmp(cmp, *orig, cmp_len) == 0)
- *cas_res = 1;
- *orig_page = page;
- *orig_number = number;
- return OSD_OK;
-
-out_cdb_err:
- return sense_basic_build(cmd->sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
-out_param_list_err:
- return sense_basic_build(cmd->sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_PARAMETER_LIST_LENGTH_ERROR, pid,
- oid);
-out_err:
- return ret;
-}
-
-
-static int exec_cas_setattr(struct command *cmd, uint64_t pid, uint64_t oid,
- const uint8_t *list, uint32_t list_len, uint32_t cdb_cont_len)
-{
- int ret;
- uint32_t page, number;
- uint16_t len;
- uint8_t pad;
-
- if (list_len < LE_VAL_OFF) /* need atleast one list entry */
- goto out_cdb_err;
-
- while (list_len > 0) {
- page = get_ntohl(&list[0]);
- number = get_ntohl(&list[4]);
- len = get_ntohs(&list[8]);
- pad = 0;
-
- ret = osd_set_attributes(cmd->osd, pid, oid, page, number,
- &list[10], len, TRUE, cdb_cont_len, cmd->sense);
- if (ret != 0) {
- cmd->senselen = ret;
- goto out_err;
- }
-
- pad = (0x8 - ((LE_VAL_OFF + len) & 0x7)) & 0x7;
- list += LE_VAL_OFF + len + pad;
- list_len -= LE_VAL_OFF + len + pad;
- }
- return OSD_OK;
-
-out_cdb_err:
- return sense_basic_build(cmd->sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
-out_err:
- return ret;
-}
-
-
-/*
- * Following the order of the indata where cmp and swap values are the first
- * entries in the list, in the retrieved attributes case also, the first
- * entry will be the original value returned by the CAS operation. But if
- * there are more attributes to be fetched, then we need to call
- * get_attributes function. Since get_attributes creates the whole list along
- * with header, we need a way to stuff original value in the front of the
- * list. To do this we tamper with the retrieved_attr_off so that
- * get_attributes creates its list at an offset. Then we stuff the original
- * value from CAS op after the list header making it the first entry.
- */
-static int exec_getattr(struct command *cmd, uint64_t pid, uint64_t oid,
- uint32_t orig_page, uint32_t orig_number,
- uint8_t *orig, uint16_t orig_len, uint32_t cdb_cont_len)
-{
- int ret;
- uint8_t *cp, *sp;
- uint8_t *cdb = cmd->cdb;
- uint64_t old_retr_attr_off;
- uint32_t alloc_len = get_ntohl(&cdb[60]);
- uint32_t list_len, orig_le_len;
-
- /* modify retrieved_attr_off, ignore 1st and then get attr */
- old_retr_attr_off = cmd->retrieved_attr_off;
- orig_le_len = roundup8(LE_VAL_OFF + orig_len);
- if (alloc_len - 8 < orig_le_len) /* need space for atleast le+hdr */
- goto out_cdb_err;
- cmd->retrieved_attr_off += orig_le_len;
- cp = &cmd->outdata[cmd->retrieved_attr_off];
- memset(cp, 0, LIST_HDR_LEN);
- set_htonl(&cdb[60], alloc_len - orig_le_len);
- ret = get_attributes(cmd, pid, oid, 1, cdb_cont_len);
- cmd->retrieved_attr_off = old_retr_attr_off;
- if (ret != OSD_OK)
- goto out_err;
- if (cp[0] != RTRVD_SET_ATTR_LIST) /* getattr list was empty */
- cp[0] = RTRVD_SET_ATTR_LIST;
-
- /* move header to the start of the buffer */
- cp = &cmd->outdata[old_retr_attr_off];
- sp = &cmd->outdata[old_retr_attr_off + orig_le_len];
- memcpy(cp, sp, LIST_HDR_LEN);
- cp += LIST_HDR_LEN;
-
- /* stuff original value from CAS operation */
- if (orig != NULL && orig_len > 0) {
- ret = le_pack_attr(cp, alloc_len - LIST_HDR_LEN, orig_page,
- orig_number, orig_len, orig);
- free(orig);
- orig = NULL;
- } else {
- ret = le_pack_attr(cp, alloc_len - LIST_HDR_LEN, orig_page,
- orig_number, 0, NULL);
- }
- if (ret <= 0) {
- goto out_cdb_err;
- } else {
- if (orig_le_len <= alloc_len - LIST_HDR_LEN)
- assert((uint32_t)ret == orig_le_len);
- else
- assert((uint32_t)ret == alloc_len - LIST_HDR_LEN);
- }
-
- /* modify list len to reflect new entry */
- cp -= LIST_HDR_LEN;
- list_len = get_ntohl(&cp[4]) + orig_le_len;
- set_htonl(&cp[4], list_len);
- cmd->get_used_outlen += list_len + 8;
- assert(cmd->get_used_outlen <= alloc_len);
- return OSD_OK;
-
-out_cdb_err:
- return sense_basic_build(cmd->sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
-out_err:
- return ret;
-}
-
-
-/*
- * OSD_GEN_CAS: the CAS operation is applied to the first attribute being
- * set. Even when there is only attribute, the set attribute value format
- * *CANNOT* be used, since initiator needs to pass two values: 'cmp' and
- * 'swap'. The 'cmp' and 'swap' will always be first and second values in
- * the set attribute list format.
- */
-static int cdb_gen_cas(struct command *cmd, int osd_cmd, uint32_t cdb_cont_len)
-{
- int ret;
- uint8_t *cdb = cmd->cdb;
- uint64_t pid = get_ntohll(&cdb[16]);
- uint64_t oid = get_ntohll(&cdb[24]);
- uint32_t list_len = 0;
- uint32_t list_off = get_ntohoffset(&cmd->cdb[72]);
- const uint8_t *list = &cmd->indata[list_off];
- const uint8_t *list_pos;
- uint8_t *orig;
- uint16_t orig_len;
- uint32_t orig_page = 0, orig_number = 0;
- uint8_t cas_res = 0;
-
- TICK_TRACE(cdb_gen_cas);
- if (cmd->getset_cdbfmt != GETLIST_SETLIST)
- goto out_cdb_err;
-
- ret = exec_gen_cas(cmd, pid, oid, &list, &orig_page, &orig_number,
- &orig, &orig_len, &list_len, &cas_res);
- if (ret != OSD_OK)
- goto out_err;
-
- if (osd_cmd == OSD_GEN_CAS && list_len == 0)
- goto get_attr;
- else if (osd_cmd == OSD_COND_SETATTR &&
- (list_len == 0 || cas_res == 0)) /* cas failed */
- goto get_attr;
-
- /* set remaining attributes */
- ret = exec_cas_setattr(cmd, pid, oid, list, list_len, cdb_cont_len);
- if (ret != OSD_OK)
- goto out_err;
-get_attr:
- ret = exec_getattr(cmd, pid, oid, orig_page, orig_number, orig,
- orig_len, cdb_cont_len);
- TICK_TRACE(cdb_gen_cas);
- if (ret == OSD_OK)
- return ret;
-
-out_cdb_err:
- if (orig)
- free(orig);
- return sense_basic_build(cmd->sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
-out_err:
- if (orig)
- free(orig);
- return ret;
-}
-
-/*
- * Compare, and complain if iscsi did not deliver enough bytes to
- * satisfy the WRITE. It could deliver more for padding, so don't
- * check for exact.
- */
-static int verify_enough_input_data(struct command *cmd, uint64_t cdblen)
-{
- int ret = 0;
-
- if (cdblen > cmd->inlen) {
- osd_error("%s: supplied data %llu but cdb says %llu",
- __func__, llu(cmd->inlen), llu(cdblen));
- ret = osd_error_bad_cdb(cmd->sense);
- }
- return ret;
-}
-
-static void exec_service_action(struct command *cmd)
-{
- struct osd_device *osd = cmd->osd;
- uint8_t *cdb = cmd->cdb;
- uint8_t *sense = cmd->sense;
- uint32_t cdb_cont_len = get_ntohl(&cdb[48]);
- uint64_t pid = get_ntohll(&cdb[16]);
- uint64_t oid = get_ntohll(&cdb[24]);
- int ret;
-
-// osd_debug("%s: start 0x%04x", __func__, cmd->action);
-
- if (cdb_cont_len != 0) {
- if (((cdb_cont_len % 8) != 0) || (cdb_cont_len > 48)) {
- /* need to check if cdb_cont_len is greater than the value in the
- maximum CDB continuation length attribute in the root information
- attributes page (7.1.3.8)*/
- ret = sense_basic_build(cmd->sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- }
- }
-
- switch (cmd->action) {
- case OSD_APPEND: {
- uint8_t ddt = cdb[10];
- uint64_t pid = get_ntohll(&cdb[16]);
- uint64_t oid = get_ntohll(&cdb[24]);
- uint64_t len = get_ntohll(&cdb[32]);
-
- ret = verify_enough_input_data(cmd, len);
- if (ret)
- break;
-
- ret = osd_append(osd, pid, oid, len, cmd->indata, cdb_cont_len, sense, ddt);
- if (ret)
- break;
-
- ret = std_get_set_attr(cmd, pid, oid, cdb_cont_len);
- break;
- }
-
- case OSD_CLEAR: {
- uint64_t pid = get_ntohll(&cdb[16]);
- uint64_t oid = get_ntohll(&cdb[24]);
- uint64_t len = get_ntohll(&cdb[32]);
- uint64_t offset = get_ntohll(&cdb[40]);
-
- ret = osd_clear(osd, pid, oid, len, offset, cdb_cont_len, sense);
- if (ret)
- break;
-
- ret = std_get_set_attr(cmd, pid, oid, cdb_cont_len);
- break;
- }
-
- case OSD_COPY_USER_OBJECTS: {
- ret = cdb_copy_user_objects(cmd, cdb_cont_len);
- break;
- }
-
- case OSD_CREATE: {
- ret = cdb_create(cmd, cdb_cont_len);
- break;
- }
- case OSD_CREATE_AND_WRITE: {
- uint8_t ddt = cdb[10];
- uint64_t pid = get_ntohll(&cdb[16]);
- uint64_t requested_oid = get_ntohll(&cdb[24]);
- uint64_t len = get_ntohll(&cdb[32]);
- uint64_t offset = get_ntohll(&cdb[40]);
-
- ret = verify_enough_input_data(cmd, len);
- if (ret)
- break;
- ret = osd_create_and_write(osd, pid, requested_oid, len,
- offset, cmd->indata, cdb_cont_len, sense, ddt);
- break;
- }
- case OSD_CREATE_COLLECTION: {
- ret = cdb_create_collection(cmd, cdb_cont_len);
- break;
- }
- case OSD_CREATE_PARTITION: {
- ret = cdb_create_partition(cmd, cdb_cont_len);
- break;
- }
- case OSD_CREATE_USER_TRACKING_COLLECTION: {
- uint64_t pid = get_ntohll(&cdb[16]);
- uint64_t requested_cid = get_ntohll(&cdb[24]);
- uint64_t source_cid = get_ntohll(&cdb[40]);
-
- ret = osd_create_user_tracking_collection(osd, pid, requested_cid,
- cdb_cont_len, source_cid, sense);
- break;
- }
- case OSD_FLUSH: {
- uint64_t pid = get_ntohll(&cdb[16]);
- uint64_t oid = get_ntohll(&cdb[24]);
- uint64_t len = get_ntohll(&cdb[32]);
- uint64_t offset = get_ntohll(&cdb[40]);
- int flush_scope = cdb[10] & 0x3;
-
- ret = osd_flush(osd, pid, oid, len, offset, flush_scope, cdb_cont_len, sense);
- break;
- }
- case OSD_FLUSH_COLLECTION: {
- uint64_t pid = get_ntohll(&cdb[16]);
- uint64_t cid = get_ntohll(&cdb[24]);
- int flush_scope = cdb[10] & 0x3;
-
- ret = osd_flush_collection(osd, pid, cid, flush_scope, cdb_cont_len, sense);
- break;
- }
- case OSD_FLUSH_OSD: {
- int flush_scope = cdb[10] & 0x3;
-
- ret = osd_flush_osd(osd, flush_scope, cdb_cont_len, sense);
- break;
- }
- case OSD_FLUSH_PARTITION: {
- uint64_t pid = get_ntohll(&cdb[16]);
- int flush_scope = cdb[10] & 0x3;
- ret = osd_flush_partition(osd, pid, flush_scope, cdb_cont_len, sense);
- break;
- }
- case OSD_FORMAT_OSD: {
- uint64_t capacity = get_ntohll(&cdb[32]);
- ret = osd_format_osd(osd, capacity, cdb_cont_len, sense);
- /* TODO: what is corresponding get/set attr? */
- break;
- }
- case OSD_GET_ATTRIBUTES: {
- uint64_t pid = get_ntohll(&cdb[16]);
- uint64_t oid = get_ntohll(&cdb[24]);
-
- ret = get_attributes(cmd, pid, oid, 1, cdb_cont_len);
- if (ret)
- break;
- ret = set_attributes(cmd, pid, oid, 1, cdb_cont_len);
- break;
-
- }
- case OSD_GET_MEMBER_ATTRIBUTES: {
- uint64_t pid = get_ntohll(&cdb[16]);
- uint64_t cid = get_ntohll(&cdb[24]);
- ret = osd_get_member_attributes(osd, pid, cid, cdb_cont_len, sense);
- break;
- }
- case OSD_LIST: {
- ret = cdb_list(cmd);
- break;
- }
- case OSD_LIST_COLLECTION: {
- uint8_t list_attr = (cdb[11] & 0x40) >> 6;
- uint64_t pid = get_ntohll(&cdb[16]);
- uint64_t cid = get_ntohll(&cdb[24]);
- uint32_t list_id = get_ntohl(&cdb[48]);
- uint64_t alloc_len = get_ntohll(&cdb[32]);
- uint64_t initial_oid = get_ntohll(&cdb[40]);
- ret = osd_list_collection(cmd->osd, list_attr, pid, cid,
- alloc_len, initial_oid,
- &cmd->get_attr, list_id,
- cmd->outdata, &cmd->used_outlen,
- cmd->sense);
- if (ret)
- break;
-
- ret = std_get_set_attr(cmd, pid, cid, cdb_cont_len);
- break;
- }
- case OSD_PERFORM_SCSI_COMMAND:
- case OSD_PERFORM_TASK_MGMT_FUNC:
- ret = osd_error_unimplemented(cmd->action, sense);
- // XXX : uncomment get/set attributes block whenever this
- // gets implemented
- /*if (ret)
- break;
-
- ret = std_get_set_attr(cmd, pid, oid);*/
- break;
-
- case OSD_PUNCH: {
- uint64_t pid = get_ntohll(&cdb[16]);
- uint64_t oid = get_ntohll(&cdb[24]);
- uint64_t len = get_ntohll(&cdb[32]);
- uint64_t offset = get_ntohll(&cdb[40]);
- ret = osd_punch(osd, pid, oid, len, offset, cdb_cont_len, sense);
- if (ret)
- break;
-
- ret = std_get_set_attr(cmd, pid, oid, cdb_cont_len);
- break;
-
- }
-
- case OSD_QUERY: {
- uint64_t pid = get_ntohll(&cdb[16]);
- uint64_t cid = get_ntohll(&cdb[24]);
- uint32_t query_list_len = get_ntohl(&cdb[48]);
- uint64_t alloc_len = get_ntohll(&cdb[32]);
- ret = osd_query(osd, pid, cid, query_list_len, alloc_len,
- cmd->indata, cmd->outdata, &cmd->used_outlen,
- cdb_cont_len, sense);
- if (ret)
- break;
-
- ret = std_get_set_attr(cmd, pid, cid, cdb_cont_len);
- break;
- }
-
- case OSD_READ_MAP: {
- ret = cdb_read_map(cmd, cdb_cont_len);
- break;
- }
-
- case OSD_READ: {
- ret = cdb_read(cmd, cdb_cont_len);
- break;
- }
- case OSD_REMOVE: {
- ret = cdb_remove(cmd, cdb_cont_len);
- break;
- }
- case OSD_REMOVE_COLLECTION: {
- uint8_t fcr = (cdb[11] & 0x1);
- uint64_t pid = get_ntohll(&cdb[16]);
- uint64_t cid = get_ntohll(&cdb[24]);
- ret = osd_remove_collection(osd, pid, cid, fcr, cdb_cont_len, sense);
- break;
- }
- case OSD_REMOVE_MEMBER_OBJECTS: {
- uint64_t pid = get_ntohll(&cdb[16]);
- uint64_t cid = get_ntohll(&cdb[24]);
- ret = osd_remove_member_objects(osd, pid, cid, cdb_cont_len, sense);
- break;
- }
- case OSD_REMOVE_PARTITION: {
- ret = cdb_remove_partition(cmd, cdb_cont_len);
- break;
- }
- case OSD_SET_ATTRIBUTES: {
- uint64_t pid = get_ntohll(&cdb[16]);
- uint64_t oid = get_ntohll(&cdb[24]);
-
- TICK_TRACE(cdb_set_attributes);
- ret = set_attributes(cmd, pid, oid, 1, cdb_cont_len);
- if (ret)
- break;
- ret = get_attributes(cmd, pid, oid, 1, cdb_cont_len);
- TICK_TRACE(cdb_set_attributes);
- break;
- }
- case OSD_SET_KEY: {
- int key_to_set = cdb[11] & 0x3;
- uint64_t pid = get_ntohll(&cdb[16]);
- uint64_t key = get_ntohll(&cdb[24]);
- uint8_t seed[20];
- memcpy(seed, &cdb[32], 20);
- ret = osd_set_key(osd, key_to_set, pid, key, seed, sense);
- break;
- }
- case OSD_SET_MASTER_KEY: {
- int dh_step = cdb[11] & 0x3;
- uint64_t key = get_ntohll(&cdb[24]);
- uint32_t param_len = get_ntohl(&cdb[32]);
- uint32_t alloc_len = get_ntohl(&cdb[36]);
- ret = osd_set_master_key(osd, dh_step, key, param_len,
- alloc_len, cmd->outdata,
- &cmd->used_outlen, cdb_cont_len, sense);
- break;
- }
- case OSD_SET_MEMBER_ATTRIBUTES: {
- ret = cdb_set_member_attributes(cmd, cdb_cont_len);
- break;
- }
- case OSD_WRITE: {
- uint64_t pid = get_ntohll(&cdb[16]);
- uint64_t oid = get_ntohll(&cdb[24]);
- uint64_t len = get_ntohll(&cdb[32]);
- uint64_t offset = get_ntohll(&cdb[40]);
- uint8_t ddt = cdb[10];
- ret = verify_enough_input_data(cmd, len);
- if (ret)
- break;
- ret = osd_write(osd, pid, oid, len, offset, cmd->indata,
- cdb_cont_len, sense, ddt);
- if (ret)
- break;
-
- ret = std_get_set_attr(cmd, pid, oid, cdb_cont_len);
- break;
- }
- case OSD_CAS: {
- ret = cdb_cas(cmd, cdb_cont_len);
- break;
- }
- case OSD_FA: {
- ret = cdb_fa(cmd, cdb_cont_len);
- break;
- }
- case OSD_GEN_CAS: {
- ret = cdb_gen_cas(cmd, OSD_GEN_CAS, cdb_cont_len);
- break;
- }
- case OSD_COND_SETATTR: {
- ret = cdb_gen_cas(cmd, OSD_COND_SETATTR, cdb_cont_len);
- break;
- }
- default:
- ret = osd_error_unimplemented(cmd->action, sense);
- }
-
- if (ret)
- osd_debug("%s: done 0x%04x => %d", __func__, cmd->action, ret);
-
- /*
- * All the above return bytes of sense data put into sense[]
- * in case of an error. But sometimes they also return good
- * data. Just save the senselen here and continue.
- */
- cmd->senselen = ret;
-}
-
-/*
- * What's the total number of bytes this command might produce? Look
- * only at the CDB parameters, not the iSCSI transport lengths.
- */
-static int calc_max_out_len(struct command *cmd)
-{
- uint64_t end = 0;
-
- /* These commands return data. */
- switch (cmd->action) {
- case OSD_LIST:
- case OSD_LIST_COLLECTION:
- case OSD_READ:
- case OSD_QUERY:
- case OSD_CAS:
- case OSD_FA:
- case OSD_GEN_CAS:
- cmd->outlen = get_ntohll(&cmd->cdb[32]);
- break;
- case OSD_SET_MASTER_KEY:
- cmd->outlen = get_ntohl(&cmd->cdb[36]);
- break;
- default:
- cmd->outlen = 0;
- }
-
- /*
- * All commands might have getattr requests. Add together
- * the result offset and the allocation length to get the
- * end of their write.
- */
- cmd->retrieved_attr_off = 0;
- if (cmd->getset_cdbfmt == GETPAGE_SETVALUE) {
- cmd->retrieved_attr_off = get_ntohoffset(&cmd->cdb[60]);
- if (cmd->retrieved_attr_off != -1LLU)
- end = cmd->retrieved_attr_off + get_ntohl(&cmd->cdb[56]);
- } else if (cmd->getset_cdbfmt == GETLIST_SETLIST) {
- cmd->retrieved_attr_off = get_ntohoffset(&cmd->cdb[64]);
- if (cmd->retrieved_attr_off != -1LLU)
- end = cmd->retrieved_attr_off + get_ntohl(&cmd->cdb[60]);
- } else if (cmd->getset_cdbfmt == GETFIELD_SETVALUE) {
- return 0;
- } else {
- return -1; /* TODO: proper error code */
- }
-
- if (end > cmd->outlen)
- cmd->outlen = end;
-
- return 0 /* TODO: proper error code */;
-}
-
-/*
- * Inputs are write data from client. Output are for the read results that
- * OSD will produce. You can modify the data_out and data_out_len to return
- * a new buffer, or short read result.
- */
-int osdemu_cmd_submit(struct osd_device *osd, uint8_t *cdb,
- const uint8_t *data_in, uint64_t data_in_len,
- uint8_t **data_out, uint64_t *data_out_len,
- uint8_t *sense_out, int *senselen_out)
-{
- int ret = 0;
- struct command cmd = {
- .osd = osd,
- .cdb = cdb,
- .action = (cdb[8] << 8) | cdb[9],
- .getset_cdbfmt = (cdb[11] & 0x30) >> 4,
- .get_attr = {
- .sz = 0,
- .le = 0,
- },
- .set_attr = {
- .sz = 0,
- .le = 0,
- },
- .indata = data_in,
- .inlen = data_in_len,
- .outdata = NULL,
- .used_outlen = 0,
- .get_used_outlen = 0,
- .sense = { 0 }, /* maybe no need to initialize to zero */
- .senselen = 0,
- };
-
- /* check cdb opcode and length */
- if (cdb[0] != VARLEN_CDB || cdb[7] != OSD_CDB_SIZE - 8)
- goto out_opcode_err;
-
- /* Sets retrieved_attr_off, outlen. */
- ret = calc_max_out_len(&cmd);
- if (ret < 0)
- goto out_cdb_err;
-
- if (*data_out != NULL) {
- cmd.outdata = *data_out; /* use buffer from iscsi */
- /* verify sane initiator, but should give underflow instead */
- if (cmd.outlen != *data_out_len)
- goto out_cdb_err;
- } else {
- if (cmd.outlen) {
- /* old way: malloc our own outbuf, iscsi will free it */
- cmd.outdata = Malloc(cmd.outlen);
- if (!cmd.outdata)
- goto out_hw_err;
- }
- }
-
- exec_service_action(&cmd); /* run the command. */
-
- /*
- * If some retrieved attributes are going back (get_used_outlen),
- * advance the overall used_outlen value, and possibly zero the
- * unused bytes of the data section.
- *
- * If the retrieved attribute offset was -1, though, there should be
- * no get_used_outlen. But we'll check anyway.
- */
- if (cmd.get_used_outlen > 0 && cmd.retrieved_attr_off != -1LLU) {
- /* Unused data-in bytes must contain zero, says the spec. */
- if (cmd.used_outlen < cmd.retrieved_attr_off)
- memset(cmd.outdata + cmd.used_outlen, 0,
- cmd.retrieved_attr_off - cmd.used_outlen);
- cmd.used_outlen = cmd.retrieved_attr_off + cmd.get_used_outlen;
- }
-
- /* Return the data buffer and get attributes. */
- if (cmd.outlen > 0) {
- assert(cmd.used_outlen <= cmd.outlen);
- if (cmd.used_outlen > 0) {
- *data_out = cmd.outdata;
- *data_out_len = cmd.used_outlen;
- } else {
- goto out_free_resource;
- }
- }
- goto out;
-
-out_opcode_err:
- cmd.senselen = sense_header_build(cmd.sense, sizeof(cmd.sense),
- OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_COMMAND_OPCODE, 0);
- goto out_free_resource;
-
-out_cdb_err:
- cmd.senselen = sense_header_build(cmd.sense, sizeof(cmd.sense),
- OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, 0);
- goto out_free_resource;
-
-out_hw_err:
- cmd.senselen = sense_header_build(cmd.sense, sizeof(cmd.sense),
- OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_SYSTEM_RESOURCE_FAILURE, 0);
- goto out_free_resource;
-
-out_free_resource:
- if (cmd.outlen && *data_out == NULL)
- free(cmd.outdata); /* old way */
- *data_out_len = 0;
-
-out:
- if (cmd.senselen == 0) {
- return SAM_STAT_GOOD;
- } else {
- /* valid sense data, length is ret, maybe good data too */
- *senselen_out = cmd.senselen;
- memcpy(sense_out, cmd.sense, cmd.senselen);
- return SAM_STAT_CHECK_CONDITION;
- }
-}
-
diff --git a/oldcode/src/gsl/resources/storage/osd-target/cdb.h b/oldcode/src/gsl/resources/storage/osd-target/cdb.h
deleted file mode 100644
index e60b88a..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/cdb.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Single interface from stgt to OSD software implementation.
- *
- * Copyright (C) 2007 OSD Team <pvfs-osd(a)osc.edu>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#ifndef __CDB_H
-#define __CDB_H
-
-/* module interface */
-struct osd_device;
-
-struct osd_device *osd_device_alloc(void);
-void osd_device_free(struct osd_device *osd);
-int osd_open(const char *root, struct osd_device *osd);
-int osd_close(struct osd_device *osd);
-int osdemu_cmd_submit(struct osd_device *osd, uint8_t *cdb,
- const uint8_t *data_in, uint64_t data_in_len,
- uint8_t **data_out, uint64_t *data_out_len,
- uint8_t *sense_out, int *senselen_out);
-
-#endif /* __CDB_H */
diff --git a/oldcode/src/gsl/resources/storage/osd-target/coll.c b/oldcode/src/gsl/resources/storage/osd-target/coll.c
deleted file mode 100644
index 75df441..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/coll.c
+++ /dev/null
@@ -1,457 +0,0 @@
-/*
- * Collections.
- *
- * Copyright (C) 2007 OSD Team <pvfs-osd(a)osc.edu>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include <stdlib.h>
-#include <stdio.h>
-#include <sqlite3.h>
-#include <errno.h>
-#include <string.h>
-#include <assert.h>
-#include <sys/stat.h>
-
-#include "osd-types.h"
-#include "osd-defs.h"
-#include "db.h"
-#include "coll.h"
-#include "osd-util.h"
-#include "list-entry.h"
-
-/*
- * coll table stores many-to-many relationship between userobjects and
- * collections. Using this table members of a collection and collections to
- * which an object belongs can be computed efficiently.
- */
-
-static const char *coll_tab_name = "coll";
-struct coll_tab {
- char *name; /* name of the table */
- sqlite3_stmt *insert; /* insert a row */
- sqlite3_stmt *delete; /* delete a row */
- sqlite3_stmt *delcid; /* delete collection cid */
- sqlite3_stmt *deloid; /* delete oid from all collections */
- sqlite3_stmt *emptycid; /* is collection empty? */
- sqlite3_stmt *getcid; /* get collection */
- sqlite3_stmt *getoids; /* get objects in a collection */
- sqlite3_stmt *copyoids; /* copy oids from one collection to another */
-};
-
-
-/*
- * returns:
- * -ENOMEM: out of memory
- * -EINVAL: invalid args
- * -EIO: if any prepare statement fails
- * OSD_OK: success
- */
-int coll_initialize(struct db_context *dbc)
-{
- int ret = 0;
- int sqlret = 0;
- char SQL[MAXSQLEN];
-
- if (dbc == NULL || dbc->db == NULL) {
- ret = -EINVAL;
- goto out;
- }
-
- if (dbc->coll != NULL) {
- if (strcmp(dbc->coll->name, coll_tab_name) != 0) {
- ret = -EINVAL;
- goto out;
- } else {
- coll_finalize(dbc);
- }
- }
-
- dbc->coll = Calloc(1, sizeof(*dbc->coll));
- if (!dbc->coll) {
- ret = -ENOMEM;
- goto out;
- }
-
- dbc->coll->name = strdup(coll_tab_name);
- if (!dbc->coll->name) {
- ret = -ENOMEM;
- goto out;
- }
-
- sprintf(SQL, "INSERT INTO %s VALUES (?, ?, ?, ?);", dbc->coll->name);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->coll->insert, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_insert;
-
- sprintf(SQL, "DELETE FROM %s WHERE pid = ? AND cid = ? AND oid = ?;",
- dbc->coll->name);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->coll->delete, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_delete;
-
- sprintf(SQL, "DELETE FROM %s WHERE pid = ? AND cid = ?;",
- dbc->coll->name);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->coll->delcid, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_delcid;
-
- sprintf(SQL, "DELETE FROM %s WHERE pid = ? AND oid = ?;",
- dbc->coll->name);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->coll->deloid, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_deloid;
-
- sprintf(SQL, "SELECT COUNT (*) FROM %s WHERE pid = ? AND cid = ? "
- " LIMIT 1;", dbc->coll->name);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->coll->emptycid, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_emptycid;
-
- sprintf(SQL, "SELECT cid FROM %s WHERE pid = ? AND oid = ? AND "
- " number = ?;", dbc->coll->name);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->coll->getcid, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_getcid;
-
- sprintf(SQL, "SELECT oid FROM %s WHERE pid = ? AND cid = ? AND "
- " oid >= ?;", dbc->coll->name);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->coll->getoids, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_getoids;
-
- sprintf(SQL, "INSERT INTO %s SELECT ?, ?, oid, 0 FROM %s WHERE "
- "pid = ? AND cid = ?;", dbc->coll->name, dbc->coll->name);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->coll->copyoids, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_copyoids;
-
- ret = OSD_OK; /* success */
- goto out;
-
-out_finalize_copyoids:
- db_sqfinalize(dbc->db, dbc->coll->copyoids, SQL);
- SQL[0] = '\0';
-out_finalize_getoids:
- db_sqfinalize(dbc->db, dbc->coll->getoids, SQL);
- SQL[0] = '\0';
-out_finalize_getcid:
- db_sqfinalize(dbc->db, dbc->coll->getcid, SQL);
- SQL[0] = '\0';
-out_finalize_emptycid:
- db_sqfinalize(dbc->db, dbc->coll->emptycid, SQL);
- SQL[0] = '\0';
-out_finalize_deloid:
- db_sqfinalize(dbc->db, dbc->coll->deloid, SQL);
- SQL[0] = '\0';
-out_finalize_delcid:
- db_sqfinalize(dbc->db, dbc->coll->delcid, SQL);
- SQL[0] = '\0';
-out_finalize_delete:
- db_sqfinalize(dbc->db, dbc->coll->delete, SQL);
- SQL[0] = '\0';
-out_finalize_insert:
- db_sqfinalize(dbc->db, dbc->coll->insert, SQL);
- ret = -EIO;
-out:
- return ret;
-}
-
-
-int coll_finalize(struct db_context *dbc)
-{
- if (!dbc || !dbc->coll)
- return OSD_ERROR;
-
- /* finalize statements; ignore return values */
- sqlite3_finalize(dbc->coll->insert);
- sqlite3_finalize(dbc->coll->delete);
- sqlite3_finalize(dbc->coll->delcid);
- sqlite3_finalize(dbc->coll->deloid);
- sqlite3_finalize(dbc->coll->emptycid);
- sqlite3_finalize(dbc->coll->getcid);
- sqlite3_finalize(dbc->coll->getoids);
- sqlite3_finalize(dbc->coll->copyoids);
- free(dbc->coll->name);
- free(dbc->coll);
- dbc->coll = NULL;
-
- return OSD_OK;
-}
-
-
-const char *coll_getname(struct db_context *dbc)
-{
- if (dbc == NULL || dbc->coll == NULL)
- return NULL;
- return dbc->coll->name;
-}
-
-
-/*
- * @pid: partition id
- * @cid: collection id
- * @oid: userobject id
- * @number: attribute number of cid in CAP of oid
- *
- * returns:
- * -EINVAL: invalid arg
- * OSD_ERROR: some other error
- * OSD_OK: success
- */
-int coll_insert(struct db_context *dbc, uint64_t pid, uint64_t cid,
- uint64_t oid, uint32_t number)
-{
- int ret = 0;
-
- assert(dbc && dbc->db && dbc->coll && dbc->coll->insert);
-
-repeat:
- ret = 0;
- ret |= sqlite3_bind_int64(dbc->coll->insert, 1, pid);
- ret |= sqlite3_bind_int64(dbc->coll->insert, 2, cid);
- ret |= sqlite3_bind_int64(dbc->coll->insert, 3, oid);
- ret |= sqlite3_bind_int(dbc->coll->insert, 4, number);
- ret = db_exec_dms(dbc, dbc->coll->insert, ret, __func__);
- if (ret == OSD_REPEAT)
- goto repeat;
-
- return ret;
-}
-
-/*
- * @pid: partition id
- * @dest_cid: destination collection id (typically user tracking collection)
- * @source_cid: source collection id (whose objects will be tracked)
- *
- * returns:
- * -EINVAL: invalid arg
- * OSD_ERROR: some other error
- * OSD_OK: success
- */
-int coll_copyoids(struct db_context *dbc, uint64_t pid, uint64_t dest_cid,
- uint64_t source_cid)
-{
- int ret = 0;
-
- assert(dbc && dbc->db && dbc->coll && dbc->coll->copyoids);
-
-repeat:
- ret = 0;
- ret |= sqlite3_bind_int64(dbc->coll->copyoids, 1, pid);
- ret |= sqlite3_bind_int64(dbc->coll->copyoids, 2, dest_cid);
- ret |= sqlite3_bind_int64(dbc->coll->copyoids, 3, pid);
- ret |= sqlite3_bind_int64(dbc->coll->copyoids, 4, source_cid);
- ret = db_exec_dms(dbc, dbc->coll->copyoids, ret, __func__);
- if (ret == OSD_REPEAT)
- goto repeat;
-
- return ret;
-}
-
-
-/*
- * returns:
- * -EINVAL: invalid arg
- * OSD_ERROR: some other error
- * OSD_OK: success
- */
-int coll_delete(struct db_context *dbc, uint64_t pid, uint64_t cid,
- uint64_t oid)
-{
- int ret = 0;
-
- assert(dbc && dbc->db && dbc->coll && dbc->coll->delete);
-
-repeat:
- ret = 0;
- ret |= sqlite3_bind_int64(dbc->coll->delete, 1, pid);
- ret |= sqlite3_bind_int64(dbc->coll->delete, 2, cid);
- ret |= sqlite3_bind_int64(dbc->coll->delete, 3, oid);
- ret = db_exec_dms(dbc, dbc->coll->delete, ret, __func__);
- if (ret == OSD_REPEAT)
- goto repeat;
-
- return ret;
-}
-
-
-/*
- * returns:
- * -EINVAL: invalid arg
- * OSD_ERROR: some other error
- * OSD_OK: success
- */
-int coll_delete_cid(struct db_context *dbc, uint64_t pid, uint64_t cid)
-{
- int ret = 0;
-
- assert(dbc && dbc->db && dbc->coll && dbc->coll->delcid);
-
-repeat:
- ret = 0;
- ret |= sqlite3_bind_int64(dbc->coll->delcid, 1, pid);
- ret |= sqlite3_bind_int64(dbc->coll->delcid, 2, cid);
- ret = db_exec_dms(dbc, dbc->coll->delcid, ret, __func__);
- if (ret == OSD_REPEAT)
- goto repeat;
-
- return ret;
-}
-
-
-/*
- * returns:
- * -EINVAL: invalid arg
- * OSD_ERROR: some other error
- * OSD_OK: success
- */
-int coll_delete_oid(struct db_context *dbc, uint64_t pid, uint64_t oid)
-{
- int ret = 0;
-
- assert(dbc && dbc->db && dbc->coll && dbc->coll->deloid);
-
-repeat:
- ret = 0;
- ret |= sqlite3_bind_int64(dbc->coll->deloid, 1, pid);
- ret |= sqlite3_bind_int64(dbc->coll->deloid, 2, oid);
- ret = db_exec_dms(dbc, dbc->coll->deloid, ret, __func__);
- if (ret == OSD_REPEAT)
- goto repeat;
-
- return ret;
-}
-
-
-/*
- * tests whether collection is empty.
- *
- * returns:
- * -EINVAL: invalid arg, ignore value of isempty
- * OSD_ERROR: in case of other errors, ignore value of isempty
- * OSD_OK: success, isempty is set to:
- * ==1: if collection is empty or absent
- * ==0: if not empty
- */
-int coll_isempty_cid(struct db_context *dbc, uint64_t pid, uint64_t cid,
- int *isempty)
-{
- int ret = 0;
- int bound = 0;
- *isempty = 0;
-
- assert(dbc && dbc->db && dbc->coll && dbc->coll->emptycid);
-
-repeat:
- ret = 0;
- ret |= sqlite3_bind_int64(dbc->coll->emptycid, 1, pid);
- ret |= sqlite3_bind_int64(dbc->coll->emptycid, 2, cid);
- bound = (ret == SQLITE_OK);
- if (!bound) {
- error_sql(dbc->db, "%s: bind failed", __func__);
- goto out_reset;
- }
-
- while ((ret = sqlite3_step(dbc->coll->emptycid)) == SQLITE_BUSY);
- if (ret == SQLITE_ROW)
- *isempty = (0 == sqlite3_column_int(dbc->coll->emptycid, 0));
-
-out_reset:
- ret = db_reset_stmt(dbc, dbc->coll->emptycid, bound, __func__);
- if (ret == OSD_REPEAT)
- goto repeat;
-out:
- return ret;
-}
-
-
-/*
- * returns:
- * -EINVAL: invalid arg, cid is not set
- * OSD_ERROR: in case of any error, cid is not set
- * OSD_OK: success, cid is set to proper collection id
- */
-int coll_get_cid(struct db_context *dbc, uint64_t pid, uint64_t oid,
- uint32_t number, uint64_t *cid)
-{
- int ret = 0;
- int bound = 0;
-
- assert(dbc && dbc->db && dbc->coll && dbc->coll->getcid);
-
-repeat:
- ret = 0;
- ret |= sqlite3_bind_int64(dbc->coll->getcid, 1, pid);
- ret |= sqlite3_bind_int64(dbc->coll->getcid, 2, oid);
- ret |= sqlite3_bind_int64(dbc->coll->getcid, 3, number);
- bound = (ret == SQLITE_OK);
- if (!bound) {
- error_sql(dbc->db, "%s: bind failed", __func__);
- goto out_reset;
- }
-
- while ((ret = sqlite3_step(dbc->coll->getcid)) == SQLITE_BUSY);
- if (ret == SQLITE_ROW)
- *cid = sqlite3_column_int64(dbc->coll->getcid, 0);
-
-out_reset:
- ret = db_reset_stmt(dbc, dbc->coll->getcid, bound, __func__);
- if (ret == OSD_REPEAT)
- goto repeat;
-out:
- return ret;
-}
-
-
-/*
- * returns:
- * -EINVAL: invalid arg
- * OSD_ERROR: other errors
- * OSD_OK: success, oids copied into outbuf, cont_id set if necessary
- */
-int coll_get_oids_in_cid(struct db_context *dbc, uint64_t pid, uint64_t cid,
- uint64_t initial_oid, uint64_t alloc_len,
- uint8_t *outdata, uint64_t *used_outlen,
- uint64_t *add_len, uint64_t *cont_id)
-{
- int ret = 0;
- uint64_t len = 0;
- sqlite3_stmt *stmt = NULL;
-
- assert(dbc && dbc->db && dbc->coll && dbc->coll->getoids);
-
-repeat:
- ret = 0;
- stmt = dbc->coll->getoids;
- ret |= sqlite3_bind_int64(stmt, 1, pid);
- ret |= sqlite3_bind_int64(stmt, 2, cid);
- ret |= sqlite3_bind_int64(stmt, 3, initial_oid);
- ret = db_exec_id_rtrvl_stmt(dbc, stmt, ret, __func__, alloc_len,
- outdata, used_outlen, add_len, cont_id);
- if (ret == OSD_REPEAT)
- goto repeat;
-
- return ret;
-}
-
-/*
- * Collection Attributes Page (CAP) of a userobject stores its membership in
- * collections osd2r01 Sec 7.1.2.19.
- */
-int coll_get_cap(sqlite3 *db, uint64_t pid, uint64_t oid, void *outbuf,
- uint64_t outlen, uint8_t listfmt, uint32_t *used_outlen)
-{
- return OSD_ERROR;
-}
-
diff --git a/oldcode/src/gsl/resources/storage/osd-target/coll.h b/oldcode/src/gsl/resources/storage/osd-target/coll.h
deleted file mode 100644
index cb572a0..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/coll.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Collections.
- *
- * Copyright (C) 2007 OSD Team <pvfs-osd(a)osc.edu>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#ifndef __COLL_H
-#define __COLL_H
-
-#include <sqlite3.h>
-#include "osd-types.h"
-
-
-int coll_initialize(struct db_context *dbc);
-
-int coll_finalize(struct db_context *dbc);
-
-const char *coll_getname(struct db_context *dbc);
-
-int coll_insert(struct db_context *dbc, uint64_t pid, uint64_t cid,
- uint64_t oid, uint32_t number);
-
-int coll_delete(struct db_context *dbc, uint64_t pid, uint64_t cid,
- uint64_t oid);
-
-int coll_delete_cid(struct db_context *dbc, uint64_t pid, uint64_t cid);
-
-int coll_delete_oid(struct db_context *dbc, uint64_t pid, uint64_t oid);
-
-int coll_isempty_cid(struct db_context *dbc, uint64_t pid, uint64_t cid,
- int *isempty);
-
-int coll_get_cid(struct db_context *dbc, uint64_t pid, uint64_t oid,
- uint32_t number, uint64_t *cid);
-
-int coll_get_cap(sqlite3 *db, uint64_t pid, uint64_t oid, void *outbuf,
- uint64_t outlen, uint8_t listfmt, uint32_t *used_outlen);
-
-int coll_get_oids_in_cid(struct db_context *dbc, uint64_t pid, uint64_t cid,
- uint64_t initial_oid, uint64_t alloc_len,
- uint8_t *outdata, uint64_t *used_outlen,
- uint64_t *add_len, uint64_t *cont_id);
-
-int coll_copyoids(struct db_context *dbc, uint64_t pid, uint64_t dest_cid,
- uint64_t source_cid);
-
-#endif /* __COLL_H */
diff --git a/oldcode/src/gsl/resources/storage/osd-target/db.c b/oldcode/src/gsl/resources/storage/osd-target/db.c
deleted file mode 100644
index 915013d..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/db.c
+++ /dev/null
@@ -1,428 +0,0 @@
-/*
- * Database fundamentals.
- *
- * Copyright (C) 2007 OSD Team <pvfs-osd(a)osc.edu>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <sqlite3.h>
-#include <errno.h>
-#include <sys/stat.h>
-#include <assert.h>
-
-#include "osd-defs.h"
-#include "osd-types.h"
-#include "osd.h"
-#include "db.h"
-#include "obj.h"
-#include "coll.h"
-#include "osd-util.h"
-#include "attr.h"
-
-extern const char osd_schema[];
-
-static int check_membership(void *arg, int count, char **val,
- char **colname)
-{
- size_t i = 0;
- struct array *arr = arg;
- const char **tables = arr->a;
-
- for (i = 0; i < arr->ne; i++)
- if (strcmp(tables[i], val[0]) == 0)
- return 0;
- return -1;
-}
-
-/*
- * returns:
- * OSD_ERROR: in case no table is found
- * OSD_OK: when all tables exist
- */
-static int db_check_tables(struct db_context *dbc)
-{
- int i = 0;
- int ret = 0;
- char SQL[MAXSQLEN];
- char *err = NULL;
- const char *tables[] = {"attr", "obj", "coll"};
- struct array arr = {ARRAY_SIZE(tables), tables};
-
- sprintf(SQL, "SELECT name FROM sqlite_master WHERE type='table' "
- " ORDER BY name;");
- ret = sqlite3_exec(dbc->db, SQL, check_membership, &arr, &err);
- if (ret != SQLITE_OK) {
- osd_error("%s: query %s failed: %s", __func__, SQL, err);
- sqlite3_free(err);
- return OSD_ERROR;
- }
-
- return OSD_OK;
-}
-
-
-/*
- * <0: error
- * ==0: success
- * ==1: new db opened, caller must initialize tables
- */
-int osd_db_open(const char *path, struct osd_device *osd)
-{
- int ret;
- struct stat sb;
- char SQL[MAXSQLEN];
- char *err = NULL;
- int is_new_db = 0;
-
- ret = stat(path, &sb);
- if (ret == 0) {
- if (!S_ISREG(sb.st_mode)) {
- osd_error("%s: path %s not a regular file",
- __func__, path);
- ret = 1;
- goto out;
- }
- } else {
- if (errno != ENOENT) {
- osd_error("%s: stat path %s", __func__, path);
- goto out;
- }
-
- /* sqlite3 will create it for us */
- is_new_db = 1;
- }
-
- osd->dbc = Calloc(1, sizeof(*osd->dbc));
- if (!osd->dbc) {
- ret = -ENOMEM;
- goto out;
- }
-
- ret = sqlite3_open(path, &(osd->dbc->db));
- if (ret != SQLITE_OK) {
- osd_error("%s: open db %s", __func__, path);
- ret = OSD_ERROR;
- goto out_free_dbc;
- }
-
- if (is_new_db) {
- /* build tables from schema file */
- ret = sqlite3_exec(osd->dbc->db, osd_schema, NULL, NULL, &err);
- if (ret != SQLITE_OK) {
- sqlite3_free(err);
- ret = OSD_ERROR;
- goto out_close_db;
- }
- } else {
- /* existing db, check for tables */
- ret = db_check_tables(osd->dbc);
- if (ret != OSD_OK)
- goto out_close_db;
- }
-
- /* initialize dbc fields */
- ret = db_initialize(osd->dbc);
- if (ret != OSD_OK) {
- ret = OSD_ERROR;
- goto out_close_db;
- }
-
- if (is_new_db)
- ret = 1;
- goto out;
-
-out_close_db:
- sqlite3_close(osd->dbc->db);
-out_free_dbc:
- free(osd->dbc);
- osd->dbc = NULL;
-out:
- return ret;
-}
-
-
-int osd_db_close(struct osd_device *osd)
-{
- int ret = 0;
-
- assert(osd && osd->dbc && osd->dbc->db);
-
- db_finalize(osd->dbc);
- sqlite3_close(osd->dbc->db);
- free(osd->dbc);
- osd->dbc = NULL;
-
- return OSD_OK;
-}
-
-
-int db_initialize(struct db_context *dbc)
-{
- int ret = 0;
-
- if (dbc == NULL) {
- ret = -EINVAL;
- goto out;
- }
-
- ret = coll_initialize(dbc);
- if (ret != OSD_OK)
- goto finalize_coll;
- ret = obj_initialize(dbc);
- if (ret != OSD_OK)
- goto finalize_obj;
- ret = attr_initialize(dbc);
- if (ret != OSD_OK)
- goto finalize_attr;
-
- ret = OSD_OK;
- goto out;
-
-finalize_attr:
- attr_finalize(dbc);
-finalize_obj:
- obj_finalize(dbc);
-finalize_coll:
- coll_finalize(dbc);
-out:
- return ret;
-}
-
-
-int db_finalize(struct db_context *dbc)
-{
- int ret = 0;
-
- if (dbc == NULL)
- return -EINVAL;
-
- ret = 0;
- ret |= coll_finalize(dbc);
- ret |= obj_finalize(dbc);
- ret |= attr_finalize(dbc);
- if (ret == OSD_OK)
- return OSD_OK;
-
- return OSD_ERROR;
-}
-
-
-int db_begin_txn(struct db_context *dbc)
-{
- int ret = 0;
- char *err = NULL;
-
- assert(dbc && dbc->db);
-
- ret = sqlite3_exec(dbc->db, "BEGIN TRANSACTION;", NULL, NULL, &err);
- if (ret != SQLITE_OK) {
- osd_error("pragma failed: %s", err);
- sqlite3_free(err);
- return OSD_ERROR;
- }
-
- return OSD_OK;
-}
-
-
-int db_end_txn(struct db_context *dbc)
-{
- int ret = 0;
- char *err = NULL;
-
- TICK_TRACE(db_end_txn);
- assert(dbc && dbc->db);
-
- ret = sqlite3_exec(dbc->db, "END TRANSACTION;", NULL, NULL, &err);
- if (ret != SQLITE_OK) {
- osd_error("pragma failed: %s", err);
- return OSD_ERROR;
- }
-
- TICK_TRACE(db_end_txn);
- return OSD_OK;
-}
-
-
-int db_exec_pragma(struct db_context *dbc)
-{
- int ret = 0;
- char *err = NULL;
- char SQL[MAXSQLEN];
-
- assert(dbc && dbc->db);
-
- sprintf(SQL,
- "PRAGMA synchronous = OFF; " /* sync off */
- "PRAGMA auto_vacuum = 1; " /* reduce db size on delete */
- "PRAGMA count_changes = 0; " /* ignore count changes */
- "PRAGMA temp_store = 0; " /* memory as scratchpad */
- );
- ret = sqlite3_exec(dbc->db, SQL, NULL, NULL, &err);
- if (ret != SQLITE_OK) {
- osd_error("pragma failed: %s", err);
- sqlite3_free(err);
- return OSD_ERROR;
- }
-
- return OSD_OK;
-}
-
-
-static int callback(void *ignore, int count, char **val, char **colname)
-{
- printf("%s: PRAGMA %s = %s\n", __func__, colname[0], val[0]);
- return 0;
-}
-
-
-int db_print_pragma(struct db_context *dbc)
-{
- int ret = 0;
- char *err = NULL;
- char SQL[MAXSQLEN];
-
- assert(dbc && dbc->db);
-
- sprintf(SQL,
- " PRAGMA synchronous;"
- " PRAGMA auto_vacuum;"
- " PRAGMA auto_vacuum;"
- " PRAGMA temp_store;"
- );
- ret = sqlite3_exec(dbc->db, SQL, callback, NULL, &err);
- if (ret != SQLITE_OK) {
- osd_error("pragma failed: %s", err);
- sqlite3_free(err);
- return OSD_ERROR;
- }
-
- return OSD_OK;
-}
-
-
-/*
- * print sqlite errmsg
- */
-void __attribute__((format(printf,2,3)))
-error_sql(sqlite3 *db, const char *fmt, ...)
-{
- va_list ap;
-
- fprintf(stderr, "osd: ");
- va_start(ap, fmt);
- vfprintf(stderr, fmt, ap);
- va_end(ap);
- fprintf(stderr, ": %s.\n", sqlite3_errmsg(db));
-}
-
-
-/*
- * exec_dms: executes prior prepared and bound data manipulation statement.
- * Only SQL statements with 'insert' or 'delete' may call this helper
- * function.
- *
- * returns:
- * OSD_ERROR: in case of error
- * OSD_OK: on success
- * OSD_REPEAT: in case of sqlite_schema error, statements are prepared again,
- * hence values need to be bound again.
- */
-int db_exec_dms(struct db_context *dbc, sqlite3_stmt *stmt, int ret,
- const char *func)
-{
- int bound;
-
- TICK_TRACE(db_exec_dms);
- bound = (ret == SQLITE_OK);
- if (!bound) {
- error_sql(dbc->db, "%s: bind failed", func);
- goto out_reset;
- }
-
- do {
- TICK_TRACE(sqlite3_step);
- ret = sqlite3_step(stmt);
- } while (ret == SQLITE_BUSY);
-
-out_reset:
- ret = db_reset_stmt(dbc, stmt, bound, func);
- TICK_TRACE(db_exec_dms);
- return ret;
-}
-
-
-/*
- * this function executes id retrieval statement. Only the functions
- * retireiving a list of oids, cids or pids may use this function
- *
- * returns:
- * OSD_ERROR: in case of any error
- * OSD_OK: on success
- * OSD_REPEAT: in case of sqlite_schema error, statements are prepared again,
- * hence values need to be bound again.
- */
-int db_exec_id_rtrvl_stmt(struct db_context *dbc, sqlite3_stmt *stmt,
- int ret, const char *func, uint64_t alloc_len,
- uint8_t *outdata, uint64_t *used_outlen,
- uint64_t *add_len, uint64_t *cont_id)
-{
- uint64_t len = 0;
- int bound = (ret == SQLITE_OK);
-
- if (!bound) {
- error_sql(dbc->db, "%s: bind failed", func);
- goto out_reset;
- }
-
- len = 0;
- *add_len = 0;
- *cont_id = 0;
- *used_outlen = 0;
- while (1) {
- ret = sqlite3_step(stmt);
- if (ret == SQLITE_ROW) {
- if ((alloc_len - len) >= 8) {
- set_htonll(outdata,
- sqlite3_column_int64(stmt, 0));
- outdata += 8;
- len += 8;
- } else if (*cont_id == 0) {
- *cont_id = sqlite3_column_int64(stmt, 0);
- }
- /* handle overflow: osd2r01 Sec 6.14.2 */
- if (*add_len + 8 > *add_len) {
- *add_len += 8;
- } else {
- /* terminate since add_len overflew */
- *add_len = (uint64_t) -1;
- break;
-
- }
- } else if (ret == SQLITE_BUSY) {
- continue;
- } else {
- break;
- }
- }
-
-out_reset:
- ret = db_reset_stmt(dbc, stmt, bound, func);
- if (ret == OSD_OK)
- *used_outlen = len;
- return ret;
-}
-
diff --git a/oldcode/src/gsl/resources/storage/osd-target/db.h b/oldcode/src/gsl/resources/storage/osd-target/db.h
deleted file mode 100644
index 5a9b4bd..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/db.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Database fundamentals.
- *
- * Copyright (C) 2007 OSD Team <pvfs-osd(a)osc.edu>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#ifndef __DB_H
-#define __DB_H
-
-#include <sqlite3.h>
-#include "osd-types.h"
-
-int osd_db_open(const char *path, struct osd_device *osd);
-
-int osd_db_close(struct osd_device *osd);
-
-int db_initialize(struct db_context *dbc);
-
-int db_finalize(struct db_context *dbc);
-
-int db_begin_txn(struct db_context *dbc);
-
-int db_end_txn(struct db_context *dbc);
-
-int db_exec_pragma(struct db_context *dbc);
-
-int db_print_pragma(struct db_context *dbc);
-
-void error_sql(sqlite3 *db, const char *fmt, ...)
- __attribute__((format(printf,2,3)));
-
-/*
- * finalize the stmt, and in case of error, report it
- */
-static inline void db_sqfinalize(sqlite3 *db, sqlite3_stmt *stmt,
- const char *SQL)
-{
- int ret = 0;
-
- if (SQL[0] != '\0')
- error_sql(db, "prepare of %s failed", SQL);
-
- ret = sqlite3_finalize(stmt);
- if (ret != SQLITE_OK)
- error_sql(db, "%s: finalize failed", __func__);
-}
-
-/*
- * reset the sql stmt and test the return status
- *
- * returns:
- * OSD_ERROR: bind failed or stmt execution failed
- * OSD_OK: success
- * OSD_REPEAT: stmt needs to be run again
- */
-static inline int db_reset_stmt(struct db_context *dbc, sqlite3_stmt *stmt,
- int bound, const char *func)
-{
- int ret = sqlite3_reset(stmt);
- if (!bound) {
- return OSD_ERROR;
- } else if (ret == SQLITE_OK) {
- return OSD_OK;
- } else if (ret == SQLITE_SCHEMA) {
- db_finalize(dbc);
- ret = db_initialize(dbc);
- if (ret == OSD_OK)
- return OSD_REPEAT;
- }
- error_sql(dbc->db, "%s: stmt failed", func);
- return OSD_ERROR;
-}
-
-
-int db_exec_dms(struct db_context *dbc, sqlite3_stmt *stmt, int ret,
- const char *func);
-
-int db_exec_id_rtrvl_stmt(struct db_context *dbc, sqlite3_stmt *stmt,
- int ret, const char *func, uint64_t alloc_len,
- uint8_t *outdata, uint64_t *used_outlen,
- uint64_t *add_len, uint64_t *cont_id);
-
-#endif /* __DB_H */
diff --git a/oldcode/src/gsl/resources/storage/osd-target/gs-osd.c b/oldcode/src/gsl/resources/storage/osd-target/gs-osd.c
deleted file mode 100644
index 5835cb2..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/gs-osd.c
+++ /dev/null
@@ -1,271 +0,0 @@
-/* maps osd.h API into a little bit cleaner functional API for use in GS */
-
-#include <errno.h>
-#include <assert.h>
-#include <string.h>
-
-#include "osd.h"
-#include "osd-defs.h"
-#include "osd-util.h"
-#include "sense.h"
-
-/* gs_sense_to_errno()
- *
- * converts a sense code into an approximate errno value
- *
- * returns -errno
- */
-static int gs_sense_to_errno(uint8_t* sense)
-{
- uint8_t key = sense[1];
- switch(key)
- {
- case 0:
- case 1:
- case 13:
- /* no error */
- return(0);
- break;
- case 2:
- case 3:
- case 4:
- case 6:
- case 8:
- case 9:
- case 15:
- /* various hardware problems */
- return(-EIO);
- break;
- case 5:
- /* bad request */
- return(-EINVAL);
- break;
- case 7:
- /* data protected */
- return(-EPERM);
- break;
- case 11:
- case 12:
- /* operation aborted */
- return(-ECANCELED);
- break;
- case 14:
- /* out of space */
- return(-ENOSPC);
- break;
- }
- return(-EIO);
-}
-
-/* gs_osd_list_partitions()
- *
- * subset of osd_list() functionality; returns a list of partitions on a
- * given OSD device
- *
- * returns 0 on succes, -errno on failure
- */
-int gs_osd_list_partitions(struct osd_device *osd, uint64_t* part_list, int
- part_incount, int* part_outcount)
-{
- uint64_t outlen;
- uint8_t sense[OSD_MAX_SENSE];
- struct getattr_list gl = {
- .sz = 0,
- .le = NULL,
- };
- int ret;
- char* buffer;
- int buffer_size;
- int i;
-
- /* buffer for 24 byte header plus number of possible partitions */
- buffer_size = 24 + (8*part_incount);
- buffer = malloc(buffer_size);
- if(!buffer)
- {
- return(-EINVAL);
- }
-
- ret = osd_list(osd, 0, 0, buffer_size, 0, &gl, 0, (uint8_t*)buffer,
- &outlen, sense);
- if(ret != OSD_OK)
- {
- free(buffer);
- return(gs_sense_to_errno(sense));
- }
- else
- {
- *part_outcount = (outlen - 24)/8;
- for(i=0; i<*part_outcount; i++)
- {
- part_list[i] = get_ntohll(&buffer[24+(8*i)]);
- }
- }
- free(buffer);
- return(0);
-}
-
-int gs_osd_create_partition(struct osd_device *osd, uint64_t requested_pid)
-{
- int ret;
- uint8_t sense[OSD_MAX_SENSE];
-
- ret = osd_create_partition(osd, requested_pid, 0, sense);
- if(ret != OSD_OK)
- {
- ret = gs_sense_to_errno(sense);
- }
-
- return(ret);
-}
-
-int gs_osd_create(struct osd_device *osd, uint64_t pid,
- uint64_t requested_oid, uint64_t* out_oid)
-{
- int ret;
- uint8_t sense[OSD_MAX_SENSE];
-
- /* caller must specify ID for now */
- assert(requested_oid != 0);
-
- ret = osd_create(osd, pid, requested_oid, 1, 0, sense);
- if(ret != OSD_OK)
- {
- ret = gs_sense_to_errno(sense);
- }
- else
- {
- *out_oid = requested_oid;
- }
-
- return(ret);
-}
-
-int gs_osd_remove(struct osd_device *osd, uint64_t pid, uint64_t oid)
-{
- int ret;
- uint8_t sense[OSD_MAX_SENSE];
-
- ret = osd_remove(osd, pid, oid, 0, sense);
- if(ret != OSD_OK)
- {
- ret = gs_sense_to_errno(sense);
- }
-
- return(ret);
-}
-
-int gs_osd_setattr_list(struct osd_device *osd, uint64_t pid, uint64_t oid,
- int count, const uint32_t* page_array, const uint32_t* number_array,
- const void** val_array, const int* len_array)
-{
- int ret;
- uint8_t sense[OSD_MAX_SENSE];
- uint16_t newlen = 0;
- int i;
-
- /* check attribute value sizes up front */
- for(i=0; i<count; i++)
- {
- if(len_array[i] > ATTR_LEN_UB)
- {
- return(-EINVAL);
- }
- }
-
- /* service each set attr separately */
- for(i=0; i<count; i++)
- {
- newlen = 0;
- newlen += len_array[i];
-
- ret = osd_set_attributes(osd, pid, oid, page_array[i],
- number_array[i], val_array[i], len_array[i],
- 1, 0, sense);
- if(ret != OSD_OK)
- {
- ret = gs_sense_to_errno(sense);
- break;
- }
- }
-
- return(ret);
-}
-
-int gs_osd_getattr_list(struct osd_device *osd, uint64_t pid, uint64_t oid,
- int count, const uint32_t* page_array, const uint32_t* number_array,
- void** val_array, int* len_array)
-{
- int ret;
- uint8_t sense[OSD_MAX_SENSE];
- uint8_t* tmp_buf;
- int i;
- int size_max = 0;
- uint32_t newlen = 0;
- uint32_t outlen = 0;
- int mod;
- struct list_entry *le = NULL;
-
- /* find the biggest attr size */
- for(i=0; i<count; i++)
- {
- if(size_max < len_array[i])
- size_max = len_array[i];
- }
- /* plus size for header */
- size_max += LE_VAL_OFF;
- /* round up to nearest 8 bytes */
- size_max += (8 - (size_max % 8));
-
- /* allocate a temporary buffer to copy through */
- tmp_buf = malloc(size_max);
- if(!tmp_buf)
- {
- return(-errno);
- }
-
- for(i=0; i<count; i++)
- {
- newlen = 0;
- newlen += len_array[i] + LE_VAL_OFF;
- /* round up to nearest 8 bytes */
- newlen += (8 - (newlen % 8));
-
- /* service each get attr separately */
- ret = osd_getattr_list(osd, pid, oid, page_array[i], number_array[i],
- tmp_buf, newlen, 0, RTRVD_SET_ATTR_LIST, &outlen, 0,
- sense);
- if(ret != OSD_OK)
- {
- ret = gs_sense_to_errno(sense);
- break;
- }
- /* translate results to arguments */
- le = (struct list_entry*)tmp_buf;
- outlen = get_ntohs((uint8_t *)&le->len);
- if(outlen <= len_array[i])
- {
- len_array[i] = outlen;
- memcpy(val_array[i], &tmp_buf[LE_VAL_OFF], outlen);
- }
- else
- {
- /* too big for buffer */
- ret = -ENOBUFS;
- break;
- }
- }
-
- free(tmp_buf);
- return(ret);
-}
-
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/resources/storage/osd-target/gs-osd.h b/oldcode/src/gsl/resources/storage/osd-target/gs-osd.h
deleted file mode 100644
index 350219d..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/gs-osd.h
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef __GS_OSD_H__
-#define __GS_OSD_H__
-
-/* maps osd.h API into a little bit cleaner functional API for use in GS */
-
-#include "osd.h"
-#include "osd-defs.h"
-
-#define GS_OSD_PARTITION PARTITION_PID_LB /* hard code one partition for now */
-
-int gs_osd_list_partitions(struct osd_device *osd, uint64_t* part_list, int
- part_incount, int* part_outcount);
-int gs_osd_create_partition(struct osd_device *osd, uint64_t requested_pid);
-int gs_osd_create(struct osd_device *osd, uint64_t pid,
- uint64_t requested_oid, uint64_t* out_oid);
-int gs_osd_remove(struct osd_device *osd, uint64_t pid, uint64_t oid);
-int gs_osd_setattr_list(struct osd_device *osd, uint64_t pid, uint64_t oid,
- int count, const uint32_t* page_array, const uint32_t* number_array,
- const void** val_array, const int* len_array);
-int gs_osd_getattr_list(struct osd_device *osd, uint64_t pid, uint64_t oid,
- int count, const uint32_t* page_array, const uint32_t* number_array,
- void** val_array, int* len_array);
-
-#define gs_osd_open osd_open
-#define gs_osd_close osd_close
-#define gs_osd_device osd_device
-
-#endif
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/resources/storage/osd-target/list-entry.c b/oldcode/src/gsl/resources/storage/osd-target/list-entry.c
deleted file mode 100644
index eb2dc6b..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/list-entry.c
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * List format.
- *
- * Copyright (C) 2007 OSD Team <pvfs-osd(a)osc.edu>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include <stdint.h>
-#include <errno.h>
-#include <assert.h>
-#include <string.h>
-
-#include "osd-defs.h"
-#include "osd.h"
-#include "list-entry.h"
-#include "osd-util.h"
-
-/*
- * retrieve attr in list entry format; tab 129 Sec 7.1.3.3
- *
- * returns:
- * -EINVAL: error, alignment error
- * -EOVERFLOW: error, if not enough room to even start the entry
- * >0: success. returns number of bytes copied into buf.
- */
-int le_pack_attr(void *buf, uint32_t buflen, uint32_t page, uint32_t number,
- uint16_t valen, const void *val)
-{
- uint8_t pad = 0;
- uint8_t *cp = buf;
- uint32_t len = buflen;
-
- /*
- * XXX: osd-errata: buf and buflen must be 8B aligned cannot ensure
- * alignment: XXX:SD LIST with list_attr does not follow the spec,
- * see the comment in mtq.c:mtq_list_oids_attr.
- */
- if ((buflen & 0x7) || ((uintptr_t) buf & 0x7))
- return -EINVAL;
-
- if (buflen < LE_MIN_ITEM_LEN)
- return -EOVERFLOW;
-
- set_htonl_le(&cp[LE_PAGE_OFF], page);
- set_htonl_le(&cp[LE_NUMBER_OFF], number);
-
- /* length field is not modified to reflect truncation, sec 5.2.2.2 */
- set_htons_le(&cp[LE_LEN_OFF], valen);
-
- if (val != NULL) {
- buflen -= LE_VAL_OFF;
- if ((uint32_t)valen > buflen)
- valen = buflen;
- memcpy(&cp[LE_VAL_OFF], val, valen);
- } else {
- assert(valen == 0); /* osd2r02, null attr len == 0, 7.1.3.1 */
- valen = 0;
- }
-
- len = valen + LE_VAL_OFF;
- pad = roundup8(len) - len;
- cp += len;
- len += pad;
- while (pad--)
- *cp = 0, cp++;
- return len;
-}
-
-/*
- * retrieve attr in list entry format; tab 130 Sec 7.1.3.4
- *
- * returns:
- * -EINVAL: error, alignment error
- * -EOVERFLOW: error, if not enough room to even start the entry
- * >0: success. returns number of bytes copied into buf.
- */
-int le_multiobj_pack_attr(void *buf, uint32_t buflen, uint64_t oid,
- uint32_t page, uint32_t number, uint16_t valen,
- const void *val)
-{
- int ret = 0;
- uint8_t *cp = buf;
-
- if (buflen < MLE_MIN_ITEM_LEN)
- return -EOVERFLOW;
-
- set_htonll_le(cp, oid);
-
- /*
- * test if layout of struct multiobj_list_entry is similar to
- * struct list_entry prefixed with oid.
- */
- assert(MLE_VAL_OFF == (LE_VAL_OFF+sizeof(oid)));
-
- ret = le_pack_attr(cp+sizeof(oid), buflen-sizeof(oid), page, number,
- valen, val);
- if (ret > 0)
- ret = MLE_PAGE_OFF + ret; /* add sizeof(oid) to length */
- return ret;
-}
-
diff --git a/oldcode/src/gsl/resources/storage/osd-target/list-entry.h b/oldcode/src/gsl/resources/storage/osd-target/list-entry.h
deleted file mode 100644
index ae17006..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/list-entry.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * List format.
- *
- * Copyright (C) 2007 OSD Team <pvfs-osd(a)osc.edu>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#ifndef __LIST_ENTRY_H
-#define __LIST_ENTRY_H
-
-#include <stdint.h>
-
-int le_pack_attr(void *buf, uint32_t buflen, uint32_t page, uint32_t number,
- uint16_t valen, const void *val);
-
-int le_multiobj_pack_attr(void *buf, uint32_t buflen, uint64_t oid,
- uint32_t page, uint32_t number, uint16_t valen,
- const void *val);
-
-#endif /* __LIST_ENTRY_H */
diff --git a/oldcode/src/gsl/resources/storage/osd-target/module.mk.in b/oldcode/src/gsl/resources/storage/osd-target/module.mk.in
deleted file mode 100644
index 0c986e3..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/module.mk.in
+++ /dev/null
@@ -1,24 +0,0 @@
-DIR := resources/storage/osd-target
-
-ifneq (,$(BUILD_OSD))
-LIBOSDSRC += $(DIR)/attr.c \
- $(DIR)/cdb.c \
- $(DIR)/coll.c \
- $(DIR)/db.c \
- $(DIR)/list-entry.c \
- $(DIR)/mtq.c \
- $(DIR)/obj.c \
- $(DIR)/osd.c \
- $(DIR)/osd-schema.c \
- $(DIR)/osd-sense.c \
- $(DIR)/osd-util.c \
- $(DIR)/sense.c \
- $(DIR)/gs-osd.c
-
-$(DIR)/osd-schema.c: $(DIR)/osd.schema
- @( echo "const char osd_schema[] =";\
- sed 's/^/"/; s/$$/\\n"/' < $< ;\
- echo ";" ) > $@
-
-MODCFLAGS_$(DIR) = -I$(srcdir)/resources/storage -D_GNU_SOURCE
-endif
diff --git a/oldcode/src/gsl/resources/storage/osd-target/mtq.c b/oldcode/src/gsl/resources/storage/osd-target/mtq.c
deleted file mode 100644
index 6099159..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/mtq.c
+++ /dev/null
@@ -1,524 +0,0 @@
-/*
- * Multi-table queries.
- *
- * Copyright (C) 2007 OSD Team <pvfs-osd(a)osc.edu>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include <stdlib.h>
-#include <stdio.h>
-#include <sqlite3.h>
-#include <errno.h>
-#include <string.h>
-#include <assert.h>
-#include <sys/stat.h>
-
-#include "osd-types.h"
-#include "osd-defs.h"
-#include "db.h"
-#include "obj.h"
-#include "attr.h"
-#include "coll.h"
-#include "mtq.h"
-#include "osd-util.h"
-#include "list-entry.h"
-
-/*
- * mtq: multitable query, all queries dealing with >=2 tables are implemented
- * here
- */
-
-/*
- * return values:
- * -EINVAL: invalid argument
- * -EIO: prepare or some other sqlite function failed
- * OSD_ERROR: some other error
- * OSD_OK: success
- */
-int mtq_run_query(struct db_context *dbc, uint64_t pid, uint64_t cid,
- struct query_criteria *qc, void *outdata,
- uint32_t alloc_len, uint64_t *used_outlen)
-{
- int ret = 0;
- int pos = 0;
- char *cp = NULL;
- char *SQL = NULL;
- uint8_t *p = NULL;
- uint32_t i = 0;
- uint32_t sqlen = 0;
- uint32_t factor = 2; /* this query fills space quickly */
- uint64_t len = 0;
- const char *op = NULL;
- sqlite3_stmt *stmt = NULL;
- char select_stmt[MAXSQLEN];
- const char *coll = coll_getname(dbc);
- const char *attr = attr_getname(dbc);
-
- assert(dbc && dbc->db && qc && outdata && used_outlen && coll
- && attr);
-
- if (qc->query_type == 0) {
- op = " UNION ";
- } else if (qc->query_type == 1) {
- op = " INTERSECT ";
- } else {
- ret = -EINVAL;
- goto out;
- }
-
- SQL = Malloc(MAXSQLEN*factor);
- if (SQL == NULL) {
- ret = -ENOMEM;
- goto out;
- }
- cp = SQL;
- sqlen = 0;
-
- /*
- * XXX:SD the spec does not mention whether min or max values have to
- * in tested with '<' or '<='. We assume the tests are inclusive of
- * boundaries, i.e. use '<=' for comparison.
- */
-
- /* build the SQL statment */
- sprintf(select_stmt, "SELECT attr.oid FROM %s as coll, %s as attr "
- " WHERE coll.pid = coll.pid AND coll.oid = attr.oid AND "
- " coll.pid = %llu AND coll.cid = %llu ", coll, attr,
- llu(pid), llu(cid));
- sprintf(cp, "%s", select_stmt);
- sqlen += strlen(cp);
- cp += sqlen;
- for (i = 0; i < qc->qc_cnt; i++) {
- sprintf(cp, " AND attr.page = %u AND attr.number = %u ",
- qc->page[i], qc->number[i]);
- if (qc->min_len[i] > 0)
- cp = strcat(cp, " AND ? <= attr.value ");
- if (qc->max_len[i] > 0)
- cp = strcat(cp, " AND attr.value <= ? ");
-
- if ((i+1) < qc->qc_cnt) {
- cp = strcat(cp, op);
- cp = strcat(cp, select_stmt);
- }
- sqlen += strlen(cp);
-
- if (sqlen >= (MAXSQLEN*factor - 400)) {
- factor *= 2;
- SQL = realloc(SQL, MAXSQLEN*factor);
- if (!SQL) {
- ret = -ENOMEM;
- goto out;
- }
- }
- cp = SQL + sqlen;
- }
- cp = strcat(cp, " GROUP BY attr.oid ORDER BY 1;");
-
- ret = sqlite3_prepare(dbc->db, SQL, strlen(SQL)+1, &stmt, NULL);
- if (ret != SQLITE_OK) {
- error_sql(dbc->db, "%s: sqlite3_prepare", __func__);
- ret = -EIO;
- goto out;
- }
-
- /* bind the values */
- pos = 1;
- for (i = 0; i < qc->qc_cnt; i++) {
- if (qc->min_len[i] > 0) {
- ret = sqlite3_bind_blob(stmt, pos, qc->min_val[i],
- qc->min_len[i],
- SQLITE_TRANSIENT);
- if (ret != SQLITE_OK) {
- ret = -EIO;
- error_sql(dbc->db, "%s: bind min_val @ %d",
- __func__, pos);
- goto out_finalize;
- }
- pos++;
- }
- if (qc->max_len[i] > 0) {
- ret = sqlite3_bind_blob(stmt, pos, qc->max_val[i],
- qc->max_len[i],
- SQLITE_TRANSIENT);
- if (ret != SQLITE_OK) {
- ret = -EIO;
- error_sql(dbc->db, "%s: bind max_val @ %d",
- __func__, pos);
- goto out_finalize;
- }
- pos++;
- }
- }
-
- /* execute the query */
- p = outdata;
- p += ML_ODL_OFF;
- len = ML_ODL_OFF - 8; /* subtract len of addition_len */
- *used_outlen = ML_ODL_OFF;
- while ((ret = sqlite3_step(stmt)) == SQLITE_ROW) {
- if ((alloc_len - len) > 8) {
- /*
- * TODO: query is a multi-object command, so delete
- * the objects from the collection, once they are
- * selected
- */
- set_htonll(p, sqlite3_column_int64(stmt, 0));
- *used_outlen += 8;
- }
- p += 8;
- /* handle overflow: osd2r01 Sec 6.18.3 */
- if (len != (uint64_t) -1 && (len + 8) > len) {
- len += 8;
- } else {
- len = (uint64_t) -1;
- }
- }
- if (ret != SQLITE_DONE) {
- error_sql(dbc->db, "%s: sqlite3_step", __func__);
- ret = -EIO;
- goto out_finalize;
- }
- set_htonll(outdata, len);
- ret = OSD_OK;
-
-out_finalize:
- if (sqlite3_finalize(stmt) != SQLITE_OK)
- error_sql(dbc->db, "%s: finalize", __func__);
-
-out:
- free(SQL);
- return ret;
-}
-
-
-/*
- * returns list of objects along with requested attributes
- *
- * return values:
- * -EINVAL: invalid argument
- * -EIO: prepare or some other sqlite function failed
- * OSD_ERROR: some other error
- * OSD_OK: success
- */
-int mtq_list_oids_attr(struct db_context *dbc, uint64_t pid,
- uint64_t initial_oid, struct getattr_list *get_attr,
- uint64_t alloc_len, void *outdata,
- uint64_t *used_outlen, uint64_t *add_len,
- uint64_t *cont_id)
-{
- int ret = 0;
- char *cp = NULL;
- char *SQL = NULL;
- uint32_t i = 0;
- uint32_t factor = 2; /* this query uses space fast */
- uint32_t attr_list_len = 0; /*XXX:SD see below */
- uint32_t sqlen = 0;
- uint64_t oid = 0;
- uint32_t page;
- uint32_t number;
- uint16_t len;
- const void *val = NULL;
- sqlite3_stmt *stmt = NULL;
- uint8_t *head = NULL, *tail = NULL;
- const char *select_stmt = NULL;
- const char *obj = obj_getname(dbc);
- const char *attr = attr_getname(dbc);
-
- assert(dbc && dbc->db && get_attr && outdata && used_outlen
- && add_len && obj && attr);
-
- if (get_attr->sz == 0) {
- ret = -EINVAL;
- goto out;
- }
-
- SQL = Malloc(MAXSQLEN*factor);
- if (!SQL) {
- ret = -ENOMEM;
- goto out;
- }
-
- /*
- * For each attribute requested, create a select statement,
- * which will try to index into the attr table with a full key rather
- * than just (pid, oid) prefix key. Analogous to loop unrolling, we
- * unroll each requested attribute into its own select statement.
- */
- select_stmt = "SELECT obj.oid as myoid, attr.page, "
- " attr.number, attr.value FROM %s as obj, %s as attr "
- " WHERE obj.pid = attr.pid AND obj.oid = attr.oid AND "
- " obj.pid = %llu AND obj.type = %u AND "
- " attr.page = %u AND attr.number = %u AND obj.oid >= %llu ";
-
- cp = SQL;
- sqlen = 0;
- sprintf(SQL, select_stmt, obj, attr, llu(pid), USEROBJECT,
- USER_TMSTMP_PG, 0, llu(initial_oid));
- SQL = strcat(SQL, " UNION ALL ");
- sqlen += strlen(SQL);
- cp += sqlen;
- for (i = 0; i < get_attr->sz; i++) {
- sprintf(cp, select_stmt, obj, attr, llu(pid), USEROBJECT,
- get_attr->le[i].page, get_attr->le[i].number,
- llu(initial_oid));
- if (i < (get_attr->sz - 1))
- cp = strcat(cp, " UNION ALL ");
-
- sqlen += strlen(cp);
- if (sqlen > (MAXSQLEN*factor - 400)) {
- factor *= 2;
- SQL = realloc(SQL, MAXSQLEN*factor);
- if (!SQL) {
- ret = -ENOMEM;
- goto out;
- }
- }
-
- cp = SQL + sqlen;
- }
- sprintf(cp, " ORDER BY myoid; ");
-
- ret = sqlite3_prepare(dbc->db, SQL, strlen(SQL)+1, &stmt, NULL);
- if (ret != SQLITE_OK) {
- error_sql(dbc->db, "%s: sqlite3_prepare", __func__);
- goto out;
- }
-
- /* execute the statement */
- head = tail = outdata;
- attr_list_len = 0;
- while(1) {
- ret = sqlite3_step(stmt);
- if (ret == SQLITE_BUSY) {
- continue;
- } else if (ret != SQLITE_ROW) {
- break;
- }
- /* for the rest of loop body ret == SQLITE_ROW */
-
- /*
- * XXX:SD The spec is inconsistent in applying padding and
- * alignment rules. Here we make changes to the spec. In our
- * case object descriptor format header (table 79) is 16B
- * instead of 12B, and attributes list length field is 4B
- * instead of 2B as defined in spec, and starts at byte 12
- * in the header (not 10). ODE is object descriptor entry.
- */
- oid = sqlite3_column_int64(stmt, 0);
- page = sqlite3_column_int64(stmt, 1);
- number = sqlite3_column_int64(stmt, 2);
- len = sqlite3_column_bytes(stmt, 3);
-
- if (page == USER_TMSTMP_PG && number == 0) {
- /* look ahead in the buf to see if there is space */
- if (alloc_len >= 16) {
- /* start attr list of 'this' ODE */
- set_htonll(tail, oid);
- memset(tail + 8, 0, 4); /* reserved */
- if (head != tail) {
- /* fill attr_list_len of prev ODE */
- set_htonl(head, attr_list_len);
- head = tail;
- attr_list_len = 0;
- }
- alloc_len -= 16;
- tail += 16;
- head += 12; /* points to attr-list-len */
- *used_outlen += 16;
- } else {
- if (head != tail) {
- /* fill attr_list_len of prev ODE */
- set_htonl(head, attr_list_len);
- head = tail;
- attr_list_len = 0;
- }
- if (*cont_id == 0)
- *cont_id = oid;
- }
- /* handle overflow: osd2r01 Sec 6.14.2 */
- if (*add_len + 16 > *add_len) {
- *add_len += 16;
- } else {
- /* terminate since add_len overflew */
- *add_len = (uint64_t) -1;
- ret = SQLITE_DONE;
- break;
- }
- continue;
- }
- if (alloc_len >= 16) {
- /* osd_debug("%s: oid %llu, page %u, number %u, len %u",
- __func__, llu(oid), page, number, len); */
- val = sqlite3_column_blob(stmt, 3);
- ret = le_pack_attr(tail, alloc_len, page, number, len,
- val);
- assert (ret != -EOVERFLOW);
- if (ret > 0) {
- alloc_len -= ret;
- tail += ret;
- attr_list_len += ret;
- *used_outlen += ret;
- if (alloc_len < 16){
- set_htonl(head, attr_list_len);
- head = tail;
- attr_list_len = 0;
- if (*cont_id == 0)
- *cont_id = oid;
- }
- } else {
- goto out_finalize;
- }
- } else {
- if (head != tail) {
- /* fill attr_list_len of this ODE */
- set_htonl(head, attr_list_len);
- head = tail;
- attr_list_len = 0;
- if (*cont_id == 0)
- *cont_id = oid;
- }
- }
- /* handle overflow: osd2r01 Sec 6.14.2 */
- if ((*add_len + roundup8(4+4+2+len)) > *add_len) {
- *add_len += roundup8(4+4+2+len);
- } else {
- /* terminate since add_len overflew */
- *add_len = (uint64_t) -1;
- ret = SQLITE_DONE;
- break;
- }
- }
- if (ret != SQLITE_DONE) {
- error_sql(dbc->db, "%s: query execution failed. SQL %s, "
- " add_len %llu attr_list_len %u", __func__, SQL,
- llu(*add_len), attr_list_len);
- goto out_finalize;
- }
- if (head != tail) {
- set_htonl(head, attr_list_len);
- head += (4 + attr_list_len);
- assert(head == tail);
- }
-
- ret = OSD_OK; /* success */
-
-out_finalize:
- if (sqlite3_finalize(stmt) != SQLITE_OK) {
- ret = -EIO;
- error_sql(dbc->db, "%s: finalize", __func__);
- }
-
-out:
- free(SQL);
- return ret;
-}
-
-
-/*
- * set attributes on members of the give collection
- *
- * return values:
- * -EINVAL: invalid argument
- * -EIO: prepare or some other sqlite function failed
- * OSD_ERROR: some other error
- * OSD_OK: success
- */
-int mtq_set_member_attrs(struct db_context *dbc, uint64_t pid, uint64_t cid,
- struct setattr_list *set_attr)
-{
- int ret = 0;
- int factor = 1;
- uint32_t i = 0;
- char *cp = NULL;
- char *SQL = NULL;
- size_t sqlen = 0;
- sqlite3_stmt *stmt = NULL;
- const char *coll = coll_getname(dbc);
- const char *attr = attr_getname(dbc);
-
- assert(dbc && dbc->db && set_attr && coll && attr);
-
- if (set_attr->sz == 0) {
- ret = 0;
- goto out;
- }
-
- SQL = Malloc(MAXSQLEN*factor);
- if (!SQL) {
- ret = -ENOMEM;
- goto out;
- }
-
- cp = SQL;
- sqlen = 0;
- sprintf(SQL, "INSERT OR REPLACE INTO %s ", attr);
- sqlen += strlen(SQL);
- cp += sqlen;
-
- for (i = 0; i < set_attr->sz; i++) {
- sprintf(cp, " SELECT %llu, oid, %u, %u, ? FROM %s "
- " WHERE cid = %llu ", llu(pid), set_attr->le[i].page,
- set_attr->le[i].number, coll, llu(cid));
- if (i < (set_attr->sz - 1))
- cp = strcat(cp, " UNION ALL ");
- sqlen += strlen(cp);
- if (sqlen > (MAXSQLEN*factor - 200)) {
- factor *= 2;
- SQL = realloc(SQL, MAXSQLEN*factor);
- if (!SQL) {
- ret = -ENOMEM;
- goto out;
- }
- }
- cp = SQL + sqlen;
- }
- cp = strcat(cp, " ;");
-
- ret = sqlite3_prepare(dbc->db, SQL, strlen(SQL)+1, &stmt, NULL);
- if (ret != SQLITE_OK) {
- ret = -EIO;
- error_sql(dbc->db, "%s: sqlite3_prepare", __func__);
- goto out;
- }
-
- /* bind values */
- for (i = 0; i < set_attr->sz; i++) {
- ret = sqlite3_bind_blob(stmt, i+1, set_attr->le[i].cval,
- set_attr->le[i].len,
- SQLITE_TRANSIENT);
- if (ret != SQLITE_OK) {
- ret = -EIO;
- error_sql(dbc->db, "%s: blob @ %u", __func__, i+1);
- goto out_finalize;
- }
- }
-
- /* execute the statement */
- while ((ret = sqlite3_step(stmt)) == SQLITE_BUSY);
- if (ret != SQLITE_DONE) {
- error_sql(dbc->db, "%s: sqlite3_step", __func__);
- ret = -EIO;
- goto out_finalize;
- }
- ret = OSD_OK;
-
-out_finalize:
- if (sqlite3_finalize(stmt) != SQLITE_OK)
- error_sql(dbc->db, "%s: finalize", __func__);
-
-out:
- free(SQL);
- return ret;
-}
-
-
diff --git a/oldcode/src/gsl/resources/storage/osd-target/mtq.h b/oldcode/src/gsl/resources/storage/osd-target/mtq.h
deleted file mode 100644
index ce32f6c..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/mtq.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Multi-table queries.
- *
- * Copyright (C) 2007 OSD Team <pvfs-osd(a)osc.edu>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#ifndef __MTQ_H
-#define __MTQ_H
-
-#include <sqlite3.h>
-#include "osd-types.h"
-
-int mtq_run_query(struct db_context *dbc, uint64_t pid, uint64_t cid,
- struct query_criteria *qc, void *outdata,
- uint32_t alloc_len, uint64_t *used_outlen);
-
-int mtq_list_oids_attr(struct db_context *dbc, uint64_t pid,
- uint64_t initial_oid, struct getattr_list *get_attr,
- uint64_t alloc_len, void *outdata,
- uint64_t *used_outlen, uint64_t *add_len,
- uint64_t *cont_id);
-
-int mtq_set_member_attrs(struct db_context *dbc, uint64_t pid, uint64_t cid,
- struct setattr_list *set_attr);
-
-#endif /* __MTQ_H */
diff --git a/oldcode/src/gsl/resources/storage/osd-target/notes b/oldcode/src/gsl/resources/storage/osd-target/notes
deleted file mode 100644
index 6ea4920..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/notes
+++ /dev/null
@@ -1,757 +0,0 @@
-#vim : ft=cfg
-
-IMPORTANT
-append
-create
-create and write
-create collection
-create partition
-read
-read buffer
-write
-write buffer
-list
-list collection
-format osd
-get attributes
-set attributes
-remove
-remove collection
-remove partition
-report luns
-set key
-set master key
-
-inquiry
-flush
-flush collection
-flush osd
-flush partition
-receive diagnostic results
-report supported operation codes
-
-
-NOT IMPLEMENTED/OPTIONAL
-log select
-log sense
-mode select
-mode sense
-perform scsi command
-perform task management function
-persistent reserve in
-persistent reserve out
-prevent allow medium removal
-report supported task management functions
-report target port groups
-request sense
-send diagnostic
-set target port groups
-test unit ready
-
-directory pages
-quotas
-
-========================================
-root object
- partition
- collection
- object
- or any osd object type
-
-
-questions:
-- how to create osd? flat file? what will be blocks?
-- how is collection populated?
-- where will be attributes stored for an object?
--
-
-design:
- root directory for the root object
- each partition is a directory within the root directory
- objects are stored within the partition
- collection objects are stored within the directory
-
-db requirements:
- get all attr for an oid
- get all attr for an oid in an attr page
- get an attr for an oid on an attr page
- set an attr on oid on an attr page
- for an oid check for duplicate attr numbers
- check for duplicate attr pages across attr types
-
-solution:
- use one db file per object storing is attr
- don't allow attribute pages beyond F000 0000h
- restrict attribute pages in range as specified in p22
- get all attr using db cursor
- use environment to store database of multiple objects
-
-
-
-# Wed Dec 6 11:54:17 EST 2006
-What is the meaning of the following (p21):
-
-With the exception of attributes pages in the attributes page number range
-assigned to any OSD object types, the same attributes page shall not be
-associated with more than one OSD object type.
-
-Two object types cannot share same page number but two objects can.
-
-#if 0 /* > 3.8.8 of sqlite */
- ret = sqlite3_extended_result_codes(dbp, 1);
- if (ret != SQLITE_OK) {
- fprintf(stderr, "SQL ERROR: %s\n", sqlite3_errmsg(dbp));
- return -1;
- }
-#endif
-
-# Mon Jan 22 12:15:56 EST 2007
-prepare functions for most used sql stmt. look at reset, since bound var
-still retain their values.
-get_all_attr in a page
-move create partition to obfs.c
-remove delete object code from attr
-rename attr-* to attr.c
-change uint64_t to use typedefs
-mv db code to db.c
-mv tab code to obj.c and attr.c
-mv obfs to osd
-rm init_attr, use attr_t with len = 0;
-clean finalize code
-
-- p23, attr number FFFFFFFFh gets all attr for a page
-- p23, p87, p112: No explicit call to delete an object's attribute. only
- thing possible is to set an attribute's length to 0. Since only
- attributes with non-zero length can be retrieved.
-
-# Tue Jan 23 11:59:47 EST 2007
-remove attr_insert and attr_delete.
-change set_attr properly
-obj: insert, delete works
-attr:
- set_attr -> check if attr exists, if so update else insert it
- get_attr -> select attr, if empty EEMPTY
- delete_attr -> delete all attr for object
- get_attr_page -> get all attr in a page
-
-define return values, we return same return values as sqlite or should
-we assume this is single threaded app => no table locking, no checking for
-EBUSY. in future keep sqlite3_step in a infinite loop
-
-# legend for the development log
-#
-# -: issue
-# +: issue is resolved
-# ?: question. the answer to question is usually indented
-# !: important point, make a note of it
-# #: comment
-
-# Fri Jan 26 11:03:52 EST 2007
-+ single makefile for tests and libosd
-+ make rules for dependencies
-+ defines for ROOT_OBJECT, ROOT_PARTITION
-+ change obj tab, include type of object being created
-
-# Mon Jan 29 12:39:02 EST 2007
-+ what is current commands attr page
- CCAP stores the results of the command run
-+ sense_* functions are not up to date. osd_* are not returning correct
- values.
-+ collect all errors using goto
-
-# Tue Jan 30 16:12:47 EST 2007
-schema changes. attr table need to have directory pages. rows need to have
-writable flags to prevent certain directory pages to be modified. directories
-can be implemented as a sql view on page numbers 0
-
-# Wed Jan 31 14:26:19 EST 2007
-+ need sense.c which builds sense, since both cdb and osd want to construct
- sense.
-
-# Thu Feb 1 14:53:38 EST 2007
-+ implement error_fatal as a separate function.
-
-# Fri Feb 9 16:09:55 EST 2007
-+ create partition
-+ set partition attr as separate osd function
-+ set root attr as separate function.
-
-# Mon Feb 12 11:48:43 EST 2007
-+ implement cache: hold a struct with latest oid, pid for collections or
- objects.
-+ implement list on root object
-! current command attributes page is responsible for returning the results
- back to initiator: eg. assigned pid, oid etc.
-- set initial attributes on every object when it is created
-+ mv initial_populate into osd.c
-! get_next* funcs assume monotonic increase in ids, resulting in holes
-+ implement remove partition
-+ new oid should start from USEROBJECT_OID_LB and pid from PARTITION_PID_LB
-? how are contents within attr page returned?
- retrieved attributes returned in list format: Section 7.1.3.[2,3]
-
-# Tue Feb 13 11:50:23 EST 2007
-- rather than hardcoding test cases within tests, change test scaffold to
- test each osd function. Modify tests to take arguments, build cases
- accordingly.
-+ devise a clean way to assign values to pointers within struct
-- stale values of ccap
-
-# Wed Feb 14 11:41:45 EST 2007
-+ osd specific return codes,
-- db, obj and attr specific return codes
-+ mv error_sql into db.c
-? what happens on removal of non existent obj
- sqlite successfully complete removal of non existent object
-+ gettype func in obj.c
-+ make depend targets
-
-# Mon Feb 19 13:08:31 EST 2007
-+ use gettype in obj disambiguation
-- fix fret/ret bugs
-+ fix attr_get_* bugs
-+ fix test codes with asserts
-- test different format scenarios
-+ replace magic numbers with descriptive codes
-+ change valid page to is settable
-+ page format Sec 7,
-
-# Tue Feb 20 15:34:32 EST 2007
-+ get size, atime, mtime attr
-+ write get page for timestamps
-
-# Fri Feb 23 15:07:22 EST 2007
-+ include root info page struct in osd_hndl
-- osd error precision ??
-- append
-+ split get_attr in cdb.c, handle command ordering, write test cases
-+ parse list
-+ separate function to handle complex commands in cdb
-
-# Wed Feb 28 12:30:56 EST 2007
-+ break each into individual functions
-+ change embeded to true/false
-+ replace magic numbers in calculating cdb offset
- not replacing since they are used only once in target and once in
- initiator
-+ test cases for cdb
-+ get_attr_page needs to be changes to get pages like ccap. to get all
- contents of a page, another command has to be added
-- ntoh* functions need to be properly aligned
-+ attr_page values are aligned to 8-byte boundary
-
-# Thu Mar 1 13:03:27 EST 2007
-+ design and implement collections
-+ test blob modifications
-+ collections as a chunk of memory representing array of oids/cids
-? collections containing objects across partitions?
- nope only within a partition
-- design with quota in pic
-+ add attribute list header
-+ clean interface for getting multiple attributes
-+ for create with > 1 objects:
- set attr value, set attr list: attr for each object will be set
- get attr list: attr for each object in attr list of type 0xF.
- get attr page: ?
-+ new function: osd_getattr_page
-+ move page related osd funcs to a new file
- this point no longer valid due to updated design of attrs. Ofcourse
- osd attr handling can be split into a separate file by itself.
-
-# Fri Mar 2 11:19:42 EST 2007
-+ conflicting goals:
- one function to pack attributes, but that requires double copies? how to
- solve this?
-+ while getting attr in list, in case of overflow, dont overwrite/ignore
- copied attrs
-- ispresent_attr, ispresent_attrpage functions
-! null attributes page for page not found. for non existing attribute, list
- entry format with len == 0xFFFFFFFF
- This point is still not clear
-- optimize sql query setup
-+ change ATTR_VAL_OFFSET to VAL_OFFSET(x)
-+ creating a new page, automatically creates page 0.
- currently handle pages with no directory page by SQL commands
-- page directory related functions
- this is partly done
-+ get_all_attr for object function
-+ let attr_gather_attr returns EOVERFLOW, but attr is absent, what will be
- returned in that case?
- it will not be treated as an error
-+ mark all sematic decisions as XXX:SD
-
-# Sun Mar 4 14:56:45 EST 2007
-- separate return for sqlite calls in attr_get_attr
-+ rename RTRVD_CREATE_ATTR_LIST RTRVD_CREATE_MUTIOBJ_LIST
-- if setattr with length zero, don't delete it, since that attr still has
- definition. this situation is different from where attr has no definition
- XXX:SD modifiy query.
-- after opening db, check if all tables exist
-+ cdb tests, tests for new osd-functions ??
-
-# Mon Mar 5 16:42:31 EST 2007
-+ directory page: sql query to generate a directory page
-+ get attribute list length in 5.2.2.3, is list length in bytes
-+ still to test getpage_setvalue, setvalue part in cdb.c
-- implement sense to report the stage where command failed.
-
-# Tue Mar 6 13:08:16 EST 2007
-- outdata/indata notation different from spec XXX:SD
-- use stranded files to mv existing dfiles when creating dfiles
-
-# Wed Mar 7 12:43:35 EST 2007
-- handle access to directory page offset
-! align Malloc and Calloc to 8B
- cannot handle this, as it would need bookkeeping
-- refactor attr.c
-+ in dir page add by default for each object UTSAP.
-- sqlite truncates strings with ??
-
-# Thu Mar 8 17:11:29 EST 2007
-- reduce number of arguments for : getattr, setattr
-+ collect all INCITS strings
-- use flexible array at end of struct for le mle
-
-# Fri Mar 9 12:00:46 EST 2007
-- change return values of db.c and attr.c from SQLITE return to OSD return
- codes
-+ add pragma
-
-# Wed Mar 14 17:07:06 EDT 2007
-+ standardize goto labels
-
-# Wed Apr 4 18:23:26 EDT 2007
-- rewrite makefiles like pvfs, look at the paper
-
-# Fri Apr 6 11:20:06 EDT 2007
-- profiling infrastrcture for target
-
-# Sat Apr 7 17:04:08 EDT 2007
-- configure separate placement of db and storage components
-
-# Tue Apr 10 15:11:36 EDT 2007
-- optimize sqlite
-- multithreading sqlite: locking transactions
-- iSER/SRP target
-- a new db backend?
-- make common case fast, assume correct, recover from error. for eg. assume
- attr and object exist, if not recover from error.
-- use triggers for time attrs, might slow things down
-- composing multiple objects into a file
-- proper sense codes with the point where command failed
-- flexible handle allocation in PVFS
-- speeding up file create operations with OSDs
-
-# Sun Apr 15 00:16:14 EDT 2007
-- composing multiple objects into a file
-- proper sense codes with the point where command failed
-- flexible handle allocation in PVFS
-- speeding up file create operations with OSDs
-
-# Fri Apr 20 15:28:45 EDT 2007
-- remove global variables in attr.c
-+ clean setattr hack
-+ implement collections
-- efficient way of generating next id
-
-# Mon Apr 23 15:54:10 EDT 2007
-! rev 1652: submitted to SC
-+ collection, lists, query list, building collection (N steps).
-
-# Wed Apr 25 12:47:05 EDT 2007
-- collection ids grow from botton, user ids grow from top.
-? who determines collection type?
-? how are userobjects added to collection of type == 1?
-? what is the use of removal of userobjects from collection after the
- execution of multiobject command?
-! alignment problem for query & list
-
-# Thu Apr 26 14:25:09 EDT 2007
-- initialize attr, db, object-collection
-- implement cache near the table, for eg. id cache in obj.c
-- a table to store ranges, to plug the holes in handles
-? list command: what is returned when list_attr == 0 and get_set_cdbfmt ==
- 2?
- list_attr means list the attributes along with the objects. Therefore
- when list_attr == 0 no attrs are sent for the list items, though
- attrs for the containers (partition/collection) might be sent back.
- When list_attr == 1 then attrs are sent in list format only, for both
- list items and their containers.
-
-# Fri Apr 27 13:15:42 EDT 2007
-- table manipulators need local cache. for eg. attr needs cache for blob,
- obj needs cache for id & storing results of list command. These need to
- be incorporated in the db_context
-! getting rowcount and the results in a single sql query
- http://searchoracle.techtarget.com/ateQuestionNResponse/0,289625,sid41_gci1…
-! sqlite looses precision. If uint64_t value is stored then large values
- like 0x9FFFFFFFFFFFFFFF cannot be stored, since sqlite converts all integers
- to double and stores it.
-+ scaling as function of objects, putting and taking out of collecitons
-+ implement query
-+ implement collection
-+ implement list, list + attr
-- implement list collection
-
-! Storage conference and Workshops
- TOS (Transactions on Storage)
- ISCA
- USENIX Technical conference
- FAST
- OSDI (more filesystem and OS related)
- SOSP ( -do- )
- NSDI (Network Systems Design and Implementation)
- HPDC
- HPCA
- SIGMOD
- JSPP
- IPDPS
- ICPP
- CCGrid
- Cluster
- DSN ??
- SC
- WIOSCA
- IOPADS (Workshop on Input/Output in Parallel and Distributed Systems)
- SPDT (Symposium on Parallel and Distributed Tools)
- MSST
- SNAPI Workshop along with MSST
- HiPC (for vacation in India)
- APDSC (Asia Pacific Data and Storage conference) Tier 3
- NAS (Network Architecture Storage) Tier 3
-
-# Sat Apr 28 14:45:36 EDT 2007
-- 6.18.3 the object descriptors are not aligned at 8 byte, even though the
- revision makes the case for other formats.
-- sqlite issues
- precompile the queries
- multithreaded
- reduce the fcntl calls for locking
- refactor the code such that error checking is minimized
- read other codes where SQLite is used
- solve the irritating 'ret' value preservation.
-- set PAGE_ID attr in set_attr function. refactor that function ??
-+ ATTR_PG_ID_LEN is declared twice. standardize on names, PAGE or PG.
-- Every create and create_collection, create partition sets default attr
-- use datatime functions to set timestamps
-- test attr when BLOB == NULL, does it remove the attr. change the
- semantics to set attr of zero length rather than removing the attr.
-! the code of deleting attribute is repeated in set_Attribute and set_cap
-- setup triggers to delete the cids or oids as necessary
-! get_all_attr needs to be modified to grab values from object_collection
-- change the semantic decision (XXX:SD) made of leaving no side-effects in
- case of create and other commands
-+ set_attribute must check for obj_type along with page. for eg.
- collections don't have user
-+ create 256 directories under dfiles to prevent fanout
-+ collect and summarize all todos in one place
-? how to handle endian correction when attr value is integer?
- store the values in big endian format. SQLite uses memcmp to compare
- blobs and only big endian format enables comparison of integers
- stored as blobs
-
-# Sun Apr 29 12:17:55 EDT 2007
-+ look for memory leaks in attr.c, tests etc.
-+ run valgrind and span all the code to check for memory leaks
-? in C how to determine the caller function. can be used to prevent a
- function being called from outside a set of predetermined functions.
-- python interface for writing unit tests
-- function to run different tests
-- A tech paper about all the complex attribute operations and their
- translations into efficient SQL statements.
-- copy sqlite source into the project directory, compile with Multithreaded
- and other options.
-! SQLite does not allow sub-query grouping using parenthesis
-? How should one deal with > 1 attributes, when one of the latter ones has
- an error. Should the state that has changed be reverted or should it be
- left as it is.
- if all the attrs are parsed before the command, then that error can
- be raised to the higher levels before command is commenced
-? what is object descriptor format 00h?
-
-# Mon Apr 30 11:16:06 EDT 2007
-- get/set attr functions in cdb.c assume that for each object all
- attributes are derieved.
-! in list command the get/set attrs apply to the oid in the CDB and also
- the oids generated from executing the CDB.
-- test set/get attr on collections
-+ change COLLECTIONS_PG to USER_COLL_PG
-+ todo:
- set member attributes
- query
-? does get/set attr of a query apply to the results of the command or only
-to the cid
-? when list is sent back with continuation id does it mention pid?
-+ change name of getattr_list_entry to something smaller.
- no need to change name
-- how does gcc treat branches? which one is predicted to be true, if or the
- else part? how does gcc treat condition part of for loop, do the
- constituents evaluated every time?
-- reduce the number of args passed to osd functions, using some generic
- struct
-+ test query with alloc_len < than result size to see if sqlite3_step is
- progressing
-! the spec again made mistake. in osd2r01 attr_list_len is 16 bits, which
- is not sufficient to store worst case one
-
-# Tue May 1 13:23:10 EDT 2007
-- design attr_list_oids_attr with proper loop invariant and clean code
-
-# Thu May 3 17:43:48 EDT 2007
-- use CURRENT_TIMESTAMP/CURRENT_TIME to encode creation time of object
-- combine tests for presence and type into one.
-
-# Sun May 6 14:38:42 EDT 2007
-+ optmize QUERY statement
-+ include performance tests in tests subdir
-
-# Tue May 8 00:51:36 EDT 2007
-+ create a db for storing performance numbers by version
-- clean sqlite api
-+ extend pysqlite API to include sqlite functions
- that is already done by apsw available at pysqlite website
-
-# Thu May 10 16:57:59 EDT 2007
-- getattr/setattr before executing the command
-- osd_context should have fields for get/set attr
-- commands in osd.c should account for the fact that attrs in get/set attr
- might belong to different types of objects. But they should still check
- the attribute sanity
-
-- List of changes where implementation differs from the spec
- - understanding of undefined attributes
- - lists returned by query
- - lists returned by list
- - processing of getattr and setattr after the command**
- - leaving no side-effects**
- - delete the attribute when value it's length is set to 0
- - treatment of zero length attributes
- - outdata/indata notation different from spec XXX:SD
-
- **the spec itself it not clear about it
-- valgrid opts
- valgrind --trace-children=yes --leak-check=full --log-file-exactly=valgrind.log ./tgtd -f 2>&1 > output.log
- valgrind -v --trace-children=yes --leak-check=yes --suppressions=./val.supp ./cdb-test >& out
-
-# Fri May 11 15:15:01 EDT 2007
-- remove init_attr if possible
-- list of incompatibilities with spec, where spec is wrong
-- can empty partition or collection be determined w/o actually counting the
- rows?
-- timing test for object_collection before and after optimization
-
-# Mon May 14 19:33:48 EDT 2007
-- in attr_gather * no need to copy blob values. Can pass of directly as a
- pointer to list-entry funcs
-- using helper function exec_dml adds about 4% overhead to execution time
- compared to infunction implementation.
-
-# Tue May 15 17:05:17 EDT 2007
-- x86_64 assembly resources:
-- http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/405…
-- http://www.x86-64.org/documentation.html
-- http://www.cs.cmu.edu/~fp/courses/15213-s06/misc/asm64-handout.pdf
-- http://www.amd.com/us-en/Processors/TechnicalResources/
-- AMD64 Architecture Programmer's Manual Volume 1: Application Programming
- http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/245…
-- http://developer.amd.com/devguides.jsp
-- the 4% overhead
- times without exec_dml:
- time_insert numiter 10 numobj 10 testone 0 avg 969.802714 +- 3.611856 us
- time_insert numiter 10 numobj 100 testone 0 avg 9841.456688 +- 17.105755 us
- time_insert numiter 10 numobj 1000 testone 0 avg 107513.349058 +- 331.922371 us
- time_insert numiter 10 numobj 1000 testone 0 avg 109118.424264 +- 1139.760928 us
-
- times with exec_dml:
- time_insert numiter 10 numobj 10 testone 0 avg 991.425623 +- 3.349941 us
- time_insert numiter 10 numobj 100 testone 0 avg 10016.951044 +- 22.943269 us
- time_insert numiter 10 numobj 1000 testone 0 avg 108450.038074 +- 298.843333 us
- time_insert numiter 10 numobj 1000 testone 0 avg 111032.684933 +- 829.166728 us
-
-- prama not working
-- why are we getting SQLITE_SCHEMA error
- since attr_get_dir_page creates views, it changes db schema and raise
- SQLITE_SCHEMA error.
-
-# Wed May 16 15:05:32 EDT 2007
-- change return code names from OSD_OK, they might conflict with OSD_CREATE
- etc namespace
-- more evidence of function call overhead:
- w/o overhead
-time_insert numiter 10 numobj 64 testone 0 avg 6288.029060 +- 25.669674 us
-time_insert numiter 10 numobj 128 testone 0 avg 12248.685379 +- 25.123183 us
-time_insert numiter 10 numobj 256 testone 0 avg 25899.749742 +- 53.774744 us
-time_insert numiter 10 numobj 512 testone 0 avg 54303.741797 +- 4332.570774 us
- with overhead
-time_insert numiter 10 numobj 64 testone 0 avg 6558.988791 +- 43.907721 us
-time_insert numiter 10 numobj 128 testone 0 avg 12947.509450 +- 30.651306 us
-time_insert numiter 10 numobj 256 testone 0 avg 27491.428278 +- 67.486652 us
-time_insert numiter 10 numobj 512 testone 0 avg 54567.097491 +- 179.033921 us
-
-! SQLITE_SCHEMA errors happen mostly in sqlite_reset or sqlite_finalize.
- When fedora updates sqlite to 3.3.9 or later, we can use *_v2 functions
- which can handle schema changes for us automatically. auto_vaccum may
- also cause SQLITE_SCHEMA errors, so all calls to sqlite3_step,
- sqlite3_bind and sqlite3_finalize must be tested for it.
-
-# Thu May 17 16:44:09 EDT 2007
-- analyze query plan of MAX(oid) and speed it up from O(N) to O(logN)
-- just get a summary from valgrind and write a unit test for it
-- find . -regextype posix-egrep -regex '.*Makefile|.*\.[ch]|.*\.py|.*notes|.*todo|.*\.schema' | xargs wc -l | sort -n
-
-# Fri May 18 13:18:32 EDT 2007
-- a single SQL query to insert default attributes for an object.
-- try to remember the readline convineance to ease the editing of shell
- commands on commandline, for e.g. when we use C-r to go back into
- history, how to get to begining or end of history, general history
- browsing
-- how to configure assert that it catched '=' errors
-- generic debug print statements
-- where are bash options set
-- get profile/bashprofile cleared up
-- oprofile the whole stack
-- function to set attrs in bulk
-
-# Sat May 19 21:30:48 EDT 2007
-- XXX:SD the spec does not make it clear whether only the length of the
- individual attribute is left unmodified or does the length of the whole
- list is left unmodified if not enough space for the attributes.
-- change osd.c to reflect changes in return values of coll, obj, attr
-- what if it fails to bind but reset is successfull?
-
-# Mon Jun 4 14:40:59 EDT 2007
-- call trace for login PDU
- __session_mainloop
- __session_poll
- iscsi_login_req
- iscsi_make_login_pdu
- ksend_pdu_end
- (netlink)
- .
- .
- iscsi_prep_scsi_cmd_pdu: sets ISCSI_FLAG_CMD_WRITE
- .
- .
- iscsi_conn_send_pdu
- iscsi_conn_send_generic: changes itt and cmdsn
- scsi_queue_work
- queue_work
- __queue_work
- .
- .
- iscsi_xmitworker
- iscsi_data_xmit
- iscsi_iser_ctask_xmit
- iser_send_command
- iser_prepare_write_cmd
- iser_post_recv
- iser_post_send
-
-
-- change unit tests from hardcoded test cases to a file with test
- combinations.
-
-# Fri Jun 8 19:58:59 EDT 2007
-- set header and data digests to None
-
-# Sun Jun 10 00:25:15 EDT 2007
-- iscsi api for iser
- iscsi_iser_event_handler
- iscsi_iser_rx_handler
- iscsi_iser_tx_handler
- data_ack_notify
- data_comp_notify
- conn_term_notify
-
- by ISER
- ep_write_begin(hndl, *buf, size)
- ep_write_end(hndl)
- nbytes ep_read(hndl, **buf)
- get_data(hndl) == ep_read()
- alloc_conn_rsrc()
- dealloc_conn_rsrc()
- dealloc_task_rsrc(hndl)
- ep_close(hndl)
-
-- iSCSI impl for RDMAExt
- return scsi status in a separate scsi response pdu
- must support login keys: RDMAExt, Digests set to None,
- ORD affects qp caps
- max outstanding unexpected pdus
-
-- First message is hello:
- the message from initiator does not appear to be it!!
-
-- completion queue events must be handled in iscsi_iser
-- status field in iser conn
-
-- how to control iscsid state transitions?
-
-- event_loop
-- rdma low level
-- list of ready tasks
-- api change
-
-# Thu Jun 14 00:29:01 EDT 2007
-- deregister rdmal
-- handle close conn
-
-
-# Fri Jun 22 17:07:26 EDT 2007
-+ isolate mallocs; remove conditions
-+ single buffer pool
-
-# Mon Jun 25 14:31:12 EDT 2007
-- readb writeb
-- make mem management efficient
-- take care of buf outruns
-
-# Mon Jul 16 21:09:32 EDT 2007
-- use new SQLite api for prepared statements
-- use new SQLite return semantics
-- try to write configure script to enable dependencies
-- complete some of the todos like optimizing create, optimizing obj_type
- lookup etc
-
-# Fri Jul 20 15:08:01 EDT 2007
-+ improve setattr perf
-- clean up iscsi_iser
-
-# Mon Jul 30 15:45:48 EDT 2007
-- iobench bonnie tests for OSD target
-
-# Thu Aug 2 13:06:05 EDT 2007
-- combine get/set attrs initial functions
-
-# Mon Aug 6 13:15:05 EDT 2007
-- coding style: keep all types together
-
-# Sat Oct 6 16:30:31 EDT 2007
-- mv timestamps from filesytem to db
-
-# Sun Oct 7 12:41:20 EDT 2007
-- list writer object
-- gen_cas modifies: osd command execution sequence, type of list, OSD
- command section
-
-# Tue Oct 16 13:38:58 EDT 2007
-- new commands: Punch, clear
-
-# Fri Oct 19 14:58:32 EDT 2007
-- make file path names in def file
-
-# Thu Nov 1 16:45:05 EDT 2007
-- change arguments tests in functions to assertions
-
-# Fri Nov 2 14:37:31 EDT 2007
-- improve SQLite's performance
-
-# Mon Nov 5 15:09:35 EST 2007
-- combine partition/object testing into one
-
-# Fri Nov 30 17:29:47 EST 2007
-- create branch in svn to handle the debug cases. for eg. tick tracing to
- debug the fairness for different clients
-
-# Mon Jul 21 12:21:07 EDT 2008
-http://www.sqlite.org/atomiccommit.html
diff --git a/oldcode/src/gsl/resources/storage/osd-target/obj.c b/oldcode/src/gsl/resources/storage/osd-target/obj.c
deleted file mode 100644
index 0122f6f..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/obj.c
+++ /dev/null
@@ -1,582 +0,0 @@
-/*
- * Object table.
- *
- * Copyright (C) 2007 OSD Team <pvfs-osd(a)osc.edu>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <string.h>
-#include <sqlite3.h>
-#include <assert.h>
-
-#include "osd-types.h"
-#include "osd-defs.h"
-#include "osd.h"
-#include "osd-util.h"
-#include "obj.h"
-#include "db.h"
-
-/* obj table tracks the presence of objects in the OSD */
-
-static const char *obj_tab_name = "obj";
-struct obj_tab {
- char *name; /* name of the table */
- sqlite3_stmt *insert; /* insert a row */
- sqlite3_stmt *delete; /* delete a row */
- sqlite3_stmt *delpid; /* delete all rows for pid */
- sqlite3_stmt *nextoid; /* get next oid */
- sqlite3_stmt *nextpid; /* get next pid */
- sqlite3_stmt *isprsnt; /* is object present */
- sqlite3_stmt *emptypid; /* is partition empty */
- sqlite3_stmt *gettype; /* get type of the object */
- sqlite3_stmt *getoids; /* get oids in a pid */
- sqlite3_stmt *getcids; /* get cids in pid */
- sqlite3_stmt *getpids; /* get pids in db */
-};
-
-
-/*
- * returns:
- * -ENOMEM: out of memory
- * -EINVAL: invalid args
- * -EIO: if any prepare statement fails
- * OSD_OK: success
- */
-int obj_initialize(struct db_context *dbc)
-{
- int ret = 0;
- int sqlret = 0;
- char SQL[MAXSQLEN];
-
- if (dbc == NULL || dbc->db == NULL) {
- ret = -EINVAL;
- goto out;
- }
-
- if (dbc->obj != NULL) {
- if (strcmp(dbc->obj->name, obj_tab_name) != 0) {
- ret = -EINVAL;
- goto out;
- } else {
- obj_finalize(dbc);
- }
- }
-
- dbc->obj = Calloc(1, sizeof(*dbc->obj));
- if (!dbc->obj) {
- ret = -ENOMEM;
- goto out;
- }
-
- dbc->obj->name = strdup(obj_tab_name);
- if (!dbc->obj->name) {
- ret = -ENOMEM;
- goto out;
- }
-
- sprintf(SQL, "INSERT INTO %s VALUES (?, ?, ?);", dbc->obj->name);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->obj->insert, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_insert;
-
- sprintf(SQL, "DELETE FROM %s WHERE pid = ? AND oid = ?;",
- dbc->obj->name);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->obj->delete, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_delete;
-
- sprintf(SQL, "DELETE FROM %s WHERE pid = ?;", dbc->obj->name);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->obj->delpid, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_delpid;
-
- sprintf(SQL, "SELECT MAX(oid) FROM %s WHERE pid = ?;",
- dbc->obj->name);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->obj->nextoid, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_nextoid;
-
- sprintf(SQL, "SELECT MAX(pid) FROM %s;", dbc->obj->name);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->obj->nextpid, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_nextpid;
-
- sprintf(SQL, "SELECT COUNT(oid) FROM %s WHERE pid = ? AND oid = ?;",
- dbc->obj->name);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->obj->isprsnt, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_isprsnt;
-
- sprintf(SQL, "SELECT COUNT(oid) FROM %s WHERE pid = ? AND oid != 0 "
- " LIMIT 1;", dbc->obj->name);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->obj->emptypid, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_emptypid;
-
- sprintf(SQL, "SELECT type FROM %s WHERE pid = ? AND oid = ?;",
- dbc->obj->name);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->obj->gettype, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_gettype;
-
- sprintf(SQL, "SELECT oid FROM %s WHERE pid = ? AND type = %u AND "
- " oid >= ?;", dbc->obj->name, USEROBJECT);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->obj->getoids, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_getoids;
-
- sprintf(SQL, "SELECT oid FROM %s WHERE pid = ? AND type = %u AND "
- " oid >= ?;", dbc->obj->name, COLLECTION);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->obj->getcids, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_getcids;
-
- sprintf(SQL, "SELECT pid FROM %s WHERE oid = %llu AND type = %u AND "
- " pid >= ?;", dbc->obj->name, llu(PARTITION_OID), PARTITION);
- ret = sqlite3_prepare(dbc->db, SQL, -1, &dbc->obj->getpids, NULL);
- if (ret != SQLITE_OK)
- goto out_finalize_getpids;
-
- ret = OSD_OK; /* success */
- goto out;
-
-out_finalize_getpids:
- db_sqfinalize(dbc->db, dbc->obj->getpids, SQL);
- SQL[0] = '\0';
-out_finalize_getcids:
- db_sqfinalize(dbc->db, dbc->obj->getcids, SQL);
- SQL[0] = '\0';
-out_finalize_getoids:
- db_sqfinalize(dbc->db, dbc->obj->getoids, SQL);
- SQL[0] = '\0';
-out_finalize_gettype:
- db_sqfinalize(dbc->db, dbc->obj->gettype, SQL);
- SQL[0] = '\0';
-out_finalize_emptypid:
- db_sqfinalize(dbc->db, dbc->obj->emptypid, SQL);
- SQL[0] = '\0';
-out_finalize_isprsnt:
- db_sqfinalize(dbc->db, dbc->obj->isprsnt, SQL);
- SQL[0] = '\0';
-out_finalize_nextpid:
- db_sqfinalize(dbc->db, dbc->obj->nextpid, SQL);
- SQL[0] = '\0';
-out_finalize_nextoid:
- db_sqfinalize(dbc->db, dbc->obj->nextoid, SQL);
- SQL[0] = '\0';
-out_finalize_delpid:
- db_sqfinalize(dbc->db, dbc->obj->delpid, SQL);
- SQL[0] = '\0';
-out_finalize_delete:
- db_sqfinalize(dbc->db, dbc->obj->delete, SQL);
- SQL[0] = '\0';
-out_finalize_insert:
- db_sqfinalize(dbc->db, dbc->obj->insert, SQL);
- ret = -EIO;
-out:
- return ret;
-}
-
-
-int obj_finalize(struct db_context *dbc)
-{
- if (!dbc || !dbc->obj)
- return OSD_ERROR;
-
- /* finalize statements; ignore return values */
- sqlite3_finalize(dbc->obj->insert);
- sqlite3_finalize(dbc->obj->delete);
- sqlite3_finalize(dbc->obj->delpid);
- sqlite3_finalize(dbc->obj->nextoid);
- sqlite3_finalize(dbc->obj->nextpid);
- sqlite3_finalize(dbc->obj->isprsnt);
- sqlite3_finalize(dbc->obj->emptypid);
- sqlite3_finalize(dbc->obj->gettype);
- sqlite3_finalize(dbc->obj->getoids);
- sqlite3_finalize(dbc->obj->getcids);
- sqlite3_finalize(dbc->obj->getpids);
- free(dbc->obj->name);
- free(dbc->obj);
- dbc->obj = NULL;
-
- return OSD_OK;
-}
-
-
-const char *obj_getname(struct db_context *dbc)
-{
- if (dbc == NULL || dbc->obj == NULL)
- return NULL;
- return dbc->obj->name;
-}
-
-
-/*
- * returns:
- * -EINVAL: invalid arg
- * OSD_ERROR: some other error
- * OSD_OK: success
- */
-int obj_insert(struct db_context *dbc, uint64_t pid, uint64_t oid,
- uint32_t type)
-{
- int ret = 0;
-
- TICK_TRACE(obj_insert);
- assert(dbc && dbc->db && dbc->obj && dbc->obj->insert);
-
-repeat:
- ret = 0;
- ret |= sqlite3_bind_int64(dbc->obj->insert, 1, pid);
- ret |= sqlite3_bind_int64(dbc->obj->insert, 2, oid);
- ret |= sqlite3_bind_int(dbc->obj->insert, 3, type);
- ret = db_exec_dms(dbc, dbc->obj->insert, ret, __func__);
- if (ret == OSD_REPEAT)
- goto repeat;
-
- TICK_TRACE(obj_insert);
- return ret;
-}
-
-
-/*
- * NOTE: If the object is not present, the function completes successfully.
- *
- * returns:
- * -EINVAL: invalid arg
- * OSD_ERROR: some other error
- * OSD_OK: success
- */
-int obj_delete(struct db_context *dbc, uint64_t pid, uint64_t oid)
-{
- int ret = 0;
-
- assert(dbc && dbc->db && dbc->obj && dbc->obj->delete);
-
-repeat:
- ret = 0;
- ret |= sqlite3_bind_int64(dbc->obj->delete, 1, pid);
- ret |= sqlite3_bind_int64(dbc->obj->delete, 2, oid);
- ret = db_exec_dms(dbc, dbc->obj->delete, ret, __func__);
- if (ret == OSD_REPEAT)
- goto repeat;
-
- return ret;
-}
-
-
-/*
- * returns:
- * -EINVAL: invalid arg
- * OSD_ERROR: some other error
- * OSD_OK: success
- */
-int obj_delete_pid(struct db_context *dbc, uint64_t pid)
-{
- int ret = 0;
-
- assert(dbc && dbc->db && dbc->obj && dbc->obj->delpid);
-
-repeat:
- ret = sqlite3_bind_int64(dbc->obj->delpid, 1, pid);
- ret = db_exec_dms(dbc, dbc->obj->delpid, ret, __func__);
- if (ret == OSD_REPEAT)
- goto repeat;
-
- return ret;
-}
-
-
-/*
- * return values
- * -EINVAL: invalid args
- * OSD_ERROR: some other sqlite error
- * OSD_OK: success
- * oid = next oid if pid has some oids
- * oid = 1 if pid was empty or absent. caller must assign correct oid.
- */
-int obj_get_nextoid(struct db_context *dbc, uint64_t pid, uint64_t *oid)
-{
- int ret = 0;
- int bound = 0;
-
- assert(dbc && dbc->db && dbc->obj && dbc->obj->nextoid);
-
-repeat:
- ret = sqlite3_bind_int64(dbc->obj->nextoid, 1, pid);
- bound = (ret == SQLITE_OK);
- if (!bound) {
- error_sql(dbc->db, "%s: bind failed", __func__);
- goto out_reset;
- }
-
- while ((ret = sqlite3_step(dbc->obj->nextoid)) == SQLITE_BUSY);
- if (ret == SQLITE_ROW)
- *oid = sqlite3_column_int64(dbc->obj->nextoid, 0) + 1;
-
-out_reset:
- ret = db_reset_stmt(dbc, dbc->obj->nextoid, bound, __func__);
- if (ret == OSD_REPEAT)
- goto repeat;
-out:
- return ret;
-}
-
-
-/*
- * return values
- * -EINVAL: invalid args
- * OSD_ERROR: some other sqlite error
- * OSD_OK: success
- * pid = next pid if OSD has some pids
- * pid = 1 if pid not in db. caller must assign correct pid.
- */
-int obj_get_nextpid(struct db_context *dbc, uint64_t *pid)
-{
- int ret = 0;
-
- assert(dbc && dbc->db && dbc->obj && dbc->obj->nextpid);
-
-repeat:
- while ((ret = sqlite3_step(dbc->obj->nextpid)) == SQLITE_BUSY);
- if (ret == SQLITE_ROW)
- *pid = sqlite3_column_int64(dbc->obj->nextpid, 0) + 1;
-
-out_reset:
- ret = db_reset_stmt(dbc, dbc->obj->nextpid, 1, __func__);
- if (ret == OSD_REPEAT)
- goto repeat;
-out:
- return ret;
-}
-
-
-/*
- * NOTE: type not in arg, since USEROBJECT and COLLECTION share namespace
- * and (pid, oid) is unique.
- *
- * returns:
- * -EINVAL: invalid arg, ignore value of *present
- * OSD_ERROR: some other error, ignore value of *present
- * OSD_OK: success, *present set to the following:
- * 0: object is absent
- * 1: object is present
- */
-int obj_ispresent(struct db_context *dbc, uint64_t pid, uint64_t oid,
- int *present)
-{
- int ret = 0;
- int bound = 0;
- *present = 0;
-
- assert(dbc && dbc->db && dbc->obj && dbc->obj->isprsnt);
-
-repeat:
- ret = 0;
- ret |= sqlite3_bind_int64(dbc->obj->isprsnt, 1, pid);
- ret |= sqlite3_bind_int64(dbc->obj->isprsnt, 2, oid);
- bound = (ret == SQLITE_OK);
- if (!bound) {
- error_sql(dbc->db, "%s: bind failed", __func__);
- goto out_reset;
- }
-
- while ((ret = sqlite3_step(dbc->obj->isprsnt)) == SQLITE_BUSY);
- if (ret == SQLITE_ROW)
- *present = sqlite3_column_int(dbc->obj->isprsnt, 0);
-
-out_reset:
- ret = db_reset_stmt(dbc, dbc->obj->isprsnt, bound, __func__);
- if (ret == OSD_REPEAT)
- goto repeat;
-out:
- return ret;
-}
-
-
-/*
- * tests whether partition is empty.
- *
- * returns:
- * -EINVAL: invalid arg
- * OSD_ERROR: in case of other errors, ignore value of *isempty
- * OSD_OK: success, *isempty set to:
- * ==1: if partition is empty or absent or in case of sqlite error
- * ==0: if partition is not empty
- */
-int obj_isempty_pid(struct db_context *dbc, uint64_t pid, int *isempty)
-{
- int ret = 0;
- int bound = 0;
- *isempty = 0;
-
- assert(dbc && dbc->db && dbc->obj && dbc->obj->emptypid);
-
-repeat:
- ret = sqlite3_bind_int64(dbc->obj->emptypid, 1, pid);
- bound = (ret == SQLITE_OK);
- if (!bound) {
- error_sql(dbc->db, "%s: bind failed", __func__);
- goto out_reset;
- }
-
- while ((ret = sqlite3_step(dbc->obj->emptypid)) == SQLITE_BUSY);
- if (ret == SQLITE_ROW)
- *isempty = (0 == sqlite3_column_int(dbc->obj->emptypid, 0));
-
-out_reset:
- ret = db_reset_stmt(dbc, dbc->obj->emptypid, bound, __func__);
- if (ret == OSD_REPEAT)
- goto repeat;
-out:
- return ret;
-}
-
-
-/*
- * return the type of the object
- *
- * returns:
- * -EINVAL: invalid arg, ignore value of obj_type
- * OSD_ERROR: any other error, ignore value of obj_type
- * OSD_OK: success in determining the type, either valid or invalid.
- * obj_types set to the determined type.
- */
-int obj_get_type(struct db_context *dbc, uint64_t pid, uint64_t oid,
- uint8_t *obj_type)
-{
- int ret = 0;
- int bound = 0;
- *obj_type = ILLEGAL_OBJ;
-
- assert(dbc && dbc->db && dbc->obj && dbc->obj->gettype);
-
-repeat:
- ret = 0;
- ret |= sqlite3_bind_int64(dbc->obj->gettype, 1, pid);
- ret |= sqlite3_bind_int64(dbc->obj->gettype, 2, oid);
- bound = (ret == SQLITE_OK);
- if (!bound) {
- error_sql(dbc->db, "%s: bind failed", __func__);
- goto out_reset;
- }
-
- while ((ret = sqlite3_step(dbc->obj->gettype)) == SQLITE_BUSY);
- if (ret == SQLITE_ROW) {
- *obj_type = sqlite3_column_int(dbc->obj->gettype, 0);
- } else if (ret == SQLITE_DONE) {
- osd_debug("%s: object (%llu %llu) doesn't exist", __func__,
- llu(pid), llu(oid));
- }
-
-out_reset:
- ret = db_reset_stmt(dbc, dbc->obj->gettype, bound, __func__);
- if (ret == OSD_REPEAT)
- goto repeat;
-out:
- return ret;
-}
-
-
-/*
- * returns:
- * -EINVAL: invalid arg
- * OSD_ERROR: some other error
- * OSD_OK: success. oids copied into outdata, contid, used_outlen and
- * add_len are set accordingly
- */
-int obj_get_oids_in_pid(struct db_context *dbc, uint64_t pid,
- uint64_t initial_oid, uint64_t alloc_len,
- uint8_t *outdata, uint64_t *used_outlen,
- uint64_t *add_len, uint64_t *cont_id)
-{
- int ret = 0;
- sqlite3_stmt *stmt = NULL;
-
- assert(dbc && dbc->db && dbc->obj && dbc->obj->getoids);
-
-repeat:
- ret = 0;
- stmt = dbc->obj->getoids;
- ret |= sqlite3_bind_int64(stmt, 1, pid);
- ret |= sqlite3_bind_int64(stmt, 2, initial_oid);
- ret = db_exec_id_rtrvl_stmt(dbc, stmt, ret, __func__, alloc_len,
- outdata, used_outlen, add_len, cont_id);
- if (ret == OSD_REPEAT)
- goto repeat;
-
- return ret;
-}
-
-
-/*
- * returns:
- * -EINVAL: invalid arg
- * OSD_ERROR: some other error
- * OSD_OK: success. cids copied into outdata, contid, used_outlen and
- * add_len are set accordingly
- */
-int obj_get_cids_in_pid(struct db_context *dbc, uint64_t pid,
- uint64_t initial_cid, uint64_t alloc_len,
- uint8_t *outdata, uint64_t *used_outlen,
- uint64_t *add_len, uint64_t *cont_id)
-{
- int ret = 0;
- sqlite3_stmt *stmt = NULL;
-
- assert(dbc && dbc->db && dbc->obj && dbc->obj->getcids);
-
-repeat:
- ret = 0;
- stmt = dbc->obj->getcids;
- ret |= sqlite3_bind_int64(stmt, 1, pid);
- ret |= sqlite3_bind_int64(stmt, 2, initial_cid);
- ret = db_exec_id_rtrvl_stmt(dbc, stmt, ret, __func__, alloc_len,
- outdata, used_outlen, add_len, cont_id);
- if (ret == OSD_REPEAT)
- goto repeat;
-
- return ret;
-}
-
-
-/*
- * returns:
- * -EINVAL: invalid arg
- * OSD_ERROR: some other error
- * OSD_OK: success. pids copied into outdata, contid, used_outlen and
- * add_len are set accordingly
- */
-int obj_get_all_pids(struct db_context *dbc, uint64_t initial_pid,
- uint64_t alloc_len, uint8_t *outdata,
- uint64_t *used_outlen, uint64_t *add_len,
- uint64_t *cont_id)
-{
- int ret = 0;
-
- assert(dbc && dbc->db && dbc->obj && dbc->obj->getpids);
-
-repeat:
- ret = sqlite3_bind_int64(dbc->obj->getpids, 1, initial_pid);
- ret = db_exec_id_rtrvl_stmt(dbc, dbc->obj->getpids, ret, __func__,
- alloc_len, outdata, used_outlen, add_len,
- cont_id);
- if (ret == OSD_REPEAT)
- goto repeat;
-
- return ret;
-}
-
diff --git a/oldcode/src/gsl/resources/storage/osd-target/obj.h b/oldcode/src/gsl/resources/storage/osd-target/obj.h
deleted file mode 100644
index c3d5d2d..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/obj.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Object table.
- *
- * Copyright (C) 2007 OSD Team <pvfs-osd(a)osc.edu>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#ifndef __OBJ_H
-#define __OBJ_H
-
-#include <sqlite3.h>
-#include "osd-types.h"
-
-int obj_initialize(struct db_context *dbc);
-
-int obj_finalize(struct db_context *dbc);
-
-const char *obj_getname(struct db_context *dbc);
-
-int obj_insert(struct db_context *dbc, uint64_t pid, uint64_t oid,
- uint32_t type);
-
-int obj_delete(struct db_context *dbc, uint64_t pid, uint64_t oid);
-
-int obj_delete_pid(struct db_context *dbc, uint64_t pid);
-
-int obj_get_nextoid(struct db_context *dbc, uint64_t pid, uint64_t *oid);
-
-int obj_get_nextpid(struct db_context *dbc, uint64_t *pid);
-
-int obj_ispresent(struct db_context *dbc, uint64_t pid, uint64_t oid,
- int *present);
-
-int obj_isempty_pid(struct db_context *dbc, uint64_t pid, int *isempty);
-
-int obj_get_type(struct db_context *dbc, uint64_t pid, uint64_t oid,
- uint8_t *obj_type);
-
-int obj_get_oids_in_pid(struct db_context *dbc, uint64_t pid,
- uint64_t initial_oid, uint64_t alloc_len,
- uint8_t *outdata, uint64_t *used_outlen,
- uint64_t *add_len, uint64_t *cont_id);
-
-int obj_get_cids_in_pid(struct db_context *dbc, uint64_t pid,
- uint64_t initial_cid, uint64_t alloc_len,
- uint8_t *outdata, uint64_t *used_outlen,
- uint64_t *add_len, uint64_t *cont_id);
-
-int obj_get_all_pids(struct db_context *dbc, uint64_t initial_oid,
- uint64_t alloc_len, uint8_t *outdata,
- uint64_t *used_outlen, uint64_t *add_len,
- uint64_t *cont_id);
-#endif /* __OBJ_H */
diff --git a/oldcode/src/gsl/resources/storage/osd-target/osd-defs.h b/oldcode/src/gsl/resources/storage/osd-target/osd-defs.h
deleted file mode 100644
index 377781f..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/osd-defs.h
+++ /dev/null
@@ -1,327 +0,0 @@
-/*
- * Symbols from the OSD and other specifications.
- *
- * Copyright (C) 2007 OSD Team <pvfs-osd(a)osc.edu>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#ifndef __OSD_DEFS_H
-#define __OSD_DEFS_H
-/*
- * Shared defitions for OSD target and initiator.
- */
-#define VARLEN_CDB 0x7f
-#define OSD_CDB_SIZE 200
-#define OSD_MAX_SENSE 252
-
-/* varlen cdb service actions for osd2r01 */
-#define OSD_APPEND 0x8887
-#define OSD_CLEAR 0x8889
-#define OSD_COPY_USER_OBJECTS 0x8893
-#define OSD_CREATE 0x8882
-#define OSD_CREATE_AND_WRITE 0x8892
-#define OSD_CREATE_CLONE 0x88a8
-#define OSD_CREATE_COLLECTION 0x8895
-#define OSD_CREATE_PARTITION 0x888b
-#define OSD_CREATE_SNAPSHOT 0x88a9
-#define OSD_CREATE_USER_TRACKING_COLLECTION 0x8894
-#define OSD_DETACH_CLONE 0x88aa
-#define OSD_FLUSH 0x8888
-#define OSD_FLUSH_COLLECTION 0x889a
-#define OSD_FLUSH_OSD 0x889c
-#define OSD_FLUSH_PARTITION 0x889b
-#define OSD_FORMAT_OSD 0x8881
-#define OSD_GET_ATTRIBUTES 0x888e
-#define OSD_GET_MEMBER_ATTRIBUTES 0x88a2
-#define OSD_LIST 0x8883
-#define OSD_LIST_COLLECTION 0x8897
-#define OSD_OBJECT_STRUCTURE_CHECK 0x8880
-#define OSD_PERFORM_SCSI_COMMAND 0x8f7c
-#define OSD_PERFORM_TASK_MGMT_FUNC 0x8f7d
-#define OSD_PUNCH 0x8884
-#define OSD_QUERY 0x88a0
-#define OSD_READ 0x8885
-#define OSD_READ_MAP 0x88b1
-#define OSD_READ_MAPS_AND_COMPARE 0x88b2
-#define OSD_REFRESH_SNAPSHOT_OR_CLONE 0x88ab
-#define OSD_REMOVE 0x888a
-#define OSD_REMOVE_COLLECTION 0x8896
-#define OSD_REMOVE_MEMBER_OBJECTS 0x88a1
-#define OSD_REMOVE_PARTITION 0x888c
-#define OSD_RESTORE_PARTITION_FROM_SNAPSHOT ox88ac
-#define OSD_SET_ATTRIBUTES 0x888f
-#define OSD_SET_KEY 0x8898
-#define OSD_SET_MASTER_KEY 0x8899
-#define OSD_SET_MEMBER_ATTRIBUTES 0x88a3
-#define OSD_WRITE 0x8886
-
-/* custom definitions */
-#define OSD_CAS 0x8880
-#define OSD_FA 0x8890
-#define OSD_COND_SETATTR 0x8891
-#define OSD_GEN_CAS 0x88a5
-
-/* Data Distribution Types */
-#define DDT_CONTIG 0x0
-#define DDT_SGL 0x1
-#define DDT_VEC 0x2
-#define DDT_RES 0x3
-
-
-#define SAM_STAT_GOOD 0x00
-#define SAM_STAT_CHECK_CONDITION 0x02
-#define SAM_STAT_CONDITION_MET 0x04
-#define SAM_STAT_BUSY 0x08
-#define SAM_STAT_INTERMEDIATE 0x10
-#define SAM_STAT_INTERMEDIATE_CONDITION_MET 0x14
-#define SAM_STAT_RESERVATION_CONFLICT 0x18
-#define SAM_STAT_COMMAND_TERMINATED 0x22
-#define SAM_STAT_TASK_SET_FULL 0x28
-#define SAM_STAT_ACA_ACTIVE 0x30
-#define SAM_STAT_TASK_ABORTED 0x40
-
-/* OSD object constants, osd2r04 sec 4.6.1, 4.6.6 */
-#define ROOT_PID 0LLU
-#define ROOT_OID 0LLU
-#define PARTITION_PID_LB 0x10000LLU
-#define PARTITION_OID 0x0LLU
-#define OBJECT_PID_LB 0x10000LLU
-#define SPONTANEOUS_COLLECTION_PID_LB 0x10000LLU
-#define SPONTANEOUS_COLLECTION_OID_LB 0x1082LLU
-#define TRACKING_COLLECTION_PID_LB 0x10000LLU
-#define TRACKING_COLLECTION_OID_LB 0x0001LLU
-#define COLLECTION_PID_LB OBJECT_PID_LB
-#define USEROBJECT_PID_LB OBJECT_PID_LB
-#define WELL_KNOWN_COLLECTION_PID_LB OBJECT_PID_LB
-#define LINKED_COLLECTION_PID_LB OBJECT_PID_LB
-#define USER_TRACKING_COLLECTION_OID_LB OBJECT_PID_LB
-#define OBJECT_OID_LB OBJECT_PID_LB
-#define COLLECTION_OID_LB COLLECTION_PID_LB
-#define USEROBJECT_OID_LB USEROBJECT_PID_LB
-#define WELL_KNOWN_COLLECTION_OID_LB 0x1000
-#define USER_TRACKING_COLLECTION_OID_LB OBJECT_PID_LB
-#define LINKED_COLLECTION_OID_LB OBJECT_PID_LB
-
-
-/* CDB continuation descriptors, osd2r04 sec 5.4.1 */
-#define NO_MORE_DESCRIPTORS 0x0000
-#define SCATTER_GATHER_LIST 0x0001
-#define QUERY_LIST 0x0002
-#define USER_OBJECT 0x0001
-#define COPY_USER_OBJECT_SOURCE 0x0101
-#define EXTENSION_CAPABILITIES 0xFFEE
-
-/* object duplication methods, osd2r04 sec 4.13.3 */
-#define DEFAULT 0x00
-#define SPACE_EFFICIENT 0x01
-#define PRE_ALLOCATED 0x41
-#define BYTE_BY_BYTE 0x81
-#define FASTER_COPY 0xFD
-#define HIGHER_DATA 0xFE
-#define DO_NOT_CARE 0xFF
-
-/* object types, osd2r00 section 4.9.2.2.1 table 9 */
-enum {
- ROOT = 0x01,
- PARTITION = 0x02,
- COLLECTION = 0x40,
- USEROBJECT = 0x80,
- ILLEGAL_OBJ = 0x00 /* XXX: this is not in standard */
-};
-
-/* attribute page ranges, osd2r01 sec 4.7.3 */
-enum {
- USEROBJECT_PG = 0x0U,
- PARTITION_PG = 0x30000000U,
- COLLECTION_PG = 0x60000000U,
- ROOT_PG = 0x90000000U,
- RESERVED_PG = 0xC0000000U,
- ANY_PG = 0xF0000000U,
- CUR_CMD_ATTR_PG = 0xFFFFFFFEU,
- GETALLATTR_PG = 0xFFFFFFFFU,
-};
-
-/* attribute page sets, further subdivide the above, osd2r01 sec 4.7.3 */
-enum {
- STD_PG_LB = 0x0,
- STD_PG_UB = 0x7F,
- RSRV_PG_LB = 0x80,
- RSRV_PG_UB = 0x7FFF,
- OSTD_PG_LB = 0x8000,
- OSTD_PG_UB = 0xEFFF,
- MSPC_PG_LB = 0xF000,
- MSPC_PG_UB = 0xFFFF,
- LUN_PG_LB = 0x10000,
- LUN_PG_UB = 0x1FFFFFFF,
- VEND_PG_LB = 0x20000000,
- VEND_PG_UB = 0x2FFFFFFF
-};
-
-/* osd2r01, Section 4.7.4 */
-enum {
- ATTRNUM_LB = 0x0,
- ATTRNUM_UB = 0xFFFFFFFE,
- ATTRNUM_INFO = ATTRNUM_LB,
- ATTRNUM_UNMODIFIABLE = 0xFFFFFFFF,
- ATTRNUM_GETALL = ATTRNUM_UNMODIFIABLE
-};
-
-/* osd2r00, Table 5 Section 4.7.5 */
-enum {
- USEROBJECT_DIR_PG = (USEROBJECT_PG + 0x0),
- PARTITION_DIR_PG = (PARTITION_PG + 0x0),
- COLLECTION_DIR_PG = (COLLECTION_PG + 0x0),
- ROOT_DIR_PG = (ROOT_PG + 0x0)
-};
-
-/* (selected) attribute pages defined by osd spec, osd2r01 sec 7.1.2.1 */
-enum {
- USER_DIR_PG = 0x0,
- USER_INFO_PG = 0x1,
- ROOT_INFO_PG = (ROOT_PG + 0x1),
- USER_QUOTA_PG = 0x2,
- USER_TMSTMP_PG = 0x3,
- USER_COLL_PG = 0x4,
- USER_POLICY_PG = 0x5,
- USER_ATOMICS_PG = 0x6,
-};
-
-/* in all attribute pages, attribute number 0 is a 40-byte identification */
-#define PAGE_ID (0x0)
-#define ATTR_PAGE_ID_LEN (40)
-
-/* current command attributes page constants, osd2r01 sec 7.1.2.24 */
-enum {
- /* individiual attribute items (pageid always at 0) */
- CCAP_RICV = 0x1,
- CCAP_OBJT = 0x2,
- CCAP_PID = 0x3,
- CCAP_OID = 0x4,
- CCAP_APPADDR = 0x5,
-
- /* lengths of the items */
- CCAP_RICV_LEN = 20,
- CCAP_OBJT_LEN = 1,
- CCAP_PID_LEN = 8,
- CCAP_OID_LEN = 8,
- CCAP_APPADDR_LEN = 8,
-
- /* offsets when retrieved in page format (page num and len at 0) */
- CCAP_RICV_OFF = 8,
- CCAP_OBJT_OFF = 28,
- CCAP_PID_OFF = 32,
- CCAP_OID_OFF = 40,
- CCAP_APPADDR_OFF = 48,
- CCAP_TOTAL_LEN = 56,
-};
-
-/* userobject timestamp attribute page osd2r01 sec 7.1.2.18 */
-enum {
- /* attributes */
- UTSAP_CTIME = 0x1,
- UTSAP_ATTR_ATIME = 0x2,
- UTSAP_ATTR_MTIME = 0x3,
- UTSAP_DATA_ATIME = 0x4,
- UTSAP_DATA_MTIME = 0x5,
-
- /* length of attributes */
- UTSAP_CTIME_LEN = 6,
- UTSAP_ATTR_ATIME_LEN = 6,
- UTSAP_ATTR_MTIME_LEN = 6,
- UTSAP_DATA_ATIME_LEN = 6,
- UTSAP_DATA_MTIME_LEN = 6,
-
- /* offsets */
- UTSAP_CTIME_OFF = 8,
- UTSAP_ATTR_ATIME_OFF = 14,
- UTSAP_ATTR_MTIME_OFF = 20,
- UTSAP_DATA_ATIME_OFF = 26,
- UTSAP_DATA_MTIME_OFF = 32,
- UTSAP_TOTAL_LEN = 38,
-};
-
-/* userobject information attribute page osd2r01 sec 7.1.2.11 */
-enum {
- /* attributes */
- UIAP_PID = 0x1,
- UIAP_OID = 0x2,
- UIAP_USERNAME = 0x9,
- UIAP_USED_CAPACITY = 0x81,
- UIAP_LOGICAL_LEN = 0x82,
-
- /* lengths */
- UIAP_PID_LEN = 8,
- UIAP_OID_LEN = 8,
- UIAP_USED_CAPACITY_LEN = 8,
- UIAP_LOGICAL_LEN_LEN = 8,
-};
-
-/* Root information attribute page osd2r01 sec 7.1.2.8 */
-enum {
- /* attributes */
- RIAP_OSD_SYSTEM_ID = 0x3, /* 20 */
- RIAP_VENDOR_IDENTIFICATION = 0x4, /* 8 */
- RIAP_PRODUCT_IDENTIFICATION = 0x5, /* 16 */
- RIAP_PRODUCT_MODEL = 0x6, /* 32 */
- RIAP_PRODUCT_REVISION_LEVEL = 0x7, /* 4 */
- RIAP_PRODUCT_SERIAL_NUMBER = 0x8, /* variable */
- RIAP_OSD_NAME = 0x9, /* variable */
- RIAP_TOTAL_CAPACITY = 0x80, /* 8 */
- RIAP_USED_CAPACITY = 0x81, /* 8 */
- RIAP_NUMBER_OF_PARTITIONS = 0xC0, /* 8 */
- RIAP_CLOCK = 0x100, /* 6 */
-
- /* lengths */
- RIAP_OSD_SYSTEM_ID_LEN = 20,
- RIAP_VENDOR_IDENTIFICATION_LEN = 8,
- RIAP_PRODUCT_IDENTIFICATION_LEN = 16,
- RIAP_PRODUCT_MODEL_LEN = 32,
- RIAP_PRODUCT_REVISION_LEVEL_LEN = 4,
- RIAP_PRODUCT_SERIAL_NUMBER_LEN = 0, //variable
- RIAP_OSD_NAME_LEN = 0, //variable
- RIAP_TOTAL_CAPACITY_LEN = 8,
- RIAP_USED_CAPACITY_LEN = 8,
- RIAP_NUMBER_OF_PARTITIONS_LEN = 8,
- RIAP_CLOCK_LEN = 6,
-};
-
-/* userobject collections attribute page osd2r01 Sec 7.1.2.19 */
-enum {
- UCAP_COLL_PTR_LB = 0x1,
- UCAP_COLL_PTR_UB = 0xFFFFFF00,
-};
-
-/* userobject atomics page. Only userobjects have atomics attribute page. */
-enum {
- UAP_CAS = 0x1,
- UAP_FA = 0x2,
-};
-
-enum {
- GETFIELD_SETVALUE = 0x1,
- GETPAGE_SETVALUE = 0x2,
- GETLIST_SETLIST = 0x3
-};
-
-/* osd2r03 6.22 Table 103, requested map type. */
-enum {
- ALL_TYPE = 0x0000,
- WRITTEN_DATA = 0x0001,
- DATA_HOLE = 0x0002,
- DAMAGED_DATA = 0x0003,
- DAMAGED_ATTRIBUTES = 0x8000
-};
-/*osd2r03 4.14.5 Data-In and Data-Out buffer offsets*/
-#define OFFSET_UNUSED (0xFFFFFFFFU)
-
-#endif /* __OSD_DEFS_H */
diff --git a/oldcode/src/gsl/resources/storage/osd-target/osd-sense.c b/oldcode/src/gsl/resources/storage/osd-target/osd-sense.c
deleted file mode 100644
index 11a00a0..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/osd-sense.c
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Sense generation.
- *
- * Copyright (C) 2007 OSD Team <pvfs-osd(a)osc.edu>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include <sys/types.h>
-#include <stdint.h>
-
-#include "target-sense.h"
-#include "osd-sense.h"
-#include "osd-util.h"
-#include "osd-defs.h"
-
-/*
- * Descriptor format sense data. See spc3 p 31. Returns length of
- * buffer used so far.
- */
-int sense_header_build(uint8_t *data, int len, uint8_t key, uint16_t code,
- uint8_t additional_len)
-{
- if (len < 8)
- return 0;
- data[0] = 0x72; /* current, not deferred */
- data[1] = key;
- data[2] = ASC(code);
- data[3] = ASCQ(code);
- data[7] = additional_len; /* additional length, beyond these 8 bytes */
- osd_warning("sense_header_build key=%d code=%x additional_len=%d",
- key, code, additional_len);
-
- return 8;
-}
-
-/*
- * OSD object identification sense data descriptor. Always need one
- * of these, then perhaps some others. This goes just beyond the 8
- * byte sense header above. The length of this is 32. osd2r01 Sec 4.14.2.1
- */
-int sense_info_build(uint8_t *data, int len, uint32_t not_init_funcs,
- uint32_t completed_funcs, uint64_t pid, uint64_t oid)
-{
- if (len < 32)
- return 0;
- data[0] = 0x6;
- data[1] = 0x1e;
- set_htonl(&data[8], not_init_funcs);
- set_htonl(&data[12], completed_funcs);
- set_htonll(&data[16], pid);
- set_htonll(&data[24], oid);
- osd_warning(" identification pid=%llx oid=%llx", llu(pid), llu(oid));
- return 32;
-}
-
-/*
- * SPC-3 command-specific information sense data descriptor. p. 33.
- */
-int sense_csi_build(uint8_t *data, int len, uint64_t csi)
-{
- if (len < 12)
- return 0;
- data[0] = 0x1;
- data[1] = 0xa;
- set_htonll(&data[4], csi);
- osd_warning(" command-specific information=%llx",llu(csi));
- return 12;
-}
-
-/*
- * Helper to create sense data where no processing was initiated or completed,
- * and just a header and basic info descriptor are required. Assumes full 252
- * byte sense buffer.
- */
-int sense_basic_build(uint8_t *sense, uint8_t key, uint16_t code,
- uint64_t pid, uint64_t oid)
-{
- uint8_t off = 0;
- uint8_t len = OSD_MAX_SENSE;
- uint32_t nifunc = 0x303010b0; /* non-reserved bits */
-
- off = sense_header_build(sense+off, len-off, key, code, 32);
- off += sense_info_build(sense+off, len-off, nifunc, 0, pid, oid);
- return off;
-}
-
-/*
- * Same as basic_build? Delete one.
- */
-int sense_build_sdd(uint8_t *sense, uint8_t key, uint16_t code,
- uint64_t pid, uint64_t oid)
-{
- uint8_t off = 0;
- uint8_t len = OSD_MAX_SENSE;
- uint32_t nifunc = 0x303010b0; /* non-reserved bits */
-
- off = sense_header_build(sense+off, len-off, key, code, 32);
- off += sense_info_build(sense+off, len-off, nifunc, 0, pid, oid);
- return off;
-}
-
-/*
- * Sense header, info section with pid and oid, and "info" section
- * with an arbitrary u64.
- */
-int sense_build_sdd_csi(uint8_t *sense, uint8_t key, uint16_t code,
- uint64_t pid, uint64_t oid, uint64_t csi)
-{
- uint8_t off = 0;
- uint8_t len = OSD_MAX_SENSE;
- uint32_t nifunc = 0x303010b0; /* non-reserved bits */
-
- off = sense_header_build(sense+off, len-off, key, code, 44);
- off += sense_info_build(sense+off, len-off, nifunc, 0, pid, oid);
- off += sense_csi_build(sense+off, len-off, csi);
- return off;
-}
-
diff --git a/oldcode/src/gsl/resources/storage/osd-target/osd-sense.h b/oldcode/src/gsl/resources/storage/osd-target/osd-sense.h
deleted file mode 100644
index 26baa64..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/osd-sense.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Sense-related symbols.
- *
- * Copyright (C) 2007 OSD Team <pvfs-osd(a)osc.edu>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#ifndef __OSD_SENSE_H
-#define __OSD_SENSE_H
-
-/* scsi sense keys (SSK) defined in table 27, SPC3 r23 */
-#define OSD_SSK_NO_SENSE (0x00)
-#define OSD_SSK_RECOVERED_ERROR (0x01)
-#define OSD_SSK_NOT_READY (0x02)
-#define OSD_SSK_MEDIUM_ERROR (0x03)
-#define OSD_SSK_HARDWARE_ERROR (0x04)
-#define OSD_SSK_ILLEGAL_REQUEST (0x05)
-#define OSD_SSK_UNIT_ATTENTION (0x06)
-#define OSD_SSK_DATA_PROTECTION (0x07)
-#define OSD_SSK_BLANK_CHECK (0x08)
-#define OSD_SSK_VENDOR_SPECIFIC (0x09)
-#define OSD_SSK_COPY_ABORTED (0x0A)
-#define OSD_SSK_ABORTED_COMMAND (0x0B)
-#define OSD_SSK_OBSOLETE_SENSE_KEY (0x0C)
-#define OSD_SSK_VOLUME_OVERFLOW (0x0D)
-#define OSD_SSK_MISCOMPARE (0x0E)
-#define OSD_SSK_RESERVED_SENSE_KEY (0x0F)
-
-/* OSD specific additional sense codes (ASC), defined in table 28 SPC3 r23.
- * OSD specific ASC from osd2 T10 r10 section 4, 5, 6, 7 */
-#define OSD_ASC_INVALID_COMMAND_OPCODE (0x2000)
-#define OSD_ASC_INVALID_DATA_OUT_BUF_INTEGRITY_CHK_VAL (0x260F)
-#define OSD_ASC_INVALID_FIELD_IN_CDB (0x2400)
-#define OSD_ASC_INVALID_FIELD_IN_PARAM_LIST (0x2600)
-#define OSD_ASC_LOGICAL_UNIT_NOT_RDY_FRMT_IN_PRGRS (0x0404)
-#define OSD_ASC_NONCE_NOT_UNIQUE (0x2406)
-#define OSD_ASC_NONCE_TIMESTAMP_OUT_OF_RANGE (0x2407)
-#define OSD_ASC_POWER_ON_OCCURRED (0x2900)
-#define OSD_ASC_PARAMETER_LIST_LENGTH_ERROR (0x1A00)
-#define OSD_ASC_PART_OR_COLL_CONTAINS_USER_OBJECTS (0x2C0A)
-#define OSD_ASC_READ_PAST_END_OF_USER_OBJECT (0x3B17)
-#define OSD_ASC_RESERVATIONS_RELEASED (0x2A04)
-#define OSD_ASC_QUOTA_ERROR (0x5507)
-#define OSD_ASC_SECURITY_AUDIT_VALUE_FROZEN (0x2405)
-#define OSD_ASC_SECURITY_WORKING_KEY_FROZEN (0x2406)
-#define OSD_ASC_SYSTEM_RESOURCE_FAILURE (0x5500)
-
-#endif /* __OSD_SENSE_H */
diff --git a/oldcode/src/gsl/resources/storage/osd-target/osd-types.h b/oldcode/src/gsl/resources/storage/osd-target/osd-types.h
deleted file mode 100644
index a016003..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/osd-types.h
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- * Standard types.
- *
- * Copyright (C) 2007 OSD Team <pvfs-osd(a)osc.edu>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#ifndef __OSD_TYPES_H
-#define __OSD_TYPES_H
-
-#include <stdint.h>
-#include <stddef.h>
-#include <sqlite3.h>
-
-struct getattr_list_entry {
- uint32_t page;
- uint32_t number;
-} __attribute__((packed));
-
-#define LIST_HDR_LEN (8) /* XXX: osd-errata */
-#define ATTR_LEN_UB (0xFFFEU) /* undefined attr have length 0xFFFF, hence
- max length is 0xFFFE */
-#define NULL_ATTR_LEN (0xFFFFU) /* osd2r00 Sec 7.1.1 */
-#define NULL_PAGE_LEN (0x00) /* osd2r00 Sec 7.1.2.25 */
-
-struct list_entry {
- uint32_t page;
- uint32_t number;
- uint16_t len;
- union {
- void *val;
- const void *cval;
- };
-} __attribute__((packed));
-
-enum {
- LE_PAGE_OFF = offsetof(struct list_entry, page),
- LE_NUMBER_OFF = offsetof(struct list_entry, number),
- LE_LEN_OFF = offsetof(struct list_entry, len),
- LE_VAL_OFF = offsetof(struct list_entry, val),
- LE_MIN_ITEM_LEN = (LE_VAL_OFF + 0x7) & ~0x7
-};
-
-struct multiobj_list_entry {
- uint64_t oid;
- uint32_t page;
- uint32_t number;
- uint16_t len;
- void *val;
-} __attribute__((packed));
-
-enum {
- MLE_OID_OFF = offsetof(struct multiobj_list_entry, oid),
- MLE_PAGE_OFF = offsetof(struct multiobj_list_entry, page),
- MLE_NUMBER_OFF = offsetof(struct multiobj_list_entry, number),
- MLE_LEN_OFF = offsetof(struct multiobj_list_entry, len),
- MLE_VAL_OFF = offsetof(struct multiobj_list_entry, val),
- MLE_MIN_ITEM_LEN = (LE_VAL_OFF + 0x7) & ~0x7
-};
-
-/* osd2r00 Section 7.1.3.1 tab 127 */
-enum {
- RTRV_ATTR_LIST = 0x01,
- RTRVD_SET_ATTR_LIST = 0x09,
- RTRVD_CREATE_MULTIOBJ_LIST = 0x0F
-};
-
-/*
- * Things that go as attributes on the root page.
- * XXX: on second thought, don't stick these in the db, just return
- * them as needed programatically. There's plenty of other variable
- * ones that can't live in the db (clock, #objects, capacity used).
- */
-struct init_attr {
- uint32_t page;
- uint32_t number;
- const char *s;
-};
-
-struct getattr_list {
- uint32_t sz;
- struct getattr_list_entry *le;
-};
-
-struct setattr_list {
- uint32_t sz;
- struct list_entry *le;
-};
-
-#define MAXSQLEN (2048UL)
-#define MAXNAMELEN (256UL)
-#define MAXROOTLEN (200UL)
-#define BLOCK_SZ (512UL)
-#define TIME_SZ (6)
-
-struct __attribute__((packed)) cur_cmd_attr_pg {
- uint16_t cdb_srvc_act; /* current cmd */
- uint8_t ricv[20]; /* response integrity check value */
- uint8_t obj_type;
- uint8_t reserved[3];
- uint64_t pid;
- uint64_t oid;
- uint64_t append_off;
-};
-
-struct query_criteria {
- uint8_t query_type; /* type of query */
- uint32_t qc_cnt_limit; /* current limit on number of queries */
- uint32_t qc_cnt; /* current count of queries */
- uint16_t *qce_len;
- uint32_t *page;
- uint32_t *number;
- uint16_t *min_len;
- const void **min_val;
- uint16_t *max_len;
- const void **max_val;
-};
-
-/* osd2r01 Section 6.18.2 tab 90 and 92 */
-#define MINQLISTLEN (8U) /* query list header(4B) + first QCE header(4B) */
-#define MINQCELEN (0) /* QCE with just header */
-
-/* osd2r01 Section 6.18.3 tab 93 */
-enum {
- ML_ODF_OFF = 12U,
- ML_ODL_OFF = 13U,
- MIN_ML_LEN = 13U /* add len + reserved + ODF */
-};
-
-struct id_cache {
- uint64_t cur_pid; /* last pid referenced */
- uint64_t next_id; /* next free oid/cid within partition (cur_pid) */
-};
-
-struct buffer {
- size_t sz;
- void *buf;
-};
-
-struct array {
- size_t ne;
- void *a;
-};
-
-struct id_list {
- uint64_t cnt;
- uint64_t limit;
- uint64_t *ids;
-};
-
-/* abstract declarations of db tables */
-struct coll_tab;
-struct obj_tab;
-struct attr_tab;
-
-/*
- * Encapsulate all db structs in db context. each db context is handled by an
- * independent thread.
- */
-struct db_context {
- sqlite3 *db;
- struct coll_tab *coll;
- struct obj_tab *obj;
- struct attr_tab *attr;
-};
-
-/*
- * 'osd_context' will replace 'osd_device' in future. Each osd context is a
- * thread safe structure allocated as a private data for the thread. Thread
- * specific state information will be contained in this struct
- */
-struct osd_context {
- struct db_context *dbc;
- struct cur_cmd_attr_pg ccap;
- struct id_cache ic;
- struct id_list idl;
-};
-
-
-struct osd_device {
- char *root;
- struct db_context *dbc;
- struct cur_cmd_attr_pg ccap;
- struct id_cache ic;
- struct id_list idl;
-};
-
-enum {
- FALSE = 0,
- TRUE = 1
-};
-
-enum {
- GATHER_VAL = 1,
- GATHER_ATTR = 2,
- GATHER_DIR_PAGE = 3,
-};
-
-enum {
- OSD_ERROR = -1,
- OSD_OK = 0,
- OSD_REPEAT = 1
-};
-
-/*
- * For TICK_TRACE annotations, default off, unless Makefile includes
- * an external header that defines this first.
- */
-#ifndef TICK_TRACE
-#define TICK_TRACE(x)
-#endif
-
-#endif /* __OSD_TYPES_H */
diff --git a/oldcode/src/gsl/resources/storage/osd-target/osd-util.c b/oldcode/src/gsl/resources/storage/osd-target/osd-util.c
deleted file mode 100644
index 2f91864..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/osd-util.c
+++ /dev/null
@@ -1,687 +0,0 @@
-/*
- * Mix of handy utilities.
- *
- * Copyright (C) 2000-7 Pete Wyckoff <pw(a)osc.edu>
- * Copyright (C) 2007 OSD Team <pvfs-osd(a)osc.edu>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdint.h>
-#include <string.h>
-#include <stdarg.h>
-#include <errno.h>
-#include <unistd.h>
-#include <math.h>
-#include <ctype.h>
-#include <time.h>
-#include <sys/time.h>
-
-#include "osd-util.h"
-#include "osd-defs.h"
-
-/* global */
-static const char *progname = "(pre-main)";
-double mhz = -1.0;
-
-/*
- * Set the program name, first statement of code usually.
- */
-void osd_set_progname(int argc __attribute__((unused)), char *const argv[])
-{
- const char *cp;
-
- for (cp=progname=argv[0]; *cp; cp++)
- if (*cp == '/')
- progname = cp+1;
- /* for timing tests */
- mhz = get_mhz();
-}
-
-const char *osd_get_progname(void)
-{
- return progname;
-}
-
-/*
- * Debugging.
- */
-void __attribute__((format(printf,1,2)))
-osd_info(const char *fmt, ...)
-{
- va_list ap;
- struct timeval tv;
- time_t tp;
- char buffer[16];
-
- gettimeofday(&tv, NULL);
- tp = tv.tv_sec;
- strftime(buffer, 9, "%H:%M:%S", localtime(&tp));
- sprintf(buffer+8, ".%06ld", (long) tv.tv_usec);
-
- fprintf(stderr, "%s: [%s] ", progname, buffer);
- va_start(ap, fmt);
- vfprintf(stdout, fmt, ap);
- va_end(ap);
- fprintf(stdout, ".\n");
-}
-
-/*
- * Warning, non-fatal.
- */
-void __attribute__((format(printf,1,2)))
-osd_warning(const char *fmt, ...)
-{
- va_list ap;
-
- fprintf(stdout, "%s: Warning: ", progname);
- va_start(ap, fmt);
- vfprintf(stdout, fmt, ap);
- va_end(ap);
- fprintf(stdout, ".\n");
-}
-
-/*
- * Error.
- */
-void __attribute__((format(printf,1,2)))
-osd_error(const char *fmt, ...)
-{
- va_list ap;
-
- fprintf(stderr, "%s: Error: ", progname);
- va_start(ap, fmt);
- vfprintf(stderr, fmt, ap);
- va_end(ap);
- fprintf(stderr, ".\n");
-}
-
-/*
- * Error with the errno message.
- */
-void __attribute__((format(printf,1,2)))
-osd_error_errno(const char *fmt, ...)
-{
- va_list ap;
-
- fprintf(stderr, "%s: Error: ", progname);
- va_start(ap, fmt);
- vfprintf(stderr, fmt, ap);
- va_end(ap);
- fprintf(stderr, ": %s.\n", strerror(errno));
-}
-
-/*
- * Errno with the message corresponding to this explict -errno value.
- * It should be negative.
- */
-void __attribute__((format(printf,2,3)))
-osd_error_xerrno(int errnum, const char *fmt, ...)
-{
- va_list ap;
-
- fprintf(stderr, "%s: Error: ", progname);
- va_start(ap, fmt);
- vfprintf(stderr, fmt, ap);
- va_end(ap);
- fprintf(stderr, ": %s.\n", strerror(-errnum));
-}
-
-/*
- * Error, fatal with the errno message.
- */
-void __attribute__((format(printf,1,2)))
-osd_error_fatal(const char *fmt, ...)
-{
- va_list ap;
-
- fprintf(stderr, "%s: Error: ", progname);
- va_start(ap, fmt);
- vfprintf(stderr, fmt, ap);
- va_end(ap);
- fprintf(stderr, ": %s.\n", strerror(errno));
- exit(1);
-}
-
-/*
- * Error-checking malloc.
- */
-void * __attribute__((malloc))
-Malloc(size_t n)
-{
- void *x = NULL;
-
- if (n == 0) {
- osd_error("%s: called on zero bytes", __func__);
- } else {
- x = malloc(n);
- if (!x)
- osd_error("%s: couldn't get %lu bytes", __func__,
- (unsigned long) n);
- }
- return x;
-}
-
-/*
- * Error-checking counted cleared memory.
- */
-void * __attribute__((malloc))
-Calloc(size_t nmemb, size_t n)
-{
- void *x = NULL;
-
- if (n == 0)
- osd_error("%s: called on zero bytes", __func__);
- else {
- x = calloc(nmemb, n);
- if (!x)
- osd_error("%s: couldn't get %zu bytes", __func__,
- nmemb * n);
- }
- return x;
-}
-
-/*
- * For reading from a pipe, can't always get the full buf in one chunk.
- */
-size_t osd_saferead(int fd, void *buf, size_t num)
-{
- int i, offset = 0;
- int total = num;
-
- while (num > 0) {
- i = read(fd, (char *)buf + offset, num);
- if (i < 0)
- osd_error_errno("%s: read %zu bytes", __func__, num);
- if (i == 0) {
- if (offset == 0)
- return 0; /* end of file on a block boundary */
- osd_error("%s: EOF, only %d of %d bytes", __func__,
- offset, total);
- }
- num -= i;
- offset += i;
- }
- return total;
-}
-
-size_t osd_safewrite(int fd, const void *buf, size_t num)
-{
- int i, offset = 0;
- int total = num;
-
- while (num > 0) {
- i = write(fd, (const char *)buf + offset, num);
- if (i < 0)
- osd_error_errno("%s: write %zu bytes", __func__, num);
- if (i == 0)
- osd_error("%s: EOF, only %d of %d bytes", __func__,
- offset, total);
- num -= i;
- offset += i;
- }
- return total;
-}
-
-/*
- * Debugging.
- */
-void osd_hexdump(const void *dv, size_t len)
-{
- const uint8_t *d = dv;
- size_t offset = 0;
-
- while (offset < len) {
- unsigned int i, range;
-
- range = 8;
- if (range > len-offset)
- range = len-offset;
- printf("%4zx:", offset);
- for (i=0; i<range; i++)
- printf(" %02x", d[offset+i]);
- printf(" ");
- for (i=range; i<8; i++)
- printf(" ");
- for (i=0; i<range; i++)
- printf("%c", isprint(d[offset+i]) ? d[offset+i] : '.');
- printf("\n");
- offset += range;
- }
-}
-
-/* endian functions */
-static uint32_t swab32(uint32_t d)
-{
- return (d & (uint32_t) 0x000000ffUL) << 24 |
- (d & (uint32_t) 0x0000ff00UL) << 8 |
- (d & (uint32_t) 0x00ff0000UL) >> 8 |
- (d & (uint32_t) 0xff000000UL) >> 24;
-}
-
-/*
- * Things are not aligned in the current osd2r00, but they probably
- * will be soon. Assume 4-byte alignment though.
- */
-uint64_t get_ntohll_le(const uint8_t *d)
-{
- uint32_t d0 = swab32(*(const uint32_t *) d);
- uint32_t d1 = swab32(*(const uint32_t *) (d+4));
-
- return (uint64_t) d0 << 32 | d1;
-}
-
-/*
- * Doing these without memcpy for alignment now. If anyone actually runs
- * on a BE machine, perhaps they'll tell us if alignment is needed.
- */
-uint64_t get_ntohll_be(const uint8_t *d)
-{
- return *(const uint64_t *) d;
-}
-
-uint32_t get_ntohl_le(const uint8_t *d)
-{
- return swab32(*(const uint32_t *) d);
-}
-
-uint32_t get_ntohl_be(const uint8_t *d)
-{
- return *(const uint32_t *) d;
-}
-
-uint16_t get_ntohs_le(const uint8_t *d)
-{
- uint16_t x = *(const uint16_t *) d;
-
- return (x & (uint16_t) 0x00ffU) << 8 |
- (x & (uint16_t) 0xff00U) >> 8;
-}
-
-uint16_t get_ntohs_be(const uint8_t *d)
-{
- return *(const uint16_t *) d;
-}
-
-void set_htonll_le(uint8_t *x, uint64_t val)
-{
- uint32_t *xw = (uint32_t *) x;
-
- xw[0] = swab32((val & (uint64_t) 0xffffffff00000000ULL) >> 32);
- xw[1] = swab32((val & (uint64_t) 0x00000000ffffffffULL));
-}
-
-void set_htonll_be(uint8_t *x, uint64_t val)
-{
- *(uint64_t *) x = val;
-}
-
-void set_htonl_le(uint8_t *x, uint32_t val)
-{
- uint32_t *xw = (uint32_t *) x;
-
- *xw = swab32(val);
-}
-
-void set_htonl_be(uint8_t *x, uint32_t val)
-{
- *(uint32_t *) x = val;
-}
-
-void set_htons_le(uint8_t *x, uint16_t val)
-{
- uint16_t *xh = (uint16_t *) x;
-
- *xh = (val & (uint16_t) 0x00ffU) << 8 |
- (val & (uint16_t) 0xff00U) >> 8;
-}
-
-void set_htons_be(uint8_t *x, uint16_t val)
-{
- *(uint16_t *) x = val;
-}
-
-/*
- * Offset fields for attribute lists are floating point-ish.
- *
- * Returns mantissa * (2^(exponent+8)) where
- * unsigned mantissa : 28;
- * int exponent : 04;
- * d points to 32bit __be32 osd_offset value
- */
-uint64_t get_ntohoffset(const uint8_t *d)
-{
- const uint32_t mask = 0xf0000000UL;
- uint32_t base;
- int32_t exponent;
- uint64_t x;
-
- base = get_ntohl(d);
- if (base == OFFSET_UNUSED)
- return ~0;
-
- exponent = base ;
- exponent >>= 28; /* sign extend right shift */
-
- x = (uint64_t) (base & ~mask) << (exponent + 8);
- return x;
-}
-
-/*
- * This assumes that val is already rounded. Else it loses bits as
- * it converts, effectively truncating. These generally try to use
- * the smallest possible exponent to accommodate the value.
- */
-void set_htonoffset(uint8_t *x, uint64_t val)
-{
- const uint64_t max_mantissa = 0x0fffffffULL;
- uint64_t start = val;
- uint32_t base;
- int32_t exponent;
-
- exponent = -5;
- val >>= 3;
- while (val > max_mantissa) {
- ++exponent;
- val >>= 1;
- }
- if (exponent > 15) {
- osd_error("%s: offset 0x%llx too big for format", __func__,
- llu(start));
- memset(x, 0, 4);
- return;
- }
- base = val;
- base |= exponent << 28;
- set_htonl(x, base);
-}
-
-/*
- * Find the next legal offset >= start.
- */
-uint64_t next_offset(uint64_t start)
-{
- const uint64_t max_mantissa = 0x0fffffffULL;
- uint64_t val;
- unsigned exponent;
-
- exponent = 3;
- val = start;
- val >>= exponent;
- while (val > max_mantissa) {
- ++exponent;
- val >>= 1;
- }
-recheck:
- if (exponent > 23) {
- osd_error("%s: offset 0x%llx too big for format", __func__,
- llu(start));
- return 0;
- }
-
- /*
- * Now we have found floor(val * 2^exponent) for start, but this
- * could be less than start.
- */
- if (val << exponent < start) {
- val += 1;
- if (val & ~max_mantissa) {
- /* roll to the next exponent */
- ++exponent;
- val >>= 1;
- goto recheck;
- }
- }
- return val << exponent;
-}
-
-#ifdef TEST_NEXT_OFFSET
-int main(void)
-{
- struct {
- uint64_t start;
- uint64_t want;
- } v[] = {
- { 0x0000000000000000ULL, 0x0000000000000000ULL },
- { 0x0000000000000001ULL, 0x0000000000000100ULL },
- { 0x0000000000000101ULL, 0x0000000000000200ULL },
- { 0x0000000fffffff00ULL, 0x0000000fffffff00ULL },
- { 0x0000000fffffff01ULL, 0x0000001000000000ULL },
- { 0x0000000000800001ULL, 0x0000000000800100ULL },
- { 0x0007ffffff800000ULL, 0x0007ffffff800000ULL },
- { 0x0007ffffff800001ULL, 0x0000000000000000ULL }, /* too big */
- { 0xffffffffffffffffULL, 0x0000000000000000ULL }, /* too big */
- };
- int i;
-
- for (i=0; i<ARRAY_SIZE(v); i++) {
- char x[4];
- uint64_t out, conv;
- out = next_offset(v[i].start);
- set_htonoffset(x, out);
- conv = get_ntohoffset(x);
- printf("%016llx -> %016llx %016llx %016llx %s\n", v[i].start,
- v[i].want, out, conv,
- (out == v[i].want && out == conv) ? "ok" : "BAD");
- }
- return 0;
-}
-#endif
-
-/*
- * Return time in ms since 1970, given a six-byte big-endian as encoded
- * in OSD.
- */
-uint64_t get_ntohtime_le(const uint8_t *d)
-{
- uint8_t s[8];
-
- s[0] = 0;
- s[1] = 0;
- memcpy(&s[2], d, 6);
- return get_ntohll_le(s);
-}
-
-uint64_t get_ntohtime_be(const uint8_t *d)
-{
- union {
- uint8_t s[8];
- uint64_t t;
- } u;
-
- u.s[0] = 0;
- u.s[1] = 0;
- memcpy(&u.s[2], d, 6);
- return u.t;
-}
-
-/*
- * Ignore biggest two bytes, encode other six as big endian.
- */
-void set_htontime_le(uint8_t *x, uint64_t val)
-{
- uint8_t s[8];
-
- set_htonll_le(s, val);
- memcpy(x, s+2, 6);
-}
-
-void set_htontime_be(uint8_t *x, uint64_t val)
-{
- union {
- uint8_t s[8];
- uint64_t t;
- } u;
-
- u.t = val;
- memcpy(x, u.s+2, 6);
-}
-
-double mean(double *v, int N)
-{
- int i = 0;
- double mu = 0.0;
-
- for (i = 0; i < N; i++)
- mu += v[i];
-
- return mu/N;
-}
-
-double stddev(double *v, double mu, int N)
-{
- int i = 0;
- double sd = 0.0;
-
- if (N <= 1)
- return 0.0;
-
- for (i = 0; i < N; i++)
- sd += (v[i] - mu)*(v[i] - mu);
- sd = sqrt(sd / (N-1));
- return sd;
-}
-
-
-static double partition(double *a, int left, int right, int pi)
-{
- int i, ind;
- double pv, tmp;
-
- pv = a[pi];
-
- tmp = a[right];
- a[right] = a[pi];
- a[pi] = tmp;
-
- ind = left;
- for (i = left; i <= right; i++) {
- if (a[i] < pv) {
- tmp = a[ind];
- a[ind] = a[i];
- a[i] = tmp;
- ++ind;
- }
- }
- tmp = a[right];
- a[right] = a[ind];
- a[ind] = tmp;
-
- return ind;
-}
-
-static double selectmedian(double *a, int k, int left, int right)
-{
- int pi;
- int ind;
-
- while (1) {
- pi = left + (int)((right - left)*rand()/(RAND_MAX+1.));
- ind = partition(a, left, right, pi);
- if (ind == k)
- return a[k];
- else if (ind < k)
- left = ind + 1;
- else
- right = ind - 1;
- }
-}
-
-/*
- * Median algo is based on selection algorithm by Blum et. al. Psuedo-code is
- * availble at: http://en.wikipedia.org/wiki/Selection_algorithm
- */
-double median(double *v, int N)
-{
- int mindx;
- double median;
- double *a;
-
- a = Malloc(sizeof(*a)*N);
- if (!a)
- osd_error_fatal("Out of memory");
-
- memcpy(a, v, sizeof(*a)*N);
- osd_srand();
-
- if (N == 0)
- return 0.;
- if ((N%2) == 1) {
- mindx = (N+1)/2 - 1;
- median = selectmedian(a, mindx, 0, N-1);
- } else {
- double m1, m2;
- mindx = N/2;
- m1 = selectmedian(a, mindx, 0, N-1);
- mindx = N/2 - 1;
- m2 = selectmedian(a, mindx, 0, N-1);
- median = (m1 + m2)/2.;
- }
-
- free(a);
- return median;
-}
-
-double get_mhz(void)
-{
- FILE *fp;
- char s[1024], *cp;
- int found = 0;
- double mhz;
-
- if (!(fp = fopen("/proc/cpuinfo", "r")))
- osd_error_fatal("Cannot open /proc/cpuinfo");
-
- while (fgets(s, sizeof(s), fp)) {
- if (!strncmp(s, "cpu MHz", 7)) {
- found = 1;
- for (cp=s; *cp && *cp != ':'; cp++) ;
- if (!*cp)
- osd_error_fatal("no colon found in string");
- ++cp;
- if (sscanf(cp, "%lf", &mhz) != 1)
- osd_error_fatal("scanf got no value");
- }
- }
- if (!found)
- osd_error_fatal("\"cpu MHz\" line not found\n");
-
- fclose(fp);
-
- return mhz;
-}
-
-/*
- * Jenkins One-at-a-time hash.
- * http://en.wikipedia.org/wiki/Hash_table
- * http://www.burtleburtle.net/bob/hash/doobs.html
- */
-uint32_t jenkins_one_at_a_time_hash(uint8_t *key, size_t key_len)
-{
- size_t i;
- uint32_t hash = 0;
-
- for (i = 0; i < key_len; i++) {
- hash += key[i];
- hash += (hash << 10);
- hash ^= (hash >> 6);
- }
-
- hash += (hash << 3);
- hash ^= (hash >> 11);
- hash += (hash << 15);
-
- return hash;
-}
-
diff --git a/oldcode/src/gsl/resources/storage/osd-target/osd-util.h b/oldcode/src/gsl/resources/storage/osd-target/osd-util.h
deleted file mode 100644
index 2fbb5a4..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/osd-util.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Declarations of osd-util.c utilities.
- *
- * Copyright (C) 2000-7 Pete Wyckoff <pw(a)osc.edu>
- * Copyright (C) 2007 OSD Team <pvfs-osd(a)osc.edu>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#ifndef __OSD_UTIL_H
-#define __OSD_UTIL_H
-
-#include <stdint.h>
-#include <stdlib.h>
-#include <endian.h>
-#include <time.h>
-
-#if defined(__x86_64__)
- #define rdtsc(v) do { \
- unsigned int __a, __d; \
- asm volatile("rdtsc" : "=a" (__a), "=d" (__d)); \
- (v) = ((unsigned long)__a) | (((unsigned long)__d)<<32); \
- } while(0)
-#elif defined(__i386__)
- #define rdtsc(v) do { \
- asm volatile("rdtsc" : "=A" (v)); \
- } while (0)
-#endif
-
-extern double mhz;
-void osd_set_progname(int argc, char *const argv[]);
-const char *osd_get_progname(void);
-void osd_info(const char *fmt, ...) __attribute__((format(printf,1,2)));
-void osd_warning(const char *fmt, ...) __attribute__((format(printf,1,2)));
-void osd_error(const char *fmt, ...) __attribute__((format(printf,1,2)));
-void osd_error_errno(const char *fmt, ...) __attribute__((format(printf,1,2)));
-void osd_error_xerrno(int errnum, const char *fmt, ...) __attribute__((format(printf,2,3)));
-void osd_error_fatal(const char *fmt, ...) __attribute__((format(printf,1,2)));
-void *Malloc(size_t n) __attribute__((malloc));
-void *Calloc(size_t nmemb, size_t n) __attribute__((malloc));
-size_t osd_saferead(int fd, void *buf, size_t num);
-size_t osd_safewrite(int fd, const void *buf, size_t num);
-void osd_hexdump(const void *dv, size_t len);
-double mean(double *v, int N);
-double stddev(double *v, double mu, int N);
-double median(double *v, int N);
-double get_mhz(void);
-uint32_t jenkins_one_at_a_time_hash(uint8_t *key, size_t key_len);
-
-/*
- * Disable debugging with -DNDEBUG in CFLAGS. This also disables assert().
- */
-#ifndef NDEBUG
-#define osd_debug(fmt,args...) \
- do { \
- osd_info(fmt,##args); \
- } while (0)
-#else
-#define osd_debug(fmt,...) do { } while (0)
-#endif
-
-#ifndef ARRAY_SIZE
-#define ARRAY_SIZE(x) (int)(sizeof(x) / sizeof((x)[0]))
-#endif
-
-#ifndef llu
-#define llu(x) ((unsigned long long) (x))
-#endif
-
-/* endian covertors */
-uint16_t get_ntohs_le(const uint8_t *d);
-uint16_t get_ntohs_be(const uint8_t *d);
-uint32_t get_ntohl_le(const uint8_t *d);
-uint32_t get_ntohl_be(const uint8_t *d);
-uint64_t get_ntohll_le(const uint8_t *d);
-uint64_t get_ntohll_be(const uint8_t *d);
-uint64_t get_ntohtime_le(const uint8_t *d);
-uint64_t get_ntohtime_be(const uint8_t *d);
-void set_htons_le(uint8_t *x, uint16_t val);
-void set_htons_be(uint8_t *x, uint16_t val);
-void set_htonl_le(uint8_t *x, uint32_t val);
-void set_htonl_be(uint8_t *x, uint32_t val);
-void set_htonll_le(uint8_t *x, uint64_t val);
-void set_htonll_be(uint8_t *x, uint64_t val);
-void set_htontime_le(uint8_t *x, uint64_t val);
-void set_htontime_be(uint8_t *x, uint64_t val);
-
-uint64_t get_ntohoffset(const uint8_t *d);
-void set_htonoffset(uint8_t *x, uint64_t val);
-uint64_t next_offset(uint64_t start);
-
-/* remove netdb.h declarations */
-#undef ntohs
-#undef ntohl
-
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-#define get_ntohs get_ntohs_le
-#define get_ntohl get_ntohl_le
-#define get_ntohll get_ntohll_le
-#define get_ntohtime get_ntohtime_le
-#define set_htons set_htons_le
-#define set_htonl set_htonl_le
-#define set_htonll set_htonll_le
-#define set_htontime set_htontime_le
-#else
-#define get_ntohs get_ntohs_be
-#define get_ntohl get_ntohl_be
-#define get_ntohll get_ntohll_be
-#define get_ntohtime get_ntohtime_be
-#define set_htons set_htons_be
-#define set_htonl set_htonl_be
-#define set_htonll set_htonll_be
-#define set_htontime set_htontime_be
-#endif
-
-/* round up an integer to the next multiple of 8 */
-#ifndef roundup8
-#define roundup8(x) (((x) + 7) & ~7)
-#endif
-
-static inline void osd_srand(void)
-{
- srand(time(0));
-}
-
-#endif /* __OSD_UTIL_H */
diff --git a/oldcode/src/gsl/resources/storage/osd-target/osd.c b/oldcode/src/gsl/resources/storage/osd-target/osd.c
deleted file mode 100644
index f166c64..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/osd.c
+++ /dev/null
@@ -1,4007 +0,0 @@
-/*
- * OSD commands.
- *
- * Copyright (C) 2007 OSD Team <pvfs-osd(a)osc.edu>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdint.h>
-#include <string.h>
-#include <errno.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <dirent.h>
-#include <assert.h>
-
-#include <linux/fs.h>
-
-#include "osd.h"
-#include "osd-defs.h"
-#include "target-sense.h"
-#include "db.h"
-#include "attr.h"
-#include "osd-util.h"
-#include "obj.h"
-#include "coll.h"
-#include "mtq.h"
-#include "osd-sense.h"
-#include "list-entry.h"
-
-#ifdef __MAKE_BSD_BUILD__
-static int os_sync_file_range(int fd, __off64_t offset, __off64_t bytes,
- unsigned int flags)
-{
- return fsync(fd);
-}
-#endif
-
-struct incits_page_id {
- const char root_dir_page[40];
- const char root_info_page[40];
- const char root_quota_page[40];
- const char root_tmstmp_page[40];
- const char root_policy_page[40];
- const char part_dir_page[40];
- const char part_info_page[40];
- const char coll_dir_page[40];
- const char coll_info_page[40];
- const char user_dir_page[40];
- const char user_info_page[40];
- const char user_tmstmp_page[40];
- const char user_atomic_page[40];
-};
-
-static const struct incits_page_id incits = {
- .root_dir_page = "INCITS T10 Root Directory ",
- .root_info_page = "INCITS T10 Root Information ",
- .root_quota_page = "INCITS T10 Root Quotas ",
- .root_tmstmp_page = "INCITS T10 Root Timestamps ",
- .root_policy_page = "INCITS T10 Root Policy/Security ",
- .part_dir_page = "INCITS T10 Partition Directory ",
- .part_info_page = "INCITS T10 Partition Information ",
- .coll_dir_page = "INCITS T10 Collection Directory ",
- .coll_info_page = "INCITS T10 Collection Information ",
- .user_dir_page = "INCITS T10 User Object Directory ",
- .user_info_page = "INCITS T10 User Object Information ",
- .user_tmstmp_page = "INCITS T10 User Object Timestamps ",
- .user_atomic_page = "INCITS T10 User Atomics ",
-};
-
-static const char *md = "md";
-static const char *dbname = "osd.db";
-static const char *dfiles = "dfiles";
-static const char *stranded = "stranded";
-
-static inline uint8_t get_obj_type(struct osd_device *osd,
- uint64_t pid, uint64_t oid)
-{
- int ret = 0;
- uint8_t obj_type = ILLEGAL_OBJ;
-
- if (pid == ROOT_PID && oid == ROOT_OID) {
- return ROOT;
- } else if (pid >= PARTITION_PID_LB && oid == PARTITION_OID) {
- return PARTITION;
- } else if (pid >= OBJECT_PID_LB && oid >= OBJECT_OID_LB) {
- ret = obj_get_type(osd->dbc, pid, oid, &obj_type);
- if (ret == OSD_OK)
- return obj_type;
- }
- return ILLEGAL_OBJ;
-}
-
-static inline int get_rel_page(uint8_t obj_type, uint32_t page)
-{
- if (obj_type == ROOT)
- return (page - ROOT_PG);
- else if (obj_type == PARTITION)
- return (page - PARTITION_PG);
- else if (obj_type == COLLECTION)
- return (page - COLLECTION_PG);
- else if (obj_type == USEROBJECT)
- return (page - USEROBJECT_PG);
- else
- return -1;
-}
-
-static inline int check_valid_pg(uint8_t obj_type, uint32_t page)
-{
- switch (obj_type) {
- case USEROBJECT:
- return (page < PARTITION_PG);
- case COLLECTION:
- return (COLLECTION_PG <= page && page < ROOT_PG);
- case PARTITION:
- return (PARTITION_PG <= page && page < COLLECTION_PG);
- case ROOT:
- return (ROOT_PG <= page && page < RESERVED_PG);
- default:
- return FALSE;
- }
-}
-
-static int issettable_page(uint8_t obj_type, uint32_t page)
-{
- int rel_page = 0;
- int valid_pg = check_valid_pg(obj_type, page);
-
- if (!valid_pg) {
- if (page >= ANY_PG)
- return TRUE;
- else
- return FALSE;
- }
-
- rel_page = get_rel_page(obj_type, page);
- if ((STD_PG_LB <= rel_page && rel_page <= STD_PG_UB) ||
- (LUN_PG_LB <= rel_page && rel_page <= LUN_PG_UB))
- return TRUE;
- else
- return FALSE;
-}
-
-static int isgettable_page(uint8_t obj_type, uint32_t page)
-{
- int rel_page = 0;
- int valid_pg = check_valid_pg(obj_type, page);
-
- if (!valid_pg) {
- if (page >= ANY_PG)
- return TRUE;
- else
- return FALSE;
- }
-
- rel_page = get_rel_page(obj_type, page);
- if ((RSRV_PG_LB <= rel_page && rel_page <= RSRV_PG_UB) ||
- rel_page > VEND_PG_UB)
- return FALSE;
- else
- return TRUE;
-
-}
-
-static int create_dir(const char *dirname)
-{
- int ret = 0;
- struct stat sb;
-
- ret = stat(dirname, &sb);
- if (ret == 0) {
- if (!S_ISDIR(sb.st_mode)) {
- osd_error("%s: dirname %s not a directory", __func__,
- dirname);
- return -ENOTDIR;
- }
- } else {
- if (errno != ENOENT) {
- osd_error("%s: stat dirname %s", __func__, dirname);
- return -ENOTDIR;
- }
-
- /* create dir*/
- ret = mkdir(dirname, 0777);
- if (ret < 0) {
- osd_error("%s: create dirname %s", __func__, dirname);
- return ret;
- }
- }
-
- return 0;
-}
-
-/* This function recursively empties the directories */
-static int empty_dir(const char *dirname)
-{
- int ret = 0;
- char path[MAXNAMELEN];
- DIR *dir = NULL;
- struct dirent *ent = NULL;
-
- if ((dir = opendir(dirname)) == NULL)
- return -1;
-
- while ((ent = readdir(dir)) != NULL) {
- if (!strcmp(ent->d_name, ".") || !strcmp(ent->d_name, ".."))
- continue;
- sprintf(path, "%s/%s", dirname, ent->d_name);
- if (ent->d_type == DT_DIR) {
- ret = empty_dir(path);
- } else {
- ret = unlink(path);
- }
- if (ret != 0)
- return -1;
- }
-
- closedir(dir);
-
- ret = rmdir(dirname);
- if (ret != 0)
- return -1;
-
- return 0;
-}
-
-static inline void get_dfile_name(char *path, const char *root,
- uint64_t pid, uint64_t oid)
-{
-#ifdef PVFS_OSD_INTEGRATED
- /* go look in PVFS bstreams for file data (eventually) */
- sprintf(path, "%s/%08llx/bstreams/%.8llu/%08llx.bstream", root,
- llu(pid), llu(oid % 64), llu(oid));
- printf("root = %s collid = 0x%llx\n", root, llu(pid));
-#else
- sprintf(path, "%s/%s/%02x/%llx.%llx", root, dfiles,
- (uint8_t)(oid & 0xFFUL), llu(pid), llu(oid));
-#endif
-}
-
-static inline void get_dbname(char *path, const char *root)
-{
- sprintf(path, "%s/%s/%s", root, md, dbname);
-}
-
-static inline void fill_ccap(struct cur_cmd_attr_pg *ccap, uint8_t *ricv,
- uint8_t obj_type, uint64_t pid, uint64_t oid,
- uint64_t append_off)
-{
- memset(ccap, 0, sizeof(*ccap));
- if (ricv)
- memcpy(ccap->ricv, ricv, sizeof(ccap->ricv));
- ccap->obj_type = obj_type;
- ccap->pid = pid;
- ccap->oid = oid;
- ccap->append_off = append_off;
-}
-
-/*
- * Fill current command attributes page in retrieved page format (osd2r00
- * Sec 7.1.2.24).
- *
- * returns:
- * -EINVAL: generic error
- * ==0: OSD_OK (success), used_outlen stores consumed outbuf len
- */
-static int get_ccap(struct osd_device *osd, void *outbuf, uint64_t outlen,
- uint32_t *used_outlen)
-{
- int ret = 0;
- uint8_t *cp = outbuf;
-
- assert(osd && outbuf && used_outlen);
-
- /*
- * XXX:SD we are treating the case of len < CCAP_TOTAL_LEN as
- * overflow error.
- * overflow is not considered error. osd2r00 sec 5.2.2.2
- */
- if (outlen < CCAP_TOTAL_LEN) {
- *used_outlen = 0;
- goto out;
- }
-
- memset(cp, 0, CCAP_TOTAL_LEN);
- set_htonl_le(&cp[0], CUR_CMD_ATTR_PG);
- set_htonl_le(&cp[4], CCAP_TOTAL_LEN - 8);
- memcpy(&cp[CCAP_RICV_OFF], osd->ccap.ricv, sizeof(osd->ccap.ricv));
- cp[CCAP_OBJT_OFF] = osd->ccap.obj_type;
- set_htonll_le(&cp[CCAP_PID_OFF], osd->ccap.pid);
- set_htonll_le(&cp[CCAP_OID_OFF], osd->ccap.oid);
- set_htonll_le(&cp[CCAP_APPADDR_OFF], osd->ccap.append_off);
- *used_outlen = CCAP_TOTAL_LEN;
-
-out:
- return OSD_OK;
-}
-
-/*
- * Get current command attributes page (osd2r00 Sec 7.1.2.24) attributes.
- *
- * NOTE: since RTRVD_CREATE_MULTIOBJ_LIST listfmt is set only when multiple
- * objects are created, and CCAP has room for only one (pid, oid), the
- * retrieved attributes are always in RTRVD_SET_ATTR_LIST format described in
- * osd2r00 Sec 7.1.3.3
- *
- * returns:
- * -EINVAL: if error, used_outlen not modified
- * ==0: OSD_OK (success), used_outlen stores consumed outbuf len
- */
-static int get_ccap_aslist(struct osd_device *osd, uint32_t number,
- void *outbuf, uint64_t outlen,
- uint32_t *used_outlen)
-{
- int ret = 0;
- uint16_t len = 0;
- char name[ATTR_PAGE_ID_LEN] = {'\0'};
- void *val = NULL;
- uint8_t *cp = outbuf;
- uint8_t ll[8];
-
- assert(osd && outbuf && used_outlen);
-
- switch (number) {
- case 0:
- len = ATTR_PAGE_ID_LEN;
- sprintf(name, "INCITS T10 Current Command");
- val = name;
- break;
- case CCAP_RICV:
- len = CCAP_RICV_LEN;
- val = osd->ccap.ricv;
- break;
- case CCAP_OBJT:
- len = CCAP_OBJT_LEN;
- val = &osd->ccap.obj_type;
- break;
- case CCAP_PID:
- set_htonll(ll, osd->ccap.pid);
- len = CCAP_PID_LEN;
- val = ll;
- break;
- case CCAP_OID:
- set_htonll(ll, osd->ccap.oid);
- len = CCAP_OID_LEN;
- val = ll;
- break;
- case CCAP_APPADDR:
- set_htonll(ll, osd->ccap.append_off);
- len = CCAP_APPADDR_LEN;
- val = ll;
- break;
- default:
- return OSD_ERROR;
- }
-
- ret = le_pack_attr(outbuf, outlen, CUR_CMD_ATTR_PG, number, len, val);
- assert(ret == -EINVAL || ret == -EOVERFLOW || ret > 0);
- if (ret == -EOVERFLOW)
- *used_outlen = 0;
- else if (ret > 0)
- *used_outlen = ret;
- else
- return ret;
-
- return OSD_OK;
-}
-
-static inline int set_hton_time(uint8_t *dest, time_t sec, time_t nsec)
-{
- /* millisec; osd2r00 sec 7.1.2.8 clock description */
- uint64_t time = sec*1000 + nsec/1000000;
-
- /* only have 48 bits. bits in 48-63 will be lost */
- if ((time & (0xFFFFULL << 48)) != 0)
- return OSD_ERROR;
-
- set_htontime(dest, time);
- return OSD_OK;
-}
-
-/*
- * returns:
- * -EINVAL: generic errors, used_outlen not modified
- * OSD_ERROR: generic system errors, used_outlen not modified
- * ==0: OSD_OK (success), used_outlen stores consumed outbuf len
- */
-static int get_utsap(struct osd_device *osd, uint64_t pid, uint64_t oid,
- void *outbuf, uint64_t outlen, uint32_t *used_outlen)
-{
- int ret = 0;
- uint8_t *cp = outbuf;
- struct stat asb, dsb;
- char path[MAXNAMELEN];
-
- assert(osd && outbuf && used_outlen);
-
- /*
- * XXX:SD we are treating the case of len < UTSAP_TOTAL_LEN as
- * overflow error.
- * overflow is not considered error. osd2r00 sec 5.2.2.2
- */
- if (outlen < UTSAP_TOTAL_LEN) {
- *used_outlen = 0;
- goto out;
- }
-
- memset(cp, 0, UTSAP_TOTAL_LEN);
- set_htonl_le(&cp[0], USER_TMSTMP_PG);
- set_htonl_le(&cp[4], UTSAP_TOTAL_LEN - 8);
-
- get_dfile_name(path, osd->root, pid, oid);
- memset(&dsb, 0, sizeof(dsb));
- ret = stat(path, &dsb);
- if (ret != 0)
- return OSD_ERROR;
-
- /* XXX: not exactly accurate to stat the entire db for the
- * access/mod time of one object */
- get_dbname(path, osd->root);
- memset(&asb, 0, sizeof(asb));
- ret = stat(path, &asb);
- if (ret != 0)
- return OSD_ERROR;
-
- ret = set_hton_time(&cp[UTSAP_CTIME_OFF], dsb.st_ctime,
- dsb.st_ctim.tv_nsec);
- if (ret != OSD_OK)
- return ret;
-
- ret = set_hton_time(&cp[UTSAP_ATTR_ATIME_OFF], asb.st_atime,
- asb.st_atim.tv_nsec);
- if (ret != OSD_OK)
- return ret;
- ret = set_hton_time(&cp[UTSAP_ATTR_MTIME_OFF], asb.st_mtime,
- asb.st_mtim.tv_nsec);
- if (ret != OSD_OK)
- return ret;
-
- ret = set_hton_time(&cp[UTSAP_DATA_ATIME_OFF], dsb.st_atime,
- dsb.st_atim.tv_nsec);
- if (ret != OSD_OK)
- return ret;
- ret = set_hton_time(&cp[UTSAP_DATA_MTIME_OFF], dsb.st_mtime,
- dsb.st_mtim.tv_nsec);
- if (ret != OSD_OK)
- return ret;
-
- *used_outlen = UTSAP_TOTAL_LEN;
-
-out:
- return OSD_OK;
-}
-
-/*
- * returns:
- * -EINVAL: generic error, used_outlen not set
- * OSD_ERROR: used_outlen not set
- * OSD_OK: on success, sets used_outlen
- */
-static int get_utsap_aslist(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint32_t number, void *outbuf, uint64_t outlen,
- uint8_t listfmt, uint32_t *used_outlen)
-{
- int ret = 0;
- uint16_t len = 0;
- void *val = NULL;
- uint64_t time = 0;
- char name[ATTR_PAGE_ID_LEN] = {'\0'};
- char path[MAXNAMELEN];
- struct stat sb;
-
- assert(osd && outbuf && used_outlen);
-
- switch (number) {
- case 0:
- len = ATTR_PAGE_ID_LEN;
- sprintf(name, "INCITS T10 User Object Timestamps");
- val = name;
- break;
- case UTSAP_CTIME:
- case UTSAP_DATA_MTIME:
- case UTSAP_DATA_ATIME:
- get_dfile_name(path, osd->root, pid, oid);
- memset(&sb, 0, sizeof(sb));
- ret = stat(path, &sb);
- if (ret != 0)
- return OSD_ERROR;
- len = 6;
- val = &time;
- if (number == UTSAP_CTIME)
- set_hton_time(val, sb.st_ctime, sb.st_ctim.tv_nsec);
- else if (number == UTSAP_DATA_ATIME)
- set_hton_time(val, sb.st_atime, sb.st_atim.tv_nsec);
- else
- set_hton_time(val, sb.st_mtime, sb.st_mtim.tv_nsec);
- break;
- case UTSAP_ATTR_ATIME:
- case UTSAP_ATTR_MTIME:
- get_dbname(path, osd->root);
- memset(&sb, 0, sizeof(sb));
- ret = stat(path, &sb);
- if (ret != 0)
- return OSD_ERROR;
- len = 6;
- val = &time;
- if (number == UTSAP_ATTR_ATIME)
- set_hton_time(val, sb.st_atime, sb.st_atim.tv_nsec);
- else
- set_hton_time(val, sb.st_mtime, sb.st_mtim.tv_nsec);
- break;
- default:
- return OSD_ERROR;
- }
-
- if (listfmt == RTRVD_CREATE_MULTIOBJ_LIST)
- ret = le_multiobj_pack_attr(outbuf, outlen, oid,
- USER_TMSTMP_PG, number, len, val);
- else
- ret = le_pack_attr(outbuf, outlen, USER_TMSTMP_PG, number,
- len, val);
-
- assert(ret == -EINVAL || ret == -EOVERFLOW || ret > 0);
- if (ret == -EOVERFLOW)
- *used_outlen = 0;
- else if (ret > 0)
- *used_outlen = ret;
- else
- return ret;
-
- return OSD_OK;
-}
-
-
-
-/*
- * returns:
- * -EINVAL: generic error
- * OSD_ERROR: in case of error, does not set used_outlen
- * OSD_OK: on success, sets used_outlen
- */
-static int get_uiap(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint32_t page, uint32_t number, void *outbuf,
- uint64_t outlen, uint8_t listfmt, uint32_t *used_outlen)
-{
- int ret = 0;
- void *val = NULL;
- uint16_t len = 0;
- char name[ATTR_PAGE_ID_LEN];
- char path[MAXNAMELEN];
- struct stat sb;
- uint8_t ll[8];
- off_t sz = 0;
-
- switch (number) {
- case 0:
- len = ATTR_PAGE_ID_LEN;
- sprintf(name, "INCITS T10 User Object Information");
- val = name;
- break;
- case UIAP_PID:
- set_htonll(ll, pid);
- len = UIAP_PID_LEN;
- val = ll;
- break;
- case UIAP_OID:
- set_htonll(ll, pid);
- len = UIAP_OID_LEN;
- val = ll;
- break;
- case UIAP_USED_CAPACITY:
- len = UIAP_USED_CAPACITY_LEN;
- get_dfile_name(path, osd->root, pid, oid);
- ret = stat(path, &sb);
- if (ret != 0)
- return OSD_ERROR;
- sz = sb.st_blocks*BLOCK_SZ;
- set_htonll(ll, sz);
- val = ll;
- break;
- case UIAP_LOGICAL_LEN:
- len = UIAP_LOGICAL_LEN_LEN;
- get_dfile_name(path, osd->root, pid, oid);
- ret = stat(path, &sb);
- if (ret != 0)
- return OSD_ERROR;
- set_htonll(ll, sb.st_size);
- val = ll;
- break;
- case UIAP_USERNAME:
- return attr_get_attr(osd->dbc, pid, oid, USER_INFO_PG,
- UIAP_USERNAME, outlen, outbuf, listfmt,
- used_outlen);
- default:
- return OSD_ERROR;
- }
-
- if (listfmt == RTRVD_SET_ATTR_LIST)
- ret = le_pack_attr(outbuf, outlen, page, number, len, val);
- else if (listfmt == RTRVD_CREATE_MULTIOBJ_LIST)
- ret = le_multiobj_pack_attr(outbuf, outlen, oid, page, number,
- len, val);
- else
- return OSD_ERROR;
-
- assert(ret == -EINVAL || ret == -EOVERFLOW || ret > 0);
- if (ret == -EOVERFLOW)
- *used_outlen = 0;
- else if (ret > 0)
- *used_outlen = ret;
- else
- return ret;
-
- return OSD_OK;
-}
-
-/*
- * returns:
- * OSD_ERROR: in case of error
- * OSD_OK: on success
- */
-static int set_uiap(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint32_t number, const void *val, uint16_t len)
-{
- int ret = 0;
-
- switch (number) {
- case UIAP_USERNAME:
- return attr_set_attr(osd->dbc, pid, oid, USER_INFO_PG,
- UIAP_USERNAME, val, len);
- case UIAP_LOGICAL_LEN: {
- char path[MAXNAMELEN];
- uint64_t len = get_ntohll((const uint8_t *)val);
- get_dfile_name(path, osd->root, pid, oid);
- osd_debug("%s: %s %llu\n", __func__, path, llu(len));
- ret = truncate(path, len);
- if (ret < 0)
- return OSD_ERROR;
- else
- return OSD_OK;
- }
- default:
- return OSD_ERROR;
- }
-}
-
-static struct init_attr root_info[] = {
- {ROOT_PG + 0, 0, "INCITS T10 Root Directory "},
- {ROOT_PG + 0, ROOT_PG + 1, "INCITS T10 Root Information "},
- {ROOT_PG + 0, ROOT_PG + 2, "INCITS T10 Root Quotas "},
- {ROOT_PG + 2, 0, "INCITS T10 Root Quotas "},
- {ROOT_PG + 0, ROOT_PG + 3, "INCITS T10 Root Timestamps "},
- {ROOT_PG + 3, 0, "INCITS T10 Root Timestamps "},
- {ROOT_PG + 0, ROOT_PG + 5, "INCITS T10 Root Policy/Security "},
- {ROOT_PG + 5, 0, "INCITS T10 Root Policy/Security "}
-};
-
-static struct init_attr partition_info[] = {
- {PARTITION_PG + 0, 0, "INCITS T10 Partition Directory"},
- {PARTITION_PG + 0, PARTITION_PG + 1,
- "INCITS T10 Partition Information"},
- {PARTITION_PG + 1, 0, "INCITS T10 Partition Information"},
-};
-
-static int get_riap(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint32_t page, uint32_t number, void *outbuf,
- uint64_t outlen, uint8_t listfmt, uint32_t *used_outlen)
-{
- int ret = 0;
- const void *val = NULL;
- uint16_t len = 0;
- char name[ATTR_PAGE_ID_LEN];
- char path[MAXNAMELEN];
- struct stat sb;
- uint8_t ll[8];
- off_t sz = 0;
-
- switch (number) {
- case 0:
- /*{ROOT_PG + 1, 0, "INCITS T10 Root Information"},*/
- len = ATTR_PAGE_ID_LEN;
- sprintf(name, "INCITS T10 User Object Information");
- val = name;
- break;
- case RIAP_OSD_SYSTEM_ID:
- len = RIAP_OSD_SYSTEM_ID_LEN;
- val = "\xf1\x81\x00\x0eOSC OSDEMU\x00\x00";
- break;
- case RIAP_VENDOR_IDENTIFICATION:
- len = 4;
- val = "OSC";
- break;
- case RIAP_PRODUCT_IDENTIFICATION:
- len = 8;
- val = "OSDEMU ";
- break;
- case RIAP_PRODUCT_MODEL:
- len = 5;
- val = "9002";
- break;
- case RIAP_PRODUCT_REVISION_LEVEL:
- len = RIAP_PRODUCT_REVISION_LEVEL_LEN;
- set_htonl(ll, 117);
- val = ll;
- break;
- case RIAP_PRODUCT_SERIAL_NUMBER:
- len = 2;
- val = "1";
- break;
- case RIAP_TOTAL_CAPACITY:
- /*FIXME: return capacity of osd->root device*/
- len = RIAP_TOTAL_CAPACITY_LEN;
- set_htonll(ll, -1);
- val = ll;
- break;
- case RIAP_USED_CAPACITY:
- /*FIXME: return used capacity of osd->root device*/
- len = RIAP_USED_CAPACITY_LEN;
- set_htonll(ll, -1);
- val = ll;
- break;
- case RIAP_NUMBER_OF_PARTITIONS:
- /*FIXME: How to find this information*/
- len = RIAP_NUMBER_OF_PARTITIONS_LEN;
- set_htonll(ll, 17);
- val = ll;
- break;
- case RIAP_CLOCK:
- /*FIXME: gettime + saved offset*/
- len = RIAP_CLOCK_LEN;
- set_htonl(ll, 0);
- val = ll;
- break;
- case RIAP_OSD_NAME:
- return attr_get_attr(osd->dbc, pid, oid, ROOT_INFO_PG,
- RIAP_OSD_NAME, outlen, outbuf, listfmt,
- used_outlen);
- default:
- return OSD_ERROR;
- }
-
- if (listfmt == RTRVD_SET_ATTR_LIST)
- ret = le_pack_attr(outbuf, outlen, page, number, len, val);
- else if (listfmt == RTRVD_CREATE_MULTIOBJ_LIST)
- ret = le_multiobj_pack_attr(outbuf, outlen, oid, page, number,
- len, val);
- else
- return OSD_ERROR;
-
- assert(ret == -EINVAL || ret == -EOVERFLOW || ret > 0);
- if (ret == -EOVERFLOW)
- *used_outlen = 0;
- else if (ret > 0)
- *used_outlen = ret;
- else
- return ret;
-
- return OSD_OK;
-}
-
-static int set_riap(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint32_t number, const void *val, uint16_t len)
-{
- switch (number) {
- /* read only */
- case RIAP_OSD_SYSTEM_ID:
- case RIAP_VENDOR_IDENTIFICATION:
- case RIAP_PRODUCT_IDENTIFICATION:
- case RIAP_PRODUCT_MODEL:
- case RIAP_PRODUCT_REVISION_LEVEL:
- case RIAP_PRODUCT_SERIAL_NUMBER:
- case RIAP_TOTAL_CAPACITY:
- case RIAP_USED_CAPACITY:
- case RIAP_NUMBER_OF_PARTITIONS:
- default:
- return OSD_ERROR;
-
- case RIAP_OSD_NAME:
- return attr_set_attr(osd->dbc, pid, oid, ROOT_INFO_PG,
- RIAP_OSD_NAME, val, len);
-
- case RIAP_CLOCK:
- /* FIXME: Save an offset from current time.
- return time + offset */
- return OSD_OK;
- }
-}
-
-/*
- * returns:
- * OSD_ERROR: for error
- * OSD_OK: on success
- */
-static int set_cap(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint32_t number, const void *val, uint16_t len)
-{
- int ret = 0;
- int present = 0;
- uint64_t cid = 0;
-
- if (number < UCAP_COLL_PTR_LB || number > UCAP_COLL_PTR_UB)
- return OSD_ERROR;
-
- if (len == 0) {
- /*
- * XXX:SD len == 0 we are deleting the (cid, oid)
- * combination. This does not follow the sematics of the
- * spec. In future if this has to be changed then one way
- * would be to add length column and setting length to zero.
- * Other queries might have to be modified to reflect this
- * development
- */
- ret = coll_get_cid(osd->dbc, pid, oid, number, &cid);
- if (ret != 0)
- return OSD_ERROR;
-
- ret = coll_delete(osd->dbc, pid, cid, oid);
- if (ret != 0)
- return OSD_ERROR;
-
- return OSD_OK;
- }
-
- if (len != 8)
- return OSD_ERROR;
-
- cid = get_ntohll(val);
- ret = obj_ispresent(osd->dbc, pid, cid, &present);
- if (ret != OSD_OK || !present)
- return OSD_ERROR;
-
- ret = coll_insert(osd->dbc, pid, cid, oid, number);
- if (ret != 0)
- return OSD_ERROR;
-
- return OSD_OK;
-}
-
-/*
- * Create root object and set attributes for root and partition zero.
- * = 0: success
- * !=0: failure
- */
-static int osd_initialize_db(struct osd_device *osd)
-{
- int i = 0;
- int ret = 0;
- uint64_t pid = 0;
- char *err = NULL;
-
- if (!osd)
- return -EINVAL;
-
- memset(&osd->ccap, 0, sizeof(osd->ccap));
- memset(&osd->ic, 0, sizeof(osd->ic));
- memset(&osd->idl, 0, sizeof(osd->idl));
-
- /* tables already created by osd_db_open, so insertions can be done */
- ret = obj_insert(osd->dbc, ROOT_PID, ROOT_OID, ROOT);
- if (ret != SQLITE_OK)
- goto out;
-
- /* set root object attributes */
- for (i=0; i<ARRAY_SIZE(root_info); i++) {
- struct init_attr *ia = &root_info[i];
- ret = attr_set_attr(osd->dbc, ROOT_PID , ROOT_OID, ia->page,
- ia->number, ia->s, strlen(ia->s)+1);
- if (ret != SQLITE_OK)
- goto out;
- }
-
- /*
- * partition zero (0,0) has the same object identifier as root object
- * (0,0). The attributes will not be overwritten since attr pages
- * are different.
- */
- for (i=0; i<ARRAY_SIZE(partition_info); i++) {
- struct init_attr *ia = &partition_info[i];
- ret = attr_set_attr(osd->dbc, ROOT_PID, ROOT_OID, ia->page,
- ia->number, ia->s, strlen(ia->s)+1);
- if (ret)
- goto out;
- }
-
- /* assign pid as attr, osd2r00 Section 7.1.2.9 table 92 */
- ret = attr_set_attr(osd->dbc, ROOT_PID, ROOT_OID, PARTITION_PG + 1, 1,
- &pid, sizeof(pid));
-
-out:
- return ret;
-}
-
-struct osd_device *osd_device_alloc(void)
-{
- struct osd_device *osd;
-
- osd = malloc(sizeof(*osd));
- return osd;
-}
-
-void osd_device_free(struct osd_device *osd)
-{
- free(osd);
-}
-
-int osd_open(const char *root, struct osd_device *osd)
-{
- int i = 0;
- int ret = 0;
- char path[MAXNAMELEN];
- char *argv[] = { strdup("osd-target"), NULL };
-
- osd_set_progname(1, argv); /* for debug messages from libosdutil */
- mhz = get_mhz(); /* XXX: find a better way of profiling */
-
- if (strlen(root) > MAXROOTLEN) {
- osd_error("strlen(%s) > MAXROOTLEN", root);
- ret = -ENAMETOOLONG;
- goto out;
- }
-
- memset(osd, 0, sizeof(*osd));
-
- /* test if root exists and is a directory */
- ret = create_dir(root);
- if (ret != 0) {
- osd_error("!create_dir_root(%s)", root);
- goto out;
- }
-
- /* test create 'data/dfiles' sub-directory */
- sprintf(path, "%s/%s/", root, dfiles);
- ret = create_dir(path);
- if (ret != 0) {
- osd_error("!create_dir_data/dfiles(%s)", path);
- goto out;
- }
-
- /* to prevent fan-out create 256 subdirs under dfiles */
- for (i = 0; i < 256; i++) {
- sprintf(path, "%s/%s/%02x/", root, dfiles, i);
- ret = create_dir(path);
- if (ret != 0) {
- osd_error("!create_dir_256(%s)", path);
- goto out;
- }
- }
-
- /* create 'stranded-files' sub-directory */
- sprintf(path, "%s/%s/", root, stranded);
- ret = create_dir(path);
- if (ret != 0) {
- osd_error("!create_dir_stranded-files(%s)", path);
- goto out;
- }
-
- /* create 'md' sub-directory */
- sprintf(path, "%s/%s/", root, md);
- ret = create_dir(path);
- if (ret != 0) {
- osd_error("!create_dir_md(%s)", path);
- goto out;
- }
-
- osd->root = strdup(root);
- if (!osd->root) {
- osd_error("!strdup_root(%s)", root);
- ret = -ENOMEM;
- goto out;
- }
- get_dbname(path, root);
-
- /* auto-creates db if necessary, and sets osd->dbc */
- ret = osd_db_open(path, osd);
- if (ret != 0 && ret != 1) {
- osd_error("!osd_db_open(%s)", path);
- goto out;
- }
- if (ret == 1) {
- ret = osd_initialize_db(osd);
- if (ret != 0) {
- osd_error("!osd_initialize_db");
- goto out;
- }
- }
- ret = db_exec_pragma(osd->dbc);
-out:
- if (ret != 0)
- osd_error("!db_exec_pragma => %d", ret);
-
- return ret;
-}
-
-int osd_close(struct osd_device *osd)
-{
- int ret;
-
- ret = osd_db_close(osd);
- if (ret != 0)
- osd_error("%s: osd_db_close", __func__);
- free(osd->root);
- osd->root = NULL;
- return ret;
-}
-
-int osd_begin_txn(struct osd_device *osd)
-{
- return db_begin_txn(osd->dbc);
-}
-
-int osd_end_txn(struct osd_device *osd)
-{
- return db_end_txn(osd->dbc);
-}
-
-/*
- * Externally callable error response generators.
- */
-int osd_error_unimplemented(uint16_t action, uint8_t *sense)
-{
- int ret;
-
- osd_debug(__func__);
- ret = sense_basic_build(sense, OSD_SSK_ILLEGAL_REQUEST, 0, 0, 0);
- return ret;
-}
-
-int osd_error_bad_cdb(uint8_t *sense)
-{
- int ret;
-
- osd_debug(__func__);
- /* should probably add what part of the cdb was bad */
- ret = sense_basic_build(sense, OSD_SSK_ILLEGAL_REQUEST, 0, 0, 0);
- return ret;
-}
-
-/*
- * Commands
- */
-
-/*
- * Sec 6.2 in osd2r01.pdf
- */
-static int contig_append(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint64_t len, const uint8_t *appenddata, uint8_t *sense)
-{
- int fd;
- int ret;
- off64_t off;
- char path[MAXNAMELEN];
-
- osd_debug("%s: pid %llu oid %llu len %llu data %p", __func__,
- llu(pid), llu(oid), llu(len), appenddata);
-
- if (!osd || !osd->root || !osd->dbc || !appenddata || !sense)
- goto out_cdb_err;
-
- if (!(pid >= USEROBJECT_PID_LB && oid >= USEROBJECT_OID_LB))
- goto out_cdb_err;
-
- get_dfile_name(path, osd->root, pid, oid);
- fd = open(path, O_WRONLY|O_LARGEFILE); /* fails on non-existent obj */
- if (fd < 0)
- goto out_cdb_err;
-
- /* seek to the end of logical length: current size of the object */
- off = lseek(fd, 0, SEEK_END);
- if (off < 0)
- goto out_hw_err;
-
- ret = pwrite(fd, appenddata, len, off);
- if (ret < 0 || (uint64_t) ret != len)
- goto out_hw_err;
-
- ret = close(fd);
- if (ret != 0)
- goto out_hw_err;
-
- fill_ccap(&osd->ccap, NULL, USEROBJECT, pid, oid, off);
- return OSD_OK; /* success */
-
-out_hw_err:
- ret = sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-
-out_cdb_err:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-}
-
-static int sgl_append(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint64_t len, const uint8_t *appenddata, uint8_t *sense)
-{
- int fd;
- int ret;
- off64_t off;
- char path[MAXNAMELEN];
- uint64_t pairs, data_offset, offset_val, hdr_offset, length;
- unsigned int i;
-
- osd_debug("%s: pid %llu oid %llu len %llu data %p", __func__,
- llu(pid), llu(oid), llu(len), appenddata);
-
- if (!osd || !osd->root || !osd->dbc || !appenddata || !sense)
- goto out_cdb_err;
-
- pairs = get_ntohll(appenddata);
- data_offset = (pairs * sizeof(uint64_t) * 2) + sizeof(uint64_t);
- assert(pairs != 0);
-
- osd_debug("%s: offset,len pairs %llu", __func__, llu(pairs));
- osd_debug("%s: data offset %llu", __func__, llu(data_offset));
-
-
- if (!(pid >= USEROBJECT_PID_LB && oid >= USEROBJECT_OID_LB))
- goto out_cdb_err;
-
- get_dfile_name(path, osd->root, pid, oid);
- fd = open(path, O_WRONLY|O_LARGEFILE); /* fails on non-existent obj */
- if (fd < 0)
- goto out_cdb_err;
-
- /* seek to the end of logical length: current size of the object */
- off = lseek(fd, 0, SEEK_END);
- if (off < 0)
- goto out_hw_err;
-
- hdr_offset = sizeof(uint64_t); /* skip count of offset/len pairs */
-
- for (i=0; i<pairs; i++) {
- offset_val = get_ntohll(appenddata + hdr_offset); /* offset into dest */
- hdr_offset += sizeof(uint64_t);
-
- length = get_ntohll(appenddata + hdr_offset); /* length */
- hdr_offset += sizeof(uint64_t);
-
- osd_debug("%s: Offset: %llu Length: %llu", __func__, llu(offset_val+off),
- llu(length));
-
- osd_debug("%s: Position in data buffer: %llu", __func__, llu(data_offset));
-
- osd_debug("%s: ------------------------------", __func__);
- ret = pwrite(fd, appenddata+data_offset, length, offset_val+off);
- data_offset += length;
- osd_debug("%s: return value is %d", __func__, ret);
- if (ret < 0 || (uint64_t)ret != length)
- goto out_hw_err;
- }
-
- ret = close(fd);
- if (ret != 0)
- goto out_hw_err;
-
- fill_ccap(&osd->ccap, NULL, USEROBJECT, pid, oid, off);
- return OSD_OK; /* success */
-
-out_hw_err:
- ret = sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-
-out_cdb_err:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-}
-
-static int vec_append(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint64_t len, const uint8_t *appenddata, uint8_t *sense)
-{
- int fd;
- int ret;
- off64_t off;
- char path[MAXNAMELEN];
- uint64_t stride, data_offset, offset_val, hdr_offset, length, bytes;
- unsigned int i;
-
- osd_debug("%s: pid %llu oid %llu len %llu data %p", __func__,
- llu(pid), llu(oid), llu(len), appenddata);
-
- if (!osd || !osd->root || !osd->dbc || !appenddata || !sense)
- goto out_cdb_err;
-
- stride = get_ntohll(appenddata);
- hdr_offset = sizeof(uint64_t);
- length = get_ntohll(appenddata + hdr_offset);
-
- osd_debug("%s: stride is %llu and len is %llu", __func__, llu(stride), llu(length));
-
- if (!(pid >= USEROBJECT_PID_LB && oid >= USEROBJECT_OID_LB))
- goto out_cdb_err;
-
- get_dfile_name(path, osd->root, pid, oid);
- fd = open(path, O_WRONLY|O_LARGEFILE); /* fails on non-existent obj */
- if (fd < 0)
- goto out_cdb_err;
-
- /* seek to the end of logical length: current size of the object */
- off = lseek(fd, 0, SEEK_END);
- if (off < 0)
- goto out_hw_err;
-
- data_offset = hdr_offset + sizeof(uint64_t);
-
- bytes = len - (2*sizeof(uint64_t));
-
- osd_debug("%s: bytes to write is %llu", __func__, llu(bytes));
- offset_val = 0;
- while (bytes > 0) {
- osd_debug("%s: Position in data buffer: %llu", __func__,
- llu(data_offset));
- osd_debug("%s: Offset: %llu", __func__, llu(offset_val + off));
- osd_debug("%s: ------------------------------", __func__);
- ret = pwrite(fd, appenddata+data_offset, length, offset_val+off);
- if (ret < 0 || (uint64_t)ret != length)
- goto out_hw_err;
- data_offset += length;
- offset_val += stride;
- bytes -= length;
- if (bytes < length)
- length = bytes;
- osd_debug("%s: Total Bytes Left to write: %llu", __func__,
- llu(bytes));
- }
-
- ret = close(fd);
- if (ret != 0)
- goto out_hw_err;
-
- fill_ccap(&osd->ccap, NULL, USEROBJECT, pid, oid, off);
- return OSD_OK; /* success */
-
-out_hw_err:
- ret = sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-
-out_cdb_err:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-}
-
-int osd_append(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint64_t len, const uint8_t *appenddata, uint32_t cdb_cont_len,
- uint8_t *sense, uint8_t ddt)
-{
- /*figure out what kind of write it is based on ddt and call appropriate
- write function*/
-
- switch(ddt) {
- case DDT_CONTIG: {
- return contig_append(osd, pid, oid, len, appenddata,
- sense);
- }
- case DDT_SGL: {
- return sgl_append(osd, pid, oid, len, appenddata,
- sense);
- }
- case DDT_VEC: {
- return vec_append(osd, pid, oid, len, appenddata,
- sense);
- }
- default: {
- return sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- }
- }
-}
-
-
-static int osd_create_datafile(struct osd_device *osd, uint64_t pid,
- uint64_t oid)
-{
- int ret = 0;
- char path[MAXNAMELEN];
- struct stat sb;
-
- get_dfile_name(path, osd->root, pid, oid);
- ret = stat(path, &sb);
- if (ret == 0 && S_ISREG(sb.st_mode)) {
- return -EEXIST;
- } else if (ret == -1 && errno == ENOENT) {
- ret = creat(path, 0666);
- if (ret <= 0)
- return ret;
- close(ret);
- } else {
- return ret;
- }
-
- return 0;
-}
-
-static inline void osd_remove_tmp_objects(struct osd_device *osd, uint64_t pid,
- uint64_t start_oid, uint64_t end_oid,
- uint8_t *sense, uint32_t cdb_cont_len)
-{
- uint64_t j = 0;
- for (j = start_oid; j < end_oid; j++)
- osd_remove(osd, pid, j, cdb_cont_len, sense); /* ignore ret */
-}
-
-static int osd_init_attr(struct osd_device *osd, uint64_t pid, uint64_t oid)
-{
- int ret = 0;
- uint64_t val = 0;
-
- ret = attr_set_attr(osd->dbc, pid, oid, USER_TMSTMP_PG, 0,
- incits.user_tmstmp_page,
- sizeof(incits.user_tmstmp_page));
- if (ret != 0)
- return ret;
-
- ret = attr_set_attr(osd->dbc, pid, oid, USER_ATOMICS_PG, 0,
- incits.user_atomic_page,
- sizeof(incits.user_atomic_page));
- if (ret != 0)
- return ret;
-
- val = 0;
- ret = attr_set_attr(osd->dbc, pid, oid, USER_ATOMICS_PG, UAP_CAS,
- &val, sizeof(val));
- if (ret != 0)
- return ret;
- ret = attr_set_attr(osd->dbc, pid, oid, USER_ATOMICS_PG, UAP_FA, &val,
- sizeof(val));
- if (ret != 0)
- return ret;
-
- return OSD_OK;
-}
-
-int osd_clear(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint64_t len, uint64_t offset, uint32_t cdb_cont_len,
- uint8_t *sense)
-{
- int ret;
- int fd=-1;
- char path[MAXNAMELEN];
- char *dinbuf;
- dinbuf = calloc(len, sizeof(char));
-
- if (dinbuf == NULL)
- goto out_hw_err;
-
- osd_debug("%s: pid %llu oid %llu len %llu offset %llu",
- __func__, llu(pid), llu(oid), llu(len), llu(offset));
-
- assert(osd && osd->root && osd->dbc && sense);
-
- if (!(pid >= USEROBJECT_PID_LB && oid >= USEROBJECT_OID_LB))
- goto out_cdb_err;
-
- get_dfile_name(path, osd->root, pid, oid);
-
- fd = open(path, O_RDWR|O_LARGEFILE); /* fails on non-existent obj */
-
- if (fd < 0)
- goto out_cdb_err;
-
- ret = pwrite(fd, dinbuf, len, offset); /* writing null characters to file */
-
- if (ret < 0 || (uint64_t)ret != len)
- goto out_hw_err;
-
- ret = close(fd);
- if (ret != 0)
- goto out_hw_err;
-
- fill_ccap(&osd->ccap, NULL, USEROBJECT, pid, oid, 0);
-
- free(dinbuf);
-
- return OSD_OK; /* success */
-
-out_hw_err:
- ret = sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- if(fd >= 0)
- close(fd);
- if(dinbuf != NULL)
- free(dinbuf);
- return ret;
-
-out_cdb_err:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- free(dinbuf);
- return ret;
-}
-
-
-/*
- * XXX: get/set attributes to be handled in cdb.c
- */
-
-int osd_copy_user_objects(struct osd_device *osd, uint64_t pid, uint64_t requested_oid,
- uint64_t source_pid, uint64_t source_oid, int cpy_atr,
- uint8_t dupl_method, uint32_t cdb_cont_len, uint8_t *sense)
-{
- int ret = 0;
- uint64_t oid = 0;
- int present = 0;
-
- osd_debug("%s: pid: %llu cid %llu", __func__, llu(pid),
- llu(requested_oid));
-
- if (pid == 0 || pid < COLLECTION_PID_LB)
- goto out_cdb_err;
-
- if (requested_oid != 0 && requested_oid < USEROBJECT_OID_LB)
- goto out_cdb_err;
-
- if (cdb_cont_len == 0)
- goto out_cdb_err;
-
- /* verify that source_pid & source_oid exist */
- ret = obj_ispresent(osd->dbc, source_pid, PARTITION_OID, &present);
- if (ret != OSD_OK || !present)
- goto out_cdb_err;
-
- ret = obj_ispresent(osd->dbc, source_pid, source_oid, &present);
- if (ret != OSD_OK || !present)
- goto out_cdb_err;
-
- /* verify that destination_pid exists */
- ret = obj_ispresent(osd->dbc, pid, PARTITION_OID, &present);
- if (ret != OSD_OK || !present)
- goto out_cdb_err;
-
- if (requested_oid == 0) {
- if (osd->ic.cur_pid == pid) { /* cache hit */
- oid = osd->ic.next_id;
- osd->ic.next_id++;
- } else {
- ret = obj_get_nextoid(osd->dbc, pid, &oid);
- if (ret != 0)
- goto out_hw_err;
- osd->ic.cur_pid = pid;
- osd->ic.next_id = oid + 1;
- }
- if (oid == 1) {
- oid = USEROBJECT_OID_LB; /* first oid in partition */
- osd->ic.next_id = oid + 1;
- }
- } else {
- ret = obj_ispresent(osd->dbc, pid, requested_oid, &present);
- if (ret != OSD_OK || present)
- goto out_cdb_err; /* requested_oid exists! */
- oid = requested_oid; /* requested_oid works! */
-
- /*XXX: invalidate cache */
- osd->ic.cur_pid = osd->ic.next_id = 0;
- }
-
- if (dupl_method == DEFAULT){
- /* call function to copy userobject data from source object in source partition
- to destination object in destination partition */
- }
- if (cpy_atr == 1){
- /* call function to copy attribute data from source object in source partition
- to destination object in destination partition */
- }
-
- fill_ccap(&osd->ccap, NULL, USEROBJECT, pid, oid, 0);
- return OSD_OK; /* success */
-
-
-out_cdb_err:
- return sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB,
- pid, requested_oid);
-out_hw_err:
- osd->ic.cur_pid = osd->ic.next_id = 0; /* invalidate cache */
- return sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB,
- pid, requested_oid);
-
- return ret;
-}
-
-int osd_create(struct osd_device *osd, uint64_t pid, uint64_t requested_oid,
- uint16_t numoid, uint32_t cdb_cont_len, uint8_t *sense)
-{
- int ret = 0;
- int present = 0;
- uint64_t i = 0;
- uint64_t oid = 0;
-
- TICK_TRACE(osd_create);
- osd_debug("%s: pid %llu requested oid %llu numoid %hu", __func__,
- llu(pid), llu(requested_oid), numoid);
-
- assert(osd && osd->root && osd->dbc && sense);
-
- if (pid == 0 || pid < USEROBJECT_PID_LB)
- goto out_illegal_req;
-
- if (requested_oid != 0 && requested_oid < USEROBJECT_OID_LB)
- goto out_illegal_req;
-
- /* Make sure partition is present. */
- ret = obj_ispresent(osd->dbc, pid, PARTITION_OID, &present);
- if (ret != OSD_OK || !present)
- goto out_illegal_req;
-
- if (numoid > 1 && requested_oid != 0)
- goto out_illegal_req;
-
- if (requested_oid == 0) {
- /*
- * XXX: there should be a better way of getting next maximum
- * oid using SQL itself
- */
- if (osd->ic.cur_pid == pid) { /* cache hit */
- oid = osd->ic.next_id;
- osd->ic.next_id++;
- } else {
- ret = obj_get_nextoid(osd->dbc, pid, &oid);
- if (ret != 0)
- goto out_hw_err;
- osd->ic.cur_pid = pid;
- osd->ic.next_id = oid + 1;
- }
- if (oid == 1) {
- oid = USEROBJECT_OID_LB; /* first oid in partition */
- osd->ic.next_id = oid + 1;
- }
- } else {
- ret = obj_ispresent(osd->dbc, pid, requested_oid, &present);
- if (ret != OSD_OK || present)
- goto out_illegal_req; /* requested_oid exists! */
- oid = requested_oid; /* requested_oid works! */
-
- /*XXX: invalidate cache */
- osd->ic.cur_pid = osd->ic.next_id = 0;
- }
-
- if (numoid == 0)
- numoid = 1; /* create atleast one object */
-
- for (i = oid; i < (oid + numoid); i++) {
- ret = obj_insert(osd->dbc, pid, i, USEROBJECT);
- if (ret != 0) {
- osd_remove_tmp_objects(osd, pid, oid, i, sense, cdb_cont_len);
- goto out_hw_err;
- }
-
- TICK_TRACE(osd_create_datafile);
- ret = osd_create_datafile(osd, pid, i);
- if (ret != 0) {
- obj_delete(osd->dbc, pid, i);
- osd_remove_tmp_objects(osd, pid, oid, i, sense, cdb_cont_len);
- goto out_hw_err;
- }
-
-#if 0
- ret = osd_init_attr(osd, pid, i);
- if (ret != 0) {
- char path[MAXNAMELEN];
- get_dfile_name(path, osd->root, pid, i);
- unlink(path);
- obj_delete(osd->dbc, pid, i);
- osd_remove_tmp_objects(osd, pid, oid, i, sense, cdb_cont_len);
- goto out_hw_err;
- }
-#endif
- }
- osd->ic.next_id += (numoid - 1);
-
- /* fill CCAP with highest oid, osd2r00 Sec 6.3, 3rd last para */
- fill_ccap(&osd->ccap, NULL, USEROBJECT, pid, (oid+numoid-1), 0);
- TICK_TRACE(osd_create);
- return OSD_OK; /* success */
-
-out_illegal_req:
- return sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB,
- pid, requested_oid);
-
-out_hw_err:
- osd->ic.cur_pid = osd->ic.next_id = 0; /* invalidate cache */
- return sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB,
- pid, requested_oid);
-}
-
-
-
-
-
-int osd_create_and_write(struct osd_device *osd, uint64_t pid,
- uint64_t oid, uint64_t len, uint64_t offset,
- const uint8_t *data, uint32_t cdb_cont_len, uint8_t *sense, uint8_t ddt)
-{
- int ret;
-
- ret = osd_create(osd, pid, oid, 1, cdb_cont_len, sense);
- if (ret) {
- return ret;
- }
-
- ret = osd_write(osd, pid, oid, len, offset, data, cdb_cont_len, sense, ddt);
- if (ret) {
- osd_remove(osd, pid, oid, cdb_cont_len, sense);
- return ret;
- }
-
- return ret;
-
-}
-
-/* osd2r01 sec. 6.5 */
-int osd_create_collection(struct osd_device *osd, uint64_t pid,
- uint64_t requested_cid, uint32_t cdb_cont_len, uint8_t *sense)
-{
- int ret = 0;
- uint64_t cid = 0;
- int present = 0;
-
- osd_debug("%s: pid: %llu cid %llu", __func__, llu(pid),
- llu(requested_cid));
-
- assert(osd && osd->root && osd->dbc && sense);
-
- if (pid == 0 || pid < COLLECTION_PID_LB)
- goto out_cdb_err;
-
- if (requested_cid != 0 && requested_cid < COLLECTION_OID_LB)
- goto out_cdb_err;
-
- /* Make sure partition is present */
- ret = obj_ispresent(osd->dbc, pid, PARTITION_OID, &present);
- if (ret != OSD_OK || !present)
- goto out_cdb_err;
-
- /*
- * Collections and Userobjects share same namespace, so we can use
- * get_nextoid.
- */
- if (requested_cid == 0) {
- /*
- * XXX: there should be a better way of getting next maximum
- * oid using SQL itself
- */
- if (osd->ic.cur_pid == pid) { /* cache hit */
- cid = osd->ic.next_id;
- osd->ic.next_id++;
- } else {
- ret = obj_get_nextoid(osd->dbc, pid, &cid);
- if (ret != 0)
- goto out_hw_err;
- osd->ic.cur_pid = pid;
- osd->ic.next_id = cid + 1;
- }
- if (cid == 1) {
- cid = COLLECTION_OID_LB; /* first id in partition */
- osd->ic.next_id = cid + 1;
- }
- } else {
- /* Make sure requested_cid doesn't already exist */
- ret = obj_ispresent(osd->dbc, pid, requested_cid, &present);
- if (ret != OSD_OK || present)
- goto out_cdb_err;
- cid = requested_cid;
-
- /*XXX: invalidate cache */
- osd->ic.cur_pid = osd->ic.next_id = 0;
- }
-
- /* if cid already exists, obj_insert will fail */
- ret = obj_insert(osd->dbc, pid, cid, COLLECTION);
- if (ret)
- goto out_cdb_err;
-
- /* TODO: set some of the default attributes of the collection */
-
- fill_ccap(&osd->ccap, NULL, COLLECTION, pid, cid, 0);
- return OSD_OK; /* success */
-
-out_cdb_err:
- return sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB,
- requested_cid, 0);
-out_hw_err:
- osd->ic.cur_pid = osd->ic.next_id = 0; /* invalidate cache */
- return sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB,
- requested_cid, 0);
-}
-
-int osd_create_partition(struct osd_device *osd, uint64_t requested_pid,
- uint32_t cdb_cont_len, uint8_t *sense)
-{
- int ret = 0;
- uint64_t pid = 0;
-
- osd_debug("%s: pid %llu", __func__, llu(requested_pid));
-
- assert(osd && osd->root && osd->dbc && sense);
-
- if (requested_pid != 0 && requested_pid < PARTITION_PID_LB)
- goto out_cdb_err;
-
- if (requested_pid == 0) {
- ret = obj_get_nextpid(osd->dbc, &pid);
- if (ret != 0)
- goto out_hw_err;
- if (pid == 1)
- pid = PARTITION_PID_LB; /* firstever pid */
- } else {
- pid = requested_pid;
- }
-
- /* if pid already exists, obj_insert will fail */
- ret = obj_insert(osd->dbc, pid, PARTITION_OID, PARTITION);
- if (ret)
- goto out_cdb_err;
-
- fill_ccap(&osd->ccap, NULL, PARTITION, pid, PARTITION_OID, 0);
- return OSD_OK; /* success */
-
-out_cdb_err:
- return sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB,
- requested_pid, 0);
-
-out_hw_err:
- return sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB,
- requested_pid, 0);
-}
-
-static inline int is_linked_coll(uint64_t source_cid)
-{
- return source_cid > LINKED_COLLECTION_OID_LB;
-}
-
-static inline int is_tracking_coll(uint64_t source_cid)
-{
- return source_cid = 0x1082;
-}
-
-static inline int is_spontaneous_coll(uint64_t source_cid)
-{
- return source_cid < TRACKING_COLLECTION_OID_LB;
-}
-
-int osd_create_user_tracking_collection(struct osd_device *osd, uint64_t pid,
- uint64_t requested_cid, uint64_t source_cid,
- uint32_t cdb_cont_len, uint8_t *sense)
-{
- int ret = 0;
- uint64_t cid = 0;
- int present = 0;
- int to_do_1=0, to_do_2=0, to_do_3=0;
-
- osd_debug("%s: pid %llu requested_cid %llu source_cid %llu cdb_cont_len %u",
- __func__, llu(pid), llu(requested_cid), llu(source_cid), cdb_cont_len);
-
- assert(osd && osd->root && osd->dbc && sense);
-
- if (pid == 0 || pid < COLLECTION_PID_LB)
- goto out_cdb_err;
-
- if (requested_cid != 0 && requested_cid < COLLECTION_OID_LB)
- goto out_cdb_err;
-
- /* Make sure partition is present */
- ret = obj_ispresent(osd->dbc, pid, PARTITION_OID, &present);
- if (ret != OSD_OK || !present)
- goto out_cdb_err;
-
- /* Make sure source collection is present */
- ret = obj_ispresent(osd->dbc, pid, source_cid, &present);
- if (ret != OSD_OK || !present)
- goto out_cdb_err;
-
- /* Checks on cdb_cont_len */
- if (((source_cid != 0) && (cdb_cont_len == 0)) || ((source_cid == 0) && (cdb_cont_len != 0)))
- goto out_cdb_err;
-
- /* to_do_1 = CDB continuation segment does not contain one extension capabilities CDB continuation descriptor(5.4.6)
- to_do_2 = CDB continuation segment contains any cdb continuation descriptor other than the extension capabilities CDB
- continuation descriptor */
- if ((cdb_cont_len !=0) && (to_do_1 || to_do_2))
- goto out_cdb_err;
-
- /* Checking validity of the source collection */
- if (source_cid != 0) {
-
- if ((! is_linked_coll(source_cid)) && (! is_tracking_coll(source_cid)) && (! is_spontaneous_coll(source_cid)))
- goto out_cdb_err;
-
- /* to_do_3 = the active command status attribute in the Command Tracking attribute page(7.1.3.20) is not set to zero*/
- else if (is_tracking_coll(source_cid) && to_do_3)
- goto out_cdb_err;
- }
-
- if (requested_cid == 0) {
-
- if (osd->ic.cur_pid == pid) { /* cache hit */
- cid = osd->ic.next_id;
- osd->ic.next_id++;
- }else {
- ret = obj_get_nextoid(osd->dbc, pid, &cid);
- if (ret != 0)
- goto out_hw_err;
- osd->ic.cur_pid = pid;
- osd->ic.next_id = cid + 1;
- }
- if (cid == 1) {
- cid = COLLECTION_OID_LB; /* first id in partition */
- osd->ic.next_id = cid + 1;
- }
- }
-
- else {
- /* Make sure requested_cid doesn't already exist */
- ret = obj_ispresent(osd->dbc, pid, requested_cid, &present);
- if (ret != OSD_OK || present)
- goto out_cdb_err;
- cid = requested_cid;
-
- /*XXX: invalidate cache */
- osd->ic.cur_pid = osd->ic.next_id = 0;
- }
-
- if (source_cid != 0) {
- /* Copy source collection members to destination collection */
- ret = coll_copyoids(osd->dbc, pid, cid, source_cid);
- if (ret != 0)
- goto out_hw_err;
- }
-
- /* if cid already exists, obj_insert will fail */
- ret = obj_insert(osd->dbc, pid, cid, COLLECTION);
- if (ret)
- goto out_cdb_err;
-
- fill_ccap(&osd->ccap, NULL, COLLECTION, pid, cid, 0);
- return OSD_OK; /* success */
-
-out_cdb_err:
- return sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB,
- requested_cid, 0);
-out_hw_err:
- osd->ic.cur_pid = osd->ic.next_id = 0;
- return sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB,
- requested_cid, 0);
-}
-
-int osd_flush(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint64_t len, uint64_t offset, int flush_scope, uint32_t cdb_cont_len,
- uint8_t *sense)
-{
- char path[MAXNAMELEN];
- int ret, fd=-1;
- struct stat sb;
-
- osd_debug("%s: pid %llu oid %llu scope %d", __func__, llu(pid),
- llu(oid), flush_scope);
-
- assert(osd && osd->root && osd->dbc && sense);
-
- if (!(pid >= USEROBJECT_PID_LB && oid >= USEROBJECT_OID_LB))
- goto out_cdb_err;
-
- get_dfile_name(path, osd->root, pid, oid);
- fd = open(path, O_RDWR|O_LARGEFILE); /* fails on non-existent obj */
- if (fd < 0)
- goto out_cdb_err;
-
- if (flush_scope == 0) { /* flush data and attributes */
- ret = fdatasync(fd);
- if (ret)
- goto out_hw_err;
- /* flush attribute to be implemented */
- }
-
- else if (flush_scope == 2) { /* flush user object data range & attributes */
-
- ret = stat(path, &sb);
- if(ret) {
- close(fd);
- return OSD_ERROR;
- }
-
- /* Offset beyond user object length */
- if(offset > (uint64_t)sb.st_size)
- goto out_cdb_err;
-
- /* Designated bytes beyond object length, only flush bytes within length */
- else if(len > ((uint64_t)sb.st_size - offset)) {
- ret = sync_file_range(fd, offset, sb.st_size - offset, 0);
- if (ret)
- goto out_hw_err;
- /* flush attribute to be implemented */
- ret = close(fd);
- return OSD_OK; /* success */
- }
-
- /* Normal Flush */
- ret = sync_file_range(fd, offset, len, 0);
- if (ret)
- goto out_hw_err;
- /* flush attribute to be implemented */
- }
-
- else { /* flush_scope = 1, flush attribute only */
- /* flush attribute to be implemented */
- osd_debug(__func__);
- return osd_error_unimplemented(0, sense);
- }
-
- /* attributes always flushed? need sqlite call here? */
-
- ret = close(fd);
- if (ret)
- goto out_hw_err;
-
- fill_ccap(&osd->ccap, NULL, USEROBJECT, pid, oid, 0);
- return OSD_OK; /* success */
-
-out_hw_err:
- ret = sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- if(fd >= 0)
- close(fd);
- return ret;
-
-out_cdb_err:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- if(fd >= 0)
- close(fd);
- return ret;
-}
-
-int osd_flush_collection(struct osd_device *osd, uint64_t pid, uint64_t cid,
- int flush_scope, uint32_t cdb_cont_len, uint8_t *sense)
-{
- osd_debug(__func__);
- return osd_error_unimplemented(0, sense);
-}
-
-
-int osd_flush_osd(struct osd_device *osd, int flush_scope, uint32_t cdb_cont_len,
- uint8_t *sense)
-{
- osd_debug(__func__);
- return osd_error_unimplemented(0, sense);
-}
-
-
-int osd_flush_partition(struct osd_device *osd, uint64_t pid, int flush_scope,
- uint32_t cdb_cont_len, uint8_t *sense)
-{
- osd_debug(__func__);
- return osd_error_unimplemented(0, sense);
-}
-
-/*
- * Destroy the db and start over again.
- */
-int osd_format_osd(struct osd_device *osd, uint64_t capacity, uint32_t cdb_cont_len, uint8_t *sense)
-{
- int ret;
- char *root = NULL;
- char path[MAXNAMELEN];
- struct stat sb;
-
- osd_debug("%s: capacity %llu MB", __func__, llu(capacity >> 20));
-
- assert(osd && osd->root && osd->dbc && sense);
-
- root = strdup(osd->root);
-
- get_dbname(path, root);
- if (stat(path, &sb) != 0) {
- osd_error_errno("%s: DB %s does not exist, creating it",
- __func__, path);
- goto create;
- }
-
- ret = osd_close(osd);
- if (ret) {
- osd_error("%s: DB close failed, ret %d", __func__, ret);
- goto out_sense;
- }
-
- sprintf(path, "%s/%s/", root, md);
- ret = empty_dir(path);
- if (ret) {
- osd_error("%s: empty_dir %s failed", __func__, path);
- goto out_sense;
- }
-
- sprintf(path, "%s/%s", root, stranded);
- ret = empty_dir(path);
- if (ret) {
- osd_error("%s: empty_dir %s failed", __func__, path);
- goto out_sense;
- }
-
- sprintf(path, "%s/%s", root, dfiles);
- ret = empty_dir(path);
- if (ret) {
- osd_error("%s: empty_dir %s failed", __func__, path);
- goto out_sense;
- }
-
-create:
- ret = osd_open(root, osd); /* will create files/dirs under root */
- if (ret != 0) {
- osd_error("%s: osd_open %s failed", __func__, root);
- goto out_sense;
- }
- memset(&osd->ccap, 0, sizeof(osd->ccap)); /* reset ccap */
- ret = OSD_OK;
- goto out;
-
-out_cdb_err:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, 0, 0);
- goto out;
-
-out_sense:
- ret = sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_SYSTEM_RESOURCE_FAILURE, 0, 0);
-
-out:
- free(root);
- return ret;
-}
-
-static inline int
-mutiplex_getattr_list(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint32_t page, uint32_t number, uint8_t *outbuf,
- uint32_t outlen, uint8_t isembedded, uint8_t listfmt,
- uint32_t *used_outlen, uint8_t *sense)
-{
- if (page == GETALLATTR_PG && number == ATTRNUM_GETALL) {
- return attr_get_all_attrs(osd->dbc, pid, oid, outlen, outbuf,
- listfmt, used_outlen);
- } else if (page != GETALLATTR_PG && number == ATTRNUM_GETALL) {
- return attr_get_page_as_list(osd->dbc, pid, oid, page, outlen,
- outbuf, listfmt, used_outlen);
- } else if (page == GETALLATTR_PG && number != ATTRNUM_GETALL) {
- return attr_get_for_all_pages(osd->dbc, pid, oid, number,
- outlen, outbuf, listfmt,
- used_outlen);
- } else {
- return attr_get_attr(osd->dbc, pid, oid, page, number,
- outlen, outbuf, listfmt, used_outlen);
- }
-}
-
-
-/*
- * Treatment of undefined attributes: Sec 7.1.3.1. The ver 2 draft changed
- * the semantics of handling undefined attributed from ver 1. Instead of
- * sending null attributes entry, list entry with attribute length 0 is sent
- * (Sec 7.1.1). If attr page is undefined then null attributes page is
- * returned (7.1.2.25)
- *
- * XXX:SD There is ambiguity wrt actions taken for "undefined page". If the
- * "undefined page" means a page with no defined attributes, then a get all
- * attr on that page can either send a null attributes page (7.1.2.25) or one
- * can send list with list length 0 (7.1.3.1). We choose the latter option.
- *
- * XXX:SD Since we don't give names to pages when the pages are created
- * (doing so would increase complexity of set attr), when all attributes of a
- * page is requested we don't have attr num 0, which defines name of the
- * page. However, if the user has explicitly defined the name of the page,
- * then it would be returned if all the attributes of the page are requested.
- */
-static int fill_null_attr(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint32_t page, uint32_t number, uint8_t *outbuf,
- uint32_t outlen, uint8_t listfmt)
-{
- int ret;
-
- if (page != GETALLATTR_PG && number != ATTRNUM_GETALL) {
- if (listfmt == RTRVD_CREATE_MULTIOBJ_LIST)
- ret = le_multiobj_pack_attr(outbuf, outlen, oid,
- page, number, 0, NULL);
- else
- ret = le_pack_attr(outbuf, outlen, page, number, 0,
- NULL);
- } else {
- ret = 0;
- }
-
- return ret;
-}
-
-/*
- * XXX:SD We do lazy initialization of non-essential attributes to save time
- * on critical path for core operations like create. Therefore if any of the
- * non-essential attributes are gotten then we need to set them before
- * accessing them.
- *
- * returns:
- * OSD_OK: success
- * OSD_ERROR: some error
- * -EINVAL: invalid arg in downstream function
- */
-static int lazy_init_attr(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint32_t page, uint32_t number)
-{
- int ret;
- char val[40];
- uint32_t used_outlen;
-
- if ((page != GETALLATTR_PG && number != ATTRNUM_GETALL) ||
- (page <= USER_ATOMICS_PG && number > 0) ||
- (page > USER_ATOMICS_PG && page != GETALLATTR_PG))
- return OSD_OK; /* nothing to be done */
-
- /* check if attrs are already defined */
- ret = attr_get_val(osd->dbc, pid, oid, USER_TMSTMP_PG, 0, 40, val,
- &used_outlen);
- if (ret == OSD_OK)
- return OSD_OK; /* attrs already defined */
- else if (ret != -ENOENT)
- return ret;
-
- /* now initialize the attrs */
- ret = attr_set_attr(osd->dbc, pid, oid, USER_TMSTMP_PG, 0,
- incits.user_tmstmp_page,
- sizeof(incits.user_tmstmp_page));
- if (ret != OSD_OK)
- return ret;
-
- ret = attr_set_attr(osd->dbc, pid, oid, USER_ATOMICS_PG, 0,
- incits.user_atomic_page,
- sizeof(incits.user_atomic_page));
- if (ret != OSD_OK)
- return ret;
-
- return OSD_OK;
-}
-
-/*
- * returns:
- * == OSD_OK: success, used_outlen modified
- * >0: failed, sense set accordingly
- */
-int osd_getattr_list(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint32_t page, uint32_t number, uint8_t *outbuf,
- uint32_t outlen, uint8_t isembedded, uint8_t listfmt,
- uint32_t *used_outlen, uint32_t cdb_cont_len, uint8_t *sense)
-{
- int ret = 0;
- uint8_t obj_type = 0;
-
- assert(osd && osd->root && osd->dbc && outbuf && used_outlen && sense);
-
- obj_type = get_obj_type(osd, pid, oid);
- if (obj_type == ILLEGAL_OBJ)
- goto out_cdb_err;
-
- if (isgettable_page(obj_type, page) == FALSE)
- goto out_param_list;
-
- ret = lazy_init_attr(osd, pid, oid, page, number);
- if (ret != OSD_OK)
- goto out_hw_err;
-
- switch (page) {
- case CUR_CMD_ATTR_PG:
- ret = get_ccap_aslist(osd, number, outbuf, outlen,
- used_outlen);
- break;
- case USER_TMSTMP_PG:
- ret = get_utsap_aslist(osd, pid, oid, number, outbuf,
- outlen, listfmt, used_outlen);
- break;
- case USER_INFO_PG:
- ret = get_uiap(osd, pid, oid, page, number, outbuf,
- outlen, listfmt, used_outlen);
- break;
- case ROOT_INFO_PG:
- ret = get_riap(osd, pid, oid, page, number, outbuf,
- outlen, listfmt, used_outlen);
- break;
- default:
- ret = mutiplex_getattr_list(osd, pid, oid, page,
- number, outbuf, outlen,
- isembedded, listfmt,
- used_outlen, sense);
- break;
- }
-
- assert (ret == -ENOENT || ret == -EIO || ret == -EINVAL ||
- ret == -ENOMEM || ret == OSD_ERROR || ret == OSD_OK);
-
- if (ret == -EIO || ret == -EINVAL || ret == -ENOMEM ||
- ret == OSD_ERROR)
- goto out_param_list;
-
- if (ret == -ENOENT) {
- ret = fill_null_attr(osd, pid, oid, page, number, outbuf,
- outlen, listfmt);
- assert(ret == -EINVAL || ret == -EOVERFLOW || ret >= 0);
- if (ret == -EOVERFLOW)
- *used_outlen = 0; /* not an error, Sec 5.2.2.2 */
- else if (ret >= 0)
- *used_outlen = ret;
- else
- goto out_param_list;
- }
-
- if (!isembedded)
- fill_ccap(&osd->ccap, NULL, obj_type, pid, oid, 0);
- return OSD_OK; /* success */
-
-out_param_list:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_PARAM_LIST,
- pid, oid);
- return ret;
-
-out_cdb_err:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-
-out_hw_err:
- ret = sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-}
-
-/*
- * This function can only be used for pages that have a defined
- * format. Those appear to be only:
- * quotas: root,partition,userobj
- * timestamps: root,partition,collection,userobj
- * policy/security: root,partition,collection,userobj
- * collection attributes: userobj (shows membership)
- * current command
- * null
- *
- * NOTE: since RTRVD_CREATE_MULTIOBJ_LIST listfmt can only be used when
- * cdbfmt == GETLIST_SETLIST, osd_getattr_page always generates list in
- * RTRVD_SET_ATTR_LIST. hence there is no listfmt arg.
- *
- * returns:
- * == OSD_OK: success, used_outlen modified
- * >0: failed, sense set accordingly
- */
-int osd_getattr_page(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint32_t page, void *outbuf, uint64_t outlen,
- uint8_t isembedded, uint32_t *used_outlen,
- uint32_t cdb_cont_len, uint8_t *sense)
-{
- int ret = 0;
- uint8_t obj_type = 0;
-
- osd_debug("%s: get attr for (%llu, %llu) page %u", __func__,
- llu(pid), llu(oid), page);
-
- assert(osd && osd->root && osd->dbc && outbuf && used_outlen && sense);
-
- obj_type = get_obj_type(osd, pid, oid);
- if (obj_type == ILLEGAL_OBJ)
- goto out_cdb_err;
-
- if (isgettable_page(obj_type, page) == FALSE)
- goto out_param_list;
-
- if (!isembedded)
- fill_ccap(&osd->ccap, NULL, obj_type, pid, oid, 0);
-
- switch (page) {
- case CUR_CMD_ATTR_PG:
- ret = get_ccap(osd, outbuf, outlen, used_outlen);
- break;
- case USER_TMSTMP_PG:
- ret = get_utsap(osd, pid, oid, outbuf, outlen,
- used_outlen);
- break;
- case GETALLATTR_PG:
- ret = lazy_init_attr(osd, pid, oid, page, 0);
- if (ret != OSD_OK)
- goto out_hw_err;
- ret = attr_get_all_attrs(osd->dbc, pid, oid, outlen, outbuf,
- RTRVD_SET_ATTR_LIST, used_outlen);
- break;
- default:
- goto out_cdb_err;
- }
- assert (ret == -EIO || ret == -EINVAL || ret == -ENOMEM ||
- ret == OSD_ERROR || ret == OSD_OK);
- if (ret == -EIO || ret == -EINVAL || ret == OSD_ERROR)
- goto out_param_list;
-
- return OSD_OK; /* success */
-
-out_param_list:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_PARAM_LIST,
- pid, oid);
- return ret;
-
-out_cdb_err:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-
-out_hw_err:
- ret = sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-}
-
-
-int osd_get_member_attributes(struct osd_device *osd, uint64_t pid,
- uint64_t cid, uint32_t cdb_cont_len, uint8_t *sense)
-{
- osd_debug(__func__);
- return osd_error_unimplemented(0, sense);
-}
-
-/*
- * @outdata: pointer to start of the data-out-buffer: destination of
- * generated list results
- *
- * returns:
- * ==0: success, used_outlen is set
- * > 0: error, sense is set
- */
-int osd_list(struct osd_device *osd, uint8_t list_attr, uint64_t pid,
- uint64_t alloc_len, uint64_t initial_oid,
- struct getattr_list *get_attr, uint32_t list_id,
- uint8_t *outdata, uint64_t *used_outlen, uint8_t *sense)
-{
- int ret = 0;
- uint8_t *cp = outdata;
- uint64_t add_len = 0;
- uint64_t cont_id = 0;
-
- assert(osd && osd->root && osd->dbc && get_attr && outdata
- && used_outlen && sense);
-
- if (alloc_len == 0)
- return 0; /* No space to even send the header */
-
- if (alloc_len < 24) /* XXX: currently need atleast the header */
- goto out_cdb_err;
-
- memset(outdata, 0, 24);
-
- if (list_attr == 0 && get_attr->sz != 0)
- goto out_cdb_err; /* XXX: unimplemented */
- if (list_attr == 1 && get_attr->sz == 0)
- goto out_cdb_err; /* XXX: this seems like error? */
-
- if (list_attr == 0 && get_attr->sz == 0) {
- /*
- * If list_id is not 0, we are continuing an old list,
- * starting from cont_id
- */
- if (list_id)
- initial_oid = cont_id;
- outdata[23] = (0x21 << 2);
- alloc_len -= 24;
- /*
- * Looks like the process is identical except for the
- * actual contents of the list, so this should work,
- * unless we want attrs
- */
- ret = (pid == 0 ?
- obj_get_all_pids(osd->dbc, initial_oid, alloc_len,
- &outdata[24], used_outlen, &add_len,
- &cont_id)
- :
- obj_get_oids_in_pid(osd->dbc, pid, initial_oid,
- alloc_len, &outdata[24],
- used_outlen, &add_len, &cont_id)
- );
- if (ret)
- goto out_hw_err;
-
- *used_outlen += 24;
- if (add_len + 16 > add_len) /* overflow: osd2r01 Sec 6.14.2 */
- add_len += 16;
- else
- add_len = (uint64_t) -1;
- set_htonll(outdata, add_len);
- set_htonll(&outdata[8], cont_id);
- } else if (list_attr == 1 && get_attr->sz != 0 && pid != 0) {
- if (list_id)
- initial_oid = cont_id;
- outdata[23] = (0x22 << 2);
- alloc_len -= 24;
- ret = mtq_list_oids_attr(osd->dbc, pid, initial_oid,
- get_attr, alloc_len, &outdata[24],
- used_outlen, &add_len, &cont_id);
- if (ret)
- goto out_hw_err;
-
- *used_outlen += 24;
- if (add_len + 16 > add_len) /* overflow: osd2r01 Sec 6.14.2 */
- add_len += 16;
- else
- add_len = (uint64_t) -1;
- set_htonll(outdata, add_len);
- set_htonll(&outdata[8], cont_id);
- }
-
- /* XXX: is this correct */
- fill_ccap(&osd->ccap, NULL, PARTITION, pid, PARTITION_OID, 0);
- return OSD_OK; /* success */
-
-out_cdb_err:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, initial_oid);
- return ret;
-
-out_hw_err:
- ret = sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, initial_oid);
- return ret;
-}
-
-/*
- * @outdata: pointer to start of the data-out-buffer: destination of
- * generated list results
- *
- * returns:
- * ==0: success, used_outlen is set
- * > 0: error, sense is set
- */
-int osd_list_collection(struct osd_device *osd, uint8_t list_attr,
- uint64_t pid, uint64_t cid, uint64_t alloc_len,
- uint64_t initial_oid, struct getattr_list *get_attr,
- uint32_t list_id, uint8_t *outdata,
- uint64_t *used_outlen, uint8_t *sense)
-{
- int ret = 0;
- uint8_t *cp = outdata;
- uint64_t add_len = 0;
- uint64_t cont_id = 0;
-
- assert(osd && osd->root && osd->dbc && get_attr && outdata
- && used_outlen && sense);
-
- if (alloc_len == 0)
- return 0;
-
- if (alloc_len < 24) /* XXX: currently need atleast the header */
- goto out_cdb_err;
-
- memset(outdata, 0, 24);
-
- if (list_attr == 0 && get_attr->sz != 0)
- goto out_cdb_err; /* XXX: unimplemented */
- if (list_attr == 1 && get_attr->sz == 0)
- goto out_cdb_err; /* XXX: this seems like error? */
-
- if (list_attr == 0 && get_attr->sz == 0) {
- /*
- * If list_id is not 0, we are continuing
- * an old list, starting from cont_id
- */
- if (list_id)
- initial_oid = cont_id;
- outdata[23] = (0x21 << 2);
- alloc_len -= 24;
- /*
- * Looks like the process is identical except for the
- * actual contents of the list, so this should work,
- * unless we want attrs
- */
- ret = (cid == 0 ?
- obj_get_cids_in_pid(osd->dbc, pid, initial_oid,
- alloc_len, &outdata[24],
- used_outlen, &add_len, &cont_id)
- :
- coll_get_oids_in_cid(osd->dbc, pid, cid, initial_oid,
- alloc_len, &outdata[24],
- used_outlen, &add_len, &cont_id));
- if (ret)
- goto out_hw_err;
- *used_outlen += 24;
- add_len += 16;
- set_htonll(outdata, add_len);
- set_htonll(&outdata[8], cont_id);
-
- } else if (list_attr == 1 && get_attr->sz != 0 && cid != 0) {
- if (list_id)
- initial_oid = cont_id;
- goto out_cdb_err; /* XXX: unimplemented */
- }
-
- /* XXX: is this correct */
- fill_ccap(&osd->ccap, NULL, COLLECTION, pid, COLLECTION_OID_LB, 0);
- return OSD_OK; /* success */
-
-out_cdb_err:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, initial_oid);
- return ret;
-
-out_hw_err:
- ret = sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, initial_oid);
- return ret;
-}
-
-int osd_punch(struct osd_device *osd, uint64_t pid, uint64_t oid, uint64_t len,
- uint64_t offset, uint32_t cdb_cont_len, uint8_t *sense)
-{
- struct stat sb;
- ssize_t readlen;
- int ret,fd=-1;
- uint64_t new_offset,new_len;
- char path[MAXNAMELEN];
- char *buf = NULL;
-
- osd_debug("%s: pid %llu oid %llu len %llu offset %llu", __func__, llu(pid),
- llu(oid), llu(len), llu(offset));
-
- assert(osd && osd->root && osd->dbc && sense);
-
- if (!(pid >= USEROBJECT_PID_LB && oid >= USEROBJECT_OID_LB))
- goto out_cdb_err;
-
- get_dfile_name(path, osd->root, pid, oid);
-
- fd = open(path, O_RDWR|O_LARGEFILE); /* fails on non-existent obj */
-
- if (fd < 0)
- goto out_cdb_err;
-
- new_offset = len + offset;
-
- ret = stat(path, &sb);
-
- if(ret != 0) {
- close(fd);
- return OSD_ERROR;
- }
-
- /* Handling Illegal Operation */
- if(offset > (uint64_t)sb.st_size)
- goto out_cdb_err;
-
- /* Handling Special Case */
- else if(new_offset > (uint64_t)sb.st_size) {
- ret = truncate(path, offset);
- if (ret < 0)
- goto out_hw_err;
-
- ret = close(fd);
-
- if (ret != 0)
- goto out_hw_err;
-
- return OSD_OK; /* success */
- }
-
- /* Regular Cases */
- new_len = sb.st_size - new_offset;
-
- buf = malloc(new_len);
-
- if(buf == NULL)
- goto out_hw_err;
-
- /* Read section following the bytes to be removed */
- readlen = pread(fd, buf, new_len, new_offset);
-
- if (readlen < 0)
- goto out_hw_err;
-
-
- /* Overwrite the bytes to be removed and concatenate to new length */
- ret = pwrite(fd, buf, new_len, offset);
-
- if (ret < 0 || (uint64_t)ret != new_len)
- goto out_hw_err;
-
- ret = truncate(path, offset + new_len);
-
- if (ret < 0)
- goto out_hw_err;
-
- ret = close(fd);
-
- if (ret != 0)
- goto out_hw_err;
-
- if (buf != NULL)
- free(buf);
-
- return OSD_OK; /* success */
-
- out_hw_err:
- ret = sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- if(fd >= 0)
- close(fd);
-
- if(buf != NULL)
- free(buf);
-
- return ret;
-
- out_cdb_err:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
-
- if(fd >= 0)
- close(fd);
-
- return ret;
-}
-
-static inline int alloc_qc(struct query_criteria *qc)
-{
- uint32_t limit = 0;
-
- if (qc->qc_cnt_limit == 0)
- qc->qc_cnt_limit = 16;
- else
- qc->qc_cnt_limit *= 2;
-
- limit = qc->qc_cnt_limit;
- qc->qce_len = realloc(qc->qce_len, sizeof(*(qc->qce_len))*limit);
- qc->page = realloc(qc->page, sizeof(*(qc->page))*limit);
- qc->number = realloc(qc->number, sizeof(*(qc->number))*limit);
- qc->min_len = realloc(qc->min_len, sizeof(*(qc->min_len))*limit);
- qc->min_val = realloc(qc->min_val, sizeof(void *)*limit);
- qc->max_len = realloc(qc->max_len, sizeof(*(qc->max_len))*limit);
- qc->max_val = realloc(qc->max_val, sizeof(void *)*limit);
-
- if (!qc->qce_len || !qc->page || !qc->number || !qc->min_len ||
- !qc->min_val || !qc->max_len || !qc->max_val)
- return -ENOMEM;
-
- return OSD_OK;
-}
-
-static inline void free_qc(struct query_criteria *qc)
-{
- if (!qc)
- return;
- free(qc->qce_len);
- free(qc->page);
- free(qc->number);
- free(qc->min_len);
- free(qc->min_val);
- free(qc->max_len);
- free(qc->max_val);
-}
-
-static int parse_query_criteria(const uint8_t *cp, uint32_t qll,
- struct query_criteria *qc)
-{
- int ret = 0;
-
- qc->query_type = cp[0] & 0xF;
- qc->qc_cnt = 0;
- cp += 4;
- qll -= 4; /* remove query list header */
- while (qll > 0) {
- qc->qce_len[qc->qc_cnt] = get_ntohs(&cp[2]);
- if (qc->qce_len[qc->qc_cnt] == MINQCELEN)
- break; /* qce is empty */
-
- qc->page[qc->qc_cnt] = get_ntohl(&cp[4]);
- if (qc->page[qc->qc_cnt] >= PARTITION_PG) /* osd2r01 p 120 */
- return OSD_ERROR;
-
- qc->number[qc->qc_cnt] = get_ntohl(&cp[8]);
- qc->min_len[qc->qc_cnt] = get_ntohs(&cp[12]);
- qc->min_val[qc->qc_cnt] = &cp[14];
- cp += (14 + qc->min_len[qc->qc_cnt]);
- qll -= (14 + qc->min_len[qc->qc_cnt]);
- qc->max_len[qc->qc_cnt] = get_ntohs(&cp[0]);
- qc->max_val[qc->qc_cnt] = &cp[2];
- cp += (2 + qc->max_len[qc->qc_cnt]);
- qll -= (2 + qc->max_len[qc->qc_cnt]);
- qc->qc_cnt++;
-
- if (qc->qc_cnt == qc->qc_cnt_limit) {
- ret = alloc_qc(qc);
- if (ret != OSD_OK)
- return ret;
- }
- }
-
- return OSD_OK;
-}
-
-int osd_query(struct osd_device *osd, uint64_t pid, uint64_t cid,
- uint32_t query_list_len, uint64_t alloc_len, const void *indata,
- void *outdata, uint64_t *used_outlen, uint32_t cdb_cont_len, uint8_t *sense)
-{
- int ret = 0;
- int present = 0;
- uint8_t *cp = outdata;
- struct query_criteria qc = {
- .query_type = 0,
- .qc_cnt_limit = 0,
- .qc_cnt = 0,
- .qce_len = NULL,
- .page = NULL,
- .number = NULL,
- .min_len = NULL,
- .min_val = NULL,
- .max_len = NULL,
- .max_val = NULL,
- };
-
- osd_debug("%s pid %llu cid %llu query_list_len %u alloc_len %llu",
- __func__, llu(pid), llu(cid), query_list_len,
- llu(alloc_len));
-
- assert(osd && osd->root && osd->dbc && indata && sense);
-
- if (pid < USEROBJECT_PID_LB)
- goto out_cdb_err;
-
- ret = obj_ispresent(osd->dbc, pid, cid, &present);
- if (ret != OSD_OK || !present)
- goto out_cdb_err;
-
- if (query_list_len < MINQLISTLEN)
- goto out_cdb_err;
-
- if (alloc_len == 0)
- return OSD_OK;
- if (alloc_len < MIN_ML_LEN)
- goto out_cdb_err;
-
- ret = alloc_qc(&qc);
- if (ret != OSD_OK)
- goto out_hw_err;
-
- ret = parse_query_criteria(indata, query_list_len, &qc);
- if (ret != OSD_OK)
- goto out_cdb_err;
-
- memset(cp+8, 0, 4); /* reserved area */
- cp[12] = (0x21 << 2);
- ret = mtq_run_query(osd->dbc, pid, cid, &qc, outdata, alloc_len,
- used_outlen);
- free_qc(&qc);
- if (ret != OSD_OK)
- goto out_hw_err;
-
- fill_ccap(&osd->ccap, NULL, COLLECTION, pid, cid, 0);
- return OSD_OK; /* success */
-
-out_hw_err:
- ret = sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, cid);
- return ret;
-
-out_cdb_err:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, cid);
- return ret;
-}
-
-/*
- * @offset: offset from byte zero of the object where data will be read
- * @len: length of data to be read
- * @outdata: pointer to start of the data-out-buffer: destination of read
- *
- * returns:
- * ==0: success, used_outlen is set
- * > 0: error, sense is set
- */
-static int contig_read(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint64_t len, uint64_t offset, uint8_t *outdata,
- uint64_t *used_outlen, uint8_t *sense)
-{
- ssize_t readlen;
- int ret, fd;
- char path[MAXNAMELEN];
-
- osd_debug("%s: pid %llu oid %llu len %llu offset %llu", __func__,
- llu(pid), llu(oid), llu(len), llu(offset));
-
- assert(osd && osd->root && osd->dbc && outdata && used_outlen
- && sense);
-
- if (!(pid >= USEROBJECT_PID_LB && oid >= USEROBJECT_OID_LB))
- goto out_cdb_err;
-
- get_dfile_name(path, osd->root, pid, oid);
- fd = open(path, O_RDONLY|O_LARGEFILE); /* fails on non-existent obj */
- if (fd < 0)
- goto out_cdb_err;
-
- readlen = pread(fd, outdata, len, offset);
- if (readlen < 0) {
- close(fd);
- goto out_hw_err;
- }
-
- ret = close(fd);
- if (ret != 0)
- goto out_hw_err;
-
- *used_outlen = readlen;
-
- /* valid, but return a sense code */
- if ((size_t) readlen < len)
- ret = sense_build_sdd_csi(sense, OSD_SSK_RECOVERED_ERROR,
- OSD_ASC_READ_PAST_END_OF_USER_OBJECT,
- pid, oid, readlen);
-
- fill_ccap(&osd->ccap, NULL, USEROBJECT, pid, oid, 0);
- return ret;
-
-out_hw_err:
- ret = sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-
-out_cdb_err:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-
-
-}
-
-static int sgl_read(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint64_t len, uint64_t offset, const uint8_t *indata,
- uint8_t *outdata, uint64_t *used_outlen, uint8_t *sense)
-{
- ssize_t readlen;
- int ret, fd;
- char path[MAXNAMELEN];
- uint64_t inlen, pairs, hdr_offset, offset_val, data_offset, length;
- unsigned int i;
-
- osd_debug("%s: pid %llu oid %llu len %llu offset %llu", __func__,
- llu(pid), llu(oid), llu(len), llu(offset));
-
- assert(osd && osd->root && osd->dbc && outdata && used_outlen
- && sense);
-
- pairs = get_ntohll(indata);
- inlen = (pairs * sizeof(uint64_t) * 2) + sizeof(uint64_t);
- assert(pairs * sizeof(uint64_t) * 2 == inlen - sizeof(uint64_t));
-
- osd_debug("%s: offset,len pairs %llu", __func__, llu(pairs));
- osd_debug("%s: data offset %llu", __func__, llu(inlen));
-
-
- if (!(pid >= USEROBJECT_PID_LB && oid >= USEROBJECT_OID_LB))
- goto out_cdb_err;
-
- get_dfile_name(path, osd->root, pid, oid);
- fd = open(path, O_RDONLY|O_LARGEFILE); /* fails on non-existent obj */
- if (fd < 0)
- goto out_cdb_err;
-
-
- hdr_offset = sizeof(uint64_t);
- data_offset = 0;
- readlen = 0;
-
- for (i=0; i<pairs; i++) {
- offset_val = get_ntohll(indata + hdr_offset); /* offset into dest */
- hdr_offset += sizeof(uint64_t);
-
- length = get_ntohll(indata + hdr_offset); /* length */
- hdr_offset += sizeof(uint64_t);
-
- osd_debug("%s: Offset: %llu Length: %llu", __func__, llu(offset_val + offset),
- llu(length));
-
- osd_debug("%s: Position in data buffer: %llu master offset %llu", __func__, llu(data_offset), llu(offset));
-
- osd_debug("%s: ------------------------------", __func__);
- ret = pread(fd, outdata+data_offset, length, offset_val+offset);
- data_offset += length;
- osd_debug("%s: return value is %d", __func__, ret);
- if (ret < 0 || (uint64_t)ret != length)
- goto out_hw_err;
- readlen += ret;
- }
-
- ret = close(fd);
- if (ret != 0)
- goto out_hw_err;
-
- *used_outlen = readlen;
-
- /* valid, but return a sense code */
- if ((size_t) readlen < len)
- ret = sense_build_sdd_csi(sense, OSD_SSK_RECOVERED_ERROR,
- OSD_ASC_READ_PAST_END_OF_USER_OBJECT,
- pid, oid, readlen);
-
- fill_ccap(&osd->ccap, NULL, USEROBJECT, pid, oid, 0);
- return ret;
-
-out_hw_err:
- ret = sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-
-out_cdb_err:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-
-
-}
-
-static int vec_read(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint64_t len, uint64_t offset, const uint8_t *indata,
- uint8_t *outdata, uint64_t *used_outlen, uint8_t *sense)
-{
- ssize_t readlen;
- int ret, fd;
- char path[MAXNAMELEN];
- uint64_t inlen, bytes, hdr_offset, offset_val, data_offset, length, stride;
- unsigned int i;
-
- osd_debug("%s: pid %llu oid %llu len %llu offset %llu", __func__,
- llu(pid), llu(oid), llu(len), llu(offset));
-
- assert(osd && osd->root && osd->dbc && outdata && used_outlen
- && sense);
-
- stride = get_ntohll(indata);
- hdr_offset = sizeof(uint64_t);
- length = get_ntohll(indata + hdr_offset);
-
- osd_debug("%s: stride is %llu and len is %llu", __func__, llu(stride),
- llu(length));
-
- if (!(pid >= USEROBJECT_PID_LB && oid >= USEROBJECT_OID_LB))
- goto out_cdb_err;
-
- get_dfile_name(path, osd->root, pid, oid);
- fd = open(path, O_RDONLY|O_LARGEFILE); /* fails on non-existent obj */
- if (fd < 0)
- goto out_cdb_err;
-
- data_offset = 0;
- bytes = len;
- readlen = 0;
- osd_debug("%s: bytes to read is %llu", __func__, llu(bytes));
- offset_val = 0;
- while (bytes > 0) {
- osd_debug("%s: Position in data buffer: %llu", __func__,
- llu(data_offset));
- osd_debug("%s: Offset: %llu", __func__, llu(offset_val + offset));
- osd_debug("%s: ------------------------------", __func__);
- ret = pread(fd, outdata+data_offset, length, offset_val+offset);
- if (ret < 0 || (uint64_t)ret != length)
- goto out_hw_err;
- readlen += ret;
- data_offset += length;
- offset_val += stride;
- bytes -= length;
- if (bytes < length)
- length = bytes;
- osd_debug("%s: Total Bytes Left to read: %llu", __func__,
- llu(bytes));
- }
-
- ret = close(fd);
- if (ret != 0)
- goto out_hw_err;
-
- *used_outlen = readlen;
-
- /* valid, but return a sense code */
- if ((size_t) readlen < len)
- ret = sense_build_sdd_csi(sense, OSD_SSK_RECOVERED_ERROR,
- OSD_ASC_READ_PAST_END_OF_USER_OBJECT,
- pid, oid, readlen);
-
- fill_ccap(&osd->ccap, NULL, USEROBJECT, pid, oid, 0);
- return ret;
-
-out_hw_err:
- ret = sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-
-out_cdb_err:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-
-
-}
-
-
-int osd_read(struct osd_device *osd, uint64_t pid, uint64_t oid, uint64_t len,
- uint64_t offset, const uint8_t *indata, uint8_t *outdata,
- uint64_t *used_outlen, uint32_t cdb_cont_len, uint8_t *sense, uint8_t ddt)
-{
- /*figure out what kind of write it is based on ddt and call appropriate
- write function*/
-
- switch(ddt) {
- case DDT_CONTIG: {
- return contig_read(osd, pid, oid, len, offset, outdata,
- used_outlen, sense);
- }
- case DDT_SGL: {
- return sgl_read(osd, pid, oid, len, offset, indata,
- outdata, used_outlen, sense);
- }
- case DDT_VEC: {
- return vec_read(osd, pid, oid, len, offset, indata,
- outdata, used_outlen, sense);
- }
- default: {
- return sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- }
- }
-
-}
-
-static inline int set_dscptr(uint16_t dscptr_type, uint32_t data_len, uint64_t byte_offset,
- uint8_t *offset)
-{
- set_htons(offset+2, dscptr_type);
- set_htonl(offset+4, data_len);
- set_htonll(offset+8, byte_offset);
- return 0;
-}
-
-/* This implementation assumes map_type = WRITTEN_DATA */
-/* Returns a map of the data and attributes in the specified user object */
-int osd_read_map(struct osd_device *osd, uint64_t pid, uint64_t oid, uint64_t alloc_len,
- uint64_t offset, uint16_t map_type, uint8_t *outdata, uint64_t *used_outlen,
- uint32_t cdb_cont_len, uint8_t *sense)
-{
- int ret, fd = -1, i;
- uint64_t dscptr_size = 0x00000004; /*set to 4 for testing purpose, change to 0xffffffff */
- char path[MAXNAMELEN];
- uint8_t *pt;
- uint64_t byte_offset, file_size, add_len = 0;
- uint32_t data_len;
- struct stat sb;
-
- osd_debug("%s: pid %llu oid %llu alloc_len %llu offset %llu", __func__,
- llu(pid), llu(oid), llu(alloc_len), llu(offset));
-
- assert(osd && osd->root && osd->dbc && sense && outdata);
-
- if (alloc_len == 0)
- return 0; /* No data shall be transfered */
-
- else if (alloc_len < 24) /* alloc_len needs to be at least 24 for one descriptor */
- goto out_cdb_err;
-
- memset(outdata, 0, alloc_len);
-
- if (!(pid >= USEROBJECT_PID_LB && oid >= USEROBJECT_OID_LB))
- goto out_cdb_err;
-
- get_dfile_name(path, osd->root, pid, oid);
- fd = open(path, O_RDONLY|O_LARGEFILE); /* fails on non-existent obj */
- if (fd < 0)
- goto out_cdb_err;
-
- ret = stat(path, &sb);
-
- if (ret != 0) {
- close(fd);
- return OSD_ERROR;
- }
-
- if (offset > (uint64_t)sb.st_size)
- goto out_cdb_err;
-
- file_size = (uint64_t)sb.st_size - offset; /* Adjust to the offset */
-
- if (map_type == WRITTEN_DATA) {
-
- pt = outdata + 8; /* Skip addtional length for now */
- byte_offset = 8;
-
- while(file_size > 0) {
- if(file_size <= dscptr_size) { /* one descriptor */
- data_len = file_size;
- file_size = 0;
-
- }else {
- data_len = dscptr_size;
- file_size -= dscptr_size;
- }
-
- set_dscptr(map_type, data_len, byte_offset, pt);
- byte_offset += 16;
- pt += 16;
- add_len++;
- }
-
- *used_outlen = 8 + (add_len * 16); /* Report total buffer len used */
-
- if((add_len * 16) > 0xffffffff )
- set_htonll(outdata, 0xffffffff);
- else
- set_htonll(outdata, (add_len * 16)); /* Set additional length */
-
- }else if (map_type == DATA_HOLE) {
- osd_debug(__func__);
- return osd_error_unimplemented(0, sense);
- }else if (map_type == DAMAGED_DATA) {
- osd_debug(__func__);
- return osd_error_unimplemented(0, sense);
- }else if (map_type == DAMAGED_ATTRIBUTES) {
- osd_debug(__func__);
- return osd_error_unimplemented(0, sense);
- }else { /* map_type == ALL_DATA */
- osd_debug(__func__);
- return osd_error_unimplemented(0, sense);
- }
-
- ret = close(fd);
- if (ret)
- goto out_hw_err;
-
- return OSD_OK; /* success */
-
-out_hw_err:
- ret = sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-
-out_cdb_err:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-
-}
-
-int osd_remove(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint32_t cdb_cont_len, uint8_t *sense)
-{
- int ret = 0;
- char path[MAXNAMELEN];
-
- osd_debug("%s: removing userobject pid %llu oid %llu", __func__,
- llu(pid), llu(oid));
-
- assert(osd && osd->root && osd->dbc && sense);
-
- if (!(pid >= USEROBJECT_PID_LB && oid >= USEROBJECT_OID_LB))
- goto out_cdb_err;
-
- /* XXX: invalidate ic_cache immediately */
- osd->ic.cur_pid = osd->ic.next_id = 0;
-
- /* if userobject is absent unlink will fail */
- get_dfile_name(path, osd->root, pid, oid);
- ret = unlink(path);
- if (ret != 0)
- goto out_hw_err;
-
- /* delete all attr of the object */
- ret = attr_delete_all(osd->dbc, pid, oid);
- if (ret != 0)
- goto out_hw_err;
-
- /* delete all collection memberships */
- ret = coll_delete_oid(osd->dbc, pid, oid);
- if (ret != 0)
- goto out_hw_err;
-
- ret = obj_delete(osd->dbc, pid, oid);
- if (ret != 0)
- goto out_hw_err;
-
- fill_ccap(&osd->ccap, NULL, USEROBJECT, pid, oid, 0);
- return OSD_OK; /* success */
-
-out_cdb_err:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-
-out_hw_err:
- ret = sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-}
-
-
-int osd_remove_collection(struct osd_device *osd, uint64_t pid, uint64_t cid,
- uint8_t fcr, uint32_t cdb_cont_len, uint8_t *sense)
-{
- int ret = 0;
- int isempty = 0;
- int present = 0;
-
- osd_debug("%s: pid %llu cid %llu fcr %u", __func__, llu(pid),
- llu(cid), fcr);
-
- assert(osd && osd->root && osd->dbc && sense);
-
- if (pid == 0 || pid < COLLECTION_PID_LB)
- goto out_cdb_err;
-
- if (cid < COLLECTION_OID_LB)
- goto out_cdb_err;
-
- /* make sure collection object is present */
- ret = obj_ispresent(osd->dbc, pid, cid, &present);
- if (ret != OSD_OK || !present)
- goto out_cdb_err;
-
- /* XXX: invalidate ic_cache */
- osd->ic.cur_pid = osd->ic.next_id = 0;
-
- ret = coll_isempty_cid(osd->dbc, pid, cid, &isempty);
- if (ret != OSD_OK)
- goto out_hw_err;
-
- if (!isempty) {
- if (fcr == 0)
- goto out_not_empty;
-
- ret = coll_delete_cid(osd->dbc, pid, cid);
- if (ret != 0)
- goto out_hw_err;
- }
-
- ret = attr_delete_all(osd->dbc, pid, cid);
- if (ret != 0)
- goto out_hw_err;
-
- ret = obj_delete(osd->dbc, pid, cid);
- if (ret != 0)
- goto out_hw_err;
-
- fill_ccap(&osd->ccap, NULL, COLLECTION, pid, cid, 0);
- return OSD_OK; /* success */
-
-out_cdb_err:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, cid);
- return ret;
-
-out_not_empty:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_PART_OR_COLL_CONTAINS_USER_OBJECTS,
- pid, cid);
- return ret;
-
-out_hw_err:
- ret = sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, cid);
- return ret;
-}
-
-
-int osd_remove_member_objects(struct osd_device *osd, uint64_t pid,
- uint64_t cid, uint32_t cdb_cont_len, uint8_t *sense)
-{
- osd_debug(__func__);
- return osd_error_unimplemented(0, sense);
-}
-
-/*
- * returns:
- * ==0: OSD_OK on success
- * >0: error, sense set approprirately
- */
-int osd_remove_partition(struct osd_device *osd, uint64_t pid, uint32_t cdb_cont_len,
- uint8_t *sense)
-{
- int ret = 0;
- int isempty = 0;
-
- osd_debug("%s: pid %llu", __func__, llu(pid));
-
- assert(osd && osd->root && osd->dbc && sense);
-
- if (pid == 0)
- goto out_cdb_err;
-
- ret = obj_isempty_pid(osd->dbc, pid, &isempty);
- if (ret != OSD_OK || !isempty)
- goto out_not_empty;
-
- /* XXX: invalidate ic_cache */
- osd->ic.cur_pid = osd->ic.next_id = 0;
-
- ret = attr_delete_all(osd->dbc, pid, PARTITION_OID);
- if (ret != 0)
- goto out_err;
-
- ret = obj_delete(osd->dbc, pid, PARTITION_OID);
- if (ret != 0)
- goto out_err;
-
- fill_ccap(&osd->ccap, NULL, PARTITION, pid, PARTITION_OID, 0);
- return OSD_OK; /* success */
-
-out_cdb_err:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid,
- PARTITION_OID);
- return ret;
-
-out_err:
- ret = sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid,
- PARTITION_OID);
- return ret;
-
-out_not_empty:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_PART_OR_COLL_CONTAINS_USER_OBJECTS,
- pid, PARTITION_OID);
- return ret;
-}
-
-
-/*
- * Settable page numbers in any given U,P,C,R range are further restricted
- * by osd2r00 p 23: >= 0x10000 && < 0x20000000.
- *
- * - XXX: attr directory setting
- */
-int osd_set_attributes(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint32_t page, uint32_t number, const void *val,
- uint16_t len, uint8_t isembedded, uint32_t cdb_cont_len,
- uint8_t *sense)
-{
- int ret = 0;
- int present = 0;
- uint8_t obj_type = 0;
-
-#ifdef PVFS_OSD_INTEGRATED
- if (page == USER_INFO_PG && number == UIAP_LOGICAL_LEN) {
- ret = set_uiap(osd, pid, oid, number, val, len);
- if (ret == OSD_OK)
- goto out_success;
- else
- goto out_cdb_err;
- }
-#endif
-
-/* osd_debug("%s: set attr on pid %llu oid %llu", __func__, llu(pid),
- llu(oid)); */
-
- assert(osd && osd->root && osd->dbc && sense);
-
- ret = obj_ispresent(osd->dbc, pid, oid, &present);
- if (ret != OSD_OK || !present) /* object not present! */
- goto out_cdb_err;
-
- obj_type = get_obj_type(osd, pid, oid);
- if (obj_type == ILLEGAL_OBJ)
- goto out_cdb_err;
-
- if (issettable_page(obj_type, page) == FALSE)
- goto out_param_list;
-
- if (number == ATTRNUM_UNMODIFIABLE)
- goto out_param_list;
-
- if ((val == NULL && len != 0) || (val != NULL && len == 0))
- goto out_cdb_err;
-
- /* information page, make sure null terminated. osd2r00 7.1.2.2 */
- if (number == ATTRNUM_INFO) {
- int i;
- const uint8_t *s = val;
-
- if (len > ATTR_PAGE_ID_LEN)
- goto out_cdb_err;
- for (i=0; i<len; i++) {
- if (s[i] == 0)
- break;
- }
- if (i == len)
- goto out_cdb_err;
- }
-
- if (len > ATTR_LEN_UB)
- goto out_param_list;
-
- switch (page) {
- case USER_INFO_PG:
- ret = set_uiap(osd, pid, oid, number, val, len);
- if (ret == OSD_OK)
- goto out_success;
- else
- goto out_cdb_err;
- case ROOT_INFO_PG:
- ret = set_riap(osd, pid, oid, number, val, len);
- if (ret == OSD_OK)
- goto out_success;
- else
- goto out_cdb_err;
- case USER_COLL_PG:
- ret = set_cap(osd, pid, oid, number, val, len);
- if (ret == OSD_OK)
- goto out_success;
- else
- goto out_cdb_err;
- default:
- break;
- }
-
-
- /*
- * XXX:SD len == 0 is equivalent to deleting the attr. osd2r00 4.7.4
- * second last paragraph. only attributes with non zero length are
- * retrieveable
- */
- if (len == 0) {
- ret = attr_delete_attr(osd->dbc, pid, oid, page, number);
- if (ret == 0)
- goto out_success;
- else
- goto out_cdb_err;
- }
-
- ret = attr_set_attr(osd->dbc, pid, oid, page, number, val, len);
- if (ret != 0)
- goto out_hw_err;
-
-out_success:
- if (!isembedded)
- fill_ccap(&osd->ccap, NULL, obj_type, pid, oid, 0);
- return OSD_OK; /* success */
-
-out_param_list:
- return sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_PARAM_LIST,
- pid, oid);
-
-out_cdb_err:
- return sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
-out_hw_err:
- return sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
-}
-
-
-int osd_set_key(struct osd_device *osd, int key_to_set, uint64_t pid,
- uint64_t key, uint8_t seed[20], uint8_t *sense)
-{
- osd_debug(__func__);
- return osd_error_unimplemented(0, sense);
-}
-
-
-int osd_set_master_key(struct osd_device *osd, int dh_step, uint64_t key,
- uint32_t param_len, uint32_t alloc_len,
- uint8_t *outdata, uint64_t *outlen, uint32_t cdb_cont_len,
- uint8_t *sense)
-{
- osd_debug(__func__);
- return osd_error_unimplemented(0, sense);
-}
-
-
-int osd_set_member_attributes(struct osd_device *osd, uint64_t pid,
- uint64_t cid, struct setattr_list *set_attr,
- uint32_t cdb_cont_len, uint8_t *sense)
-{
- int ret = 0;
- size_t i = 0;
- int present = 0;
- uint8_t obj_type = 0;
- uint8_t within_txn = 0;
-
-
- osd_debug("%s: set attrs on pid %llu cid %llu", __func__, llu(pid),
- llu(cid));
-
- assert(osd && osd->root && osd->dbc && set_attr && sense);
-
- /* encapsulate all db ops in txn */
- ret = db_begin_txn(osd->dbc);
- assert(ret == 0);
- within_txn = 1;
-
- ret = obj_ispresent(osd->dbc, pid, cid, &present);
- if (ret != OSD_OK || !present) /* collection absent! */
- goto out_cdb_err;
-
- obj_type = get_obj_type(osd, pid, cid);
- if (obj_type != COLLECTION)
- goto out_cdb_err;
-
- /*
- * XXX: presently we only allow attrs to modify useobjects, not the
- * collection
- */
- for (i = 0; i < set_attr->sz; i++) {
- if (!issettable_page(USEROBJECT, set_attr->le[i].page))
- goto out_param_list;
- }
-
- ret = mtq_set_member_attrs(osd->dbc, pid, cid, set_attr);
- if (ret != 0)
- goto out_hw_err;
-
- ret = db_end_txn(osd->dbc);
- assert(ret == 0);
-
- fill_ccap(&osd->ccap, NULL, COLLECTION, pid, cid, 0);
- return OSD_OK; /* success */
-
-out_hw_err:
- if (within_txn) {
- ret = db_end_txn(osd->dbc);
- assert(ret == 0);
- }
- return sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, cid);
-
-out_param_list:
- if (within_txn) {
- ret = db_end_txn(osd->dbc);
- assert(ret == 0);
- }
- return sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_PARAM_LIST, pid, cid);
-
-out_cdb_err:
- if (within_txn) {
- ret = db_end_txn(osd->dbc);
- assert(ret == 0);
- }
- return sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, cid);
-}
-
-
-/*
- * TODO: We did not implement length as an attribute in attr table, hence
- * relying on underlying ext3 fs to get length of the object. Also since we
- * are not implementing quotas, we ignore maximum length attribute of an
- * object and the partition which stores the object.
- *
- * @offset: offset from byte zero of the object where data will be written
- * @len: length of data to be written
- * @dinbuf: pointer to start of the Data-in-buffer: source of data
- */
-
-static int contig_write(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint64_t len, uint64_t offset, const uint8_t *dinbuf,
- uint8_t *sense)
-{
- int ret;
- int fd;
- char path[MAXNAMELEN];
-
- osd_debug("%s: pid %llu oid %llu len %llu offset %llu data %p",
- __func__, llu(pid), llu(oid), llu(len), llu(offset), dinbuf);
-
- assert(osd && osd->root && osd->dbc && dinbuf && sense);
-
- if (!(pid >= USEROBJECT_PID_LB && oid >= USEROBJECT_OID_LB))
- goto out_cdb_err;
-
- get_dfile_name(path, osd->root, pid, oid);
- fd = open(path, O_RDWR|O_LARGEFILE); /* fails on non-existent obj */
- if (fd < 0)
- goto out_cdb_err;
-
- ret = pwrite(fd, dinbuf, len, offset);
- if (ret < 0 || (uint64_t)ret != len)
- goto out_hw_err;
- ret = close(fd);
- if (ret != 0)
- goto out_hw_err;
-
- fill_ccap(&osd->ccap, NULL, USEROBJECT, pid, oid, 0);
- return OSD_OK; /* success */
-
-out_hw_err:
- ret = sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-
-out_cdb_err:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-
-
-}
-
-static int sgl_write(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint64_t len, uint64_t offset, const uint8_t *dinbuf,
- uint8_t *sense)
-{
- int ret;
- int fd;
- char path[MAXNAMELEN];
- uint64_t pairs, data_offset, offset_val, hdr_offset, length;
- unsigned int i;
-
- osd_debug("%s: pid %llu oid %llu len %llu offset %llu data %p",
- __func__, llu(pid), llu(oid), llu(len), llu(offset), dinbuf);
-
- assert(osd && osd->root && osd->dbc && dinbuf && sense);
-
- pairs = get_ntohll(dinbuf);
- data_offset = (pairs * sizeof(uint64_t) * 2) + sizeof(uint64_t);
- assert(pairs != 0);
-
- osd_debug("%s: offset,len pairs %llu", __func__, llu(pairs));
- osd_debug("%s: data offset %llu", __func__, llu(data_offset));
-
-
- if (!(pid >= USEROBJECT_PID_LB && oid >= USEROBJECT_OID_LB))
- goto out_cdb_err;
-
- get_dfile_name(path, osd->root, pid, oid);
- fd = open(path, O_RDWR|O_LARGEFILE); /* fails on non-existent obj */
- if (fd < 0)
- goto out_cdb_err;
-
-
- hdr_offset = sizeof(uint64_t); /* skip count of offset/len pairs */
-
- for (i=0; i<pairs; i++) {
- offset_val = get_ntohll(dinbuf + hdr_offset); /* offset into dest */
- hdr_offset += sizeof(uint64_t);
-
- length = get_ntohll(dinbuf + hdr_offset); /* length */
- hdr_offset += sizeof(uint64_t);
-
- osd_debug("%s: Offset: %llu Length: %llu", __func__, llu(offset_val + offset),
- llu(length));
-
- osd_debug("%s: Position in data buffer: %llu", __func__, llu(data_offset));
-
- osd_debug("%s: ------------------------------", __func__);
- ret = pwrite(fd, dinbuf+data_offset, length, offset_val+offset);
- data_offset += length;
- osd_debug("%s: return value is %d", __func__, ret);
- if (ret < 0 || (uint64_t)ret != length)
- goto out_hw_err;
- }
-
- ret = close(fd);
- if (ret != 0)
- goto out_hw_err;
-
- fill_ccap(&osd->ccap, NULL, USEROBJECT, pid, oid, 0);
- return OSD_OK; /* success */
-
-out_hw_err:
- ret = sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-
-out_cdb_err:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-
-
-}
-
-static int vec_write(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint64_t len, uint64_t offset, const uint8_t *dinbuf,
- uint8_t *sense)
-{
- int ret;
- int fd;
- char path[MAXNAMELEN];
- uint64_t data_offset, offset_val, hdr_offset, length, stride, bytes;
- unsigned int i;
-
- osd_debug("%s: pid %llu oid %llu len %llu offset %llu data %p",
- __func__, llu(pid), llu(oid), llu(len), llu(offset), dinbuf);
-
- assert(osd && osd->root && osd->dbc && dinbuf && sense);
-
- stride = get_ntohll(dinbuf);
- hdr_offset = sizeof(uint64_t);
- length = get_ntohll(dinbuf + hdr_offset);
-
- osd_debug("%s: stride is %llu and len is %llu", __func__, llu(stride), llu(length));
-
- if (!(pid >= USEROBJECT_PID_LB && oid >= USEROBJECT_OID_LB))
- goto out_cdb_err;
-
- get_dfile_name(path, osd->root, pid, oid);
- fd = open(path, O_RDWR|O_LARGEFILE); /* fails on non-existent obj */
- if (fd < 0)
- goto out_cdb_err;
-
- data_offset = hdr_offset + sizeof(uint64_t);
-
- bytes = len - (2*sizeof(uint64_t));
-
- osd_debug("%s: bytes to write is %llu", __func__, llu(bytes));
- offset_val = 0;
- while (bytes > 0) {
- osd_debug("%s: Position in data buffer: %llu", __func__,
- llu(data_offset));
- osd_debug("%s: Offset: %llu", __func__, llu(offset_val + offset));
- osd_debug("%s: ------------------------------", __func__);
- ret = pwrite(fd, dinbuf+data_offset, length, offset_val+offset);
- if (ret < 0 || (uint64_t)ret != length)
- goto out_hw_err;
- data_offset += length;
- offset_val += stride;
- bytes -= length;
- if (bytes < length)
- length = bytes;
- osd_debug("%s: Total Bytes Left to write: %llu", __func__,
- llu(bytes));
- }
- ret = close(fd);
- if (ret != 0)
- goto out_hw_err;
-
- fill_ccap(&osd->ccap, NULL, USEROBJECT, pid, oid, 0);
- return OSD_OK; /* success */
-
-out_hw_err:
- ret = sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-
-out_cdb_err:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-
-
-}
-
-
-int osd_write(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint64_t len, uint64_t offset, const uint8_t *dinbuf,
- uint32_t cdb_cont_len, uint8_t *sense, uint8_t ddt)
-{
-
- /*figure out what kind of write it is based on ddt and call appropriate
- write function*/
-
- switch(ddt) {
- case DDT_CONTIG: {
- return contig_write(osd, pid, oid, len, offset, dinbuf,
- sense);
- }
- case DDT_SGL: {
- return sgl_write(osd, pid, oid, len, offset, dinbuf,
- sense);
- }
- case DDT_VEC: {
- return vec_write(osd, pid, oid, len, offset, dinbuf,
- sense);
- }
- default: {
- return sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- }
- }
-
-
-}
-
-/*
- * OSD CAS: Available only for USEROBJECTs.
- * TODO: No explicit software locks used. If multithreaded OSD emulator is
- * used behavior is undefined.
- *
- */
-int osd_cas(struct osd_device *osd, uint64_t pid, uint64_t oid, uint64_t cmp,
- uint64_t swap, uint8_t *doutbuf, uint64_t *used_outlen,
- uint8_t *sense)
-{
- int ret;
- int present;
- uint8_t obj_type;
- uint64_t val;
- uint32_t usedlen;
-
- assert(osd && osd->dbc && doutbuf && sense);
-
- ret = obj_ispresent(osd->dbc, pid, oid, &present);
- if (ret != OSD_OK || !present) /* object not present! */
- goto out_cdb_err;
-
- obj_type = get_obj_type(osd, pid, oid);
- if (obj_type != USEROBJECT)
- goto out_cdb_err;
-
- ret = attr_get_val(osd->dbc, pid, oid, USER_ATOMICS_PG, UAP_CAS,
- sizeof(val), &val, &usedlen);
- if (ret != -ENOENT && ret != OSD_OK)
- goto out_hw_err;
- /*
- * XXX:SD we do a lazy initialization of atomics page. Hence attr
- * might not be defined before. In that case we define it and proceed
- * with rest of the operation
- */
- if (ret == -ENOENT) {
- val = 0;
- ret = attr_set_attr(osd->dbc, pid, oid, USER_ATOMICS_PG,
- UAP_CAS, &val, sizeof(val));
- if (ret != OSD_OK)
- goto out_hw_err;
- }
-
- osd_debug("pid %llu oid %llu cmp %llu swap %llu val %llu", llu(pid),
- llu(oid), llu(cmp), llu(swap), llu(val));
-
- if (val == cmp) {
- ret = attr_set_attr(osd->dbc, pid, oid, USER_ATOMICS_PG,
- UAP_CAS, &swap, sizeof(swap));
- if (ret != OSD_OK)
- goto out_hw_err;
- }
-
- set_htonll(doutbuf, val);
- *used_outlen = sizeof(val);
- return OSD_OK;
-
-out_hw_err:
- ret = sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-
-out_cdb_err:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-}
-
-
-/*
- * OSD FA: Available only for USEROBJECTs.
- * TODO: No explicit software locks used. If multithreaded OSD emulator is
- * used, behavior is undefined.
- *
- */
-int osd_fa(struct osd_device *osd, uint64_t pid, uint64_t oid, int64_t add,
- uint8_t *doutbuf, uint64_t *used_outlen, uint8_t *sense)
-{
- int ret;
- int present;
- uint8_t obj_type;
- uint64_t val;
- uint32_t usedlen;
-
- assert(osd && osd->dbc && doutbuf && sense);
-
- ret = obj_ispresent(osd->dbc, pid, oid, &present);
- if (ret != OSD_OK || !present) /* object not present! */
- goto out_cdb_err;
-
- obj_type = get_obj_type(osd, pid, oid);
- if (obj_type != USEROBJECT)
- goto out_cdb_err;
-
- ret = attr_get_val(osd->dbc, pid, oid, USER_ATOMICS_PG, UAP_FA,
- sizeof(val), &val, &usedlen);
- if (ret != -ENOENT && ret != OSD_OK)
- goto out_hw_err;
- /*
- * XXX:SD we do a lazy initialization of atomics page. Hence attr
- * might not be defined before. In that case we define it and proceed
- * with rest of the operation
- */
- if (ret == -ENOENT) {
- val = 0;
- ret = attr_set_attr(osd->dbc, pid, oid, USER_ATOMICS_PG,
- UAP_FA, &val, sizeof(val));
- if (ret != OSD_OK)
- goto out_hw_err;
- }
-
- add += val;
- ret = attr_set_attr(osd->dbc, pid, oid, USER_ATOMICS_PG, UAP_FA,
- &add, sizeof(add));
- if (ret != OSD_OK)
- goto out_hw_err;
-
- set_htonll(doutbuf, val);
- *used_outlen = sizeof(val);
- return OSD_OK;
-
-out_hw_err:
- ret = sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-
-out_cdb_err:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-}
-
-/*
- * OSD_GEN_CAS: generalized cas
- *
- * max(cmp_len and swap_len) == ATTR_LEN_UB == 0xFFFE
- *
- */
-int osd_gen_cas(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint32_t page, uint32_t number, const uint8_t *cmp,
- uint16_t cmp_len, const uint8_t *swap, uint16_t swap_len,
- uint8_t **orig_val, uint16_t *orig_len, uint8_t *sense)
-{
- int ret;
- int present;
- uint8_t obj_type;
- uint8_t *val;
- uint32_t valen;
-
- assert(osd && osd->dbc && orig_val && orig_len && sense);
-
- val = malloc(ATTR_LEN_UB);
- if (!val)
- goto out_hw_err;
-
- ret = obj_ispresent(osd->dbc, pid, oid, &present);
- if (ret != OSD_OK || !present) /* object not present */
- goto out_cdb_err;
-
- obj_type = get_obj_type(osd, pid, oid);
- if (obj_type != USEROBJECT)
- goto out_cdb_err;
-
- ret = attr_get_val(osd->dbc, pid, oid, page, number, ATTR_LEN_UB,
- val, &valen);
- if (ret != OSD_OK && ret != -ENOENT)
- goto out_hw_err;
-
- /*
- * swap_len determines if the new entry is being inserted or original
- * entry is to be removed.
- */
- if ((swap_len > 0 && swap != NULL) &&
- (ret == -ENOENT ||
- (valen == cmp_len && memcmp(cmp, val, valen) == 0))) {
- ret = attr_set_attr(osd->dbc, pid, oid, page, number, swap,
- swap_len);
- if (ret != OSD_OK)
- goto out_hw_err;
- } else if ((swap_len == 0 && swap == NULL) &&
- (valen == cmp_len && memcmp(cmp, val, valen) == 0)) {
- ret = attr_delete_attr(osd->dbc, pid, oid, page, number);
- if (ret != OSD_OK)
- goto out_hw_err;
- }
-
- /*
- * regardless of successful swap, we return original value, if
- * present, else undefined value
- */
- if (ret == -ENOENT) {
- *orig_val = NULL;
- *orig_len = 0;
- } else {
- *orig_val = val;
- *orig_len = valen;
- }
- return OSD_OK;
-
-out_hw_err:
- ret = sense_build_sdd(sense, OSD_SSK_HARDWARE_ERROR,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-
-out_cdb_err:
- ret = sense_build_sdd(sense, OSD_SSK_ILLEGAL_REQUEST,
- OSD_ASC_INVALID_FIELD_IN_CDB, pid, oid);
- return ret;
-}
diff --git a/oldcode/src/gsl/resources/storage/osd-target/osd.h b/oldcode/src/gsl/resources/storage/osd-target/osd.h
deleted file mode 100644
index c6fb096..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/osd.h
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * OSD commands.
- *
- * Copyright (C) 2007 OSD Team <pvfs-osd(a)osc.edu>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#ifndef __OSD_H
-#define __OSD_H
-
-#include "osd-types.h"
-#include "cdb.h"
-
-/* to make sense data for some higher error */
-int osd_error_unimplemented(uint16_t action, uint8_t *sense);
-int osd_error_bad_cdb(uint8_t *sense);
-
-/* db ops */
-int osd_begin_txn(struct osd_device *osd);
-int osd_end_txn(struct osd_device *osd);
-
-/*
- * Commands.
- *
- * These functions return 0 if they complete successfully. The return
- * >0 to indicate that there are valid sense data bytes that should be
- * returned as an error. They never return <0.
- *
- * sense: buf, 252 bytes long, initialized to NULL to be filled in with
- * sense response data, if any
- */
-int osd_append(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint64_t len, const uint8_t *data,
- uint32_t cdb_cont_len, uint8_t *sense, uint8_t ddt);
-int osd_clear(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint64_t len, uint64_t offset ,uint32_t cdb_cont_len, uint8_t *sense);
-int osd_copy_user_objects(struct osd_device *osd, uint64_t pid, uint64_t requested_oid,
- uint64_t source_pid, uint64_t source_oid, int cpy_atr, uint8_t dupl_method,
- uint32_t cdb_cont_len, uint8_t *sense);
-int osd_create(struct osd_device *osd, uint64_t pid, uint64_t requested_oid,
- uint16_t num, uint32_t cdb_cont_len, uint8_t *sense);
-int osd_create_and_write(struct osd_device *osd, uint64_t pid,
- uint64_t requested_oid, uint64_t len, uint64_t offset,
- const uint8_t *data, uint32_t cdb_cont_len, uint8_t *sense, uint8_t ddt);
-int osd_create_collection(struct osd_device *osd, uint64_t pid,
- uint64_t requested_cid, uint32_t cdb_cont_len, uint8_t *sense);
-int osd_create_partition(struct osd_device *osd, uint64_t requested_pid, uint32_t cdb_cont_len,
- uint8_t *sense);
-int osd_create_user_tracking_collection(struct osd_device *osd, uint64_t pid,
- uint64_t requested_cid, uint64_t source_cid,
- uint32_t cdb_cont_len, uint8_t *sense);
-int osd_flush(struct osd_device *osd, uint64_t pid, uint64_t oid, uint64_t len,
- uint64_t offset, int flush_scope, uint32_t cdb_cont_len, uint8_t *sense);
-int osd_flush_collection(struct osd_device *osd, uint64_t pid, uint64_t cid,
- int flush_scope, uint32_t cdb_cont_len, uint8_t *sense);
-int osd_flush_osd(struct osd_device *osd, int flush_scope, uint32_t cdb_cont_len, uint8_t *sense);
-int osd_flush_partition(struct osd_device *osd, uint64_t pid, int flush_scope, uint32_t cdb_cont_len,
- uint8_t *sense);
-int osd_format_osd(struct osd_device *osd, uint64_t capacity, uint32_t cdb_cont_len, uint8_t *sense);
-int osd_getattr_page(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint32_t page, void *outbuf, uint64_t outlen,
- uint8_t isembedded, uint32_t *used_outlen,
- uint32_t cdb_cont_len, uint8_t *sense);
-int osd_getattr_list(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint32_t page, uint32_t number, uint8_t *outbuf,
- uint32_t outlen, uint8_t isembedded, uint8_t listfmt,
- uint32_t *used_outlen, uint32_t cdb_cont_len, uint8_t *sense);
-int osd_get_member_attributes(struct osd_device *osd, uint64_t pid,
- uint64_t cid, uint32_t cdb_cont_len, uint8_t *sense);
-int osd_list(struct osd_device *osd, uint8_t list_attr, uint64_t pid,
- uint64_t alloc_len, uint64_t initial_oid,
- struct getattr_list *get_attr, uint32_t list_id,
- uint8_t *outdata, uint64_t *used_outlen, uint8_t *sense);
-int osd_list_collection(struct osd_device *osd, uint8_t list_attr,
- uint64_t pid, uint64_t cid, uint64_t alloc_len,
- uint64_t initial_oid, struct getattr_list *get_attr,
- uint32_t list_id, uint8_t *outdata,
- uint64_t *used_outlen, uint8_t *sense);
-int osd_punch(struct osd_device *osd, uint64_t pid, uint64_t oid, uint64_t len,
- uint64_t offset, uint32_t cdb_cont_len, uint8_t *sense);
-int osd_query(struct osd_device *osd, uint64_t pid, uint64_t cid,
- uint32_t query_list_len, uint64_t alloc_len, const void *indata,
- void *outdata, uint64_t *used_outlen, uint32_t cdb_cont_len, uint8_t *sense);
-int osd_read(struct osd_device *osd, uint64_t pid, uint64_t uid, uint64_t len,
- uint64_t offset, const uint8_t *indata, uint8_t *outdata, uint64_t *outlen,
- uint32_t cdb_cont_len, uint8_t *sense, uint8_t ddt);
-int osd_read_map(struct osd_device *osd, uint64_t pid, uint64_t oid, uint64_t alloc_len,
- uint64_t offset, uint16_t map_type, uint8_t *outdata, uint64_t *used_outlen,
- uint32_t cdb_cont_len, uint8_t *sense);
-int osd_remove(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint32_t cdb_cont_len, uint8_t *sense);
-int osd_remove_collection(struct osd_device *osd, uint64_t pid, uint64_t cid,
- uint8_t fcr, uint32_t cdb_cont_len, uint8_t *sense);
-int osd_remove_member_objects(struct osd_device *osd, uint64_t pid,
- uint64_t cid, uint32_t cdb_cont_len, uint8_t *sense);
-int osd_remove_partition(struct osd_device *osd, uint64_t pid, uint32_t cdb_cont_len, uint8_t *sense);
-int osd_set_attributes(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint32_t page, uint32_t number, const void *val,
- uint16_t len, uint8_t cmd_type, uint32_t cdb_cont_len, uint8_t *sense);
-int osd_set_key(struct osd_device *osd, int key_to_set, uint64_t pid,
- uint64_t key, uint8_t seed[20], uint8_t *sense);
-int osd_set_master_key(struct osd_device *osd, int dh_step, uint64_t key,
- uint32_t param_len, uint32_t alloc_len,
- uint8_t *outdata, uint64_t *outlen, uint32_t cdb_cont_len, uint8_t *sense);
-int osd_set_member_attributes(struct osd_device *osd, uint64_t pid,
- uint64_t cid, struct setattr_list *set_attr,
- uint32_t cdb_cont_len, uint8_t *sense);
-
-int osd_write(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint64_t len, uint64_t offset, const uint8_t *data,
- uint32_t cdb_cont_len, uint8_t *sense, uint8_t ddt);
-
-int osd_cas(struct osd_device *osd, uint64_t pid, uint64_t oid, uint64_t cmp,
- uint64_t swap, uint8_t *doutbuf, uint64_t *used_outlen,
- uint8_t *sense);
-
-int osd_fa(struct osd_device *osd, uint64_t pid, uint64_t oid, int64_t add,
- uint8_t *doutbuf, uint64_t *used_outlen, uint8_t *sense);
-
-int osd_gen_cas(struct osd_device *osd, uint64_t pid, uint64_t oid,
- uint32_t page, uint32_t number, const uint8_t *cmp,
- uint16_t cmp_len, const uint8_t *swap, uint16_t swap_len,
- uint8_t **orig_val, uint16_t *orig_len, uint8_t *sense);
-
-/* helper functions */
-static inline uint64_t osd_get_created_oid(struct osd_device *osd,
- uint32_t numoid)
-{
- uint64_t oid = osd->ccap.oid;
- if (numoid > 0)
- oid -= (numoid - 1);
- return oid;
-}
-
-#endif /* __OSD_H */
diff --git a/oldcode/src/gsl/resources/storage/osd-target/osd.schema b/oldcode/src/gsl/resources/storage/osd-target/osd.schema
deleted file mode 100644
index 230413c..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/osd.schema
+++ /dev/null
@@ -1,73 +0,0 @@
---
--- schema for OSD using sqlite3
---
--- Copyright (C) 2007 OSD Team <pvfs-osd(a)osc.edu>
---
--- This program is free software: you can redistribute it and/or modify
--- it under the terms of the GNU General Public License as published by
--- the Free Software Foundation, version 2 of the License.
---
--- This program is distributed in the hope that it will be useful,
--- but WITHOUT ANY WARRANTY; without even the implied warranty of
--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
--- GNU General Public License for more details.
---
--- You should have received a copy of the GNU General Public License
--- along with this program. If not, see <http://www.gnu.org/licenses/>.
---
-
--- 4.6.2: The combination of partition ID and user object ID uniquely
--- identifies the root obect, each partition, each collection, and each
--- user object. Thus we store everything in this one table.
-CREATE TABLE obj (
- pid INTEGER NOT NULL,
- oid INTEGER NOT NULL,
- type INTEGER NOT NULL,
- PRIMARY KEY (pid, oid)
-);
-
-CREATE TABLE attr (
- pid INTEGER NOT NULL,
- oid INTEGER NOT NULL,
- page INTEGER NOT NULL,
- number INTEGER NOT NULL,
- value BLOB,
- PRIMARY KEY (pid, oid, page, number)
-);
-
--- object_collection table is used as an intersection table to hold
--- many-to-many mappings between userobjects and collections.
--- The conflict condition handles the point mentioned in 7.1.2.19
--- osd2r02.pdf:
-
--- If the collection type attribute in the Collection Information attributes
--- page contains 00h, a user object is removed from the membership of a
--- collection by:
--- a) Changing the collection pointer attribute identifying that
--- collection to have a length of zero; or
--- b) Setting the collection pointer attribute identifying that
--- collection to the Collection_Object_ID of a different collection.
-
-
-
-CREATE TABLE coll (
- pid INTEGER NOT NULL,
- cid INTEGER NOT NULL,
- oid INTEGER NOT NULL,
- number INTEGER NOT NULL,
- PRIMARY KEY (pid, cid, oid),
- UNIQUE (pid, oid, number) ON CONFLICT REPLACE
-);
-
--- Add index on most varying fields for performance
--- CREATE INDEX obj_ind ON obj (pid,oid);
--- CREATE INDEX attr_ind ON attr (pid,oid,page,number);
--- CREATE INDEX pgnum_ind ON attr (page,number);
--- CREATE INDEX type_ind ON obj (type);
-
--- index on value helps OSD_QUERY
-CREATE INDEX val_ind ON attr (value);
-
--- this index help get_dir_page query, but might slow down set_attr
--- CREATE INDEX num_ind ON attr (pid,oid,number);
-
diff --git a/oldcode/src/gsl/resources/storage/osd-target/sense.c b/oldcode/src/gsl/resources/storage/osd-target/sense.c
deleted file mode 100644
index d4942a9..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/sense.c
+++ /dev/null
@@ -1,1011 +0,0 @@
-/*
- * ASCII values for a number of symbolic constants, printing functions,
- * etc.
- * Additions for SCSI 2 and Linux 2.2.x by D. Gilbert (990422)
- * Additions for SCSI 3+ (SPC-3 T10/1416-D Rev 07 3 May 2002)
- * by D. Gilbert and aeb (20020609)
- * Additions for SPC-3 T10/1416-D Rev 21 22 Sept 2004, D. Gilbert 20041025
- * Update to SPC-4 T10/1713-D Rev 5a, 14 June 2006, D. Gilbert 20060702
- *
- * Copied from linux-2.6.20 and edited for userspace use. Printing is
- * done into a string rather than with printk. New parts are...
- *
- * Copyright (C) 2007 OSD Team <pvfs-osd(a)osc.edu>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include <stdio.h>
-#include <stdint.h>
-#include <string.h>
-#include <sys/types.h>
-#include "osd-util.h"
-#include "sense.h"
-
-#if 0
-static const char *scsi_status_string(unsigned char scsi_status)
-{
- const char *ccp;
-
- switch (scsi_status) {
- case 0: ccp = "Good"; break;
- case 0x2: ccp = "Check Condition"; break;
- case 0x4: ccp = "Condition Met"; break;
- case 0x8: ccp = "Busy"; break;
- case 0x10: ccp = "Intermediate"; break;
- case 0x14: ccp = "Intermediate-Condition Met"; break;
- case 0x18: ccp = "Reservation Conflict"; break;
- case 0x22: ccp = "Command Terminated"; break; /* obsolete */
- case 0x28: ccp = "Task set Full"; break; /* was: Queue Full */
- case 0x30: ccp = "ACA Active"; break;
- case 0x40: ccp = "Task Aborted"; break;
- default: ccp = "Unknown status";
- }
- return ccp;
-}
-#endif
-
-/* description of the sense key values */
-static const char *const snstext[] = {
- "No Sense", /* 0: There is no sense information */
- "Recovered Error", /* 1: The last command completed successfully
- but used error correction */
- "Not Ready", /* 2: The addressed target is not ready */
- "Medium Error", /* 3: Data error detected on the medium */
- "Hardware Error", /* 4: Controller or device failure */
- "Illegal Request", /* 5: Error in request */
- "Unit Attention", /* 6: Removable medium was changed, or
- the target has been reset, or ... */
- "Data Protect", /* 7: Access to the data is blocked */
- "Blank Check", /* 8: Reached unexpected written or unwritten
- region of the medium */
- "Vendor Specific(9)",
- "Copy Aborted", /* A: COPY or COMPARE was aborted */
- "Aborted Command", /* B: The target aborted the command */
- "Equal", /* C: A SEARCH DATA command found data equal */
- "Volume Overflow", /* D: Medium full with still data to be written */
- "Miscompare", /* E: Source data and data on the medium
- do not agree */
-};
-
-static const char *sense_key_string(unsigned char key)
-{
- if (key <= 0xE)
- return snstext[key];
- return NULL;
-}
-
-struct error_info {
- unsigned short code12; /* 0x0302 looks better than 0x03,0x02 */
- const char *text;
-};
-
-static struct error_info additional[] =
-{
- {0x0000, "No additional sense information"},
- {0x0001, "Filemark detected"},
- {0x0002, "End-of-partition/medium detected"},
- {0x0003, "Setmark detected"},
- {0x0004, "Beginning-of-partition/medium detected"},
- {0x0005, "End-of-data detected"},
- {0x0006, "I/O process terminated"},
- {0x0011, "Audio play operation in progress"},
- {0x0012, "Audio play operation paused"},
- {0x0013, "Audio play operation successfully completed"},
- {0x0014, "Audio play operation stopped due to error"},
- {0x0015, "No current audio status to return"},
- {0x0016, "Operation in progress"},
- {0x0017, "Cleaning requested"},
- {0x0018, "Erase operation in progress"},
- {0x0019, "Locate operation in progress"},
- {0x001A, "Rewind operation in progress"},
- {0x001B, "Set capacity operation in progress"},
- {0x001C, "Verify operation in progress"},
- {0x001D, "ATA pass through information available"},
-
- {0x0100, "No index/sector signal"},
-
- {0x0200, "No seek complete"},
-
- {0x0300, "Peripheral device write fault"},
- {0x0301, "No write current"},
- {0x0302, "Excessive write errors"},
-
- {0x0400, "Logical unit not ready, cause not reportable"},
- {0x0401, "Logical unit is in process of becoming ready"},
- {0x0402, "Logical unit not ready, initializing command required"},
- {0x0403, "Logical unit not ready, manual intervention required"},
- {0x0404, "Logical unit not ready, format in progress"},
- {0x0405, "Logical unit not ready, rebuild in progress"},
- {0x0406, "Logical unit not ready, recalculation in progress"},
- {0x0407, "Logical unit not ready, operation in progress"},
- {0x0408, "Logical unit not ready, long write in progress"},
- {0x0409, "Logical unit not ready, self-test in progress"},
- {0x040A, "Logical unit not accessible, asymmetric access state "
- "transition"},
- {0x040B, "Logical unit not accessible, target port in standby state"},
- {0x040C, "Logical unit not accessible, target port in unavailable "
- "state"},
- {0x0410, "Logical unit not ready, auxiliary memory not accessible"},
- {0x0411, "Logical unit not ready, notify (enable spinup) required"},
- {0x0412, "Logical unit not ready, offline"},
-
- {0x0500, "Logical unit does not respond to selection"},
-
- {0x0600, "No reference position found"},
-
- {0x0700, "Multiple peripheral devices selected"},
-
- {0x0800, "Logical unit communication failure"},
- {0x0801, "Logical unit communication time-out"},
- {0x0802, "Logical unit communication parity error"},
- {0x0803, "Logical unit communication CRC error (Ultra-DMA/32)"},
- {0x0804, "Unreachable copy target"},
-
- {0x0900, "Track following error"},
- {0x0901, "Tracking servo failure"},
- {0x0902, "Focus servo failure"},
- {0x0903, "Spindle servo failure"},
- {0x0904, "Head select fault"},
-
- {0x0A00, "Error log overflow"},
-
- {0x0B00, "Warning"},
- {0x0B01, "Warning - specified temperature exceeded"},
- {0x0B02, "Warning - enclosure degraded"},
- {0x0B03, "Warning - background self-test failed"},
- {0x0B04, "Warning - background pre-scan detected medium error"},
- {0x0B05, "Warning - background medium scan detected medium error"},
-
- {0x0C00, "Write error"},
- {0x0C01, "Write error - recovered with auto reallocation"},
- {0x0C02, "Write error - auto reallocation failed"},
- {0x0C03, "Write error - recommend reassignment"},
- {0x0C04, "Compression check miscompare error"},
- {0x0C05, "Data expansion occurred during compression"},
- {0x0C06, "Block not compressible"},
- {0x0C07, "Write error - recovery needed"},
- {0x0C08, "Write error - recovery failed"},
- {0x0C09, "Write error - loss of streaming"},
- {0x0C0A, "Write error - padding blocks added"},
- {0x0C0B, "Auxiliary memory write error"},
- {0x0C0C, "Write error - unexpected unsolicited data"},
- {0x0C0D, "Write error - not enough unsolicited data"},
- {0x0C0F, "Defects in error window"},
-
- {0x0D00, "Error detected by third party temporary initiator"},
- {0x0D01, "Third party device failure"},
- {0x0D02, "Copy target device not reachable"},
- {0x0D03, "Incorrect copy target device type"},
- {0x0D04, "Copy target device data underrun"},
- {0x0D05, "Copy target device data overrun"},
-
- {0x0E00, "Invalid information unit"},
- {0x0E01, "Information unit too short"},
- {0x0E02, "Information unit too long"},
- {0x0E03, "Invalid field in command information unit"},
-
- {0x1000, "Id CRC or ECC error"},
- {0x1001, "Logical block guard check failed"},
- {0x1002, "Logical block application tag check failed"},
- {0x1003, "Logical block reference tag check failed"},
-
- {0x1100, "Unrecovered read error"},
- {0x1101, "Read retries exhausted"},
- {0x1102, "Error too long to correct"},
- {0x1103, "Multiple read errors"},
- {0x1104, "Unrecovered read error - auto reallocate failed"},
- {0x1105, "L-EC uncorrectable error"},
- {0x1106, "CIRC unrecovered error"},
- {0x1107, "Data re-synchronization error"},
- {0x1108, "Incomplete block read"},
- {0x1109, "No gap found"},
- {0x110A, "Miscorrected error"},
- {0x110B, "Unrecovered read error - recommend reassignment"},
- {0x110C, "Unrecovered read error - recommend rewrite the data"},
- {0x110D, "De-compression CRC error"},
- {0x110E, "Cannot decompress using declared algorithm"},
- {0x110F, "Error reading UPC/EAN number"},
- {0x1110, "Error reading ISRC number"},
- {0x1111, "Read error - loss of streaming"},
- {0x1112, "Auxiliary memory read error"},
- {0x1113, "Read error - failed retransmission request"},
- {0x1114, "Read error - lba marked bad by application client"},
-
- {0x1200, "Address mark not found for id field"},
-
- {0x1300, "Address mark not found for data field"},
-
- {0x1400, "Recorded entity not found"},
- {0x1401, "Record not found"},
- {0x1402, "Filemark or setmark not found"},
- {0x1403, "End-of-data not found"},
- {0x1404, "Block sequence error"},
- {0x1405, "Record not found - recommend reassignment"},
- {0x1406, "Record not found - data auto-reallocated"},
- {0x1407, "Locate operation failure"},
-
- {0x1500, "Random positioning error"},
- {0x1501, "Mechanical positioning error"},
- {0x1502, "Positioning error detected by read of medium"},
-
- {0x1600, "Data synchronization mark error"},
- {0x1601, "Data sync error - data rewritten"},
- {0x1602, "Data sync error - recommend rewrite"},
- {0x1603, "Data sync error - data auto-reallocated"},
- {0x1604, "Data sync error - recommend reassignment"},
-
- {0x1700, "Recovered data with no error correction applied"},
- {0x1701, "Recovered data with retries"},
- {0x1702, "Recovered data with positive head offset"},
- {0x1703, "Recovered data with negative head offset"},
- {0x1704, "Recovered data with retries and/or circ applied"},
- {0x1705, "Recovered data using previous sector id"},
- {0x1706, "Recovered data without ECC - data auto-reallocated"},
- {0x1707, "Recovered data without ECC - recommend reassignment"},
- {0x1708, "Recovered data without ECC - recommend rewrite"},
- {0x1709, "Recovered data without ECC - data rewritten"},
-
- {0x1800, "Recovered data with error correction applied"},
- {0x1801, "Recovered data with error corr. & retries applied"},
- {0x1802, "Recovered data - data auto-reallocated"},
- {0x1803, "Recovered data with CIRC"},
- {0x1804, "Recovered data with L-EC"},
- {0x1805, "Recovered data - recommend reassignment"},
- {0x1806, "Recovered data - recommend rewrite"},
- {0x1807, "Recovered data with ECC - data rewritten"},
- {0x1808, "Recovered data with linking"},
-
- {0x1900, "Defect list error"},
- {0x1901, "Defect list not available"},
- {0x1902, "Defect list error in primary list"},
- {0x1903, "Defect list error in grown list"},
-
- {0x1A00, "Parameter list length error"},
-
- {0x1B00, "Synchronous data transfer error"},
-
- {0x1C00, "Defect list not found"},
- {0x1C01, "Primary defect list not found"},
- {0x1C02, "Grown defect list not found"},
-
- {0x1D00, "Miscompare during verify operation"},
-
- {0x1E00, "Recovered id with ECC correction"},
-
- {0x1F00, "Partial defect list transfer"},
-
- {0x2000, "Invalid command operation code"},
- {0x2001, "Access denied - initiator pending-enrolled"},
- {0x2002, "Access denied - no access rights"},
- {0x2003, "Access denied - invalid mgmt id key"},
- {0x2004, "Illegal command while in write capable state"},
- {0x2005, "Obsolete"},
- {0x2006, "Illegal command while in explicit address mode"},
- {0x2007, "Illegal command while in implicit address mode"},
- {0x2008, "Access denied - enrollment conflict"},
- {0x2009, "Access denied - invalid LU identifier"},
- {0x200A, "Access denied - invalid proxy token"},
- {0x200B, "Access denied - ACL LUN conflict"},
-
- {0x2100, "Logical block address out of range"},
- {0x2101, "Invalid element address"},
- {0x2102, "Invalid address for write"},
- {0x2103, "Invalid write crossing layer jump"},
-
- {0x2200, "Illegal function (use 20 00, 24 00, or 26 00)"},
-
- {0x2400, "Invalid field in cdb"},
- {0x2401, "CDB decryption error"},
- {0x2402, "Obsolete"},
- {0x2403, "Obsolete"},
- {0x2404, "Security audit value frozen"},
- {0x2405, "Security working key frozen"},
- {0x2406, "Nonce not unique"},
- {0x2407, "Nonce timestamp out of range"},
-
- {0x2500, "Logical unit not supported"},
-
- {0x2600, "Invalid field in parameter list"},
- {0x2601, "Parameter not supported"},
- {0x2602, "Parameter value invalid"},
- {0x2603, "Threshold parameters not supported"},
- {0x2604, "Invalid release of persistent reservation"},
- {0x2605, "Data decryption error"},
- {0x2606, "Too many target descriptors"},
- {0x2607, "Unsupported target descriptor type code"},
- {0x2608, "Too many segment descriptors"},
- {0x2609, "Unsupported segment descriptor type code"},
- {0x260A, "Unexpected inexact segment"},
- {0x260B, "Inline data length exceeded"},
- {0x260C, "Invalid operation for copy source or destination"},
- {0x260D, "Copy segment granularity violation"},
- {0x260E, "Invalid parameter while port is enabled"},
- {0x260F, "Invalid data-out buffer integrity check value"},
- {0x2610, "Data decryption key fail limit reached"},
- {0x2611, "Incomplete key-associated data set"},
- {0x2612, "Vendor specific key reference not found"},
-
- {0x2700, "Write protected"},
- {0x2701, "Hardware write protected"},
- {0x2702, "Logical unit software write protected"},
- {0x2703, "Associated write protect"},
- {0x2704, "Persistent write protect"},
- {0x2705, "Permanent write protect"},
- {0x2706, "Conditional write protect"},
-
- {0x2800, "Not ready to ready change, medium may have changed"},
- {0x2801, "Import or export element accessed"},
- {0x2802, "Format-layer may have changed"},
-
- {0x2900, "Power on, reset, or bus device reset occurred"},
- {0x2901, "Power on occurred"},
- {0x2902, "Scsi bus reset occurred"},
- {0x2903, "Bus device reset function occurred"},
- {0x2904, "Device internal reset"},
- {0x2905, "Transceiver mode changed to single-ended"},
- {0x2906, "Transceiver mode changed to lvd"},
- {0x2907, "I_T nexus loss occurred"},
-
- {0x2A00, "Parameters changed"},
- {0x2A01, "Mode parameters changed"},
- {0x2A02, "Log parameters changed"},
- {0x2A03, "Reservations preempted"},
- {0x2A04, "Reservations released"},
- {0x2A05, "Registrations preempted"},
- {0x2A06, "Asymmetric access state changed"},
- {0x2A07, "Implicit asymmetric access state transition failed"},
- {0x2A08, "Priority changed"},
- {0x2A09, "Capacity data has changed"},
- {0x2A10, "Timestamp changed"},
- {0x2A11, "Data encryption parameters changed by another i_t nexus"},
- {0x2A12, "Data encryption parameters changed by vendor specific "
- "event"},
- {0x2A13, "Data encryption key instance counter has changed"},
-
- {0x2B00, "Copy cannot execute since host cannot disconnect"},
-
- {0x2C00, "Command sequence error"},
- {0x2C01, "Too many windows specified"},
- {0x2C02, "Invalid combination of windows specified"},
- {0x2C03, "Current program area is not empty"},
- {0x2C04, "Current program area is empty"},
- {0x2C05, "Illegal power condition request"},
- {0x2C06, "Persistent prevent conflict"},
- {0x2C07, "Previous busy status"},
- {0x2C08, "Previous task set full status"},
- {0x2C09, "Previous reservation conflict status"},
- {0x2C0A, "Partition or collection contains user objects"},
- {0x2C0B, "Not reserved"},
-
- {0x2D00, "Overwrite error on update in place"},
-
- {0x2E00, "Insufficient time for operation"},
-
- {0x2F00, "Commands cleared by another initiator"},
- {0x2F01, "Commands cleared by power loss notification"},
-
- {0x3000, "Incompatible medium installed"},
- {0x3001, "Cannot read medium - unknown format"},
- {0x3002, "Cannot read medium - incompatible format"},
- {0x3003, "Cleaning cartridge installed"},
- {0x3004, "Cannot write medium - unknown format"},
- {0x3005, "Cannot write medium - incompatible format"},
- {0x3006, "Cannot format medium - incompatible medium"},
- {0x3007, "Cleaning failure"},
- {0x3008, "Cannot write - application code mismatch"},
- {0x3009, "Current session not fixated for append"},
- {0x300A, "Cleaning request rejected"},
- {0x300C, "WORM medium - overwrite attempted"},
- {0x300D, "WORM medium - integrity check"},
- {0x3010, "Medium not formatted"},
-
- {0x3100, "Medium format corrupted"},
- {0x3101, "Format command failed"},
- {0x3102, "Zoned formatting failed due to spare linking"},
-
- {0x3200, "No defect spare location available"},
- {0x3201, "Defect list update failure"},
-
- {0x3300, "Tape length error"},
-
- {0x3400, "Enclosure failure"},
-
- {0x3500, "Enclosure services failure"},
- {0x3501, "Unsupported enclosure function"},
- {0x3502, "Enclosure services unavailable"},
- {0x3503, "Enclosure services transfer failure"},
- {0x3504, "Enclosure services transfer refused"},
- {0x3505, "Enclosure services checksum error"},
-
- {0x3600, "Ribbon, ink, or toner failure"},
-
- {0x3700, "Rounded parameter"},
-
- {0x3800, "Event status notification"},
- {0x3802, "Esn - power management class event"},
- {0x3804, "Esn - media class event"},
- {0x3806, "Esn - device busy class event"},
-
- {0x3900, "Saving parameters not supported"},
-
- {0x3A00, "Medium not present"},
- {0x3A01, "Medium not present - tray closed"},
- {0x3A02, "Medium not present - tray open"},
- {0x3A03, "Medium not present - loadable"},
- {0x3A04, "Medium not present - medium auxiliary memory accessible"},
-
- {0x3B00, "Sequential positioning error"},
- {0x3B01, "Tape position error at beginning-of-medium"},
- {0x3B02, "Tape position error at end-of-medium"},
- {0x3B03, "Tape or electronic vertical forms unit not ready"},
- {0x3B04, "Slew failure"},
- {0x3B05, "Paper jam"},
- {0x3B06, "Failed to sense top-of-form"},
- {0x3B07, "Failed to sense bottom-of-form"},
- {0x3B08, "Reposition error"},
- {0x3B09, "Read past end of medium"},
- {0x3B0A, "Read past beginning of medium"},
- {0x3B0B, "Position past end of medium"},
- {0x3B0C, "Position past beginning of medium"},
- {0x3B0D, "Medium destination element full"},
- {0x3B0E, "Medium source element empty"},
- {0x3B0F, "End of medium reached"},
- {0x3B11, "Medium magazine not accessible"},
- {0x3B12, "Medium magazine removed"},
- {0x3B13, "Medium magazine inserted"},
- {0x3B14, "Medium magazine locked"},
- {0x3B15, "Medium magazine unlocked"},
- {0x3B16, "Mechanical positioning or changer error"},
- {0x3B17, "Read past end of user object"},
-
- {0x3D00, "Invalid bits in identify message"},
-
- {0x3E00, "Logical unit has not self-configured yet"},
- {0x3E01, "Logical unit failure"},
- {0x3E02, "Timeout on logical unit"},
- {0x3E03, "Logical unit failed self-test"},
- {0x3E04, "Logical unit unable to update self-test log"},
-
- {0x3F00, "Target operating conditions have changed"},
- {0x3F01, "Microcode has been changed"},
- {0x3F02, "Changed operating definition"},
- {0x3F03, "Inquiry data has changed"},
- {0x3F04, "Component device attached"},
- {0x3F05, "Device identifier changed"},
- {0x3F06, "Redundancy group created or modified"},
- {0x3F07, "Redundancy group deleted"},
- {0x3F08, "Spare created or modified"},
- {0x3F09, "Spare deleted"},
- {0x3F0A, "Volume set created or modified"},
- {0x3F0B, "Volume set deleted"},
- {0x3F0C, "Volume set deassigned"},
- {0x3F0D, "Volume set reassigned"},
- {0x3F0E, "Reported luns data has changed"},
- {0x3F0F, "Echo buffer overwritten"},
- {0x3F10, "Medium loadable"},
- {0x3F11, "Medium auxiliary memory accessible"},
- {0x3F12, "iSCSI IP address added"},
- {0x3F13, "iSCSI IP address removed"},
- {0x3F14, "iSCSI IP address changed"},
-/*
- * {0x40NN, "Ram failure"},
- * {0x40NN, "Diagnostic failure on component nn"},
- * {0x41NN, "Data path failure"},
- * {0x42NN, "Power-on or self-test failure"},
- */
- {0x4300, "Message error"},
-
- {0x4400, "Internal target failure"},
- {0x4471, "ATA device failed set features"},
-
- {0x4500, "Select or reselect failure"},
-
- {0x4600, "Unsuccessful soft reset"},
-
- {0x4700, "Scsi parity error"},
- {0x4701, "Data phase CRC error detected"},
- {0x4702, "Scsi parity error detected during st data phase"},
- {0x4703, "Information unit iuCRC error detected"},
- {0x4704, "Asynchronous information protection error detected"},
- {0x4705, "Protocol service CRC error"},
- {0x4706, "Phy test function in progress"},
- {0x477f, "Some commands cleared by iSCSI Protocol event"},
-
- {0x4800, "Initiator detected error message received"},
-
- {0x4900, "Invalid message error"},
-
- {0x4A00, "Command phase error"},
-
- {0x4B00, "Data phase error"},
- {0x4B01, "Invalid target port transfer tag received"},
- {0x4B02, "Too much write data"},
- {0x4B03, "Ack/nak timeout"},
- {0x4B04, "Nak received"},
- {0x4B05, "Data offset error"},
- {0x4B06, "Initiator response timeout"},
-
- {0x4C00, "Logical unit failed self-configuration"},
-/*
- * {0x4DNN, "Tagged overlapped commands (nn = queue tag)"},
- */
- {0x4E00, "Overlapped commands attempted"},
-
- {0x5000, "Write append error"},
- {0x5001, "Write append position error"},
- {0x5002, "Position error related to timing"},
-
- {0x5100, "Erase failure"},
- {0x5101, "Erase failure - incomplete erase operation detected"},
-
- {0x5200, "Cartridge fault"},
-
- {0x5300, "Media load or eject failed"},
- {0x5301, "Unload tape failure"},
- {0x5302, "Medium removal prevented"},
- {0x5303, "Medium removal prevented by data transfer element"},
- {0x5304, "Medium thread or unthread failure"},
-
- {0x5400, "Scsi to host system interface failure"},
-
- {0x5500, "System resource failure"},
- {0x5501, "System buffer full"},
- {0x5502, "Insufficient reservation resources"},
- {0x5503, "Insufficient resources"},
- {0x5504, "Insufficient registration resources"},
- {0x5505, "Insufficient access control resources"},
- {0x5506, "Auxiliary memory out of space"},
- {0x5507, "Quota error"},
- {0x5508, "Maximum number of supplemental decryption keys exceeded"},
-
- {0x5700, "Unable to recover table-of-contents"},
-
- {0x5800, "Generation does not exist"},
-
- {0x5900, "Updated block read"},
-
- {0x5A00, "Operator request or state change input"},
- {0x5A01, "Operator medium removal request"},
- {0x5A02, "Operator selected write protect"},
- {0x5A03, "Operator selected write permit"},
-
- {0x5B00, "Log exception"},
- {0x5B01, "Threshold condition met"},
- {0x5B02, "Log counter at maximum"},
- {0x5B03, "Log list codes exhausted"},
-
- {0x5C00, "Rpl status change"},
- {0x5C01, "Spindles synchronized"},
- {0x5C02, "Spindles not synchronized"},
-
- {0x5D00, "Failure prediction threshold exceeded"},
- {0x5D01, "Media failure prediction threshold exceeded"},
- {0x5D02, "Logical unit failure prediction threshold exceeded"},
- {0x5D03, "Spare area exhaustion prediction threshold exceeded"},
- {0x5D10, "Hardware impending failure general hard drive failure"},
- {0x5D11, "Hardware impending failure drive error rate too high"},
- {0x5D12, "Hardware impending failure data error rate too high"},
- {0x5D13, "Hardware impending failure seek error rate too high"},
- {0x5D14, "Hardware impending failure too many block reassigns"},
- {0x5D15, "Hardware impending failure access times too high"},
- {0x5D16, "Hardware impending failure start unit times too high"},
- {0x5D17, "Hardware impending failure channel parametrics"},
- {0x5D18, "Hardware impending failure controller detected"},
- {0x5D19, "Hardware impending failure throughput performance"},
- {0x5D1A, "Hardware impending failure seek time performance"},
- {0x5D1B, "Hardware impending failure spin-up retry count"},
- {0x5D1C, "Hardware impending failure drive calibration retry count"},
- {0x5D20, "Controller impending failure general hard drive failure"},
- {0x5D21, "Controller impending failure drive error rate too high"},
- {0x5D22, "Controller impending failure data error rate too high"},
- {0x5D23, "Controller impending failure seek error rate too high"},
- {0x5D24, "Controller impending failure too many block reassigns"},
- {0x5D25, "Controller impending failure access times too high"},
- {0x5D26, "Controller impending failure start unit times too high"},
- {0x5D27, "Controller impending failure channel parametrics"},
- {0x5D28, "Controller impending failure controller detected"},
- {0x5D29, "Controller impending failure throughput performance"},
- {0x5D2A, "Controller impending failure seek time performance"},
- {0x5D2B, "Controller impending failure spin-up retry count"},
- {0x5D2C, "Controller impending failure drive calibration retry count"},
- {0x5D30, "Data channel impending failure general hard drive failure"},
- {0x5D31, "Data channel impending failure drive error rate too high"},
- {0x5D32, "Data channel impending failure data error rate too high"},
- {0x5D33, "Data channel impending failure seek error rate too high"},
- {0x5D34, "Data channel impending failure too many block reassigns"},
- {0x5D35, "Data channel impending failure access times too high"},
- {0x5D36, "Data channel impending failure start unit times too high"},
- {0x5D37, "Data channel impending failure channel parametrics"},
- {0x5D38, "Data channel impending failure controller detected"},
- {0x5D39, "Data channel impending failure throughput performance"},
- {0x5D3A, "Data channel impending failure seek time performance"},
- {0x5D3B, "Data channel impending failure spin-up retry count"},
- {0x5D3C, "Data channel impending failure drive calibration retry "
- "count"},
- {0x5D40, "Servo impending failure general hard drive failure"},
- {0x5D41, "Servo impending failure drive error rate too high"},
- {0x5D42, "Servo impending failure data error rate too high"},
- {0x5D43, "Servo impending failure seek error rate too high"},
- {0x5D44, "Servo impending failure too many block reassigns"},
- {0x5D45, "Servo impending failure access times too high"},
- {0x5D46, "Servo impending failure start unit times too high"},
- {0x5D47, "Servo impending failure channel parametrics"},
- {0x5D48, "Servo impending failure controller detected"},
- {0x5D49, "Servo impending failure throughput performance"},
- {0x5D4A, "Servo impending failure seek time performance"},
- {0x5D4B, "Servo impending failure spin-up retry count"},
- {0x5D4C, "Servo impending failure drive calibration retry count"},
- {0x5D50, "Spindle impending failure general hard drive failure"},
- {0x5D51, "Spindle impending failure drive error rate too high"},
- {0x5D52, "Spindle impending failure data error rate too high"},
- {0x5D53, "Spindle impending failure seek error rate too high"},
- {0x5D54, "Spindle impending failure too many block reassigns"},
- {0x5D55, "Spindle impending failure access times too high"},
- {0x5D56, "Spindle impending failure start unit times too high"},
- {0x5D57, "Spindle impending failure channel parametrics"},
- {0x5D58, "Spindle impending failure controller detected"},
- {0x5D59, "Spindle impending failure throughput performance"},
- {0x5D5A, "Spindle impending failure seek time performance"},
- {0x5D5B, "Spindle impending failure spin-up retry count"},
- {0x5D5C, "Spindle impending failure drive calibration retry count"},
- {0x5D60, "Firmware impending failure general hard drive failure"},
- {0x5D61, "Firmware impending failure drive error rate too high"},
- {0x5D62, "Firmware impending failure data error rate too high"},
- {0x5D63, "Firmware impending failure seek error rate too high"},
- {0x5D64, "Firmware impending failure too many block reassigns"},
- {0x5D65, "Firmware impending failure access times too high"},
- {0x5D66, "Firmware impending failure start unit times too high"},
- {0x5D67, "Firmware impending failure channel parametrics"},
- {0x5D68, "Firmware impending failure controller detected"},
- {0x5D69, "Firmware impending failure throughput performance"},
- {0x5D6A, "Firmware impending failure seek time performance"},
- {0x5D6B, "Firmware impending failure spin-up retry count"},
- {0x5D6C, "Firmware impending failure drive calibration retry count"},
- {0x5DFF, "Failure prediction threshold exceeded (false)"},
-
- {0x5E00, "Low power condition on"},
- {0x5E01, "Idle condition activated by timer"},
- {0x5E02, "Standby condition activated by timer"},
- {0x5E03, "Idle condition activated by command"},
- {0x5E04, "Standby condition activated by command"},
- {0x5E41, "Power state change to active"},
- {0x5E42, "Power state change to idle"},
- {0x5E43, "Power state change to standby"},
- {0x5E45, "Power state change to sleep"},
- {0x5E47, "Power state change to device control"},
-
- {0x6000, "Lamp failure"},
-
- {0x6100, "Video acquisition error"},
- {0x6101, "Unable to acquire video"},
- {0x6102, "Out of focus"},
-
- {0x6200, "Scan head positioning error"},
-
- {0x6300, "End of user area encountered on this track"},
- {0x6301, "Packet does not fit in available space"},
-
- {0x6400, "Illegal mode for this track"},
- {0x6401, "Invalid packet size"},
-
- {0x6500, "Voltage fault"},
-
- {0x6600, "Automatic document feeder cover up"},
- {0x6601, "Automatic document feeder lift up"},
- {0x6602, "Document jam in automatic document feeder"},
- {0x6603, "Document miss feed automatic in document feeder"},
-
- {0x6700, "Configuration failure"},
- {0x6701, "Configuration of incapable logical units failed"},
- {0x6702, "Add logical unit failed"},
- {0x6703, "Modification of logical unit failed"},
- {0x6704, "Exchange of logical unit failed"},
- {0x6705, "Remove of logical unit failed"},
- {0x6706, "Attachment of logical unit failed"},
- {0x6707, "Creation of logical unit failed"},
- {0x6708, "Assign failure occurred"},
- {0x6709, "Multiply assigned logical unit"},
- {0x670A, "Set target port groups command failed"},
- {0x670B, "ATA device feature not enabled"},
-
- {0x6800, "Logical unit not configured"},
-
- {0x6900, "Data loss on logical unit"},
- {0x6901, "Multiple logical unit failures"},
- {0x6902, "Parity/data mismatch"},
-
- {0x6A00, "Informational, refer to log"},
-
- {0x6B00, "State change has occurred"},
- {0x6B01, "Redundancy level got better"},
- {0x6B02, "Redundancy level got worse"},
-
- {0x6C00, "Rebuild failure occurred"},
-
- {0x6D00, "Recalculate failure occurred"},
-
- {0x6E00, "Command to logical unit failed"},
-
- {0x6F00, "Copy protection key exchange failure - authentication "
- "failure"},
- {0x6F01, "Copy protection key exchange failure - key not present"},
- {0x6F02, "Copy protection key exchange failure - key not established"},
- {0x6F03, "Read of scrambled sector without authentication"},
- {0x6F04, "Media region code is mismatched to logical unit region"},
- {0x6F05, "Drive region must be permanent/region reset count error"},
- {0x6F06, "Insufficient block count for binding nonce recording"},
- {0x6F07, "Conflict in binding nonce recording"},
-/*
- * {0x70NN, "Decompression exception short algorithm id of nn"},
- */
- {0x7100, "Decompression exception long algorithm id"},
-
- {0x7200, "Session fixation error"},
- {0x7201, "Session fixation error writing lead-in"},
- {0x7202, "Session fixation error writing lead-out"},
- {0x7203, "Session fixation error - incomplete track in session"},
- {0x7204, "Empty or partially written reserved track"},
- {0x7205, "No more track reservations allowed"},
- {0x7206, "RMZ extension is not allowed"},
- {0x7207, "No more test zone extensions are allowed"},
-
- {0x7300, "Cd control error"},
- {0x7301, "Power calibration area almost full"},
- {0x7302, "Power calibration area is full"},
- {0x7303, "Power calibration area error"},
- {0x7304, "Program memory area update failure"},
- {0x7305, "Program memory area is full"},
- {0x7306, "RMA/PMA is almost full"},
- {0x7310, "Current power calibration area almost full"},
- {0x7311, "Current power calibration area is full"},
- {0x7317, "RDZ is full"},
-
- {0x7400, "Security error"},
- {0x7401, "Unable to decrypt data"},
- {0x7402, "Unencrypted data encountered while decrypting"},
- {0x7403, "Incorrect data encryption key"},
- {0x7404, "Cryptographic integrity validation failed"},
- {0x7405, "Error decrypting data"},
- {0x7471, "Logical unit access not authorized"},
-
- {0, NULL}
-};
-
-struct error_info2 {
- unsigned char code1, code2_min, code2_max;
- const char *fmt;
-};
-
-static const struct error_info2 additional2[] =
-{
- {0x40,0x00,0x7f,"Ram failure"},
- {0x40,0x80,0xff,"Diagnostic failure on component"},
- {0x41,0x00,0xff,"Data path failure"},
- {0x42,0x00,0xff,"Power-on or self-test failure"},
- {0x4D,0x00,0xff,"Tagged overlapped commands"},
- {0x70,0x00,0xff,"Decompression exception short algorithm"},
- {0, 0, 0, NULL}
-};
-
-/*
- * Get additional sense code string or NULL if not available.
- * Returns 1 if it should be printed with ascq as arg.
- */
-static const char *asc_ascq_string(unsigned char asc, unsigned char ascq)
-{
- int i;
- unsigned short code = ((asc << 8) | ascq);
-
- for (i=0; additional[i].text; i++)
- if (additional[i].code12 == code)
- return additional[i].text;
- for (i=0; additional2[i].fmt; i++)
- if (additional2[i].code1 == asc &&
- additional2[i].code2_min >= ascq &&
- additional2[i].code2_max <= ascq)
- return additional2[i].fmt;
- return NULL;
-}
-
-/*
- * Additional sense descriptors, see 4.14.2.1 page 62 and thereabouts.
- */
-static int sense_parse_descriptor(char *s, int *ppos, const uint8_t *info,
- int addl_len)
-{
- int pos = *ppos;
- int len = 0;
-
- if (addl_len < 2)
- return 0;
- if (info[0] == 0x6) {
- /* object identification */
- uint64_t pid, oid;
- if (info[1]+2 != 32) {
- pos += sprintf(s+pos,
- "invalid object ident length %d\n",
- info[1]);
- goto out;
- }
- if (addl_len < 32) {
- pos += sprintf(s+pos,
- "insufficient senselen %d for object ident\n",
- addl_len);
- goto out;
- }
- len = 32;
- /* ignore not_init and completed funcs */
- pid = get_ntohll(&info[16]);
- oid = get_ntohll(&info[24]);
- pos += sprintf(s+pos,
- " Offending pid 0x%016llx oid 0x%016llx\n",
- llu(pid), llu(oid));
- }
-
- if (info[0] == 0x8) {
- /* attribute identification */
- int i;
- if (addl_len < info[1]+1) {
- pos += sprintf(s+pos,
- "insufficient senselen %d for attr %d\n",
- addl_len, info[1]+1);
- goto out;
- }
- if ((info[1]+1-4) % 8 != 0) {
- pos += sprintf(s+pos, "info len %d not 4 + N * 8\n",
- info[1]+1);
- goto out;
- }
- len = info[1]+1;
- for (i=0; i<len; i+=8) {
- uint32_t page = get_ntohl(&info[i*8+0]);
- uint32_t number = get_ntohl(&info[i*8+4]);
- pos += sprintf(s+pos, " Offending attribute"
- " page 0x%08x number 0x%08x\n",
- page, number);
- }
- }
-
- if (info[0] == 0x1) {
- /* spc3 4.5.2.2 information */
- uint64_t csi;
- if (info[1]+2 != 12) {
- pos += sprintf(s+pos, "invalid info length %d\n",
- info[1]);
- goto out;
- }
- if (addl_len < 12) {
- pos += sprintf(s+pos,
- "insufficient senselen %d for info\n",
- addl_len);
- goto out;
- }
- len = 12;
- /* not sure it is wise to always convert this to int, but
- * that is the use for read overflow at least */
- csi = get_ntohll(&info[4]);
- pos += sprintf(s+pos, " Information 0x%016llx\n", llu(csi));
- }
-
- /* consider adding attribute identification */
-out:
- *ppos = pos;
- return len;
-}
-
-/*
- * Possibly debugging support. Parse and print out interesting bits of the
- * sense (i.e. error) message returned from the target. Returned in a new
- * string.
- *
- * OSD sense is always descriptor format.
- */
-void osd_sense_extract(const uint8_t *sense, int len, int *key, int *asc_ascq)
-{
- *key = 0;
- *asc_ascq = 0;
- if (len < 8)
- return;
- if ((sense[0] & 0x72) != 0x72)
- return;
- *key = sense[1];
- *asc_ascq = (sense[2] << 8) | sense[3];
-}
-
-char *osd_sense_as_string(const uint8_t *sense, int len)
-{
- uint8_t code, key, asc, ascq, additional_len;
- int deferred;
- const char *keystr, *ascstr;
- const uint8_t *info;
- char s[1024];
- int pos;
-
- if (len < 8) {
- sprintf(s, "sense length too short\n");
- goto out;
- }
- code = sense[0];
- if ((code & 0x72) != 0x72) {
- sprintf(s, "code 0x%02x not expected 0x72 or 0x73\n", code);
- goto out;
- }
- deferred = code & 1;
- key = sense[1];
- asc = sense[2];
- ascq = sense[3];
-
- pos = 0;
- if (deferred)
- pos += sprintf(s+pos, "[deferred] ");
-
- keystr = sense_key_string(key);
- if (keystr)
- pos += sprintf(s+pos, "%s: ", keystr);
- else
- pos += sprintf(s+pos, "Unknown sense key 0x%02x: ", key);
-
- ascstr = asc_ascq_string(asc, ascq);
- if (ascstr)
- pos += sprintf(s+pos, "%s\n", ascstr);
- else
- pos += sprintf(s+pos, "Unknown asc/ascq\n");
-
- additional_len = sense[7];
- info = sense + 8;
- while (additional_len > 0) {
- int len = sense_parse_descriptor(s, &pos, info, additional_len);
- if (len == 0)
- break;
- info += len;
- additional_len -= len;
- }
-
- if (additional_len > 0)
- sprintf(s+pos, "Descriptor type 0x%02x len %d not shown",
- info[0], additional_len);
-
-out:
- return strdup(s);
-}
-
-/*
- * Return a pointer to the 8-byte CSI string. Not necessarily an int.
- * Assumes proper descriptor format sense buffer.
- */
-const uint8_t *osd_sense_extract_csi(const uint8_t *sense, int len)
-{
- const uint8_t *s = NULL;
-
- /* skip header */
- sense += 8;
- len -= 8;
- while (len > 0) {
- int nextlen;
- if (len < 2)
- break;
- nextlen = sense[1] + 2;
- if (sense[0] == 0x1) {
- if (nextlen != 12)
- break;
- if (len < nextlen)
- break;
- s = sense + 4;
- break;
- }
- sense += nextlen;
- len -= nextlen;
- }
- return s;
-}
-
diff --git a/oldcode/src/gsl/resources/storage/osd-target/sense.h b/oldcode/src/gsl/resources/storage/osd-target/sense.h
deleted file mode 100644
index 5a82c31..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/sense.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Sense extraction and printing.
- *
- * Copyright (C) 2007 OSD Team <pvfs-osd(a)osc.edu>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#ifndef _SENSE_H
-#define _SENSE_H
-
-void osd_sense_extract(const uint8_t *sense, int len, int *key, int *asc_ascq);
-char *osd_sense_as_string(const uint8_t *sense, int len);
-const uint8_t *osd_sense_extract_csi(const uint8_t *sense, int len);
-
-#endif /* _SENSE_H */
diff --git a/oldcode/src/gsl/resources/storage/osd-target/target-sense.h b/oldcode/src/gsl/resources/storage/osd-target/target-sense.h
deleted file mode 100644
index 5c6a52d..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/target-sense.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Sense generation.
- *
- * Copyright (C) 2007 OSD Team <pvfs-osd(a)osc.edu>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#ifndef __TARGET_SENSE_H
-#define __TARGET_SENSE_H
-
-int sense_header_build(uint8_t *data, int len, uint8_t key, uint16_t code,
- uint8_t additional_len);
-int sense_info_build(uint8_t *data, int len, uint32_t not_init_funcs,
- uint32_t completed_funcs, uint64_t pid, uint64_t oid);
-int sense_csi_build(uint8_t *data, int len, uint64_t csi);
-int sense_basic_build(uint8_t *sense, uint8_t key, uint16_t code,
- uint64_t pid, uint64_t oid);
-int sense_build_sdd(uint8_t *sense, uint8_t key, uint16_t code,
- uint64_t pid, uint64_t oid);
-int sense_build_sdd_csi(uint8_t *sense, uint8_t key, uint16_t code,
- uint64_t pid, uint64_t oid, uint64_t csi);
-
-#define ASC(x) ((x & 0xFF00) >> 8)
-#define ASCQ(x) (x & 0x00FF)
-
-static inline int sense_test_type(uint8_t *sense, uint8_t key, uint16_t code)
-{
- return (sense[1] == key && sense[2] == ASC(code) &&
- sense[3] == ASCQ(code));
-}
-
-#endif /* __TARGET_SENSE_H */
diff --git a/oldcode/src/gsl/resources/storage/osd-target/todo b/oldcode/src/gsl/resources/storage/osd-target/todo
deleted file mode 100644
index 2a78589..0000000
--- a/oldcode/src/gsl/resources/storage/osd-target/todo
+++ /dev/null
@@ -1,105 +0,0 @@
-# vim: set ft=conf
-
-Optimizations:
-+ prepare frequently used statements and store them.
-
-Potential Bugs:
-+ put sqlite_step statemnts in infinite loop.
-+ inconsistent return codes in osd.c
-+ loosing return value due to finalize
- sqlite3_finalize grabs error code in case of failure
-
-Misc todos:
-+ magic constants for return values in db.c, attr.c, obj.c
-
-
-# Thu May 10 21:25:53 EDT 2007
-Optimization:
-- combine tests for presence and type into one.
-- make common case fast, assume correct, recover from error. for eg. assume
- attr and object exist, if not recover from error.
-+ optimize sql query setup
-- multithreading sqlite:
- fine grain locking. transactions
-- optimize setattr: parse input attributes in one go and call setattr
- function only once
-- implement cache near the table, for eg. id cache in obj.c
- table manipulators need local cache. for eg. attr needs cache for
- blob, obj needs cache for id & storing results of list command. These
- need to be incorporated in the db_context
-
-Maintainence:
-+ configure separate placement of db and storage components
-+ after opening db, check if all tables exist
-- implement null attributes page, decide on definition of "defined"
- attribute and attribute length
-- Implement following commands:
- + append command
- - complete list impl
- - complete sma impl
- - implement list collection
- - ispresent_attr, ispresent_attrpage functions
-+ struct for each table (attr, oc, obj):
- functions to create and destroy them
-+ refactor attr.c
- clean sqlite api
- fix fret/ret bugs
- remove global variables in attr.c
-- Every create and create_collection, create partition sets default attr
-- stale values of CCAP are returned
- since every command sets CCAP chance of stale values is reduced
-- design attr_list_oids_attr with proper loop invariant and clean code
-- use stranded files to mv existing dfiles when creating dfiles
-- reduce number of arguments for : getattr, setattr
-+ function to run different tests
- currently run test does that
-- ntoh* functions need to be properly aligned
-+ db, obj and attr specific return codes
- all table new return standardized err like OSD_ERROR
-+ separate return values for sqlite calls in attr_get_attr
-+ use flexible array at end of struct for le mle
- might not be necessary considering new design and helper funcs
-
-Research:
-- iSER/SRP target
-- flexible handle allocation in PVFS
-- efficient way of generating next id
- a table to store ranges, to plug the holes in handles
- currently there is a bug in insert, it generates id by incrementing
- the oid. But that may not work when dealing with large no. of objects
-- A tech paper about all the complex attribute operations and their
- translations into efficient SQL statements.
-
-Long term:
-- rewrite makefiles like pvfs, look at the paper
-- collection ids grow from botton, user ids grow from top.
-- implement sense to report the stage where command failed.
-- profiling infrastructure for target
-- if setattr with length zero, don't delete it, since that attr still has
- definition. this situation is different from where attr has no definition
- XXX:SD modifiy query. test attr when BLOB == NULL, does it remove the
- attr. change the semantics to set attr of zero length rather than
- removing the attr. change the semantic decision (XXX:SD) made of leaving
- no side-effects in case of create and other commands
-- use triggers for time attrs, might slow things down
- use datatime functions to set timestamps. use
- CURRENT_TIMESTAMP/CURRENT_TIME to encode creation time of object
-- speeding up file create operations with OSDs. i.e. PVFS using our
- optimized create ops
-- copy sqlite source into the project directory, compile with Multithreaded
- and other options.
-- handle access to directory page offset
-- test different format scenarios ??
-- implement, quota, security
-- a new db backend?
-
-Misc:
-+ change return values of db.c and attr.c from SQLITE return to OSD return
- codes
-- composing multiple objects into a file
-
-# Thu May 29 23:12:13 EDT 2008
-- change the getattr and setattr to do bulk attr setting/getting
-- implement clear, punch and other new commands.
-- check whether the implementation matches the old spec.
-- update the comments with names of new sections
diff --git a/oldcode/src/gsl/resources/storage/test/README b/oldcode/src/gsl/resources/storage/test/README
deleted file mode 100644
index 64b8c26..0000000
--- a/oldcode/src/gsl/resources/storage/test/README
+++ /dev/null
@@ -1,3 +0,0 @@
-compile osd test program like this for now:
-
-gcc -I../osd-target -I../osd-util -g -o test-osd-normal test-osd-normal.c -L../osd-target -L../osd-util -losdtgt -losdutil -lsqlite3 -lm
diff --git a/oldcode/src/gsl/resources/storage/test/module.mk.in b/oldcode/src/gsl/resources/storage/test/module.mk.in
deleted file mode 100644
index cb55b81..0000000
--- a/oldcode/src/gsl/resources/storage/test/module.mk.in
+++ /dev/null
@@ -1,13 +0,0 @@
-DIR := resources/storage/test
-
-ifneq (,$(BUILD_OSD))
-GSTESTSRC += $(DIR)/storage1.gs \
- $(DIR)/test-osd.gs
-
-$(DIR)/test-osd: lib/libosc-osd.a
-$(DIR)/storage1: lib/libosc-osd.a
-
-MODLIBS_$(DIR) = -lpthread -losc-osd -lsqlite3 -lm
-MODCFLAGS_$(DIR) = -I$(srcdir)/resources/storage/osd-target -D_GNU_SOURCE
-
-endif
diff --git a/oldcode/src/gsl/resources/storage/test/storage1.gs b/oldcode/src/gsl/resources/storage/test/storage1.gs
deleted file mode 100644
index 28606c5..0000000
--- a/oldcode/src/gsl/resources/storage/test/storage1.gs
+++ /dev/null
@@ -1,184 +0,0 @@
-
-#include <stdio.h>
-#include "../../../include/gs.h"
-#include "../gs-storage.gsh"
-#include "gs-config.h"
-
-#define OID1 (GS_STO_MIN_ID)
-#define OID2 (GS_STO_MIN_ID + 1)
-#define OID3 (GS_STO_MIN_ID + 2)
-
-/* TODO: this needs to be in a header somewhere */
-#ifndef llu
-#if SIZEOF_LONG_INT == 4
-# define llu(x) (x)
-# define lld(x) (x)
-# define SCANF_lld "%lld"
-#elif SIZEOF_LONG_INT == 8
-# define llu(x) (unsigned long long)(x)
-# define lld(x) (long long)(x)
-# define SCANF_lld "%ld"
-#else
-# error Unexpected sizeof(long int)
-#endif
-#endif
-
-
-static __blocking int dostorage(void)
-{
- int ret1=0, ret2=0, ret3=0;
- uint64_t out_oid1, out_oid2, out_oid3;
- uint32_t page = GS_STO_MIN_ATTRPG;
- uint32_t number = 1;
- char *test = "foo";
- char test2[4];
- const void* val = test;
- void* val2 = test2;
- int len = 4;
-
- pwait
- {
- pbranch
- {
- printf("branch for object with oid=%llu\n", llu(OID1));
- ret1 = gs_storage_create(OID1, &out_oid1);
- if(ret1 != 0)
- {
- printf("Error creating oid=%llu: %d\n", llu(OID1), ret1);
- pbreak;
- }
-
- ret1 = gs_storage_setattr_list(OID1, 1, &page, &number,
- &val, &len);
- if(ret1 != 0)
- {
- printf("Error setattr on oid=%llu: %d\n", llu(OID1), ret1);
- pbreak;
- }
-
- ret1 = gs_storage_getattr_list(OID1, 1, &page, &number,
- &val2, &len);
- if(ret1 != 0)
- {
- printf("Error getattr on oid=%llu: %d\n", llu(OID1), ret1);
- pbreak;
- }
- printf("Got attr value: %s\n with len: %d\n", test2, len);
-
- ret1 = gs_storage_remove(OID1);
- if(ret1 != 0)
- {
- printf("Error creating oid=%llu: %d\n", llu(OID1), ret1);
- pbreak;
- }
- }
-
- pbranch
- {
- printf("branch for object with oid=%llu\n", llu(OID2));
- ret2 = gs_storage_create(OID2, &out_oid2);
- if(ret2 != 0)
- {
- printf("Error creating oid=%llu: %d\n", llu(OID2), ret2);
- pbreak;
- }
-
- ret2 = gs_storage_remove(OID2);
- if(ret2 != 0)
- {
- printf("Error creating oid=%llu: %d\n", llu(OID2), ret2);
- pbreak;
- }
- }
-
- pbranch
- {
- printf("branch for object with oid=%llu\n", llu(OID3));
- ret3 = gs_storage_create(OID3, &out_oid3);
- if(ret3 != 0)
- {
- printf("Error creating oid=%llu: %d\n", llu(OID3), ret3);
- pbreak;
- }
-
- ret3 = gs_storage_remove(OID3);
- if(ret3 != 0)
- {
- printf("Error creating oid=%llu: %d\n", llu(OID3), ret3);
- pbreak;
- }
- }
- }
-
- if(ret1 == 0 && ret2 == 0 && ret3 == 0)
- {
- printf("All tests succeeded.\n");
- }
- else
- {
- printf("Something failed.\n");
- }
-
- return 0;
-}
-
-int done = 0;
-
-static void done_callback(void *up, int ret)
-{
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_context_t ctx;
- int pc = 0;
- gs_op_id_t op_id;
- int mode = GS_STO_PROG_POLL;
-
- if(argc != 2)
- {
- fprintf(stderr, "Usage: storage1 <1|2>\n");
- fprintf(stderr, " # 1 for polling\n");
- fprintf(stderr, " # 2 for thread-per-op\n");
- return(-1);
- }
-
- sscanf(argv[1], "%d", &mode);
- if(mode > 2 || mode < 1)
- {
- fprintf(stderr, "Usage: storage1 <1|2>\n");
- fprintf(stderr, " # 1 for polling\n");
- fprintf(stderr, " # 2 for thread-per-op\n");
- return(-1);
- }
-
- if(mode == 1)
- printf("trying polled mode.\n");
- else
- printf("trying thread-per-op mode.\n");
-
- gs_storage_init(mode, "/tmp/gs-osd");
- gs_context_create(&ctx, 1, "storage");
-
- dostorage_post(done_callback, NULL, NULL, ctx, &op_id);
- while(done == 0)
- {
- gs_poll(ctx, 500);
- printf("polled %d times\n", ++pc);
- fflush(NULL);
- }
-
- gs_storage_finalize();
- gs_context_destroy(ctx);
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/resources/storage/test/test-osd.gs b/oldcode/src/gsl/resources/storage/test/test-osd.gs
deleted file mode 100644
index ad550d0..0000000
--- a/oldcode/src/gsl/resources/storage/test/test-osd.gs
+++ /dev/null
@@ -1,253 +0,0 @@
-#include <stdio.h>
-#include <string.h>
-#include <assert.h>
-#include <limits.h>
-#include <errno.h>
-
-#include "osd.h"
-#include "osd-defs.h"
-#include "osd-util.h"
-#include "sense.h"
-#include "gs-config.h"
-
-/* TODO: this needs to be in a header somewhere */
-#ifndef llu
-#if SIZEOF_LONG_INT == 4
-# define llu(x) (x)
-# define lld(x) (x)
-# define SCANF_lld "%lld"
-#elif SIZEOF_LONG_INT == 8
-# define llu(x) (unsigned long long)(x)
-# define lld(x) (long long)(x)
-# define SCANF_lld "%ld"
-#else
-# error Unexpected sizeof(long int)
-#endif
-#endif
-
-/* taken from OSC OSD test programs */
-static inline void set_qce(uint8_t *cp, uint32_t page, uint32_t number,
- uint16_t min_len, const void *min_val,
- uint16_t max_len, const void *max_val)
-{
- uint16_t len = 4 + 4 + 2 + min_len + 2 + max_len;
- set_htons(&cp[2], len);
- set_htonl(&cp[4], page);
- set_htonl(&cp[8], number);
- set_htons(&cp[12], min_len);
- memcpy(&cp[14], min_val, min_len);
- set_htons(&cp[14+min_len], max_len);
- memcpy(&cp[16+min_len], max_val, max_len);
-}
-
-/* test-osd-normal:
- * Test program to exercise basic object commands from OSC OSD
- * implementation.
- */
-int main(int argc, char **argv)
-{
- int ret = 0;
- static struct osd_device osd;
- uint8_t sense[OSD_MAX_SENSE];
- uint64_t part_id;
- uint64_t oid1 = OBJECT_OID_LB + 101;
- uint64_t oid2 = OBJECT_OID_LB + 102;
- uint64_t oid3 = OBJECT_OID_LB + 103;
- uint64_t coll1 = COLLECTION_OID_LB + 201;
- int buffer[1024];
- int buffer2[256];
- uint64_t outlen;
- int i;
- uint32_t attr_page1 = 5;
- uint32_t attr_num1 = 1;
- uint64_t attr_val = 33;
- uint8_t *cp = NULL;
- uint64_t min = 0, max = 0;
- uint32_t qll = 0;
- void* matcheslist = Calloc(1, 4096);
- uint32_t add_len;
- uint64_t tmp_oid;
-
- /* destroy old osd storage */
- ret = system("rm -rf /tmp/osd");
-
- /* create new osd device */
- ret = osd_open("/tmp/osd", &osd);
- if(ret < 0)
- {
- errno = -ret;
- perror("osd_open");
- return(-1);
- }
-
- /* create a partition */
- /* you can request a particular id value, but we will just let it assign */
- ret = osd_create_partition(&osd, 0, 0, sense);
- if(ret != OSD_OK)
- {
- fprintf(stderr, "Error: osd_create_partition: %s\n",
- osd_sense_as_string(sense, ret));
- return(-1);
- }
-
- /* get partition id out of current command page */
- /* TODO: this doesn't bode well for multithreading. Can each
- * thread do its own osd_open() to have an independent command page?
- */
- part_id = osd.ccap.pid;
-
- printf("partition id: %llu\n", llu(part_id));
- printf("object id 1: %llu\n", llu(oid1));
-
- /* create multiple objects */
- ret = osd_create(&osd, part_id, oid1, 1, 0, sense);
- if(ret == OSD_OK)
- ret = osd_create(&osd, part_id, oid2, 1, 0, sense);
- if(ret == OSD_OK)
- ret = osd_create(&osd, part_id, oid3, 1, 0, sense);
- if(ret != OSD_OK)
- {
- fprintf(stderr, "Error: osd_create: %s\n",
- osd_sense_as_string(sense, ret));
- return(-1);
- }
-
- for(i=0; i<256; i++)
- {
- buffer[i] = i;
- }
-
- /* write some data */
- /* note: listio and vectored writes are possible through the same api;
- * description is encoded at the front of the buffer
- */
- ret = osd_write(&osd, part_id, oid1, (256*sizeof(int)), 0, (const
- uint8_t*)buffer, 0, sense, DDT_CONTIG);
- if(ret != OSD_OK)
- {
- fprintf(stderr, "Error: osd_write(DDT_CONTIG): %s\n",
- osd_sense_as_string(sense, ret));
- return(-1);
- }
-
- /* read data back out */
- ret = osd_read(&osd, part_id, oid1, (256*sizeof(int)), 0, NULL,
- (uint8_t*)buffer2, &outlen, 0, sense, DDT_CONTIG);
- if(ret != OSD_OK)
- {
- fprintf(stderr, "Error: osd_read(DDT_CONTIG): %s\n",
- osd_sense_as_string(sense, ret));
- return(-1);
- }
-
- for(i=0; i<256; i++)
- {
- assert(buffer2[i] == i);
- }
-
- /* set attributes (obj 1) */
- set_htonll((void*)buffer, 32);
- ret = osd_set_attributes(&osd, part_id, oid1, attr_page1, attr_num1,
- buffer, sizeof(attr_val), 0, 0, sense);
- if(ret != OSD_OK)
- {
- fprintf(stderr, "Error: osd_set_attributes(): %s\n",
- osd_sense_as_string(sense, ret));
- return(-1);
- }
-
- /* set attributes (obj 2) */
- set_htonll((void*)buffer, 33);
- ret = osd_set_attributes(&osd, part_id, oid2, attr_page1, attr_num1,
- buffer, sizeof(attr_val), 0, 0, sense);
- if(ret != OSD_OK)
- {
- fprintf(stderr, "Error: osd_set_attributes(): %s\n",
- osd_sense_as_string(sense, ret));
- return(-1);
- }
-
- /* create a collection */
- ret = osd_create_collection(&osd, part_id, coll1, 0, sense);
- if(ret != OSD_OK)
- {
- fprintf(stderr, "Error: osd_create_collection(): %s\n",
- osd_sense_as_string(sense, ret));
- return(-1);
- }
-
- /* add all 3 object to collection */
- /* note: 2 types of collections available; the normal one, in which if
- * the object is deleted it will disappear from the collection, and then
- * a tracking collection, in which the object id will stay in the
- * collection after deletion
- */
- set_htonll((void*)buffer, coll1);
- ret = osd_set_attributes(&osd, part_id, oid1, USER_COLL_PG, 1, &buffer, sizeof(coll1), 0, 0, sense);
- if(ret == OSD_OK)
- ret = osd_set_attributes(&osd, part_id, oid2, USER_COLL_PG, 1, &buffer, sizeof(coll1), 0, 0, sense);
- if(ret == OSD_OK)
- ret = osd_set_attributes(&osd, part_id, oid3, USER_COLL_PG, 1, &buffer, sizeof(coll1), 0, 0, sense);
- if(ret != OSD_OK)
- {
- fprintf(stderr, "Error: osd_set_attributes(COLLECTION_PG): %s\n",
- osd_sense_as_string(sense, ret));
- return(-1);
- }
-
- /* query collection to find objects that have a value between 30 and 40 */
- /* note: we have to pack the query into a buffer in a particular format */
- qll = 0;
- min = 30, max= 40;
- set_htonll((uint8_t *)&min, min);
- set_htonll((uint8_t *)&max, max);
- memset(buffer, 0, 1024);
- cp = (void*)buffer;
- cp[0] = 0x0;
- set_qce(&cp[4], attr_page1, attr_num1, sizeof(min), &min, sizeof(max), &max);
- qll += 4 + (4+4+4+2+sizeof(min)+2+sizeof(max));
-
- ret = osd_query(&osd, part_id, coll1, qll, 4096, buffer, matcheslist,
- &outlen, 0, sense);
- if(ret != OSD_OK)
- {
- fprintf(stderr, "Error: osd_query(): %s\n",
- osd_sense_as_string(sense, ret));
- return(-1);
- }
-
- /* decode query response (should match 2 objects) */
- cp = matcheslist;
- add_len = get_ntohll(&cp[0]);
- add_len-= 5;
- cp += MIN_ML_LEN;
- printf("query returned %u hits:\n", add_len/8);
- while (add_len)
- {
- tmp_oid = get_ntohll(cp);
- printf("\t%llu\n", llu(tmp_oid));
- cp += 8;
- add_len -= 8;
- }
-
-
- /* shut down osd */
- ret = osd_close(&osd);
- if(ret < 0)
- {
- errno = -ret;
- perror("osd_close");
- return(-1);
- }
-
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/resources/storage/testfile.txt b/oldcode/src/gsl/resources/storage/testfile.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/oldcode/src/gsl/resources/timer/gs-timer.c b/oldcode/src/gsl/resources/timer/gs-timer.c
deleted file mode 100644
index f577c77..0000000
--- a/oldcode/src/gsl/resources/timer/gs-timer.c
+++ /dev/null
@@ -1,228 +0,0 @@
-
-#define _GNU_SOURCE
-
-#include <time.h>
-#include <sys/time.h>
-#include <errno.h>
-#include "include/gs.h"
-#include "include/gs-op.h"
-#include "include/gs-oplist.h"
-#include "include/gs-opcache.h"
-#include "resources/timer/gs-timer.h"
-
-#define TIMER_DEFAULT_SIZE 1024
-
-static gs_opcache_t timer_opcache;
-static gs_oplist_t timer_oplist;
-static gs_mutex_t timer_mutex = GS_MUTEX_INITIALIZER;
-
-static int gs_timer_resource_id;
-
-struct timer_op
-{
- struct timeval timer;
- gs_op_id_t op_id;
- struct gs_op op;
-};
-
-gs_ret_t gs_timer_post(
- int millisecs,
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id)
-{
- struct timeval adjust, now;
- struct gs_op *op;
- struct timer_op *top;
- struct gs_op *iter, *holder;
- struct gs_op *gs_op_iter;
- struct timer_op *timer_op_iter;
-
- op = gs_opcache_get(timer_opcache);
- gs_op_fill(op, callback, user_ptr, hints, ctx);
-
- top = gs_op_entry(op, struct timer_op, op);
- top->op_id = gs_id_gen(gs_timer_resource_id, (uint64_t)(op->cache_id));
-
- adjust.tv_sec = (int)(millisecs / 1e3);
- adjust.tv_usec = (millisecs % 1000) * 1e3;
- gettimeofday(&now, NULL);
- timeradd(&adjust, &now, &(top->timer));
-
- gs_mutex_lock(&timer_mutex);
- holder = gs_oplist_peek(&timer_oplist);
- gs_oplist_for_each(iter, &timer_oplist)
- {
- timer_op_iter = gs_op_entry(iter, struct timer_op, op);
-
- if(timercmp(&(top->timer), &(timer_op_iter->timer), <))
- {
- break;
- }
- holder = iter;
- }
-
- /* insert after the op with a timer value just
- * greater than the requested timer
- */
- if(holder)
- {
- gs_oplist_insert_after(op, holder, &timer_oplist);
- }
- else
- {
- gs_oplist_add(op, &timer_oplist);
- }
-
- gs_mutex_unlock(&timer_mutex);
- *op_id = top->op_id;
- return 0;
-}
-gs_ret_t (* gs_timer)(
- int millisecs,
- void (*callback)(void *ptr, int ret),
- void *user_ptr,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id) = gs_timer_post;
-
-static int gs_timer_poll(gs_context_t context, int millisecs)
-{
- struct gs_op *gop;
- struct timer_op *top;
- struct timeval adjust, now, diff, timeout;
- struct timespec ts_diff, rem;
- int ret;
-
- gs_mutex_lock(&timer_mutex);
- gop = gs_oplist_peek(&timer_oplist);
- top = gs_op_entry(gop, struct timer_op, op);
-
- gettimeofday(&now, NULL);
-
- /* complete the timers that have hit (t < now) */
- while(top && timercmp(&(top->timer), &now, <))
- {
-
- /* what sort of errors could we return? */
-
- /* this timer has hit, so we pop and call callback */
- gop = gs_oplist_pop(&timer_oplist);
- gs_opcache_complete_op(timer_opcache, gop, 0);
-
- /* setup for next iteration */
- gop = gs_oplist_peek(&timer_oplist);
- top = gs_op_entry(gop, struct timer_op, op);
- }
-
- adjust.tv_sec = (int)(millisecs / 1e3);
- adjust.tv_usec = (millisecs % 1000) * 1e3;
- timeradd(&now, &adjust, &timeout);
-
- gop = gs_oplist_peek(&timer_oplist);
- top = gs_op_entry(gop, struct timer_op, op);
-
- /* sleep for timers that will hit before
- * timeout is reached (t < (now+millisecs)) */
- while(top && timercmp(&(top->timer), &timeout, <))
- {
- gettimeofday(&now, NULL);
- timersub(&(top->timer), &now, &diff);
-
- /* timer may have hit between check and getting current time,
- * in which case we don't need to sleep
- */
- if(diff.tv_sec >= 0)
- {
- TIMEVAL_TO_TIMESPEC(&diff, &ts_diff);
-
- /* this timer will hit before the timeout is reached,
- * so we pop, sleep, and call callback */
- ret = nanosleep(&ts_diff, &rem);
- if(ret != 0)
- {
- gs_invoke_callback(gop, errno);
- gs_mutex_unlock(&timer_mutex);
- return -EINTR;
- }
- }
-
- gop = gs_oplist_pop(&timer_oplist);
- gs_opcache_complete_op(timer_opcache, gop, 0);
-
- /* setup for next iteration */
- gop = gs_oplist_peek(&timer_oplist);
- top = gs_op_entry(gop, struct timer_op, op);
- }
-
- /* no more timers within this timeout window. sleep for the rest of the timeout */
- gettimeofday(&now, NULL);
- timersub(&timeout, &now, &diff);
- if(diff.tv_sec >= 0)
- {
- TIMEVAL_TO_TIMESPEC(&diff, &ts_diff);
- nanosleep(&ts_diff, &rem);
- }
-
- gs_mutex_unlock(&timer_mutex);
-
- return 0;
-}
-
-static int gs_timer_cancel(gs_context_t gs_ctx, gs_op_id_t op_id)
-{
- int cache_id, resource_id;
- gs_mutex_lock(&timer_mutex);
- struct gs_op *op;
- struct timer_op *top;
-
- cache_id = gs_id_lookup(op_id, &resource_id);
- assert(resource_id == gs_timer_resource_id);
-
- op = gs_opcache_lookup(timer_opcache, (int)cache_id);
- top = gs_op_entry(op, struct timer_op, op);
- gs_list_del(&op->link);
- gs_opcache_put(timer_opcache, op);
-
- gs_mutex_unlock(&timer_mutex);
-
- return 0;
-}
-
-struct gs_resource gs_timer_resource =
-{
- .resource_name = "timer",
- .poll_context = gs_timer_poll,
- .cancel = gs_timer_cancel
-};
-
-int gs_timer_init(void)
-{
- int ret;
-
- GS_OPLIST_INIT(&timer_oplist);
- ret = GS_OPCACHE_INIT(struct timer_op, op, TIMER_DEFAULT_SIZE, &timer_opcache);
-
- gs_timer_resource_id = gs_resource_register(&gs_timer_resource);
-
- return ret;
-}
-
-int gs_timer_finalize(void)
-{
- gs_resource_unregister(gs_timer_resource_id);
-
- gs_opcache_destroy(timer_opcache);
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/resources/timer/gs-timer.gsh b/oldcode/src/gsl/resources/timer/gs-timer.gsh
deleted file mode 100644
index a9cbc24..0000000
--- a/oldcode/src/gsl/resources/timer/gs-timer.gsh
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef __GS_TIMER_GSH__
-#define __GS_TIMER_GSH__
-
-#include "include/gs.h"
-
-__blocking int gs_timer(int millisecs);
-
-int gs_timer_init(void);
-int gs_timer_finalize(void);
-
-#endif
-
diff --git a/oldcode/src/gsl/resources/timer/module.mk.in b/oldcode/src/gsl/resources/timer/module.mk.in
deleted file mode 100644
index 3e52b6a..0000000
--- a/oldcode/src/gsl/resources/timer/module.mk.in
+++ /dev/null
@@ -1,5 +0,0 @@
-DIR := resources/timer
-
-GSHDR += $(DIR)/gs-timer.gsh
-
-LIBSRC += $(DIR)/gs-timer.c
diff --git a/oldcode/src/gsl/resources/timer/test/module.mk.in b/oldcode/src/gsl/resources/timer/test/module.mk.in
deleted file mode 100644
index 418718d..0000000
--- a/oldcode/src/gsl/resources/timer/test/module.mk.in
+++ /dev/null
@@ -1,6 +0,0 @@
-DIR := resources/timer/test
-
-GSTESTSRC += $(DIR)/timer1.gs \
- $(DIR)/pthread-compare.gs
-
-MODLIBS_$(DIR)/pthread-compare.gs = -lpthread
diff --git a/oldcode/src/gsl/resources/timer/test/pthread-compare.gs b/oldcode/src/gsl/resources/timer/test/pthread-compare.gs
deleted file mode 100644
index 442bda5..0000000
--- a/oldcode/src/gsl/resources/timer/test/pthread-compare.gs
+++ /dev/null
@@ -1,114 +0,0 @@
-#include <stdio.h>
-#include <pthread.h>
-#include <unistd.h>
-#include "include/gs.h"
-#include "resources/timer/gs-timer.gsh"
-
-gs_mutex_t mutex = GS_MUTEX_INITIALIZER;
-
-static __blocking int gs_dosleep(void)
-{
- pwait
- {
- int i;
-
- for(i = 0; i < 1000; ++i)
- {
- pbranch
- {
- gs_timer(1000);
- }
- }
- }
-
- return 0;
-}
-
-static int done = 0;
-static void done_cb(void *up, int ret)
-{
- done = 1;
-}
-
-static void *threadfun(void *cb)
-{
- sleep(1);
- return NULL;
-}
-
-static void thread_dosleep(void)
-{
- int i, ret;
- void *val;
- pthread_t tid[100];
- for(i = 0; i < 100; ++i)
- {
- ret = pthread_create(&tid[i], NULL, threadfun, NULL);
- if(ret != 0)
- {
- perror("pthread_create failed!\n");
- assert(ret == 0);
- }
- }
-
- for(i = 0; i < 100; ++i)
- {
- pthread_join(tid[i], &val);
- }
-
- return;
-}
-
-
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- gs_context_t ctx;
- struct timeval t1, t2, diff;
-
- gs_timer_init();
-
- gs_context_create(&ctx, 1, "timer");
-
- gettimeofday(&t1, NULL);
- gs_dosleep_post(done_cb, NULL, NULL, ctx, &op_id);
- while (done == 0)
- {
- gs_poll(ctx, 10);
- }
- gettimeofday(&t2, NULL);
- diff.tv_sec = t2.tv_sec - t1.tv_sec;
- diff.tv_usec = t2.tv_usec - t1.tv_usec;
- if(t2.tv_usec < t1.tv_usec)
- {
- diff.tv_sec--;
- diff.tv_usec += 1e6;
- }
- printf("gs time: %d.%06d secs\n", (int)diff.tv_sec, (int)diff.tv_usec);
-
- gettimeofday(&t1, NULL);
- thread_dosleep();
- gettimeofday(&t2, NULL);
- diff.tv_sec = t2.tv_sec - t1.tv_sec;
- diff.tv_usec = t2.tv_usec - t1.tv_usec;
- if(t2.tv_usec < t1.tv_usec)
- {
- diff.tv_sec--;
- diff.tv_usec += 1e6;
- }
- printf("thread time: %d.%06d secs\n", (int)diff.tv_sec, (int)diff.tv_usec);
-
- gs_context_destroy(ctx);
- gs_timer_finalize();
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/resources/timer/test/timer1.gs b/oldcode/src/gsl/resources/timer/test/timer1.gs
deleted file mode 100644
index 4eafaee..0000000
--- a/oldcode/src/gsl/resources/timer/test/timer1.gs
+++ /dev/null
@@ -1,70 +0,0 @@
-
-#include <stdio.h>
-#include "include/gs.h"
-#include "resources/timer/gs-timer.gsh"
-
-static __blocking int dotimer(void)
-{
- pwait
- {
- pbranch
- {
- printf("sleeping for 100 ms\n");
- gs_timer(100);
- printf("100 ms done.\n");
- }
-
- pbranch
- {
- printf("sleeping for 1000 ms\n");
- gs_timer(1000);
- printf("1000 ms done.\n");
- }
-
- pbranch
- {
- printf("sleeping for 10 ms\n");
- gs_timer(10);
- printf("10 ms done.\n");
- }
- }
- return 0;
-}
-
-int done = 0;
-
-static void done_callback(void *up, int ret)
-{
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_context_t ctx;
- int pc = 0;
- gs_op_id_t op_id;
-
- gs_timer_init();
- gs_context_create(&ctx, 1, "timer");
-
- dotimer_post(done_callback, NULL, NULL, ctx, &op_id);
- while(done == 0)
- {
- gs_poll(ctx, 10);
- printf("polled %d times\n", ++pc);
- }
-
- gs_context_destroy(ctx);
- gs_timer_finalize();
-
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/tests/correctness/TODO b/oldcode/src/gsl/tests/correctness/TODO
deleted file mode 100644
index bcac9fd..0000000
--- a/oldcode/src/gsl/tests/correctness/TODO
+++ /dev/null
@@ -1,48 +0,0 @@
-
-* test for pwait within looping construct:
-
-for(;;)
-{
- pwait
- {
- pbranch { }
- pbranch { }
- }
-}
-
-
-* test for break in nested loop:
-
-while()
-{
- for(;;)
- {
- break;
- }
-
- printf("get here?\n");
-}
-
-* test for complex pwait blocks:
-
-pwait
-{
- int i;
- i = 0;
- while(i < 100)
- {
- pbranch { do_blocking(); }
- ++i;
- }
-
- pbranch { do_other_blocking(); }
-}
-
-* test for return within blocking function
-
-* test for __blocking function pointer
-* test that blocking call completes by calling callback works ok
-* test for error messages of unsupported cases:
- - goto
- - switch/case
- - variable declarations after statements
diff --git a/oldcode/src/gsl/tests/correctness/afterwhile.gs b/oldcode/src/gsl/tests/correctness/afterwhile.gs
deleted file mode 100644
index c939aee..0000000
--- a/oldcode/src/gsl/tests/correctness/afterwhile.gs
+++ /dev/null
@@ -1,55 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-
-static int here = 0;
-
-static __blocking int run_afterwhile(void)
-{
- int i, ret;
- int a = 0;
-
- i = 100;
- while(i > 0)
- {
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == ((100-i)+1));
- --i;
- }
- return 0;
-}
-
-static __blocking void run_outer(void)
-{
- run_afterwhile();
- here = 1;
-};
-
-static int done = 0;
-
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_outer_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- assert(here == 1);
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/basic.gs b/oldcode/src/gsl/tests/correctness/basic.gs
deleted file mode 100644
index 0d97eb3..0000000
--- a/oldcode/src/gsl/tests/correctness/basic.gs
+++ /dev/null
@@ -1,50 +0,0 @@
-
-#include <assert.h>
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-
-static __blocking void run_basic(void)
-{
- int ret;
- int a = 0;
-
- ret = btest1(&a);
- assert(a == 1);
- assert(ret == 0);
-
- ret = btest2(&a);
- assert(a == 3);
- assert(ret == 0);
-
- ret = btest3(&a);
- assert(a == 6);
- assert(ret == 0);
-}
-
-static int done = 0;
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_basic_post(basic_cb, myptr, NULL, NULL, &id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
-
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/btest-impl.c b/oldcode/src/gsl/tests/correctness/btest-impl.c
deleted file mode 100644
index 4202ecc..0000000
--- a/oldcode/src/gsl/tests/correctness/btest-impl.c
+++ /dev/null
@@ -1,384 +0,0 @@
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <assert.h>
-#include "include/gs.h"
-#include "include/gs-list.h"
-#include "include/gs-oplist.h"
-#include "include/gs-opcache.h"
-#include "tests/correctness/btest.h"
-#include "pthread.h"
-
-static int btest_resource_id;
-
-struct bsleep_op
-{
- int sleep;
- gs_op_id_t id;
- struct gs_op op;
-};
-
-struct btest_op
-{
- int *value;
- gs_op_id_t id;
- struct gs_op op;
-};
-
-static gs_oplist_t list1;
-static gs_oplist_t list2;
-static gs_oplist_t list3;
-static gs_oplist_t slist;
-static gs_oplist_t clist;
-static gs_oplist_t flist;
-static gs_oplist_t rlist;
-
-static gs_opcache_t test_opcache;
-static gs_opcache_t sleep_opcache;
-
-gs_ret_t ictest1_post(int *a,
- void (*callback)(void *ptr, int ret),
- void *up,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id)
-{
- ++(*a);
- callback(up, 0);
- return GS_COMPLETE;
-}
-gs_ret_t (* ictest1)(int *a,
- void (*callback)(void *ptr, int ret),
- void *up,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id) = ictest1_post;
-
-static void *tctest1_threadfun(void *ptr)
-{
- struct gs_op *op;
- struct btest_op *bop;
- op = (struct gs_op *)ptr;
- bop = gs_op_entry(op, struct btest_op, op);
- *(bop->value) += 1;
- gs_opcache_complete_op(test_opcache, &bop->op, 0);
-
- return NULL;
-}
-
-gs_ret_t tctest1_post(int *a,
- void (*callback)(void *ptr, int ret),
- void *up,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id)
-{
- pthread_t tid;
- struct gs_op *op;
- struct btest_op *bop;
- op = gs_opcache_get(test_opcache);
- gs_op_fill(op, callback, up, hints, ctx);
- bop = gs_op_entry(op, struct btest_op, op);
- bop->value = a;
- bop->id = gs_id_gen(btest_resource_id, (uint64_t)(op->cache_id));
- *op_id = bop->id;
- pthread_create(&tid, NULL, tctest1_threadfun, op);
- usleep(1000);
-
- return GS_POSTED;
-}
-gs_ret_t (* tctest1)(int *a,
- void (*callback)(void *ptr, int ret),
- void *up,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id) = tctest1_post;
-
-gs_ret_t btest1_post(int *a,
- void (*callback)(void *ptr, int ret),
- void *up,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id)
-{
- struct gs_op *op;
- struct btest_op *bop;
- printf("BTEST1: %d\n", *a);
- op = gs_opcache_get(test_opcache);
- gs_op_fill(op, callback, up, hints, ctx);
- bop = gs_op_entry(op, struct btest_op, op);
- bop->value = a;
- bop->id = gs_id_gen(btest_resource_id, (uint64_t)(op->cache_id));
- *op_id = bop->id;
- gs_oplist_push(op, &list1);
-
- return 0;
-}
-gs_ret_t (* btest1)(int *a,
- void (*callback)(void *ptr, int ret),
- void *up,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id) = btest1_post;
-
-gs_ret_t btest2_post(int *a,
- void (*callback)(void *ptr, int ret),
- void *up,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id)
-{
- struct gs_op *op;
- struct btest_op *bop;
- printf("BTEST2: %d\n", *a);
- op = gs_opcache_get(test_opcache);
- gs_op_fill(op, callback, up, hints, ctx);
- bop = gs_op_entry(op, struct btest_op, op);
- bop->value = a;
- bop->id = gs_id_gen(btest_resource_id, (uint64_t)(op->cache_id));
- *op_id = bop->id;
- gs_oplist_push(op, &list2);
-
- return 0;
-}
-gs_ret_t (* btest2)(int *a,
- void (*callback)(void *ptr, int ret),
- void *up,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id) = btest2_post;
-
-gs_ret_t btest3_post(int *a,
- void (*callback)(void *ptr, int ret),
- void *up,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id)
-{
- struct gs_op *op;
- struct btest_op *bop;
- printf("BTEST3: %d\n", *a);
- op = gs_opcache_get(test_opcache);
- gs_op_fill(op, callback, up, hints, ctx);
- bop = gs_op_entry(op, struct btest_op, op);
- bop->value = a;
- bop->id = gs_id_gen(btest_resource_id, (uint64_t)(op->cache_id));
- *op_id = bop->id;
- gs_oplist_push(op, &list3);
-
- return 0;
-}
-gs_ret_t (* btest3)(int *a,
- void (*callback)(void *ptr, int ret),
- void *up,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id) = btest3_post;
-
-gs_ret_t btest_sleep_post(int secs,
- void (*callback)(void *ptr, int ret),
- void *up,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id)
-{
- struct gs_op *op;
- struct bsleep_op *bop;
- printf("BTEST SLEEP\n");
- op = gs_opcache_get(sleep_opcache);
- gs_op_fill(op, callback, up, hints, ctx);
- bop = gs_op_entry(op, struct bsleep_op, op);
- bop->sleep = secs;
- bop->id = gs_id_gen(btest_resource_id, (uint64_t)(op->cache_id));
- *op_id = bop->id;
- gs_oplist_push(op, &slist);
-
- return 0;
-}
-gs_ret_t (* btest_sleep)(int secs,
- void (*callback)(void *ptr, int ret),
- void *up,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id) = btest_sleep_post;
-
-gs_ret_t btest_forever_post(void (*callback)(void *ptr, int ret),
- void *up,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id)
-{
- struct gs_op *op;
- struct btest_op *bop;
- printf("BTEST FOREVER\n");
- op = gs_opcache_get(test_opcache);
- gs_op_fill(op, callback, up, hints, ctx);
- bop = gs_op_entry(op, struct btest_op, op);
- bop->value = NULL;
- bop->id = gs_id_gen(btest_resource_id, (uint64_t)(op->cache_id));
- *op_id = bop->id;
- gs_oplist_push(op, &flist);
-
- return 0;
-}
-gs_ret_t (* btest_forever)(void (*callback)(void *ptr, int ret),
- void *up,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id) = btest_forever_post;
-
-gs_ret_t btest_random_post(void (*callback)(void *ptr, int ret),
- void *up,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id)
-{
- struct gs_op *op;
- struct btest_op *bop;
- printf("BTEST RANDOM\n");
- op = gs_opcache_get(test_opcache);
- gs_op_fill(op, callback, up, hints, ctx);
- bop = gs_op_entry(op, struct btest_op, op);
- bop->value = NULL;
- bop->id = gs_id_gen(btest_resource_id, (uint64_t)(op->cache_id));
- *op_id = bop->id;
- gs_oplist_push(op, &rlist);
-
- return 0;
-}
-gs_ret_t (* btest_random)(void (*callback)(void *ptr, int ret),
- void *up,
- gs_hints_t hints,
- gs_context_t ctx,
- gs_op_id_t *op_id) = btest_random_post;
-
-static struct bsleep_op * poll_sleep_list(void)
-{
- struct gs_op *t;
- t = gs_oplist_pop(&slist);
- if(t)
- {
- return gs_op_entry(t, struct bsleep_op, op);
- }
- return NULL;
-}
-
-static struct btest_op * poll_list(gs_oplist_t *list)
-{
- struct gs_op *t;
- t = gs_oplist_pop(list);
- if(t)
- {
- return gs_op_entry(t, struct btest_op, op);
- }
- return NULL;
-}
-
-static int btest_poll(gs_context_t context, int ms)
-{
- struct btest_op *b;
- struct bsleep_op *s;
-
- b = poll_list(&list1);
- if(b)
- {
- *(b->value) += 1;
- gs_opcache_complete_op(test_opcache, &b->op, 0);
- }
-
- b = poll_list(&list2);
- if(b)
- {
- *(b->value) += 2;
- gs_opcache_complete_op(test_opcache, &b->op, 0);
- }
-
- b = poll_list(&list3);
- if(b)
- {
- *(b->value) += 3;
- gs_opcache_complete_op(test_opcache, &b->op, 0);
- }
-
- b = poll_list(&clist);
- if(b)
- {
- gs_opcache_complete_op(test_opcache, &b->op, -1);
- }
-
- b = poll_list(&rlist);
- if(b)
- {
- gs_opcache_complete_op(test_opcache, &b->op, random());
- }
-
- s = poll_sleep_list();
- if(s)
- {
- sleep(s->sleep);
- gs_opcache_complete_op(sleep_opcache, &s->op, 0);
- }
- return 0;
-}
-
-static int btest_cancel(gs_context_t ctx, gs_op_id_t op_id)
-{
- struct gs_op *t, *tmp;
- struct btest_op *b;
-
- gs_oplist_for_each_safe(t, tmp, &flist)
- {
- b = gs_op_entry(t, struct btest_op, op);
- if(b->id == op_id)
- {
- gs_oplist_del(t, &flist);
- printf("forever op cancelled\n");
- gs_oplist_push(&b->op, &clist);
- }
- }
-
- return 0;
-}
-
-struct gs_resource btest_resource =
-{
- .resource_name = "btest",
- .poll_context = btest_poll,
- .cancel = btest_cancel
-};
-
-int btest_init(void)
-{
- btest_resource_id = gs_resource_register(&btest_resource);
-
- GS_OPCACHE_INIT(struct bsleep_op, op, 1024, &sleep_opcache);
- GS_OPCACHE_INIT(struct btest_op, op, 1024, &test_opcache);
-
- GS_OPLIST_INIT(&list1);
- GS_OPLIST_INIT(&list2);
- GS_OPLIST_INIT(&list3);
- GS_OPLIST_INIT(&slist);
- GS_OPLIST_INIT(&clist);
- GS_OPLIST_INIT(&flist);
- GS_OPLIST_INIT(&rlist);
-
- return 0;
-}
-
-int btest_finalize(void)
-{
- gs_resource_unregister(btest_resource_id);
-
- gs_opcache_destroy(sleep_opcache);
- gs_opcache_destroy(test_opcache);
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/tests/correctness/btest.gsh b/oldcode/src/gsl/tests/correctness/btest.gsh
deleted file mode 100644
index ee780c6..0000000
--- a/oldcode/src/gsl/tests/correctness/btest.gsh
+++ /dev/null
@@ -1,56 +0,0 @@
-#ifndef __BTEST_GSH__
-#define __BTEST_GSH__
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "include/gs.h"
-#include "include/gs-op.h"
-
-/* These interfaces are used to test the gsl code for correctness. They
- * emulate a basic resource with blocking functions, using different completion
- * techniques (queue/polling, threads, immediate completion).
- */
-
-/* These three functions increment the integer pointer by 1, 2, and 3 respectively,
- * by first storing the operation on a queue and completing the operation through
- * a poll call.
- */
-
-__blocking int btest1(int *a);
-__blocking int btest2(int *b);
-__blocking int btest3(int *c);
-
-/* This function sleeps for the specified seconds. This is implemented by putting
- * the operation on queue, and performing the sleep() call at polling time.
- */
-__blocking int btest_sleep(int secs);
-
-/* This function is a blocking function that never returns, but can be cancelled.
- * The operation is placed on a queue, and if a call to gs_cancel occurs the operation
- * is completed, otherwise the operation remains on the queue indefinitely.
- */
-__blocking int btest_forever();
-
-/* This function simply returns a random value. The operation is first placed
- * on a queue, and during polling the random value is calculated and the operation
- * completed.
- */
-__blocking int btest_random();
-
-/* This function tests immediate completion. It increments the parameter passed in
- * directly in the post function and calls the callback from the post function, returning
- * the GS_COMPLETE value instead of GS_POSTED.
- */
-__blocking int ictest1(int *a);
-
-/* This function tests completion in a separate thread, where the completion callback may
- * be called before the post call actually completes. The post call starts a thread that
- * increments the value and calls the callback. After the post call starts the thread it
- * sleeps for 1000 microseconds before returning GS_POSTED.
- */
-__blocking int tctest1(int *a);
-
-int btest_init(void);
-int btest_finalize(void);
-
-#endif
diff --git a/oldcode/src/gsl/tests/correctness/forloop.gs b/oldcode/src/gsl/tests/correctness/forloop.gs
deleted file mode 100644
index 8220365..0000000
--- a/oldcode/src/gsl/tests/correctness/forloop.gs
+++ /dev/null
@@ -1,53 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-#include <assert.h>
-
-static __blocking void run_forloop(void)
-{
- int i;
- int a = 0;
- int ret;
-
- for(i = 0; i < 100; ++i)
- {
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == (i*6+1));
- ret = btest2(&a);
- assert(ret == 0);
- assert(a == (i*6+3));
- ret = btest3(&a);
- assert(ret == 0);
- assert(a == (i*6+6));
- if(i == 10)
- break;
- }
-
-}
-
-static int done = 0;
-
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_forloop_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/funptrs.gs b/oldcode/src/gsl/tests/correctness/funptrs.gs
deleted file mode 100644
index 96e3766..0000000
--- a/oldcode/src/gsl/tests/correctness/funptrs.gs
+++ /dev/null
@@ -1,116 +0,0 @@
-
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-
-struct mystruct
-{
- __blocking int (*myfun)(int a);
- int a;
-};
-
-typedef struct
-{
- char *str;
- struct mystruct *p;
- int b;
-} mytype;
-
-typedef mytype ttype;
-
-static __blocking int blocking1(int a)
-{
- int ret;
- int b = a;
-
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == (b + 1));
-
- return 0;
-}
-
-static __blocking int do_blocking(struct mystruct *s)
-{
- return s->myfun(s->a);
-};
-
-static __blocking int do_mtype_blocking(mytype *t)
-{
- return t->p->myfun(t->b);
-}
-
-static __blocking int do_ttype_blocking(ttype *t)
-{
- return t->p->myfun(t->b);
-}
-
-typedef ttype atype;
-
-static __blocking int do_atype_blocking(atype *t)
-{
- return t->p->myfun(t->b);
-}
-
-static int done = 0;
-static void *myptr;
-
-static void basic_cb(void *ptr, int a)
-{
- assert(myptr == ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t id;
- struct mystruct s;
- mytype t;
- myptr = malloc(1);
-
- btest_init();
-
- s.myfun = blocking1;
- s.a = 0;
- do_blocking_post(&s, basic_cb, myptr, NULL, NULL, &id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- done = 0;
- t.p = &s;
- t.b = 100;
- do_mtype_blocking_post(&t, basic_cb, myptr, NULL, NULL, &id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- done = 0;
- t.p = &s;
- t.b = 100;
- do_ttype_blocking_post(&t, basic_cb, myptr, NULL, NULL, &id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- done = 0;
- t.p = &s;
- t.b = 100;
- do_atype_blocking_post(&t, basic_cb, myptr, NULL, NULL, &id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
-
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/icpfor.gs b/oldcode/src/gsl/tests/correctness/icpfor.gs
deleted file mode 100644
index 755cc4a..0000000
--- a/oldcode/src/gsl/tests/correctness/icpfor.gs
+++ /dev/null
@@ -1,56 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-
-static __blocking void run_parfor(void)
-{
- int a[100];
- int ret[100];
-
- memset(a, 0, sizeof(int)*100);
- memset(ret, 0, sizeof(int)*100);
-
- pwait
- {
- int i, j;
- for(i = 0; i < 100; ++i)
- {
- pbranch
- {
- j = i;
- a[i] = i;
- ret[i] = ictest1(&a[i]);
- assert(ret[i] == 0);
- assert(a[i] == (i+1));
- }
- }
- }
-
- printf("pwait done\n");
-}
-
-static int done = 0;
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_parfor_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/if.gs b/oldcode/src/gsl/tests/correctness/if.gs
deleted file mode 100644
index c8ccf18..0000000
--- a/oldcode/src/gsl/tests/correctness/if.gs
+++ /dev/null
@@ -1,66 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-#include <assert.h>
-
-int val = 0;
-
-static __blocking void run_if(void)
-{
- int a = 0;
- int ret;
-
- if(val == 0)
- {
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == 1);
- ret = btest2(&a);
- assert(ret == 0);
- assert(a == 3);
- ret = btest3(&a);
- assert(ret == 0);
- assert(a == 6);
- }
- else
- {
- ret = btest3(&a);
- assert(ret == 0);
- assert(a == 3);
- ret = btest2(&a);
- assert(ret == 0);
- assert(a == 5);
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == 6);
- }
-}
-
-static int done = 0;
-
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- printf("%p\n", myptr);
-
- btest_init();
- val = atoi(argv[1]);
- run_if_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/ifnbelse.gs b/oldcode/src/gsl/tests/correctness/ifnbelse.gs
deleted file mode 100644
index c8c059d..0000000
--- a/oldcode/src/gsl/tests/correctness/ifnbelse.gs
+++ /dev/null
@@ -1,56 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-#include <assert.h>
-
-int val = 0;
-
-static __blocking void run_ifnbelse(void)
-{
- int a = 0;
- int ret;
-
- if(val == 0)
- {
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == 1);
- }
- else
- {
- printf("ELSE\n");
- }
- ret = btest3(&a);
- assert(ret == 0);
- if(val == 0) assert(a == 4);
- else assert(a == 3);
-}
-
-static int done = 0;
-
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- printf("%p\n", myptr);
-
- btest_init();
- val = atoi(argv[1]);
- run_ifnbelse_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/ifnoelse.gs b/oldcode/src/gsl/tests/correctness/ifnoelse.gs
deleted file mode 100644
index bd0af76..0000000
--- a/oldcode/src/gsl/tests/correctness/ifnoelse.gs
+++ /dev/null
@@ -1,52 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-#include <assert.h>
-
-int val = 0;
-
-static __blocking void run_ifnoelse(void)
-{
- int a = 0;
- int ret;
-
- if(val == 0)
- {
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == 1);
- }
- ret = btest3(&a);
- assert(ret == 0);
- if(val == 0) assert(a == 4);
- else assert(a == 3);
-}
-
-static int done = 0;
-
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- printf("%p\n", myptr);
-
- btest_init();
- val = atoi(argv[1]);
- run_ifnoelse_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/ifnoelse2.gs b/oldcode/src/gsl/tests/correctness/ifnoelse2.gs
deleted file mode 100644
index 3be56c9..0000000
--- a/oldcode/src/gsl/tests/correctness/ifnoelse2.gs
+++ /dev/null
@@ -1,54 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-#include <assert.h>
-
-int val = 0;
-
-static __blocking void run_ifnoelse2(void)
-{
- int a = 0;
- int ret;
-
- if(val == 0)
- {
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == 1);
- }
-
- a += 10;
- ret = btest3(&a);
- assert(ret == 0);
- if(val == 0) assert(a == 14);
- else assert(a == 13);
-}
-
-static int done = 0;
-
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- printf("%p\n", myptr);
-
- btest_init();
- val = atoi(argv[1]);
- run_ifnoelse2_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/mixed.gs b/oldcode/src/gsl/tests/correctness/mixed.gs
deleted file mode 100644
index b49e8a8..0000000
--- a/oldcode/src/gsl/tests/correctness/mixed.gs
+++ /dev/null
@@ -1,101 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-#include <assert.h>
-
-int val = 0;
-
-static __blocking void run_mixed(void)
-{
- int i, j;
- int a = 0;
- int ret;
-
- i = 100;
- while(i > 0)
- {
- for(j = 0; j < 100; ++j)
- {
- if(val == 0)
- {
- printf("no calls\n");
- }
- else if(val == 1)
- {
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == (100-i)*300+j*3+1);
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == (100-i)*300+j*3+2);
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == (100-i)*300+j*3+3);
- }
- else if(val == 2)
- {
- ret = btest2(&a);
- assert(ret == 0);
- assert(a == (100-i)*600+j*6+2);
- ret = btest2(&a);
- assert(ret == 0);
- assert(a == (100-i)*600+j*6+4);
- ret = btest2(&a);
- assert(ret == 0);
- assert(a == (100-i)*600+j*6+6);
- }
- else if(val == 3)
- {
- ret = btest3(&a);
- assert(ret == 0);
- assert(a == (100-i)*900+j*9+3);
- ret = btest3(&a);
- assert(ret == 0);
- assert(a == (100-i)*900+j*9+6);
- ret = btest3(&a);
- assert(ret == 0);
- assert(a == (100-i)*900+j*9+9);
- }
- else
- {
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == (100-i)*600+j*6+1);
- ret = btest2(&a);
- assert(ret == 0);
- assert(a == (100-i)*600+j*6+3);
- ret = btest3(&a);
- assert(ret == 0);
- assert(a == (100-i)*600+j*6+6);
- }
- }
- --i;
- }
-}
-
-static int done = 0;
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
-
- val = atoi(argv[1]);
- run_mixed_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/module.mk.in b/oldcode/src/gsl/tests/correctness/module.mk.in
deleted file mode 100644
index 47d9341..0000000
--- a/oldcode/src/gsl/tests/correctness/module.mk.in
+++ /dev/null
@@ -1,56 +0,0 @@
-DIR := tests/correctness
-
-GSTESTSRC += $(DIR)/icpfor.gs \
- $(DIR)/tcpfor.gs \
- $(DIR)/afterwhile.gs \
- $(DIR)/basic.gs \
- $(DIR)/params.gs \
- $(DIR)/forloop.gs \
- $(DIR)/whileloop.gs \
- $(DIR)/parallel1.gs \
- $(DIR)/parallel2.gs \
- $(DIR)/parallel3.gs \
- $(DIR)/parallel4.gs \
- $(DIR)/parallelfor.gs \
- $(DIR)/parallelfor2.gs \
- $(DIR)/parallelfor3.gs \
- $(DIR)/whilebreak.gs \
- $(DIR)/whilebreak2.gs \
- $(DIR)/whilebreak3.gs \
- $(DIR)/nested.gs \
- $(DIR)/pbreak.gs \
- $(DIR)/pbreak2.gs \
- $(DIR)/pbreak3.gs \
- $(DIR)/pbreak4.gs \
- $(DIR)/pbreak5.gs \
- $(DIR)/pbreak6.gs \
- $(DIR)/pbreak7.gs \
- $(DIR)/pbreak8.gs \
- $(DIR)/if.gs \
- $(DIR)/ifnoelse.gs \
- $(DIR)/ifnoelse2.gs \
- $(DIR)/ifnbelse.gs \
- $(DIR)/multif.gs \
- $(DIR)/mixed.gs \
- $(DIR)/twofors.gs \
- $(DIR)/threefors.gs \
- $(DIR)/funptrs.gs \
- $(DIR)/nbfun.gs \
- $(DIR)/pprivate.gs \
- $(DIR)/pshared.gs \
- $(DIR)/pbranch-with-return.gs
-
-GSHDR += $(DIR)/btest.gsh
-
-TESTLIBSRC += $(DIR)/btest-impl.c
-
-MODLIBS_$(DIR) = -lpthread
-
-TESTPARAMS_$(DIR)/if = 0 1 2 3 4
-TESTPARAMS_$(DIR)/ifnoelse = 0 1
-TESTPARAMS_$(DIR)/ifnoelse2 = 0 1
-TESTPARAMS_$(DIR)/ifnbelse = 0 1
-TESTPARAMS_$(DIR)/multif = 0 1 2 3 4
-TESTPARAMS_$(DIR)/mixed = 0 1 2 3 4
-TESTPARAMS_$(DIR)/twofors = 0 1 2 3 4
-TESTPARAMS_$(DIR)/threefors = 0 1 2 3 4
diff --git a/oldcode/src/gsl/tests/correctness/multif.gs b/oldcode/src/gsl/tests/correctness/multif.gs
deleted file mode 100644
index f7e5947..0000000
--- a/oldcode/src/gsl/tests/correctness/multif.gs
+++ /dev/null
@@ -1,93 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-
-int val = 0;
-
-static __blocking void run_multiif(void)
-{
- int ret;
- int a = 0;
-
- if(val == 0)
- {
- printf("no calls\n");
- }
- else if(val == 1)
- {
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == 1);
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == 2);
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == 3);
- }
- else if(val == 2)
- {
- ret = btest2(&a);
- assert(ret == 0);
- assert(a == 2);
- ret = btest2(&a);
- assert(ret == 0);
- assert(a == 4);
- ret = btest2(&a);
- assert(ret == 0);
- assert(a == 6);
- }
- else if(val == 3)
- {
- ret = btest3(&a);
- assert(ret == 0);
- assert(a == 3);
- ret = btest3(&a);
- assert(ret == 0);
- assert(a == 6);
- ret = btest3(&a);
- assert(ret == 0);
- assert(a == 9);
- }
- else
- {
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == 1);
- ret = btest2(&a);
- assert(ret == 0);
- assert(a == 3);
- ret = btest3(&a);
- assert(ret == 0);
- assert(a == 6);
- }
-}
-
-static int done = 0;
-
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
-
- val = atoi(argv[1]);
- run_multiif_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/nbfun.gs b/oldcode/src/gsl/tests/correctness/nbfun.gs
deleted file mode 100644
index 6d72d04..0000000
--- a/oldcode/src/gsl/tests/correctness/nbfun.gs
+++ /dev/null
@@ -1,83 +0,0 @@
-#include <assert.h>
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-
-static __blocking int run_inner_nbfun1(void)
-{
- int ret;
- int a = 0;
-
- printf("a is: %d\n", a);
- return 1;
-}
-
-static __blocking int run_outer_nbfun1(void)
-{
- return run_inner_nbfun1();
-}
-
-static int done = 0;
-static void cb(void *ptr, int i)
-{
- printf("%p\n", ptr);
- printf("done: %d\n", i);
- done = 1;
-}
-
-static __blocking int run_nbfun2(int a)
-{
- if(a == 0)
- {
- printf("reached dynamic no blocking\n");
- return a;
- }
- else
- {
- return btest1(&a);
- }
-
- return 0;
-}
-
-static int done2 = 0;
-static void cb2(void *ptr, int r)
-{
- printf("%p\n", ptr);
- printf("done: %d\n", r);
- done2 = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_outer_nbfun1_post(cb, myptr, NULL, NULL, &id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- run_nbfun2_post(20, cb2, myptr, NULL, NULL, &id);
-
- while(done2 == 0)
- {
- gs_poll(NULL, 0);
- }
-
- done2 = 0;
- run_nbfun2_post(0, cb2, myptr, NULL, NULL, &id);
-
- while(done2 == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
-
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/nested.gs b/oldcode/src/gsl/tests/correctness/nested.gs
deleted file mode 100644
index 7e9516a..0000000
--- a/oldcode/src/gsl/tests/correctness/nested.gs
+++ /dev/null
@@ -1,50 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-
-static int here = 0;
-
-static __blocking int run_inner(void)
-{
- int ret;
- int a = 0;
-
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == 1);
- return 0;
-}
-
-static __blocking void run_outer(void)
-{
- run_inner();
- here = 1;
-}
-
-static int done = 0;
-
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_outer_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- assert(here == 1);
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/parallel1.gs b/oldcode/src/gsl/tests/correctness/parallel1.gs
deleted file mode 100644
index aca159d..0000000
--- a/oldcode/src/gsl/tests/correctness/parallel1.gs
+++ /dev/null
@@ -1,65 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-#include <assert.h>
-
-static __blocking void run_par1(void)
-{
- int shared = 0;
- int a = 0, b = 0, c = 0;
- int ret1, ret2, ret3;
-
- pwait
- {
- pbranch
- {
- ret1 = btest1(&a);
- assert(ret1 == 0);
- assert(a == 1);
- shared = 1;
- }
-
- pbranch
- {
- ret2 = btest2(&b);
- assert(ret2 == 0);
- shared = 2;
- assert(b == 2);
- }
-
- pbranch
- {
- ret3 = btest3(&c);
- assert(ret3 == 0);
- assert(c == 3);
- }
- }
-
- printf("pwait done\n");
-}
-
-static int done = 0;
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_par1_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/parallel2.gs b/oldcode/src/gsl/tests/correctness/parallel2.gs
deleted file mode 100644
index 0f0f01a..0000000
--- a/oldcode/src/gsl/tests/correctness/parallel2.gs
+++ /dev/null
@@ -1,74 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-#include <assert.h>
-
-static __blocking void run_par2(void)
-{
- int a = 0, b = 0, c = 0;
- int ret1, ret2, ret3;
-
- pwait
- {
- pbranch
- {
- ret1 = btest1(&a);
- assert(ret1 == 0);
- assert(a == 1);
- }
-
- pbranch
- {
- ret2 = btest2(&b);
- assert(ret2 == 0);
- assert(b == 2);
- }
-
- pbranch
- {
- ret3 = btest3(&c);
- assert(ret3 == 0);
- assert(c == 3);
- }
- }
-
- printf("pwait done\n");
-
- ret1 = btest1(&a);
- assert(ret1 == 0);
- assert(a == 2);
-
- ret1 = btest2(&b);
- assert(ret1 == 0);
- assert(b == 4);
-
- ret1 = btest3(&c);
- assert(ret1 == 0);
- assert(c == 6);
-}
-
-static int done = 0;
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_par2_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/parallel3.gs b/oldcode/src/gsl/tests/correctness/parallel3.gs
deleted file mode 100644
index f53e931..0000000
--- a/oldcode/src/gsl/tests/correctness/parallel3.gs
+++ /dev/null
@@ -1,92 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-#include <assert.h>
-
-static __blocking void run_par3(void)
-{
- int a = 0, b = 0, c = 0;
- int ret1, ret2, ret3;
-
- pwait
- {
- pbranch
- {
- ret1 = btest1(&a);
- assert(ret1 == 0);
- assert(a == 1);
- ret1 = btest1(&a);
- assert(ret1 == 0);
- assert(a == 2);
- ret1 = btest1(&a);
- assert(ret1 == 0);
- assert(a == 3);
- }
-
- pbranch
- {
- ret2 = btest2(&b);
- assert(ret2 == 0);
- assert(b == 2);
- ret2 = btest2(&b);
- assert(ret2 == 0);
- assert(b == 4);
- ret2 = btest2(&b);
- assert(ret2 == 0);
- assert(b == 6);
- }
-
- pbranch
- {
- ret3 = btest3(&c);
- assert(ret3 == 0);
- assert(c == 3);
- ret3 = btest3(&c);
- assert(ret3 == 0);
- assert(c == 6);
- ret3 = btest3(&c);
- assert(ret3 == 0);
- assert(c == 9);
- }
- }
-
- printf("pwait done\n");
-
- ret1 = btest1(&a);
- assert(ret1 == 0);
- assert(a == 4);
-
- ret1 = btest2(&a);
- assert(ret1 == 0);
- assert(a == 6);
-
- ret1 = btest3(&a);
- assert(ret1 == 0);
- assert(a == 9);
-}
-
-static int done = 0;
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_par3_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/parallel4.gs b/oldcode/src/gsl/tests/correctness/parallel4.gs
deleted file mode 100644
index 2917c4d..0000000
--- a/oldcode/src/gsl/tests/correctness/parallel4.gs
+++ /dev/null
@@ -1,90 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-#include <assert.h>
-
-static __blocking void run_par4(void)
-{
- int a = 0, b = 0, c = 0;
- int ret1, ret2, ret3;
-
- pwait
- {
- pbranch
- {
- ret1 = btest1(&a);
- assert(ret1 == 0);
- assert(a == 1);
- ret1 = btest1(&a);
- assert(ret1 == 0);
- assert(a == 2);
- ret1 = btest1(&a);
- assert(ret1 == 0);
- assert(a == 3);
- }
-
- pbranch
- {
- ret2 = btest2(&b);
- assert(ret2 == 0);
- assert(b == 2);
- ret2 = btest2(&b);
- assert(ret2 == 0);
- assert(b == 4);
- ret2 = btest2(&b);
- assert(ret2 == 0);
- assert(b == 6);
- }
-
- pbranch
- {
- ret3 = btest3(&c);
- assert(ret3 == 0);
- assert(c == 3);
- ret3 = btest3(&c);
- assert(ret3 == 0);
- assert(c == 6);
- ret3 = btest3(&c);
- assert(ret3 == 0);
- assert(c == 9);
- }
- }
-
- printf("pwait done\n");
-
- ret1 = btest1(&a);
- assert(ret1 == 0);
- assert(a == 4);
- ret1 = btest2(&b);
- assert(ret1 == 0);
- assert(b == 8);
- ret1 = btest3(&c);
- assert(ret1 == 0);
- assert(c == 12);
-}
-
-static int done = 0;
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_par4_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/parallelfor.gs b/oldcode/src/gsl/tests/correctness/parallelfor.gs
deleted file mode 100644
index b2291aa..0000000
--- a/oldcode/src/gsl/tests/correctness/parallelfor.gs
+++ /dev/null
@@ -1,66 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-
-static __blocking void run_parfor(void)
-{
- int a[100];
- int ret[100];
-
- memset(a, 0, sizeof(int)*100);
- memset(ret, 0, sizeof(int)*100);
-
- pwait
- {
- pprivate int i;
- pprivate int j;
- for(i = 0; i < 100; ++i)
- {
- pbranch
- {
- j = i;
- a[i] = i;
- ret[i] = btest1(&a[i]);
- assert(ret[i] == 0);
- assert(a[i] == (i+1));
-
- j = i;
- ret[i] = btest2(&a[i]);
- assert(ret[i] == 0);
- assert(a[i] == (i+3));
-
- ret[i] = btest3(&a[i]);
- assert(ret[i] == 0);
- assert(a[i] == (i+6));
- }
- }
- }
-
- printf("pwait done\n");
-}
-
-static int done = 0;
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_parfor_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/parallelfor2.gs b/oldcode/src/gsl/tests/correctness/parallelfor2.gs
deleted file mode 100644
index b757cfe..0000000
--- a/oldcode/src/gsl/tests/correctness/parallelfor2.gs
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * (C) 2009 The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-
-static __blocking void run_parfor(
- void)
-{
- /* note: if you comment this out, then the test case works fine */
- btest_sleep(1);
-
- pwait
- {
- pprivate int i;
- for (i = 0; i < 2; ++i)
- {
- pbranch
- {
- /* deliberately skip blocking function in one branch */
- if(i != 1)
- {
- btest_sleep(1);
- }
- }
- }
- }
-
- printf("pwait done\n");
-}
-
-static int done = 0;
-static void basic_cb(
- void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(
- int argc,
- char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_parfor_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while (done == 0)
- {
- gs_poll(NULL, 10000);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/tests/correctness/parallelfor3.gs b/oldcode/src/gsl/tests/correctness/parallelfor3.gs
deleted file mode 100644
index 6eba2e4..0000000
--- a/oldcode/src/gsl/tests/correctness/parallelfor3.gs
+++ /dev/null
@@ -1,71 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-
-static __blocking void run_parfor(void)
-{
- int a[100];
- int ret[100];
-
- memset(a, 0, sizeof(int)*100);
- memset(ret, 0, sizeof(int)*100);
-
- pwait
- {
- pprivate int i;
- for(i = 0; i < 100; ++i)
- {
- pbranch
- {
- int foo = i;
-
- a[i] = i;
- ret[i] = btest1(&a[i]);
- assert(ret[i] == 0);
- assert(a[i] == (i+1));
-
- assert(foo == i);
-
- ret[i] = btest2(&a[i]);
- assert(ret[i] == 0);
- assert(a[i] == (i+3));
-
- assert(foo == i);
-
- ret[i] = btest3(&a[i]);
- assert(ret[i] == 0);
- assert(a[i] == (i+6));
-
- assert(foo == i);
- }
- }
- }
-
- printf("pwait done\n");
-}
-
-static int done = 0;
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_parfor_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/params.gs b/oldcode/src/gsl/tests/correctness/params.gs
deleted file mode 100644
index 96dd274..0000000
--- a/oldcode/src/gsl/tests/correctness/params.gs
+++ /dev/null
@@ -1,46 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-
-static __blocking void run_params(int a, const char *b, const char *c)
-{
- int ret;
- ret = btest1(&a);
- printf("%s\n", b);
- assert(ret == 0);
- assert(a == 11);
- ret = btest2(&a);
- printf("%s\n", c);
- assert(ret == 0);
- assert(a == 13);
- ret = btest3(&a);
- printf("%d\n", a);
- assert(ret == 0);
- assert(a == 16);
-}
-
-static int done = 0;
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_params_post(10, "FOO", "BAR", basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/pbreak.gs b/oldcode/src/gsl/tests/correctness/pbreak.gs
deleted file mode 100644
index 4db9868..0000000
--- a/oldcode/src/gsl/tests/correctness/pbreak.gs
+++ /dev/null
@@ -1,74 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-#include <assert.h>
-
-static __blocking void run_pbreak(void)
-{
- int a = 0, b = 0, c = 0;
- int ret1, ret2, ret3, ret4;
-
- pwait
- {
- pbranch
- {
- ret1 = btest1(&a);
- assert(ret1 == 0);
- assert(a == 1);
- }
-
- pbranch
- {
- ret2 = btest2(&b);
- assert(ret2 == 0);
- assert(b == 2);
- ret2 = btest_forever();
- assert(ret2 != 0);
- }
-
- pbranch
- {
- ret3 = btest3(&c);
- assert(ret3 == 0);
- assert(c == 3);
- ret3 = btest1(&c);
- assert(ret3 == 0);
- assert(c == 4);
- }
-
- pbranch
- {
- ret4 = btest_sleep(4);
- assert(ret4 == 0);
- pbreak;
- }
- }
-
- printf("pwait done\n");
-}
-
-static int done = 0;
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_pbreak_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/pbreak2.gs b/oldcode/src/gsl/tests/correctness/pbreak2.gs
deleted file mode 100644
index 1db7b35..0000000
--- a/oldcode/src/gsl/tests/correctness/pbreak2.gs
+++ /dev/null
@@ -1,68 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-
-static __blocking void run_pbreak2(void)
-{
- int a = 0, b = 0, shared = 0;
- int ret;
-
- pwait
- {
- pbranch
- {
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == 1);
- shared += a;
- printf("before pbreak: a == %d!\n", a);
- if(shared > 2)
- {
- pbreak;
- }
- ret = btest2(&a);
- assert(ret == 0);
- assert(a == 3);
- }
-
- pbranch
- {
- ret = btest3(&b);
- assert(ret == 0);
- assert(b == 3);
- shared += b;
-
- ret = btest1(&b);
- assert(ret == 0);
- assert(b == 4);
- }
- }
-
- printf("pwait done\n");
-}
-
-static int done = 0;
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_pbreak2_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/pbreak3.gs b/oldcode/src/gsl/tests/correctness/pbreak3.gs
deleted file mode 100644
index bb5738a..0000000
--- a/oldcode/src/gsl/tests/correctness/pbreak3.gs
+++ /dev/null
@@ -1,77 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-
-static __blocking void run_pbreak3(void)
-{
- int a = 0, b = 0;
- int ret, ret2;
-
- pwait
- {
- pbranch
- {
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == 1);
- printf("before pbreak: a == %d!\n", a);
- if(a > 3)
- {
- printf("hit pbreak!\n");
- pbreak;
- }
- ret = btest2(&a);
- assert(ret == 0);
- assert(a == 3);
- if(a > 1)
- {
- printf("hit pbreak!\n");
- pbreak;
- }
- ret = btest3(&a);
- assert(0);
- }
-
- pbranch
- {
- ret2 = btest1(&b);
- assert(ret2 == 0);
- assert(b == 1);
- ret2 = btest1(&b);
- assert(ret2 == 0);
- assert(b == 2);
- }
- }
-
- printf("pwait done\n");
-
- ret = btest3(&a);
- assert(ret == 0);
- assert(a == 6);
-}
-
-static int done = 0;
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_pbreak3_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/pbreak4.gs b/oldcode/src/gsl/tests/correctness/pbreak4.gs
deleted file mode 100644
index 5e457ca..0000000
--- a/oldcode/src/gsl/tests/correctness/pbreak4.gs
+++ /dev/null
@@ -1,86 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-
-static __blocking void run_pbreak4(void)
-{
- int a = 0, b = 0, c = 0;
- int ret, ret1, ret2;
-
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == 1);
-
- pwait
- {
- pbranch
- {
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == 2);
- if(a > 1)
- {
- printf("hit pbreak!\n");
- pbreak;
- }
- ret = btest3(&a);
- assert(0);
- }
-
- pbranch
- {
- ret1 = btest2(&b);
- assert(ret1 == 0);
- if(b > 1)
- {
- printf("hit pbreak2!\n");
- pbreak;
- }
- }
-
- pbranch
- {
- printf("other pbranch\n");
- ret2 = btest1(&c);
- assert(ret2 == 0);
- assert(c == 1);
- printf("other pbranch2\n");
- ret2 = btest3(&c);
- assert(ret2 == 0);
- assert(c == 4);
- }
- }
-
- printf("pwait done\n");
-
- ret = btest3(&a);
- assert(ret == 0);
- assert(a == 5);
-
-}
-
-static int done = 0;
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_pbreak4_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/pbreak5.gs b/oldcode/src/gsl/tests/correctness/pbreak5.gs
deleted file mode 100644
index 5b3f734..0000000
--- a/oldcode/src/gsl/tests/correctness/pbreak5.gs
+++ /dev/null
@@ -1,82 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-
-static __blocking void run_pbreak5(void)
-{
- int a[100];
- int ret[100];
- int ret1;
- int b = 0;
-
- memset(a, 0, sizeof(int)*100);
-
- ret1 = btest1(&b);
- assert(ret1 == 0);
- assert(b == 1);
-
- pwait
- {
- int i;
-
- pbranch
- {
- ret1 = btest1(&b);
- assert(ret1 == 0);
- assert(b == 2);
- if(b > 1)
- {
- printf("hit pbreak!\n");
- pbreak;
- }
- ret1 = btest3(&b);
- assert(0);
- }
-
- for(i = 0; i < 100; ++i)
- {
- pbranch
- {
- ret[i] = btest2(&a[i]);
- assert(ret[i] == 0);
- assert(a[i] == 2);
- ret[i] = btest3(&a[i]);
- assert(ret[i] == 0);
- assert(a[i] == 5);
- }
- }
- }
-
- printf("pwait done\n");
-
- ret1 = btest3(&b);
- assert(ret1 == 0);
- assert(b == 5);
-
-}
-
-static int done = 0;
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_pbreak5_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/pbreak6.gs b/oldcode/src/gsl/tests/correctness/pbreak6.gs
deleted file mode 100644
index 5642ef8..0000000
--- a/oldcode/src/gsl/tests/correctness/pbreak6.gs
+++ /dev/null
@@ -1,76 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-
-static __blocking void run_pbreak6(void)
-{
- int a[100];
- int b;
- int ret[100];
- int ret1;
-
- memset(a, 0, sizeof(int)*100);
-
- ret1 = btest1(&b);
- assert(ret1 == 0);
- assert(b == 1);
-
- pwait
- {
- int i = 0;
- for(i = 0; i < 100; ++i)
- {
- pbranch
- {
- ret[i] = btest2(&a[i]);
- assert(ret[i] == 0);
- assert(a[i] == 2);
- }
- }
-
- pbranch
- {
- ret1 = btest1(&b);
- if(b > 1)
- {
- printf("hit pbreak!\n");
- pbreak;
- }
- ret1 = btest3(&b);
- assert(0);
- }
- }
-
- printf("pwait done\n");
-
- ret1 = btest3(&b);
- assert(ret1 == 0);
- assert(b == 5);
-
-}
-
-static int done = 0;
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_pbreak6_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/pbreak7.gs b/oldcode/src/gsl/tests/correctness/pbreak7.gs
deleted file mode 100644
index 4878753..0000000
--- a/oldcode/src/gsl/tests/correctness/pbreak7.gs
+++ /dev/null
@@ -1,102 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-#include <assert.h>
-
-static __blocking void run_par1(void)
-{
- int a = 0, b = 0, c = 0;
- int ret1, ret2, ret3;
-
- pwait
- {
- pbranch
- {
- ret1 = btest1(&a);
- if(ret1 != 0)
- {
- printf("Error in branch 1.\n");
- pbreak;
- }
-
- ret1 = btest2(&a);
- if(ret1 != 0)
- {
- printf("Error in branch 1.\n");
- pbreak;
- }
- }
-
- pbranch
- {
- ret2 = btest1(&b);
- if(ret2 != 0)
- {
- printf("Error in branch 2.\n");
- pbreak;
- }
-
- ret2 = btest2(&b);
- if(ret2 != 0)
- {
- printf("Error in branch 2.\n");
- pbreak;
- }
- }
-
- pbranch
- {
- ret3 = btest1(&c);
- if(ret3 != 0)
- {
- printf("Error in branch 3.\n");
- pbreak;
- }
-
- ret3 = btest2(&c);
- if(ret3 != 0)
- {
- printf("Error in branch 3.\n");
- pbreak;
- }
- }
- }
-
- printf("pwait done\n");
-}
-
-static int done = 0;
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_par1_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
-
diff --git a/oldcode/src/gsl/tests/correctness/pbreak8.gs b/oldcode/src/gsl/tests/correctness/pbreak8.gs
deleted file mode 100644
index 904277c..0000000
--- a/oldcode/src/gsl/tests/correctness/pbreak8.gs
+++ /dev/null
@@ -1,103 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-#include <assert.h>
-
-static __blocking void run_par1(void)
-{
- int a = 0, b = 0, c = 0;
- int ret1, ret2, ret3;
-
- pwait
- {
- pbranch
- {
- ret1 = btest1(&a);
- if(ret1 != 0)
- {
- printf("Error in branch 1.\n");
- pbreak;
- }
-
- ret1 = btest2(&a);
- if(ret1 != 0)
- {
- printf("Error in branch 1.\n");
- pbreak;
- }
- }
-
- pbranch
- {
- ret2 = btest1(&b);
- if(ret2 != 0)
- {
- printf("Error in branch 2.\n");
- pbreak;
- }
-
- ret2 = btest2(&b);
- if(ret2 != 0)
- {
- printf("Error in branch 2.\n");
- pbreak;
- }
- }
-
- pbranch
- {
- ret3 = btest1(&c);
- if(ret3 != 0)
- {
- printf("Error in branch 3.\n");
- pbreak;
- }
- pbreak;
-
- ret3 = btest2(&c);
- if(ret3 != 0)
- {
- printf("Error in branch 3.\n");
- pbreak;
- }
- }
- }
-
- printf("pwait done\n");
-}
-
-static int done = 0;
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_par1_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
-
diff --git a/oldcode/src/gsl/tests/correctness/pprivate.gs b/oldcode/src/gsl/tests/correctness/pprivate.gs
deleted file mode 100644
index 225c838..0000000
--- a/oldcode/src/gsl/tests/correctness/pprivate.gs
+++ /dev/null
@@ -1,79 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-#include <assert.h>
-
-static __blocking void run_pprivate(void)
-{
- pwait
- {
- pprivate int a;
-
- a = 100;
-
- pbranch
- {
- /* each pbranch block gets its own copy of pprivate variables */
- assert(a == 100);
-
- /* setting this pbranch's a to 200. */
- a = 200;
-
- btest1(&a);
-
- /* this pbranch's a should be incremented by 1 */
- assert(a == 201);
- }
-
- pbranch
- {
- /* each pbranch gets its own copy of pprivate variables, so a in this pbranch should
- * still be 100, even though in the previous pbranch we set it to 200
- */
- assert(a == 100);
-
- btest2(&a);
-
- /* btest2 increments a by 2 */
- assert(a == 102);
- }
- }
-
- printf("pwait done\n");
-}
-
-static int done = 0;
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_pprivate_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
-
diff --git a/oldcode/src/gsl/tests/correctness/pshared.gs b/oldcode/src/gsl/tests/correctness/pshared.gs
deleted file mode 100644
index 1693e10..0000000
--- a/oldcode/src/gsl/tests/correctness/pshared.gs
+++ /dev/null
@@ -1,97 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-#include <assert.h>
-
-static __blocking void run_pshared(void)
-{
- pwait
- {
- pprivate int a;
- pshared int b;
- int c;
-
- a = 100;
- b = a;
-
- pbranch
- {
- /* each pbranch block gets its own copy of pprivate variables */
- assert(a == 100);
- assert(a == b);
-
- /* setting this pbranch's a to 200. */
- a = 200;
- assert(b == 100);
- b = 300;
-
- assert(c == 0);
-
- btest1(&a);
- /* this pbranch's a should be incremented by 1 */
- assert(a == 201);
-
- btest1(&b);
- assert(b == 301);
-
- /* c is shared */
- assert(c == 400);
- }
-
- pbranch
- {
- /* each pbranch gets its own copy of pprivate variables, so a in this pbranch should
- * still be 100, even though in the previous pbranch we set it to 200
- */
- assert(a == 100);
-
- /* b is shared */
- assert(b == 300);
-
- c = 400;
-
- btest2(&a);
-
- /* btest2 increments a by 2 */
- assert(a == 102);
- }
- }
-
- printf("pwait done\n");
-}
-
-static int done = 0;
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_pshared_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
-
diff --git a/oldcode/src/gsl/tests/correctness/tcpfor.gs b/oldcode/src/gsl/tests/correctness/tcpfor.gs
deleted file mode 100644
index 691170e..0000000
--- a/oldcode/src/gsl/tests/correctness/tcpfor.gs
+++ /dev/null
@@ -1,56 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-
-static __blocking void run_parfor(void)
-{
- int a[100];
- int ret[100];
-
- memset(a, 0, sizeof(int)*100);
- memset(ret, 0, sizeof(int)*100);
-
- pwait
- {
- int i, j;
- for(i = 0; i < 100; ++i)
- {
- pbranch
- {
- j = i;
- a[i] = i;
- ret[i] = tctest1(&a[i]);
- assert(ret[i] == 0);
- assert(a[i] == (i+1));
- }
- }
- }
-
- printf("pwait done\n");
-}
-
-static int done = 0;
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_parfor_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/threefors.gs b/oldcode/src/gsl/tests/correctness/threefors.gs
deleted file mode 100644
index 6504fe6..0000000
--- a/oldcode/src/gsl/tests/correctness/threefors.gs
+++ /dev/null
@@ -1,115 +0,0 @@
-
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-#include <assert.h>
-
-int val = 0;
-
-static __blocking void run_threefors(void)
-{
- int i, j, k;
- int a = 0;
- int b = 0;
- int ret;
-
- for(i = 10; i > 0; --i)
- {
- for(j = 0; j < 10; ++j)
- {
- for(k = 10; k > 0; k--)
- {
- if(val == 0)
- {
- printf("no calls\n");
- }
- else if(val == 1)
- {
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == (b+1));
-
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == (b+2));
-
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == (b+3));
- }
- else if(val == 2)
- {
- ret = btest2(&a);
- assert(ret == 0);
- assert(a == (b+2));
-
- ret = btest2(&a);
- assert(ret == 0);
- assert(a == (b+4));
-
- ret = btest2(&a);
- assert(ret == 0);
- assert(a == (b+6));
- }
- else if(val == 3)
- {
- ret = btest3(&a);
- assert(ret == 0);
- assert(a == (b+3));
-
- ret = btest3(&a);
- assert(ret == 0);
- assert(a == (b+6));
-
- ret = btest3(&a);
- assert(ret == 0);
- assert(a == (b+9));
- }
- else
- {
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == (b+1));
-
- ret = btest2(&a);
- assert(ret == 0);
- assert(a == (b+3));
-
- ret = btest3(&a);
- assert(ret == 0);
- assert(a == (b+6));
- }
-
- b = a;
- }
- }
- }
-}
-
-static int done = 0;
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
-
- val = atoi(argv[1]);
- run_threefors_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/twofors.gs b/oldcode/src/gsl/tests/correctness/twofors.gs
deleted file mode 100644
index f23db23..0000000
--- a/oldcode/src/gsl/tests/correctness/twofors.gs
+++ /dev/null
@@ -1,99 +0,0 @@
-
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-
-int val = 0;
-
-static __blocking void run_twofors(void)
-{
- int i, j, ret;
- int a = 0;
-
- for(i = 100; i > 0; --i)
- {
- for(j = 0; j < 100; ++j)
- {
- if(val == 0)
- {
- printf("no calls\n");
- }
- else if(val == 1)
- {
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == (100-i)*300+j*3+1);
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == (100-i)*300+j*3+2);
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == (100-i)*300+j*3+3);
-
- }
- else if(val == 2)
- {
- ret = btest2(&a);
- assert(ret == 0);
- assert(a == (100-i)*600+j*6+2);
- ret = btest2(&a);
- assert(ret == 0);
- assert(a == (100-i)*600+j*6+4);
- ret = btest2(&a);
- assert(ret == 0);
- assert(a == (100-i)*600+j*6+6);
- }
- else if(val == 3)
- {
- ret = btest3(&a);
- assert(ret == 0);
- assert(a == (100-i)*900+j*9+3);
- ret = btest3(&a);
- assert(ret == 0);
- assert(a == (100-i)*900+j*9+6);
- ret = btest3(&a);
- assert(ret == 0);
- assert(a == (100-i)*900+j*9+9);
- }
- else
- {
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == (100-i)*600+j*6+1);
- ret = btest2(&a);
- assert(ret == 0);
- assert(a == (100-i)*600+j*6+3);
- ret = btest3(&a);
- assert(ret == 0);
- assert(a == (100-i)*600+j*6+6);
- }
- }
- }
-}
-
-static int done = 0;
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
-
- val = atoi(argv[1]);
- run_twofors_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/whilebreak.gs b/oldcode/src/gsl/tests/correctness/whilebreak.gs
deleted file mode 100644
index e91a531..0000000
--- a/oldcode/src/gsl/tests/correctness/whilebreak.gs
+++ /dev/null
@@ -1,52 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-
-static __blocking void run_whilebreak(void)
-{
- int i = 0;
- int a = 0;
- int ret;
-
- while(1)
- {
- ret = btest1(&a);
- assert(ret == 0);
- ret = btest2(&a);
- assert(ret == 0);
- ret = btest3(&a);
- assert(ret == 0);
- ++i;
- if(i == 1000)
- {
- break;
- }
- }
-}
-
-static int done = 0;
-
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_whilebreak_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/whilebreak2.gs b/oldcode/src/gsl/tests/correctness/whilebreak2.gs
deleted file mode 100644
index 5578934..0000000
--- a/oldcode/src/gsl/tests/correctness/whilebreak2.gs
+++ /dev/null
@@ -1,50 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-
-static __blocking void run_whilebreak(void)
-{
- int ret;
- int a = 0;
-
- while(1)
- {
- ret = btest1(&a);
- assert(ret == 0);
- ret = btest2(&a);
- assert(ret == 0);
- if(a > 1000)
- {
- break;
- }
- ret = btest3(&a);
- assert(ret == 0);
- }
-}
-
-static int done = 0;
-
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_whilebreak_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/whilebreak3.gs b/oldcode/src/gsl/tests/correctness/whilebreak3.gs
deleted file mode 100644
index e2c2d42..0000000
--- a/oldcode/src/gsl/tests/correctness/whilebreak3.gs
+++ /dev/null
@@ -1,57 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-
-static __blocking void run_whilebreak(void)
-{
- int a = 0;
- int ret;
-
- while(1)
- {
- ret = btest1(&a);
- assert(ret == 0);
- ret = btest2(&a);
- assert(ret == 0);
- if(a > 1000)
- {
- break;
- }
- ret = btest3(&a);
- assert(ret == 0);
- }
-
- ret = btest1(&a);
- assert(ret == 0);
- ret = btest2(&a);
- assert(ret == 0);
- ret = btest3(&a);
- assert(ret == 0);
-}
-
-static int done = 0;
-
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_whilebreak_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/correctness/whileloop.gs b/oldcode/src/gsl/tests/correctness/whileloop.gs
deleted file mode 100644
index 12b99fa..0000000
--- a/oldcode/src/gsl/tests/correctness/whileloop.gs
+++ /dev/null
@@ -1,53 +0,0 @@
-#include "include/gs.h"
-#include "tests/correctness/btest.gsh"
-
-static __blocking void run_whileloop(void)
-{
- int i, ret;
- int a = 0;
-
- i = 100;
- while(i > 0)
- {
- ret = btest1(&a);
- assert(ret == 0);
- assert(a == ((100-i)*6+1));
-
- ret = btest2(&a);
- assert(ret == 0);
- assert(a == ((100-i)*6+3));
-
- ret = btest3(&a);
- assert(ret == 0);
- assert(a == ((100-i)*6+6));
- --i;
- }
-}
-
-static int done = 0;
-
-static void basic_cb(void *ptr)
-{
- printf("%p\n", ptr);
- printf("done\n");
- done = 1;
-}
-
-int main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- void *myptr = malloc(1);
-
- btest_init();
- printf("%p\n", myptr);
- run_whileloop_post(basic_cb, myptr, NULL, NULL, &op_id);
-
- while(done == 0)
- {
- gs_poll(NULL, 0);
- }
-
- btest_finalize();
- free(myptr);
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/gen/basic.gs b/oldcode/src/gsl/tests/gen/basic.gs
deleted file mode 100644
index 5178a78..0000000
--- a/oldcode/src/gsl/tests/gen/basic.gs
+++ /dev/null
@@ -1,44 +0,0 @@
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "gs.h"
-
-struct myobj
-{
- int counter;
-};
-
-__blocking int bset(int id, struct myobj *obj);
-__blocking int bget(int id, struct myobj *obj);
-
-
-__blocking int write_object(int id, int val)
-{
- int ret;
- int i, j = 0;
- struct myobj *obj = malloc(sizeof(*obj));
- if(obj == NULL)
- {
- return -1;
- }
-
- obj->counter = val;
- ret = bset(id, obj);
- if(ret != 0)
- {
- printf("setting object %d failed!\n", id);
- return -1;
- }
-
- ret = blah(1, 2);
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/tests/gen/basic2.gs b/oldcode/src/gsl/tests/gen/basic2.gs
deleted file mode 100644
index 5a689f7..0000000
--- a/oldcode/src/gsl/tests/gen/basic2.gs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "gs.h"
-
-struct myobj
-{
- int counter;
-};
-
-__blocking int bset(int id, struct myobj *obj);
-__blocking int bget(int id, struct myobj *obj);
-
-__blocking int inc_object(int id)
-{
- int ret;
- struct myobj *obj;
-
- ret = bget(id, obj);
- if(obj == NULL)
- {
- printf("object %d doesn't exist!\n", id);
- return -1;
- }
-
- obj->counter++;
-
- ret = bset(id, obj);
- if(ret != 0)
- {
- printf("setting object %d failed!\n", id);
- return -1;
- }
-
- return 0;
-}
diff --git a/oldcode/src/gsl/tests/gen/break.gs b/oldcode/src/gsl/tests/gen/break.gs
deleted file mode 100644
index 39fc7ad..0000000
--- a/oldcode/src/gsl/tests/gen/break.gs
+++ /dev/null
@@ -1,71 +0,0 @@
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "gs.h"
-
-struct myobj
-{
- int counter;
-};
-
-__blocking int bset(int id, struct myobj *obj);
-__blocking struct myobj *bget(int id);
-
-__blocking int write_objects(int *ids, int count)
-{
- int ret;
- int i;
- struct myobj *obj;
-
- obj = malloc(sizeof(*obj));
- if(obj == NULL)
- {
- return -1;
- }
-
- while(obj->counter < 10)
- {
- obj->counter = i;
- ret = bset(ids[i], obj);
- if(ret != 0)
- {
- printf("setting object %d failed!\n", ids[i]);
- return -1;
- }
-
- free(obj);
-
- obj = bget(ids[i]);
- if(obj == NULL)
- {
- break;
- }
- else
- {
- break;
- }
-
- ret = bset(ids[i], obj);
- if(ret != 0)
- {
- break;
- }
- }
-
- ret = bset(ids[i], obj);
- if(ret != 0)
- {
- return -1;
- }
-
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/tests/gen/conditional.gs b/oldcode/src/gsl/tests/gen/conditional.gs
deleted file mode 100644
index 3814449..0000000
--- a/oldcode/src/gsl/tests/gen/conditional.gs
+++ /dev/null
@@ -1,56 +0,0 @@
-#include <stdlib.h>
-#include <stdio.h>
-#include "gs.h"
-
-struct myobj
-{
- int counter;
-};
-
-__blocking int bset(int id, struct myobj *obj);
-__blocking struct myobj * bget(int id);
-
-
-__blocking int write_object(int id, int val)
-{
- int ret;
- int i, j = 0;
- struct myobj *newobj;
- struct myobj *obj = malloc(sizeof(*obj));
- if(obj == NULL)
- {
- return -1;
- }
-
- obj->counter = val;
- ret = bset(id, obj);
- if(ret != 0)
- {
- printf("setting object %d failed!\n", id);
- return -1;
- }
-
- ret = blah(1, 2);
-
- free(obj);
-
- if(val == 10)
- {
- newobj = bget(id);
- if(newobj == NULL)
- {
- return -1;
- }
- }
-
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/tests/gen/funptr.gs b/oldcode/src/gsl/tests/gen/funptr.gs
deleted file mode 100644
index 03bfb59..0000000
--- a/oldcode/src/gsl/tests/gen/funptr.gs
+++ /dev/null
@@ -1,55 +0,0 @@
-#include <stdlib.h>
-#include <stdio.h>
-#include "gs.h"
-
-struct myobj
-{
- int counter;
-};
-
-__blocking int bset(int id, struct myobj *obj);
-__blocking int bget(int id, struct myobj *obj);
-
-
-__blocking int write_object(int id, int val, __blocking char * (myb)(int a))
-{
- int ret;
- char *res;
- int i, j = 0;
- struct myobj *obj = malloc(sizeof(*obj));
- if(obj == NULL)
- {
- return -1;
- }
-
- obj->counter = val;
- ret = bset(id, obj);
- if(ret != 0)
- {
- printf("setting object %d failed!\n", id);
- return -1;
- }
-
- ret = blah(1, 2);
-
- res = myb(id);
-
- obj->counter = val;
- ret = bget(id, obj);
- if(ret != 0)
- {
- printf("setting object %d failed!\n", id);
- return -1;
- }
-
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/tests/gen/if.gs b/oldcode/src/gsl/tests/gen/if.gs
deleted file mode 100644
index 3814449..0000000
--- a/oldcode/src/gsl/tests/gen/if.gs
+++ /dev/null
@@ -1,56 +0,0 @@
-#include <stdlib.h>
-#include <stdio.h>
-#include "gs.h"
-
-struct myobj
-{
- int counter;
-};
-
-__blocking int bset(int id, struct myobj *obj);
-__blocking struct myobj * bget(int id);
-
-
-__blocking int write_object(int id, int val)
-{
- int ret;
- int i, j = 0;
- struct myobj *newobj;
- struct myobj *obj = malloc(sizeof(*obj));
- if(obj == NULL)
- {
- return -1;
- }
-
- obj->counter = val;
- ret = bset(id, obj);
- if(ret != 0)
- {
- printf("setting object %d failed!\n", id);
- return -1;
- }
-
- ret = blah(1, 2);
-
- free(obj);
-
- if(val == 10)
- {
- newobj = bget(id);
- if(newobj == NULL)
- {
- return -1;
- }
- }
-
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/tests/gen/ifelse.gs b/oldcode/src/gsl/tests/gen/ifelse.gs
deleted file mode 100644
index 37d9ef6..0000000
--- a/oldcode/src/gsl/tests/gen/ifelse.gs
+++ /dev/null
@@ -1,64 +0,0 @@
-#include <stdlib.h>
-#include <stdio.h>
-#include "gs.h"
-
-struct myobj
-{
- int counter;
-};
-
-__blocking int bset(int id, struct myobj *obj);
-__blocking struct myobj * bget(int id);
-
-
-__blocking int write_object(int id, int val)
-{
- int ret;
- int i, j = 0;
- struct myobj *newobj;
- struct myobj *obj = malloc(sizeof(*obj));
- if(obj == NULL)
- {
- return -1;
- }
-
- obj->counter = val;
- ret = bset(id, obj);
- if(ret != 0)
- {
- printf("setting object %d failed!\n", id);
- return -1;
- }
-
- ret = blah(1, 2);
-
- free(obj);
-
- if(val == 10)
- {
- newobj = bget(id);
- if(newobj == NULL)
- {
- return -1;
- }
- }
- else
- {
- obj = bget(id);
- if(obj == NULL)
- {
- return -1;
- }
- }
-
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/tests/gen/looping.gs b/oldcode/src/gsl/tests/gen/looping.gs
deleted file mode 100644
index cf9c65d..0000000
--- a/oldcode/src/gsl/tests/gen/looping.gs
+++ /dev/null
@@ -1,46 +0,0 @@
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "gs.h"
-
-struct myobj
-{
- int counter;
-};
-
-__blocking int bset(int id, struct myobj *obj);
-
-__blocking int write_objects(int *ids, int count)
-{
- int ret;
- int i;
- struct myobj *obj;
-
- obj = malloc(sizeof(*obj));
- if(obj == NULL)
- {
- return -1;
- }
-
- for(i = 0; i < count; ++i)
- {
- obj->counter = i;
- ret = bset(ids[i], obj);
- if(ret != 0)
- {
- printf("setting object %d failed!\n", ids[i]);
- return -1;
- }
- }
-
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/tests/gen/looping2.gs b/oldcode/src/gsl/tests/gen/looping2.gs
deleted file mode 100644
index 233a822..0000000
--- a/oldcode/src/gsl/tests/gen/looping2.gs
+++ /dev/null
@@ -1,61 +0,0 @@
-
-#include <errno.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include "gs.h"
-
-struct myobj
-{
- int counter;
-};
-
-__blocking int bset(int id, struct myobj *obj);
-__blocking struct myobj *bget(int id);
-
-__blocking int write_objects(int *ids, int count)
-{
- int ret;
- int i;
- struct myobj *obj;
-
- obj = malloc(sizeof(*obj));
- if(obj == NULL)
- {
- return -1;
- }
-
- for(i = 0; i < count; ++i)
- {
- obj->counter = i;
- ret = bset(ids[i], obj);
- if(ret != 0)
- {
- printf("setting object %d failed!\n", ids[i]);
- return -1;
- }
-
- blah1();
- ret = blah2();
- if(ret != 0)
- {
- return ENOENT;
- }
-
- obj = bget(ids[i]);
- if(obj == NULL)
- {
- return -1;
- }
- }
-
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/tests/gen/looping3.gs b/oldcode/src/gsl/tests/gen/looping3.gs
deleted file mode 100644
index 1033cb6..0000000
--- a/oldcode/src/gsl/tests/gen/looping3.gs
+++ /dev/null
@@ -1,67 +0,0 @@
-
-#include <errno.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include "gs.h"
-
-struct myobj
-{
- int counter;
-};
-
-__blocking int bset(int id, struct myobj *obj);
-__blocking struct myobj *bget(int id);
-
-__blocking int write_objects(int *ids, int count)
-{
- int ret;
- int i;
- struct myobj *obj;
-
- obj = malloc(sizeof(*obj));
- if(obj == NULL)
- {
- return -1;
- }
-
- for(i = 0; i < count; ++i)
- {
- obj->counter = i;
- ret = bset(ids[i], obj);
- if(ret != 0)
- {
- printf("setting object %d failed!\n", ids[i]);
- return -1;
- }
-
- blah1();
- ret = blah2();
- if(ret != 0)
- {
- return ENOENT;
- }
-
- obj = bget(ids[i]);
- if(obj == NULL)
- {
- return -1;
- }
- }
-
- obj = bget(10);
- if(obj == NULL)
- {
- return -1;
- }
-
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/tests/gen/looping4.gs b/oldcode/src/gsl/tests/gen/looping4.gs
deleted file mode 100644
index e48a40a..0000000
--- a/oldcode/src/gsl/tests/gen/looping4.gs
+++ /dev/null
@@ -1,91 +0,0 @@
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <errno.h>
-#include "gs.h"
-
-struct myobj
-{
- int counter;
-};
-
-__blocking int bset(int id, struct myobj *obj);
-__blocking struct myobj *bget(int id);
-
-__blocking int write_objects(int *ids, int count)
-{
- int ret;
- int i;
- struct myobj *obj;
-
- obj = malloc(sizeof(*obj));
- if(obj == NULL)
- {
- return -1;
- }
-
- for(i = 0; i < count; ++i)
- {
- obj->counter = i;
- ret = bset(ids[i], obj);
- if(ret != 0)
- {
- printf("setting object %d failed!\n", ids[i]);
- return -1;
- }
-
- blah1();
- ret = blah2();
- if(ret != 0)
- {
- return ENOENT;
- }
-
- obj = bget(ids[i]);
- if(obj == NULL)
- {
- return -1;
- }
- }
-
- obj = bget(10);
- if(obj == NULL)
- {
- return -1;
- }
-
- for(i = 0; i < count; ++i)
- {
- obj->counter = i;
- ret = bset(ids[i], obj);
- if(ret != 0)
- {
- printf("setting object %d failed!\n", ids[i]);
- return -1;
- }
-
- blah1();
- ret = blah2();
- if(ret != 0)
- {
- return ENOENT;
- }
-
- obj = bget(ids[i]);
- if(obj == NULL)
- {
- return -1;
- }
- }
-
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/tests/gen/multiplebcalls.gs b/oldcode/src/gsl/tests/gen/multiplebcalls.gs
deleted file mode 100644
index 9894783..0000000
--- a/oldcode/src/gsl/tests/gen/multiplebcalls.gs
+++ /dev/null
@@ -1,52 +0,0 @@
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "gs.h"
-
-struct myobj
-{
- int counter;
-};
-
-__blocking int bset(int id, struct myobj *obj);
-__blocking struct myobj * bget(int id);
-
-
-__blocking int write_object(int id, int val)
-{
- int ret;
- int i, j = 0;
- struct myobj *obj = malloc(sizeof(*obj));
- if(obj == NULL)
- {
- return -1;
- }
-
- obj->counter = val;
- ret = bset(id, obj);
- if(ret != 0)
- {
- printf("setting object %d failed!\n", id);
- return -1;
- }
-
- ret = blah(1, 2);
-
- free(obj);
- obj = bget(id);
- if(obj == NULL)
- {
- return -1;
- }
-
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/tests/gen/parallel1.gs b/oldcode/src/gsl/tests/gen/parallel1.gs
deleted file mode 100644
index 996ca9c..0000000
--- a/oldcode/src/gsl/tests/gen/parallel1.gs
+++ /dev/null
@@ -1,70 +0,0 @@
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "gs.h"
-
-struct myobj
-{
- int counter;
-};
-
-__blocking int bset(int id, struct myobj *obj);
-__blocking struct myobj * bget(int id);
-
-
-__blocking int write_object(int id, int val)
-{
- int ret;
- int i, j = 0;
- struct myobj *obj = malloc(sizeof(*obj));
- if(obj == NULL)
- {
- return -1;
- }
-
- obj->counter = val;
- ret = bset(id, obj);
- if(ret != 0)
- {
- printf("setting object %d failed!\n", id);
- return -1;
- }
-
- ret = blah(1, 2);
-
- free(obj);
-
- pwait
- {
- for(i = 0; i < 10; ++i)
- {
- pbranch
- {
- obj = bget(id);
- if(obj == NULL)
- {
- return -1;
- }
-
- obj->counter = 1;
- ret = bset(id, obj);
- if(ret != 0)
- {
- return -1;
- }
- }
- }
- }
-
- ret = blah(1, 2, 3);
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/tests/gen/twoifs.gs b/oldcode/src/gsl/tests/gen/twoifs.gs
deleted file mode 100644
index 2a555ce..0000000
--- a/oldcode/src/gsl/tests/gen/twoifs.gs
+++ /dev/null
@@ -1,60 +0,0 @@
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "gs.h"
-
-struct myobj
-{
- int counter;
-};
-
-__blocking int bset(int id, struct myobj *obj);
-__blocking struct myobj * bget(int id);
-
-
-__blocking int write_object(int id, int val)
-{
- int ret;
- int i, j = 0;
- struct myobj *newobj;
- struct myobj *obj = malloc(sizeof(*obj));
- if(obj == NULL)
- {
- return -1;
- }
-
- obj->counter = val;
- ret = bset(id, obj);
- if(ret != 0)
- {
- printf("setting object %d failed!\n", id);
- return -1;
- }
-
- ret = blah(1, 2);
-
- free(obj);
-
- if(id == 1)
- {
- if(val == 10)
- {
- newobj = bget(id);
- if(newobj == NULL)
- {
- return -1;
- }
- }
- }
-
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/tests/gen/while.gs b/oldcode/src/gsl/tests/gen/while.gs
deleted file mode 100644
index 20c21d8..0000000
--- a/oldcode/src/gsl/tests/gen/while.gs
+++ /dev/null
@@ -1,61 +0,0 @@
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "gs.h"
-
-struct myobj
-{
- int counter;
-};
-
-__blocking int bset(int id, struct myobj *obj);
-__blocking struct myobj *bget(int id);
-
-__blocking int write_objects(int *ids, int count)
-{
- int ret;
- int i;
- struct myobj *obj;
-
- obj = malloc(sizeof(*obj));
- if(obj == NULL)
- {
- return -1;
- }
-
- while(obj->counter < 10)
- {
- obj->counter = i;
- ret = bset(ids[i], obj);
- if(ret != 0)
- {
- printf("setting object %d failed!\n", ids[i]);
- return -1;
- }
-
- free(obj);
-
- obj = bget(ids[i]);
- if(obj == NULL)
- {
- break;
- }
- }
-
- ret = bset(ids[i], obj);
- if(ret != 0)
- {
- return -1;
- }
-
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gsl/tests/gen/while2.gs b/oldcode/src/gsl/tests/gen/while2.gs
deleted file mode 100644
index d1116ee..0000000
--- a/oldcode/src/gsl/tests/gen/while2.gs
+++ /dev/null
@@ -1,55 +0,0 @@
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "gs.h"
-
-struct myobj
-{
- int counter;
-};
-
-__blocking int bset(int id, struct myobj *obj);
-__blocking struct myobj *bget(int id);
-
-__blocking int write_objects(int *ids, int count)
-{
- int ret;
- int i;
- struct myobj *obj;
-
- obj = malloc(sizeof(*obj));
- if(obj == NULL)
- {
- return -1;
- }
-
- while(obj->counter < 10)
- {
- obj->counter = i;
- ret = bset(ids[i], obj);
- if(ret != 0)
- {
- printf("setting object %d failed!\n", ids[i]);
- return -1;
- }
-
- free(obj);
-
- obj = bget(ids[i]);
- if(obj == NULL)
- {
- break;
- }
- }
-
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/gum/gum.gs b/oldcode/src/gum/gum.gs
deleted file mode 100644
index 1d85ba3..0000000
--- a/oldcode/src/gum/gum.gs
+++ /dev/null
@@ -1,455 +0,0 @@
-
-#include "gum.gsh"
-
-static struct itable* gum_map;
-
-static gum_status gum_current_status;
-
-int
-gum_init()
-{
- gum_current_status = GUM_STATUS_RUNNING;
-
- gum_map = itable_create(32);
-
- return 0;
-}
-
-/**
- @return A unique positive number or -1 on overflow.
-*/
-int
-gum_unique_id_create(void)
-{
- static int gum_unique_id = 1;
- static int max = 1 << 30;
-
- int result;
- result = gum_unique_id++;
- if (result == max)
- return -1;
- return result;
-}
-
-struct gum_blocking*
-gum_blocking_create(char* name)
-{
- struct gum_blocking* gb;
-
- gb = malloc(sizeof(struct gum_blocking));
- strcpy(gb->name, name);
-
- return gb;
-}
-
-gum_proc_idx
-gum_proc_create(char* name)
-{
- gum_proc_idx result;
- if (strcmp(name, "RESPONSE") == 0)
- result = (gum_proc_idx) -1;
- else
- result = (gum_proc_idx) SHA1_mod(name);
- return result;
-}
-
-gum_msg*
-gum_msg_create(void)
-{
- gum_msg* msg = malloc(sizeof(gum_msg));
- msg->type = (MPI_Datatype) 0;
- return msg;
-}
-
-void
-gum_msg_init(gum_proc_idx name, char* data, int length, gum_msg* msg)
-{
- msg->procedure = name;
- msg->data = data;
- msg->length = length;
- msg->unique = gum_unique_id_create();
-}
-
-void
-gum_msg_name(char* name, char* data, int length, gum_msg* msg)
-{
- gum_msg_init(gum_proc_create(name), data, length, msg);
-}
-
-gum_msg*
-gum_msg_build(gum_proc_idx name, char* data, int length)
-{
- gum_msg* result;
-
- result = gum_msg_create();
- gum_msg_init(name, data, length, result);
-
- return result;
-}
-
-/**
- Automate construction of a response message.
- @param unique The gum_msg->unique from the call.
- @param data The data bytes.
- @param length The length of data.
-*/
-gum_msg*
-gum_msg_response(int unique, char* data, int length)
-{
- gum_msg* result;
-
- result = gum_msg_create();
- result->data = data;
- result->length = length;
- result->unique = flip2(unique);
-
- return result;
-}
-
-/**
- Automate construction of a response message.
- @param unique The gum_msg->unique from the call.
- @param data The data bytes.
- @param length The length of data.
-*/
-gum_msg*
-gum_msg_reply(gum_msg* call)
-{
- return gum_msg_response(call->unique, call->data, call->length);
-}
-
-void
-gum_pack(gum_msg* msg)
-{
- int lengths[4] = {1, 1, 1, msg->length};
- MPI_Datatype type[4] = {MPI_INT, MPI_INT, MPI_INT, MPI_CHAR};
- MPI_Datatype new_type;
- MPI_Aint address[4];
- MPI_Get_address(&(msg->procedure), &(address[0]));
- MPI_Get_address(&(msg->unique), &(address[1]));
- MPI_Get_address(&(msg->length), &(address[2]));
- MPI_Get_address(msg->data, &(address[3]));
- MPI_Type_create_struct(4, lengths, address, type, &new_type);
- MPI_Type_commit(&new_type);
- msg->type = new_type;
-}
-
-/**
- Register procedure with name.
- Copies name into gum_blocking.name .
-*/
-void
-gum_register(struct gum_blocking* gb)
-{
- itable_add(gum_map, gum_proc_create(gb->name), gb);
-}
-
-/**
- Will return gum_result when supported by GSL.
- @return 1 on success, 0 on failure.
-*/
-__blocking int // gum_result
-gum_call(gum_node target, gum_msg* msg, gum_msg** response)
-{
- int mpi_rank;
-
- gum_msg* result;
-
- int from;
- int /* gum_result */ error;
-
- gossip_debug(MASK_GUM, "gum_call(%i):\n", target.rank);
-
- gum_pack(msg);
-
- MPI_Comm_rank(target.comm, &mpi_rank);
-
- error = gs_mpi_send(MPI_BOTTOM, 1, msg->type, target.rank,
- GUM_CALL, target.comm);
-
- result = gum_msg_create();
- result->data = malloc(GUM_MSG_MAX);
-
- error = gum_recv(target, flip2(msg->unique), &(result->procedure),
- &from, &(result->unique),
- &(result->length), result->data);
- *response = result;
-
- return error;
-}
-
-/**
- Copy of gum_call() to simply instruct a node to emulate failure.
-*/
-__blocking int gum_emulate_fault(gum_node target)
-{
- int mpi_rank;
-
- gum_msg* msg;
- gum_msg* result;
-
- int from;
- int /* gum_result */ error;
-
- gossip_debug(MASK_GUM, "gum_emulate_fault(%i):\n", target.rank);
-
- msg = gum_msg_build(GUM_EMULATE_FAULT, NULL, 0);
- gum_pack(msg);
-
- MPI_Comm_rank(target.comm, &mpi_rank);
-
- error = gs_mpi_send(MPI_BOTTOM, 1, msg->type, target.rank,
- GUM_CALL, target.comm);
-
- result = gum_msg_create();
- result->data = malloc(GUM_MSG_MAX);
-
- error = gum_recv(target, flip2(msg->unique), &(result->procedure),
- &from, &(result->unique),
- &(result->length), result->data);
-
- printf("gum_emulate_fault: got: %s\n", result->data);
-
- return error;
-
-}
-
-/**
- Copy of gum_call() to simply instruct a node to shutdown.
-*/
-__blocking int gum_kill(gum_node target)
-{
- int mpi_rank;
-
- gum_msg* msg;
- gum_msg* result;
-
- int from;
- int /* gum_result */ error;
-
- gossip_debug(MASK_GUM, "gum_kill(%i):\n", target.rank);
-
- msg = gum_msg_build(GUM_SHUTDOWN, NULL, 0);
- gum_pack(msg);
-
- MPI_Comm_rank(target.comm, &mpi_rank);
-
- error = gs_mpi_send(MPI_BOTTOM, 1, msg->type, target.rank,
- GUM_CALL, target.comm);
-
- result = gum_msg_create();
- result->data = malloc(GUM_MSG_MAX);
-
- error = gum_recv(target, flip2(msg->unique), &(result->procedure),
- &from, &(result->unique),
- &(result->length), result->data);
-
- printf("gum_kill(): got: %s\n", result->data);
-
- return error;
-
-}
-
-/**
- @param target IN Node from which to recv.
- @param tag IN Tag to look for.
- @param idx OUT Procedure index.
- @param from OUT Recvd from.
- @param unique OUT Uniquifier.
- @param length OUT Length of data.
- @param data OUT Received data.
- @return Error status: GUM_SUCCESS or GUM_EMULATE_FAULT.
- */
-__blocking int // gum_result
-gum_recv(gum_node target, int tag, gum_proc_idx* idx,
- int* from, int* unique, int* length, char* data)
-{
- MPI_Status status;
- int size[4];
- MPI_Datatype type[4];
- MPI_Datatype new_type;
- MPI_Aint address[4];
-
- gum_node caller;
- gum_msg* response;
- char* text;
-
- int err;
-
- gossip_debug(MASK_GUM, "gum_recv(%i,%i): \n", target.rank, tag);
-
- type[0] = MPI_INT;
- size[0] = 1;
- type[1] = MPI_INT;
- size[1] = 1;
- type[2] = MPI_INT;
- size[2] = 1;
- type[3] = MPI_CHAR;
- size[3] = GUM_MSG_MAX;
-
- MPI_Get_address(idx, &(address[0]));
- MPI_Get_address(unique, &(address[1]));
- MPI_Get_address(length, &(address[2]));
- MPI_Get_address(data, &(address[3]));
- MPI_Type_create_struct(4, size, address, type, &new_type);
- MPI_Type_commit(&new_type);
-
- gs_mpi_recv(MPI_BOTTOM, 1, new_type, target.rank,
- tag, target.comm, &status);
-
- MPI_Type_free(&new_type);
-
- caller.rank = status.MPI_SOURCE;
- caller.comm = target.comm;
-
- *from = caller.rank;
-
- err = 1;
-
- if (*idx == GUM_RESPONSE_FAULTY)
- {
- printf("gum_recv(): I am faulty!\n");
- err = 0; // GUM_EMULATE_FAULT;
- }
- else if (*idx == GUM_RESPONSE)
- {
- err = 1; // GUM_SUCCESS;
- }
- else if (*idx == GUM_EMULATE_FAULT)
- {
- gossip_debug(MASK_GUM, "gum_recv(GUM_EMULATE_FAULT)\n");
- gum_current_status = GUM_STATUS_EMULATE_FAULT;
- text = strdup("going faulty");
- response = gum_msg_response(*unique, text, strlen(text));
- gum_return(caller, response);
- free(text);
- }
- else if (*idx == GUM_SHUTDOWN)
- {
- gossip_debug(MASK_GUM, "gum_recv(GUM_SHUTDOWN)\n");
- gum_shutdown();
- response = gum_msg_response(*unique, NULL, 0);
- gum_return(caller, response);
- }
- else if (gum_current_status == GUM_STATUS_EMULATE_FAULT)
- {
- text = strdup("i am faulty");
- response = gum_msg_response(*unique, text, strlen(text));
- gum_return_emulating_fault(caller, response);
- free(text);
- }
- else if (*idx == GUM_PING)
- {
- text = strdup("pong");
- response = gum_msg_response(*unique, text, strlen(text));
- gum_return(caller, response);
- free(text);
- }
-
- return err; // GUM_SUCCESS;
-}
-
-
-static __blocking int
-gum_procedure(struct gum_blocking* gb, gum_msg* arg)
-{
- gb->procedure(arg);
- return 1;
-}
-
-__blocking int
-gum_response()
-{
- gum_node caller;
-
- struct gum_blocking* gb;
- gum_proc_idx idx;
- int unique;
- int length;
- char data[GUM_MSG_MAX];
-
- gum_msg call;
- gum_node target;
-
- int error;
-
- struct gum_blocking gbl;
-
- target.rank = MPI_ANY_SOURCE;
- target.comm = MPI_COMM_WORLD;
-
- error = gum_recv(target, GUM_CALL, &idx,
- &(caller.rank), &unique, &length, data);
-
- caller.comm = target.comm;
-
- call.unique = unique;
- call.source = caller;
- call.length = length;
- call.data = malloc(GUM_MSG_MAX);
- strcpy(call.data, data);
-
- // gossip_debug(MASK_GUM, "gum_response(idx=%i)\n", idx);
-
- if (idx > 0)
- {
- // gossip_debug(MASK_GUM, "gum_response(REGISTERED_FUNCTION)\n");
- gb = itable_search(gum_map, idx);
- assert(gb != NULL);
- gossip_debug(MASK_GUM, "gum_response(%s)\n", gb->name);
-
- gum_procedure(gb, &call);
- }
-
- return 1;
-}
-
-__blocking int
-gum_return(gum_node caller, gum_msg* response)
-{
- int err;
-
- gossip_debug(MASK_GUM, "gum_return()...\n");
- // , response->unique);
-
- response->procedure = GUM_RESPONSE;
- gum_pack(response);
-
- err = gs_mpi_send(MPI_BOTTOM, 1, response->type, caller.rank,
- response->unique, caller.comm);
- // MPI_Type_free?
- return 1;
-}
-
-/**
- Copy of gum_return() with GUM_RESPONSE_FAULTY code.
-*/
-__blocking int
-gum_return_emulating_fault(gum_node caller, gum_msg* response)
-{
- int err;
-
- gossip_debug(MASK_GUM, "gum_return_emulate_fault(%i):\n",
- response->unique);
-
- response->procedure = GUM_RESPONSE_FAULTY;
- gum_pack(response);
-
- err = gs_mpi_send(MPI_BOTTOM, 1, response->type, caller.rank,
- response->unique, caller.comm);
- // MPI_Type_free?
- return 1;
-}
-
-bool
-gum_running()
-{
- return (gum_current_status != GUM_STATUS_SHUTDOWN);
-}
-
-void
-gum_shutdown()
-{
- gossip_debug(MASK_GUM, "gum_shutdown()\n");
- gum_current_status = GUM_STATUS_SHUTDOWN;
-}
diff --git a/oldcode/src/gum/module.mk.in b/oldcode/src/gum/module.mk.in
deleted file mode 100644
index 065d4a8..0000000
--- a/oldcode/src/gum/module.mk.in
+++ /dev/null
@@ -1,14 +0,0 @@
-
-# GUM
-
-DIR := src/gum
-
-GUM_GSSRC += $(shell cd @SRC_ABSOLUTE_TOP@; find $(DIR) -name "*.gs" )
-GUM_OBJS = $(patsubst %.gs, %.o, $(GUM_GSSRC))
-
-#src/gum/gum.o: src/gum/gum.gs src/include/gum.gsh $(GSCC)
-# $(Q) " GSCC $(@)"
-# $(E)$(GSCC) $(GSLFLAGS) $(GSINCLUDES) $(<) --outfile $(@)
-
-
-
diff --git a/oldcode/src/include/accessor.h b/oldcode/src/include/accessor.h
deleted file mode 100644
index 46bee09..0000000
--- a/oldcode/src/include/accessor.h
+++ /dev/null
@@ -1,9 +0,0 @@
-
-#include <stdbool.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-FILE* to_cmpi;
-FILE* from_cmpi;
-
-bool driver_access_fifo(void);
diff --git a/oldcode/src/include/ait.gsh b/oldcode/src/include/ait.gsh
deleted file mode 100644
index 6d3d3d1..0000000
--- a/oldcode/src/include/ait.gsh
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#ifndef AIT_GSH
-#define AIT_GSH
-
-#include <ait_types.gsh>
-#include <gobs.gsh>
-
-void gobs_neighbor_down(gum_node node);
-
-void gobs_neighbor_up(gum_node node);
-
-gum_node ait_random_member();
-
-struct list* ait_random_k_members();
-
-#endif
diff --git a/oldcode/src/include/ait_types.gsh b/oldcode/src/include/ait_types.gsh
deleted file mode 100644
index 0109b47..0000000
--- a/oldcode/src/include/ait_types.gsh
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#ifndef AIT_TYPES_GSH
-#define AIT_TYPES_GSH
-
-#include <gum.gsh>
-
-typedef enum
-{
- AIT_STATUS_PROTO,
- AIT_STATUS_UP,
- AIT_STATUS_DOWN
-} ait_status;
-
-typedef enum
-{
- AIT_TYPE_DENSE,
- AIT_TYPE_KDA
-} ait_type;
-
-typedef struct
-{
- gum_node node;
- ait_status status;
- struct klist* attrib;
-} ait_entry;
-
-typedef struct
-{
- ait_type type;
- void* content;
-} ait_iterator;
-
-#endif
diff --git a/oldcode/src/include/cmpi-cp.h b/oldcode/src/include/cmpi-cp.h
deleted file mode 100644
index e6f4baa..0000000
--- a/oldcode/src/include/cmpi-cp.h
+++ /dev/null
@@ -1,22 +0,0 @@
-
-#include <node.h>
-#include <accessor.h>
-
-#include <io_tools.h>
-
-// #define CMPI_CP_CHUNK CMPI_VALUE_LENGTH
-
-#define CMPI_CP_CHUNK 1024
-
-typedef enum
-{
- CMPI_CP_KEY,
- CMPI_CP_FILE,
- CMPI_CP_STREAM,
- CMPI_CP_TYPE_ERROR,
-} CMPI_CP_TYPE;
-
-void printhelp(void);
-
-#define debug(x) x
-
diff --git a/oldcode/src/include/cmpi-io.h b/oldcode/src/include/cmpi-io.h
deleted file mode 100644
index 1b1f337..0000000
--- a/oldcode/src/include/cmpi-io.h
+++ /dev/null
@@ -1,44 +0,0 @@
-
-/**
- MPI-IO implementation on CMPI.
- Build with Makefile target cmpi-io.
- Link with target MPI-IO application and set
- LD_PRELOAD to include libcmpi-io.so .
-*/
-
-#ifndef CMPI_IO_H
-#define CMPI_IO_H
-
-#include <stdlib.h>
-
-#include "cmpi.h"
-
-#define CMPI_IO_BLOCK_SIZE 10
-
-typedef struct
-{
-
-} CMPI_Block;
-
-struct cmpi_file
-{
- char* filename;
-
- /**
- Number of blocks
- */
- int blocks;
-
- /**
- Map block numbers to MPI ranks.
- */
- struct ltable* block_table;
-};
-
-typedef struct cmpi_file* CMPI_File;
-
-extern CMPI_File CMPI_FILE_NULL;
-
-void cmpi_io_init(void);
-
-#endif
diff --git a/oldcode/src/include/cmpi.h b/oldcode/src/include/cmpi.h
deleted file mode 100644
index df309f9..0000000
--- a/oldcode/src/include/cmpi.h
+++ /dev/null
@@ -1,268 +0,0 @@
-
-#ifndef CMPI_H
-#define CMPI_H
-
-#include <grayskull-config.h>
-
-#include <mpi.h>
-
-#include <mpirpc.h>
-#include <lru_table.h>
-#include <ltable.h>
-
-#ifdef DISKSIM_LOCATION
-#include <disksim.h>
-#endif
-
-#include "cmpi_disk.h"
-
-#ifdef USE_CMPI_IO
-#include "cmpi-io.h"
-#endif
-
-#include <keyvalue.h>
-
-#ifdef DMALLOC
-#include "dmalloc.h"
-#endif
-
-typedef unsigned int CMPI_ID;
-
-//// Storage settings...
-
-/**
- Number of keys to hold in lru_table cache
- before flushing to disk or dropping.
-*/
-extern int cmpi_cache_limit;
-
-#define CMPI_KEY_LENGTH 64
-#define CMPI_VALUE_LENGTH (64*1024)
-
-#define CMPI_BLOB_LENGTH LIST_MAX_DATUM
-
-extern struct lru_table* cmpi_cache;
-
-//// Communication settings...
-// Table size for outstanding asynchronous communication:
-#define CALL_TABLE_SIZE 3
-
-
-extern int cmpi_status;
-
-extern bool cmpi_quitting;
-
-//// Disksim integration...
-#ifdef DISKSIM_LOCATION
-#define DISKSIM(x) x
-#else
-#define DISKSIM(x)
-#endif
-
-enum
-{
- CMPI_STATUS_PROTO, // CMPI is starting up
- CMPI_STATUS_READY, // CMPI is fully connected
- CMPI_STATUS_SHUTDOWN // CMPI is shutting down
-};
-
-enum
-{
- CMPI_TAG_REQUEST, // Request a transmission (unused?)
- CMPI_TAG_ID, // Send an ID
- CMPI_TAG_CONTROL, // Send a message
- CMPI_TAG_KEY, // Send a key
- CMPI_TAG_DATA, // Send blob
- CMPI_TAG_NODE, // Send a node number
- CMPI_TAG_ERRCODE // Send a blob lookup error code
-};
-
-/** CMPI control message types.
- Must be associated with normal variables
- to allow MPI transmissions (by reference).
-*/
-enum
-{
- CMPI_MSG_JOIN, // Join the DHT
- CMPI_MSG_NEIGHBOR, // Send any neighbor
- CMPI_MSG_SENDNODE, // Send your DHT node number
- CMPI_MSG_SENDKEY, // Send a key
- CMPI_MSG_SENDBLOB, // Send blob
- CMPI_MSG_LOOKUPKEY, // Request a key lookup
- CMPI_MSG_GETBLOB, // Request a blob
- CMPI_MSG_SHUTDOWN // Order a shutdown
-};
-
-/**
- CMPI method return error codes.
-*/
-typedef enum
-{
- /**
- Successful return code.
- */
- CMPI_SUCCESS,
-
- /**
- Record does not exist.
- */
- CMPI_DOESNT_EXIST,
-
- /**
- Query target is in a fault state.
- */
- CMPI_ERROR_FAULT,
-
- /**
- Unknown error.
- */
- CMPI_ERROR_UNKNOWN,
-
- /**
- Could not find port to attach.
- */
- CMPI_ERROR_SERVICENAME,
-
- /**
- Insufficient neighbors or poorly connected network.
- */
- CMPI_ERROR_NEIGHBORS
-} CMPI_RETURN;
-
-/**
- CMPI control message types.
- Must be in-memory integers to allow referencing by MPI calls.
- */
-extern int cmpi_msg_join;
-extern int cmpi_msg_neighbor;
-extern int cmpi_msg_sendnode;
-extern int cmpi_msg_sendkey;
-extern int cmpi_msg_sendblob;
-extern int cmpi_msg_lookupkey;
-extern int cmpi_msg_getblob;
-extern int cmpi_msg_shutdown;
-
-CMPI_RETURN cmpi_init(void);
-CMPI_RETURN cmpi_init_client(void);
-
-//// Methods to aid passing information to user programs:
-void cmpi_params_init(void);
-
-
-/**
- Stores a copy of the key, value pair.
-*/
-void cmpi_params_add(char* key, char* value);
-
-/**
- Copies out the result from the cache.
-*/
-char* cmpi_params_search(char* key);
-
-//// Methods that the implementation must provide:
-
-/**
- Allow the implementation to initialize.
- Called by cmpi_init().
-*/
-CMPI_RETURN cmpi_init_impl(void);
-
-/**
- Allow the implementation to initialize in client mode.
- Called by cmpi_init_client().
-*/
-CMPI_RETURN cmpi_init_impl_client(void);
-
-/**
- Some implementations may require an additional user
- call to connect to the DHT.
-*/
-CMPI_RETURN cmpi_attach(void);
-
-/**
- Set a CMPI implementation defined parameter.
-*/
-CMPI_RETURN cmpi_impl_parameter(char* name, char* value);
-
-/**
- Not required.
- Allows for use of the simple node program in src/cmpi/node.c .
-*/
-void cmpi_client_code(void);
-
-/**
- Obtain an info string from the node serving key.
-*/
-char* cmpi_info(CMPI_ID key);
-
-/**
- Global debugging operation.
- Instruct all nodes to write out their neighbor tables.
-*/
-void cmpi_debug_tables(void);
-
-/**
- Global debugging operation.
- Instruct all nodes to write out their neighbor table memory size.
-*/
-void cmpi_debug_table_usage(void);
-
-/**
- Global debugging operation.
- Instruct all nodes to write out their caches.
-*/
-void cmpi_debug_caches(void);
-
-/**
- Obtain the CMPI_ID for the node serving key.
-*/
-CMPI_ID cmpi_lookup(char* k);
-
-//// Core functionality...
-
-/**
- Obtain the node serving key.
-*/
-CMPI_ID cmpi_translate(CMPI_ID key);
-
-/**
- Retrieve a key/value pair from CMPI.
-*/
-CMPI_RETURN cmpi_get(char* key, char** value, int* length);
-
-/**
- Store a key/value pair in CMPI.
-*/
-CMPI_RETURN cmpi_put(char* key, char* value, int length);
-
-/**
- Update byte region in CMPI key/value pair.
-*/
-CMPI_RETURN cmpi_update(char* key, char* value,
- int length, int offset);
-
-/**
- Global operation.
- Instruct p random nodes to emulate a fault state.
-*/
-void cmpi_emulate_faults(int p);
-
-void cmpi_detach(void);
-
-//// Cached disk operations:
-
-int cmpi_cached_retrieve(char* key, char** data);
-void cmpi_cached_store(char* key, char* data, int length);
-void cmpi_cached_update(char* key, char* data,
- int offset, int length);
-
-/**
- Global operation. Instruct all nodes to shutdown.
-*/
-void cmpi_shutdown(void);
-
-void cmpi_cleanup(void);
-void cmpi_client_cleanup(void);
-
-#endif
-
diff --git a/oldcode/src/include/cmpi_dense-1.h b/oldcode/src/include/cmpi_dense-1.h
deleted file mode 100644
index d1146a8..0000000
--- a/oldcode/src/include/cmpi_dense-1.h
+++ /dev/null
@@ -1,14 +0,0 @@
-
-#ifndef CMPI_DENSE_1_H
-#define CMPI_DENSE_1_H
-
-#include "dense-1.h"
-
-//// Helpers:
-
-void add_contacts(void);
-
-void DENSE_Read_params(void);
-
-
-#endif
diff --git a/oldcode/src/include/cmpi_disk.h b/oldcode/src/include/cmpi_disk.h
deleted file mode 100644
index aba8421..0000000
--- a/oldcode/src/include/cmpi_disk.h
+++ /dev/null
@@ -1,8 +0,0 @@
-
-/**
- * Select disk operations based on configure-time value of DISK_TYPE.
- * */
-
-void cmpi_disk_storepair(char* key, char* value, int length);
-int cmpi_disk_loadpair(char* key, char** value);
-
diff --git a/oldcode/src/include/cmpi_kda-1.h b/oldcode/src/include/cmpi_kda-1.h
deleted file mode 100644
index 339c12b..0000000
--- a/oldcode/src/include/cmpi_kda-1.h
+++ /dev/null
@@ -1,4 +0,0 @@
-
-#include <cmpi.h>
-#include "kda-1.h"
-
diff --git a/oldcode/src/include/cmpi_kda-2.h b/oldcode/src/include/cmpi_kda-2.h
deleted file mode 100644
index 34521b6..0000000
--- a/oldcode/src/include/cmpi_kda-2.h
+++ /dev/null
@@ -1,6 +0,0 @@
-
-#include "kda-2.h"
-
-//// Helpers:
-
-void add_contacts(void);
diff --git a/oldcode/src/include/connection.h b/oldcode/src/include/connection.h
deleted file mode 100644
index 139597f..0000000
--- a/oldcode/src/include/connection.h
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/oldcode/src/include/dense-1.h b/oldcode/src/include/dense-1.h
deleted file mode 100644
index 9bfa191..0000000
--- a/oldcode/src/include/dense-1.h
+++ /dev/null
@@ -1,58 +0,0 @@
-
-#ifndef DENSE_1_H
-#define DENSE_1_H
-
-#include <cmpi.h>
-#include <inlist.h>
-#include <string.h>
-// #include <strings.h>
-#include <unistd.h>
-
-#ifdef USE_STRINGS_H
-
-#endif
-
-typedef int DENSE_ID;
-
-extern int dense_nodes;
-extern bool dense_quitting;
-
-void DENSE_Init(int k_in, MPI_Comm comm);
-void DENSE_Init_client(void);
-MPIRPC* DENSE_Lookup(MPIRPC_Node node, char* key);
-MPIRPC* DENSE_Lookup_k(MPIRPC_Node node, char* key);
-MPIRPC* DENSE_Translate(MPIRPC_Node node, DENSE_ID id);
-MPIRPC* DENSE_Translate_k(MPIRPC_Node node, DENSE_ID id);
-MPIRPC* DENSE_Store(MPIRPC_Node node, char* key, char* value,
- int length);
-MPIRPC* DENSE_Update(MPIRPC_Node node, char* key, char* value,
- int length, int offset);
-MPIRPC* DENSE_Retrieve(MPIRPC_Node node, char* key);
-void DENSE_Shutdown(MPIRPC_Node node);
-void DENSE_Debug_cache(MPIRPC_Node node);
-
-void rpc_bootping(void);
-void listen_loop(void);
-
-void handle_bootping(MPIRPC_Node caller, int unique, char* args,
- char* blob, int blob_length);
-void handle_info(MPIRPC_Node caller, int unique, char* args,
- char* blob, int blob_length);
-void handle_ping(MPIRPC_Node caller, int unique, char* args,
- char* blob, int blob_length);
-void handle_query_id(MPIRPC_Node caller, int unique, char* args,
- char* blob, int blob_length);
-void handle_query_id_k(MPIRPC_Node caller, int unique, char* args,
- char* blob, int blob_length);
-void handle_store(MPIRPC_Node caller, int unique, char* args,
- char* blob, int blob_length);
-void handle_update(MPIRPC_Node caller, int unique, char* args,
- char* blob, int blob_length);
-void handle_retrieve(MPIRPC_Node caller, int unique, char* args,
- char* blob, int blob_length);
-void handle_debug_cache(MPIRPC_Node caller, int unique, char* args,
- char* blob, int blob_length);
-void handle_quit(MPIRPC_Node caller, int unique, char* args,
- char* blob, int blob_length);
-
-#endif
diff --git a/oldcode/src/include/disksim.h b/oldcode/src/include/disksim.h
deleted file mode 100644
index e75b3a1..0000000
--- a/oldcode/src/include/disksim.h
+++ /dev/null
@@ -1,40 +0,0 @@
-
-#ifndef DISKSIM_H
-#define DISKSIM_H
-
-#include <errno.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-#include <disksim_interface.h>
-#include <disksim_rand48.h>
-
-#include <mpi.h>
-
-#include <grayskull-config.h>
-
-#include <mpi_tools.h>
-
-//// Public API:
-void disksim_init(void);
-void cmpi_disk_storepair(char* key, char* value, int length);
-int cmpi_disk_loadpair(char* key, char** data);
-
-void emulate_read(long block, char** data, int size);
-void emulate_write(long block, char* data, int size);
-
-/**
- Compute the disk access delay using Disksim.
- @return The delay in us as as double, -1 on error.
-*/
-double compute_read(long block, char** data, int size);
-
-/**
- Compute the disk access delay using Disksim.
- @return The delay in us as as double, -1 on error.
-*/
-double compute_write(long block, char* data, int size);
-
-#endif
diff --git a/oldcode/src/include/dpkm_list.h b/oldcode/src/include/dpkm_list.h
deleted file mode 100644
index ad7306e..0000000
--- a/oldcode/src/include/dpkm_list.h
+++ /dev/null
@@ -1,113 +0,0 @@
-
-/**
- * Doubly-linked list with two data items.
- * DPKM_LIST =
- * "Doubly-linked" "extra Pointer" "Keyed" "capacity-liMited" LIST
- * */
-
-#ifndef DPKM_LIST_H
-#define DPKM_LIST_H
-
-#include <assert.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <mpi_tools.h>
-
-#include "keyvalue.h"
-
-// Maximum size of a klist datum
-#define DPKM_LIST_MAX_DATUM 100
-
-struct dpkm_list_item
-{
- void* ptr;
- char* key;
- char* data;
- int length;
- struct dpkm_list_item* prev;
- struct dpkm_list_item* next;
-};
-
-struct dpkm_list
-{
- struct dpkm_list_item* head;
- struct dpkm_list_item* tail;
- int size;
- int limit;
-};
-
-struct dpkm_list* dpkm_list_create(int limit);
-
-struct dpkm_list_item* dpkm_list_add(struct dpkm_list* target,
- char* key, void* data, int length);
-
-// #define dpkm_list_push(target, key, data, length) dpkm_list_add(target, key, data, length)
-
-void dpkm_list_pushback(struct dpkm_list* target,
- struct dpkm_list_item* item);
-
-struct dpkm_list_item* dpkm_list_append(struct dpkm_list* target,
- struct dpkm_list_item* item);
-
-struct dpkm_list_item* dpkm_list_search(struct dpkm_list* target,
- char* key);
-
-void* dpkm_list_inspect(struct dpkm_list* target, void* data, size_t n);
-
-bool dpkm_list_remove(struct dpkm_list* target, void* data);
-
-bool dpkm_list_erase(struct dpkm_list* target, void* data, size_t n);
-
-void dpkm_list_excise(struct dpkm_list* target,
- struct dpkm_list_item* item);
-
-struct dpkm_list* dpkm_list_select(struct dpkm_list* target,
- int (*cmp)(void*,void*), void* arg);
-
-bool dpkm_list_remove_where(struct dpkm_list* target,
- int (*cmp)(void*,void*), void* arg);
-
-struct dpkm_list* dpkm_list_pop_where(struct dpkm_list* target,
- int (*cmp)(void*,void*), void* arg);
-
-void dpkm_list_transplant(struct dpkm_list* target, struct dpkm_list* segment);
-
-void dpkm_list_clear(struct dpkm_list* target);
-
-void dpkm_list_clobber(struct dpkm_list* target);
-
-void* dpkm_list_pop(struct dpkm_list* target);
-
-void* dpkm_list_peek(struct dpkm_list* target);
-
-struct dpkm_list_item* dpkm_list_poll(struct dpkm_list* target);
-
-void* dpkm_list_random(struct dpkm_list* target);
-
-struct dpkm_list_item* dpkm_list_ordered_insert(struct dpkm_list* target,
- int (*cmp)(void*,void*),
- void* data);
-
-bool dpkm_list_contains(struct dpkm_list* target,
- int (*cmp)(void*,void*), void* data);
-
-void dpkm_list_output(char* (*f)(void*), struct dpkm_list* target);
-
-// void dpkm_list_dump(char* format, struct dpkm_list* target);
-
-void dpkm_list_free(struct dpkm_list* target);
-
-void dpkm_list_destroy(struct dpkm_list* target);
-
-void dpkm_list_printf(char* format, struct dpkm_list* target);
-
-void dpkm_list_fprintf(FILE* file, char* format, struct dpkm_list* target);
-
-int dpkm_list_tostring(char* str, size_t size,
- char* format, struct dpkm_list* target);
-
-
-#endif
diff --git a/oldcode/src/include/driver.h b/oldcode/src/include/driver.h
deleted file mode 100644
index 0846f8c..0000000
--- a/oldcode/src/include/driver.h
+++ /dev/null
@@ -1,47 +0,0 @@
-
-#include <grayskull-config.h>
-
-#include <getopt.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <cmpi.h>
-#include <io_tools.h>
-
-/**
- Maximum command line for driver.
-*/
-#define CMPI_DRIVER_MAX_COMMAND (100+CMPI_KEY_LENGTH)
-
-typedef struct cmpi_driver_
-{
- FILE* source;
- FILE* sink;
- char command[CMPI_DRIVER_MAX_COMMAND];
- char data[CMPI_VALUE_LENGTH];
- bool quitting;
-} cmpi_driver;
-
-enum
-{
- CMPI_DRIVER_FILE,
- CMPI_DRIVER_STDIN,
- CMPI_DRIVER_PIPE
-};
-
-//// API...
-
-cmpi_driver* driver_create(void);
-
-bool driver_setup_stdin(cmpi_driver* driver);
-bool driver_setup_file(cmpi_driver* driver, char* filename);
-bool driver_setup_fifo(cmpi_driver* driver);
-
-void driver_process(cmpi_driver* driver);
-
-//// Internal functions...
-
-struct list* driver_tokens(cmpi_driver* driver);
-
-
-
diff --git a/oldcode/src/include/gack.gsh b/oldcode/src/include/gack.gsh
deleted file mode 100644
index 5cc693d..0000000
--- a/oldcode/src/include/gack.gsh
+++ /dev/null
@@ -1,31 +0,0 @@
-
-/**
- * GACK: Grayskull Allocation Controller
- * */
-
-#ifndef GACK_GSH
-#define GACK_GSH
-
-#include <stdbool.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include <mpi.h>
-
-#include <include/gs.h>
-#include <resources/mpi/gs-mpi.gsh>
-
-#include <gack_types.gsh>
-#include <gobs.gsh>
-
-#define GACK_WIDTH_FULL -1
-
-void gack_init(gobs_impl impl, MPI_Comm comm);
-
-gobs_id gack_file();
-
-gack_sack* gack_allocate(int width);
-
-void gack_printf_sack(gack_sack* sack);
-
-#endif
diff --git a/oldcode/src/include/gack_types.gsh b/oldcode/src/include/gack_types.gsh
deleted file mode 100644
index 5964c6e..0000000
--- a/oldcode/src/include/gack_types.gsh
+++ /dev/null
@@ -1,13 +0,0 @@
-
-#ifndef GACK_TYPES_GSH
-#define GACK_TYPES_GSH
-
-#include <gobs_types.gsh>
-
-typedef struct
-{
- int size;
- gobs_id* id;
-} gack_sack;
-
-#endif
diff --git a/oldcode/src/include/gobs.gsh b/oldcode/src/include/gobs.gsh
deleted file mode 100644
index 181e783..0000000
--- a/oldcode/src/include/gobs.gsh
+++ /dev/null
@@ -1,114 +0,0 @@
-
-/**
- GOBS: Grayskull OBject Space
-*/
-
-#ifndef GOBS_GSH
-#define GOBS_GSH
-
-#include <limits.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include <mpi.h>
-
-#include <include/gs.h>
-#include <resources/mpi/gs-mpi.gsh>
-
-#include <gobs_types.gsh>
-#include <ait.gsh>
-#include <skullfs.gsh>
-#include <skullfs_handlers.gsh>
-
-// #warning GOBS.GSH
-
-// extern bool gobs_using_gdb;
-extern gobs_id GOBS_LIMIT;
-extern int mpi_rank;
-extern bool gobs_running;
-extern gum_node self;
-extern int mpi_size;
-// extern gobs_impl gobs_current_impl;
-
-//// Client section:
-
-__blocking int gobs_query(gum_node target, gobs_id id,
- gum_node* node);
-
-__blocking int gobs_store(gum_node target, gobs_id id,
- char* data, int length);
-
-__blocking int gobs_write(gum_node node, gobs_id id,
- char* data, int count, int offset);
-
-__blocking int gobs_retrieve(gum_node target, gobs_id id,
- char* data);
-
-__blocking int gobs_read(gum_node node, gobs_id id,
- char* data, int count, int offset);
-
-__blocking int gobs_client_code();
-
-gum_node gobs_lookup(gobs_id id);
-
-__blocking int gobs_ait_pull(gum_node node);
-
-//// Server section:
-
-typedef struct
-{
- void (*setup)(MPI_Comm comm);
- gum_node (*lookup)(gobs_id id);
- gum_node (*query)(gum_node target, gobs_id id);
-
- void (*ait_create)();
- ait_iterator* (*ait_iterator)(void);
- ait_entry* (*ait_iterator_next)(ait_iterator*);
- int (*ait_size)();
- ait_entry* (*ait_lookup)(gobs_id id);
- gum_node (*ait_random_member)(void);
- struct list* (*ait_random_k_members)(int k);
- void (*ait_fail)(gum_node node);
- bool (*ait_failed)(gum_node node);
-} gobs_fns;
-
-extern gobs_fns gobs;
-
-void gobs_init(gobs_impl impl, MPI_Comm comm);
-
-bool gobs_setup(gobs_impl impl, MPI_Comm comm);
-
-int gobs_size();
-
-__blocking int gobs_storage_init();
-
-__blocking int gobs_table_init();
-
-__blocking int gobs_client_init();
-
-__blocking int gobs_ping(gum_node target);
-
-__blocking int gobs_response(MPI_Comm comm);
-
-__blocking int gobs_quit(gum_node target);
-
-__blocking int handle_query(gum_node caller, gum_msg* call);
-
-__blocking int handle_store(gum_node caller, gum_msg* call);
-
-__blocking int handle_write(gum_node caller, gum_msg* call);
-
-__blocking int handle_retrieve(gum_node caller, gum_msg* call);
-
-__blocking int handle_read(gum_node caller, gum_msg* call);
-
-__blocking int handle_lookup(gum_node caller, gum_msg* call);
-
-__blocking int handle_ait_fetch(gum_node caller, gum_msg* call);
-
-__blocking int handle_quit(gum_node caller, gum_msg* call);
-
-__blocking int gobs_all_quit();
-
-#endif
diff --git a/oldcode/src/include/gobs_dense.h b/oldcode/src/include/gobs_dense.h
deleted file mode 100644
index 58f4f2f..0000000
--- a/oldcode/src/include/gobs_dense.h
+++ /dev/null
@@ -1,46 +0,0 @@
-
-#ifndef GOBS_DENSE_H
-#define GOBS_DENSE_H
-
-#include <list.h>
-
-#include <gobs.gsh>
-
-typedef struct
-{
- int index;
- ait_entry* table;
-} gobs_dense_iterator;
-
-// extern gobs_fns gobs_dense_impl;
-
-extern ait_entry* gobs_dense_ait;
-extern int gobs_dense_ait_size;
-
-void gobs_dense_setup(MPI_Comm comm);
-
-void gobs_dense_ait_create();
-
-int gobs_dense_ait_get_size();
-
-ait_iterator* gobs_dense_get_iterator();
-
-ait_entry* gobs_dense_iterator_next(ait_iterator* iterator);
-
-ait_entry* gobs_dense_ait_lookup(gobs_id id);
-
-gum_node gobs_dense_random_member();
-
-struct list* gobs_dense_random_k_members(int k);
-
-void gobs_dense_fail(gum_node dead_node);
-
-bool gobs_dense_failed(gum_node node);
-
-/*
-gum_node gobs_dense_lookup(gobs_id id);
-
-__blocking gum_node gobs_dense_query(gum_node target, gobs_id id);
-*/
-
-#endif
diff --git a/oldcode/src/include/gobs_types.gsh b/oldcode/src/include/gobs_types.gsh
deleted file mode 100644
index ed330ec..0000000
--- a/oldcode/src/include/gobs_types.gsh
+++ /dev/null
@@ -1,55 +0,0 @@
-
-#ifndef GOBS_TYPES_GSH
-#define GOBS_TYPES_GSH
-
-#include <gum.gsh>
-
-typedef int gobs_id;
-
-extern struct itable* gobs_cache;
-
-typedef struct
-{
- gum_node node;
- gobs_id id;
-} gobs_location;
-
-typedef enum
-{
- GOBS_DENSE,
- GOBS_KDA
-} gobs_impl;
-
-typedef enum
-{
- GOBS_QUERY = -1000,
- GOBS_STORE,
- GOBS_RETRIEVE,
- GOBS_OPEN,
- GOBS_ALLOCATE,
- GOBS_WRITE, // 5
- GOBS_READ,
- GOBS_PING,
- // FS OPERATIONS:
- GOBS_MKFS,
- GOBS_LOOKUP,
- GOBS_MKDIR, // 10
- GOBS_LIST,
- GOBS_MAKE_FILE,
- GOBS_CREATE_FILE,
- GOBS_CREATE_BLOB,
- GOBS_LINK_FILE, // 15
- GOBS_LINK_BLOB,
- GOBS_BLOB_IDS,
-
- AIT_FETCH,
- AIT_HASH,
-
- SWIM_PING,
- SWIM_PING_REQ,
- SWIM_RESPONSE,
-
- GOBS_QUIT
-} gobs_code;
-
-#endif
diff --git a/oldcode/src/include/gs-debug.h b/oldcode/src/include/gs-debug.h
deleted file mode 100644
index e221734..0000000
--- a/oldcode/src/include/gs-debug.h
+++ /dev/null
@@ -1,42 +0,0 @@
-
-/* This file just defines debugging masks to be used with the gossip
- * logging utility.
- */
-
-#ifndef __PVFS2_DEBUG_H
-#define __PVFS2_DEBUG_H
-
-#ifdef __KERNEL__
-#include <linux/types.h>
-#else
-#include <stdint.h>
-#include <stdlib.h>
-#endif
-#include <gossip.h>
-
-#define GS_D_NONE (uint64_t)0
-#define GS_D_EXAMPLE ((uint64_t)1 << 0)
-/* NOTE: add others here, along with corresponding entries in gs-debug.c */
-
-#define gs_debug_init() \
-do {\
- char* __mask_str; \
- uint64_t __mask; \
- __mask_str = getenv("GS_DEBUG_MASK"); \
- __mask = (__mask_str ? gs_debug_mask(__mask_str) : 0); \
- gossip_set_debug_mask(1, __mask); \
-}while(0)
-
-uint64_t gs_debug_mask(
- const char *event_logging);
-
-#endif /* __PVFS2_DEBUG_H */
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/include/gum.gsh b/oldcode/src/include/gum.gsh
deleted file mode 100644
index ff911f6..0000000
--- a/oldcode/src/include/gum.gsh
+++ /dev/null
@@ -1,142 +0,0 @@
-
-/**
- GUM: Grayskull Underlying Messages
-*/
-
-#ifndef GUM_GSH
-#define GUM_GSH
-
-#include <stdbool.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <include/gs.h>
-#include <mpi/gs-mpi.gsh>
-
-#include <hashtable.h>
-#include <itable.h>
-
-#include <mpi_tools.h>
-
-#ifdef DMALLOC
-// #warning DMALLOC
-#include "dmalloc.h"
-#endif
-
-typedef enum
-{
- GUM_STATUS_PROTO,
- GUM_STATUS_RUNNING,
- GUM_STATUS_SHUTDOWN,
- GUM_STATUS_EMULATE_FAULT
-} gum_status;
-
-typedef enum
-{
- GUM_SUCCESS = -1,
- GUM_EMULATE_FAULT = -2
-} gum_result;
-
-/**
- gum_proc_idx codes that have special meaning to GUM.
-*/
-typedef enum
-{
- GUM_RESPONSE = -101,
- GUM_RESPONSE_FAULTY = -102,
- GUM_PING = -103,
- GUM_SHUTDOWN = -104
-} gum_fn;
-
-/**
- MPI tags with special meaning to GUM.
-*/
-typedef enum
-{
- GUM_CALL
-} gum_tag;
-
-#define GUM_MSG_MAX (1*1024)
-
-typedef int gum_proc_idx;
-
-typedef struct
-{
- int rank;
- MPI_Comm comm;
-} gum_node;
-
-typedef struct
-{
- gum_proc_idx procedure;
- gum_node source;
- int unique;
- int length;
- char* data;
- MPI_Datatype type;
-} gum_msg;
-
-/*
-typedef struct
-{
- __blocking int (*procedure)(gum_msg* msg);
- char name[64];
-} gum_blocking;
-*/
-
- // Copy from funptrs
-struct gum_blocking
-{
- __blocking int (*procedure)(gum_msg* b);
- char name[64];
-};
-
-int gum_init(void);
-
-struct gum_blocking* gum_blocking_create(char* name);
-
-gum_msg* gum_msg_create(void);
-
-void gum_msg_init(gum_proc_idx name, char* data, int length,
- gum_msg* msg);
-
-void gum_msg_name(char* name, char* data, int length, gum_msg* msg);
-
-gum_msg* gum_msg_build(gum_proc_idx name, char* data, int length);
-
-gum_msg* gum_msg_response(int unique, char* data, int length);
-
-gum_msg* gum_msg_reply(gum_msg* call);
-
-void gum_register(struct gum_blocking* procedure);
-
-gum_proc_idx gum_proc_create(char* name);
-void gum_pack(gum_msg* msg);
-
-__blocking int /* gum_result */ gum_call(gum_node target,
- gum_msg* call,
- gum_msg** response);
-
-__blocking int gum_response();
-
-__blocking int /* gum_result */ gum_recv(gum_node target, int tag,
- gum_proc_idx* idx,
- int* from, int* unique,
- int* length, char* data);
-
-__blocking int gum_return(gum_node caller, gum_msg* response);
-
-__blocking int gum_return_emulating_fault(gum_node caller,
- gum_msg* response);
-
-
-__blocking int gum_emulate_fault(gum_node target);
-
-__blocking int gum_kill(gum_node target);
-
-bool gum_running();
-
-void gum_shutdown();
-
-
-#endif
diff --git a/oldcode/src/include/handlers.h b/oldcode/src/include/handlers.h
deleted file mode 100644
index 3c0fe00..0000000
--- a/oldcode/src/include/handlers.h
+++ /dev/null
@@ -1,5 +0,0 @@
-
-#include "mpirpc.h"
-
-void
-handle_emulate_fault(int caller, int unique, char* result);
diff --git a/oldcode/src/include/hashtable.h b/oldcode/src/include/hashtable.h
deleted file mode 100644
index e2d3e98..0000000
--- a/oldcode/src/include/hashtable.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-#ifndef HASHTABLE_H
-#define HASHTABLE_H
-
-#include <stdlib.h>
-#include <stdint.h>
-#include <stdbool.h>
-#include <string.h>
-
-#include <openssl/sha.h>
-
-#include <mpi_tools.h>
-
-#include "klist.h"
-
-struct hashtable
-{
- struct klist** array;
- int capacity;
- int size;
-};
-
-// inline int quickhash_string_hash(char* key, int capacity);
-int hash_string(char* key, int capacity);
-
-/**
- Compress SHA-1 down to a smaller address space,
- namely, 4 bytes.
-*/
-int SHA1_mod(char* data);
-
-struct hashtable* hashtable_create(int capacity);
-
-bool hashtable_add(struct hashtable *target, char* key, void* data);
-
-void* hashtable_search(struct hashtable* target, char* key);
-
-void hashtable_dump(char* format, struct hashtable* target);
-
-void hashtable_free(struct hashtable* target);
-
-/**
- Simply printf all keys in each klist.
-*/
-void hashtable_dumpkeys(struct hashtable* target);
-
-#endif
-
diff --git a/oldcode/src/include/ilist.h b/oldcode/src/include/ilist.h
deleted file mode 100644
index fa7ecc6..0000000
--- a/oldcode/src/include/ilist.h
+++ /dev/null
@@ -1,83 +0,0 @@
-
-/**
- Extremely simple singly-linked list of int-keyed data items.
- */
-
-#ifndef ILIST_H
-#define ILIST_H
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <mpi_tools.h>
-
-// Maximum size of a ilist datum
-#define ILIST_MAX_DATUM 100
-
-struct ilist_item
-{
- int key;
- void* data;
- struct ilist_item* next;
-};
-
-struct ilist
-{
- struct ilist_item* head;
- struct ilist_item* tail;
- int size;
-};
-
-struct ilist* ilist_create(void);
-
-struct ilist_item* ilist_add(struct ilist* target,
- int key, void* data);
-
-#define ilist_push(target, key, data) ilist_add(target, key, data)
-
-struct ilist_item* ilist_replace(struct ilist* target,
- int key, void* data);
-
-bool ilist_contains(struct ilist* target, int key);
-
-bool ilist_matches(struct ilist* target,
- int (*cmp)(void*,void*), void* data);
-
-struct ilist_item* ilist_ordered_insert(struct ilist* target,
- int key, void* data);
-struct ilist_item*
-ilist_ordered_insert_unique(struct ilist* target,
- int (*cmp)(void*,void*),
- int key, void* data);
-
-void* ilist_pop(struct ilist* target);
-
-void* ilist_poll(struct ilist* target);
-
-void* ilist_get(struct ilist* target, int i);
-
-void* ilist_search(struct ilist* target, int key);
-
-void ilist_free(struct ilist* target);
-
-void ilist_destroy(struct ilist* target);
-
-void* ilist_remove(struct ilist* target, int key);
-
-//// Output methods...
-void ilist_dump(char* (f)(void*), struct ilist* target);
-void ilist_printf(char* format, struct ilist* target);
-void ilist_fdump(FILE* file, char* (f)(void*), struct ilist* target);
-void ilist_fprintf(FILE* file, char* format, struct ilist* target);
-void ilist_dumpkeys(struct ilist* target);
-void ilist_xdumpkeys(struct ilist* target);
-void ilist_fdumpkeys(FILE* file, struct ilist* target);
-void ilist_output(char* (*f)(void*), struct ilist* target);
-int ilist_snprintf(char* str, size_t size,
- char* format, struct ilist* target);
-int ilist_marshal(char* str, size_t size,
- char* (f)(void*), struct ilist* target);
-char* ilist_serialize_ptrs(struct ilist* target);
-
-
-#endif
diff --git a/oldcode/src/include/inlist.h b/oldcode/src/include/inlist.h
deleted file mode 100644
index c2f4ced..0000000
--- a/oldcode/src/include/inlist.h
+++ /dev/null
@@ -1,69 +0,0 @@
-
-/**
- Extremely simple singly-linked list of ints.
- Everything is IN the list, no external pointers.
- */
-
-#ifndef INLIST_H
-#define INLIST_H
-
-#include <stdbool.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <mpi_tools.h>
-
-// Maximum size of a kinlist datum
-#define INLIST_MAX_DATUM 100
-
-struct inlist_item
-{
- int data;
- struct inlist_item* next;
-};
-
-struct inlist
-{
- struct inlist_item* head;
- struct inlist_item* tail;
- int size;
-};
-
-struct inlist* inlist_create(void);
-
-struct inlist_item* inlist_add(struct inlist* target, int data);
-#define inlist_push(target, data) inlist_add(target, data)
-
-struct inlist* inlist_parse(char* s);
-
-int inlist_search(struct inlist* target, int data);
-
-int inlist_random(struct inlist* target);
-
-bool inlist_remove(struct inlist* target, int data);
-
-bool inlist_erase(struct inlist* target, int data, size_t n);
-
-int inlist_pop(struct inlist* target);
-
-int inlist_peek(struct inlist* target);
-
-int inlist_poll(struct inlist* target);
-
-struct inlist_item* inlist_ordered_insert(struct inlist* target,
- int data);
-
-bool inlist_contains(struct inlist* target, int data);
-
-void inlist_printf(struct inlist* target);
-
-/*
-int inlist_tostring(char* str, size_t size,
-struct inlist* target); */
-
-char* inlist_serialize(struct inlist* target);
-
-void inlist_free(struct inlist* target);
-
-#endif
diff --git a/oldcode/src/include/io_tools.h b/oldcode/src/include/io_tools.h
deleted file mode 100644
index 0ad456d..0000000
--- a/oldcode/src/include/io_tools.h
+++ /dev/null
@@ -1,6 +0,0 @@
-
-#include <stdio.h>
-
-void stream_to_buffer(char* buffer, int length, FILE* stream);
-void buffer_to_stream(char* buffer, int length, FILE* stream);
-void eat_whitespace(FILE* stream);
diff --git a/oldcode/src/include/itable.h b/oldcode/src/include/itable.h
deleted file mode 100644
index 42fe3a6..0000000
--- a/oldcode/src/include/itable.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- *
- * Modified for Grayskull by Justin M Wozniak <wozniak(a)mcs.anl.gov>
- */
-
-#ifndef ITABLE_H
-#define ITABLE_H
-
-#include <stdlib.h>
-#include <stdint.h>
-#include <stdbool.h>
-#include <string.h>
-
-#include "ilist.h"
-
-struct itable
-{
- struct ilist** array;
- int capacity;
- int size;
-};
-
-inline int hash_int(int key, int capacity);
-
-struct itable* itable_create(int capacity);
-
-bool itable_add(struct itable* target, int key, void* data);
-
-void* itable_search(struct itable* target, int key);
-
-void* itable_remove(struct itable* target, int key);
-
-void itable_free(struct itable* target);
-
-void itable_destroy(struct itable* target);
-
-void itable_dump(char* format, struct itable* target);
-
-int itable_tostring(char* str, size_t size,
- char* format, struct itable* target);
-
-#endif
-
diff --git a/oldcode/src/include/kda-1.h b/oldcode/src/include/kda-1.h
deleted file mode 100644
index dd01ada..0000000
--- a/oldcode/src/include/kda-1.h
+++ /dev/null
@@ -1,145 +0,0 @@
-
-#ifndef KADEMLIA_1_H
-#define KADEMLIA_1_H
-
-#include <limits.h>
-#include <signal.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-#include <unistd.h>
-
-#include <mpi.h>
-
-#include <hashtable.h>
-#include <itable.h>
-#include <list.h>
-#include <ilist.h>
-#include <inlist.h>
-#include <mpi_tools.h>
-#include <mpirpc.h>
-#include <cmpi.h>
-// #include <driver.h>
-
-#ifdef DISKSIM_LOCATION
-#include <disksim.h>
-#endif
-
-typedef int KDA_ID;
-
-#include "kda_types-1.h"
-#include "kda_neighbor-1.h"
-
-
-#define KDA_SPACE_SIZE (sizeof(KDA_ID)*8) // 160 in paper
-#define KDA_HASH_SPACE INT_MAX //
-
-/**
- KDA_ID_NULL=0 is an invalid KDA_ID used for semantic purposes.
- make_id must not create this id.
-*/
-#define KDA_ID_NULL 0;
-
-/**
- Obtain the Kademlia distance between two ids.
-*/
-#define XOR(id1, id2) (((int) id1) ^ ((int) id2))
-
-/**
- Contains neighbors. A bucket is all neighbors of a given
- distance 2^i - 2^i+1
-*/
-typedef struct list* K_BUCKET;
-
-extern int kda_nodes;
-extern struct itable* operations;
-
-
-void KDA_Init(int alpha_in, int k_in);
-
-//// General API...
-/**
- Return once op->status is KDA_STATUS_COMPLETE
-*/
-void KDA_Wait(KDA_Operation* op);
-
-//// Local API...
-int KDA_Local_rank(KDA_ID other_id);
-KDA_Neighbor* KDA_Local_ID(int other_rank);
-
-
-//// Client API:
-MPIRPC* KDA_Translate(int rank, KDA_ID id);
-MPIRPC* KDA_Translate_k(int rank, KDA_ID id);
-MPIRPC* KDA_Lookup(int rank, char* key);
-MPIRPC* KDA_Lookup_k(int rank, char* key);
-MPIRPC* KDA_Store(int rank, char* key, char* value);
-MPIRPC* KDA_Retrieve(int rank, char* key);
-MPIRPC* KDA_Update(int rank, char* key, char* value, int length, int offset);
-
-//// In-DHT API...
-void KDA_Ping(KDA_ID other_id);
-void KDA_Announce(void);
-struct ilist* KDA_Find_key(char* key);
-struct ilist* KDA_Find(KDA_ID object_id);
-struct ilist* KDA_Closest(KDA_ID object_id);
-
-//// Helpers...
-KDA_Operation* KDA_Operate(KDA_ID object_id, char* name, void* args,
- void (*proceed)(MPIRPC* rpc),
- KDA_Query* query);
-bool KDA_Find_node(KDA_Operation* op);
-bool KDA_Find_node_again(KDA_Operation* op);
-void KDA_Operation_free(KDA_Operation* op);
-
-char* KDA_Description(void);
-char* KDA_id_tostring(KDA_ID other_id);
-
-KDA_ID make_id(void);
-void join(int other_rank);
-char* id_tostring(void);
-void listen_loop(void);
-void bootstrap(int other_rank);
-void bootjoin(int other_id, int other_rank);
-void rpc_bootjoin(int other_rank);
-void bootping(void);
-void dump_buckets(void);
-char* bucket_usage(void);
-char* buckets_tostring(void);
-bool add_neighbor(KDA_Neighbor* neighbor);
-
-//// Handlers...
-
-void handle_announce(int caller, int unique, char* args);
-void handle_info(int caller, int unique, char* args);
-void handle_debug_tables(int caller, int unique, char* args);
-void handle_bucket_usage(int caller, int unique, char* args);
-void handle_bootjoin(int caller, int unique, char* args);
-void handle_bootping(int caller, int unique, char* args);
-void handle_update(int caller, int unique, char* args);
-void handle_find_node(int caller, int unique, char* args);
-void handle_ping(int caller, int unique, char* args);
-void handle_query_id(int caller, int unique, char* args);
-void handle_query_id_k(int caller, int unique, char* args);
-void handle_store(int caller, int unique, char* args);
-void handle_retrieve(int caller, int unique, char* args);
-void handle_quit(int caller, int unique, char* args);
-
-//// Synchronous methods...
-struct ilist* find_node(KDA_ID id);
-
-//// Asynchronous methods and return services...
-void query_id(int caller, int unique, KDA_ID id);
-void return_query_id(KDA_Operation* op);
-void query_id_k(int caller, int unique, KDA_ID id);
-void return_query_id_k(KDA_Operation* op);
-
-//// Proceeds...
-void proceed_bootjoin(MPIRPC* rpc);
-void proceed_find(MPIRPC* rpc);
-void proceed_ping(MPIRPC* rpc);
-
-
-
-#endif
diff --git a/oldcode/src/include/kda-2.h b/oldcode/src/include/kda-2.h
deleted file mode 100644
index 7659e05..0000000
--- a/oldcode/src/include/kda-2.h
+++ /dev/null
@@ -1,247 +0,0 @@
-
-#ifndef KDA_2_H
-#define KDA_2_H
-
-#include <limits.h>
-#include <signal.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-#include <unistd.h>
-
-#include <mpi.h>
-
-#include <hashtable.h>
-#include <itable.h>
-#include <list.h>
-#include <ilist.h>
-#include <inlist.h>
-#include <cmpi.h>
-#include <mpi_tools.h>
-
-#include "kda_types-2.h"
-
-#include "connection.h"
-#include "kda_neighbor-2.h"
-
-#define KDA_SPACE_SIZE (sizeof(KDA_ID)*8) // 160 in paper
-#define KDA_HASH_SPACE UINT_MAX //
-
-/**
- Obtain the Kademlia distance between two ids.
-*/
-#define XOR(id1, id2) (((unsigned int) id1) ^ ((unsigned int) id2))
-
-extern KDA_ID id;
-extern K_BUCKET k_bucket[];
-extern struct list* hubs;
-extern int kda_nodes;
-
-enum
-{
- KDA_STATUS_SEARCHING,
- KDA_STATUS_CALLING,
- KDA_STATUS_COMPLETE
-};
-
-/**
- KDA_ID_NULL=0 is an invalid KDA_ID used for semantic purposes.
- make_id must not create this id.
-*/
-#define KDA_ID_NULL 0
-
-/**
- KDA_ID_CLIENT=1 is an invalid KDA_ID used to identify client comms.
-*/
-#define KDA_ID_CLIENT 1
-
-void KDA_Init(int alpha_in, int k_in);
-void KDA_Init_client(int alpha_in, int k_in);
-
-void KDA_Init_conn(void);
-void KDA_Init_conn_client(void);
-
-//// General API...
-/**
- Return once op->status is KDA_STATUS_COMPLETE
-*/
-void KDA_Wait(KDA_Operation* op);
-
-//// In-DHT API...
-void KDA_Ping(KDA_ID other_id);
-int KDA_Rank(KDA_ID other_id);
-struct ilist* KDA_Closest(KDA_ID object_id);
-struct ilist* KDA_Find_key(char* key);
-struct ilist* KDA_Find(KDA_ID object_id);
-MPIRPC_Node* KDA_Node(KDA_ID other_id);
-
-//// Helpers...
-
-void KDA_Setup_node_port(void);
-void KDA_Serve(void);
-void KDA_Serve_id(KDA_ID other_id, MPIRPC_Node node);
-MPIRPC_Node KDA_Serve_accept(void);
-void KDA_Serve_client(MPIRPC_Node node);
-void KDA_Serve_handshake(MPIRPC_Node node,
- KDA_ID* other_id, int* msg);
-void KDA_Serve_neighbor(KDA_ID other_id, MPIRPC_Node node);
-void KDA_Setup_connector_port(void);
-void KDA_Connect_port(char* port);
-MPIRPC_Node* KDA_Attach(void);
-MPIRPC_Node* KDA_Attach_port(char* port);
-MPIRPC_Node* KDA_Register_hub(MPI_Comm comm);
-
-void KDA_Comm_set_name(KDA_Neighbor* neighbor);
-
-KDA_Operation* KDA_Operate(KDA_ID object_id, char* name, void* args,
- void (*proceed)(MPIRPC* rpc),
- KDA_Query* query);
-bool KDA_Find_node(KDA_Operation* op);
-bool KDA_Find_node_again(KDA_Operation* op);
-
-// void KDA_Send_neighbor(MPI_Comm comm);
-void KDA_Serve_shutdown(void);
-void KDA_Detach(MPIRPC_Node node);
-void KDA_Shutdown(void);
-void KDA_Shutdown_port(char* hub_port);
-
-/**
- Return the KDA_Neighbor for this MPIRPC_Node.
- Could fail if other_id is not in local neighbor table.
-*/
-KDA_Neighbor* KDA_Neighbor_node(MPIRPC_Node node);
-
-/**
- Could fail if other_id is not in local neighbor table.
- */
-KDA_Neighbor* KDA_Neighbor_ID(KDA_ID other_id);
-
-/**
- Attempt to contact the node other_id using a node as a
- reference.
-*/
-void KDA_Harpoon(MPIRPC_Node reference, KDA_ID other_id);
-
-/**
- Connect two neighbors in the DHT.
- @param node1 The neighbor to issue the accept().
- @param node2 The neighbor to issue the connect().
-*/
-void KDA_Link(MPIRPC_Node node1, MPIRPC_Node node2);
-
-/**
- @return A description of the form "id".
-*/
-char* KDA_Description(void);
-char* KDA_id_tostring(KDA_ID other_id);
-
-//// Remote API:
-MPIRPC* KDA_Translate(MPIRPC_Node node, KDA_ID id);
-MPIRPC* KDA_Translate_k(MPIRPC_Node node, KDA_ID id);
-MPIRPC* KDA_Lookup(MPIRPC_Node node, char* key);
-MPIRPC* KDA_Lookup_k(MPIRPC_Node node, char* key);
-/**
- Instruct a node to store a value.
-*/
-MPIRPC* KDA_Store(KDA_Neighbor* neighbor, char* key, char* value);
-/**
- Instruct a node to retrieve a value.
-*/
-MPIRPC* KDA_Retrieve(KDA_Neighbor* neighbor, char* key);
-
-//// Convenience prototypes to keep functions in decent order...
-KDA_ID make_id(int salt);
-// void join(MPIRPC_Node* node);
-char* id_tostring(void);
-void listen_loop(void);
-void bootstrap(MPIRPC_Node node);
-KDA_Neighbor* random_neighbor(void);
-
-int KDA_Neighbor_table_size(void);
-
-//// Neighbor management...
-
-/**
- Add neighbor to the neighbor table.
- @return false iff n is already in the neighbor table.
-*/
-bool neighbor_add(KDA_Neighbor* neighbor);
-
-/**
- Add neighbor to the client list.
-*/
-void client_add(KDA_Neighbor* client);
-
-/**
- Find neighbor in buckets and set its comm.
-*/
-void neighbor_set_node(KDA_Neighbor* neighbor, MPIRPC_Node node);
-
-/**
- Translate a dummy neighbor that is set to MPI_COMM_NULL to
- a good one in a bucket.
- TODO: Speed this up with an index or something.
-*/
-KDA_Neighbor* neighbor_lookup(KDA_Neighbor* neighbor);
-
-/**
- Use node to connect to neighbor.
-*/
-KDA_Neighbor* check_neighbor(MPIRPC_Node node, KDA_Neighbor* neighbor);
-
-/**
- Add neighbor to the neighbor table.
- Use node to link to the neighbor.
-*/
-void connect_neighbor(MPIRPC_Node* node, KDA_Neighbor* neighbor);
-
-void dump_bucket_ids(void);
-char* bucket_ids_tostring(void);
-void dump_buckets(void);
-char* buckets_tostring(void);
-
-//// Handlers...
-
-/**
- Generate info string for debugging
-*/
-void handle_info(MPIRPC_Node node, int unique, char* args);
-void handle_join(MPIRPC_Node caller, int unique, char* args);
-void handle_link(MPIRPC_Node caller, int unique, char* args);
-void handle_find_node(MPIRPC_Node node, int unique, char* args);
-void handle_neighbor(MPIRPC_Node node, int unique, char* args);
-void handle_ping(MPIRPC_Node node, int unique, char* args);
-void handle_query_id(MPIRPC_Node node, int unique, char* args);
-void handle_query_id_k(MPIRPC_Node node, int unique, char* args);
-void handle_store(MPIRPC_Node node, int unique, char* args);
-void handle_retrieve(MPIRPC_Node node, int unique, char* args);
-void handle_shutdown(MPIRPC_Node caller, int unique, char* args);
-
-/* SPECIFIC TO CONN TYPE
- void handle_accept(MPIRPC_Node* caller, int unique, char* args);
- void handle_connect(MPIRPC_Node* caller, int unique, char* args);
-*/
-
-// Synchronous methods...
-struct ilist* find_node(KDA_ID id);
-
-// Asynchronous methods and return services...
-void query_id(MPIRPC_Node node, int unique, KDA_ID id);
-void return_query_id(KDA_Operation* op);
-void query_id_k(MPIRPC_Node node, int unique, KDA_ID id);
-void return_query_id_k(KDA_Operation* op);
-
-// RPCs...
-
-void rpc_find_node(KDA_Neighbor* neighbor, KDA_Operation* op);
-
-// Proceeds...
-void proceed_find(MPIRPC* rpc);
-void proceed_ping(MPIRPC* rpc);
-void proceed_link(MPIRPC* rpc);
-
-
-// void proceed_
-
-#endif
diff --git a/oldcode/src/include/kda_conn-A.h b/oldcode/src/include/kda_conn-A.h
deleted file mode 100644
index 99abdb1..0000000
--- a/oldcode/src/include/kda_conn-A.h
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#include "kademlia.h"
-
-void KDA_Init_conn(void);
-
-MPI_Comm KDA_Comm_create(int* other_rank);
-
-void KDA_Join(int other_id, int other_rank);
-
-/**
- Initiate a connection with the caller.
-*/
-void handle_join(MPIRPC_Node* caller, int unique, char* args);
-
-/**
- Translate a KDA_ID to a rank in MPI_COMM_WORLD.
-*/
-void handle_get_rank(MPIRPC_Node* caller, int unique, char* args);
-
-/**
- Return the local KDA_ID.
-*/
-void handle_get_id(MPIRPC_Node* caller, int unique, char* args);
diff --git a/oldcode/src/include/kda_conn-B.h b/oldcode/src/include/kda_conn-B.h
deleted file mode 100644
index b29f78e..0000000
--- a/oldcode/src/include/kda_conn-B.h
+++ /dev/null
@@ -1,66 +0,0 @@
-
-/**
- Connection techniques for KDA-2B DHT.
- Uses HUBs to manage initial bootstrap connections.
- Uses three-way link/accept/connect/join to add neighbors.
-*/
-
-
-#include "kda-2.h"
-
-extern char port[];
-
-void KDA_Init_conn(void);
-
-void KDA_Connect_port(char* port);
-
-//// Hub methods:
-void KDA_Hub_init(void);
-void KDA_Hub_loop(void);
-MPIRPC_Node KDA_Serve_accept(void);
-void KDA_Serve_handshake(MPIRPC_Node node, KDA_ID* other_id,
- int* msg);
-void KDA_Serve_id(KDA_ID other_id, MPIRPC_Node node);
-void KDA_Serve_client(MPIRPC_Node node);
-void KDA_Serve_neighbor(KDA_ID other_id, MPIRPC_Node node);
-
-void KDA_Node_init(void);
-
-void KDA_Init_conn_client(void);
-
-void KDA_Setup_node_port(void);
-
-/**
- After establishing connection via MPI-2,
- connector calls acceptor to update neighbor tables.
-*/
-void KDA_Join(MPI_Comm comm);
-
-
-MPIRPC_Node* KDA_Attach(void);
-
-MPIRPC_Node* KDA_Attach_port(char* hub_port);
-
-/**
- Register this comm as a hub.
-*/
-MPIRPC_Node* KDA_Register_hub(MPI_Comm comm);
-
-/**
- Link the caller node to the requested node.
-*/
-void handle_link(MPIRPC_Node caller, int unique, char* args);
-
-/**
- Connect two neighbors in the DHT, if neither is NULL.
- @param n1 The neighbor to issue the accept().
- @param n2 The neighbor to issue the connect().
-*/
-void KDA_Link(MPIRPC_Node node1, MPIRPC_Node node2);
-
-void handle_accept(MPIRPC_Node caller, int unique, char* args);
-
-void handle_connect(MPIRPC_Node caller, int unique, char* args);
-
-KDA_ID rpc_join(MPIRPC_Node node);
-void rpc_link_neighbor(MPIRPC_Node node, KDA_ID other_id);
diff --git a/oldcode/src/include/kda_conn-C.h b/oldcode/src/include/kda_conn-C.h
deleted file mode 100644
index 4bb33d4..0000000
--- a/oldcode/src/include/kda_conn-C.h
+++ /dev/null
@@ -1,63 +0,0 @@
-
-/**
- Connection techniques for KDA-2B DHT.
- Uses HUBs to manage initial bootstrap connections.
- Uses three-way link/accept/connect/join to add neighbors.
-*/
-
-extern char port[];
-
-void KDA_Init_conn(void);
-
-void KDA_Connect_port(char* port);
-
-//// Hub methods:
-void KDA_Hub_init(void);
-void KDA_Hub_loop(void);
-MPIRPC_Node* KDA_Serve_accept(void);
-void KDA_Serve_handshake(MPIRPC_Node* node, KDA_ID* other_id,
- int* msg);
-void KDA_Serve_id(KDA_ID other_id, MPIRPC_Node* node);
-void KDA_Serve_client(MPIRPC_Node* node);
-void KDA_Serve_neighbor(KDA_ID other_id, MPIRPC_Node* node);
-
-void KDA_Node_init(void);
-
-void KDA_Init_conn_client(void);
-
-void KDA_Setup_node_port(void);
-
-/**
- After establishing connection via MPI-2,
- connector calls acceptor to update neighbor tables.
-*/
-void KDA_Join(MPI_Comm comm);
-
-
-MPIRPC_Node* KDA_Attach(void);
-
-MPIRPC_Node* KDA_Attach_port(char* hub_port);
-
-/**
- Register this comm as a hub.
-*/
-MPIRPC_Node* KDA_Register_hub(MPI_Comm comm);
-
-/**
- Link the caller node to the requested node.
-*/
-void handle_link(MPIRPC_Node* caller, int unique, char* args);
-
-/**
- Connect two neighbors in the DHT, if neither is NULL.
- @param n1 The neighbor to issue the accept().
- @param n2 The neighbor to issue the connect().
-*/
-void KDA_Link(MPIRPC_Node* node1, MPIRPC_Node* node2);
-
-void handle_accept(MPIRPC_Node* caller, int unique, char* args);
-
-void handle_connect(MPIRPC_Node* caller, int unique, char* args);
-
-KDA_ID rpc_join(MPIRPC_Node* node);
-void rpc_link_neighbor(MPIRPC_Node* node, KDA_ID other_id);
diff --git a/oldcode/src/include/kda_neighbor-1.h b/oldcode/src/include/kda_neighbor-1.h
deleted file mode 100644
index 88837e4..0000000
--- a/oldcode/src/include/kda_neighbor-1.h
+++ /dev/null
@@ -1,36 +0,0 @@
-
-#ifndef KDA_NEIGHBOR_1_H
-#define KDA_NEIGHBOR_1_H
-
-#include <stdbool.h>
-
-#include "kda-1.h"
-
-KDA_Neighbor* neighbor_create(KDA_ID id, int rank);
-KDA_Neighbor* neighbor_clone(KDA_Neighbor* neighbor);
-void neighbor_make(KDA_ID id, int rank, KDA_Neighbor* neighbor);
-
-/**
- Compare neighbors based on id.
-*/
-int neighbor_cmp(void* object1, void* object2);
-
-/**
- Compare lastseen times for neighbors n1, n2.
- @return 1 iff n1 > n2, -1 iff n1 < n2, 0 iff n1 == n2
-*/
-int neighbor_time_cmp(void* object1, void* object2);
-
-
-//// Output methods:
-char* neighbor_name(void* object);
-int neighbor_name_sprint(char* buffer, void* object);
-char* neighbor_tostring(void* object);
-int neighbor_sprint(char* buffer, void* object);
-void neighbor_dump(void* object);
-char* neighbor_ranks_tostring(struct ilist* neighbors);
-
-//// Input methods:
-struct inlist* neighbor_rank_list(char* data);
-
-#endif
diff --git a/oldcode/src/include/kda_neighbor-2.h b/oldcode/src/include/kda_neighbor-2.h
deleted file mode 100644
index 9259d50..0000000
--- a/oldcode/src/include/kda_neighbor-2.h
+++ /dev/null
@@ -1,49 +0,0 @@
-
-#ifndef KDA_NEIGHBOR_2_H
-#define KDA_NEIGHBOR_2_H
-
-#include <stdbool.h>
-
-#include "kda_types-2.h"
-#include "kda-2.h"
-
-/**
- Scan the stream data for neighbors.
- @return The new neighbor. n contains the number of chars consumed
- from data by sscanf().
-*/
-KDA_Neighbor* KDA_Neighbor_create_scan(char* data, int* n);
-KDA_Neighbor* KDA_Neighbor_create_string(char* info);
-KDA_Neighbor* KDA_Neighbor_create_id(KDA_ID id, MPIRPC_Node node);
-
-//// cmp()s...
-int KDA_Neighbor_node_cmp(void* object1, void* object2);
-
-/**
- Compare ids.
- @return 1 iff n1 > n2, -1 iff n1 < n2, 0 iff n1 == n2
-*/
-int KDA_Neighbor_cmp(void* object1, void* object2);
-
-/**
- Compare lastseen times for neighbors n1, n2.
- @return 1 iff n1 > n2, -1 iff n1 < n2, 0 iff n1 == n2
-*/
-int KDA_Neighbor_time_cmp(void* object1, void* object2);
-
-//// Output methods:
-/**
- Writes neighbor id to static output location.
-*/
-char* KDA_Neighbor_id_tostring(void* object);
-char* KDA_Neighbor_name(void* object);
-// int KDA_Neighbor_name_sprint(char* buffer, void* object);
-char* KDA_Neighbor_tostring(void* object);
-int KDA_Neighbor_sprint(char* buffer, void* object);
-void KDA_Neighbor_dump(void* object);
-
-//// Input methods:
-struct list* KDA_Neighbor_node_list(char* data);
-KDA_Neighbor* KDA_Neighbor_scan(char* data, int* n);
-
-#endif
diff --git a/oldcode/src/include/kda_types-1.h b/oldcode/src/include/kda_types-1.h
deleted file mode 100644
index 674800e..0000000
--- a/oldcode/src/include/kda_types-1.h
+++ /dev/null
@@ -1,66 +0,0 @@
-
-#ifndef KADEMLIA_TYPES_1_H
-#define KADEMLIA_TYPES_1_H
-
-typedef struct neighbor
-{
- int rank;
- KDA_ID id;
- time_t lastseen;
- bool quitting;
-} KDA_Neighbor;
-
-typedef struct kda_query KDA_Query;
-typedef struct kda_operation KDA_Operation;
-
-struct kda_query
-{
- int caller;
- int unique;
- char* result;
- void (*service)(KDA_Operation* op);
-};
-
-/**
- Performs an operation.
- -# Finds k nodes nearest to object_id using
- KDA_Find_node -> rpc_find_node -> proceed_find.
- -# When proceed_find converges, it
- calls map.
- -# map either maps the function name out (if name given),
- proceeding with the proceed function, or
- returns the query.
-*/
-struct kda_operation
-{
- KDA_ID object_id;
- int unique;
- // An MPIRPC function symbolic name to map() over found nodes:
- char* name;
- // The args for map().
- char* args;
- // Maps distance to neighbors:
- struct ilist* k_closest;
- // neighbor->ranks that have been searched but not heard from:
- struct inlist* outstanding;
- // neighbor->ranks that have been searched for this operation:
- struct inlist* contacted;
- // neighbor ranks that have returned the RPC for this operation:
- struct inlist* returned;
- // If the latest rpc_find_node calls improved our search.
- bool improved;
- int status;
- // How to proceed after map(name):
- void (*proceed)(MPIRPC* op);
- // Incoming query to respond to that triggered this operation:
- KDA_Query* query;
-};
-
-enum
-{
- KDA_STATUS_SEARCHING,
- KDA_STATUS_CALLING,
- KDA_STATUS_COMPLETE
-};
-
-#endif
diff --git a/oldcode/src/include/kda_types-2.h b/oldcode/src/include/kda_types-2.h
deleted file mode 100644
index e6653a0..0000000
--- a/oldcode/src/include/kda_types-2.h
+++ /dev/null
@@ -1,77 +0,0 @@
-
-#ifndef KADEMLIA_TYPES_2_H
-#define KADEMLIA_TYPES_2_H
-
-#include <cmpi.h>
-
-typedef CMPI_ID KDA_ID;
-
-typedef struct neighbor
-{
- MPIRPC_Node node;
- KDA_ID id;
- time_t lastseen;
-} KDA_Neighbor;
-
-/**
- Contains neighbors. A bucket is all neighbors of a given
- distance 2^i - 2^i+1
-*/
-typedef struct list* K_BUCKET;
-
-typedef struct kda_query KDA_Query;
-typedef struct kda_operation KDA_Operation;
-
-/**
- Manages an out-of-DHT call.
-*/
-struct kda_query
-{
- MPIRPC_Node caller;
- int unique;
- char* result;
- void (*service)(KDA_Operation* op);
-};
-
-/**
- Performs an operation.
- 1) Finds k nodes nearest to object_id using
- KDA_Find_node -> rpc_find_node -> proceed_find.
- 2) When proceed_find converges, it
- calls map.
- 3) map either maps the function name out (if name given),
- proceeding with the proceed function, or
- returns the query.
-*/
-struct kda_operation
-{
- KDA_ID object_id;
- int unique;
- // An MPIRPC function symbolic name to call on found nodes:
- char* name;
- char* args;
- // Maps distance to neighbors:
- struct ilist* k_closest;
- // neighbors that have been searched but not heard from:
- struct list* outstanding;
- // neighbors that have been searched for this operation:
- struct list* contacted;
- // neighbors that have returned the RPC for this operation:
- struct list* returned;
- // If the latest rpc_find_node calls improved our search.
- bool improved;
- int status;
- // How to proceed after map(name):
- void (*proceed)(MPIRPC* op);
- // Incoming query to respond to that triggered this operation:
- KDA_Query* query;
-};
-
-typedef struct
-{
- void (*method)(MPIRPC_Node,void*);
- KDA_Neighbor* neighbor;
- void* args;
-} KDA_RPC_Extras;
-
-#endif
diff --git a/oldcode/src/include/keyvalue.h b/oldcode/src/include/keyvalue.h
deleted file mode 100644
index cb777d0..0000000
--- a/oldcode/src/include/keyvalue.h
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#ifndef KEYVALUE_H
-#define KEYVALUE_H
-
-#include <mpi_tools.h>
-
-struct keyvalue
-{
- char* key;
- int length;
- char* data;
-};
-
-void keyvalue_destroy(struct keyvalue* kv);
-
-#endif
diff --git a/oldcode/src/include/klist.h b/oldcode/src/include/klist.h
deleted file mode 100644
index 42b87fd..0000000
--- a/oldcode/src/include/klist.h
+++ /dev/null
@@ -1,44 +0,0 @@
-
-/** Extremely simple singly-linked klist of keyed data items.
- */
-
-#ifndef KLIST_H
-#define KLIST_H
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <mpi_tools.h>
-
-// Maximum size of a klist datum
-#define KLIST_MAX_DATUM 100
-
-struct klist_item
-{
- char* key;
- void* data;
- struct klist_item* next;
-};
-
-struct klist
-{
- struct klist_item* head;
- struct klist_item* tail;
- int size;
-};
-
-struct klist* klist_create(void);
-
-struct klist_item* klist_add(struct klist* target,
- char* key, void* data);
-
-void klist_dump(char* format, struct klist* target);
-
-void klist_dumpkeys(struct klist* target);
-
-int klist_tostring(char* str, size_t size,
- char* format, struct klist* target);
-
-void klist_free(struct klist* target);
-
-#endif
diff --git a/oldcode/src/include/launch.gsh b/oldcode/src/include/launch.gsh
deleted file mode 100644
index ea13924..0000000
--- a/oldcode/src/include/launch.gsh
+++ /dev/null
@@ -1,24 +0,0 @@
-
-/**
- LAUNCH: Grayskull process launcher.
-*/
-
-#ifndef LAUNCH_GSH
-#define LAUNCH_GSH
-
-#include <getopt.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include <mpi.h>
-
-#include <include/gs.h>
-#include <resources/mpi/gs-mpi.gsh>
-#include <gobs.gsh>
-
-extern int gobs_layout_stores;
-extern int gobs_layout_tables;
-extern int gobs_layout_clients;
-
-#endif
diff --git a/oldcode/src/include/list.h b/oldcode/src/include/list.h
deleted file mode 100644
index 2c91a24..0000000
--- a/oldcode/src/include/list.h
+++ /dev/null
@@ -1,151 +0,0 @@
-
-/** Extremely simple singly-linked list of data items.
- */
-
-#ifndef LIST_H
-#define LIST_H
-
-#include <assert.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <mpi_tools.h>
-
-// Maximum size of a klist datum
-#define LIST_MAX_DATUM 100
-
-struct list_item
-{
- void* data;
- struct list_item* next;
-};
-
-struct list
-{
- struct list_item* head;
- struct list_item* tail;
- int size;
-};
-
-struct list* list_create(void);
-
-/**
- Add to the tail of the list.
-*/
-struct list_item* list_add(struct list* target, void* data);
-#define list_push(target, data) list_add(target, data)
-
-struct list* list_parse(char* s);
-
-/**
- Add this data if list_inspect does not find it.
-*/
-struct list_item* list_add_bytes(struct list* target,
- void* data, int n);
-
-struct list_item* list_add_unique(struct list* target,
- int(*cmp)(void*,void*),
- void* data);
-
-/**
- Compare data pointer addresses for match.
- @return An equal data pointer or NULL if not found.
-*/
-void* list_search(struct list* target, void* data);
-
-/**
- Compare data contents for match.
- @return A pointer to an equivalent object or NULL if not found.
- */
-void* list_inspect(struct list* target, void* data, size_t n);
-
-/**
- Removes only one item that points to given data.
- Does not free the item data.
- @return True iff the data pointer was matched
- and the item was freed.
-*/
-bool list_remove(struct list* target, void* data);
-
-/**
- Does not free the item data.
- @return True iff the data content was matched by memcmp
- and the item was freed.
-*/
-bool list_erase(struct list* target, void* data, size_t n);
-
-/**
- Return all elements from the list where f(data,arg).
-*/
-struct list* list_select(struct list* target,
- int (*cmp)(void*,void*), void* arg);
-
-/**
- Remove the element from the list where f(data,arg).
-*/
-bool list_remove_where(struct list* target,
- int (*cmp)(void*,void*), void* arg);
-
-/**
- Remove and return all elements from the list where
- cmp(data,arg) == 0.
- @return true if one or more items were deleted.
-*/
-struct list* list_pop_where(struct list* target,
- int (*cmp)(void*,void*), void* arg);
-
-/**
- Moves all items from tail into target structure.
-*/
-void list_transplant(struct list* target, struct list* segment);
-
-void list_clear(struct list* target);
-
-void list_clobber(struct list* target);
-
-/**
- Remove and return the tail data item.
-*/
-void* list_pop(struct list* target);
-
-/**
- Return the head data item.
-*/
-void* list_peek(struct list* target);
-
-/**
- Remove and return the head data item.
-*/
-void* list_poll(struct list* target);
-
-/**
- Return a random data item.
-*/
-void* list_random(struct list* target);
-
-struct list_item* list_ordered_insert(struct list* target,
- int (*cmp)(void*,void*), void* data);
-
-bool list_contains(struct list* target,
- int (*cmp)(void*,void*), void* data);
-
-void list_output(char* (*f)(void*), struct list* target);
-
-void list_printf(char* format, struct list* target);
-
-int list_tostring(char* str, size_t size,
- char* format, struct list* target);
-
-/**
- Free this list but not its data.
-*/
-void list_free(struct list* target);
-
-/**
- Free this list and its data.
-*/
-void list_destroy(struct list* target);
-
-#endif
diff --git a/oldcode/src/include/llist.h b/oldcode/src/include/llist.h
deleted file mode 100644
index d5aa2c0..0000000
--- a/oldcode/src/include/llist.h
+++ /dev/null
@@ -1,72 +0,0 @@
-
-/** Extremely simple singly-linked list of long-keyed data items.
- */
-
-#ifndef LLIST_H
-#define LLIST_H
-
-#include <stdbool.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <mpi_tools.h>
-
-// Maximum size of a llist datum
-#define LLIST_MAX_DATUM 100
-
-struct llist_item
-{
- long key;
- void* data;
- struct llist_item* next;
-};
-
-struct llist
-{
- struct llist_item* head;
- struct llist_item* tail;
- int size;
-};
-
-extern struct llist* llist_create(void);
-
-struct llist_item* llist_add(struct llist* target,
- long key, void* data);
-#define llist_push(target, key, data) llist_add(target, key, data)
-
-struct llist_item* llist_ordered_insert(struct llist* target,
- long key, void* data);
-struct llist_item* llist_ordered_insertdata(struct llist* target,
- long key, void* data,
- bool (*cmp)(void*,void*));
-
-void* llist_pop(struct llist* target);
-
-void* llist_poll(struct llist* target);
-
-void* llist_get(struct llist* target, int i);
-
-void* llist_search(struct llist* target, long key);
-
-/**
- Free this list but not its data.
-*/
-void llist_free(struct llist* target);
-
-/**
- Removes the llist_item from the list.
- frees the llist_item.
- @return The removed item or NULL if not found.
-*/
-void* llist_remove(struct llist* target, long key);
-
-//// Output methods...
-void llist_dump(char* format, struct llist* target);
-void llist_dumpkeys(struct llist* target);
-void llist_xdumpkeys(struct llist* target);
-void llist_output(char* (*f)(void*), struct llist* target);
-int llist_tostring(char* str, size_t size,
- char* format, struct llist* target);
-
-#endif
diff --git a/oldcode/src/include/lnlist.h b/oldcode/src/include/lnlist.h
deleted file mode 100644
index 4530cfa..0000000
--- a/oldcode/src/include/lnlist.h
+++ /dev/null
@@ -1,73 +0,0 @@
-
-/**
- Extremely simple singly-linked list of longs.
- Everything is IN the list, no external pointers.
- */
-
-#ifndef LNLIST_H
-#define LNLIST_H
-
-#include <stdbool.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <mpi_tools.h>
-
-// Maximum size of a klnlist datum
-#define LNLIST_MAX_DATUM 100
-
-struct lnlist_item
-{
- long data;
- struct lnlist_item* next;
-};
-
-struct lnlist
-{
- struct lnlist_item* head;
- struct lnlist_item* tail;
- int size;
-};
-
-struct lnlist* lnlist_create(void);
-
-/**
- Add to the tail of the lnlist.
-*/
-struct lnlist_item* lnlist_add(struct lnlist* target, long data);
-#define lnlist_push(target, data) lnlist_add(target, data)
-
-long lnlist_search(struct lnlist* target, long data);
-
-bool lnlist_remove(struct lnlist* target, long data);
-bool lnlist_erase(struct lnlist* target, long data, size_t n);
-
-/**
- Remove and return the tail data item.
-*/
-long lnlist_pop(struct lnlist* target);
-
-/**
- Return the head data item.
-*/
-long lnlist_peek(struct lnlist* target);
-
-/**
- Remove and return the head data item.
-*/
-long lnlist_poll(struct lnlist* target);
-
-struct lnlist_item *
-lnlist_ordered_insert(struct lnlist* target, long data);
-
-bool lnlist_contains(struct lnlist* target, long data);
-
-void lnlist_dump(struct lnlist* target);
-
-int lnlist_tostring(char* str, size_t size,
- struct lnlist* target);
-
-void lnlist_free(struct lnlist* target);
-
-#endif
diff --git a/oldcode/src/include/lru_table.h b/oldcode/src/include/lru_table.h
deleted file mode 100644
index d475bee..0000000
--- a/oldcode/src/include/lru_table.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-#ifndef LRU_TABLE_H
-#define LRU_TABLE_H
-
-#include <stdlib.h>
-#include <stdint.h>
-#include <stdbool.h>
-#include <string.h>
-
-#include <mpi_tools.h>
-#include <gossip.h>
-
-// Use hash functions from hashtable.h
-#include "hashtable.h"
-#include "dpkm_list.h"
-#include "keyvalue.h"
-
-struct lru_table
-{
- struct dpkm_list** array;
- struct dpkm_list* lru;
- int capacity;
- int size;
- int limit;
-};
-
-struct lru_table* lru_table_create(int capacity, int limit);
-
-struct keyvalue* lru_table_add(struct lru_table *table,
- char* key, char* data, int length);
-
-bool lru_table_update(struct lru_table *table,
- char* key, char* data, int offset, int length);
-
-struct keyvalue* lru_table_search(struct lru_table* table, char* key);
-
-struct keyvalue* lru_table_poll(struct lru_table* table);
-
-void lru_table_free(struct lru_table* target);
-
-void lru_table_printf(char* format, struct lru_table* target);
-
-void lru_table_fprintf(FILE* file, char* format, struct lru_table* target);
-
-
-#endif
-
diff --git a/oldcode/src/include/ltable.h b/oldcode/src/include/ltable.h
deleted file mode 100644
index b73c2b1..0000000
--- a/oldcode/src/include/ltable.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* 2001 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-#ifndef LTABLE_H
-#define LTABLE_H
-
-#include <stdlib.h>
-#include <stdint.h>
-#include <stdbool.h>
-#include <string.h>
-
-#include <mpi_tools.h>
-
-#include "llist.h"
-
-struct ltable
-{
- struct llist** array;
- int capacity;
- int size;
-};
-
-inline int hash_long(long key, int capacity);
-
-struct ltable* ltable_create(int capacity);
-
-bool ltable_add(struct ltable *table, long key, void* data);
-
-void* ltable_search(struct ltable* table, long key);
-
-void* ltable_remove(struct ltable* table, long key);
-
-void ltable_dump(char* format, struct ltable* target);
-
-int ltable_tostring(char* str, size_t size,
- char* format, struct ltable* target);
-
-#endif
-
diff --git a/oldcode/src/include/mpi_tools.h b/oldcode/src/include/mpi_tools.h
deleted file mode 100644
index 9677919..0000000
--- a/oldcode/src/include/mpi_tools.h
+++ /dev/null
@@ -1,358 +0,0 @@
-
-#ifndef MPI_ROUTINES
-#define MPI_ROUTINES
-
-#include <assert.h>
-#include <math.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#include <sys/time.h>
-
-#include <mpi.h>
-
-#ifdef ENABLE_DEBUG
-#ifdef HAVE_EXEC_INFO_H
-#include <execinfo.h>
-#endif
-#endif
-
-#include <gossip.h>
-
-extern int mpi_rank;
-extern int mpi_size;
-
-extern int debug_rank;
-
-extern FILE* debug_file;
-
-/**
- Quick setup
- */
-void whoami(void);
-
-/**
- Output msgs in rank order.
- */
-void sync_output(int rank, int size, char* msg);
-
-char* heap(char* s);
-char* iheap(int i);
-char* xheap(int i);
-
-/** Execute code line or block in rank order.
- */
-#define sequential(code) \
- { \
- int sequential_i; \
- for (sequential_i = 0; sequential_i < mpi_size; \
- sequential_i++) \
- { \
- if (mpi_rank == sequential_i) \
- { \
- code; \
- } \
- MPI_Barrier(MPI_COMM_WORLD); \
- } \
- }
-
-void printbinary(unsigned int number);
-void printdata(char* tag, char* data, int length);
-int flip2(int i);
-unsigned int ilog2(unsigned int j);
-unsigned int isqrt(unsigned int j);
-
-/**
- Return a random number in [0,n).
-*/
-int rand_lt(int n);
-
-/**
- Return a random double in [0,n).
-*/
-double random_double(int n);
-
-/**
- Concatenate char* s at char* p, update p to the end.
-*/
-#define cat(p, s) p += sprintf(p, "%s", s);
-
-#ifdef ENABLE_DEBUG
-// #warning "ENABLE_DEBUG"
-#define DEBUG(x) x
-#else
-#define DEBUG(x)
-#endif
-
-#ifdef ENABLE_DEBUG
-/**
- Dump the stack and exit.
-*/
-void
-dump_stack(void);
-#endif
-
-#define OK NOTE("ok")
-
-/**
- Simplify debugging statements.
- */
-void note(char* msg);
-void note_b(char* msg, int b);
-void note_d(char* msg, double d);
-void note_i(char* msg, int i);
-void note_ii(char* msg, int i, int j);
-void note_s(char* msg, char* s);
-void note_ss(char* msg, char* s1, char* s2);
-void note_u(char* msg, unsigned int u);
-void note_x(char* msg, int i);
-void note_xi(char* msg, int i, int j);
-void note_sx(char* msg, char* s, int i);
-void note_sxi(char* msg, char* s, int x, int i);
-// void note_ssxi(char* msg, char* s, int x, int i);
-
-void show_b(char* tag, int b);
-void show_d(char* tag, double d);
-void show_i(char* tag, int i);
-void show_ii(char* tag_i, int i, char* tag_j, int j);
-void show_l(char* tag, long l);
-void show_s(char* tag, char* s);
-void show_u(char* tag, unsigned int u);
-void show_x(char* tag, int x);
-void show_p(char* tag, void* p);
-
-void timestamp(char* label, char* msg);
-char* timestring(char* label, char* msg);
-
-#define NOTE(m) DEBUG(note(m))
-#define NOTE_B(m,b) DEBUG(note_b(m,b))
-#define NOTE_D(m,d) DEBUG(note_d(m,d))
-#define NOTE_I(m,i) DEBUG(note_i(m,i))
-#define NOTE_II(m,i,j) DEBUG(note_ii(m,i,j))
-#define NOTE_U(m,u) DEBUG(note_u(m,u))
-#define NOTE_S(m,s) DEBUG(note_s(m,s))
-#define NOTE_SX(m,s,i) DEBUG(note_sx(m,s,i))
-#define NOTE_SXI(m,s,x,i) DEBUG(note_sxi(m,s,x,i))
-// #define NOTE_SSXI(m,s1,s2,x,i) DEBUG(note_ssxi(m,s1,s2,x,i))
-#define NOTE_X(m,i) DEBUG(note_x(m,i))
-#define NOTE_XI(m,i,j) DEBUG(note_xi(m,i,j))
-
-#define NOTE_F DEBUG(fprintf(debug_file, "[%i] %s()... \n", \
- debug_rank, __func__); \
- fflush(debug_file);)
-#define DONE DEBUG(fprintf(debug_file, "[%i] %s() done. \n", \
- debug_rank, __func__); \
- fflush(debug_file);)
-#define NOTE_FI(i) \
- DEBUG(fprintf(debug_file, "[%i] %s(%i)... \n", \
- debug_rank, __func__, i); \
- fflush(stdout);)
-#define NOTE_FX(i) DEBUG(fprintf(debug_file, "[%i] %s(%X)... \n", \
- debug_rank, __func__, i); \
- fflush(stdout);)
-#define NOTE_FIS(i,s) DEBUG(fprintf(debug_file, "[%i] %s(%i,%s)... \n", \
- debug_rank, __func__, i, s); \
- fflush(stdout);)
-#define NOTE_FXIS(x,i,s) \
- DEBUG(fprintf(debug_file, "[%i] %s(%X,%i,%s)... \n", \
- debug_rank, __func__, x, i, s); \
- fflush(stdout);)
-#define NOTE_FXI(i,j) \
- DEBUG(fprintf(debug_file, "[%i] %s(%X,%i)... \n", \
- debug_rank, __func__, i, j); \
- fflush(stdout);)
-#define NOTE_FXS(i,s) \
- DEBUG(fprintf(debug_file, "[%i] %s(%X,%s)... \n", \
- debug_rank, __func__, i, s); \
- fflush(stdout););
-#define NOTE_FXX(i,j) DEBUG(fprintf(debug_file, "[%i] %s(%X,%X)... \n", \
- debug_rank, __func__, i, j); \
- fflush(stdout);)
-#define NOTE_FS(s) DEBUG(fprintf(debug_file, "[%i] %s(%s)... \n", \
- debug_rank, __func__, s); \
- fflush(stdout);)
-#define NOTE_FSS(s1,s2) \
- DEBUG(fprintf(debug_file, "[%i] %s(%s,%s)... \n", \
- debug_rank, __func__, s1, s2); \
- fflush(stdout);)
-#define NOTE_FSSS(s1,s2,s3) \
- DEBUG(fprintf(debug_file, "[%i] %s(%s,%s,%s)... \n", \
- debug_rank, __func__, \
- s1, s2, s3); \
- fflush(stdout);)
-#define NOTE_FSSSI(s1,s2,s3,i) \
- DEBUG(fprintf(debug_file, "[%i] %s(%s,%s,%s,%i)... \n", \
- debug_rank, __func__, s1, s2, s3, i); \
- fflush(stdout);)
-
-///// Simple variable debugging...
-#define SHOW_B(b) DEBUG(show_b(#b, b))
-#define SHOW_D(d) DEBUG(show_d(#d, d))
-#define show_i(i) note_i(#i ": ", i)
-#define SHOW_I(i) DEBUG(show_i(i))
-#define SHOW_II(i,j) DEBUG(show_ii(#i, i, #j, j))
-#define SHOW_L(l) DEBUG(show_l(#l, l))
-#define SHOW_U(u) DEBUG(show_u(#u, u))
-#define show_s(s) note_s(#s ": ", s)
-#define SHOW_S(s) DEBUG(show_s(s))
-#define SHOW_X(x) DEBUG(show_x(#x, x))
-#define SHOW_P(p) DEBUG(show_p(#p, p))
-
-//// Functions...
-#define show_fi(i) \
- fprintf(debug_file, "[%i] %s(%s=%i)... \n", \
- debug_rank, __func__, #i, i); \
- fflush(stdout);
-#define SHOW_FI(i) DEBUG(show_fi(i))
-#define SHOW_FIS(i,s) \
- DEBUG(fprintf(debug_file, "[%i] %s(%s=%i,%s=%s)... \n", \
- debug_rank, __func__, #i, i, #s, s); \
- fflush(stdout);)
-#define SHOW_FISS(i,s1,s2) \
- DEBUG(fprintf(debug_file, "[%i] %s(%s=%i,%s=%s,%s=%s)... \n", \
- debug_rank, __func__, #i, i, #s1, s1, #s2, s2); \
- fflush(stdout);)
-#define SHOW_FISX(i,s,x) \
- DEBUG(fprintf(debug_file, "[%i] %s(%s=%i,%s=%s,%s=%X)... \n", \
- debug_rank, __func__, #i, i, #s, s, #x, x); \
- fflush(stdout);)
-
-#define show_fs(s) fprintf(debug_file, \
- "[%i] %s(%s=%s)... \n", \
- debug_rank, __func__, #s, s); \
- fflush(stdout);
-#define SHOW_FS(s) \
- DEBUG(show_fs(s))
-
-#define SHOW_FX(x) \
- DEBUG(fprintf(debug_file, "[%i] %s(%s=%X)... \n", \
- debug_rank, __func__, #x, x); \
- fflush(stdout);)
-#define SHOW_FII(i1,i2) \
- DEBUG(fprintf(debug_file, "[%i] %s(%s=%i,%s=%i)... \n", \
- debug_rank, __func__, #i1, i1, #i2, i2); \
- fflush(stdout);)
-
-#define show_fiii(i1,i2,i3) \
- fprintf(debug_file, "[%i] %s(%s=%i,%s=%i,%s=%i)... \n", \
- debug_rank, __func__, #i1, i1, #i2, i2, #i3, i3); \
- fflush(stdout);
-#define SHOW_FIII(i1,i2,i3) DEBUG(show_fiii(i1,i2,i3))
-
-#define show_fsi(s,i) \
- fprintf(debug_file, "[%i] %s(%s=%s,%s=%i)... \n", \
- debug_rank, __func__, #s, s, #i, i); \
- fflush(stdout);
-#define SHOW_FSI(s,i) DEBUG(show_fsi(s,i))
-
-#define show_fsii(s,i1,i2) \
- fprintf(debug_file, "[%i] %s(%s=%s,%s=%i,%s=%i)... \n", \
- debug_rank, __func__, #s, s, #i1, i1, #i2, i2); \
- fflush(stdout);
-#define SHOW_FSII(s,i1,i2) DEBUG(show_fsii(s,i1,i2))
-
-#define SHOW_FXI(x,i) \
- DEBUG(fprintf(debug_file, "[%i] %s(%s=%X,%s=%i)... \n", \
- debug_rank, __func__, #x, x, #i, i); \
- fflush(stdout);)
-
-#define SHOW_FXIS(x,i,s) \
- DEBUG(fprintf(debug_file, "[%i] %s(%s=%X,%s=%i,%s=%s)... \n", \
- debug_rank, __func__, \
- #x, x, #i, i, #s, s); \
- fflush(stdout);)
-
-#define SHOW_FXIIS(x,i1,i2,s) \
- DEBUG(fprintf(debug_file, "[%i] %s(%s=%X,%s=%i,%s=%i,%s=%s)... \n", \
- debug_rank, __func__, \
- #x, x, #i1, i1, #i2, i2, #s, s); \
- fflush(stdout);)
-
-#define SHOW_FSS(s1,s2) \
- DEBUG(fprintf(debug_file, "[%i] %s(%s=%s,%s=%s)... \n", \
- debug_rank, __func__, #s1, s1, #s2, s2); \
- fflush(stdout);)
-#define SHOW_FSSI(s1,s2,i) \
- DEBUG(fprintf(debug_file, "[%i] %s(%s=%s,%s=%s,%s=%i)... \n", \
- debug_rank, __func__, #s1, s1, #s2, s2, #i, i); \
- fflush(stdout);)
-#define SHOW_FISSI(i1,s1,s2,i2) \
- DEBUG(fprintf(debug_file, \
- "[%i] %s(%s=%i,%s=%s,%s=%s,%s=%i)... \n", \
- debug_rank, __func__, #i1, i1, #s1, s1, \
- #s2, s2, #i2, i2); \
- fflush(stdout);)
-#define SHOW_FSISSI(s1,i1,s2,s3,i2) \
- DEBUG(fprintf(debug_file, \
- "[%i] %s(%s=%s,%s=%i,%s=%s,%s=%s,%s=%i)... \n", \
- debug_rank, __func__, #s1, s1, #i1, i1, #s2, s2, \
- #s3, s3, #i2, i2); \
- fflush(stdout);)
-#define SHOW_FP(p) \
- DEBUG(fprintf(debug_file, "[%i] %s(%s=%p)... \n", \
- debug_rank, __func__, #p, p); \
- fflush(stdout);)
-
-//// Functions with return values...
-
-#define SHOW_FS_X(s,x) \
- DEBUG(fprintf(debug_file, "[%i] %s(%s=%s) -> %X... \n", \
- debug_rank, __func__, #s, s, x); \
- fflush(stdout);)
-#define SHOW_FIFS_S(i,f,s1,s2) \
- DEBUG(fprintf(debug_file, "[%i] %s(%s=%i,%s(%s) -> %s)... \n", \
- debug_rank, __func__, #i, i, f, s1, s2); \
- fflush(stdout);)
-#define SHOW_FIS_X(i,s,x) \
- DEBUG(fprintf(debug_file, "[%i] %s(%s=%i,%s=%s) -> %X... \n", \
- debug_rank, __func__, #i, i, #s, s, x); \
- fflush(stdout);)
-#define SHOW_FXI_B(x,i,b) \
- DEBUG(fprintf(debug_file, "[%i] %s(%s=%X,%s=%i) -> %s... \n", \
- debug_rank, __func__, \
- #x, x, #i, i, b ? "true" : "false"); \
- fflush(stdout);)
-
-
-//// Functions of functions...
-
-#define SHOW_FIF(i, f) \
- DEBUG(fprintf(debug_file, "[%i] %s(%s=%i,%s())... \n", \
- debug_rank, __func__, #i, i, f); \
- fflush(stdout);)
-#define SHOW_FIFS(i, f, s) \
- DEBUG(fprintf(debug_file, "[%i] %s(%s=%i,%s(%s))... \n", \
- debug_rank, __func__, #i, i, f, s); \
- fflush(stdout);)
-
-#define TIMESTAMP(m) note_i(m, time());
-
-#define DUMPSTACK DEBUG(dump_stack());
-
-//// Memory usage debugging:
-#ifdef DMALLOC
-#include <dmalloc.h>
-#define DMALLOC_SETUP(x) x
-#else
-#define DMALLOC_SETUP(x)
-#endif
-
-#ifdef ENABLE_DEBUG_MALLOC
-#define MALLOC(s) debug_malloc(s)
-#define FREE(s) debug_free(s)
-#else
-#define MALLOC(s) malloc(s)
-#define FREE(s) free(s)
-#endif
-
-void* debug_malloc(size_t size);
-void debug_free(void* ptr);
-
-/**
- Return a number in [0,n-1].
-*/
-int roll(int n);
-
-#endif
diff --git a/oldcode/src/include/mpirpc-1.h b/oldcode/src/include/mpirpc-1.h
deleted file mode 100644
index 4943853..0000000
--- a/oldcode/src/include/mpirpc-1.h
+++ /dev/null
@@ -1,130 +0,0 @@
-
-#ifndef MPIRPC_1_H
-#define MPIRPC_1_H
-
-#define _XOPEN_SOURCE 500
-
-#include <assert.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include <grayskull-config.h>
-
-#include <list.h>
-#include <itable.h>
-#include <hashtable.h>
-
-#include <mpi_tools.h>
-#include <gossip.h>
-
-#include "handlers.h"
-
-extern int unique;
-
-extern useconds_t snooze_max;
-
-extern int emulating_fault;
-
-extern char* MPIRPC_RESULT_FAULT;
-
-typedef struct mpirpc MPIRPC;
-struct mpirpc
-{
- int status;
- int target;
- char* name;
- char* args;
- char* result;
- void* extras;
- void (*proceed) (MPIRPC* rpc);
- int unique;
- bool cancelled;
-
- int name_length;
- int args_length;
- MPI_Request* request;
-};
-
-typedef struct mpirpc_value MPIRPC_Value;
-struct mpirpc_value
-{
- int unique;
- int length;
- char* result;
- MPI_Request* request;
-};
-
-//// API...
-
-void MPIRPC_Init(void);
-
-bool MPIRPC_Check(void);
-
-void MPIRPC_Register(char* name,
- void (*method)(int caller, int unique, char* args));
-
-MPIRPC* MPIRPC_Call(int target, char* name, char* args, void* extras,
- void (*proceed)(MPIRPC*));
-
-char* MPIRPC_Block(int target, char* name, char* args);
-
-void MPIRPC_Return(int caller, int unique, char* result);
-
-void MPIRPC_Free(MPIRPC* rpc);
-
-void MPIRPC_Kill(int target);
-
-void MPIRPC_Flush_returns(void);
-
-void MPIRPC_Die(int caller);
-
-char* MPIRPC_Wait(MPIRPC* rpc);
-
-void MPIRPC_Finalize(void);
-
-//// Debugging...
-
-void MPIRPC_Dump(MPIRPC* rpc);
-
-void MPIRPC_Dump_portmap(void);
-
-//// Internals...
-
-MPIRPC* MPIRPC_Lookup(int unique);
-
-void MPIRPC_Snooze(void);
-
-void MPIRPC_Snooze_reset(void);
-
-enum
-{
- MPIRPC_STATUS_PROTO,
- MPIRPC_STATUS_CALLED,
- MPIRPC_STATUS_RETURNED,
- MPIRPC_STATUS_FAULT
-};
-
-enum
-{
- MPIRPC_TAG_CONTROL,
- MPIRPC_TAG_UNIQUE,
- MPIRPC_TAG_NAME,
- MPIRPC_TAG_LENGTH,
- MPIRPC_TAG_ARGS,
- MPIRPC_TAG_RESULT
-};
-
-enum
-{
- MPIRPC_MSG_CALL,
- MPIRPC_MSG_RETURN,
- MPIRPC_MSG_FAULT,
- MPIRPC_MSG_DIE
-};
-
-#define MPIRPC_NAME_SIZE 100
-#define MPIRPC_ARG_MAX 1000
-#define MPIRPC_PROCEED_NULL ((void (*)(MPIRPC*)) 1)
-
-#endif
diff --git a/oldcode/src/include/mpirpc-2.h b/oldcode/src/include/mpirpc-2.h
deleted file mode 100644
index 4333f15..0000000
--- a/oldcode/src/include/mpirpc-2.h
+++ /dev/null
@@ -1,199 +0,0 @@
-
-#ifndef MPIRPC_2_H
-#define MPIRPC_2_H
-
-#define _XOPEN_SOURCE 500
-
-#include <stdbool.h>
-#include <unistd.h>
-
-#include <grayskull-config.h>
-
-#include <list.h>
-#include <itable.h>
-#include <hashtable.h>
-
-#include <mpi_tools.h>
-
-#ifdef DMALLOC
-#include <dmalloc.h>
-#endif
-
-extern int unique;
-
-extern useconds_t snooze_max;
-
-#define MPIRPC_MAX_NAME 100
-#define MPIRPC_MAX_ARGS 200
-#define MPIRPC_PROCEED_NULL ((void (*)(MPIRPC*)) 1)
-
-typedef struct
-{
- MPI_Comm comm;
- int rank;
-} MPIRPC_Node;
-
-typedef struct
-{
- MPI_Comm comm;
- MPI_Request request;
-} MPIRPC_Channel;
-
-typedef struct mpirpc
-{
- MPIRPC_Node target;
- int status;
- char name[MPIRPC_MAX_NAME];
- char args[MPIRPC_MAX_ARGS];
- char* blob;
- int blob_length;
- char* result;
- int result_length;
- void* extras;
- void (*proceed) (struct mpirpc* rpc);
- int unique;
- bool cancelled;
-
- // Internals:
- /**
- name_length is transferred via Isend().
- */
- int name_length;
-
- /**
- args_length is transferred via Isend().
- */
- int args_length;
-
- /**
- Array of Isend() requests to be freed on return.
- */
- MPI_Request request[8];
-} MPIRPC;
-
-/**
- Internal MPIRPC return value. Used for garbage collection.
-*/
-typedef struct mpirpc_value MPIRPC_Value;
-struct mpirpc_value
-{
- int unique;
- int length;
- char* result;
- MPI_Request request[4];
-};
-
-//// API...
-
-void MPIRPC_Init(void);
-
-bool MPIRPC_Check(void);
-
-void MPIRPC_Recv(MPI_Comm comm);
-
-void MPIRPC_Register(char* name,
- void (*f)(MPIRPC_Node,int,char*,char*,int));
-
-bool MPIRPC_Comm_add(MPI_Comm comm);
-
-void MPIRPC_Close(MPIRPC_Channel* channel);
-
-MPIRPC* MPIRPC_Call(MPIRPC_Node target, char* name, char* args,
- void* extras, void (*proceed)(MPIRPC*));
-
-MPIRPC* MPIRPC_Call_blob(MPIRPC_Node target, char* name, char* args,
- char* blob, int blob_length,
- void* extras, void (*proceed)(MPIRPC*));
-
-char* MPIRPC_Block(MPIRPC_Node target, char* name, char* args);
-
-char* MPIRPC_Block_blob(MPIRPC_Node target, char* name, char* args,
- char* blob, int blob_length);
-
-char* MPIRPC_Wait(MPIRPC* rpc);
-
-void MPIRPC_Null(MPIRPC_Node caller, int unique);
-
-void MPIRPC_Return(MPIRPC_Node caller, int unique,
- char* result, int rlength);
-
-MPIRPC_Node* MPIRPC_Node_create(MPI_Comm comm, int rank);
-
-MPIRPC_Node* MPIRPC_Node_make(MPI_Comm comm, int rank,
- MPIRPC_Node* node);
-
-void MPIRPC_Garbage_collect(void);
-
-struct list* MPIRPC_Comms(void);
-
-void MPIRPC_Dump(MPIRPC* rpc);
-
-void MPIRPC_Dump_portmap(void);
-
-void MPIRPC_Dump_channels(void);
-
-MPIRPC* MPIRPC_Lookup(int unique);
-
-void MPIRPC_Flush_returns(void);
-
-char* MPIRPC_Comm_get_name(MPI_Comm comm);
-
-void MPIRPC_Free(MPIRPC* rpc);
-
-void MPIRPC_Snooze(void);
-
-void MPIRPC_Snooze_reset(void);
-
-//// Internal routines...
-
-bool MPIRPC_Garbage_collect_value(void);
-
-void MPIRPC_Value_free(MPIRPC_Value* value);
-
-MPIRPC_Value* MPIRPC_Value_create(int unique, char* result, int length);
-
-//// Data structure helpers...
-
-int MPIRPC_Node_cmp(void* node1, void* node2);
-
-int MPIRPC_Channel_cmp(void* c1, void* c2);
-
-int MPIRPC_Channel_comm_cmp(void* c1, void* c2);
-
-MPIRPC_Channel* MPIRPC_Channel_for_node(MPIRPC_Node node);
-
-void MPIRPC_Finalize(void);
-
-/**
- MPIRPC stati.
-*/
-enum
-{
- MPIRPC_STATUS_PROTO,
- MPIRPC_STATUS_CALLED,
- MPIRPC_STATUS_RETURNED
-};
-
-/**
- Tags used by MPIRPC.
-*/
-enum
-{
- MPIRPC_TAG_CONTROL,
- MPIRPC_TAG_UNIQUE,
- MPIRPC_TAG_NAME,
- MPIRPC_TAG_LENGTH,
- MPIRPC_TAG_ARGS,
- MPIRPC_TAG_RESULT
-};
-
-enum
-{
- MPIRPC_MSG_CALL = 12,
- MPIRPC_MSG_RETURN = 13,
- MPIRPC_MSG_DISCONNECT = 14,
- MPIRPC_MSG_OK = 15,
- MPIRPC_MSG_FAIL = 16
-};
-
-#endif
diff --git a/oldcode/src/include/mpirpc.h b/oldcode/src/include/mpirpc.h
deleted file mode 100644
index bec91b5..0000000
--- a/oldcode/src/include/mpirpc.h
+++ /dev/null
@@ -1,13 +0,0 @@
-
-#ifndef MPIRPC_H
-#define MPIRPC_H
-
-#include <grayskull-config.h>
-
-#if USE_MPIRPC_1 == 1
-#include <mpirpc-1.h>
-#else
-#include <mpirpc-2.h>
-#endif
-
-#endif
diff --git a/oldcode/src/include/node.h b/oldcode/src/include/node.h
deleted file mode 100644
index 4dd6587..0000000
--- a/oldcode/src/include/node.h
+++ /dev/null
@@ -1,8 +0,0 @@
-
-#include <getopt.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <cmpi.h>
-
-extern MPI_Comm cmpi_comm_clients;
diff --git a/oldcode/src/include/pnet-cdf.h b/oldcode/src/include/pnet-cdf.h
deleted file mode 100644
index db7cab9..0000000
--- a/oldcode/src/include/pnet-cdf.h
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#include "pnet-cdf-copied.h"
-
-typedef struct
-{
- int64_t dimensions;
- int64_t* dimension_ids;
- struct hashtable* attributes;
- nc_type type;
-} CPNETCDF_Variable;
-
-typedef struct
-{
- struct hashtable* attributes;
- struct hashtable* dimension_names;
- struct itable* dimension_ids;
- struct hashtable* variable_names;
- struct itable* variable_ids;
-} CPNETCDF_File;
-
diff --git a/oldcode/src/include/skullfs.gsh b/oldcode/src/include/skullfs.gsh
deleted file mode 100644
index e2d5ec4..0000000
--- a/oldcode/src/include/skullfs.gsh
+++ /dev/null
@@ -1,73 +0,0 @@
-
-/**
- SKULLFS: Translate FS operations into GOBS operations.
-*/
-
-#ifndef SKULLFS_GSH
-#define SKULLFS_GSH
-
-#include <linux/limits.h>
-
-#include <gack.gsh>
-#include <skullfs_rpcs.gsh>
-
-#define SKULLFS_BLOB_SIZE 4
-
-typedef enum
-{
- SKULLFS_DIRECTORY,
- SKULLFS_FILE,
- SKULLFS_BLOB
-} skullfs_object_type;
-
-typedef struct
-{
- skullfs_object_type type;
- void* contents;
-} skullfs_object;
-
-typedef struct
-{
- gack_sack* sack;
-} skullfs_file;
-
-typedef struct
-{
- long size;
- char* data;
-} skullfs_blob;
-
-int skullfs_split_path(char* path, char** ptrs, int* lengths);
-
-int skullfs_serialize_directory(int count, char** names, int* ids,
- char** result);
-
-skullfs_object* skullfs_alloc_directory();
-
-skullfs_object* skullfs_alloc_file();
-
-skullfs_object* skullfs_alloc_blob();
-
-int skullfs_list(gobs_id directory_id, char*** names, int** ids);
-
-int skullfs_link_blob(gobs_id file_id, gobs_id blob_id,
- int blob_number);
-
-int skullfs_create_blob(gobs_id blob_id);
-
-int skullfs_create_file(gobs_id file_id, gack_sack* sack);
-
-int skullfs_link_file(gobs_id directory_id, gobs_id file_id,
- char* name);
-
-__blocking int skullfs_make_file(gobs_id directory_id,
- char* filename, gobs_id* file_id);
-
-__blocking int skullfs_ensure_blobs(gobs_id file_id,
- int first, int count,
- gobs_id* blob_ids);
-
-int skullfs_list_blobs(gobs_id file_id, int first, int count,
- gobs_id* blob_ids);
-
-#endif
diff --git a/oldcode/src/include/skullfs.h b/oldcode/src/include/skullfs.h
deleted file mode 100644
index cef911b..0000000
--- a/oldcode/src/include/skullfs.h
+++ /dev/null
@@ -1,18 +0,0 @@
-
-typedef struct
-{
- char name[128];
- int id;
-} skull_file;
-
-void skull_init();
-
-skull_file* skull_open(char* name);
-
-int skull_allocate(skull_file* file);
-
-int skull_read(void* data, int bytes, skull_file* file);
-
-int skull_write(void* data, int bytes, skull_file* file);
-
-int skull_close(skull_file* file);
diff --git a/oldcode/src/include/skullfs_client.gsh b/oldcode/src/include/skullfs_client.gsh
deleted file mode 100644
index 77af776..0000000
--- a/oldcode/src/include/skullfs_client.gsh
+++ /dev/null
@@ -1,55 +0,0 @@
-
-#ifndef SKULLFS_CLIENT_GSH
-#define SKULLFS_CLIENT_GSH
-
-#include <linux/limits.h>
-
-#include <gobs.gsh>
-#include <gack_types.gsh>
-
-// __blocking gobs_id skull_lookup(gum_node target, char* path);
-
-typedef struct
-{
- gobs_id id;
- gack_sack sack;
-} skullfs_fd;
-
-__blocking int skullfs_mkfs(gum_node target, gobs_id* root_id);
-
-__blocking int skullfs_mkdir(gum_node target,
- gobs_id parent, char* name,
- gobs_id* directory_id);
-
-__blocking int skullfs_ls(gum_node target, gobs_id directory_id,
- int* count, char*** names, int** ids);
-
-__blocking int skullfs_create(gum_node target, gobs_id directory_id,
- char* name, gobs_id* file_id);
-
-__blocking int skullfs_open(gum_node target, gobs_id file,
- skullfs_fd* fd);
-
-__blocking int skullfs_pwrite(gum_node target, skullfs_fd* file,
- void* data, int count, int offset);
-
-__blocking int skullfs_pread(gum_node target, skullfs_fd* file,
- void* data, int count, int offset);
-
-__blocking int skullfs_fallocate(gum_node target, gobs_id file_id,
- int first, int blobs,
- gobs_id* blob_ids);
-
-// Internals:
-
-__blocking int skullfs_blob_ids(gum_node target, gobs_id file_id,
- int first, int blobs,
- gobs_id* blob_ids);
-
-__blocking int skullfs_pwrite_blob(gum_node target, gobs_id blob_id,
- void* data, int count, int offset);
-
-__blocking int skullfs_pread_blob(gum_node target, gobs_id blob_id,
- void* data, int count, int offset);
-
-#endif
diff --git a/oldcode/src/include/skullfs_handlers.gsh b/oldcode/src/include/skullfs_handlers.gsh
deleted file mode 100644
index f4458ff..0000000
--- a/oldcode/src/include/skullfs_handlers.gsh
+++ /dev/null
@@ -1,37 +0,0 @@
-
-/**
- * SKULLFS HANDLERS: Decode and dispatch incoming FS operations.
- * */
-
-#ifndef SKULLFS_HANDLERS_GSH
-#define SKULLFS_HANDLERS_GSH
-
-#include <gum.gsh>
-#include <skullfs.gsh>
-#include <gobs.gsh>
-
-// #warning HANDLERS
-
-__blocking int handle_mkfs(gum_node caller, gum_msg* call);
-
-__blocking int handle_mkdir(gum_node caller, gum_msg* call);
-
-__blocking int handle_list(gum_node caller, gum_msg* call);
-
-__blocking int handle_create_blob(gum_node caller, gum_msg* call);
-
-__blocking int handle_link_blob(gum_node caller, gum_msg* call);
-
-__blocking int handle_create_file(gum_node caller, gum_msg* call);
-
-__blocking int handle_link_file(gum_node caller, gum_msg* call);
-
-__blocking int handle_make_file(gum_node caller, gum_msg* call);
-
-__blocking int handle_blob_ids(gum_node caller, gum_msg* call);
-
-__blocking int handle_allocate(gum_node caller, gum_msg* call);
-
-__blocking int handle_open(gum_node caller, gum_msg* call);
-
-#endif
diff --git a/oldcode/src/include/skullfs_interpreter.gsh b/oldcode/src/include/skullfs_interpreter.gsh
deleted file mode 100644
index e429372..0000000
--- a/oldcode/src/include/skullfs_interpreter.gsh
+++ /dev/null
@@ -1,32 +0,0 @@
-
-/**
- INTERPRETER: Translate FS operations into GOBS operations.
-*/
-
-#ifndef SKULLFS_INTERPRETER_GSH
-#define SKULLFS_INTERPRETER_GSH
-
-#include <linux/limits.h>
-
-#include <gobs.gsh>
-
-#define SKULLFS_BLOB_SIZE 4
-
-typedef enum
-{
- SKULLFS_DIRECTORY,
- SKULLFS_FILE,
- SKULLFS_BLOB
-} skullfs_object_type;
-
-typedef struct
-{
- skullfs_object_type type;
- void* contents;
-} skullfs_object;
-
-int skullfs_split_path(char* path, char** ptrs, int* lengths);
-
-int handle_open(gum_node caller, gum_msg* call);
-
-#endif
diff --git a/oldcode/src/include/skullfs_rpcs.gsh b/oldcode/src/include/skullfs_rpcs.gsh
deleted file mode 100644
index f2eb81a..0000000
--- a/oldcode/src/include/skullfs_rpcs.gsh
+++ /dev/null
@@ -1,20 +0,0 @@
-
-/**
- * RPCS: Server-server RPCs.
- * */
-
-#ifndef SKULLFS_RPCS_GSH
-#define SKULLFS_RPCS_GSH
-
-#include <gobs.gsh>
-
-__blocking int rpc_create_blob(gobs_location* blob);
-
-__blocking int rpc_create_file(gobs_location* file, gack_sack* sack);
-
-// __blocking int rpc_link_blob(gobs_location file, gobs_location blob);
-
-__blocking int rpc_link_file(gobs_location directory,
- gobs_location file, char* filename);
-
-#endif
diff --git a/oldcode/src/include/swim.gsh b/oldcode/src/include/swim.gsh
deleted file mode 100644
index 7e902de..0000000
--- a/oldcode/src/include/swim.gsh
+++ /dev/null
@@ -1,28 +0,0 @@
-
-/**
- * SWIM
- * */
-
-#include <list.h>
-
-#include <gobs.gsh>
-
-
-void swim_init();
-
-__blocking void swim_periodic();
-
-__blocking void swim_check(gum_node mj);
-
-__blocking bool swim_ping(gum_node object,
- long period, gum_node target);
-
-__blocking bool swim_ping_req(gum_node from, gum_node object,
- long period, gum_node target);
-
-void swim_fail(gum_node dead_node);
-
-__blocking void handle_swim_ping_req(gum_node caller, gum_msg* call);
-
-__blocking void handle_swim_ping(gum_node caller, gum_msg* call);
-
diff --git a/oldcode/src/include/xtree.h b/oldcode/src/include/xtree.h
deleted file mode 100644
index c846ce9..0000000
--- a/oldcode/src/include/xtree.h
+++ /dev/null
@@ -1,78 +0,0 @@
-
-/**
- * XTREE: XOR-metric lookup tree.
- * */
-
-#ifndef XTREE_H
-#define XTREE_H
-
-#include <stdbool.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <ilist.h>
-#include <inlist.h>
-
-typedef int xtree_id;
-#define XTREE_DEPTH (sizeof(xtree_id)*8)
-
-typedef struct xtree_object_s xtree_object;
-typedef union xtree_thing_u xtree_thing;
-
-typedef enum
-{
- XTREE_NODE,
- XTREE_ITEM
-} xtree_tag;
-
-typedef struct xtree_item_s
-{
- xtree_id id;
- void* data;
- xtree_object* smaller;
- xtree_object* bigger;
-} xtree_item;
-
-typedef struct xtree_node_s
-{
- xtree_object* zero;
- xtree_object* one;
-} xtree_node;
-
-union xtree_thing_u
-{
- xtree_node node;
- xtree_item item;
-};
-
-struct xtree_object_s
-{
- xtree_tag tag;
- xtree_thing thing;
-};
-
-struct xtree
-{
- int size;
- xtree_object* root;
-};
-
-struct xtree* xtree_create();
-
-void xtree_add(struct xtree* target, xtree_id id, void* data);
-
-void* xtree_search(struct xtree* target, xtree_id id);
-
-struct inlist* xtree_query(struct xtree* target,
- xtree_id id, int count);
-
-void xtree_printf(struct xtree* target);
-
-//// Internals:
-
-void xtree_replace(struct xtree* target, int depth,
- xtree_object* old_object,
- xtree_object* new_object);
-
-#endif
diff --git a/oldcode/src/kda-1/Makefile b/oldcode/src/kda-1/Makefile
deleted file mode 100644
index b03da6d..0000000
--- a/oldcode/src/kda-1/Makefile
+++ /dev/null
@@ -1,48 +0,0 @@
-
-# Debugging only
-
-CMPI = ../../lib/libcmpi.a
-
-INCLUDES = -I . -I ../.. -I ../adts -I ../cmpi -I ../mpirpc
-LIBS = -L ../../lib
-
-MPICC = mpicc
-GNU = --gnu
-CFLAGS = $(GNU) --std=gnu99 $(INCLUDES) -D ENABLE_DEBUG
-LINKFLAGS = $(GNU) $(LIBS)
-
-MPIRPC = ../mpirpc/mpirpc.o
-CMPI = ../cmpi/cmpi.o
-ADTS = ../adts/list.o ../adts/klist.o ../adts/hashtable.o \
- ../adts/itable.o ../adts/ilist.o ../adts/inlist.o
-OBJECTS = kademlia.o cmpi_kademlia.o neighbor.o \
- ../mpirpc/mpi_tools.o ../cmpi/driver.o \
- $(CMPI) $(MPIRPC) $(ADTS)
-
-ifeq ($(DEBUG_KADEMLIA),1)
- CFLAGS += -D DEBUG_KADEMLIA
-endif
-
-all: kademlia
-
-kademlia : $(OBJECTS)
- @echo [link] kademlia
- $(MPICC) $(LINKFLAGS) $(OBJECTS) -o kademlia
-
-hex : hex.o
- gcc -o hex hex.o
-
-unhex : unhex.o
- gcc -o unhex unhex.o
-
-%.o : %.c
- @echo [$(MPICC)] $<
- @$(MPICC) $(CFLAGS) -c $< -o $@
-
-# Items to delete during make clean
-GARBAGE = $(OBJECTS) *~ kademlia
-
-clean :
-# echo $(GARBAGE)
- @rm -fv $(GARBAGE) | grep ".*" || echo "Nothing to clean."
-
diff --git a/oldcode/src/kda-1/cmpi_kademlia.c b/oldcode/src/kda-1/cmpi_kademlia.c
deleted file mode 100644
index 5b079eb..0000000
--- a/oldcode/src/kda-1/cmpi_kademlia.c
+++ /dev/null
@@ -1,318 +0,0 @@
-
-#include "cmpi_kda-1.h"
-
-/**
- List of DHT nodes this client officially knows about.
-*/
-struct inlist* contacts;
-
-/**
- List of faulty nodes. We must kill these specially at shutdown.
-*/
-struct inlist* faulty;
-
-void
-KDA_Read_params(void)
-{
- // NOTE_F;
- char* nodes_msg = cmpi_params_search("nodes");
- if (nodes_msg)
- {
- int n = sscanf(nodes_msg, "%i", &kda_nodes);
- assert(n == 1);
- free(nodes_msg);
- }
- else
- {
- kda_nodes = mpi_size;
- }
-}
-
-CMPI_RETURN
-cmpi_init_impl()
-{
- // NOTE_F;
-
- KDA_Read_params();
-
- KDA_Init(3, 3);
-
- return CMPI_SUCCESS;
-}
-
-CMPI_RETURN
-cmpi_init_impl_client()
-{
- int i;
- KDA_Read_params();
-
- contacts = inlist_create();
- faulty = inlist_create();
-
- for (i = 0; i < kda_nodes; i++)
- {
- // NOTE_I("contact: ", i);
- inlist_add(contacts, i);
- }
-
- return CMPI_SUCCESS;
-}
-
-int
-convert_id_to_rank(CMPI_ID id)
-{
- return 0;
-}
-
-char*
-cmpi_info(CMPI_ID key)
-{
- char* result = NULL;
-
- CMPI_ID other_id = cmpi_translate(key);
- int other_rank = convert_id_to_rank(other_id);
-
- MPIRPC* rpc = MPIRPC_Call(other_rank, "info", "",
- "", MPIRPC_PROCEED_NULL);
- MPIRPC_Wait(rpc);
- result = rpc->result;
- MPIRPC_Free(rpc);
- return result;
-}
-
-/**
- @return The MPI rank closest to the given key.
-*/
-CMPI_ID
-cmpi_lookup(char* key)
-{
- NOTE_FS(key);
-
- int i = inlist_random(contacts);
- MPIRPC* rpc = KDA_Lookup(i, key);
- MPIRPC_Wait(rpc);
-
- printf("cmpi_lookup()@%i -> %s \n", i, rpc->result);
-
- return 0;
-}
-
-CMPI_ID
-cmpi_translate(CMPI_ID id)
-{
- int i = inlist_random(contacts);
- MPIRPC* rpc = KDA_Translate(i, (KDA_ID) id);
- MPIRPC_Wait(rpc);
- int result = 0;
- sscanf(rpc->result, "%i", &result);
- return result;
-}
-
-CMPI_RETURN
-cmpi_put(char* key, char* value)
-{
- struct inlist_item* item;
- NOTE_FSS(key, value);
-
- int i = inlist_random(contacts);
- MPIRPC* lookup = KDA_Lookup_k(i, key);
- MPIRPC_Wait(lookup);
-
- struct inlist* ranks = neighbor_rank_list(lookup->result);
- gossip_do(MASK_KDA,
- printf("ranks: ");
- inlist_printf(ranks););
-
- char* ranklist = inlist_serialize(ranks);
- printf("[%i] LOOKUP: %s = %X -> %s \n",
- debug_rank, key, SHA1_mod(key), ranklist);
- // FREE(ranklist);
-
- for (item = ranks->head; item; item = item->next)
- {
- MPIRPC* rpc = KDA_Store(item->data, key, value);
- MPIRPC_Wait(rpc);
- MPIRPC_Free(rpc);
- }
-
- FREE(lookup->result);
- MPIRPC_Free(lookup);
- inlist_free(ranks);
-
- return 0;
-}
-
-CMPI_RETURN
-cmpi_update(char* key, char* value, int offset)
-{
- struct inlist_item* item;
- SHOW_FSSI(key, value, offset);
-
- int i = inlist_random(contacts);
- MPIRPC* lookup = KDA_Lookup_k(i, key);
- MPIRPC_Wait(lookup);
-
- struct inlist* ranks = neighbor_rank_list(lookup->result);
- DEBUG(printf("ranks: "); inlist_printf(ranks););
-
- char* ranklist = inlist_serialize(ranks);
- printf("[%i] LOOKUP: %s = %X -> %s \n",
- debug_rank, key, SHA1_mod(key), ranklist);
- // FREE(ranklist);
-
- for (item = ranks->head; item; item = item->next)
- {
- MPIRPC* rpc = KDA_Update(item->data, key, value, offset);
- MPIRPC_Wait(rpc);
- MPIRPC_Free(rpc);
- }
-
- FREE(lookup->result);
- MPIRPC_Free(lookup);
- inlist_free(ranks);
-
- return 0;
-}
-
-CMPI_RETURN
-cmpi_get(char* key, char** value)
-{
- NOTE_FS(key);
- bool lookup_success = false;
- bool get_success = false;
-
- MPIRPC* lookup;
- int loops = 0;
- while (! lookup_success)
- {
- int i = inlist_random(contacts);
- lookup = KDA_Lookup_k(i, key);
- MPIRPC_Wait(lookup);
-
- if (++loops > ilog2(kda_nodes))
- {
- NOTE("FAULT: Too many loops!");
- break;
- }
- if (lookup->status == MPIRPC_STATUS_RETURNED)
- break;
- }
-
- if (lookup->status == MPIRPC_STATUS_FAULT)
- {
- NOTE("FAULT: Could not KDA_Lookup_k()!");
- NOTE("CMPI_GET_FAILED");
- return CMPI_ERROR_FAULT;
- }
-
- NOTE("OK: KDA_Lookup_k().");
-
- struct inlist* ranks = neighbor_rank_list(lookup->result);
-
- // inlist_dump(ranks);
-
- // char* ranklist = inlist_tostring(ranks);
- // printf("LOOKUP: %s = %X -> %s \n", key, SHA1_mod(key), ranklist);
- // free(ranklist);
-
- struct inlist_item* item;
- for (item = ranks->head;
- item; item = item->next)
- {
- MPIRPC* rpc = KDA_Retrieve(item->data, key);
- MPIRPC_Wait(rpc);
- if (rpc->status == MPIRPC_STATUS_FAULT)
- {
- NOTE("FAULT: Could not KDA_Retrieve()!");
- }
- else
- {
- NOTE("OK: KDA_Retrieve().");
- *value = rpc->result;
- get_success = true;
- }
- MPIRPC_Free(rpc);
- }
- inlist_free(ranks);
-
- if (! get_success)
- return CMPI_ERROR_NEIGHBORS;
-
- return CMPI_SUCCESS;
-}
-
-void
-cmpi_debug_tables()
-{
- struct inlist_item* item;
- NOTE_F;
-
- int r = rand();
-
- for (item = contacts->head;
- item; item = item->next)
- {
- MPIRPC_Block(item->data, heap("debug_tables"), iheap(r));
- }
-}
-
-void
-cmpi_debug_table_usage()
-{
- struct inlist_item* item;
- NOTE_F;
-
- int r = rand();
-
- for (item = contacts->head;
- item; item = item->next)
- {
- MPIRPC_Block(item->data, heap("debug_table_usage"), iheap(r));
- }
-}
-
-/**
- CHEATS: calls emulate_fault p random nodes.
-*/
-void
-cmpi_emulate_faults(int p)
-{
- NOTE_F;
-
- int r = rand();
- for ( ; p > 0; p--)
- {
- int other_rank;
- do
- {
- other_rank = rand_lt(mpi_rank);
- } while (inlist_contains(faulty, other_rank));
- inlist_add(faulty, other_rank);
- // inlist_dump(faulty);
- MPIRPC_Block(other_rank, heap("emulate_fault"), iheap(r));
- }
-}
-
-void
-
-cmpi_shutdown()
-{
- NOTE_F;
-
- cmpi_quitting = true;
- int r = rand();
- while (contacts->size > 0)
- {
- int i = inlist_poll(contacts);
- MPIRPC_Call(i, heap("quit"), iheap(r),
- NULL, MPIRPC_PROCEED_NULL);
- }
-
- while (faulty->size > 0)
- {
- int i = inlist_poll(faulty);
- MPIRPC_Kill(i);
- }
- inlist_free(faulty);
- inlist_free(contacts);
-}
diff --git a/oldcode/src/kda-1/kademlia.c b/oldcode/src/kda-1/kademlia.c
deleted file mode 100644
index ddd2966..0000000
--- a/oldcode/src/kda-1/kademlia.c
+++ /dev/null
@@ -1,1216 +0,0 @@
-
-#include "kda-1.h"
-
-#ifdef DISKSIM_LOCATION
-#endif
-
-/**
- My kademlia ID.
- Normally represented in hex.
-*/
-KDA_ID id;
-
-/**
- The neighbor table.
-*/
-K_BUCKET k_bucket[KDA_SPACE_SIZE];
-
-/**
- Outstanding KDA_Operations.
-*/
-struct itable* operations;
-
-/**
- Kademlia parameter alpha.
-*/
-int alpha;
-
-/**
- Kademlia parameter k.
-*/
-int k;
-
-/**
- Number of nodes in boot-up time original DHT.
-*/
-int kda_nodes;
-
-/**
- ID for special sequential global operations such as
- debug dumps and shutdowns.
-*/
-int last_global_opid = 0;
-
-/**
- Number of times buckets have been dumped.
- Useful for debugging only.
-*/
-int dumps = 0;
-
-/**
- Self. Useful in KDA_Closest().
-*/
-KDA_Neighbor self;
-
-/**
- Setup Kademlia.
- Must be called after API_Init() and whoami().
-*/
-void
-KDA_Init(int alpha_in, int k_in)
-{
- gossip_do(MASK_KDA, NOTE_F);
-
- int i;
- alpha = alpha_in;
- k = k_in;
-
- id = make_id();
- for (i = 0; i < KDA_SPACE_SIZE; i++)
- k_bucket[i] = list_create();
-
- operations = itable_create(CALL_TABLE_SIZE);
- gossip_do(MASK_KDA, NOTE_XI("ID: ", id, id));
- neighbor_make(id, mpi_rank, &self);
-
- MPIRPC_Register("info", handle_info);
- MPIRPC_Register("debug_tables", handle_debug_tables);
- MPIRPC_Register("debug_table_usage", handle_bucket_usage);
-
- MPIRPC_Register("bootjoin", handle_bootjoin);
- MPIRPC_Register("bootping", handle_bootping);
- MPIRPC_Register("ping", handle_ping);
- MPIRPC_Register("update", handle_update);
- MPIRPC_Register("find_node", handle_find_node);
- MPIRPC_Register("query_id", handle_query_id);
- MPIRPC_Register("query_id_k", handle_query_id_k);
- MPIRPC_Register("store", handle_store);
- MPIRPC_Register("retrieve", handle_retrieve);
- MPIRPC_Register("quit", handle_quit);
-
- // Initialize disksim emulator:
- DISKSIM(disksim_init());
-
- if (mpi_rank == 0)
- {
- // NOTE("bootstrap...");
- bootstrap(1);
- listen_loop();
- }
- else
- {
- listen_loop();
- }
-}
-
-/**
- Perform a local search of the neighbor table for the id.
- @return The MPI rank of the given Kademlia id or -1 if not found.
-*/
-int
-KDA_Local_rank(KDA_ID other_id)
-{
- int d = XOR(id, other_id);
- int i = ilog2(d);
- struct list_item* item;
-
- // printf("rank : %i \n", other_id);
- // printf("i: %i \n", i);
-
- for (item = k_bucket[i]->head;
- item->next; item = item->next)
- {
- if (((KDA_Neighbor*) item->data)->id == other_id)
- return ((KDA_Neighbor*) item->data)->rank;
- }
-
- return -1;
-}
-
-/**
- Perform a local search of the neighbor table for the MPI rank.
- @return The Kademlia neighbor with the given rank.
-*/
-KDA_Neighbor*
-KDA_Local_neighbor(int other_rank)
-{
- int i;
- struct list_item* item;
- for (i = 0; i < KDA_SPACE_SIZE; i++)
- {
- for (item = k_bucket[i]->head;
- item; item = item->next)
- {
- KDA_Neighbor* n = (KDA_Neighbor*) item->data;
- if (n->rank == other_rank)
- return n;
- }
- }
- return NULL;
-}
-
-/**
- Use DHT to synchronously find the given key.
-*/
-struct ilist*
-KDA_Find_key(char* key)
-{
- NOTE_F;
-
- int id = hash_string(key, KDA_HASH_SPACE);
- return KDA_Find(id);
-}
-
-/**
- Use DHT to synchronously find the given key.
-*/
-struct ilist*
-KDA_Find(KDA_ID id)
-{
- KDA_Operation* op =
- KDA_Operate(id, NULL, NULL, NULL, NULL);
- KDA_Wait(op);
- return op->k_closest;
-}
-
-void
-KDA_Wait(KDA_Operation* op)
-{
- MPIRPC_Snooze_reset();
- while (op->status != KDA_STATUS_COMPLETE)
- {
- if (MPIRPC_Check())
- MPIRPC_Snooze_reset();
- else
- MPIRPC_Snooze();
- }
-}
-
-/**
- ordered local closest node lookup
- @return k neighbors in a list
-*/
-struct ilist*
-KDA_Closest(KDA_ID object_id)
-{
- gossip_do(MASK_KDA, NOTE_FX(object_id));
- struct ilist* result = ilist_create();
- int d;
- d = XOR(id, object_id);
- ilist_add(result, d, neighbor_clone(&self));
- int i;
- struct list_item* item;
- for (i = 0; i < KDA_SPACE_SIZE; i++)
- {
- for (item = k_bucket[i]->head; item; item = item->next)
- {
- KDA_Neighbor* neighbor = (KDA_Neighbor*) item->data;
- d = XOR(neighbor->id, object_id);
- if (result->size < k)
- {
- // DEBUG(ilist_fdumpkeys(debug_file, result));
- ilist_ordered_insert(result, d, neighbor_clone(neighbor));
- // DEBUG(ilist_fdumpkeys(debug_file, result));
- // DEBUG(char* s = ilist_serialize_ptrs(result);NOTE(s);FREE(s););
- }
- else if (d < result->tail->key)
- {
- KDA_Neighbor* victim = ilist_pop(result);
- // NOTE_I("POPPED: ", victim->rank);
- ilist_ordered_insert(result, d, neighbor_clone(neighbor));
- // SHOW_P(victim);
- free(victim);
- }
- }
- }
- // DEBUG(char* s = ilist_serialize_ptrs(result);NOTE(s);FREE(s););
- return result;
-}
-
-/**
- Query node at rank for key location.
-*/
-MPIRPC*
-KDA_Lookup(int rank, char* key)
-{
- gossip_do(MASK_KDA, NOTE_F);
-
- KDA_ID object_id = hash_string(key, KDA_HASH_SPACE);
-
- // printf("id: %i \n", object_id);
-
- return KDA_Translate(rank, object_id);
-}
-
-/**
- Query node at rank for k closest key locations.
-*/
-MPIRPC*
-KDA_Lookup_k(int rank, char* key)
-{
- KDA_ID object_id = SHA1_mod(key);
- gossip_do(MASK_KDA, SHOW_FIS_X(rank, key, object_id));
- // NOTE_SXI("TRANSLATE: ", key, object_id, object_id);
-
- return KDA_Translate_k(rank, object_id);
-}
-
-/**
- Query node at rank for key location.
-*/
-MPIRPC*
-KDA_Translate(int rank, KDA_ID id)
-{
- MPIRPC* rpc =
- MPIRPC_Call(rank, heap("query_id"), iheap(id),
- NULL, MPIRPC_PROCEED_NULL);
- return rpc;
-}
-
-/**
- Query node at rank for key locations.
-*/
-MPIRPC*
-KDA_Translate_k(int rank, KDA_ID id)
-{
- // NOTE_F;
-
-#ifdef ENABLE_TEST01
- if (cmpi_status == CMPI_STATUS_READY)
- printf("[%i] MPIRPC_Call(query_id_k)\n", debug_rank);
-#endif
-
-
- MPIRPC* rpc =
- MPIRPC_Call(rank, heap("query_id_k"), xheap(id),
- NULL, MPIRPC_PROCEED_NULL);
- return rpc;
-}
-
-/**
- Instruct a node to store a value.
- Asynchronous. Copies key and value into MPIRPC.
-*/
-MPIRPC*
-KDA_Store(int rank, char* key, char* value)
-{
- gossip_do(MASK_KDA, NOTE_F);
- int klength = strlen(key);
- int vlength = strlen(value);
- char* args = malloc((klength+vlength+5)*sizeof(char));
- assert(args);
- strcpy(args, key);
- args[klength] = ' ';
- strcpy(args+klength+1, value);
-
-#ifdef ENABLE_TEST01
- if (cmpi_status == CMPI_STATUS_READY)
- printf("[%i] MPIRPC_Call(store)\n", debug_rank);
-#endif
-
- MPIRPC* rpc = MPIRPC_Call(rank, heap("store"), args,
- NULL, MPIRPC_PROCEED_NULL);
- return rpc;
-}
-
-/**
- Instruct a node to retrieve a value.
-*/
-MPIRPC*
-KDA_Retrieve(int rank, char* key)
-{
- MPIRPC* rpc =
- MPIRPC_Call(rank, heap("retrieve"), heap(key),
- NULL, MPIRPC_PROCEED_NULL);
- return rpc;
-}
-
-/**
- Instruct a node to update a value.
- Asynchronous. Copies key and value into MPIRPC.
-*/
-MPIRPC*
-KDA_Update(int rank, char* key, char* value, int length)
-{
- gossip_do(MASK_KDA, NOTE_F);
- int klength = strlen(key);
- int vlength = strlen(value);
- char* args = malloc((klength+vlength+15)*sizeof(char));
- assert(args);
- sprintf(args, "%s %i %s", key, length, value);
-
- MPIRPC* rpc = MPIRPC_Call(rank, heap("update"), args,
- NULL, MPIRPC_PROCEED_NULL);
- return rpc;
-}
-
-KDA_Query*
-query_create(int caller, int unique,
- void (*service)(KDA_Operation* op))
-{
- // NOTE_F;
- KDA_Query* query = malloc(sizeof(KDA_Query));
- query->caller = caller;
- query->unique = unique;
- query->service = service;
- return query;
-}
-
-/**
- Generate info string for debugging
-*/
-void
-handle_info(int caller, int unique, char* args)
-{
- gossip_do(MASK_KDA, NOTE_F);
- char* result = buckets_tostring();
- MPIRPC_Return(caller, unique, result);
-}
-
-void
-handle_store(int caller, int unique, char* args)
-{
-#ifdef ENABLE_TEST03
- SHOW_FS(args);
-#else
-
- char* key = malloc(CMPI_KEY_LENGTH * sizeof(char));
- char* value = malloc(CMPI_VALUE_LENGTH * sizeof(char));
-
- sscanf(args, "%s %s", key, value);
- gossip_do(MASK_KDA, SHOW_FSS(key, value));
-
- cmpi_cached_store(key, value);
-#endif
- MPIRPC_Return(caller, unique, NULL);
-}
-
-void
-handle_retrieve(int caller, int unique, char* args)
-{
- gossip_do(MASK_KDA, NOTE_FS(args));
-
- char* data;
- cmpi_cached_retrieve(args, &data);
- // SHOW_S(data);
- MPIRPC_Return(caller, unique, heap(data));
-}
-
-void
-handle_update(int caller, int unique, char* args)
-{
- gossip_do(MASK_KDA, SHOW_FS(args));
-
- char* key = malloc(CMPI_KEY_LENGTH * sizeof(char));
- char* value = malloc(CMPI_VALUE_LENGTH * sizeof(char));
- int offset;
-
- sscanf(args, "%s %i %s", key, &offset, value);
- gossip_do(MASK_KDA, SHOW_FSSI(key, value, offset));
- cmpi_cached_update(key, value, offset);
-
- MPIRPC_Return(caller, unique, NULL);
-}
-
-void
-handle_debug_tables(int caller, int unique, char* args)
-{
- gossip_do(MASK_KDA, NOTE_F);
-
- /*
- // We can rebroadcast the message.
- int opid;
- sscanf(args, "%i", &opid);
-
- if (opid == last_global_opid)
- {
- NOTE("Already processed...");
- MPIRPC_Return(caller, unique, NULL);
- return;
- }
- last_global_opid = opid;
-
- int i;
- struct list_item* item;
- for (i = 0; i < KDA_SPACE_SIZE; i++)
- {
- for (item = k_bucket[i]->head;
- item; item = item->next)
- {
- // KDA_Neighbor* n = (KDA_Neighbor*) item->data;
- // MPIRPC_Call(n->rank, heap("debug_tables"), heap(args),
- // NULL, MPIRPC_PROCEED_NULL);
- }
- }
- */
-
- dump_buckets();
- MPIRPC_Return(caller, unique, NULL);
-}
-
-void
-handle_bucket_usage(int caller, int unique, char* args)
-{
- gossip_do(MASK_KDA, NOTE_F);
- dumps++;
- char* msg = bucket_usage();
- printf(msg);
- free(msg);
- MPIRPC_Return(caller, unique, NULL);
-}
-
-void
-handle_quit(int caller, int unique, char* args)
-{
- int i;
-
- gossip_do(MASK_KDA, NOTE_F);
-
- KDA_Neighbor* n_caller = KDA_Local_neighbor(caller);
- if (n_caller != NULL)
- n_caller->quitting = true;
-
- if (cmpi_quitting)
- {
- NOTE("Already quitting...");
- MPIRPC_Return(caller, unique, NULL);
- return;
- }
-
- cmpi_quitting = true;
-
- MPIRPC_Return(caller, unique, NULL);
-
- // NOTE_I("cmpi_cache: ", cmpi_cache->size);
- itable_destroy(operations);
-
- // NOTE("DESTROY_BUCKETS");
- for (i = 0; i < KDA_SPACE_SIZE; i++)
- {
- // SHOW_I(i);
- // list_destroy(k_bucket[i]);
- }
-}
-
-void
-rpc_find_node(int other_rank, KDA_Operation* op)
-{
-#ifdef ENABLE_TEST01
- if (cmpi_status == CMPI_STATUS_READY)
- {
- printf("[%i] MPIRPC_Call(find_node)\n", debug_rank);
- fflush(stdout);
- }
-#endif
-
- MPIRPC_Call(other_rank, heap("find_node"), xheap(op->object_id),
- op, proceed_find);
-}
-
-void
-handle_find_node(int caller, int unique, char* args)
-{
- int object_id;
- struct ilist_item* item;
- int count = sscanf(args, "%X", &object_id);
- assert(count == 1);
- struct ilist* known = KDA_Closest(object_id);
- char* result = malloc(1000*sizeof(char));
- char* s = result;
- s += sprintf(s, "%i ", known->size);
- for (item = known->head;
- item; item = item->next)
- s += sprintf(s, "%s", neighbor_name(item->data));
-
- ilist_destroy(known);
- MPIRPC_Return(caller, unique, result);
-}
-
-void
-handle_query_id(int caller, int unique, char* args)
-{
- int object_id;
- sscanf(args, "%X", &object_id);
- query_id(caller, unique, object_id);
-}
-
-void
-query_id(int caller, int unique, KDA_ID object_id)
-{
- KDA_Operate(object_id, NULL, NULL, NULL,
- query_create(caller, unique, return_query_id));
-}
-
-void
-return_query_id(KDA_Operation* op)
-{
- KDA_Neighbor* n = (KDA_Neighbor*) ilist_poll(op->k_closest);
- char* result = iheap(n->rank);
- MPIRPC_Return(op->query->caller, op->query->unique, result);
- // free op
-}
-
-void
-handle_query_id_k(int caller, int unique, char* args)
-{
- int object_id;
- sscanf(args, "%X", &object_id);
- query_id_k(caller, unique, object_id);
-}
-
-void
-query_id_k(int caller, int unique, KDA_ID object_id)
-{
- KDA_Operate(object_id, NULL, NULL, NULL,
- query_create(caller, unique, return_query_id_k));
-}
-
-void
-return_query_id_k(KDA_Operation* op)
-{
- char* result = malloc(2048*sizeof(char));
- char* p = result;
- while (op->k_closest->size > 0)
- {
- KDA_Neighbor* neighbor =
- (KDA_Neighbor*) ilist_poll(op->k_closest);
- p += neighbor_name_sprint(p, neighbor);
- free(neighbor);
- }
- MPIRPC_Return(op->query->caller, op->query->unique, result);
- KDA_Operation_free(op);
-}
-
-/**
- The KDA_Operation has completed its k_closest list.
- Now issue the RPC on the target nodes or
- respond to the client query.
-*/
-void
-KDA_Map(KDA_Operation* op)
-{
- struct ilist_item* item;
- // NOTE_FS(op->name);
-
- if (op->name)
- {
- for (item = op->k_closest->head; item; item = item->next)
- {
- KDA_Neighbor* n = (KDA_Neighbor*) item->data;
- MPIRPC_Call(n->rank, heap(op->name), heap(op->args),
- op, op->proceed);
- }
- op->returned = inlist_create();
- }
- else if (op->query)
- {
- op->returned = NULL;
- op->query->service(op);
- }
-}
-
-void
-proceed_find(MPIRPC* rpc)
-{
- gossip_do(MASK_KDA, NOTE_F);
-
- KDA_Operation* op = (KDA_Operation*) rpc->extras;
-
- // NOTE(neighbor_ranks_tostring(op->k_closest));
-
- if (rpc->status == MPIRPC_STATUS_FAULT)
- {
- NOTE_FS("FAULT!");
- }
- else
- {
- int size;
- char* p = rpc->result;
- sscanf(rpc->result, "%i ", &size);
- p = index(rpc->result, ' ')+1;
- int i;
- for (i = 0; i < size; i++)
- {
- int other_id;
- int other_rank;
- int count = sscanf(p, "[%X]@%i ", &other_id, &other_rank);
- assert(count == 2);
- p = index(p, ' ')+1;
- KDA_Neighbor neighbor;
- neighbor_make(other_id, other_rank, &neighbor);
- add_neighbor(&neighbor);
- int d = XOR(other_id, op->object_id);
- if (d < op->k_closest->tail->key ||
- op->k_closest->size < k)
- {
- // NOTE_S("data: ", neighbor_name(&neighbor));
- // DEBUG(ilist_fdump(debug_file, neighbor_name, op->k_closest));
- // DEBUG(char* s = ilist_serialize_ptrs(op->k_closest);NOTE(s);FREE(s););
- if (! ilist_matches(op->k_closest, neighbor_cmp, &neighbor))
- {
- KDA_Neighbor* clone = neighbor_clone(&neighbor);
- ilist_ordered_insert(op->k_closest, d, clone);
- op->improved = true;
- if (op->k_closest->size > k)
- {
- free(ilist_pop(op->k_closest));
- }
- }
- }
- }
- }
-
- // Check for convergence:
- inlist_remove(op->outstanding, rpc->target);
-
- if (rpc->result != NULL &&
- rpc->result != MPIRPC_RESULT_FAULT)
- {
- // NOTE("Free result.");
- // FREE(rpc->result);
- }
- MPIRPC_Free(rpc);
-
- if (op->outstanding->size == 0)
- {
- if (op->improved)
- {
- op->improved = false;
- if (! KDA_Find_node_again(op))
- KDA_Map(op);
- }
- else
- {
- KDA_Map(op);
- }
- }
-}
-
-/**
- Recursive object location method.
-*/
-bool
-KDA_Find_node(KDA_Operation* op)
-{
- if (op->k_closest == NULL)
- op->k_closest = KDA_Closest(op->object_id);
- // printf("local closest: \n");
- // ilist_output(neighbor_tostring, op->k_closest);
-
- return KDA_Find_node_again(op);
-}
-
-bool
-KDA_Find_node_again(KDA_Operation* op)
-{
- // NOTE_S("ranks: ", neighbor_ranks_tostring(op->k_closest));
-
- struct ilist_item* item;
- // True iff we actually issued another RPC:
- bool contacted = false;
-
- int i = 0;
- for (item = op->k_closest->head;
- i < alpha && item; item = item->next)
- {
- KDA_Neighbor* n = (KDA_Neighbor*) item->data;
- if (n->rank == mpi_rank)
- continue;
- if (! inlist_contains(op->contacted, n->rank))
- {
- inlist_add(op->contacted, n->rank);
- inlist_add(op->outstanding, n->rank);
- rpc_find_node(n->rank, op);
- contacted = true;
- i++;
- }
- }
- return contacted;
-}
-
-/**
- Join DHT using rank other_rank as known member.
-*/
-bool
-KDA_Join(int other_rank)
-{
- // join(other_rank, other_id);
-
- return true;
-}
-
-/**
- Locate the object_id and call its host method and args.
- Copies name but not args onto the heap.
-*/
-KDA_Operation*
-KDA_Operate(KDA_ID object_id, char* name, void* args,
- void (*proceed)(MPIRPC* rpc), KDA_Query* query)
-{
- gossip_do(MASK_KDA, NOTE_F);
- KDA_Operation* op = malloc(sizeof(KDA_Operation));
-
- op->object_id = object_id;
- op->unique = ++unique;
- op->name = heap(name);
- op->args = args;
- op->k_closest = NULL;
- op->contacted = inlist_create();
- op->outstanding = inlist_create();
- op->improved = false;
- op->status = KDA_STATUS_SEARCHING;
- op->proceed = proceed;
- op->query = query;
-
- itable_add(operations, op->unique, op);
-
- KDA_Find_node(op);
- return op;
-}
-
-void
-KDA_Operation_free(KDA_Operation* op)
-{
- // NOTE_F;
-
- // struct ilist_item* item;
- // for (item = op->k_closest->head; item; item = item->next)
- // NOTE(neighbor_tostring(item->data));
-
- ilist_destroy(op->k_closest);
-
- inlist_free(op->contacted);
- // NOTE("freeing op->outstanding");
- inlist_free(op->outstanding);
- // NOTE("freeing op->returned");
- if (op->returned)
- inlist_free(op->returned);
- // NOTE("freeing op->query");
- if (op->query)
- FREE(op->query);
-
- FREE(op->name);
-
- // if (op->args)
- // free(op->args);
-
- itable_remove(operations, op->unique);
-
- FREE(op);
-}
-
-void
-KDA_Ping(KDA_ID other_id)
-{
- KDA_Operate(other_id, heap("ping"), NULL, proceed_ping, NULL);
-}
-
-void
-proceed_ping(MPIRPC* rpc)
-{
- KDA_Operation* op = (KDA_Operation*) rpc->extras;
- inlist_add(op->returned, rpc->target);
-
- // TODO: Deallocate op and rpc
- // if (mpi_rank == mpi_size-1) NOTE("Highest rank ping completed.");
- if (op->returned->size == op->k_closest->size)
- {
- KDA_Operation_free(op);
-
- if (cmpi_status == CMPI_STATUS_PROTO)
- {
- cmpi_status = CMPI_STATUS_READY;
- printf("[%i] %s\n", debug_rank, timestring("READY", NULL));
- fflush(stdout);
- KDA_Announce();
- if (mpi_rank < kda_nodes-1)
- rpc_bootjoin(mpi_rank+1);
- else
- {
- if (kda_nodes != mpi_size)
- {
- // Notification hack...
- printf("[%i] NOTIFICATION\n", debug_rank);
- fflush(stdout);
- int msg = -2;
- MPI_Send(&msg, 1, MPI_INT,
- kda_nodes, 0, MPI_COMM_WORLD);
- }
- else
- {
- printf("[%i] NO NOTIFICATION\n", debug_rank);
- fflush(stdout);
- }
- }
- }
- }
- MPIRPC_Free(rpc);
-}
-
-void
-KDA_Announce()
-{
- gossip_do(MASK_KDA, NOTE_F);
-
- // NOTE_S("", buckets_tostring());
-
- int i;
- struct list_item* item;
- for (i = 0; i < KDA_SPACE_SIZE; i++)
- {
- for (item = k_bucket[i]->head;
- item; item = item->next)
- {
- KDA_Neighbor* n = (KDA_Neighbor*) item->data;
- MPIRPC_Block(n->rank, heap("announce"), xheap(id));
- }
- }
-}
-
-bool
-is_neighbor(KDA_Neighbor* n)
-{
- // NOTE_F;
- int d = XOR(n->id, id);
- int i = ilog2(d);
- // SHOW_I(i);
- return list_contains(k_bucket[i], neighbor_cmp, n);
-}
-
-/**
- Allow a caller to insert self in local neighbor table.
-*/
-void
-handle_announce(int caller, int unique, char* args)
-{
- gossip_do(MASK_KDA, NOTE_F);
- int other_id;
- sscanf(args, "%X", &other_id );
-
- KDA_Neighbor neighbor;
- neighbor_make(other_id, caller, &neighbor);
- add_neighbor(&neighbor);
-
- // DEBUG(char* table = buckets_tostring();NOTE(table);FREE(table););
-
- MPIRPC_Return(caller, unique, NULL);
-}
-
-/**
- Manufacture a random ID.
-*/
-KDA_ID
-make_id()
-{
- srand(time(NULL)+mpi_rank*30);
- // srand(mpi_rank*30);
- return rand();
-}
-
-bool
-k_bucket_insert(int i, KDA_Neighbor* neighbor)
-{
- bool result = false;
-
- // list_dump("%i", k_bucket[i]);
-
- if (! list_contains(k_bucket[i], neighbor_cmp, neighbor))
- {
- if (k_bucket[i]->size >= k)
- {
- KDA_Neighbor* victim = list_random(k_bucket[i]);
- // NOTE_S("Removing: ", neighbor_name(victim));
- list_remove(k_bucket[i], victim);
- FREE(victim);
- }
- list_ordered_insert(k_bucket[i],
- neighbor_time_cmp, (void*) neighbor);
- result = true;
- }
- else
- {
- // NOTE_I("Already have neighbor! in: ", i);
- }
- // list_dump("%i", k_bucket[i]);
- return result;
-}
-
-/**
- @return True iff we cloned and added the neighbor to a k_bucket.
-*/
-bool
-add_neighbor(KDA_Neighbor* neighbor)
-{
- bool result = false;
- // SHOW_FXI(neighbor->id, neighbor->rank);
- int d = XOR(id, neighbor->id);
- int i = ilog2(d);
- // SHOW_I(i);
-
- if (neighbor->rank == mpi_rank)
- {
- // NOTE("Will not add self!");
- }
- else if (is_neighbor(neighbor))
- {
- // NOTE_I("Already have neighbor: ", neighbor->rank);
- }
- else
- {
- KDA_Neighbor* entry = neighbor_clone(neighbor);
- k_bucket_insert(i, entry);
- result = true;
- }
- // SHOW_FXI_B(neighbor->id, neighbor->rank, result);
- return neighbor;
-}
-
-void
-bootstrap(int other_rank)
-{
- rpc_bootjoin(other_rank);
-}
-
-void
-rpc_bootjoin(int other_rank)
-{
- MPIRPC_Call(other_rank, heap("bootjoin"), id_tostring(),
- NULL, proceed_bootjoin);
-}
-
-/**
- We may now join the network.
- Return our id to the caller.
-*/
-void
-handle_bootjoin(int caller, int unique, char* args)
-{
- // NOTE_FS(args);
- int other_id;
- sscanf(args, "%X", &other_id );
-
- char* result = malloc(50*sizeof(char));
- sprintf(result, "%X", id);
-
- MPIRPC_Return(caller, unique, result);
- MPIRPC_Flush_returns();
- bootjoin(other_id, caller);
-}
-
-/**
- Join the DHT using a special bootstrapping protocol
-*/
-void
-bootjoin(int other_id, int other_rank)
-{
- KDA_Neighbor neighbor;
- neighbor_make(other_id, other_rank, &neighbor);
- add_neighbor(&neighbor);
-
- if (mpi_rank == 0)
- {
- bootping();
- }
- else if (mpi_rank < kda_nodes-1)
- {
- KDA_Ping(id);
- }
- else if (mpi_rank == kda_nodes-1)
- {
- rpc_bootjoin(0);
- }
-}
-
-void
-proceed_bootjoin(MPIRPC* rpc)
-{
- int other_id;
- sscanf(rpc->result, "%X", &other_id);
- KDA_Neighbor neighbor;
- neighbor_make(other_id, rpc->target, &neighbor);
- add_neighbor(&neighbor);
- MPIRPC_Free(rpc);
-}
-
-void
-rpc_bootping(int other_rank)
-{
- MPIRPC_Call(other_rank, heap("bootping"), id_tostring(),
- NULL, MPIRPC_Free);
-}
-
-/**
- MPIRPC registered function.
- We may now ping ourselves.
-*/
-void
-handle_bootping(int caller, int unique, char* args)
-{
- // NOTE_F;
- bootping();
- MPIRPC_Return(caller, unique, NULL);
-}
-
-void
-bootping()
-{
- if (mpi_rank < kda_nodes-1)
- rpc_bootping(mpi_rank+1);
-
- KDA_Ping(id);
-}
-
-/**
- Simply return NULL.
-*/
-void
-handle_ping(int caller, int unique, char* args)
-{
- MPIRPC_Return(caller, unique, NULL);
-}
-
-void
-listen_loop(void)
-{
- // NOTE_F;
-
- while (! cmpi_quitting)
- {
- if (! MPIRPC_Check())
- {
- MPIRPC_Snooze();
- }
- else
- {
- MPIRPC_Snooze_reset();
- }
- }
-}
-
-char*
-id_tostring()
-{
- return KDA_id_tostring(id);
-}
-
-char*
-KDA_id_tostring(int other_id)
-{
- char* s_id = malloc(10*sizeof(char));
- sprintf(s_id, "%X", other_id);
- return s_id;
-}
-
-/**
- @return A description of the form "[id]@rank".
-*/
-char*
-KDA_Description()
-{
- char* result = malloc(sizeof(char) * 30);
- sprintf(result, "[%X]@%i", id, mpi_rank);
- return result;
-}
-
-int
-table_size(void)
-{
- int result = 0;
-
- int i;
- struct list_item* item;
- for (i = 0; i < KDA_SPACE_SIZE; i++)
- for (item = k_bucket[i]->head;
- item; item = item->next)
- result++;
-
- return result;
-}
-
-void
-dump_buckets()
-{
- NOTE_F;
-
- char path[100];
- sprintf(path, "table_%i_%i_%i.out",
- debug_rank, kda_nodes, dumps++);
- FILE* file = fopen(path, "w");
- char* result = buckets_tostring();
- fprintf(file, result);
- FREE(result);
- fclose(file);
-
- NOTE_S("writing: ", path);
- NOTE_I("TABLE_SIZE: ", table_size());
-}
-
-char*
-buckets_tostring(void)
-{
- int i;
- struct list_item* item;
- // NOTE_F;
- char* result = MALLOC(sizeof(char)*KDA_SPACE_SIZE*k*200);
- char* p = result;
- char* description = KDA_Description();
- char* neighbor = NULL;
- bool bucket_named;
- int count = 0;
- int bytes = 0;
-
- p += sprintf(p, "Neighbor table for: %s \n", description);
- FREE(description);
- for (i = 0; i < KDA_SPACE_SIZE; i++)
- {
- bytes += sizeof(K_BUCKET);
- if (k_bucket[i]->size > 0)
- {
- bucket_named = false;
- for (item = k_bucket[i]->head;
- item; item = item->next)
- {
- count++;
- bytes += sizeof(KDA_Neighbor);
- if (! bucket_named)
- {
- bucket_named = true;
- p += sprintf(p, "bucket[%i]: \n", i);
- }
- p += sprintf(p, "\t");
- assert(item->data);
- neighbor = neighbor_tostring(item->data);
- p += sprintf(p, "%s\n", neighbor);
- }
- }
- }
- p += sprintf(p, "TABLE_NEIGHBORS: %i\n", count);
- sprintf(p, "TABLE_BYTES: %i\n", bytes);
- return result;
-}
-
-char*
-bucket_usage(void)
-{
- int i;
- struct list_item* item;
- // NOTE_F;
- char* result = MALLOC(200 * sizeof(char));
- char* p = result;
- int count = 0;
- int bytes = 0;
-
- for (i = 0; i < KDA_SPACE_SIZE; i++)
- {
- bytes += sizeof(K_BUCKET);
- for (item = k_bucket[i]->head;
- item; item = item->next)
- {
- count++;
- bytes += sizeof(KDA_Neighbor);
- }
- }
- p += sprintf(p, "TABLE_COUNT: %i %i %i\n", mpi_rank, dumps, count);
- p += sprintf(p, "TABLE_USAGE: %i %i %i\n", mpi_rank, dumps, bytes);
- return result;
-}
diff --git a/oldcode/src/kda-1/module.mk.in b/oldcode/src/kda-1/module.mk.in
deleted file mode 100644
index 670b536..0000000
--- a/oldcode/src/kda-1/module.mk.in
+++ /dev/null
@@ -1,8 +0,0 @@
-
-DIR := src/kda-1
-
-ifeq (@USE_TABLE_KDA_1@,1)
- KDA_SRC += $(DIR)/kademlia.c
- KDA_SRC += $(DIR)/neighbor.c
- KDA_SRC += $(DIR)/cmpi_kademlia.c
-endif
diff --git a/oldcode/src/kda-1/neighbor.c b/oldcode/src/kda-1/neighbor.c
deleted file mode 100644
index a5b5be8..0000000
--- a/oldcode/src/kda-1/neighbor.c
+++ /dev/null
@@ -1,168 +0,0 @@
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-
-#include "kda_neighbor-1.h"
-
-static char output[100];
-
-KDA_Neighbor*
-neighbor_create(KDA_ID id, int rank)
-{
- NOTE_F;
- KDA_Neighbor* result = MALLOC(sizeof(KDA_Neighbor));
- *result =
- (KDA_Neighbor)
- {
- .rank = rank,
- .id = id,
- .lastseen = time(NULL),
- .quitting = false
- };
- return result;
-}
-
-KDA_Neighbor*
-neighbor_clone(KDA_Neighbor* neighbor)
-{
- // NOTE_FI(neighbor->rank);
-
- KDA_Neighbor* result = MALLOC(sizeof(KDA_Neighbor));
- neighbor_make(neighbor->id, neighbor->rank, result);
-
- return result;
-}
-
-/**
- Make a neighbor in the given location.
-*/
-void
-neighbor_make(KDA_ID id, int rank, KDA_Neighbor* neighbor)
-{
- neighbor->id = id;
- neighbor->rank = rank;
- neighbor->lastseen = time(NULL);
- neighbor->quitting = false;
-}
-
-/**
- Compare neighbors based on id.
-*/
-int
-neighbor_cmp(void* object1, void* object2)
-{
- KDA_Neighbor* n1 = (KDA_Neighbor*) object1;
- KDA_Neighbor* n2 = (KDA_Neighbor*) object2;
- // printf("%X==%X ? \n", n1->id, n2->id);
- if (n1->id > n2->id)
- return 1;
- else if (n1->id < n2->id)
- return -1;
- else
- {
- // printf("found! %X %X \n", n1->id, n2->id);
- return 0;
- }
-}
-
-/**
- Compare lastseen times for neighbors n1, n2.
- @return 1 iff n1 > n2, -1 iff n1 < n2, 0 iff n1 == n2
-*/
-int
-neighbor_time_cmp(void* object1, void* object2)
-{
- KDA_Neighbor* n1 = (KDA_Neighbor*) object1;
- KDA_Neighbor* n2 = (KDA_Neighbor*) object2;
-
- if (n1->lastseen > n2->lastseen)
- return -1;
- else if (n1->lastseen < n2->lastseen)
- return 1;
- else
- return 0;
-}
-
-/**
- Writes string to static output location.
-*/
-char*
-neighbor_name(void* object)
-{
- neighbor_name_sprint(output, object);
- return output;
-}
-
-/**
- */
-int
-neighbor_name_sprint(char* buffer, void* object)
-{
- KDA_Neighbor* n = (KDA_Neighbor*) object;
- return sprintf(buffer, "[%X]@%i ", n->id, n->rank);
-}
-
-/**
- Writes string to static output location.
-*/
-char*
-neighbor_tostring(void* object)
-{
- // NOTE_F;
- neighbor_sprint(output, object);
- return output;
-}
-
-int
-neighbor_sprint(char* buffer, void* object)
-{
- KDA_Neighbor* n = (KDA_Neighbor*) object;
- int offset = sprintf(buffer, "[%X]@%i ", n->id, n->rank);
- offset += strftime(buffer+offset, 99, "%F %T",
- localtime(&n->lastseen));
- return offset;
-}
-
-void
-neighbor_dump(void* object)
-{
- KDA_Neighbor* n = (KDA_Neighbor*) object;
- char s[100];
- strftime(s, 99, "%F %T", localtime(&n->lastseen));
- // printf("[%X]@%i (%s)\n", n->id, n->rank, s);
-}
-
-/**
- Writes to static output location.
-*/
-char*
-neighbor_ranks_tostring(struct ilist* neighbors)
-{
- char* p = output;
- struct ilist_item* item;
- for (item = neighbors->head; item; item = item->next)
- {
- KDA_Neighbor* neighbor = (KDA_Neighbor*) item->data;
- p += sprintf(p, "%i ", neighbor->rank);
- }
- return output;
-}
-
-struct inlist* neighbor_rank_list(char* data)
-{
- struct inlist* result = inlist_create();
-
- char* end = data+strlen(data);
- while (data < end-3)
- {
- int other_id;
- int other_rank;
- int n;
- sscanf(data, "[%X]@%i %n", &other_id, &other_rank, &n);
- data += n;
- inlist_add(result, other_rank);
- }
-
- return result;
-}
diff --git a/oldcode/src/kda-2/Makefile b/oldcode/src/kda-2/Makefile
deleted file mode 100644
index aca20f3..0000000
--- a/oldcode/src/kda-2/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-
-# Debugging only
-
-CMPI = ../../lib/libcmpi.a
-
-INCLUDES = -I . -I ../.. -I ../adts -I ../cmpi -I ../mpirpc
-LIBS = -L ../../lib
-
-MPICC = mpicc
-GNU = --gnu
-CFLAGS = $(GNU) --std=gnu99 $(INCLUDES) -D ENABLE_DEBUG
-LINKFLAGS = $(GNU) $(LIBS)
-
-MPIRPC = ../mpirpc/mpirpc.o
-CMPI = ../cmpi/cmpi.o
-ADTS = ../adts/list.o ../adts/klist.o ../adts/hashtable.o \
- ../adts/itable.o ../adts/ilist.o ../adts/inlist.o
-OBJECTS = kademlia.o cmpi_kademlia.o neighbor.o \
- ../mpirpc/mpi_tools.o ../cmpi/driver.o \
- $(CMPI) $(MPIRPC) $(ADTS)
-
-ifeq ($(DEBUG_KADEMLIA),1)
- CFLAGS += -D DEBUG_KADEMLIA
-endif
-
-all: kademlia
-
-kademlia : $(OBJECTS)
- @echo [link] kademlia
- $(MPICC) $(LINKFLAGS) $(OBJECTS) -o kademlia
-
-%.o : %.c
- @echo [$(MPICC)] $<
- @$(MPICC) $(CFLAGS) -c $< -o $@
-
-# Items to delete during make clean
-GARBAGE = $(OBJECTS) *~ kademlia
-
-clean :
-# echo $(GARBAGE)
- @rm -fv $(GARBAGE) | grep ".*" || echo "Nothing to clean."
-
diff --git a/oldcode/src/kda-2/ascii_map.io b/oldcode/src/kda-2/ascii_map.io
deleted file mode 100755
index 381baff..0000000
--- a/oldcode/src/kda-2/ascii_map.io
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/usr/bin/env io_static
-
-i := 1
-m := 2147483647 # INT_MAX
-w := 70
-
-lines := File standardInput readLines
-
-nodes := List clone
-node2name := Map clone
-
-keys := List clone
-key2name := Map clone
-
-results := List clone
-r2name := Map clone
-
-lines foreach (line,
- words := line split
- if (words at(1) == "ID:",
- nodes append (words at(3) asNumber)
- node2name atPut(words at(3), words at(2)))
- if (words at(1) == "TRANSLATE:",
- keys append (words at(3) asNumber)
- key2name atPut(words at(3), words at(2)))
- if (words at(1) == "RESULT:",
- results append (words at(3) asNumber)
- r2name atPut(words at(3), words at(2)))
- )
-
-nodes sortInPlace
-
-writeln("nodes")
-80 repeat(write("-"))
-writeln
-
-space := Map clone
-nodes foreach (n,
- while (i / w < n / m,
- write(" ")
- i = i+1)
- write("|")
- i = i+1
- space atPut(n asString, i-2))
-writeln
-
-nodes foreach(n,
- space at(n asString) repeat (write(" "))
- writeln(node2name at(n asString)))
-
-writeln("keys")
-
-keys foreach(k,
- i := 0
- while (i / w < k / m,
- write(" ")
- i = i+1)
- writeln(key2name at (k asString))
- )
-
-writeln("assignments")
-
-results foreach(r,
- i := 0
- while (i / w < r / m,
- write(" ")
- i = i+1)
- writeln(r2name at (r asString))
- )
-
diff --git a/oldcode/src/kda-2/cmpi_kademlia.c b/oldcode/src/kda-2/cmpi_kademlia.c
deleted file mode 100644
index abe1d0c..0000000
--- a/oldcode/src/kda-2/cmpi_kademlia.c
+++ /dev/null
@@ -1,237 +0,0 @@
-
-#include "cmpi_kda-2.h"
-
-/**
- List of KDA_Neighbor*s.
-*/
-struct list* contacts;
-
-CMPI_RETURN
-cmpi_init_impl()
-{
- // NOTE_F;
- KDA_Init(3, 3);
-
- return CMPI_SUCCESS;
-}
-
-CMPI_RETURN
-cmpi_init_impl_client()
-{
- contacts = list_create();
- KDA_Init_client(3,3);
-
- return CMPI_SUCCESS;
-}
-
-CMPI_RETURN
-cmpi_impl_parameter(char* name, char* value)
-{
- if (strcmp(name, "nodes") == 0)
- {
- int n;
- sscanf(value, "%i", &n);
- kda_nodes = n;
- }
-
- return CMPI_SUCCESS;
-}
-
-CMPI_RETURN
-cmpi_attach()
-{
- CMPI_RETURN result;
- if (KDA_Attach())
- {
- add_contacts();
- result = CMPI_SUCCESS;
- }
- else
- result = CMPI_ERROR_SERVICENAME;
-
- return result;
-}
-
-void
-add_contacts()
-{
- int i;
- struct list_item* item;
- NOTE_F;
- for (i = 0; i < KDA_SPACE_SIZE; i++)
- for (item = k_bucket[i]->head;
- item; item = item->next)
- {
- KDA_Neighbor* neighbor = (KDA_Neighbor*) item->data;
- KDA_Neighbor_dump(neighbor);
- list_add_unique(contacts, KDA_Neighbor_cmp, neighbor);
- KDA_Comm_set_name(neighbor);
- }
-}
-
-KDA_Neighbor*
-contact_lookup(KDA_Neighbor* neighbor)
-{
- struct list_item* item;
- NOTE_FX(neighbor->id);
- for (item = contacts->head;
- item; item = item->next)
- {
- KDA_Neighbor* n = (KDA_Neighbor*) item->data;
- if (n->id == neighbor->id)
- return n;
- }
-
- NOTE("CONTACT LOOKUP FAILED: LINKING");
- KDA_Harpoon(random_neighbor()->node, neighbor->id);
- add_contacts();
-
- return contact_lookup(neighbor);
-}
-
-char*
-cmpi_info(CMPI_ID key)
-{
- char* result = NULL;
- KDA_Neighbor* neighbor = (KDA_Neighbor*) list_random(contacts);
- MPIRPC* rpc = MPIRPC_Call(neighbor->node, "info",
- xheap(key),
- "", MPIRPC_PROCEED_NULL);
- MPIRPC_Wait(rpc);
- result = rpc->result;
- MPIRPC_Free(rpc);
- return result;
-}
-
-/**
- Ex-DHT search.
- @return The MPI rank closest to the given key.
-*/
-CMPI_ID
-cmpi_lookup(char* key)
-{
- NOTE_FS(key);
-
- KDA_Neighbor* n = (KDA_Neighbor*) list_random(contacts);
-
- MPIRPC* rpc = KDA_Lookup(n->node, key);
-
- MPIRPC_Wait(rpc);
-
- printf("cmpi_lookup()@%X -> %s \n", n->id, rpc->result);
-
- return 0;
-}
-
-CMPI_ID
-cmpi_translate(CMPI_ID id)
-{
- NOTE_F;
-
- NOTE_XI("TRANSLATE: ", id, id);
-
- MPIRPC_Node* node = (MPIRPC_Node*) list_random(contacts);
- if (node == NULL)
- return CMPI_ERROR_NEIGHBORS;
- NOTE_I("contacts size: ", contacts->size);
-
- MPIRPC* rpc = KDA_Translate(*node, (KDA_ID) id);
- MPIRPC_Wait(rpc);
- int result = 0;
- sscanf(rpc->result, "%X", &result);
- return result;
-}
-
-CMPI_RETURN
-cmpi_put(char* key, char* value)
-{
- struct list_item* item;
- NOTE_FSS(key, value);
-
- // printf("contacts: %i \n", contacts);
-
- KDA_Neighbor* n = (KDA_Neighbor*) list_random(contacts);
- MPIRPC* lookup = KDA_Lookup_k(n->node, key);
- MPIRPC_Wait(lookup);
-
- struct list* neighbors = KDA_Neighbor_node_list(lookup->result);
-
- for (item = neighbors->head;
- item; item = item->next)
- {
- KDA_Neighbor* neighbor =
- contact_lookup((KDA_Neighbor*) item->data);
- MPIRPC* rpc = KDA_Store(neighbor, key, value);
- MPIRPC_Wait(rpc);
- MPIRPC_Free(rpc);
- NOTE("freed");
- }
-
- list_destroy(neighbors);
-
- DONE;
- return CMPI_SUCCESS;
-}
-
-CMPI_RETURN
-cmpi_get(char* key, char** value)
-{
- struct list_item* item;
- NOTE_FS(key);
-
- KDA_Neighbor* n = (KDA_Neighbor*) list_random(contacts);
-
- MPIRPC* lookup = KDA_Lookup_k(n->node, key);
- MPIRPC_Wait(lookup);
-
- struct list* neighbors = KDA_Neighbor_node_list(lookup->result);
- NOTE_I("neighbors->size ", neighbors->size);
-
- for (item = neighbors->head;
- item; item = item->next)
- {
- KDA_Neighbor* neighbor_found = (KDA_Neighbor*) item->data;
- NOTE("retrieve from: ");
- KDA_Neighbor_dump(neighbor_found);
- KDA_Neighbor* neighbor = contact_lookup(neighbor_found);
- KDA_Neighbor_dump(neighbor);
- MPIRPC* rpc = KDA_Retrieve(neighbor, key);
- MPIRPC_Wait(rpc);
- *value = rpc->result;
- NOTE_S("value: ", *value);
- MPIRPC_Free(rpc);
- }
-
- list_destroy(neighbors);
-
- NOTE("cmpi_get() done \n");
- return CMPI_SUCCESS;
-}
-
-void
-cmpi_detach()
-{
- while (contacts->size > 0)
- {
- NOTE("LOOP");
- KDA_Neighbor* neighbor = (KDA_Neighbor*) list_poll(contacts);
- KDA_Detach(neighbor->node);
- free(neighbor);
- }
-
- while (hubs->size > 0)
- {
- MPIRPC_Node* hub = (MPIRPC_Node*) list_poll(hubs);
- KDA_Detach(*hub);
- free(hub);
- }
-
- NOTE("DETACHED");
-}
-
-void
-cmpi_shutdown()
-{
- KDA_Shutdown();
-}
-
diff --git a/oldcode/src/kda-2/conn-A.c b/oldcode/src/kda-2/conn-A.c
deleted file mode 100644
index 0f6b2c8..0000000
--- a/oldcode/src/kda-2/conn-A.c
+++ /dev/null
@@ -1,137 +0,0 @@
-
-#include "conn-A.h"
-
-/**
- Maps KDA_IDs to ints.
- Stores MPI ranks in MPI_COMM_WORLD for all known KDA_IDs.
-*/
-struct hashtable* world_ranks;
-
-void
-KDA_Init_conn()
-{
- // Add self to world_ranks...
- world_ranks = hashtable_create(mpi_size);
- int* heap_mpi_rank = malloc(sizeof(int));
- *heap_mpi_rank = mpi_size;
- hashtable_add(world_ranks, xheap(id), heap_mpi_rank);
-
- MPIRPC_Comm_add(MPI_COMM_WORLD);
-
- MPIRPC_Register("get_id", handle_get_id);
- MPIRPC_Register("get_rank", handle_get_rank);
-
- sleep(mpi_rank * 10);
-
- if (mpi_rank > 0)
- {
- int other_rank = rand_lt(mpi_rank);
- MPIRPC_Node* node = MPIRPC_Node_create(MPI_COMM_WORLD,
- other_rank);
- SHOW_I(other_rank);
- char* result = MPIRPC_Block(node, "get_id", NULL);
- KDA_ID other_id;
- sscanf(result, "%X", &other_id);
- KDA_Join(other_id, other_rank);
- }
-
- listen_loop();
-}
-
-/**
- Attach
-*/
-MPIRPC_Node*
-KDA_Attach()
-{
- int other_rank = rand_lt(mpi_rank);
- MPIRPC_Node* node = MPIRPC_Node_create(MPI_COMM_WORLD,
- other_rank);
- char* result = MPIRPC_Block(node, "get_id", NULL);
- KDA_ID other_id;
- sscanf(result, "%X", &other_id);
-
- char* args = malloc(20*sizeof(int));
- sprintf(args, "%X %i", KDA_ID_CLIENT, mpi_rank);
- MPIRPC_Block(node, "join", args);
-
- return NULL;
-}
-
-void
-KDA_Harpoon(MPIRPC_Node* reference, KDA_ID other_id)
-{
- KDA_ID* heap_id = malloc(sizeof(KDA_ID));
- *heap_id = other_id;
- char* result = MPIRPC_Block(reference,
- "get_rank", xheap(other_id));
- int* other_rank = malloc(sizeof(int));
- sscanf(result, "%i", other_rank);
- hashtable_add(world_ranks, xheap(other_id), other_rank);
- KDA_Join(other_id, *other_rank);
-}
-
-void
-KDA_Join(int other_id, int other_rank)
-{
- MPIRPC_Node* node1 = MPIRPC_Node_create(MPI_COMM_WORLD, other_rank);
- char* args = malloc(20*sizeof(int));
- sprintf(args, "%X %i", id, mpi_rank);
- MPIRPC_Block(node1, "join", args);
-
- MPI_Comm newcomm = KDA_Comm_create(&other_rank);
- MPIRPC_Node* node2 = MPIRPC_Node_create(newcomm, 0);
- KDA_Neighbor* neighbor = KDA_Neighbor_create_id(other_id, node2);
- neighbor_add(neighbor);
-}
-
-MPI_Comm
-KDA_Comm_create(int* other_rank)
-{
- MPI_Group world_group, newgroup;
- MPI_Comm newcomm;
- MPI_Comm_group(MPI_COMM_WORLD, &world_group);
- MPI_Group_incl(world_group, 1, other_rank, &newgroup);
- MPI_Comm_create(MPI_COMM_WORLD, newgroup, &newcomm);
- MPIRPC_Comm_add(newcomm);
- return newcomm;
-}
-
-void
-handle_join(MPIRPC_Node* caller, int unique, char* args)
-{
- KDA_ID other_id;
- int* other_rank = malloc(sizeof(int));
- sscanf(args, "%X %i", &other_id, other_rank);
-
- MPI_Comm newcomm = KDA_Comm_create(other_rank);
-
- if (other_id != KDA_ID_CLIENT)
- {
- MPIRPC_Node* node = MPIRPC_Node_create(newcomm, 0);
- KDA_Neighbor* neighbor = KDA_Neighbor_create_id(other_id, node);
- neighbor_add(neighbor);
- hashtable_add(world_ranks, xheap(other_id), other_rank);
- }
-
- MPIRPC_Return(caller, unique, NULL);
-}
-
-void
-handle_get_rank(MPIRPC_Node* caller, int unique, char* args)
-{
- int* other_rank = (int*) hashtable_search(world_ranks, args);
- char* result = malloc(10*sizeof(char));
- sprintf(result, "%i", *other_rank);
- MPIRPC_Return(caller, unique, result);
-}
-
-void
-handle_get_id(MPIRPC_Node* caller, int unique, char* args)
-{
- char* result = malloc(10*sizeof(char));
- sprintf(result, "%X", id);
- MPIRPC_Return(caller, unique, result);
-}
-
-
diff --git a/oldcode/src/kda-2/conn-B.c b/oldcode/src/kda-2/conn-B.c
deleted file mode 100644
index 4ce8549..0000000
--- a/oldcode/src/kda-2/conn-B.c
+++ /dev/null
@@ -1,483 +0,0 @@
-
-/** Connection techniques for KDA-2B DHT.
- Uses HUBs to manage initial bootstrap connections.
- Uses three-way link/accept/connect/join to add neighbors.
- */
-
-#include <mpi.h>
-#include "kda_conn-B.h"
-
-int unique_client;
-char port[MPI_MAX_PORT_NAME];
-
-//// Internal prototypes
-int thirdhash(char* s);
-
-void
-KDA_Init_conn()
-{
- NOTE_F;
-
- KDA_Setup_node_port();
-
- char kda_port[MPI_MAX_PORT_NAME];
- int err = MPI_Lookup_name("kademlia", MPI_INFO_NULL, kda_port);
- if (err == MPI_SUCCESS)
- {
- // This node will be a DHT node:
- KDA_Node_init();
- KDA_Connect_port(kda_port);
- KDA_Ping(id);
- listen_loop();
- }
- else
- {
- // This node is a HUB:
- KDA_Hub_init();
- KDA_Hub_loop();
- }
-}
-
-void
-KDA_Node_init()
-{
- MPIRPC_Register("accept", handle_accept);
- MPIRPC_Register("connect", handle_connect);
- MPIRPC_Register("join", handle_join);
-}
-
-void
-KDA_Client_init(void)
-{
- MPIRPC_Register("connect", handle_connect);
- MPIRPC_Register("join", handle_join);
-}
-
-void
-KDA_Connect_port(char* port)
-{
- NOTE_F;
- MPI_Comm newcomm;
- MPI_Comm_connect(port, MPI_INFO_NULL, 0, MPI_COMM_WORLD, &newcomm);
- // MPI_Comm_set_errhandler(newcomm, MPI_ERRORS_RETURN);
- MPIRPC_Comm_add(newcomm);
- MPI_Comm_set_name(newcomm, "HUB");
- MPI_Send(&id, 1, MPI_INT, 0,
- CMPI_TAG_ID, newcomm);
- MPI_Send(&cmpi_msg_join, 1, MPI_INT, 0,
- CMPI_TAG_CONTROL, newcomm);
-}
-
-void
-KDA_Hub_init(void)
-{
- NOTE_F;
- MPI_Open_port(MPI_INFO_NULL, port);
- MPI_Publish_name("kademlia", MPI_INFO_NULL, port);
- NOTE_S("Published kademlia on: %s", port);
-}
-
-void
-KDA_Init_conn_client()
-{
- NOTE_F;
- KDA_Setup_node_port();
-}
-
-void
-KDA_Setup_node_port()
-{
- NOTE_F;
- MPI_Open_port(MPI_INFO_NULL, port);
- char portnumber[10];
- memset(portnumber, '\0', (size_t) 10);
- int p = thirdhash(port);
- strncpy(portnumber, port+p+1, 5);
- NOTE_S("Using port: ", portnumber);
-}
-
-void
-KDA_Hub_loop()
-{
- NOTE_F;
-
- int msg;
- KDA_ID other_id;
- while (! cmpi_quitting)
- {
- MPIRPC_Node node = KDA_Serve_accept();
- KDA_Serve_handshake(node, &other_id, &msg);
-
- switch (msg)
- {
- case CMPI_MSG_JOIN:
- KDA_Serve_id(other_id, node);
- break;
- case CMPI_MSG_SHUTDOWN:
- KDA_Serve_shutdown();
- break;
- }
- }
-}
-
-MPIRPC_Node
-KDA_Serve_accept()
-{
- NOTE_F;
- MPI_Comm newcomm;
- MPI_Comm_accept(port, MPI_INFO_NULL, 0,
- MPI_COMM_WORLD, &newcomm);
- // MPI_Comm_set_errhandler(newcomm, MPI_ERRORS_RETURN);
- char name[10];
- sprintf(name, "client_%i", unique_client++);
- MPI_Comm_set_name(newcomm, name);
- MPIRPC_Node node;
- MPIRPC_Node_make(newcomm, 0, &node);
- SHOW_S(name);
- SHOW_X(newcomm);
-
- return node;
-}
-
-/**
- TODO: Replace Recv()s with new reliable timeout Trecv()s.
- @param other_id OUT
- @param msg OUT
-*/
-void
-KDA_Serve_handshake(MPIRPC_Node node, KDA_ID* other_id, int* msg)
-{
- MPI_Status status;
- MPI_Comm comm = node.comm;
- MPI_Recv(other_id, 1, MPI_INT, 0, CMPI_TAG_ID, comm, &status);
- MPI_Recv(msg, 1, MPI_INT, 0, CMPI_TAG_CONTROL, comm, &status);
-}
-
-void
-KDA_Serve_id(KDA_ID other_id, MPIRPC_Node node)
-{
- assert(other_id != KDA_ID_NULL);
-
- if (other_id == KDA_ID_CLIENT)
- KDA_Serve_client(node);
- else
- KDA_Serve_neighbor(other_id, node);
-}
-
-void
-KDA_Serve_client(MPIRPC_Node node)
-{
- NOTE_F;
- MPIRPC_Comm_add(node.comm);
- KDA_Neighbor* neighbor = random_neighbor();
- if (neighbor)
- KDA_Link(neighbor->node, node);
- else
- NOTE("Could not get random neighbor.");
-}
-
-void
-KDA_Serve_neighbor(KDA_ID other_id, MPIRPC_Node node)
-{
- NOTE_F;
- KDA_Neighbor* neighbor = KDA_Neighbor_create_id(other_id, node);
- MPIRPC_Comm_add(node.comm);
- KDA_Neighbor* rand_neighbor = random_neighbor();
- if (rand_neighbor)
- KDA_Link(rand_neighbor->node, node);
- else
- NOTE("Could not get random neighbor.");
- if (! neighbor_add(neighbor))
- free(neighbor);
- dump_buckets();
-}
-
-/**
- Attach
- */
-MPIRPC_Node*
-KDA_Attach()
-{
- NOTE_F;
-
- KDA_Client_init();
-
- MPIRPC_Node* result = NULL;
-
- char kda_port[MPI_MAX_PORT_NAME];
- int err = MPI_Lookup_name("kademlia", MPI_INFO_NULL, kda_port);
- if (err == MPI_SUCCESS)
- {
- result = KDA_Attach_port(kda_port);
- while (! MPIRPC_Check()); // connect call
- while (! MPIRPC_Check()); // join call
- }
-
- return result;
-}
-
-MPIRPC_Node*
-KDA_Attach_port(char* port)
-{
- NOTE_F;
-
- MPI_Comm newcomm;
- MPI_Comm_connect(port, MPI_INFO_NULL, 0,
- MPI_COMM_WORLD, &newcomm);
- NOTE("connected to HUB");
- NOTE_I("id: ", id);
-
- MPIRPC_Node* hub = KDA_Register_hub(newcomm);
-
- // MPI_Comm_set_errhandler(newcomm, MPI_ERRORS_RETURN);
- MPI_Send(&id, 1, MPI_INT, 0,
- CMPI_TAG_ID, newcomm);
- MPI_Send(&cmpi_msg_join, 1, MPI_INT, 0,
- CMPI_TAG_CONTROL, newcomm);
-
- return hub;
-}
-
-/**
- Register this comm as a hub.
-*/
-MPIRPC_Node*
-KDA_Register_hub(MPI_Comm comm)
-{
- MPI_Comm_set_name(comm, "HUB");
- MPIRPC_Node* hub = MPIRPC_Node_create(comm, 0);
- list_add(hubs, hub);
- MPIRPC_Comm_add(comm);
- return hub;
-}
-
-/**
- Link the caller node to the requested node.
-*/
-void
-handle_link(MPIRPC_Node caller, int unique, char* args)
-{
- NOTE_F;
- KDA_ID rID;
- sscanf(args, "%X", &rID);
- NOTE_FX(rID);
- // dump_buckets();
- // KDA_Neighbor* neighbor = KDA_Neighbor_ID(rID);
- // KDA_Perform_link(caller, neighbor->node);
- MPIRPC_Return(caller, unique, NULL);
-}
-
-void
-KDA_Harpoon(MPIRPC_Node node, KDA_ID other_id)
-{
- MPIRPC_Block(node, "link", xheap(other_id));
- NOTE("rpc_link_neighbor() done");
-}
-
-/**
- Connect two neighbors in the DHT, if neither is NULL.
- @param n1 The neighbor to issue the accept().
- @param n2 The neighbor to issue the connect().
-*/
-void
-KDA_Link(MPIRPC_Node node1, MPIRPC_Node node2)
-{
- NOTE_F;
-
- char* port = MPIRPC_Block(node1, "accept", NULL);
- char* result = MPIRPC_Block(node2, "connect", port);
-
- dump_buckets();
-
- free(port);
- if (result)
- free(result);
-}
-
-void
-handle_accept(MPIRPC_Node caller, int unique, char* args)
-{
- NOTE_F;
- MPIRPC_Return(caller, unique, port);
- MPIRPC_Flush_returns();
- MPI_Comm newcomm;
- MPI_Comm_accept(port, MPI_INFO_NULL, 0,
- MPI_COMM_WORLD, &newcomm);
- NOTE("accepted newcomm");
- MPI_Comm_set_name(newcomm, "COMM_ACCEPTED");
- MPIRPC_Comm_add(newcomm);
- KDA_Join(newcomm);
-}
-
-void
-handle_connect(MPIRPC_Node caller, int unique, char* args)
-{
- NOTE_FS(args);
- MPI_Comm newcomm;
- int err = MPI_Comm_connect(args, MPI_INFO_NULL, 0,
- MPI_COMM_WORLD, &newcomm);
-
- MPI_Comm_set_name(newcomm, "COMM_CONNECTED");
- if (err == MPI_SUCCESS)
- {
- MPIRPC_Comm_add(newcomm);
- MPIRPC_Return(caller, unique, "success");
- }
- else
- MPIRPC_Return(caller, unique, "fail");
-}
-
-KDA_ID
-rpc_join(MPIRPC_Node node)
-{
- KDA_ID other_id;
- char* result = MPIRPC_Block(node, "join", id_tostring());
- sscanf(result, "%X", &other_id);
- free(result);
-
- NOTE("rpc_join returning");
-
- return other_id;
-}
-
-void
-handle_join(MPIRPC_Node caller, int unique, char* args)
-{
- NOTE_FS(args);
-
- KDA_ID other_id;
- sscanf(args, "%X", &other_id);
-
- KDA_Neighbor* neighbor = KDA_Neighbor_create_id(other_id, caller);
- if (other_id != KDA_ID_CLIENT)
- {
- if (! neighbor_add(neighbor))
- free(neighbor);
- }
- else
- {
- client_add(neighbor);
- }
- KDA_Comm_set_name(neighbor);
-
- dump_buckets();
-
- MPIRPC_Return(caller, unique, xheap(id));
- MPIRPC_Flush_returns();
- // KDA_Ping(id);
-}
-
-void
-KDA_Join(MPI_Comm comm)
-{
- NOTE_F;
-
- MPIRPC_Node node;
- MPIRPC_Node_make(comm, 0, &node);
- KDA_ID other_id = rpc_join(node);
-
- assert(other_id != KDA_ID_NULL);
-
- if (other_id != KDA_ID_CLIENT)
- {
- KDA_Neighbor* neighbor = KDA_Neighbor_create_id(other_id, node);
-
- // dump_buckets();
-
- if (! neighbor_add(neighbor))
- {
- NOTE("ALREADY HAVE NEIGHBOR? ");
- KDA_Neighbor* tmp = neighbor;
- neighbor = neighbor_lookup(neighbor);
- neighbor_set_node(neighbor, node);
- free(tmp);
- }
- KDA_Comm_set_name(neighbor);
-
- dump_buckets();
- }
- else
- {
- MPI_Comm_set_name(node.comm, "KDA_CLIENT");
- }
-}
-
-/**
- Finds index of the third hash character in the string.
- Useful for obtaining the port number from an MPI port name.
-*/
-int
-thirdhash(char* s)
-{
- char* p = s;
- int hashes = 0;
- while (p++)
- {
- if (*p == '#')
- hashes++;
- if (hashes == 3)
- return p-s;
- }
- printf("ERROR in thirdhash() \n");
- exit(1);
- return -1;
-}
-
-
-void
-KDA_Shutdown()
-{
- NOTE_F;
- char hub_port[MPI_MAX_PORT_NAME];
- int err = MPI_Lookup_name("kademlia", MPI_INFO_NULL, hub_port);
- if (err == MPI_SUCCESS)
- {
- KDA_Shutdown_port(hub_port);
- }
- else
- {
- note("shutdown error.");
- }
-}
-
-void
-KDA_Shutdown_port(char* hub_port)
-{
- MPI_Comm newcomm;
- MPI_Comm_connect(hub_port, MPI_INFO_NULL, 0,
- MPI_COMM_WORLD, &newcomm);
- NOTE("connected");
- // MPI_Comm_set_errhandler(newcomm, MPI_ERRORS_RETURN);
- MPI_Comm_set_name(newcomm, "HUB_SHUTDOWN");
- MPI_Send(&id, 1, MPI_INT, 0,
- CMPI_TAG_ID, newcomm);
- MPI_Send(&cmpi_msg_shutdown, 1, MPI_INT, 0,
- CMPI_TAG_CONTROL, newcomm);
-}
-
-void
-KDA_Serve_shutdown()
-{
- NOTE_F;
-
- int i;
- struct list_item* item;
- NOTE_F;
- cmpi_quitting = true;
- for (i = 0; i < KDA_SPACE_SIZE; i++)
- for (item = k_bucket[i]->head;
- item; item = item->next)
- {
- KDA_Neighbor* neighbor = (KDA_Neighbor*) item->data;
- MPIRPC_Block(neighbor->node, "shutdown", NULL);
- //KDA_Neighbor_dump(neighbor);
- }
-}
-
-void
-KDA_Detach(MPIRPC_Node node)
-{
- MPIRPC_Channel* channel = MPIRPC_Channel_for_node(node);
- MPIRPC_Close(channel);
-}
-
diff --git a/oldcode/src/kda-2/conn-C.c b/oldcode/src/kda-2/conn-C.c
deleted file mode 100644
index f2e598d..0000000
--- a/oldcode/src/kda-2/conn-C.c
+++ /dev/null
@@ -1,481 +0,0 @@
-
-/** Connection techniques for KDA-2B DHT.
- Uses HUBs to manage initial bootstrap connections.
- Uses three-way link/accept/connect/join to add neighbors.
- */
-
-#include "kademlia.h"
-#include "conn-B.h"
-
-int unique_client;
-char port[MPI_MAX_PORT_NAME];
-
-//// Internal prototypes
-int thirdhash(char* s);
-
-void
-KDA_Init_conn()
-{
- NOTE_F;
-
- KDA_Setup_node_port();
-
- char kda_port[MPI_MAX_PORT_NAME];
- int err = MPI_Lookup_name("kademlia", MPI_INFO_NULL, kda_port);
- if (err == MPI_SUCCESS)
- {
- // This node will be a DHT node:
- KDA_Node_init();
- KDA_Connect_port(kda_port);
- KDA_Ping(id);
- listen_loop();
- }
- else
- {
- // This node is a HUB:
- KDA_Hub_init();
- KDA_Hub_loop();
- }
-}
-
-void
-KDA_Node_init()
-{
- MPIRPC_Register("accept", handle_accept);
- MPIRPC_Register("connect", handle_connect);
- MPIRPC_Register("join", handle_join);
-}
-
-void
-KDA_Client_init(void)
-{
- MPIRPC_Register("connect", handle_connect);
- MPIRPC_Register("join", handle_join);
-}
-
-void
-KDA_Connect_port(char* port)
-{
- NOTE_F;
- MPI_Comm newcomm;
- MPI_Comm_connect(port, MPI_INFO_NULL, 0, MPI_COMM_WORLD, &newcomm);
- // MPI_Comm_set_errhandler(newcomm, MPI_ERRORS_RETURN);
- MPIRPC_Comm_add(newcomm);
- MPI_Comm_set_name(newcomm, "HUB");
- MPI_Send(&id, 1, MPI_INT, 0,
- CMPI_TAG_ID, newcomm);
- MPI_Send(&cmpi_msg_join, 1, MPI_INT, 0,
- CMPI_TAG_CONTROL, newcomm);
-}
-
-void
-KDA_Hub_init(void)
-{
- NOTE_F;
- MPI_Open_port(MPI_INFO_NULL, port);
- MPI_Publish_name("kademlia", MPI_INFO_NULL, port);
- NOTE_S("Published kademlia on: %s", port);
-}
-
-void
-KDA_Init_conn_client()
-{
- NOTE_F;
- KDA_Setup_node_port();
-}
-
-void
-KDA_Setup_node_port()
-{
- NOTE_F;
- MPI_Open_port(MPI_INFO_NULL, port);
- char portnumber[10];
- memset(portnumber, '\0', (size_t) 10);
- int p = thirdhash(port);
- strncpy(portnumber, port+p+1, 5);
- NOTE_S("Using port: ", portnumber);
-}
-
-void
-KDA_Hub_loop()
-{
- NOTE_F;
-
- int msg;
- KDA_ID other_id;
- while (! cmpi_quitting)
- {
- MPIRPC_Node* node = KDA_Serve_accept();
- KDA_Serve_handshake(node, &other_id, &msg);
-
- switch (msg)
- {
- case CMPI_MSG_JOIN:
- KDA_Serve_id(other_id, node);
- break;
- case CMPI_MSG_SHUTDOWN:
- KDA_Serve_shutdown();
- break;
- }
- }
-}
-
-MPIRPC_Node*
-KDA_Serve_accept()
-{
- NOTE_F;
- MPI_Comm newcomm;
- MPI_Comm_accept(port, MPI_INFO_NULL, 0,
- MPI_COMM_WORLD, &newcomm);
- // MPI_Comm_set_errhandler(newcomm, MPI_ERRORS_RETURN);
- char name[10];
- sprintf(name, "client_%i", unique_client++);
- MPI_Comm_set_name(newcomm, name);
- MPIRPC_Node* node = MPIRPC_Node_create(newcomm, 0);
- SHOW_S(name);
- SHOW_X(newcomm);
-
- return node;
-}
-
-/**
- TODO: Replace Recv()s with new reliable timeout Trecv()s.
-*/
-void
-KDA_Serve_handshake(MPIRPC_Node* node, KDA_ID* other_id, int* msg)
-{
- MPI_Status status;
- MPI_Comm comm = node->comm;
- MPI_Recv(other_id, 1, MPI_INT, 0, CMPI_TAG_ID, comm, &status);
- MPI_Recv(msg, 1, MPI_INT, 0, CMPI_TAG_CONTROL, comm, &status);
-}
-
-void
-KDA_Serve_id(KDA_ID other_id, MPIRPC_Node* node)
-{
- assert(other_id != KDA_ID_NULL);
-
- if (other_id == KDA_ID_CLIENT)
- KDA_Serve_client(node);
- else
- KDA_Serve_neighbor(other_id, node);
-}
-
-void
-KDA_Serve_client(MPIRPC_Node* node)
-{
- NOTE_F;
- MPIRPC_Comm_add(node->comm);
- KDA_Neighbor* neighbor = random_neighbor();
- if (neighbor)
- KDA_Link(neighbor->node, node);
- else
- NOTE("Could not get random neighbor.");
-}
-
-void
-KDA_Serve_neighbor(KDA_ID other_id, MPIRPC_Node* node)
-{
- NOTE_F;
- KDA_Neighbor* neighbor = KDA_Neighbor_create_id(other_id, node);
- MPIRPC_Comm_add(node->comm);
- KDA_Neighbor* rand_neighbor = random_neighbor();
- if (rand_neighbor)
- KDA_Link(rand_neighbor->node, node);
- else
- NOTE("Could not get random neighbor.");
- if (! neighbor_add(neighbor))
- free(neighbor);
- dump_buckets();
-}
-
-/**
- Attach
- */
-MPIRPC_Node*
-KDA_Attach()
-{
- NOTE_F;
-
- KDA_Client_init();
-
- MPIRPC_Node* result = NULL;
-
- char kda_port[MPI_MAX_PORT_NAME];
- int err = MPI_Lookup_name("kademlia", MPI_INFO_NULL, kda_port);
- if (err == MPI_SUCCESS)
- {
- result = KDA_Attach_port(kda_port);
- while (! MPIRPC_Check()); // connect call
- while (! MPIRPC_Check()); // join call
- }
-
- return result;
-}
-
-MPIRPC_Node*
-KDA_Attach_port(char* port)
-{
- NOTE_F;
-
- MPI_Comm newcomm;
- MPI_Comm_connect(port, MPI_INFO_NULL, 0,
- MPI_COMM_WORLD, &newcomm);
- NOTE("connected to HUB");
- NOTE_I("id: ", id);
-
- MPIRPC_Node* hub = KDA_Register_hub(newcomm);
-
- // MPI_Comm_set_errhandler(newcomm, MPI_ERRORS_RETURN);
- MPI_Send(&id, 1, MPI_INT, 0,
- CMPI_TAG_ID, newcomm);
- MPI_Send(&cmpi_msg_join, 1, MPI_INT, 0,
- CMPI_TAG_CONTROL, newcomm);
-
- return hub;
-}
-
-/**
- Register this comm as a hub.
-*/
-MPIRPC_Node*
-KDA_Register_hub(MPI_Comm comm)
-{
- MPI_Comm_set_name(comm, "HUB");
- MPIRPC_Node* hub = MPIRPC_Node_create(comm, 0);
- list_add(hubs, hub);
- MPIRPC_Comm_add(comm);
- return hub;
-}
-
-/**
- Link the caller node to the requested node.
-*/
-void
-handle_link(MPIRPC_Node* caller, int unique, char* args)
-{
- NOTE_F;
- KDA_ID rID;
- sscanf(args, "%X", &rID);
- NOTE_FX(rID);
- // dump_buckets();
- // KDA_Neighbor* neighbor = KDA_Neighbor_ID(rID);
- // KDA_Perform_link(caller, neighbor->node);
- MPIRPC_Return(caller, unique, NULL);
-}
-
-void
-KDA_Harpoon(MPIRPC_Node* node, KDA_ID other_id)
-{
- MPIRPC_Block(node, "link", xheap(other_id));
- NOTE("rpc_link_neighbor() done");
-}
-
-/**
- Connect two neighbors in the DHT, if neither is NULL.
- @param n1 The neighbor to issue the accept().
- @param n2 The neighbor to issue the connect().
-*/
-void
-KDA_Link(MPIRPC_Node* node1, MPIRPC_Node* node2)
-{
- NOTE_F;
-
- if (node1 == NULL || node2 == NULL)
- return;
-
- char* port = MPIRPC_Block(node1, "accept", NULL);
- char* result = MPIRPC_Block(node2, "connect", port);
-
- dump_buckets();
-
- free(port);
- free(result);
-}
-
-void
-handle_accept(MPIRPC_Node* caller, int unique, char* args)
-{
- NOTE_F;
- MPIRPC_Return(caller, unique, port);
- MPIRPC_Flush_returns();
- MPI_Comm newcomm;
- MPI_Comm_accept(port, MPI_INFO_NULL, 0,
- MPI_COMM_WORLD, &newcomm);
- NOTE("accepted newcomm");
- MPI_Comm_set_name(newcomm, "COMM_ACCEPTED");
- MPIRPC_Comm_add(newcomm);
- KDA_Join(newcomm);
-}
-
-void
-handle_connect(MPIRPC_Node* caller, int unique, char* args)
-{
- NOTE_FS(args);
- MPI_Comm newcomm;
- int err = MPI_Comm_connect(args, MPI_INFO_NULL, 0,
- MPI_COMM_WORLD, &newcomm);
-
- MPI_Comm_set_name(newcomm, "COMM_CONNECTED");
- if (err == MPI_SUCCESS)
- {
- MPIRPC_Comm_add(newcomm);
- MPIRPC_Return(caller, unique, "success");
- }
- else
- MPIRPC_Return(caller, unique, "fail");
-}
-
-KDA_ID
-rpc_join(MPIRPC_Node* node)
-{
- KDA_ID other_id;
- char* result = MPIRPC_Block(node, "join", id_tostring());
- sscanf(result, "%X", &other_id);
- free(result);
-
- NOTE("rpc_join returning");
-
- return other_id;
-}
-
-void
-handle_join(MPIRPC_Node* caller, int unique, char* args)
-{
- NOTE_FS(args);
-
- KDA_ID other_id;
- sscanf(args, "%X", &other_id);
-
- KDA_Neighbor* neighbor = KDA_Neighbor_create_id(other_id, caller);
- if (other_id != KDA_ID_CLIENT)
- {
- if (! neighbor_add(neighbor))
- free(neighbor);
- }
- else
- {
- client_add(neighbor);
- }
- KDA_Comm_set_name(neighbor);
-
- dump_buckets();
-
- MPIRPC_Return(caller, unique, xheap(id));
- MPIRPC_Flush_returns();
- // KDA_Ping(id);
-}
-
-void
-KDA_Join(MPI_Comm comm)
-{
- NOTE_F;
-
- MPIRPC_Node* node = MPIRPC_Node_create(comm, 0);
- KDA_ID other_id = rpc_join(node);
-
- assert(other_id != KDA_ID_NULL);
-
- if (other_id != KDA_ID_CLIENT)
- {
- KDA_Neighbor* neighbor = KDA_Neighbor_create_id(other_id, node);
-
- // dump_buckets();
-
- if (! neighbor_add(neighbor))
- {
- NOTE("ALREADY HAVE NEIGHBOR? ");
- KDA_Neighbor* tmp = neighbor;
- neighbor = neighbor_lookup(neighbor);
- neighbor_set_node(neighbor, node);
- free(tmp);
- }
- KDA_Comm_set_name(neighbor);
-
- dump_buckets();
- }
- else
- {
- MPI_Comm_set_name(node->comm, "KDA_CLIENT");
- }
-}
-
-/**
- Finds index of the third hash character in the string.
- Useful for obtaining the port number from an MPI port name.
-*/
-int
-thirdhash(char* s)
-{
- char* p = s;
- int hashes = 0;
- while (p++)
- {
- if (*p == '#')
- hashes++;
- if (hashes == 3)
- return p-s;
- }
- printf("ERROR in thirdhash() \n");
- exit(1);
- return -1;
-}
-
-
-void
-KDA_Shutdown()
-{
- NOTE_F;
- char hub_port[MPI_MAX_PORT_NAME];
- int err = MPI_Lookup_name("kademlia", MPI_INFO_NULL, hub_port);
- if (err == MPI_SUCCESS)
- {
- KDA_Shutdown_port(hub_port);
- }
- else
- {
- note("shutdown error.");
- }
-}
-
-void
-KDA_Shutdown_port(char* hub_port)
-{
- MPI_Comm newcomm;
- MPI_Comm_connect(hub_port, MPI_INFO_NULL, 0,
- MPI_COMM_WORLD, &newcomm);
- NOTE("connected");
- // MPI_Comm_set_errhandler(newcomm, MPI_ERRORS_RETURN);
- MPI_Comm_set_name(newcomm, "HUB_SHUTDOWN");
- MPI_Send(&id, 1, MPI_INT, 0,
- CMPI_TAG_ID, newcomm);
- MPI_Send(&cmpi_msg_shutdown, 1, MPI_INT, 0,
- CMPI_TAG_CONTROL, newcomm);
-}
-
-void
-KDA_Serve_shutdown()
-{
- NOTE_F;
-
- int i;
- struct list_item* item;
- NOTE_F;
- cmpi_quitting = true;
- for (i = 0; i < KDA_SPACE_SIZE; i++)
- for (item = k_bucket[i]->head;
- item; item = item->next)
- {
- KDA_Neighbor* neighbor = (KDA_Neighbor*) item->data;
- MPIRPC_Block(neighbor->node, "shutdown", NULL);
- //KDA_Neighbor_dump(neighbor);
- }
-}
-
-void
-KDA_Detach(MPIRPC_Node* node)
-{
- MPIRPC_Channel* channel = MPIRPC_Channel_for_node(node);
- MPIRPC_Close(channel);
-}
-
diff --git a/oldcode/src/kda-2/hex.c b/oldcode/src/kda-2/hex.c
deleted file mode 100644
index 0aef126..0000000
--- a/oldcode/src/kda-2/hex.c
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#include <stdio.h>
-#include <stdlib.h>
-
-int
-main(int argc, char* argv[])
-{
- if (argc != 2)
- {
- printf("usage: hex <int>\n");
- exit(1);
- }
-
- int i;
- sscanf(argv[1], "%i", &i);
- printf("%X\n", i);
-
- return 0;
-}
diff --git a/oldcode/src/kda-2/hexord.c b/oldcode/src/kda-2/hexord.c
deleted file mode 100644
index 1c65135..0000000
--- a/oldcode/src/kda-2/hexord.c
+++ /dev/null
@@ -1,32 +0,0 @@
-
-/**
- HEX XOR DIFF
-*/
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#ifdef DMALLOC
-#include "dmalloc.h"
-#endif
-
-#define XOR(id1, id2) (((int) id1) ^ ((int) id2))
-
-int
-main(int argc, char* argv[])
-{
- if (argc != 3)
- {
- printf("usage: hexord <hex1> <hex2>\n");
- printf("result: integer representation of XOR(hex1,hex2)\n");
- exit(1);
- }
-
- int x1,x2;
- sscanf(argv[1], "%X", &x1);
- sscanf(argv[2], "%X", &x2);
- printf("%i\n", XOR(x1,x2));
-
- return 0;
-}
diff --git a/oldcode/src/kda-2/kademlia.c b/oldcode/src/kda-2/kademlia.c
deleted file mode 100644
index 5d4e118..0000000
--- a/oldcode/src/kda-2/kademlia.c
+++ /dev/null
@@ -1,995 +0,0 @@
-
-#include <kda-2.h>
-
-KDA_ID id;
-K_BUCKET k_bucket[KDA_SPACE_SIZE];
-
-/**
- Number of nodes from MPI_COMM_WORLD that will be DHT nodes.
-*/
-int kda_nodes;
-
-/**
- List of KDA_Neighbor clients.
-*/
-struct list* clients;
-
-/**
- List of MPIRPC_Node hubs.
-*/
-struct list* hubs;
-
-MPI_Request request;
-
-/**
- Outstanding KDA_Operations:
-*/
-struct itable* operations;
-
-/**
- Kademlia parameter alpha:
-*/
-int alpha;
-
-/**
- Kademlia parameter k:
-*/
-int k;
-
-/**
- A neighbor pointer to myself.
-*/
-KDA_Neighbor* self;
-
-/**
- My port name.
-*/
-char port[MPI_MAX_PORT_NAME];
-
-/**
- A uniquifier for client numbers. (Debugging only).
-*/
-int unique_client = 1;
-
-void
-KDA_Data(int alpha_in, int k_in)
-{
- NOTE_F;
-
- int i;
- alpha = alpha_in;
- k = k_in;
-
- for (i = 0; i < KDA_SPACE_SIZE; i++)
- k_bucket[i] = list_create();
-
- operations = itable_create(CALL_TABLE_SIZE);
-
- clients = list_create();
- hubs = list_create();
-}
-
-/**
- Setup Kademlia.
- Must be called after MPI_Init() and whoami().
-*/
-void
-KDA_Init(int alpha_in, int k_in)
-{
- NOTE_F;
-
- KDA_Data(alpha_in, k_in);
-
- MPIRPC_Node node;
- node.comm = MPI_COMM_NULL;
- node.rank = 0;
- id = make_id(debug_rank);
- self = KDA_Neighbor_create_id(id, node);
- NOTE_XI("ID: ", id, id);
-
- port[0] = '\0';
-
- MPIRPC_Register("info", handle_info);
- // MPIRPC_Register("neighbor", handle_neighbor);
- MPIRPC_Register("ping", handle_ping);
- MPIRPC_Register("find_node", handle_find_node);
- MPIRPC_Register("query_id", handle_query_id);
- MPIRPC_Register("query_id_k", handle_query_id_k);
- MPIRPC_Register("store", handle_store);
- MPIRPC_Register("retrieve", handle_retrieve);
- MPIRPC_Register("shutdown", handle_shutdown);
-
- KDA_Init_conn();
-}
-
-void
-KDA_Init_client(int alpha_in, int k_in)
-{
- id = KDA_ID_CLIENT;
-
- KDA_Data(alpha_in, k_in);
-
- KDA_Attach();
-}
-
-KDA_Neighbor*
-random_neighbor()
-{
- int i;
- struct list_item* item;
- // NOTE_F;
-
- struct list* neighbors = list_create();
- for (i = 0; i < KDA_SPACE_SIZE; i++)
- {
- for (item = k_bucket[i]->head;
- item; item = item->next)
- {
- KDA_Neighbor* neighbor = (KDA_Neighbor*) item->data;
- if (neighbor->node.comm != MPI_COMM_NULL)
- list_add(neighbors, neighbor);
- }
- }
- // NOTE_I("neighbors for random: ", neighbors->size);
- KDA_Neighbor* result = list_random(neighbors);
- list_free(neighbors);
- return result;
-}
-
-void
-neighbor_set_node(KDA_Neighbor* neighbor, MPIRPC_Node node)
-{
- int i;
- struct list_item* item;
- NOTE_FX(neighbor->id);
- for (i = 0; i < KDA_SPACE_SIZE; i++)
- {
- for (item = k_bucket[i]->head;
- item; item = item->next)
- {
- KDA_Neighbor* n = (KDA_Neighbor*) item->data;
- if (n->id == neighbor->id)
- {
- n->node = node;
- KDA_Comm_set_name(n);
- }
- }
- }
-}
-
-/**
- Use DHT to synchronously find the given key.
-*/
-struct ilist*
-KDA_Find_key(char* key)
-{
- NOTE_F;
-
- int id = hash_string(key, KDA_HASH_SPACE);
- return KDA_Find(id);
-}
-
-/**
- Use DHT to synchronously find the given key.
- @return An ilist of neighbors (op->k_closest).
-*/
-struct ilist*
-KDA_Find(KDA_ID id)
-{
- KDA_Operation* op =
- KDA_Operate(id, NULL, NULL, NULL, NULL);
- KDA_Wait(op);
- return op->k_closest;
-}
-
-void
-KDA_Wait(KDA_Operation* op)
-{
- MPIRPC_Snooze_reset();
- while (op->status != KDA_STATUS_COMPLETE)
- {
- if (MPIRPC_Check())
- MPIRPC_Snooze_reset();
- else
- MPIRPC_Snooze();
- }
-}
-
-/**
- Ordered local closest node lookup
- @return k neighbors in a list
-*/
-struct ilist*
-KDA_Closest(KDA_ID object_id)
-{
- int i;
- struct list_item* item;
- NOTE_FX(object_id);
-
- struct ilist* result = ilist_create();
-
- int d = XOR(self->id, object_id);
- ilist_add(result, d, self);
-
- for (i = 0; i < KDA_SPACE_SIZE; i++)
- {
- for (item = k_bucket[i]->head;
- item; item = item->next)
- {
- KDA_Neighbor* neighbor = (KDA_Neighbor*) item->data;
- d = XOR(neighbor->id, object_id);
- if (result->size < k)
- {
- ilist_ordered_insert(result, d, neighbor);
- }
- else if (d < result->tail->key)
- {
- ilist_ordered_insert(result, d, neighbor);
- ilist_pop(result);
- }
- }
- }
- return result;
-}
-
-/**
- Could fail if other_id is not in local neighbor table.
-*/
-KDA_Neighbor*
-KDA_Neighbor_ID(KDA_ID other_id)
-{
- NOTE_FX(other_id);
-
- KDA_Neighbor* result = NULL;
-
- if (other_id == id)
- return self;
-
- struct ilist* k_closest = KDA_Closest(other_id);
-
- result = ilist_search(k_closest, 0);
- return result;
-}
-
-/**
- Return the KDA_Neighbor for this MPIRPC_Node.
- Could fail if other_id is not in local neighbor table.
- */
-KDA_Neighbor*
-KDA_Neighbor_node(MPIRPC_Node node)
-{
- int i;
- struct list_item* item;
- NOTE_F;
-
- for (i = 0; i < KDA_SPACE_SIZE; i++)
- {
- for (item = k_bucket[i]->head;
- item; item = item->next)
- {
- KDA_Neighbor* n = (KDA_Neighbor*) item->data;
- if (node.comm == n->node.comm)
- return n;
- }
- }
-
- for (item = clients->head;
- item; item = item->next)
- {
- KDA_Neighbor* n = (KDA_Neighbor*) item->data;
- if (node.comm == n->node.comm)
- return n;
- }
-
- NOTE("KDA_Neighbor_node: NULL!");
- return NULL;
-}
-
-/**
- Query node for key location.
-*/
-MPIRPC*
-KDA_Lookup(MPIRPC_Node node, char* key)
-{
- NOTE_F;
-
- KDA_ID object_id = hash_string(key, KDA_HASH_SPACE);
-
- printf("id: %i \n", object_id);
-
- return KDA_Translate(node, object_id);
-}
-
-/**
- Query node for k closest key locations.
-*/
-MPIRPC*
-KDA_Lookup_k(MPIRPC_Node node, char* key)
-{
- KDA_ID object_id = SHA1_mod(key);
- // NOTE_X("id: ", object_id);
-
- return KDA_Translate_k(node, object_id);
-}
-
-/**
- Query node for k closest key locations.
-*/
-MPIRPC*
-KDA_Translate_k(MPIRPC_Node node, KDA_ID id)
-{
- NOTE_FX(id);
- MPIRPC* rpc =
- MPIRPC_Call(node, heap("query_id_k"), iheap(id),
- NULL, MPIRPC_PROCEED_NULL);
- return rpc;
-}
-
-/**
- Query node at rank for key location.
-*/
-MPIRPC*
-KDA_Translate(MPIRPC_Node node, KDA_ID id)
-{
- NOTE_F;
-
- return MPIRPC_Call(node, heap("query_id"), xheap(id), NULL, NULL);
-}
-
-/**
- Instruct a node to store a value. Asynchronous.
- @return MPIRPC pointer for asynchronous call.
-*/
-MPIRPC*
-KDA_Store(KDA_Neighbor* neighbor, char* key, char* value)
-{
- NOTE_F;
- int klength = strlen(key);
- int vlength = strlen(value);
- char* args = malloc((klength+vlength)*sizeof(char));
- strcpy(args, key);
- args[klength] = ' ';
- strcpy(args+klength+1, value);
-
- return MPIRPC_Call(neighbor->node, heap("store"), args,
- NULL, MPIRPC_PROCEED_NULL);
-}
-
-/**
- Instruct a node to retrieve a value. Asynchronous.
- @return MPIRPC pointer for asynchronous call.
-*/
-MPIRPC*
-KDA_Retrieve(KDA_Neighbor* neighbor, char* key)
-{
- NOTE_F;
- return MPIRPC_Call(neighbor->node, heap("retrieve"), key,
- NULL, MPIRPC_PROCEED_NULL);
-}
-
-KDA_Query*
-query_create(MPIRPC_Node caller, int unique,
- void (*service)(KDA_Operation* op))
-{
- NOTE_F;
- KDA_Query* query = (KDA_Query*) malloc(sizeof(KDA_Query));
- query->caller = caller;
- query->unique = unique;
- query->service = service;
- return query;
-}
-
-void
-KDA_Comm_set_name(KDA_Neighbor* neighbor)
-{
- NOTE_FX(neighbor->id);
- char name[20];
- sprintf(name, "%X", neighbor->id);
- MPI_Comm_set_name(neighbor->node.comm, name);
-}
-
-void
-handle_info(MPIRPC_Node caller, int unique, char* args)
-{
- // NOTE_F;
- char* result = buckets_tostring();
- MPIRPC_Return(caller, unique, result);
-}
-
-void
-handle_store(MPIRPC_Node caller, int unique, char* args)
-{
- int args_length = strlen(args);
- char* p = index(args, ' ');
- int key_length = p-args+1;
- int value_length = args_length-key_length;
- char* key = malloc(key_length*sizeof(char));
- char* value = malloc(value_length*sizeof(char));
- strncpy(key, args, p-args);
- key[p-args] = '\0';
- strncpy(value, p+1, value_length);
-
- NOTE_S("store: ", key);
- cmpi_cached_store(key, value);
- DEBUG(lru_table_printf("%s", cmpi_cache));
-
- MPIRPC_Return(caller, unique, NULL);
-}
-
-void
-handle_retrieve(MPIRPC_Node caller, int unique, char* args)
-{
- NOTE_FS(args);
- DEBUG(lru_table_printf("%s", cmpi_cache));
-
- char* data;
- cmpi_cached_retrieve(args, &data);
-
- SHOW_S(data);
- MPIRPC_Return(caller, unique, data);
-}
-
-void
-handle_shutdown(MPIRPC_Node caller, int unique, char* args)
-{
- NOTE_F;
- cmpi_quitting = true;
- MPIRPC_Return(caller, unique, NULL);
-}
-
-void
-rpc_find_node(KDA_Neighbor* neighbor, KDA_Operation* op)
-{
- NOTE_FXX(neighbor->id, op->object_id);
- MPIRPC_Call(neighbor->node, heap("find_node"), xheap(op->object_id),
- op, proceed_find);
-}
-
-void
-handle_find_node(MPIRPC_Node caller, int unique, char* args)
-{
- struct ilist_item* item;
- NOTE_FS(args);
- // Decode...
- int object_id;
- sscanf(args, "%X", &object_id);
-
- // Search...
- struct ilist* known = KDA_Closest(object_id);
-
- // Encode...
- char* result = (char*) malloc(1000*sizeof(char));
- char* s = result;
- s += sprintf(s, "%i ", known->size);
- for (item = known->head;
- item; item = item->next)
- s += sprintf(s, "%s ", KDA_Neighbor_name(item->data));
- ilist_free(known);
-
- MPIRPC_Return(caller, unique, result);
-}
-
-void
-handle_query_id(MPIRPC_Node caller, int unique, char* args)
-{
- int object_id;
- sscanf(args, "%X", &object_id);
- query_id(caller, unique, object_id);
-}
-
-void
-query_id(MPIRPC_Node caller, int unique, KDA_ID object_id)
-{
- NOTE_FX(object_id);
- KDA_Operate(object_id, NULL, NULL, NULL,
- query_create(caller, unique, return_query_id));
-}
-
-void
-return_query_id(KDA_Operation* op)
-{
- KDA_Neighbor* n = (KDA_Neighbor*) ilist_poll(op->k_closest);
- char* result = xheap(n->id);
- MPIRPC_Return(op->query->caller, op->query->unique, result);
- // free op
-}
-
-void
-handle_query_id_k(MPIRPC_Node caller, int unique, char* args)
-{
- int object_id;
- sscanf(args, "%X", &object_id);
- NOTE_S("args: ", args);
- // NOTE_X("oid: ", object_id);
- query_id_k(caller, unique, object_id);
-}
-
-void
-query_id_k(MPIRPC_Node caller, int unique, KDA_ID object_id)
-{
- NOTE_F;
- // NOTE_X("oid: ", object_id);
- KDA_Operate(object_id, NULL, NULL, NULL,
- query_create(caller, unique, return_query_id_k));
-}
-
-void
-return_query_id_k(KDA_Operation* op)
-{
- NOTE_F;
- char* result = malloc(2048*sizeof(char));
- char* p = result;
- while (op->k_closest->size > 0)
- {
- NOTE("while");
- KDA_Neighbor* n =
- (KDA_Neighbor*) ilist_poll(op->k_closest);
- p += KDA_Neighbor_sprint(p, n);
- *(p++) = ' ';
- }
- MPIRPC_Return(op->query->caller, op->query->unique, result);
- // free op
-}
-
-/** Perform op->name on each node of op->k_closest
- or carry out op->service().
-*/
-void
-KDA_Map(KDA_Operation* op)
-{
- struct ilist_item* item;
- // NOTE_F;
- if (op->name)
- {
- // printf("map: %s \n", op->name);
- for (item = op->k_closest->head;
- item; item = item->next)
- {
- KDA_Neighbor* n = (KDA_Neighbor*) item->data;
- if (n->id == id)
- continue;
- MPIRPC_Call(n->node, op->name, op->args,
- op, op->proceed);
- }
- }
- else if (op->query)
- {
- // NOTE("op->query");
- op->query->service(op);
- }
-
- op->returned = list_create();
-}
-
-void
-proceed_find(MPIRPC* rpc)
-{
- struct list_item* item;
- NOTE_F;
- KDA_Operation* op = (KDA_Operation*) rpc->extras;
-
- list_remove_where(op->outstanding, KDA_Neighbor_node_cmp,
- &rpc->target);
-
- NOTE("from: ");
- NOTE(MPIRPC_Comm_get_name(rpc->target->comm));
-
- NOTE("outstanding: ");
- list_output(KDA_Neighbor_tostring, op->outstanding);
-
- int size;
- int n;
- char* p = rpc->result;
- sscanf(rpc->result, "%i %n", &size, &n);
- p += n;
-
- struct list* neighbors = KDA_Neighbor_node_list(p);
- for (item = neighbors->head;
- item; item = item->next)
- {
- KDA_Neighbor* neighbor = (KDA_Neighbor*) item->data;
- neighbor = check_neighbor(rpc->target, neighbor);
- if (neighbor == NULL)
- continue;
-
- int d = XOR(neighbor->id, op->object_id);
- if (d < op->k_closest->tail->key);
- {
- NOTE("improved");
- op->improved = true;
- // printf("inserting: %s \n", KDA_Neighbor_name(n));
- ilist_ordered_insert_unique(op->k_closest, KDA_Neighbor_cmp,
- d, neighbor);
- // ilist_output(KDA_Neighbor_tostring, op->k_closest);
- if (op->k_closest->size > k)
- ilist_pop(op->k_closest);
- }
- }
- list_free(neighbors);
-
- if (op->outstanding->size == 0)
- {
- if (op->improved)
- {
- if (! KDA_Find_node_again(op))
- KDA_Map(op);
- else
- NOTE("Doing another round. ");
- }
- else
- KDA_Map(op);
- }
- NOTE_I("outstanding: ", op->outstanding->size);
- NOTE_I("contacted: ", op->contacted->size);
- NOTE("proceed_find done");
-}
-
-/**
- Translate a dummy neighbor that is set to MPI_COMM_NULL to
- a good one in a bucket.
- TODO: Speed this up with an index or something.
- @return neighbor from bucket. NULL if given self id.
-*/
-KDA_Neighbor*
-neighbor_lookup(KDA_Neighbor* neighbor)
-{
- int i;
- struct list_item* item;
- NOTE_F;
- if (neighbor->id == id)
- return NULL;
-
- for (i = 0; i < KDA_SPACE_SIZE; i++)
- for (item = k_bucket[i]->head;
- item; item = item->next)
- {
- KDA_Neighbor* n = (KDA_Neighbor*) item->data;
- if (n->id == neighbor->id)
- return n;
- }
- NOTE("LOOKUP FAILED!");
- return NULL;
-}
-
-/**
- If this neighbor is unknown, use node to connect to neighbor.
- @return neighbor from bucket. NULL if given self id.
-*/
-KDA_Neighbor*
-check_neighbor(MPIRPC_Node node, KDA_Neighbor* neighbor)
-{
- NOTE_FX(neighbor->id);
- KDA_Neighbor* result;
-
- if (neighbor_add(neighbor))
- KDA_Harpoon(node, neighbor->id);
-
- result = neighbor_lookup(neighbor);
- return result;
-}
-
-/**
- Object location method. Asynchronous.
-*/
-bool
-KDA_Find_node(KDA_Operation* op)
-{
- NOTE_F;
-
- op->k_closest = KDA_Closest(op->object_id);
-
- printf("local closest: \n");
- ilist_dump(KDA_Neighbor_id_tostring, op->k_closest);
-
- return KDA_Find_node_again(op);
-}
-
-/**
- Recursive object location method.
-*/
-bool
-KDA_Find_node_again(KDA_Operation* op)
-{
- struct ilist_item* item;
- NOTE_F;
-
- // True iff we actually issued another RPC.
- bool contacted = false;
- op->improved = false;
-
- int i = 0;
- for (item = op->k_closest->head;
- (i < alpha) && item; item = item->next)
- {
- KDA_Neighbor* neighbor = (KDA_Neighbor*) item->data;
- if (neighbor->id == id)
- continue;
- if (! list_contains(op->contacted, KDA_Neighbor_cmp, neighbor))
- {
- list_add(op->contacted, neighbor);
- list_add(op->outstanding, neighbor);
- rpc_find_node(neighbor, op);
- NOTE_I("contacted: ", op->contacted->size);
- contacted = true;
- i++;
- }
- }
- return contacted;
-}
-
-/**
- Locate the object_id and call its host method and args.
-*/
-KDA_Operation*
-KDA_Operate(KDA_ID object_id, char* name, void* args,
- void (*proceed)(MPIRPC* rpc), KDA_Query* query)
-{
- KDA_Operation* op =
- (KDA_Operation*) malloc(sizeof(KDA_Operation));
-
- op->object_id = object_id;
- op->unique = ++unique;
- op->name = name;
- op->args = args;
- op->k_closest = NULL;
- op->contacted = list_create();
- op->outstanding = list_create();
- op->improved = false;
- op->status = KDA_STATUS_SEARCHING;
- op->proceed = proceed;
- op->query = query;
-
- itable_add(operations, op->unique, op);
-
- KDA_Find_node(op);
- return op;
-}
-
-void
-KDA_Operation_free(KDA_Operation* op)
-{
- list_free(op->contacted);
- list_free(op->outstanding);
- ilist_free(op->k_closest);
- itable_remove(operations, op->unique);
- free(op);
-}
-
-void
-KDA_Ping(KDA_ID other_id)
-{
- NOTE_FX(other_id);
- KDA_Operate(other_id, "ping", NULL, proceed_ping, NULL);
-}
-
-void
-proceed_ping(MPIRPC* rpc)
-{
- NOTE_F;
-
- MPIRPC_Node* target = malloc(sizeof(MPIRPC_Node));
- *target = rpc->target;
-
- KDA_Operation* op = (KDA_Operation*) rpc->extras;
- list_add(op->returned, target);
-
- dump_buckets();
-
- // TODO: Deallocate op and rpc
- // if (mpi_rank == mpi_size-1) NOTE("Highest rank ping completed.");
- if (cmpi_status == CMPI_STATUS_PROTO)
- {
- char output[20];
- cmpi_status = CMPI_STATUS_READY;
- sprintf(output, "%i", mpi_rank);
- timestamp("READY", output);
- }
-}
-
-/**
- Manufacture a random ID.
-*/
-KDA_ID
-make_id(int salt)
-{
- srand(mpi_rank+4+salt);
- KDA_ID result = 0;
- while (result == 0 || result == 1)
- result = rand();
- return result;
-}
-
-/**
- @return false if n is already in the neighbor table.
-*/
-bool
-k_bucket_insert(int i, KDA_Neighbor* n)
-{
- // NOTE_FI(i);
-
- if (list_contains(k_bucket[i], KDA_Neighbor_cmp, n))
- {
- NOTE_X("I already have: ", n->id);
- return false;
- }
-
- list_ordered_insert(k_bucket[i], KDA_Neighbor_time_cmp, (void*) n);
-
- NOTE("After insert: ");
- dump_buckets();
-
- return true;
-}
-
-/**
- @return false if n is already in the neighbor table.
-*/
-bool
-neighbor_add(KDA_Neighbor* neighbor)
-{
- NOTE_FX(neighbor->id);
-
- // Useful in bootstrap cases:
- if (neighbor == NULL)
- return false;
-
- // Do not insert self. Would screw up KDA_Closest().
- if (id == neighbor->id)
- return false;
-
- int d = XOR(id, neighbor->id);
- int i = ilog2(d);
-
- return k_bucket_insert(i, neighbor);
-}
-
-void
-client_add(KDA_Neighbor* client)
-{
- list_add(clients, client);
-}
-
-/**
- MPIRPC registered function.
- No native method. Simply return.
-*/
-void
-handle_ping(MPIRPC_Node caller, int unique, char* args)
-{
- MPIRPC_Return(caller, unique, NULL);
-}
-
-void
-listen_loop(void)
-{
- NOTE_F;
-
- while (! cmpi_quitting)
- {
- // NOTE("check");
- if (! MPIRPC_Check())
- {
- MPIRPC_Snooze();
- }
- else
- {
- MPIRPC_Snooze_reset();
- }
- }
-}
-
-int KDA_Neighbor_table_size()
-{
- int i;
- int result = 0;
- for (i = 0; i < KDA_SPACE_SIZE; i++)
- result += k_bucket[i]->size;
- return result;
-}
-
-char*
-id_tostring()
-{
- return KDA_id_tostring(id);
-}
-
-char*
-KDA_id_tostring(KDA_ID other_id)
-{
- char* s_id = malloc(10*sizeof(char));
- sprintf(s_id, "%X", other_id);
- return s_id;
-}
-
-void
-dump_bucket_ids()
-{
- char* result = bucket_ids_tostring();
- printf(result);
- free(result);
-}
-
-char*
-bucket_ids_tostring()
-{
- int i;
- struct list_item* item;
- // NOTE_F;
- char* result =
- (char*) malloc(sizeof(char)*KDA_SPACE_SIZE*k*20);
- char* p = result;
- char* neighbor = NULL;
- bool bucket_named;
-
- p += sprintf(p, "Neighbor table for: %X \n", id);
- for (i = 0; i < KDA_SPACE_SIZE; i++)
- {
- if (k_bucket[i]->size > 0)
- {
- bucket_named = false;
- for (item = k_bucket[i]->head;
- item; item = item->next)
- {
- if (! bucket_named)
- {
- bucket_named = true;
- p += sprintf(p, "bucket[%i]: \n", i);
- }
- p += sprintf(p, "\t");
- if (item->data == NULL)
- NOTE("ERROR NULL");
- neighbor = KDA_Neighbor_id_tostring(item->data);
- p += sprintf(p, "%s\n", neighbor);
- }
- }
- }
- return result;
-}
-
-void
-dump_buckets()
-{
- // NOTE_F;
- char* result = buckets_tostring();
- printf(result);
- free(result);
-}
-
-char*
-buckets_tostring(void)
-{
- // NOTE_F;
-
- int i;
- struct list_item* item;
- // NOTE_F;
- char* result =
- (char*) malloc(sizeof(char)*KDA_SPACE_SIZE*k*200);
- char* p = result;
- char* neighbor = NULL;
- bool bucket_named;
-
- p += sprintf(p, "Neighbor table for: %X \n", id);
- for (i = 0; i < KDA_SPACE_SIZE; i++)
- {
- if (k_bucket[i]->size > 0)
- {
- bucket_named = false;
- for (item = k_bucket[i]->head;
- item; item = item->next)
- {
- if (! bucket_named)
- {
- bucket_named = true;
- p += sprintf(p, "bucket[%i]: \n", i);
- }
- p += sprintf(p, "\t");
- if (item->data == NULL)
- NOTE("ERROR NULL");
- neighbor = KDA_Neighbor_tostring(item->data);
- p += sprintf(p, "%s\n", neighbor);
- }
- }
- }
- return result;
-}
diff --git a/oldcode/src/kda-2/module.mk.in b/oldcode/src/kda-2/module.mk.in
deleted file mode 100644
index 910b9af..0000000
--- a/oldcode/src/kda-2/module.mk.in
+++ /dev/null
@@ -1,24 +0,0 @@
-
-DIR := src/kda-2
-
-ifeq (@USE_TABLE_KDA_2A@,1)
- USE_TABLE_KDA = 1
-endif
-
-ifeq (@USE_TABLE_KDA_2B@,1)
- USE_TABLE_KDA = 1
-endif
-
-ifeq ($(USE_TABLE_KDA),1)
- KDA_SRC += $(DIR)/kademlia.c
- KDA_SRC += $(DIR)/neighbor.c
- KDA_SRC += $(DIR)/cmpi_kademlia.c
-endif
-
-ifeq (@USE_TABLE_KDA_2A@,1)
- KDA_SRC += $(DIR)/conn-A.c
-endif
-
-ifeq (@USE_TABLE_KDA_2B@,1)
- KDA_SRC += $(DIR)/conn-B.c
-endif
diff --git a/oldcode/src/kda-2/neighbor.c b/oldcode/src/kda-2/neighbor.c
deleted file mode 100644
index 02d8c58..0000000
--- a/oldcode/src/kda-2/neighbor.c
+++ /dev/null
@@ -1,237 +0,0 @@
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-
-#include "kda_neighbor-2.h"
-
-static char output[100];
-
-/**
- Create a single neighbor. Uses KDA_Neighborcreate_scan().
-*/
-KDA_Neighbor*
-KDA_Neighbor_create_string(char* info)
-{
- int not_used;
- KDA_Neighbor* result = KDA_Neighbor_create_scan(info, ¬_used);
- return result;
-}
-
-/**
- Glue a KDA_ID and a MPIRPC_Node together to make a neighbor.
-*/
-KDA_Neighbor*
-KDA_Neighbor_create_id(KDA_ID other_id, MPIRPC_Node node)
-{
- NOTE_F;
- KDA_Neighbor* result = malloc(sizeof(KDA_Neighbor));
- result->id = other_id;
- result->node = node;
- result->lastseen = time(NULL);
- return result;
-}
-
-/**
- Scan the stream data for neighbors.
- @return The new neighbor. n contains the number of chars consumed
- from data by sscanf().
-*/
-KDA_Neighbor*
-KDA_Neighbor_create_scan(char* data, int* n)
-{
- if (data == NULL)
- return NULL;
- KDA_ID other_id;
- char junk[20];
- char date[20];
- char time[20];
- int count = sscanf(data, "[%X]@%s %s %s %n", &other_id,
- junk, date, time, n);
-
- if (count < 2)
- return NULL;
- KDA_Neighbor* nbor = malloc(sizeof(KDA_Neighbor));
- nbor->id = other_id;
- nbor->node.rank = 0;
- nbor->node.comm = MPI_COMM_NULL;
- return nbor;
-}
-
-/**
- Neighbor-neighbor id comparison.
- @return
-*/
-int
-KDA_Neighbor_cmp(void* object1, void* object2)
-{
- KDA_Neighbor* n1 = (KDA_Neighbor*) object1;
- KDA_Neighbor* n2 = (KDA_Neighbor*) object2;
-
- if (n1->id > n2->id)
- return 1;
- if (n1->id < n2->id)
- return -1;
- return 0;
-}
-
-int
-KDA_Neighbor_node_cmp(void* n1, void* n2)
-{
- MPIRPC_Node node1 = ((KDA_Neighbor*) n1)->node;
- MPIRPC_Node node2 = *(MPIRPC_Node*) n2;
- if (node1.comm == node2.comm &&
- node1.rank == node2.rank)
- return 0;
- else
- if (node1.comm > node2.comm)
- return 1;
- else if (node1.comm < node2.comm)
- return -1;
- else
- if (node1.rank > node2.rank)
- return 1;
- else
- return -1;
-}
-
-/**
- Compare lastseen times for neighbors n1, n2.
- @return 1 iff n1 > n2, -1 iff n1 < n2, 0 iff n1 == n2
-*/
-int
-KDA_Neighbor_time_cmp(void* object1, void* object2)
-{
- KDA_Neighbor* n1 = (KDA_Neighbor*) object1;
- KDA_Neighbor* n2 = (KDA_Neighbor*) object2;
-
- if (n1->lastseen > n2->lastseen)
- return -1;
- else if (n1->lastseen < n2->lastseen)
- return 1;
- else
- return 0;
-}
-
-/**
- Writes string to static output location.
-*/
-char*
-KDA_Neighbor_name(void* object)
-{
- KDA_Neighbor_sprint(output, object);
- return output;
-}
-
-/**
- Name without lastseen.
-*/
-/*
-int
-KDA_Neighborname_sprint(char* buffer, void* object)
-{
- KDA_Neighbor* n = (KDA_Neighbor*) object;
- return sprintf(buffer, "[%X]@ ", n->id);
-}
-*/
-
-/**
- Writes string to static output location.
-*/
-char*
-KDA_Neighbor_tostring(void* object)
-{
- // NOTE_F;
- if (object == NULL)
- return NULL;
- KDA_Neighbor_sprint(output, object);
- return output;
-}
-
-/**
- Writes neighbor id to static output location.
-*/
-char*
-KDA_Neighbor_id_tostring(void* object)
-{
- if (object == NULL)
- return NULL;
- KDA_Neighbor* neighbor = (KDA_Neighbor*) object;
- sprintf(output, "%X", neighbor->id);
- return output;
-}
-
-int
-KDA_Neighbor_sprint(char* buffer, void* object)
-{
- // NOTE_F;
- int offset;
- KDA_Neighbor* neighbor = (KDA_Neighbor*) object;
- int length;
- char name[100];
-
- // SHOW_FX(neighbor->id);
-
- if (neighbor->id == id)
- {
- offset = sprintf(buffer, "[%X]@SELF ", id);
- time_t t = time(NULL);
- offset += strftime(buffer+offset, 99, "%F %T",
- localtime(&t));
- }
- else
- {
- assert(neighbor != NULL);
-
- if (neighbor->node.comm == MPI_COMM_NULL)
- {
- // NOTE("MPI_COMM_NULL");
- strcpy(name, "MPI_COMM_NULL");
- }
- else
- {
- // NOTE("MPI_Comm_get_name()");
- MPI_Comm_get_name(neighbor->node.comm, name, &length);
- }
-
- offset = sprintf(buffer, "[%X]@%s ", neighbor->id, name);
- offset += strftime(buffer+offset, 99, "%F %T",
- localtime(&neighbor->lastseen));
- }
- return offset;
-}
-
-void
-KDA_Neighbor_dump(void* object)
-{
- if (object == NULL)
- printf("(KDA_Neighbor NULL) \n");
- else
- printf("%s \n", KDA_Neighbor_tostring(object));
-}
-
-/**
- Scan the stream data for neighbors. Uses KDA_Neighborcreate_scan().
- @return A list of neighbors.
-*/
-struct list* KDA_Neighbor_node_list(char* data)
-{
- struct list* result = list_create();
-
- char* end = data+strlen(data);
- while (data < end-3)
- {
- int n;
- KDA_Neighbor* neighbor = KDA_Neighbor_create_scan(data, &n);
-
- if (neighbor == NULL)
- break;
- data += n;
- list_add(result, neighbor);
- NOTE_X("neighbor: ", neighbor->id);
- // NOTE_II("scanned: ", other_id, other_rank);
- }
-
- return result;
-}
-
diff --git a/oldcode/src/kda-2/unhex.c b/oldcode/src/kda-2/unhex.c
deleted file mode 100644
index e3e6ac1..0000000
--- a/oldcode/src/kda-2/unhex.c
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#include <stdio.h>
-#include <stdlib.h>
-
-int
-main(int argc, char* argv[])
-{
- if (argc != 2)
- {
- printf("usage: unhex <hex>\n");
- exit(1);
- }
-
- int x;
- sscanf(argv[1], "%X", &x);
- printf("%i\n", x);
-
- return 0;
-}
diff --git a/oldcode/src/mpi_tools/io_tools.c b/oldcode/src/mpi_tools/io_tools.c
deleted file mode 100644
index 5bfc414..0000000
--- a/oldcode/src/mpi_tools/io_tools.c
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#include <io_tools.h>
-
-#include <unistd.h>
-
-void
-stream_to_buffer(char* buffer, int length, FILE* stream)
-{
- int total = 0;
-
- while (total < length)
- {
- int chunk = length-total;
- int actual = fread(buffer+total, 1, chunk, stream);
- total += actual;
- }
-}
-
-void
-buffer_to_stream(char* buffer, int length, FILE* stream)
-{
- int total = 0;
-
- while (total < length)
- {
- int chunk = length-total;
- int actual = fwrite(buffer+total, 1, chunk, stream);
- total += actual;
- }
-}
-
-void
-eat_whitespace(FILE* stream)
-{
- char c;
- do
- {
- c = fgetc(stream);
- } while (c == ' ' || c == '\n');
- ungetc(c, stream);
-}
diff --git a/oldcode/src/mpi_tools/module.mk.in b/oldcode/src/mpi_tools/module.mk.in
deleted file mode 100644
index 63dae2a..0000000
--- a/oldcode/src/mpi_tools/module.mk.in
+++ /dev/null
@@ -1,5 +0,0 @@
-
-DIR := src/mpi_tools
-
-MPIRPC_SRC += $(DIR)/mpi_tools.c
-MPIRPC_SRC += $(DIR)/io_tools.c
diff --git a/oldcode/src/mpi_tools/mpi_tools.c b/oldcode/src/mpi_tools/mpi_tools.c
deleted file mode 100644
index 3f60542..0000000
--- a/oldcode/src/mpi_tools/mpi_tools.c
+++ /dev/null
@@ -1,456 +0,0 @@
-
-#include "mpi_tools.h"
-
-int mpi_size;
-int mpi_rank;
-
-int debug_rank = -1;
-
-char output[100];
-
-bool debug_multiple = false;
-FILE* debug_file = NULL;
-
-void
-setup_debug_file(void)
-{
- char debug_path[100];
-
- // debug_multiple = true;
-
- if (debug_file == NULL)
- {
- if (debug_multiple)
- {
- if (mpi_rank == 0)
- printf("Using multiple debug files \n");
- sprintf(debug_path, "%s%i.out", "debug", debug_rank);
- debug_file = fopen(debug_path, "w");
- }
- else
- {
- if (mpi_rank == 0)
- printf("Using single debug file \n");
- debug_file = stdout;
- }
- }
-}
-
-void whoami()
-{
- MPI_Comm_size(MPI_COMM_WORLD, &mpi_size);
- MPI_Comm_rank(MPI_COMM_WORLD, &mpi_rank);
-
- if (debug_rank == -1)
- debug_rank = mpi_rank;
-
- DEBUG(setup_debug_file());
-}
-
-/*
-void
-sync_output(int rank, int size, char* msg)
-{
- int max_length;
- int length = strlen(msg)+1;
-
- MPI_Reduce(&length, &max_length, 1, MPI_INT, MPI_MAX, 0,
- MPI_COMM_WORLD);
-
- char *buf;
-
- if (rank != 0)
- {
- MPI_Send(msg, length, MPI_CHAR, 0, 0, MPI_COMM_WORLD);
- }
- else
- {
- int i;
- MPI_Status status;
- buf = (char*) malloc(sizeof(char)*max_length);
-
- for (i = 1; i < size; i++)
- {
- MPI_Recv(buf, max_length, MPI_CHAR, i,
- 0, MPI_COMM_WORLD, &status);
- printf("%s\n", buf);
- }
- }
-}
-*/
-
-void
-printdata(char* tag, char* data, int length)
-{
- int i;
- int c;
- printf("%s[", tag);
- for (i = 0; i < length; i++)
- {
- c = data[i];
- if (c == '\0')
- printf("\\0");
- else if (c == '\n')
- printf("\\n");
- else if (c == '\t')
- printf("\\t");
- else if (c >= 32 && c <=126)
- printf("%c", c);
- else
- printf("\\%i", (int) c);
- }
- printf("]\n");
-}
-
-void
-printbinary(unsigned int number)
-{
- int x;
- for (x = 31; x>=0; x--)
- {
- if ((number & (1 << x)) != 0)
- printf("1");
- else
- printf("0");
- }
- printf("\n");
-}
-
-/**
- Flip the second bit of the input.
-*/
-int
-flip2(int i)
-{
- static int s = 1 << 30;
- return i^s;
-}
-
-unsigned int
-ilog2(unsigned int j)
-{
- int r = 0;
- while (j >>= 1)
- r++;
- return (unsigned int) r;
-}
-
-unsigned int
-isqrt(unsigned int j)
-{
- return (unsigned int) sqrt((double) j);
-}
-
-void
-note(char* msg)
-{
- if (msg == NULL)
- fprintf(debug_file, "[%i] (NULL) \n", debug_rank);
- else
- fprintf(debug_file, "[%i] %s \n", debug_rank, msg);
-
-
- fflush(debug_file);
-}
-
-void
-note_b(char* msg, int b)
-{
- fprintf(debug_file, "[%i] %s", debug_rank, msg);
- printbinary((unsigned int) b);
- fflush(debug_file);
-}
-
-void
-note_d(char* msg, double d)
-{
- fprintf(debug_file, "[%i] %s %g\n", debug_rank, msg, d);
- fflush(debug_file);
-}
-
-void
-note_i(char* msg, int i)
-{
- fprintf(debug_file, "[%i] %s%i\n", debug_rank, msg, i);
- fflush(debug_file);
-}
-
-void
-note_ii(char* msg, int i, int j)
-{
- fprintf(debug_file, "[%i] %s(%i,%i)\n", debug_rank, msg, i, j);
- fflush(debug_file);
-}
-
-void
-note_u(char* msg, unsigned int u)
-{
- fprintf(debug_file, "[%i] %s%ui\n", debug_rank, msg, u);
- fflush(debug_file);
-}
-
-void
-note_xi(char* msg, int i, int j)
-{
- fprintf(debug_file, "[%i] %s%X %i\n", debug_rank, msg, i, j);
- fflush(debug_file);
-}
-
-void
-note_s(char* msg, char* s)
-{
- fprintf(debug_file, "[%i] %s%s\n", debug_rank, msg, s);
- fflush(debug_file);
-}
-
-void
-note_sx(char* msg, char* s, int i)
-{
- fprintf(debug_file, "[%i] %s%s %X\n", debug_rank, msg, s, i);
- fflush(debug_file);
-}
-
-void
-note_sxi(char* msg, char* s, int x, int i)
-{
- fprintf(debug_file, "[%i] %s%s %X %i\n", debug_rank, msg, s, x, i);
- fflush(debug_file);
-}
-
-void
-note_ss(char* msg, char* s1, char* s2)
-{
- fprintf(debug_file, "[%i] %s%s %s", debug_rank, msg, s1, s2);
- fflush(debug_file);
-}
-
-
-/*
-void
-note_ssxi(char* msg, char* s1, char* s2, int x, int i)
-{
- fprintf(debug_file, "[%i] %s%s %X %i\n", debug_rank, msg, s, x, i);
- fflush(debug_file);
-}
-*/
-
-void
-note_x(char* msg, int i)
-{
- fprintf(debug_file, "[%i] %s%X\n", debug_rank, msg, i);
- fflush(debug_file);
-}
-
-void
-note_xx(char* msg, int i, int j)
-{
- fprintf(debug_file, "[%i] %s%X\n", debug_rank, msg, i);
- fflush(debug_file);
-}
-
-void
-show_d(char* tag, double d)
-{
- fprintf(debug_file, "[%i] %s: %g\n", debug_rank, tag, d);
- fflush(debug_file);
-}
-
-/*
-void
-show_i(char* tag, int i)
-{
- fprintf(debug_file, "[%i] %s: %i\n", debug_rank, tag, i);
- fflush(debug_file);
-}
-*/
-
-void
-show_ii(char* tag_i, int i, char* tag_j, int j)
-{
- fprintf(debug_file, "[%i] %s: %i, %s: %i\n", debug_rank, tag_i, i, tag_j, j);
- fflush(debug_file);
-}
-
-void
-show_l(char* tag, long l)
-{
- fprintf(debug_file, "[%i] %s: %li\n", debug_rank, tag, l);
- fflush(debug_file);
-}
-
-void
-show_u(char* tag, unsigned int u)
-{
- fprintf(debug_file, "[%i] %s: %u\n", debug_rank, tag, u);
- fflush(debug_file);
-}
-
-/*
-void
-show_s(char* tag, char* s)
-{
- fprintf(debug_file, "[%i] %s: %s\n", debug_rank, tag, s);
- fflush(debug_file);
-}
-*/
-
-void
-show_x(char* tag, int x)
-{
- fprintf(debug_file, "[%i] %s: %X\n", debug_rank, tag, x);
- fflush(debug_file);
-}
-
-void
-show_b(char* tag, int b)
-{
- fprintf(debug_file, "[%i] %s is %s\n", debug_rank, tag,
- b ? "true" : "false");
- fflush(debug_file);
-}
-
-void
-show_p(char* tag, void* p)
-{
- fprintf(debug_file, "[%i] %s: %p\n", debug_rank, tag, p);
- fflush(debug_file);
- fflush(stdout);
-}
-
-void
-timestamp(char* label, char* msg)
-{
- fprintf(debug_file, "%s", timestring(label, msg));
-}
-
-/**
- @return Formatted time string in static output location.
-*/
-char*
-timestring(char* label, char* msg)
-{
- static struct timeval tp;
- gettimeofday(&tp, NULL);
- if (msg)
- sprintf(output, "%s: at %li.%li %s \n",
- label, tp.tv_sec, tp.tv_usec, msg);
- else
- sprintf(output, "%s: at %li.%li \n",
- label, tp.tv_sec, tp.tv_usec);
- return output;
-}
-
-int
-roll(int n)
-{
- return (int) (n * 1.0 *
- (rand() / (RAND_MAX+1.0)));
-}
-
-/**
- Copy the string onto the heap so it can be used asynchronously.
- @return A copy of the string or NULL if given NULL.
-*/
-char*
-heap(char* s)
-{
- // int length;
- char* h;
- if (s == NULL)
- return NULL;
- h = MALLOC((strlen(s)+1)*sizeof(char));
- assert(h != NULL);
- strcpy(h, s);
- return h;
-}
-
-/**
- Copy the int onto the heap so it can be used asynchronously.
-*/
-char*
-iheap(int i)
-{
- char* h = (char*) MALLOC(20*sizeof(char));
- assert(h != NULL);
- sprintf(h, "%i", i);
- return h;
-}
-
-/**
- Copy the int onto the heap so it can be used asynchronously.
-*/
-char*
-xheap(int i)
-{
- char* h = (char*) MALLOC(20*sizeof(char));
- assert(h != NULL);
- sprintf(h, "%X", i);
- return h;
-}
-
-/**
- Return a random number in [0,n).
-*/
-int
-rand_lt(int n)
-{
- double d = (n*((double) rand())) / RAND_MAX;
- int result = (int) d;
- return result;
-}
-
-/**
- Return a random double in [0,n).
-*/
-double
-random_double(int n)
-{
- double d = (n*((double) rand())) / RAND_MAX;
- return d;
-}
-
-void* debug_malloc(size_t size)
-{
- void* result = malloc(size);
- char t[100];
- sprintf(t, "MALLOC: %p %zi \n", result, size);
- NOTE(t);
- fflush(debug_file);
- return result;
-}
-
-void debug_free(void* ptr)
-{
- char t[100];
- sprintf(t, "FREE: %p", ptr);
- NOTE(t);
- fflush(debug_file);
- free(ptr);
- NOTE("free ok \n");
-}
-
-#ifdef ENABLE_DEBUG
-#ifdef HAVE_EXEC_INFO_H
-/**
- Dump the stack and exit.
-*/
-void
-dump_stack()
-{
- static void *buffer[100];
- // char **strings;
- int nptrs;
- nptrs = backtrace(buffer, 100);
- fprintf(debug_file, "backtrace() returned %d addresses\n", nptrs);
- fflush(NULL);
- backtrace_symbols_fd(buffer, nptrs, 1);
- exit(1);
-}
-#else
-void
-dump_stack()
-{
- fprintf(debug_file, "cannot dump stack. \n");
-}
-#endif
-#endif
diff --git a/oldcode/src/mpirpc-1/handlers.c b/oldcode/src/mpirpc-1/handlers.c
deleted file mode 100644
index 11b480f..0000000
--- a/oldcode/src/mpirpc-1/handlers.c
+++ /dev/null
@@ -1,10 +0,0 @@
-
-#include "handlers.h"
-
-void
-handle_emulate_fault(int caller, int unique, char* result)
-{
- emulating_fault = true;
-
- MPIRPC_Return(caller, unique, NULL);
-}
diff --git a/oldcode/src/mpirpc-1/module.mk.in b/oldcode/src/mpirpc-1/module.mk.in
deleted file mode 100644
index 84850d7..0000000
--- a/oldcode/src/mpirpc-1/module.mk.in
+++ /dev/null
@@ -1,9 +0,0 @@
-
-DIR := $(MPIRPC_DIR)
-
-ifeq (@USE_MPIRPC_1@,1)
- MPIRPC_SRC += $(DIR)/mpirpc.c
- MPIRPC_SRC += $(DIR)/handlers.c
-endif
-
-
diff --git a/oldcode/src/mpirpc-1/mpirpc.c b/oldcode/src/mpirpc-1/mpirpc.c
deleted file mode 100644
index b0e0daa..0000000
--- a/oldcode/src/mpirpc-1/mpirpc.c
+++ /dev/null
@@ -1,743 +0,0 @@
-
-#include "mpirpc.h"
-
-/**
- Functions MPIRPC_* may be exported at some point.
-*/
-
-/**
- Source of unique numbers to uniquify RPC calls.
-*/
-int unique = 0;
-
-/**
- For MPIRPC_Check() : Irecv()...
-*/
-MPI_Request check_request = MPI_REQUEST_NULL;
-
-/**
- For MPIRPC_Check() : Irecv()...
-*/
-int check_msg;
-
-/**
- If true, all calls will return status MPIRPC_STATUS_FAULT.
-*/
-int emulating_fault = false;
-
-/**
- Return value from an RPC that targeted a faulty node.
-*/
-char* MPIRPC_RESULT_FAULT = (char*) 1;
-
-// Internal prototypes (just a convenience):
-void* MPIRPC_Remove(int index);
-void MPIRPC_Handle(int msg, int caller);
-
-/**
- Sendable call control code.
-*/
-int mpirpc_msg_call;
-
-/**
- Sendable return control code.
-*/
-int mpirpc_msg_return;
-
-/**
- Sendable fault control code.
-*/
-int mpirpc_msg_fault;
-
-/**
- Sendable kill control code.
-*/
-int mpirpc_msg_die;
-
-/**
- Table of registered functions that may be called.
-*/
-struct hashtable* portmap;
-
-/**
- Table of outstanding RPCs.
-*/
-struct itable* rpctable;
-
-/**
- Return values to be garbage collected by MPIRPC_Check().
-*/
-struct list* garbage_values;
-
-/**
- Calls to be garbage collected by MPIRPC_Check().
- */
-struct list* garbage_calls;
-
-/**
- Time in microseconds to snooze when MPIRPC_Check() finds nothing.
- snooze() & reset_snooze() are called by MPIRPC_Wait().
-*/
-useconds_t snooze_amount = 1;
-
-/**
- The maximum amount of time (us) to snooze.
- Default 500000us.
-*/
-useconds_t snooze_max;
-
-/**
- Buffer for MPIRPC method names.
-*/
-char method_name[MPIRPC_NAME_SIZE];
-
-void
-MPIRPC_Init()
-{
- whoami();
-
- rpctable = itable_create(10);
- portmap = hashtable_create(10);
-
- garbage_values = list_create();
- garbage_calls = list_create();
-
- mpirpc_msg_call = MPIRPC_MSG_CALL;
- mpirpc_msg_return = MPIRPC_MSG_RETURN;
- mpirpc_msg_fault = MPIRPC_MSG_FAULT;
- mpirpc_msg_die = MPIRPC_MSG_DIE;
-
- MPIRPC_Register("emulate_fault", handle_emulate_fault);
-}
-
-/**
- Register a new RPC for remote access.
- Copies the name onto the heap.
- @param name The symbolic name of the method.
-*/
-void
-MPIRPC_Register(char* name, void (*method)(int,int,char*))
-{
- hashtable_add(portmap, heap(name), (void*) method);
-}
-
-MPIRPC*
-MPIRPC_Create(int target, char* name, char* args,
- void* extras, void (*proceed)(MPIRPC*))
-{
- // NOTE_F;
-
- MPIRPC* rpc = MALLOC(sizeof(MPIRPC));
- assert(rpc);
-
- rpc->unique = ++unique;
- rpc->target = target;
- rpc->name = heap(name);
- rpc->args = args;
- rpc->extras = extras;
- rpc->proceed = proceed;
- // This should not be a separate malloc!
- rpc->request = (MPI_Request*) MALLOC(6*sizeof(MPI_Request));
- rpc->cancelled = false;
-
- assert(rpc->name != NULL);
- assert(rpc->request != NULL);
-
- rpc->name_length = strlen(name)+1;
- if (args)
- rpc->args_length = strlen(args)+1;
- else
- rpc->args_length = -1;
- rpc->status = MPIRPC_STATUS_PROTO;
-
- return rpc;
-}
-
-void
-MPIRPC_Dump(MPIRPC* rpc)
-{
- printf("[%i]:%i->[%i] %s(%s) \n",
- mpi_rank, rpc->unique, rpc->target, rpc->name, rpc->args);
-}
-
-void MPIRPC_Dump_portmap(void)
-{
- hashtable_dumpkeys(portmap);
-}
-
-/**
- Issue an RPC.
- Copies the name but not the args onto the heap.
- @param target The target MPI rank.
- @param name The RPC name in the remote portmap.
- @param args The args to send.
- @param extras Extra state to pass to proceed.
- @param proceed The procedure to call when the RPC returns.
-*/
-MPIRPC*
-MPIRPC_Call(int target, char* name, char* args, void* extras,
- void (*proceed)(MPIRPC* rpc))
-{
- MPIRPC* rpc;
- gossip_do(MASK_MPIRPC, SHOW_FIFS(target, name, args));
-
- rpc = MPIRPC_Create(target, name, args, extras, proceed);
-
- MPI_Isend(&mpirpc_msg_call, 1, MPI_INT, target,
- MPIRPC_TAG_CONTROL, MPI_COMM_WORLD, &rpc->request[0]);
-
- MPI_Isend(name, rpc->name_length, MPI_CHAR, target,
- MPIRPC_TAG_NAME, MPI_COMM_WORLD, &rpc->request[1]);
-
- MPI_Isend(&rpc->unique, 1, MPI_INT, target,
- MPIRPC_TAG_UNIQUE, MPI_COMM_WORLD, &rpc->request[2]);
-
- if (args)
- {
- MPI_Isend(&rpc->args_length, 1, MPI_INT, target,
- MPIRPC_TAG_LENGTH, MPI_COMM_WORLD, &rpc->request[3]);
- MPI_Isend(args, rpc->args_length, MPI_CHAR, target,
- MPIRPC_TAG_ARGS, MPI_COMM_WORLD, &rpc->request[4]);
- }
- else
- {
- MPI_Isend(&rpc->args_length, 1, MPI_INT, target,
- MPIRPC_TAG_LENGTH, MPI_COMM_WORLD, &rpc->request[3]);
- }
-
- rpc->status = MPIRPC_STATUS_CALLED;
- itable_add(rpctable, rpc->unique, rpc);
-
- return rpc;
-}
-
-/**
- Issue a blocking RPC.
- Frees the RPC structures on return.
- @param target The target MPI rank.
- @param name The RPC name in the remote portmap.
- @param args The args to send.
- @return The result, possibly NULL, or MPIRPC_RESULT_FAULT.
-*/
-char*
-MPIRPC_Block(int target, char* name, char* args)
-{
- MPIRPC* rpc = MPIRPC_Call(target, name, args,
- NULL, MPIRPC_PROCEED_NULL);
- char* result = MPIRPC_Wait(rpc);
- MPIRPC_Free(rpc);
- return result;
-}
-
-/**
- Calls appropriate registers function with (caller, unique, args).
- NOTE: Frees args after registered method returns.
-*/
-void
-MPIRPC_Request(int caller)
-{
- MPI_Status status;
-
- int unique;
- int args_length;
- char* args;
- char* (*method)(int,int,char*);
-
- // SHOW_FI(caller);
-
- MPI_Recv(method_name, MPIRPC_NAME_SIZE, MPI_CHAR, caller,
- MPIRPC_TAG_NAME, MPI_COMM_WORLD, &status);
-
- MPI_Recv(&unique, 1, MPI_INT, caller,
- MPIRPC_TAG_UNIQUE, MPI_COMM_WORLD, &status);
- MPI_Recv(&args_length, 1, MPI_INT, caller,
- MPIRPC_TAG_LENGTH, MPI_COMM_WORLD, &status);
-
- if (args_length > 0)
- {
- args = MALLOC((args_length)*sizeof(char));
- MPI_Recv(args, args_length, MPI_CHAR, caller,
- MPIRPC_TAG_ARGS, MPI_COMM_WORLD, &status);
- gossip_do(MASK_MPIRPC, SHOW_FIFS(caller, method_name, args));
- }
- else
- {
- args = NULL;
- gossip_do(MASK_MPIRPC, SHOW_FIF(caller, method_name));
- }
-
- method = hashtable_search(portmap, method_name);
-
- if (method == NULL)
- {
- printf("No such method: %s\n", method_name);
- hashtable_dumpkeys(portmap);
- }
- else
- {
- method(caller, unique, args);
- if (args)
- FREE(args);
- }
-}
-
-/**
- Check for and handle any new RPC calls or returns.
- */
-bool
-MPIRPC_Check()
-{
- int recvd = false;
- MPI_Status status;
-
- if (check_request == MPI_REQUEST_NULL)
- MPI_Irecv(&check_msg, 1, MPI_INT, MPI_ANY_SOURCE,
- MPIRPC_TAG_CONTROL, MPI_COMM_WORLD, &check_request);
- MPI_Test(&check_request, &recvd, &status);
-
- if (recvd)
- MPIRPC_Handle(check_msg, status.MPI_SOURCE);
-
- return (bool) recvd;
-}
-
-MPIRPC_Value*
-MPIRPC_Value_create(int unique, char* result)
-{
- MPIRPC_Value* value;
- MPI_Request* request;
- value = (MPIRPC_Value*) MALLOC(sizeof(MPIRPC_Value));
- assert(value != NULL);
- request = (MPI_Request*) MALLOC(4*sizeof(MPI_Request));
- assert(request != NULL);
-
- value->unique = unique;
- value->request = request;
- if (result != NULL)
- value->length = strlen(result);
- else
- value->length = -1;
- value->result = result;
-
- // SHOW_P(value);
-
- return value;
-}
-
-/**
- User handler routine must call this to return result to caller.
-*/
-void
-MPIRPC_Return(int caller, int unique, char* result)
-{
- MPIRPC_Value* value;
-
- gossip_do(MASK_MPIRPC, SHOW_FIS(caller, result));
-
- value = MPIRPC_Value_create(unique, result);
-
- MPI_Isend(&mpirpc_msg_return, 1, MPI_INT, caller,
- MPIRPC_TAG_CONTROL, MPI_COMM_WORLD, &value->request[0]);
- MPI_Isend(&value->unique, 1, MPI_INT, caller,
- MPIRPC_TAG_UNIQUE, MPI_COMM_WORLD, &value->request[1]);
- MPI_Isend(&value->length, 1, MPI_INT, caller,
- MPIRPC_TAG_LENGTH, MPI_COMM_WORLD, &value->request[2]);
- if (value->length >= 0)
- MPI_Isend(value->result, value->length+1, MPI_CHAR, caller,
- MPIRPC_TAG_RESULT, MPI_COMM_WORLD, &value->request[3]);
-
- list_add(garbage_values, value);
-
- // DONE;
-}
-
-/**
- Flush and garbage collect all outstanding return values.
-*/
-void
-MPIRPC_Flush_returns()
-{
- struct list_item* item;
- int i;
- MPI_Status status;
-
- // NOTE_F;
-
- for (item = garbage_values->head;
- item; item = item->next)
- {
- MPIRPC_Value* value = (MPIRPC_Value*) item->data;
- for (i = 0; i < 3; i++)
- MPI_Wait(&value->request[i], &status);
-
- if (value->length >= 0)
- MPI_Wait(&value->request[3], &status);
- }
-}
-
-/**
- Indicate to the caller that this target is in a fault state.
- Code almost copied exactly from
- MPIRPC_Request() and MPIRPC_Return().
-*/
-void
-MPIRPC_Fault(int caller)
-{
- // SHOW_FI(caller);
- MPI_Status status;
-
- int unique;
- int args_length;
- char* args;
- MPIRPC_Value* value;
-
- MPI_Recv(method_name, MPIRPC_NAME_SIZE, MPI_CHAR, caller,
- MPIRPC_TAG_NAME, MPI_COMM_WORLD, &status);
-
- MPI_Recv(&unique, 1, MPI_INT, caller,
- MPIRPC_TAG_UNIQUE, MPI_COMM_WORLD, &status);
- MPI_Recv(&args_length, 1, MPI_INT, caller,
- MPIRPC_TAG_LENGTH, MPI_COMM_WORLD, &status);
-
- if (args_length > 0)
- {
- args = MALLOC((args_length)*sizeof(char));
- MPI_Recv(args, args_length, MPI_CHAR, caller,
- MPIRPC_TAG_ARGS, MPI_COMM_WORLD, &status);
- SHOW_FIFS(caller, method_name, args);
- }
- else
- {
- args = NULL;
- SHOW_FIF(caller, method_name);
- }
-
- value = MPIRPC_Value_create(unique, NULL);
-
- MPI_Isend(&mpirpc_msg_fault, 1, MPI_INT, caller,
- MPIRPC_TAG_CONTROL, MPI_COMM_WORLD, &value->request[0]);
- MPI_Isend(&unique, 1, MPI_INT, caller,
- MPIRPC_TAG_UNIQUE, MPI_COMM_WORLD, &value->request[1]);
-
- list_push(garbage_values, value);
-}
-
-/**
- Uses MPIRPC_Check() internally.
- @return rpc's result when obtained.
-*/
-char*
-MPIRPC_Wait(MPIRPC* rpc)
-{
- do
- {
- if (rpc->status == MPIRPC_STATUS_RETURNED)
- return rpc->result;
- if (rpc->status == MPIRPC_STATUS_FAULT)
- return MPIRPC_RESULT_FAULT;
- while (! MPIRPC_Check())
- MPIRPC_Snooze();
- MPIRPC_Snooze_reset();
- } while (true);
- return NULL;
-}
-
-/**
- Indicate that this RPC will not be waited for or
- checked by the user so the system must deallocate it.
- It does not attempt to cancel any underlying MPI
- communication.
-*/
-void
-MPIRPC_Cancel(MPIRPC* rpc)
-{
- rpc->cancelled = true;
-}
-
-/**
- The system should call this when we receive MPIRPC_MSG_RETURN.
- @param target The target of the RPC that is returning here.
- @return The MPIRPC that returned.
-*/
-MPIRPC*
-MPIRPC_Retrieve(int target)
-{
- MPI_Status status;
- int unique;
- int length;
- int i;
- MPIRPC* rpc;
-
- MPI_Recv(&unique, 1, MPI_INT, target,
- MPIRPC_TAG_UNIQUE, MPI_COMM_WORLD, &status);
-
- rpc = (MPIRPC*) MPIRPC_Remove(unique);
- assert(rpc != NULL);
-
- MPI_Recv(&length, 1, MPI_INT, target,
- MPIRPC_TAG_LENGTH, MPI_COMM_WORLD, &status);
-
- if (length >= 0)
- {
- rpc->result = (char*) MALLOC((length+3)*sizeof(char));
- assert(rpc->result != NULL);
- MPI_Recv(rpc->result, length+1, MPI_CHAR, target,
- MPIRPC_TAG_RESULT, MPI_COMM_WORLD, &status);
- }
- else
- {
- rpc->result = NULL;
- }
-
- gossip_do(MASK_MPIRPC,
- SHOW_FIFS_S(target, rpc->name, rpc->args, rpc->result));
-
- for (i = 0; i < 4; i++)
- MPI_Request_free(&rpc->request[i]);
- if (rpc->args)
- MPI_Request_free(&rpc->request[4]);
-
- rpc->status = MPIRPC_STATUS_RETURNED;
- if (rpc->proceed != MPIRPC_PROCEED_NULL)
- rpc->proceed(rpc);
- return rpc;
-}
-
-/**
- The system should call this when we receive MPIRPC_MSG_FAULT.
- Code almost copied exactly from MPIRPC_Retrieve().
- @param target The target of the RPC that is returning here.
- This target is emulating a fault state.
- @return The MPIRPC that returned.
-*/
-MPIRPC*
-MPIRPC_Error(int target)
-{
- // SHOW_FI(target);
-
- MPI_Status status;
- int unique;
- int i;
- MPIRPC* rpc;
-
- MPI_Recv(&unique, 1, MPI_INT, target,
- MPIRPC_TAG_UNIQUE, MPI_COMM_WORLD, &status);
-
- rpc = (MPIRPC*) MPIRPC_Remove(unique);
- assert(rpc != NULL);
-
- rpc->result = MPIRPC_RESULT_FAULT;
-
- SHOW_FIFS_S(target, rpc->name, rpc->args, "ERROR!");
-
- for (i = 0; i < 4; i++)
- MPI_Request_free(&rpc->request[i]);
- if (rpc->args)
- MPI_Request_free(&rpc->request[4]);
-
- rpc->status = MPIRPC_STATUS_FAULT;
- if (rpc->proceed != MPIRPC_PROCEED_NULL)
- rpc->proceed(rpc);
- return rpc;
-}
-
-MPIRPC*
-MPIRPC_Lookup(int index)
-{
- return itable_search(rpctable, index);
-}
-
-/**
- Called by MPIRPC_Retrieve().
-*/
-void*
-MPIRPC_Remove(int index)
-{
- return itable_remove(rpctable, index);
-}
-
-void
-
-MPIRPC_Handle(int msg, int caller)
-{
- // NOTE_F;
- switch (msg)
- {
- case MPIRPC_MSG_CALL:
- if (emulating_fault)
- MPIRPC_Fault(caller);
- else
- MPIRPC_Request(caller);
- break;
- case MPIRPC_MSG_RETURN:
- MPIRPC_Retrieve(caller);
- break;
- case MPIRPC_MSG_FAULT:
- MPIRPC_Error(caller);
- break;
- case MPIRPC_MSG_DIE:
- MPIRPC_Die(caller);
- break;
- }
-}
-
-/**
- Free the RPC except for the result and extras.
-*/
-void
-deallocate_call(MPIRPC* rpc)
-{
- // SHOW_FP(rpc);
- // SHOW_FS(rpc->name);
- FREE(rpc->name);
- if (rpc->args)
- {
- // NOTE("free args");
- FREE(rpc->args);
- }
- // NOTE("free request");
- FREE(rpc->request);
- FREE(rpc);
- // DONE;
-}
-
-/**
- Free the RPC except for the result once it completes.
- Must be called by the user (usually in the proceed function).
-*/
-void
-MPIRPC_Free(MPIRPC* rpc)
-{
- deallocate_call(rpc);
- // list_push(garbage_calls, rpc);
-}
-
-void
-deallocate_value(MPIRPC_Value* value)
-{
- // SHOW_FP(value);
- FREE(value->request);
-
- if (value->result != NULL &&
- value->result != MPIRPC_RESULT_FAULT)
- {
- // NOTE("Free result:");
- FREE(value->result);
- }
- // NOTE("Free value:");
- FREE(value);
-}
-
-/**
- Deallocate a return value if ready.
- */
-void
-garbage_check_value(void)
-{
- MPI_Status status;
- int sent;
- int i;
- MPIRPC_Value* value = list_peek(garbage_values);
- for (i = 1; i < 4; i++)
- {
- MPI_Test(&value->request[i], &sent, &status);
- if (!sent)
- return;
- }
- deallocate_value(list_poll(garbage_values));
-}
-
-/**
- Deallocate an RPC if ready.
- Totally unnecessary right now.
-*/
-void
-garbage_check_call(void)
-{
- MPI_Status status;
- int sent;
- int i;
- MPIRPC* rpc = list_peek(garbage_calls);
- for (i = 1; i < 6; i++)
- {
- MPI_Test(&rpc->request[i], &sent, &status);
- if (!sent)
- return;
- }
- deallocate_call(rpc);
-}
-
-void
-MPIRPC_Garbage_collect(void)
-{
- garbage_check_value();
- garbage_check_call();
-}
-
-void
-MPIRPC_Snooze()
-{
- if (snooze_amount > snooze_max)
- usleep(snooze_amount);
- else
- usleep(snooze_amount *= 2);
-}
-
-void
-MPIRPC_Snooze_reset()
-{
- snooze_amount = 1;
-}
-
-/**
- Instruct the node to shutdown outside the normal RPC mechanism.
-*/
-void
-MPIRPC_Kill(int target)
-{
- SHOW_FI(target);
-
- MPI_Send(&mpirpc_msg_die, 1, MPI_INT, target,
- MPIRPC_TAG_CONTROL, MPI_COMM_WORLD);
-}
-
-/**
- Respond to a MPIRPC_MSG_DIE code.
-*/
-void
-MPIRPC_Die(int caller)
-{
- NOTE_I("KILLED_BY: ", caller);
-
- NOTE("MPI_Finalize()...");
- MPI_Finalize();
- NOTE("Normal exit.");
- exit(EXIT_SUCCESS);
-}
-
-void
-MPIRPC_Finalize()
-{
- gossip_do(MASK_MPIRPC, NOTE_F);
- hashtable_free(portmap);
- itable_free(rpctable);
-
- /* Not using this list any more.
- while (garbage_calls->size > 0)
- {
- MPIRPC* rpc = list_poll(garbage_calls);
- deallocate_call(rpc);
- NOTE("loop");
- } */
- // NOTE("free garbage list");
- list_free(garbage_calls);
-
- while (garbage_values->size > 0)
- {
- MPIRPC_Value* value = list_poll(garbage_values);
- deallocate_value(value);
- }
-
- list_destroy(garbage_values);
- gossip_do(MASK_MPIRPC, DONE);
-}
diff --git a/oldcode/src/mpirpc-1/placeholder b/oldcode/src/mpirpc-1/placeholder
deleted file mode 100644
index e69de29..0000000
diff --git a/oldcode/src/mpirpc-2/Makefile b/oldcode/src/mpirpc-2/Makefile
deleted file mode 100644
index 7671bc9..0000000
--- a/oldcode/src/mpirpc-2/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-
-# Debugging only
-
-CMPI = ../../lib/libcmpi.a
-
-INCLUDES = -I . -I ../adts -I ../cmpi
-
-MPICC = mpicc
-CFLAGS = --std=gnu99 $(INCLUDES) -D DEBUG_MPIRPC -D ENABLE_DEBUG
-# -fgnu89-inline
-LDFLAGS = $(LIBS)
-
-ADTS = ../adts/klist.o ../adts/ilist.o ../adts/list.o \
- ../adts/hashtable.o ../adts/itable.o
-OBJECTS = mpirpc.o mpi_tools.o $(ADTS)
-
-all: mpirpc
-
-mpirpc : $(OBJECTS) $(ADTS)
- $(MPICC) $(OBJECTS) -l crypto -o mpirpc
-
-%.o : %.c
- $(MPICC) -c $(CFLAGS) $< -o $@
-# -D DEBUG_MPIRPC
-
-%.c : %.h
- touch $@
-
-# Items to delete during make clean
-GARBAGE = $(OBJECTS) mpirpc
-# Items to delete during make veryclean
-THINGS = *~ $(GARBAGE)
-
-clean :
- @rm -fv $(GARBAGE) | grep ".*" || echo "Nothing to clean."
-
-veryclean :
- @rm -fv $(THINGS) | grep ".*" || echo "Nothing to clean."
diff --git a/oldcode/src/mpirpc-2/module.mk.in b/oldcode/src/mpirpc-2/module.mk.in
deleted file mode 100644
index 0e543d3..0000000
--- a/oldcode/src/mpirpc-2/module.mk.in
+++ /dev/null
@@ -1,8 +0,0 @@
-
-DIR := $(MPIRPC_DIR)
-
-ifeq (@USE_MPIRPC_2@,1)
- MPIRPC_SRC += $(DIR)/mpirpc.c
-endif
-
-
diff --git a/oldcode/src/mpirpc-2/mpirpc.c b/oldcode/src/mpirpc-2/mpirpc.c
deleted file mode 100644
index 14dc71c..0000000
--- a/oldcode/src/mpirpc-2/mpirpc.c
+++ /dev/null
@@ -1,887 +0,0 @@
-
-#include "mpirpc.h"
-
-/**
- Functions MPIRPC_* may be exported at some point.
-*/
-
-/**
- Counter to uniquify RPC calls.
-*/
-int unique = 0;
-
-/**
- For MPIRPC_Check() : Irecv()...
-*/
-MPI_Request check_request = MPI_REQUEST_NULL;
-
-/**
- For MPIRPC_Check() : Irecv()...
-*/
-int check_msg;
-
-// Internal prototypes (just a convenience):
-void* MPIRPC_Remove(int index);
-void MPIRPC_Handle(int msg, MPIRPC_Node caller);
-
-/**
- Sendable call control code.
-*/
-int mpirpc_msg_call;
-/**
- Sendable return control code.
-*/
-int mpirpc_msg_return;
-/**
- Sendable shutdown control code.
-*/
-int mpirpc_msg_disconnect;
-/**
- Sendable OK control code.
-*/
-int mpirpc_msg_ok;
-/**
- Sendable failure control code.
-*/
-int mpirpc_msg_fail;
-
-/**
- Table of registered functions that may be called.
-*/
-struct hashtable* portmap;
-
-/**
- Table of outstanding RPCs.
-*/
-struct itable* rpctable;
-
-/**
- Table of known channels.
-*/
-struct list* channels;
-
-/**
- Return values to be garbage collected by MPIRPC_Check().
-*/
-struct list* garbage_values;
-
-/**
- Time in microseconds to snooze when MPIRPC_Check() finds nothing.
- snooze() & reset_snooze() are called by MPIRPC_Wait().
-*/
-useconds_t snooze_amount = 1;
-
-/**
- The maximum amount of time to snooze in microseconds.
- Default 500000us.
-*/
-useconds_t snooze_max = 500000;
-
-void
-MPIRPC_Init()
-{
- whoami();
-
- rpctable = itable_create(100);
- portmap = hashtable_create(100);
-
- channels = list_create();
-
- garbage_values = list_create();
-
- mpirpc_msg_call = MPIRPC_MSG_CALL;
- mpirpc_msg_return = MPIRPC_MSG_RETURN;
- mpirpc_msg_disconnect = MPIRPC_MSG_DISCONNECT;
- mpirpc_msg_ok = MPIRPC_MSG_OK;
- mpirpc_msg_fail = MPIRPC_MSG_FAIL;
-}
-
-/**
- Register a new RPC for remote access.
-*/
-void
-MPIRPC_Register(char* name, void (*f)(MPIRPC_Node,int,char*,char*,int))
-{
- hashtable_add(portmap, name, f);
-}
-
-
-/**
- Instruct MPIRPC to check this comm for incoming calls and returns.
-*/
-bool
-MPIRPC_Comm_add(MPI_Comm comm)
-{
- bool result;
- MPIRPC_Channel* channel =
- (MPIRPC_Channel*) malloc(sizeof(MPIRPC_Channel));
- channel->comm = comm;
- channel->request = MPI_REQUEST_NULL;
-
- result =
- (bool) list_add_unique(channels, MPIRPC_Channel_cmp, channel);
-
- if (!result)
- free(channel);
-
- return result;
-}
-
-/**
- Locate the channel that this node is using.
-*/
-MPIRPC_Channel*
-MPIRPC_Channel_for_node(MPIRPC_Node node)
-{
- struct list_item* item;
- for (item = channels->head;
- item; item = item->next)
- {
- MPIRPC_Channel* channel = (MPIRPC_Channel*) item->data;
- if (channel->comm == node.comm)
- return channel;
- }
- return NULL;
-}
-
-struct list*
-MPIRPC_Channels(void)
-{
- return channels;
-}
-
-/**
- Close and remove comm from the channels list.
- Frees any nodes in channels containing comm.
- @return true iff the comm was found and disconnected.
-*/
-bool
-MPIRPC_Comm_remove(MPI_Comm* comm)
-{
- gossip_do(MASK_MPIRPC, NOTE_F);
-
- bool disconnected = false;
-
- struct list* matches =
- list_pop_where(channels, MPIRPC_Channel_comm_cmp, comm);
- assert(matches->size == 1);
-
- MPIRPC_Node* node = (MPIRPC_Node*) matches->head->data;
- MPI_Comm_disconnect(&node->comm);
- disconnected = true;
-
- list_destroy(matches);
- return true;
-}
-
-MPIRPC_Node*
-MPIRPC_Node_create(MPI_Comm comm, int rank)
-{
- MPIRPC_Node* node = malloc(sizeof(MPIRPC_Node));
- return MPIRPC_Node_make(comm, rank, node);
-}
-
-MPIRPC_Node*
-MPIRPC_Node_make(MPI_Comm comm, int rank, MPIRPC_Node* node)
-{
- node->comm = comm;
- node->rank = rank;
- return node;
-}
-
-MPIRPC*
-MPIRPC_Create(MPIRPC_Node target, char* name, char* args,
- char* blob, int blob_length,
- void* extras, void (*proceed)(MPIRPC*))
-{
- gossip_do(MASK_MPIRPC, NOTE_F);
- if (!name)
- {
- printf("MPIRPC_Call(): name was NULL. \n");
- exit(1);
- }
-
- MPIRPC* rpc = malloc(sizeof(MPIRPC));
- strcpy(rpc->name, name);
- rpc->name_length = strlen(name);
- rpc->unique = ++unique;
- rpc->target = target;
- if (args)
- {
- strcpy(rpc->args, args);
- rpc->args_length = strlen(args);
- }
- else
- rpc->args_length = -1;
- rpc->blob = blob;
- rpc->blob_length = blob_length;
- rpc->extras = extras;
- rpc->proceed = proceed;
- rpc->cancelled = false;
- rpc->status = MPIRPC_STATUS_PROTO;
-
- gossip_do(MASK_MPIRPC, DONE);
- return rpc;
-}
-
-/**
- Issue an RPC.
- @param target The target MPI rank.
- @param name The RPC name in the remote portmap.
- Copied into MPIRPC.
- @param args The args to send. Copied into MPIRPC.
- @param extras Extra state to pass to proceed.
- @param proceed The procedure to call when the RPC returns.
-*/
-MPIRPC*
-MPIRPC_Call(MPIRPC_Node target, char* name, char* args,
- void* extras, void (*proceed)(MPIRPC* rpc))
-{
- return MPIRPC_Call_blob(target, name, args,
- NULL, 0, extras, proceed);
-}
-
-/**
- Issue an RPC.
- @param target The target MPI rank.
- @param name The RPC name in the remote portmap.
- Copied into MPIRPC.
- @param args The args to send. Copied into MPIRPC.
- @param blob The blob to send, may be NULL. Not copied.
- @param blob_length Length of the blob.
- @param extras Extra state to pass to proceed.
- @param proceed The procedure to call when the RPC returns.
-*/
-MPIRPC*
-MPIRPC_Call_blob(MPIRPC_Node target, char* name, char* args,
- char* blob, int blob_length,
- void* extras, void (*proceed)(MPIRPC* rpc))
-{
- assert(target.comm != MPI_COMM_NULL);
-
- MPIRPC* rpc = MPIRPC_Create(target, name, args,
- blob, blob_length, extras, proceed);
-
- // gossip_do(MASK_MPIRPC,
- // char* commname = MPIRPC_Comm_get_name(target.comm));
- gossip_do(MASK_MPIRPC,
- SHOW_FISSI(target.rank, name,
- args, rpc->unique));
-
- MPI_Isend(&mpirpc_msg_call, 1, MPI_INT, target.rank,
- MPIRPC_TAG_CONTROL, target.comm, &rpc->request[0]);
-
- MPI_Isend(&rpc->name_length, 1, MPI_INT, target.rank,
- MPIRPC_TAG_LENGTH, target.comm, &rpc->request[1]);
-
- MPI_Isend(name, rpc->name_length+1, MPI_CHAR, target.rank,
- MPIRPC_TAG_NAME, target.comm, &rpc->request[2]);
-
- MPI_Isend(&rpc->unique, 1, MPI_INT, target.rank,
- MPIRPC_TAG_UNIQUE, target.comm, &rpc->request[3]);
-
- MPI_Isend(&rpc->args_length, 1, MPI_INT, target.rank,
- MPIRPC_TAG_LENGTH, target.comm, &rpc->request[4]);
-
- if (rpc->args_length > 0)
- MPI_Isend(args, rpc->args_length+1, MPI_CHAR, target.rank,
- MPIRPC_TAG_ARGS, target.comm, &rpc->request[5]);
-
- MPI_Isend(&rpc->blob_length, 1, MPI_INT, target.rank,
- MPIRPC_TAG_LENGTH, target.comm, &rpc->request[6]);
-
- if (rpc->blob_length > 0)
- MPI_Isend(blob, blob_length, MPI_CHAR, target.rank,
- MPIRPC_TAG_ARGS, target.comm, &rpc->request[7]);
-
- rpc->status = MPIRPC_STATUS_CALLED;
- itable_add(rpctable, rpc->unique, rpc);
-
- return rpc;
-}
-
-/**
- Calls MPIRPC_Free() before return.
- @param target The target MPI rank.
- @param name The RPC name in the remote portmap.
- Copied into MPIRPC.
- @param args The args to send. Copied into MPIRPC.
-*/
-char*
-MPIRPC_Block(MPIRPC_Node target, char* name, char* args)
-{
- gossip_do(MASK_MPIRPC, NOTE_FS(name));
- return MPIRPC_Block_blob(target, name, args, NULL, 0);
-}
-
-char*
-MPIRPC_Block_blob(MPIRPC_Node target, char* name, char* args,
- char* blob, int blob_length)
-{
- char* result;
- gossip_do(MASK_MPIRPC, NOTE_FS(name));
- MPIRPC* rpc = MPIRPC_Call_blob(target, name, args,
- blob, blob_length, NULL, NULL);
- MPIRPC_Wait(rpc);
- gossip_do(MASK_MPIRPC, NOTE_S("Unblocked: ", name));
- result = rpc->result;
- MPIRPC_Free(rpc);
- return result;
-}
-
-/**
- Receives RPC and issues it to local procedure handler.
- name is on the stack.
- Handler should free args and blob.
-*/
-void
-MPIRPC_Request(MPIRPC_Node caller)
-{
- MPI_Status status;
-
- char name[MPIRPC_MAX_NAME];
- int unique;
- int name_length = 32;
- int args_length;
- char* args;
- int blob_length;
- char* blob = NULL;
-
- // DEBUG(MPIRPC_Dump_channels());
-
- MPI_Recv(&name_length, 1, MPI_INT, caller.rank,
- MPIRPC_TAG_LENGTH, caller.comm, &status);
- MPI_Recv(name, name_length+1, MPI_CHAR, caller.rank,
- MPIRPC_TAG_NAME, caller.comm, &status);
- MPI_Recv(&unique, 1, MPI_INT, caller.rank,
- MPIRPC_TAG_UNIQUE, caller.comm, &status);
- MPI_Recv(&args_length, 1, MPI_INT, caller.rank,
- MPIRPC_TAG_LENGTH, caller.comm, &status);
-
- gossip_do(MASK_MPIRPC, NOTE_FS(name));
-
- if (args_length > 0)
- {
- args = malloc((args_length+1)*sizeof(char));
-
- MPI_Recv(args, args_length+1, MPI_CHAR, caller.rank,
- MPIRPC_TAG_ARGS, caller.comm, &status);
- }
- else if (args_length == 0)
- args = heap("");
- else
- args = NULL;
-
- MPI_Recv(&blob_length, 1, MPI_INT, caller.rank,
- MPIRPC_TAG_LENGTH, caller.comm, &status);
-
- if (blob_length > 0)
- {
- blob = malloc((blob_length)*sizeof(char));
-
- MPI_Recv(blob, blob_length, MPI_CHAR, caller.rank,
- MPIRPC_TAG_ARGS, caller.comm, &status);
- }
- /* printf("\t [%i] %s(%s) for %i \n",
- mpi_rank, name, args, caller); */
-
- char* (*f)(MPIRPC_Node,int,char*,char*,int) =
- hashtable_search(portmap, name);
-
- if (f == NULL)
- printf("No such method: %s \n", name);
- else
- f(caller, unique, args, blob, blob_length);
-}
-
-/**
- Convenience for MPIRPC_Return(NULL).
- Return null to caller.
-*/
-void
-MPIRPC_Null(MPIRPC_Node caller, int unique)
-{
- MPIRPC_Return(caller, unique, NULL, -1);
-}
-
-/**
- Return result to caller for unique RPC.
- result is asynchronously freed upon completion.
- @param length Ignored if result == NULL.
-*/
-void
-MPIRPC_Return(MPIRPC_Node caller, int unique,
- char* result, int length)
-{
- gossip_do(MASK_MPIRPC, SHOW_FIII(caller.rank, unique, length));
-
- if (result == NULL)
- length = -1;
-
- MPIRPC_Value* value = MPIRPC_Value_create(unique, result, length);
-
- // SHOW_P(&value->request[0]);
- MPI_Isend(&mpirpc_msg_return, 1, MPI_INT, caller.rank,
- MPIRPC_TAG_CONTROL, caller.comm, &value->request[0]);
- MPI_Isend(&value->unique, 1, MPI_INT, caller.rank,
- MPIRPC_TAG_UNIQUE, caller.comm, &value->request[1]);
- MPI_Isend(&value->length, 1, MPI_INT, caller.rank,
- MPIRPC_TAG_LENGTH, caller.comm, &value->request[2]);
- if (value->length > 0)
- {
- MPI_Isend(value->result, value->length, MPI_CHAR, caller.rank,
- MPIRPC_TAG_RESULT, caller.comm, &value->request[3]);
- }
-
- list_push(garbage_values, value);
- MPIRPC_Garbage_collect();
-}
-
-/**
- The system should call this when we receive MPIRPC_MSG_RETURN.
- @return The MPIRPC that returned.
-*/
-MPIRPC*
-MPIRPC_Retrieve(MPIRPC_Node sender)
-{
- int i;
-
- MPI_Status status;
- int unique;
-
- MPI_Recv(&unique, 1, MPI_INT, sender.rank,
- MPIRPC_TAG_UNIQUE, sender.comm, &status);
-
- gossip_do(MASK_MPIRPC, SHOW_FII(sender.rank, unique));
-
- MPIRPC* rpc = (MPIRPC*) MPIRPC_Remove(unique);
-
- assert(rpc != NULL);
-
- MPI_Recv(&rpc->result_length, 1, MPI_INT, sender.rank,
- MPIRPC_TAG_LENGTH, sender.comm, &status);
-
- if (rpc->result_length > 0)
- {
- rpc->result = malloc((rpc->result_length)*sizeof(char));
- MPI_Recv(rpc->result, rpc->result_length, MPI_CHAR, sender.rank,
- MPIRPC_TAG_RESULT, sender.comm, &status);
- }
- else if (rpc->result_length == 0)
- rpc->result = heap("");
- else
- rpc->result = NULL;
-
- MPI_Request* r = rpc->request;
- for (i = 0; i < 5; i++)
- MPI_Request_free(&r[i]);
- if (rpc->args_length > 0)
- MPI_Request_free(&r[5]);
- MPI_Request_free(&r[6]);
- if (rpc->blob_length > 0)
- MPI_Request_free(&r[7]);
-
- rpc->status = MPIRPC_STATUS_RETURNED;
- if (rpc->proceed != MPIRPC_PROCEED_NULL &&
- rpc->proceed != NULL)
- rpc->proceed(rpc);
- return rpc;
-}
-
-/**
- Check for and handle any new RPC calls or returns.
- @return true iff some message was received.
-*/
-bool
-MPIRPC_Check()
-{
- struct list_item* item;
- bool event = false;
- int recvd = false;
- MPI_Status status;
-
- for (item = channels->head;
- item; item = item->next)
- {
- MPIRPC_Channel* channel = (MPIRPC_Channel*) item->data;
- // char* name = MPIRPC_Comm_get_name(channel->comm);
-
- if (channel->request == MPI_REQUEST_NULL)
- {
- // gossip_debug(MASK_MPIRPC, "Posting Irecv...\n");
- MPI_Irecv(&check_msg, 1, MPI_INT, MPI_ANY_SOURCE,
- MPIRPC_TAG_CONTROL, channel->comm,
- &channel->request);
- }
- MPI_Test(&channel->request, &recvd, &status);
-
- if (recvd)
- {
- event = true;
- MPIRPC_Node node;
- MPIRPC_Node_make(channel->comm, status.MPI_SOURCE, &node);
- MPIRPC_Handle(check_msg, node);
- }
- }
- return event;
-}
-
-/**
- Check for and handle a new RPC call or return.
-*/
-void
-MPIRPC_Recv(MPI_Comm comm)
-{
- MPI_Status status;
- int check_msg;
-
- MPI_Recv(&check_msg, 1, MPI_INT, MPI_ANY_SOURCE,
- MPIRPC_TAG_CONTROL, comm, &status);
-
- MPIRPC_Node node;
- MPIRPC_Node_make(comm, status.MPI_SOURCE, &node);
-
- MPIRPC_Handle(check_msg, node);
-}
-
-MPIRPC_Value*
-MPIRPC_Value_create(int unique, char* result, int length)
-{
- MPIRPC_Value* value = malloc(sizeof(MPIRPC_Value));
-
- value->unique = unique;
- value->length = length;
- value->result = result;
-
- return value;
-}
-
-/**
- Flush and garbage collect all outstanding return values.
-*/
-void
-MPIRPC_Flush_returns()
-{
- struct list_item* item;
- int i;
- gossip_do(MASK_MPIRPC, NOTE_F);
- MPI_Status status;
- for (item = garbage_values->head;
- item; item = item->next)
- {
- MPIRPC_Value* value = (MPIRPC_Value*) item->data;
- for (i = 0; i < 3; i++)
- {
- MPI_Wait(&value->request[i], &status);
- }
-
- if (value->length >= 0)
- MPI_Wait(&value->request[3], &status);
- }
-}
-
-/**
- Uses MPIRPC_Check() internally.
- @return rpc's result when obtained.
-*/
-char*
-MPIRPC_Wait(MPIRPC* rpc)
-{
- if (rpc->status == MPIRPC_STATUS_RETURNED)
- return rpc->result;
- do
- {
- while (! MPIRPC_Check())
- MPIRPC_Snooze();
- MPIRPC_Snooze_reset();
- if (rpc->status == MPIRPC_STATUS_RETURNED)
- return rpc->result;
- else
- NOTE("Wait(): handled, still waiting...");
- } while (true);
- return NULL;
-}
-
-/**
- Indicate that this RPC will not be waited for or
- checked by the user so the system must deallocate it.
- It does not attempt to cancel any underlying MPI
- communication.
-*/
-void
-MPIRPC_Cancel(MPIRPC* rpc)
-{
- rpc->cancelled = true;
-}
-
-/**
- Lookup an outstanding function.
-*/
-MPIRPC*
-MPIRPC_Lookup(int index)
-{
- return itable_search(rpctable, index);
-}
-
-/**
- Called by MPIRPC_Retrieve().
-*/
-void*
-MPIRPC_Remove(int index)
-{
- return itable_remove(rpctable, index);
-}
-
-/**
- Inform remote node that channel will be closed and close channel.
-*/
-void
-MPIRPC_Close(MPIRPC_Channel* channel)
-{
- NOTE_F;
-
- int response;
-
- MPI_Send(&mpirpc_msg_disconnect, 1, MPI_INT,
- 0, MPIRPC_TAG_CONTROL, channel->comm);
- MPI_Status status;
- MPI_Recv(&response, 1, MPI_INT,
- 0, MPIRPC_TAG_CONTROL, channel->comm, &status);
-
- MPIRPC_Comm_remove(&channel->comm);
-
- assert(response == MPIRPC_MSG_OK);
-}
-
-void
-MPIRPC_Garbage_collect()
-{
- while (MPIRPC_Garbage_collect_value());
-}
-
-/**
- @return true iff we found and freed a sent value.
-*/
-bool
-MPIRPC_Garbage_collect_value()
-{
- MPIRPC_Value* value;
- MPI_Status status;
- int sent;
- int i;
-
- value = list_peek(garbage_values);
- if (!value)
- return false;
-
- for (i = 0; i < 3; i++)
- {
- MPI_Test(&value->request[i], &sent, &status);
- if (!sent)
- return false;
- }
- if (value->length > 0)
- {
- MPI_Test(&value->request[3], &sent, &status);
- if (!sent)
- return false;
- }
-
- MPIRPC_Value_free(list_poll(garbage_values));
- return true;
-}
-
-void
-MPIRPC_Value_free(MPIRPC_Value* value)
-{
- // SHOW_FP(value);
- // NOTE_F;
-
- if (value->result != NULL)
- {
- // NOTE("Free result:");
- FREE(value->result);
- }
-
- // NOTE("Free value:");
- FREE(value);
-}
-
-void
-MPIRPC_Disconnect(MPIRPC_Node caller)
-{
- NOTE_F;
-
- MPI_Send(&mpirpc_msg_ok, 1, MPI_INT,
- 0, MPIRPC_TAG_CONTROL, caller.comm);
-
- MPIRPC_Comm_remove(&caller.comm);
-}
-
-void
-MPIRPC_Handle(int msg, MPIRPC_Node caller)
-{
- // NOTE_F;
- switch (msg)
- {
- case MPIRPC_MSG_CALL:
- MPIRPC_Request(caller);
- break;
- case MPIRPC_MSG_RETURN:
- MPIRPC_Retrieve(caller);
- break;
- case MPIRPC_MSG_DISCONNECT:
- MPIRPC_Disconnect(caller);
- break;
- default:
- assert(false);
- }
-}
-
-/**
- Free the RPC and its args
- except for the result and extras once it completes.
- Must be called by the user (usually in the proceed function).
-*/
-void
-MPIRPC_Free(MPIRPC* rpc)
-{
- gossip_do(MASK_MPIRPC, SHOW_FSI(rpc->name, rpc->unique));
- free(rpc);
-}
-
-void
-MPIRPC_Snooze()
-{
- if (snooze_amount > snooze_max)
- usleep(snooze_amount);
- else
- usleep(snooze_amount *= 2);
-}
-
-void MPIRPC_Snooze_reset()
-{
- snooze_amount = 1;
-}
-
-/**
- Convenience method for MPI_Comm_get_name().
-*/
-char*
-MPIRPC_Comm_get_name(MPI_Comm comm)
-{
- static char name[100];
- int length;
- if (comm == MPI_COMM_NULL)
- sprintf(name, "MPI_COMM_NULL");
- else
- MPI_Comm_get_name(comm, name, &length);
- return name;
-}
-
-/**
- Compare channels based only on Comm.
- @param c1 MPIRPC_Channel*.
- @param c2 MPIRPC_Channel*.
-*/
-int
-MPIRPC_Channel_cmp(void* o1, void* o2)
-{
- MPIRPC_Channel* c1 = (MPIRPC_Channel*) o1;
- MPIRPC_Channel* c2 = (MPIRPC_Channel*) o2;
- if (c1->comm == c2->comm)
- return 0;
- else if (c1->comm < c2->comm)
- return -1;
- return 1;
-}
-
-/**
- Compares based on comm, then rank.
- Good for list_remove_where().
- @param node1 MPIRPC_Node*.
- @param node2 MPIRPC_Node*.
- Good for list_remove_where().
-*/
-int
-MPIRPC_Node_cmp(void* n1, void* n2)
-{
- MPIRPC_Node* node1 = (MPIRPC_Node*) n1;
- MPIRPC_Node* node2 = (MPIRPC_Node*) n2;
- if (node1->comm == node2->comm &&
- node1->rank == node2->rank)
- return 0;
- else if (node1->comm > node2->comm)
- return 1;
- else if (node1->comm < node2->comm)
- return -1;
- else
- if (node1->rank > node2->rank)
- return 1;
- else
- return -1;
-}
-
-/**
- Compare channels based only on Comm.
- @param c1 MPIRPC_Channel*.
- @param c2 MPIRPC_Channel*.
- */
-int
-MPIRPC_Channel_comm_cmp(void* o1, void* o2)
-{
- MPIRPC_Channel* c1 = (MPIRPC_Channel*) o1;
- MPI_Comm* comm = (MPI_Comm*) o2;
- MPIRPC_Channel channel;
- channel.comm = *comm;
- MPIRPC_Channel* c2 = &channel;
-
- return MPIRPC_Channel_cmp(c1, c2);
-}
-
-void
-MPIRPC_Dump(MPIRPC* rpc)
-{
- printf("[%i]:%i->[%i] %s(%s) \n",
- mpi_rank, rpc->unique, rpc->target.rank,
- rpc->name, rpc->args);
-}
-
-/**
- Show all registered functions.
-*/
-void MPIRPC_Dump_portmap(void)
-{
- hashtable_dumpkeys(portmap);
-}
-
-/**
- Show all registered channels.
-*/
-void
-MPIRPC_Dump_channels()
-{
- struct list_item* item;
- printf("channels: \n");
- for (item = channels->head;
- item; item = item->next)
- {
- MPIRPC_Node* node = (MPIRPC_Node*) item->data;
- printf("\t %s \t\t %X \n", MPIRPC_Comm_get_name(node->comm), node->comm);
- }
-}
-
-void
-MPIRPC_Finalize()
-{
- gossip_do(MASK_MPIRPC, NOTE_F);
-
- list_destroy(channels);
-
- while (garbage_values->size > 0)
- MPIRPC_Garbage_collect();
- list_free(garbage_values);
- hashtable_free(portmap);
- itable_free(rpctable);
-}
-
diff --git a/oldcode/src/mpirpc-2/unpublish.c b/oldcode/src/mpirpc-2/unpublish.c
deleted file mode 100644
index 38809e6..0000000
--- a/oldcode/src/mpirpc-2/unpublish.c
+++ /dev/null
@@ -1,54 +0,0 @@
-
-/**
- Simply unpublish a name from the MPI-2 namespace.
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <mpi.h>
-
-void
-printhelp(void)
-{
- printf("usage: unpublish <name> \n");
- printf("returns 0 on success, 1 on error \n");
-}
-
-void
-crash(int value)
-{
- MPI_Finalize();
- exit(value);
-}
-
-int
-main(int argc, char* argv[])
-{
- MPI_Init(&argc, &argv);
-
- if (argc != 2 ||
- argv[1][0] == '-')
- {
- printhelp();
- crash(1);
- }
-
- char* name = argv[1];
- char port[MPI_MAX_PORT_NAME];
- int err = MPI_Lookup_name(name, MPI_INFO_NULL, port);
- if (err == MPI_SUCCESS)
- {
- printf("%s found. Unpublishing... \n", name);
- MPI_Unpublish_name(name, MPI_INFO_NULL, port);
- }
- else
- {
- printf("%s not found! \n", name);
- crash(1);
- }
-
- MPI_Finalize();
-
- return 0;
-}
diff --git a/oldcode/src/ops/module.mk.in b/oldcode/src/ops/module.mk.in
deleted file mode 100644
index ed558f5..0000000
--- a/oldcode/src/ops/module.mk.in
+++ /dev/null
@@ -1,12 +0,0 @@
-DIR := src/ops
-
-CSRC :=
-
-CLIENT_SMCGEN := \
- $(DIR)/noop.c
-
-# track generated .c files that need to be removed during dist clean, etc.
-SMCGEN += $(CLIENT_SMCGEN)
-
-# list of all .c files (generated or otherwise) that belong in library
-LIBSRC += $(CSRC) $(CLIENT_SMCGEN)
diff --git a/oldcode/src/ops/noop.sm b/oldcode/src/ops/noop.sm
deleted file mode 100644
index ac0a0e8..0000000
--- a/oldcode/src/ops/noop.sm
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * (C) 2003 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-/** \file
- * \ingroup mgmtint
- *
- * PVFS2 management interface routines for sending "no operation"
- * (no-op) requests. This is primarily used for verifying connectivity
- * to servers.
- */
-
-#include <string.h>
-#include <assert.h>
-
-#include "ops.h"
-#include "src/common/gossip/gossip.h"
-
-#if 0
-#include "client-state-machine.h"
-#include "pvfs2-debug.h"
-#include "job.h"
-#include "str-utils.h"
-#include "pint-cached-config.h"
-#include "PINT-reqproto-encode.h"
-#include "bmi.h"
-#endif
-
-extern job_context_id pint_client_sm_context;
-
-%%
-
-machine pvfs2_client_mgmt_noop_sm
-{
- state setup_msgpair
- {
- run mgmt_noop_setup_msgpair;
- default => cleanup;
- }
-
- state cleanup
- {
- run mgmt_noop_cleanup;
- default => terminate;
- }
-}
-
-%%
-
-/** Initiate sending of no-op request to a specific server.
- */
-PVFS_error PVFS_imgmt_noop(
- PVFS_fs_id fs_id,
- PVFS_credentials *credentials,
- PVFS_BMI_addr_t addr,
- PVFS_sys_op_id *op_id,
- void *user_ptr)
-{
- PINT_smcb *smcb = NULL;
- PINT_client_sm *sm_p = NULL;
-
- gossip_debug(GOSSIP_CLIENT_DEBUG, "PVFS_imgmt_noop entered\n");
-
- PINT_smcb_alloc(&smcb, PVFS_MGMT_NOOP,
- sizeof(struct PINT_client_sm),
- &pvfs2_client_mgmt_noop_sm,
- NULL, /* SM termination fn */
- pint_client_sm_context);
- if (!smcb)
- {
- return -PVFS_ENOMEM;
- }
- sm_p = PINT_sm_frame(smcb, PINT_FRAME_CURRENT);
-
- gossip_debug(GOSSIP_CLIENT_DEBUG, "PVFS_mgmt_noop calling "
- "PINT_client_state_machine_post()\n");
-
- return PINT_client_state_machine_post(
- smcb, op_id, user_ptr);
-}
-
-/** Send a no-op request to a specific server and receive response.
- */
-PVFS_error PVFS_mgmt_noop(
- PVFS_fs_id fs_id,
- PVFS_credentials *credentials,
- PVFS_BMI_addr_t addr)
-{
- PVFS_error ret = -PVFS_EINVAL, error = 0;
- PVFS_sys_op_id op_id;
-
- gossip_debug(GOSSIP_CLIENT_DEBUG, "PVFS_mgmt_noop entered\n");
-
- ret = PVFS_imgmt_noop(fs_id, credentials, addr, &op_id, NULL);
- if (ret)
- {
-#if 0
- PVFS_perror_gossip("PVFS_imgmt_noop call", ret);
-#endif
- error = ret;
- }
- else
- {
- ret = PVFS_mgmt_wait(op_id, "noop", &error);
- if (ret)
- {
-#if 0
- PVFS_perror_gossip("PVFS_mgmt_wait call", ret);
-#endif
- error = ret;
- }
- }
-
- PINT_mgmt_release(op_id);
- return error;
-}
-
-static PINT_sm_action mgmt_noop_setup_msgpair(
- struct PINT_smcb *smcb, job_status_s *js_p)
-{
-#if 0
- struct PINT_client_sm *sm_p = PINT_sm_frame(smcb, PINT_FRAME_CURRENT);
-#endif
-
- gossip_debug(GOSSIP_CLIENT_DEBUG,
- "noop state: mgmt_noop_setup_msgpair\n");
-
- js_p->error_code = 0;
- return SM_ACTION_COMPLETE;
-}
-
-static PINT_sm_action mgmt_noop_cleanup(
- struct PINT_smcb *smcb, job_status_s *js_p)
-{
- struct PINT_client_sm *sm_p = PINT_sm_frame(smcb, PINT_FRAME_CURRENT);
- gossip_debug(GOSSIP_CLIENT_DEBUG, "noop state: mgmt_noop_cleanup\n");
-
- sm_p->error_code = js_p->error_code;
-
- PINT_SET_OP_COMPLETE;
- return SM_ACTION_TERMINATE;
-}
-
-/*
- * Local variables:
- * mode: c
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ft=c ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/ops/ops.h b/oldcode/src/ops/ops.h
deleted file mode 100644
index 8306627..0000000
--- a/oldcode/src/ops/ops.h
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * (C) 2003 Clemson University and The University of Chicago
- *
- * See COPYING in top-level directory.
- */
-
-/** \file
- * Declarations for state machine processing on clients.
- */
-
-#ifndef __PVFS2_CLIENT_STATE_MACHINE_H
-#define __PVFS2_CLIENT_STATE_MACHINE_H
-
-/*
- NOTE: state-machine.h is included at the bottom so we can define all
- the client-sm structures before it's included
-*/
-#if 0
-#include "pvfs2-sysint.h"
-#include "pvfs2-types.h"
-#include "pvfs2-storage.h"
-#include "pvfs2-util.h"
-#include "PINT-reqproto-encode.h"
-#include "job.h"
-#include "trove.h"
-#include "acache.h"
-#include "id-generator.h"
-#include "msgpairarray.h"
-#include "pint-sysint-utils.h"
-#include "pint-perf-counter.h"
-#endif
-
-#include "junk.h"
-#include "src/common/job/job.h"
-
-#include "src/common/state-machine/state-machine.h"
-
-/* skip everything except #includes if __SM_CHECK_DEP is already defined; this
- * allows us to get the dependencies right for msgpairarray.sm which relies
- * on conflicting headers for dependency information
- */
-#ifndef __SM_CHECK_DEP
-
-#define MAX_LOOKUP_SEGMENTS PVFS_REQ_LIMIT_PATH_SEGMENT_COUNT
-#define MAX_LOOKUP_CONTEXTS PVFS_REQ_LIMIT_MAX_SYMLINK_RESOLUTION_COUNT
-
-/* Default client timeout in seconds used to set the timeout for jobs that
- * send or receive request messages.
- */
-#define PVFS2_CLIENT_JOB_BMI_TIMEOUT_DEFAULT 30
-
-/* Default number of times to retry restartable client operations. */
-#define PVFS2_CLIENT_RETRY_LIMIT_DEFAULT (5)
-
-/* Default number of milliseconds to delay before retries */
-#define PVFS2_CLIENT_RETRY_DELAY_MS_DEFAULT 2000
-
-int PINT_client_state_machine_initialize(void);
-void PINT_client_state_machine_finalize(void);
-job_context_id PINT_client_get_sm_context(void);
-
-struct handle_to_index {
- PVFS_handle handle;
- int handle_index;/* This is the index into the dirent array itself */
- int aux_index; /* this is used to store the ordinality of the dfile handles */
-};
-
-/* flag to disable cached lookup during getattr nested sm */
-#define PINT_SM_GETATTR_BYPASS_CACHE 1
-
-
-typedef struct PINT_client_sm
-{
- /* this code removed and corresponding fields added to the generic
- * state machine code in the PINT_smcb struct
- */
- /* used internally by client-state-machine.c */
- PVFS_sys_op_id sys_op_id;
- void *user_ptr;
-
- /* stores the final operation error code on operation exit */
- /* NOTE: CAN WE RENAME AND REUSE AS VALUE FROM LAST TRANSITION? */
- PVFS_error error_code;
-
- PVFS_credentials *cred_p;
-} PINT_client_sm;
-
-/* sysint post/test functions */
-PVFS_error PINT_client_state_machine_post(
- PINT_smcb *smcb,
- PVFS_sys_op_id *op_id,
- void *user_ptr);
-
-PVFS_error PINT_client_state_machine_release(
- PINT_smcb * smcb);
-
-PVFS_error PINT_client_state_machine_test(
- PVFS_sys_op_id op_id,
- int *error_code);
-
-PVFS_error PINT_client_state_machine_testsome(
- PVFS_sys_op_id *op_id_array,
- int *op_count, /* in/out */
- void **user_ptr_array,
- int *error_code_array,
- int timeout_ms);
-
-/* exposed wrappers around the id-generator code */
-static inline int PINT_id_gen_safe_register(
- PVFS_sys_op_id *new_id,
- void *item)
-{
- return id_gen_safe_register(new_id, item);
-}
-
-static inline void *PINT_id_gen_safe_lookup(
- PVFS_sys_op_id id)
-{
- return id_gen_safe_lookup(id);
-}
-
-static inline int PINT_id_gen_safe_unregister(
- PVFS_sys_op_id id)
-{
- return id_gen_safe_unregister(id);
-}
-
-/* debugging method for getting a string macthing the op_type */
-const char *PINT_client_get_name_str(int op_type);
-
-/* used with post call to tell the system what state machine to use
- * when processing a new PINT_client_sm structure.
- */
-enum
-{
- PVFS_MGMT_NOOP = 71,
- PVFS_DEV_UNEXPECTED = 400
-};
-
-#define PVFS_OP_SYS_MAXVALID 21
-#define PVFS_OP_SYS_MAXVAL 69
-#define PVFS_OP_MGMT_MAXVALID 81
-#define PVFS_OP_MGMT_MAXVAL 199
-
-int PINT_client_io_cancel(job_id_t id);
-
-/* internal non-blocking helper methods */
-int PINT_client_wait_internal(
- PVFS_sys_op_id op_id,
- const char *in_op_str,
- int *out_error,
- const char *in_class_str);
-
-void PINT_sys_release(PVFS_sys_op_id op_id);
-
-struct PINT_client_op_entry_s
-{
- struct PINT_state_machine_s * sm;
-};
-
-extern struct PINT_client_op_entry_s PINT_client_sm_sys_table[];
-extern struct PINT_client_op_entry_s PINT_client_sm_mgmt_table[];
-
-/* system interface function state machines */
-extern struct PINT_state_machine_s pvfs2_client_mgmt_noop_sm;
-
-#if 0
-#include "src/common/state-machine/state-machine.h"
-#endif
-
-/* method for lookup up SM from OP */
-struct PINT_state_machine_s *client_op_state_get_machine(int);
-int client_state_machine_terminate(struct PINT_smcb *, job_status_s *);
-
-#endif /* __SM_CHECK_DEP */
-#endif /* __PVFS2_CLIENT_STATE_MACHINE_H */
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/src/shell/module.mk.in b/oldcode/src/shell/module.mk.in
deleted file mode 100644
index e69de29..0000000
diff --git a/oldcode/src/skullfs/client.gs b/oldcode/src/skullfs/client.gs
deleted file mode 100644
index d5550c7..0000000
--- a/oldcode/src/skullfs/client.gs
+++ /dev/null
@@ -1,414 +0,0 @@
-
-#include <skullfs_client.gsh>
-
-/*
-MPI_Comm skull_comm;
-struct ilist* skull_contacts;
-*/
-
-/*
-void
-skull_init(MPI_Comm comm, struct ilist* contacts)
-{
- skull_comm = comm;
- skull_contacts = table_nodes;
-}
-*/
-
-/**
- @param root_id OUT The gobs_id of the root directory object.
-*/
-__blocking int
-skullfs_mkfs(gum_node target, gobs_id* root_id)
-{
- gobs_id result;
- gum_msg* msg;
- gum_msg* response;
-
- msg = gum_msg_build(GOBS_MKFS, "", 1);
- gum_call(target, msg, &response);
- sscanf(response->data, "%i", &result);
-
- gossip_debug(MASK_CLIENT, "skullfs_mkfs(): %s\n", response->data);
-
- *root_id = result;
-
- return 1;
-}
-
-__blocking gobs_id
-skullfs_lookup(gum_node target, char* path)
-{
- gobs_id result;
- gum_msg* msg;
- gum_msg* response;
-
- msg = gum_msg_build(GOBS_LOOKUP, path, strlen(path)+1);
- gum_call(target, msg, &response);
- sscanf(response->data, "%i", &result);
-
- return result;
-}
-
-/**
- @param directory_id OUT The id of the new directory.
-*/
-__blocking int
-skullfs_mkdir(gum_node target, gobs_id parent, char* name,
- gobs_id* directory_id)
-{
- gobs_id result;
- gum_node recipient;
- gum_msg* msg;
- gum_msg* response;
-
- char args[NAME_MAX+32];
-
- sprintf(args, "%i %s", parent, name);
-
- gobs_query(target, parent, &recipient);
- msg = gum_msg_build(GOBS_MKDIR, args, strlen(args)+1);
- gum_call(recipient, msg, &response);
-
- sscanf(response->data, "%i", &result);
-
- *directory_id = result;
-
- return 1;
-}
-
-__blocking int
-skullfs_ls(gum_node target, gobs_id directory_id,
- int* count, char*** names, int** ids)
-{
- gum_node recipient;
- gum_msg* msg;
- gum_msg* response;
-
- char args[NAME_MAX+32];
- char* p;
- char* q;
- int n,i;
-
- gossip_debug(MASK_CLIENT, "skullfs_ls(): %i\n", directory_id);
-
- sprintf(args, "%i", directory_id);
-
- gobs_query(target, directory_id, &recipient);
- msg = gum_msg_build(GOBS_LIST, args, strlen(args)+1);
- gum_call(recipient, msg, &response);
-
- p = response->data;
-
- sscanf(p, "%i\n%n", count, &n);
- p += n;
-
- *names = malloc(*count*sizeof(char*));
- *ids = malloc(*count*sizeof(int));
-
- for (i = 0; i < *count; i++)
- {
- q = strchr(p, ' ');
- (*names)[i] = malloc((q-p+1)*sizeof(char));
- sscanf(p, "%s %i|%n", (*names)[i], &((*ids)[i]), &n);
- p += n;
- }
-
- return 1;
-}
-
-__blocking int
-skullfs_create(gum_node target, gobs_id directory_id, char* name,
- gobs_id* file_id)
-{
- gum_msg msg;
- gum_msg* response;
- char args[NAME_MAX+32];
-
- sprintf(args, "%i %s", directory_id, name);
-
- gum_msg_init(GOBS_MAKE_FILE, args, strlen(args)+1, &msg);
- gum_call(target, &msg, &response);
-
- sscanf(response->data, "%i", file_id);
-
- return 1;
-}
-
-__blocking int
-skullfs_open(gum_node target, gobs_id file, skullfs_fd* fd)
-{
- gum_node recipient;
- gum_msg* msg;
- gum_msg* response;
-
- char args[32];
- char* p;
- int i,n;
-
- sprintf(args, "%i", file);
-
- gobs_query(target, file, &recipient);
- msg = gum_msg_build(GOBS_OPEN, args, strlen(args)+1);
- gum_call(recipient, msg, &response);
-
- p = response->data;
- sscanf(p, "%i %n", &(fd->sack.size), &n);
- p += n;
-
- fd->sack.id = malloc(fd->sack.size * sizeof(gobs_id));
- for (i = 0; i < fd->sack.size; i++)
- {
- sscanf(p, "%i %n", &(fd->sack.id[i]), &n);
- p += n;
- }
-
- return 1;
-
-}
-
-__blocking int
-skullfs_pwrite(gum_node target, skullfs_fd* fd,
- void* data, int count, int offset)
-{
- gack_sack sack;
- int current;
- int wraps;
-
- // Number of first blob:
- int first;
- // Number of blobs:
- int total;
- // Blob number:
- int i;
- // Helper indices into data:
- int r,l;
- // Moving pointer into data:
- void* p;
-
- sack = fd->sack;
-
- first = (offset/SKULLFS_BLOB_SIZE) % sack.size;
- wraps = offset/(SKULLFS_BLOB_SIZE*sack.size);
- total = count/SKULLFS_BLOB_SIZE + 1;
-
- p = data;
-
- // Write first partial blob...
- current = first;
- r = offset % SKULLFS_BLOB_SIZE;
- l = SKULLFS_BLOB_SIZE-r;
- skullfs_pwrite_blob(target, sack.id[current], p, l, r);
- p += l;
-
- // Write whole blobs:
- for (i = 1; i < total-1; i++)
- {
- current = current+1 % sack.size;
- if (current == 0)
- wraps++;
- skullfs_pwrite_blob(target, sack.id[current], p,
- SKULLFS_BLOB_SIZE, wraps*SKULLFS_BLOB_SIZE);
- p += SKULLFS_BLOB_SIZE;
- }
-
- // Write last partial blob...
- current = current+1 % sack.size;
- if (current == 0)
- wraps++;
- l = count % SKULLFS_BLOB_SIZE;
- skullfs_pwrite_blob(target, sack.id[current], p, l,
- wraps*SKULLFS_BLOB_SIZE);
-
- return 1;
-}
-
-/**
- Find all the blobs for this file.
- Create blobs if necessary.
- @param blobs_ids OUT The resulting blob ids.
-*/
-/*
-__blocking int
-skullfs_fallocate(gum_node target, gobs_id file_id,
- int first, int blobs, gobs_id* blob_ids)
-{
- gum_node node;
- gum_msg* msg;
- gum_msg* response;
-
- char args[32];
- char* p;
- int i;
- int n;
-
- sprintf(args, "%i %i %i", file_id, first, blobs);
- gobs_query(target, file_id, &node);
- msg = gum_msg_build(GOBS_ALLOCATE, args, strlen(args)+1);
- gum_call(node, msg, &response);
-
- p = response->data;
-
- gossip_debug(MASK_CLIENT, "skullfs_blob_ids(): got: %s\n",
- response->data);
-
- for (i = 0; i < blobs; i++)
- {
- sscanf(p, "%i %n", &(blob_ids[i]), &n);
- p += n;
- }
-
- return 1;
-}
-*/
-
-/**
- Find all the blobs for this file.
- @param blobs_ids OUT The resulting blob ids.
-*/
-/*
-__blocking int
-skullfs_blob_ids(gum_node target, gobs_id file_id,
- int first, int blobs, gobs_id* blob_ids)
-{
- gum_node node;
- gum_msg* msg;
- gum_msg* response;
-
- char args[32];
- char* p;
- int i;
- int n;
-
- gossip_debug(MASK_CLIENT, "skullfs_blob_ids(%i %i %i): \n",
- file_id, first, blobs);
-
- sprintf(args, "%i %i %i", file_id, first, blobs);
- gobs_query(target, file_id, &node);
- msg = gum_msg_build(GOBS_BLOB_IDS, args, strlen(args)+1);
- gum_call(node, msg, &response);
-
- p = response->data;
-
- gossip_debug(MASK_CLIENT, "skullfs_blob_ids(): got: %s\n",
- response->data);
-
- for (i = 0; i < blobs; i++)
- {
- sscanf(p, "%i %n", &(blob_ids[i]), &n);
- p += n;
- }
-
- return 1;
-}
-*/
-
-__blocking int
-skullfs_pwrite_blob(gum_node target, gobs_id blob_id,
- void* data, int bytes, int offset)
-{
- gum_node node;
-
- gossip_debug(MASK_CLIENT, "pwrite_blob(%i,%i,%i):\n:",
- blob_id, bytes, offset);
-
- gobs_query(target, blob_id, &node);
-
- gobs_write(node, blob_id, data, bytes, offset);
-
- return 1;
-}
-
-__blocking int
-skullfs_pread(gum_node target, skullfs_fd* fd,
- void* data, int count, int offset)
-{
- gack_sack sack;
- int current;
- int wraps;
-
- // Number of first blob:
- int first;
- // Number of blobs:
- int total;
- // Blob number:
- int i;
- // Helper indices into data:
- int r,l;
- // Moving pointer into data:
- void* p;
-
- sack = fd->sack;
-
- first = (offset/SKULLFS_BLOB_SIZE) % sack.size;
- wraps = offset/(SKULLFS_BLOB_SIZE*sack.size);
- total = count/SKULLFS_BLOB_SIZE + 1;
-
- p = data;
-
- // Read first partial blob...
- current = first;
- r = offset % SKULLFS_BLOB_SIZE;
- l = SKULLFS_BLOB_SIZE-r;
- skullfs_pread_blob(target, sack.id[current], p, l, r);
- p += l;
-
- // Read whole blobs:
- for (i = first+1; i < total-1; i++)
- {
- current = current+1 % sack.size;
- if (current == 0)
- wraps++;
- skullfs_pread_blob(target, sack.id[current], p,
- SKULLFS_BLOB_SIZE, wraps*SKULLFS_BLOB_SIZE);
- p += SKULLFS_BLOB_SIZE;
- }
-
- // Write last partial blob:
- current = current+1 % sack.size;
- if (current == 0)
- wraps++;
- l = count % SKULLFS_BLOB_SIZE;
- skullfs_pread_blob(target, sack.id[current], p, l,
- wraps*SKULLFS_BLOB_SIZE);
-
- return 1;
-}
-
-__blocking int
-skullfs_pread_blob(gum_node target, gobs_id blob_id,
- void* data, int count, int offset)
-{
- gum_node node;
-
- gossip_debug(MASK_CLIENT, "pread_blob(%i,%i,%i):\n:",
- blob_id, count, offset);
-
- gobs_query(target, blob_id, &node);
-
- gobs_read(node, blob_id, data, count, offset);
-
- return 1;
-}
-
-
-/*
-int
-skull_allocate(skull_file* file)
-{
-
-}
-
-int
-skull_read(void* data, int bytes, skull_file* file)
-{
-
-}
-
-
-int
-skull_close(skull_file* file)
-{
- free(file);
-}
-*/
diff --git a/oldcode/src/skullfs/handlers.gs b/oldcode/src/skullfs/handlers.gs
deleted file mode 100644
index f4cb202..0000000
--- a/oldcode/src/skullfs/handlers.gs
+++ /dev/null
@@ -1,348 +0,0 @@
-
-#include <skullfs_handlers.gsh>
-
-__blocking int
-handle_mkfs(gum_node caller, gum_msg* call)
-{
- gum_msg response;
-
- gobs_id* new_id;
-
- skullfs_object* root;
-
- assert(mpi_rank == 0);
-
- new_id = malloc(sizeof(gobs_id));
- *new_id = 0;
-
- root = skullfs_alloc_directory();
- itable_add(gobs_cache, *new_id, root);
-
- response.unique = flip2(call->unique);
- response.data = malloc(16);
- strcpy(response.data, "0");
- response.length = strlen(response.data)+1;
-
- gum_return(caller, &response);
- return 1;
-}
-
-__blocking int
-handle_mkdir(gum_node caller, gum_msg* call)
-{
- gum_msg response;
-
- gobs_id parent_id;
- gobs_id* new_id;
- int length;
- char* name;
- char* p;
-
- skullfs_object* parent_directory;
- skullfs_object* new_directory;
-
- p = strchr(call->data, ' ');
- length = strlen(p);
- name = malloc(length+1);
- sscanf(call->data, "%i %s", &parent_id, name);
-
- gossip_debug(MASK_FS, "handle_mkdir(): %i %s\n", parent_id, name);
-
- new_id = malloc(sizeof(gobs_id));
- *new_id = rand_lt(100);
-
- parent_directory = itable_search(gobs_cache, parent_id);
- new_directory = skullfs_alloc_directory();
- itable_add(gobs_cache, *new_id, new_directory);
- hashtable_add(parent_directory->contents, name, new_id);
-
- response.unique = flip2(call->unique);
- response.data = malloc(16);
- sprintf(response.data, "%i", *new_id);
- response.length = strlen(response.data)+1;
-
- gum_return(caller, &response);
-
- return 1;
-}
-
-__blocking int
-handle_list(gum_node caller, gum_msg* call)
-{
- gum_msg response;
- gobs_id directory_id;
- int count;
- char** names;
- int* ids;
-
- int size;
-
- sscanf(call->data, "%i", &directory_id);
-
- gossip_debug(MASK_FS, "handle_list(%i): \n", directory_id);
-
- count = skullfs_list(directory_id, &names, &ids);
-
- size = skullfs_serialize_directory(count, names, ids, &response.data);
-
- response.length = size;
- response.unique = flip2(call->unique);
-
- gum_return(caller, &response);
-
- return 1;
-}
-
-__blocking int
-handle_make_file(gum_node caller, gum_msg* call)
-{
- gum_msg response;
- gobs_id directory_id;
- gobs_id file_id;
-
- char* p;
- int length;
- char* name;
-
- p = strchr(call->data, ' ');
- length = strlen(p);
- name = malloc(length+1);
- sscanf(call->data, "%i %s", &directory_id, name);
-
- skullfs_make_file(directory_id, name, &file_id);
-
- gossip_debug(MASK_FS, "made file: %i\n", file_id);
-
- response.unique = flip2(call->unique);
- response.data = malloc(16);
- sprintf(response.data, "%i", file_id);
- response.length = strlen(response.data)+1;
-
- gum_return(caller, &response);
-
- return 1;
-}
-
-
-__blocking int
-handle_link_file(gum_node caller, gum_msg* call)
-{
- gum_msg response;
-
- gobs_id directory_id;
- gobs_id file_id;
-
- char* p;
- int length;
- char* name;
-
- p = strchr(call->data, ' ');
- p = strchr(p+1, ' ');
- length = strlen(p);
- name = malloc(length+1);
- sscanf(call->data, "%i %i %s", &directory_id, &file_id, name);
-
- skullfs_link_file(directory_id, file_id, name);
-
- response.unique = flip2(call->unique);
- response.data = NULL;
- response.length = 0;
-
- gum_return(caller, &response);
-
- return 1;
-}
-
-__blocking int
-handle_create_file(gum_node caller, gum_msg* call)
-{
- gum_msg response;
- gobs_id file_id;
- gack_sack* sack;
-
- int i,n;
- char* p;
- p = call->data;
-
- printf("handle_create_file(%s)\n", call->data);
- p = call->data;
-
- sack = malloc(sizeof(gack_sack));
- sscanf(p, "%i %i %n", &file_id, &(sack->size), &n);
- p += n;
-
- sack->id = malloc(sack->size * sizeof(gobs_id));
- for (i = 0; i < n; i++)
- {
- sscanf(p, "%i %n", &(sack->id[i]), &n);
- p += n;
- }
-
- skullfs_create_file(file_id, sack);
-
- response.unique = flip2(call->unique);
- response.data = NULL;
- response.length = 0;
-
- gum_return(caller, &response);
-
- return 1;
-}
-
-/*
-__blocking int
-handle_link_blobs(gum_node caller, gum_msg* call)
-{
- gum_msg response;
-
- gobs_id file_id;
- gack_sack sack;
- int blob_number;
- gobs_id blob_id;
- int n;
- char* p;
-
- printf("handle_link_blobs():\n");
-
- skullfs_link_blobs(file_id, &sack);
-
- response.unique = flip2(call->unique);
- response.data = NULL;
- response.length = 0;
-
- gum_return(caller, &response);
-
- return 1;
-}
-*/
-
-__blocking int
-handle_create_blob(gum_node caller, gum_msg* call)
-{
- gum_msg response;
- gobs_id blob_id;
-
- gossip_debug(MASK_FS, "handle_create_blob(): \n");
-
- sscanf(call->data, "%i", &blob_id);
-
- skullfs_create_blob(blob_id);
-
- response.unique = flip2(call->unique);
- response.data = malloc(1);
- response.data[0] = '\0';
- response.length = 1;
-
- gum_return(caller, &response);
-
- return 1;
-}
-
-/*
-__blocking int
-handle_allocate(gum_node caller, gum_msg* call)
-{
- gum_msg response;
- gobs_id file_id;
- int first;
- int blobs;
- gobs_id* blob_ids;
- int i;
- char* p;
-
- gossip_debug(MASK_FS, "handle_allocate(): \n");
-
- sscanf(call->data, "%i %i %i", &file_id, &first, &blobs);
-
- blob_ids = malloc(blobs*sizeof(gobs_id));
- skullfs_ensure_blobs(file_id, first, blobs, blob_ids);
-
- response.unique = flip2(call->unique);
- response.data = malloc(blobs*16);
-
- p = response.data;
- for (i = 0; i < blobs; i++)
- {
- p += sprintf(p, "%i ", blob_ids[i]);
- }
- response.length = strlen(response.data)+1;
-
- gum_return(caller, &response);
-
- return 1;
-
-}
-*/
-
-/*
-__blocking int
-handle_blob_ids(gum_node caller, gum_msg* call)
-{
- gum_msg response;
- gobs_id file_id;
- int first;
- int blobs;
- gobs_id* blob_ids;
- int i;
- char* p;
-
- gossip_debug(MASK_FS, "handle_blob_ids(): \n");
-
- sscanf(call->data, "%i %i %i", &file_id, &first, &blobs);
-
- blob_ids = malloc(blobs*sizeof(gobs_id));
- skullfs_list_blobs(file_id, first, blobs, blob_ids);
-
- response.unique = flip2(call->unique);
- response.data = malloc(blobs*16);
-
- p = response.data;
- for (i = 0; i < blobs; i++)
- {
- p += sprintf(p, "%i ", blob_ids[i]);
- }
- response.length = strlen(response.data)+1;
-
- gum_return(caller, &response);
-
- return 1;
-
-}
-*/
-
-__blocking int
-handle_open(gum_node caller, gum_msg* call)
-{
- gum_msg response;
- gobs_id file_id;
-
- skullfs_object* object;
- skullfs_file* file;
- gack_sack* sack;
-
- int i;
- char* p;
-
- gossip_debug(MASK_FS, "handle_open(): \n");
-
- sscanf(call->data, "%i", &file_id);
-
- object = itable_search(gobs_cache, file_id);
- file = object->contents;
- sack = file->sack;
-
- response.unique = flip2(call->unique);
- response.data = malloc(sack->size * 16);
-
- p = response.data;
- p += sprintf(p, "%i ", sack->size);
- for (i = 0; i < sack->size; i++)
- {
- p += sprintf(p, "%i ", sack->id[i]);
- }
- response.length = strlen(response.data)+1;
-
- gum_return(caller, &response);
-
- return 1;
-}
diff --git a/oldcode/src/skullfs/module.mk.in b/oldcode/src/skullfs/module.mk.in
deleted file mode 100644
index c4a9c6d..0000000
--- a/oldcode/src/skullfs/module.mk.in
+++ /dev/null
@@ -1,7 +0,0 @@
-
-# SKULLFS: Grayskull sequential interface.
-
-DIR := src/skullfs
-
-SKULLFS_GSSRC := $(shell cd @SRC_ABSOLUTE_TOP@; find $(DIR) -name "*.gs" )
-SKULLFS_OBJS := $(patsubst %.gs, %.o, $(SKULLFS_GSSRC))
diff --git a/oldcode/src/skullfs/rpcs.gs b/oldcode/src/skullfs/rpcs.gs
deleted file mode 100644
index b1222d6..0000000
--- a/oldcode/src/skullfs/rpcs.gs
+++ /dev/null
@@ -1,87 +0,0 @@
-
-#include <skullfs_rpcs.gsh>
-
-__blocking int
-rpc_create_blob(gobs_location* blob)
-{
- gum_msg blob_msg;
- gum_msg* response;
-
- char args[32];
-
- gossip_debug(MASK_FS, "rpc_create_blob(%i): \n", blob->id);
-
- blob->node = gobs_lookup(blob->id);
-
- if (blob->node.comm == self.comm &&
- blob->node.rank == self.rank)
- {
- skullfs_create_blob(blob->id);
- }
- else
- {
- sprintf(args, "%i", blob->id);
- gum_msg_init(GOBS_CREATE_BLOB, args, strlen(args)+1, &blob_msg);
- gum_call(blob->node, &blob_msg, &response);
- }
-
- return 1;
-}
-
-__blocking int
-rpc_create_file(gobs_location* file, gack_sack* sack)
-{
- gum_msg file_msg;
- gum_msg* response;
-
- char* args;
- char* p;
- int i;
-
- args = malloc(16*sack->size+32);
- p = args;
-
- file->id = gack_file();
- file->node = gobs_lookup(file->id);
-
- if (file->node.comm == self.comm &&
- file->node.rank == self.rank)
- {
- skullfs_create_file(file->id, sack);
- }
- else
- {
- p += sprintf(p, "%i %i ", file->id, sack->size);
- for (i = 0; i < sack->size; i++)
- p += sprintf(p, "%i ", sack->id[i]);
-
- gum_msg_init(GOBS_CREATE_FILE, args, strlen(args)+1, &file_msg);
- gum_call(file->node, &file_msg, &response);
- }
-
- return 1;
-}
-
-__blocking int
-rpc_link_file(gobs_location directory, gobs_location file,
- char* filename)
-{
- gum_msg link_msg;
- gum_msg* response;
-
- char args[32];
-
- if (directory.node.comm == self.comm &&
- directory.node.rank == self.rank)
- {
- skullfs_link_file(directory.id, file.id, filename);
- }
- else
- {
- sprintf(args, "%i %i %s", directory.id, file.id, filename);
- gum_msg_init(GOBS_LINK_FILE, args, strlen(args)+1, &link_msg);
- gum_call(directory.node, &link_msg, &response);
- }
-
- return 1;
-}
diff --git a/oldcode/src/skullfs/skullfs.gs b/oldcode/src/skullfs/skullfs.gs
deleted file mode 100644
index 24557a9..0000000
--- a/oldcode/src/skullfs/skullfs.gs
+++ /dev/null
@@ -1,358 +0,0 @@
-
-#include <skullfs.gsh>
-
-/**
- @return The number of path members including / (root)
- or 0 on error.
-*/
-int
-skullfs_split_path(char* path, char** ptrs, int* lengths)
-{
- bool done = false;
- char* p = path;
- char* q;
- int i = 0;
-
- p = path;
-
- if (path == NULL)
- return 0;
-
- if (path[0] != '/')
- return 0;
-
- ptrs[i] = p;
- lengths[i++] = 1;
-
- while (! done)
- {
- q = strchr(p+1, '/');
- ptrs[i] = p+1;
- if (q)
- {
- lengths[i++] = q-(p+1);
- }
- else
- {
- lengths[i++] = strlen(p+1);
- break;
- }
- p = q;
- }
-
- return i;
-}
-
-/*
-__blocking int
-handle_open(gum_node caller, gum_msg* call)
-{
-
-
- return 0;
-}
-*/
-
-skullfs_object*
-skullfs_alloc_directory()
-{
- skullfs_object* result;
-
- result = malloc(sizeof(skullfs_object));
- result->type = SKULLFS_DIRECTORY;
- result->contents = hashtable_create(10);
-
- return result;
-}
-
-skullfs_object*
-skullfs_alloc_file()
-{
- skullfs_object* result;
- skullfs_file* file;
-
- result = malloc(sizeof(skullfs_object));
- result->type = SKULLFS_FILE;
- result->contents = malloc(sizeof(skullfs_file));
-
- file = result->contents;
- file->sack = NULL;
-
- return result;
-}
-
-skullfs_object*
-skullfs_alloc_blob()
-{
- skullfs_object* result;
- skullfs_blob* blob;
-
- result = malloc(sizeof(skullfs_object));
- result->type = SKULLFS_BLOB;
- result->contents = malloc(sizeof(skullfs_blob));
- blob = result->contents;
- blob->size = 0;
- blob->data = NULL;
-
- return result;
-}
-
-/**
- @return The size of the result.
-*/
-int
-skullfs_serialize_directory(int count, char** names, int* ids,
- char** result)
-{
- int size;
- int i;
- char* p;
-
- *result = malloc(count*NAME_MAX+16);
- p = *result;
-
- p += sprintf(p, "%i\n", count);
- for (i = 0; i < count; i++)
- {
- p += sprintf(p, "%s %i|", names[i], ids[i]);
- }
-
- size = (p-*result)+1;
-
- return size;
-}
-
-/**
- @param directory_id IN The directory to list.
- @param result OUT The directory contents as a string.
- @return The number of directory entries.
-*/
-int
-skullfs_list(gobs_id directory_id, char*** names, int** ids)
-{
- skullfs_object* directory;
- struct hashtable* contents;
- struct klist_item* item;
-
- int row = 0;
- int entry = 0;
-
- directory = itable_search(gobs_cache, directory_id);
- contents = directory->contents;
-
- *names = malloc(contents->size*sizeof(char*));
- *ids = malloc(contents->size*sizeof(int));
-
- for (row = 0; row < contents->capacity; row++)
- {
- if (contents->array[row]->size > 0)
- {
- for (item = contents->array[row]->head; item;
- item = item->next)
- {
- (*names)[entry] = item->key;
- (*ids)[entry] = *(int*) item->data;
- entry++;
- }
- }
- }
-
- return contents->size;
-}
-
-/*
-int
-skullfs_link_blobs(gobs_id file_id, gack_sack* sack)
-{
- skullfs_object* file;
- gobs_id* blob_space;
-
- blob_space = malloc(sack->size * sizeof(gobs_id));
-
- gossip_debug(MASK_FS, "skullfs_link_blob(%i,%i,%i)...\n",
- file_id, blob_id, blob_number);
-
- file = itable_search(gobs_cache, file_id);
- itable_add(file->contents, blob_number, blob_space);
-
- return 1;
-}
-*/
-
-int
-skullfs_create_blob(gobs_id blob_id)
-{
- skullfs_object* blob;
-
- gossip_debug(MASK_FS, "skullfs_create_blob(%i)...\n", blob_id);
-
- blob = skullfs_alloc_blob();
- itable_add(gobs_cache, blob_id, blob);
-
- return 1;
-}
-
-int
-skullfs_create_file(gobs_id file_id, gack_sack* sack)
-{
- skullfs_object* object;
- skullfs_file* file;
-
- object = skullfs_alloc_file();
- file = object->contents;
- file->sack = sack;
-
- gossip_debug(MASK_FS, "skullfs_create_file(%i)\n", file_id);
-
- itable_add(gobs_cache, file_id, object);
-
- return 1;
-}
-
-int
-skullfs_link_file(gobs_id directory_id, gobs_id file_id, char* name)
-{
- skullfs_object* directory;
-
- gobs_id* file_space;
-
- file_space = malloc(sizeof(gobs_id));
- *file_space = file_id;
-
- directory = itable_search(gobs_cache, directory_id);
- hashtable_add(directory->contents, name, file_space);
-
- return 1;
-}
-
-/**
- Create file.
- Remote nodes are contacted to create the file, the first blob,
- and insert the link.
-
- @param file_id OUT The id of the new file.
-*/
-__blocking int
-skullfs_make_file(gobs_id directory_id, char* filename,
- gobs_id* file_id)
-{
- gobs_location file;
- gack_sack* sack;
- gobs_location blob;
- gobs_location directory;
-
- int i;
-
- directory.id = directory_id;
-
- sack = gack_allocate(3);
-
- gossip_debug(MASK_FS, "skullfs_make_file()... \n");
-
- for (i = 0; i < sack->size; i++)
- {
- blob.id = sack->id[i];
- rpc_create_blob(&blob);
- }
-
- rpc_create_file(&file, sack);
-
- gossip_debug(MASK_FS, "created file\n");
-
- directory.node = gobs_lookup(directory.id);
- rpc_link_file(directory, file, filename);
-
- gossip_debug(MASK_FS, "linked file\n");
-
- *file_id = file.id;
-
- return 1;
-}
-
-/*
- Return the list relevant blob ids.
- If more were requested, create them.
-
-__blocking int
-skullfs_ensure_blobs(gobs_id file_id, int first, int count,
- gobs_id* blob_ids)
-{
- skullfs_object* file;
- struct itable* contents;
-
- void* entry;
- int i;
- gobs_location blob;
- gobs_id* new_id;
-
- printf("skullfs_ensure_blobs(%i,%i,%i):\n", file_id, first, count);
-
- file = itable_search(gobs_cache, file_id);
- contents = file->contents;
-
- for (i = first; i < count; i++)
- {
- entry = itable_search(contents, i);
- if (entry == NULL)
- break;
- blob_ids[i] = *(int*) entry;
- printf("have entry: %i %i\n", i, blob_ids[i]);
- }
-
- while (i != count)
- {
- printf("need one more:\n");
- blob.node = gobs_lookup(blob.id);
- rpc_create_blob(&blob);
-
- new_id = malloc(sizeof(gobs_id));
- *new_id = blob.id;
- itable_add(contents, i, new_id);
-
- blob_ids[i] = blob.id;
- i++;
- }
-
- return 1;
-}
-*/
-
-/**
- Return the list of relevant blob ids.
- If more were requested, return 0s for those blob ids.
- @param blob_ids OUT
-*/
-int
-skullfs_list_blobs(gobs_id file_id, int first, int count,
- gobs_id* blob_ids)
-{
- skullfs_object* file;
- struct itable* contents;
-
- int i;
- void* entry;
-
- printf("skullfs_list_blobs(%i,%i,%i):\n", file_id, first, count);
-
- file = itable_search(gobs_cache, file_id);
- contents = file->contents;
-
- for (i = first; i < count; i++)
- {
- entry = itable_search(contents, i);
- if (entry == NULL)
- break;
- blob_ids[i] = *(int*) entry;
- printf("have entry: %i %i\n", i, blob_ids[i]);
- }
-
- while (i != count)
- {
- printf("do not have entry: %i\n", i);
- blob_ids[i] = 0;
- i++;
- }
-
- return 1;
-}
-
diff --git a/oldcode/test/Makefile.in b/oldcode/test/Makefile.in
deleted file mode 100644
index 3fec5c1..0000000
--- a/oldcode/test/Makefile.in
+++ /dev/null
@@ -1,302 +0,0 @@
-# Top level makefile for pvfs2 test programs
-# define a few generic variables that we need to use
-
-srcdir = @srcdir@
-prefix = @prefix@
-datarootdir = @datarootdir@
-mandir = @mandir@
-exec_prefix = @exec_prefix@
-pvfs2_srcdir = $(srcdir)/..
-pvfs2_builddir = ..
-
-VPATH = $(srcdir)
-SHELL = @SHELL@
-INSTALL = @INSTALL@
-# TODO: should probably check for bison and flex in configure
-LDSHARED = $(CC) -shared
-PICFLAGS = -fPIC
-BUILD_MPI = @BUILD_MPI@
-MPICC = @MPICC@
-GNUC = @GNUC@
-INTELC = @INTELC@
-MPI_GNUC = @MPI_GNUC@
-MPI_INTELC = @MPI_INTELC@
-TARGET_OS_DARWIN = @TARGET_OS_DARWIN@
-TARGET_OS_LINUX = @TARGET_OS_LINUX@
-TARGET_OS_BSD = @TARGET_OS_BSD@
-# override default quiet mode with "make V=1"
-QUIET_COMPILE = @QUIET_COMPILE@
-ifdef V
- QUIET_COMPILE = 0
-endif
-
-ifeq ($(QUIET_COMPILE),1)
- # say a one-line description of the action, do not echo the command
- Q=@echo
- E=@
-else
- # do not say the short Q lines, but do echo the entire command
- Q=@echo >/dev/null
- E=
-endif
-
-# Eliminate all default suffixes. We want explicit control.
-.SUFFIXES:
-
-# PHONEY targets are targets that do not result in the generation
-# of a file that has the same name as the target. Listing them
-# here keeps make from accidentally doing too much work (see GNU
-# make manual).
-.PHONY: all clean distclean cscope tags
-
-################################################################
-# Find project subdirectories
-
-# MODULES is a list of subdirectories that we wish to operate on.
-# They are identified by the presence of module.mk files (makefile
-# includes).
-MODULES := $(shell find . -name "*.mk" | sed -e 's/^.\///;s/module.mk//')
-
-# List of directories to search for headers.
-INCLUDES := \
- ${pvfs2_srcdir}/include \
- ${pvfs2_srcdir}/src \
- ${pvfs2_srcdir}
-
-#################################################################
-# Setup global flags
-
-# These should all be self explanatory; they are standard flags
-# for compiling and linking unless otherwise noted
-CC = @CC@
-CFLAGS = @CFLAGS@ @DB_CFLAGS@
-LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
-LD = gcc
-LDSHARED = $(CC) -shared
-PICFLAGS = -fPIC
-LIBS += -lpvfs2
-LDFLAGS += -L$(pvfs2_srcdir)/lib
-
- # turn on large file support by default
-CFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
- # include current directory (for pvfs2-test-config.h)
-CFLAGS += -I .
- # add in include paths from pvfs2 src tree
-CFLAGS += $(patsubst %,-I%,$(INCLUDES))
-
-# special Intel cc options, all warnings, but disable:
- # remark #279: controlling expression is constant
- # shows up in ifdefs such as "do { ... } while (0)" construct
-INTEL_CFLAGS := -Wall -wd279
- # special gcc options
-GCC_CFLAGS := -Wall -Wstrict-prototypes -pipe
-
-################################################################
-# Setup component specific flags
-
-# Use these same cflags for the mpi test codes.
-MPICFLAGS := $(CFLAGS)
-
-# Add gcc-specific flags if we know it is a gnu compiler.
-ifdef GNUC
-CFLAGS += $(GCC_CFLAGS)
-endif
-ifdef INTELC
-CFLAGS += $(INTEL_CFLAGS)
-endif
-ifdef MPI_INTELC
-MPICFLAGS += $(INTEL_CFLAGS)
-endif
-ifdef MPI_GNUC
-MPICFLAGS += $(GCC_CFLAGS)
-endif
-
-#################################################################
-# Starter variables
-
-# NOTES: These variables are used to categorize the various source
-# files. We let the makefile includes append to them so that we
-# gradually build up a list of source files without having to
-# list them all at the top level.
-
-# TESTSRC is source code for test programs
-TESTSRC :=
-MPITESTSRC :=
-CLEANFILES :=
-
-################################################################
-# Top level (default) targets
-
-# default rule builds server, library, and test programs
-all: tests
-
-################################################################
-# Makefile includes
-
-# this is how we pull build information from all of the project
-# subdirectories, make sure to catch top level module.mk as well
-include $(patsubst %, %/module.mk, $(MODULES))
-
-################################################################
-# Derived file lists
-
-# NOTES: At this point, the subdirectory makefile includes have informed
-# us what the source files are. Now we want to generate some
-# other lists (such as objects, executables, and dependency files)
-# by manipulating the lists of source files
-
-# TESTOBJS is a list of test program objects
-TESTOBJS := $(patsubst %.c,%.o, $(filter %.c,$(TESTSRC)))
-# TESTS is a list of test program executables
-TESTS := $(patsubst %.c,%, $(filter %.c, $(TESTSRC)))
-# TESTDEPENDS is a list of dependency files for test programs
-TESTDEPENDS := $(patsubst %.c,%.d, $(filter %.c,$(TESTSRC)))
-
-# MPITESTOBJS is a list of MPI test program objects
-MPITESTOBJS := $(patsubst %.c,%.o, $(filter %.c,$(MPITESTSRC)))
-# MPITESTS is a list of MPI test program executables
-MPITESTS := $(patsubst %.c,%, $(filter %.c, $(MPITESTSRC)))
-# TESTDEPENDS is a list of dependency files for MPI test programs
-MPITESTDEPENDS := $(patsubst %.c,%.d, $(filter %.c,$(MPITESTSRC)))
-
-# DEPENDS is a global list of all of our dependency files.
-# NOTE: sort is just a trick to remove duplicates; the order
-# doesn't matter at all.
-DEPENDS := $(sort $(TESTDEPENDS) )
-ifdef BUILD_MPI
-DEPENDS += $(MPITESTDEPENDS) $(MPIMISCDEPENDS)
-endif
-
-####################################################################
-# Rules and dependencies
-
-# Just like dir, but strip the slash off the end, to be pretty.
-dirname = $(patsubst %/,%,$(dir $(1)))
-
-# Generate the canonical in-tree location of a file, given a possibly
-# out-of-tree reference.
-canonname = $(patsubst $(srcdir)/%,%,$(call dirname,$(1)))
-
-# Grab any CFLAGS defined by the make stub for a particular file, and
-# for the directory in which the source resides.
-# Always add the directory in question for "local" includes.
-modcflags = $(MODCFLAGS_$(call canonname,$(1))) \
- $(MODCFLAGS_$(patsubst $(srcdir)/%,%,$(1))) \
- -I$(call dirname,$(1))
-
-modldflags = $(MODLDFLAGS_$(call canonname,$(1))) \
- $(MODLDFLAGS_$(patsubst $(srcdir)/%,%,$(1))) \
- -L$(call dirname,$(1))
-
-
-# target for building the test program executables
-tests: $(TESTS)
-
-# target for building MPI test program executables
-mpitests: $(MPITESTS)
-ifdef BUILD_MPI
-# add MPI programs to default rule
-all: mpitests mpiiotests
-endif
-
-ilog2:
- $(MPICC) $(CFLAGS) ../src/mpi_tools.c mpirpc/ilog2.c
-
-# rule for building MPI objects
-$(MPITESTOBJS): %.o: %.c
-ifdef BUILD_MPI
- $(Q) " MPICC $@"
- $(E)$(MPICC) $(LIBCFLAGS) $(MPICFLAGS) $(call modcflags,$<) $< -c -o $@
-else
- @echo Error: You must specify --with-mpi=dir at configure time
- @echo in order to enable compilation of MPI programs.
- @false
-endif
-
-# rule for building MPI executables from object files
-$(MPITESTS): %: %.o $(MPIMISCOBJS) $(SHAREDOBJS) $(LIBRARIES)
- $(Q) " MPILD $@"
- $(E)$(MPICC) $^ $(LDFLAGS) $(call modldflags,$<) $(LIBS) -lm -o $@
-
-# default rule for building executables from object files
-%: %.o $(LIBRARIES) $(MISCOBJS) $(SHAREDOBJS)
- $(Q) " LD $@"
- $(E)$(LD) $(LDFLAGS) $(call modldflags,$<) $< $(MISCOBJS) $(SHAREDOBJS) $(LIBS) -o $@
-
-# default rule for building objects
-%.o: %.c
- $(Q) " C""C $@"
- $(E)$(CC) $(LIBCFLAGS) $(CFLAGS) $(call modcflags,$<) $< -c -o $@
-
-# all test programs depend on the pvfs2 library
-$(TESTS): %: %.o $(LIBRARIES)
-
-# rule for generating cscope information
-cscope:
- find @SRC_ABSOLUTE_TOP@ -iname "*.[ch]" -o -iname "*.sm" \
- > $(srcdir)/cscope.files
- ( cd @SRC_ABSOLUTE_TOP@; cscope -be -i @SRC_ABSOLUTE_TOP@/cscope.files )
-
-# build editor tags file over all source files *.[ch] *.sm and
-# some known scripts
-tags:
- ( find $(addprefix $(srcdir)/,$(MODULES)) \
- -maxdepth 1 -name '*.[ch]' ;\
- ) | ctags -L- --excmd=pattern -B --extra=+f -I __hidden
-
-# top rule for cleaning up tree
-clean:
- $(Q) " CLEAN"
- $(E)rm -f $(TESTOBJS) $(MISCOBJS) $(TESTS) $(MISCDEPENDS)\
- $(DEPENDS) $(CLEANFILES) $(MPIMISCOBJS) $(SHAREDOBJS) $(SHAREDDEPENDS)\
- $(MPITESTS) $(MPITESTOBJS) $(MPITESTDEPENDS) $(MPIMISCDEPENDS)\
- $(MPIIOTESTOBJS) $(MPIIOTESTS) $(DLLDEPENDS) $(DLLS) $(DLLOBJS)
-
-# some stuff that is cleaned in both distclean and dist targets
-cleaner: clean
- rm -f tags
- rm -f examples/pvfs2-server.rc
- rm -rf autom4te*.cache
- rm -f $(srcdir)/cscope.out $(srcdir)/cscope.files
- rm -f config.log config.status config.cache
- rm -f maint/mpi-depend.sh common/pav/configfile.sample
-
-# _really_ clean the tree; should go back to pristine state
-distclean: cleaner
- find . -name "module.mk" -exec rm \{\} \;
- rm -f Makefile pvfs2-test-config.h
-
-# this is where we include all of our automatic dependencies.
-# NOTE: we wrap this in ifneq's in order to prevent the
-# dependencies from being generated for special targets that don't
-# require them
-ifeq (,$(filter clean distclean cscope tags nodep,$(MAKECMDGOALS)))
--include $(DEPENDS)
-endif
-# add this as a make goal to disable rebuilding dependencies
-.PHONY: nodep
-nodep:; @:
-
-# rule for generating dependency files for MPI code
-#
-# note: mpi-depend.sh is automatically generated, so it is in
-# the build directory already.
-ifdef BUILD_MPI
-$(MPITESTDEPENDS) $(MPIMISCDEPENDS): %.d: %.c
- $(Q) " DEP $@"
- $(E)sh ./maint/mpi-depend.sh `dirname $*` $(MPICFLAGS) $(call modcflags,$<) $< > $@
-endif
-
-# default rule for generating dependency files
-%.d: %.c
- $(Q) " DEP $@"
- $(E)CC="$(CC)" $(pvfs2_srcdir)/maint/depend.sh $(call dirname,$*) $(CFLAGS) $(call modcflags,$<) $< > $@
-
-install::
- install -d @PVFS2_TOP_PREFIX@/test
- install -m 755 $(TESTS) @PVFS2_TOP_PREFIX@/test
-ifdef BUILD_MPI
- install -m 755 $(MPITESTS) @PVFS2_TOP_PREFIX@/test
- install -m 755 $(MPIIOTESTS) @PVFS2_TOP_PREFIX@/test
-endif
diff --git a/oldcode/test/adts/About.txt b/oldcode/test/adts/About.txt
deleted file mode 100644
index d727320..0000000
--- a/oldcode/test/adts/About.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-
-test01: Tests dpkm_list
-test02: Tests lru_table
-test03: Tests ilist
-test04: Tests inlist
-test05: Tests lru_table
-test06: Tests list
-test07: Tests xtree
diff --git a/oldcode/test/adts/module.mk.in b/oldcode/test/adts/module.mk.in
deleted file mode 100644
index 518c7c7..0000000
--- a/oldcode/test/adts/module.mk.in
+++ /dev/null
@@ -1,13 +0,0 @@
-
-TEST_SRC += test/adts/testgossip.c
-TEST_SRC += test/adts/testgossip-env.c
-
-TEST_SRC += $(shell cd @SRC_ABSOLUTE_TOP@; find test/adts -name "*.c")
-TEST_OBJS += $(patsubst %.c, %.o, $(TEST_SRC))
-TEST_PROGS += $(patsubst %.c, %.x, $(TEST_SRC))
-
-TEST_ADT_OBJS = src/adts/xtree.o src/adts/ilist.o src/adts/inlist.o
-
-test/adts/test%.x: test/adts/test%.o src/mpi_tools/mpi_tools.o $(TEST_ADT_OBJS)
- $(Q) " LINK $(@) "
- $(E)$(MPICC) $(MPE) $(<) $(LIBS) src/mpi_tools/mpi_tools.o $(TEST_ADT_OBJS) -o $(@)
diff --git a/oldcode/test/adts/test01.c b/oldcode/test/adts/test01.c
deleted file mode 100644
index dcac545..0000000
--- a/oldcode/test/adts/test01.c
+++ /dev/null
@@ -1,112 +0,0 @@
-
-/**
- * Test dpkm_list functionality.
- * */
-
-#include <dpkm_list.h>
-
-int
-main(int argc, char* argv[])
-{
- MPI_Init(&argc, &argv);
- whoami();
-
- struct dpkm_list* L = dpkm_list_create(4);
-
- char s[1000];
-
- int zero = 0;
- // int one = 1;
- int two = 2;
- int three = 3;
- int four = 4;
- int five = 5;
- int eight = 8;
-
- struct dpkm_list_item* item;
-
- item = dpkm_list_add(L, "two", &two);
- if (item)
- printf("%s \n", item->key);
- item = dpkm_list_add(L, "four", &four);
- if (item)
- printf("%s \n", item->key);
- item = dpkm_list_add(L, "three", &three);
- if (item)
- printf("%s \n", item->key);
- item = dpkm_list_add(L, "three", &three);
- if (item)
- printf("%s \n", item->key);
- item = dpkm_list_add(L, "four", &four);
- if (item)
- printf("%s \n", item->key);
- item = dpkm_list_add(L, "zero", &zero);
- if (item)
- printf("%s \n", item->key);
-
- fflush(stdout);
-
- dpkm_list_dump("%i", L);
- printf("size: %i \n", L->size);
-
- dpkm_list_add(L, "five", &five);
- dpkm_list_excise(L, L->head);
- dpkm_list_dump("%i", L);
- printf("size: %i \n", L->size);
-
- item = dpkm_list_add(L, "eight", &eight);
- if (item)
- printf("%s \n", item->key);
- dpkm_list_dump("%i", L);
- printf("size: %i \n", L->size);
-
- dpkm_list_tostring(s, 1000, "%i", L);
- printf("From string: %s\n", s);
-
- //dpkm_list_search(L, "five");
- dpkm_list_dump("%i", L);
- printf("size: %i \n", L->size);
-
- item = dpkm_list_poll(L);
- dpkm_list_dump("%i", L);
- printf("size: %i \n", L->size);
-
- item = dpkm_list_search(L, "zero");
- dpkm_list_excise(L, item);
- dpkm_list_dump("%i", L);
-
- note("polling...");
-
- while ((item = dpkm_list_poll(L)))
- {
- printf("got: %s \n", item->key);
- dpkm_list_dump("%i", L);
- }
-
- dpkm_list_tostring(s, 1000, "%i", L);
- printf("From string: %s\n", s);
-
- /*
- dpkm_list_dump("%i", L);
- dpkm_list_poll(L);
- dpkm_list_dump("%i", L);
- dpkm_list_pop(L);
- dpkm_list_dump("%i", L);
- dpkm_list_add(L, &seven);
- dpkm_list_add(L, &six);
- dpkm_list_dump("%i", L);
- */
-
- // dpkm_list_clobber(L);
- // dpkm_list_clear(L);
- // printf("size(L): %i \n", L->size);
-
- // dpkm_list_clear(K);
- // printf("size(K): %i \n", K->size);
-
- // dpkm_list_dump("%i", L);
- MPI_Finalize();
- return 0;
-}
-
-
diff --git a/oldcode/test/adts/test02.c b/oldcode/test/adts/test02.c
deleted file mode 100644
index e99a770..0000000
--- a/oldcode/test/adts/test02.c
+++ /dev/null
@@ -1,181 +0,0 @@
-
-/**
- * Test lru_table functionality.
- * */
-
-#include <lru_table.h>
-
-#ifdef DMALLOC
-#include "dmalloc.h"
-#endif
-
-int
-main(int argc, char* argv[])
-{
- MPI_Init(&argc, &argv);
- whoami();
-
-#ifdef DMALLOC
- sprintf(dmalloc_logpath, "./dmalloc_%i.out", debug_rank);
- printf("DMALLOC_PATH: %s \n", dmalloc_logpath);
-#endif
-
- struct lru_table* table = lru_table_create(5, 4);
-
- int* zero = malloc(sizeof(int));
- int* one = malloc(sizeof(int));
- int* two = malloc(sizeof(int));
- int* three = malloc(sizeof(int));
- int* four = malloc(sizeof(int));
- int* five = malloc(sizeof(int));
- int* eight = malloc(sizeof(int));
-
- *zero = 0;
- *one = 1;
- *two = 2;
- *three = 3;
- *four = 4;
- *five = 5;
- *eight = 8;
-
- struct keyvalue* kv;
-
- kv = lru_table_add(table, heap("two"), (char*) two, sizeof(int));
- lru_table_printf("%i", table);
- if (kv)
- printf("victim: %s \n", kv->key);
-
- printf("\n");
-
- kv = lru_table_add(table, heap("one"), (char*) one, sizeof(int));
- lru_table_printf("%i", table);
- if (kv)
- printf("victim: %s \n", kv->key);
-
- printf("\n");
-
- struct keyvalue* result;
-
- result = lru_table_search(table, "one");
- if (result == NULL)
- printf("one not found\n");
- else
- {
- printf("data: %i\n", (int) *result->data);
- free(result);
- }
-
- result = lru_table_search(table, "two");
- if (result == NULL)
- printf("two not found\n");
- else
- {
- printf("data: %i\n", (int) *result->data);
- free(result);
- }
-
- result = lru_table_search(table, "one");
- if (result == NULL)
- printf("one not found\n");
- else
- {
- printf("data: %i\n", (int) *result->data);
- free(result);
- }
-
- result = lru_table_search(table, "two");
- if (result == NULL)
- printf("two not found\n");
- else
- {
- printf("data: %i\n", (int) *result->data);
- free(result);
- }
-
- result = lru_table_search(table, "two");
- if (result == NULL)
- printf("two not found\n");
- else
- {
- printf("data: %i\n", (int) *result->data);
- free(result);
- }
-
- while ((result = lru_table_poll(table)))
- {
- printf("polled: %s %i\n", result->key, *result->data);
- keyvalue_destroy(result);
- }
- lru_table_free(table);
-
- /*
- int* result = (int*) lru_table_search(table, "five");
- printf("result: %i \n", *result);
- lru_table_dump("%i", table);
-
- result = (int*) lru_table_search(table, "twenty");
- if (result == NULL)
- printf("Got NULL \n");
-
- result = (int*) lru_table_search(table, "five");
- printf("result: %i \n", *result);
- lru_table_dump("%i", table);
-
- while ((kv = lru_table_poll(table)))
- printf("polled: %s \n", kv->key);
- */
-
-
- /*
-
- lru_table_add(table, "five", &five);
- lru_table_excise(table, table->head);
- lru_table_dump("%i", table);
- printf("size: %i \n", table->size);
-
- kv = lru_table_add(table, "eight", &eight);
- if (kv)
- printf("%s \n", kv->key);
- lru_table_dump("%i", table);
- printf("size: %i \n", table->size);
-
- lru_table_touch(table, table->head->next);
- lru_table_dump("%i", table);
- printf("size: %i \n", table->size);
-
- struct lru_table_item* item;
- item = lru_table_poll(table);
- lru_table_dump("%i", table);
- printf("size: %i \n", table->size);
-
- while ((item = lru_table_poll(table)))
- lru_table_dump("%i", table);
-
- */
- /*
- lru_table_dump("%i", table);
- lru_table_poll(table);
- lru_table_dump("%i", table);
- lru_table_pop(table);
- lru_table_dump("%i", table);
- lru_table_add(table, &seven);
- lru_table_add(table, &six);
- lru_table_dump("%i", table);
- */
-
- // lru_table_clobber(table);
- // lru_table_clear(table);
- // printf("size(table): %i \n", table->size);
-
- // lru_table_clear(K);
- // printf("size(K): %i \n", K->size);
-
- // lru_table_dump("%i", table);
-
- // dmalloc_shutdown();
-
- MPI_Finalize();
- return 0;
-}
-
-
diff --git a/oldcode/test/adts/test04.c b/oldcode/test/adts/test04.c
deleted file mode 100644
index 36c2e06..0000000
--- a/oldcode/test/adts/test04.c
+++ /dev/null
@@ -1,27 +0,0 @@
-
-/**
- * Test inlist functionality.
- * */
-
-#include <inlist.h>
-
-int
-main(int argc, char* argv[])
-{
- MPI_Init(&argc, &argv);
- whoami();
-
- char* s = malloc(30);
- strcpy(s, " 1 4 2 ");
-
- struct inlist* L = inlist_parse(s);
-
- inlist_printf(L);
-
- inlist_free(L);
- free(s);
-
- MPI_Finalize();
-
- return 0;
-}
diff --git a/oldcode/test/adts/test05.c b/oldcode/test/adts/test05.c
deleted file mode 100644
index 5d0b64f..0000000
--- a/oldcode/test/adts/test05.c
+++ /dev/null
@@ -1,39 +0,0 @@
-
-/**
- * Test lru_table functionality.
- * */
-
-#include <lru_table.h>
-
-int
-main(int argc, char* argv[])
-{
- MPI_Init(&argc, &argv);
- whoami();
-
-#ifdef DMALLOC
- printf("DMALLOC\n");
- // sprintf(dmalloc_logpath, "%s", "./dmalloc.out");
-#endif
-
- struct lru_table* table = lru_table_create(5, 4);
- struct keyvalue* kv;
-
- lru_table_printf("%s", table);
- lru_table_add(table, "key1", heap("data1"));
- lru_table_printf("%s", table);
- lru_table_add(table, "key2", heap("data2"));
- lru_table_printf("%s", table);
-
- lru_table_update(table, "key2", "XJKLJKL", 3);
-
- lru_table_printf("%s", table);
-
- while ((kv = lru_table_poll(table)))
- printf("polled: %s %s\n", kv->key, (char*) kv->data);
-
- lru_table_printf("%s", table);
-
- MPI_Finalize();
- return 0;
-}
diff --git a/oldcode/test/adts/test06.c b/oldcode/test/adts/test06.c
deleted file mode 100644
index b7bb831..0000000
--- a/oldcode/test/adts/test06.c
+++ /dev/null
@@ -1,28 +0,0 @@
-
-/**
- * Test list functionality.
- * */
-
-#include <list.h>
-
-int
-main(int argc, char* argv[])
-{
- struct list* L;
-
- MPI_Init(&argc, &argv);
- whoami();
-
- L = list_parse("jkl iop l");
-
- list_printf("%s", L);
- fflush(stdout);
- list_destroy(L);
-
- L = list_parse(" jkl iop l ");
- list_printf("%s", L);
- list_destroy(L);
-
- MPI_Finalize();
- return 0;
-}
diff --git a/oldcode/test/adts/test07.c b/oldcode/test/adts/test07.c
deleted file mode 100644
index daabb02..0000000
--- a/oldcode/test/adts/test07.c
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#include <xtree.h>
-
-int
-main()
-{
- struct xtree* tree = xtree_create();
-
- xtree_printf(tree);
-
- xtree_add(tree, 2, NULL);
- xtree_printf(tree);
-
- xtree_add(tree, 4, NULL);
- printf("after 4\n");
- xtree_printf(tree);
-
- xtree_add(tree, 8, NULL);
- printf("after 8\n");
- xtree_printf(tree);
-
- xtree_add(tree, 8000, NULL);
- printf("after 8000\n");
- xtree_printf(tree);
-
- xtree_add(tree, 6, NULL);
- printf("after 6\n");
- xtree_printf(tree);
-
- xtree_add(tree, 8001, NULL);
- printf("after 8001\n");
- xtree_printf(tree);
-
- struct inlist* nodes = xtree_query(tree, 8008, 2);
- inlist_printf(nodes);
-
- void* d = xtree_search(tree, 8000);
- printf("search: %p\n", d);
-
- printf("ok\n");
-
- return 0;
-}
diff --git a/oldcode/test/basic/module.mk.in b/oldcode/test/basic/module.mk.in
deleted file mode 100644
index c38aee0..0000000
--- a/oldcode/test/basic/module.mk.in
+++ /dev/null
@@ -1,3 +0,0 @@
-# DIR := basic
-
-# TESTSRC += $(DIR)/trivial.c
diff --git a/oldcode/test/basic/trivial.c b/oldcode/test/basic/trivial.c
deleted file mode 100644
index 48cc5f8..0000000
--- a/oldcode/test/basic/trivial.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <stdio.h>
-
-#include "src/ops/ops.h"
-
-
-int main()
-{
- int ret;
-
- ret = PVFS_mgmt_noop(10, NULL, NULL);
-
- return 0;
-}
diff --git a/oldcode/test/cmpi-cp/About.txt b/oldcode/test/cmpi-cp/About.txt
deleted file mode 100644
index f8b5dc1..0000000
--- a/oldcode/test/cmpi-cp/About.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-
-test01: Copy datafile01.txt into the DHT and shut it down.
-test02: Copy datafile01.txt into the DHT,
- extract it to datafile01.out, and shut it down.
diff --git a/oldcode/test/cmpi-cp/datafile01.txt b/oldcode/test/cmpi-cp/datafile01.txt
deleted file mode 100644
index 424fe51..0000000
--- a/oldcode/test/cmpi-cp/datafile01.txt
+++ /dev/null
@@ -1 +0,0 @@
-hellowhoisthis
diff --git a/oldcode/test/cmpi-cp/datafile02.txt b/oldcode/test/cmpi-cp/datafile02.txt
deleted file mode 100644
index abf9eb8..0000000
--- a/oldcode/test/cmpi-cp/datafile02.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-jkl
-iop
-hello
diff --git a/oldcode/test/cmpi-cp/test01.zsh b/oldcode/test/cmpi-cp/test01.zsh
deleted file mode 100755
index cfefda3..0000000
--- a/oldcode/test/cmpi-cp/test01.zsh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/zsh
-
-make -j D=1 bin/cmpi-cp test/driver/test_driver.x test/driver/test02.x
-[[ $? != 0 ]] && exit 1
-sleep 2
-
-mpiexec -n 5 test/driver/test_driver.x -n 4 -s 1 >& driver.out &
-DRIVER_PID=${!}
-sleep 5
-
-print
-print "CMPI-CP..."
-bin/cmpi-cp test/cmpi-cp/datafile01.txt dht://datafile01.txt
-print "CMPI-CP DONE"
-
-sleep 10
-
-print
-print "Killing driver (test/driver/test02.x)..."
-test/driver/test02.x
-
-wait
diff --git a/oldcode/test/cmpi-cp/test02.zsh b/oldcode/test/cmpi-cp/test02.zsh
deleted file mode 100755
index 505ca9d..0000000
--- a/oldcode/test/cmpi-cp/test02.zsh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/zsh
-
-make -j D=1 bin/cmpi-cp test/driver/test_driver.x test/driver/test02.x
-[[ $? != 0 ]] && exit 1
-sleep 2
-
-mpiexec -n 5 test/driver/test_driver.x -n 4 -s 1 >& driver.out &
-DRIVER_PID=${!}
-sleep 2
-
-print
-print "CMPI-CP..."
-bin/cmpi-cp test/cmpi-cp/datafile01.txt dht://datafile01.txt
-print "CMPI-CP DONE"
-
-sleep 2
-
-bin/cmpi-cp dht://datafile01.txt test/cmpi-cp/datafile01.out
-print "CMPI-CP DONE"
-
-sleep 2
-
-print
-print "Killing driver (test/driver/test02.x)..."
-test/driver/test02.x
-
-wait
diff --git a/oldcode/test/cmpi-cp/test03.zsh b/oldcode/test/cmpi-cp/test03.zsh
deleted file mode 100755
index fbbce3a..0000000
--- a/oldcode/test/cmpi-cp/test03.zsh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/zsh
-
-make -j D=1 bin/cmpi-cp test/driver/test_driver.x test/driver/test02.x
-[[ $? != 0 ]] && exit 1
-sleep 2
-
-mpiexec -n 5 test/driver/test_driver.x -n 4 -s 1 >& driver.out &
-DRIVER_PID=${!}
-sleep 2
-
-print
-print "CMPI-CP..."
-bin/cmpi-cp test/cmpi-cp/datafile02.txt dht://datafile02.txt
-print "CMPI-CP DONE"
-
-sleep 2
-
-bin/cmpi-cp dht://datafile02.txt test/cmpi-cp/datafile02.out
-print "CMPI-CP DONE"
-
-sleep 2
-
-print
-print "Killing driver (test/driver/test02.x)..."
-test/driver/test02.x
-
-wait
diff --git a/oldcode/test/cmpi-io/About.txt b/oldcode/test/cmpi-io/About.txt
deleted file mode 100644
index 067d799..0000000
--- a/oldcode/test/cmpi-io/About.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-
-test01: Simple open().
-test02: open() + write().
diff --git a/oldcode/test/cmpi-io/Makefile b/oldcode/test/cmpi-io/Makefile
deleted file mode 100644
index 0c7edd4..0000000
--- a/oldcode/test/cmpi-io/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-
-# OBSOLETE
-
-# This stuff is now included in the top-level Makefile.in
-
-CMPI := ../../lib/libcmpi.a
-
-INCLUDES = -I ../.. -I ../../src/adts -I ../../src/mpirpc
-INCLUDES += -I ../../src/cmpi
-LIBRARIES = -L ../../lib
-LINKS = $(LIBRARIES) -l cmpi -l crypto # $(MPIRPC)
-CFLAGS = --std=gnu99 -D ENABLE_DEBUG $(INCLUDES)
-
-all: test1
-
-test1: test1.o $(CMPI)
- mpicc $(<) $(LINKS) -o $(@)
-
-%.o:%.c
- mpicc -c $(CFLAGS) $< -o $@
-
-clean:
- rm -fv test1 *.o
diff --git a/oldcode/test/cmpi-io/module.mk.in b/oldcode/test/cmpi-io/module.mk.in
deleted file mode 100644
index c664688..0000000
--- a/oldcode/test/cmpi-io/module.mk.in
+++ /dev/null
@@ -1,12 +0,0 @@
-
-#TEST_TARGETS += test/cmpi-io/test1.out
-#TEST_TARGETS += test/cmpi-io/test2.out
-TEST_PROGS += test/cmpi-io/test01.x
-#TEST_PROGS += test/cmpi-io/test2
-
-HELPERS = test/cmpi/test_helpers.o
-
-test/cmpi-io/test%.x: test/cmpi-io/test%.o $(CMPI) $(HELPERS)
- $(Q) " MPICC $(@) "
- $(E)$(MPICC) $(MPE) $(<) $(CMPI) $(HELPERS) $(LIBS) -o $(@)
-
diff --git a/oldcode/test/cmpi-io/test01.c b/oldcode/test/cmpi-io/test01.c
deleted file mode 100644
index 6cba436..0000000
--- a/oldcode/test/cmpi-io/test01.c
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#include <node.h>
-
-#include "test_helpers.h"
-
-void
-cmpi_client_code()
-{
- wait_for_notification();
- notify_next();
-
- NOTE("NOTIFIED");
-
- MPI_File file;
- MPI_File_open(cmpi_comm_clients, "cmpi:/sandbox/file.txt",
- MPI_MODE_CREATE|MPI_MODE_WRONLY, MPI_INFO_NULL,
- &file);
- sleep(1);
- cmpi_shutdown();
-}
diff --git a/oldcode/test/cmpi-io/test02.c b/oldcode/test/cmpi-io/test02.c
deleted file mode 100644
index 8656e00..0000000
--- a/oldcode/test/cmpi-io/test02.c
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#include <node.h>
-
-#include "test_helpers.h"
-
-void
-cmpi_client_code()
-{
- wait_for_notification();
- notify_next();
-
- NOTE("NOTIFIED");
-
- MPI_File file;
- MPI_File_open(cmpi_comm_clients, "cmpi:/sandbox/file.txt",
- MPI_MODE_CREATE|MPI_MODE_WRONLY, MPI_INFO_NULL,
- &file);
-
- char data[30];
- strcpy(data, "hello\n");
-
- MPI_Status status;
- MPI_File_write(file, data, 0, MPI_CHAR, &status);
-
- sleep(1);
- cmpi_shutdown();
-}
diff --git a/oldcode/test/cmpi-io/test1.c b/oldcode/test/cmpi-io/test1.c
deleted file mode 100644
index c6bd411..0000000
--- a/oldcode/test/cmpi-io/test1.c
+++ /dev/null
@@ -1,11 +0,0 @@
-
-/**
- Attempts to open file test.dat .
- Results in one cmpi_get(), returning NULL.
-*/
-
-void
-client_code()
-{
-
-}
diff --git a/oldcode/test/cmpi-io/test1.zsh b/oldcode/test/cmpi-io/test1.zsh
deleted file mode 100755
index 6c3c0fa..0000000
--- a/oldcode/test/cmpi-io/test1.zsh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/zsh
-
-N=5
-
-# tools/startup_nodes.zsh ${N} 100 &
-
-# sleep $(( N+15 ))
-
-mpiexec -a CMPI_CLIENT -n 1 test/cmpi-io/test1 -s 10 -t 0
-
diff --git a/oldcode/test/cmpi-io/test2.c b/oldcode/test/cmpi-io/test2.c
deleted file mode 100644
index ec879b2..0000000
--- a/oldcode/test/cmpi-io/test2.c
+++ /dev/null
@@ -1,34 +0,0 @@
-
-/**
- Attempts to open file test.dat .
- Results in one cmpi_get(test.dat), returning NULL.
- Results in one cmpi_put(test.dat).
-*/
-
-#include <mpi.h>
-#include <cmpi-io.h>
-
-int
-main(int argc, char* argv[])
-{
- MPI_Init(&argc, &argv);
-
- whoami();
-
- cmpi_init_client();
- CMPI_RETURN result = cmpi_attach();
- if (result == CMPI_ERROR_SERVICENAME)
- {
- printf("Could not connect to DHT! \n");
- MPI_Finalize();
- exit(1);
- }
-
- MPI_File fh;
- MPI_File_open(MPI_COMM_WORLD, "test.dat", MPI_MODE_CREATE,
- MPI_INFO_NULL, &fh);
-
- printf("test2 done. \n");
-
- MPI_Finalize();
-}
diff --git a/oldcode/test/cmpi-io/test2.zsh b/oldcode/test/cmpi-io/test2.zsh
deleted file mode 100755
index 55c4977..0000000
--- a/oldcode/test/cmpi-io/test2.zsh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/zsh
-
-mpiexec -a CMPI_CLIENT -n 1 test/cmpi-io/test2 -s 10 -t 0
-
diff --git a/oldcode/test/cmpi-io/test_helpers.c b/oldcode/test/cmpi-io/test_helpers.c
deleted file mode 100644
index aa465a7..0000000
--- a/oldcode/test/cmpi-io/test_helpers.c
+++ /dev/null
@@ -1,64 +0,0 @@
-
-// #include <stdio.h>
-
-#include "test_helpers.h"
-
-/**
- Print debugging header using machine-specific information.
-*/
-void
-print_header(void)
-{
- // Are we a SLURM job?
- char* slurm_id = getenv("SLURM_JOBID");
- if (slurm_id)
- printf("SLURM_JOBID: %s\n", slurm_id);
-}
-
-char*
-useless_data(int size)
-{
- int i;
- char* s = malloc(size*sizeof(char));
- for (i = 0; i < size-1; i++)
- s[i] = 'a' + rand_lt(26);
- s[size-1] = '\0';
- return s;
-}
-
-
-char*
-number_data(int size)
-{
- int i;
- char* s = malloc(size*sizeof(char));
- for (i = 0; i < size-1; i++)
- s[i] = '0' + rand_lt(10);
- s[size-1] = '\0';
- return s;
-}
-
-void
-wait_for_notification(void)
-{
- int tmp;
- MPI_Status status;
- MPI_Recv(&tmp, 1, MPI_INT,
- MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &status);
- assert(tmp == -2);
-}
-
-void
-notify_next(void)
-{
- if (mpi_rank < mpi_size-1)
- {
- int msg = -2;
- MPI_Send(&msg, 1, MPI_INT,
- mpi_rank+1, 0, MPI_COMM_WORLD);
- }
- else
- {
- NOTE("NOTIFICATION_FINALIZED");
- }
-}
diff --git a/oldcode/test/cmpi-io/test_helpers.h b/oldcode/test/cmpi-io/test_helpers.h
deleted file mode 100644
index b38672f..0000000
--- a/oldcode/test/cmpi-io/test_helpers.h
+++ /dev/null
@@ -1,19 +0,0 @@
-
-// #include <stdio.h>
-
-#ifndef TEST_HELPERS_H
-#define TEST_HELPERS_H
-
-#include <node.h>
-
-/**
- Print debugging header using machine-specific information.
-*/
-void print_header(void);
-
-char* useless_data(int size);
-
-void wait_for_notification(void);
-void notify_next(void);
-
-#endif
diff --git a/oldcode/test/cmpi/About.txt b/oldcode/test/cmpi/About.txt
deleted file mode 100644
index 7ebcd10..0000000
--- a/oldcode/test/cmpi/About.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-
-Run tests with, for example,
-make SIZE=??? NODES=??? test/cmpi/test01.out
-Use D=1 to get debugging output.
-
-SIZE is the total number of MPI processes to be created.
-
-NODES is the number of MPI processes that will run as DHT nodes,
-the rest will be clients.
-
-All clients will call cmpi_client_code().
-
-test01: Basic startup and shutdown.
-test02: Debug tables.
-test03: put() + get().
-test04: multiple put() + get().
-test05: put() + update() + get().
diff --git a/oldcode/test/cmpi/module.mk.in b/oldcode/test/cmpi/module.mk.in
deleted file mode 100644
index 2d21a3f..0000000
--- a/oldcode/test/cmpi/module.mk.in
+++ /dev/null
@@ -1,33 +0,0 @@
-
-# Run tests with, e.g.,
-# make SIZE=4 NODES=3 REPS=5 test/cmpi/test01.out
-# SIZE is the size of the whole system (nodes+clients)
-# NODES is the number of nodes
-# REPS determines the length of tests that repeat operations
-
-# Be sure to include at least one client so that cmpi_client_code()
-# is actually called.
-
-
-TEST_CMPI_SRC += $(shell cd @SRC_ABSOLUTE_TOP@; find test/cmpi -name "*.c" ! -name test_helpers.c)
-TEST_SRC += $(TEST_CMPI_SRCS)
-TEST_HELPER_SRC += test/cmpi/test_helpers.c
-
-ifeq (@USE_COMM_WORLD@,1)
-
-test/cmpi/test%.out: test/cmpi/test%.x
- echo NODES: $(NODES) > $(@)
- $(LAUNCH) -n $(SIZE) $(<) -n $(NODES) -p "reps=$(REPS)" >> $(@) 2>&1
-
-test/cmpi/test%.x: test/cmpi/test%.o test/cmpi/test_helpers.o src/cmpi/node.o $(CMPI)
- $(Q) " MPICC $(@) "
- $(E)$(MPICC) $(MPE) $(<) test/cmpi/test_helpers.o src/cmpi/node.o \
- $(CMPI) $(LIBS) -o $(@)
-
-else
-
-test/cmpi/test%.x: test/cmpi/test%.o test/cmpi/test_helpers.o src/cmpi/client.o $(CMPI)
- $(Q) " MPICC $(@) "
- $(E)$(MPICC) $(MPE) $(<) test/cmpi/test_helpers.o src/cmpi/client.o $(CMPI) $(LIBS) -o $(@)
-
-endif
diff --git a/oldcode/test/cmpi/test01.c b/oldcode/test/cmpi/test01.c
deleted file mode 100644
index bc726f0..0000000
--- a/oldcode/test/cmpi/test01.c
+++ /dev/null
@@ -1,20 +0,0 @@
-
-/**
- Simply build DHT and shutdown.
- Be sure to pass -n <nodes> !
-*/
-
-#include "test_helpers.h"
-
-void
-cmpi_client_code()
-{
- NOTE_F;
-
- gossip_set_debug_mask(1, MASK_MPIRPC);
-
- wait_for_notification();
- notify_next();
-
- cmpi_shutdown();
-}
diff --git a/oldcode/test/cmpi/test01.zsh b/oldcode/test/cmpi/test01.zsh
deleted file mode 100755
index 5b89497..0000000
--- a/oldcode/test/cmpi/test01.zsh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/zsh
-
-
-N=$1
-
-[[ ${#N} == 0 ]] && print "Need N!" && exit 1
-
-make D=1 -j 3 node test/cmpi/test01.x
-
-source tools/helpers.zsh
-
-USE_COMM_WORLD=$( grep USE_COMM_WORLD grayskull-config.h | col 3 )
-
-if (( USE_COMM_WORLD == 1 ))
-then
-
- # KDA-1 execution:
- mpiexec -n ${N} test/cmpi/test01.x -n $(( N-1 ))
-
-else
-
- tools/startup_nodes.zsh $(( N-1 )) 100 &
-
- mpiexec -n 1 test/cmpi/test01.x > CLIENT.out
-
- sleep $(( N+15 ))
-
-fi
diff --git a/oldcode/test/cmpi/test02.c b/oldcode/test/cmpi/test02.c
deleted file mode 100644
index 45c5cce..0000000
--- a/oldcode/test/cmpi/test02.c
+++ /dev/null
@@ -1,21 +0,0 @@
-
-/**
- Assemble and debug tables.
-*/
-
-#include "test_helpers.h"
-
-void
-cmpi_client_code()
-{
- NOTE_F;
-
- wait_for_notification();
- notify_next();
-
- cmpi_debug_tables();
-
- sleep(mpi_rank);
-
- cmpi_shutdown();
-}
diff --git a/oldcode/test/cmpi/test02.zsh b/oldcode/test/cmpi/test02.zsh
deleted file mode 100644
index 9bf5d98..0000000
--- a/oldcode/test/cmpi/test02.zsh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/zsh
-
-N=4
-
-# tools/startup_nodes.zsh ${N} 100 &
-
-# sleep $(( N+15 ))
-
-# KDA-1 execution:
-mpiexec -n ${N} test/cmpi/test02.zsh -n 3
-
diff --git a/oldcode/test/cmpi/test03.c b/oldcode/test/cmpi/test03.c
deleted file mode 100644
index f421735..0000000
--- a/oldcode/test/cmpi/test03.c
+++ /dev/null
@@ -1,39 +0,0 @@
-
-/**
- Put two keys and get one of them.
-*/
-
-#include "test_helpers.h"
-
-void
-cmpi_client_code()
-{
- char key1[10];
- char key2[10];
- sprintf(key1, "key1_%i", mpi_rank);
- sprintf(key2, "key2_%i", mpi_rank);
-
- wait_for_notification();
- notify_next();
-
- char value[30];
- strcpy(value, "value1");
- cmpi_put(key1, value, strlen(value)+1);
- strcpy(value, "value2");
- cmpi_put(key2, value, strlen(value)+1);
-
- sleep(2);
-
- cmpi_debug_caches();
-
- sleep(2);
-
- int length;
- char* result;
- cmpi_get(key1, &result, &length);
- printf("result(%i): %s\n", result, length);
-
- sleep(3);
-
- cmpi_shutdown();
-}
diff --git a/oldcode/test/cmpi/test04.c b/oldcode/test/cmpi/test04.c
deleted file mode 100644
index 8866f83..0000000
--- a/oldcode/test/cmpi/test04.c
+++ /dev/null
@@ -1,51 +0,0 @@
-
-/**
- Store many small records.
- The number of records is controlled by the
- "reps" key in the CMPI cache.
-*/
-
-#include "test_helpers.h"
-
-/**
- Requires that "reps" be in the CMPI params.
- Generates keys for multiple clients.
-*/
-void
-cmpi_client_code()
-{
- int i;
-
- // Obtain the number of reps to perform:
- char* s = cmpi_params_search("reps");
- if (s == NULL || strlen(s) == 0)
- {
- NOTE("No reps given!");
- exit(1);
- }
- int reps;
- int n = sscanf(s, "%i", &reps);
- assert(n > 0);
-
- wait_for_notification();
- notify_next();
-
- for (i = 0; i < reps; i++)
- {
- char key[20];
- sprintf(key, "key_%i_%i", mpi_rank, i);
- char* value = useless_data(10);
-
- cmpi_put(key, value, strlen(value)+1);
- }
-
- sleep((mpi_size-mpi_rank)*3+10);
-
- int client_rank;
- MPI_Comm_rank(cmpi_comm_clients, &client_rank);
- if (client_rank == 0)
- {
- note("Shutting down...");
- cmpi_shutdown();
- }
-}
diff --git a/oldcode/test/cmpi/test04.zsh b/oldcode/test/cmpi/test04.zsh
deleted file mode 100755
index e201d33..0000000
--- a/oldcode/test/cmpi/test04.zsh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/zsh
-
-N=$1
-
-[[ $N == "" ]] && N=4
-
-# tools/startup_nodes.zsh ${N} 100 &
-
-# sleep $(( N+15 ))
-
-# KDA-1 execution:
-mpiexec -n ${N} test/cmpi/test04.x -n $(( N-1 )) >& test/cmpi/test04.out
-
diff --git a/oldcode/test/cmpi/test05.c b/oldcode/test/cmpi/test05.c
deleted file mode 100644
index dc1305c..0000000
--- a/oldcode/test/cmpi/test05.c
+++ /dev/null
@@ -1,45 +0,0 @@
-
-/**
- Put three keys, update one, and get the updated value.
-*/
-
-#include "test_helpers.h"
-
-void
-cmpi_client_code()
-{
- char key1[10];
- char key2[10];
- char key3[10];
- sprintf(key1, "key1_%i", mpi_rank);
- sprintf(key2, "key2_%i", mpi_rank);
- sprintf(key3, "key3_%i", mpi_rank);
-
- wait_for_notification();
- notify_next();
-
- char value[30];
- sprintf(value, "value1");
- cmpi_put(key1, value, strlen(value)+1);
- printf("FIRST PUT SUCCEEDED\n");
- sprintf(value, "value2");
- cmpi_put(key2, value, strlen(value)+1);
- printf("SECOND PUT SUCCEEDED\n");
- sprintf(value, "value3");
- cmpi_put(key3, value, strlen(value)+1);
- printf("THIRD PUT SUCCEEDED\n");
-
- sleep(2);
-
- cmpi_update(key2, "W", 1, 3);
-
- char* result;
- int length;
- cmpi_get(key2, &result, &length);
- printf("result: %s\n", result);
- printf("GET SUCCEEDED\n");
-
- sleep(2);
-
- cmpi_shutdown();
-}
diff --git a/oldcode/test/cmpi/test06.c b/oldcode/test/cmpi/test06.c
deleted file mode 100644
index 5f18c3e..0000000
--- a/oldcode/test/cmpi/test06.c
+++ /dev/null
@@ -1,42 +0,0 @@
-
-/**
- Update two new keys, update those, and retrieve one.
-*/
-
-#include "test_helpers.h"
-
-void
-cmpi_client_code()
-{
- char key1[10];
- char key2[10];
- char key3[10];
- sprintf(key1, "key1_%i", mpi_rank);
- sprintf(key2, "key2_%i", mpi_rank);
- sprintf(key3, "key3_%i", mpi_rank);
-
- wait_for_notification();
- notify_next();
-
- cmpi_update(key1, "value1", 0);
- cmpi_update(key2, "value2", 0);
- cmpi_update(key2, "X", 3);
- cmpi_update(key3, "value3", 3);
- cmpi_update(key3, "X", 1);
- cmpi_update(key3, "X", 5);
-
- sleep(2);
-
- char* result;
- cmpi_get(key1, &result);
- printf("RESULT_1: %s\n", result);
- cmpi_get(key2, &result);
- printf("RESULT_2: %s\n", result);
- cmpi_get(key3, &result);
- printf("RESULT_3: %s\n", result);
- NOTE("GET SUCCEEDED");
-
- sleep(2);
-
- cmpi_shutdown();
-}
diff --git a/oldcode/test/cmpi/test_helpers.c b/oldcode/test/cmpi/test_helpers.c
deleted file mode 100644
index d19e888..0000000
--- a/oldcode/test/cmpi/test_helpers.c
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// #include <stdio.h>
-
-#include "test_helpers.h"
-
-/**
- Print debugging header using machine-specific information.
-*/
-void
-print_header(void)
-{
- // Are we a SLURM job?
- char* slurm_id = getenv("SLURM_JOBID");
- if (slurm_id)
- printf("SLURM_JOBID: %s\n", slurm_id);
-}
-
-char*
-useless_data(int size)
-{
- int i;
- char* s = malloc(size*sizeof(char));
- for (i = 0; i < size-1; i++)
- s[i] = 'a' + rand_lt(26);
- s[size-1] = '\0';
- return s;
-}
-
-void
-wait_for_notification(void)
-{
- int tmp;
- MPI_Status status;
- MPI_Recv(&tmp, 1, MPI_INT,
- MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &status);
- assert(tmp == -2);
-}
-
-void
-notify_next(void)
-{
- if (mpi_rank < mpi_size-1)
- {
- int msg = -2;
- MPI_Send(&msg, 1, MPI_INT,
- mpi_rank+1, 0, MPI_COMM_WORLD);
- }
- else
- {
- NOTE("NOTIFICATION_FINALIZED");
- }
-}
diff --git a/oldcode/test/cmpi/test_helpers.h b/oldcode/test/cmpi/test_helpers.h
deleted file mode 100644
index 431eb9a..0000000
--- a/oldcode/test/cmpi/test_helpers.h
+++ /dev/null
@@ -1,20 +0,0 @@
-
-// #include <stdio.h>
-
-#ifndef TEST_HELPERS_H
-#define TEST_HELPERS_H
-
-#include <node.h>
-#include <gossip.h>
-
-/**
- Print debugging header using machine-specific information.
-*/
-void print_header(void);
-
-char* useless_data(int size);
-
-void wait_for_notification(void);
-void notify_next(void);
-
-#endif
diff --git a/oldcode/test/common/gdb_wait_loop.c b/oldcode/test/common/gdb_wait_loop.c
deleted file mode 100644
index 6c06f66..0000000
--- a/oldcode/test/common/gdb_wait_loop.c
+++ /dev/null
@@ -1,11 +0,0 @@
-
-void
-gdb_wait_loop()
-{
- int v = 0;
-
- pid_t pid = getpid();
- printf("pid: %i\n", pid);
-
- while (!v);
-}
diff --git a/oldcode/test/disksim/About.txt b/oldcode/test/disksim/About.txt
deleted file mode 100644
index 4ccde04..0000000
--- a/oldcode/test/disksim/About.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-
-Just run test/disksim/chunk_test.zsh <number>
-where number is 01, 02, or 03.
-
-chunk_test.zsh will compile the necessary test routines,
-run them, and collect the results in test/disksim/test<number>.eps .
-
-test01: Successively in-order writes.
-test02: Reverse-order writes.
-test03: Random writes.
-
diff --git a/oldcode/test/disksim/chunk_test.zsh b/oldcode/test/disksim/chunk_test.zsh
deleted file mode 100755
index 804ca5d..0000000
--- a/oldcode/test/disksim/chunk_test.zsh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/zsh
-
-[[ ${#*} == 0 ]] && print Need test number! && return 1
-
-T=$1
-
-make -j 3 test/disksim/test${T}.x
-
-source tools/helpers.zsh
-
-TOTAL=$(( 10 * 10**6 ))
-DIR=test/disksim
-DEFAULTS=${DIR}/defaults.grace
-OUTPUT=${DIR}/test${T}.out
-PLOT=${DIR}/test${T}.eps
-
-clobber ${OUTPUT}
-
-for CHUNK in $( sweep_mids 1024 700000 )
-do
- COUNT=$(( TOTAL / CHUNK ))
- DELAY=$( test/disksim/test${T}.x ${COUNT} ${CHUNK} )
- RATE=$(( COUNT*CHUNK / DELAY ))
- print ${CHUNK} ${RATE} >> ${OUTPUT}
-done
-
-SETTINGS="-batch ${DEFAULTS} -log x -hdevice EPS"
-eval gracebat ${SETTINGS} -printfile ${PLOT} ${OUTPUT}
-
diff --git a/oldcode/test/disksim/defaults.grace b/oldcode/test/disksim/defaults.grace
deleted file mode 100644
index 73f0e37..0000000
--- a/oldcode/test/disksim/defaults.grace
+++ /dev/null
@@ -1,3 +0,0 @@
-title "Disk Bandwidth"
-xaxis label "chunk size"
-yaxis label "bytes/second"
diff --git a/oldcode/test/disksim/module.mk.in b/oldcode/test/disksim/module.mk.in
deleted file mode 100644
index 3283a4a..0000000
--- a/oldcode/test/disksim/module.mk.in
+++ /dev/null
@@ -1,20 +0,0 @@
-
-ifneq (@USE_DISKSIM@,0)
-
-TEST_DISKSIM_SRC += $(shell cd @SRC_ABSOLUTE_TOP@; find test/disksim -name "*.c")
-
-TEST_SRC += $(TEST_DISKSIM_SRCS)
-
-#TEST_OBJS += $(patsubst %.c, %.o, $(TEST_SRC))
-#TEST_PROGS += $(patsubst %.c, %.x, $(TEST_SRC))
-#TEST_OUTPUT += $(patsubst %.c, %.out, $(TEST_SRC))
-
-
-
-test/disksim/test%.out: test/disksim/test%.x
- $(<) $(REPS) >& $(@)
-
-test/disksim/test%.x: test/disksim/test%.o $(CMPI)
- $(Q) " MPICC $(@) "
- $(E)$(MPICC) $(MPE) $(<) $(CMPI) $(LIBS) -o $(@)
-endif
diff --git a/oldcode/test/disksim/test01.c b/oldcode/test/disksim/test01.c
deleted file mode 100644
index 6df708b..0000000
--- a/oldcode/test/disksim/test01.c
+++ /dev/null
@@ -1,47 +0,0 @@
-
-/**
- * Multiple in-order writes.
- * */
-
-#include <disksim.h>
-
-#include <string.h>
-
-#define STRINGX /home/wozniak
-
-#define PR(x) printf(x);
-
-int
-main(int argc, char* argv[])
-{
- int i;
- int op_count;
- int op_size;
-
- if (argc < 3)
- {
- printf("usage: test01.x <op_count> <op_size> \n");
- exit(1);
- }
-
- sscanf(argv[1], "%i", &op_count);
- sscanf(argv[2], "%i", &op_size);
-
- MPI_Init(&argc, &argv);
-
- whoami();
-
- disksim_init();
-
- double delay = 0;
-
- for (i = 1; i <= op_count; i++)
- {
- delay += compute_write(1000 + i*op_size/4096, NULL, op_size);
- }
-
- printf("%f\n", delay/1e6);
-
- MPI_Finalize();
- return 0;
-}
diff --git a/oldcode/test/disksim/test02.c b/oldcode/test/disksim/test02.c
deleted file mode 100644
index 4d8ff2b..0000000
--- a/oldcode/test/disksim/test02.c
+++ /dev/null
@@ -1,48 +0,0 @@
-
-/**
- * Multiple in-reverse writes.
- * */
-
-#include <disksim.h>
-
-#include <string.h>
-
-#define STRINGX /home/wozniak
-
-#define PR(x) printf(x);
-
-int
-main(int argc, char* argv[])
-{
- int i;
- int op_count;
- int op_size;
-
- if (argc < 3)
- {
- printf("usage: test02.x <op_count> <op_size> \n");
- exit(1);
- }
-
- sscanf(argv[1], "%i", &op_count);
- sscanf(argv[2], "%i", &op_size);
-
- MPI_Init(&argc, &argv);
-
- whoami();
-
- disksim_init();
-
- double delay = 0;
-
- for (i = 1; i <= op_count; i++)
- {
- delay += compute_write(op_count*op_size - i*op_size/4096,
- NULL, op_size);
- }
-
- printf("%f\n", delay/1e6);
-
- MPI_Finalize();
- return 0;
-}
diff --git a/oldcode/test/disksim/test03.c b/oldcode/test/disksim/test03.c
deleted file mode 100644
index 5bef9c3..0000000
--- a/oldcode/test/disksim/test03.c
+++ /dev/null
@@ -1,48 +0,0 @@
-
-/**
- * Multiple in-order writes.
- * */
-
-#include <disksim.h>
-
-#include <string.h>
-
-#define STRINGX /home/wozniak
-
-#define PR(x) printf(x);
-
-int
-main(int argc, char* argv[])
-{
- int i;
- int op_count;
- int op_size;
-
- if (argc < 3)
- {
- printf("usage: test01.x <op_count> <op_size> \n");
- exit(1);
- }
-
- sscanf(argv[1], "%i", &op_count);
- sscanf(argv[2], "%i", &op_size);
-
- MPI_Init(&argc, &argv);
-
- whoami();
-
- disksim_init();
-
- double delay = 0;
-
- for (i = 1; i <= op_count; i++)
- {
- long block = rand_lt(887200);
- delay += compute_write(block, NULL, op_size);
- }
-
- printf("%f\n", delay/1e6);
-
- MPI_Finalize();
- return 0;
-}
diff --git a/oldcode/test/driver/About.txt b/oldcode/test/driver/About.txt
deleted file mode 100644
index 791e402..0000000
--- a/oldcode/test/driver/About.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-
-test_driver: Start up a DHT with a driver process.
-
-test01.x: Issue a "sleep 3" command to the driver.
-test02.x: Issue a "quit" to the driver.
-test03.x: Insert data via the driver.
-
-test01.zsh: Call test01.x and test02.x
-test02.zsh: Call test03.x and test02.x
diff --git a/oldcode/test/driver/module.mk.in b/oldcode/test/driver/module.mk.in
deleted file mode 100644
index 63daf52..0000000
--- a/oldcode/test/driver/module.mk.in
+++ /dev/null
@@ -1,16 +0,0 @@
-
-TEST_DRIVER_SRC += $(shell cd @SRC_ABSOLUTE_TOP@; find test/driver -name "*.c" ! -name test_helpers.c)
-TEST_SRC += $(TEST_DRIVER_SRC)
-TEST_HELPER_SRC += test/driver/test_helpers.c
-
-DRIVER = test/driver/test_driver.x
-
-DRIVER_IMPL = test/driver/test_driver_fifo.o
-
-test/driver/test%.x: test/driver/test%.o $(DRIVER)
- $(Q) " MPICC $(@) "
- $(E)$(MPICC) $(MPE) $(<) $(CMPI) $(LIBS) -o $(@)
-
-$(DRIVER): $(DRIVER_IMPL) test/driver/test_helpers.o src/cmpi/node.o $(CMPI)
- $(E)$(MPICC) $(MPE) $(<) test/driver/test_helpers.o src/cmpi/node.o \
- $(CMPI) $(LIBS) -o $(@)
diff --git a/oldcode/test/driver/test01.c b/oldcode/test/driver/test01.c
deleted file mode 100644
index 20af3b7..0000000
--- a/oldcode/test/driver/test01.c
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <accessor.h>
-
-int
-main(int argc, char* argv[])
-{
- driver_access_fifo();
-
- fprintf(to_cmpi, "sleep 3\n");
- fflush(to_cmpi);
- char output[30];
- fscanf(from_cmpi, "output: %s", output);
-
- printf("%s\n", output);
-
- return 0;
-}
-
diff --git a/oldcode/test/driver/test01.zsh b/oldcode/test/driver/test01.zsh
deleted file mode 100755
index e0b0f34..0000000
--- a/oldcode/test/driver/test01.zsh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/zsh
-
-make -j 3 D=1 test/driver/test01.x test/driver/test02.x \
- test/driver/test_driver.x
-
-mpiexec -n 5 test/driver/test_driver.x -n 4 &
-DRIVER_PID=${!}
-
-sleep 5
-
-print "Launching tool 01..."
-test/driver/test01.x
-
-print "Launching tool 02..."
-test/driver/test02.x
-
-wait
-
diff --git a/oldcode/test/driver/test02.c b/oldcode/test/driver/test02.c
deleted file mode 100644
index 80401d6..0000000
--- a/oldcode/test/driver/test02.c
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <accessor.h>
-
-int
-main(int argc, char* argv[])
-{
- driver_access_fifo();
-
- fprintf(to_cmpi, "quit\n");
- fflush(to_cmpi);
- char output[30];
- fscanf(from_cmpi, "output: %s", output);
-
- printf("%s\n", output);
-
- return 0;
-}
diff --git a/oldcode/test/driver/test02.zsh b/oldcode/test/driver/test02.zsh
deleted file mode 100755
index 90c2964..0000000
--- a/oldcode/test/driver/test02.zsh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/zsh
-
-make -j 3 D=1 test/driver/test02.x test/driver/test03.x \
- test/driver/test_driver.x
-[[ $? != 0 ]] && exit
-sleep 1
-
-mpiexec -n 5 test/driver/test_driver.x -n 4 &
-DRIVER_PID=${!}
-
-sleep 5
-
-print "Launching tool 03..."
-test/driver/test03.x
-
-print "Launching tool 02..."
-test/driver/test02.x
-
-wait
-
diff --git a/oldcode/test/driver/test03.c b/oldcode/test/driver/test03.c
deleted file mode 100644
index a55bc8f..0000000
--- a/oldcode/test/driver/test03.c
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <accessor.h>
-
-int
-main(int argc, char* argv[])
-{
- driver_access_fifo();
-
- char data[30] = "hello does this work";
-
- fprintf(to_cmpi, "put key1 %i\n", (int) strlen(data));
- fprintf(to_cmpi, "%s", data);
- fflush(to_cmpi);
-
- char output[30];
- fscanf(from_cmpi, "output: %s", output);
-
- printf("%s\n", output);
-
- return 0;
-}
diff --git a/oldcode/test/driver/test_driver_fifo.c b/oldcode/test/driver/test_driver_fifo.c
deleted file mode 100644
index 297e2b5..0000000
--- a/oldcode/test/driver/test_driver_fifo.c
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#include <node.h>
-#include <driver.h>
-
-#include "test_helpers.h"
-
-void
-cmpi_client_code()
-{
- wait_for_notification();
- notify_next();
-
- NOTE("PROCEEDING...");
-
- cmpi_driver* driver = driver_create();
-
- while (! driver->quitting)
- {
- driver_setup_fifo(driver);
- driver_process(driver);
- }
-
- NOTE("QUITTING");
-}
diff --git a/oldcode/test/driver/test_helpers.c b/oldcode/test/driver/test_helpers.c
deleted file mode 100644
index d19e888..0000000
--- a/oldcode/test/driver/test_helpers.c
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// #include <stdio.h>
-
-#include "test_helpers.h"
-
-/**
- Print debugging header using machine-specific information.
-*/
-void
-print_header(void)
-{
- // Are we a SLURM job?
- char* slurm_id = getenv("SLURM_JOBID");
- if (slurm_id)
- printf("SLURM_JOBID: %s\n", slurm_id);
-}
-
-char*
-useless_data(int size)
-{
- int i;
- char* s = malloc(size*sizeof(char));
- for (i = 0; i < size-1; i++)
- s[i] = 'a' + rand_lt(26);
- s[size-1] = '\0';
- return s;
-}
-
-void
-wait_for_notification(void)
-{
- int tmp;
- MPI_Status status;
- MPI_Recv(&tmp, 1, MPI_INT,
- MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &status);
- assert(tmp == -2);
-}
-
-void
-notify_next(void)
-{
- if (mpi_rank < mpi_size-1)
- {
- int msg = -2;
- MPI_Send(&msg, 1, MPI_INT,
- mpi_rank+1, 0, MPI_COMM_WORLD);
- }
- else
- {
- NOTE("NOTIFICATION_FINALIZED");
- }
-}
diff --git a/oldcode/test/driver/test_helpers.h b/oldcode/test/driver/test_helpers.h
deleted file mode 100644
index 431eb9a..0000000
--- a/oldcode/test/driver/test_helpers.h
+++ /dev/null
@@ -1,20 +0,0 @@
-
-// #include <stdio.h>
-
-#ifndef TEST_HELPERS_H
-#define TEST_HELPERS_H
-
-#include <node.h>
-#include <gossip.h>
-
-/**
- Print debugging header using machine-specific information.
-*/
-void print_header(void);
-
-char* useless_data(int size);
-
-void wait_for_notification(void);
-void notify_next(void);
-
-#endif
diff --git a/oldcode/test/gack/module.mk.in b/oldcode/test/gack/module.mk.in
deleted file mode 100644
index 61ab7bb..0000000
--- a/oldcode/test/gack/module.mk.in
+++ /dev/null
@@ -1,24 +0,0 @@
-
-DIR := test/gack
-
-TEST_GACK_GSSRC += $(shell cd @SRC_ABSOLUTE_TOP@; find $(DIR) -name "*.gs" )
-TEST_GACK_SRC += $(shell cd @SRC_ABSOLUTE_TOP@; find $(DIR) -name "*.c" )
-TEST_GSSRC += $(TEST_GACK_GSSRC)
-
-TEST_GACK_OBJS := $(patsubst %.gs, %.o, $(TEST_GACK_GSSRC))
-TEST_GACK_PROGS := $(patsubst %.gs, %.x, $(TEST_GACK_GSSRC))
-
-TEST_OBJS += $(TEST_GACK_OBJS)
-TEST_PROGS += $(TEST_GACK_PROGS)
-
-# GACK tests
-
-# Separate rule for local function tests:
-# test/gack/test01.x: test/gack/test01.o $(GACK)
-# $(Q) " MPICC $(@)"
-# $(E)$(MPICC) -rdynamic -L src/gsl/lib $(<) $(GACK) -l gs -l gstest $(LIBS) -o $(@)
-
-test/gack/test%.x: test/gack/test%.o $(GACK) src/gobs/launch.o
- $(Q) " MPICC $(@)"
- $(E)$(MPICC) -rdynamic -L src/gsl/lib $(<) src/gobs/launch.o src/gobs/client.o $(GACK) -l gs -l gstest -l crypto -l m $(LIBS) -o $(@)
-
diff --git a/oldcode/test/gack/test01.gs b/oldcode/test/gack/test01.gs
deleted file mode 100644
index 3aa0e8b..0000000
--- a/oldcode/test/gack/test01.gs
+++ /dev/null
@@ -1,27 +0,0 @@
-
-/**
- TEST01: Simple local allocation.
-*/
-
-#include <stdbool.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include <mpi.h>
-
-#include <include/gs.h>
-#include <resources/mpi/gs-mpi.gsh>
-#include <gobs.gsh>
-#include <skullfs_client.gsh>
-
-__blocking int
-gobs_client_code()
-{
- gack_sack* sack;
-
- sack = gack_allocate(1);
-
- gack_printf_sack(sack);
-
- return 1;
-}
diff --git a/oldcode/test/gack/test02.gs b/oldcode/test/gack/test02.gs
deleted file mode 100644
index d77ae70..0000000
--- a/oldcode/test/gack/test02.gs
+++ /dev/null
@@ -1,28 +0,0 @@
-
-/**
- TEST01: Simple local allocation.
-*/
-
-#include <stdbool.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include <mpi.h>
-
-#include <include/gs.h>
-#include <resources/mpi/gs-mpi.gsh>
-#include <gobs.gsh>
-#include <skullfs_client.gsh>
-
-__blocking int
-gobs_client_code()
-{
- gack_sack sack;
-
- gack_allocate(&sack);
-
- gack_printf_sack(&sack);
-
- return 1;
-}
-
diff --git a/oldcode/test/gobs/About.txt b/oldcode/test/gobs/About.txt
deleted file mode 100644
index 9ff651d..0000000
--- a/oldcode/test/gobs/About.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-
-test01: Simple lookup and store.
-test02: Simple lookup and store and retrieve.
-test03: AIT tests
diff --git a/oldcode/test/gobs/module.mk.in b/oldcode/test/gobs/module.mk.in
deleted file mode 100644
index 1229504..0000000
--- a/oldcode/test/gobs/module.mk.in
+++ /dev/null
@@ -1,13 +0,0 @@
-
-DIR := test/gobs
-
-TEST_GOBS_GSSRC += $(shell cd @SRC_ABSOLUTE_TOP@; find $(DIR) -name "*.gs" )
-TEST_GSSRC += $(TEST_GOBS_GSSRC)
-
-ADTS = src/adts/itable.o src/adts/hashtable.o src/adts/ilist.o src/adts/klist.o
-
-# GOBS tests
-
-test/gobs/test%.x: test/gobs/test%.o $(GOBS) src/gobs/launch.o
- $(Q) " MPICC $(@)"
- $(E)$(MPICC) -rdynamic -L src/gsl/lib $(<) src/gobs/launch.o $(GOBS) -l gs -l gstest $(LIBS) -o $(@)
diff --git a/oldcode/test/gobs/test01.gs b/oldcode/test/gobs/test01.gs
deleted file mode 100644
index 121d3fe..0000000
--- a/oldcode/test/gobs/test01.gs
+++ /dev/null
@@ -1,37 +0,0 @@
-
-/**
- TEST01: Simple lookup and store.
-*/
-
-#include <stdbool.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include <mpi.h>
-
-#include <include/gs.h>
-#include <resources/mpi/gs-mpi.gsh>
-#include <gobs.gsh>
-
-__blocking int
-gobs_client_code()
-{
- gobs_id key;
- char data[128];
- int length;
-
- gum_node target;
- gum_node recipient;
-
- key = 5;
- strcpy(data, "test01_data");
- length = strlen(data)+1;
-
- target.rank = 0;
- target.comm = MPI_COMM_WORLD;
-
- gobs_query(target, key, &recipient);
- gobs_store(recipient, key, data, length);
-
- return 1;
-}
diff --git a/oldcode/test/gobs/test02.gs b/oldcode/test/gobs/test02.gs
deleted file mode 100644
index bc988c4..0000000
--- a/oldcode/test/gobs/test02.gs
+++ /dev/null
@@ -1,41 +0,0 @@
-
-/**
- TEST02: Simple lookup and store and retrieve.
-*/
-
-#include <stdbool.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include <mpi.h>
-
-#include <include/gs.h>
-#include <resources/mpi/gs-mpi.gsh>
-#include <gobs.gsh>
-
-__blocking int
-gobs_client_code()
-{
- gobs_id key;
- char data[128];
- int length;
-
- gum_node target;
- gum_node recipient;
-
- key = 5;
- strcpy(data, "test01_data");
- length = strlen(data)+1;
-
- target.rank = 0;
- target.comm = MPI_COMM_WORLD;
-
- recipient = gobs_query(target, key);
- gobs_store(recipient, key, data, length);
-
- gobs_retrieve(recipient, key, data);
-
- printf("data: %s\n", data);
-
- return 1;
-}
diff --git a/oldcode/test/gobs/test03.gs b/oldcode/test/gobs/test03.gs
deleted file mode 100644
index 481eff2..0000000
--- a/oldcode/test/gobs/test03.gs
+++ /dev/null
@@ -1,31 +0,0 @@
-
-/**
- TEST03: AIT Tests.
-*/
-
-#include <stdbool.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include <mpi.h>
-
-#include <include/gs.h>
-#include <resources/mpi/gs-mpi.gsh>
-#include <gobs.gsh>
-
-#include <test/common/gdb_wait_loop.c>
-
-__blocking int
-gobs_client_code()
-{
- gum_node target;
-
- // gdb_wait_loop();
-
- target.rank = 0;
- target.comm = MPI_COMM_WORLD;
-
- gobs_ait_pull(target);
-
- return 1;
-}
diff --git a/oldcode/test/gossip/module.mk.in b/oldcode/test/gossip/module.mk.in
deleted file mode 100644
index fc1fa7f..0000000
--- a/oldcode/test/gossip/module.mk.in
+++ /dev/null
@@ -1,8 +0,0 @@
-
-TEST_SRC += $(shell cd @SRC_ABSOLUTE_TOP@; find test/gossip -name "*.c")
-#TEST_PROGS += $(patsubst %.c, %.x, $(TEST_SRC))
-#TEST_OUTPUT += $(patsubst %.c, %.out, $(TEST_SRC))
-
-test/gossip/test%.x: test/gossip/test%.o $(CMPI)
- $(Q) " LINK $(@) "
- $(E)$(MPICC) $(<) $(CMPI) $(LIBS) -o $(@)
diff --git a/oldcode/test/gossip/test01.c b/oldcode/test/gossip/test01.c
deleted file mode 100644
index 228da18..0000000
--- a/oldcode/test/gossip/test01.c
+++ /dev/null
@@ -1,76 +0,0 @@
-
-/**
- * Test gossip functionality.
- * */
-
-#include <mpi.h>
-#include <gossip.h>
-
-#define MASK_NONE (uint64_t)0
-#define MASK1 ((uint64_t)1 << 0)
-#define MASK2 ((uint64_t)1 << 1)
-#define MASK3 ((uint64_t)1 << 2)
-
-int main(int argc, char* argv[])
-{
- MPI_Init(&argc, &argv);
-
-/* examples of configuring gossip */
-/*******************************************************************/
-
- /* control where the output goes, if desired */
-
- /* stderr by default, no need to enable */
- /* gossip_enable_stderr(); */
- /* to log to a particular file */
- /* gossip_enable_file("test.log", "w"); */
- /* to log to syslog */
- /* gossip_enable_syslog(LOG_USER); */
-
- /* control what timestamp format to use */
-
- /* usec granularity */
- /* gossip_set_logstamp(GOSSIP_LOGSTAMP_USEC); */
- /* turn off timestamp */
- /* gossip_set_logstamp(GOSSIP_LOGSTAMP_NONE); */
- /* use prettier, lower granularity for system services */
- /* gossip_set_logstamp(GOSSIP_LOGSTAMP_DATETIME); */
- /* like usec, but also shows thread number */
- /* gossip_set_logstamp(GOSSIP_LOGSTAMP_THREAD); */
-
- /* like usec, but also shows mpi rank, default for grayskull */
- /* gossip_set_logstamp(GOSSIP_LOGSTAMP_MPI); */
-
- /* control what mask levels get printed, one and two for this test */
- /* all masks off by default */
- gossip_set_debug_mask(1, MASK1|MASK2);
-
-
-/* examples of internal code using gossip */
-/*******************************************************************/
-
- gossip_err("Error message.\n");
- gossip_err("Error message, printf style: %d.\n", 12345);
- gossip_lerr("Error message, with line info.\n");
-
- /* examples of printing debugging messages */
- gossip_debug(MASK1, "Debug mask 1.\n");
- gossip_debug(MASK2, "Debug mask 2.\n");
- gossip_debug(MASK3, "Debug mask 3.\n");
-
- gossip_ldebug(MASK1, "Debug mask 1, with line info.\n");
- gossip_ldebug(MASK2, "Debug mask 2, with line info.\n");
- gossip_ldebug(MASK3, "Debug mask 3, with line info.\n");
-
- MPI_Finalize();
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/test/gossip/test02.c b/oldcode/test/gossip/test02.c
deleted file mode 100644
index 83bfb0d..0000000
--- a/oldcode/test/gossip/test02.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * Test gossip functionality.
- * */
-
-#include <mpi.h>
-#include <gs-debug.h>
-
-int main(int argc, char* argv[])
-{
- MPI_Init(&argc, &argv);
-
- printf(
-"This test program will print an example debugging message on the final\n"
-"line of output if the GS_DEBUG_MASK environment variable is set to include\n"
-"\"example\" or \"all\" in its comma seperated list of masks:\n"
- );
-
- gs_debug_init();
-
- gossip_debug(GS_D_EXAMPLE, "Example debugging message.\n");
-
- MPI_Finalize();
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/test/gossip/test03.c b/oldcode/test/gossip/test03.c
deleted file mode 100644
index 15ee183..0000000
--- a/oldcode/test/gossip/test03.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Test gossip functionality.
- * */
-
-#include <mpi.h>
-#include <gs-debug.h>
-#include <mpi_tools.h>
-
-int main(int argc, char* argv[])
-{
- MPI_Init(&argc, &argv);
-
- whoami();
-
- printf(
-"This test program will print an example debugging message on the final\n"
-"line of output if the GS_DEBUG_MASK environment variable is set to include\n"
-"\"example\" or \"all\" in its comma seperated list of masks:\n"
- );
-
- gs_debug_init();
-
- gossip_do(GS_D_EXAMPLE, NOTE("Hello"));
-
- MPI_Finalize();
- return 0;
-}
-
-/*
- * Local variables:
- * c-indent-level: 4
- * c-basic-offset: 4
- * End:
- *
- * vim: ts=8 sts=4 sw=4 expandtab
- */
diff --git a/oldcode/test/gum/About.txt b/oldcode/test/gum/About.txt
deleted file mode 100644
index 3c78366..0000000
--- a/oldcode/test/gum/About.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-
-GUM TESTS
-
-test01: Simple calls
-test02: Fault emulation
-test03: Function registration
-test04: Ping
diff --git a/oldcode/test/gum/module.mk.in b/oldcode/test/gum/module.mk.in
deleted file mode 100644
index acade5f..0000000
--- a/oldcode/test/gum/module.mk.in
+++ /dev/null
@@ -1,25 +0,0 @@
-
-DIR := test/gum
-
-MODCFLAGS_$(DIR)/send-recv.gs = $(MPICFLAGS)
-MODLDFLAGS_$(DIR)/send-recv.gs = $(MPILDFLAGS)
-MODLIBS_$(DIR)/send-recv.gs = $(MPILIBS)
-MODCC_$(DIR)/send-recv.gs = $(MPICC)
-
-TEST_GUM_GSSRC += $(shell cd @SRC_ABSOLUTE_TOP@; find $(DIR) -name "*.gs" )
-TEST_GSSRC += $(TEST_GUM_GSSRC)
-
-TEST_GUM_ADTS = src/adts/itable.o src/adts/hashtable.o src/adts/ilist.o src/adts/klist.o
-
-# GUM tests
-# test/gum/test01.o: test/gum/test01.gs
-# $(Q) " GSCC $(@)"
-# $(E)$(GSCC) $(GSLFLAGS) --dontclean $(GSINCLUDES) --compiler $(MPICC) --outfile $(@) $(<)
-
-test/gum/test%.x: test/gum/test%.o src/gum/gum.o $(TEST_GUM_ADTS) src/common/gossip/gossip.o src/mpi_tools/mpi_tools.o
- $(Q) " MPICC $(@)"
- $(E)$(MPICC) -rdynamic $(^) -L src/gsl/lib -l gs -l gstest -l crypto -l m -o $(@)
-
-test/gum/funptrs.x: test/gum/funptrs.o
- $(Q) " MPICC $(@)"
- $(E)$(MPICC) -rdynamic $(^) -L src/gsl/lib -l gs -l gstest -l crypto -l m -o $(@)
diff --git a/oldcode/test/gum/test01.gs b/oldcode/test/gum/test01.gs
deleted file mode 100644
index 351070d..0000000
--- a/oldcode/test/gum/test01.gs
+++ /dev/null
@@ -1,189 +0,0 @@
-
-/**
- * GUM TEST01
- *
- * Simple call/response and shutdown test.
- * Rank 0 is service, rank 1 is client.
- * */
-
-#include <stdbool.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include <mpi.h>
-
-#include <include/gs.h>
-#include <resources/mpi/gs-mpi.gsh>
-#include <gum.gsh>
-
-int done = 0;
-
-int mpi_size;
-int mpi_rank;
-
-enum
-{
- GUM_TEST01
-};
-
-#ifndef DUMMYOBJ
-static gs_ret_t bootstrap_post(void (f)(void*,int),
- void*, gs_hints_t,
- gs_context_t, gs_op_id_t*);
-
-static void
-done_callback(void *user_ptr, int ret)
-{
- done = 1;
-}
-
-#endif
-
-__blocking int
-gum_test01(gum_node caller, gum_msg* call)
-{
- gum_msg* response;
- char* data;
-
- if (strcmp(call->data, "quit") == 0)
- gum_shutdown();
-
- data = strdup("ok");
- response = gum_msg_response(call->unique, data, strlen(data)+1);
-
- gum_return(caller, response);
-
- return 1;
-}
-
-#ifndef DUMMYOBJ
-
-static __blocking int
-client(void)
-{
- gum_msg* msg;
- gum_msg* result;
- gum_node target;
-
- char args[32];
-
- target.rank = 0;
- target.comm = MPI_COMM_WORLD;
-
- msg = malloc(sizeof(gum_msg));
-
- strcpy(args, "args1");
- gum_msg_init(GUM_TEST01, args, strlen(args)+1, msg);
- gum_call(target, msg, &result);
-
- printf("called: got: %s\n", result->data);
-
- free(result);
-
- strcpy(args, "quit");
-
- gum_msg_init(GUM_TEST01, args, strlen(args)+1, msg);
- gum_call(target, msg, &result);
- printf("called: got: %s\n", result->data);
- free(msg);
- free(result);
-
- printf("client done\n");
- return 0;
-}
-
-static __blocking int
-service(MPI_Comm comm)
-{
- gum_node caller;
-
- int unique;
- gum_proc_idx idx;
- int length;
- // char data[GUM_MSG_MAX];
-
- gum_msg call;
- gum_node target;
- // gum_proc procedure;
-
- while (gum_running())
- {
-
- target.rank = MPI_ANY_SOURCE;
- target.comm = comm;
-
- call.data = malloc(GUM_MSG_MAX);
- gum_recv(target, GUM_CALL, &idx, &(caller.rank), &unique,
- &length, call.data);
- caller.comm = comm;
-
- call.unique = unique;
- call.source = caller.rank;
- call.length = length;
-
- if (idx == GUM_TEST01)
- {
- gum_test01(caller, &call);
- }
- }
- printf("service done\n");
- return 0;
-}
-
-static __blocking int
-bootstrap(void)
-{
- if (mpi_rank == 0)
- {
- service(MPI_COMM_WORLD);
- }
- else
- {
- client();
- }
-
- return 0;
-}
-
-#endif
-
-int
-main(int argc, char *argv[])
-{
-#ifndef DUMMYOBJ
- gs_op_id_t op_id;
-#endif
- gs_context_t ctx;
-
- // bool debugWait = false;
-
- gossip_set_debug_mask(1, MASK_GUM);
-
- MPI_Init(&argc, &argv);
-
- MPI_Comm_size(MPI_COMM_WORLD, &mpi_size);
- MPI_Comm_rank(MPI_COMM_WORLD, &mpi_rank);
-
- // if (mpi_rank == 0)
- // while (!debugWait);
-
- gs_mpi_init();
- gs_context_create(&ctx, 1, "mpi");
-
- gum_init();
-
-#ifndef DUMMYOBJ
- bootstrap_post(done_callback, NULL, NULL, ctx, &op_id);
-#endif
-
- while (done == 0)
- {
- gs_poll(ctx, 10);
- }
-
- printf("finalize\n");
- gs_context_destroy(ctx);
- gs_mpi_finalize();
- MPI_Finalize();
- return 0;
-}
diff --git a/oldcode/test/gum/test02.gs b/oldcode/test/gum/test02.gs
deleted file mode 100644
index 4a43148..0000000
--- a/oldcode/test/gum/test02.gs
+++ /dev/null
@@ -1,207 +0,0 @@
-
-/**
- * GUM TEST02
- *
- * Fault emulation.
- * */
-
-#include <stdbool.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include <mpi.h>
-
-#include <include/gs.h>
-#include <resources/mpi/gs-mpi.gsh>
-#include <gum.gsh>
-
-int done = 0;
-
-int mpi_size;
-int mpi_rank;
-
-enum
-{
- GUM_TEST
-};
-
-#ifndef DUMMYOBJ
-static gs_ret_t bootstrap_post(void (f)(void*,int),
- void*, gs_hints_t,
- gs_context_t, gs_op_id_t*);
-
-static void
-done_callback(void *user_ptr, int ret)
-{
- done = 1;
-}
-
-#endif
-
-__blocking int
-gum_test(gum_node caller, gum_msg* call)
-{
- gum_msg response;
-
- if (strcmp(call->data, "quit") == 0)
- gum_shutdown();
-
- response.unique = flip2(call->unique);
- response.data = malloc(4);
- response.length = 4;
- strcpy(response.data, "ok");
-
- gum_return(caller, &response);
-
- return 1;
-}
-
-#ifndef DUMMYOBJ
-
-static __blocking int
-client(void)
-{
- gum_msg* msg;
- gum_msg* result;
- gum_node target;
-
- char args[32];
-
- int error;
-
- target.rank = 0;
- target.comm = MPI_COMM_WORLD;
-
- msg = malloc(sizeof(gum_msg));
-
- strcpy(args, "args1");
- gum_msg_init(GUM_TEST, args, strlen(args)+1, msg);
- error = gum_call(target, msg, &result);
- printf("called: got: %s\n", result->data);
- printf("error: %i\n", error);
- free(result);
-
- gum_emulate_fault(target);
-
- strcpy(args, "args1");
- gum_msg_init(GUM_TEST, args, strlen(args)+1, msg);
- error = gum_call(target, msg, &result);
- printf("called: got: %s\n", result->data);
- printf("error: %i\n", error);
- if (error == 0)
- {
- printf("got emulated fault!\n");
- }
-
- gum_kill(target);
-
- free(msg);
- printf("client done\n");
- return 0;
-}
-
-static __blocking int
-service(MPI_Comm comm)
-{
- gum_node caller;
-
- int unique;
- gum_proc_idx idx;
- int length;
- // char data[GUM_MSG_MAX];
-
- gum_msg call;
- gum_node target;
- // gum_proc procedure;
-
- while (gum_running())
- {
- target.rank = MPI_ANY_SOURCE;
- target.comm = comm;
-
- call.data = malloc(GUM_MSG_MAX);
- gum_recv(target, GUM_CALL, &idx, &(caller.rank), &unique,
- &length, call.data);
- caller.comm = comm;
-
- call.unique = unique;
- call.source = caller.rank;
- call.length = length;
-
- printf("idx: %i\n", idx);
- if (idx == GUM_TEST)
- {
- gum_test(caller, &call);
- }
- }
- printf("service done\n");
- return 0;
-}
-
-static __blocking int
-bootstrap(void)
-{
- // MPI_Status status;
- // gum_node target;
-
- if (mpi_rank == 0)
- {
- service(MPI_COMM_WORLD);
- }
- else
- {
- client();
- }
-
- return 0;
-}
-
-#endif
-
-int
-main(int argc, char *argv[])
-{
-#ifndef DUMMYOBJ
- gs_op_id_t op_id;
-#endif
- gs_context_t ctx;
-
- // bool debugWait = false;
-
- MPI_Init(&argc, &argv);
-
- MPI_Comm_size(MPI_COMM_WORLD, &mpi_size);
- MPI_Comm_rank(MPI_COMM_WORLD, &mpi_rank);
-
- // if (mpi_rank == 0)
- // while (!debugWait);
-
- gs_mpi_init();
- gs_context_create(&ctx, 1, "mpi");
-
- gossip_set_debug_mask(1, MASK_GUM);
-
- gum_init();
-
-#ifndef DUMMYOBJ
- bootstrap_post(done_callback, NULL, NULL, ctx, &op_id);
-#endif
-
- /*
- while (false)
- {
- bootstrap();
- }
- */
-
- while (done == 0)
- {
- gs_poll(ctx, 10);
- }
-
- printf("finalize\n");
- gs_context_destroy(ctx);
- gs_mpi_finalize();
- MPI_Finalize();
- return 0;
-}
diff --git a/oldcode/test/gum/test03.gs b/oldcode/test/gum/test03.gs
deleted file mode 100644
index bf233b1..0000000
--- a/oldcode/test/gum/test03.gs
+++ /dev/null
@@ -1,194 +0,0 @@
-
-/**
- * GUM TEST 03
- *
- * Simple function registration and calls.
- * */
-
-#include <stdbool.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include <mpi.h>
-
-#include <include/gs.h>
-#include <resources/mpi/gs-mpi.gsh>
-#include <gum.gsh>
-
-int done = 0;
-
-int mpi_size;
-int mpi_rank;
-
-static void
-done_callback(void *user_ptr, int ret)
-{
- done = 1;
-}
-
-static __blocking int
-handle_blah(gum_msg* call)
-{
- gum_msg* reply;
-
- printf("handle_blah got: %s from: %i\n",
- call->data, call->source.rank);
-
- reply = gum_msg_reply(call);
- reply->data = strdup("OK");
- reply->length = strlen(reply->data);
-
- gum_return(call->source, reply);
-
- return 1;
-}
-
-static __blocking int
-handle_quit(gum_msg* call)
-{
- gum_msg* reply;
-
- printf("handle_quit got: %s from: %i\n",
- call->data, call->source.rank);
- gum_shutdown();
-
- reply = gum_msg_reply(call);
- reply->data = strdup("OK");
- reply->length = strlen(reply->data);
-
- gum_return(call->source, reply);
-
- return 1;
-}
-
-static __blocking int
-client(void)
-{
- gum_msg* msg;
- gum_msg* result;
- gum_node target;
-
- char args[32];
-
- gum_proc_idx blah;
- gum_proc_idx quit;
-
- blah = gum_proc_create("blah");
- quit = gum_proc_create("quit");
-
- target.rank = 0;
- target.comm = MPI_COMM_WORLD;
-
- msg = malloc(sizeof(gum_msg));
-
- strcpy(args, "args1");
- gum_msg_init(blah, args, strlen(args)+1, msg);
- gum_pack(msg);
- gum_call(target, msg, &result);
-
- printf("called blah got: %s\n", result->data);
-
- free(result->data);
- free(result);
-
- strcpy(args, "now");
-
- gum_msg_init(quit, args, strlen(args)+1, msg);
- gum_pack(msg);
- gum_call(target, msg, &result);
- printf("called quit got: %s\n", result->data);
- free(msg);
- free(result->data);
- free(result);
-
- printf("client done\n");
- return 0;
-}
-
-static __blocking int
-service(void)
-{
- struct gum_blocking* blah;
- struct gum_blocking* quit;
-
- blah = malloc(sizeof(struct gum_blocking));
- strcpy(blah->name, "blah");
- blah->procedure = handle_blah;
-
- quit = malloc(sizeof(struct gum_blocking));
- strcpy(quit->name, "quit");
- quit->procedure = handle_quit;
-
- gum_register(blah);
- gum_register(quit);
-
- while (gum_running())
- {
- gum_response();
- sleep(1);
- }
- printf("service done\n");
- return 0;
-}
-
-static __blocking int
-bootstrap(void)
-{
- MPI_Status status;
- gum_node target;
-
- if (mpi_rank == 0)
- {
- service();
- }
- else
- {
- client();
- }
-
- return 0;
-}
-
-int
-main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- gs_context_t ctx;
-
- bool debugWait = false;
-
- pid_t pid;
-
- gossip_set_debug_mask(1, MASK_GUM);
-
- MPI_Init(&argc, &argv);
-
- MPI_Comm_size(MPI_COMM_WORLD, &mpi_size);
- MPI_Comm_rank(MPI_COMM_WORLD, &mpi_rank);
-
-#ifdef GDB_WAIT
- if (mpi_rank == 1)
- {
- pid = getpid();
- printf("pid: %i\n", pid);
- while (!debugWait);
- }
-#endif
-
- gs_mpi_init();
- gs_context_create(&ctx, 1, "mpi");
-
- gum_init();
- bootstrap_post(done_callback, NULL, NULL, ctx, &op_id);
-
- while(done == 0)
- {
- gs_poll(ctx, 10);
- }
-
- printf("finalize...\n");
- gs_context_destroy(ctx);
- gs_mpi_finalize();
- MPI_Finalize();
- return 0;
-}
diff --git a/oldcode/test/gum/test04.gs b/oldcode/test/gum/test04.gs
deleted file mode 100644
index c6d2ef4..0000000
--- a/oldcode/test/gum/test04.gs
+++ /dev/null
@@ -1,193 +0,0 @@
-
-/**
- * GUM TEST 03
- *
- * Simple function registration and calls.
- * Uses gum_blocking_create().
- * */
-
-#include <stdbool.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include <mpi.h>
-
-#include <include/gs.h>
-#include <resources/mpi/gs-mpi.gsh>
-#include <gum.gsh>
-
-int done = 0;
-
-int mpi_size;
-int mpi_rank;
-
-static void
-done_callback(void *user_ptr, int ret)
-{
- done = 1;
-}
-
-static __blocking int
-handle_blah(gum_msg* call)
-{
- gum_msg* reply;
-
- printf("handle_blah got: %s from: %i\n",
- call->data, call->source.rank);
-
- reply = gum_msg_reply(call);
- reply->data = strdup("OK");
- reply->length = strlen(reply->data);
-
- gum_return(call->source, reply);
-
- return 1;
-}
-
-static __blocking int
-handle_quit(gum_msg* call)
-{
- gum_msg* reply;
-
- printf("handle_quit got: %s from: %i\n",
- call->data, call->source.rank);
- gum_shutdown();
-
- reply = gum_msg_reply(call);
- reply->data = strdup("OK");
- reply->length = strlen(reply->data);
-
- gum_return(call->source, reply);
-
- return 1;
-}
-
-static __blocking int
-client(void)
-{
- gum_msg* msg;
- gum_msg* result;
- gum_node target;
-
- char args[32];
-
- gum_proc_idx blah;
- gum_proc_idx quit;
-
- blah = gum_proc_create("blah");
- quit = gum_proc_create("quit");
-
- target.rank = 0;
- target.comm = MPI_COMM_WORLD;
-
- msg = malloc(sizeof(gum_msg));
-
- strcpy(args, "args1");
- gum_msg_init(blah, args, strlen(args)+1, msg);
- gum_pack(msg);
- gum_call(target, msg, &result);
-
- printf("called blah got: %s\n", result->data);
-
- free(result->data);
- free(result);
-
- strcpy(args, "now");
-
- gum_msg_init(quit, args, strlen(args)+1, msg);
- gum_pack(msg);
- gum_call(target, msg, &result);
- printf("called quit got: %s\n", result->data);
- free(msg);
- free(result->data);
- free(result);
-
- printf("client done\n");
- return 0;
-}
-
-static __blocking int
-service(void)
-{
- struct gum_blocking* blah;
- struct gum_blocking* quit;
-
- blah = gum_blocking_create("blah");
- blah->procedure = handle_blah;
-
- quit = gum_blocking_create("quit");
- quit->procedure = handle_quit;
-
- gum_register(blah);
- gum_register(quit);
-
- while (gum_running())
- {
- gum_response();
- sleep(1);
- }
- printf("service done\n");
- return 0;
-}
-
-static __blocking int
-bootstrap(void)
-{
- MPI_Status status;
- gum_node target;
-
- if (mpi_rank == 0)
- {
- service();
- }
- else
- {
- client();
- }
-
- return 0;
-}
-
-int
-main(int argc, char *argv[])
-{
- gs_op_id_t op_id;
- gs_context_t ctx;
-
- bool debugWait = false;
-
- pid_t pid;
-
- gossip_set_debug_mask(1, MASK_GUM);
-
- MPI_Init(&argc, &argv);
-
- MPI_Comm_size(MPI_COMM_WORLD, &mpi_size);
- MPI_Comm_rank(MPI_COMM_WORLD, &mpi_rank);
-
-#ifdef GDB_WAIT
- if (mpi_rank == 1)
- {
- pid = getpid();
- printf("pid: %i\n", pid);
- while (!debugWait);
- }
-#endif
-
- gs_mpi_init();
- gs_context_create(&ctx, 1, "mpi");
-
- gum_init();
- bootstrap_post(done_callback, NULL, NULL, ctx, &op_id);
-
- while(done == 0)
- {
- gs_poll(ctx, 10);
- }
-
- printf("finalize...\n");
- gs_context_destroy(ctx);
- gs_mpi_finalize();
- MPI_Finalize();
- return 0;
-}
diff --git a/oldcode/test/mpi_tools/module.mk.in b/oldcode/test/mpi_tools/module.mk.in
deleted file mode 100644
index 3689e1c..0000000
--- a/oldcode/test/mpi_tools/module.mk.in
+++ /dev/null
@@ -1,15 +0,0 @@
-
-ifeq (@USE_COMM_WORLD@,1)
-
-TEST_MPITOOLS_SRC += $(shell cd @SRC_ABSOLUTE_TOP@; find test/mpi_tools -name "*.c")
-TEST_SRC += $(TEST_MPITOOLS_SRCS)
-
-test/mpi_tools/test%.out: test/mpi_tools/test%.x
- $(LAUNCH) -n $(NODES) $(<) > $(@) 2>&1
-
-test/mpi_tools/test%.x: test/mpi_tools/test%.o $(CMPI)
- $(Q) " MPICC $(@) "
- $(E)$(MPICC) $(MPE) $(<) $(CMPI) $(LIBS) -o $(@)
-
-endif
-
diff --git a/oldcode/test/mpi_tools/test01.c b/oldcode/test/mpi_tools/test01.c
deleted file mode 100644
index 427a0da..0000000
--- a/oldcode/test/mpi_tools/test01.c
+++ /dev/null
@@ -1,19 +0,0 @@
-
-/**
- Test math functions.
-*/
-
-#include <mpi_tools.h>
-
-int
-main(int argc, char* argv[])
-{
- int i;
- for (i = 0; i < 20; i++)
- {
- SHOW_II(i, ilog2(i));
- SHOW_II(i, isqrt(i));
- }
-
- return 0;
-}
diff --git a/oldcode/test/mpirpc-1/Makefile b/oldcode/test/mpirpc-1/Makefile
deleted file mode 100644
index 7087c4a..0000000
--- a/oldcode/test/mpirpc-1/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-
-MPIRPC := ../../lib/libmpirpc.a
-
-INCLUDES = -I ../.. -I ../../src/adts -I ../../src/mpirpc
-LIBRARIES = -L ../../lib
-LINKS = $(LIBRARIES) -l mpirpc -l crypto # $(MPIRPC)
-CFLAGS = --std=gnu99 -D ENABLE_DEBUG $(INCLUDES)
-
-all: accept1 connect1 $(MPIRPC)
-
-$(MPIRPC):
- $(MAKE) -C ../.. mpirpc
-
-accept1: accept1.o $(MPIRPC)
- mpicc $(<) $(LINKS) -o $(@)
-
-connect1: connect1.o $(MPIRPC)
- mpicc $(<) $(LINKS) -o $(@)
-
-%.o:%.c
- mpicc -c $(CFLAGS) $< -o $@
-
-clean:
- rm -fv connect1 accept1 *.o $(MPIRPC)
diff --git a/oldcode/test/mpirpc-1/accept1.c b/oldcode/test/mpirpc-1/accept1.c
deleted file mode 100644
index 38da8c7..0000000
--- a/oldcode/test/mpirpc-1/accept1.c
+++ /dev/null
@@ -1,53 +0,0 @@
-
-#include <assert.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-#include <mpi.h>
-
-#include <mpirpc.h>
-
-void
-printsum(MPIRPC* rpc)
-{
- printf("sum: %s \n", rpc->result);
-}
-
-int
-main(int argc, char* argv[])
-{
- int i;
- assert(argc > 0);
-
- int n;
- sscanf(argv[1], "%i", &n);
-
- printf("clients: %i \n", n);
- fflush(NULL);
-
- MPI_Init(&argc, &argv);
-
- char port[MPI_MAX_PORT_NAME];
- MPI_Open_port(MPI_INFO_NULL, port);
- MPI_Publish_name("mpirpc-test1", MPI_INFO_NULL, port);
-
- MPI_Comm* newcomm = malloc(n*sizeof(MPI_Comm));
- MPIRPC_Node* node = malloc(n*sizeof(MPIRPC_Node));
- for (i = 0; i < n; i++)
- {
- MPI_Comm_accept(port, MPI_INFO_NULL,
- 0, MPI_COMM_SELF, &newcomm[i]);
- MPI_Comm_set_errhandler(newcomm[i], MPI_ERRORS_RETURN);
- node[i].comm = newcomm[i];
- node[i].rank = MPI_REQUEST_NULL;
- }
-
- MPIRPC* rpc = MPIRPC_Call(&node[0], "add", "2 2", "", printsum);
- char* result = MPIRPC_Wait(rpc);
-
- // printf("ok %i \n", err);
-
- MPI_Finalize();
-}
diff --git a/oldcode/test/mpirpc-1/connect1.c b/oldcode/test/mpirpc-1/connect1.c
deleted file mode 100644
index 34d2c4f..0000000
--- a/oldcode/test/mpirpc-1/connect1.c
+++ /dev/null
@@ -1,59 +0,0 @@
-
-#include <assert.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-#include <mpi.h>
-
-#include <mpirpc.h>
-
-const int TAG = 0;
-int rank;
-
-void
-add(MPIRPC_Node* caller, int unique, char* args)
-{
- NOTE_F;
- int i,j,sum;
- char* result = malloc(20*sizeof(char));
- sscanf(args, "%i %i", &i, &j);
- sum = i+j;
- sprintf(result, "%i", sum);
- MPIRPC_Return(caller, unique, result);
-}
-
-int
-main(int argc, char** argv)
-{
- assert(argc > 0);
-
- int id;
- sscanf(argv[1], "%i", &id);
-
- MPI_Init(0, NULL);
-
- whoami();
-
- char port[MPI_MAX_PORT_NAME];
- MPI_Comm newcomm;
-
- MPI_Lookup_name("mpirpc-test1", MPI_INFO_NULL, port);
- printf("port found: %s \n", port);
-
- MPI_Comm_connect(port, MPI_INFO_NULL, rank,
- MPI_COMM_WORLD, &newcomm);
-
- MPIRPC_Comm_add(MPI_COMM_WORLD);
- MPIRPC_Comm_add(newcomm);
-
- MPIRPC_Register("add", add);
-
- sleep(1);
-
- while (true)
- MPIRPC_Check();
-
- MPI_Finalize();
-}
diff --git a/oldcode/test/mpirpc-1/ilog2.c b/oldcode/test/mpirpc-1/ilog2.c
deleted file mode 100644
index 6047b87..0000000
--- a/oldcode/test/mpirpc-1/ilog2.c
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#include <mpi_tools.h>
-
-int
-main(int argc, char* argv[])
-{
- int number;
- if (argc != 2)
- {
- printf("Need arg. \n");
- exit(1);
- }
-
- sscanf(argv[1], "%i", &number);
- int i = ilog2(number);
-
- printf("%i \n", i);
-}
diff --git a/oldcode/test/mpirpc-1/module.mk.in b/oldcode/test/mpirpc-1/module.mk.in
deleted file mode 100644
index 1f26e03..0000000
--- a/oldcode/test/mpirpc-1/module.mk.in
+++ /dev/null
@@ -1,14 +0,0 @@
-
-DIR := test/mpirpc-1
-
-ifeq (@USE_COMM_WORLD@,1)
-
-TEST_MPIRPC_SRC += $(shell cd @SRC_ABSOLUTE_TOP@; find $(DIR) -name "*.c" ! -name ilog2.c ! -name accept1.c ! -name connect1.c)
-TEST_SRC += $(TEST_MPIRPC_SRCS)
-
-test/mpirpc-1/test%.x: test/mpirpc-1/test%.o $(CMPI)
- $(Q) " MPICC $(@) "
- $(E)$(MPICC) $(MPE) $(<) $(CMPI) $(LIBS) -o $(@)
-
-endif
-
diff --git a/oldcode/test/mpirpc-1/test01.c b/oldcode/test/mpirpc-1/test01.c
deleted file mode 100644
index 2e79bb8..0000000
--- a/oldcode/test/mpirpc-1/test01.c
+++ /dev/null
@@ -1,73 +0,0 @@
-
-#include <mpirpc.h>
-
-bool running = true;
-
-void
-handle_test(int caller, int unique, char* args)
-{
- SHOW_FS(args);
- MPIRPC_Return(caller, unique, NULL);
-}
-
-void
-handle_something(int caller, int unique, char* args)
-{
- SHOW_FS(args);
- MPIRPC_Return(caller, unique, heap("something"));
-}
-
-void
-handle_quit(int caller, int unique, char* args)
-{
- SHOW_FS(args);
- running = false;
- MPIRPC_Return(caller, unique, NULL);
-}
-
-int
-main(int argc, char* argv[])
-{
- MPI_Init(&argc, &argv);
-
- gossip_set_debug_mask(1, MASK_MPIRPC);
-
- MPIRPC_Init();
-
- if (mpi_rank == 0)
- {
- char* result;
- result = MPIRPC_Block(1, "test", NULL);
- NOTE(result);
- if (result)
- FREE(result);
- result = MPIRPC_Block(1, "test", heap(""));
- NOTE(result);
- if (result)
- FREE(result);
- result = MPIRPC_Block(1, "test", heap("alpha"));
- NOTE(result);
- if (result)
- FREE(result);
- result = MPIRPC_Block(1, "something", heap("alpha"));
- NOTE(result);
- if (result)
- FREE(result);
- MPIRPC_Block(1, "quit", NULL);
- }
- else
- {
- MPIRPC_Register("test", handle_test);
- MPIRPC_Register("something", handle_something);
- MPIRPC_Register("quit", handle_quit);
- while (running)
- {
- MPIRPC_Check();
- sleep(1);
- }
- }
-
- MPI_Finalize();
-
- return 0;
-}
diff --git a/oldcode/test/mpirpc-1/test01.zsh b/oldcode/test/mpirpc-1/test01.zsh
deleted file mode 100755
index ad52838..0000000
--- a/oldcode/test/mpirpc-1/test01.zsh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/zsh
-
-mpiexec -n 2 test/mpirpc/test01
-touch test/mpirpc/test01.out
diff --git a/oldcode/test/mpirpc-1/test02.c b/oldcode/test/mpirpc-1/test02.c
deleted file mode 100644
index 941cbca..0000000
--- a/oldcode/test/mpirpc-1/test02.c
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#include <mpirpc.h>
-
-void
-handle_test(int caller, int unique, char* args)
-{
- NOTE_F;
- SHOW_S(args);
- MPIRPC_Return(caller, unique, NULL);
-}
-
-int
-main(int argc, char* argv[])
-{
- MPI_Init(&argc, &argv);
- MPIRPC_Init();
- whoami();
-
- if (mpi_rank == 0)
- {
- MPIRPC_Block(1, "test", heap(""));
- MPIRPC_Block(1, "test", heap("alpha"));
- }
- else
- {
- MPIRPC_Register("test", handle_test);
- while (! MPIRPC_Check());
- while (! MPIRPC_Check());
- }
-
- NOTE("FINALIZE");
- MPI_Finalize();
-}
diff --git a/oldcode/test/mpirpc-1/test1.zsh b/oldcode/test/mpirpc-1/test1.zsh
deleted file mode 100644
index 3670cbd..0000000
--- a/oldcode/test/mpirpc-1/test1.zsh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/zsh
-
-alias kill=/bin/kill
-
-N=3
-
-make
-[[ $? != 0 ]] && exit
-
-mpiexec -n 1 accept $N &
-ACCEPT_PID=$!
-
-sleep 1
-
-CONNECT_PIDS=()
-for (( i=0 ; i < $N ; i++ ))
-do
- sleep 1
- mpiexec -n 1 connect $i &
- CONNECT_PIDS+=$!
-done
-
-# sleep 15
-
-# /bin/kill ${CONNECT_PIDS[1]}
-
-sleep 5
-
-print "done"
-
-/bin/kill -9 ${ACCEPT_PID} ${CONNECT_PIDS}
diff --git a/oldcode/test/mpirpc-2/dmalloc_helpers.c b/oldcode/test/mpirpc-2/dmalloc_helpers.c
deleted file mode 100644
index e69de29..0000000
diff --git a/oldcode/test/mpirpc-2/module.mk.in b/oldcode/test/mpirpc-2/module.mk.in
deleted file mode 100644
index b4f85c0..0000000
--- a/oldcode/test/mpirpc-2/module.mk.in
+++ /dev/null
@@ -1,24 +0,0 @@
-
-DIR := test/mpirpc-2
-
-ifeq (@USE_MPIRPC_2@,1)
-
-TEST_MPIRPC_SRC += $(shell cd @SRC_ABSOLUTE_TOP@; find $(DIR) -name "*.c" )
-TEST_SRC += $(TEST_MPIRPC_SRC)
-
-test/mpirpc-2/test%.out: test/mpirpc-2/test%.x
- $(LAUNCH) -n $(NODES) $(<) -c "reps=$(REPS)" > $(@) 2>&1
- cp -uv $(@) test/mpirpc/readable.txt
-
-$(DIR)/test%.x: $(DIR)/test%.o $(CMPI)
- $(Q) " MPICC $(@) "
- $(E)$(MPICC) $(MPE) $(<) $(CMPI) $(LIBS) -o $(@)
-
-else
-
-$(DIR)/test%.x: $(DIR)/test%.o $(CMPI)
- $(Q) " MPICC $(@) "
- $(E)$(MPICC) $(MPE) $(<) $(CMPI) $(LIBS) -o $(@)
-
-endif
-
diff --git a/oldcode/test/mpirpc-2/test01.c b/oldcode/test/mpirpc-2/test01.c
deleted file mode 100644
index 011f3e3..0000000
--- a/oldcode/test/mpirpc-2/test01.c
+++ /dev/null
@@ -1,106 +0,0 @@
-
-/**
- Simple two-processor ping pong test.
- No arguments or return values.
-*/
-
-#include <sys/stat.h>
-
-#include <mpirpc.h>
-
-#include "test_helpers.h"
-
-int count = 0;
-bool running = true;
-
-char*
-file_string(char* file)
-{
- intmax_t size;
- struct stat stats;
-
- stat(file, &stats);
- size = (intmax_t) stats.st_size;
- char* result = malloc(size+1);
-
- FILE* f = fopen(file, "r");
- fread(result, 1, size, f);
- fclose(f);
- return result;
-}
-
-void
-handle_ping(MPIRPC_Node caller, int unique, char* args,
- char* blob, int blob_length)
-{
- NOTE_F;
- SHOW_S(args);
- MPIRPC_Null(caller, unique);
- if (count++ < 3)
- {
- MPIRPC_Call(caller, "ping", NULL, NULL, MPIRPC_Free);
- }
- else
- {
- MPIRPC_Flush_returns();
- MPIRPC_Block(caller, "quit", NULL);
- running = false;
- }
-}
-
-void
-handle_quit(MPIRPC_Node caller, int unique, char* args,
- char* blob, int blob_length)
-{
- NOTE_F;
- SHOW_S(args);
- running = false;
- MPIRPC_Null(caller, unique);
-}
-
-int
-main(int argc, char* argv[])
-{
- printf("host: %s\n", file_string("/etc/hostname"));
-
- MPI_Init(&argc, &argv);
-
- MPIRPC_Init();
-
- SHOW_I(debug_rank);
-
- DMALLOC_SETUP(dmalloc_setup());
-
- MPIRPC_Comm_add(MPI_COMM_WORLD);
- MPIRPC_Register("ping", handle_ping);
- MPIRPC_Register("quit", handle_quit);
-
- MPIRPC_Node neighbor;
- if (mpi_rank == 0)
- {
- MPIRPC_Node_make(MPI_COMM_WORLD, 1, &neighbor);
- MPIRPC_Block(neighbor, "ping", NULL);
- }
- else
- {
- MPIRPC_Node_make(MPI_COMM_WORLD, 0, &neighbor);
- }
-
- while (running)
- {
- MPIRPC_Check();
- sleep(1);
- }
-
- note("Normal exit.\n");
-
- MPIRPC_Finalize();
- MPI_Finalize();
-
- DMALLOC_SETUP(if (mpi_rank == 0)
- {
- SHOW_S(dmalloc_logpath);
- dmalloc_shutdown();
- });
- return 0;
-}
diff --git a/oldcode/test/mpirpc-2/test02.c b/oldcode/test/mpirpc-2/test02.c
deleted file mode 100644
index 27b337d..0000000
--- a/oldcode/test/mpirpc-2/test02.c
+++ /dev/null
@@ -1,60 +0,0 @@
-
-/**
- Simple two-processor argument test
- for NULL, 0-length, and non-0-length args.
- NULL return values.
-*/
-
-#include <mpirpc.h>
-
-void
-handle_test(MPIRPC_Node caller, int unique, char* args,
- char* blob, int blob_length)
-{
- show_fs(args);
- if (args)
- free(args);
- MPIRPC_Null(caller, unique);
-}
-
-int
-main(int argc, char* argv[])
-{
- gossip_set_debug_mask(1, MASK_MPIRPC);
-
- MPI_Init(&argc, &argv);
- MPIRPC_Init();
- whoami();
-
- DMALLOC_SETUP(dmalloc_setup());
-
- MPIRPC_Comm_add(MPI_COMM_WORLD);
-
- MPIRPC_Node neighbor;
- if (mpi_rank == 0)
- {
- MPIRPC_Node_make(MPI_COMM_WORLD, 1, &neighbor);
- MPIRPC_Block(neighbor, "test", NULL);
- MPIRPC_Block(neighbor, "test", "");
- MPIRPC_Block(neighbor, "test", "alpha");
- }
- else
- {
- MPIRPC_Node_make(MPI_COMM_WORLD, 0, &neighbor);
- MPIRPC_Register("test", handle_test);
- while (! MPIRPC_Check());
- while (! MPIRPC_Check());
- while (! MPIRPC_Check());
- }
-
- printf("Normal exit.\n");
- MPIRPC_Finalize();
- MPI_Finalize();
-
- DMALLOC_SETUP(if (mpi_rank == 0)
- {
- SHOW_S(dmalloc_logpath);
- dmalloc_shutdown();
- });
- return 0;
-}
diff --git a/oldcode/test/mpirpc-2/test03.c b/oldcode/test/mpirpc-2/test03.c
deleted file mode 100644
index ab6faa6..0000000
--- a/oldcode/test/mpirpc-2/test03.c
+++ /dev/null
@@ -1,81 +0,0 @@
-
-/**
- Simple two-processor argument test
- for non-0-length args and
- for NULL, 0-length, and non-0-length return values.
-*/
-
-#include <mpirpc.h>
-
-void
-handle_test(MPIRPC_Node caller, int unique, char* args,
- char* blob, int blob_length)
-{
- int a;
- sscanf(args, "%i", &a);
- show_fsi(args, a);
- char* result = malloc(4);
-
- if (a == 0)
- {
- MPIRPC_Null(caller, unique);
- }
- else if (a == 1)
- {
- MPIRPC_Return(caller, unique, result, 0);
- }
- else if (a == 2)
- {
- strcpy(result, "ok\n");
- MPIRPC_Return(caller, unique, result, 4);
- }
-
- if (args)
- free(args);
-}
-
-int
-main(int argc, char* argv[])
-{
- gossip_set_debug_mask(1, MASK_MPIRPC);
-
- MPI_Init(&argc, &argv);
- MPIRPC_Init();
- whoami();
-
- DMALLOC_SETUP(dmalloc_setup());
-
- MPIRPC_Comm_add(MPI_COMM_WORLD);
-
- MPIRPC_Node neighbor;
- if (mpi_rank == 0)
- {
- char* result;
- MPIRPC_Node_make(MPI_COMM_WORLD, 1, &neighbor);
- result = MPIRPC_Block(neighbor, "test", "0");
- show_s(result);
- result = MPIRPC_Block(neighbor, "test", "1");
- show_s(result);
- result = MPIRPC_Block(neighbor, "test", "2");
- show_s(result);
- }
- else
- {
- MPIRPC_Node_make(MPI_COMM_WORLD, 0, &neighbor);
- MPIRPC_Register("test", handle_test);
- while (! MPIRPC_Check());
- while (! MPIRPC_Check());
- while (! MPIRPC_Check());
- }
-
- printf("Normal exit.\n");
- MPIRPC_Finalize();
- MPI_Finalize();
-
- DMALLOC_SETUP(if (mpi_rank == 0)
- {
- SHOW_S(dmalloc_logpath);
- dmalloc_shutdown();
- });
- return 0;
-}
diff --git a/oldcode/test/mpirpc-2/test04.c b/oldcode/test/mpirpc-2/test04.c
deleted file mode 100644
index cc1050e..0000000
--- a/oldcode/test/mpirpc-2/test04.c
+++ /dev/null
@@ -1,76 +0,0 @@
-
-/**
- Simple two-processor argument test
- for non-0-length args and
- for non-0-length blobs.
-*/
-
-#include <mpirpc.h>
-
-void
-handle_test(MPIRPC_Node caller, int unique, char* args,
- char* blob, int blob_length)
-{
- int a;
- sscanf(args, "%i", &a);
- show_fsi(args, a);
- // char* result = malloc(4);
-
- char filename[30];
- sprintf(filename, "test04_%i.out", a);
-
- FILE* file = fopen(filename, "w");
- fwrite(blob, 1, blob_length, file);
- fclose(file);
-
- MPIRPC_Null(caller, unique);
- if (args)
- free(args);
-}
-
-int
-main(int argc, char* argv[])
-{
- gossip_set_debug_mask(1, MASK_MPIRPC);
-
- MPI_Init(&argc, &argv);
- MPIRPC_Init();
- whoami();
-
- DMALLOC_SETUP(dmalloc_setup());
-
- MPIRPC_Comm_add(MPI_COMM_WORLD);
-
- MPIRPC_Node neighbor;
- if (mpi_rank == 0)
- {
- char blob[4];
- blob[0] = '\n';
- blob[1] = '\0';
- blob[2] = '\t';
- blob[3] = '\n';
- char* result;
- MPIRPC_Node_make(MPI_COMM_WORLD, 1, &neighbor);
- result = MPIRPC_Block_blob(neighbor, "test", "0", blob, 4);
- show_s(result);
- }
- else
- {
- MPIRPC_Node_make(MPI_COMM_WORLD, 0, &neighbor);
- MPIRPC_Register("test", handle_test);
- while (! MPIRPC_Check());
- // while (! MPIRPC_Check());
- // while (! MPIRPC_Check());
- }
-
- printf("Normal exit.\n");
- MPIRPC_Finalize();
- MPI_Finalize();
-
- DMALLOC_SETUP(if (mpi_rank == 0)
- {
- SHOW_S(dmalloc_logpath);
- dmalloc_shutdown();
- });
- return 0;
-}
diff --git a/oldcode/test/mpirpc-2/test_helpers.h b/oldcode/test/mpirpc-2/test_helpers.h
deleted file mode 100644
index 287b953..0000000
--- a/oldcode/test/mpirpc-2/test_helpers.h
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-#ifdef DMALLOC
-void
-dmalloc_setup(void)
-{
- dmalloc_logpath = malloc(100);
- assert(dmalloc_logpath != NULL);
- sprintf(dmalloc_logpath, "./dmalloc_%i.out", debug_rank);
- printf("dmalloc_logpath: %s \n", dmalloc_logpath);
- fflush(NULL);
-}
-#endif
-
diff --git a/oldcode/test/paper1/About.txt b/oldcode/test/paper1/About.txt
deleted file mode 100644
index 2ee569c..0000000
--- a/oldcode/test/paper1/About.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-
-Tests for the DHT/MPI submission to Euro PVM/MPI 2009.
-
diff --git a/oldcode/test/paper1/counts.zsh b/oldcode/test/paper1/counts.zsh
deleted file mode 100644
index 5154275..0000000
--- a/oldcode/test/paper1/counts.zsh
+++ /dev/null
@@ -1,34 +0,0 @@
-
-count_rpcs()
-# Count uses of RPC find_node():
-{
- print $(( $( grep -c "MPIRPC_Call(find_node" ) ))
-}
-
-count_success()
-# Count occurrences of LABEL_SUCCESS
-{
- [[ $1 == "" ]] && print "COUNT_SUCCESS(EMPTY)" && exit 1
- grep -c "$1_SUCCESS"
-}
-
-count_failure()
-# Count occurrences of LABEL_FAILURE
-{
- [[ $1 == "" ]] && print "COUNT_FAILURE(EMPTY)" && exit 1
- grep -c "$1_FAILURE"
-}
-
-avg_rate()
-# Obtain the average rate
-{
- grep "PUT_RATE" | col 2 | avgz
-}
-
-total_rate()
-# Obtain the average rate
-{
- local -F 3 D
- D=$( grep "PUT_RATE" | col 2 | sumz )
- print ${D}
-}
diff --git a/oldcode/test/paper1/defaults01.grace b/oldcode/test/paper1/defaults01.grace
deleted file mode 100644
index be66d71..0000000
--- a/oldcode/test/paper1/defaults01.grace
+++ /dev/null
@@ -1,48 +0,0 @@
-
-map color 0 to (255, 255, 255), "white"
-map color 1 to (0, 0, 0), "black"
-map color 2 to (255, 0, 0), "red"
-map color 3 to (0, 255, 0), "green"
-map color 4 to (0, 0, 255), "blue"
-map color 5 to (255, 255, 0), "yellow"
-map color 6 to (188, 143, 143), "brown"
-map color 7 to (220, 220, 220), "grey"
-map color 8 to (148, 0, 211), "violet"
-map color 9 to (0, 255, 255), "cyan"
-map color 10 to (255, 0, 255), "magenta"
-map color 11 to (255, 165, 0), "orange"
-map color 12 to (114, 33, 188), "indigo"
-map color 13 to (103, 7, 72), "maroon"
-map color 14 to (64, 224, 208), "turquoise"
-map color 15 to (0, 139, 0), "green4"
-
-xaxis label "DHT size"
-yaxis label "Queries per put()"
-
-legend off
-#legend loctype view
-#legend box fill color 0
-
-#legend char size 4
-xaxis ticklabel char size 2
-yaxis ticklabel char size 2
-xaxis label char size 2
-yaxis label char size 2
-
-yaxis tick major 5
-
-#legend x1 0.3
-#legend x1 0.7
-#legend y1 0.75
-
-world xmin 5
-world ymin 0
-
-page resize 1000, 1000
-
-view xmin 0.2
-view xmax 0.8
-view ymin 0.25
-view ymax 0.75
-
-device "EPS" op "bbox:page"
diff --git a/oldcode/test/paper1/defaults02.grace b/oldcode/test/paper1/defaults02.grace
deleted file mode 100644
index 5bee632..0000000
--- a/oldcode/test/paper1/defaults02.grace
+++ /dev/null
@@ -1,49 +0,0 @@
-
-map color 0 to (255, 255, 255), "white"
-map color 1 to (0, 0, 0), "black"
-map color 2 to (255, 0, 0), "red"
-map color 3 to (0, 255, 0), "green"
-map color 4 to (0, 0, 255), "blue"
-map color 5 to (255, 255, 0), "yellow"
-map color 6 to (188, 143, 143), "brown"
-map color 7 to (220, 220, 220), "grey"
-map color 8 to (148, 0, 211), "violet"
-map color 9 to (0, 255, 255), "cyan"
-map color 10 to (255, 0, 255), "magenta"
-map color 11 to (255, 165, 0), "orange"
-map color 12 to (114, 33, 188), "indigo"
-map color 13 to (103, 7, 72), "maroon"
-map color 14 to (64, 224, 208), "turquoise"
-map color 15 to (0, 139, 0), "green4"
-
-# title "RPC Count"
-xaxis label "DHT size"
-yaxis label "Availability (%)"
-
-legend on
-legend loctype view
-legend box fill color 0
-
-world xmin 5
-world ymin 70
-world ymax 100
-
-legend char size 2
-xaxis ticklabel char size 2
-yaxis ticklabel char size 2
-xaxis label char size 2
-yaxis label char size 2
-
-yaxis tick major 10
-
-page resize 1000, 1000
-
-view xmin 0.2
-view xmax 0.8
-view ymin 0.25
-view ymax 0.75
-
-legend x1 0.5
-legend y1 0.55
-
-device "EPS" op "bbox:page"
diff --git a/oldcode/test/paper1/defaults03.grace b/oldcode/test/paper1/defaults03.grace
deleted file mode 100644
index 084f1bd..0000000
--- a/oldcode/test/paper1/defaults03.grace
+++ /dev/null
@@ -1,42 +0,0 @@
-
-map color 0 to (255, 255, 255), "white"
-map color 1 to (0, 0, 0), "black"
-map color 2 to (255, 0, 0), "red"
-map color 3 to (0, 255, 0), "green"
-map color 4 to (0, 0, 255), "blue"
-map color 5 to (255, 255, 0), "yellow"
-map color 6 to (188, 143, 143), "brown"
-map color 7 to (220, 220, 220), "grey"
-map color 8 to (148, 0, 211), "violet"
-map color 9 to (0, 255, 255), "cyan"
-map color 10 to (255, 0, 255), "magenta"
-map color 11 to (255, 165, 0), "orange"
-map color 12 to (114, 33, 188), "indigo"
-map color 13 to (103, 7, 72), "maroon"
-map color 14 to (64, 224, 208), "turquoise"
-map color 15 to (0, 139, 0), "green4"
-
-legend char size 2
-xaxis ticklabel char size 2
-yaxis ticklabel char size 2
-xaxis label char size 2
-yaxis label char size 2
-
-xaxis label "DHT size"
-yaxis label "Insertions/second"
-
-legend on
-legend loctype view
-legend box fill color 0
-legend x1 0.3
-legend y1 0.75
-
-page resize 1000, 1000
-
-view xmin 0.2
-view xmax 0.8
-view ymin 0.25
-view ymax 0.75
-
-device "EPS" op "bbox:page"
-
diff --git a/oldcode/test/paper1/defaults04.grace b/oldcode/test/paper1/defaults04.grace
deleted file mode 100644
index 70a0021..0000000
--- a/oldcode/test/paper1/defaults04.grace
+++ /dev/null
@@ -1,49 +0,0 @@
-
-device "EPS" op "bbox:page"
-
-map color 0 to (255, 255, 255), "white"
-map color 1 to (0, 0, 0), "black"
-map color 2 to (255, 0, 0), "red"
-map color 3 to (0, 255, 0), "green"
-map color 4 to (0, 0, 255), "blue"
-map color 5 to (255, 255, 0), "yellow"
-map color 6 to (188, 143, 143), "brown"
-map color 7 to (220, 220, 220), "grey"
-map color 8 to (148, 0, 211), "violet"
-map color 9 to (0, 255, 255), "cyan"
-map color 10 to (255, 0, 255), "magenta"
-map color 11 to (255, 165, 0), "orange"
-map color 12 to (114, 33, 188), "indigo"
-map color 13 to (103, 7, 72), "maroon"
-map color 14 to (64, 224, 208), "turquoise"
-map color 15 to (0, 139, 0), "green4"
-
-legend off
-#legend loctype view
-#legend box fill color 0
-
-xaxis label "DHT size"
-yaxis label "Neighbors"
-
-world xmin 5
-world ymin 0
-
-yaxis tick major 5
-
-#legend char size 4
-xaxis ticklabel char size 4
-yaxis ticklabel char size 4
-xaxis label char size 4
-yaxis label char size 4
-
-#legend x1 0.3
-#legend y1 0.8
-
-page resize 1000, 500
-
-view xmin 0.4
-view xmax 1.8
-view ymin 0.2
-view ymax 0.8
-
-
diff --git a/oldcode/test/paper1/module.mk.in b/oldcode/test/paper1/module.mk.in
deleted file mode 100644
index cb156d6..0000000
--- a/oldcode/test/paper1/module.mk.in
+++ /dev/null
@@ -1,46 +0,0 @@
-
-# Run tests with, e.g.,
-# make SIZE=5 NODES=4 PUTS=5 test/cmpi/test01.out
-# make SIZE=5 NODES=4 FAULTS=5 test/cmpi/test02.out
-# SIZE is the size of the whole system (nodes+clients)
-# NODES is the number of nodes
-# ARGS determines the length of tests that repeat operations
-
-TEST_PAPER1_SRC = $(shell cd @SRC_ABSOLUTE_TOP@; find test/paper1 -name "*.c" ! -name test_helpers.c)
-TEST_SRC += $(TEST_PAPER1_SRCS)
-TEST_HELPER_SRC += test/paper1/test_helpers.c
-
-# Max snooze time in milliseconds
-ifeq ($(SNOOZE),)
- SNOOZE=10
-endif
-
-ifeq (@USE_COMM_WORLD@,1)
-
-test/paper1/test01.out: test/paper1/test01.x
- $(Q) " RUN $(@) ($(NODES),$(PUTS))"
- $(E)$(LAUNCH) -n $(SIZE) $(<) -n $(NODES) -s $(SNOOZE) \
- -p "puts=$(PUTS)" > $(@) 2>&1
-
-test/paper1/test02.out: test/paper1/test02.x
- $(Q) " RUN $(@) ($(NODES),$(FAULTS))"
- $(E)$(LAUNCH) -n $(SIZE) $(<) -n $(NODES) -s $(SNOOZE) \
- -p "faults=$(FAULTS)" > $(@) 2>&1
-
-test/paper1/test03.out: test/paper1/test03.x
- $(Q) " RUN $(@) ($(NODES),$(CLIENTS))"
- $(E)$(LAUNCH) -n $(SIZE) $(<) -n $(NODES) -s $(SNOOZE) \
- -p "clients=$(CLIENTS)" > $(@) 2>&1
-
-test/paper1/test%.x: test/paper1/test%.o test/paper1/test_helpers.o src/cmpi/node.o $(CMPI)
- $(Q) " MPICC $(@) "
- $(E)$(MPICC) $(MPE) $(LIBS) $(TEST_OPTIONS) $(<) \
- src/cmpi/node.o test/paper1/test_helpers.o $(CMPI) $(LIBS) -o $(@)
-
-else
-
-# $(DIR)/test01: src/cmpi/client.o $(DIR)/test01.o $(CMPI)
-# $(Q) " MPICC $(@) "
-# $(E)$(MPICC) $(MPE) $(<) $(CMPI) $(LIBS) -o $(@)
-
-endif
diff --git a/oldcode/test/paper1/test01.c b/oldcode/test/paper1/test01.c
deleted file mode 100644
index a46ccaf..0000000
--- a/oldcode/test/paper1/test01.c
+++ /dev/null
@@ -1,57 +0,0 @@
-
-/**
- test01: Determine number of messages necessary to
- perform simple data insertion.
-
- test01.c: Build DHT, insert data.
- Results are harvested from the output.
-*/
-
-#include "test_helpers.h"
-
-void
-cmpi_client_code()
-{
- NOTE_F;
-
- char* s = cmpi_params_search("puts");
- if (s == NULL || strlen(s) == 0)
- {
- NOTE("No puts given!");
- exit(1);
- }
- int nputs;
- int n = sscanf(s, "%i", &nputs);
- assert(n >= 0);
-
- SHOW_I(mpi_rank);
- SHOW_I(nputs);
-
- int tmp;
- MPI_Status status;
- MPI_Recv(&tmp, 1, MPI_INT,
- MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &status);
- assert(tmp == -2);
-
- sleep(10+2*isqrt(mpi_rank));
- NOTE("\n\nCLIENT_CODE:\n\n");
- printf("\n\nCLIENT_CODE:\n\n");
- fflush(stdout);
-
- int i;
- for (i = 0; i < nputs; i++)
- {
- char key[20];
- sprintf(key, "key_%i_%i_key", mpi_rank, i);
- SHOW_S(key);
- char* value = useless_data(10);
- SHOW_S(value);
-
- cmpi_put(key, value);
- FREE(value);
-
- sleep(1);
- }
-
- cmpi_shutdown();
-}
diff --git a/oldcode/test/paper1/test01.zsh b/oldcode/test/paper1/test01.zsh
deleted file mode 100755
index d846d00..0000000
--- a/oldcode/test/paper1/test01.zsh
+++ /dev/null
@@ -1,136 +0,0 @@
-#!/bin/zsh
-
-# Usage:
-# test/paper1/test01.zsh
-
-if (( ${#*} < 3 ))
-then
- print "Usage: test01.zsh <MAX_NODES> <MAX_PUTS> <ITERATIONS>"
- exit
-fi
-
-source tools/helpers.zsh
-source test/paper1/counts.zsh
-
-DIR="test/paper1"
-
-MAX_NODES=$1
-MAX_PUTS=$2
-MAX_ITERATION=$3
-OPTS=$4 # E.g., nice
-
-P=${MAX_PUTS}
-N=${MAX_NODES}
-Z=2 # SNOOZE
-
-# Binary location
-INSTALL=~/sfw/grayskull
-PROGRAM=${INSTALL}/test_paper1_test01.x
-
-# Output data location
-SINK=~/sink
-
-mkdir -p ${INSTALL}
-mkdir -p ${SINK}
-
-compile()
-{
- make -j 3 D=1 TEST01=1 test/paper1/test01.x
- [[ $? != 0 ]] && exit 1
- cp -uv test/paper1/test01.x ${PROGRAM}
-}
-
-test01()
-{
- N=$1 # NODES
- P=$2 # PUTS
- I=$3 # ITERATION
- OPTS=$4
-
- # print OPTS $4
-
- (( S = N+1 )) # 1 client
- print "RUN: N=${N} P=${P} I=${I}"
- mkdir -p ${SINK}/test01
- OUTPUT=${SINK}/test01/test01_${N}_${P}_${I}.out
-
- launch TEST01 ${OUTPUT} ${S} ${OPTS} \
- ${PROGRAM} -n ${N} -p puts=${P} -s ${Z} -c 5
-}
-
-scan_output()
-{
- N=$1 # NODES
- P=$2 # PUTS
- I=$3 # ITERATION
-
- [[ $P == 0 ]] && return
-
- OUTPUT=${SINK}/test01/test01_${N}_${P}_${I}.out
-
- cmpi_sanity ${OUTPUT} || return 1
-
- TEXTPUT=${OUTPUT%.out}.txt
- # Generate copy of output for viewing in less
- date_nice > ${TEXTPUT}
- echo "NODES: ${N}" >> ${TEXTPUT}
- skip_bootstrap < ${OUTPUT} >> ${TEXTPUT}
-
- # Count RPCs, filling .dat file
- print "Counting: ${TEXTPUT}"
- RPCS=$( count_rpcs < ${TEXTPUT} )
- print "${N} ${P} ${I} ${RPCS}" >> ${DIR}/test01.dat
-}
-
-make_plots()
-{
- print make_plots
-
- local CAPTION
-
- # Setup Grace
- DEFAULTS=${DIR}/defaults01.grace
- SETTINGS="-batch ${DEFAULTS} -log x -hdevice EPS"
- PLOT=${DIR}/test01.eps
-
- # Compute average over iterations
- avgs 3 4 ${DIR}/test01.dat > ${DIR}/test01.avg
-
- # Divide RPC count by number of puts
- YbyX2 < ${DIR}/test01.avg > ${DIR}/test01.per
-
- # For each possible number of puts
- rm -f ${DIR}/test01.*.gen.agr
- PUTCS=( $( col 2 < ${DIR}/test01.per | sort | uniq ) )
- for C in $PUTCS
- do
- # Isolate one plot line for each number of puts (C)
- CAPTION="${C} puts"
- awk "\$2 == $C" < ${DIR}/test01.per |
- zap 2 |
- grace_header ${C} 1 "" > ${DIR}/test01.${C}.gen.agr
- # sed -i "s/CAPTION/${CAPTION}/" ${DIR}/test01.${C}.gen.agr
- done
-
- # Plot all plot lines together
- eval gracebat ${SETTINGS} -printfile ${PLOT} ${DIR}/test01.*.gen.agr
-}
-
-NODES=( $( sweep_mids 10 ${MAX_NODES} ) )
-PUTS=10 # ( $( make_sweep 4 ${MAX_PUTS} 2 ) )
-ITERATIONS=( {1..${MAX_ITERATION}} )
-
-#compile
-
-# Run parameter sweep
-mkdir -p ${DIR}/out
-#cross "${NODES}" "${PUTS}" "${ITERATIONS}" ${OPTS} -X test01
-
-sqwait TEST01
-wait
-
-print "scan_output()..."
-#clobber ${DIR}/test01.dat
-#cross "${NODES}" "${PUTS}" "${ITERATIONS}" -X scan_output
-
-make_plots
diff --git a/oldcode/test/paper1/test02.c b/oldcode/test/paper1/test02.c
deleted file mode 100644
index 6ac74b9..0000000
--- a/oldcode/test/paper1/test02.c
+++ /dev/null
@@ -1,75 +0,0 @@
-
-/**
- test02: Determine resiliency in case of failure.
-
- test02.c: Build DHT, insert data, trigger emulated failures,
- search for data, shutdown.
-*/
-
-#include <stdio.h>
-
-#include <cmpi.h>
-
-#include "test_helpers.h"
-
-void
-cmpi_client_code()
-{
- NOTE_F;
-
- char* s = cmpi_params_search("faults");
- if (s == NULL || strlen(s) == 0)
- {
- NOTE("No faults given!");
- exit(1);
- }
- int faults;
- int n = sscanf(s, "%i", &faults);
- assert(n >= 0);
-
- SHOW_I(mpi_rank);
- SHOW_I(faults);
-
- // sleep(mpi_rank+10);
-
- wait_for_notification();
-
- sleep(1);
- printf("\n\nCLIENT_CODE:\n\n");
- sleep(1);
-
- int i;
- for (i = 0; i < mpi_rank*2; i++)
- {
- char key[20];
- sprintf(key, "key_%i_%i", mpi_rank, i);
- // SHOW_S(key);
- char* value = useless_data(10);
- SHOW_S(value);
-
- cmpi_put(key, value);
-
- // sleep(1);
- }
-
- cmpi_emulate_faults(faults);
-
- for (i = 0; i < mpi_rank*2; i++)
- {
- char key[20];
- sprintf(key, "key_%i_%i", mpi_rank, i);
- SHOW_S(key);
-
- char* value = NULL;
- CMPI_RETURN result = cmpi_get(key, &value);
- if (result == CMPI_SUCCESS)
- printf("TEST02_SUCCESS\n");
- else
- printf("TEST02_FAILURE\n");
- // sleep(1);
- }
-
- // sleep(2);
-
- cmpi_shutdown();
-}
diff --git a/oldcode/test/paper1/test02.zsh b/oldcode/test/paper1/test02.zsh
deleted file mode 100755
index 019daff..0000000
--- a/oldcode/test/paper1/test02.zsh
+++ /dev/null
@@ -1,133 +0,0 @@
-#!/bin/zsh
-
-# Usage:
-# test/paper1/test02.zsh
-
-if (( ${#*} < 3 ))
-then
- print "Usage: test02.zsh <MAX_NODES> <MAX_FAULTS> <ITERATIONS>"
- exit
-fi
-
-source tools/helpers.zsh
-source test/paper1/counts.zsh
-
-DIR="test/paper1"
-
-MAX_NODES=$1
-MAX_FAULTS=$2
-MAX_ITERATION=$3
-
-Z=5
-
-typeset -F 3 SUCCESSES FAILURES RATE
-
-# Binary location
-INSTALL=~/sfw/grayskull
-PROGRAM=${INSTALL}/test_paper1_test02.x
-
-# Output data location
-SINK=~/sink
-
-mkdir -p ${INSTALL}
-mkdir -p ${SINK}
-
-compile()
-{
- make -j 3 TEST02=1 test/paper1/test02.x
- [[ $? != 0 ]] && exit 1
- cp -uv test/paper1/test02.x ${PROGRAM}
-}
-
-test02()
-{
- N=$1 # NODES
- F=$2 # FAULTS
- I=$3 # ITERATION
-
- # Do not fail a majority of nodes:
- (( N >= 2*F )) || return 0
-
- (( S = N+1 )) # One client
- # print "RUN: N=${N} F=${F} I=${I}"
- mkdir -p ${SINK}/test02
- OUTPUT=${SINK}/test02/test02_${N}_${F}_${I}.out
- launch TEST02 ${OUTPUT} ${S} ${PROGRAM} -n ${N} -p faults=${F} -s ${Z}
-}
-
-scan_output()
-{
- N=$1 # NODES
- F=$2 # FAULTS
- I=$3 # ITERATION
-
- # Do not fail a majority of nodes:
- (( N >= 2*F )) || return 0
-
- OUTPUT=${SINK}/test02/test02_${N}_${F}_${I}.out
-
- if ! cmpi_sanity ${OUTPUT}
- then
- print "INSANE: ${OUTPUT}"
- # return
- fi
-
- # Generate copy of output for viewing in less
- TEXTPUT=${OUTPUT%.out}.txt
- date_nice > ${TEXTPUT}
- echo "NODES: ${N}" >> ${TEXTPUT}
- cat ${OUTPUT} >> ${TEXTPUT}
-
- # Count RPCs, filling .dat file
- SUCCESSES=$( count_success TEST02 < ${OUTPUT} )
- FAILURES=$( count_failure TEST02 < ${OUTPUT} )
- RATE=$(( 100*SUCCESSES / ( SUCCESSES+FAILURES) ))
- print "${N} ${F} ${I} ${RATE}" >> ${DIR}/test02.dat
-}
-
-make_plots()
-{
- # Setup Grace
- DEFAULTS=${DIR}/defaults02.grace
- SETTINGS="-batch ${DEFAULTS} -log x -hdevice EPS"
- PLOT=${DIR}/test02.eps
-
- # Compute average over iterations
- avgs 3 4 ${DIR}/test02.dat > ${DIR}/test02.avg
-
- # For each possible number of faults (fault categories)
- rm -f ${DIR}/test02*.gen.agr
- FAULTCS=( $( col 2 < ${DIR}/test02.avg | sort | uniq ) )
- for C in $FAULTCS
- do
- LABEL="${C} faults"
-
- # Isolate one plot line for each number of puts (C)
- awk "\$2 == $C" < ${DIR}/test02.avg |
- zap 2 |
- grace_header ${C} $(( C+1 )) ${LABEL} > ${DIR}/test02.${C}.gen.agr
- done
-
- # Plot all plot lines together
- eval gracebat ${SETTINGS} -printfile ${PLOT} ${DIR}/test02*.gen.agr
-}
-
-NODES=( $( sweep_mids 10 ${MAX_NODES} 1 ) )
-FAULTS=( $( sweep_exps 0 ${MAX_FAULTS} 1 ) )
-ITERATIONS=( {1..${MAX_ITERATION}} )
-
-#compile
-
-# Run parameter sweep
-mkdir -p ${DIR}/out
-#cross "${NODES}" "${FAULTS}" "${ITERATIONS}" -X test02
-
-sqwait TEST02
-wait
-
-print "scan_output()..."
-#clobber ${DIR}/test02.dat
-#cross "${NODES}" "${FAULTS}" "${ITERATIONS}" -X scan_output
-
-print "make_plots()..."
-make_plots
diff --git a/oldcode/test/paper1/test03.c b/oldcode/test/paper1/test03.c
deleted file mode 100644
index 36b272b..0000000
--- a/oldcode/test/paper1/test03.c
+++ /dev/null
@@ -1,101 +0,0 @@
-
-/**
- test03: Measure inserts/sec.
-
- test03.c: Build DHT, insert data.
-*/
-
-#include "test_helpers.h"
-
-double
-avg(int n, double* d)
-{
- int i;
- double t = 0;
- for (i = 0; i < n; i++)
- {
- t += d[i];
- }
- return t/n;
-}
-
-void
-cmpi_client_code()
-{
- NOTE_F;
-
- print_header();
-
- int puts = 10;
-
- char* s = cmpi_params_search("clients");
- if (s == NULL || strlen(s) == 0)
- {
- NOTE("No clients given!");
- exit(1);
- }
- int clients;
- int n = sscanf(s, "%i", &clients);
- assert(n >= 0);
- SHOW_I(clients);
-
- s = cmpi_params_search("nodes");
- if (s == NULL || strlen(s) == 0)
- {
- NOTE("No nodes given!");
- exit(1);
- }
- int nodes;
- n = sscanf(s, "%i", &nodes);
- assert(n >= 0);
- SHOW_I(nodes);
-
- s = cmpi_params_search("puts");
- if (s == NULL || strlen(s) == 0)
- {
- NOTE("No puts given!");
- exit(1);
- }
- n = sscanf(s, "%i", &puts);
- assert(n >= 0);
- SHOW_I(puts);
-
- wait_for_notification();
- notify_next();
- printf("\n\nCLIENT_CODE:\n\n");
- sleep(2);
-
- MPI_Barrier(cmpi_comm_clients);
-
- double* results = malloc(puts*sizeof(double));
-
- int i;
- for (i = 0; i < puts; i++)
- {
- char key[20];
- sprintf(key, "key_%i_%i", mpi_rank, i);
- // SHOW_S(key);
- char* value = useless_data(10);
- // SHOW_S(value);
-
- double start = MPI_Wtime();
- cmpi_put(key, value);
- double stop = MPI_Wtime();
-
- // printf("TOOK: %g4 \n", stop-start);
-
- results[i] = stop-start;
- }
-
- double a = avg(puts, results);
-
- NOTE("BARRIER");
- MPI_Barrier(cmpi_comm_clients);
-
- usleep(mpi_rank*10000);
-
- printf("PUT_AVG: %g4 \n", a);
- printf("PUT_RATE: %g4 \n", 1.0/a);
-
- cmpi_shutdown();
-}
diff --git a/oldcode/test/paper1/test03.zsh b/oldcode/test/paper1/test03.zsh
deleted file mode 100755
index 257051e..0000000
--- a/oldcode/test/paper1/test03.zsh
+++ /dev/null
@@ -1,146 +0,0 @@
-#!/bin/zsh
-
-# Usage:
-# test/paper1/test03.zsh
-
-if (( ${#*} < 3 ))
-then
- print "Usage: test03.zsh <MAX_NODES> <MAX_CLIENTS> <ITERATIONS>"
- exit
-fi
-
-source tools/helpers.zsh
-source test/paper1/counts.zsh
-
-DIR="test/paper1"
-
-MAX_NODES=$1
-MAX_CLIENTS=$2
-MAX_ITERATION=$3
-
-Z=0
-
-# Binary location
-INSTALL=~/sfw/grayskull
-PROGRAM=${INSTALL}/test_paper1_test03.x
-
-# Output data location
-SINK=~/sink
-
-mkdir -p ${INSTALL}
-mkdir -p ${SINK}
-
-compile()
-{
- make -j 3 TEST03=1 test/paper1/test03.x
- [[ $? != 0 ]] && exit 1
- cp -uv test/paper1/test03.x ${PROGRAM}
-}
-
-test03()
-{
- local N=$1 # NODES
- local P=$2 # INVERSE CLIENT FACTOR
- local I=$3 # ITERATION
-
- local C # CLIENTS
- (( C = 2*N/P ))
- print $N . "2*${N}/${P}=${C}" . $I
-
- (( S = N+C )) # C clients
- mkdir -p ${SINK}/test03
- OUTPUT=${SINK}/test03/test03_${N}_${P}_${I}.out
- launch TEST03 ${OUTPUT} ${S} ${PROGRAM} \
- -n ${N} -c 10 -p clients=${C} -p puts=100 -s ${Z}
-}
-
-test03_sanity()
-{
- if { ! grep PUT_AVG $1 > /dev/null }
- then
- print "NO RESULTS: $1"
- return 1
- fi
- return 0
-}
-
-scan_output()
-{
- local N=$1 # NODES
- local P=$2 # INVERSE CLIENT FACTOR
- local I=$3 # ITERATION
-
- OUTPUT=${SINK}/test03/test03_${N}_${P}_${I}.out
- print "scan_output ${OUTPUT}"
-
- cmpi_sanity ${OUTPUT} || return 1
- test03_sanity ${OUTPUT} || return 1
-
- # Generate copy of output for viewing in less
-
- TEXTPUT=${OUTPUT%.out}.txt
- date_nice > ${TEXTPUT}
- print "NODES: ${N}" >> ${TEXTPUT}
- cat ${OUTPUT} >> ${TEXTPUT}
-
- # Count RPCs, filling .dat file
- # RATE=$( avg_rate < ${OUTPUT} )
- RATE=$( total_rate < ${OUTPUT} )
- print "${N} ${P} ${I} ${RATE}" >> ${DIR}/test03.dat
-}
-
-make_plots()
-{
- local -F 1 C # CLIENTS
- local -F 4 F #
- local -i P
-
- # Setup Grace
- DEFAULTS=${DIR}/defaults03.grace
- SETTINGS="-batch ${DEFAULTS} -log x -hdevice EPS"
- PLOT=${DIR}/test03.eps
-
- # Compute average over iterations
- avgs 3 4 ${DIR}/test03.dat > ${DIR}/test03.avg
-
- # For each possible number of clients (client categories)
- rm -f ${DIR}/test03*.gen.agr
- CLIENTCS=( $( col 2 < ${DIR}/test03.avg | sort | uniq ) )
- for P in $CLIENTCS
- do
- F=${P} # Do arithmetic with doubles
- C=$(( 2/F ))
- LABEL="${C} clients/node"
-
- print P: $P
-
- # Isolate one plot line for each number of puts (C)
- awk "\$2 == $P" < ${DIR}/test03.avg |
- zap 2 |
- grace_header ${P} $(( P+1 )) ${LABEL} > ${DIR}/test03.${P}.gen.agr
- # grace_footer >> ${DIR}/test03.${P}.gen.agr
- done
-
- # Plot all plot lines together
- eval gracebat -nosafe ${SETTINGS} -printfile ${PLOT} ${DIR}/test03*.gen.agr
-}
-
-NODES=( $( sweep_mids 10 ${MAX_NODES} ) )
-CLIENTS=( $( sweep_exps 1 ${MAX_CLIENTS} ) )
-ITERATIONS=( {1..${MAX_ITERATION}} )
-
-compile
-
-# Run parameter sweep
-mkdir -p ${DIR}/out
-cross "${NODES}" "${CLIENTS}" "${ITERATIONS}" -X test03
-
-sqwait TEST03
-wait
-
-print "scan_output()..."
-clobber ${DIR}/test03.dat
-cross "${NODES}" "${CLIENTS}" "${ITERATIONS}" -X scan_output
-
-print "make_plots()..."
-make_plots
diff --git a/oldcode/test/paper1/test04.c b/oldcode/test/paper1/test04.c
deleted file mode 100644
index 047790f..0000000
--- a/oldcode/test/paper1/test04.c
+++ /dev/null
@@ -1,65 +0,0 @@
-
-/**
- test04: Measure table size after puts.
-
- test04.c: Build DHT, insert data, dump tables, repeat.
-*/
-
-#include "test_helpers.h"
-
-void
-cmpi_client_code()
-{
- NOTE_F;
-
- int reps;
- char* s = cmpi_params_search("reps");
- if (s == NULL || strlen(s) == 0)
- {
- NOTE("No reps given!");
- exit(1);
- }
- int n = sscanf(s, "%i", &reps);
- assert(n >= 0);
- SHOW_I(reps);
-
- int nodes;
- s = cmpi_params_search("nodes");
- if (s == NULL || strlen(s) == 0)
- {
- NOTE("No nodes given!");
- exit(1);
- }
- n = sscanf(s, "%i", &nodes);
- assert(n >= 0);
- SHOW_I(isqrt(nodes));
- // sleep(2*(nodes+3*isqrt(nodes))+10);
-
- wait_for_notification();
-
- printf("\n\nCLIENT_CODE:\n\n");
- sleep(1);
-
- int i;
- for (i = 0; i < reps; i++)
- {
- cmpi_debug_table_usage();
-
- char key[20];
- sprintf(key, "key_%i_%i", mpi_rank, i);
- SHOW_S(key);
- char* value = useless_data(10);
- SHOW_S(value);
-
- cmpi_put(key, value);
- }
-
- cmpi_debug_table_usage();
-
- NOTE("BARRIER");
- MPI_Barrier(cmpi_comm_clients);
-
- sleep(1);
-
- cmpi_shutdown();
-}
diff --git a/oldcode/test/paper1/test04.zsh b/oldcode/test/paper1/test04.zsh
deleted file mode 100755
index 9ecd4de..0000000
--- a/oldcode/test/paper1/test04.zsh
+++ /dev/null
@@ -1,115 +0,0 @@
-#!/bin/zsh
-
-# Reports neighbor table size
-
-# Usage:
-# test/paper1/test04.zsh
-
-if (( ${#*} < 3 ))
-then
- print "Usage: test04.zsh <MAX_NODES> <ITERATIONS> <REPS>"
- exit
-fi
-
-source tools/helpers.zsh
-source test/paper1/counts.zsh
-
-DIR="test/paper1"
-
-MAX_NODES=$1
-MAX_ITERATION=$2
-REPS=$3
-Z=10
-
-test04()
-{
- local N=$1 # NODES
- local I=$2 # ITERATION
- local R=$3 # REPS
-
- (( S = N+1 )) # 1 client
-
- OUTPUT=test04_${N}.out
- mkdir -p ${DIR}/out/test04_${I}
- pushd ${DIR}/out/test04_${I}
- launch TEST04 ${OUTPUT} ${S} ../../test04.x -n ${N} -s ${Z} -p reps=${R}
- (( $? != 0 )) && print ERROR && exit 1
- pop
-}
-
-check_output()
-{
- local N=$1 # NODES
- local I=$2 # ITERATION
-
- OUTPUT=${DIR}/out/test04_${I}/test04_${N}.out
-
- print "checking ${OUTPUT}"
-
- cmpi_sanity ${OUTPUT} || exit 1
-}
-
-scan_tables()
-{
- local N=$1
-
- for f in ${DIR}/out/test04_*/test04_${N}.out
- do
- OUTPUT=${f}
- # print OUTPUT $OUTPUT
-
- # Generate copy of output for viewing in less
- TEXTPUT=${OUTPUT%.out}.txt
- date_nice > ${TEXTPUT}
- print "NODES: ${N}" >> ${TEXTPUT}
- cat ${OUTPUT} >> ${TEXTPUT}
- done
-
- # Obtain avg table size over puts.
-
- local i
- TABLES=( ${DIR}/out/test04_*/test04_${N}.out )
-
- AVG=$( grep "TABLE_COUNT:" ${TABLES} | col 4 | avgz )
- print "${N} ${AVG}" >> ${DIR}/test04-count.dat
- AVG=$( grep "TABLE_USAGE:" ${TABLES} | col 4 | avgz )
- print "${N} ${AVG}" >> ${DIR}/test04-usage.dat
-}
-
-make_plots()
-{
- print make_plots...
-
- # Setup Grace
- DEFAULTS=${DIR}/defaults04.grace
- SETTINGS="-batch ${DEFAULTS} -log x -hdevice EPS"
- PLOT=${DIR}/test04.eps
-
- # For each possible number of repeated puts (categories)
-
- rm -f ${DIR}/test04.gen.agr
-
- grace_header 0 2 "" < ${DIR}/test04-count.dat \
- > ${DIR}/test04.gen.agr
-
- eval gracebat ${SETTINGS} -printfile ${PLOT} ${DIR}/test04.gen.agr
-}
-
-NODES=( $( make_sweep 10 ${MAX_NODES} ) )
-ITERATIONS=( {1..${MAX_ITERATION}} )
-
-make -j 3 D=1 ${DIR}/test04.x
-[[ $? != 0 ]] && exit 1
-
-# Run parameter sweep
-mkdir -p ${DIR}/out
-cross "${NODES}" "${ITERATIONS}" "${REPS}" -X test04
-
-sqwait TEST04
-wait
-
-cross "${NODES}" "${ITERATIONS}" -X check_output
-
-clobber ${DIR}/test04-*.dat
-cross "${NODES}" "${REPS}" -X scan_tables
-make_plots
diff --git a/oldcode/test/paper1/test_helpers.c b/oldcode/test/paper1/test_helpers.c
deleted file mode 100644
index d19e888..0000000
--- a/oldcode/test/paper1/test_helpers.c
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// #include <stdio.h>
-
-#include "test_helpers.h"
-
-/**
- Print debugging header using machine-specific information.
-*/
-void
-print_header(void)
-{
- // Are we a SLURM job?
- char* slurm_id = getenv("SLURM_JOBID");
- if (slurm_id)
- printf("SLURM_JOBID: %s\n", slurm_id);
-}
-
-char*
-useless_data(int size)
-{
- int i;
- char* s = malloc(size*sizeof(char));
- for (i = 0; i < size-1; i++)
- s[i] = 'a' + rand_lt(26);
- s[size-1] = '\0';
- return s;
-}
-
-void
-wait_for_notification(void)
-{
- int tmp;
- MPI_Status status;
- MPI_Recv(&tmp, 1, MPI_INT,
- MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &status);
- assert(tmp == -2);
-}
-
-void
-notify_next(void)
-{
- if (mpi_rank < mpi_size-1)
- {
- int msg = -2;
- MPI_Send(&msg, 1, MPI_INT,
- mpi_rank+1, 0, MPI_COMM_WORLD);
- }
- else
- {
- NOTE("NOTIFICATION_FINALIZED");
- }
-}
diff --git a/oldcode/test/paper1/test_helpers.h b/oldcode/test/paper1/test_helpers.h
deleted file mode 100644
index b38672f..0000000
--- a/oldcode/test/paper1/test_helpers.h
+++ /dev/null
@@ -1,19 +0,0 @@
-
-// #include <stdio.h>
-
-#ifndef TEST_HELPERS_H
-#define TEST_HELPERS_H
-
-#include <node.h>
-
-/**
- Print debugging header using machine-specific information.
-*/
-void print_header(void);
-
-char* useless_data(int size);
-
-void wait_for_notification(void);
-void notify_next(void);
-
-#endif
diff --git a/oldcode/test/skullfs/About.txt b/oldcode/test/skullfs/About.txt
deleted file mode 100644
index ef44f7c..0000000
--- a/oldcode/test/skullfs/About.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-
-test01: Test local functions.
-test02: Just setup FS.
-test03: Make some directories.
-test04: Make a file.
-test05: Make a file and open it.
-test06: Make a file and write into it.
-test07: Make a file, write to it, read it back.
diff --git a/oldcode/test/skullfs/module.mk.in b/oldcode/test/skullfs/module.mk.in
deleted file mode 100644
index d47e3e3..0000000
--- a/oldcode/test/skullfs/module.mk.in
+++ /dev/null
@@ -1,24 +0,0 @@
-
-DIR := test/skullfs
-
-TEST_SKULLFS_GSSRC += $(shell cd @SRC_ABSOLUTE_TOP@; find $(DIR) -name "*.gs" )
-TEST_SKULLFS_SRC += $(shell cd @SRC_ABSOLUTE_TOP@; find $(DIR) -name "*.c" )
-TEST_GSSRC += $(TEST_SKULLFS_GSSRC)
-
-TEST_SKULLFS_OBJS := $(patsubst %.gs, %.o, $(TEST_SKULLFS_GSSRC))
-TEST_SKULLFS_PROGS := $(patsubst %.gs, %.x, $(TEST_SKULLFS_GSSRC))
-
-TEST_OBJS += $(TEST_SKULLFS_OBJS)
-TEST_PROGS += $(TEST_SKULLFS_PROGS)
-
-# SKULLFS tests
-
-# Separate rule for local function tests:
-test/skullfs/test01.x: test/skullfs/test01.o $(SKULLFS)
- $(Q) " MPICC $(@)"
- $(E)$(MPICC) -rdynamic -L src/gsl/lib $(<) $(SKULLFS) -l gs -l gstest $(LIBS) -o $(@)
-
-test/skullfs/test%.x: test/skullfs/test%.o $(SKULLFS) src/skullfs/client.o src/gobs/launch.o
- $(Q) " MPICC $(@)"
- $(E)$(MPICC) -rdynamic -L src/gsl/lib $(<) src/skullfs/client.o src/gobs/launch.o src/gobs/client.o $(SKULLFS) -l gs -l gstest -l crypto -l m $(LIBS) -o $(@)
-# src/gum/gum.o
diff --git a/oldcode/test/skullfs/test01.gs b/oldcode/test/skullfs/test01.gs
deleted file mode 100644
index cb5b442..0000000
--- a/oldcode/test/skullfs/test01.gs
+++ /dev/null
@@ -1,35 +0,0 @@
-
-/**
- TEST01: Test local algorithms.
-*/
-
-#include <skullfs.gsh>
-
-int
-main(int argc, char* argv[])
-{
- char* path = argv[1];
-
- char* names[20];
- int lengths[20];
-
- int i;
- int n;
-
- if (argc < 2)
- {
- printf("Must provide path argument!\n");
- exit(1);
- }
-
- n = skullfs_split_path(path, names, lengths);
-
- printf("n: %i\n", n);
-
- i = 0;
- for (i = 0; i < n; i++)
- printf("> %s \t %i\n", names[i], lengths[i]);
-
- return 0;
-}
-
diff --git a/oldcode/test/skullfs/test02.gs b/oldcode/test/skullfs/test02.gs
deleted file mode 100644
index 8b4eb40..0000000
--- a/oldcode/test/skullfs/test02.gs
+++ /dev/null
@@ -1,34 +0,0 @@
-
-/**
- TEST02: Simple startup.
-*/
-
-#include <stdbool.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include <mpi.h>
-
-#include <include/gs.h>
-#include <resources/mpi/gs-mpi.gsh>
-#include <gobs.gsh>
-#include <skullfs_client.gsh>
-
-__blocking int
-gobs_client_code()
-{
- gobs_id id;
-
- gum_node target;
-
- target.rank = 0;
- target.comm = MPI_COMM_WORLD;
-
- skullfs_mkfs(target, &id);
- assert(id == 0);
-
- printf("id: %i\n", id);
-
- return 1;
-}
-
diff --git a/oldcode/test/skullfs/test03.gs b/oldcode/test/skullfs/test03.gs
deleted file mode 100644
index 47a4e4c..0000000
--- a/oldcode/test/skullfs/test03.gs
+++ /dev/null
@@ -1,57 +0,0 @@
-
-/**
- TEST03: Create and list some directories.
-*/
-
-#include <stdbool.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include <mpi.h>
-
-#include <include/gs.h>
-#include <resources/mpi/gs-mpi.gsh>
-#include <gobs.gsh>
-#include <skullfs_client.gsh>
-
-__blocking int
-gobs_client_code()
-{
- gobs_id id;
-
- gum_node target;
-
- int count;
- char** names;
- int* ids;
- int i;
-
- target.rank = 0;
- target.comm = MPI_COMM_WORLD;
-
- skullfs_mkfs(target, &id);
- assert(id == 0);
-
- skullfs_mkdir(target, id, "dir", &id);
-
- printf("mkdir: %i\n", id);
-
- skullfs_ls(target, 0, &count, &names, &ids);
- for (i = 0; i < count; i++)
- {
- printf("entry: %i %s %i\n", i, names[i], ids[i]);
- }
-
- skullfs_ls(target, id, &count, &names, &ids);
- for (i = 0; i < count; i++)
- {
- printf("entry: %i %s %i\n", i, names[i], ids[i]);
- }
-
- // id = skullfs_lookup(target, "/dir/file");
-
- printf("id: %i\n", id);
-
- return 1;
-}
-
diff --git a/oldcode/test/skullfs/test04.gs b/oldcode/test/skullfs/test04.gs
deleted file mode 100644
index faef2d0..0000000
--- a/oldcode/test/skullfs/test04.gs
+++ /dev/null
@@ -1,59 +0,0 @@
-
-/**
- TEST04: Create and list some files.
-*/
-
-#include <stdbool.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include <mpi.h>
-
-#include <include/gs.h>
-#include <resources/mpi/gs-mpi.gsh>
-#include <gobs.gsh>
-#include <skullfs_client.gsh>
-
-__blocking int
-gobs_client_code()
-{
- gobs_id root_id;
- gobs_id directory_id;
- gobs_id file_id;
-
- gum_node target;
-
- int count;
- char** names;
- int* ids;
- int i;
-
- target.rank = 0;
- target.comm = MPI_COMM_WORLD;
-
- // printf("comm: %X\n", target.comm);
-
- skullfs_mkfs(target, &root_id);
- assert(root_id == 0);
-
- skullfs_mkdir(target, root_id, "dir", &directory_id);
-
- skullfs_ls(target, root_id, &count, &names, &ids);
- for (i = 0; i < count; i++)
- {
- printf("entry: %i %s %i\n", i, names[i], ids[i]);
- }
-
- printf("test04: create:\n");
- skullfs_create(target, directory_id, "file", &file_id);
- printf("test04: created: %i\n", file_id);
-
- printf("test04: list after create:\n");
- skullfs_ls(target, directory_id, &count, &names, &ids);
- for (i = 0; i < count; i++)
- {
- printf("entry: %i %s %i\n", i, names[i], ids[i]);
- }
-
- return 1;
-}
diff --git a/oldcode/test/skullfs/test05.gs b/oldcode/test/skullfs/test05.gs
deleted file mode 100644
index 24d1b62..0000000
--- a/oldcode/test/skullfs/test05.gs
+++ /dev/null
@@ -1,70 +0,0 @@
-
-/**
- TEST05: Create a file and write into it.
-*/
-
-#include <gobs.gsh>
-#include <skullfs_client.gsh>
-
-void
-gdb_wait_loop()
-{
- int v = 0;
-
- pid_t pid = getpid();
- printf("pid: %i\n", pid);
-
- while (!v);
-}
-
-__blocking int
-gobs_client_code()
-{
- gobs_id root_id;
- gobs_id file_id;
-
- gum_node target;
-
- skullfs_fd fd;
-
- int count;
- char** names;
- int* ids;
- int i;
-
- char data[32];
-
- // gdb_wait_loop();
-
- strcpy(data, "hello!");
-
- target.rank = 0;
- target.comm = MPI_COMM_WORLD;
-
- skullfs_mkfs(target, &root_id);
- assert(root_id == 0);
-
- printf("test05: create:\n");
- skullfs_create(target, root_id, "file", &file_id);
-
- printf("test05: list after create:\n");
- skullfs_ls(target, root_id, &count, &names, &ids);
- for (i = 0; i < count; i++)
- {
- printf(" entry: %i %s %i\n", i, names[i], ids[i]);
- }
-
- printf("test05: open\n");
-
- skullfs_open(target, file_id, &fd);
-
- printf("sack->size: %i\n", fd.sack.size);
- for (i = 0; i < fd.sack.size; i++)
- {
- printf(" id: %i\n", fd.sack.id[i]);
- }
-
- // skullfs_pwrite(target, file_id, data, strlen(data), 0);
-
- return 1;
-}
diff --git a/oldcode/test/skullfs/test06.gs b/oldcode/test/skullfs/test06.gs
deleted file mode 100644
index 59d9eab..0000000
--- a/oldcode/test/skullfs/test06.gs
+++ /dev/null
@@ -1,51 +0,0 @@
-
-/**
- TEST05: Create a file and write into it.
-*/
-
-#include <gobs.gsh>
-#include <skullfs_client.gsh>
-void
-gdb_wait_loop()
-{
- int v = 0;
-
- pid_t pid = getpid();
- printf("pid: %i\n", pid);
-
- while (!v);
-}
-
-__blocking int
-gobs_client_code()
-{
- gobs_id root_id;
- gobs_id file_id;
-
- gum_node target;
-
- skullfs_fd fd;
-
- char data[32];
-
- // gdb_wait_loop();
-
- strcpy(data, "hello!");
-
- target.rank = 0;
- target.comm = MPI_COMM_WORLD;
-
- skullfs_mkfs(target, &root_id);
- assert(root_id == 0);
-
- printf("test06: create:\n");
- skullfs_create(target, root_id, "file", &file_id);
-
- printf("test06: open\n");
-
- skullfs_open(target, file_id, &fd);
-
- skullfs_pwrite(target, &fd, data, strlen(data), 0);
-
- return 1;
-}
diff --git a/oldcode/test/skullfs/test07.gs b/oldcode/test/skullfs/test07.gs
deleted file mode 100644
index 35225fb..0000000
--- a/oldcode/test/skullfs/test07.gs
+++ /dev/null
@@ -1,56 +0,0 @@
-
-/**
- TEST05: Create a file and write into it.
-*/
-
-#include <gobs.gsh>
-#include <skullfs_client.gsh>
-void
-gdb_wait_loop()
-{
- int v = 0;
-
- pid_t pid = getpid();
- printf("pid: %i\n", pid);
-
- while (!v);
-}
-
-__blocking int
-gobs_client_code()
-{
- gobs_id root_id;
- gobs_id file_id;
-
- gum_node target;
-
- skullfs_fd fd;
-
- char data[32];
- char copy[32];
-
- // gdb_wait_loop();
-
- strcpy(data, "hello!");
-
- target.rank = 0;
- target.comm = MPI_COMM_WORLD;
-
- skullfs_mkfs(target, &root_id);
- assert(root_id == 0);
-
- printf("test06: create:\n");
- skullfs_create(target, root_id, "file", &file_id);
-
- printf("test06: open\n");
-
- skullfs_open(target, file_id, &fd);
-
- skullfs_pwrite(target, &fd, data, strlen(data), 0);
-
- skullfs_pread(target, &fd, copy, strlen(data), 0);
-
- printf("read copy: %s\n", copy);
-
- return 1;
-}
diff --git a/oldcode/tools/ascii_map.io b/oldcode/tools/ascii_map.io
deleted file mode 100755
index c1cfc80..0000000
--- a/oldcode/tools/ascii_map.io
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/usr/bin/env io_static
-
-i := 1
-m := 2147483647 # INT_MAX
-w := 70
-
-lines := File standardInput readLines
-
-nodes := List clone
-node2name := Map clone
-
-keys := List clone
-key2name := Map clone
-
-results := List clone
-r2name := Map clone
-
-lines foreach (line,
- words := line split
- if (words at(1) == "ID:",
- nodes append (words at(3) asNumber)
- node2name atPut(words at(3),
- words at(2) .. words at(0)))
- if (words at(1) == "TRANSLATE:",
- keys append (words at(4) asNumber)
- key2name atPut(words at(4), words at(2)))
- if (words at(1) == "RESULT:",
- results append (words at(3) asNumber)
- r2name atPut(words at(3), words at(2)))
- )
-
-nodes sortInPlace
-
-writeln("nodes")
-80 repeat(write("-"))
-writeln
-
-space := Map clone
-nodes foreach (n,
- while (i / w < n / m,
- write(" ")
- i = i+1)
- write("|")
- i = i+1
- space atPut(n asString, i-2))
-writeln
-
-nodes foreach(n,
- space at(n asString) repeat (write(" "))
- writeln(node2name at(n asString)))
-
-writeln("keys")
-
-keys foreach(k,
- i := 0
- while (i / w < k / m,
- write(" ")
- i = i+1)
- writeln(key2name at (k asString))
- )
-
-writeln("assignments")
-
-results foreach(r,
- i := 0
- while (i / w < r / m,
- write(" ")
- i = i+1)
- writeln(r2name at (r asString))
- )
-
diff --git a/oldcode/tools/attach_control.zsh b/oldcode/tools/attach_control.zsh
deleted file mode 100755
index 68f7dfd..0000000
--- a/oldcode/tools/attach_control.zsh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/zsh
-
-alias kill=/bin/kill
-
-# Include helpers:
-SCRIPTS=${0%%/$( basename $0 )}
-
-${SCRIPTS}/attach_driver.zsh 4 > run.out &
-ATTACH_PID=$!
-
-sleep 60
-sync
-
-# mpdkillall
-
-# kill -1 ${ATTACH_PID}
diff --git a/oldcode/tools/attach_driver.zsh b/oldcode/tools/attach_driver.zsh
deleted file mode 100755
index 2bb6da0..0000000
--- a/oldcode/tools/attach_driver.zsh
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/bin/zsh
-
-# Number of client nodes:
-N=$1
-
-# Include helpers:
-SCRIPTS=${0%%/$( basename $0 )}
-source ${SCRIPTS}/helpers.zsh
-
-alias kill=/bin/kill
-
-[[ ${#N} == 0 ]] && print Need N! && return
-
-make -j D=1 node driver
-[[ $? != 0 ]] && exit
-
-mpdensure
-
-# Clear published name "kademlia" from MPI services:
-mpiexec -n 1 unpublish
-
-mpiexec -a SERVER -n 1 node -t 0 &
-ACCEPT_PID=$!
-
-sleep 2
-
-CONNECT_PIDS=()
-
-for (( i=1 ; i <= $N ; i++ ))
-do
- mpiexec -a NODE_${i} -n 1 node -s 1 -t $i &
- PID=$!
- CONNECT_PIDS+=${PID}
- sleep 3
-done
-
-mpiexec -a DRIVER -n 1 driver -s 1 -t 10
-DRIVER_PID=$!
-
-# Shutdown...
-sleep 1
-print "done"
-/bin/kill ${CONNECT_PIDS[1]}
-/bin/kill -9 ${ACCEPT_PID} ${CONNECT_PIDS} ${DRIVER_PID}
diff --git a/oldcode/tools/check_frees.awk b/oldcode/tools/check_frees.awk
deleted file mode 100755
index 78d05c8..0000000
--- a/oldcode/tools/check_frees.awk
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/awk -f
-
-$2 == "MALLOC:" { mallocs[$3] = ""; }
-
-$2 == "FREE:" {
- if ($3 in mallocs)
- delete mallocs[$3];
- else
- print("Bad FREE: " $3);
-}
-
diff --git a/oldcode/tools/clean_mpelogs.sed b/oldcode/tools/clean_mpelogs.sed
deleted file mode 100644
index e4744a2..0000000
--- a/oldcode/tools/clean_mpelogs.sed
+++ /dev/null
@@ -1,4 +0,0 @@
-#/Ending/d
-/MPI_Wait/d
-/MPI_Test/d
-/MPI_Request_free/d
diff --git a/oldcode/tools/clean_mpelogs.zsh b/oldcode/tools/clean_mpelogs.zsh
deleted file mode 100644
index 60479fd..0000000
--- a/oldcode/tools/clean_mpelogs.zsh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/zsh
-
-FILES=${*}
-
-for f in ${FILES}
-do
- sed -i -f clean_mpelogs.sed ${f}
-done
diff --git a/oldcode/tools/cmds.txt b/oldcode/tools/cmds.txt
deleted file mode 100644
index 41800d6..0000000
--- a/oldcode/tools/cmds.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-sleep 1
-
-info 1
-info 2
-info 3
-info 4
-info 5
-info 6
-# info 7
-
-
-
-# sleep 5
-quit
diff --git a/oldcode/tools/disksim.patch b/oldcode/tools/disksim.patch
deleted file mode 100644
index 62fcfaf..0000000
--- a/oldcode/tools/disksim.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff -uNr ../active/disksim-4.0/src/disksim_global.h disksim-4.0/src/disksim_global.h
---- ../active/disksim-4.0/src/disksim_global.h 2008-12-17 16:41:07.081578399 -0600
-+++ disksim-4.0/src/disksim_global.h 2008-12-18 15:05:09.257777832 -0600
-@@ -251,7 +251,9 @@
- int temp;
- } foo;
-
--#define DISKSIM_EVENT_SIZE 128
-+ // sson sizeof(struct foo): 24(32bit) and 40(64bit)
-+ //#define DISKSIM_EVENT_SIZE 128
-+#define DISKSIM_EVENT_SIZE 160
- #define DISKSIM_EVENT_SPACESIZE (DISKSIM_EVENT_SIZE - sizeof(struct foo))
-
- typedef struct ev {
-diff -uNr ../active/disksim-4.0/src/disksim_iosim.c disksim-4.0/src/disksim_iosim.c
---- ../active/disksim-4.0/src/disksim_iosim.c 2008-12-17 16:41:47.530715523 -0600
-+++ disksim-4.0/src/disksim_iosim.c 2008-12-18 09:34:05.971297275 -0600
-@@ -709,7 +709,11 @@
- bus_set_depths();
- // fprintf (outputfile, "Back from bus_set_depths\n");
-
-- //StaticAssert (sizeof(ioreq_event) <= DISKSIM_EVENT_SIZE); // sson
-+ // DISKSIM_EVENT_SIZE=128
-+ // sizeof(ioreq_event) in 32bit: 108
-+ // sizeof(ioreq_event) in 64bit: 160
-+ //StaticAssert (sizeof(ioreq_event) <= DISKSIM_EVENT_SIZE);
-+ StaticAssert (sizeof(ioreq_event) <= DISKSIM_EVENT_SIZE);
- device_initialize();
- bus_initialize();
- controller_initialize();
-diff -uNr ../active/disksim-4.0/libparam/libparam.y disksim-4.0/libparam/libparam.y
---- ../active/disksim-4.0/libparam/libparam.y 2008-05-16 16:04:35.000000000 -0500
-+++ disksim-4.0/libparam/libparam.y 2008-12-18 15:01:09.572700534 -0600
-@@ -211,9 +211,9 @@
- EXPS: { $$.p = 0; $$.plen = 0; }
- | EXP {
- /* printf("first exp\n"); */
-- $$.p = malloc(8 * sizeof(int *));
-- bzero($$.p, 8*sizeof(int *));
-- $$.plen = 8;
-+ $$.p = malloc(90 * sizeof(int *)); /* sson: org was 8 */
-+ bzero($$.p, 90*sizeof(int *)); /* sson: org was 8 */
-+ $$.plen = 90; /* sson: org was 8 */
- $$.p[0] = $1;
- }
- | LIST EQUAL VALUE {
\ No newline at end of file
diff --git a/oldcode/tools/draw_dht.zsh b/oldcode/tools/draw_dht.zsh
deleted file mode 100755
index 6d48c96..0000000
--- a/oldcode/tools/draw_dht.zsh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/zsh
-
-[[ $1 == "" ]] && F="run" || F=$1
-
-mkdir -p $( dirname ${TMP}/${F} )
-
-tools/to_dot.awk < ${F}.out > ${TMP}/${F}.dot
-dot -Tpng ${TMP}/${F}.dot > ${F}.png
-display ${F}.png
diff --git a/oldcode/tools/grab_scx_output.zsh b/oldcode/tools/grab_scx_output.zsh
deleted file mode 100755
index bc52efb..0000000
--- a/oldcode/tools/grab_scx_output.zsh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/zsh
-
-grab_scx_output()
-{
- FILE=$1
-
- TOP=fd-login:/home/wozniak/proj/grayskull/trunk/code
-
- mkdir -p $( dirname ${FILE} )
-
- scp ${TOP}/${FILE} ${FILE}
-}
diff --git a/oldcode/tools/helpers.zsh b/oldcode/tools/helpers.zsh
deleted file mode 100644
index 50a9fa0..0000000
--- a/oldcode/tools/helpers.zsh
+++ /dev/null
@@ -1,759 +0,0 @@
-
-# Average runs with respect to column.
-# Usage: avgs 3 4 input.dat
-# Params: avgs <col to average over (C)> <function col (F)> <data file>
-# Assumes input is parameter columns w/ function output column last.
-# Assumes C < F.
-avgs()
-{
- local C=$1
- local F=$2
- local FILE=$3
- local P
- local DATA
- local -F 3 D
- local N
- local i
- local TUPLE
-
- zap $C < ${FILE} | scan DATA
-
- shoot DATA | zap $(( F-1 )) | scan PARAMS
- shoot PARAMS | sort -n | uniq | scan P
-
- N=${#P}
- for (( i=1 ; i<=N ; i++ ))
- do
- TUPLE=${P[${i}]}
- # print TUPLE $TUPLE
- [[ ${TUPLE} == "" ]] && continue
- D=$( shoot DATA | grep "^${TUPLE} " | col $(( F-1 )) | avgz )
- print $TUPLE $D
- done
-}
-
-# Compute average of stdin. Z for ZSH.
-avgz()
-{
- local -F D
- local -F TOTAL=0
- local -i N=0
- local -F 3 RESULT
- while read D
- do
- (( TOTAL += D ))
- (( N++ ))
- done
- (( RESULT = TOTAL / N ))
- print ${RESULT}
-}
-
-check_mallocs()
-{
- local F=$1
- print "CHECK_MALLOCS: ${F}"
- grep FREE $F | awk '{print $1 ".*" $3}' > frees.out
- print "CORRECT: $( grep MALLOC ${F} | grep -c -f frees.out )"
- print "LEAKY: $( grep MALLOC ${F} | grep -c -v -f frees.out )"
- grep MALLOC $F | grep -v -f frees.out
-}
-
-closest()
-{
- local IDS
- typeset -A IDS
- KEY=$1
- OUTPUT=$2
- IDS=( $( grep ID: ${OUTPUT} | col 3 1 ) )
- for id in ${(k)IDS}
- do
- print $( hexord $KEY $id ) $id ${IDS[${id}]}
- done | sort -n
-}
-
-clobber()
-# Remove all content from a file
-{
- for f in ${*}
- do
- print > $f
- done
-}
-
-# Ensure the DHT was bootstrapped before the CLIENT made calls
-cmpi_sanity()
-{
- [[ ! -f $1 ]] && print "FILE DOES NOT EXIST: " $1 && return 1
-
- if { ! tail $1 | grep "JOB DONE" > /dev/null }
- then
- print "INCOMPLETE: $1"
- return 1
- fi
-
- local R=$( grep -n "READY:" $1 | tail -1 | cut -d ':' -f 1 )
- local C=$( grep -n "CLIENT_CODE:" $1 | head -1 | cut -d ':' -f 1 )
-
- # if ! grep tail
-
- if (( R >= C ))
- then
- print "INSANE: $1"
- print "R: $R C: $C"
- return 1
- fi
- return 0
-}
-
-col()
-# Select columns from a file
-{
- # print c $1
- local CMD='{ print'
- local idx
- local i
- for (( i=1 ; i<=${#*} ; i++ ))
- do
- eval idx='${'${i}'}'
- CMD="${CMD} "'$'${idx}
- (( i < ${#*} )) && CMD=${CMD}'" "'
- done
- CMD=${CMD}" }"
- # print $CMD
- eval awk "'"${CMD}"'"
-}
-
-count()
-# Count args
-{
- R=( $( eval print -- ${*} ) )
- print ${#R}
-}
-
-# Run an experiment for each point in a parameter space.
-# Usage: cross "1 2" "3 4 5" X exp
-# Will run program exp with arguments 1 3, 2 3, 1 4, 2 4, etc.
-cross()
-{
- print
-
- # Load experiment parameters:
- local INDEX
- local VALS
- typeset -A VALS
- INDEX=()
- VALS=()
- local CMD=""
- local FOUND_X=0
- local STOP=${#}
- local V i j k VARS
- VARS=0
- for (( j=1 ; j <= ${STOP} ; j++ ))
- do
- [[ $1 == "-X" ]] && FOUND_X=1 && break
- INDEX[${j}]=1
- VALS[${j}]=$1
- MAX[${j}]=$( count ${VALS[${j}]} )
- (( VARS++ ))
- shift
- done
- print ""
-
- if [[ ${FOUND_X} == 1 ]]
- then
- shift
- CMD=( $1 )
- else
- print "No statement!"
- return 1
- fi
-
- print "CROSS: ${CMD[1]}"
- # print MAX: $MAX
- print "SIZE: $( multiply ${MAX} )"
- for (( j=1 ; j <= ${VARS} ; j++ ))
- do
- print "VARIABLE[${j}]: ${VALS[${j}]}"
- done
- print
-
- while true
- do
- # Extract PARAMS
- local PARAMS=""
- for (( j=1 ; j <= ${#INDEX} ; j++ ))
- do
- V=( $( eval print -- ${VALS[${j}]} ) )
- i=${INDEX[${j}]}
- PARAMS="${PARAMS} ${V[${i}]}"
- done
-
- # Execute PARAMS
- # print ${CMD} ${PARAMS}
- eval ${CMD} ${PARAMS}
-
- # Increment INDEX
- local ADDING=1
- k=1
- while (( ADDING == 1 ))
- do
- (( k > ${#INDEX} )) && return
- (( INDEX[k]++ ))
- if (( INDEX[k] <= MAX[k] ))
- then
- ADDING=0
- else
- (( INDEX[k] = 1 ))
- (( k++ ))
- fi
- done
- done
-}
-
-
-date_nice()
-{
- date "+%m/%d/%Y %I:%M%p"
-}
-
-date_secs()
-# 1160753256 : Good for arithmetic
-{
- date "+%s"
-}
-
-getscriptdir()
-# What is the directory location of the current script?
-{
- print "${PWD}/${0%%/$( basename $0 )}"
-}
-
-grace_header()
-# Usage: grace_header <number> <symbol> <caption> < <file>
-# Generate xmgrace header for file with S<number>
-{
- local N=$1
- local SYMBOL=$2
- local CAPTION=$3
-
- print "@target G0.S${N}"
- print "@S${N} line color 1"
- print "@S${N} symbol ${SYMBOL}"
- print "@S${N} symbol size 1"
- print "@S${N} symbol color 1"
- print "@S${N} symbol fill pattern 1"
- print "@S${N} symbol fill color 1"
-
- [[ ${#CAPTION} > 0 ]] && print "@S${N} legend \"${CAPTION}\""
-
- cat
-}
-
-launch()
-# Usage: launch <comment> <output> <procs> [--nice] <command>
-{
- local JOBID
-
- local COMMENT=$1
- shift
-
- local OUTPUT=$1
- shift
-
- local PROCS=$1
- shift
-
- if getopt -o n --long nice: | grep nice
- then
- found
- shift
- fi
-
- [[ ! -x $1 ]] && print "Could not find executable: $1" && exit 1
- [[ -f ${OUTPUT} ]] && print "Target output exists..." && return 0
-
- if [[ ${CHIP} == mips64 ]]
- then
- # Use srun on the SiCortex...
- print -- "SRUN(${PROCS}): ${COMMENT} -> ${OUTPUT}" # ${*}
- {
- local START=$( date_secs )
- #print eval srun --comment ${COMMENT} --output ${OUTPUT}.tmp --time 1:0:0 \
- # -p scx -n ${PROCS} ${*}
- eval srun --comment ${COMMENT} --output ${OUTPUT}.tmp --time 1:0:0 \
- -p scx -n ${PROCS} ${*}
- if (( $? != 0 )) then
- print "JOB ERROR"
- print "JOB ERROR" >> ${OUTPUT}.tmp
- return 1
- else
- # print "JOB DONE"
- local TIME=$(( $( date_secs ) - START ))
- mv ${OUTPUT}.tmp ${OUTPUT}
- print "JOB DONE" >> ${OUTPUT}
- print "TOOK $(( TIME/60 )) MINUTES" >> ${OUTPUT}
- fi
- } &
- elif [[ ${CHIP} == ppc64 ]]
- then
- # Use cobalt on the BlueGene/P
- print -- "QSUB(${PROCS}): ${COMMENT} -> ${OUTPUT}"
- {
- print QSUB
- local START=$( date_secs )
- eval qsub -o ${OUTPUT}.tmp -e ${OUTPUT}.tmp -t 59 \
- -n ${PROCS} ${*} | tail -1 | read JOBID
- print "JOBID: $JOBID"
- local TIME=$(( START - $( date_secs ) ))
- qwait $JOBID
- CODE=0
- if (( $CODE != 0 )) then
- print ERROR
- print ERROR >> ${OUTPUT}.tmp
- return 1
- else
- print "JOB DONE: $JOBID"
- mv ${OUTPUT}.tmp ${OUTPUT}
- print "JOB DONE" >> ${OUTPUT}
- print "TOOK $(( TIME/60 )) MINUTES" >> ${OUTPUT}
- fi
- } &
- else
- print -- "MPIEXEC(${PROCS}): ${COMMENT} -> ${OUTPUT}"
- mpiexec -a ${COMMENT} -n ${PROCS} ${*} >& ${OUTPUT}
- [[ $? != 0 ]] && print "ERROR!\n" && return 1
- print "JOB DONE" >> ${OUTPUT}
- fi
- return 0
-}
-
-sweep_mids()
-# E.g.: sweep_mids 3 10 -> 3 4 6 8 10
-# E.g.: sweep_mids 3 10 2 -> 3 7 10
-{
- local MIN MAX P Q V STEP
- typeset -aU V
- V=()
-
- MIN=$1
- MAX=$2
- STEP=$3
-
- [[ ${#STEP} == 0 ]] && STEP=1
-
- P=${MIN}
- Q=-1
- while (( P*2 <= MAX ))
- do
- V+=$P
- (( P == MAX )) && break
- (( Q = P*2*STEP ))
- (( (P+Q)/2 < MAX)) && V+=$(( (P+Q)/2 ))
- (( Q == 0 )) && Q=1
- (( P = Q ))
- done
- (( P < MAX )) && V+=$P
- (( (P+MAX)/2 < MAX )) && V+=$(( (P+MAX)/2 ))
- V+=${MAX}
- print -l $V
-}
-
-sweep_exps()
-# E.g.: sweep_exps 2 10 -> 2 3 4 6 8 9 10
-{
- local MIN MAX P Q V
- typeset -aU V
- V=()
-
- MIN=$1
- MAX=$2
-
- [[ ${#STEP} == 0 ]] && STEP=1
-
- P=${MIN}
- Q=-1
- while (( P*2 <= MAX ))
- do
- V+=$P
- (( P == MAX )) && break
- (( Q = P*2 ))
- (( Q == 0 )) && Q=1
- (( P = Q ))
- done
- (( P < MAX )) && V+=$P
- V+=${MAX}
- print -l $V
-}
-
-max()
-# Max argument number
-{
- local i
- big=0
- if (( $# == 0 ))
- then
- print 0
- return
- fi
- for i in ${*}
- do
- if (( ${i} > ${big} )) then
- big=${i}
- fi
- done
- echo ${big}
-}
-
-mpdensure()
-# Start mpd if it is not running:
-{
- if mpdlistjobs > /dev/null
- then
- print MPD up
- else
- print Starting MPD...
- mpd &
- sleep 1
- fi
-}
-
-mj()
-# List MPD job aliases
-{
- mpdlistjobs | grep jobalias | col 3
-}
-
-mjid()
-# List MPD job IDs
-{
- mpdlistjobs | grep jobid | col 3
-}
-
-mpdkillall()
-# Kill all MPI jobs
-{
- MPD_JOBS=( $( mjid ) )
- for j in ${MPD_JOBS} ; mpdkilljob ${j} > /dev/null
- return 0
-}
-
-kill_nodes()
-{
- PIDS=( $( ps | grep node | col 1 ) )
- [[ ${#PIDS} == 0 ]] && return
- kill ${PIDS}
-}
-
-# UNNECESSARY: Use mpiexec -a to connect meaning to job ids.
-# mpdlastjob()
-# # Grab the job number of the last MPI job:
-# # Usage: mpdlastjob [<PID>]
-# # If PID is not given, use $!
-# {
-# PID=$1
-# [[ ${#PID} == 0 ]] && PID=${!}
-# mpdlistjobs | scan -z P
-# typeset -A PIDS
-# PIDS=( $( ps -A -o ppid,pid ) )
-# ps -Af > ps.out
-# print $PID >> listjobs.out
-# print -l $P >> listjobs.out
-# for (( i=0 ; i<=${#P} ; i++ ))
-# do
-# line=${P[i]}
-# if [[ ${#line:#jobid*} == 0 ]]
-# then
-# JOB=$( eval word 3 ${line} )
-# JOBNUMBER=${JOB%@*}
-# elif [[ ${#line:#pid*} == 0 ]]
-# then
-# TPID=$( eval word 3 ${line} )
-# if [[ ${PID} == ${TPID} ]]
-# then
-# print ${JOBNUMBER}
-# return
-# fi
-# fi
-# done
-# }
-
-noop()
-{
- # Do nothing. Useful for debugging cross().
-}
-
-qwait()
-{
- local JOBID=$1
- while { qstat | grep $JOBID }
- do
- sleep 60
- done
-}
-
-# Usage scale_column 4 6.3 file.dat
-scale_column()
-{
-
-}
-
-scan()
-# Obsolete function. Use:
-# P=( "${(f)$( COMMAND )}" )
-# No, that doesn't always work
-# Use zmodload zsh/mapfile ; lines=( ${(f)mapfile[/etc/mailcap]} )
-{
- [[ $1 == "" ]] && return
- typeset -g -a $1
- local i=1
- local T
- eval "${1}=()"
- while read T
- do
- # Must remove sed from this line for speed.
- # T=$( print "$T" | sed "s/'/\\\\\\\\Q/" )
- eval "${1}[${i}]='${T}'"
- (( i++ ))
- done
-}
-
-shoot()
-# print out an array loaded by scan()
-{
- local i
- local N
- N=$( eval print '${#'$1'}' )
- # print N $N
- for (( i=1 ; i <= N ; i++ ))
- do
- eval print -- "$"${1}"["${i}"]"
- done
-}
-
-scancelall()
-{
- if [[ $1 == "" ]]
- then
- print
- squeue --noheader --user ${USER} | col 1 | xargs scancel
- print
- else
- local COMMENT=$1
- squeue -h --user ${USER} --format "%q %i" |
- grep ${COMMENT} | col 2 | xargs scancel
- fi
-}
-
-# Usage scale_column 4 6.3 < file.dat
-scale_column()
-{
- local C=$1
- local S=$2
- local A B TOKEN RESULT
- while read A
- do
- local i=1
- B=( $( print ${A} ) )
- RESULT=""
- for TOKEN in ${B}
- do
- (( i != C )) && RESULT="${RESULT}${TOKEN} "
- (( i == C )) && RESULT="${RESULT}$(( TOKEN*S )) "
- (( i++ ))
- done
- print ${RESULT}
- done
-}
-
-si()
-# sinfo wrapper
-{
- sinfo --format "%10P %5D %6t" | grep -v "down"
-}
-
-skip_bootstrap()
-{
- awk 'BEGIN {x=0} x==1 {print;} $0=="CLIENT_CODE:" {x=1;}'
-}
-
-sq()
-# squeue wrapper
-{
- if [[ $1 == "" ]]
- then
- squeue --format "%9u %6i %4t %8M %5D %10q %7Q" | sort
- else
- local COMMENT=$1
- squeue --user ${USER} --format "%6i %4t %8M %10q %5D %7p %R" | grep ${COMMENT}
- fi
-}
-
-sqn()
-{
- if [[ $1 == "" ]]
- then
- squeue | grep -c ${USER}
- else
- local COMMENT=$1
- squeue --user ${USER} --format "%q %i" | grep -c ${COMMENT}
- fi
-}
-
-sqstats()
-{
- local COMMENT
- typeset -R 6 RJ RN PJ PN
- if [[ $1 == "" ]]
- then
- printf "NODES: "
- add $( squeue -h --user ${USER} | grep "\<R\>" | col 7 )
- else
- local COMMENT=$1
-
- add $( squeue -h --user ${USER} --format "%t%q %D" |
- grep "PD${COMMENT}" | col 2 ) | read PN
- squeue -h --user ${USER} --format "%t%q" | grep -c "PD${COMMENT}" | read PJ
- print "PENDING: JOBS: ${PJ} NODES: ${PN}"
-
- add $( squeue -h --user ${USER} --format "%t%q %D" |
- grep "R${COMMENT}" | col 2 ) | read RN
- squeue -h --user ${USER} --format "%t%q" |
- grep -c "R${COMMENT}" | read RJ
-
- print "RUNNING: JOBS: ${RJ} NODES: ${RN}"
- fi
-}
-
-sqwait()
-{
- { which squeue > /dev/null } || return 1
- if [[ $1 == "" ]]
- then
- while squeue | grep ${USER} > /dev/null
- do
- sleep 10
- done
- else
- COMMENT=$1
- local CMD="squeue --format \"%q %i\" --user ${USER}"
- while eval ${CMD} | grep ${COMMENT} > /dev/null
- do
- sleep 5
- done
- fi
-}
-
-sqmon()
-{
- local i=3
- local N=1
- local COMMENT=$1
- while (( N > 0 ))
- do
- N=$( sqn ${COMMENT} )
- print "SQN: ${N}"
- sleep $(( i > 20 ? i : i++ ))
- done
-}
-
-text2oct()
-# Convert Matlab textread() file to Octave load(-text) format.
-{
- ROWS=${$( wc -l $1 )[1]}
- COLS=$( head -1 $1 | wc -w )
- NAME=$( token $1 )
-
- print "# name: ${NAME}" > $2
- print "# type: matrix" >> $2
- print "# rows: ${ROWS}" >> $2
- print "# columns: ${COLS}" >> $2
-
- # cat $1 >> $2 using ZSH optimization
- < $1 >> $2
-}
-
-token()
-# Extract the filename without the extension.
-{
- basename ${1%.*}
-}
-
-word()
-# Extract the ith argument
-# Usage: word <i> <args>
-{
- local i
- i=$1
- shift
- eval 'print ${'${i}'}'
-}
-
-# Two-column input. Divide second column by first column.
-# Output first column and quotient.
-YbyX()
-{
- local X Y
- while read X Y
- do
- print $X $(( Y/X ))
- done
-}
-
-# 3-column input. Divide 3rd column by 1st & 2nd columns.
-# Output first column and quotient.
-YbyXbyX()
-{
- local X1 X2 Y
- while read X1 X2 Y
- do
- print ${X1} ${X2} $(( Y/X1/X2 ))
- done
-}
-
-# 3-column input. Divide 3rd column by 1st & 2nd columns.
-# Output first column and quotient.
-# If X1 or X2 is 0, treat as 1.
-YbyXbyX1()
-{
- local X1 X2 Y
- while read X1 X2 Y
- do
- (( X1u = X1 == 0 ? 1 : X1 ))
- (( X2u = X2 == 0 ? 1 : X2 ))
- print ${X1} ${X2} $(( Y/X1u/X2u ))
- done
-}
-
-# 3-column input. Divide 3rd column by 2nd column.
-# Output first two columns and quotient.
-YbyX2()
-{
- local X1 X2 Y
- local -F 3 D
- while read X1 X2 Y
- do
- D=$(( Y/X2 ))
- print ${X1} ${X2} ${D}
- done
-}
-
-zap()
-# Remove a column from the input stream
-# Usage zap 3 < input.dat
-{
- local C=$1
- local A B TOKEN RESULT
- while read A
- do
- local i=1
- B=( $( print ${A} ) )
- RESULT=""
- for TOKEN in ${B}
- do
- (( i != C )) && RESULT="${RESULT}${TOKEN} "
- (( i++ ))
- done
- print ${RESULT}
- done
-}
-
diff --git a/oldcode/tools/kda_test.zsh b/oldcode/tools/kda_test.zsh
deleted file mode 100755
index cbcd18a..0000000
--- a/oldcode/tools/kda_test.zsh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/zsh
-
-alias kill=/bin/kill
-
-N=2
-
-mpiexec -n 1 driver $N &
-ACCEPT_PID=$!
-
-sleep 10
-
-CONNECT_PIDS=()
-
-for (( i=0 ; i < $N ; i++ ))
-do
- sleep 3
- mpiexec -n 1 driver $i &
- CONNECT_PIDS+=$!
-done
-
-sleep 60
-
-/bin/kill ${CONNECT_PIDS[1]}
-
-sleep 5
-
-print "done"
-
-/bin/kill -9 ${ACCEPT_PID} ${CONNECT_PIDS}
diff --git a/oldcode/tools/no_negs.m b/oldcode/tools/no_negs.m
deleted file mode 100644
index 79549e9..0000000
--- a/oldcode/tools/no_negs.m
+++ /dev/null
@@ -1,15 +0,0 @@
-
-function B = no_negs(A)
-
- [M,N] = size(A);
- B = zeros(M,N);
-
- for i=1:M
- for j=1:N
- if A(i,j) > 0
- B(i,j) = A(i,j);
- endif
- endfor
- endfor
-
-endfunction
diff --git a/oldcode/tools/nodes_kda_1.zsh b/oldcode/tools/nodes_kda_1.zsh
deleted file mode 100644
index d2939d8..0000000
--- a/oldcode/tools/nodes_kda_1.zsh
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/zsh
-
-# Number of client nodes:
-N=$1
-DURATION=$2
-
-[[ ${#DURATION} == 0 ]] && DURATION=10
-AUTOSTOP="no"
-
-# Include helpers:
-SCRIPTS="${PWD}/${0%%/$( basename $0 )}"
-source ${SCRIPTS}/helpers.zsh
-
-alias kill=/bin/kill
-
-[[ ${#N} == 0 ]] && print Need N! && return
-
-print
-make node
-[[ $? != 0 ]] && exit
-print
-
-mpdensure
-
-sleep 2
-
-CONNECT_PIDS=()
-
-mpiexec -a NODES -n ${N} node -s 1000 -t $i > NODES.out &
-PID=$!
-CONNECT_PIDS+=${PID}
-
-if [[ ${AUTOSTOP} == "yes" ]]
-then
- # Shutdown...
- sleep 40
- /bin/kill ${CONNECT_PIDS[1]}
- sleep 1
- print "done"
- /bin/kill -9 ${ACCEPT_PID} ${CONNECT_PIDS}
-fi
-
diff --git a/oldcode/tools/plot_runs.m b/oldcode/tools/plot_runs.m
deleted file mode 100644
index 3f2ae88..0000000
--- a/oldcode/tools/plot_runs.m
+++ /dev/null
@@ -1,19 +0,0 @@
-
-addpath("tools");
-
-load("-text", "output/n.dat");
-load("-text", "output/t.dat");
-load("-text", "output/result.dat");
-
-result = no_negs(result);
-
-# n over columns
-# t over rows
-surf(n, t, result);
-
-h = xlabel('Processes');
-set(h, 'FontSize', 18)
-h = ylabel('Interval (us)');
-set(h, 'FontSize', 18)
-h = title('Network boot time (s)');
-set(h, 'FontSize', 18)
diff --git a/oldcode/tools/plot_runs.sh b/oldcode/tools/plot_runs.sh
deleted file mode 100755
index d5cf381..0000000
--- a/oldcode/tools/plot_runs.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-SCRIPTS="${PWD}/${0%%/$( basename $0 )}"
-
-octave -q ${SCRIPTS}/plot_runs.m
diff --git a/oldcode/tools/process.zsh b/oldcode/tools/process.zsh
deleted file mode 100755
index fc940a8..0000000
--- a/oldcode/tools/process.zsh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/zsh
-
-N=$1
-
-grep "\[${N}\]"
diff --git a/oldcode/tools/reconfig.zsh b/oldcode/tools/reconfig.zsh
deleted file mode 100755
index a779879..0000000
--- a/oldcode/tools/reconfig.zsh
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/bin/zsh
-
-[[ -f Makefile ]] && make clean
-
-# Select MPI location...
-MPIs=()
-MPIs+=${HOME}/sfw/mpich-svn-${CHIP}
-MPIs+=${HOME}/sfw/mpich-${CHIP}-shared
-MPIs+=${HOME}/sfw/mpich-${CHIP}
-MPIs+=/home/sson/active/test/mpich2/include/mpi.h
-# BG/P Surveyor:
-MPIs+=/bgsys/drivers/ppcfloor/comm
-
-for M in ${MPIs}
-do
- if [ -O ${M} ]
- then
- MPI=${M}
- break
- fi
-done
-
-(( ! ${#MPI} )) && MPI=/usr
-
-# Select DiskSim location:
-DSs=()
-DSs+=/home/sson/grayskull/disksim-4.0
-DSs+=/home/wozniak/sfw/disksim-4.0
-for D in ${DSs}
-do
- if [ -O ${D} ]
- then
- DISKSIM=${D}
- break
- fi
-done
-
-(( ${#DISKSIM} > 0 )) && DISKSIM_OPTION="--with-disksim=${DISKSIM}"
-DISKSIM=
-
-TABLE=kda-1
-#TABLE=kda-2A
-#TABLE=kda-2B
-#TABLE=kda-2C
-
-./configure --with-mpi=${MPI} \
- ${DISKSIM_OPTION} \
- --enable-table-${TABLE} \
- --config-cache \
- --enable-tests \
- || exit 1
-# --enable-cmpi-io \
-# --enable-driver \
-
-if [[ $( uname ) == "Linux" ]] then
- make -j 3 ETAGS_FLAGS=--declarations TAGS.config
-else
- make -j 3 TAGS.config
-fi
-
diff --git a/oldcode/tools/startover.zsh b/oldcode/tools/startover.zsh
deleted file mode 100755
index 2a8f3bb..0000000
--- a/oldcode/tools/startover.zsh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/zsh
-
-[[ -f Makefile ]] && make distclean
-source prepare
-source tools/reconfig.zsh
diff --git a/oldcode/tools/startup_nodes.zsh b/oldcode/tools/startup_nodes.zsh
deleted file mode 100755
index 969c193..0000000
--- a/oldcode/tools/startup_nodes.zsh
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/bin/zsh
-
-# Automates launching DHT nodes in the KDA-2B model.
-
-# Number of client nodes:
-N=$1
-DURATION=$2
-
-[[ ${#DURATION} == 0 ]] && DURATION=10
-AUTOSTOP="no"
-
-# Include helpers:
-SCRIPTS="${PWD}/${0%%/$( basename $0 )}"
-source ${SCRIPTS}/helpers.zsh
-
-alias kill=/bin/kill
-
-[[ ${#N} == 0 ]] && print Need N! && return
-
-print
-make -j 3 D=1 unpublish node
-[[ $? != 0 ]] && exit
-print
-
-mpdensure
-
-# Clear published name "kademlia" from MPI services:
-mpiexec -n 1 unpublish kademlia
-
-mpiexec -a HUB -n 1 node -s 1000 -t 0 >& HUB.out &
-ACCEPT_PID=$!
-
-sleep 2
-
-print "HUB started..."
-
-CONNECT_PIDS=()
-
-for (( i=1 ; i <= $N ; i++ ))
-do
- mpiexec -a NODE_${i} -n 1 node -s 1000 -t $i >& NODE_${i}.out &
- PID=$!
- CONNECT_PIDS+=${PID}
- sleep 3
-done # > NODE.out
-
-if [[ ${AUTOSTOP} == "yes" ]]
-then
- # Shutdown...
- sleep 40
- /bin/kill ${CONNECT_PIDS[1]}
- sleep 1
- print "done"
- /bin/kill -9 ${ACCEPT_PID} ${CONNECT_PIDS}
-fi
-
diff --git a/oldcode/tools/startup_sweep.zsh b/oldcode/tools/startup_sweep.zsh
deleted file mode 100755
index 35e1138..0000000
--- a/oldcode/tools/startup_sweep.zsh
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/bin/zsh
-
-[[ -z ${*} ]] && print N_MIN N_MAX T_MIN T_MAX I_MAX && exit
-
-CHIP=$( uname -m )
-SCRIPTS="${PWD}/${0%%/$( basename $0 )}"
-
-typeset -A RESULT
-RESULT=()
-
-mkdir -p output
-clobber output/result.out
-
-source ${SCRIPTS}/helpers.zsh
-
-experiment()
-{
- N=$1
- T=$2
- i=$3
- OUTPUT="output/run_${N}_${T}_${i}.out"
- if [[ ! -f ${OUTPUT} ]]
- then
- launch ${N} driver -s ${T} > ${OUTPUT}
- [[ $? != 0 ]] && exit
- N_COUNTED=$( grep -c READY ${OUTPUT} )
- if (( N_COUNTED != N-1 ))
- then
- rm ${OUTPUT}
- print ERROR
- return 1
- fi
- fi
- return 0
-}
-
-analysis()
-{
- N=$1
- T=$2
- typeset -A DELAY
- DELAY=()
- for i in ${I_VALS}
- do
- OUTPUT="output/run_${N}_${T}_${i}.out"
- START=$( grep START ${OUTPUT} | col 3 )
- TIMES=( $( grep READY ${OUTPUT} | col 3 ) )
- LATEST=$( max ${TIMES} )
- (( LATEST-START < 0 ))
- DELAY["${I}"]=$(( LATEST-START ))
- done
- RESULT["${N} ${T}"]=$( print -l ${DELAY} | avg )
- return 0
-}
-
-extract_result()
-# Print the result for this N&T
-{
- N=$1
- T=$2
- printf "${RESULT["${N} ${T}"]} "
- (( ${N} == ${N_MAX} )) && print
-}
-
-write_matrix()
-{
- export N_MAX=$( max ${N_VALS} )
- # print N_MAX $N_MAX
- cross "${N_VALS}" "${T_VALS}" X extract_result
-}
-
-organize()
-{
- print "Output..."
- print ${N_VALS} > output/n.out
- print ${T_VALS} > output/t.out
- write_matrix > output/result.out
- text2oct output/n.out output/n.dat
- text2oct output/t.out output/t.dat
- text2oct output/result.out output/result.dat
-}
-
-N_VALS=( $( make_sweep $1 $2 ) )
-T_VALS=( $( make_sweep $3 $4 ) )
-I_VALS=( {1..$5} )
-
-cross "${N_VALS}" "${T_VALS}" "${I_VALS}" X experiment
-
-cross "${N_VALS}" "${T_VALS}" X analysis
-
-organize
diff --git a/oldcode/tools/to_dot.awk b/oldcode/tools/to_dot.awk
deleted file mode 100755
index cf53018..0000000
--- a/oldcode/tools/to_dot.awk
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/usr/bin/awk -f
-
-# Usage: to_dot.awk < neigbor_tables.out > script.dot
-# To make img: dot -Tpng script.dot > output.png
-
-BEGIN {
- print "digraph G {";
-}
-
-$1 == "Neighbor" { name = $4; }
-
-/\t/ { print "\"Node " name "\" -> \"Node " $1 "\""; }
-
-END {
- print "}";
-}
diff --git a/sim/gobs/.classpath b/sim/gobs/.classpath
deleted file mode 100644
index c885b2b..0000000
--- a/sim/gobs/.classpath
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="lib" path="prereqs/colt.jar"/>
- <classpathentry kind="lib" path="prereqs/commons-io-1.4.jar"/>
- <classpathentry kind="lib" path="prereqs/jcommon-1.0.16.jar"/>
- <classpathentry kind="lib" path="prereqs/jfreechart-1.0.13.jar"/>
- <classpathentry kind="lib" path="prereqs/junit.jar"/>
- <classpathentry kind="lib" path="prereqs/xmlgraphics-commons-1.4svn.jar"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="output" path="src"/>
-</classpath>
diff --git a/sim/gobs/.project b/sim/gobs/.project
deleted file mode 100644
index ad55d20..0000000
--- a/sim/gobs/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>gobs</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/sim/gobs/.settings/org.eclipse.jdt.core.prefs b/sim/gobs/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index ae04ef0..0000000
--- a/sim/gobs/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,281 +0,0 @@
-#Tue Feb 16 10:58:40 CST 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.6
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=true
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=1
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=70
-org.eclipse.jdt.core.formatter.compact_else_if=false
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=2
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=70
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=2
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/sim/gobs/.settings/org.eclipse.jdt.ui.prefs b/sim/gobs/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fb9712..0000000
--- a/sim/gobs/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Mon Jan 25 16:21:43 CST 2010
-eclipse.preferences.version=1
-formatter_profile=_GOBS_Preferences
-formatter_settings_version=11
diff --git a/sim/gobs/About.txt b/sim/gobs/About.txt
deleted file mode 100644
index 56ff152..0000000
--- a/sim/gobs/About.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-
-See the wiki for up-to-date usage information:
-
-http://wiki.mcs.anl.gov/radix/triton/index.php/GOBS_Simulator
diff --git a/sim/gobs/build.xml b/sim/gobs/build.xml
deleted file mode 100644
index 3e74705..0000000
--- a/sim/gobs/build.xml
+++ /dev/null
@@ -1,142 +0,0 @@
-
-<!-- Buildfile for GOBS simulator
-
- Useful targets: all, jar, test
-
--->
-
-<project name="GOBS"
- default="all"
- basedir=".">
-
- <!-- Assemble classpath with 3rd-party jars -->
- <fileset id="jars"
- dir="prereqs"
- includes="*.jar" />
- <pathconvert refid="jars" property="jars" />
- <property name="classpath" value="./src:${jars}" />
-
- <target name="all"
- depends="compile" />
-
- <target name="compile" depends="compile_sim,compile_sweep" />
- <target name="test" depends="compile_test" />
-
- <target name="jar"
- depends="compile" >
- <jar destfile="GOBS.jar"
- manifest="manifest.mf">
- <zipfileset dir="src"
- includes="gobs/**/*.class" />
- </jar>
- </target>
-
- <target name="compile_sim"
- depends="compile_plot,compile_util">
- <javac srcdir="src/gobs/sim"
- classpath="${classpath}"
- listfiles="${lf}"
- debug="true"
- debuglevel="source,lines,vars">
- <compilerarg value="-Xlint"/>
- </javac>
- </target>
-
- <target name="compile_plot"
- depends="compile_util">
- <javac srcdir="src/gobs/plot"
- classpath="${classpath}"
- listfiles="${lf}"
- debug="true"
- debuglevel="source,lines,vars"
- verbose="${v}">
- <compilerarg value="-Xlint"/>
- </javac>
- </target>
-
- <target name="compile_sweep"
- depends="compile_util">
- <javac srcdir="src/gobs/sweep"
- classpath="${classpath}"
- listfiles="${lf}"
- debug="true"
- debuglevel="source,lines,vars">
- <compilerarg value="-Xlint"/>
- </javac>
- </target>
-
- <target name="compile_util">
- <javac srcdir="src/gobs/util"
- classpath="."
- listfiles="${lf}"
- debug="true"
- debuglevel="source,lines,vars">
- <compilerarg value="-Xlint"/>
- </javac>
- </target>
-
- <target name="compile_test"
- depends="compile">
- <javac srcdir="src/gobs/test"
- classpath="${classpath}"
- listfiles="${lf}"
- debug="true"
- debuglevel="source,lines,vars">
- <compilerarg value="-Xlint"/>
- </javac>
- </target>
-
- <target name="doc">
- <javadoc destdir="docs"
- author="true"
- classpath="${classpath}"
- breakiterator="yes"
- linksource="yes"
- private="true"
- doctitle="GOBS Docs"
- windowtitle="GOBS">
- <fileset dir="."
- includes="src/**/*.java"/>
- <link href="http://java.sun.com/javase/6/docs/api" />
- <link href="http://www.jfree.org/jfreechart/api/javadoc" />
- <link href="http://acs.lbl.gov/~hoschek/colt/api" />
- </javadoc>
- </target>
-
- <target name="veryclean"
- depends="clean">
- <delete dir="docs" />
- </target>
-
- <target name="clean_sim">
- <delete>
- <fileset dir="src/gobs/sim">
- <filename name="*.class" />
- </fileset>
- </delete>
- </target>
-
- <target name="clean">
- <delete>
- <fileset dir=".">
- <filename name="GOBS.jar" />
- </fileset>
- <fileset dir="src/gobs/sim">
- <filename name="*.class" />
- </fileset>
- <fileset dir="src/gobs/plot">
- <filename name="*.class" />
- </fileset>
- <fileset dir="src/gobs/sweep">
- <filename name="*.class" />
- </fileset>
- <fileset dir="src/gobs/sweep/x">
- <filename name="*.class" />
- </fileset>
- <fileset dir="src/gobs/util">
- <filename name="*.class" />
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/sim/gobs/examples/gobs.cfg b/sim/gobs/examples/gobs.cfg
deleted file mode 100644
index df10e63..0000000
--- a/sim/gobs/examples/gobs.cfg
+++ /dev/null
@@ -1,24 +0,0 @@
-
-# Simulator configuration
-
-# Basics:
-
-# Print all properties at simulation start
-print.properties = true
-# Print nodes and objects at startup (true/false)
-print.initialnodes = true
-# Print nodes and objects after each rebuild (true/false)
-print.nodes = false
-# Print object tranfers during rebuilds (true/false)
-print.rebuilds = true
-# Print file information (true/false)
-print.files = false
-# Print load change statistics (true/false)
-print.loaddiffs = false
-# Print user accesses
-print.accesses = false
-
-# Statistics:
-
-# Rebuild traffic over time analysis:
-plot.traffic.interval = 10
diff --git a/sim/gobs/examples/params.cfg b/sim/gobs/examples/params.cfg
deleted file mode 100644
index 9f5c40f..0000000
--- a/sim/gobs/examples/params.cfg
+++ /dev/null
@@ -1,59 +0,0 @@
-
-### Parameters for GOBS Simulator run
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 16
-# Number of servers:
-nodes = 128
-# Number of files:
-files = 1000
-# Number of faults:
-faults = 1
-# Number of accesses:
-reads = 10
-writes = 0
-
-### Choose a PlacementScheme implementation:
-
-#impl.placement = Kademlia
-#impl.placement = Nearest
-impl.placement = VertexGroups
-
-VertexGroupPrefix = 6
-replica.source = primary
-
-### Choose a NodeScheme implementation:
-
-# impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
-
-### Choose one of the following FileFactory sections:
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PlainFiles
-# File size:
-file.size = 140
-# Strip size:
-file.strip = 4
-# File/object replicas:
-file.replicas = 3
-# Number of objects per file:
-file.width = 3
-
-# FileFactory implementation TraceFiles
-#impl.filefactory = TraceFiles
-# Trace filename:
-#filetrace = traces/test01.trace
-
-# FileFactory implementation RandomFiles
-#impl.filefactory = RandomFiles
-# Max size of big files:
-#filebigmax = 100
-# Min size of big files:
-#filebigmin = 50
-# Max size of small files:
-#filesmallmax = 20
-# Min size of small files:
-#filesmallmin = 0
diff --git a/sim/gobs/manifest.mf b/sim/gobs/manifest.mf
deleted file mode 100644
index acdcf8d..0000000
--- a/sim/gobs/manifest.mf
+++ /dev/null
@@ -1,2 +0,0 @@
-GOBS-Version: 0.9.0
-Main-Class: gobs.sim.Simulator
diff --git a/sim/gobs/prereqs/colt.jar b/sim/gobs/prereqs/colt.jar
deleted file mode 100644
index a7192f6..0000000
Binary files a/sim/gobs/prereqs/colt.jar and /dev/null differ
diff --git a/sim/gobs/prereqs/commons-io-1.4.jar b/sim/gobs/prereqs/commons-io-1.4.jar
deleted file mode 100644
index 1fb8e29..0000000
Binary files a/sim/gobs/prereqs/commons-io-1.4.jar and /dev/null differ
diff --git a/sim/gobs/prereqs/jcommon-1.0.16.jar b/sim/gobs/prereqs/jcommon-1.0.16.jar
deleted file mode 100644
index 4cd6807..0000000
Binary files a/sim/gobs/prereqs/jcommon-1.0.16.jar and /dev/null differ
diff --git a/sim/gobs/prereqs/jfreechart-1.0.13.jar b/sim/gobs/prereqs/jfreechart-1.0.13.jar
deleted file mode 100644
index 83c6993..0000000
Binary files a/sim/gobs/prereqs/jfreechart-1.0.13.jar and /dev/null differ
diff --git a/sim/gobs/prereqs/junit.jar b/sim/gobs/prereqs/junit.jar
deleted file mode 100644
index 674d71e..0000000
Binary files a/sim/gobs/prereqs/junit.jar and /dev/null differ
diff --git a/sim/gobs/prereqs/xmlgraphics-commons-1.4svn.jar b/sim/gobs/prereqs/xmlgraphics-commons-1.4svn.jar
deleted file mode 100644
index e5d81b0..0000000
Binary files a/sim/gobs/prereqs/xmlgraphics-commons-1.4svn.jar and /dev/null differ
diff --git a/sim/gobs/scripts/eol.all.zsh b/sim/gobs/scripts/eol.all.zsh
deleted file mode 100755
index 292b1ae..0000000
--- a/sim/gobs/scripts/eol.all.zsh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/zsh
-
-files=()
-for f in **/*.zsh
- do
- if [[ ${f} != $0 ]]
- then
- files+=${f}
- fi
-done
-
-sed -i 's/ *$//' **/*.java **/*.cfg ${files}
diff --git a/sim/gobs/scripts/eol.zsh b/sim/gobs/scripts/eol.zsh
deleted file mode 100755
index 6a0fc61..0000000
--- a/sim/gobs/scripts/eol.zsh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/zsh
-
-print "Fixing EOL: "
-
-typeset -aU FILES
-STATUS=( $( git status ) )
-
-for (( i=0 ; i<${#STATUS} ; i++ ))
-do
- if [[ ${STATUS[i]} == "file:" ||
- ${STATUS[i]} == "modified:" ]]
- then
- FILE=${STATUS[i+1]}
- if [[ ${FILE} == $0 ||
- ${FILE} == *.eps ]]
- then
- continue
- fi
- FILES+=${FILE}
- fi
-done
-
-if [[ ${#FILES} == 0 ]]
-then
- print "Nothing to do."
- exit
-fi
-
-print -l $FILES
-
-sed -i 's/ *$//' ${FILES}
diff --git a/sim/gobs/scripts/sim.zsh b/sim/gobs/scripts/sim.zsh
deleted file mode 100755
index ceb9648..0000000
--- a/sim/gobs/scripts/sim.zsh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/zsh
-
-# Run the GOBS Simulator class.
-# User must have run ant jar to get the GOBS.jar
-# User may set ${GOBS_LOCATION} to set the GOBS location,
-# the default is ${PWD}
-
-[[ ${GOBS_LOCATION} == "" ]] && GOBS_LOCATION=${PWD}
-
-typeset -T CP cp
-
-cp=()
-cp+=${GOBS_LOCATION}/GOBS.jar
-
-jars=( $( find ${GOBS_LOCATION}/prereqs -name "*.jar" ) )
-for f in ${jars}
-do
- cp+=${f}
-done
-
-java -cp ${CP} gobs.sim.Simulator ${*}
diff --git a/sim/gobs/scripts/sweep.zsh b/sim/gobs/scripts/sweep.zsh
deleted file mode 100755
index 7689663..0000000
--- a/sim/gobs/scripts/sweep.zsh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/zsh
-
-# User must have run ant jar to get the GOBS.jar
-# User may set ${GOBS_LOCATION} to set the GOBS location,
-# the default is ${PWD}
-
-[[ ${GOBS_LOCATION} == "" ]] && GOBS_LOCATION=${PWD}
-
-typeset -T CP cp
-
-SWEEP=$1
-shift
-
-cp=()
-cp+=${GOBS_LOCATION}/GOBS.jar
-
-jars=( $( find ${GOBS_LOCATION}/prereqs -name "*.jar" ) )
-for f in ${jars}
-do
- cp+=${f}
-done
-
-java -cp ${CP} gobs.sweep.x.${SWEEP} ${*}
diff --git a/sim/gobs/src/gobs/plot/AbstractPlot.java b/sim/gobs/src/gobs/plot/AbstractPlot.java
deleted file mode 100755
index 4906fba..0000000
--- a/sim/gobs/src/gobs/plot/AbstractPlot.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package gobs.plot;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.Properties;
-
-import org.apache.xmlgraphics.java2d.ps.EPSDocumentGraphics2D;
-
-import gobs.util.Tools;
-
-public class AbstractPlot
-{
- static int width = 400;
- static int height = 400;
-
- public static boolean bw = false;
- public static boolean forceDomainUpper = false;
- public static double forceDomainUpperValue = 0;
-
- public static void configure(Properties properties)
- {
- if (Tools.has(properties, "plot.force.domain.upper"))
- forceDomainUpper
- (Tools.decimal(properties, "plot.force.domain.upper"));
- if (Tools.enabled(properties, "plot.blackandwhite"))
- bw = true;
- if (Tools.has(properties, "plot.width"))
- width = Tools.integer(properties, "plot.width");
- }
-
- static void forceDomainUpper(double v)
- {
- forceDomainUpper = true;
- forceDomainUpperValue = v;
- }
-
- /**
- Get a writable EPS file at output.
- */
- static EPSDocumentGraphics2D graphics(OutputStream output)
- throws IOException
- {
- EPSDocumentGraphics2D g2d = new EPSDocumentGraphics2D(false);
- g2d.setGraphicContext
- (new org.apache.xmlgraphics.java2d.GraphicContext());
-
- g2d.setGraphicContext
- (new org.apache.xmlgraphics.java2d.GraphicContext());
- g2d.setupDocument(output, width, height);
-
- return g2d;
- }
-}
diff --git a/sim/gobs/src/gobs/plot/AsciiPlot.java b/sim/gobs/src/gobs/plot/AsciiPlot.java
deleted file mode 100644
index c2522dc..0000000
--- a/sim/gobs/src/gobs/plot/AsciiPlot.java
+++ /dev/null
@@ -1,93 +0,0 @@
-
-package gobs.plot;
-
-import java.io.*;
-
-import org.jfree.data.xy.XYSeries;
-import org.jfree.data.xy.XYSeriesCollection;
-
-import gobs.util.Tools;
-
-/**
- * Will be easy to tie in gnuplot.
- * */
-
-public class AsciiPlot
- extends Plot
-{
- public static boolean plot(XYSeries series,
- String title, String xlabel,
- String ylabel, String output)
- {
- try
- {
- PrintWriter writer = new PrintWriter(output);
-
- write(writer, series, title, xlabel, ylabel, output);
-
- writer.close();
- }
- catch (IOException e)
- {
- Tools.bail("AsciiPlot: Output error to: " + output);
- return false;
- }
- return true;
- }
-
- /**
- Uses series descriptions for titles in output.
- */
- public static void plot(XYSeriesCollection collection,
- String title,
- String xlabel, String ylabel,
- String output)
- {
- try
- {
- PrintWriter writer = new PrintWriter(output);
- writer.println("# TITLE: " + title);
- for (Object o : collection.getSeries())
- {
- XYSeries series = (XYSeries) o;
- String description = series.getDescription();
- write(writer, series, description, xlabel, ylabel, output);
- }
- writer.close();
- }
- catch (IOException e)
- {
- Tools.bail("AsciiPlot: Output error to: " + output);
- }
- }
-
- static void write(PrintWriter writer,
- XYSeries series,
- String title, String xlabel, String ylabel,
- String output)
- throws IOException
- {
- writer.println("# DESCRIPTION: " + title);
- writer.println("# XLABEL: " + xlabel);
- writer.println("# YLABEL: " + ylabel);
-
- for (int i = 0; i < series.getItemCount(); i++)
- {
- writer.println("" + series.getX(i) + " " + series.getY(i));
- }
- }
-
- /**
- Debugging only.
- */
- public static void main(String[] args)
- {
- XYSeries series = new XYSeries("ASCII");
-
- series.add(3.0,4.0);
- series.add(4.0,5.0);
- series.add(5.0,1.0);
-
- plot(series, "TITLE", "XL", "YL", "tmp.eps");
- }
-}
diff --git a/sim/gobs/src/gobs/plot/LogPlot.java b/sim/gobs/src/gobs/plot/LogPlot.java
deleted file mode 100644
index 040d1a9..0000000
--- a/sim/gobs/src/gobs/plot/LogPlot.java
+++ /dev/null
@@ -1,135 +0,0 @@
-
-package gobs.plot;
-
-import java.awt.*;
-import java.awt.geom.Rectangle2D;
-
-import java.io.BufferedOutputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-
-import java.text.NumberFormat;
-
-import org.apache.commons.io.IOUtils;
-import org.apache.xmlgraphics.java2d.ps.EPSDocumentGraphics2D;
-
-import org.jfree.chart.ChartFactory;
-import org.jfree.chart.JFreeChart;
-import org.jfree.chart.axis.*;
-import org.jfree.chart.plot.PlotOrientation;
-import org.jfree.chart.plot.XYPlot;
-import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
-import org.jfree.data.xy.XYDataset;
-import org.jfree.data.xy.XYSeries;
-import org.jfree.data.xy.XYSeriesCollection;
-
-/**
- * Simple abstraction over JFreeChart with EPS output.
- * */
-
-public class LogPlot
-{
- public static NumberFormat override = null;
-
- /**
- Generate simple plot.
- @param series The x,y data.
- @param title Plot title.
- @param xlabel X label text.
- @param ylabel Y label text.
- @param output EPS filename.
- */
- public static boolean plot(XYSeries series,
- String title, String xlabel,
- String ylabel, String output)
- {
- EPSDocumentGraphics2D g2d = null;
- Rectangle2D.Double rectangle = null;
- OutputStream out = null;
-
- int w = 400;
- int h = 400;
-
- try
- {
- out = new FileOutputStream(output);
- out = new BufferedOutputStream(out);
-
- g2d = new EPSDocumentGraphics2D(false);
- g2d.setGraphicContext
- (new org.apache.xmlgraphics.java2d.GraphicContext());
-
- rectangle = new Rectangle2D.Double(0, 0, w, h);
-
- g2d.setGraphicContext
- (new org.apache.xmlgraphics.java2d.GraphicContext());
- g2d.setupDocument(out, w, h);
-
- //Paint a bounding box
- // g2d.drawRect(20, 20, 40, 40);
- }
- catch (IOException e)
- {
- System.out.println("Problem with file: " + output);
- return false;
- }
-
- final XYDataset collection = new XYSeriesCollection(series);
-
- final boolean withLegend = false;
-
- JFreeChart chart =
- ChartFactory.createXYLineChart
- (title, xlabel, ylabel, collection,
- PlotOrientation.VERTICAL, withLegend, false, false);
-
- XYPlot plot = chart.getXYPlot();
- plot.setBackgroundPaint(Color.WHITE);
-
- XYLineAndShapeRenderer renderer =
- new XYLineAndShapeRenderer();
- renderer.setSeriesPaint(0,Color.BLACK);
- //renderer.setSeriesLinesVisible(0,false);
- plot.setRenderer(renderer);
-
- LogAxis domainAxis = new LogAxis(xlabel);
- domainAxis.setNumberFormatOverride(override);
- // ValueAxis rangeAxis = plot.getRangeAxis();
- // font = rangeAxis.getLabelFont();
- // domainAxis.setLabelFont(font);
- // font = plot.getRangeAxis().getTickLabelFont();
- // font = font.deriveFont(12.0f);
- // domainAxis.setTickLabelFont(font);
- plot.setDomainAxis(domainAxis);
-
- chart.draw(g2d, rectangle);
-
- try
- {
- g2d.finish();
- }
- catch (Exception e)
- {
- System.out.println("Err!");
- }
- IOUtils.closeQuietly(out);
-
- return true;
- }
-
- /**
- Debugging only.
- */
- public static void main(String[] args)
- {
- XYSeries series = new XYSeries("debugging");
-
- series.add(3.0,4.0);
- series.add(4.0,5.0);
- series.add(5.0,1.0);
- series.add(8.0,0.0);
-
- plot(series, "TITLE", "XL", "YL", "tmp.eps");
- }
-}
diff --git a/sim/gobs/src/gobs/plot/MultiLogXPlot.java b/sim/gobs/src/gobs/plot/MultiLogXPlot.java
deleted file mode 100644
index 68dcf4a..0000000
--- a/sim/gobs/src/gobs/plot/MultiLogXPlot.java
+++ /dev/null
@@ -1,152 +0,0 @@
-
-package gobs.plot;
-
-import java.awt.*;
-import java.awt.geom.Rectangle2D;
-
-import java.io.BufferedOutputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-
-
-import org.apache.commons.io.IOUtils;
-import org.apache.xmlgraphics.java2d.ps.EPSDocumentGraphics2D;
-
-import org.jfree.chart.ChartFactory;
-import org.jfree.chart.JFreeChart;
-import org.jfree.chart.axis.*;
-import org.jfree.chart.plot.PlotOrientation;
-import org.jfree.chart.plot.XYPlot;
-import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
-import org.jfree.data.Range;
-import org.jfree.data.xy.XYSeries;
-import org.jfree.data.xy.XYSeriesCollection;
-
-import gobs.util.*;
-
-/**
- * Simple abstraction over JFreeChart with EPS output.
- * */
-
-public class MultiLogXPlot
- extends AbstractPlot
-{
- /**
- Generate simple plot.
- @param collection The x,y data
- @param title Plot title
- @param xlabel X label text
- @param ylabel Y label text
- @param output EPS filename
- */
- public static boolean plot(XYSeriesCollection collection,
- String title, String xlabel,
- String ylabel, String output)
- {
- EPSDocumentGraphics2D g2d = null;
- Rectangle2D.Double rectangle = null;
- OutputStream out = null;
-
- int w = 400;
- int h = 400;
-
- try
- {
- out = new FileOutputStream(output);
- out = new BufferedOutputStream(out);
-
- g2d = new EPSDocumentGraphics2D(false);
- g2d.setGraphicContext
- (new org.apache.xmlgraphics.java2d.GraphicContext());
-
- rectangle = new Rectangle2D.Double(0, 0, w, h);
-
- g2d.setGraphicContext
- (new org.apache.xmlgraphics.java2d.GraphicContext());
- g2d.setupDocument(out, w, h);
- }
- catch (IOException e)
- {
- System.out.println("Problem with file: " + output);
- return false;
- }
-
- final boolean withLegend = true;
-
- JFreeChart chart =
- ChartFactory.createXYLineChart
- (title, xlabel, ylabel, collection,
- PlotOrientation.VERTICAL, withLegend, false, false);
-
- XYPlot plot = chart.getXYPlot();
- plot.setBackgroundPaint(Color.WHITE);
-
- // Turn on shapes...
- XYLineAndShapeRenderer renderer =
- new XYLineAndShapeRenderer();
- if (bw)
- for (int i = 0; i < plot.getSeriesCount(); i++)
- renderer.setSeriesPaint(i, Color.BLACK);
- plot.setRenderer(renderer);
-
-
- // Cache default fonts...
- ValueAxis rangeAxis = plot.getRangeAxis();
- Font labelFont = rangeAxis.getLabelFont();
- Font tickFont = rangeAxis.getTickLabelFont();
-
- // Correct fonts...
- LogarithmicAxis domainAxis = new LogarithmicAxis(xlabel);
- domainAxis.setLabelFont(labelFont);
- domainAxis.setTickLabelFont(tickFont);
- if (forceDomainUpper)
- {
- Range range = plot.getDomainAxis().getRange();
- double lower = range.getLowerBound();
- Range adjusted = new Range(lower, forceDomainUpperValue);
- domainAxis.setRange(adjusted);
- System.out.println("range: " + domainAxis.getRange());
- }
- plot.setDomainAxis(domainAxis);
-
- chart.draw(g2d, rectangle);
-
- System.out.println("PLOTTED: " + output);
-
- try
- {
- g2d.finish();
- }
- catch (Exception e)
- {
- System.out.println("Err!");
- }
-
- IOUtils.closeQuietly(out);
-
- return true;
- }
-
- /**
- Debugging only.
- */
- public static void main(String[] args)
- {
- Bits.init();
-
- final XYSeriesCollection collection = new XYSeriesCollection();
- int count = 0;
- for (int j = 0; j < 3; j++)
- {
- XYSeries series = new XYSeries("data: " + count++);
- for (int i = 1; i < 9; i++)
- {
- series.add(i, j*3+Bits.nextInt(3));
- }
- collection.addSeries(series);
- }
-
- plot(collection, "TITLE", "XL", "YL", "tmp.eps");
- }
-}
diff --git a/sim/gobs/src/gobs/plot/MultiplePlot.java b/sim/gobs/src/gobs/plot/MultiplePlot.java
deleted file mode 100644
index bd6c7e1..0000000
--- a/sim/gobs/src/gobs/plot/MultiplePlot.java
+++ /dev/null
@@ -1,133 +0,0 @@
-
-package gobs.plot;
-
-import java.awt.Color;
-import java.awt.geom.Rectangle2D;
-
-import java.io.BufferedOutputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-
-import org.apache.commons.io.IOUtils;
-import org.apache.xmlgraphics.java2d.ps.EPSDocumentGraphics2D;
-
-import org.jfree.chart.ChartFactory;
-import org.jfree.chart.JFreeChart;
-import org.jfree.chart.axis.ValueAxis;
-import org.jfree.chart.plot.PlotOrientation;
-import org.jfree.chart.plot.XYPlot;
-import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
-import org.jfree.data.Range;
-import org.jfree.data.xy.XYSeries;
-import org.jfree.data.xy.XYSeriesCollection;
-
-import gobs.util.Bits;
-
-/**
- * Simple abstraction over JFreeChart with EPS output.
- * */
-
-public class MultiplePlot
- extends AbstractPlot
-{
- /**
- Generate simple plot.
- @param collection The x,y data.
- @param title Plot title.
- @param xlabel X label text.
- @param ylabel Y label text.
- @param output EPS filename.
- */
- public static boolean plot(XYSeriesCollection collection,
- String title, String xlabel,
- String ylabel, String output)
- {
- EPSDocumentGraphics2D g2d = null;
- Rectangle2D.Double rectangle = null;
- OutputStream out = null;
-
- try
- {
- out = new FileOutputStream(output);
- out = new BufferedOutputStream(out);
-
- g2d = new EPSDocumentGraphics2D(false);
- g2d.setGraphicContext
- (new org.apache.xmlgraphics.java2d.GraphicContext());
-
- rectangle = new Rectangle2D.Double(0, 0, width, height);
-
- g2d.setGraphicContext
- (new org.apache.xmlgraphics.java2d.GraphicContext());
- g2d.setupDocument(out, width, height);
- }
- catch (IOException e)
- {
- System.out.println("Problem with file: " + output);
- return false;
- }
-
- final boolean withLegend = true;
-
- JFreeChart chart =
- ChartFactory.createXYLineChart
- (title, xlabel, ylabel, collection,
- PlotOrientation.VERTICAL, withLegend, false, false);
-
- XYPlot plot = chart.getXYPlot();
- XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
- if (bw)
- for (int i = 0; i < plot.getSeriesCount(); i++)
- renderer.setSeriesPaint(i, Color.BLACK);
- plot.setRenderer(renderer);
- plot.setBackgroundPaint(Color.WHITE);
- if (forceDomainUpper)
- {
- ValueAxis axis = plot.getDomainAxis();
- Range range = axis.getRange();
- double lower = range.getLowerBound();
- Range adjusted = new Range(lower, forceDomainUpperValue);
- axis.setRange(adjusted);
- System.out.println("range: " + axis.getRange());
- plot.setDomainAxis(axis);
- }
- chart.draw(g2d, rectangle);
-
- try
- {
- g2d.finish();
- }
- catch (Exception e)
- {
- System.out.println("Err!");
- }
-
- IOUtils.closeQuietly(out);
- System.out.println("PLOTTED: " + output);
-
- return true;
- }
-
- /**
- Debugging only.
- */
- public static void main(String[] args)
- {
- Bits.init();
-
- final XYSeriesCollection collection = new XYSeriesCollection();
- int count = 0;
- for (int j = 0; j < 3; j++)
- {
- XYSeries series = new XYSeries("data: " + count++);
- for (int i = 0; i < 9; i++)
- {
- series.add(i, j*3+Bits.nextInt(3));
- }
- collection.addSeries(series);
- }
-
- plot(collection, "TITLE", "XL", "YL", "tmp.eps");
- }
-}
diff --git a/sim/gobs/src/gobs/plot/Plot.java b/sim/gobs/src/gobs/plot/Plot.java
deleted file mode 100644
index 695c7f6..0000000
--- a/sim/gobs/src/gobs/plot/Plot.java
+++ /dev/null
@@ -1,73 +0,0 @@
-
-package gobs.plot;
-
-import java.awt.Color;
-import java.awt.geom.Rectangle2D;
-import java.io.BufferedOutputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-
-import org.apache.commons.io.IOUtils;
-import org.apache.xmlgraphics.java2d.ps.EPSDocumentGraphics2D;
-import org.jfree.chart.ChartFactory;
-import org.jfree.chart.JFreeChart;
-import org.jfree.chart.plot.PlotOrientation;
-import org.jfree.chart.plot.XYPlot;
-import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
-import org.jfree.data.xy.XYSeries;
-import org.jfree.data.xy.XYSeriesCollection;
-
-public class Plot
- extends AbstractPlot
-{
- public static boolean plot(XYSeries series,
- String title, String xlabel,
- String ylabel, String output)
- {
- XYSeriesCollection collection = new XYSeriesCollection();
- collection.addSeries(series);
-
- EPSDocumentGraphics2D g2d = null;
- OutputStream out = null;
- Rectangle2D.Double rectangle = new Rectangle2D.Double(0, 0, width, height);
-
- try
- {
- out = new FileOutputStream(output);
- out = new BufferedOutputStream(out);
- g2d = graphics(out);
- }
- catch (IOException e)
- {
- System.out.println("Problem with file: " + output);
- return false;
- }
-
- final boolean withLegend = true;
- JFreeChart chart =
- ChartFactory.createXYLineChart
- (title, xlabel, ylabel, collection,
- PlotOrientation.VERTICAL, withLegend, false, false);
-
- XYLineAndShapeRenderer renderer =
- new XYLineAndShapeRenderer();
- XYPlot plot = chart.getXYPlot();
- plot.setBackgroundPaint(Color.WHITE);
- plot.setRenderer(renderer);
- chart.draw(g2d, rectangle);
-
- try
- {
- g2d.finish();
- IOUtils.closeQuietly(out);
- }
- catch (Exception e)
- {
- System.out.println("Err!");
- }
-
- System.out.println("PLOTTED: " + output);
- return true;
- }
-}
diff --git a/sim/gobs/src/gobs/plot/SimplePlot.java b/sim/gobs/src/gobs/plot/SimplePlot.java
deleted file mode 100644
index 444b4d0..0000000
--- a/sim/gobs/src/gobs/plot/SimplePlot.java
+++ /dev/null
@@ -1,120 +0,0 @@
-
-package gobs.plot;
-
-import java.awt.*;
-import java.awt.geom.Rectangle2D;
-
-import java.io.BufferedOutputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-
-import org.apache.commons.io.IOUtils;
-import org.apache.xmlgraphics.java2d.ps.EPSDocumentGraphics2D;
-
-import org.jfree.chart.ChartFactory;
-import org.jfree.chart.JFreeChart;
-import org.jfree.chart.plot.PlotOrientation;
-import org.jfree.chart.plot.XYPlot;
-import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
-import org.jfree.data.xy.XYDataset;
-import org.jfree.data.xy.XYSeries;
-import org.jfree.data.xy.XYSeriesCollection;
-
-/**
- * Simple abstraction over JFreeChart with EPS output.
- * */
-
-public class SimplePlot
-{
- /**
- Generate simple plot.
- @param series The x,y data
- @param title Plot title
- @param xlabel X label text
- @param ylabel Y label text
- @param output EPS filename
- */
- public static boolean plot(XYSeries series,
- String title, String xlabel,
- String ylabel, String output)
- {
- EPSDocumentGraphics2D g2d = null;
- Rectangle2D.Double rectangle = null;
- OutputStream out = null;
-
- int w = 400;
- int h = 400;
-
- try
- {
- out = new FileOutputStream(output);
- out = new BufferedOutputStream(out);
-
- g2d = new EPSDocumentGraphics2D(false);
- g2d.setGraphicContext
- (new org.apache.xmlgraphics.java2d.GraphicContext());
-
- rectangle = new Rectangle2D.Double(0, 0, w, h);
-
- g2d.setGraphicContext
- (new org.apache.xmlgraphics.java2d.GraphicContext());
- g2d.setupDocument(out, w, h);
-
- //Paint a bounding box
- // g2d.drawRect(20, 20, 40, 40);
- }
- catch (IOException e)
- {
- System.out.println("Problem with file: " + output);
- return false;
- }
-
- final XYDataset collection = new XYSeriesCollection(series);
-
- final boolean withLegend = false;
-
- JFreeChart chart =
- ChartFactory.createXYLineChart
- (title, xlabel, ylabel, collection,
- PlotOrientation.VERTICAL, withLegend, false, false);
-
- XYPlot plot = chart.getXYPlot();
- plot.setBackgroundPaint(Color.WHITE);
- XYLineAndShapeRenderer renderer =
- new XYLineAndShapeRenderer();
- renderer.setBaseOutlinePaint(Color.BLACK);
- renderer.setBasePaint(Color.BLACK);
- renderer.setBaseFillPaint(Color.BLACK);
- plot.setRenderer(renderer);
-
- chart.draw(g2d, rectangle);
-
- try
- {
- g2d.finish();
- }
- catch (Exception e)
- {
- System.out.println("Err!");
- }
- IOUtils.closeQuietly(out);
-
- return true;
- }
-
- /**
- Debugging only.
- */
- public static void main(String[] args)
- {
- XYSeries series = new XYSeries("debugging");
-
- series.add(3.0,4.0);
- series.add(4.0,5.0);
- series.add(5.0,1.0);
- series.add(8.0,0.0);
-
- plot(series, "TITLE", "XL", "YL", "tmp.eps");
- }
-}
diff --git a/sim/gobs/src/gobs/sim/Addressable.java b/sim/gobs/src/gobs/sim/Addressable.java
deleted file mode 100644
index ac86eee..0000000
--- a/sim/gobs/src/gobs/sim/Addressable.java
+++ /dev/null
@@ -1,146 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-
-/**
- * Superclass for things with an address: objects and nodes.
- * */
-
-class Addressable
- implements Comparable<Addressable>
-{
- public BigInteger id;
-
- enum Display
- {
- /** Display addresses as raw bits. */
- BITS,
- /** Display addresses as numbers. */
- NUMERIC
- }
-
- public Addressable(BigInteger id)
- {
- this.id = id;
- }
-
- /**
- Does this Addressable start with the given bit prefix?
- */
- boolean prefix(int B, int[] p)
- {
- int[] A = bitArray(B);
- for (int i = 0; i < p.length; i++)
- {
- if (p[i] != A[i])
- return false;
- }
- return true;
- }
-
- /**
- Obtain an array of bits for this Addressable.
- */
- int[] bitArray(int B)
- {
-
- // if (array != null)
- // return array;
-
- // int[] result =
- return bitArray(B, id);
- }
-
- /**
- Obtain the array of bits for the given address.
- */
- static int[] bitArray(int B, BigInteger i)
- {
- int[] result = new int[B];
-
- BigInteger two = new BigInteger("2");
-
- for (int k = 0; k < B; k++)
- {
- if (i.shiftRight(k).mod(two).equals(BigInteger.ZERO))
- result[B-k-1] = 0;
- else
- result[B-k-1] = 1;
- }
-
- return result;
- }
-
- /**
- Convert the Addressable to a String of 0s and 1s.
- */
- String bitString(int B)
- {
- return bitString(B, id);
- }
-
- /**
- Convert the given address to a String of 0s and 1s.
- */
- static String bitString(int B, BigInteger i)
- {
- return arrayString(bitArray(B, i));
- }
-
- /**
- Convert the given bits to a String.
- */
- static String arrayString(int[] bits)
- {
- StringBuilder buffer = new StringBuilder();
- for (int i = 0; i < bits.length; i++)
- {
- if (bits[i] == 0)
- buffer.append("0");
- else
- buffer.append("1");
- }
- return buffer.toString();
- }
-
- String name(Simulator simulator)
- {
- if (simulator == null)
- return id.toString();
- if (simulator.display == Display.BITS)
- return bitString(simulator.B);
- else
- return id.toString();
- }
-
- /**
- Used by data structures.
- */
- public int hashCode()
- {
- return id.intValue();
- }
-
- /**
- Used by data structures.
- */
- public boolean equals(java.lang.Object other)
- {
- return (hashCode() == other.hashCode());
- }
-
- public int compareTo(Addressable other)
- {
- return id.compareTo(other.id);
- }
-
- /*
- Debugging only.
-
- public static void main(String[] args)
- {
- // System.out.println(bitString(10, ));
- }
- */
-}
diff --git a/sim/gobs/src/gobs/sim/Cause.java b/sim/gobs/src/gobs/sim/Cause.java
deleted file mode 100644
index 4b8c62a..0000000
--- a/sim/gobs/src/gobs/sim/Cause.java
+++ /dev/null
@@ -1,28 +0,0 @@
-
-package gobs.sim;
-
-/**
- The efficient cause for a Copy.
-*/
-public enum Cause
-{
- /**
- This Copy was caused by a fault.
- */
- FAULT,
-
- /**
- This Copy was caused by a repair.
- */
- REPAIR,
-
- /**
- This Copy was caused by a validation check.
- */
- VALIDATION,
-
- /**
- Query for Copies caused by FAULT or REPAIR.
- */
- ANY
-}
diff --git a/sim/gobs/src/gobs/sim/Copy.java b/sim/gobs/src/gobs/sim/Copy.java
deleted file mode 100644
index d7d0688..0000000
--- a/sim/gobs/src/gobs/sim/Copy.java
+++ /dev/null
@@ -1,80 +0,0 @@
-
-package gobs.sim;
-
-import java.text.DecimalFormat;
-import gobs.util.*;
-
-class Copy
- extends Event
-{
- Gob object;
- Node source;
- Node destination;
- boolean complete = false;
- double start = 0;
- Cause cause;
-
- Progress progress;
-
- /**
- Index of OSD on which this payload will be placed.
- */
- int index = -1;
-
- static DecimalFormat df = new DecimalFormat("0.00");
-
- Copy(Simulator simulator, Cause cause,
- Gob object, Node source, Node destination)
- {
- super(simulator);
- assert (source != null);
- this.cause = cause;
- this.object = object;
- this.source = source;
- this.destination = destination;
- progress = Progress.PROTO;
- }
-
- void startAt(double start)
- {
- if (progress == Progress.PROTO)
- {
- this.start = start;
- double s = object.size.doubleValue();
- double r = simulator.rebuildRate;
- finish = start + s/r;
- progress = Progress.RUNNING;
- if (simulator.bool("print.rebuilds"))
- System.out.println("start: " + log());
- }
- else if (progress == Progress.RUNNING)
- simulator.print("rebuilds", "restart: " + log());
- else if (progress == Progress.DONE)
- Tools.bail("Copy.startAt(): Copy is DONE: " + log());
- }
-
- void index(int i)
- {
- index = i;
- }
-
- public String toString()
- {
- return log();
- }
-
- String log()
- {
- StringBuilder sb = new StringBuilder(128);
- sb.append("copy: ")
- .append(cause).append(" ")
- .append(object).append(": ")
- .append(source).append(" -> ").append(destination)
- .append(" (").append(df.format(start));
- if (finish == -1)
- sb.append(")");
- else
- sb.append(",").append(df.format(finish)).append(")");
- return sb.toString();
- }
-}
diff --git a/sim/gobs/src/gobs/sim/Event.java b/sim/gobs/src/gobs/sim/Event.java
deleted file mode 100644
index 7592768..0000000
--- a/sim/gobs/src/gobs/sim/Event.java
+++ /dev/null
@@ -1,50 +0,0 @@
-
-package gobs.sim;
-
-import java.text.DecimalFormat;
-
-class Event
- implements Comparable<Event>
-{
- Simulator simulator;
-
- /**
- The simulated time at which the Event finishes
- or, in the case of an instantaneous event, occurs.
- */
- double finish = -1;
-
- /**
- Format string used by Event, subclasses, and Rebuild.
- */
- static DecimalFormat df = new DecimalFormat("0.00");
-
- Event(Simulator simulator)
- {
- this.simulator = simulator;
- }
-
- Event(Simulator simulator, double finish)
- {
- this(simulator);
- this.finish = finish;
- }
-
- public int compareTo(Event event)
- {
- int d = new Double(finish).compareTo(new Double(event.finish));
- if (d == 0)
- return toString().compareTo(event.toString());
- return d;
- }
-
- String log()
- {
- return "Event(" + df.format(finish) + ")";
- }
-
- public String toString()
- {
- return log();
- }
-}
diff --git a/sim/gobs/src/gobs/sim/Fault.java b/sim/gobs/src/gobs/sim/Fault.java
deleted file mode 100644
index 95d7d7d..0000000
--- a/sim/gobs/src/gobs/sim/Fault.java
+++ /dev/null
@@ -1,43 +0,0 @@
-
-package gobs.sim;
-
-import gobs.util.Bits;
-import gobs.util.Time;
-
-class Fault
- extends Event
-{
- /**
- If set, data was lost as a result of this Fault.
- */
- boolean dataLost = false;
-
- /**
- The Rebuild that responded to this Fault.
- */
- Rebuild rebuild;
-
- Fault(Simulator simulator)
- {
- super(simulator);
- finish = simulator.time() +
- simulator.pullFault();
- if (Bits.nextDouble() < simulator.dataLossFraction)
- dataLost = true;
- }
-
- void rebuild(Rebuild rebuild)
- {
- this.rebuild = rebuild;
- }
-
- String log()
- {
- return "Fault(" + Time.toString(finish) + ")";
- }
-
- public String toString()
- {
- return log();
- }
-}
diff --git a/sim/gobs/src/gobs/sim/File.java b/sim/gobs/src/gobs/sim/File.java
deleted file mode 100644
index d4621b7..0000000
--- a/sim/gobs/src/gobs/sim/File.java
+++ /dev/null
@@ -1,146 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-import java.text.DecimalFormat;
-import java.util.Collection;
-
-import static java.lang.Math.*;
-
-/**
- * Simulated file.
- * */
-
-public class File
-{
- public BigInteger size;
- BigInteger strip;
- int width;
- int replicas;
- int id;
-
- Collection<Gob> objects = null;
-
- static int unique = 0;
-
- static DecimalFormat ff = new DecimalFormat("0");
- static DecimalFormat df = new DecimalFormat("0.0");
-
- File(BigInteger size, BigInteger strip, int width, int replicas)
- {
- this.size = size;
- this.strip = strip;
- this.width = width;
- this.replicas = replicas;
-
- id = unique++;
- }
-
- void link(Collection<Gob> objects)
- {
- this.objects = objects;
- }
-
- /**
- What is the size of the ith object for this File?
- */
- BigInteger objectSize(int i)
- {
- BigInteger strips =
- BigInteger.valueOf(round(ceil(size.doubleValue() /
- strip.doubleValue())));
- BigInteger bw = BigInteger.valueOf(width);
- BigInteger extras = strips.mod(bw);
- BigInteger bi = BigInteger.valueOf(i);
- BigInteger s = strips.divide(bw);
- if (bi.compareTo(extras) < 0)
- s = s.add(BigInteger.ONE);
- return s.multiply(strip);
- }
-
- public String toString()
- {
- StringBuilder sb = new StringBuilder(128);
- stringBasics(sb);
- return sb.toString();
- }
-
- public String toStringObjects(Simulator simulator)
- {
- int n = 0;
- if (objects != null)
- n = objects.size();
- StringBuilder sb = new StringBuilder(128+n*16);
- stringBasics(sb);
- if (objects != null)
- {
- sb.append(": ");
- for (Gob object : objects)
- {
- String s = object.toString(simulator);
- sb.append(s).append(" ");
- }
- }
- return sb.toString();
- }
-
- public String toStringObjects()
- {
- return toStringObjects(Simulator.current);
- }
-
- public void stringBasics(StringBuilder sb)
- {
- sb.append("file[").append(id).append("]");
- sb.append("(").append(toString(size));
- sb.append(" @ ").append(replicas);
- sb.append(")");
- }
-
- public static String toString(BigInteger b)
- {
- String result = null;
-
- String unit = null;
- BigInteger factor = BigInteger.ZERO;
-
- for (BigInteger i : FileFactory.bytes.keySet())
- {
- if (b.compareTo(i) >= 0)
- {
- factor = i;
- unit = FileFactory.bytes.get(i);
- break;
- }
- }
-
- if (factor.compareTo(BigInteger.ZERO) == 0)
- {
- return "0B";
- }
-
- double s = b.doubleValue();
- double f = factor.doubleValue();
- double quantity = s/f;
- DecimalFormat tf = null;
- if (quantity < 10)
- tf = df;
- else
- tf = ff;
-
- result = tf.format(quantity)+unit;
- return result;
- }
-
- /**
- Debugging only.
- */
- public static void main(String[] args)
- {
- File file = new File(BigInteger.valueOf(0),
- BigInteger.valueOf(3), 3, 1);
- System.out.println(file.objectSize(0));
- System.out.println(file.objectSize(1));
- System.out.println(file.objectSize(2));
- }
-}
diff --git a/sim/gobs/src/gobs/sim/FileFactory.java b/sim/gobs/src/gobs/sim/FileFactory.java
deleted file mode 100644
index 5da0dff..0000000
--- a/sim/gobs/src/gobs/sim/FileFactory.java
+++ /dev/null
@@ -1,63 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-import java.util.*;
-
-import static java.lang.Math.*;
-
-/**
- * File distribution factory.
- * */
-
-public abstract class FileFactory
-{
- public abstract File get();
- public abstract BigInteger getSize();
-
- // Some reusable numbers:
-
- /**
- A kibibyte.
- */
- public static double kb = 1024.0;
-
- /**
- A mebibyte.
- */
- public static double mb = pow(1024, 2);
-
-
- /**
- A gibibyte.
- */
- public static double gb = pow(1024, 3);
-
- /**
- A tebibyte.
- */
- public static double tb = pow(1024, 4);
-
- /**
- A pebibyte.
- */
- public static double pb = pow(1024, 5);
-
- public static BigInteger B = BigInteger.ONE;
- public static BigInteger KB = BigInteger.valueOf(1024);
- public static BigInteger MB = KB.multiply(KB);
- public static BigInteger GB = MB.multiply(KB);
- public static BigInteger TB = GB.multiply(KB);
- public static BigInteger PB = TB.multiply(KB);
- public static Map<BigInteger,String> bytes =
- new LinkedHashMap<BigInteger,String>();
- static
- {
- bytes.put(PB, "PB");
- bytes.put(TB, "TB");
- bytes.put(GB, "GB");
- bytes.put(MB, "MB");
- bytes.put(KB, "KB");
- bytes.put(B, "B");
- }
-}
diff --git a/sim/gobs/src/gobs/sim/FileSizeComparator.java b/sim/gobs/src/gobs/sim/FileSizeComparator.java
deleted file mode 100644
index b8f9d89..0000000
--- a/sim/gobs/src/gobs/sim/FileSizeComparator.java
+++ /dev/null
@@ -1,18 +0,0 @@
-
-package gobs.sim;
-
-import java.util.Comparator;
-
-public class FileSizeComparator
- implements Comparator<File>
-{
- public boolean equals(File f1, File f2)
- {
- return (f1.size.equals(f2.size));
- }
-
- public int compare(File f1, File f2)
- {
- return f1.size.compareTo(f2.size);
- }
-}
diff --git a/sim/gobs/src/gobs/sim/Gob.java b/sim/gobs/src/gobs/sim/Gob.java
deleted file mode 100644
index 7c33193..0000000
--- a/sim/gobs/src/gobs/sim/Gob.java
+++ /dev/null
@@ -1,33 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-
-/**
- * Simulated Grayskull object.
- *
- * (Identifier "Object" is used by Java.)
- * */
-
-public abstract class Gob
- extends Addressable
-{
- /**
- Simulated size in bytes.
- */
- BigInteger size;
-
- /**
- Number of replicas, including primary.
- */
- int replicas;
-
- Gob(BigInteger id, BigInteger size, int replicas)
- {
- super(id);
- this.size = size;
- this.replicas = replicas;
- }
-
- abstract String toString(Simulator simulator);
-}
diff --git a/sim/gobs/src/gobs/sim/KClosest.java b/sim/gobs/src/gobs/sim/KClosest.java
deleted file mode 100644
index 2194113..0000000
--- a/sim/gobs/src/gobs/sim/KClosest.java
+++ /dev/null
@@ -1,217 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-import java.util.*;
-
-import gobs.util.BoundedSortedValues;
-import gobs.util.Entry;
-
-/**
- * Superclass for Placements that place secondaries
- * in a k-closest manner.
- * */
-
-abstract class KClosest
- extends Metric
-{
- KClosest(Simulator simulator, ReplicaSource source)
- {
- super(simulator, source);
- }
-
- /**
- Obtain a list of nodes that may host the given object
- with respect to the replica placement scheme used here.
- Ordered from farthest to closest, thus the last, closest
- site is the primary.
- */
- Sites sites(Gob object, List<Node> nodes)
- {
- Sites result = new Sites(object);
-
-
- BoundedSortedValues<Node,BigInteger> sorter =
- sites(object.id, nodes, object.replicas);
- List<Node> list = sorter.get();
-
- /*
- List<Node> list = sites(object.id, nodes, object.replicas);
- */
- boolean first = true;
- for (Iterator<Node> it = list.iterator(); it.hasNext(); )
- {
- Node node = it.next();
- if (first)
- {
- result.last(node);
- first = false;
- }
- else if (it.hasNext())
- {
- result.secondary(node);
- }
- else
- {
- result.primary(node);
- }
- }
- return result;
- }
-
-
- BoundedSortedValues<Node,BigInteger>
- sites(BigInteger id, List<Node> nodes, int count)
- {
- BoundedSortedValues<Node,BigInteger> sorter =
- new BoundedSortedValues<Node,BigInteger>(count);
-
- for (Node node : nodes)
- {
- BigInteger d = distance(id, node.id);
- sorter.add(node, d);
- }
-
- return sorter;
- }
-
- /*
- List<Node>
- sites(BigInteger id, List<Node> nodes, int count)
- {
- Entry<Node,BigInteger>[] best = new Entry[count];
- for (int i = 0; i < nodes.size(); i++)
- {
- Entry<Node,BigInteger> n = null;
- Node node = nodes.get(i);
- BigInteger d = distance(id, node.id);
- int j = 0;
- if (best[0] == null)
- {
- n = new Entry<Node,BigInteger>(node, d);
- while (j < count && best[j] == null)
- {
- j++;
- }
- best[--j] = n;
- }
- if (n == null)
- {
- Entry<Node,BigInteger> entry = best[0];
- BigInteger c = entry.getValue();
- if (d.compareTo(c) < 0)
- {
- n = new Entry<Node,BigInteger>(node, d);
- best[0] = n;
- }
- }
- if (n == null)
- continue;
- // Bubble:
- for ( ; j < count-1; j++)
- {
- Entry<Node,BigInteger> entry = best[j+1];
- BigInteger c = entry.value;
- if (d.compareTo(c) < 0)
- {
- best[j] = best[j+1];
- best[j+1] = n;
- }
- }
- }
- List<Node> result = new ArrayList<Node>();
- for (Entry<Node,BigInteger> entry : best)
- if (entry != null)
- result.add(entry.thing);
- return result;
- }
- */
-
- public void register(Node node)
- {
- return;
- /*
- for (Node target : simulator.nodes)
- {
- if (node != target)
- register(target, node);
- }
- BoundedSortedValues<Node,BigInteger> sorter =
- new BoundedSortedValues<Node,BigInteger>(10);
- for (Node target : simulator.nodes)
- {
- BigInteger d = distance(target.id,node.id);
- sorter.add(target, d);
- }
- node.neighbors.clear();
- for (Iterator<Node> it = sorter.things(); it.hasNext(); )
- {
- Node n = it.next();
- node.neighbors.add(n);
- }
- */
- }
-
- void register(Node target, Node node)
- {
- BoundedSortedValues<Node,BigInteger> sorter =
- new BoundedSortedValues<Node,BigInteger>(10);
- for (Node n : target.neighbors)
- {
- BigInteger d = distance(target.id,n.id);
- sorter.add(n, d);
- }
- BigInteger d = distance(target.id,node.id);
- sorter.add(node, d);
-
- target.neighbors.clear();
- for (Iterator<Node> it = sorter.things(); it.hasNext(); )
- {
- Node n = it.next();
- target.neighbors.add(n);
- }
- }
-
- public void drop(Node node)
- {
- for (Node target : node.neighbors)
- {
- drop(target, node);
- }
- }
-
- void drop(Node target, Node node)
- {
- target.neighbors.remove(node);
-
- Set<Node> set = new LinkedHashSet<Node>();
- for (Node neighbor : target.neighbors)
- set.addAll(neighbor.neighbors);
-
- Node result = closest(target, set);
- target.neighbors.add(result);
- }
-
- Node closest(Node node, Collection<Node> nodes)
- {
- Node result = null;
- BigInteger min = M;
- for (Node n : nodes)
- {
- BigInteger d = distance(node.id, n.id);
- if (d.compareTo(min) < 0)
- {
- min = d;
- result = n;
- }
- }
- return result;
- }
-
- public boolean share(Node node1, Node node2)
- {
- // boolean b = node1.neighbors.contains(node2);
- // return b;
- return true;
- }
-}
diff --git a/sim/gobs/src/gobs/sim/Kademlia.java b/sim/gobs/src/gobs/sim/Kademlia.java
deleted file mode 100644
index e119fc1..0000000
--- a/sim/gobs/src/gobs/sim/Kademlia.java
+++ /dev/null
@@ -1,37 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-import gobs.util.Tools;
-
-/**
- * Places objects on the nearest node using the XOR distance metric.
- * */
-
-public class Kademlia
- extends KClosest
-{
- Kademlia(Simulator simulator, ReplicaSource source)
- {
- super(simulator, source);
- }
-
- public BigInteger distance(BigInteger id1, BigInteger id2)
- {
- return id1.xor(id2);
- }
-
- /**
- XOR calculator.
- */
- public static void main(String[] args)
- {
- if (args.length < 2)
- Tools.bail("Need 2 binary numbers!");
-
- BigInteger i1 = new BigInteger(args[0], 2);
- BigInteger i2 = new BigInteger(args[1], 2);
-
- System.out.println(i2.xor(i1));
- }
-}
diff --git a/sim/gobs/src/gobs/sim/LayoutScheme.java b/sim/gobs/src/gobs/sim/LayoutScheme.java
deleted file mode 100644
index ec28942..0000000
--- a/sim/gobs/src/gobs/sim/LayoutScheme.java
+++ /dev/null
@@ -1,24 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-import java.util.List;
-
-/**
- * LayoutSchemes generate object ids within a file.
- * */
-
-abstract class LayoutScheme
-{
- int B;
- BigInteger M;
-
- LayoutScheme(int B)
- {
- this.B = B;
- BigInteger two = new BigInteger("2");
- M = two.pow(B);
- }
-
- abstract List<SingleObject> generate(int fileSize, int objSize);
-}
diff --git a/sim/gobs/src/gobs/sim/Metric.java b/sim/gobs/src/gobs/sim/Metric.java
deleted file mode 100644
index 75bc92d..0000000
--- a/sim/gobs/src/gobs/sim/Metric.java
+++ /dev/null
@@ -1,205 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-import java.util.*;
-
-import gobs.util.Tools;
-
-/**
- * Superclass for Placements with some concept of
- * a distance metric.
- * */
-
-public abstract class Metric
- extends Replicated
-{
- Metric(Simulator simulator, ReplicaSource source)
- {
- super(simulator, source);
- }
-
- public abstract BigInteger distance(BigInteger id1, BigInteger id2);
-
- /**
- Find the closest Node to this id.
- */
- public Node lookup(BigInteger id, Sites sites)
- {
- return lookup(id, sites.get());
- }
-
- public Node lookup(BigInteger id, Collection<Node> nodes)
- {
- Node result = null;
- BigInteger diff = null;
-
- for (Node node : nodes)
- if (diff == null ||
- distance(id, node.id).compareTo(diff) < 0)
- {
- result = node;
- diff = distance(id, node.id);
- }
-
- return result;
- }
-
- public Node lookup(BigInteger id)
- {
- return lookup(id, simulator.nodes);
- }
-
- /**
- Return the Copy that is prescribed for this object.
- May return null.
- */
- Copy regimen(SingleObject object, List<Node> system)
- {
- simulator.print("rebuilds", "regimen: " + object);
- Sites sites = sites(object, system);
- // The node that should have the primary in the current system
- Node primaryNode = sites.primary();
- // The node that currently holds the primary
- Node primaryLocation = locatePrimaryObject(object, sites);
- Node source = removeSource(object, sites);
-
- if (source == null)
- {
- System.out.println("no source: " + object);
- System.out.println("sites: " + sites);
- source = simulator.scanObject(object);
- System.out.println("source: " + source);
- }
-
- if (source == null)
- {
- simulator.lost(object);
- return null;
- }
-
- if (simulator.enabled("regimen.skip"))
- {
- simulator.print("rebuilds", "regimen: skip");
- return null;
- }
-
- Copy result = regimen(object, primaryNode, primaryLocation,
- source, sites);
- // assert (result != null);
- if (result != null)
- logCopy(result);
- return result;
- }
-
- /**
- Locate the Primary node if it holds the Primary.
- Else returns null.
- Assumes sites is sorted and that the Primary is last.
- */
- Node locatePrimaryObject(SingleObject object, Sites sites)
- {
- Node result = sites.primary();
- if (result.containsPrimary(object.id))
- return result;
- return null;
- }
-
- /**
- Return the primary node from sites, regardless of what objects
- it holds.
- Returns null if sites is empty.
- */
- /*
- Node getPrimaryNode(SingleObject object, Sites sites)
- {
- return sites.primary();
- }
- */
-
- Node primary(Sites nodes)
- {
- /*List<Node> sites = sites(object, nodes);
- Node result = getPrimaryNode(object, sites);
- return result;
- */
- return nodes.primary();
- }
-
- /**
- Obtain the Copy.
- Returns null if there is no destination for the Object,
- which indicates that the Object is back to full replica count.
- @param primaryNode The node that should have the primary
- in the current system
- @param primaryLocation The node that currently holds the primary
- @param source The node from which to make the Copy
- @param sites The list of sites that should host the object
- */
- Copy regimen(SingleObject object,
- Node primaryNode, Node primaryLocation, Node source,
- Sites sites)
- {
- Node destination = null;
- SingleObject payload;
-
- if (object instanceof PrimaryObject)
- {
- if (primaryNode.contains(object.id))
- {
- if (! primaryNode.containsPrimary(object.id))
- {
- promote(primaryNode, object);
- payload = object.toSecondaryObject();
- }
- if (! (object instanceof SecondaryObject))
- {
- object = object.toSecondaryObject();
- }
- payload = object;
- destination = locateDestination(object, sites);
- }
- else
- {
- destination = primaryNode;
- payload = object;
- }
- }
- else
- {
- if (primaryLocation != null)
- {
- PrimaryObject primary =
- (PrimaryObject) primaryLocation.get(object.id);
- payload = object.toSecondaryObject(primary);
- destination = locateDestination(object, sites);
- }
- else
- {
- destination = sites.primary();
- payload = object.toPrimaryObject();
- }
- }
-
- if (destination == null)
- {
- simulator.print("rebuilds", "no destination: " + object);
- return null;
- }
-
- if (payload == null ||
- source == null)
- Tools.bail("regimen(): could not handle: " + object);
-
- return new Copy(simulator, Cause.FAULT, payload,
- source, destination);
- }
-
- void logCopy(Copy copy)
- {
- if (copy == null)
- return;
-
- printRebuild(copy.object, copy.source, copy.destination);
- }
-}
diff --git a/sim/gobs/src/gobs/sim/Nearest.java b/sim/gobs/src/gobs/sim/Nearest.java
deleted file mode 100644
index c84823d..0000000
--- a/sim/gobs/src/gobs/sim/Nearest.java
+++ /dev/null
@@ -1,63 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-import gobs.util.Tools;
-
-/**
- * Places objects on the nearest node using the XOR distance metric.
- * */
-
-public class Nearest
- extends KClosest
-{
- Nearest(Simulator simulator, ReplicaSource source)
- {
- super(simulator, source);
- }
-
- public BigInteger distance(BigInteger id1, BigInteger id2)
- {
- return difference(M, id1, id2);
- }
-
- public BigInteger difference(BigInteger M,
- BigInteger i1, BigInteger i2)
- {
- BigInteger a,b;
-
- if (i1.compareTo(i2) < 0)
- {
- a = i1;
- b = i2;
- }
- else
- {
- a = i2;
- b = i1;
- }
-
- BigInteger d1 = b.subtract(a);
- BigInteger d2 = M.subtract(b).add(a);
-
- return (d2.compareTo(d1) < 0) ? d2 : d1;
- }
-
- /**
- Wrap-around calculator.
- */
- public static void main(String[] args)
- {
- if (args.length < 2)
- Tools.bail("Need 2 binary numbers!");
-
- BigInteger M = new BigInteger("10");
-
- Nearest nearest = new Nearest(null, ReplicaSource.PRIMARY);
-
- BigInteger i1 = new BigInteger(args[0]);
- BigInteger i2 = new BigInteger(args[1]);
-
- System.out.println(nearest.difference(M,i1,i2));
- }
-}
diff --git a/sim/gobs/src/gobs/sim/Node.java b/sim/gobs/src/gobs/sim/Node.java
deleted file mode 100644
index 753d36b..0000000
--- a/sim/gobs/src/gobs/sim/Node.java
+++ /dev/null
@@ -1,438 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-import java.util.*;
-
-import gobs.util.Bits;
-import gobs.util.Tools;
-
-/**
- * Simulates an object store.
- *
- * Current Fault model: A Node that is down may have lost
- * no OSDs or one OSD. A Node that is down will not lose
- * other OSDs while down.
- * */
-
-public class Node
- extends Addressable
-{
- Simulator simulator;
-
- /**
- Object stores.
- */
- public OSD[] osd;
-
- /**
- If a data loss fault has occurred, this will note the index
- of the failed OSD. Otherwise -1.
- */
- int failed = -1;
-
- /**
- Counter for number of pushes during rebuilds.
- */
- int pushes = 0;
-
- /**
- Counter for number of pulls during rebuilds.
- */
- int pulls = 0;
-
- /**
- Counter for number of user read/write accesses.
- */
- int accesses = 0;
-
- Status status = Status.UP;
-
- Set<Node> neighbors = new LinkedHashSet<Node>();
-
- Node(Simulator simulator, BigInteger id)
- {
- super(id);
- this.simulator = simulator;
-
- osd = new OSD[simulator.devicesPerNode];
- for (int i = 0; i < simulator.devicesPerNode; i++)
- osd[i] = new OSD();
- }
-
- enum Status
- {
- /**
- Normal operation
- */
- UP,
-
- /**
- Node is not available
- */
- DOWN,
-
- /**
- Node is down and will come back with missing data
- */
- ZAPPED
- }
-
- /**
- Add this object to a random OSD on this Node.
- */
- void add(Gob object)
- {
- int r = Bits.nextInt(simulator.devicesPerNode);
- add(r, object);
- }
-
- /**
- Add this object to the given OSD on this Node.
- @param d The OSD index.
- */
- void add(int d, Gob object)
- {
- assert(object != null);
- Tools.check(! contains(object.id),
- "Node.add(): " + id + " contains " +
- object.toString(Simulator.current) + "\n" +
- displayObjects());
- osd[d].put(object.id, object);
- }
-
- /**
- Return the index of the OSD that serves id.
- If not found, return -1.
- */
- int lookup(BigInteger id)
- {
- for (int i = 0; i < osd.length; i++)
- if (osd[i].status == OSD.Status.UP)
- if (osd[i].containsKey(id))
- return i;
- return -1;
- }
-
- /**
- @return An Gob with this id.
- */
- Gob get(BigInteger id)
- {
- int i = lookup(id);
- if (i >= 0)
- return osd[i].get(id);
- else
- return null;
- }
-
- /**
- Remove and return a Gob with this id.
- */
- Gob remove(BigInteger id)
- {
- int i = lookup(id);
- if (i >= 0)
- return osd[i].remove(id);
- else
- return null;
- }
-
- /**
- Delete the Object asserting it exists.
- Like {@link #remove}.
- */
- void delete(BigInteger id)
- {
- Gob object = remove(id);
- Tools.check(object != null, "Could not delete: " +
- "from node: " + this.id + "object: " + id);
- }
-
- /**
- Return a Collection of all of this Node's objects.
- */
- public Collection<BigInteger> keys()
- {
- Collection<BigInteger> result =
- new ArrayList<BigInteger>(count());
- for (OSD d : osd)
- result.addAll(d.keySet());
- return result;
- }
-
- /**
- Return a Collection of all of this Node's objects.
- */
- public Collection<Gob> collection()
- {
- Collection<Gob> result = new ArrayList<Gob>(count());
- for (OSD d : osd)
- result.addAll(d.values());
- return result;
- }
-
- /**
- Tell this Node to fail.
- */
- void fail(boolean dataLost)
- {
- if (dataLost)
- {
- status = Status.ZAPPED;
- failed = damage();
- osd[failed].status = OSD.Status.DOWN;
- }
- else
- status = Status.DOWN;
- }
-
- /**
- After a Repair, remove all objects.
- @return A Set of Copies to be performed to restore this Node,
- or null if there is nothing to do.
- */
- Set<Copy> reboot(Repair repair)
- {
- Set<Copy> copies = null;
- simulator.down.remove(this);
- simulator.nodes.add(this);
- simulator.placer.register(this);
-
- if (status == Status.ZAPPED)
- simulator.print("rebuilds", "reboot(zapped): " + this);
- else
- simulator.print("rebuilds", "reboot(clean): " + this);
-
- for (Gob object : collection())
- repair.rebuild.validate(object, this);
-
- if (status == Status.ZAPPED)
- {
- osd[failed].status = OSD.Status.UP;
- copies = rejoin(repair);
- failed = -1;
- }
-
- status = Status.UP;
- return copies;
- }
-
- /**
- Rejoin the cluster.
- */
- Set<Copy> rejoin(Repair repair)
- {
- // Ensure no Object is being copied twice simultaneously
- Set<BigInteger> ids = new HashSet<BigInteger>();
- Set<Copy> copies = new LinkedHashSet<Copy>();
- for (Node other : simulator.nodes)
- {
- if (other.equals(this))
- continue;
- if (! simulator.placer.share(this, other))
- continue;
-
- Collection<Gob> objects = other.collection();
- for (Gob object : objects)
- {
- Sites sites = simulator.placer.sites(object);
- if (sites.contains(this) &&
- (!contains(object.id)) &&
- ids.add(object.id))
- {
- Node source = simulator.placer.removeSource(object, sites);
- if (source == null)
- {
- System.out.println("no source: " + object);
- System.out.println("sites: " + sites);
- source = simulator.scanObject(object);
- }
- Copy copy = new Copy(simulator, Cause.REPAIR,
- object, source, this);
- simulator.print("rebuilds", "rejoin: " + copy);
- copies.add(copy);
- repair.add(copy);
- }
- }
- }
- return copies;
- }
-
- /**
- Start using this Node as a Copy source.
- */
- void startStreamFrom(Copy copy)
- {
- int i = lookup(copy.object.id);
- assert(osd[i].load == OSD.Load.IDLE);
- osd[i].load = OSD.Load.BUSY;
- }
-
- /**
- Start using this Node as a Copy sink.
- */
- void startStreamTo(Copy copy)
- {
- assert(osd[copy.index].load == OSD.Load.IDLE);
- osd[copy.index].load = OSD.Load.BUSY;
- }
-
- /**
- Stop using this Node as a Copy source.
- */
- void stopStreamFrom(Copy copy)
- {
- int i = lookup(copy.object.id);
- if (i < 0)
- {
- System.out.println(displayObjects());
- Tools.bail("stopStreamFrom(): " + copy.object + " => " + i + "\n" +
- "nodes left: " + simulator.nodes.size());
- }
- assert(osd[i].load == OSD.Load.BUSY);
- osd[i].load = OSD.Load.IDLE;
- }
-
- /**
- Start using this Node as a Copy sink.
- */
- void stopStreamTo(Copy copy)
- {
- assert(osd[copy.index].load == OSD.Load.BUSY);
- osd[copy.index].load = OSD.Load.IDLE;
- }
-
- /**
- Is the OSD serving Gob with id busy?
- */
- boolean busy(BigInteger id)
- {
- int i = lookup(id);
- assert(i >= 0);
- return (osd[i].load == OSD.Load.BUSY);
- }
-
- /**
- Does this Node have an OSD available for a write?
- If yes, return the index of that OSD.
- Else, return -1.
- */
- int busy()
- {
- int r = Bits.nextInt(osd.length);
- for (int i = 0; i < osd.length; i++)
- {
- int d = (r+i)%osd.length;
- if (osd[d].load == OSD.Load.IDLE)
- return d;
- }
- return -1;
- }
-
- /**
- Simulate a disk failure.
- @return The index of the lost OSD.
- */
- int damage()
- {
- int r = Bits.nextInt(simulator.devicesPerNode);
- osd[r].clear();
- return r;
- }
-
- /**
- Remove data from all OSDs.
- */
- void clear()
- {
- for (OSD d : osd)
- d.clear();
- }
-
- /**
- @return true iff this node has an object with the given id.
- */
- boolean contains(BigInteger id)
- {
- int i = lookup(id);
- boolean b = (i >= 0);
- return b;
- }
-
- /**
- @return true iff this node has a Primary with the given id.
- */
- boolean containsPrimary(BigInteger id)
- {
- Gob object = get(id);
- if (object == null)
- return false;
- if (object instanceof PrimaryObject ||
- object instanceof PrimaryStrip)
- return true;
- return false;
- }
-
- String loadReport(int B)
- {
- return bitString(B) + " " + count();
- }
-
- public String displayObjects()
- {
- return displayObjects(Simulator.current);
- }
-
- public String displayObjects(Simulator simulator)
- {
- StringBuffer result = new StringBuffer(count()*32);
- result.append(name(simulator));
- result.append(":\n");
- for (int i = 0; i < osd.length; i++)
- {
- result.append("\tOSD[" + i + "]: ");
- for (BigInteger j : osd[i].keySet())
- {
- Gob object = get(j);
- result.append(object.toString(simulator)).append(" ");
- }
- result.append("\n");
- }
- return result.toString();
- }
-
- public String displayNeighbors()
- {
- return displayNeighbors(Simulator.current);
- }
-
- public String displayNeighbors(Simulator simulator)
- {
- StringBuffer result = new StringBuffer(count()*32);
-
- result.append("NEIGHBORS: ").append(name(simulator));
- for (Node node : neighbors)
- result.append("\t").append(node).append("\n");
-
- return result.toString();
- }
-
- public int count()
- {
- int result = 0;
- for (OSD d : osd)
- result += d.size();
- return result;
- }
-
- public String toString(Simulator simulator)
- {
- return name(simulator);
- }
-
- public String toString()
- {
- return id.toString();
- }
-}
\ No newline at end of file
diff --git a/sim/gobs/src/gobs/sim/NodeFactory.java b/sim/gobs/src/gobs/sim/NodeFactory.java
deleted file mode 100644
index 82be327..0000000
--- a/sim/gobs/src/gobs/sim/NodeFactory.java
+++ /dev/null
@@ -1,24 +0,0 @@
-
-package gobs.sim;
-
-import java.util.*;
-
-/**
- * Generates node addresses.
- * */
-
-public abstract class NodeFactory
-{
- Simulator simulator;
-
- NodeFactory(Simulator simulator)
- {
- this.simulator = simulator;
- }
-
- /**
- Generate <tt>count</tt> new nodes and place them in
- <tt>nodes</tt>.
- */
- public abstract void generate(int count, List<Node> nodes);
-}
diff --git a/sim/gobs/src/gobs/sim/OSD.java b/sim/gobs/src/gobs/sim/OSD.java
deleted file mode 100755
index 616a19f..0000000
--- a/sim/gobs/src/gobs/sim/OSD.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package gobs.sim;
-
-import java.math.BigInteger;
-import java.util.LinkedHashMap;
-
-/**
- Simulate a disk or RAID array.
- */
-public class OSD extends LinkedHashMap<BigInteger,Gob>
-{
- Status status = Status.UP;
-
- Load load = Load.IDLE;
-
- enum Load
- {
- IDLE, BUSY
- }
-
- enum Status
- {
- UP, DOWN, LOCALREBUILD
- }
-
- static final long serialVersionUID = 1;
-}
diff --git a/sim/gobs/src/gobs/sim/Object.java b/sim/gobs/src/gobs/sim/Object.java
deleted file mode 100644
index 99632dd..0000000
--- a/sim/gobs/src/gobs/sim/Object.java
+++ /dev/null
@@ -1,31 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-
-/**
- * Tags objects.
- * */
-
-public abstract class Object
- extends Addressable
-{
- /**
- Simulated size in bytes.
- */
- int size;
-
- /**
- Number of replicas, including primary.
- */
- int replicas;
-
- Object(BigInteger id, int size, int replicas)
- {
- super(id);
- this.size = size;
- this.replicas = replicas;
- }
-
- abstract String toString(Simulator simulator);
-}
diff --git a/sim/gobs/src/gobs/sim/ObjectStrip.java b/sim/gobs/src/gobs/sim/ObjectStrip.java
deleted file mode 100644
index c0e5155..0000000
--- a/sim/gobs/src/gobs/sim/ObjectStrip.java
+++ /dev/null
@@ -1,47 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-
-/**
- * Simulates a part of striped object.
- * */
-
-class ObjectStrip
- extends Gob
-{
- /**
- The strip number. A striped object with strip width n
- will have object strips with numbers 0...n-1.
- */
- int number;
-
- ObjectStrip(BigInteger id, int number,
- BigInteger size, int replicas)
- {
- super(id, size, replicas);
- this.number = number;
- }
-
- PrimaryStrip toPrimaryStrip()
- {
- // return new Primary(B, id, size, replicas);
- return new PrimaryStrip(id, number, size, replicas);
- }
-
- SecondaryStrip toSecondaryStrip(PrimaryStrip primary)
- {
- // assert(primary instanceof PrimaryStrip);
- return new SecondaryStrip(id, number, size, replicas, primary);
- }
-
- public String toString(Simulator simulator)
- {
- return name(simulator) + "[" + number + "](" + size + ")";
- }
-
- public String toString()
- {
- return id.toString();
- }
-}
diff --git a/sim/gobs/src/gobs/sim/PDSIFiles.java b/sim/gobs/src/gobs/sim/PDSIFiles.java
deleted file mode 100644
index 1c8d987..0000000
--- a/sim/gobs/src/gobs/sim/PDSIFiles.java
+++ /dev/null
@@ -1,343 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-import java.util.*;
-import java.util.regex.*;
-
-import gobs.util.Bits;
-import gobs.util.Tools;
-
-import static java.lang.Math.*;
-
-/**
- * Produces mix of files similar to the results given in
- * the "Characterizing HEC Storage Systems at Rest" report
- * by Shobhit Dayal of the PDL, July 2008.
- *
- * If the file is smaller than 1MB, it is on a single strip,
- * else its width is the number of servers.
- *
- * If over 4MB, it has replica count 3, else replica count 3.
- *
- * Input is a 2-column array: e.g., [[0.2,1024][0.8,1M][1.0,1G]]
- * In this case, 20% of the files would have size 0,
- * 60% would have size in 1K-1M, and 20% would have size in 1M-1G.
- * Thus the first segment is implied ([[0.0,0]]).
- * The other ranges are interpolated in a piecewise exponential fashion;
- * the coefficients are stored in k and m.
- * */
-
-public class PDSIFiles
- extends FileFactory
-{
- /**
- Pattern for suffix matching in {@link #bytes}.
- */
- static Pattern pattern = Pattern.compile("[a-zA-Z]");
-
- /**
- Clone of original data points.
- */
- double[][] points;
-
- /**
- Interpolant coefficients for m*e^(kt).
- */
- double[] k;
-
- /**
- Interpolant coefficients for m*e^(kt).
- */
- double[] m;
-
- int nodes = -1;
-
- int disksPerNode = 0;
-
- int presetReplicas = 0;
-
- /**
- Obtain file distribution by interpolating points.
- @param points points(i,j) indicates that fraction i
- has size below j
- */
- public PDSIFiles(Properties properties, double[][] points)
- {
- this.points = copy2s(points);
-
- if (Tools.has(properties, "node.count"))
- nodes = Tools.integer(properties, "node.count");
- if (Tools.has(properties, "node.osds"))
- disksPerNode = Tools.integer(properties, "node.osds");
- if (Tools.has(properties, "file.replicas"))
- presetReplicas = Tools.integer(properties, "file.replicas");
-
- interpolate();
- }
-
- /**
- Obtain file distribution by interpolation points parsed from
- property PDSIFilesPoints.
- @param simulator Required only to get node count and property
- @see #parse
- */
- public PDSIFiles(Properties properties)
- {
- this(properties,
- parse(Tools.string(properties, "file.pdsi.points")));
- }
-
- /**
- Parse input data points for interpolation.
- Commas separate x,y numbers, semicolons separate
- pairs, suffixes K, M, G, T, are valid for kibi, mibi,
- gibi, and tebi-bytes.
- Example: "0.2,1024;1.0,1M" gives [[0.2][1024]][[1.0][1048576]].
- */
- public static double[][] parse(String data)
- {
- Map<Double,Double> map = new LinkedHashMap<Double,Double>();
- String[] pairs = data.split(";");
- for (String pair : pairs)
- {
- String[] vals = pair.split(",");
- double x = Double.parseDouble(vals[0]);
- double y = bytes(vals[1]);
- map.put(x,y);
- }
- double[][] result = new double[map.size()][2];
- int i = 0;
- for (Map.Entry<Double,Double> entry : map.entrySet())
- {
- result[i][0] = entry.getKey();
- result[i][1] = entry.getValue();
- if (result[i][1] == 0.0)
- throw new IllegalArgumentException
- ("PDSIFiles: Cannot interpolate 0!");
- i++;
- }
- return result;
- }
-
- /**
- Parse K, M, G, and T byte suffixes.
- Example: "3.1M" gives 3250586.0 .
- */
- static double bytes(String value)
- {
- Matcher m = pattern.matcher(value);
- String v = value;
- double s = 1.0;
- if (m.find())
- {
- String t = m.group();
- if (t.compareToIgnoreCase("K") == 0)
- s = kb;
- else if (t.compareToIgnoreCase("M") == 0)
- s = mb;
- else if (t.compareToIgnoreCase("G") == 0)
- s = gb;
- else if (t.compareToIgnoreCase("T") == 0)
- s = tb;
- else if (t.compareToIgnoreCase("P") == 0)
- s = pb;
- else
- Tools.bail("Unknown character: " + t);
- v = value.substring(0, value.length()-1);
- }
- double d = Double.parseDouble(v);
- return Math.round(d*s);
- }
-
- static void dumpPoints(double[][] points)
- {
- for (int i = 0; i < points.length; i++)
- System.out.println("" + i + ": " + points[i][0] + "," +
- points[i][1]);
- }
-
- double[][] copy2s(double[][] src)
- {
- double[][] dest = new double[src.length][];
-
- for (int i = 0; i < src.length; i++)
- {
- if (src[i].length != 2)
- throw new ArrayIndexOutOfBoundsException("Bad input!");
-
- dest[i] = new double[2];
- dest[i][0] = src[i][0];
- dest[i][1] = src[i][1];
- }
- return dest;
- }
-
- /**
- Coefficients k[i],m[i] interpolate between
- data points[i], points[i+1].
- */
- public void interpolate()
- {
- k = new double[points.length-1];
- m = new double[points.length-1];
-
- for (int i = 1; i < points.length; i++)
- {
- double p = points[i-1][0];
- double q = points[i][0];
-
- double a = points[i-1][1];
- double b = points[i][1];
-
- k[i-1] = log(b/a)/(q-p);
- m[i-1] = a/exp(k[i-1]*p);
-
- // System.out.println("k: " + k[i-1]);
- // System.out.println("m: " + m[i-1]);
- }
- }
-
- /**
- Produce piecewise linear interpolant between
- surrounding data points.
- */
- public File get()
- {
- if (nodes < 0)
- Tools.bail("PDSIFiles not set up properly!");
-
- BigInteger size = getSize();
-
- int width;
- BigInteger strip;
- int replicas;
- if (size.compareTo(BigInteger.valueOf((long) mb)) > 0)
- {
- BigInteger fourMB = MB.multiply(BigInteger.valueOf(4));
- BigInteger blocks = size.divide(fourMB).add(BigInteger.ONE);
- int disks = nodes * disksPerNode;
- BigInteger bigDisks = BigInteger.valueOf(disks);
- BigInteger bigWidth = blocks.min(bigDisks);
- width = bigWidth.intValue();
- strip = fourMB;
- replicas = 3;
- }
- else
- {
- width = 1;
- strip = size;
- replicas = 3;
- }
-
- if (presetReplicas > 0)
- replicas = presetReplicas;
-
- return new File(size, strip, width, replicas);
- }
-
- public BigInteger getSize()
- {
- double d = Bits.nextDouble();
- return eval(d);
- }
-
- BigInteger eval(double d)
- {
- BigInteger size = BigInteger.ZERO;
- if (d > points[0][0])
- {
- int i = range(d);
- double p = m[i-1]*exp(k[i-1]*d);
- size = BigInteger.valueOf(round(p));
- }
- return size;
- }
-
- int range(double d)
- {
- for (int i = 0; i < points.length; i++)
- {
- if (d < points[i][0])
- return i;
- }
- throw new ArrayIndexOutOfBoundsException("Bad input!");
- }
-
- /**
- Debugging only.
- */
- static void generateCount(PDSIFiles factory, long n)
- {
- for (int i = 0; i < n; i++)
- {
- File file = factory.get();
- System.out.println(i + ": " + file.size);
- // System.out.println(factory.eval(0.9999));
- }
- }
-
- /**
- Debugging only.
- */
- static void generateBytes(PDSIFiles factory, BigInteger n)
- {
- BigInteger total = BigInteger.ZERO;
- int i = 0;
- while (total.compareTo(n) < 0)
- {
- File file = factory.get();
- total = total.add(file.size);
- i++;
- }
- System.out.println("needed " + i + " files to produce " + n +
- " bytes");
- }
-
- public static void debugInterpolation(String[] args)
- {
- BigInteger n = new BigInteger(args[0]);
-
- Bits.init();
-
- Properties properties = new Properties();
-
- double[][] points = new double[5][2];
- points[0][0] = 0.2;
- points[0][1] = 2*1024;
- points[1][0] = 0.6;
- points[1][1] = 32.0*1024;
- points[2][0] = 0.90;
- points[2][1] = 1.0*1024*1024;
- points[3][0] = 0.99;
- points[3][1] = 64.0*1024*1024;
- points[4][0] = 1.0;
- points[4][1] = 1024.0*1024*1024*1024;
-
- PDSIFiles factory = new PDSIFiles(properties, points);
-
- // generateCount(n);
- generateBytes(factory, n);
- }
-
- public static void debugParse(String[] args)
- {
- String v = args[0];
-
- // double d = bytes(v);
- // System.out.println(d);
-
- double[][] p = parse(v);
-
- dumpPoints(p);
- }
-
- /**
- Debugging only.
- */
- public static void main(String[] args)
- {
- // debugInterpolation(args);
- debugParse(args);
- }
-}
diff --git a/sim/gobs/src/gobs/sim/ParallelRUSH.java b/sim/gobs/src/gobs/sim/ParallelRUSH.java
deleted file mode 100644
index 2679a09..0000000
--- a/sim/gobs/src/gobs/sim/ParallelRUSH.java
+++ /dev/null
@@ -1,231 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-import java.util.*;
-
-import gobs.util.Tools;
-
-/**
- * RUSH extension for parallel access to files
- * */
-
-public class ParallelRUSH
- extends Replicated
-{
- /**
- Must take care to manage state of this RNG,
- as it is used successively by several methods.
- */
- Random rng = new Random();
-
- /**
- The certainty that our primes are really prime.
- */
- int certainty = Integer.MAX_VALUE;
-
- /**
- @param simulator Reference to the Simulator
- @param source A ReplicaSource.
- */
- ParallelRUSH(Simulator simulator, ReplicaSource source)
- {
- super(simulator, source);
- }
-
- /**
- Generate an object set for a file.
- */
- public Collection<Gob>
- allocateFile(File file, List<Node> nodes)
- {
- ArrayList<Gob> result =
- new ArrayList<Gob>(file.width);
-
- BigInteger id = randomID();
- for (int i = 0; i < file.width; i++)
- {
- BigInteger bytes = file.objectSize(i);
- ObjectStrip obj =
- new ObjectStrip(id, i, bytes, file.replicas);
- result.add((Gob) obj);
- }
-
- result.trimToSize();
- return result;
- }
-
- void place(ObjectStrip object, List<Node> nodes)
- {
- // System.out.println("place: " + object);
- Sites sites = sites(object, nodes);
- simulator.stats.flexibilities.add(sites.size());
- PrimaryStrip primary = object.toPrimaryStrip();
- Node node = sites.removePrimary();
- node.add(primary);
- for (int i = object.replicas-1; i >= 0; i--)
- {
- if (sites.size() == 0)
- {
- System.out.println("ParallelRUSH.place(): " +
- "Could not place all replicas!");
- return;
- }
- node = sites.remove();
- node.add(object.toSecondaryStrip(primary));
- }
- }
-
- Sites sites(Gob object, List<Node> nodes)
- {
- if (object instanceof ObjectStrip)
- return sites((ObjectStrip) object, nodes);
- else
- throw new IllegalArgumentException
- ("Incorrect use of ParallelRUSH: " +
- "object must be an ObjectStrip.");
- }
-
- Sites sites(ObjectStrip object, List<Node> nodes)
- {
- Sites result = new Sites(object);
-
- Node last = lookup(object.id, object.number,
- object.replicas-1, object.replicas);
- if (nodes.contains(last))
- result.last(last);
-
- for (int r = object.replicas-2; r >= 1; r--)
- {
- Node node =
- lookup(object.id, object.number, r, object.replicas);
- if (nodes.contains(node))
- result.secondary(node);
- }
-
- Node primary =
- lookup(object.id, object.number, 0, object.replicas);
- if (nodes.contains(primary))
- result.primary(primary);
-
- return result;
- }
-
- /**
- <a href="http://wiki.mcs.anl.gov/radix/triton/index.php/Stripe_placement_and_rebuild…">From the wiki.</a>
-
- @param x The object id (key).
- @param i The strip number
- @param r The replica number (in [0,x.replicas)).
- @param R The number of replicas for x (x.replicas).
- */
- public Node lookup(BigInteger x, int i, int r, int R)
- {
- List<Node> nodes = simulator.nodes;
- int j = 0;
- rng.setSeed(x.longValue());
- advance(j);
- int z = rng.nextInt(nodes.size());
- int p = randomPrime(nodes.size());
- int m = nodes.size();
-
- BigInteger big_z = new BigInteger(""+z);
- BigInteger big_i = new BigInteger(""+i);
- BigInteger big_r = new BigInteger(""+r);
- BigInteger big_p = new BigInteger(""+p);
- BigInteger big_R = new BigInteger(""+R);
- BigInteger big_m = new BigInteger(""+m);
-
- BigInteger irjp = big_i.multiply(big_R).add(big_r)
- .multiply(big_p);
- BigInteger v = x.add(big_z).add(irjp);
- BigInteger z_ = big_z.add(irjp).mod(big_m);
-
- int index = -1;
- if (m >= R && z_.compareTo(big_m) < 0)
- index = v.mod(big_m).intValue();
- else if (m < R && z_.compareTo(big_R) < 0 &&
- v.mod(big_R).compareTo(big_m) < 0)
- index = v.mod(big_R).intValue();
- else
- Tools.bail("ParallelRUSH.lookup(): Error!");
-
- return nodes.get(index);
- }
-
- Copy regimen(SingleObject object, List<Node> nodes)
- {
- // place(object, nodes);
- return null;
- }
-
- /**
- Advance the class member rng by j steps.
- */
- void advance(int j)
- {
- for (int i = 0; i < j; j++)
- rng.nextInt();
- }
-
- /**
- Obtain a prime number in {@code [m,2m)}.
- */
- int randomPrime(int m)
- {
- int z;
- do
- z = rng.nextInt(m)+m;
- while (!isPrime(z));
- return z;
- }
-
- boolean isPrime(int z)
- {
- BigInteger i = new BigInteger(""+z);
- boolean result = i.isProbablePrime(certainty);
- return result;
- }
-
- /**
- Prime checker.
- */
- public static void main(String[] args)
- {
- if (args.length < 1)
- Tools.bail("Need 1 number!");
-
- int i = Integer.parseInt(args[0]);
-
- System.out.println("argument: " + i);
-
- Simulator simulator = new Simulator();
- RUSHp foop = new RUSHp(simulator, ReplicaSource.LAST);
-
- long start = System.currentTimeMillis();
- System.out.println("is prime? " + foop.isPrime(i));
- long stop = System.currentTimeMillis();
- System.out.println("took: " + (stop-start) + " millis");
- }
-
- @Override
- void drop(Node node)
- {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- void register(Node node)
- {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- boolean share(Node node1, Node node2)
- {
- // TODO Auto-generated method stub
- return true;
- }
-}
diff --git a/sim/gobs/src/gobs/sim/Placement.java b/sim/gobs/src/gobs/sim/Placement.java
deleted file mode 100644
index 7aee9e3..0000000
--- a/sim/gobs/src/gobs/sim/Placement.java
+++ /dev/null
@@ -1,263 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-import java.util.*;
-
-import gobs.util.*;
-
-/**
- * Interface to place a list of objects on a set of nodes.
- * */
-
-public abstract class Placement
-{
- Simulator simulator;
- BigInteger M;
-
- Placement(Simulator simulator)
- {
- this.simulator = simulator;
-
- BigInteger two = new BigInteger("2");
- M = two.pow(simulator.B);
- }
-
- /**
- Generate an object set for a file.
- */
- public abstract Collection<Gob> allocateFile(File file);
-
- /**
- Add this Node to the network.
- */
- abstract void register(Node node);
-
- /**
- This Node has left the network.
- */
- abstract void drop(Node node);
-
- /**
- Is it possible that these two nodes have replicas for the
- same Gob?
- */
- abstract boolean share(Node node1, Node node2);
-
- /**
- Obtain a Copy that will repair the loss of this Object.
- @return The Copy or null if the Object is lost.
- */
- Copy regimen(Gob object, List<Node> nodes)
- {
- Copy result;
- if (object instanceof SingleObject)
- result = regimen((SingleObject) object, nodes);
- else if (object instanceof ObjectStrip)
- result = regimen((ObjectStrip) object, nodes);
- else
- throw new IllegalArgumentException();
- return result;
- }
-
- /**
- Obtain a Copy that will repair the loss of this Object
- with respect to the current Simulator nodes.
- @return The Copy or null if the Object is lost.
- */
- Copy regimen(Gob object)
- {
- return regimen(object, simulator.nodes);
- }
-
- /**
- Obtain a Copy that will repair the loss of this SingleObject.
- */
- abstract Copy regimen(SingleObject object, List<Node> nodes);
-
- /**
- Obtain a Copy that will repair the loss of this ObjectStrip.
- */
- Copy regimen(ObjectStrip object, List<Node> nodes)
- {
- throw new UnsupportedOperationException
- ("regimen(ObjectStrip) not supported!");
- }
-
- /**
- Actually perform this Copy.
- */
- void copy(Copy copy)
- {
- if (simulator.enabled("debug.copies"))
- simulator.printNodeObjects(simulator.nodes);
- simulator.print("rebuilds", "perform: " + copy);
- copy.destination.add(copy.object);
- copy.source.pushes++;
- copy.destination.pulls++;
- }
-
- /**
- Simply place each object on a node.
- */
- public void place(Collection<Gob> objects,
- List<Node> nodes)
- {
- for (Gob object : objects)
- place(object, nodes);
- }
-
- /**
- Initial placement: allocate replicas for object and place
- on nodes.
- */
- public abstract void place(Gob object,
- List<Node> nodes);
-
- /**
- Obtain a list of nodes that may host the given object
- with respect to the replica placement scheme used here.
-
- Closest node should be last.
-
- @param nodes A subset of Simulator.nodes
- */
- abstract Sites sites(Gob object, List<Node> nodes);
-
- /**
- Obtain a list of nodes that may host the given object
- with respect to the replica placement scheme used here
- and the current Simulator node list.
-
- Closest node should be last.
- */
- Sites sites(Gob object)
- {
- return sites(object, simulator.nodes);
- }
-
- /*
- Locate the Primary node for object with respect to nodes,
- regardless of what objects it holds.
- Returns null if nodes is empty.
- */
- // abstract Node primary(Sites nodes);
-
- Node removeSource(Gob object, Sites sites)
- {
- if (object instanceof SingleObject)
- return removeSource((SingleObject) object, sites);
- throw new UnsupportedOperationException("Cannot do this yet!");
- }
-
- /**
- Locate a replica of the given object on one of the given nodes
- in accordance with the policy;
- remove and return that replica from sites.
- */
- abstract Node removeSource(SingleObject object, Sites sites);
-
- /**
- If node contains a Secondary for object,
- promote the object to a Primary and return it
- (as a Gob).
- Else return null.
- */
- Gob promote(Node node, Gob object)
- {
- Gob primary = null;
- Gob o = node.get(object.id);
- assert(o != null);
- if (o instanceof PrimaryObject ||
- o instanceof PrimaryStrip)
- return null;
-
- if (o instanceof SecondaryObject)
- {
- SecondaryObject so = (SecondaryObject) o;
- primary = so.toPrimaryObject();
- }
- else if (o instanceof SecondaryStrip)
- {
- SecondaryStrip so = (SecondaryStrip) o;
- primary = so.toPrimaryStrip();
- }
- else
- Tools.bail("Got unknown object!");
-
- int d = node.lookup(o.id);
- node.delete(o.id);
- node.add(d, primary);
- return primary;
- }
-
- /**
- If node contains a Primary for object,
- demote the object to a Secondary pointing to the given
- primary.
- If the node contains a Secondary, ensure that it points
- to the given primary.
- @param primaryNode The Node that contains the Primary
- */
- void demote(Node node, Gob object, Node primaryNode)
- {
- Gob p = primaryNode.get(object.id);
- Gob o = node.get(object.id);
- assert(p != null);
- if (o instanceof SecondaryObject)
- {
- PrimaryObject primary = (PrimaryObject) p;
- ((SecondaryObject) o).setPrimary(primary);
- return;
- }
- if (o instanceof SecondaryStrip)
- {
- PrimaryStrip primary = (PrimaryStrip) p;
- ((SecondaryStrip) o).setPrimary(primary);
- return;
- }
-
- Gob secondary = null;
- if (o instanceof PrimaryObject)
- {
- PrimaryObject primary = (PrimaryObject) p;
- secondary = ((PrimaryObject) o).toSecondaryObject(primary);
- }
- else if (o instanceof PrimaryStrip)
- {
- PrimaryStrip primary = (PrimaryStrip) p;
- secondary = ((PrimaryStrip) o).toSecondaryStrip(primary);
- }
-
- int d = node.lookup(o.id);
- node.delete(o.id);
- node.add(d, secondary);
- }
-
- void printRebuild(Gob object,
- Node source, Node destination)
- {
- if (simulator.bool("print.rebuilds"))
- System.out.println("rebuild: " + object.toString(simulator) +
- ": " +
- source.name(simulator) + " -> " +
- destination.name(simulator));
- }
-
- /**
- New id anywhere in the address space.
- */
- BigInteger randomID()
- {
- BigInteger i = new BigInteger(simulator.B, Bits.rng);
- return i;
- }
-
- /**
- New id in the i first ids in the address space.
- */
- BigInteger randomID(BigInteger i)
- {
- return new BigInteger(simulator.B, Bits.rng).mod(i);
- }
-}
diff --git a/sim/gobs/src/gobs/sim/PlainFiles.java b/sim/gobs/src/gobs/sim/PlainFiles.java
deleted file mode 100644
index ee508db..0000000
--- a/sim/gobs/src/gobs/sim/PlainFiles.java
+++ /dev/null
@@ -1,41 +0,0 @@
-
-package gobs.sim;
-
-import gobs.util.Tools;
-
-import java.math.BigInteger;
-import java.util.Properties;
-
-/**
- * Generates same file repeatedly.
- *
- * Required properties settings: filesize, filestrip,
- * filewidth, filereplicas.
- * */
-
-class PlainFiles
- extends FileFactory
-{
- BigInteger size;
- BigInteger strip;
- int width;
- int replicas;
-
- PlainFiles(Properties properties)
- {
- size = Tools.bigInteger(properties, "file.size");
- strip = Tools.bigInteger(properties, "file.strip");
- width = Tools.integer(properties,"file.width");
- replicas = Tools.integer(properties, "file.replicas");
- }
-
- public File get()
- {
- return new File(size, strip, width, replicas);
- }
-
- public BigInteger getSize()
- {
- return size;
- }
-}
diff --git a/sim/gobs/src/gobs/sim/PrimaryObject.java b/sim/gobs/src/gobs/sim/PrimaryObject.java
deleted file mode 100644
index 375e84e..0000000
--- a/sim/gobs/src/gobs/sim/PrimaryObject.java
+++ /dev/null
@@ -1,32 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-
-/**
- * Simulates a single primary object.
- * */
-
-class PrimaryObject
- extends SingleObject
-{
- PrimaryObject(BigInteger id, BigInteger size, int replicas)
- {
- super(id, size, replicas);
- }
-
- SecondaryObject toSecondaryObject()
- {
- return toSecondaryObject(this);
- }
-
- public String toString(Simulator simulator)
- {
- return name(simulator) + "[P](" + File.toString(size) + ")";
- }
-
- public String toString()
- {
- return toString(Simulator.current);
- }
-}
diff --git a/sim/gobs/src/gobs/sim/PrimaryStrip.java b/sim/gobs/src/gobs/sim/PrimaryStrip.java
deleted file mode 100644
index 1cb497f..0000000
--- a/sim/gobs/src/gobs/sim/PrimaryStrip.java
+++ /dev/null
@@ -1,23 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-
-/**
- * Simulates a primary object strip.
- * */
-
-class PrimaryStrip
- extends ObjectStrip
-{
- PrimaryStrip(BigInteger id, int number,
- BigInteger size, int replicas)
- {
- super(id, number, size, replicas);
- }
-
- public String toString(Simulator simulator)
- {
- return name(simulator) + "[P][" + number + "](" + size + ")";
- }
-}
diff --git a/sim/gobs/src/gobs/sim/Progress.java b/sim/gobs/src/gobs/sim/Progress.java
deleted file mode 100644
index 466f224..0000000
--- a/sim/gobs/src/gobs/sim/Progress.java
+++ /dev/null
@@ -1,7 +0,0 @@
-
-package gobs.sim;
-
-enum Progress
-{
- PROTO, RUNNING, DONE
-}
diff --git a/sim/gobs/src/gobs/sim/RAID.java b/sim/gobs/src/gobs/sim/RAID.java
deleted file mode 100755
index ee3ba24..0000000
--- a/sim/gobs/src/gobs/sim/RAID.java
+++ /dev/null
@@ -1,147 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-import java.text.DecimalFormat;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-
-import gobs.util.Tools;
-
-public class RAID
-{
- int data, parity;
- String spec;
-
- double size = -1;
- double speed;
-
- static DecimalFormat df = new DecimalFormat("0.0");
-
- public RAID(String spec)
- {
- this.spec = spec;
- scan(spec);
- }
-
- public RAID(String spec, double size, double speed)
- {
- this(spec);
- this.size = size;
- this.speed = speed;
- }
-
- public double computeMTTF(double mttf)
- {
- if (size < 0)
- Tools.bail("RAID not set up properly!");
- return computeMTTF(size, speed, mttf);
- }
-
- public double computeMTTF(double diskSize, double diskSpeed,
- double mttf)
- {
- double mttr = diskSize/diskSpeed;
- return computeMTTF(data, parity, mttf, mttr);
- }
-
- public static double computeMTTF(int data, int parity,
- double mttf, double mttr)
- {
- double result = 0;
-
- if (parity == 0)
- {
- result = mttf/data;
- }
- else
- {
- double mttfSmaller = computeMTTF(data, parity-1, mttf, mttr);
- result = mttfSmaller * mttf/((data+parity)*mttr);
- }
-
- return result;
- }
-
- /**
- Compute RAID MTTFs in String form given a list of
- disk MTTFs in String form.
- Useful for parameter sweeps.
- */
- public List<String> mttfValues(List<String> input)
- {
- List<String> result = new ArrayList<String>(input.size());
-
- for (String s : input)
- {
- double mttf = Double.parseDouble(s);
- double raidMTTF = computeMTTF(mttf);
- result.add(df.format(raidMTTF));
- }
-
- return result;
- }
-
- /**
- Given a workload and node properties,
- determine how many nodes should be used.
- Useful for parameter sweeps.
- */
- public int estimateNodes(Properties properties,
- int nodeDevices)
- {
- int nodes = -1;
- int files = Tools.integer(properties, "files");
- FileFactory factory = Simulator.setupFileFactory(properties);
-
- BigInteger total = BigInteger.ZERO;
- for (int i = 0; i < files; i++)
- {
- BigInteger size = factory.getSize();
- total = total.add(size);
- }
- System.out.println("ESTIMATE_FS: " + File.toString(total));
-
- int nodeDisks = nodeDevices * data;
- BigInteger nd = BigInteger.valueOf(nodeDisks);
- BigInteger ds = BigInteger.valueOf((long) size);
- BigInteger nodeSpace = nd.multiply(ds);
- nodes = total.divide(nodeSpace).add(BigInteger.ONE).intValue();
-
- return nodes;
- }
-
- public void scan(String input)
- {
- int i = input.indexOf("+");
- String s1 = input.substring(0, i);
- data = Integer.parseInt(s1);
- String s2 = input.substring(i+1);
- parity = Integer.parseInt(s2);
- }
-
- public int data()
- {
- return data;
- }
-
- public String toString()
- {
- return spec;
- }
-
- public static void main(String[] args)
- {
- double tb30 = 30.0 * Math.pow(10,12);
- double mb400 = 400.0 * Math.pow(10, 6);
- double day = 24*60*60;
- double yr = 365*day;
- RAID raid = new RAID(args[0], tb30, mb400);
- double yrs = Double.parseDouble(args[1]);
- double secs = yrs*yr;
- double mttf = raid.computeMTTF(secs);
- System.out.println("MTTF: " + mttf/yr);
- System.out.println("Disk: " + tb30/mb400/day);
- }
-}
diff --git a/sim/gobs/src/gobs/sim/RUSHp.java b/sim/gobs/src/gobs/sim/RUSHp.java
deleted file mode 100644
index d9b1515..0000000
--- a/sim/gobs/src/gobs/sim/RUSHp.java
+++ /dev/null
@@ -1,183 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-import java.util.*;
-
-import gobs.util.Tools;
-
-/**
- * Fast Online Object Placement
- * (Honicky and Miller, 2003)
- * */
-
-public class RUSHp
- extends Replicated
-{
- /**
- Must take care to manage state of this RNG,
- as it is used successively by several methods.
- */
- Random rng = new Random();
-
- /**
- The certainty that our primes are really prime.
- */
- int certainty = Integer.MAX_VALUE;
-
- /**
- @param simulator Reference to the Simulator
- @param source A ReplicaSource.
- */
- RUSHp(Simulator simulator, ReplicaSource source)
- {
- super(simulator, source);
- }
-
- Sites sites(Gob object, List<Node> nodes)
- {
- if (object instanceof SingleObject)
- return sites((SingleObject) object, nodes);
- else
- throw new IllegalArgumentException
- ("Incorrect use of RUSHp: " +
- "object must be an SingleObject.");
- }
-
- Sites sites(SingleObject object, List<Node> nodes)
- {
- Sites result = new Sites(object);
-
- Node last = lookup(object.id, object.replicas-1, object.replicas);
- if (nodes.contains(last))
- result.last(last);
-
- for (int i = 1; i <= object.replicas-2; i++)
- {
- Node node = lookup(object.id, i, object.replicas);
-
- if (nodes.contains(node))
- result.secondary(node);
- }
-
- Node primary = lookup(object.id, 0, object.replicas);
- if (nodes.contains(primary))
- result.primary(primary);
-
- return result;
- }
-
- /**
- Taken from paper Figure 3.
-
- @param x The object id (key).
- @param r The replica number (in [0,x.replicas)).
- @param R The number of replicas for x (x.replicas).
- */
- public Node lookup(BigInteger x, int r, int R)
- {
- List<Node> nodes = simulator.nodes;
- int j = 0;
- rng.setSeed(x.longValue());
- advance(j);
- int z = rng.nextInt(nodes.size());
- int p = randomPrime(nodes.size());
- int m = nodes.size();
-
- BigInteger big_z = new BigInteger(""+z);
- BigInteger big_r = new BigInteger(""+r);
- BigInteger big_p = new BigInteger(""+p);
- BigInteger big_R = new BigInteger(""+R);
- BigInteger big_m = new BigInteger(""+m);
-
- BigInteger rp = big_r.multiply(big_p);
- BigInteger v = x.add(big_z).add(rp);
- BigInteger z_ = big_z.add(rp).mod(big_m);
-
- int index = -1;
- if (m >= R && z_.compareTo(big_m) < 0)
- index = v.mod(big_m).intValue();
- else if (m < R && z_.compareTo(big_R) < 0 &&
- v.mod(big_R).compareTo(big_m) < 0)
- index = v.mod(big_R).intValue();
- else
- Tools.bail("FOOP.lookup(): Error!");
-
- return nodes.get(index);
- }
-
- Copy regimen(SingleObject object, List<Node> nodes)
- {
- // place(object, nodes);
- return null;
- }
-
- /**
- Advance the class member rng by j steps.
- */
- void advance(int j)
- {
- for (int i = 0; i < j; j++)
- rng.nextInt();
- }
-
- /**
- Obtain a prime number in {@code [m,2m)}.
- */
- int randomPrime(int m)
- {
- int z;
- do
- z = rng.nextInt(m)+m;
- while (!isPrime(z));
- return z;
- }
-
- boolean isPrime(int z)
- {
- BigInteger i = new BigInteger(""+z);
- return i.isProbablePrime(certainty);
- }
-
- /**
- Prime checker.
- */
- public static void main(String[] args)
- {
- if (args.length < 1)
- Tools.bail("Need 1 number!");
-
- int i = Integer.parseInt(args[0]);
-
- System.out.println("argument: " + i);
-
- Simulator simulator = new Simulator();
- RUSHp foop = new RUSHp(simulator, ReplicaSource.LAST);
-
- long start = System.currentTimeMillis();
- System.out.println("is prime? " + foop.isPrime(i));
- long stop = System.currentTimeMillis();
- System.out.println("took: " + (stop-start) + " millis");
- }
-
- @Override
- void drop(Node node)
- {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- void register(Node node)
- {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- boolean share(Node node1, Node node2)
- {
- // TODO Auto-generated method stub
- return true;
- }
-}
diff --git a/sim/gobs/src/gobs/sim/RandomFiles.java b/sim/gobs/src/gobs/sim/RandomFiles.java
deleted file mode 100644
index 992c806..0000000
--- a/sim/gobs/src/gobs/sim/RandomFiles.java
+++ /dev/null
@@ -1,82 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-import java.util.Properties;
-
-import gobs.util.Bits;
-import gobs.util.Tools;
-
-/**
- * Generates random files.
- *
- * Produces 50/50 mix of two file types: big and small.
- * Big files use strip=4MB.
- * Small files use strip=size.
- * Big files use filewidth.
- * Small files have width=1.
- * Big files use replicas=2.
- * Small files use replicas=3.
- *
- * Required properties settings: filewidth, filebigmax, filebigmin,
- * filesmallmax, filesmallmin.
- * */
-
-class RandomFiles
- extends FileFactory
-{
- BigInteger sizebigmax;
- BigInteger sizebigmin;
- BigInteger sizesmallmax;
- BigInteger sizesmallmin;
- BigInteger strip;
- int width;
- int replicas;
-
- static BigInteger fourMB;
-
- static
- {
- long mbl = Math.round(Math.floor(mb));
- fourMB = BigInteger.valueOf(2).multiply(BigInteger.valueOf(mbl));
- }
-
- RandomFiles(Properties properties)
- {
- sizebigmax = Tools.bigInteger(properties, "filebigmax");
- sizebigmin = Tools.bigInteger(properties, "filebigmin");
- sizesmallmax = Tools.bigInteger(properties, "filesmallmax");
- sizesmallmin = Tools.bigInteger(properties, "filesmallmin");
- strip = Tools.bigInteger(properties, "filestrip");
- width = Tools.integer(properties, "filewidth");
- }
-
- public File get()
- {
- File result;
- BigInteger size;
- if (Bits.nextBoolean())
- {
- // Big file:
- size = getSize();
- result = new File(size, fourMB, width, 2);
- }
- else
- {
- // Small file:
- size = Bits.nextBigInteger
- (sizesmallmax.subtract(sizesmallmin))
- .add(sizesmallmin);
- result = new File(size, size, 1, 3);
- }
- return result;
- }
-
- public BigInteger getSize()
- {
- BigInteger size =
- Bits.nextBigInteger(sizebigmax.subtract(sizebigmin))
- .add(sizebigmin);
- return size;
- }
-}
diff --git a/sim/gobs/src/gobs/sim/RandomNodes.java b/sim/gobs/src/gobs/sim/RandomNodes.java
deleted file mode 100644
index a0d60cb..0000000
--- a/sim/gobs/src/gobs/sim/RandomNodes.java
+++ /dev/null
@@ -1,40 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-import java.util.*;
-
-import gobs.util.*;
-
-/**
- * Places new nodes randomly without looking at existing nodes.
- * */
-
-class RandomNodes
- extends NodeFactory
-{
- RandomNodes(Simulator simulator)
- {
- super(simulator);
- }
-
- public void generate(int count, List<Node> nodes)
- {
- for (int i = 0; i < count; i++)
- {
- BigInteger id;
- Node node;
- int tries = 0;
- do
- {
- if (tries++ >= Simulator.maxTries)
- Tools.bail("Could not assign unique node id!");
-
- id = new BigInteger(simulator.B, Bits.rng);
- node = new Node(simulator, id);
- }
- while (nodes.contains(node));
- nodes.add(node);
- }
- }
-}
diff --git a/sim/gobs/src/gobs/sim/Rebuild.java b/sim/gobs/src/gobs/sim/Rebuild.java
deleted file mode 100644
index fbda591..0000000
--- a/sim/gobs/src/gobs/sim/Rebuild.java
+++ /dev/null
@@ -1,587 +0,0 @@
-
-package gobs.sim;
-
-import java.util.*;
-
-import gobs.util.*;
-
-/**
- Manages a rebuild after a fault.
- Is only executed {@link rebuild} once. Thus rebuild variables
- can logically be declared at class level.
-*/
-public class Rebuild
-{
- /**
- Historical schedule of Events.
- */
- @Deprecated
- NavigableSet<Event> schedule = null;
-
- /**
- Simulated time at which Rebuild started.
- */
- double start = -1;
-
- /**
- Simulated time at which Rebuild ended.
- */
- double finish = -1;
-
- /**
- Time taken to select the next copy.
- This must be large enough to differentiate
- all copies based on start time.
- */
- static double selectTime = 0.00001;
-
- Simulator simulator;
-
- /**
- The Queue of work to do.
- */
- Queue<Copy> queue = new ArrayDeque<Copy>();
-
- /**
- The repair in response to this Rebuild.
- */
- Repair repair;
-
- /**
- The fault that caused this Rebuild.
- */
- Fault fault;
-
- /**
- The fault that will occur after this Rebuild has started.
- May or may not interrupt this Rebuild.
- */
- Fault next;
-
- /**
- Copies caused by this Rebuild.
- */
- List<Copy> entries = new ArrayList<Copy>();
-
- /**
- True if data was lost during this Rebuild.
- */
- boolean dataLost = false;
-
- /**
- @param fault The fault that may interrupt this Rebuild.
- @param repair The Repair that repairs {@link fault}.
- */
- Rebuild(Simulator simulator, Fault fault, Fault next, Repair repair)
- {
- this.simulator = simulator;
- this.fault = fault;
- this.next = next;
- this.repair = repair;
- fault.rebuild(this);
- simulator.inflight.add(next);
- simulator.inflight.add(repair);
- }
-
- /**
- Actually perform the rebuild.
- Moves prescribed Copies from todo to inflight and schedule.
- @param work List of new work to do
- @return The time at which the next fault occurs
- */
- double rebuild(List<Copy> work)
- {
- start = simulator.time();
- enqueue(simulator.todo);
- add(work);
- entries.addAll(work);
- while (! (queue.isEmpty() && simulator.inflight.isEmpty()))
- {
- Copy copy = select(queue);
- if (copy != null)
- {
- startCopy(simulator.time(), copy);
- }
- else
- {
- // dumpInflight(inflight);
- boolean fault = popEvent();
- if (fault)
- break;
- }
- }
- finish = simulator.time();
- simulator.print("rebuilds", "REBUILD_TIME: " +
- Time.toString(finish-start));
- return finish;
- }
-
- /**
- Remove copy from todo and add to inflight.
- */
- void startCopy(double time, Copy copy)
- {
- simulator.todo.remove(copy);
- copy.startAt(time);
- copy.source.startStreamFrom(copy);
- copy.destination.startStreamTo(copy);
- Tools.check(simulator.inflight.add(copy),
- "Could not add to inflight!");
- }
-
- boolean popEvent()
- {
- Event event = pop();
- simulator.advanceTo(event.finish);
- /* if (simulator.bool("print.rebuilds"))
- System.out.println("event: " + event.log()); */
-
- if (event instanceof Copy)
- {
- completeCopy((Copy) event);
- }
- else if (event instanceof Repair)
- {
- completeRepair((Repair) event);
- }
- else if (event instanceof Fault)
- {
- if (simulator.bool("print.rebuilds"))
- System.out.println("INTERRUPTION!");
- return true;
- }
- return false;
- }
-
- Event pop()
- {
- Event result = simulator.inflight.pollFirst();
- Tools.check(result != null,
- "inflight.pollFirst(): null");
- return result;
- }
-
- /**
- Handle this Copy Event.
- @param event Actually a Copy
- */
- void completeCopy(Copy copy)
- {
- copy.source.stopStreamFrom(copy);
- copy.destination.stopStreamTo(copy);
- List<Copy> extras = performCopy(copy);
- add(extras);
- }
-
- /**
- Perform the Copy and validate it.
- Return any new work to do.
- */
- List<Copy> performCopy(Copy copy)
- {
- simulator.placer.copy(copy);
- List<Copy> extras = validate(copy.object, copy.destination);
- return extras;
- }
-
- /**
- Ensure that the replica count is restored.
- Remove extraneous replicas or return a new Copy if needed.
- @parameter object The object in question.
- @parameter node The node which holds the new or restored replica.
- @return The Copies needed.
- */
- List<Copy> validate(Gob object, Node node)
- {
- List<Copy> result = new ArrayList<Copy>();
-
- List<Node> stores = simulator.scanStorage(object, simulator.nodes);
- Sites holders = simulator.placer.sites(object, stores);
- Sites sites = simulator.placer.sites(object);
-
- ensurePrimary(object, holders);
-
- // Copy replicaCopy = ensureReplicas(object, holders, sites);
- List<Copy> siteCopies = ensureSites(object, sites);
-
- removeExtras(object, stores, sites);
-
- // if (replicaCopy != null)
- // result.add(replicaCopy);
- result.addAll(siteCopies);
-
- return result;
- }
-
- /**
- Ensure that there is one and only one current Primary
- for object.
- */
- void ensurePrimary(Gob object, Sites holders)
- {
- Node primaryNode = holders.primary();
- simulator.placer.promote(primaryNode, object);
- for (Node node : holders.get())
- if (! node.equals(primaryNode))
- simulator.placer.demote(node, object, primaryNode);
- }
-
- /*
- Ensure that the replica count for object is restored.
- */
- /*
- Copy ensureReplicas(Gob object,
- Sites holders, Sites sites)
- {
- if (holders.size() < sites.size())
- {
- Copy copy = simulator.placer.regimen(object);
- return copy;
- }
- return null;
- }
- */
-
- /**
- Ensure that sites that should hold this object do.
- */
- List<Copy> ensureSites(Gob object, Sites sites)
- {
- List<Copy> result = new ArrayList<Copy>();
-
- if (queued(object))
- return result;
-
- for (Node node : sites.get())
- if (! node.contains(object.id))
- {
- Copy copy = simulator.placer.regimen(object);
- if (copy != null)
- {
- copy.cause = Cause.VALIDATION;
- result.add(copy);
- }
- }
- return result;
- }
-
- boolean queued(Gob object)
- {
- for (Copy copy : queue)
- if (copy.object.equals(object))
- return true;
- for (Event event : simulator.inflight)
- if (event instanceof Copy)
- if (((Copy) event).object.equals(object))
- return true;
- return false;
- }
-
- void removeExtras(Gob object,
- List<Node> holders, Sites sites)
- {
- int hcount = holders.size();
- for (Node node : holders)
- {
- if (hcount <= sites.size())
- break;
- if (! sites.contains(node))
- {
-
- simulator.print("rebuilds",
- "removing extra: " + object +
- " on: " + node + "\n" +
- "holders: " + holders + "\n" +
- "sites: " + sites);
- failCopiesExtra(object, node);
- node.delete(object.id);
- hcount--;
- }
- }
- }
-
- void failCopiesExtra(Gob object, Node source)
- {
- for (Iterator<Copy> it = simulator.todo.iterator(); it.hasNext(); )
- {
- Copy copy = it.next();
- if (copy.object.equals(object) &&
- (copy.source.equals(source) ||
- copy.destination.equals(source)))
- {
- simulator.print("rebuilds", "stop copy from extra (todo): " +
- copy);
- it.remove();
- }
- }
-
- for (Iterator<Event> it = simulator.inflight.iterator(); it.hasNext(); )
- {
- Event event = it.next();
- if (! (event instanceof Copy))
- continue;
- Copy copy = (Copy) event;
- if (copy.object.equals(object) &&
- (copy.source.equals(source) ||
- copy.destination.equals(source)))
- {
- simulator.print("rebuilds",
- "stop copy from extra (inflight): " + copy);
- copy.source.stopStreamFrom(copy);
- copy.destination.stopStreamTo(copy);
- it.remove();
- }
- }
- }
-
- void completeRepair(Repair repair)
- {
- /* if (simulator.bool("print.rebuilds"))
- System.out.println(repair); */
- Node node = repair.node;
- Set<Copy> copies = node.reboot(repair);
- if (copies != null)
- for (Copy copy : copies)
- add(copy);
- }
-
- void add(Collection<Copy> copies)
- {
- List<Copy> result = new LinkedList<Copy>(copies);
- Collections.shuffle(result, Bits.rng);
- for (Copy copy : result)
- add(copy);
- }
-
- void add(Copy copy)
- {
- if (enqueue(copy))
- simulator.todo.add(copy);
- }
-
- void enqueue(Collection<Copy> copies)
- {
- List<Copy> result = new LinkedList<Copy>(copies);
- Collections.shuffle(result, Bits.rng);
- for (Copy copy : result)
- {
- boolean b = enqueue(copy);
- if (!b)
- copies.remove(copy);
- }
- }
-
- boolean enqueue(Copy copy)
- {
- if (copy == null)
- Tools.bail("Should not enqueue null Copy!");
- for (Iterator<Copy> it = queue.iterator(); it.hasNext(); )
- {
- Copy c = it.next();
- if (copy.destination.equals(c.destination) &&
- copy.object.equals(c.object))
- {
- simulator.print("rebuilds", "copy rejected: " + copy);
- return false;
- }
- }
- queue.add(copy);
- return true;
- }
-
- /**
- Compute the load from this Rebuild at absolute simulated time t.
- */
- public int loadAt(double t, Cause cause)
- {
- List<Copy> list = snapshotAt(t, cause);
- int result = list.size();
- return result;
- }
-
- /**
- Print snapshot of activity at time t.
- */
- public void printAt(double t, Cause cause)
- {
- List<Copy> list = snapshotAt(t, cause);
- for (Copy copy : list)
- System.out.println(copy);
- System.out.println("");
- }
-
- /**
- Return a list of Copies in flight at time t.
- @param t time
- @return The list.
- */
- public List<Copy> snapshotAt(double t, Cause cause)
- {
- List<Copy> result = new ArrayList<Copy>();
-
- if (cause == Cause.ANY ||
- cause == Cause.FAULT)
- for (Copy copy : entries)
- if (copy.start <= t &&
- copy.finish > t)
- result.add(copy);
-
- if (cause == Cause.ANY ||
- cause == Cause.REPAIR)
- for (Copy copy : repair.entries)
- if (copy.start <= t &&
- copy.finish > t)
- result.add(copy);
-
- return result;
- }
-
- /**
- Compute the load from this Rebuild at simulated time t relative
- to the start of this Rebuild.
- */
- public int loadOffset(double t)
- {
- return loadOffset(t+start, Cause.ANY);
- }
-
- /**
- Compute the load from this Rebuild at simulated time t relative
- to the start of this Rebuild.
- */
- public int loadOffset(double t, Cause cause)
- {
- return loadAt(t+start, cause);
- }
-
- public void printOffset(double t, Cause cause)
- {
- printAt(t+start, cause);
- }
-
- boolean busyAt(double t, Node node)
- {
- List<Copy> list = snapshotAt(t, Cause.ANY);
- for (Copy copy : list)
- {
- if (copy.source == node ||
- copy.destination == node)
- return true;
- }
- return false;
- }
-
- /**
- Simulated time at which this Rebuild started.
- */
- public double start()
- {
- return start;
- }
-
- /**
- Simulated time until all associated Copies
- (entries and Repair.entries) are complete.
- */
- public double length()
- {
- double result = 0.0;
- for (Copy copy : entries)
- {
- double t = copy.finish-start;
- if (t > result)
- result = t;
- }
- for (Copy copy : repair.entries)
- {
- double t = copy.finish-start;
- if (t > result)
- result = t;
- }
- return result;
- }
-
- /**
- Debugging only.
- */
- void dumpInflight(NavigableSet<Copy> inflight)
- {
- for (Iterator<Copy> it = inflight.iterator(); it.hasNext(); )
- {
- System.out.println("\t" + it.next());
- }
- }
-
- /*
- Randomly reorder the copies into a Queue.
- */
- /*
- Queue<Copy> order(Collection<Copy> copies)
- {
- LinkedList<Copy> result = new LinkedList<Copy>(copies);
- Collections.shuffle(result, Bits.rng);
- return result;
- }
- */
-
- /**
- Pull out a Copy to perform.
- Ensure that the Nodes involved are not busy.
- */
- Copy select(Queue<Copy> copies)
- throws NoSuchElementException
- {
- for (Iterator<Copy> it = copies.iterator(); it.hasNext(); )
- {
- Copy copy = it.next();
- assert(copy != null);
- if (copy.destination.contains(copy.object.id))
- {
- simulator.print("rebuilds", "unnecessary: " + copy);
- it.remove();
- simulator.todo.remove(copy);
- continue;
- }
- if (! copy.source.contains(copy.object.id))
- {
- simulator.print("rebuilds", "stale source: " + copy);
- it.remove();
- continue;
- }
- if (copy.source.busy(copy.object.id))
- continue;
-
- if (isInFlight(copy))
- {
- it.remove();
- continue;
- }
-
- int b = copy.destination.busy();
- if (b >= 0)
- {
- copy.index(b);
- it.remove();
- return copy;
- }
- }
- return null;
- }
-
- boolean isInFlight(Copy copy)
- {
- for (Event event : simulator.inflight)
- {
- if (! (event instanceof Copy))
- continue;
- Copy c = (Copy) event;
- if (copy.destination.equals(c.destination) &&
- copy.object.equals(c.object))
- {
- System.out.println("already inflight: " + copy);
- return true;
- }
- }
- return false;
- }
-}
diff --git a/sim/gobs/src/gobs/sim/Repair.java b/sim/gobs/src/gobs/sim/Repair.java
deleted file mode 100644
index 846e17e..0000000
--- a/sim/gobs/src/gobs/sim/Repair.java
+++ /dev/null
@@ -1,49 +0,0 @@
-
-package gobs.sim;
-
-import java.util.*;
-
-import gobs.util.Time;
-
-class Repair
- extends Event
-{
- Rebuild rebuild = null;
- Node node;
-
- List<Copy> entries = new ArrayList<Copy>();
-
- Repair(Simulator simulator, Node node,
- double time, boolean dataLost)
- {
- super(simulator);
- this.node = node;
- double d;
- if (dataLost)
- d = simulator.mttrDiskExponential.nextDouble();
- else
- d = simulator.mttrRebootExponential.nextDouble();
- finish = time+d;
- }
-
- String log()
- {
- return "Repair(" + node.toString(simulator) + "," +
- Time.toString(finish) + ")";
- }
-
- public String toString()
- {
- return log();
- }
-
- public void setRebuild(Rebuild rebuild)
- {
- this.rebuild = rebuild;
- }
-
- public void add(Copy copy)
- {
- entries.add(copy);
- }
-}
diff --git a/sim/gobs/src/gobs/sim/ReplicaSource.java b/sim/gobs/src/gobs/sim/ReplicaSource.java
deleted file mode 100644
index c935d10..0000000
--- a/sim/gobs/src/gobs/sim/ReplicaSource.java
+++ /dev/null
@@ -1,21 +0,0 @@
-
-package gobs.sim;
-
-import gobs.util.Tools;
-
-enum ReplicaSource
-{
- PRIMARY, RANDOM, LAST;
-
- static ReplicaSource parse(String type)
- {
- if (type.compareToIgnoreCase("primary") == 0)
- return PRIMARY;
- else if (type.compareToIgnoreCase("last") == 0)
- return LAST;
- else if (type.compareToIgnoreCase("random") == 0)
- return RANDOM;
- Tools.bail("Got unknown ReplicaSource value!");
- return null;
- }
-}
diff --git a/sim/gobs/src/gobs/sim/Replicated.java b/sim/gobs/src/gobs/sim/Replicated.java
deleted file mode 100644
index 9de21ce..0000000
--- a/sim/gobs/src/gobs/sim/Replicated.java
+++ /dev/null
@@ -1,188 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-import java.util.*;
-
-import gobs.util.*;
-
-/**
- * Interface to place a list of replicated objects on a set of nodes.
- * */
-
-public abstract class Replicated
- extends Placement
-{
- /**
- One of: primary, random, last.
- */
- ReplicaSource replicaSource = ReplicaSource.PRIMARY;
-
- Replicated(Simulator simulator, ReplicaSource source)
- {
- super(simulator);
- this.replicaSource = source;
-
- BigInteger two = new BigInteger("2");
- M = two.pow(simulator.B);
- }
-
- /**
- Generate an object set for a file.
- */
- public Collection<Gob> allocateFile(File file)
- {
- ArrayList<Gob> result = new ArrayList<Gob>(file.width);
-
- BigInteger bigWidth = BigInteger.valueOf(file.width);
- BigInteger s = M.divide(bigWidth);
- BigInteger p = randomID();
-
- for (int i = 0; i < file.width; i++)
- {
- BigInteger id = p;
- BigInteger bytes = file.objectSize(i);
- Gob obj = new SingleObject(id, bytes, file.replicas);
- result.add(obj);
- p = p.add(s).mod(M);
- }
-
- result.trimToSize();
-
- return result;
- }
-
- // public abstract Node lookup(BigInteger id, List<Node> nodes);
-
- public void place(Collection<Gob> objects, List<Node> nodes)
- {
- for (Gob object : objects)
- place(object, nodes);
- }
-
- /**
- Initial placement: allocate replicas for object and place
- on nodes.
- */
- public void place(Gob object, List<Node> nodes)
- {
- if (object instanceof SingleObject)
- place((SingleObject) object, nodes);
- else if (object instanceof ObjectStrip)
- place((ObjectStrip) object, nodes);
- }
-
- public void place(SingleObject object, List<Node> nodes)
- {
- // System.out.println("place: " + object);
- Sites sites = sites(object, nodes);
- simulator.stats.flexibilities.add(sites.size());
- PrimaryObject primary = object.toPrimaryObject();
- Node primaryNode = sites.removePrimary();
- primaryNode.add(primary);
- for (int i = 0; i < object.replicas-1; i++)
- {
- if (sites.size() == 0)
- {
- System.out.println("Could not place all replicas!");
- return;
- }
- Node node = sites.removeRandom();
- node.add(object.toSecondaryObject(primary));
- }
- }
-
- void place(ObjectStrip object, List<Node> nodes)
- {
- throw new UnsupportedOperationException
- (this.getClass().toString() +
- ": does not support place(ObjectStrip)!");
- }
-
- abstract Copy regimen(SingleObject object, List<Node> nodes);
-
- Node removeSource(SingleObject object, Sites sites)
- {
- Node source = source(object, sites);
- if (source == null)
- return null;
- sites.remove(source);
- return source;
- }
-
- /**
- Get a replica source for this object from within sites.
- Does not modify sites.
- May return null.
- */
- Node source(SingleObject object, Sites sites)
- {
- Node result = null;
- if (replicaSource == ReplicaSource.PRIMARY)
- result = sites.primary();
- else if (replicaSource == ReplicaSource.LAST)
- result = sites.last();
-
- if (result == null ||
- ! result.contains(object.id))
- result = sites.randomSource(object);
-
- return result;
- }
-
- /**
- Locate a random destination in sites that does not
- contain the object.
- Removes nodes that do have the object, and the result,
- from sites.
- May return null.
- */
- Node locateDestination(SingleObject object, Sites sites)
- {
- Node destination = null;
- while (sites.size() > 0)
- {
- Node node = sites.removeRandom();
- if (! node.contains(object.id))
- {
- destination = node;
- break;
- }
- }
-
- if (destination == null)
- simulator.print("rebuilds", "restored: " + object);
-
- return destination;
- }
-
- /**
- Report failure to perform replication and exit.
- */
- void failLocateSource(SingleObject object, List<Node> sites)
- {
- System.out.println("locateSource(): Could not find source for: " +
- object);
- System.out.println("sites.size() : " + sites);
- simulator.printNodeObjects(sites);
-
- Tools.bail("Exit!");
- }
-
- /**
- New id anywhere in the address space.
- */
- BigInteger randomID()
- {
- BigInteger i = new BigInteger(simulator.B, Bits.rng);
- return i;
- }
-
- /**
- New id in the i first ids in the address space.
- */
- BigInteger randomID(BigInteger i)
- {
- return new BigInteger(simulator.B, Bits.rng).mod(i);
- }
-}
diff --git a/sim/gobs/src/gobs/sim/SecondaryObject.java b/sim/gobs/src/gobs/sim/SecondaryObject.java
deleted file mode 100644
index e43cf74..0000000
--- a/sim/gobs/src/gobs/sim/SecondaryObject.java
+++ /dev/null
@@ -1,37 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-
-/**
- * Simulates a single secondary object.
- * */
-
-class SecondaryObject
- extends SingleObject
-{
- PrimaryObject primary;
-
- SecondaryObject(BigInteger id, BigInteger size, int replicas,
- PrimaryObject primary)
- {
- super(id, size, replicas);
- this.primary = primary;
- }
-
- void setPrimary(PrimaryObject primary)
- {
- assert(primary instanceof PrimaryObject);
- this.primary = primary;
- }
-
- public String toString(Simulator simulator)
- {
- return name(simulator) + "[S](" + File.toString(size) + ")";
- }
-
- public String toString()
- {
- return toString(Simulator.current);
- }
-}
diff --git a/sim/gobs/src/gobs/sim/SecondaryStrip.java b/sim/gobs/src/gobs/sim/SecondaryStrip.java
deleted file mode 100644
index c3429c1..0000000
--- a/sim/gobs/src/gobs/sim/SecondaryStrip.java
+++ /dev/null
@@ -1,32 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-
-/**
- * Simulates a secondary object strip.
- * */
-
-class SecondaryStrip
- extends ObjectStrip
-{
- PrimaryStrip primary;
-
- SecondaryStrip(BigInteger id, int number, BigInteger size,
- int replicas, PrimaryStrip primary)
- {
- super(id, number, size, replicas);
- this.primary = primary;
- }
-
- void setPrimary(PrimaryStrip primary)
- {
- assert(primary instanceof PrimaryStrip);
- this.primary = primary;
- }
-
- public String toString(Simulator simulator)
- {
- return name(simulator) + "[S][" + number + "](" + size + ")";
- }
-}
diff --git a/sim/gobs/src/gobs/sim/SimpleNodes.java b/sim/gobs/src/gobs/sim/SimpleNodes.java
deleted file mode 100644
index 6d9997f..0000000
--- a/sim/gobs/src/gobs/sim/SimpleNodes.java
+++ /dev/null
@@ -1,42 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-import java.util.*;
-
-import gobs.util.*;
-
-/**
- * Places new nodes uniformly in address space
- * without looking at existing nodes.
- * */
-
-public class SimpleNodes
- extends NodeFactory
-{
- public SimpleNodes(Simulator simulator)
- {
- super(simulator);
- }
-
- public void generate(int count, List<Node> nodes)
- {
- BigInteger offset = new BigInteger(simulator.B, Bits.rng);
- BigInteger c = new BigInteger("" + count);
-
- BigInteger bigM = new BigInteger("" + simulator.M);
- BigInteger fraction = bigM.divide(c);
-
- for (int i = 0; i < count; i++)
- {
- BigInteger bigi = new BigInteger("" + i);
- BigInteger id =
- offset.add(bigi.multiply(fraction)).mod(bigM);
- Node node = new Node(simulator, id);
-
- if (nodes.contains(node))
- Tools.bail("Could not assign unique node id!");
- nodes.add(node);
- }
- }
-}
diff --git a/sim/gobs/src/gobs/sim/Simulator.java b/sim/gobs/src/gobs/sim/Simulator.java
deleted file mode 100644
index 6428c79..0000000
--- a/sim/gobs/src/gobs/sim/Simulator.java
+++ /dev/null
@@ -1,1514 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-import java.text.DecimalFormat;
-import java.util.*;
-
-import cern.jet.random.engine.DRand;
-import cern.jet.random.Exponential;
-
-import gobs.util.*;
-import static gobs.util.Tools.bail;
-
-/**
- * GOBS placement simulator.
- *
- * Command-line arguments: {@link #main}
- * */
-
-public class Simulator
-{
- /**
- Bit-length of addresses.
- */
- int B;
-
- /**
- Number of server nodes.
- */
- int N;
-
- /**
- 2^B
- */
- public BigInteger M;
-
- int fileCount;
- int totalFaults;
- int faultCount;
- int reads;
- int writes;
-
- public Placement placer;
- public NodeFactory hub;
- public FileFactory factory;
-
- /**
- Simulated time. Starts at 0.
- */
- private double time = 0;
-
- /**
- Time at which to terminate, if set.
- */
- double totalTime;
-
- /**
- Determines what will trigger the termination of this Simulation.
- */
- Termination mode;
-
- /**
- Address id display mode.
- */
- Addressable.Display display = Addressable.Display.BITS;
-
- /**
- Aggregate properties from all input files:
- */
- public Properties properties = new Properties();
-
- /**
- Directory in which to look for properties files:
- */
- String path = null;
-
- /**
- Simulated server nodes.
- */
- public List<Node> nodes;
-
- /**
- Simulated objects.
- */
- EnhancedLinkedHashSet<Gob> objects =
- new EnhancedLinkedHashSet<Gob>();
-
- /**
- Simulated files.
- */
- List<File> files = new ArrayList<File>();
-
- /**
- Original allocation of objects.
- Read by {@link gobs.sweep.x.Balance01}.
- */
- public Map<Node,Integer> origCount;
-
- /**
- Object load difference before and after faults.
- */
- LinkedHashMap<Node,Integer> sortedDiffs;
-
- /**
- History of Rebuilds.
- */
- public List<Rebuild> rebuilds = new ArrayList<Rebuild>();
-
- /**
- Rebuild rate in bytes/sec based on the speed of the RAID device.
- */
- double rebuildRate = 0;
-
- /**
- Rebuild rate in bytes/sec.
- */
- private BigInteger bigRebuildRate = null;
-
- /**
- Store how many transfers the Node is involved in.
- */
- Map<Node,Integer> busy = new HashMap<Node,Integer>();
-
- /**
- Copies that the Simulator will perform in the future.
- */
- NavigableSet<Copy> todo = new TreeSet<Copy>();
-
- /**
- The Set of known Events that will finish in the future.
- Contains in-flight Copies, the next Fault, and any Repairs.
- */
- NavigableSet<Event> inflight = new TreeSet<Event>();
-
- /**
- Object IDs that are known to have been lost.
- */
- Set<BigInteger> lost = new HashSet<BigInteger>();
-
- /**
- Points in simulated time in which an object was lost:
- */
- Set<Double> lossEvents = new HashSet<Double>();
-
- /**
- Nodes that are temporarily down.
- */
- Set<Node> down = new LinkedHashSet<Node>();
-
- /**
- Current rebuild in progress.
- */
- Rebuild currentRebuild = null;
-
- /**
- Disks per node.
- */
- int devicesPerNode = 1;
-
- static Simulator current;
- static final int maxTries = 10;
-
- static DecimalFormat df = new DecimalFormat("0.00");
- static DecimalFormat ff = new DecimalFormat("0");
-
- /**
- Format for timestamps (simulation time).
- */
- static DecimalFormat tf = new DecimalFormat("0");
-
- public Statistics stats = new Statistics();
-
- /**
- Cached value of printAccesses property
- */
- boolean printAccesses = false;
-
- /**
- The type of RAID we are using.
- */
- RAID raid;
-
- /**
- MTTF for all fault types. Per RAID device.
- @see dataLossFraction
- */
- double mttf;
-
- /**
- MTT crash (non-data-loss Fault).
- */
- double mttc;
-
- /**
- Fraction of Faults that cause data loss.
- */
- double dataLossFraction = 1;
-
- /**
- Time needed to reboot a Node for a non-data-loss crash.
- */
- double mttrReboot;
-
- /**
- Time needed to insert a replacement disk and reboot a Node.
- */
- double mttrDisk;
-
- /**
- Source of exponentially distributed random numbers
- for MTTF samples.
- */
- Exponential mttfExponential;
-
- /**
- Source of exponentially distributed random numbers
- for MTTR samples for data-loss Faults (disk-replacement).
- */
- Exponential mttrDiskExponential;
-
- /**
- Source of exponentially distributed random numbers
- for MTTR samples for non-data-loss Faults (simple reboot).
- */
- Exponential mttrRebootExponential;
-
- /**
- Time at which this Simulator was initialized:
- */
- Date launch;
-
- public Simulator()
- {
- File.unique = 0;
- launch = new Date();
- }
-
- public Simulator(Properties properties)
- {
- this();
- initialize(properties);
- }
-
- /**
- Run a single Simulator instance. <br>
- Command-line arguments: <br>
- -p : Change properties file path <br>
- key=value : Set property key to value
- */
- public static void main(String[] args)
- {
- if (args.length < 1)
- bail("usage: Simulator [-p <path>] " +
- "<name>=<value>* <file.cfg>*");
-
- Simulator simulator = new Simulator();
- for (int i = 0; i < args.length; i++)
- {
- if (args[i].equals("-p"))
- {
- simulator.path(args[++i]);
- }
- else if (args[i].contains("="))
- {
- int index = args[i].indexOf('=');
- String key = args[i].substring(0, index);
- String value = args[i].substring(index+1);
- simulator.properties.setProperty(key, value);
- }
- else
- {
- Tools.load(simulator.properties, simulator.path, args[i]);
- }
- }
-
- if (simulator.has("seed"))
- Bits.init(simulator.integer("seed"));
- else
- Bits.init(true);
-
- simulator.execute();
- }
-
- void path(String path)
- {
- if (! path.endsWith("/"))
- path = path+"/";
- this.path = path;
- }
-
- public void execute()
- {
- Simulator.current = this;
-
- setup();
- System.out.println("\nexecute:");
-
- initializeNodes();
- allocateFiles();
- place();
-
- induceFaults();
- performAccesses();
-
- if (enabled("fsck"))
- fsck();
- if (enabled("strays"))
- strays();
-
- computeStatistics();
-
- double t = new Date().getTime() - launch.getTime();
- System.out.println("SIMULATOR_TIME: " + Time.toString(t/1000));
-
- Simulator.current = null;
- }
-
- /**
- Convert properties into simulator variables.
- Must be called before execute().
- */
- public void setup()
- {
- if (bool("print.properties"))
- printProperties();
-
- setupBasics();
- factory = setupFileFactory(properties);
- setupPlacement();
- setupNodes();
- }
-
- void setupBasics()
- {
- B = integer("B");
- N = integer("node.count");
- fileCount = integer("files");
- reads = integer("read.count");
- writes = integer("write.count");
-
- double diskSize = decimal("disk.size");
- double diskSpeed = decimal("disk.speed");
- String spec = string("raid");
- raid = new RAID(spec, diskSize, diskSpeed);
-
- rebuildRate = diskSpeed*raid.data();
- bigRebuildRate = BigInteger.valueOf((long) rebuildRate);
-
- setupTermination();
- setupExponentials();
- }
-
- void setupTermination()
- {
- if (has("fault.count"))
- {
- mode = Termination.FAULTS;
- totalFaults = integer("fault.count");
- }
- else if (has("simulator.duration"))
- {
- mode = Termination.TIME;
- totalTime = decimal("simulator.duration");
- }
- else
- {
- bail("No termination condition given!");
- }
- }
-
- void setupExponentials()
- {
- devicesPerNode = integer("node.osds");
-
- mttrReboot = decimal("mttr.reboot");
- mttrDisk = decimal("mttr.disk");
-
- double mttfDisk = decimal("disk.mttf");
- double mttfLoss = raid.computeMTTF(mttfDisk);
-
- mttc = decimal("mttc")/N;
- mttfLoss = mttfLoss/(N*devicesPerNode);
-
- // Imaginary long run:
- double span = mttc*mttfLoss;
- // Number of events in span:
- double events = mttc+mttfLoss;
- mttf = span/events;
- // MTTC = span/mttfLoss = # loss events, so:
- dataLossFraction = mttc/events;
-
- print("mttf: " + Time.toString(mttf));
- print("dataLossFraction: " + df.format(dataLossFraction));
-
- DRand engine = new DRand(Bits.nextInt());
- mttfExponential = new Exponential(1.0/mttf, engine);
- mttrRebootExponential = new Exponential(1.0/mttrReboot, engine);
- mttrDiskExponential = new Exponential(1.0/mttrDisk, engine);
- }
-
- public static FileFactory setupFileFactory(Properties properties)
- {
- FileFactory factory = null;
- try
- {
- String factoryName = properties.getProperty("impl.filefactory");
- if (factoryName == null)
- bail("No impl.filefactory given!");
- else if (factoryName.equals("PlainFiles"))
- factory = new PlainFiles(properties);
- else if (factoryName.equals("TraceFiles"))
- factory = new TraceFiles(properties);
- else if (factoryName.equals("RandomFiles"))
- factory = new RandomFiles(properties);
- else if (factoryName.equals("PDSIFiles"))
- factory = new PDSIFiles(properties);
- else
- bail("Bad filefactory name: " + factoryName);
- }
- catch (IllegalArgumentException e)
- {
- Tools.bail("Error setting up FileFactory:\n" + e.getMessage());
- }
- return factory;
- }
-
- void setupPlacement()
- {
- String placerName = string("impl.placement");
- ReplicaSource source =
- ReplicaSource.parse(string("replica.source"));
- if (placerName.equals("Nearest"))
- {
- display = Addressable.Display.NUMERIC;
- placer = new Nearest(this, source);
- }
- else if (placerName.equals("Kademlia"))
- {
- display = Addressable.Display.BITS;
- placer = new Kademlia(this, source);
- }
- else if (placerName.equals("VertexGroups"))
- {
- display = Addressable.Display.BITS;
- int P = integer("VertexGroupPrefix");
- placer = new VertexGroups(this, source, P);
- }
- else if (placerName.equals("RUSHp"))
- {
- display = Addressable.Display.NUMERIC;
- placer = new RUSHp(this, source);
- }
- else if (placerName.equals("ParallelRUSH"))
- {
- display = Addressable.Display.NUMERIC;
- placer = new ParallelRUSH(this, source);
- }
- else
- {
- bail("Bad Placement name: " + placerName);
- }
-
- M = placer.M;
- }
-
- void setupNodes()
- {
- String nodesName = string("impl.nodefactory");
- if (nodesName.equals("RandomNodes"))
- hub = new RandomNodes(this);
- else if (nodesName.equals("SimpleNodes"))
- hub = new SimpleNodes(this);
- else
- bail("Bad NodeFactory name: " + nodesName);
-
- nodes = new LinkedList<Node>();
- }
-
- void initializeNodes()
- {
- hub.generate(N, nodes);
- stats.nodes = N;
-
- for (Node node : nodes)
- placer.register(node);
-
- System.out.println("NODES: " + N);
- if (bool("print.initialnodes"))
- printNodes(nodes);
- }
-
- void allocateFiles()
- {
- allocateFiles(fileCount);
-
- if (bool("print.files"))
- printFiles();
- if (bool("print.filesobjects"))
- printFilesObjects();
-
- System.out.println("FS_SIZE: " + File.toString(fsSize()));
- }
-
- void allocateFiles(int count)
- {
- for (int i = 0; i < count; i++)
- allocateFile();
- }
-
- void allocateFile()
- {
- File file = factory.get();
-
- int tries = 0;
- Collection<Gob> set;
- do
- {
- // System.out.println("allocateFile(): iterate: " + tries);
- if (tries++ >= maxTries)
- bail("Could not allocate new object ids!");
-
- set = placer.allocateFile(file);
- }
- while (objects.containsAny(set));
-
- file.link(set);
- files.add(file);
- objects.addAll(set);
- }
-
- /**
- Report the number of bytes allocated in the FS.
- */
- BigInteger fsSize()
- {
- BigInteger result = BigInteger.ZERO;
- for (File file : files)
- {
- BigInteger replicas = BigInteger.valueOf(file.replicas);
- result = result.add(file.size.multiply(replicas));
- }
- return result;
- }
-
- void place()
- {
- Date start = new Date();
- print("allocating: " + objects.size());
- placer.place(objects, nodes);
- Date stop = new Date();
- print("took: " + Time.diff(start, stop));
- origCount = countObjects(nodes);
- // print("OBJECT_COUNT: " + objects.size());
-
- // printNodes(nodes);
- if (bool("print.initialnodes"))
- printNodeObjects(nodes);
- }
-
- Map<Node,Integer> countObjects(List<Node> nodes)
- {
- Map<Node,Integer> result = new Hashtable<Node,Integer>();
-
- for (Node node : nodes)
- result.put(node, node.count());
-
- return result;
- }
-
- int totalObjects(Map<Node,Integer> input)
- {
- int result = 0;
- for (Node node : input.keySet())
- {
- int t = input.get(node);
- result += t;
- }
- return result;
- }
-
- void performAccesses()
- {
- System.out.println("ACCESSES: " + timef());
- performReads();
- performWrites();
- }
-
- void performReads()
- {
- System.out.println("reads: " + reads);
- if (reads > 0)
- printAccesses = bool("print.accesses");
-
- for (int read = 0; read < reads; read++)
- {
- File file = randomFile();
- double t = randomTime();
- performRead(t, file);
- }
- }
-
- void performRead(double t, File file)
- {
- if (printAccesses)
- System.out.println("read: " + file.id);
-
- for (Gob object : file.objects)
- {
- boolean idle = false;
- Sites sites = placer.sites(object, nodes);
- Node node = null;
- if (string("read.mode").equals("random"))
- node = sites.random();
- else if (string("read.mode").equals("idle"))
- node = findIdle(t, sites);
- else
- bail("Unknown read mode: " + string("read.mode"));
- idle = idleAt(t, node);
- if (printAccesses)
- System.out.println("access: object: " + object.id +
- " node: " + node.id + "idle: " + idle);
- node.accesses++;
- if (idle)
- stats.idleReads++;
- else
- stats.busyReads++;
- }
- }
-
- /**
- Attempt to find a Node that is not in a rebuild at time t.
- If one cannot be found, return a random Node from sites.
- */
- Node findIdle(double t, Sites sites)
- {
- for (Node node : sites)
- if (idleAt(t, node))
- return node;
- return sites.random();
- }
-
- boolean idleAt(double t, Node node)
- {
- for (Rebuild rebuild : rebuilds)
- if (rebuild.busyAt(t, node))
- return false;
- return true;
- }
-
- void performWrites()
- {
- if (writes > 0)
- printAccesses = bool("print.accesses");
-
- for (int write = 0; write < writes; write++)
- {
- File file = randomFile();
- double t = randomTime();
- performWrite(t, file);
- }
- }
-
- void performWrite(double t, File file)
- {
- if (printAccesses)
- System.out.println("write: " + file.id);
-
- for (Gob object : file.objects)
- performWrite(t, object);
- }
-
- void performWrite(double t, Gob object)
- {
- Sites sites = placer.sites(object, nodes);
- for (Node node : sites.get())
- {
- if (printAccesses)
- System.out.println("access: object: " + object.id +
- " node: " + node.id);
- node.accesses++;
- boolean idle = idleAt(t, node);
- if (idle)
- stats.idleWrites++;
- else
- stats.busyWrites++;
- }
- }
-
- File randomFile()
- {
- int index = Bits.nextInt(files.size());
- return files.get(index);
- }
-
- double randomTime()
- {
- return Bits.nextDouble(time);
- }
-
- /**
- Advance the Simulator to time.
- */
- void advanceTo(double time)
- {
- Tools.check(time >= this.time,
- "Attempted to step backwards in time!");
- this.time = time;
- if (bool("print.rebuilds"))
- System.out.println("time: " + Time.toString(time));
- }
-
- /**
- Return the current simulated time.
- */
- double time()
- {
- return time;
- }
-
- /**
- Format the current simulated time.
- */
- String timef()
- {
- return tf.format(time);
- }
-
- void induceFaults()
- {
- System.out.println("faults: " + totalFaults);
- Fault fault = null;
- Fault next = new Fault(this);
- advanceTo(next.finish);
- while (! complete())
- {
- fault = next;
- Date start = new Date();
- System.out.println("fault: " + faultCount);
- Node failed = induceFault(fault);
- Collection<Gob> damaged = failed.collection();
- failed.fail(fault.dataLost);
- if (nodes.size() == 0)
- continue;
- Collection<Copy> fixes = failCopies(failed);
- todo.addAll(fixes);
- next = rebuild(fault, failed, damaged);
- Date stop = new Date();
- print("took: " + Time.diff(start, stop));
- }
- finish(fault);
- }
-
- double pullFault()
- {
- return mttfExponential.nextDouble();
- }
-
- /**
- Perform a Rebuild.
- @return The next Fault to occur.
- */
- Fault rebuild(Fault fault, Node failed, Collection<Gob> damaged)
- {
- Fault next = startRebuild(fault, failed);
- List<Copy> work = planCopies(damaged);
- currentRebuild.rebuild(work);
- completeRebuild();
-
- return next;
- }
-
- /**
- Setup a Rebuild.
- @return The next Fault to occur.
- */
- Fault startRebuild(Fault fault, Node failed)
- {
- Repair repair = new Repair(this, failed, time, fault.dataLost);
- // Schedule the next fault:
- Fault next = new Fault(this);
- Rebuild rebuild = new Rebuild(this, fault, next, repair);
- repair.setRebuild(rebuild);
- currentRebuild = rebuild;
- return next;
- }
-
- /**
- Cause a fault.
- @return The Node that was lost
- */
- Node induceFault(Fault fault)
- {
- faultCount++;
- int index = Bits.nextInt(nodes.size());
- Node failed = nodes.remove(index);
- down.add(failed);
- placer.drop(failed);
- System.out.println("failed: " + failed.name(this) +
- " (" + failed.count() + ")" +
- " at: " + Time.toString(time));
- return failed;
- }
-
- /**
- Cancel any copies that are currently in todo or inflight
- involving the failed Node.
- Return a Collection of copies that should be performed to
- handle the loss of these copies.
- */
- Collection<Copy> failCopies(Node failed)
- {
- Collection<Copy> fixes = new ArrayList<Copy>();
- for (Iterator<Copy> it = todo.iterator(); it.hasNext(); )
- {
- Copy copy = it.next();
- if (copy.source.equals(failed) ||
- copy.destination.equals(failed))
- {
- if (bool("print.rebuilds"))
- System.out.println("copy failed (todo): " + copy);
- Copy fix = placer.regimen(copy.object);
- if (fix != null)
- fixes.add(fix);
- it.remove();
- }
- }
-
- for (Iterator<Event> it = inflight.iterator(); it.hasNext(); )
- {
- Event event = it.next();
- if (! (event instanceof Copy))
- continue;
- Copy copy = (Copy) event;
- if (copy.source.equals(failed) ||
- copy.destination.equals(failed))
- {
- if (bool("print.rebuilds"))
- System.out.println("copy failed (inflight): " + copy);
- Copy fix = placer.regimen(copy.object);
- if (fix != null)
- fixes.add(fix);
- it.remove();
- }
- }
- return fixes;
- }
-
- /**
- Build the Map of Copies to perform by calling
- {@link Placement#regimen}.
- @param damaged The Set of Objects that need to be repaired
- */
- List<Copy> planCopies(Collection<Gob> damaged)
- {
- List<Copy> result = new ArrayList<Copy>();
- for (Gob object : damaged)
- {
- Copy copy = placer.regimen(object, nodes);
- if (copy != null)
- result.add(copy);
- }
- return result;
- }
-
- /**
- Actually perform copies that completed during a Rebuild.
- Clears completed entries from set.
- @param copies Index of {@link Placement#regimen} output
- @param done Set of Objects that were copied
- */
- void performCopies(Fault fault, Set<? extends Event> set)
- {
- List<Event> done = new ArrayList<Event>();
-
- while (true)
- {
- boolean found = false;
- Copy copy = extractCopy(set);
- if (copy == null)
- break;
- if (copy.destination.contains(copy.object.id))
- {
- System.out.println("unnecessary: " + copy);
- continue;
- }
- List<Copy> extras = fault.rebuild.performCopy(copy);
- for (Copy extra : extras)
- print("rebuilds", "extra: " + extra);
- done.add(copy);
- }
- for (Event event : done)
- set.remove(event);
- }
-
- Copy extractCopy(Set<? extends Event> set)
- {
- Copy result = null;
- Iterator<? extends Event> it = set.iterator();
- while (it.hasNext())
- {
- Event event = it.next();
- if (event instanceof Copy)
- {
- result = (Copy) event;
- it.remove();
- break;
- }
- }
- return result;
- }
-
- /**
- Store current Rebuild and clean up.
- */
- void completeRebuild()
- {
- rebuilds.add(currentRebuild);
- if (string("print.nodes").equals("true"))
- printNodeObjects(nodes);
- }
-
- /**
- Wrap up after the induceFaults() loop.
- Perform any outstanding copies
- in {@link inflight} or {@link todo}.
- @param last The final fault. This and its corresponding
- Rebuild will be charged with any remaining work.
- */
- void finish(Fault last)
- {
- System.out.println("END: " + Time.toString(time));
- if (bool("print.rebuilds"))
- System.out.println("flushing copies:");
- performCopies(last, inflight);
- performCopies(last, todo);
- if (bool("print.nodes"))
- printNodeObjects(nodes);
- }
-
- /**
- Set the rebuild rate.
- */
- void setRebuildRate(long rate)
- {
- rebuildRate = rate;
- bigRebuildRate = new BigInteger(""+rate);
- }
-
- /**
- Return the rebuild rate as a BigInteger
- */
- BigInteger getBigRebuildRate()
- {
- return bigRebuildRate;
- }
-
- /**
- Brute force search for all object locations.
- */
- List<Node> scanStorage(Gob object)
- {
- return scanStorage(object, nodes);
- }
-
- /**
- Brute force search for all object locations.
- */
- List<Node> scanStorage(Gob object, Collection<Node> nodes)
- {
- List<Node> holders = new ArrayList<Node>();
- for (Node node : nodes)
- if (node.contains(object.id))
- holders.add(node);
- return holders;
- }
-
- /**
- Brute force search for an object location.
- */
- Node scanObject(Gob object)
- {
- List<Node> holders = scanStorage(object);
- if (holders.size() == 0)
- return null;
- int r = Bits.nextInt(holders.size());
- return holders.get(r);
- }
-
- void computeStatistics()
- {
- computeDiffs();
- int total = computeMovement();
- computePullDeclustering(total);
- computePushDeclustering(total);
- computeTotalDeclustering(total);
- computeAccesses();
- computeUserPerformance();
- computeTraffic();
- computeLosses();
-
- System.out.println("FAULTS: " + faultCount);
- System.out.println("FINAL_NODES: " + nodes.size());
- System.out.println("FLEXIBILITIES: " +
- df.format(stats.avgFlexibility()));
- System.out.println("FINAL_OBJECTS: " + countObjects());
- System.out.println("SIMULATED_TIME: " + Time.toString(time));
-
- stats.results.setProperty("time", df.format(time));
- }
-
- void computeLosses()
- {
- int count = 0;
- for (Rebuild rebuild : rebuilds)
- if (rebuild.dataLost)
- count++;
- int events = lossEvents.size();
-
- System.out.println("LOST_OBJECTS: " + lost.size());
- stats.results.setProperty("lost", ff.format(lost.size()));
- stats.results.setProperty("failures", ff.format(count));
- stats.results.setProperty("lossevents", ff.format(events));
- }
-
- /**
- Computes and prints load differences from before
- and after the faults.
- Builds sortedDiffs.
- */
- void computeDiffs()
- {
- Map<Node,Integer> faultCount = countObjects(nodes);
-
- // Find the load difference from before the faults...
- Map<Node,Integer> diffs = new Hashtable<Node,Integer>();
- for (Node node : faultCount.keySet())
- {
- int before = origCount.get(node);
- int after = faultCount.get(node);
- diffs.put(node, new Integer(after-before));
- }
-
- // Sort load differences...
- MapSorter<Node> sorter = new MapSorter<Node>();
- sortedDiffs = sorter.sort(diffs);
-
- // Display load differences...
- if (string("print.loaddiffs").equals("true"))
- printLoadDifferences(sortedDiffs);
- }
-
- /**
- Compute and return total object copies.
- */
- int computeMovement()
- {
- int total = 0;
- for (Node node : nodes)
- {
- total += node.pushes;
- }
- System.out.println("TOTAL_TRANSFERS: " + total);
- stats.totalTransfers = total;
- return total;
- }
-
- /**
- Compute and print object movement load on servers that are
- pulling object copies.
- */
- void computePullDeclustering(int total)
- {
- System.out.println("PULL_DECLUSTERING: ");
- double percentPulls = 0.0;
- for (Node node : sortedDiffs.keySet())
- {
- int d = sortedDiffs.get(node);
- if (d > 0)
- {
- percentPulls = (100.0*d)/total;
- System.out.println(node.name(this) + ": " +
- df.format(percentPulls) + "%");
- }
- }
- stats.results.setProperty("maxPulls", df.format(percentPulls));
- }
-
- /**
- Compute and print object movement load on servers that are
- pushing object copies.
- */
- void computePushDeclustering(int total)
- {
- System.out.println("PUSH_DECLUSTERING: ");
-
- double percent = 0.0;
- double maxPercent = 0.0;
- double[] percents = new double[nodes.size()];
-
- int i = 0;
- for (Node node : nodes)
- {
- if (node.pushes > 0)
- {
- percent = 100.0*node.pushes / total;
- System.out.println(node.name(this) + ": " +
- df.format(percent) + "%");
- percents[i++] = percent;
- if (percent > maxPercent)
- maxPercent = percent;
- }
- }
-
- stats.results.setProperty("maxPushes", df.format(maxPercent));
- }
-
- /**
- Compute and print object movement load on servers that are
- pulling and pushing object copies.
- */
- void computeTotalDeclustering(int total)
- {
- System.out.println("TOTAL_DECLUSTERING: ");
- double percentTotal = 0.0;
- double maxPercentTotal = 0.0;
- double[] percentTotals = new double[nodes.size()];
- int i = 0;
- for (Node node : nodes)
- {
- int d = node.pushes+node.pulls;
- if (d > 0)
- {
- percentTotal = (100.0*d)/(total*2);
- System.out.println(node.name(this) + ": " +
- df.format(percentTotal) + "%");
- percentTotals[i++] = percentTotal;
- if (percentTotal > maxPercentTotal)
- maxPercentTotal = percentTotal;
- }
- }
-
- percentTotals = Tools.positives(percentTotals);
- Arrays.sort(percentTotals);
- Tools.reverse(percentTotals);
- stats.results.setProperty("distribution",
- Arrays.toString(percentTotals));
-
- stats.results.setProperty("maxTotal", df.format(maxPercentTotal));
- }
-
- void computeAccesses()
- {
- // Did the user perform any operations?
- if (reads+writes == 0)
- return;
-
- System.out.println("ACCESS_BALANCE: ");
- Node least = null;
- Node most = null;
- for (Node node : nodes)
- {
- if (most == null)
- most = node;
- if (least == null)
- least = node;
- System.out.println("" + node.id + " " + node.accesses);
- if (node.accesses > most.accesses)
- most = node;
- if (node.accesses < least.accesses)
- least = node;
- }
- System.out.println("least: " + least.id + " " + least.accesses);
- System.out.println("most: " + most.id + " " + most.accesses);
- if (least.accesses == 0)
- {
- System.out.println("WARNING: least accesses == 0");
- return;
- }
- double m = most.accesses;
- double l = least.accesses;
- double ratio = m/l;
- System.out.println("accessbalance: " + df.format(ratio));
- stats.results.setProperty("accessbalance", df.format(ratio));
- }
-
-
- void computeUserPerformance()
- {
- // Did the user perform any operations?
- if (reads+writes == 0)
- return;
- double reads = stats.idleReads + stats.busyReads;
- double readRatio = stats.idleReads/reads;
- stats.results.setProperty("performance.read",
- df.format(readRatio));
- double writes = stats.idleWrites + stats.busyWrites;
- double writeRatio = stats.idleWrites/writes;
- stats.results.setProperty("performance.write",
- df.format(writeRatio));
- }
-
- /**
- Compute and print object movement traffic over time.
- */
- void computeTraffic()
- {
- Date start = new Date();
- if (! has("plot.traffic.interval"))
- return;
-
- System.out.println("TRAFFIC: ");
- System.out.println("REBUILDS:" + rebuilds.size());
- double interval = decimal("plot.traffic.interval");
-
- List<Double> intervals = new ArrayList<Double>();
- List<Integer> sample = new ArrayList<Integer>();
- double d = 0;
- while (moreRebuilds(d))
- {
- int traffic = 0;
- for (Rebuild rebuild : rebuilds)
- traffic += rebuild.loadAt(d, Cause.ANY);
- intervals.add(d);
- sample.add(traffic);
- d += interval;
- }
- intervals.add(d);
- sample.add(0);
-
- stats.results.setProperty("traffic-x", intervals.toString());
- stats.results.setProperty("traffic-y", sample.toString());
- Date finish = new Date();
- System.out.println("took: " + Time.diff(start, finish));
- }
-
- /**
- Return true if any Rebuilds were working after time t.
- */
- boolean moreRebuilds(double t)
- {
- for (Rebuild rebuild : rebuilds)
- if (rebuild.finish >= t)
- return true;
- return false;
- }
-
- /**
- Sanity check by counting objects on all Nodes.
- Output should have TOTAL_OBJECTS=FINAL_OBJECTS+LOST_OBJECTS.
- */
- int countObjects()
- {
- int count = 0;
- for (Node node : nodes)
- count += node.count();
- return count;
- }
-
- void lost(Gob object)
- {
- // new Exception().printStackTrace();
- boolean found = false;
- for (Node node : down)
- if (node.contains(object.id))
- {
- found = true;
- break;
- }
- if (found)
- {
- System.out.println("UNAVAILABLE: " + object.toString(this));
- }
- else
- {
- System.out.println("LOST: " + object.toString(this));
- lost.add(object.id);
- lossEvents.add(new Double(time));
- currentRebuild.dataLost = true;
- }
- }
-
- /**
- True if the simulation is complete.
- */
- boolean complete()
- {
- if (nodes.size() == 0)
- {
- print("NODES_ZERO");
- return true;
- }
- if (mode == Termination.FAULTS)
- return (faultCount >= totalFaults);
- else if (mode == Termination.TIME)
- return (time >= totalTime);
- bail("Bad termination condition!");
- return true;
- }
-
- void fsck()
- {
- print("FSCK:");
- int missing = 0;
- for (File file : files)
- for (Gob object : file.objects)
- {
- if (lost.contains(object.id))
- {
- missing++;
- continue;
- }
- Sites sites = placer.sites(object);
- boolean found = false;
- for (Node node : sites.get())
- {
- if (! node.contains(object.id))
- print("OBJECT_MISSING: " + object);
- else
- found = true;
- }
- if (!found)
- missing++;
- }
- stats.results.setProperty("fsckMissing", ""+missing);
- }
-
- void strays()
- {
- print("STRAYS:");
- int errors = 0;
- Map<BigInteger,Integer> count = new HashMap<BigInteger,Integer>();
- for (Node node : nodes)
- {
- for (BigInteger id: node.keys())
- {
- int c;
- Integer C = count.get(id);
- if (C == null)
- c = 0;
- else
- c = C;
- c++;
- count.put(id,c);
- }
- }
- for (Gob object : objects)
- {
- Integer C = count.get(object.id);
- int c = (C != null) ? C.intValue() : 0;
- if (object.replicas != c)
- {
- print("STRAY_ERROR: " + object.id +
- " replicas: " + object.replicas + " counted: " + C);
- errors++;
- }
- }
- print("STRAY_ERRORS: " + errors);
- }
-
- void printProperties()
- {
- properties.list(System.out);
- System.out.println("");
- }
-
- void printNodes(List<Node> list)
- {
- for (Node node : list)
- System.out.println("NODE: " + node.name(this));
- }
-
- void printNodeObjects(List<Node> list)
- {
- System.out.println("\nNODE_CONTENTS:");
- for (Node node : list)
- System.out.println(node.displayObjects(this));
- }
-
- void printFiles()
- {
- System.out.println("FILES:");
- for (File f : files)
- System.out.println(f.toString());
- }
-
- void printFilesObjects()
- {
- System.out.println("FILES:");
- for (File f : files)
- System.out.println(f.toStringObjects(this));
- }
-
- void printLoadDifferences(Map<Node,Integer> sorted)
- {
- System.out.println("");
- System.out.println("LOAD_INCREASES:");
- for (Node node : sorted.keySet())
- {
- Integer d = sorted.get(node);
- System.out.println(node.name(this) + ": " + d);
- }
- }
-
- /**
- Set properties from memory.
- */
- public void initialize(Properties properties)
- {
- this.properties = (Properties) properties.clone();
- }
-
- /**
- Free up some memory.
- */
- public void free()
- {
- System.out.println("FREE:");
- for (Node node : nodes)
- node.clear();
- files.clear();
- objects.clear();
- nodes.clear();
- busy.clear();
- todo.clear();
- inflight.clear();
- }
-
- /**
- Allow subordinate classes to check for optional properties.
- @return true if property name exists.
- */
- public boolean has(String name)
- {
- return (properties.getProperty(name) != null);
- }
-
- /**
- Allow subordinate classes to obtain properties.
- @return The value of property name as an int.
- */
- public int integer(String name)
- {
- return Tools.integer(properties, name);
- }
-
- /**
- Allow subordinate classes to obtain properties.
- @return The value of property name as an long.
- */
- public long longint(String name)
- {
- return Tools.longint(properties, name);
- }
-
- /**
- Allow subordinate classes to obtain properties.
- @return The value of property name as a double.
- */
- public double decimal(String name)
- {
- return Tools.decimal(properties, name);
- }
-
- /**
- Allow subordinate classes to obtain properties.
- @return The value of property name as a BigInteger.
- */
- public BigInteger bigInteger(String name)
- {
- return Tools.bigInteger(properties, name);
- }
-
- /**
- Allow subordinate classes to obtain properties.
- @return The value of property name.
- */
- public String string(String name)
- {
- return Tools.string(properties, name);
- }
-
- /**
- Allow subordinate classes to obtain properties.
- @return The value of property name as a boolean.
- */
- public boolean bool(String name)
- {
- return Tools.bool(properties, name);
- }
-
- /**
- Return true if optional property name is set to true.
- */
- public boolean enabled(String name)
- {
- if (has(name))
- return bool(name);
- return false;
- }
-
- /**
- Print msg iff property print.category is true.
- */
- public void print(String category, String msg)
- {
- if (bool("print."+category))
- System.out.println(msg);
- }
-
- public void print(String msg)
- {
- System.out.println(msg);
- }
-}
diff --git a/sim/gobs/src/gobs/sim/SingleObject.java b/sim/gobs/src/gobs/sim/SingleObject.java
deleted file mode 100644
index e94ad43..0000000
--- a/sim/gobs/src/gobs/sim/SingleObject.java
+++ /dev/null
@@ -1,43 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-
-/**
- * Simulates a single object.
- * */
-
-public class SingleObject
- extends Gob
-{
- public SingleObject(BigInteger id, BigInteger size, int replicas)
- {
- super(id, size, replicas);
- }
-
- PrimaryObject toPrimaryObject()
- {
- return new PrimaryObject(id, size, replicas);
- }
-
- SecondaryObject toSecondaryObject()
- {
- throw new UnsupportedOperationException();
- }
-
- SecondaryObject toSecondaryObject(PrimaryObject primary)
- {
- assert(primary instanceof PrimaryObject);
- return new SecondaryObject(id, size, replicas, primary);
- }
-
- public String toString(Simulator simulator)
- {
- return name(simulator) + "(" + File.toString(size) + ")";
- }
-
- public String toString()
- {
- return toString(Simulator.current);
- }
-}
diff --git a/sim/gobs/src/gobs/sim/Sites.java b/sim/gobs/src/gobs/sim/Sites.java
deleted file mode 100644
index 7443608..0000000
--- a/sim/gobs/src/gobs/sim/Sites.java
+++ /dev/null
@@ -1,155 +0,0 @@
-
-package gobs.sim;
-
-import java.util.*;
-
-import gobs.util.Bits;
-
-/**
- * Represents a list of sites on which a Gob may reside.
- * */
-
-class Sites
- implements Iterable<Node>
-{
- Gob object;
-
- LinkedList<Node> sites = new LinkedList<Node>();
-
- Node primary = null;
- Node last = null;
-
- Sites(Gob object)
- {
- this.object = object;
- }
-
- int size()
- {
- return sites.size();
- }
-
- void primary(Node node)
- {
- if (! sites.contains(node))
- sites.add(node);
- primary = node;
- }
-
- void last(Node node)
- {
- if (! sites.contains(node))
- sites.add(node);
- last = node;
- }
-
- void secondary(Node node)
- {
- if (! sites.contains(node))
- sites.add(node);
- }
-
- /**
- Return the Primary or null if this is empty.
- */
- Node primary()
- {
- Node result;
- try
- {
- result = sites.getLast();
- }
- catch (Exception e)
- {
- result = null;
- }
- return result;
- }
-
- Node removePrimary()
- {
- Node primary = primary();
- sites.remove(primary);
- return primary;
- }
-
- Node removeRandom()
- {
- Node node = random();
- sites.remove(node);
- return node;
- }
-
- void remove(Node node)
- {
- sites.remove(node);
- }
-
- Node remove()
- {
- return sites.remove(0);
- }
-
- Node random()
- {
- int r = Bits.nextInt(sites.size());
- Node result = sites.get(r);
- return result;
- }
-
- /**
- Return a random Node that has this object.
- May return null.
- */
- Node randomSource(Gob object)
- {
- List<Node> valid = new ArrayList<Node>(sites.size());
-
- for (Node node : sites)
- if (node.contains(object.id))
- valid.add(node);
-
- if (valid.size() == 0)
- return null;
-
- int r = Bits.nextInt(valid.size());
- return valid.get(r);
- }
-
- boolean contains(Node node)
- {
- return sites.contains(node);
- }
-
- /**
- Copy out the Node list.
- */
- Collection<Node> get()
- {
- Collection<Node> result = new ArrayList<Node>(sites);
- return result;
- }
-
- /**
- Last replica in the chain.
- */
- Node last()
- {
- // Last replica in the chain is first in our list
- return sites.getFirst();
- }
-
- public String toString()
- {
- String result = "for: " + object + " : ";
- for (Node node : sites)
- result += node + " ";
- return result;
- }
-
- @Override
- public Iterator<Node> iterator()
- {
- return sites.iterator();
- }
-}
diff --git a/sim/gobs/src/gobs/sim/Statistics.java b/sim/gobs/src/gobs/sim/Statistics.java
deleted file mode 100644
index 43f28d7..0000000
--- a/sim/gobs/src/gobs/sim/Statistics.java
+++ /dev/null
@@ -1,38 +0,0 @@
-
-package gobs.sim;
-
-import java.util.*;
-
-/**
- * Stores results as doubles from a Simulator run.
- * */
-
-public class Statistics
-{
- public int unique = 0;
-
- public Properties results = new Properties();
-
- public double nodes = 0;
- public double maxDeclustering = 0.0;
- public double totalTransfers = 0;
- public double affected = 0;
-
- public int lostObjects = 0;
-
- public List<Integer> flexibilities = new ArrayList<Integer>();
-
- public int idleReads = 0;
- public int busyReads = 0;
-
- public int idleWrites = 0;
- public int busyWrites = 0;
-
- double avgFlexibility()
- {
- double sum = 0.0;
- for (Integer i : flexibilities)
- sum += i;
- return sum/flexibilities.size();
- }
-}
diff --git a/sim/gobs/src/gobs/sim/Termination.java b/sim/gobs/src/gobs/sim/Termination.java
deleted file mode 100644
index 0a2aa25..0000000
--- a/sim/gobs/src/gobs/sim/Termination.java
+++ /dev/null
@@ -1,19 +0,0 @@
-
-package gobs.sim;
-
-/**
- * Enumerate possible simulation termination conditions
- * */
-
-enum Termination
-{
- /**
- Terminate when we have encountered a given number of faults
- */
- FAULTS,
-
- /**
- Terminate when a given amount of simulation time has elapsed
- */
- TIME
-}
diff --git a/sim/gobs/src/gobs/sim/TraceFiles.java b/sim/gobs/src/gobs/sim/TraceFiles.java
deleted file mode 100644
index c7a8782..0000000
--- a/sim/gobs/src/gobs/sim/TraceFiles.java
+++ /dev/null
@@ -1,110 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-import java.util.List;
-import java.util.Properties;
-
-import gobs.util.*;
-
-/**
- * Generates files from tracefile.
- *
- * Overwrites Simulator.fileCount!
- *
- * File format: "file <size> <strip> <width> <replicas>"
- *
- * If width is "OPT", width is the number of servers
- * divided by replicas. If width is "MAX", width is
- * the number of servers.
- *
- * Required properties settings: filetrace
- * */
-
-class TraceFiles
- extends FileFactory
-{
- String filename;
- List<String> lines = null;
- int index = 0;
-
- int nodes = 0;
-
- /**
- Opens trace file based on Simulator property filetrace.
- Maintains an internal list of lines generated by LineReader.
- */
- TraceFiles(Properties properties)
- {
- filename = Tools.string(properties, "filetrace");
- nodes = Tools.integer(properties, "nodes");
- try
- {
- lines = LineReader.read(new java.io.File(filename));
- }
- catch (java.io.FileNotFoundException e)
- {}
- finally
- {
- if (lines == null)
- Tools.bail("TraceFiles: Could not read: \"" +
- filename + "\"");
- }
- }
-
- /**
- Grab the next File from the trace file.
- @return The {@link File} or null if exhausted.
- */
- public File get()
- {
- if (index > lines.size())
- return null;
-
- String[] tokens = LineReader.tokenize(lines.get(index));
-
- String file = tokens[0];
- if (! file.equals("file"))
- Tools.bail("Does not compute (see javadocs): " +
- lines.get(index));
-
- BigInteger size = BigInteger.ZERO;
- BigInteger strip = BigInteger.ZERO;
- int width = 0;
- int replicas = 0;
- try
- {
- String w;
- size = new BigInteger(tokens[1]);
- strip = new BigInteger(tokens[2]);
- replicas = Integer.parseInt(tokens[4]);
- w = tokens[3];
- if (w.equals("MAX"))
- width = nodes;
- else if (w.equals("OPT"))
- width = nodes/replicas;
- else
- width = Integer.parseInt(w);
- }
- catch (NumberFormatException e)
- {
- Tools.bail("TraceFiles: Error reading file: " +
- filename + "\n" +
- "line: " + lines.get(index));
- }
-
- index++;
-
- return new File(size, strip, width, replicas);
- }
-
- /**
- Does not advance the index into the file.
- */
- public BigInteger getSize()
- {
- String[] tokens = LineReader.tokenize(lines.get(index));
- BigInteger size = new BigInteger(tokens[1]);
- return size;
- }
-}
diff --git a/sim/gobs/src/gobs/sim/VertexGroups.java b/sim/gobs/src/gobs/sim/VertexGroups.java
deleted file mode 100644
index 6c491e8..0000000
--- a/sim/gobs/src/gobs/sim/VertexGroups.java
+++ /dev/null
@@ -1,121 +0,0 @@
-
-package gobs.sim;
-
-import java.math.BigInteger;
-import java.util.*;
-
-import gobs.util.Tools;
-
-/**
- * Places objects on the nearest node using the XOR distance metric.
- * */
-
-public class VertexGroups
- extends Metric
-{
- /**
- The prefix length.
- */
- int P;
-
- /**
- @param simulator Reference to the Simulator
- @param source A ReplicaSource
- @param P The prefix length to use for vertex grouping
- */
- VertexGroups(Simulator simulator, ReplicaSource source, int P)
- {
- super(simulator, source);
- this.P = P;
- }
-
- public BigInteger distance(BigInteger id1, BigInteger id2)
- {
- return id1.xor(id2);
- }
-
- Sites sites(Gob object, List<Node> nodes)
- {
- if (object instanceof SingleObject)
- return sites((SingleObject) object, nodes);
- else
- throw new IllegalArgumentException
- ("Incorrect use of VertexGroups: " +
- "object must be an SingleObject.");
- }
-
- Sites sites(SingleObject object, List<Node> nodes)
- {
- Sites result = new Sites(object);
-
- Node primary = lookup(object.id, nodes);
- result.primary(primary);
-
- int i = 1;
- for (; i < object.replicas-1; i++)
- {
- BigInteger t = flip(simulator.B, i, object.id);
- Node node = lookup(t, nodes);
- result.secondary(node);
- }
-
- BigInteger t = flip(simulator.B, i, object.id);
- Node last = lookup(t, nodes);
- result.last(last);
-
- return result;
- }
-
- static BigInteger flip(int B, int i, BigInteger id)
- {
- int v = (int) Math.ceil(B/8.0);
- byte[] val = new byte[v];
- int vi = (i-1)/8;
- int vj = (B-i)%8;
- byte b = new Integer(1 << vj).byteValue();
-
- val[vi] = b;
-
- BigInteger op = new BigInteger(val);
- return op.xor(id);
- }
-
- /**
- Bit flipper.
- */
- public static void main(String[] args)
- {
- if (args.length < 3)
- Tools.bail("Need 3 numbers!");
-
- int B = Integer.parseInt(args[0]);
- int i = Integer.parseInt(args[1]);
- BigInteger id = new BigInteger(args[2], 10);
-
- System.out.println("argument: " + Addressable.bitString(B, id));
-
- System.out.println("result: " +
- Addressable.bitString(B, flip(B, i, id)));
- }
-
- @Override
- void drop(Node node)
- {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- void register(Node node)
- {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- boolean share(Node node1, Node node2)
- {
- // TODO Auto-generated method stub
- return true;
- }
-}
diff --git a/sim/gobs/src/gobs/sweep/AbstractSweep.java b/sim/gobs/src/gobs/sweep/AbstractSweep.java
deleted file mode 100644
index d7671c0..0000000
--- a/sim/gobs/src/gobs/sweep/AbstractSweep.java
+++ /dev/null
@@ -1,457 +0,0 @@
-
-package gobs.sweep;
-
-import java.util.*;
-
-import org.jfree.data.xy.XYSeries;
-
-import gobs.sim.*;
-import gobs.util.*;
-
-/**
- * Reusable functions for parameter sweeps.
- * */
-
-public abstract class AbstractSweep
-{
- public Properties properties = new Properties();
- List<String> values;
-
- public int repeats;
-
- static String path = null;
- static Date launch = new Date();
-
- AbstractSweep()
- {}
-
- AbstractSweep(Properties properties)
- {
- this.properties = properties;
- }
-
- AbstractSweep(String[] args)
- {
- properties = getopts(args);
- }
-
- /**
- Read properties files and
- repeat count from command line,
- initialize random number generator, etc.
- */
- public static Properties getopts(String[] args)
- {
- Properties result = new Properties();
-
- if (args.length == 0)
- {
- System.out.println("usage: -n <n> <file.cfg>+");
- System.exit(0);
- }
-
- int cfgs = 0;
- for (int i = 0; i < args.length; i++)
- {
- if (args[i].equals("-n"))
- {
- result.setProperty("repeats", args[++i]);
- }
- else if (args[i].equals("-c"))
- {
- result.setProperty("cores", args[++i]);
- }
- else if (args[i].equals("-o"))
- {
- result.setProperty("output", args[++i]);
- }
- else if (args[i].equals("-p"))
- {
- path(args[++i]);
- }
- else if (args[i].contains("="))
- {
- int index = args[i].indexOf('=');
- String key = args[i].substring(0, index);
- String value = args[i].substring(index+1);
- result.setProperty(key, value);
- }
- else
- {
- Tools.load(result, path, args[i]);
- cfgs++;
- }
- }
-
- if (cfgs == 0)
- Tools.bail("Need at least one input file!");
-
- return result;
- }
-
- static void path(String p)
- {
- if (! p.endsWith("/"))
- p = p+"/";
- path = p;
- }
-
- /**
- Split on semicolon.
- */
- public static List<String> values(String text)
- {
- List<String> result = Tools.stringToList(text);
- return result;
- }
-
- public static List<String> values(String step, int min, int max)
- {
- if (step.equals("all"))
- return all(min,max);
- else if (step.equals("tens"))
- return tens(min,max);
- else if (step.equals("exps"))
- return exps(min,max);
- else if (step.equals("mids"))
- return mids(min,max);
- else if (step.startsWith("interval"))
- return interval(step, min, max);
- else if (step.startsWith("literal"))
- return literal(step);
- else
- Tools.bail("Sweep.values(): Bad step: " + step);
- return null;
- }
-
- /**
- Sweep over all integer values between min and max.
- */
- static List<String> all(int min, int max)
- {
- List<String> result = new ArrayList<String>(max-min+1);
- for (int i = min; i <= max; i++)
- result.add(new Integer(i).toString());
- return result;
- }
-
- /**
- Sweep over all integer values between min and max that
- are multiples of 10.
- */
- public static List<String> tens(int min, int max)
- {
- List<String> result = new ArrayList<String>(max-min+1);
- result.add(new Integer(min).toString());
- for (int i = min+1; i < max; i++)
- if (i % 10 == 0)
- result.add(new Integer(i).toString());
- if (min != max)
- result.add(new Integer(max).toString());
- return result;
- }
-
- /**
- Sweep over all integer values between min and max that
- are the product of min and 2^i for some i.
- */
- public static List<String> exps(int min, int max)
- {
- List<String> result = new ArrayList<String>();
-
- int p = 1;
- int v = min;
-
- while (v*p < max)
- {
- result.add(new Integer(v*p).toString());
- p *= 2;
- }
- result.add(new Integer(max).toString());
-
- return result;
- }
-
- /**
- Sweep over all integer values between min and max that
- are the product of min and 2^i for some i, and the values
- between those.
- */
- public static List<String> mids(int min, int max)
- {
- List<String> result = new ArrayList<String>();
-
- int v = min;
- int p = 1;
- int previous = -1;
-
- int vp = 0;
- while ((vp = v*p) < max)
- {
- if (previous > 0)
- {
- int m = (vp+previous) / 2;
- if (m != vp)
- result.add(new Integer(m).toString());
- }
- result.add(new Integer(vp).toString());
- previous = vp;
- p *= 2;
- }
- int m = (max+previous) / 2;
- if (m != previous)
- result.add(new Integer(m).toString());
- result.add(new Integer(max).toString());
-
- return result;
- }
-
- /**
- Sweep over all values between min and max
- stepping over the interval argument.
- @param arg The argument, e.g., "interval:4".
- @return The list, e.g., min, min+4, min+8, max.
- */
- static List<String> interval(String arg, int min, int max)
- {
- String[] tokens = arg.split(":");
-
- int interval = 0;
- try
- {
- interval = Integer.parseInt(tokens[1]);
- }
- catch (NumberFormatException e)
- {
- Tools.bail("AbstractSweep: interval must be an integer!");
- }
-
- Tools.check(interval > 0,
- "AbstractSweep: interval must be a positive integer!");
-
- List<String> result = new ArrayList<String>();
- result.add(""+min);
- int i = 1;
- while (min + interval*i < max)
- {
- result.add("" + (min+interval*i));
- i++;
- }
- if (!result.contains(""+max))
- result.add(""+max);
- return result;
- }
-
- /**
- Sweep over all integer values given by the literal.
- Ignores min and max.
- @param arg The argument, e.g., "literal:2,4,5".
- @return The list, e.g., 2,4,5.
- */
- static List<String> literal(String arg)
- {
- int p = arg.indexOf(":");
- String vals = arg.substring(p+1);
- String[] tokens = vals.split(",");
-
- List<String> result = new ArrayList<String>();
- for (String token : tokens)
- result.add(token);
-
- return result;
- }
-
- public static List<String> values(String step,
- double min, double max)
- {
- /*
- if (step.equals("all"))
- return all(min,max);
- else if (step.equals("tens"))
- return tens(min,max);
- else
- */
- if (step.equals("exps"))
- return exps(min,max);
- else if (step.equals("mids"))
- return mids(min,max);
- else if (step.startsWith("interval"))
- return interval(step, min, max);
- else if (step.startsWith("literal"))
- return literal(step);
- else
- Tools.bail("Sweep.values(): Bad step: " + step);
- return null;
- }
-
- /**
- Sweep over all integer values between min and max that
- are the product of min and 2^i for some i.
- */
- public static List<String> exps(double min, double max)
- {
- List<String> result = new ArrayList<String>();
-
- double p = 1.0;
- double v = min;
-
- while (v*p < max)
- {
- result.add(new Double(v*p).toString());
- p *= 2;
- }
- result.add(new Double(max).toString());
-
- return result;
- }
-
- /**
- Sweep over all integer values between min and max that
- are the product of min and 2^i for some i, and the values
- between those.
- */
- public static List<String> mids(double min, double max)
- {
- List<String> result = new ArrayList<String>();
-
- double v = min;
- double p = 1;
- double previous = -1;
-
- double vp = 0;
- while ((vp = v*p) < max)
- {
- if (previous > 0)
- {
- double m = (vp+previous) / 2;
- if (m != vp)
- result.add(new Double(m).toString());
- }
- result.add(new Double(vp).toString());
- previous = vp;
- p *= 2;
- }
- double m = (max+previous) / 2;
- if (m != previous)
- result.add(new Double(m).toString());
- result.add(new Double(max).toString());
-
- return result;
- }
-
- /**
- Sweep over all values between min and max
- stepping over the interval argument.
- @param arg The argument, e.g., "interval:4".
- @return The list, e.g., min, min+4, min+8, max.
- */
- static List<String> interval(String arg, double min, double max)
- {
- String[] tokens = arg.split(":");
-
- double interval = 0;
- try
- {
- interval = Double.parseDouble(tokens[1]);
- }
- catch (NumberFormatException e)
- {
- Tools.bail("AbstractSweep: interval must be an double!");
- }
-
- Tools.check(interval > 0,
- "AbstractSweep: interval must be a positive double!");
-
- List<String> result = new ArrayList<String>();
- result.add(""+min);
- int i = 1;
- while (min + interval*i < max)
- {
- result.add("" + (min+interval*i));
- i++;
- }
- if (!result.contains(""+max))
- result.add(""+max);
- return result;
- }
-
- /**
- Set properties from memory.
- */
- void initialize(Properties properties)
- {
- this.properties = properties;
- }
-
- /**
- Set properties from command-line.
- */
- void initialize(String[] args)
- {
- this.properties = getopts(args);
- }
-
- public static XYSeries scaleX(XYSeries series, double scale)
- {
- XYSeries result = new XYSeries(series.getKey());
- for (int i = 0; i < series.getItemCount(); i++)
- {
- Number x = series.getX(i);
- Number y = series.getY(i);
- double dx = x.doubleValue()/scale;
- result.add(dx,y);
- }
- return result;
- }
-
- static Set<String> values(Collection<Simulator> list, String name)
- {
- Set<String> result = new HashSet<String>();
- for (Simulator simulator : list)
- {
- String v = Tools.string(simulator.properties, name);
- result.add(v);
- }
- return result;
- }
-
- static void free(Simulator simulator)
- {
- if (! Tools.disabled(simulator.properties, "sweep.free"))
- {
- simulator.free();
- System.gc();
- }
- }
-
- public static void reportRuntime()
- {
- long t = (new Date().getTime()-launch.getTime())/(60*1000);
- System.out.println("took " + t + " minutes");
- }
-
- /**
- Seed the random number generator based on the "seed" property.
- */
- public static void seed(Properties properties)
- {
- if (Tools.has(properties, "seed"))
- Bits.init(Tools.integer(properties, "seed"));
- else
- Bits.init(true);
- Bits.lock();
- }
-
- /**
- Debugging only.
- */
- public static void main(String[] args)
- {
- int i1 = Integer.parseInt(args[0]);
- int i2 = Integer.parseInt(args[1]);
-
- List<String> list = mids(i1,i2);
-
- System.out.println(list);
- }
-}
diff --git a/sim/gobs/src/gobs/sweep/ArraySweep.java b/sim/gobs/src/gobs/sweep/ArraySweep.java
deleted file mode 100644
index ffe07ec..0000000
--- a/sim/gobs/src/gobs/sweep/ArraySweep.java
+++ /dev/null
@@ -1,185 +0,0 @@
-
-package gobs.sweep;
-
-import java.util.*;
-
-import org.jfree.data.xy.XYSeries;
-
-import gobs.sim.*;
-import gobs.util.*;
-
-/**
- * Reusable framework for parameter sweeps.
- * Returns a set of XYSeriesCollection
- * */
-
-public class ArraySweep
- extends AbstractSweep
-{
- Map<String,Simulator> sims = new Hashtable<String,Simulator>();
- List<Statistics> stats = new Vector<Statistics>();
-
- static String path = null;
- static Date launch = new Date();
-
- public ArraySweep()
- {}
-
- public ArraySweep(Properties properties)
- {
- super(properties);
- }
-
- public ArraySweep(String[] args)
- {
- super(args);
- }
-
- /**
- Execute the parameter sweep for.
- For each value in values, substitute it for xname in the
- properties object. Run the simulation and extract the
- yname property for the plot.
- */
- public List<XYSeries> execute(String description, String xname,
- List<String> values, String yname)
- {
- return execute(description, xname, values, null, yname);
- }
-
- /**
- Execute the parameter sweep for.
- For each value in values, substitute it for xname in the
- properties object. Run the simulation and extract the
- yname property for the plot.
- @param description Description for the series
- @param xname The name of the property to vary
- @param values The values to plug into property xname
- @param dname The property name to read to obtain x coordinate
- values for the output series (domain name)
- @param yname The property name to read to obtain y coordinate
- values for the output series
- */
- public List<XYSeries> execute(String description, String xname,
- List<String> values, String dname,
- String yname)
- {
- List<XYSeries> collection = new ArrayList<XYSeries>();
-
- repeats = Tools.integer(properties, "repeats");
- System.out.println("repeats: " + repeats);
-
- if (repeats <= 0)
- System.out.println("WARNING: repeats=" + repeats);
-
- for (String v : values)
- {
- System.out.println(xname + ": " + v);
- Set<double[]> xresult = new HashSet<double[]>();
- Set<double[]> yresult = new HashSet<double[]>();
- for (int i = 0; i < repeats; i++)
- {
- System.out.println("execute");
- properties.setProperty("unique", new Integer(i).toString());
- properties.setProperty(xname, v);
- Simulator simulator = new Simulator(properties);
- simulator.execute();
- stats.add(simulator.stats);
- /* System.out.println("result: " +
- Arrays.toString(result(simulator, yname))); */
- if (dname != null)
- xresult.add(result(simulator, dname));
- yresult.add(result(simulator, yname));
- }
- XYSeries series = new XYSeries(description + v);
- if (dname == null)
- arrayAvgToSeries(yresult, series);
- else
- arrayAvgToSeries(longest(xresult), yresult, series);
- collection.add(series);
- }
- return collection;
- }
-
- /**
- Extract the variable name from the simulator results.
- Array format is from java.util.Arrays.toString(),
- e.g., "[4.5,2.3,9.0]"
- */
- double[] result(Simulator simulator, String name)
- {
- String text = simulator.stats.results.getProperty(name);
- int length = text.length();
- String[] tokens = text.substring(1,length-1).split(",");
- double[] result = new double[tokens.length];
- int i = 0;
- for (String token : tokens)
- {
- try
- {
- result[i++] = Double.parseDouble(token.trim());
- }
- catch (Exception e)
- {
- Tools.bail("ArraySweep.result(): Bad token: " + token);
- }
- }
- return result;
- }
-
- void arrayAvgToSeries(Set<double[]> results, XYSeries series)
- {
- int max = maxLength(results);
- for (int i = 0; i < max; i++)
- series.add(i, avg(i, results));
- }
-
- void arrayAvgToSeries(double[] xresult, Set<double[]> yresult,
- XYSeries series)
- {
- int max = xresult.length;
-
- for (int i = 0; i < max; i++)
- series.add(xresult[i], avg(i, yresult));
- }
-
- double[] longest(Set<double[]> results)
- {
- double[] longest = new double[0];
- for (double[] result : results)
- if (result.length > longest.length)
- longest = result;
- return longest;
- }
-
- int maxLength(Set<double[]> results)
- {
- int max = 0;
- for (double[] result : results)
- if (result.length > max)
- max = result.length;
- return max;
- }
-
- double avg(int i, Set<double[]> results)
- {
- double total = 0.0;
- for (double[] result : results)
- if (i < result.length)
- total += result[i];
- return total/results.size();
- }
-
- /**
- Debugging only.
- */
- public static void main(String[] args)
- {
- int i1 = Integer.parseInt(args[0]);
- int i2 = Integer.parseInt(args[1]);
-
- List<String> list = mids(i1,i2);
-
- System.out.println(list);
- }
-}
diff --git a/sim/gobs/src/gobs/sweep/Helpers.java b/sim/gobs/src/gobs/sweep/Helpers.java
deleted file mode 100755
index bb3972a..0000000
--- a/sim/gobs/src/gobs/sweep/Helpers.java
+++ /dev/null
@@ -1,41 +0,0 @@
-
-package gobs.sweep;
-
-import gobs.sim.RAID;
-import gobs.util.Tools;
-
-import java.util.*;
-
-/**
- * GOBS-specific sweep helpers.
- * */
-
-public class Helpers
-{
- public static List<String> valuesMTTF(Properties properties)
- {
- double minMTTF = Tools.decimal(properties, "disk.mttf.min");
- double maxMTTF = Tools.decimal(properties, "disk.mttf.max");
- String stepMTTF = Tools.string(properties, "disk.mttf.step");
- List<String> valuesMTTF =
- Sweep.values(stepMTTF, minMTTF, maxMTTF);
- return valuesMTTF;
- }
-
- public static RAID setupRAID(Properties properties, String system)
- {
- double diskSize = Tools.decimal(properties, "disk.size");
- double diskSpeed = Tools.decimal(properties, "disk.speed");
- int nodeDevices = Tools.integer(properties,
- system+".node.osds");
- String spec = Tools.string(properties, system+".raid");
- RAID raid = new RAID(spec, diskSize, diskSpeed);
- int nodes = raid.estimateNodes(properties, nodeDevices);
- properties.setProperty("raid", spec);
- properties.setProperty("node.count", ""+nodes);
- properties.setProperty("node.osds", ""+nodeDevices);
- int replicas = Tools.integer(properties, system+".replicas");
- properties.setProperty("file.replicas", ""+replicas);
- return raid;
- }
-}
diff --git a/sim/gobs/src/gobs/sweep/ParallelSweep.java b/sim/gobs/src/gobs/sweep/ParallelSweep.java
deleted file mode 100644
index b23d7b0..0000000
--- a/sim/gobs/src/gobs/sweep/ParallelSweep.java
+++ /dev/null
@@ -1,151 +0,0 @@
-
-package gobs.sweep;
-
-import java.util.*;
-import java.util.concurrent.*;
-
-import org.jfree.data.xy.XYSeries;
-
-import gobs.sim.*;
-import gobs.util.*;
-
-/**
- * Reusable framework for parallel parameter sweeps.
- *
- * Experiments that subclass this class
- * */
-
-public class ParallelSweep
- extends Sweep
-{
- int cores = -1;
-
- ParallelSweep(int cores)
- {
- super();
- this.cores = cores;
- }
-
- ParallelSweep(Properties properties)
- {
- super(properties);
- this.cores = Tools.integer(this.properties, "cores");
- }
-
- public ParallelSweep(String[] args)
- {
- super(args);
- this.cores = Tools.integer(this.properties, "cores");
- }
-
- class SimulatorExecution
- extends Thread
- {
- Simulator simulator;
-
- SimulatorExecution(Simulator simulator)
- {
- this.simulator = simulator;
- }
-
- public void run()
- {
- simulator.execute();
- System.out.println("Simulator done: " + simulator.string("nodes"));
- }
- }
-
- /**
- Execute the parameter sweep.
- For each value in values, substitute it for xname in the
- properties object. Run the simulation and extract the
- yname property for the plot.
- */
- public XYSeries execute(String description, String xname,
- List<String> values, String yname)
- {
- repeats = Tools.integer(properties, "repeats");
-
- if (repeats <= 0)
- System.out.println("WARNING: repeats=" + repeats);
-
- System.out.println("cores: " + cores);
-
- ExecutorService service = Executors.newFixedThreadPool(cores);
-
- XYSeries series = new XYSeries(description);
- for (String v : values)
- {
- for (int i = 0; i < repeats; i++)
- {
- Simulator simulator = new Simulator();
- properties.setProperty("unique", new Integer(i).toString());
- properties.setProperty(xname, v);
- simulator.initialize((Properties) properties.clone());
- sims.put(v + "_" + i, simulator);
- service.execute(new SimulatorExecution(simulator));
- }
- }
-
- service.shutdown();
- System.out.println("Submission complete.");
- boolean complete = true;
- try
- {
- complete = service.awaitTermination(repeats*values.size()*20,
- TimeUnit.DAYS);
- }
- catch (Exception e)
- {
- System.out.println(e);
- Tools.bail("Error!");
- }
- if (! complete)
- Tools.bail("Timeout occurred!");
- System.out.println("Termination complete.");
-
- for (String v : values)
- {
- double total = 0.0;
- for (int i = 0; i < repeats; i++)
- {
- Simulator simulator = sims.get(v + "_" + i);
- try
- {
- System.out.println("result: " + result(simulator, yname));
- }
- catch (NullPointerException e)
- {
- System.out.println("No result: " + yname + " " +
- v + " " + i);
- }
- total += result(simulator, yname);
- }
- System.out.println("avg: " + total/repeats);
- series.add(Double.parseDouble(v), total/repeats);
- }
- return series;
- }
-
- /**
- Extract the variable name from the simulator results.
- */
- double result(Simulator simulator, String name)
- {
- return Double.parseDouble
- (simulator.stats.results.getProperty(name));
- }
-
- /**
- Debugging only.
- */
- public static void main(String[] args)
- {
- int i1 = Integer.parseInt(args[0]);
- int i2 = Integer.parseInt(args[1]);
-
- List<String> list = mids(i1,i2);
-
- System.out.println(list);
- }
-}
diff --git a/sim/gobs/src/gobs/sweep/Sweep.java b/sim/gobs/src/gobs/sweep/Sweep.java
deleted file mode 100644
index a3eb10b..0000000
--- a/sim/gobs/src/gobs/sweep/Sweep.java
+++ /dev/null
@@ -1,227 +0,0 @@
-
-package gobs.sweep;
-
-import java.util.*;
-
-import org.jfree.data.xy.XYSeries;
-
-import gobs.sim.*;
-import gobs.util.*;
-
-/**
- * Reusable framework for parameter sweeps.
- *
- * Experiments that subclass this class
- * */
-
-public class Sweep
- extends AbstractSweep
-{
- static
- {
- System.out.println("SWEEP_START: " + Time.sdf(new Date()));
- }
-
- public Map<String,Simulator> sims =
- new Hashtable<String,Simulator>();
-
- public Sweep()
- {
- super();
- }
-
- public Sweep(Properties properties)
- {
- super(properties);
- }
-
- public Sweep(String[] args)
- {
- super(args);
- }
-
- /**
- Execute the parameter sweep.
- For each value in values, substitute it for xname in the
- properties object. Run the simulation and store it in
- sims under String "xname=value;unique=i".
- Store values for later use with {@link extract}.
- @param xname The property that will take the varying value.
- @param values The values to plug into property xname.
- */
- public void execute(String xname, List<String> values)
- {
- this.values = values;
- repeats = Tools.integer(properties, "repeats");
-
- if (repeats <= 0)
- System.out.println("WARNING: repeats=" + repeats);
-
- for (String v : values)
- {
- for (int i = 0; i < repeats; i++)
- {
- String tag = xname+"="+v+";unique="+i;
- System.out.println("\nEXECUTE: " + tag);
- properties.setProperty("unique", new Integer(i).toString());
- properties.setProperty(xname, v);
- properties.setProperty("tag", tag);
- Simulator simulator = new Simulator(properties);
- simulator.execute();
- sims.put(tag, simulator);
- }
- }
- }
-
- /**
- Execute the 2D parameter sweep.
- For each value in values, substitute it for name in the
- properties object. Run the simulation and store it in
- sims under String "name1=value1;name2=value2".
- @param name1 The property that will take the values from values1.
- @param values1 The values to plug into property name1.
- @param name2 The property that will take the values from values2.
- @param values2 The values to plug into property name2.
- */
- public void execute(String name1, List<String> values1,
- String name2, List<String> values2)
- {
- repeats = Tools.integer(properties, "repeats");
-
- if (repeats <= 0)
- System.out.println("WARNING: repeats=" + repeats);
-
- for (String v1 : values1)
- {
- for (String v2 : values2)
- {
- for (int i = 0; i < repeats; i++)
- {
- execute(name1,v1,name2,v2,i);
- }
- }
- }
- }
-
- /**
- Helper for execute().
- */
- void execute(String name1, String value1,
- String name2, String value2, int unique)
- {
- String tag = name1+"="+value1+";"+name2+"="+value2+
- ";unique="+unique;
- System.out.println("\nEXECUTE: " + tag);
- properties.setProperty("tag", tag);
- properties.setProperty("unique", new Integer(unique).toString());
- properties.setProperty(name1, value1);
- properties.setProperty(name2, value2);
- Simulator simulator = new Simulator(properties);
- simulator.execute();
- sims.put(tag, simulator);
- free(simulator);
- }
-
- /**
- Extract and average the values of yname
- @return The series (values,yname(values))
- */
- public XYSeries extract(String description,
- String xname, String yname)
- {
- XYSeries series = new XYSeries(description);
- for (String v : values)
- {
- double total = 0.0;
- for (int i = 0; i < repeats; i++)
- {
- String tag = xname+"="+v+";unique="+i;
- Simulator sim = sims.get(tag);
- total += result(sim, yname);
- }
- System.out.println("avg: " + total/repeats);
- series.add(Double.parseDouble(v), total/repeats);
- }
- return series;
- }
-
- /**
- Execute the parameter sweep.
- For each value in values, substitute it for xname in the
- properties object. Run the simulation and extract the
- yname property for the plot.
- @param description Tag passed into plot legend
- @param xname The property that will take the varying value
- @param values The values to plug into property xname
- @param yname The property to extract into the result
- @return The series (values,yname(values))
- */
- public XYSeries perform(String description, String xname,
- List<String> values, String yname)
- {
- repeats = Tools.integer(properties, "repeats");
-
- if (repeats <= 0)
- System.out.println("WARNING: repeats=" + repeats);
-
- XYSeries series = new XYSeries(description);
- for (String v : values)
- {
- double total = 0.0;
- for (int i = 0; i < repeats; i++)
- {
- System.out.println("execute");
- properties.setProperty("unique", new Integer(i).toString());
- properties.setProperty(xname, v);
- Simulator simulator = new Simulator(properties);
- simulator.execute();
- System.out.println("result: " + result(simulator, yname));
- total += result(simulator, yname);
- free(simulator);
- }
- System.out.println("avg: " + total/repeats);
- series.add(Double.parseDouble(v), total/repeats);
- }
- return series;
- }
-
- /**
- Extract the variable name from the simulator results.
- */
- double result(Simulator simulator, String name)
- {
- String result = simulator.stats.results.getProperty(name);
- if (result == null || result.length() == 0)
- Tools.bail("Simulator did not set property: " + name);
- return Double.parseDouble(result);
- }
-
- public static void reportRuntime()
- {
- long t = (new Date().getTime()-launch.getTime())/(60*1000);
- System.out.println("TOOK: " + t + " minutes");
- }
-
- public void free()
- {
- if (! Tools.disabled(properties, "sweep.free"))
- {
- for (Simulator sim : sims.values())
- sim.free();
- System.gc();
- }
- }
-
- /**
- Debugging only.
- */
- public static void main(String[] args)
- {
- int i1 = Integer.parseInt(args[0]);
- int i2 = Integer.parseInt(args[1]);
-
- List<String> list = mids(i1,i2);
-
- System.out.println(list);
- }
-}
diff --git a/sim/gobs/src/gobs/sweep/x/Affected01.java b/sim/gobs/src/gobs/sweep/x/Affected01.java
deleted file mode 100644
index bf253f5..0000000
--- a/sim/gobs/src/gobs/sweep/x/Affected01.java
+++ /dev/null
@@ -1,41 +0,0 @@
-
-package gobs.sweep.x;
-
-import java.util.*;
-
-import org.jfree.data.xy.XYSeries;
-
-import gobs.sweep.*;
-import gobs.util.Tools;
-import gobs.plot.SimplePlot;
-
-/**
- * Modifies node count.
- * Reports fraction of servers involved in rebuild.
- *
- * Usage: Affected01 -n <repeats> gobs.cfg params.cfg Decluster01.cfg
- * */
-
-class Affected01
- extends Sweep
-{
- Affected01(String[] args)
- {
- super(args);
- }
-
- public static void main(String[] args)
- {
- Affected01 sweep = new Affected01(args);
-
- int minNodes = Tools.integer(sweep.properties, "minNodes");
- int maxNodes = Tools.integer(sweep.properties, "maxNodes");
- List<String> values = Sweep.tens(minNodes, maxNodes);
-
- XYSeries series =
- sweep.perform("Affected", "nodes", values, "affected");
-
- SimplePlot.plot(series, "Number of Affected Servers",
- "nodes", "load", "Affected01.eps");
- }
-}
diff --git a/sim/gobs/src/gobs/sweep/x/Balance01.java b/sim/gobs/src/gobs/sweep/x/Balance01.java
deleted file mode 100644
index 5f1e12f..0000000
--- a/sim/gobs/src/gobs/sweep/x/Balance01.java
+++ /dev/null
@@ -1,78 +0,0 @@
-
-package gobs.sweep.x;
-
-import java.util.*;
-
-import org.jfree.data.xy.XYSeries;
-import org.jfree.data.xy.XYSeriesCollection;
-
-import gobs.sim.*;
-import gobs.sweep.*;
-import gobs.util.*;
-import gobs.plot.*;
-
-/**
- * Reports object load on each server. Sorted.
- *
- * Usage: Balance01 gobs.cfg params.cfg
- * */
-
-class Balance01
-{
- public static void main(String[] args)
- {
- Bits.init(true);
-
- Properties properties = Sweep.getopts(args);
- properties.setProperty("faults", "0");
-
- String output = Tools.string(properties, "output");
-
- final XYSeriesCollection collection = new XYSeriesCollection();
-
- String[] schemes =
- /* new String[]{ "Nearest", "Kademlia", "VertexGroups",
- "RUSHp" }; */
- new String[]{ "ParallelRUSH" };
- // new String[]{ "Nearest" };
- for (String scheme : schemes)
- {
- Simulator simulator = execute(properties, scheme);
- XYSeries series = extract(scheme, simulator);
- collection.addSeries(series);
- }
-
- MultiplePlot.plot(collection, "Load by Node",
- "node", "load", output);
-
- /*
- AsciiPlot.plot(collection, "Load by Node",
- "nodes", "load", output);
- */
- }
-
- static Simulator execute(Properties properties, String scheme)
- {
- properties.setProperty("impl.placement", scheme);
- Simulator simulator = new Simulator();
- simulator.initialize(properties);
- simulator.execute();
-
- return simulator;
- }
-
- static XYSeries extract(String scheme, Simulator simulator)
- {
- XYSeries series = new XYSeries(scheme);
- series.setDescription(scheme);
-
- MapSorter<Node> sorter = new MapSorter<Node>();
- Map<Node,Integer> sorted = sorter.sort(simulator.origCount);
-
- int i = 0;
- for (Node node : sorted.keySet())
- series.add(i++, sorted.get(node));
-
- return series;
- }
-}
diff --git a/sim/gobs/src/gobs/sweep/x/Balance02.java b/sim/gobs/src/gobs/sweep/x/Balance02.java
deleted file mode 100644
index 3604557..0000000
--- a/sim/gobs/src/gobs/sweep/x/Balance02.java
+++ /dev/null
@@ -1,65 +0,0 @@
-
-package gobs.sweep.x;
-
-import java.math.BigInteger;
-import java.util.*;
-
-import org.jfree.data.xy.XYSeries;
-
-import gobs.sim.*;
-import gobs.sweep.*;
-import gobs.util.*;
-import gobs.plot.SimplePlot;
-
-/**
- * Reports object load on each server. Unsorted.
- *
- * Usage: Balance02 -n <repeats> gobs.cfg params.cfg
- * */
-
-class Balance02
-{
- public static void main(String[] args)
- {
- Bits.init();
-
- Properties properties = Sweep.getopts(args);
- properties.setProperty("faults", "0");
-
- Simulator simulator = new Simulator();
- simulator.initialize(properties);
- simulator.execute();
-
- XYSeries series = new XYSeries("Balance");
-
- Metric metric = (Metric) simulator.placer;
-
- int i = 0;
- for (Node node : simulator.nodes)
- {
- series.add(i++, node.count());
-
- BigInteger closestDistance = simulator.M;
- for (Node neighbor : simulator.nodes)
- {
- if (neighbor != node)
- {
- BigInteger distance = metric.distance(node.id,neighbor.id);
- if (distance.compareTo(closestDistance) < 0)
- {
- closestDistance = distance;
- }
- }
- }
-
- System.out.println
- ("i: " + i +
- " node: " + node +
- " load: " + node.count() +
- "\n\t distance: " + closestDistance);
- }
-
- SimplePlot.plot(series, "Load Distribution", "nodes", "load",
- "Balance02.eps");
- }
-}
diff --git a/sim/gobs/src/gobs/sweep/x/DataLoss01.java b/sim/gobs/src/gobs/sweep/x/DataLoss01.java
deleted file mode 100644
index fd37159..0000000
--- a/sim/gobs/src/gobs/sweep/x/DataLoss01.java
+++ /dev/null
@@ -1,140 +0,0 @@
-
-package gobs.sweep.x;
-
-import java.util.*;
-
-import org.jfree.data.xy.XYSeries;
-import org.jfree.data.xy.XYSeriesCollection;
-
-import gobs.sim.*;
-import gobs.sweep.*;
-import gobs.util.*;
-import gobs.plot.*;
-
-/**
- * Modifies MTTF.
- * Reports number of objects lost for varying MTTF
- *
- * Usage: DataLoss01 -n repeats -o output.eps *.cfg
- * */
-
-class DataLoss01
-{
- static Properties properties;
-
- public static void main(String[] args)
- {
- properties = Sweep.getopts(args);
-
- AbstractSweep.seed(properties);
-
- String output = Tools.string(properties, "output");
-
- List<String> systems = Tools.list(properties, "systems");
-
- String timeunit = "seconds";
- double scale = 1;
- if (Tools.has(properties, "plot.timeunit"))
- {
- timeunit = Tools.string(properties, "plot.timeunit");
- if (timeunit.equals("minutes"))
- scale = 60;
- else if (timeunit.equals("hours"))
- scale = 3600;
- else if (timeunit.equals("days"))
- scale = 86400;
- else if (timeunit.equals("years"))
- scale = 365*86400;
- }
-
- List<String> valuesMTTF = Helpers.valuesMTTF(properties);
-
- System.out.println("DataLoss01: systems: " + systems + "\n" +
- " mttf: " + valuesMTTF);
-
- final XYSeriesCollection collection = new XYSeriesCollection();
- List<XYSeries> allSeries = new ArrayList<XYSeries>();
-
- properties.setProperty("impl.placement", "Nearest");
- for (String system : systems)
- {
- properties.setProperty("system", system);
- Helpers.setupRAID(properties, system);
- String mttc = Tools.string(properties, system+".mttc");
- properties.setProperty("mttc", mttc);
- Sweep pSweep = new Sweep(properties);
- pSweep.repeats = Tools.integer(properties, "repeats");
- pSweep.execute("disk.mttf", valuesMTTF);
-
- List<XYSeries> pSeries = plots(pSweep, "NEAREST-"+system,
- valuesMTTF);
- allSeries.addAll(pSeries);
- }
-
- for (XYSeries series : allSeries)
- {
- XYSeries scaled = AbstractSweep.scaleX(series, scale);
- collection.addSeries(scaled);
- }
-
- MultiplePlot.configure(properties);
- MultiplePlot.plot(collection, "",
- "Mean Time to Disk Failure",
- "Objects Lost per Year", output);
- }
-
- /**
- Plot average number of lost objects for each MTTF.
- @param label E.g., "PAST"
- */
- static List<XYSeries> plots(Sweep sweep, String label,
- List<String> valuesMTTF)
- {
- List<XYSeries> results = new ArrayList<XYSeries>();
-
- XYSeries series = new XYSeries(label);
- for (String mttf : valuesMTTF)
- {
- double time = 0.0;
- int lost = 0;
- double total = 0.0;
- for (Simulator simulator : sweep.sims.values())
- if (simulator.string("disk.mttf").equals(mttf))
- {
- System.out.println(simulator.string("tag"));
- time += Tools.decimal(simulator.stats.results, "time");
- lost += Tools.integer(simulator.stats.results, "lost");
- total++;
- }
- series.add(Double.parseDouble(mttf), lost);
- }
- results.add(series);
-
- return results;
- }
-
- static void loadsToSeries(XYSeries series, List<Rebuild> rebuilds,
- double interval)
- {
- double longest = longestRebuild(rebuilds);
- double d = 0.0;
- while (d <= longest)
- {
- double total = 0.0;
- for (Rebuild rebuild : rebuilds)
- total += rebuild.loadOffset(d);
- double sample = total/rebuilds.size();
- series.add(d, sample);
- d += interval;
- }
- }
-
- static double longestRebuild(List<Rebuild> rebuilds)
- {
- double max = 0.0;
- for (Rebuild rebuild : rebuilds)
- if (rebuild.length() > max)
- max = rebuild.length();
- return max;
- }
-}
diff --git a/sim/gobs/src/gobs/sweep/x/DataLoss02.java b/sim/gobs/src/gobs/sweep/x/DataLoss02.java
deleted file mode 100755
index 3faf206..0000000
--- a/sim/gobs/src/gobs/sweep/x/DataLoss02.java
+++ /dev/null
@@ -1,169 +0,0 @@
-
-package gobs.sweep.x;
-
-import java.math.BigInteger;
-import java.text.DecimalFormat;
-import java.util.*;
-
-import org.jfree.data.xy.XYSeries;
-import org.jfree.data.xy.XYSeriesCollection;
-
-import gobs.sim.*;
-import gobs.sweep.*;
-import gobs.util.*;
-import gobs.plot.*;
-
-/**
- More general range of cases of mean time to object loss test.
-*/
-
-public class DataLoss02
-{
- static Properties properties;
-
- static DecimalFormat df = new DecimalFormat("0.0");
-
- public static void main(String[] args)
- {
- properties = Sweep.getopts(args);
-
- AbstractSweep.seed(properties);
-
- String output = Tools.string(properties, "output");
-
- double minMTTF = Tools.decimal(properties, "disk.mttf.min");
- double maxMTTF = Tools.decimal(properties, "disk.mttf.max");
- String stepMTTF = Tools.string(properties, "disk.mttf.step");
- List<String> valuesMTTF =
- Sweep.values(stepMTTF, minMTTF, maxMTTF);
-
- System.out.println("DataLoss02: mttf: " + valuesMTTF);
-
- final XYSeriesCollection collection = new XYSeriesCollection();
- XYSeries series;
-
- List<XYSeries> allSeries = new ArrayList<XYSeries>();
-
- double diskSpeed = Tools.decimal(properties, "disk.speed");
- double diskSize = Tools.decimal(properties, "disk.size");
-
- properties.setProperty("impl.placement", "Nearest");
- List<String> systems = Tools.list(properties, "systems");
- for (String system : systems)
- {
- int nodeDevices = Tools.integer(properties,
- system+".node.osds");
- String spec = Tools.string(properties, system+".raid");
- RAID raid = new RAID(spec, diskSize, diskSpeed);
- int nodes = raid.estimateNodes(properties, nodeDevices);
- properties.setProperty("raid", spec);
- properties.setProperty("node.count", ""+nodes);
- properties.setProperty("node.osds", ""+nodeDevices);
- Sweep pSweep = new Sweep(properties);
- pSweep.repeats = Tools.integer(properties, "repeats");
- series = pSweep.perform(system, "disk.mttf",
- valuesMTTF, "lost");
- allSeries.add(series);
- }
-
- /*
- properties.setProperty("impl.placement", "Kademlia");
- ArraySweep kSweep = new ArraySweep(properties);
- kSweep.repeats = Tools.integer(properties, "repeats");
- kSweep.execute("Kademlia", "nodes", values, "distribution");
- allSeries.addAll(kSweep.collection);
-
- properties.setProperty("impl.placement", "VertexGroups");
- ArraySweep vgSweep = new ArraySweep(properties);
- vgSweep.repeats = Tools.integer(properties, "repeats");
- vgSweep.execute("Vertex Groups", "nodes", values, "distribution");
- allSeries.addAll(vgSweep.collection);
- */
-
- for (XYSeries s : allSeries)
- collection.addSeries(s);
-
- MultiplePlot.plot(collection, "",
- "Mean Time to Disk Failure",
- "Mean Time to Object Loss", output);
-
- // AsciiPlot.plot(pSweep.series, "Maximum Rebuild Load",
- // "nodes", "load", "tmp.txt");
- }
-
- /**
- Replace the X coordinates in series with those in values.
- */
- static XYSeries setX(List<String> values, XYSeries series)
- {
- XYSeries result = new XYSeries(series.getKey());
- for (int i = 0; i < values.size(); i++)
- {
- String v = values.get(i);
- double d = Double.parseDouble(v);
- Number y = series.getY(i);
- result.add(d, y);
- }
- return result;
- }
-
- /**
- Plot average number of lost objects for each MTTF.
- @param label E.g., "PAST"
- */
- static List<XYSeries> plots(Sweep sweep, String label,
- List<String> valuesNodes,
- List<String> valuesMTTF)
- {
- List<XYSeries> results = new ArrayList<XYSeries>();
-
- for (String nodes : valuesNodes)
- {
- XYSeries series = new XYSeries(label + " N=" + nodes);
- for (String mttf : valuesMTTF)
- {
- double time = 0.0;
- int lost = 0;
- double total = 0.0;
- for (Simulator simulator : sweep.sims.values())
- if (simulator.string("nodes").equals(nodes) &&
- simulator.string("mttf").equals(mttf))
- {
- System.out.println(simulator.string("tag"));
- time += Tools.decimal(simulator.stats.results, "time");
- lost += Tools.integer(simulator.stats.results, "lost");
- total++;
- }
- if (lost > 0)
- series.add(Integer.parseInt(mttf), time/lost);
- }
- results.add(series);
- }
- return results;
- }
-
- static void loadsToSeries(XYSeries series, List<Rebuild> rebuilds,
- double interval)
- {
- double longest = longestRebuild(rebuilds);
- double d = 0.0;
- while (d <= longest)
- {
- double total = 0.0;
- for (Rebuild rebuild : rebuilds)
- total += rebuild.loadOffset(d);
- double sample = total/rebuilds.size();
- series.add(d, sample);
- d += interval;
- }
- }
-
- static double longestRebuild(List<Rebuild> rebuilds)
- {
- double max = 0.0;
- for (Rebuild rebuild : rebuilds)
- if (rebuild.length() > max)
- max = rebuild.length();
- return max;
- }
-}
diff --git a/sim/gobs/src/gobs/sweep/x/DataLoss03.java b/sim/gobs/src/gobs/sweep/x/DataLoss03.java
deleted file mode 100644
index 15040a0..0000000
--- a/sim/gobs/src/gobs/sweep/x/DataLoss03.java
+++ /dev/null
@@ -1,131 +0,0 @@
-
-package gobs.sweep.x;
-
-import java.math.BigInteger;
-import java.text.DecimalFormat;
-import java.util.*;
-
-import org.jfree.data.xy.XYSeries;
-import org.jfree.data.xy.XYSeriesCollection;
-
-import gobs.sim.*;
-import gobs.sweep.*;
-import gobs.util.*;
-import gobs.plot.*;
-
-/**
- Loss event rates.
-*/
-
-public class DataLoss03
-{
- static Properties properties;
-
- static DecimalFormat df = new DecimalFormat("0.0");
-
- static double duration;
- static double scale;
-
- public static void main(String[] args)
- {
- properties = Sweep.getopts(args);
-
- AbstractSweep.seed(properties);
-
- String output = Tools.string(properties, "output");
-
- List<String> systems = Tools.list(properties, "systems");
-
- String timeunit = "seconds";
- scale = 1;
- if (Tools.has(properties, "plot.timeunit"))
- {
- timeunit = Tools.string(properties, "plot.timeunit");
- if (timeunit.equals("minutes"))
- scale = 60;
- else if (timeunit.equals("hours"))
- scale = 3600;
- else if (timeunit.equals("days"))
- scale = 86400;
- else if (timeunit.equals("years"))
- scale = 365*86400;
- }
-
- duration = Tools.decimal(properties, "simulator.duration");
-
- List<String> valuesMTTF = Helpers.valuesMTTF(properties);
-
- System.out.println("DataLoss01: systems: " + systems + "\n" +
- " mttf: " + valuesMTTF);
-
- final XYSeriesCollection collection = new XYSeriesCollection();
- List<XYSeries> allSeries = new ArrayList<XYSeries>();
-
- properties.setProperty("impl.placement", "Nearest");
- for (String skip : new String[] { "false", "true" })
- {
- for (String system : systems)
- {
- properties.setProperty("system", system);
- Helpers.setupRAID(properties, system);
- String mttc = Tools.string(properties, system+".mttc");
- properties.setProperty("mttc", mttc);
- properties.setProperty("regimen.skip", skip);
- Sweep pSweep = new Sweep(properties);
- pSweep.repeats = Tools.integer(properties, "repeats");
- pSweep.execute("disk.mttf", valuesMTTF);
-
- String t = skip.equals("true") ? "latent" : "active";
- List<XYSeries> pSeries =
- plots(pSweep, "NEAREST-"+system+"-"+t, valuesMTTF);
- allSeries.addAll(pSeries);
- }
- }
-
- for (XYSeries series : allSeries)
- {
- XYSeries scaled = AbstractSweep.scaleX(series, scale);
- collection.addSeries(scaled);
- }
-
- MultiplePlot.configure(properties);
- MultiplePlot.plot(collection, "",
- "Mean Time to Disk Failure (years)",
- "Loss Events per Year", output);
- }
-
- /**
- Plot average number of lost objects for each MTTF.
- @param label E.g., "PAST"
- */
- static List<XYSeries> plots(Sweep sweep, String label,
- List<String> valuesMTTF)
- {
- List<XYSeries> results = new ArrayList<XYSeries>();
-
- XYSeries series = new XYSeries(label);
- for (String mttf : valuesMTTF)
- {
- double time = 0.0;
- double lost = 0;
- double total = 0.0;
- for (Simulator simulator : sweep.sims.values())
- if (simulator.string("disk.mttf").equals(mttf))
- {
- System.out.println(simulator.string("tag"));
- time += Tools.decimal(simulator.stats.results, "time");
- lost +=
- Tools.integer(simulator.stats.results, "lossevents");
- total++;
- }
- double lostRate = (lost/total)*(scale/duration);
- System.out.println("lost: " + lost + " total: " + total +
- " scale: " + scale + " duration: " + duration);
-
- series.add(Double.parseDouble(mttf), lostRate);
- }
- results.add(series);
-
- return results;
- }
-}
diff --git a/sim/gobs/src/gobs/sweep/x/DataLoss04.java b/sim/gobs/src/gobs/sweep/x/DataLoss04.java
deleted file mode 100644
index 6851a90..0000000
--- a/sim/gobs/src/gobs/sweep/x/DataLoss04.java
+++ /dev/null
@@ -1,131 +0,0 @@
-
-package gobs.sweep.x;
-
-import java.math.BigInteger;
-import java.text.DecimalFormat;
-import java.util.*;
-
-import org.jfree.data.xy.XYSeries;
-import org.jfree.data.xy.XYSeriesCollection;
-
-import gobs.sim.*;
-import gobs.sweep.*;
-import gobs.util.*;
-import gobs.plot.*;
-
-/**
- Lost object count based on fsck().
-*/
-
-public class DataLoss04
-{
- static Properties properties;
-
- static DecimalFormat df = new DecimalFormat("0.0");
-
- static double duration;
- static double scale;
-
- public static void main(String[] args)
- {
- properties = Sweep.getopts(args);
-
- AbstractSweep.seed(properties);
-
- String output = Tools.string(properties, "output");
-
- List<String> systems = Tools.list(properties, "systems");
-
- String timeunit = "seconds";
- scale = 1;
- if (Tools.has(properties, "plot.timeunit"))
- {
- timeunit = Tools.string(properties, "plot.timeunit");
- if (timeunit.equals("minutes"))
- scale = 60;
- else if (timeunit.equals("hours"))
- scale = 3600;
- else if (timeunit.equals("days"))
- scale = 86400;
- else if (timeunit.equals("years"))
- scale = 365*86400;
- }
-
- duration = Tools.decimal(properties, "simulator.duration");
-
- List<String> valuesMTTF = Helpers.valuesMTTF(properties);
-
- System.out.println("DataLoss01: systems: " + systems + "\n" +
- " mttf: " + valuesMTTF);
-
- final XYSeriesCollection collection = new XYSeriesCollection();
- List<XYSeries> allSeries = new ArrayList<XYSeries>();
-
- properties.setProperty("impl.placement", "Nearest");
- for (String skip : new String[] { "false", "true" })
- {
- for (String system : systems)
- {
- properties.setProperty("system", system);
- Helpers.setupRAID(properties, system);
- String mttc = Tools.string(properties, system+".mttc");
- properties.setProperty("mttc", mttc);
- properties.setProperty("regimen.skip", skip);
- Sweep pSweep = new Sweep(properties);
- pSweep.repeats = Tools.integer(properties, "repeats");
- pSweep.execute("disk.mttf", valuesMTTF);
-
- String t = skip.equals("true") ? "latent" : "active";
- List<XYSeries> pSeries =
- plots(pSweep, "NEAREST-"+system+"-"+t, valuesMTTF);
- allSeries.addAll(pSeries);
- }
- }
-
- for (XYSeries series : allSeries)
- {
- XYSeries scaled = AbstractSweep.scaleX(series, scale);
- collection.addSeries(scaled);
- }
-
- MultiplePlot.configure(properties);
- MultiplePlot.plot(collection, "",
- "Mean Time to Disk Failure (years)",
- "Objects Lost per Year", output);
- }
-
- /**
- Plot average number of lost objects for each MTTF.
- @param label E.g., "PAST"
- */
- static List<XYSeries> plots(Sweep sweep, String label,
- List<String> valuesMTTF)
- {
- List<XYSeries> results = new ArrayList<XYSeries>();
-
- XYSeries series = new XYSeries(label);
- for (String mttf : valuesMTTF)
- {
- double time = 0.0;
- double lost = 0;
- double total = 0.0;
- for (Simulator simulator : sweep.sims.values())
- if (simulator.string("disk.mttf").equals(mttf))
- {
- System.out.println(simulator.string("tag"));
- time += Tools.decimal(simulator.stats.results, "time");
- lost +=
- Tools.integer(simulator.stats.results, "fsckMissing");
- total++;
- }
- double lostRate = (lost/total)*(scale/duration);
- System.out.println("lost: " + lost + " total: " + total +
- " scale: " + scale + " duration: " + duration);
-
- series.add(Double.parseDouble(mttf), lostRate);
- }
- results.add(series);
-
- return results;
- }
-}
diff --git a/sim/gobs/src/gobs/sweep/x/Decluster01.java b/sim/gobs/src/gobs/sweep/x/Decluster01.java
deleted file mode 100644
index 9403cdb..0000000
--- a/sim/gobs/src/gobs/sweep/x/Decluster01.java
+++ /dev/null
@@ -1,37 +0,0 @@
-
-package gobs.sweep.x;
-
-import java.util.*;
-
-import org.jfree.data.xy.XYSeries;
-
-import gobs.plot.SimplePlot;
-import gobs.sweep.*;
-import gobs.util.*;
-
-/**
- * Modifies node count. Reports object movement load on the
- * heaviest server during rebuild.
- *
- * Usage: Decluster01 -n <repeats> gobs.cfg params.cfg Decluster01.cfg
- * */
-
-class Decluster01
-{
- public static void main(String[] args)
- {
- Bits.init();
-
- Sweep sweep = new Sweep(args);
-
- int minNodes = Tools.integer(sweep.properties, "minNodes");
- int maxNodes = Tools.integer(sweep.properties, "maxNodes");
- List<String> values = Sweep.exps(minNodes, maxNodes);
-
- XYSeries series =
- sweep.perform("Declustering", "nodes", values, "maxPulls");
-
- SimplePlot.plot(series, "Maximum Rebuild Load", "nodes", "load",
- "Decluster01.eps");
- }
-}
diff --git a/sim/gobs/src/gobs/sweep/x/Decluster01P.java b/sim/gobs/src/gobs/sweep/x/Decluster01P.java
deleted file mode 100644
index 04c511b..0000000
--- a/sim/gobs/src/gobs/sweep/x/Decluster01P.java
+++ /dev/null
@@ -1,37 +0,0 @@
-
-package gobs.sweep.x;
-
-import java.util.*;
-
-import org.jfree.data.xy.XYSeries;
-
-import gobs.plot.SimplePlot;
-import gobs.sweep.*;
-import gobs.util.*;
-
-/**
- * Modifies node count. Reports object movement load on the
- * heaviest server during rebuild.
- *
- * Usage: Decluster01 -n <repeats> gobs.cfg params.cfg Decluster01.cfg
- * */
-
-class Decluster01P
-{
- public static void main(String[] args)
- {
- Bits.init();
-
- Sweep sweep = new ParallelSweep(args);
-
- int minNodes = Tools.integer(sweep.properties, "minNodes");
- int maxNodes = Tools.integer(sweep.properties, "maxNodes");
- List<String> values = Sweep.tens(minNodes, maxNodes);
-
- XYSeries series =
- sweep.perform("Declustering", "nodes", values, "maxPulls");
-
- SimplePlot.plot(series, "Maximum Rebuild Load", "nodes", "load",
- "Decluster01.eps");
- }
-}
diff --git a/sim/gobs/src/gobs/sweep/x/Decluster02.java b/sim/gobs/src/gobs/sweep/x/Decluster02.java
deleted file mode 100644
index 5aba7b5..0000000
--- a/sim/gobs/src/gobs/sweep/x/Decluster02.java
+++ /dev/null
@@ -1,68 +0,0 @@
-
-package gobs.sweep.x;
-
-import java.util.*;
-
-import org.jfree.data.xy.XYSeriesCollection;
-
-import gobs.plot.*;
-import gobs.sweep.*;
-import gobs.util.*;
-
-/**
- * Modifies node count. Reports object movement load on the
- * heaviest server during rebuild.
- *
- * Requires properties:
- *
- * output - EPS target output
- * minNodes, maxNodes
- * step - For Sweep.values()
- * repeats - Number of repetitions for average, may be set with -n.
- *
- * Usage: Decluster02 -n <repeats> *.cfg
- * */
-
-class Decluster02
-{
- static Properties properties;
-
- public static void main(String[] args)
- {
- properties = Sweep.getopts(args);
- AbstractSweep.seed(properties);
-
- String output = Tools.string(properties, "output");
- int minNodes = Tools.integer(properties, "minNodes");
- int maxNodes = Tools.integer(properties, "maxNodes");
- String step = Tools.string(properties, "step");
- List<String> values = Sweep.values(step, minNodes, maxNodes);
-
- final XYSeriesCollection collection = new XYSeriesCollection();
-
- properties.setProperty("impl.placement", "Nearest");
- Sweep nearestSweep = new Sweep(properties);
- nearestSweep.repeats = Tools.integer(properties, "repeats");
- collection.addSeries
- (nearestSweep.perform("PAST", "nodes", values, "maxPulls"));
-
- properties.setProperty("impl.placement", "Kademlia");
- Sweep kademliaSweep = new Sweep(properties);
- kademliaSweep.repeats = Tools.integer(properties, "repeats");
- collection.addSeries
- (kademliaSweep.perform("Kademlia", "nodes", values, "maxPulls"));
-
- properties.setProperty("impl.placement", "VertexGroups");
- Sweep vgSweep = new Sweep(properties);
- vgSweep.repeats = Tools.integer(properties, "repeats");
- collection.addSeries
- (vgSweep.perform("Vertex Groups", "nodes", values, "maxPulls"));
-
- MultiLogXPlot.plot(collection, "Maximum Rebuild Load",
- "nodes", "load fraction (%)", output);
- // AsciiPlot.plot(nearestSweep.series, "Maximum Rebuild Load",
- // "nodes", "load", "tmp.txt");
-
- Sweep.reportRuntime();
- }
-}
diff --git a/sim/gobs/src/gobs/sweep/x/Decluster03.java b/sim/gobs/src/gobs/sweep/x/Decluster03.java
deleted file mode 100644
index 2977916..0000000
--- a/sim/gobs/src/gobs/sweep/x/Decluster03.java
+++ /dev/null
@@ -1,66 +0,0 @@
-
-package gobs.sweep.x;
-
-import java.util.*;
-
-import org.jfree.data.xy.XYSeries;
-import org.jfree.data.xy.XYSeriesCollection;
-
-import gobs.plot.*;
-import gobs.sweep.*;
-import gobs.util.*;
-
-/**
- * Modifies node count.
- * Reports object movement load (pushes+pulls) on the
- * busiest server during rebuild.
- *
- * Usage: Decluster03 -n <repeats> *.cfg
- * */
-
-class Decluster03
-{
- static Properties properties;
-
- public static void main(String[] args)
- {
- Bits.init();
-
- properties = Sweep.getopts(args);
-
- String output = Tools.string(properties, "output");
-
- int minNodes = Tools.integer(properties, "nodes.min");
- int maxNodes = Tools.integer(properties, "nodes.max");
- String step = Tools.string(properties, "nodes.step");
- List<String> values = Sweep.values(step, minNodes, maxNodes);
-
- System.out.println("Decluster03: " + values);
-
- XYSeries series;
- final XYSeriesCollection collection = new XYSeriesCollection();
-
- for (String r : new String[] {"3", "4"})
- {
- properties.setProperty("file.replicas", r);
-
- properties.setProperty("impl.placement", "Nearest");
- Sweep nearestSweep = new Sweep(properties);
- nearestSweep.repeats = Tools.integer(properties, "repeats");
- series = nearestSweep.perform("NEAREST R="+r, "node.count",
- values, "maxTotal");
- collection.addSeries(series);
-
- properties.setProperty("impl.placement", "Kademlia");
- Sweep kademliaSweep = new Sweep(properties);
- kademliaSweep.repeats = Tools.integer(properties, "repeats");
- series = kademliaSweep.perform("XOR R="+r, "node.count",
- values, "maxTotal");
- collection.addSeries(series);
- }
-
- MultiLogXPlot.configure(properties);
- MultiLogXPlot.plot(collection, "",
- "node.count", "load fraction(%)", output);
- }
-}
diff --git a/sim/gobs/src/gobs/sweep/x/Decluster04.java b/sim/gobs/src/gobs/sweep/x/Decluster04.java
deleted file mode 100644
index 074fcd3..0000000
--- a/sim/gobs/src/gobs/sweep/x/Decluster04.java
+++ /dev/null
@@ -1,80 +0,0 @@
-
-package gobs.sweep.x;
-
-import java.util.*;
-
-import org.jfree.data.xy.XYSeries;
-import org.jfree.data.xy.XYSeriesCollection;
-
-import gobs.plot.*;
-import gobs.sweep.*;
-import gobs.util.*;
-
-/**
- * Modifies node count.
- * Reports object movement load (pushes+pulls) on all servers
- * during rebuild.
- *
- * Usage: Decluster04 -n <repeats> *.cfg
- * */
-
-class Decluster04
-{
- static Properties properties;
-
- public static void main(String[] args)
- {
- Bits.init();
-
- properties = Sweep.getopts(args);
-
- String output = Tools.string(properties, "output");
-
- int minNodes = Tools.integer(properties, "nodes.min");
- int maxNodes = Tools.integer(properties, "nodes.max");
- String step = Tools.string(properties, "nodes.step");
- List<String> values = Sweep.values(step, minNodes, maxNodes);
-
- System.out.println("Decluster04: " + values);
-
- List<XYSeries> series;
- List<XYSeries> allSeries = new ArrayList<XYSeries>();
- final XYSeriesCollection collection = new XYSeriesCollection();
-
- for (String r : new String[] {"3", "4"})
- {
- properties.setProperty("file.replicas", r);
-
- properties.setProperty("impl.placement", "Nearest");
- ArraySweep pSweep = new ArraySweep(properties);
- pSweep.repeats = Tools.integer(properties, "repeats");
- series = pSweep.execute("NEAREST R="+r+" N=", "node.count",
- values, "distribution");
- allSeries.addAll(series);
-
- properties.setProperty("impl.placement", "Kademlia");
- ArraySweep kSweep = new ArraySweep(properties);
- kSweep.repeats = Tools.integer(properties, "repeats");
- series = kSweep.execute("XOR R="+r+" N=", "node.count",
- values, "distribution");
- allSeries.addAll(series);
- }
-
- int spaces = 4;
- String w = " ";
- String t = "";
- for (int i = 0; i < spaces; i++)
- t = t+w;
-
- for (XYSeries s : allSeries)
- {
- String d = (String) s.getKey();
- s.setKey(d+t);
- collection.addSeries(s);
- }
-
- MultiplePlot.configure(properties);
- MultiplePlot.plot(collection, "",
- "nodes involved", "load fraction(%)", output);
- }
-}
diff --git a/sim/gobs/src/gobs/sweep/x/Parallelism01.java b/sim/gobs/src/gobs/sweep/x/Parallelism01.java
deleted file mode 100644
index a8357f2..0000000
--- a/sim/gobs/src/gobs/sweep/x/Parallelism01.java
+++ /dev/null
@@ -1,66 +0,0 @@
-
-package gobs.sweep.x;
-
-import java.util.*;
-
-import org.jfree.data.xy.XYSeriesCollection;
-
-import gobs.plot.*;
-import gobs.sweep.*;
-import gobs.util.*;
-
-/**
- * Modifies node count N and Placement.
- * Reports file access load balancing for files and replicas.
- *
- * Usage: Parallelism01 -n <repeats> *.cfg
- * */
-
-class Parallelism01
-{
- static Properties properties;
-
- public static void main(String[] args)
- {
- Bits.init();
-
- properties = Sweep.getopts(args);
-
- String output = Tools.string(properties, "output");
-
- int minNodes = Tools.integer(properties, "nodes.min");
- int maxNodes = Tools.integer(properties, "nodes.max");
- String step = Tools.string(properties, "step");
- List<String> values = Sweep.values(step, minNodes, maxNodes);
-
- System.out.println("Parallelism01: " + values);
-
- final XYSeriesCollection collection = new XYSeriesCollection();
-
- properties.setProperty("impl.placement", "Nearest");
- Sweep nearestSweep = new Sweep(properties);
- nearestSweep.repeats = Tools.integer(properties, "repeats");
- collection.addSeries
- (nearestSweep.perform
- ("PAST", "nodes", values, "accessbalance"));
-
- properties.setProperty("impl.placement", "Kademlia");
- Sweep kademliaSweep = new Sweep(properties);
- kademliaSweep.repeats = Tools.integer(properties, "repeats");
- collection.addSeries
- (kademliaSweep.perform
- ("Kademlia", "nodes", values, "accessbalance"));
-
- properties.setProperty("impl.placement", "VertexGroups");
- Sweep vgSweep = new Sweep(properties);
- vgSweep.repeats = Tools.integer(properties, "repeats");
- collection.addSeries
- (vgSweep.perform
- ("Vertex Groups", "nodes", values, "accessbalance"));
-
- MultiLogXPlot.plot(collection, "Load Imbalance",
- "nodes", "imbalance", output);
- // AsciiPlot.plot(nearestSweep.series, "Maximum Rebuild Load",
- // "nodes", "load", "tmp.txt");
- }
-}
diff --git a/sim/gobs/src/gobs/sweep/x/Parallelism02.java b/sim/gobs/src/gobs/sweep/x/Parallelism02.java
deleted file mode 100644
index 60aaa2e..0000000
--- a/sim/gobs/src/gobs/sweep/x/Parallelism02.java
+++ /dev/null
@@ -1,88 +0,0 @@
-
-package gobs.sweep.x;
-
-import java.util.*;
-
-import org.jfree.data.xy.XYSeries;
-import org.jfree.data.xy.XYSeriesCollection;
-
-import gobs.plot.*;
-import gobs.sweep.*;
-import gobs.util.*;
-
-/**
- * Modifies node count N and Placement.
- * Reports file access load balancing for files and replicas.
- * Requires property output for EPS output to contain a *
- * character. This will be substituted with "read" and "write"
- * for the read and write performance output, respectively.
- *
- * Usage: Parallelism02 -n <repeats> *.cfg
- * */
-
-class Parallelism02
-{
- static Properties properties;
-
- public static void main(String[] args)
- {
- Bits.init();
-
- properties = Sweep.getopts(args);
-
- String output = Tools.string(properties, "output");
- if (!output.contains("___"))
- Tools.bail
- ("output EPS file must contain `___' (3 underscores)\n" +
- "received: " + output);
-
- int minNodes = Tools.integer(properties, "nodes.min");
- int maxNodes = Tools.integer(properties, "nodes.max");
- String step = Tools.string(properties, "step");
- List<String> values = Sweep.values(step, minNodes, maxNodes);
-
- System.out.println("Parallelism02: " + values);
-
- final XYSeriesCollection collectionRead =
- new XYSeriesCollection();
- final XYSeriesCollection collectionWrite =
- new XYSeriesCollection();
-
- properties.setProperty("impl.placement", "Nearest");
- Sweep nearestSweep = new Sweep(properties);
- nearestSweep.repeats = Tools.integer(properties, "repeats");
- nearestSweep.execute("nodes", values);
- XYSeries pSeriesRead =
- nearestSweep.extract("PAST", "nodes", "performance.read");
- XYSeries pSeriesWrite =
- nearestSweep.extract("PAST", "nodes", "performance.write");
-
- collectionRead.addSeries(pSeriesRead);
- collectionWrite.addSeries(pSeriesWrite);
-
- /*
- properties.setProperty("impl.placement", "Kademlia");
- Sweep kademliaSweep = new Sweep(properties);
- kademliaSweep.repeats = Tools.integer(properties, "repeats");
- collection.addSeries
- (kademliaSweep.execute
- ("Kademlia", "nodes", values, "readperformance"));
-
- properties.setProperty("impl.placement", "VertexGroups");
- Sweep vgSweep = new Sweep(properties);
- vgSweep.repeats = Tools.integer(properties, "repeats");
- collection.addSeries
- (vgSweep.execute
- ("Vertex Groups", "nodes", values, "readperformance"));
- */
- String outputRead = output.replaceAll("___", "read");
- MultiLogXPlot.plot(collectionRead, "",
- "nodes", "performance", outputRead);
- String outputWrite = output.replaceAll("___", "write");
- MultiLogXPlot.plot(collectionWrite, "",
- "nodes", "performance", outputWrite);
- // AsciiPlot.plot(nearestSweep.series, "Maximum Rebuild Load",
- // "nodes", "load", "tmp.txt");
- AbstractSweep.reportRuntime();
- }
-}
diff --git a/sim/gobs/src/gobs/sweep/x/RAID01.java b/sim/gobs/src/gobs/sweep/x/RAID01.java
deleted file mode 100755
index 128bb18..0000000
--- a/sim/gobs/src/gobs/sweep/x/RAID01.java
+++ /dev/null
@@ -1,58 +0,0 @@
-
-package gobs.sweep.x;
-
-/**
- * Plot RAID MTTF given a range of individual disk MTTFs.
- */
-
-import java.util.List;
-import java.util.Properties;
-
-import org.jfree.data.xy.XYSeries;
-import org.jfree.data.xy.XYSeriesCollection;
-
-import gobs.plot.MultiplePlot;
-import gobs.sim.RAID;
-import gobs.sweep.AbstractSweep;
-import gobs.sweep.Sweep;
-import gobs.util.Tools;
-
-public class RAID01
-{
- static Properties properties;
-
- public static void main(String[] args)
- {
- properties = Sweep.getopts(args);
- String output = Tools.string(properties, "output");
-
- int min = Tools.integer(properties, "mttf.min");
- int max = Tools.integer(properties, "mttf.max");
- String step = Tools.string(properties, "mttf.step");
- List<String> values = AbstractSweep.values(step, min, max);
-
- double diskSpeed = Tools.decimal(properties, "disk.speed");
- double diskSize = Tools.decimal(properties, "disk.size");
-
- String rs = Tools.string(properties, "raids");
- List<String> raids = AbstractSweep.values(rs);
-
- XYSeriesCollection collection = new XYSeriesCollection();
- for (String r : raids)
- {
- RAID raid = new RAID(r);
- XYSeries series = new XYSeries("RAID: " + raid);
- for (String v : values)
- {
- double mttf = Double.parseDouble(v);
- double result = raid.computeMTTF(diskSpeed, diskSize, mttf);
- series.add(mttf, result);
- }
- collection.addSeries(series);
- }
-
- MultiplePlot.plot(collection, "",
- "Mean Time to Disk Failure",
- "Mean Time to RAID Failure", output);
- }
-}
diff --git a/sim/gobs/src/gobs/sweep/x/Rebuild01.java b/sim/gobs/src/gobs/sweep/x/Rebuild01.java
deleted file mode 100644
index 4dfb355..0000000
--- a/sim/gobs/src/gobs/sweep/x/Rebuild01.java
+++ /dev/null
@@ -1,82 +0,0 @@
-
-package gobs.sweep.x;
-
-import java.util.*;
-
-import org.jfree.data.xy.XYSeries;
-import org.jfree.data.xy.XYSeriesCollection;
-
-import gobs.plot.*;
-import gobs.sim.RAID;
-import gobs.sweep.*;
-import gobs.util.*;
-
-/**
- * Modifies node count.
- * Reports rebuild activity over time during rebuild.
- *
- * Usage: Rebuild01 -n <repeats> *.cfg
- * */
-
-class Rebuild01
-{
- static Properties properties;
-
- public static void main(String[] args)
- {
- properties = Sweep.getopts(args);
-
- AbstractSweep.seed(properties);
-
- String output = Tools.string(properties, "output");
-
- String timeunit = "seconds";
- double scale = 1;
- if (Tools.has(properties, "plot.timeunit"))
- {
- timeunit = Tools.string(properties, "plot.timeunit");
- if (timeunit.equals("minutes"))
- scale = 60;
- else if (timeunit.equals("hours"))
- scale = 3600;
- else if (timeunit.equals("days"))
- scale = 86400;
- }
-
- List<String> valuesMTTF = Helpers.valuesMTTF(properties);
-
- System.out.println("Rebuild01: " + valuesMTTF);
-
- List<XYSeries> allSeries = new ArrayList<XYSeries>();
- final XYSeriesCollection collection =
- new XYSeriesCollection();
-
- properties.setProperty("impl.placement", "Nearest");
- List<String> systems = Tools.list(properties, "systems");
- for (String system : systems)
- {
- Helpers.setupRAID(properties, system);
- String mttc = Tools.string(properties, system+".mttc");
- properties.setProperty("mttc", mttc);
- ArraySweep pSweep = new ArraySweep(properties);
- pSweep.repeats = Tools.integer(properties, "repeats");
- List<XYSeries> series =
- pSweep.execute("NEAREST-"+system+" MTTF=", "disk.mttf",
- valuesMTTF, "traffic-x", "traffic-y");
- for (XYSeries s : series)
- s.setKey("NEAREST-target");
- allSeries.addAll(series);
- }
-
- for (XYSeries series : allSeries)
- {
- XYSeries scaled = AbstractSweep.scaleX(series, scale);
- collection.addSeries(scaled);
- }
-
- MultiplePlot.configure(properties);
- MultiplePlot.plot(collection, "",
- "time ("+timeunit+")", "copies in flight",
- output);
- }
-}
diff --git a/sim/gobs/src/gobs/sweep/x/Rebuild02.java b/sim/gobs/src/gobs/sweep/x/Rebuild02.java
deleted file mode 100644
index bf3ac91..0000000
--- a/sim/gobs/src/gobs/sweep/x/Rebuild02.java
+++ /dev/null
@@ -1,205 +0,0 @@
-
-package gobs.sweep.x;
-
-import java.util.*;
-
-import org.jfree.data.xy.XYDataItem;
-import org.jfree.data.xy.XYSeries;
-import org.jfree.data.xy.XYSeriesCollection;
-
-import gobs.plot.MultiplePlot;
-import gobs.sim.*;
-import gobs.sweep.*;
-import gobs.util.*;
-
-/**
- * Modifies node count.
- * Reports rebuild activity over time during rebuild.
- *
- * Allows for use of regimen.skip .
- *
- * Usage: Rebuild02 -n <repeats> -o <output.eps> *.cfg
- * */
-
-class Rebuild02
-{
- static Properties properties;
-
- public static void main(String[] args)
- {
- properties = Sweep.getopts(args);
-
- AbstractSweep.seed(properties);
-
- String output = Tools.string(properties, "output");
- double interval = Tools.decimal(properties,
- "plot.traffic.interval");
- String timeunit = "seconds";
- double scale = 1;
- if (Tools.has(properties, "plot.timeunit"))
- {
- timeunit = Tools.string(properties, "plot.timeunit");
- if (timeunit.equals("minutes"))
- scale = 60;
- else if (timeunit.equals("hours"))
- scale = 3600;
- }
-
- double diskSize = Tools.decimal(properties, "disk.size");
- double diskSpeed = Tools.decimal(properties, "disk.speed");
-
- double minMTTF = Tools.decimal(properties, "disk.mttf.min");
- double maxMTTF = Tools.decimal(properties, "disk.mttf.max");
- String stepMTTF = Tools.string(properties, "disk.mttf.step");
- List<String> valuesMTTF =
- Sweep.values(stepMTTF, minMTTF, maxMTTF);
-
- System.out.println("Rebuild02: " + valuesMTTF);
-
- final XYSeriesCollection collection = new XYSeriesCollection();
-
- List<XYSeries> allSeries = new ArrayList<XYSeries>();
-
- for (String skip : new String[] { "false", "true" })
- {
- properties.setProperty("impl.placement", "Nearest");
- List<String> systems = Tools.list(properties, "systems");
- List<Simulator> sims = new ArrayList<Simulator>();
- for (String system : systems)
- {
- int nodeDevices = Tools.integer(properties,
- system+".node.osds");
- String spec = Tools.string(properties, system+".raid");
- RAID raid = new RAID(spec, diskSize, diskSpeed);
- int nodes = raid.estimateNodes(properties, nodeDevices);
- String mttc = Tools.string(properties, system+".mttc");
- properties.setProperty("mttc", mttc);
- properties.setProperty("raid", spec);
- properties.setProperty("node.count", ""+nodes);
- properties.setProperty("node.osds", ""+nodeDevices);
- properties.setProperty("regimen.skip", skip);
- properties.setProperty("system", system);
-
- Sweep pySweep = new Sweep(properties);
- pySweep.repeats = Tools.integer(properties, "repeats");
-
- pySweep.execute("disk.mttf", valuesMTTF);
- sims.addAll(pySweep.sims.values());
- }
-
- String t = skip.equals("true") ? "latent" : "active";
- List<XYSeries> pySeries = plots(sims, "NEAREST-"+t,
- "system", systems,
- "disk.mttf", valuesMTTF,
- interval, scale);
- allSeries.addAll(pySeries);
- }
-
- for (XYSeries series : allSeries)
- collection.addSeries(series);
-
- MultiplePlot.configure(properties);
- MultiplePlot.plot(collection, "",
- "time ("+timeunit+")", "copies in flight",
- output);
-
- Sweep.reportRuntime();
- }
-
- static List<XYSeries> plots(List<Simulator> sims, String label,
- String x1, List<String> values1,
- String x2, List<String> values2,
- double interval, double scale)
- {
- List<XYSeries> results = new ArrayList<XYSeries>();
-
- for (String v1 : values1)
- {
- for (String v2 : values2)
- {
- XYSeries series =
- // new XYSeries(label + " " + v1 + ":" + v2);
- new XYSeries(label + " " + v1 + " ");
- List<Rebuild> rebuilds = new ArrayList<Rebuild>();
- for (Simulator simulator : sims)
- if (Tools.string(simulator.properties, x1).equals(v1) &&
- Tools.string(simulator.properties, x2).equals(v2))
- rebuilds.addAll(simulator.rebuilds);
- loadsToSeries(rebuilds, interval, scale, series);
- results.add(series);
- }
- }
- truncate(results);
- return results;
- }
-
- /**
- Store in series.
- */
- static void loadsToSeries(List<Rebuild> rebuilds, double interval,
- double scale, XYSeries series)
- {
- System.out.println("loadsToSeries():");
- int count;
- double longest = longestRebuild(rebuilds);
- System.out.println("longest: " + longest);
- double d = 0.0;
- while (d <= longest)
- {
- System.out.println("sample: " + d);
- System.out.println("rebuilds: " + rebuilds.size());
- double total = 0.0;
- for (Rebuild rebuild : rebuilds)
- {
- // rebuild.printOffset(d, Cause.ANY);
- if (Tools.bool(properties, "regimen.skip"))
- total += rebuild.loadOffset(d, Cause.REPAIR);
- else
- total += rebuild.loadOffset(d, Cause.FAULT);
- }
- double sample = total/rebuilds.size();
- series.add(d/scale, sample);
- d += interval;
- }
- series.add(d/scale, 0.0);
- }
-
- static double longestRebuild(List<Rebuild> rebuilds)
- {
- double max = 0.0;
- for (Rebuild rebuild : rebuilds)
- if (rebuild.length() > max)
- max = rebuild.length();
- return max;
- }
-
- static int longest(List<XYSeries> series)
- {
- int max = 0;
- for (XYSeries s : series)
- if (s.getItemCount() > max)
- max = s.getItemCount();
- return max;
- }
-
- static void truncate(List<XYSeries> series)
- {
- for (XYSeries s : series)
- truncate(s);
- }
-
- static void truncate(XYSeries series)
- {
- int p;
- int q = series.getItemCount()-1;
- for (p = q; p >= 0; p--)
- {
- XYDataItem item = series.getDataItem(p);
- Number y = item.getY();
- if (y.doubleValue() != 0.0)
- break;
- }
- if (p+2 < q)
- series.delete(p+2, q);
- }
-}
diff --git a/sim/gobs/src/gobs/test/TestELHS.java b/sim/gobs/src/gobs/test/TestELHS.java
deleted file mode 100644
index c02b6c0..0000000
--- a/sim/gobs/src/gobs/test/TestELHS.java
+++ /dev/null
@@ -1,34 +0,0 @@
-
-package gobs.test;
-
-import java.math.BigInteger;
-import java.util.*;
-
-import gobs.sim.*;
-import gobs.util.EnhancedLinkedHashSet;
-
-/**
- * Test the EnhancedLinkedHashSet data structure.
- * */
-
-class TestELHS
-{
- public static void main(String[] args)
- {
- int n = 10;
-
- EnhancedLinkedHashSet<Gob> set =
- new EnhancedLinkedHashSet<Gob>();
-
- for (int i = 0; i < n; i++)
- {
- List<Gob> list = new ArrayList<Gob>();
- for (int j = 0; j < n; j++)
- list.add(new SingleObject(new BigInteger("" + j), BigInteger.ZERO, 0));
- if (set.containsAny(list))
- System.out.println("containsAny!");
- set.addAll(list);
- }
- System.out.println(set.size());
- }
-}
diff --git a/sim/gobs/src/gobs/test/TestExponential.java b/sim/gobs/src/gobs/test/TestExponential.java
deleted file mode 100644
index cf9ffaa..0000000
--- a/sim/gobs/src/gobs/test/TestExponential.java
+++ /dev/null
@@ -1,54 +0,0 @@
-
-package gobs.test;
-
-import java.util.*;
-
-import cern.jet.random.engine.DRand;
-import cern.jet.random.Exponential;
-
-import org.jfree.data.xy.XYSeries;
-
-import gobs.plot.SimplePlot;
-import gobs.util.Stats;
-
-import static gobs.util.Tools.check;
-
-/**
- * Test the Exponential distribution provided by Colt.
- *
- * Generates testexponential.eps
- *
- * Usage: TestExponential <lambda> <n>
- * */
-
-class TestExponential
-{
- public static void main(String[] args)
- {
- check(args.length == 2,
- "usage: TestExponential <lambda> <n>");
-
- double lambda = Double.parseDouble(args[0]);
- int n = Integer.parseInt(args[1]);
-
- DRand engine = new DRand(new Date());
- Exponential ed = new Exponential(lambda, engine);
-
- XYSeries series = new XYSeries("TestExponential");
- List<Double> results = new ArrayList<Double>(n);
- for (int i = 0; i < n; i++)
- {
- results.add(ed.nextDouble());
- }
- Collections.sort(results);
- for (int i = 0; i < n; i++)
- {
- series.add(i, results.get(i));
- }
-
- System.out.println("avg: " + Stats.avg(results));
-
- SimplePlot.plot(series, "TestExponential", "step", "length",
- "testexponential.eps");
- }
-}
diff --git a/sim/gobs/src/gobs/test/TestFileFactory.java b/sim/gobs/src/gobs/test/TestFileFactory.java
deleted file mode 100644
index 665b4a5..0000000
--- a/sim/gobs/src/gobs/test/TestFileFactory.java
+++ /dev/null
@@ -1,133 +0,0 @@
-
-package gobs.test;
-
-import java.math.BigInteger;
-import java.text.DecimalFormat;
-import java.util.*;
-
-import org.jfree.data.xy.XYSeries;
-
-import gobs.util.Bits;
-import gobs.sim.*;
-import gobs.plot.LogPlot;
-
-class TestFileFactory
-{
- static PDSIFiles factory;
-
- /**
- Number of files
- */
- static int n;
-
- static double[][] hardPoints()
- {
- double[][] points = new double[5][2];
-
- points[0][0] = 0.2;
- points[0][1] = 2*1024;
- points[1][0] = 0.6;
- points[1][1] = 32.0*1024;
- points[2][0] = 0.90;
- points[2][1] = 1.0*1024*1024;
- points[3][0] = 0.99;
- points[3][1] = 64.0*1024*1024;
- points[4][0] = 1.0;
- points[4][1] = 1024.0*1024*1024*1024;
-
- return points;
- }
-
- static PriorityQueue<File> generate(double[][] points, int n)
- {
- Simulator simulator = new Simulator();
-
- simulator.nodes = new ArrayList<Node>();
- simulator.nodes.add(null);
-
- Properties properties = new Properties();
-
- properties.setProperty("node.count", "10");
- properties.setProperty("node.osds", "1");
-
- factory = new PDSIFiles(properties, points);
-
- PriorityQueue<File> files =
- new PriorityQueue<File>(n+1, new FileSizeComparator());
- for (int i = 0; i < n; i++)
- files.add(factory.get());
-
- return files;
- }
-
- static void dumpSizes(Collection<File> files)
- {
- int i = 0;
- for (File file : files)
- {
- System.out.println("" + i + ": " + file.size);
- i++;
- }
- }
-
- static XYSeries extract(PriorityQueue<File> files)
- {
- double s = 1;
-
- double y = 0;
- double n = files.size();
- XYSeries series = new XYSeries("file sizes");
- while (files.size() > 0)
- {
- BigInteger bigS = BigInteger.valueOf((long) s);
- while (files.size() > 0 &&
- files.peek().size.compareTo(bigS) < 0)
- {
- files.poll();
- y++;
- }
- series.add(s, y/n);
-
- s = 2*s*2;
- }
-
- /*
- double last = 0.0;
- int big = 0;
- for ( ; y < n; y++)
- {
- last = files.poll().size;
- big++;
- }
- System.out.println("last: " + last);
- series.add(last, 1.0);
- */
-
- return series;
- }
-
- public static void main(String[] args)
- {
- Bits.init();
-
- n = Integer.parseInt(args[0]);
-
- double[][] points;
- if (args.length > 1)
- points = PDSIFiles.parse(args[1]);
- else
- points = hardPoints();
-
- PriorityQueue<File> files = generate(points, n);
-
- dumpSizes(files);
-
- XYSeries series = extract(files);
-
- LogPlot.override = new DecimalFormat("0.##E0");
- LogPlot.plot(series, "File Size Distribution",
- "size (bytes)", "fraction smaller than size",
- "distribution.eps");
- System.out.println("plotted");
- }
-}
diff --git a/sim/gobs/src/gobs/util/Bits.java b/sim/gobs/src/gobs/util/Bits.java
deleted file mode 100644
index 22e9070..0000000
--- a/sim/gobs/src/gobs/util/Bits.java
+++ /dev/null
@@ -1,151 +0,0 @@
-
-package gobs.util;
-
-import java.math.BigInteger;
-import java.util.*;
-
-/**
- * Provides random bits, statically.
- * Kills VM exit code 2 on misuse.
- * */
-
-public class Bits
-{
- public static Random rng = null;
- static boolean locked = false;
- static boolean ready = false;
-
- /**
- If not locked, seed the generator with the clock.
- */
- public static void init()
- {
- init(System.currentTimeMillis());
- }
-
- /**
- If not locked, seed the generator with the clock mod 1000.
- Useful for debugging.
- @param print If true, print the seed.
- */
- public static long init(boolean print)
- {
- long seed = System.currentTimeMillis() % 1000;
- init(seed);
-
- if (print)
- System.out.println("Bits.seed: " + seed);
-
- return seed;
- }
-
- /**
- If not locked, seed the generator
- @param seed The seed.
- */
- public static void init(long seed)
- {
- assert (!locked) : "Bits locked!";
- // System.out.println("Seeding RNG...");
- rng = new Random(seed);
- ready = true;
- }
-
- /**
- Lock the generator to prevent seeding
- */
- public static void lock()
- {
- locked = true;
- }
-
- /**
- Unlock the generator
- */
- public static void unlock()
- {
- locked = false;
- }
-
- public static double nextDouble()
- {
- if (! ready)
- {
- System.err.println("Bits not ready!");
- System.exit(2);
- }
- return rng.nextDouble();
- }
-
- public static double nextDouble(double d)
- {
- return rng.nextDouble() * d;
- }
-
- public static int nextInt()
- {
- if (! ready)
- {
- System.err.println("Bits not ready!");
- System.exit(2);
- }
- return rng.nextInt();
- }
-
- /**
- Return a integer in [0..t).
- */
- public static int nextInt(int t)
- {
- double d = nextDouble();
- int i = (new Double(d * t)).intValue();
- return i;
- }
-
- public static boolean nextBoolean()
- {
- if (! ready)
- {
- System.err.println("Bits not ready!");
- System.exit(2);
- }
- return rng.nextBoolean();
- }
-
- public static long nextLong()
- {
- if (! ready)
- {
- System.err.println("Bits not ready!");
- System.exit(2);
- }
- return rng.nextLong();
- }
-
- public static long nextLong(long t)
- {
- double d = nextDouble();
- long i = (new Double(d * t)).longValue();
- return i;
- }
-
- public static BigInteger nextBigInteger(BigInteger i)
- {
- if (i.equals(BigInteger.ZERO))
- return BigInteger.ZERO;
-
- int b = i.bitLength()+1;
- BigInteger result;
- do
- {
- result = BigInteger.valueOf(b);
- } while (result.compareTo(i) >= 0);
-
- return result;
- }
-
- public static void nextBytes(byte[] bytes)
- {
- rng.nextBytes(bytes);
- }
-}
diff --git a/sim/gobs/src/gobs/util/BoundedSortedValues.java b/sim/gobs/src/gobs/util/BoundedSortedValues.java
deleted file mode 100644
index 14934fc..0000000
--- a/sim/gobs/src/gobs/util/BoundedSortedValues.java
+++ /dev/null
@@ -1,149 +0,0 @@
-
-package gobs.util;
-
-import java.util.*;
-
-/**
- * Like a Map.
- * Given (t,v) pairs, only retains the <tt>bound</tt>
- * lowest values of v.
- * */
-
-public class BoundedSortedValues<T,V extends Comparable<V>>
-{
- List<Entry<T,V>> list = new LinkedList<Entry<T,V>>();
-
- Entry<T,V> bottom = null;
- int bound = 0;
-
- Mode mode = Mode.SMALLEST;
-
- enum Mode
- {
- SMALLEST, LARGEST
- }
-
- public BoundedSortedValues(int bound)
- {
- this.bound = bound;
- if (bound < 0)
- throw new IndexOutOfBoundsException
- ("Bound must be non-negative!");
- }
-
- public boolean add(T thing, V value)
- {
- if (bound == 0)
- return false;
-
- if (mode == Mode.SMALLEST)
- {
- if (bottom == null ||
- value.compareTo(bottom.value) < 0 ||
- list.size() < bound)
- {
- int i = 0;
- for (Iterator<Entry<T,V>> it = list.iterator();
- it.hasNext(); )
- {
- Entry<T,V> pair = it.next();
- if (value.compareTo(pair.value) < 0)
- i++;
- else
- break;
- }
- list.add(i, new Entry<T,V>(thing, value));
- if (list.size() > bound)
- list.remove(0);
- bottom = list.get(0);
- return true;
- }
- }
- return false;
- }
-
- public Map.Entry<T,V> get(int index)
- {
- return list.get(index);
- }
-
- public int size()
- {
- return list.size();
- }
-
- /**
- Return t from (t,v) such that v is the smallest.
- */
- public T peek()
- {
- Entry<T,V> pair = list.get(list.size()-1);
- return pair.getKey();
- }
-
- public List<T> get()
- {
- List<T> result = new ArrayList<T>(list.size());
- for (Entry<T,V> pair : list)
- result.add(pair.thing);
- return result;
- }
-
- public Iterator<T> things()
- {
- return new ThingIterator();
- }
-
- class ThingIterator
- implements Iterator<T>
- {
- ListIterator<Entry<T,V>> it = list.listIterator();
-
- public boolean hasNext()
- {
- return it.hasNext();
- }
-
- public T next()
- {
- return it.next().getKey();
- }
-
- public void remove()
- throws UnsupportedOperationException
- {
- throw new UnsupportedOperationException
- ("remove() not supported by ThingIterator");
- }
- }
-
- public String toString()
- {
- StringBuilder sb = new StringBuilder();
-
- sb.append("[");
- for (Iterator<Entry<T,V>> it = list.iterator(); it.hasNext(); )
- {
- Entry<T,V> pair = it.next();
- sb.append("(");
- sb.append(pair.thing);
- sb.append(",");
- sb.append(pair.value);
- sb.append(")");
- if (it.hasNext())
- sb.append(",");
- }
- sb.append("]");
-
- return sb.toString();
- }
-
- public static void main(String[] args)
- {
- BoundedSortedValues<String,Integer> v =
- new BoundedSortedValues<String,Integer>(3);
- for (String arg : args)
- v.add(arg, arg.length());
- System.out.println(v.toString());
- }
-}
diff --git a/sim/gobs/src/gobs/util/EnhancedLinkedHashSet.java b/sim/gobs/src/gobs/util/EnhancedLinkedHashSet.java
deleted file mode 100644
index 34e65e7..0000000
--- a/sim/gobs/src/gobs/util/EnhancedLinkedHashSet.java
+++ /dev/null
@@ -1,23 +0,0 @@
-
-package gobs.util;
-
-import java.util.*;
-
-public class EnhancedLinkedHashSet<T>
- extends LinkedHashSet<T>
-{
- private static final long serialVersionUID = 1;
-
- public EnhancedLinkedHashSet()
- {
- super();
- }
-
- public boolean containsAny(Collection<T> c)
- {
- for (T thing : c)
- if (contains(thing))
- return true;
- return false;
- }
-}
diff --git a/sim/gobs/src/gobs/util/Entry.java b/sim/gobs/src/gobs/util/Entry.java
deleted file mode 100755
index 48f7e2e..0000000
--- a/sim/gobs/src/gobs/util/Entry.java
+++ /dev/null
@@ -1,51 +0,0 @@
-
-package gobs.util;
-
-import java.util.*;
-
-public class Entry<T,V>
- implements Map.Entry<T,V>
-{
- public T thing;
- public V value;
-
- public Entry()
- {}
-
- public Entry(T thing, V value)
- {
- this.thing = thing;
- this.value = value;
- }
-
- public boolean equals(Object o)
- {
- return thing.equals(o);
- }
-
- public T getKey()
- {
- return thing;
- }
-
- public V getValue()
- {
- return value;
- }
-
- public int hashCode()
- {
- return thing.hashCode() + value.hashCode();
- }
-
- public V setValue(V value)
- {
- this.value = value; // .intValue();
- return value;
- }
-
- public String toString()
- {
- return "<" + thing + "," + value +">";
- }
-}
diff --git a/sim/gobs/src/gobs/util/LineReader.java b/sim/gobs/src/gobs/util/LineReader.java
deleted file mode 100644
index a07f1c6..0000000
--- a/sim/gobs/src/gobs/util/LineReader.java
+++ /dev/null
@@ -1,106 +0,0 @@
-
-package gobs.util;
-
-import java.util.*;
-
-public class LineReader
-{
- LineReader()
- {}
-
- public static List<String> read(java.io.File file)
- throws java.io.FileNotFoundException
- {
- java.io.BufferedReader reader =
- new java.io.BufferedReader(new java.io.FileReader(file));
- return read(reader);
- }
-
- public static List<String> read(String s)
- {
- java.io.BufferedReader reader =
- new java.io.BufferedReader(new java.io.StringReader(s));
- return read(reader);
- }
-
- public static List<String> read(java.io.BufferedReader reader)
- {
- List<String> result = new ArrayList<String>();
- try
- {
- String prevline = "";
- String line = "";
- while ((line = reader.readLine()) != null)
- {
- int hash = line.indexOf("#");
- if (hash >= 0)
- line = line.substring(0,hash);
- line = spaces(line);
- line = (prevline + " " + line).trim();
- if (line.endsWith("\\"))
- {
- line = line.substring(0, line.length()-2);
- prevline = line;
- continue;
- }
- else
- {
- prevline = "";
- line = line.trim();
- if (line.length() > 0)
- result.add(line);
- }
- }
- reader.close();
- }
- catch (java.io.IOException e)
- {
- System.out.println("LineReader: I/O problem.");
- return null;
- }
- return result;
- }
-
- public static String spaces(String line)
- {
- String result = "";
- for (int i = 0; i < line.length(); i++)
- {
- if (line.charAt(i) == '=' &&
- line.charAt(i+1) != '=' &&
- line.charAt(i-1) != '=')
- {
- result += " = ";
- }
- else
- result += line.substring(i,i+1);
- }
- return result;
- }
-
- public static String[] tokenize(String line)
- {
- if (line == null)
- return null;
- List<String> words = new ArrayList<String>();
- String[] ws = line.split("\\s");
- for (int i = 0; i < ws.length; i++)
- if (ws[i].length() > 0)
- words.add(ws[i]);
- String[] result = new String[words.size()];
- for (int i = 0; i < words.size(); i++)
- result[i] = words.get(i);
- return result;
- }
-
- /*
- public static List<String> list(String line)
- {
- List<String> result = new ArrayList<String>();
- String[] tokens = tokenize(line);
- for (int i = 0; i < tokens.length; i++)
- result.add(tokens[i]);
- return result;
- }
- */
-}
diff --git a/sim/gobs/src/gobs/util/MapSorter.java b/sim/gobs/src/gobs/util/MapSorter.java
deleted file mode 100644
index 559a756..0000000
--- a/sim/gobs/src/gobs/util/MapSorter.java
+++ /dev/null
@@ -1,53 +0,0 @@
-
-package gobs.util;
-
-import java.util.*;
-
-public class MapSorter<T>
-{
- public LinkedHashMap<T,Integer> sort(Map<T,Integer> input)
- {
- LinkedHashMap<T,Integer> result = new LinkedHashMap<T,Integer>();
-
- while (! input.isEmpty())
- {
- int minValue = Integer.MAX_VALUE;
- T minThing = null;
- for (T thing : input.keySet())
- {
- Integer i = input.get(thing);
- if (i < minValue)
- {
- minValue = i;
- minThing = thing;
- }
- }
- input.remove(minThing);
- result.put(minThing, new Integer(minValue));
- }
-
- return result;
- }
-}
-
- /* Debugging sortMap():
-
- public static void main(String[] args)
- {
- int B = 4;
-
- Map<Node,Integer> table = new Hashtable<Node,Integer>();
-
- table.put(new Node(B, new BigInteger("3")), 2);
- table.put(new Node(B, new BigInteger("5")), 1);
- table.put(new Node(B, new BigInteger("8")), 4);
- table.put(new Node(B, new BigInteger("3")), 3);
-
- Map<Node,Integer> sorted = (Map<Node,Integer>) sortMap(table);
- for (Node node : sorted.keySet())
- {
- System.out.println(node.toString() + " " + sorted.get(node));
- }
- }
- */
-
diff --git a/sim/gobs/src/gobs/util/Stats.java b/sim/gobs/src/gobs/util/Stats.java
deleted file mode 100644
index 6387dc1..0000000
--- a/sim/gobs/src/gobs/util/Stats.java
+++ /dev/null
@@ -1,89 +0,0 @@
-
-package gobs.util;
-
-import java.util.*;
-
-/**
- Data analysis helpers
-*/
-public class Stats
-{
- /**
- Return the length of the longest List.
- */
- public static int length(List<List<Integer>> data)
- {
- int result = 0;
- for (List<Integer> list : data)
- if (list.size() > result)
- result = list.size();
- return result;
- }
-
- public static double avg(List<Double> data)
- {
- double sum = 0.0;
- for (Double d : data)
- sum += d;
- return sum/data.size();
- }
-
- /**
- Return the average of the corresponding
- entries of each list.
- */
- public static List<Double> avg(List<List<Integer>> data)
- {
- List<Double> result = new ArrayList<Double>();
- int n = data.size();
-
- int i = 0;
- while (true)
- {
- double total = 0;
- boolean something = false;
- for (List<Integer> list : data)
- {
- if (list.size() > i)
- {
- something = true;
- total += list.get(i);
- }
- }
- if (something)
- result.add(total/n);
- else
- break;
- i++;
- }
- return result;
- }
-
- /**
- Debugging only.
- */
- public static void main(String[] args)
- {
- List<List<Integer>> all = new ArrayList<List<Integer>>();
- List<Integer> l1 = new ArrayList<Integer>();
- List<Integer> l2 = new ArrayList<Integer>();
- List<Integer> l3 = new ArrayList<Integer>();
-
- l1.add(3);
- l1.add(3);
- l1.add(3);
- l1.add(3);
- l2.add(3);
- l2.add(2);
- l2.add(3);
- l3.add(1);
- l3.add(3);
-
- all.add(l1);
- all.add(l2);
- all.add(l3);
-
- List<Double> out = avg(all);
- System.out.println(out);
- }
-}
diff --git a/sim/gobs/src/gobs/util/Time.java b/sim/gobs/src/gobs/util/Time.java
deleted file mode 100755
index 8b5a00b..0000000
--- a/sim/gobs/src/gobs/util/Time.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package gobs.util;
-
-import java.text.*;
-import java.util.Date;
-
-import static java.lang.Math.floor;
-
-public class Time
-{
- double value;
-
- public static final double minute = 60;
- public static final double hour = 60*minute;
- public static final double day = 24*hour;
-
- static DecimalFormat zf = new DecimalFormat("0");
- static DecimalFormat zz = new DecimalFormat("00");
- static DateFormat sdf = new SimpleDateFormat("MM/dd/yyyy hh:mm a");
-
- public String toString()
- {
- return toString(value);
- }
-
- /**
- Get d2-d1 as mm:ss
- */
- public static String diff(Date d1, Date d2)
- {
- long t1 = d1.getTime()/1000;
- long t2 = d2.getTime()/1000;
- double t = t2 - t1;
-
- return toString(t);
- }
-
- public static String toString(double time)
- {
- StringBuilder sb = new StringBuilder(32);
- if (time > day)
- {
- sb.append(zf.format(floor(time/day))).append(" ");
- time %= day;
- }
- if (time > hour || sb.length() > 0)
- {
- sb.append(zz.format(floor(time/hour))).append(":");
- time %= hour;
- }
- if (time > minute || sb.length() > 0)
- {
- sb.append(zz.format(floor(time/minute))).append(":");
- time %= minute;
- }
- sb.append(zz.format(time));
- return sb.toString();
- }
-
- /**
- Primarily for real times.
- sdf = SimpleDateFormat
- */
- public static String sdf(Date date)
- {
- return sdf.format(date);
- }
-
- /**
- Debugging only.
- */
- public static void main(String args[])
- {
- double d = Double.parseDouble(args[0]);
- System.out.println(toString(d));
- }
-}
diff --git a/sim/gobs/src/gobs/util/Tools.java b/sim/gobs/src/gobs/util/Tools.java
deleted file mode 100644
index acacab8..0000000
--- a/sim/gobs/src/gobs/util/Tools.java
+++ /dev/null
@@ -1,289 +0,0 @@
-
-package gobs.util;
-
-import java.io.IOException;
-import java.math.BigInteger;
-import java.text.DecimalFormat;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Properties;
-
-/**
- * Helpful wrappers for Properties and fatal errors.
- * */
-
-public class Tools
-{
- static DecimalFormat df = new DecimalFormat("00");
-
- public static int integer(Properties properties, String variable)
- {
- int result = 0;
- try
- {
- result =
- Integer.parseInt(properties.getProperty(variable).trim());
- }
- catch (NumberFormatException e)
- {
- bail("Could not read integer from property: " + variable +
- " = " + properties.getProperty(variable));
- }
- catch (NullPointerException e)
- {
- bail("Required property not found: " + variable);
- }
- return result;
- }
-
- public static long longint(Properties properties, String variable)
- {
- long result = 0;
- try
- {
- result =
- Long.parseLong(properties.getProperty(variable).trim());
- }
- catch (NumberFormatException e)
- {
- bail("Could not read integer from property: " + variable +
- " = " + properties.getProperty(variable));
- }
- catch (NullPointerException e)
- {
- bail("Required property not found: " + variable);
- }
- return result;
- }
-
- public static double decimal(Properties properties, String variable)
- {
- double result = 0;
- try
- {
- result =
- Double.parseDouble(properties.getProperty(variable).trim());
- }
- catch (NumberFormatException e)
- {
- bail("Could not read double from property: " + variable +
- " = " + properties.getProperty(variable));
- }
- catch (NullPointerException e)
- {
- bail("Required property not found: " + variable);
- }
- return result;
- }
-
- public static boolean bool(Properties properties,
- String variable)
- {
- boolean result = false;
- String value = string(properties, variable);
- if (value.equalsIgnoreCase("true"))
- result = true;
- else if (value.equalsIgnoreCase("false"))
- result = false;
- else
- bail("Could not read boolean from property: " + variable +
- " = " + properties.getProperty(variable));
- return result;
- }
-
- public static BigInteger bigInteger(Properties properties,
- String variable)
- {
- BigInteger result = null;
- try
- {
- result =
- new BigInteger(properties.getProperty(variable).trim());
- }
- catch (NumberFormatException e)
- {
- bail("Could not read BigInteger from property: " + variable +
- " = " + properties.getProperty(variable));
- }
- catch (NullPointerException e)
- {
- bail("Required property not found: " + variable);
- }
- return result;
- }
-
- public static String string(Properties properties, String variable)
- {
- String result = null;
- try
- {
- result = properties.getProperty(variable).trim();
- }
- catch (NullPointerException e)
- {
- bail("Required property not found: " + variable);
- }
- return result;
- }
-
- public static boolean has(Properties properties, String name)
- {
- return (properties.getProperty(name) != null);
- }
-
- public static boolean enabled(Properties properties,
- String string)
- {
- if (has(properties, string) &&
- bool(properties, string))
- return true;
- return false;
- }
-
- public static boolean disabled(Properties properties,
- String string)
- {
- if (has(properties, string) &&
- ! bool(properties, string))
- return true;
- return false;
- }
-
- public static List<String> list(Properties properties,
- String string)
- {
- String text = string(properties, string);
- return stringToList(text);
- }
-
- public static List<String> stringToList(String text)
- {
- String[] tokens = text.split(";");
- List<String> result = Arrays.asList(tokens);
- return result;
- }
-
- /**
- Call bail(msg) if condition is false.
- Like assert() but does not require -ea.
- */
- public static void check(boolean condition, String msg)
- {
- if (!condition)
- bail(msg);
- }
-
- public static void bail(String msg)
- {
- System.out.println(msg);
-
- // Exit code 1 is a Java error:
- System.exit(2);
- }
-
- public static void shut(java.io.FileInputStream stream)
- {
- if (stream != null)
- {
- try
- {
- stream.close();
- }
- catch (java.io.IOException e)
- {}
- }
- }
-
- /**
- Set properties from file.
-
- See About.txt for available properties
- */
- public static void load(Properties properties,
- String path, String file)
- {
- if (file.length() == 0)
- return;
-
- if (path != null)
- file = path+file;
- java.io.FileInputStream cfg = null;
- try
- {
- cfg = new java.io.FileInputStream(file);
- System.out.println("load: " + file);
- load(properties, path, cfg);
- }
- catch (IOException e)
- {
- try
- {
- System.out.println("PWD: " +
- new java.io.File(".").getCanonicalFile());
- }
- catch (IOException f)
- {}
- finally
- {
- bail("Could not open properties file: " + file);
- }
- }
- Tools.shut(cfg);
- }
-
- public static void load(Properties properties, String path,
- java.io.FileInputStream cfg)
- throws java.io.IOException
- {
- boolean verbose = false;
- properties.load(cfg);
- if (has(properties, "printInclude") &&
- bool(properties, "printInclude"))
- verbose = true;
- if (has(properties, "include"))
- {
- String[] includes = string(properties, "include").split("\\s");
- properties.setProperty("include", "");
- for (String include : includes)
- {
- if (verbose)
- System.out.println("include: " + include);
- load(properties, path, include.trim());
- }
- }
- }
-
- public static void reverse(double[] array)
- {
- int n = array.length;
- for (int i = 0; i < n/2; i++)
- {
- int j = n-i-1;
- double tmp = array[j];
- array[j] = array[i];
- array[i] = tmp;
- }
- }
-
- /**
- Pull out the values that are greater than 0.
- */
- public static double[] positives(double[] array)
- {
- double[] result;
-
- int c = 0;
- int n = array.length;
- for (int i = 0; i < n; i++)
- if (array[i] > 0.0)
- c++;
-
- result = new double[c];
- int j = 0;
- for (int i = 0; i < n; i++)
- if (array[i] > 0.0)
- result[j++] = array[i];
-
- return result;
- }
-}
diff --git a/sim/gobs/sweeps/About.txt b/sim/gobs/sweeps/About.txt
deleted file mode 100644
index a9512cf..0000000
--- a/sim/gobs/sweeps/About.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-
-Standard for tests:
-
-A test has a NAME
-
-Run NAME.zsh
-
-Main argument is NAME.cfg which includes other cfg files
-
-Produces NAME.eps and NAME.out
-
-Sizes:
-
-mini: Easily debuggable, trivial
-
-small: Easily debuggable but produces interesting behavior
-
-medium: Uses real-world coefficients but coarse plots
-
-full: Real-world coefficients, production plots
-
diff --git a/sim/gobs/sweeps/Decluster01.cfg b/sim/gobs/sweeps/Decluster01.cfg
deleted file mode 100644
index 8d14286..0000000
--- a/sim/gobs/sweeps/Decluster01.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-
-minNodes = 10
-maxNodes = 100
diff --git a/sim/gobs/sweeps/bl01-small.cfg b/sim/gobs/sweeps/bl01-small.cfg
deleted file mode 100644
index 174ddc0..0000000
--- a/sim/gobs/sweeps/bl01-small.cfg
+++ /dev/null
@@ -1,52 +0,0 @@
-
-### BALANCE 01
-
-include = bl01output.cfg
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 8
-# Number of files:
-files = 2
-# Number of faults:
-faults = 0
-
-# Number of servers:
-nodes = 10
-
-### Choose a PlacementScheme implementation:
-
-# Chosen by sweep driver
-
-VertexGroupPrefix = 5
-
-# No rebuilds will actually be performed. This is filler:
-replica.source = primary
-
-### Choose a NodeScheme implementation:
-
-#impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
-
-### Choose one of the following FileFactory sections:
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PlainFiles
-# File size:
-file.size = 14
-# Strip size:
-file.strip = 4
-# File/object replicas:
-file.replicas = 3
-# Number of objects per file:
-file.width = 10
-
-impl.filefactory = TraceFiles
-filetrace = traces/onebigfile.trace
-
-### User read/writes:
-
-# No user operations...
-reads = 0
-writes = 0
diff --git a/sim/gobs/sweeps/bl01-small.zsh b/sim/gobs/sweeps/bl01-small.zsh
deleted file mode 100755
index ba3fe74..0000000
--- a/sim/gobs/sweeps/bl01-small.zsh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/zsh
-
-java gobs.sweep.Balance01 -p sweeps bl01-small.cfg -o bl01-small.eps
diff --git a/sim/gobs/sweeps/bl01.cfg b/sim/gobs/sweeps/bl01.cfg
deleted file mode 100644
index b0b6333..0000000
--- a/sim/gobs/sweeps/bl01.cfg
+++ /dev/null
@@ -1,50 +0,0 @@
-
-### BALANCE 01
-
-include = bl01output.cfg
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 32
-# Number of files:
-files = 1
-# Number of faults:
-faults = 0
-
-# Number of servers:
-nodes = 10
-
-### Choose a PlacementScheme implementation:
-
-# Chosen by sweep driver
-
-# No rebuilds will actually be performed. This is filler:
-replica.source = primary
-
-### Choose a NodeScheme implementation:
-
-#impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
-
-### Choose one of the following FileFactory sections:
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PlainFiles
-# File size:
-file.size = 14
-# Strip size:
-file.strip = 4
-# File/object replicas:
-file.replicas = 3
-# Number of objects per file:
-file.width = 10
-
-impl.filefactory = TraceFiles
-filetrace = traces/onebigfile.trace
-
-### User read/writes:
-
-# No user operations...
-reads = 0
-writes = 0
diff --git a/sim/gobs/sweeps/bl01output.cfg b/sim/gobs/sweeps/bl01output.cfg
deleted file mode 100644
index 71aca33..0000000
--- a/sim/gobs/sweeps/bl01output.cfg
+++ /dev/null
@@ -1,15 +0,0 @@
-
-### Simulator output configuration
-
-# Dump properties for each Simulator execution
-print.properties = true
-# Print nodes and objects at startup (true/false)
-print.initialnodes = true
-# Print nodes and objects after each rebuild (true/false)
-print.nodes = false
-# Print object tranfers during rebuilds (true/false)
-print.rebuilds = false
-# Print file information (true/false)
-print.files = true
-# Print load change statistics (true/false)
-print.loaddiffs = false
diff --git a/sim/gobs/sweeps/build.zsh b/sim/gobs/sweeps/build.zsh
deleted file mode 100644
index 9890724..0000000
--- a/sim/gobs/sweeps/build.zsh
+++ /dev/null
@@ -1,9 +0,0 @@
-
-# Source this to build in a script with error checking
-
-Ant 30 > ant.out
-if [[ $? != 0 ]]
-then
- cat ant.out
- exit 1
-fi
diff --git a/sim/gobs/sweeps/classpath.zsh b/sim/gobs/sweeps/classpath.zsh
deleted file mode 100644
index 312252c..0000000
--- a/sim/gobs/sweeps/classpath.zsh
+++ /dev/null
@@ -1,13 +0,0 @@
-
-# Source this to set up classpath for sweep runs
-# GOBS classpath stored in ${CP}
-
-if [[ $( uname ) == CYGWIN* ]]
-then
- typeset -T CP cp ";"
- cp+=( ${classpath} )
- cp+=${GOBS}/src
- cp+=( prereqs/*.jar )
-else
- CP=${CLASSPATH}:${GOBS}/src
-fi
diff --git a/sim/gobs/sweeps/dc02kpv01.cfg b/sim/gobs/sweeps/dc02kpv01.cfg
deleted file mode 100644
index 50636bd..0000000
--- a/sim/gobs/sweeps/dc02kpv01.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv01.cfg system_size_20-1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/sweeps/dc02kpv02.cfg b/sim/gobs/sweeps/dc02kpv02.cfg
deleted file mode 100644
index bb8ec1a..0000000
--- a/sim/gobs/sweeps/dc02kpv02.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv02.cfg system_size_20-1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/sweeps/dc02kpv03.cfg b/sim/gobs/sweeps/dc02kpv03.cfg
deleted file mode 100644
index 016f47b..0000000
--- a/sim/gobs/sweeps/dc02kpv03.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv03.cfg system_size_20-1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/sweeps/dc02kpv04.cfg b/sim/gobs/sweeps/dc02kpv04.cfg
deleted file mode 100644
index e131118..0000000
--- a/sim/gobs/sweeps/dc02kpv04.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv04.cfg system_size_20-1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/sweeps/dc02kpv05.cfg b/sim/gobs/sweeps/dc02kpv05.cfg
deleted file mode 100644
index ecbdca2..0000000
--- a/sim/gobs/sweeps/dc02kpv05.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv05.cfg system_size_20-1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/sweeps/dc02kpv06.cfg b/sim/gobs/sweeps/dc02kpv06.cfg
deleted file mode 100644
index 3fc5886..0000000
--- a/sim/gobs/sweeps/dc02kpv06.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv06.cfg system_size_20-1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/sweeps/dc03kpv01.cfg b/sim/gobs/sweeps/dc03kpv01.cfg
deleted file mode 100644
index d6248fb..0000000
--- a/sim/gobs/sweeps/dc03kpv01.cfg
+++ /dev/null
@@ -1,8 +0,0 @@
-
-include = kpv01.cfg system_100-700.cfg fs_pdsi_1EB.cfg \
- dc_output.cfg user00.cfg
-
-plot.blackandwhite = true
-plot.force.domain.upper = 1100
-
-fault.count = 1
diff --git a/sim/gobs/sweeps/dc03kpv02.cfg b/sim/gobs/sweeps/dc03kpv02.cfg
deleted file mode 100644
index bb8ec1a..0000000
--- a/sim/gobs/sweeps/dc03kpv02.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv02.cfg system_size_20-1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/sweeps/dc03kpv03.cfg b/sim/gobs/sweeps/dc03kpv03.cfg
deleted file mode 100644
index 1793894..0000000
--- a/sim/gobs/sweeps/dc03kpv03.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv03.cfg fs_pdsi_1EB.cfg system_100-700.cfg \
- dc_output.cfg user00.cfg
-
-plot.blackandwhite = true
-plot.force.domain.upper = 1100
-fault.count = 1
diff --git a/sim/gobs/sweeps/dc03kpv04.cfg b/sim/gobs/sweeps/dc03kpv04.cfg
deleted file mode 100644
index e131118..0000000
--- a/sim/gobs/sweeps/dc03kpv04.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv04.cfg system_size_20-1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/sweeps/dc03kpv05.cfg b/sim/gobs/sweeps/dc03kpv05.cfg
deleted file mode 100644
index bec2338..0000000
--- a/sim/gobs/sweeps/dc03kpv05.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv05.cfg system_100-700.cfg fs_pdsi_1EB.cfg \
- dc_output.cfg user00.cfg
-
-plot.blackandwhite = true
-plot.force.domain.upper = 1100
-fault.count = 1
diff --git a/sim/gobs/sweeps/dc03kpv06.cfg b/sim/gobs/sweeps/dc03kpv06.cfg
deleted file mode 100644
index 3fc5886..0000000
--- a/sim/gobs/sweeps/dc03kpv06.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv06.cfg system_size_20-1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/sweeps/dc04kpv01.cfg b/sim/gobs/sweeps/dc04kpv01.cfg
deleted file mode 100644
index 42ec269..0000000
--- a/sim/gobs/sweeps/dc04kpv01.cfg
+++ /dev/null
@@ -1,6 +0,0 @@
-
-include = kpv01.cfg system_600.cfg fs_pdsi_1EB.cfg \
- dc_output.cfg user00.cfg
-
-plot.blackandwhite = true
-fault.count = 1
diff --git a/sim/gobs/sweeps/dc04kpv02.cfg b/sim/gobs/sweeps/dc04kpv02.cfg
deleted file mode 100644
index 5215e71..0000000
--- a/sim/gobs/sweeps/dc04kpv02.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv02.cfg system_size_100_1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/sweeps/dc04kpv03.cfg b/sim/gobs/sweeps/dc04kpv03.cfg
deleted file mode 100644
index c19a005..0000000
--- a/sim/gobs/sweeps/dc04kpv03.cfg
+++ /dev/null
@@ -1,6 +0,0 @@
-
-include = kpv03.cfg system_600.cfg fs_pdsi_1EB.cfg \
- dc_output.cfg user00.cfg
-
-fault.count = 1
-plot.blackandwhite = true
diff --git a/sim/gobs/sweeps/dc04kpv04.cfg b/sim/gobs/sweeps/dc04kpv04.cfg
deleted file mode 100644
index 5678cf6..0000000
--- a/sim/gobs/sweeps/dc04kpv04.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv04.cfg system_size_100_1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/sweeps/dc04kpv05.cfg b/sim/gobs/sweeps/dc04kpv05.cfg
deleted file mode 100644
index 4962c40..0000000
--- a/sim/gobs/sweeps/dc04kpv05.cfg
+++ /dev/null
@@ -1,6 +0,0 @@
-
-include = kpv05.cfg system_600.cfg fs_pdsi_1EB.cfg \
- dc_output.cfg user00.cfg
-
-fault.count = 1
-plot.blackandwhite = true
diff --git a/sim/gobs/sweeps/dc04kpv06.cfg b/sim/gobs/sweeps/dc04kpv06.cfg
deleted file mode 100644
index e872579..0000000
--- a/sim/gobs/sweeps/dc04kpv06.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv06.cfg system_size_100_1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/sweeps/dc_output.cfg b/sim/gobs/sweeps/dc_output.cfg
deleted file mode 100644
index b134390..0000000
--- a/sim/gobs/sweeps/dc_output.cfg
+++ /dev/null
@@ -1,19 +0,0 @@
-
-# Basics:
-
-# Print all properties at simulation start
-print.properties = true
-# Print nodes and objects at startup (true/false)
-print.initialnodes = true
-# Print nodes and objects after each rebuild (true/false)
-print.nodes = false
-# Print object tranfers during rebuilds (true/false)
-print.rebuilds = false
-# Print file information (true/false)
-print.files = false
-print.filesobjects = false
-# Print load change statistics (true/false)
-print.loaddiffs = true
-# Print user accesses
-print.accesses = false
-
diff --git a/sim/gobs/sweeps/debug.cfg b/sim/gobs/sweeps/debug.cfg
deleted file mode 100644
index 2a0f8b8..0000000
--- a/sim/gobs/sweeps/debug.cfg
+++ /dev/null
@@ -1,14 +0,0 @@
-
-# Simulator configuration
-
-print.properties = true
-# Print nodes and objects at startup (true/false)
-print.initialnodes = true
-# Print nodes and objects after each rebuild (true/false)
-print.nodes = true
-# Print object tranfers during rebuilds (true/false)
-print.rebuilds = true
-# Print file information (true/false)
-print.files = true
-# Print load change statistics (true/false)
-print.loaddiffs = true
diff --git a/sim/gobs/sweeps/decluster02.zsh b/sim/gobs/sweeps/decluster02.zsh
deleted file mode 100755
index a36ebee..0000000
--- a/sim/gobs/sweeps/decluster02.zsh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/zsh
-
-NAME=$1
-N=$2
-SEED=$3
-
-[[ ${NAME} == "" ]] && print "No NAME!" && exit 1
-[[ ${N} == "" ]] && N=20
-[[ ${SEED} != "" ]] && SEED="seed=${SEED}"
-
-NAME="dc02${NAME}"
-
-CFG="${NAME}.cfg"
-EPS="${NAME}.eps"
-OUT="${NAME}.out"
-
-java -ea gobs.sweep.x.Decluster02 \
- -p sweeps -n ${N} -o ${EPS} ${SEED} ${CFG} >& ${OUT}
-ERR=$?
-
-[[ ${ERR} != 0 ]] && print "Crashed: ${NAME} ERR: ${ERR}" && exit 1
-
-exit 0
diff --git a/sim/gobs/sweeps/decluster03.zsh b/sim/gobs/sweeps/decluster03.zsh
deleted file mode 100755
index d3a5ff1..0000000
--- a/sim/gobs/sweeps/decluster03.zsh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/zsh
-
-NAME=$1
-
-[[ ${NAME} == "" ]] && print "No NAME!" && exit 1
-
-NAME="dc03${NAME}"
-
-SEED="seed=822"
-CLASS=gobs.sweep.x.Decluster03
-
-SWEEPDIR=$( dirname $0 )
-
-source ${SWEEPDIR}/sweep.zsh
diff --git a/sim/gobs/sweeps/decluster04.zsh b/sim/gobs/sweeps/decluster04.zsh
deleted file mode 100755
index aad88dc..0000000
--- a/sim/gobs/sweeps/decluster04.zsh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/zsh
-
-NAME=$1
-
-[[ ${NAME} == "" ]] && print "No NAME!" && exit 1
-
-NAME="dc04${NAME}"
-
-# SEED="seed=821"
-CLASS=gobs.sweep.x.Decluster04
-
-SWEEPDIR=$( dirname $0 )
-
-source ${SWEEPDIR}/sweep.zsh
diff --git a/sim/gobs/sweeps/disks-full-zaps-only.cfg b/sim/gobs/sweeps/disks-full-zaps-only.cfg
deleted file mode 100644
index 87e9e0c..0000000
--- a/sim/gobs/sweeps/disks-full-zaps-only.cfg
+++ /dev/null
@@ -1,19 +0,0 @@
-
-# 30 TB T G M K
-disk.size = 30000000000000
-disk.speed = 400000000
-
-# RAID: None
-cluster.node.osds = 1
-cluster.raid = 1+0
-cluster.replicas = 4
-
-# RAID: 4 @ 4+2
-san.node.osds = 8
-san.raid = 8+2
-san.replicas = 2
-
-# RAID: 2 @ 3+1
-target.node.osds = 4
-target.raid = 4+1
-target.replicas = 3
diff --git a/sim/gobs/sweeps/disks-full.cfg b/sim/gobs/sweeps/disks-full.cfg
deleted file mode 100644
index 84741a6..0000000
--- a/sim/gobs/sweeps/disks-full.cfg
+++ /dev/null
@@ -1,21 +0,0 @@
-
-# 30 TB T G M K
-disk.size = 30000000000000
-disk.speed = 400000000
-
-# MTTC: 3 months
-
-# RAID: None
-cluster.node.osds = 1
-cluster.raid = 1+0
-cluster.replicas = 4
-
-# RAID: 8 @ 8+2
-san.node.osds = 8
-san.raid = 8+2
-san.replicas = 2
-
-# RAID: 4 @ 4+1
-target.node.osds = 4
-target.raid = 4+1
-target.replicas = 3
diff --git a/sim/gobs/sweeps/disks-long.cfg b/sim/gobs/sweeps/disks-long.cfg
deleted file mode 100644
index 132a5dc..0000000
--- a/sim/gobs/sweeps/disks-long.cfg
+++ /dev/null
@@ -1,18 +0,0 @@
-
-mttr.reboot = 10
-mttr.disk = 50
-
-disk.size = 500000
-disk.speed = 3000
-
-disk.mttf.min = 10000
-disk.mttf.max = 10000
-disk.mttf.step = literal:10000
-
-systems = target
-
-# RAID: 2 @ 3+1
-target.node.osds = 2
-target.raid = 3+1
-target.replicas = 3
-target.mttc = 40000
diff --git a/sim/gobs/sweeps/disks-medium-zaps-only.cfg b/sim/gobs/sweeps/disks-medium-zaps-only.cfg
deleted file mode 100644
index 6922b8a..0000000
--- a/sim/gobs/sweeps/disks-medium-zaps-only.cfg
+++ /dev/null
@@ -1,38 +0,0 @@
-
-# 1 day
-mttr.reboot = 3600
-mttr.disk = 86400
-
-# 5GB
-disk.size = 5000000000
-# 100MB/s
-disk.speed = 100000000
-
-# 1 month: 25920000
-# 10 years: 315360000
-# M K
-disk.mttf.min = 315360000
-disk.mttf.max = 315360000
-disk.mttf.step = interval:10000000
-
-systems = san;target
-
-# 3 months: 7776000
-
-# RAID: None
-cluster.node.osds = 1
-cluster.raid = 1+0
-cluster.replicas = 4
-cluster.mttc = 30000000000
-
-# RAID: 4 @ 4+2
-san.node.osds = 8
-san.raid = 4+2
-san.replicas = 2
-san.mttc = 30000000000
-
-# RAID: 2 @ 3+1
-target.node.osds = 2
-target.raid = 3+1
-target.replicas = 3
-target.mttc = 30000000000
diff --git a/sim/gobs/sweeps/disks-medium.cfg b/sim/gobs/sweeps/disks-medium.cfg
deleted file mode 100644
index e794faf..0000000
--- a/sim/gobs/sweeps/disks-medium.cfg
+++ /dev/null
@@ -1,25 +0,0 @@
-
-# 5GB
-disk.size = 5000000000
-# 100MB/s
-disk.speed = 100000000
-
-# 3 months: 7776000
-
-# RAID: None
-cluster.node.osds = 1
-cluster.raid = 1+0
-cluster.replicas = 4
-cluster.mttc = 7776000
-
-# RAID: 4 @ 4+2
-san.node.osds = 8
-san.raid = 4+2
-san.replicas = 2
-san.mttc = 7776000
-
-# RAID: 2 @ 3+1
-target.node.osds = 2
-target.raid = 3+1
-target.replicas = 3
-target.mttc = 7776000
diff --git a/sim/gobs/sweeps/disks-small.cfg b/sim/gobs/sweeps/disks-small.cfg
deleted file mode 100644
index 4ba91e4..0000000
--- a/sim/gobs/sweeps/disks-small.cfg
+++ /dev/null
@@ -1,18 +0,0 @@
-
-disk.size = 500000
-disk.speed = 3000
-
-# RAID: None
-cluster.node.osds = 1
-cluster.raid = 1+0
-cluster.replicas = 4
-
-# RAID: 4 @ 4+2
-san.node.osds = 4
-san.raid = 4+2
-san.replicas = 2
-
-# RAID: 2 @ 3+1
-target.node.osds = 2
-target.raid = 3+1
-target.replicas = 3
diff --git a/sim/gobs/sweeps/dl01-full.cfg b/sim/gobs/sweeps/dl01-full.cfg
deleted file mode 100644
index e9229b6..0000000
--- a/sim/gobs/sweeps/dl01-full.cfg
+++ /dev/null
@@ -1,34 +0,0 @@
-
-# Simulator configuration
-
-# Basics:
-
-include = disks-full.cfg fs_pdsi_1EB_chunky.cfg faults_real_range_dl01.cfg \
- user00.cfg dl_output.cfg
-
-# Bit-length of addresses:
-B = 32
-
-systems = target
-
-# 1 year: 31536000
-simulator.duration = 31536000
-
-plot.blackandwhite = true
-plot.timeunit = years
-
-# Clear some memory after each simulator run
-sweep.free = true
-
-# Do a fsck
-fsck = true
-# Check for stray objects
-strays = true
-
-vertexgroups.prefix = 6
-# Replica selection: See Replicated.locateSource()
-replica.source = primary
-
-### Choose a NodeScheme implementation:
-
-impl.nodefactory = SimpleNodes
diff --git a/sim/gobs/sweeps/dl01-full.zsh b/sim/gobs/sweeps/dl01-full.zsh
deleted file mode 100755
index ffbae45..0000000
--- a/sim/gobs/sweeps/dl01-full.zsh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/zsh
-
-NAME="dl01-full"
-SEED="seed=821"
-CLASS=gobs.sweep.x.DataLoss01
-
-SWEEPDIR=$( dirname $0 )
-
-source ${SWEEPDIR}/sweep.zsh
diff --git a/sim/gobs/sweeps/dl01-medium.cfg b/sim/gobs/sweeps/dl01-medium.cfg
deleted file mode 100644
index 9980cdb..0000000
--- a/sim/gobs/sweeps/dl01-medium.cfg
+++ /dev/null
@@ -1,33 +0,0 @@
-
-# Simulator configuration
-
-# Basics:
-
-include = disks-medium.cfg fs_pdsi_medium.cfg faults_medium_range_dl01.cfg \
- user00.cfg dl_output.cfg
-
-# Bit-length of addresses:
-B = 32
-
-systems = san;target
-
-# fault.count = 100
-simulator.duration = 31536000
-
-plot.blackandwhite = true
-
-# Clear some memory after each simulator run
-sweep.free = true
-
-# Do a fsck
-fsck = true
-# Check for stray objects
-strays = true
-
-vertexgroups.prefix = 6
-# Replica selection: See Replicated.locateSource()
-replica.source = primary
-
-### Choose a NodeScheme implementation:
-
-impl.nodefactory = SimpleNodes
diff --git a/sim/gobs/sweeps/dl01-medium.zsh b/sim/gobs/sweeps/dl01-medium.zsh
deleted file mode 100755
index 7733b26..0000000
--- a/sim/gobs/sweeps/dl01-medium.zsh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/zsh
-
-NAME="dl01-medium"
-SEED="seed=821"
-CLASS=gobs.sweep.x.DataLoss01
-
-SWEEPDIR=$( dirname $0 )
-
-source ${SWEEPDIR}/sweep.zsh
diff --git a/sim/gobs/sweeps/dl01-small.cfg b/sim/gobs/sweeps/dl01-small.cfg
deleted file mode 100644
index c40d2a5..0000000
--- a/sim/gobs/sweeps/dl01-small.cfg
+++ /dev/null
@@ -1,33 +0,0 @@
-
-# Simulator configuration
-
-# Basics:
-
-include = disks-small.cfg fs_pdsi_mini.cfg faults_small.cfg \
- user00.cfg dl_output.cfg
-
-# Bit-length of addresses:
-B = 16
-
-systems = san;target
-
-fault.count = 100
-
-plot.blackandwhite = true
-
-# Clear some memory after each simulator run
-sweep.free = true
-
-# Do a fsck
-fsck = true
-# Check for stray objects
-strays = true
-
-vertexgroups.prefix = 6
-# Replica selection: See Replicated.locateSource()
-replica.source = primary
-
-### Choose a NodeScheme implementation:
-
-impl.nodefactory = SimpleNodes
-
diff --git a/sim/gobs/sweeps/dl01-small.zsh b/sim/gobs/sweeps/dl01-small.zsh
deleted file mode 100755
index 32a98c7..0000000
--- a/sim/gobs/sweeps/dl01-small.zsh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/zsh
-
-NAME="dl01-small"
-SEED="seed=821"
-CLASS=gobs.sweep.x.DataLoss01
-
-SWEEPDIR=$( dirname $0 )
-
-source ${SWEEPDIR}/sweep.zsh
diff --git a/sim/gobs/sweeps/dl01.cfg b/sim/gobs/sweeps/dl01.cfg
deleted file mode 100644
index 6691f99..0000000
--- a/sim/gobs/sweeps/dl01.cfg
+++ /dev/null
@@ -1,87 +0,0 @@
-
-# Simulator configuration
-
-# Basics:
-
-include = dl_output.cfg
-
-# Statistics:
-
-# Clear some memory after each simulator run
-sweep.free = true
-
-# Rebuild traffic over time analysis:
-# plot.traffic.interval = 10
-
-### Parameters for GOBS Simulator run
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 32
-# Number of servers:
-nodes.min = 12
-nodes.max = 16
-# Step through nodes: See AbstractSweep.values()
-nodes.step = literal_20,40
-# Number of files:
-files = 10
-# Number of faults:
-faults = 30
-# Number of accesses:
-read.count = 0
-read.mode = random
-write.count = 0
-
-rebuild.rate = 10
-
-# Step through MTTF values: See AbstractSweep.values()
-mttf.min = 20000
-mttf.max = 160000
-mttf.step = interval_1000
-
-mttr = 3600
-
-### Choose a PlacementScheme implementation:
-
-#impl.placement = Kademlia
-impl.placement = Nearest
-#impl.placement = VertexGroups
-
-vertexgroups.prefix = 6
-# Replica selection: See Replicated.locateSource()
-replica.source = primary
-
-### Choose a NodeScheme implementation:
-
-# impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
-
-### Choose one of the following FileFactory sections:
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PlainFiles
-# File size:
-file.size = 140000
-# Strip size:
-file.strip = 4
-# File/object replicas:
-file.replicas = 3
-# Number of objects per file:
-file.width = 3
-
-# FileFactory implementation TraceFiles
-#impl.filefactory = TraceFiles
-# Trace filename:
-#filetrace = traces/test01.trace
-
-# FileFactory implementation RandomFiles
-#impl.filefactory = RandomFiles
-# Max size of big files:
-#filebigmax = 100
-# Min size of big files:
-#filebigmin = 50
-# Max size of small files:
-#filesmallmax = 20
-# Min size of small files:
-#filesmallmin = 0
diff --git a/sim/gobs/sweeps/dl01.zsh b/sim/gobs/sweeps/dl01.zsh
deleted file mode 100755
index 4037efc..0000000
--- a/sim/gobs/sweeps/dl01.zsh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/zsh
-
-CP=${CLASSPATH}:./src
-
-SWEEPDIR=$( dirname $0 )
-source ${SWEEPDIR}/classpath.zsh
-source ${SWEEPDIR}/build.zsh
-
-NAME="dl01"
-
-SEED="seed=821"
-{
- java -ea -Xmx1000M -cp ${CP} gobs.sweep.x.DataLoss01 \
- -n 4 -p sweeps ${NAME}.cfg ${SEED} -o ${NAME}.eps
- CODE=$?
-} >& ${NAME}.out
-
-print "wrote: ${NAME}.out"
-
-(( CODE )) && less ${NAME}.out
diff --git a/sim/gobs/sweeps/dl02-medium.cfg b/sim/gobs/sweeps/dl02-medium.cfg
deleted file mode 100644
index 0ed6006..0000000
--- a/sim/gobs/sweeps/dl02-medium.cfg
+++ /dev/null
@@ -1,38 +0,0 @@
-
-# Simulator configuration
-
-# Basics:
-
-include = disks-medium.cfg user00.cfg \
- fs_pdsi_medium.cfg dl_output.cfg
-
-# Bit-length of addresses:
-B = 16
-
-fault.count = 10
-fault.dataloss = 0.5
-
-node.diskspernode = 1
-
-# Clear some memory after each simulator run
-sweep.free = true
-
-# Do a fsck
-fsck = true
-# Check for stray objects
-strays = true
-
-### Choose a PlacementScheme implementation:
-
-#impl.placement = Kademlia
-impl.placement = Nearest
-#impl.placement = VertexGroups
-
-vertexgroups.prefix = 6
-# Replica selection: See Replicated.locateSource()
-replica.source = primary
-
-### Choose a NodeScheme implementation:
-
-# impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
diff --git a/sim/gobs/sweeps/dl02-medium.zsh b/sim/gobs/sweeps/dl02-medium.zsh
deleted file mode 100755
index b00db16..0000000
--- a/sim/gobs/sweeps/dl02-medium.zsh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/zsh
-
-NAME="dl02-medium"
-SEED="seed=821"
-CLASS=gobs.sweep.x.DataLoss02
-
-SWEEPDIR=$( dirname $0 )
-
-source ${SWEEPDIR}/sweep.zsh
diff --git a/sim/gobs/sweeps/dl02-small.cfg b/sim/gobs/sweeps/dl02-small.cfg
deleted file mode 100644
index f98fb5d..0000000
--- a/sim/gobs/sweeps/dl02-small.cfg
+++ /dev/null
@@ -1,38 +0,0 @@
-
-# Simulator configuration
-
-# Basics:
-
-include = disks-small.cfg user00.cfg \
- fs_pdsi_small.cfg dl_output.cfg
-
-# Bit-length of addresses:
-B = 16
-
-fault.count = 10
-fault.dataloss = 0.5
-
-node.diskspernode = 1
-
-# Clear some memory after each simulator run
-sweep.free = true
-
-# Do a fsck
-fsck = true
-# Check for stray objects
-strays = true
-
-### Choose a PlacementScheme implementation:
-
-#impl.placement = Kademlia
-impl.placement = Nearest
-#impl.placement = VertexGroups
-
-vertexgroups.prefix = 6
-# Replica selection: See Replicated.locateSource()
-replica.source = primary
-
-### Choose a NodeScheme implementation:
-
-# impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
diff --git a/sim/gobs/sweeps/dl02-small.zsh b/sim/gobs/sweeps/dl02-small.zsh
deleted file mode 100755
index 63fdb4c..0000000
--- a/sim/gobs/sweeps/dl02-small.zsh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/zsh
-
-NAME="dl02-small"
-SEED="seed=821"
-CLASS=gobs.sweep.x.DataLoss02
-
-SWEEPDIR=$( dirname $0 )
-
-source ${SWEEPDIR}/sweep.zsh
diff --git a/sim/gobs/sweeps/dl03-full.cfg b/sim/gobs/sweeps/dl03-full.cfg
deleted file mode 100644
index a08e56a..0000000
--- a/sim/gobs/sweeps/dl03-full.cfg
+++ /dev/null
@@ -1,39 +0,0 @@
-
-# Simulator configuration
-
-# Basics:
-
-include = disks-full.cfg fs_pdsi_1EB_vchunky.cfg faults_real_range_dl03.cfg \
- user00.cfg dl_output.cfg
-
-# Bit-length of addresses:
-B = 32
-
-systems = san
-# target
-
-# 1 year: 31536000
-# 2 years: 63072000
-# 5 years: 157680000
-simulator.duration = 31536000
-#simulator.duration = 63072000
-simulator.duration = 157680000
-
-plot.blackandwhite = true
-plot.timeunit = years
-
-# Clear some memory after each simulator run
-sweep.free = true
-
-# Do a fsck
-fsck = true
-# Check for stray objects
-strays = true
-
-vertexgroups.prefix = 6
-# Replica selection: See Replicated.locateSource()
-replica.source = primary
-
-### Choose a NodeScheme implementation:
-
-impl.nodefactory = SimpleNodes
diff --git a/sim/gobs/sweeps/dl03-full.zsh b/sim/gobs/sweeps/dl03-full.zsh
deleted file mode 100755
index af478af..0000000
--- a/sim/gobs/sweeps/dl03-full.zsh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/zsh
-
-NAME="dl03-full"
-SEED="seed=821"
-CLASS=gobs.sweep.x.DataLoss03
-
-SWEEPDIR=$( dirname $0 )
-
-source ${SWEEPDIR}/sweep.zsh
diff --git a/sim/gobs/sweeps/dl04-full.cfg b/sim/gobs/sweeps/dl04-full.cfg
deleted file mode 100644
index 8f3c1b9..0000000
--- a/sim/gobs/sweeps/dl04-full.cfg
+++ /dev/null
@@ -1,36 +0,0 @@
-
-# Simulator configuration
-
-# Basics:
-
-include = disks-full.cfg fs_pdsi_1EB_vchunky.cfg faults_real_range_dl03.cfg \
- user00.cfg dl_output.cfg
-
-# Bit-length of addresses:
-B = 32
-
-systems = san;target
-
-# 1 year: 31536000
-# 2 years: 63072000
-# 5 years: 157680000
-simulator.duration = 31536000
-#simulator.duration = 63072000
-#simulator.duration = 157680000
-
-plot.blackandwhite = true
-plot.timeunit = years
-
-# Clear some memory after each simulator run
-sweep.free = true
-
-# Do a fsck
-fsck = true
-# Check for stray objects
-strays = true
-
-replica.source = primary
-
-### Choose a NodeScheme implementation:
-
-impl.nodefactory = SimpleNodes
diff --git a/sim/gobs/sweeps/dl04-full.zsh b/sim/gobs/sweeps/dl04-full.zsh
deleted file mode 100755
index 01bc12f..0000000
--- a/sim/gobs/sweeps/dl04-full.zsh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/zsh
-
-NAME="dl04-full"
-# SEED="seed=489"
-CLASS=gobs.sweep.x.DataLoss04
-
-SWEEPDIR=$( dirname $0 )
-
-source ${SWEEPDIR}/sweep.zsh
-
-# Bad seeds: 173
diff --git a/sim/gobs/sweeps/dl_output.cfg b/sim/gobs/sweeps/dl_output.cfg
deleted file mode 100644
index f26b687..0000000
--- a/sim/gobs/sweeps/dl_output.cfg
+++ /dev/null
@@ -1,19 +0,0 @@
-
-# Basics:
-
-# Print all properties at simulation start
-print.properties = true
-# Print nodes and objects at startup (true/false)
-print.initialnodes = false
-# Print nodes and objects after each rebuild (true/false)
-print.nodes = false
-# Print object tranfers during rebuilds (true/false)
-print.rebuilds = false
-# Print file information (true/false)
-print.files = false
-print.filesobjects = false
-# Print load change statistics (true/false)
-print.loaddiffs = true
-# Print user accesses
-print.accesses = false
-
diff --git a/sim/gobs/sweeps/faults-range01.cfg b/sim/gobs/sweeps/faults-range01.cfg
deleted file mode 100644
index 3662dcf..0000000
--- a/sim/gobs/sweeps/faults-range01.cfg
+++ /dev/null
@@ -1,8 +0,0 @@
-
-mttf.min = 700
-mttf.max = 1400
-mttf.step = interval:100
-# literal_1500,1700,2000
-#interval_2000
-
-mttr = 500
diff --git a/sim/gobs/sweeps/faults-range02.cfg b/sim/gobs/sweeps/faults-range02.cfg
deleted file mode 100644
index 04ef38d..0000000
--- a/sim/gobs/sweeps/faults-range02.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-
-# One fault per day to one fault per week
-
-# Used for medium tests
-
-mttf.min = 86400
-mttf.max = 604800
-mttf.step = interval:86400
-
-# 1/2 day
-mttr = 43200
diff --git a/sim/gobs/sweeps/faults01.cfg b/sim/gobs/sweeps/faults01.cfg
deleted file mode 100644
index e39ba44..0000000
--- a/sim/gobs/sweeps/faults01.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-
-mttf = 10
-mttr = 10
diff --git a/sim/gobs/sweeps/faults_10.cfg b/sim/gobs/sweeps/faults_10.cfg
deleted file mode 100644
index 6d30ba7..0000000
--- a/sim/gobs/sweeps/faults_10.cfg
+++ /dev/null
@@ -1,16 +0,0 @@
-
-mttr.reboot = 3600
-mttr.disk = 86400
-
-# 1 month: 25920000
-# 10 years: 315360000
-# M K
-disk.mttf.min = 315360000
-disk.mttf.max = 315360000
-disk.mttf.step = interval:10000000
-
-# 3 months: 7776000
-#cluster.mttc = 7776000000
-
-san.mttc = 31536000
-target.mttc = 31536000
diff --git a/sim/gobs/sweeps/faults_medium.cfg b/sim/gobs/sweeps/faults_medium.cfg
deleted file mode 100644
index 7c01ad7..0000000
--- a/sim/gobs/sweeps/faults_medium.cfg
+++ /dev/null
@@ -1,10 +0,0 @@
-
-mttr.reboot = 3600
-mttr.disk = 86400
-
-# 1 month: 25920000
-# 10 years: 315360000
-# M K
-disk.mttf.min = 315360000
-disk.mttf.max = 315360000
-disk.mttf.step = interval:10000
diff --git a/sim/gobs/sweeps/faults_medium_range_dl01.cfg b/sim/gobs/sweeps/faults_medium_range_dl01.cfg
deleted file mode 100644
index 9fbae40..0000000
--- a/sim/gobs/sweeps/faults_medium_range_dl01.cfg
+++ /dev/null
@@ -1,18 +0,0 @@
-
-mttr.reboot = 3600
-mttr.disk = 86400
-
-# Disk MTTF: 1-100 years.
-
-# 1 month: 25920000
-# 10 years: 315360000
-# M K
-#disk.mttf.min = 31536000
-#disk.mttf.max = 31536000000
-#disk.mttf.step = literal:31536000,31536000000
-#exps
-
-# Experimental short values
-disk.mttf.min = 3153
-disk.mttf.max = 3153600
-disk.mttf.step = literal:31536000,31536000000
diff --git a/sim/gobs/sweeps/faults_real.cfg b/sim/gobs/sweeps/faults_real.cfg
deleted file mode 100644
index d2892bb..0000000
--- a/sim/gobs/sweeps/faults_real.cfg
+++ /dev/null
@@ -1,10 +0,0 @@
-
-mttr.reboot = 3600
-mttr.disk = 86400
-
-# 1 month: 25920000
-# 10 years: 315360000
-# M K
-disk.mttf.min = 315360000
-disk.mttf.max = 315360000
-disk.mttf.step = interval:10000000
diff --git a/sim/gobs/sweeps/faults_real_range_dl01.cfg b/sim/gobs/sweeps/faults_real_range_dl01.cfg
deleted file mode 100644
index 02c2d30..0000000
--- a/sim/gobs/sweeps/faults_real_range_dl01.cfg
+++ /dev/null
@@ -1,23 +0,0 @@
-
-mttr.reboot = 3600
-mttr.disk = 36000
-
-# Disk MTTF: 1-100 years.
-
-# M K
-# 1 month: 2592000
-# 1 years: 31536000
-disk.mttf.min = 12536000
-disk.mttf.max = 35360000
-#disk.mttf.max = 3153600000
-disk.mttf.step = mids
-# literal:31536000,31536000000
-
-# Artificially short
-#disk.mttf.step = literal:3153600,3153600000
-
-# 3 months: 7776000
-# 1 year: 31536000
-cluster.mttc = 315360000
-san.mttc = 315360000
-target.mttc = 315360000
diff --git a/sim/gobs/sweeps/faults_real_range_dl03.cfg b/sim/gobs/sweeps/faults_real_range_dl03.cfg
deleted file mode 100644
index 891370c..0000000
--- a/sim/gobs/sweeps/faults_real_range_dl03.cfg
+++ /dev/null
@@ -1,24 +0,0 @@
-
-mttr.reboot = 3600
-mttr.disk = 36000
-
-# Disk MTTF: 1-100 years.
-
-# M K
-# 1 month: 2592000
-# 1 years: 31536000
-disk.mttf.min = 9536000
-disk.mttf.max = 3153600000
-#disk.mttf.max = 31536000
-#disk.mttf.max = 3153600000
-disk.mttf.step = literal:9536000,15536000,20536000,40536000,60536000,157680000
-# literal:31536000,31536000000
-
-# Artificially short
-#disk.mttf.step = literal:3153600,3153600000
-
-# 3 months: 7776000
-# 1 year: 31536000
-cluster.mttc = 315360000
-san.mttc = 315360000
-target.mttc = 315360000
diff --git a/sim/gobs/sweeps/faults_real_zaps_only.cfg b/sim/gobs/sweeps/faults_real_zaps_only.cfg
deleted file mode 100644
index aa4a2f9..0000000
--- a/sim/gobs/sweeps/faults_real_zaps_only.cfg
+++ /dev/null
@@ -1,16 +0,0 @@
-
-mttr.reboot = 3600
-mttr.disk = 86400
-
-# 1 month: 25920000
-# 10 years: 315360000
-# M K
-disk.mttf.min = 31536000
-disk.mttf.max = 31536000
-disk.mttf.step = interval:10000000
-
-# 3 months: 7776000
-cluster.mttc = 7776000000
-san.mttc = 7776000000
-target.mttc = 7776000000
-
diff --git a/sim/gobs/sweeps/faults_small.cfg b/sim/gobs/sweeps/faults_small.cfg
deleted file mode 100644
index 285e670..0000000
--- a/sim/gobs/sweeps/faults_small.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-mttr.reboot = 10
-mttr.disk = 50
-
-disk.mttf.min = 20000
-disk.mttf.max = 20000
-disk.mttf.step = interval:4000
diff --git a/sim/gobs/sweeps/faults_small_zaps_only.cfg b/sim/gobs/sweeps/faults_small_zaps_only.cfg
deleted file mode 100644
index ff0af50..0000000
--- a/sim/gobs/sweeps/faults_small_zaps_only.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-
-mttr.reboot = 10
-mttr.disk = 500
-
-disk.mttf.min = 20000
-disk.mttf.max = 20000
-disk.mttf.step = interval:4000
-
-cluster.mttc = 20000000
-san.mttc = 20000000
-target.mttc = 40000000
diff --git a/sim/gobs/sweeps/fs_pdsi_1EB.cfg b/sim/gobs/sweeps/fs_pdsi_1EB.cfg
deleted file mode 100644
index 0ae70d7..0000000
--- a/sim/gobs/sweeps/fs_pdsi_1EB.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-
-# FS PDSI 1EB
-
-B = 32
-
-# Number of files:
-files = 200
-# FileFactory implementation PlainFiles
-impl.filefactory = PDSIFiles
-# 20% size 0, 60% size 1K-100K, 20% size 100K-10M
-file.pdsi.points = 0.1,1K;0.1,4T;1.0,10P
diff --git a/sim/gobs/sweeps/fs_pdsi_1EB_chunky.cfg b/sim/gobs/sweeps/fs_pdsi_1EB_chunky.cfg
deleted file mode 100644
index 5f3d006..0000000
--- a/sim/gobs/sweeps/fs_pdsi_1EB_chunky.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-
-# FS PDSI 1EB - CHUNKY
-
-B = 32
-
-# Number of files:
-files = 40
-# FileFactory implementation PlainFiles
-impl.filefactory = PDSIFiles
-# 20% size 0, 60% size 1K-100K, 20% size 100K-10M
-file.pdsi.points = 0.1,1K;0.1,4T;0.2,20P;1.0,30P
diff --git a/sim/gobs/sweeps/fs_pdsi_1EB_vchunky.cfg b/sim/gobs/sweeps/fs_pdsi_1EB_vchunky.cfg
deleted file mode 100644
index 28b90b5..0000000
--- a/sim/gobs/sweeps/fs_pdsi_1EB_vchunky.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-
-# FS PDSI 1EB - CHUNKY
-
-B = 32
-
-# Number of files:
-files = 8
-# FileFactory implementation PlainFiles
-impl.filefactory = PDSIFiles
-# 20% size 0, 60% size 1K-100K, 20% size 100K-10M
-file.pdsi.points = 0.1,1K;0.1,4T;0.2,50P;1.0,300P
diff --git a/sim/gobs/sweeps/fs_pdsi_medium.cfg b/sim/gobs/sweeps/fs_pdsi_medium.cfg
deleted file mode 100644
index 7cc56e9..0000000
--- a/sim/gobs/sweeps/fs_pdsi_medium.cfg
+++ /dev/null
@@ -1,8 +0,0 @@
-
-# FS PDSI MEDIUM
-
-impl.filefactory = PDSIFiles
-# Number of files:
-files = 50
-# 10% size 0, 90% size 4TB-1PB
-file.pdsi.points = 0.1,10G;0.6,100G;1.0,2T
diff --git a/sim/gobs/sweeps/fs_pdsi_mini.cfg b/sim/gobs/sweeps/fs_pdsi_mini.cfg
deleted file mode 100644
index 7049e60..0000000
--- a/sim/gobs/sweeps/fs_pdsi_mini.cfg
+++ /dev/null
@@ -1,13 +0,0 @@
-
-# FS PDSI MINI
-
-# 97 MB
-
-B = 16
-
-files = 20
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PDSIFiles
-# 20% size 0, 60% size 1K-100K, 20% size 100K-10M
-file.pdsi.points = 0.2,1K;0.4,100K;1.0,10M
diff --git a/sim/gobs/sweeps/fs_pdsi_small.cfg b/sim/gobs/sweeps/fs_pdsi_small.cfg
deleted file mode 100644
index 6f81ea5..0000000
--- a/sim/gobs/sweeps/fs_pdsi_small.cfg
+++ /dev/null
@@ -1,9 +0,0 @@
-
-# FS PDSI SMALL
-
-# Number of files:
-files = 20
-# FileFactory implementation PlainFiles
-impl.filefactory = PDSIFiles
-# 20% size 0, 40% size 1K-1M, 40% size 1M-20M
-file.pdsi.points = 0.2,1K;0.6,1M;1.0,20M
diff --git a/sim/gobs/sweeps/fs_plain_mini.cfg b/sim/gobs/sweeps/fs_plain_mini.cfg
deleted file mode 100644
index 74b9a52..0000000
--- a/sim/gobs/sweeps/fs_plain_mini.cfg
+++ /dev/null
@@ -1,17 +0,0 @@
-
-# FS PLAIN MINI
-
-B = 16
-
-files = 160
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PlainFiles
-# File size:
-file.size = 14
-# Strip size:
-file.strip = 4
-# File/object replicas:
-file.replicas = 3
-# Number of objects per file:
-file.width = 10
diff --git a/sim/gobs/sweeps/helpers.zsh b/sim/gobs/sweeps/helpers.zsh
deleted file mode 100644
index 940504d..0000000
--- a/sim/gobs/sweeps/helpers.zsh
+++ /dev/null
@@ -1,18 +0,0 @@
-
-tformat()
-# Convert seconds to hh:mm:ss
-{
- local -Z 2 T=$1
- local -Z 2 M
-
- if (( T <= 60 ))
- then
- print "${T}"
- elif (( T <= 3600 ))
- then
- M=$(( T/60 ))
- print "${M}:$( tformat $(( T%60 )) )"
- else
- print "$(( T/3600 )):$( tformat $(( T%3600 )) )"
- fi
-}
diff --git a/sim/gobs/sweeps/kpv01.cfg b/sim/gobs/sweeps/kpv01.cfg
deleted file mode 100644
index bb890be..0000000
--- a/sim/gobs/sweeps/kpv01.cfg
+++ /dev/null
@@ -1,15 +0,0 @@
-
-### Kademlia vs. PAST vs. Vertex Groups 01
-
-### Choose a PlacementScheme implementation:
-
-# Chosen by sweep driver.
-
-replica.source = primary
-VertexGroupPrefix = 5
-
-### Choose a NodeScheme implementation:
-
-# impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
-
diff --git a/sim/gobs/sweeps/kpv02.cfg b/sim/gobs/sweeps/kpv02.cfg
deleted file mode 100644
index bd79362..0000000
--- a/sim/gobs/sweeps/kpv02.cfg
+++ /dev/null
@@ -1,17 +0,0 @@
-
-### Kademlia vs. PAST vs. Vertex Groups 02
-
-include = kpv_output.cfg
-
-### Choose a PlacementScheme implementation:
-
-# Chosen by sweep driver.
-
-replica.source = primary
-VertexGroupPrefix = 5
-
-### Choose a NodeScheme implementation:
-
-impl.nodefactory = RandomNodes
-# impl.nodefactory = SimpleNodes
-
diff --git a/sim/gobs/sweeps/kpv03.cfg b/sim/gobs/sweeps/kpv03.cfg
deleted file mode 100644
index 905fbfe..0000000
--- a/sim/gobs/sweeps/kpv03.cfg
+++ /dev/null
@@ -1,15 +0,0 @@
-
-### Kademlia vs. PAST vs. Vertex Groups 03
-
-### Choose a PlacementScheme implementation:
-
-# Chosen by sweep driver.
-
-replica.source = random
-VertexGroupPrefix = 5
-
-### Choose a NodeScheme implementation:
-
-#impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
-
diff --git a/sim/gobs/sweeps/kpv04.cfg b/sim/gobs/sweeps/kpv04.cfg
deleted file mode 100644
index 580d721..0000000
--- a/sim/gobs/sweeps/kpv04.cfg
+++ /dev/null
@@ -1,16 +0,0 @@
-
-### Kademlia vs. PAST vs. Vertex Groups 04
-
-include = kpv_output.cfg
-
-### Choose a PlacementScheme implementation:
-
-# Chosen by sweep driver.
-
-replica.source = random
-VertexGroupPrefix = 5
-
-### Choose a NodeScheme implementation:
-
-impl.nodefactory = RandomNodes
-# impl.nodefactory = SimpleNodes
diff --git a/sim/gobs/sweeps/kpv05.cfg b/sim/gobs/sweeps/kpv05.cfg
deleted file mode 100644
index 0df9c8b..0000000
--- a/sim/gobs/sweeps/kpv05.cfg
+++ /dev/null
@@ -1,15 +0,0 @@
-
-### Kademlia vs. PAST vs. Vertex Groups 05
-
-### Choose a PlacementScheme implementation:
-
-# Chosen by sweep driver.
-
-replica.source = last
-VertexGroupPrefix = 5
-
-### Choose a NodeScheme implementation:
-
-#impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
-
diff --git a/sim/gobs/sweeps/kpv06.cfg b/sim/gobs/sweeps/kpv06.cfg
deleted file mode 100644
index ec8dde2..0000000
--- a/sim/gobs/sweeps/kpv06.cfg
+++ /dev/null
@@ -1,16 +0,0 @@
-
-### Kademlia vs. PAST vs. Vertex Groups 06
-
-include = kpv_output.cfg
-
-### Choose a PlacementScheme implementation:
-
-# Chosen by sweep driver.
-
-replica.source = last
-VertexGroupPrefix = 5
-
-### Choose a NodeScheme implementation:
-
-impl.nodefactory = RandomNodes
-
diff --git a/sim/gobs/sweeps/kpv_lit_big.cfg b/sim/gobs/sweeps/kpv_lit_big.cfg
deleted file mode 100644
index a2ca98d..0000000
--- a/sim/gobs/sweeps/kpv_lit_big.cfg
+++ /dev/null
@@ -1,25 +0,0 @@
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 32
-# Number of files:
-files = 3000
-# Number of faults:
-faults = 1
-
-# Number of servers:
-step = literal_100,1000
-minNodes = 0
-maxNodes = 0
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PlainFiles
-# File size:
-file.size = 14
-# Strip size:
-file.strip = 4
-# File/object replicas:
-file.replicas = 3
-# Number of objects per file:
-file.width = 10
diff --git a/sim/gobs/sweeps/kpv_lit_small.cfg b/sim/gobs/sweeps/kpv_lit_small.cfg
deleted file mode 100644
index a2cd9a4..0000000
--- a/sim/gobs/sweeps/kpv_lit_small.cfg
+++ /dev/null
@@ -1,25 +0,0 @@
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 32
-# Number of files:
-files = 100
-# Number of faults:
-faults = 1
-
-# Number of servers:
-step = literal_30,50
-minNodes = 0
-maxNodes = 0
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PlainFiles
-# File size:
-file.size = 14
-# Strip size:
-file.strip = 4
-# File/object replicas:
-file.replicas = 3
-# Number of objects per file:
-file.width = 10
diff --git a/sim/gobs/sweeps/kpv_output.cfg b/sim/gobs/sweeps/kpv_output.cfg
deleted file mode 100644
index 7de450f..0000000
--- a/sim/gobs/sweeps/kpv_output.cfg
+++ /dev/null
@@ -1,15 +0,0 @@
-
-### Simulator output configuration
-
-# Dump properties for each Simulator execution
-print.properties = true
-# Print nodes and objects at startup (true/false)
-print.initialnodes = true
-# Print nodes and objects after each rebuild (true/false)
-print.nodes = false
-# Print object tranfers during rebuilds (true/false)
-print.rebuilds = false
-# Print file information (true/false)
-print.files = false
-# Print load change statistics (true/false)
-print.loaddiffs = false
diff --git a/sim/gobs/sweeps/kpv_scenario.cfg b/sim/gobs/sweeps/kpv_scenario.cfg
deleted file mode 100644
index 2172cf9..0000000
--- a/sim/gobs/sweeps/kpv_scenario.cfg
+++ /dev/null
@@ -1,26 +0,0 @@
-
-step = exps
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 32
-# Number of files:
-files = 3000
-# Number of faults:
-faults = 1
-
-# Number of servers:
-minNodes = 20
-maxNodes = 1000
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PlainFiles
-# File size:
-file.size = 14
-# Strip size:
-file.strip = 4
-# File/object replicas:
-file.replicas = 3
-# Number of objects per file:
-file.width = 10
diff --git a/sim/gobs/sweeps/kpv_small.cfg b/sim/gobs/sweeps/kpv_small.cfg
deleted file mode 100644
index 88d2db4..0000000
--- a/sim/gobs/sweeps/kpv_small.cfg
+++ /dev/null
@@ -1,26 +0,0 @@
-
-step = exps
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 32
-# Number of files:
-files = 1
-# Number of faults:
-faults = 1
-
-# Number of servers:
-minNodes = 20
-maxNodes = 1000
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PlainFiles
-# File size:
-file.size = 14
-# Strip size:
-file.strip = 4
-# File/object replicas:
-file.replicas = 3
-# Number of objects per file:
-file.width = 10
diff --git a/sim/gobs/sweeps/nodes.cfg b/sim/gobs/sweeps/nodes.cfg
deleted file mode 100644
index 408d7ef..0000000
--- a/sim/gobs/sweeps/nodes.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-
-minNodes = 10
-maxNodes = 10
diff --git a/sim/gobs/sweeps/output.cfg b/sim/gobs/sweeps/output.cfg
deleted file mode 100644
index f3afc38..0000000
--- a/sim/gobs/sweeps/output.cfg
+++ /dev/null
@@ -1,15 +0,0 @@
-
-### Simulator output configuration
-
-# Dump properties for each Simulator execution
-print.properties = true
-# Print nodes and objects at startup (true/false)
-print.initialnodes = false
-# Print nodes and objects after each rebuild (true/false)
-print.nodes = false
-# Print object tranfers during rebuilds (true/false)
-print.rebuilds = false
-# Print file information (true/false)
-print.files = false
-# Print load change statistics (true/false)
-print.loaddiffs = false
diff --git a/sim/gobs/sweeps/parallelism01.zsh b/sim/gobs/sweeps/parallelism01.zsh
deleted file mode 100755
index 5d66a0f..0000000
--- a/sim/gobs/sweeps/parallelism01.zsh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/zsh
-
-# PARALLELISM 01
-
-NAME=$1
-
-[[ ${NAME} == "" ]] && print "No NAME!" && exit 1
-
-NAME="pll01${NAME}"
-
-CFG="${NAME}.cfg"
-EPS="${NAME}.eps"
-OUT="${NAME}.out"
-
-java gobs.sweep.Parallelism01 -p sweeps -n 2 -o ${EPS} ${CFG} >& ${OUT}
-ERR=$?
-
-[[ ${ERR} != 0 ]] && print "Crashed: ${NAME}" && exit 1
-
-exit 0
diff --git a/sim/gobs/sweeps/pll01-small.cfg b/sim/gobs/sweeps/pll01-small.cfg
deleted file mode 100644
index 7fe30b2..0000000
--- a/sim/gobs/sweeps/pll01-small.cfg
+++ /dev/null
@@ -1,18 +0,0 @@
-
-### PARALLELISM 01
-
-include = pll_output.cfg
-
-faults = 0
-
-### Choose a PlacementScheme implementation:
-
-# Chosen by sweep driver.
-
-replica.source = primary
-VertexGroupPrefix = 5
-
-### Choose a NodeScheme implementation:
-
-# impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
diff --git a/sim/gobs/sweeps/pll01-small.zsh b/sim/gobs/sweeps/pll01-small.zsh
deleted file mode 100644
index c0f7fe4..0000000
--- a/sim/gobs/sweeps/pll01-small.zsh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/zsh
-
-CP=${CLASSPATH}:./src
-
-SEED="seed=821"
-{
- java -ea -Xmx1000M -cp ${CP} gobs.sweep.x.Parallelism01 \
- -n 1 -p sweeps pll01-small.cfg ${SEED} -o pll01-small.eps
-} >& dl01.out
diff --git a/sim/gobs/sweeps/pll01.cfg b/sim/gobs/sweeps/pll01.cfg
deleted file mode 100644
index 9a514fe..0000000
--- a/sim/gobs/sweeps/pll01.cfg
+++ /dev/null
@@ -1,20 +0,0 @@
-
-### PARALLELISM 01
-### Included by pll01case*.cfg
-
-include = pll_output.cfg
-
-faults = 0
-
-### Choose a PlacementScheme implementation:
-
-# Chosen by sweep driver.
-
-replica.source = primary
-VertexGroupPrefix = 5
-
-### Choose a NodeScheme implementation:
-
-# impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
-
diff --git a/sim/gobs/sweeps/pll01.zsh b/sim/gobs/sweeps/pll01.zsh
deleted file mode 100755
index 8dc6eb9..0000000
--- a/sim/gobs/sweeps/pll01.zsh
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/zsh
-
-CASE=$1
-
-[[ ${CASE} == "" ]] && print "Not specified: CASE" && exit 1
-
-SWEEPDIR=$( dirname $0 )
-source ${SWEEPDIR}/classpath.zsh
-
-Ant 30 > ant.out
-if [[ $? != 0 ]]
-then
- cat ant.out
- exit 1
-fi
-
-SEED="seed=821"
-NAME="pll01${CASE}"
-{
- java -ea -Xmx1000M -cp "${CP}" gobs.sweep.x.Parallelism01 \
- -n 2 -p sweeps ${NAME}.cfg ${SEED} -o ${NAME}.eps
-} >& ${NAME}.out
-chmod uga-x ${NAME}.eps
-
-print "wrote: ${NAME}.out"
diff --git a/sim/gobs/sweeps/pll01case01.cfg b/sim/gobs/sweeps/pll01case01.cfg
deleted file mode 100644
index 3b4fbc9..0000000
--- a/sim/gobs/sweeps/pll01case01.cfg
+++ /dev/null
@@ -1,6 +0,0 @@
-
-# PARALLELISM 01 CASE 01
-
-include = pll01.cfg user01.cfg fs_plain_mini.cfg system_size_20-40.cfg
-# system_size_pdsi_100-1000.cfg
-# system_size_pdsi_20-40.cfg
diff --git a/sim/gobs/sweeps/pll01case02.cfg b/sim/gobs/sweeps/pll01case02.cfg
deleted file mode 100644
index 30479ed..0000000
--- a/sim/gobs/sweeps/pll01case02.cfg
+++ /dev/null
@@ -1,10 +0,0 @@
-
-# PARALLELISM 01 CASE 01
-
-include = pll01.cfg system_size_pdsi_20-40.cfg
-# system_size_pdsi_100-1000.cfg
-# system_size_pdsi_20-40.cfg
-#
-#
-
-faults = 1
diff --git a/sim/gobs/sweeps/pll02.cfg b/sim/gobs/sweeps/pll02.cfg
deleted file mode 100644
index 57b335d..0000000
--- a/sim/gobs/sweeps/pll02.cfg
+++ /dev/null
@@ -1,19 +0,0 @@
-
-### PARALLELISM 02
-### Included by pll02case*.cfg
-
-include = pll_output.cfg
-
-faults = 3
-
-### Choose a PlacementScheme implementation:
-
-# Chosen by sweep driver.
-
-replica.source = primary
-VertexGroupPrefix = 5
-
-### Choose a NodeScheme implementation:
-
-# impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
diff --git a/sim/gobs/sweeps/pll02.zsh b/sim/gobs/sweeps/pll02.zsh
deleted file mode 100755
index 1e6c63a..0000000
--- a/sim/gobs/sweeps/pll02.zsh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/zsh
-
-CASE=$1
-
-[[ ${CASE} == "" ]] && print "Not specified: CASE" && exit 1
-
-SWEEPDIR=$( dirname $0 )
-source ${SWEEPDIR}/classpath.zsh
-source ${SWEEPDIR}/build.zsh
-
-SEED="seed=821"
-NAME="pll02${CASE}"
-{
- java -ea -Xmx1000M -cp "${CP}" gobs.sweep.x.Parallelism02 \
- -n 1 -p sweeps ${NAME}.cfg ${SEED} -o "${NAME}-___.eps"
- CODE=$?
-} >& ${NAME}.out
-chmod uga-x pll02*.eps
-
-print "wrote: ${NAME}.out"
-
-(( CODE )) && less ${NAME}.out
diff --git a/sim/gobs/sweeps/pll02case01.cfg b/sim/gobs/sweeps/pll02case01.cfg
deleted file mode 100644
index a3f7597..0000000
--- a/sim/gobs/sweeps/pll02case01.cfg
+++ /dev/null
@@ -1,5 +0,0 @@
-
-# PARALLELISM 01 CASE 01
-
-include = pll02.cfg user01.cfg fs_pdsi_mini.cfg system_size_10.cfg
-# system_size_20-40.cfg
diff --git a/sim/gobs/sweeps/pll02case02.cfg b/sim/gobs/sweeps/pll02case02.cfg
deleted file mode 100644
index 823f30e..0000000
--- a/sim/gobs/sweeps/pll02case02.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-# PARALLELISM 01 CASE 01
-
-include = pll02.cfg user02.cfg fs_pdsi_1EB.cfg system_size_240-640.cfg
-# system_size_pdsi_100-1000.cfg
-# system_size_pdsi_20-40.cfg
-
diff --git a/sim/gobs/sweeps/pll_output.cfg b/sim/gobs/sweeps/pll_output.cfg
deleted file mode 100644
index 7576f13..0000000
--- a/sim/gobs/sweeps/pll_output.cfg
+++ /dev/null
@@ -1,21 +0,0 @@
-
-### Simulator output configuration
-
-# Dump properties for each Simulator execution
-print.properties = true
-# Print nodes and objects at startup (true/false)
-print.initialnodes = true
-# Print nodes and objects after each rebuild (true/false)
-print.nodes = true
-# Print nodes and neighbors after each fault (true/false)
-print.neighbors = true
-# Print object tranfers during rebuilds (true/false)
-print.rebuilds = true
-# Print file information (true/false)
-print.files = true
-# Print file access information (true/false)
-print.accesses = false
-# Print load change statistics (true/false)
-print.loaddiffs = false
-# Include a title with the plot (true/false default:true)
-plot.title.visible = false
diff --git a/sim/gobs/sweeps/quick04.cfg b/sim/gobs/sweeps/quick04.cfg
deleted file mode 100644
index 47a4266..0000000
--- a/sim/gobs/sweeps/quick04.cfg
+++ /dev/null
@@ -1,74 +0,0 @@
-
-### Kademlia vs. PAST vs. Vertex Groups 04
-
-step = exps
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 32
-# Number of files:
-files = 1000
-# Number of faults:
-faults = 1
-
-# Number of servers:
-minNodes = 10
-maxNodes = 1000
-
-### Choose a PlacementScheme implementation:
-
-# Chosen by sweep driver
-
-replica.source = random
-
-### Choose a NodeScheme implementation:
-
-impl.nodefactory = RandomNodes
-# impl.nodefactory = SimpleNodes
-
-### Choose one of the following FileFactory sections:
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PlainFiles
-# File size:
-file.size = 14
-# Strip size:
-file.strip = 4
-# File/object replicas:
-file.replicas = 3
-# Number of objects per file:
-file.width = 10
-
-# FileFactory implementation TraceFiles
-#impl.filefactory = TraceFiles
-# Trace filename:
-#filetrace = traces/test01.trace
-
-# FileFactory implementation RandomFiles
-#impl.filefactory = RandomFiles
-# Strip size:
-#file.strip = 4
-# Max size of big files:
-#filebigmax = 100
-# Min size of big files:
-#filebigmin = 50
-# Max size of small files:
-#filesmallmax = 20
-# Min size of small files:
-#filesmallmin = 0
-
-### Simulator output configuration
-
-# Dump properties for each Simulator execution
-print.properties = false
-# Print nodes and objects at startup (true/false)
-print.initialnodes = false
-# Print nodes and objects after each rebuild (true/false)
-print.nodes = false
-# Print object tranfers during rebuilds (true/false)
-print.rebuilds = false
-# Print file information (true/false)
-print.files = false
-# Print load change statistics (true/false)
-print.loaddiffs = false
diff --git a/sim/gobs/sweeps/raid01.cfg b/sim/gobs/sweeps/raid01.cfg
deleted file mode 100644
index 81d99b4..0000000
--- a/sim/gobs/sweeps/raid01.cfg
+++ /dev/null
@@ -1,10 +0,0 @@
-
-mttf.min = 1000
-mttf.max = 2000
-mttf.step = interval:100
-
-disk.speed = 1000
-disk.size = 10000
-
-# raids = 8+2;4+1
-raids = 4+1
diff --git a/sim/gobs/sweeps/raid01.zsh b/sim/gobs/sweeps/raid01.zsh
deleted file mode 100755
index cc89281..0000000
--- a/sim/gobs/sweeps/raid01.zsh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/zsh
-
-NAME="raid01"
-CLASS="gobs.sweep.x.RAID01"
-
-SWEEPDIR=$( dirname $0 )
-
-source ${SWEEPDIR}/sweep.zsh
diff --git a/sim/gobs/sweeps/rb01-full.cfg b/sim/gobs/sweeps/rb01-full.cfg
deleted file mode 100644
index 8b6b1f2..0000000
--- a/sim/gobs/sweeps/rb01-full.cfg
+++ /dev/null
@@ -1,31 +0,0 @@
-
-# Simulator configuration
-
-# Basics:
-
-include = disks-full.cfg user00.cfg \
- fs_pdsi_1EB.cfg rb_full_output.cfg
-
-# Statistics:
-
-# Rebuild traffic over time analysis:
-plot.traffic.interval = 10
-
-### Parameters for GOBS Simulator run
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 20
-
-# Number of faults:
-simulator.duration = 1000
-
-vertexgroups.prefix = 6
-# Replica selection: See Replicated.locateSource()
-replica.source = primary
-
-### Choose a NodeScheme implementation:
-
-# impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
diff --git a/sim/gobs/sweeps/rb01-full.zsh b/sim/gobs/sweeps/rb01-full.zsh
deleted file mode 100755
index 945806a..0000000
--- a/sim/gobs/sweeps/rb01-full.zsh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/zsh
-
-NAME="rb01-full"
-SEED="seed=821"
-CLASS=gobs.sweep.x.Rebuild01
-
-SWEEPDIR=$( dirname $0 )
-
-source ${SWEEPDIR}/sweep.zsh
diff --git a/sim/gobs/sweeps/rb01-long.cfg b/sim/gobs/sweeps/rb01-long.cfg
deleted file mode 100644
index 473582b..0000000
--- a/sim/gobs/sweeps/rb01-long.cfg
+++ /dev/null
@@ -1,41 +0,0 @@
-
-# Simulator configuration
-
-# Basics:
-
-include = disks-full-zaps-only.cfg faults_10.cfg \
- fs_pdsi_1EB_chunky.cfg user00.cfg rb_output.cfg
-
-systems = target
-
-# Statistics:
-
-# Rebuild traffic over time analysis:
-plot.traffic.interval = 86400
-plot.blackandwhite = true
-plot.width = 900
-plot.timeunit = days
-
-### Parameters for GOBS Simulator run
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 20
-
-# Number of faults:
-# 1 month: 2592000
-# 1 year: 31536000
-# 10 years: 315360000
-# M K
-simulator.duration = 31536000
-#simulator.duration = 86400
-
-vertexgroups.prefix = 6
-# Replica selection: See Replicated.locateSource()
-replica.source = primary
-
-### Choose a NodeScheme implementation:
-
-# impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
diff --git a/sim/gobs/sweeps/rb01-long.zsh b/sim/gobs/sweeps/rb01-long.zsh
deleted file mode 100755
index 1cf2593..0000000
--- a/sim/gobs/sweeps/rb01-long.zsh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/zsh
-
-# Long run for plot along top
-
-NAME="rb01-long"
-SEED="seed=822"
-CLASS=gobs.sweep.x.Rebuild01
-
-SWEEPDIR=$( dirname $0 )
-
-source ${SWEEPDIR}/sweep.zsh
diff --git a/sim/gobs/sweeps/rb01-medium.cfg b/sim/gobs/sweeps/rb01-medium.cfg
deleted file mode 100644
index c4e7fd8..0000000
--- a/sim/gobs/sweeps/rb01-medium.cfg
+++ /dev/null
@@ -1,37 +0,0 @@
-
-# Simulator configuration
-
-# Basics:
-
-include = disks-medium.cfg user00.cfg \
- fs_pdsi_medium.cfg rb_output.cfg
-
-# Statistics:
-
-systems = target
-
-# Rebuild traffic over time analysis:
-plot.traffic.interval = 3600
-plot.blackandwhite = true
-plot.width = 900
-plot.timeunit = hours
-
-### Parameters for GOBS Simulator run
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 20
-
-# Number of faults:
-# 1 day
-simulator.duration = 86400
-
-vertexgroups.prefix = 6
-# Replica selection: See Replicated.locateSource()
-replica.source = primary
-
-### Choose a NodeScheme implementation:
-
-# impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
diff --git a/sim/gobs/sweeps/rb01-medium.zsh b/sim/gobs/sweeps/rb01-medium.zsh
deleted file mode 100755
index b58afec..0000000
--- a/sim/gobs/sweeps/rb01-medium.zsh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/zsh
-
-NAME="rb01-medium"
-SEED="seed=821"
-CLASS=gobs.sweep.x.Rebuild01
-
-SWEEPDIR=$( dirname $0 )
-
-source ${SWEEPDIR}/sweep.zsh
diff --git a/sim/gobs/sweeps/rb01-range.cfg b/sim/gobs/sweeps/rb01-range.cfg
deleted file mode 100644
index adc6d04..0000000
--- a/sim/gobs/sweeps/rb01-range.cfg
+++ /dev/null
@@ -1,72 +0,0 @@
-
-# Simulator configuration
-
-include = rb_output.cfg
-
-# Statistics:
-
-# Rebuild traffic over time analysis:
-plot.traffic.interval = 1000
-
-### Parameters for GOBS Simulator run
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 16
-# Number of servers:
-nodes.min = 20
-nodes.max = 200
-# Step through nodes: See AbstractSweep.values()
-nodes.step = mids
-# Number of files:
-files = 100
-# Number of faults:
-faults = 1
-# Number of accesses:
-reads = 0
-writes = 0
-
-### Choose a PlacementScheme implementation:
-
-#impl.placement = Kademlia
-impl.placement = Nearest
-#impl.placement = VertexGroups
-
-vertexgroups.prefix = 6
-# Replica selection: See Replicated.locateSource()
-replica.source = primary
-
-### Choose a NodeScheme implementation:
-
-# impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
-
-### Choose one of the following FileFactory sections:
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PlainFiles
-# File size:
-file.size = 14000
-# Strip size:
-file.strip = 1000
-# File/object replicas:
-file.replicas = 3
-# Number of objects per file:
-file.width = 4
-
-# FileFactory implementation TraceFiles
-#impl.filefactory = TraceFiles
-# Trace filename:
-#filetrace = traces/test01.trace
-
-# FileFactory implementation RandomFiles
-#impl.filefactory = RandomFiles
-# Max size of big files:
-#filebigmax = 100
-# Min size of big files:
-#filebigmin = 50
-# Max size of small files:
-#filesmallmax = 20
-# Min size of small files:
-#filesmallmin = 0
diff --git a/sim/gobs/sweeps/rb01-small.cfg b/sim/gobs/sweeps/rb01-small.cfg
deleted file mode 100644
index 4e52ab7..0000000
--- a/sim/gobs/sweeps/rb01-small.cfg
+++ /dev/null
@@ -1,32 +0,0 @@
-
-# Simulator configuration
-
-# Basics:
-
-include = disks-small.cfg user00.cfg \
- fs_pdsi_small.cfg rb_output.cfg
-
-# Statistics:
-
-# Rebuild traffic over time analysis:
-plot.traffic.interval = 300
-plot.blackandwhite = true
-
-### Parameters for GOBS Simulator run
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 16
-
-# Number of faults:
-simulator.duration = 10000
-
-vertexgroups.prefix = 6
-# Replica selection: See Replicated.locateSource()
-replica.source = primary
-
-### Choose a NodeScheme implementation:
-
-# impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
diff --git a/sim/gobs/sweeps/rb01-small.zsh b/sim/gobs/sweeps/rb01-small.zsh
deleted file mode 100755
index 4a34240..0000000
--- a/sim/gobs/sweeps/rb01-small.zsh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/zsh
-
-NAME="rb01-small"
-SEED="seed=822"
-CLASS=gobs.sweep.x.Rebuild01
-
-SWEEPDIR=$( dirname $0 )
-
-source ${SWEEPDIR}/sweep.zsh
diff --git a/sim/gobs/sweeps/rb02-full.cfg b/sim/gobs/sweeps/rb02-full.cfg
deleted file mode 100644
index bc44bc0..0000000
--- a/sim/gobs/sweeps/rb02-full.cfg
+++ /dev/null
@@ -1,34 +0,0 @@
-
-# Simulator configuration
-
-# Basics:
-
-include = disks-full.cfg fs_pdsi_1EB_chunky.cfg faults_real_zaps_only.cfg \
- user00.cfg rb_output.cfg
-
-# Statistics:
-
-# Rebuild traffic over time analysis:
-plot.traffic.interval = 10800
-plot.blackandwhite = true
-plot.timeunit = hours
-# plot.force.domain.upper = 60
-
-regimen.skip = false
-
-systems = san;target
-
-# Bit-length of addresses:
-B = 32
-
-# Last time was 1
-fault.count = 20
-
-vertexgroups.prefix = 6
-# Replica selection: See Replicated.locateSource()
-replica.source = primary
-
-### Choose a NodeScheme implementation:
-
-# impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
diff --git a/sim/gobs/sweeps/rb02-full.zsh b/sim/gobs/sweeps/rb02-full.zsh
deleted file mode 100755
index 49dd9ff..0000000
--- a/sim/gobs/sweeps/rb02-full.zsh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/zsh
-
-NAME="rb02-full"
-#SEED="seed=821"
-CLASS=gobs.sweep.x.Rebuild02
-
-SWEEPDIR=$( dirname $0 )
-
-source ${SWEEPDIR}/sweep.zsh
diff --git a/sim/gobs/sweeps/rb02-medium.cfg b/sim/gobs/sweeps/rb02-medium.cfg
deleted file mode 100644
index 4182b82..0000000
--- a/sim/gobs/sweeps/rb02-medium.cfg
+++ /dev/null
@@ -1,31 +0,0 @@
-
-# Simulator configuration
-
-# Basics:
-
-include = disks-medium-zaps-only.cfg fs_pdsi_medium.cfg \
- user00.cfg rb_output.cfg
-
-# Statistics:
-
-# Rebuild traffic over time analysis:
-plot.traffic.interval = 3456000
-plot.blackandwhite = true
-plot.timeunit = hours
-
-regimen.skip = false
-
-# Bit-length of addresses:
-B = 20
-
-fault.count = 10
-# simulator.duration = 86400
-
-vertexgroups.prefix = 6
-# Replica selection: See Replicated.locateSource()
-replica.source = primary
-
-### Choose a NodeScheme implementation:
-
-# impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
diff --git a/sim/gobs/sweeps/rb02-medium.zsh b/sim/gobs/sweeps/rb02-medium.zsh
deleted file mode 100755
index 1276c7b..0000000
--- a/sim/gobs/sweeps/rb02-medium.zsh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/zsh
-
-NAME="rb02-medium"
-SEED="seed=821"
-CLASS=gobs.sweep.x.Rebuild02
-
-SWEEPDIR=$( dirname $0 )
-
-source ${SWEEPDIR}/sweep.zsh
diff --git a/sim/gobs/sweeps/rb02-small.cfg b/sim/gobs/sweeps/rb02-small.cfg
deleted file mode 100644
index b851c90..0000000
--- a/sim/gobs/sweeps/rb02-small.cfg
+++ /dev/null
@@ -1,33 +0,0 @@
-
-# Simulator configuration
-
-# Basics:
-
-include = disks-small.cfg fs_pdsi_small.cfg faults_small_zaps_only.cfg \
- user00.cfg rb_output.cfg
-
-# Statistics:
-
-systems = target
-
-# Rebuild traffic over time analysis:
-plot.traffic.interval = 100
-plot.blackandwhite = true
-plot.force.domain.upper = 3000
-
-regimen.skip = false
-
-# Bit-length of addresses:
-B = 16
-
-fault.count = 10
-fault.dataloss = 0.5
-
-vertexgroups.prefix = 6
-# Replica selection: See Replicated.locateSource()
-replica.source = primary
-
-### Choose a NodeScheme implementation:
-
-# impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
diff --git a/sim/gobs/sweeps/rb02-small.zsh b/sim/gobs/sweeps/rb02-small.zsh
deleted file mode 100755
index 5b343a1..0000000
--- a/sim/gobs/sweeps/rb02-small.zsh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/zsh
-
-NAME="rb02-small"
-# SEED="seed=821"
-CLASS=gobs.sweep.x.Rebuild02
-
-SWEEPDIR=$( dirname $0 )
-
-source ${SWEEPDIR}/sweep.zsh
diff --git a/sim/gobs/sweeps/rb02.cfg b/sim/gobs/sweeps/rb02.cfg
deleted file mode 100644
index 6032884..0000000
--- a/sim/gobs/sweeps/rb02.cfg
+++ /dev/null
@@ -1,61 +0,0 @@
-
-# Simulator configuration
-
-# Basics:
-
-include = rb_output.cfg
-
-# Statistics:
-
-# Rebuild traffic over time analysis:
-plot.traffic.interval = 500
-
-regimen.skip = true
-
-### Parameters for GOBS Simulator run
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 32
-# Number of servers:
-nodes.min = 12
-nodes.max = 16
-# Step through nodes: See AbstractSweep.values()
-nodes.step = literal_20
-# Number of files:
-files = 20
-# Number of faults:
-faults = 10
-# Number of accesses:
-read.count = 0
-write.count = 0
-# Rebuild transfer rate:
-rebuild.rate = 16000000000
-
-# MTTF: 1 day
-mttf = 86400
-# MTTR: 1 hour
-mttr = 3600
-
-### Choose a PlacementScheme implementation:
-
-#impl.placement = Kademlia
-impl.placement = Nearest
-#impl.placement = VertexGroups
-
-vertexgroups.prefix = 6
-# Replica selection: See Replicated.locateSource()
-replica.source = primary
-
-### Choose a NodeScheme implementation:
-
-# impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
-
-### Choose one of the following FileFactory sections:
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PDSIFiles
-# File size:
-file.pdsi.points = 0.01,1;0.2,500G;1.0,4T
diff --git a/sim/gobs/sweeps/rb02.zsh b/sim/gobs/sweeps/rb02.zsh
deleted file mode 100755
index 0069cf2..0000000
--- a/sim/gobs/sweeps/rb02.zsh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/zsh
-
-CP=${CLASSPATH}:./src
-
-SEED="seed=821"
-{
- java -cp ${CP} gobs.sweep.x.Rebuild02 \
- -n 5 -p sweeps rb02.cfg ${SEED} -o rb02-2.eps
-} >& rb02.out
diff --git a/sim/gobs/sweeps/rb_full_output.cfg b/sim/gobs/sweeps/rb_full_output.cfg
deleted file mode 100644
index c1b5190..0000000
--- a/sim/gobs/sweeps/rb_full_output.cfg
+++ /dev/null
@@ -1,18 +0,0 @@
-
-# Basics:
-
-# Print all properties at simulation start
-print.properties = true
-# Print nodes and objects at startup (true/false)
-print.initialnodes = true
-# Print nodes and objects after each rebuild (true/false)
-print.nodes = false
-# Print object tranfers during rebuilds (true/false)
-print.rebuilds = false
-# Print file information (true/false)
-print.files = false
-print.filesobjects = false
-# Print load change statistics (true/false)
-print.loaddiffs = true
-# Print user accesses
-print.accesses = false
diff --git a/sim/gobs/sweeps/rb_output.cfg b/sim/gobs/sweeps/rb_output.cfg
deleted file mode 100644
index 11d4f2c..0000000
--- a/sim/gobs/sweeps/rb_output.cfg
+++ /dev/null
@@ -1,18 +0,0 @@
-
-# Basics:
-
-# Print all properties at simulation start
-print.properties = true
-# Print nodes and objects at startup (true/false)
-print.initialnodes = true
-# Print nodes and objects after each rebuild (true/false)
-print.nodes = false
-# Print object tranfers during rebuilds (true/false)
-print.rebuilds = false
-# Print file information (true/false)
-print.files = true
-print.filesobjects = true
-# Print load change statistics (true/false)
-print.loaddiffs = true
-# Print user accesses
-print.accesses = false
diff --git a/sim/gobs/sweeps/sweep.zsh b/sim/gobs/sweeps/sweep.zsh
deleted file mode 100644
index 71d38b7..0000000
--- a/sim/gobs/sweeps/sweep.zsh
+++ /dev/null
@@ -1,29 +0,0 @@
-
-# Source this for sweep setup
-
-GOBS=${SWEEPDIR}/..
-
-source ${SWEEPDIR}/classpath.zsh
-source ${SWEEPDIR}/build.zsh
-source ${SWEEPDIR}/helpers.zsh
-
-[[ ${N} == "" ]] && N=1
-
-start=$( date +%s )
-{
- java -ea -Xmx4000M -cp ${CP} ${CLASS} \
- -n ${N} -p sweeps ${NAME}.cfg ${SEED} -o ${NAME}.eps
- CODE=$?
-} >& ${NAME}.out
-stop=$( date +%s )
-
-[[ ${BEEP} == "1" ]] && beeps &
-
-if (( CODE ))
-then
- less ${NAME}.out
-else
- print "wrote: ${NAME}.out"
-fi
-
-print "took: $( tformat $(( stop - start )) )"
diff --git a/sim/gobs/sweeps/system_10-20.cfg b/sim/gobs/sweeps/system_10-20.cfg
deleted file mode 100644
index 8d40a27..0000000
--- a/sim/gobs/sweeps/system_10-20.cfg
+++ /dev/null
@@ -1,10 +0,0 @@
-
-### System size: servers and characteristics.
-
-# 100 KB/s
-rebuild.rate = 100000
-
-# Number of servers:
-nodes.min = 10
-nodes.max = 20
-nodes.step = literal:10,15,20
diff --git a/sim/gobs/sweeps/system_10.cfg b/sim/gobs/sweeps/system_10.cfg
deleted file mode 100644
index 422a72e..0000000
--- a/sim/gobs/sweeps/system_10.cfg
+++ /dev/null
@@ -1,15 +0,0 @@
-
-### System size: servers and characteristics.
-
-rebuild.rate = 10
-# 16 GB/s
-
-# Number of servers:
-nodes.min = 10
-nodes.max = 10
-step = literal_10
-
-mttf = 10
-# 1 year
-mttr = 10
-# 1 day
diff --git a/sim/gobs/sweeps/system_100,200.cfg b/sim/gobs/sweeps/system_100,200.cfg
deleted file mode 100644
index 02bd8cb..0000000
--- a/sim/gobs/sweeps/system_100,200.cfg
+++ /dev/null
@@ -1,24 +0,0 @@
-
-### System size: servers and files/objects
-### 20-1000 servers, selected exponentially
-### 3000 files * 10 objects * 3 replicas = 90,000 objects
-
-# Number of servers:
-nodes.min = 100
-nodes.max = 200
-nodes.step = literal:100,200
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 32
-
-node.osds = 1
-disk.size = 500000000
-disk.speed = 1000000
-disk.mttf = 1
-mttc = 1000
-mttr.reboot = 1
-mttr.disk = 1
-raid = 1+0
-
diff --git a/sim/gobs/sweeps/system_100,600.cfg b/sim/gobs/sweeps/system_100,600.cfg
deleted file mode 100644
index ec6422e..0000000
--- a/sim/gobs/sweeps/system_100,600.cfg
+++ /dev/null
@@ -1,24 +0,0 @@
-
-### System size: servers and files/objects
-### 20-1000 servers, selected exponentially
-### 3000 files * 10 objects * 3 replicas = 90,000 objects
-
-# Number of servers:
-nodes.min = 100
-nodes.max = 600
-nodes.step = literal:100,600
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 32
-
-node.osds = 1
-disk.size = 500000000
-disk.speed = 1000000
-disk.mttf = 1
-mttc = 1000
-mttr.reboot = 1
-mttr.disk = 1
-raid = 1+0
-fault.count = 1
diff --git a/sim/gobs/sweeps/system_100-1000.cfg b/sim/gobs/sweeps/system_100-1000.cfg
deleted file mode 100644
index 157a220..0000000
--- a/sim/gobs/sweeps/system_100-1000.cfg
+++ /dev/null
@@ -1,14 +0,0 @@
-
-### System size: servers and characteristics.
-
-rebuild.rate = 16000000000
-# 16 GB/s
-
-# Number of servers:
-nodes.min = 80
-nodes.max = 640
-step = literal_80,160,240,480,640
-
-mttf = 31536000
-# 1 yr.
-mttr = 86400
diff --git a/sim/gobs/sweeps/system_100-300-600.cfg b/sim/gobs/sweeps/system_100-300-600.cfg
deleted file mode 100644
index e3af48b..0000000
--- a/sim/gobs/sweeps/system_100-300-600.cfg
+++ /dev/null
@@ -1,40 +0,0 @@
-
-### System size: servers and files/objects
-### 20-1000 servers, selected exponentially
-### 3000 files * 10 objects * 3 replicas = 90,000 objects
-
-# Number of servers:
-nodes.min = 100
-nodes.max = 600
-nodes.step = literal:100,600
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 32
-# Number of files:
-files = 100
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PlainFiles
-# File size:
-file.size = 14
-# Strip size:
-file.strip = 4
-# File/object replicas:
-# file.replicas = 3
-# Number of objects per file:
-file.width = 10
-
-mttf = 1
-mttr = 1
-
-node.osds = 1
-disk.size = 500000000
-disk.speed = 1000000
-disk.mttf = 1
-mttc = 1000
-mttr.reboot = 1
-mttr.disk = 1
-raid = 1+0
-fault.count = 1
diff --git a/sim/gobs/sweeps/system_100-600.cfg b/sim/gobs/sweeps/system_100-600.cfg
deleted file mode 100644
index 3d33389..0000000
--- a/sim/gobs/sweeps/system_100-600.cfg
+++ /dev/null
@@ -1,24 +0,0 @@
-
-### System size: servers and files/objects
-### 20-1000 servers, selected exponentially
-### 3000 files * 10 objects * 3 replicas = 90,000 objects
-
-# Number of servers:
-nodes.min = 100
-nodes.max = 600
-nodes.step = exps
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 32
-
-node.osds = 1
-disk.size = 500000000
-disk.speed = 1000000
-disk.mttf = 1
-mttc = 1000
-mttr.reboot = 1
-mttr.disk = 1
-raid = 1+0
-fault.count = 1
diff --git a/sim/gobs/sweeps/system_100-700.cfg b/sim/gobs/sweeps/system_100-700.cfg
deleted file mode 100644
index 97ab861..0000000
--- a/sim/gobs/sweeps/system_100-700.cfg
+++ /dev/null
@@ -1,23 +0,0 @@
-
-### System size: servers and files/objects
-### 20-1000 servers, selected exponentially
-### 3000 files * 10 objects * 3 replicas = 90,000 objects
-
-# Number of servers:
-nodes.min = 100
-nodes.max = 700
-nodes.step = exps
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 32
-
-node.osds = 1
-disk.size = 500000000
-disk.speed = 1000000
-disk.mttf = 1
-mttc = 1000
-mttr.reboot = 1
-mttr.disk = 1
-raid = 1+0
diff --git a/sim/gobs/sweeps/system_1000.cfg b/sim/gobs/sweeps/system_1000.cfg
deleted file mode 100644
index 66c7fd5..0000000
--- a/sim/gobs/sweeps/system_1000.cfg
+++ /dev/null
@@ -1,29 +0,0 @@
-
-### System size: servers and files/objects
-### 20-1000 servers, selected exponentially
-### 3000 files * 10 objects * 3 replicas = 90,000 objects
-
-# Number of servers:
-minNodes = 1000
-maxNodes = 1000
-step = exps
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 32
-# Number of files:
-files = 3000
-# Number of faults:
-faults = 1
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PlainFiles
-# File size:
-file.size = 14
-# Strip size:
-file.strip = 4
-# File/object replicas:
-file.replicas = 3
-# Number of objects per file:
-file.width = 10
diff --git a/sim/gobs/sweeps/system_100_1000.cfg b/sim/gobs/sweeps/system_100_1000.cfg
deleted file mode 100644
index a2ca98d..0000000
--- a/sim/gobs/sweeps/system_100_1000.cfg
+++ /dev/null
@@ -1,25 +0,0 @@
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 32
-# Number of files:
-files = 3000
-# Number of faults:
-faults = 1
-
-# Number of servers:
-step = literal_100,1000
-minNodes = 0
-maxNodes = 0
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PlainFiles
-# File size:
-file.size = 14
-# Strip size:
-file.strip = 4
-# File/object replicas:
-file.replicas = 3
-# Number of objects per file:
-file.width = 10
diff --git a/sim/gobs/sweeps/system_120_640.cfg b/sim/gobs/sweeps/system_120_640.cfg
deleted file mode 100644
index 157a220..0000000
--- a/sim/gobs/sweeps/system_120_640.cfg
+++ /dev/null
@@ -1,14 +0,0 @@
-
-### System size: servers and characteristics.
-
-rebuild.rate = 16000000000
-# 16 GB/s
-
-# Number of servers:
-nodes.min = 80
-nodes.max = 640
-step = literal_80,160,240,480,640
-
-mttf = 31536000
-# 1 yr.
-mttr = 86400
diff --git a/sim/gobs/sweeps/system_20-1000.cfg b/sim/gobs/sweeps/system_20-1000.cfg
deleted file mode 100644
index e3881f0..0000000
--- a/sim/gobs/sweeps/system_20-1000.cfg
+++ /dev/null
@@ -1,40 +0,0 @@
-
-### System size: servers and files/objects
-### 20-1000 servers, selected exponentially
-### 3000 files * 10 objects * 3 replicas = 90,000 objects
-
-# Number of servers:
-nodes.min = 20
-nodes.max = 600
-nodes.step = exps
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 32
-# Number of files:
-files = 100
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PlainFiles
-# File size:
-file.size = 14
-# Strip size:
-file.strip = 4
-# File/object replicas:
-# file.replicas = 3
-# Number of objects per file:
-file.width = 10
-
-mttf = 1
-mttr = 1
-
-node.osds = 1
-disk.size = 500000000
-disk.speed = 1000000
-disk.mttf = 1
-mttc = 1000
-mttr.reboot = 1
-mttr.disk = 1
-raid = 1+0
-fault.count = 1
diff --git a/sim/gobs/sweeps/system_20-40.cfg b/sim/gobs/sweeps/system_20-40.cfg
deleted file mode 100644
index 62c9bce..0000000
--- a/sim/gobs/sweeps/system_20-40.cfg
+++ /dev/null
@@ -1,18 +0,0 @@
-
-### System size: servers and files/objects
-### 20-1000 servers, selected exponentially
-### 3000 files * 10 objects * 3 replicas = 90,000 objects
-
-# Number of servers:
-nodes.min = 20
-nodes.max = 40
-step = exps
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 32
-
-mttf = 1000
-mttr = 900
-rebuild.rate = 1
diff --git a/sim/gobs/sweeps/system_20-600.cfg b/sim/gobs/sweeps/system_20-600.cfg
deleted file mode 100644
index e6c2192..0000000
--- a/sim/gobs/sweeps/system_20-600.cfg
+++ /dev/null
@@ -1,40 +0,0 @@
-
-### System size: servers and files/objects
-### 20-1000 servers, selected exponentially
-### 3000 files * 10 objects * 3 replicas = 90,000 objects
-
-# Number of servers:
-nodes.min = 100
-nodes.max = 600
-nodes.step = exps
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 32
-# Number of files:
-files = 100
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PlainFiles
-# File size:
-file.size = 14
-# Strip size:
-file.strip = 4
-# File/object replicas:
-# file.replicas = 3
-# Number of objects per file:
-file.width = 10
-
-mttf = 1
-mttr = 1
-
-node.osds = 1
-disk.size = 500000000
-disk.speed = 1000000
-disk.mttf = 1
-mttc = 1000
-mttr.reboot = 1
-mttr.disk = 1
-raid = 1+0
-fault.count = 1
diff --git a/sim/gobs/sweeps/system_240-640.cfg b/sim/gobs/sweeps/system_240-640.cfg
deleted file mode 100644
index c572ad6..0000000
--- a/sim/gobs/sweeps/system_240-640.cfg
+++ /dev/null
@@ -1,15 +0,0 @@
-
-### System size: servers and characteristics.
-
-rebuild.rate = 16000000000
-# 16 GB/s
-
-# Number of servers:
-nodes.min = 240
-nodes.max = 640
-step = literal_240,480,640
-
-mttf = 31536000
-# 1 year
-mttr = 86400
-# 1 day
diff --git a/sim/gobs/sweeps/system_30-100.cfg b/sim/gobs/sweeps/system_30-100.cfg
deleted file mode 100644
index 3428ba1..0000000
--- a/sim/gobs/sweeps/system_30-100.cfg
+++ /dev/null
@@ -1,12 +0,0 @@
-
-### System size: 30-100 servers
-
-# Number of servers:
-nodes.min = 30
-nodes.max = 100
-nodes.step = literal:30,50,75,100
-
-### General parameters:
-
-# 16 GB/s
-rebuild.rate = 16000000000
diff --git a/sim/gobs/sweeps/system_600.cfg b/sim/gobs/sweeps/system_600.cfg
deleted file mode 100644
index 0217462..0000000
--- a/sim/gobs/sweeps/system_600.cfg
+++ /dev/null
@@ -1,36 +0,0 @@
-
-### System size: servers and files/objects
-### 20-1000 servers, selected exponentially
-### 3000 files * 10 objects * 3 replicas = 90,000 objects
-
-# Number of servers:
-nodes.min = 600
-nodes.max = 600
-nodes.step = literal:600
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 32
-# Number of files:
-files = 200
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PlainFiles
-# File size:
-file.size = 14
-# Strip size:
-file.strip = 4
-# File/object replicas:
-# file.replicas = 3
-# Number of objects per file:
-file.width = 10
-
-node.osds = 1
-disk.size = 500000000
-disk.speed = 1000000
-disk.mttf = 1
-mttc = 1000
-mttr.reboot = 1
-mttr.disk = 1
-raid = 1+0
diff --git a/sim/gobs/sweeps/system_pdsi_100-1000.cfg b/sim/gobs/sweeps/system_pdsi_100-1000.cfg
deleted file mode 100644
index 2a03bcf..0000000
--- a/sim/gobs/sweeps/system_pdsi_100-1000.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-
-### System size: servers and files/objects
-### 100-1000 servers, selected exponentially with midpoints
-### TODO: 0 files * 10 objects * 3 replicas = 90,000 objects
-
-# Number of servers:
-nodes.min = 100
-nodes.max = 1000
-step = literal_100,400,1000
-
-
diff --git a/sim/gobs/sweeps/system_pdsi_20-40.cfg b/sim/gobs/sweeps/system_pdsi_20-40.cfg
deleted file mode 100644
index 718a339..0000000
--- a/sim/gobs/sweeps/system_pdsi_20-40.cfg
+++ /dev/null
@@ -1,23 +0,0 @@
-
-### System size: servers and files/objects
-### 20-40 servers, selected exponentially with midpoints
-
-# Number of servers:
-nodes.min = 20
-nodes.max = 40
-step = mids
-
-rebuild.rate = 10
-mttf = 10
-mttr = 9
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 32
-
-# FileFactory implementation PlainFiles
-files = 10
-impl.filefactory = PDSIFiles
-# 20% size 0, 60% size 1K-100K, 20% size 100K-10M
-file.pdsi.points = 0.2,1K;0.8,100K;1.0,10M
diff --git a/sim/gobs/sweeps/user00.cfg b/sim/gobs/sweeps/user00.cfg
deleted file mode 100644
index aa8468d..0000000
--- a/sim/gobs/sweeps/user00.cfg
+++ /dev/null
@@ -1,8 +0,0 @@
-
-# USER00
-# use case
-
-# User accesses:
-read.count = 0
-write.count = 0
-read.mode = idle
diff --git a/sim/gobs/sweeps/user01.cfg b/sim/gobs/sweeps/user01.cfg
deleted file mode 100644
index cce7fec..0000000
--- a/sim/gobs/sweeps/user01.cfg
+++ /dev/null
@@ -1,8 +0,0 @@
-
-# USER01
-# use case
-
-# User accesses:
-read.count = 12
-write.count = 30
-read.mode = idle
diff --git a/sim/gobs/sweeps/user02.cfg b/sim/gobs/sweeps/user02.cfg
deleted file mode 100644
index 796b222..0000000
--- a/sim/gobs/sweeps/user02.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-# USER02
-# use case
-
-read.count = 50
-write.count = 100
-read.mode = idle
diff --git a/sim/gobs/traces/onebigfile.trace b/sim/gobs/traces/onebigfile.trace
deleted file mode 100644
index 6ad73b3..0000000
--- a/sim/gobs/traces/onebigfile.trace
+++ /dev/null
@@ -1,4 +0,0 @@
-
-# Format: file <size> <strip> <width> <replicas>
-
-file 1000000 100 OPT 3
diff --git a/sim/gobs/traces/test01.trace b/sim/gobs/traces/test01.trace
deleted file mode 100644
index a8ca7fc..0000000
--- a/sim/gobs/traces/test01.trace
+++ /dev/null
@@ -1,6 +0,0 @@
-
-# Format: file <size> <strip> <width> <replicas>
-
-file 10 3 4 1
-file 20 2 2 2
-
diff --git a/sim/gobs/wiki/PDSI_distribution.eps b/sim/gobs/wiki/PDSI_distribution.eps
deleted file mode 100644
index cb1b806..0000000
--- a/sim/gobs/wiki/PDSI_distribution.eps
+++ /dev/null
@@ -1,3250 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (Apache XML Graphics Commons: EPS Generator for Java2D)
-%%CreationDate: 2009-09-16T15:45:44
-%%Pages: (atend)
-%%BoundingBox: 0 0 400 400
-%%LanguageLevel: 3
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset (Apache XML Graphics Std ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2001-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (Basic set of procedures used by the XML Graphics project \(Batik and FOP\))
-/bd{bind def}bind def
-/ld{load def}bd
-/M/moveto ld
-/RM/rmoveto ld
-/t/show ld
-/A/ashow ld
-/cp/closepath ld
-/re {4 2 roll M
-1 index 0 rlineto
-0 exch rlineto
-neg 0 rlineto
-cp } bd
-/_ctm matrix def
-/_tm matrix def
-/BT { _ctm currentmatrix pop matrix _tm copy pop 0 0 moveto } bd
-/ET { _ctm setmatrix } bd
-/iTm { _ctm setmatrix _tm concat } bd
-/Tm { _tm astore pop iTm 0 0 moveto } bd
-/ux 0.0 def
-/uy 0.0 def
-/F {
- /Tp exch def
- /Tf exch def
- Tf findfont Tp scalefont setfont
- /cf Tf def /cs Tp def /cw ( ) stringwidth pop def
-} bd
-/ULS {currentpoint /uy exch def /ux exch def} bd
-/ULE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add moveto Tcx uy To add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/OLE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs add moveto Tcx uy To add cs add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/SOE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs 10 mul 26 idiv add moveto Tcx uy To add cs 10 mul 26 idiv add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/QUADTO {
-/Y22 exch store
-/X22 exch store
-/Y21 exch store
-/X21 exch store
-currentpoint
-/Y21 load 2 mul add 3 div exch
-/X21 load 2 mul add 3 div exch
-/X21 load 2 mul /X22 load add 3 div
-/Y21 load 2 mul /Y22 load add 3 div
-/X22 load /Y22 load curveto
-} bd
-/SSPD {
-dup length /d exch dict def
-{
-/v exch def
-/k exch def
-currentpagedevice k known {
-/cpdv currentpagedevice k get def
-v cpdv ne {
-/upd false def
-/nullv v type /nulltype eq def
-/nullcpdv cpdv type /nulltype eq def
-nullv nullcpdv or
-{
-/upd true def
-} {
-/sametype v type cpdv type eq def
-sametype {
-v type /arraytype eq {
-/vlen v length def
-/cpdvlen cpdv length def
-vlen cpdvlen eq {
-0 1 vlen 1 sub {
-/i exch def
-/obj v i get def
-/cpdobj cpdv i get def
-obj cpdobj ne {
-/upd true def
-exit
-} if
-} for
-} {
-/upd true def
-} ifelse
-} {
-v type /dicttype eq {
-v {
-/dv exch def
-/dk exch def
-/cpddv cpdv dk get def
-dv cpddv ne {
-/upd true def
-exit
-} if
-} forall
-} {
-/upd true def
-} ifelse
-} ifelse
-} if
-} ifelse
-upd true eq {
-d k v put
-} if
-} if
-} if
-} forall
-d length 0 gt {
-d setpagedevice
-} if
-} bd
-%%EndResource
-%%BeginResource: procset (Apache XML Graphics EPS ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2002-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (EPS procedures used by the Apache XML Graphics project \(Batik and FOP\))
-/BeginEPSF { %def
-/b4_Inc_state save def % Save state for cleanup
-/dict_count countdictstack def % Count objects on dict stack
-/op_count count 1 sub def % Count objects on operand stack
-userdict begin % Push userdict on dict stack
-/showpage { } def % Redefine showpage, { } = null proc
-0 setgray 0 setlinecap % Prepare graphics state
-1 setlinewidth 0 setlinejoin
-10 setmiterlimit [ ] 0 setdash newpath
-/languagelevel where % If level not equal to 1 then
-{pop languagelevel % set strokeadjust and
-1 ne % overprint to their defaults.
-{false setstrokeadjust false setoverprint
-} if
-} if
-} bd
-/EndEPSF { %def
-count op_count sub {pop} repeat % Clean up stacks
-countdictstack dict_count sub {end} repeat
-b4_Inc_state restore
-} bd
-%%EndResource
-%%EndProlog
-%%Page: 1 1
-%%PageBoundingBox: 0 0 400 400
-%%BeginPageSetup
-[1 0 0 -1 0 400] concat
-%%EndPageSetup
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-94.244 20.249 M
-94.244 5.796 lineto
-103.338 5.796 lineto
-103.338 7.781 lineto
-97.244 7.781 lineto
-97.244 12.171 lineto
-102.244 12.171 lineto
-102.244 14.171 lineto
-97.244 14.171 lineto
-97.244 20.249 lineto
-94.244 20.249 lineto
-closepath
-105.729 20.249 M
-105.729 9.531 lineto
-108.619 9.531 lineto
-108.619 20.249 lineto
-105.729 20.249 lineto
-closepath
-105.729 7.718 M
-105.729 5.312 lineto
-108.619 5.312 lineto
-108.619 7.718 lineto
-105.729 7.718 lineto
-closepath
-112.232 20.249 M
-112.232 4.828 lineto
-115.123 4.828 lineto
-115.123 20.249 lineto
-112.232 20.249 lineto
-closepath
-127.455 19.89 M
-125.408 20.499 123.549 20.499 QUADTO
-120.877 20.499 119.322 18.976 QUADTO
-117.768 17.453 117.768 14.812 QUADTO
-117.768 12.312 119.189 10.796 QUADTO
-120.611 9.281 122.939 9.281 QUADTO
-125.299 9.281 126.377 10.765 QUADTO
-127.455 12.249 127.455 15.468 QUADTO
-120.814 15.468 lineto
-121.111 18.531 124.174 18.531 QUADTO
-125.643 18.531 127.455 17.859 QUADTO
-127.455 19.89 lineto
-closepath
-120.768 13.828 M
-124.627 13.828 lineto
-124.627 11.093 122.846 11.093 QUADTO
-121.049 11.093 120.768 13.828 QUADTO
-closepath
-136.234 20.124 M
-136.234 17.64 lineto
-138.562 18.624 140.219 18.624 QUADTO
-141.391 18.624 142.055 18.101 QUADTO
-142.719 17.578 142.719 16.687 QUADTO
-142.719 15.984 142.305 15.507 QUADTO
-141.891 15.031 140.719 14.359 QUADTO
-139.75 13.828 lineto
-137.797 12.734 137 11.734 QUADTO
-136.203 10.734 136.203 9.39 QUADTO
-136.203 7.609 137.516 6.523 QUADTO
-138.828 5.437 140.984 5.437 QUADTO
-142.719 5.437 144.891 5.937 QUADTO
-144.891 8.249 lineto
-142.672 7.421 141.375 7.421 QUADTO
-140.375 7.421 139.781 7.867 QUADTO
-139.188 8.312 139.188 9.031 QUADTO
-139.188 9.624 139.602 10.07 QUADTO
-140.016 10.515 141.188 11.171 QUADTO
-142.219 11.749 lineto
-144.312 12.921 145.102 13.906 QUADTO
-145.891 14.89 145.891 16.312 QUADTO
-145.891 18.328 144.398 19.468 QUADTO
-142.906 20.609 140.281 20.609 QUADTO
-138.531 20.609 136.234 20.124 QUADTO
-closepath
-148.473 20.249 M
-148.473 9.531 lineto
-151.363 9.531 lineto
-151.363 20.249 lineto
-148.473 20.249 lineto
-closepath
-148.473 7.718 M
-148.473 5.312 lineto
-151.363 5.312 lineto
-151.363 7.718 lineto
-148.473 7.718 lineto
-closepath
-154.367 20.249 M
-154.367 18.328 lineto
-160.367 11.328 lineto
-154.633 11.328 lineto
-154.633 9.531 lineto
-163.773 9.531 lineto
-163.773 11.328 lineto
-157.789 18.328 lineto
-163.898 18.328 lineto
-163.898 20.249 lineto
-154.367 20.249 lineto
-closepath
-175.512 19.89 M
-173.465 20.499 171.605 20.499 QUADTO
-168.934 20.499 167.379 18.976 QUADTO
-165.824 17.453 165.824 14.812 QUADTO
-165.824 12.312 167.246 10.796 QUADTO
-168.668 9.281 170.996 9.281 QUADTO
-173.355 9.281 174.434 10.765 QUADTO
-175.512 12.249 175.512 15.468 QUADTO
-168.871 15.468 lineto
-169.168 18.531 172.23 18.531 QUADTO
-173.699 18.531 175.512 17.859 QUADTO
-175.512 19.89 lineto
-closepath
-168.824 13.828 M
-172.684 13.828 lineto
-172.684 11.093 170.902 11.093 QUADTO
-169.105 11.093 168.824 13.828 QUADTO
-closepath
-185.104 20.249 M
-185.104 5.796 lineto
-191.322 5.796 lineto
-194.682 5.796 196.471 7.578 QUADTO
-198.26 9.359 198.26 12.718 QUADTO
-198.26 16.296 196.361 18.273 QUADTO
-194.463 20.249 191.057 20.249 QUADTO
-185.104 20.249 lineto
-closepath
-188.104 18.203 M
-190.354 18.203 lineto
-192.729 18.203 193.893 16.89 QUADTO
-195.057 15.578 195.057 12.89 QUADTO
-195.057 10.828 194.119 9.453 QUADTO
-193.479 8.499 192.572 8.14 QUADTO
-191.666 7.781 189.916 7.781 QUADTO
-188.104 7.781 lineto
-188.104 18.203 lineto
-closepath
-200.963 20.249 M
-200.963 9.531 lineto
-203.854 9.531 lineto
-203.854 20.249 lineto
-200.963 20.249 lineto
-closepath
-200.963 7.718 M
-200.963 5.312 lineto
-203.854 5.312 lineto
-203.854 7.718 lineto
-200.963 7.718 lineto
-closepath
-207.186 19.906 M
-207.186 17.781 lineto
-209.326 18.687 210.857 18.687 QUADTO
-212.623 18.687 212.623 17.468 QUADTO
-212.623 16.687 211.17 16.109 QUADTO
-210.186 15.718 lineto
-208.592 15.078 207.912 14.335 QUADTO
-207.232 13.593 207.232 12.499 QUADTO
-207.232 10.968 208.389 10.124 QUADTO
-209.545 9.281 211.639 9.281 QUADTO
-212.951 9.281 214.764 9.656 QUADTO
-214.764 11.687 lineto
-213.014 11.093 211.873 11.093 QUADTO
-210.076 11.093 210.076 12.203 QUADTO
-210.076 12.937 211.404 13.437 QUADTO
-212.248 13.765 lineto
-214.139 14.484 214.873 15.21 QUADTO
-215.607 15.937 215.607 17.093 QUADTO
-215.607 18.609 214.35 19.554 QUADTO
-213.092 20.499 211.092 20.499 QUADTO
-209.154 20.499 207.186 19.906 QUADTO
-closepath
-224.291 20.187 M
-223.26 20.499 222.666 20.499 QUADTO
-218.9 20.499 218.9 16.984 QUADTO
-218.9 11.328 lineto
-217.713 11.328 lineto
-217.713 9.531 lineto
-218.9 9.531 lineto
-218.9 7.718 lineto
-221.791 7.39 lineto
-221.791 9.531 lineto
-224.088 9.531 lineto
-224.088 11.328 lineto
-221.791 11.328 lineto
-221.791 16.593 lineto
-221.791 18.562 223.416 18.562 QUADTO
-223.775 18.562 224.291 18.437 QUADTO
-224.291 20.187 lineto
-closepath
-226.881 20.249 M
-226.881 9.531 lineto
-229.771 9.531 lineto
-229.771 11.546 lineto
-230.896 9.281 233.178 9.281 QUADTO
-233.459 9.281 233.725 9.343 QUADTO
-233.725 11.921 lineto
-233.1 11.687 232.584 11.687 QUADTO
-230.85 11.687 229.771 13.437 QUADTO
-229.771 20.249 lineto
-226.881 20.249 lineto
-closepath
-235.973 20.249 M
-235.973 9.531 lineto
-238.863 9.531 lineto
-238.863 20.249 lineto
-235.973 20.249 lineto
-closepath
-235.973 7.718 M
-235.973 5.312 lineto
-238.863 5.312 lineto
-238.863 7.718 lineto
-235.973 7.718 lineto
-closepath
-242.477 20.249 M
-242.477 4.828 lineto
-245.367 4.828 lineto
-245.367 11.546 lineto
-246.477 9.281 248.867 9.281 QUADTO
-250.805 9.281 251.914 10.695 QUADTO
-253.023 12.109 253.023 14.593 QUADTO
-253.023 17.281 251.773 18.89 QUADTO
-250.523 20.499 248.43 20.499 QUADTO
-246.633 20.499 245.367 19.171 QUADTO
-244.82 20.249 lineto
-242.477 20.249 lineto
-closepath
-245.367 17.453 M
-246.414 18.624 247.602 18.624 QUADTO
-248.68 18.624 249.312 17.593 QUADTO
-249.945 16.562 249.945 14.843 QUADTO
-249.945 11.546 247.82 11.546 QUADTO
-246.539 11.546 245.367 13.203 QUADTO
-245.367 17.453 lineto
-closepath
-262.354 20.249 M
-262.354 18.234 lineto
-260.947 20.499 258.697 20.499 QUADTO
-257.26 20.499 256.432 19.585 QUADTO
-255.604 18.671 255.604 17.109 QUADTO
-255.604 9.531 lineto
-258.494 9.531 lineto
-258.494 16.39 lineto
-258.494 18.218 259.713 18.218 QUADTO
-261.088 18.218 262.354 16.281 QUADTO
-262.354 9.531 lineto
-265.244 9.531 lineto
-265.244 20.249 lineto
-262.354 20.249 lineto
-closepath
-274.379 20.187 M
-273.348 20.499 272.754 20.499 QUADTO
-268.988 20.499 268.988 16.984 QUADTO
-268.988 11.328 lineto
-267.801 11.328 lineto
-267.801 9.531 lineto
-268.988 9.531 lineto
-268.988 7.718 lineto
-271.879 7.39 lineto
-271.879 9.531 lineto
-274.176 9.531 lineto
-274.176 11.328 lineto
-271.879 11.328 lineto
-271.879 16.593 lineto
-271.879 18.562 273.504 18.562 QUADTO
-273.863 18.562 274.379 18.437 QUADTO
-274.379 20.187 lineto
-closepath
-276.969 20.249 M
-276.969 9.531 lineto
-279.859 9.531 lineto
-279.859 20.249 lineto
-276.969 20.249 lineto
-closepath
-276.969 7.718 M
-276.969 5.312 lineto
-279.859 5.312 lineto
-279.859 7.718 lineto
-276.969 7.718 lineto
-closepath
-287.973 20.499 M
-285.457 20.499 283.98 18.976 QUADTO
-282.504 17.453 282.504 14.89 QUADTO
-282.504 12.296 283.988 10.788 QUADTO
-285.473 9.281 288.035 9.281 QUADTO
-290.613 9.281 292.098 10.788 QUADTO
-293.582 12.296 293.582 14.874 QUADTO
-293.582 17.499 292.09 18.999 QUADTO
-290.598 20.499 287.973 20.499 QUADTO
-closepath
-288.02 18.687 M
-290.504 18.687 290.504 14.874 QUADTO
-290.504 13.124 289.848 12.109 QUADTO
-289.191 11.093 288.035 11.093 QUADTO
-286.895 11.093 286.238 12.109 QUADTO
-285.582 13.124 285.582 14.89 QUADTO
-285.582 16.64 286.23 17.663 QUADTO
-286.879 18.687 288.02 18.687 QUADTO
-closepath
-296.246 20.249 M
-296.246 9.531 lineto
-299.137 9.531 lineto
-299.137 11.546 lineto
-300.543 9.281 302.777 9.281 QUADTO
-304.215 9.281 305.051 10.187 QUADTO
-305.887 11.093 305.887 12.671 QUADTO
-305.887 20.249 lineto
-302.996 20.249 lineto
-302.996 13.39 lineto
-302.996 11.562 301.777 11.562 QUADTO
-300.402 11.562 299.137 13.499 QUADTO
-299.137 20.249 lineto
-296.246 20.249 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-61.945 34.247 M
-388 34.247 lineto
-388 355.329 lineto
-61.945 355.329 lineto
-61.945 34.247 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-61.945 359.329 M
-388 359.329 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-107.104 372.953 M
-107.104 372.235 lineto
-108.558 372.235 lineto
-108.558 366.531 lineto
-107.104 366.891 lineto
-107.104 366.141 lineto
-109.526 365.547 lineto
-109.526 372.235 lineto
-110.964 372.235 lineto
-110.964 372.953 lineto
-107.104 372.953 lineto
-closepath
-112.865 372.953 M
-112.865 365.719 lineto
-116.896 365.719 lineto
-116.896 366.5 lineto
-113.881 366.5 lineto
-113.881 368.813 lineto
-116.412 368.813 lineto
-116.412 369.563 lineto
-113.881 369.563 lineto
-113.881 372.188 lineto
-117.115 372.188 lineto
-117.115 372.953 lineto
-112.865 372.953 lineto
-closepath
-118.848 372.953 M
-118.848 372.235 lineto
-120.301 372.235 lineto
-120.301 366.531 lineto
-118.848 366.891 lineto
-118.848 366.141 lineto
-121.27 365.547 lineto
-121.27 372.235 lineto
-122.707 372.235 lineto
-122.707 372.953 lineto
-118.848 372.953 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-114.638 361.329 M
-114.638 359.329 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-182.848 372.953 M
-182.848 372.235 lineto
-184.301 372.235 lineto
-184.301 366.531 lineto
-182.848 366.891 lineto
-182.848 366.141 lineto
-185.27 365.547 lineto
-185.27 372.235 lineto
-186.707 372.235 lineto
-186.707 372.953 lineto
-182.848 372.953 lineto
-closepath
-188.609 372.953 M
-188.609 365.719 lineto
-192.64 365.719 lineto
-192.64 366.5 lineto
-189.624 366.5 lineto
-189.624 368.813 lineto
-192.155 368.813 lineto
-192.155 369.563 lineto
-189.624 369.563 lineto
-189.624 372.188 lineto
-192.859 372.188 lineto
-192.859 372.953 lineto
-188.609 372.953 lineto
-closepath
-194.107 372.906 M
-194.107 372 lineto
-195.138 372.406 195.732 372.406 QUADTO
-196.419 372.406 196.857 372.008 QUADTO
-197.294 371.61 197.294 370.969 QUADTO
-197.294 369.438 195.154 369.438 QUADTO
-194.779 369.438 lineto
-194.779 368.797 lineto
-195.107 368.781 lineto
-197.122 368.781 197.122 367.375 QUADTO
-197.122 366.266 195.794 366.266 QUADTO
-195.075 366.266 194.2 366.672 QUADTO
-194.2 365.828 lineto
-195.06 365.547 195.872 365.547 QUADTO
-198.075 365.547 198.075 367.219 QUADTO
-198.075 368.5 196.575 369.031 QUADTO
-198.325 369.438 198.325 370.953 QUADTO
-198.325 371.969 197.646 372.555 QUADTO
-196.966 373.141 195.794 373.141 QUADTO
-195.122 373.141 194.107 372.906 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-190.381 361.329 M
-190.381 359.329 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-258.591 372.953 M
-258.591 372.235 lineto
-260.044 372.235 lineto
-260.044 366.531 lineto
-258.591 366.891 lineto
-258.591 366.141 lineto
-261.013 365.547 lineto
-261.013 372.235 lineto
-262.451 372.235 lineto
-262.451 372.953 lineto
-258.591 372.953 lineto
-closepath
-264.352 372.953 M
-264.352 365.719 lineto
-268.383 365.719 lineto
-268.383 366.5 lineto
-265.368 366.5 lineto
-265.368 368.813 lineto
-267.899 368.813 lineto
-267.899 369.563 lineto
-265.368 369.563 lineto
-265.368 372.188 lineto
-268.602 372.188 lineto
-268.602 372.953 lineto
-264.352 372.953 lineto
-closepath
-270.053 372.985 M
-270.053 372.125 lineto
-270.772 372.406 271.413 372.406 QUADTO
-272.131 372.406 272.538 371.992 QUADTO
-272.944 371.578 272.944 370.828 QUADTO
-272.944 369.203 270.709 369.203 QUADTO
-270.444 369.203 270.178 369.235 QUADTO
-270.178 365.719 lineto
-273.834 365.719 lineto
-273.834 366.563 lineto
-271.022 366.563 lineto
-271.022 368.469 lineto
-272.413 368.469 273.194 369.11 QUADTO
-273.975 369.75 273.975 370.875 QUADTO
-273.975 371.938 273.264 372.539 QUADTO
-272.553 373.141 271.288 373.141 QUADTO
-270.741 373.141 270.053 372.985 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-266.124 361.329 M
-266.124 359.329 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-334.335 372.953 M
-334.335 372.235 lineto
-335.788 372.235 lineto
-335.788 366.531 lineto
-334.335 366.891 lineto
-334.335 366.141 lineto
-336.756 365.547 lineto
-336.756 372.235 lineto
-338.194 372.235 lineto
-338.194 372.953 lineto
-334.335 372.953 lineto
-closepath
-340.095 372.953 M
-340.095 365.719 lineto
-344.127 365.719 lineto
-344.127 366.5 lineto
-341.111 366.5 lineto
-341.111 368.813 lineto
-343.642 368.813 lineto
-343.642 369.563 lineto
-341.111 369.563 lineto
-341.111 372.188 lineto
-344.345 372.188 lineto
-344.345 372.953 lineto
-340.095 372.953 lineto
-closepath
-346.078 372.953 M
-346.218 372.11 346.484 371.492 QUADTO
-346.75 370.875 347.406 369.797 QUADTO
-349.39 366.625 lineto
-345.656 366.625 lineto
-345.656 365.719 lineto
-350.297 365.719 lineto
-350.297 366.625 lineto
-347.515 370.719 347.187 372.953 QUADTO
-346.078 372.953 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-341.868 361.329 M
-341.868 359.329 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-194.884 390.142 M
-194.087 390.142 192.962 389.783 QUADTO
-192.962 388.72 lineto
-194.087 389.283 194.931 389.283 QUADTO
-195.431 389.283 195.759 389.009 QUADTO
-196.087 388.736 196.087 388.33 QUADTO
-196.087 387.752 195.165 387.361 QUADTO
-194.493 387.064 lineto
-192.993 386.455 192.993 385.283 QUADTO
-192.993 384.455 193.587 383.978 QUADTO
-194.181 383.502 195.196 383.502 QUADTO
-195.728 383.502 196.524 383.642 QUADTO
-196.759 383.689 lineto
-196.759 384.658 lineto
-195.79 384.361 195.228 384.361 QUADTO
-194.103 384.361 194.103 385.174 QUADTO
-194.103 385.689 194.946 386.049 QUADTO
-195.509 386.283 lineto
-196.446 386.689 196.845 387.127 QUADTO
-197.243 387.564 197.243 388.236 QUADTO
-197.243 389.064 196.579 389.603 QUADTO
-195.915 390.142 194.884 390.142 QUADTO
-closepath
-199.313 390.002 M
-199.313 383.642 lineto
-200.47 383.642 lineto
-200.47 390.002 lineto
-199.313 390.002 lineto
-closepath
-199.313 382.486 M
-199.313 381.33 lineto
-200.47 381.33 lineto
-200.47 382.486 lineto
-199.313 382.486 lineto
-closepath
-202.345 390.002 M
-202.345 389.127 lineto
-206.282 384.502 lineto
-202.532 384.502 lineto
-202.532 383.642 lineto
-207.704 383.642 lineto
-207.704 384.502 lineto
-203.767 389.127 lineto
-207.782 389.127 lineto
-207.782 390.002 lineto
-202.345 390.002 lineto
-closepath
-214.317 389.799 M
-213.161 390.142 212.333 390.142 QUADTO
-210.927 390.142 210.044 389.213 QUADTO
-209.161 388.283 209.161 386.783 QUADTO
-209.161 385.345 209.942 384.416 QUADTO
-210.724 383.486 211.942 383.486 QUADTO
-213.099 383.486 213.724 384.306 QUADTO
-214.349 385.127 214.349 386.642 QUADTO
-214.349 387.002 lineto
-210.333 387.002 lineto
-210.583 389.267 212.552 389.267 QUADTO
-213.271 389.267 214.317 388.877 QUADTO
-214.317 389.799 lineto
-closepath
-210.38 386.127 M
-213.192 386.127 lineto
-213.192 384.361 211.864 384.361 QUADTO
-210.536 384.361 210.38 386.127 QUADTO
-closepath
-222.456 390.939 M
-222.456 391.736 lineto
-221.19 390.877 220.448 389.392 QUADTO
-219.706 387.908 219.706 386.236 QUADTO
-219.706 384.564 220.448 383.088 QUADTO
-221.19 381.611 222.456 380.752 QUADTO
-222.456 381.549 lineto
-221.597 382.486 221.229 383.564 QUADTO
-220.862 384.642 220.862 386.236 QUADTO
-220.862 387.845 221.229 388.924 QUADTO
-221.597 390.002 222.456 390.939 QUADTO
-closepath
-224.046 390.08 M
-224.046 380.752 lineto
-225.202 380.752 lineto
-225.202 384.83 lineto
-225.905 383.502 227.327 383.502 QUADTO
-228.468 383.502 229.132 384.338 QUADTO
-229.796 385.174 229.796 386.627 QUADTO
-229.796 388.205 229.046 389.174 QUADTO
-228.296 390.142 227.077 390.142 QUADTO
-225.952 390.142 225.202 389.283 QUADTO
-225.062 390.08 lineto
-224.046 390.08 lineto
-closepath
-225.202 388.486 M
-226.093 389.283 226.905 389.283 QUADTO
-228.562 389.283 228.562 386.736 QUADTO
-228.562 384.502 227.093 384.502 QUADTO
-226.124 384.502 225.202 385.549 QUADTO
-225.202 388.486 lineto
-closepath
-231.974 392.314 M
-233.005 390.002 lineto
-230.536 383.642 lineto
-231.786 383.642 lineto
-233.614 388.424 lineto
-235.552 383.642 lineto
-236.646 383.642 lineto
-233.161 392.314 lineto
-231.974 392.314 lineto
-closepath
-239.774 390.142 M
-238.899 390.142 238.407 389.642 QUADTO
-237.915 389.142 237.915 388.236 QUADTO
-237.915 384.502 lineto
-237.118 384.502 lineto
-237.118 383.642 lineto
-237.915 383.642 lineto
-237.915 382.486 lineto
-239.071 382.377 lineto
-239.071 383.642 lineto
-240.728 383.642 lineto
-240.728 384.502 lineto
-239.071 384.502 lineto
-239.071 388.033 lineto
-239.071 389.283 240.149 389.283 QUADTO
-240.368 389.283 240.696 389.205 QUADTO
-240.696 390.002 lineto
-240.165 390.142 239.774 390.142 QUADTO
-closepath
-247.013 389.799 M
-245.856 390.142 245.028 390.142 QUADTO
-243.622 390.142 242.739 389.213 QUADTO
-241.856 388.283 241.856 386.783 QUADTO
-241.856 385.345 242.638 384.416 QUADTO
-243.419 383.486 244.638 383.486 QUADTO
-245.794 383.486 246.419 384.306 QUADTO
-247.044 385.127 247.044 386.642 QUADTO
-247.044 387.002 lineto
-243.028 387.002 lineto
-243.278 389.267 245.247 389.267 QUADTO
-245.966 389.267 247.013 388.877 QUADTO
-247.013 389.799 lineto
-closepath
-243.075 386.127 M
-245.888 386.127 lineto
-245.888 384.361 244.56 384.361 QUADTO
-243.231 384.361 243.075 386.127 QUADTO
-closepath
-250.729 390.142 M
-249.933 390.142 248.808 389.783 QUADTO
-248.808 388.72 lineto
-249.933 389.283 250.776 389.283 QUADTO
-251.276 389.283 251.604 389.009 QUADTO
-251.933 388.736 251.933 388.33 QUADTO
-251.933 387.752 251.011 387.361 QUADTO
-250.339 387.064 lineto
-248.839 386.455 248.839 385.283 QUADTO
-248.839 384.455 249.433 383.978 QUADTO
-250.026 383.502 251.042 383.502 QUADTO
-251.573 383.502 252.37 383.642 QUADTO
-252.604 383.689 lineto
-252.604 384.658 lineto
-251.636 384.361 251.073 384.361 QUADTO
-249.948 384.361 249.948 385.174 QUADTO
-249.948 385.689 250.792 386.049 QUADTO
-251.354 386.283 lineto
-252.292 386.689 252.69 387.127 QUADTO
-253.089 387.564 253.089 388.236 QUADTO
-253.089 389.064 252.425 389.603 QUADTO
-251.761 390.142 250.729 390.142 QUADTO
-closepath
-254.534 390.939 M
-254.534 391.736 lineto
-255.8 390.877 256.542 389.392 QUADTO
-257.284 387.908 257.284 386.236 QUADTO
-257.284 384.564 256.542 383.088 QUADTO
-255.8 381.611 254.534 380.752 QUADTO
-254.534 381.549 lineto
-255.394 382.486 255.761 383.564 QUADTO
-256.128 384.642 256.128 386.236 QUADTO
-256.128 387.845 255.761 388.924 QUADTO
-255.394 390.002 254.534 390.939 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-57.945 34.247 M
-57.945 355.329 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-36.738 359.823 M
-35.395 359.823 34.566 358.557 QUADTO
-33.738 357.292 33.738 355.261 QUADTO
-33.738 353.214 34.574 351.964 QUADTO
-35.41 350.714 36.77 350.714 QUADTO
-38.129 350.714 38.965 351.964 QUADTO
-39.801 353.214 39.801 355.245 QUADTO
-39.801 357.323 38.965 358.573 QUADTO
-38.129 359.823 36.738 359.823 QUADTO
-closepath
-36.754 358.948 M
-38.582 358.948 38.582 355.229 QUADTO
-38.582 351.589 36.77 351.589 QUADTO
-34.973 351.589 34.973 355.261 QUADTO
-34.973 358.948 36.754 358.948 QUADTO
-closepath
-41.732 359.604 M
-41.732 358.151 lineto
-43.186 358.151 lineto
-43.186 359.604 lineto
-41.732 359.604 lineto
-closepath
-48.123 359.823 M
-46.779 359.823 45.951 358.557 QUADTO
-45.123 357.292 45.123 355.261 QUADTO
-45.123 353.214 45.959 351.964 QUADTO
-46.795 350.714 48.154 350.714 QUADTO
-49.514 350.714 50.35 351.964 QUADTO
-51.186 353.214 51.186 355.245 QUADTO
-51.186 357.323 50.35 358.573 QUADTO
-49.514 359.823 48.123 359.823 QUADTO
-closepath
-48.139 358.948 M
-49.967 358.948 49.967 355.229 QUADTO
-49.967 351.589 48.154 351.589 QUADTO
-46.357 351.589 46.357 355.261 QUADTO
-46.357 358.948 48.139 358.948 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-55.945 355.329 M
-57.945 355.329 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-36.738 329.244 M
-35.395 329.244 34.566 327.978 QUADTO
-33.738 326.713 33.738 324.681 QUADTO
-33.738 322.634 34.574 321.384 QUADTO
-35.41 320.134 36.77 320.134 QUADTO
-38.129 320.134 38.965 321.384 QUADTO
-39.801 322.634 39.801 324.666 QUADTO
-39.801 326.744 38.965 327.994 QUADTO
-38.129 329.244 36.738 329.244 QUADTO
-closepath
-36.754 328.369 M
-38.582 328.369 38.582 324.65 QUADTO
-38.582 321.009 36.77 321.009 QUADTO
-34.973 321.009 34.973 324.681 QUADTO
-34.973 328.369 36.754 328.369 QUADTO
-closepath
-41.732 329.025 M
-41.732 327.572 lineto
-43.186 327.572 lineto
-43.186 329.025 lineto
-41.732 329.025 lineto
-closepath
-46.17 329.025 M
-46.17 328.15 lineto
-47.904 328.15 lineto
-47.904 321.306 lineto
-46.17 321.744 lineto
-46.17 320.853 lineto
-49.061 320.134 lineto
-49.061 328.15 lineto
-50.795 328.15 lineto
-50.795 329.025 lineto
-46.17 329.025 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-55.945 324.749 M
-57.945 324.749 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-36.738 298.665 M
-35.395 298.665 34.566 297.399 QUADTO
-33.738 296.133 33.738 294.102 QUADTO
-33.738 292.055 34.574 290.805 QUADTO
-35.41 289.555 36.77 289.555 QUADTO
-38.129 289.555 38.965 290.805 QUADTO
-39.801 292.055 39.801 294.086 QUADTO
-39.801 296.165 38.965 297.415 QUADTO
-38.129 298.665 36.738 298.665 QUADTO
-closepath
-36.754 297.79 M
-38.582 297.79 38.582 294.071 QUADTO
-38.582 290.43 36.77 290.43 QUADTO
-34.973 290.43 34.973 294.102 QUADTO
-34.973 297.79 36.754 297.79 QUADTO
-closepath
-41.732 298.446 M
-41.732 296.993 lineto
-43.186 296.993 lineto
-43.186 298.446 lineto
-41.732 298.446 lineto
-closepath
-45.357 298.446 M
-45.357 297.43 lineto
-45.857 296.258 47.389 294.868 QUADTO
-48.061 294.274 lineto
-49.326 293.118 49.326 291.977 QUADTO
-49.326 291.258 48.896 290.844 QUADTO
-48.467 290.43 47.701 290.43 QUADTO
-46.795 290.43 45.576 291.118 QUADTO
-45.576 290.102 lineto
-46.732 289.555 47.857 289.555 QUADTO
-49.076 289.555 49.818 290.211 QUADTO
-50.561 290.868 50.561 291.946 QUADTO
-50.561 292.727 50.186 293.336 QUADTO
-49.811 293.946 48.795 294.805 QUADTO
-48.357 295.18 lineto
-46.967 296.352 46.748 297.43 QUADTO
-50.514 297.43 lineto
-50.514 298.446 lineto
-45.357 298.446 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-55.945 294.17 M
-57.945 294.17 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-36.738 268.085 M
-35.395 268.085 34.566 266.82 QUADTO
-33.738 265.554 33.738 263.523 QUADTO
-33.738 261.476 34.574 260.226 QUADTO
-35.41 258.976 36.77 258.976 QUADTO
-38.129 258.976 38.965 260.226 QUADTO
-39.801 261.476 39.801 263.507 QUADTO
-39.801 265.585 38.965 266.835 QUADTO
-38.129 268.085 36.738 268.085 QUADTO
-closepath
-36.754 267.21 M
-38.582 267.21 38.582 263.492 QUADTO
-38.582 259.851 36.77 259.851 QUADTO
-34.973 259.851 34.973 263.523 QUADTO
-34.973 267.21 36.754 267.21 QUADTO
-closepath
-41.732 267.867 M
-41.732 266.413 lineto
-43.186 266.413 lineto
-43.186 267.867 lineto
-41.732 267.867 lineto
-closepath
-45.576 267.804 M
-45.576 266.726 lineto
-46.826 267.21 47.529 267.21 QUADTO
-48.357 267.21 48.881 266.726 QUADTO
-49.404 266.242 49.404 265.476 QUADTO
-49.404 263.648 46.842 263.648 QUADTO
-46.373 263.648 lineto
-46.373 262.867 lineto
-46.779 262.867 lineto
-49.186 262.867 49.186 261.179 QUADTO
-49.186 259.851 47.607 259.851 QUADTO
-46.732 259.851 45.701 260.335 QUADTO
-45.701 259.32 lineto
-46.717 258.976 47.686 258.976 QUADTO
-50.342 258.976 50.342 260.992 QUADTO
-50.342 262.523 48.529 263.163 QUADTO
-50.639 263.648 50.639 265.46 QUADTO
-50.639 266.695 49.826 267.39 QUADTO
-49.014 268.085 47.607 268.085 QUADTO
-46.795 268.085 45.576 267.804 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-55.945 263.591 M
-57.945 263.591 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-36.738 237.506 M
-35.395 237.506 34.566 236.24 QUADTO
-33.738 234.975 33.738 232.944 QUADTO
-33.738 230.897 34.574 229.647 QUADTO
-35.41 228.397 36.77 228.397 QUADTO
-38.129 228.397 38.965 229.647 QUADTO
-39.801 230.897 39.801 232.928 QUADTO
-39.801 235.006 38.965 236.256 QUADTO
-38.129 237.506 36.738 237.506 QUADTO
-closepath
-36.754 236.631 M
-38.582 236.631 38.582 232.912 QUADTO
-38.582 229.272 36.77 229.272 QUADTO
-34.973 229.272 34.973 232.944 QUADTO
-34.973 236.631 36.754 236.631 QUADTO
-closepath
-41.732 237.287 M
-41.732 235.834 lineto
-43.186 235.834 lineto
-43.186 237.287 lineto
-41.732 237.287 lineto
-closepath
-48.873 237.287 M
-48.873 234.834 lineto
-44.967 234.834 lineto
-44.967 233.959 lineto
-48.873 228.615 lineto
-49.967 228.615 lineto
-49.967 233.881 lineto
-51.123 233.881 lineto
-51.123 234.834 lineto
-49.967 234.834 lineto
-49.967 237.287 lineto
-48.873 237.287 lineto
-closepath
-46.107 233.881 M
-48.951 233.881 lineto
-48.951 230.037 lineto
-46.107 233.881 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-55.945 233.012 M
-57.945 233.012 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-36.738 206.927 M
-35.395 206.927 34.566 205.661 QUADTO
-33.738 204.396 33.738 202.364 QUADTO
-33.738 200.318 34.574 199.068 QUADTO
-35.41 197.818 36.77 197.818 QUADTO
-38.129 197.818 38.965 199.068 QUADTO
-39.801 200.318 39.801 202.349 QUADTO
-39.801 204.427 38.965 205.677 QUADTO
-38.129 206.927 36.738 206.927 QUADTO
-closepath
-36.754 206.052 M
-38.582 206.052 38.582 202.333 QUADTO
-38.582 198.693 36.77 198.693 QUADTO
-34.973 198.693 34.973 202.364 QUADTO
-34.973 206.052 36.754 206.052 QUADTO
-closepath
-41.732 206.708 M
-41.732 205.255 lineto
-43.186 205.255 lineto
-43.186 206.708 lineto
-41.732 206.708 lineto
-closepath
-45.811 206.739 M
-45.811 205.708 lineto
-46.686 206.052 47.451 206.052 QUADTO
-48.311 206.052 48.803 205.552 QUADTO
-49.295 205.052 49.295 204.161 QUADTO
-49.295 202.208 46.607 202.208 QUADTO
-46.295 202.208 45.967 202.255 QUADTO
-45.967 198.036 lineto
-50.357 198.036 lineto
-50.357 199.036 lineto
-46.982 199.036 lineto
-46.982 201.333 lineto
-48.654 201.333 49.592 202.099 QUADTO
-50.529 202.864 50.529 204.224 QUADTO
-50.529 205.489 49.67 206.208 QUADTO
-48.811 206.927 47.311 206.927 QUADTO
-46.654 206.927 45.811 206.739 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-55.945 202.432 M
-57.945 202.432 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-36.738 176.348 M
-35.395 176.348 34.566 175.082 QUADTO
-33.738 173.816 33.738 171.785 QUADTO
-33.738 169.738 34.574 168.488 QUADTO
-35.41 167.238 36.77 167.238 QUADTO
-38.129 167.238 38.965 168.488 QUADTO
-39.801 169.738 39.801 171.77 QUADTO
-39.801 173.848 38.965 175.098 QUADTO
-38.129 176.348 36.738 176.348 QUADTO
-closepath
-36.754 175.473 M
-38.582 175.473 38.582 171.754 QUADTO
-38.582 168.113 36.77 168.113 QUADTO
-34.973 168.113 34.973 171.785 QUADTO
-34.973 175.473 36.754 175.473 QUADTO
-closepath
-41.732 176.129 M
-41.732 174.676 lineto
-43.186 174.676 lineto
-43.186 176.129 lineto
-41.732 176.129 lineto
-closepath
-46.42 171.629 M
-47.248 170.566 48.498 170.566 QUADTO
-49.639 170.566 50.365 171.316 QUADTO
-51.092 172.066 51.092 173.238 QUADTO
-51.092 174.598 50.279 175.473 QUADTO
-49.467 176.348 48.217 176.348 QUADTO
-46.779 176.348 45.967 175.191 QUADTO
-45.154 174.035 45.154 171.988 QUADTO
-45.154 169.723 46.084 168.48 QUADTO
-47.014 167.238 48.701 167.238 QUADTO
-49.482 167.238 50.639 167.566 QUADTO
-50.639 168.566 lineto
-49.42 168.098 48.639 168.098 QUADTO
-46.42 168.098 46.42 171.629 QUADTO
-closepath
-49.92 173.504 M
-49.92 172.52 49.482 171.957 QUADTO
-49.045 171.395 48.248 171.395 QUADTO
-47.529 171.395 46.998 171.887 QUADTO
-46.467 172.379 46.467 173.066 QUADTO
-46.467 174.16 46.967 174.816 QUADTO
-47.467 175.473 48.295 175.473 QUADTO
-49.045 175.473 49.482 174.941 QUADTO
-49.92 174.41 49.92 173.504 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-55.945 171.853 M
-57.945 171.853 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-36.738 145.768 M
-35.395 145.768 34.566 144.503 QUADTO
-33.738 143.237 33.738 141.206 QUADTO
-33.738 139.159 34.574 137.909 QUADTO
-35.41 136.659 36.77 136.659 QUADTO
-38.129 136.659 38.965 137.909 QUADTO
-39.801 139.159 39.801 141.19 QUADTO
-39.801 143.268 38.965 144.518 QUADTO
-38.129 145.768 36.738 145.768 QUADTO
-closepath
-36.754 144.893 M
-38.582 144.893 38.582 141.175 QUADTO
-38.582 137.534 36.77 137.534 QUADTO
-34.973 137.534 34.973 141.206 QUADTO
-34.973 144.893 36.754 144.893 QUADTO
-closepath
-41.732 145.55 M
-41.732 144.097 lineto
-43.186 144.097 lineto
-43.186 145.55 lineto
-41.732 145.55 lineto
-closepath
-46.17 145.55 M
-46.326 144.534 46.646 143.8 QUADTO
-46.967 143.065 47.764 141.768 QUADTO
-50.123 137.956 lineto
-45.654 137.956 lineto
-45.654 136.878 lineto
-51.232 136.878 lineto
-51.232 137.956 lineto
-47.889 142.878 47.498 145.55 QUADTO
-46.17 145.55 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-55.945 141.274 M
-57.945 141.274 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-36.738 115.189 M
-35.395 115.189 34.566 113.924 QUADTO
-33.738 112.658 33.738 110.627 QUADTO
-33.738 108.58 34.574 107.33 QUADTO
-35.41 106.08 36.77 106.08 QUADTO
-38.129 106.08 38.965 107.33 QUADTO
-39.801 108.58 39.801 110.611 QUADTO
-39.801 112.689 38.965 113.939 QUADTO
-38.129 115.189 36.738 115.189 QUADTO
-closepath
-36.754 114.314 M
-38.582 114.314 38.582 110.595 QUADTO
-38.582 106.955 36.77 106.955 QUADTO
-34.973 106.955 34.973 110.627 QUADTO
-34.973 114.314 36.754 114.314 QUADTO
-closepath
-41.732 114.97 M
-41.732 113.517 lineto
-43.186 113.517 lineto
-43.186 114.97 lineto
-41.732 114.97 lineto
-closepath
-47.123 110.252 M
-45.842 109.361 45.842 108.283 QUADTO
-45.842 107.299 46.568 106.689 QUADTO
-47.295 106.08 48.451 106.08 QUADTO
-49.514 106.08 50.186 106.595 QUADTO
-50.857 107.111 50.857 107.955 QUADTO
-50.857 109.205 49.232 110.252 QUADTO
-51.201 111.205 51.201 112.72 QUADTO
-51.201 113.814 50.373 114.502 QUADTO
-49.545 115.189 48.248 115.189 QUADTO
-46.967 115.189 46.178 114.541 QUADTO
-45.389 113.892 45.389 112.83 QUADTO
-45.389 111.283 47.123 110.252 QUADTO
-closepath
-48.592 109.877 M
-49.795 109.08 49.795 108.111 QUADTO
-49.795 107.58 49.396 107.267 QUADTO
-48.998 106.955 48.326 106.955 QUADTO
-47.686 106.955 47.287 107.267 QUADTO
-46.889 107.58 46.889 108.08 QUADTO
-46.889 108.564 47.256 108.947 QUADTO
-47.623 109.33 48.592 109.877 QUADTO
-closepath
-47.748 110.72 M
-47.045 111.252 46.795 111.658 QUADTO
-46.545 112.064 46.545 112.658 QUADTO
-46.545 113.392 47.029 113.853 QUADTO
-47.514 114.314 48.295 114.314 QUADTO
-49.045 114.314 49.529 113.924 QUADTO
-50.014 113.533 50.014 112.908 QUADTO
-50.014 112.408 49.717 112.056 QUADTO
-49.42 111.705 48.561 111.205 QUADTO
-47.748 110.72 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-55.945 110.695 M
-57.945 110.695 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-36.738 84.61 M
-35.395 84.61 34.566 83.344 QUADTO
-33.738 82.079 33.738 80.047 QUADTO
-33.738 78.001 34.574 76.751 QUADTO
-35.41 75.501 36.77 75.501 QUADTO
-38.129 75.501 38.965 76.751 QUADTO
-39.801 78.001 39.801 80.032 QUADTO
-39.801 82.11 38.965 83.36 QUADTO
-38.129 84.61 36.738 84.61 QUADTO
-closepath
-36.754 83.735 M
-38.582 83.735 38.582 80.016 QUADTO
-38.582 76.376 36.77 76.376 QUADTO
-34.973 76.376 34.973 80.047 QUADTO
-34.973 83.735 36.754 83.735 QUADTO
-closepath
-41.732 84.391 M
-41.732 82.938 lineto
-43.186 82.938 lineto
-43.186 84.391 lineto
-41.732 84.391 lineto
-closepath
-45.717 84.344 M
-45.717 83.36 lineto
-46.826 83.735 47.592 83.735 QUADTO
-48.67 83.735 49.279 82.821 QUADTO
-49.889 81.907 49.889 80.266 QUADTO
-49.014 81.36 47.889 81.36 QUADTO
-46.795 81.36 46.037 80.555 QUADTO
-45.279 79.751 45.279 78.579 QUADTO
-45.279 77.251 46.084 76.376 QUADTO
-46.889 75.501 48.123 75.501 QUADTO
-49.545 75.501 50.357 76.633 QUADTO
-51.17 77.766 51.17 79.735 QUADTO
-51.17 81.969 50.178 83.29 QUADTO
-49.186 84.61 47.482 84.61 QUADTO
-46.811 84.61 45.717 84.344 QUADTO
-closepath
-46.42 78.36 M
-46.42 79.36 46.873 79.938 QUADTO
-47.326 80.516 48.107 80.516 QUADTO
-48.842 80.516 49.357 80.024 QUADTO
-49.873 79.532 49.873 78.829 QUADTO
-49.873 77.719 49.373 77.04 QUADTO
-48.873 76.36 48.061 76.36 QUADTO
-47.295 76.36 46.857 76.899 QUADTO
-46.42 77.438 46.42 78.36 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-55.945 80.116 M
-57.945 80.116 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 53.812 M
-34.785 52.937 lineto
-36.52 52.937 lineto
-36.52 46.093 lineto
-34.785 46.531 lineto
-34.785 45.64 lineto
-37.676 44.921 lineto
-37.676 52.937 lineto
-39.41 52.937 lineto
-39.41 53.812 lineto
-34.785 53.812 lineto
-closepath
-41.732 53.812 M
-41.732 52.359 lineto
-43.186 52.359 lineto
-43.186 53.812 lineto
-41.732 53.812 lineto
-closepath
-48.123 54.031 M
-46.779 54.031 45.951 52.765 QUADTO
-45.123 51.499 45.123 49.468 QUADTO
-45.123 47.421 45.959 46.171 QUADTO
-46.795 44.921 48.154 44.921 QUADTO
-49.514 44.921 50.35 46.171 QUADTO
-51.186 47.421 51.186 49.453 QUADTO
-51.186 51.531 50.35 52.781 QUADTO
-49.514 54.031 48.123 54.031 QUADTO
-closepath
-48.139 53.156 M
-49.967 53.156 49.967 49.437 QUADTO
-49.967 45.796 48.154 45.796 QUADTO
-46.357 45.796 46.357 49.468 QUADTO
-46.357 53.156 48.139 53.156 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-55.945 49.536 M
-57.945 49.536 lineto
-stroke
-grestore
-gsave
-[0 -1 1 0 -175.30132 214.27399] concat
-newpath
-214.274 175.301 M
-214.274 575.301 lineto
--185.726 575.301 lineto
--185.726 175.301 lineto
-214.274 175.301 lineto
-closepath
-clip
-0.251 setgray
-newpath
--71.373 199.776 M
--71.373 193.542 lineto
--72.419 193.542 lineto
--72.419 192.276 lineto
--71.373 192.276 lineto
--71.373 191.729 lineto
--71.373 188.807 -68.607 188.807 QUADTO
--67.716 188.807 -66.763 189.073 QUADTO
--66.763 190.432 lineto
--67.623 190.073 -68.31 190.073 QUADTO
--69.357 190.073 -69.357 191.651 QUADTO
--69.357 192.276 lineto
--67.451 192.276 lineto
--67.451 193.542 lineto
--69.357 193.542 lineto
--69.357 199.776 lineto
--71.373 199.776 lineto
-closepath
--65.788 199.776 M
--65.788 192.276 lineto
--63.772 192.276 lineto
--63.772 193.682 lineto
--62.975 192.104 -61.366 192.104 QUADTO
--61.178 192.104 -60.991 192.135 QUADTO
--60.991 193.948 lineto
--61.428 193.792 -61.803 193.792 QUADTO
--63.006 193.792 -63.772 195.01 QUADTO
--63.772 199.776 lineto
--65.788 199.776 lineto
-closepath
--55.751 198.963 M
--56.751 199.948 -57.908 199.948 QUADTO
--58.892 199.948 -59.509 199.346 QUADTO
--60.126 198.745 -60.126 197.792 QUADTO
--60.126 196.542 -59.134 195.87 QUADTO
--58.142 195.198 -56.283 195.198 QUADTO
--55.751 195.198 lineto
--55.751 194.51 lineto
--55.751 193.338 -57.08 193.338 QUADTO
--58.267 193.338 -59.47 194.01 QUADTO
--59.47 192.62 lineto
--58.095 192.104 -56.751 192.104 QUADTO
--53.798 192.104 -53.798 194.448 QUADTO
--53.798 197.76 lineto
--53.798 198.651 -53.236 198.651 QUADTO
--53.142 198.651 -52.97 198.62 QUADTO
--52.923 199.76 lineto
--53.564 199.948 -54.064 199.948 QUADTO
--55.298 199.948 -55.658 198.963 QUADTO
--55.751 198.963 lineto
-closepath
--55.751 197.885 M
--55.751 196.354 lineto
--56.22 196.354 lineto
--58.189 196.354 -58.189 197.588 QUADTO
--58.189 198.01 -57.908 198.292 QUADTO
--57.626 198.573 -57.205 198.573 QUADTO
--56.486 198.573 -55.751 197.885 QUADTO
-closepath
--45.662 199.604 M
--46.912 199.948 -47.99 199.948 QUADTO
--49.787 199.948 -50.826 198.893 QUADTO
--51.865 197.838 -51.865 196.01 QUADTO
--51.865 194.182 -50.794 193.143 QUADTO
--49.724 192.104 -47.833 192.104 QUADTO
--46.912 192.104 -45.724 192.385 QUADTO
--45.724 193.854 lineto
--46.958 193.448 -47.708 193.448 QUADTO
--48.615 193.448 -49.169 194.151 QUADTO
--49.724 194.854 -49.724 195.995 QUADTO
--49.724 197.182 -49.123 197.893 QUADTO
--48.521 198.604 -47.537 198.604 QUADTO
--46.615 198.604 -45.662 198.213 QUADTO
--45.662 199.604 lineto
-closepath
--39.867 199.729 M
--40.601 199.948 -41.007 199.948 QUADTO
--43.648 199.948 -43.648 197.479 QUADTO
--43.648 193.542 lineto
--44.492 193.542 lineto
--44.492 192.276 lineto
--43.648 192.276 lineto
--43.648 191.01 lineto
--41.617 190.776 lineto
--41.617 192.276 lineto
--40.023 192.276 lineto
--40.023 193.542 lineto
--41.617 193.542 lineto
--41.617 197.213 lineto
--41.617 198.604 -40.492 198.604 QUADTO
--40.242 198.604 -39.867 198.51 QUADTO
--39.867 199.729 lineto
-closepath
--38.068 199.776 M
--38.068 192.276 lineto
--36.052 192.276 lineto
--36.052 199.776 lineto
--38.068 199.776 lineto
-closepath
--38.068 191.01 M
--38.068 189.323 lineto
--36.052 189.323 lineto
--36.052 191.01 lineto
--38.068 191.01 lineto
-closepath
--30.359 199.948 M
--32.125 199.948 -33.156 198.885 QUADTO
--34.187 197.823 -34.187 196.026 QUADTO
--34.187 194.198 -33.148 193.151 QUADTO
--32.109 192.104 -30.312 192.104 QUADTO
--28.515 192.104 -27.476 193.151 QUADTO
--26.437 194.198 -26.437 196.01 QUADTO
--26.437 197.854 -27.484 198.901 QUADTO
--28.531 199.948 -30.359 199.948 QUADTO
-closepath
--30.328 198.682 M
--28.593 198.682 -28.593 196.01 QUADTO
--28.593 194.792 -29.054 194.081 QUADTO
--29.515 193.37 -30.312 193.37 QUADTO
--31.109 193.37 -31.578 194.081 QUADTO
--32.046 194.792 -32.046 196.026 QUADTO
--32.046 197.245 -31.585 197.963 QUADTO
--31.125 198.682 -30.328 198.682 QUADTO
-closepath
--24.574 199.776 M
--24.574 192.276 lineto
--22.558 192.276 lineto
--22.558 193.682 lineto
--21.558 192.104 -19.996 192.104 QUADTO
--18.996 192.104 -18.41 192.737 QUADTO
--17.824 193.37 -17.824 194.463 QUADTO
--17.824 199.776 lineto
--19.855 199.776 lineto
--19.855 194.963 lineto
--19.855 193.698 -20.699 193.698 QUADTO
--21.667 193.698 -22.558 195.057 QUADTO
--22.558 199.776 lineto
--24.574 199.776 lineto
-closepath
--10.968 199.542 M
--10.968 198.057 lineto
--9.453 198.682 -8.39 198.682 QUADTO
--7.156 198.682 -7.156 197.838 QUADTO
--7.156 197.292 -8.171 196.87 QUADTO
--8.859 196.604 lineto
--9.968 196.151 -10.453 195.635 QUADTO
--10.937 195.12 -10.937 194.354 QUADTO
--10.937 193.276 -10.117 192.69 QUADTO
--9.296 192.104 -7.843 192.104 QUADTO
--6.921 192.104 -5.656 192.37 QUADTO
--5.656 193.792 lineto
--6.875 193.37 -7.671 193.37 QUADTO
--8.937 193.37 -8.937 194.135 QUADTO
--8.937 194.651 -8 195.01 QUADTO
--7.421 195.229 lineto
--6.093 195.729 -5.578 196.245 QUADTO
--5.062 196.76 -5.062 197.573 QUADTO
--5.062 198.62 -5.945 199.284 QUADTO
--6.828 199.948 -8.234 199.948 QUADTO
--9.578 199.948 -10.968 199.542 QUADTO
-closepath
--2.849 199.776 M
--2.849 192.276 lineto
--0.912 192.276 lineto
--0.912 193.682 lineto
--0.021 192.104 1.62 192.104 QUADTO
-2.463 192.104 3.01 192.518 QUADTO
-3.557 192.932 3.682 193.682 QUADTO
-4.745 192.104 6.229 192.104 QUADTO
-8.292 192.104 8.292 194.37 QUADTO
-8.292 199.776 lineto
-6.338 199.776 lineto
-6.338 195.026 lineto
-6.338 193.698 5.463 193.698 QUADTO
-4.542 193.698 3.682 195.01 QUADTO
-3.682 199.776 lineto
-1.745 199.776 lineto
-1.745 195.026 lineto
-1.745 193.698 0.854 193.698 QUADTO
--0.052 193.698 -0.912 195.01 QUADTO
--0.912 199.776 lineto
--2.849 199.776 lineto
-closepath
-14.399 198.963 M
-13.399 199.948 12.243 199.948 QUADTO
-11.258 199.948 10.641 199.346 QUADTO
-10.024 198.745 10.024 197.792 QUADTO
-10.024 196.542 11.016 195.87 QUADTO
-12.008 195.198 13.868 195.198 QUADTO
-14.399 195.198 lineto
-14.399 194.51 lineto
-14.399 193.338 13.071 193.338 QUADTO
-11.883 193.338 10.68 194.01 QUADTO
-10.68 192.62 lineto
-12.055 192.104 13.399 192.104 QUADTO
-16.352 192.104 16.352 194.448 QUADTO
-16.352 197.76 lineto
-16.352 198.651 16.915 198.651 QUADTO
-17.008 198.651 17.18 198.62 QUADTO
-17.227 199.76 lineto
-16.586 199.948 16.086 199.948 QUADTO
-14.852 199.948 14.493 198.963 QUADTO
-14.399 198.963 lineto
-closepath
-14.399 197.885 M
-14.399 196.354 lineto
-13.93 196.354 lineto
-11.961 196.354 11.961 197.588 QUADTO
-11.961 198.01 12.243 198.292 QUADTO
-12.524 198.573 12.946 198.573 QUADTO
-13.665 198.573 14.399 197.885 QUADTO
-closepath
-18.958 199.776 M
-18.958 188.979 lineto
-20.973 188.979 lineto
-20.973 199.776 lineto
-18.958 199.776 lineto
-closepath
-23.51 199.776 M
-23.51 188.979 lineto
-25.526 188.979 lineto
-25.526 199.776 lineto
-23.51 199.776 lineto
-closepath
-34.172 199.526 M
-32.735 199.948 31.438 199.948 QUADTO
-29.563 199.948 28.477 198.877 QUADTO
-27.391 197.807 27.391 195.963 QUADTO
-27.391 194.229 28.383 193.167 QUADTO
-29.375 192.104 31.016 192.104 QUADTO
-32.657 192.104 33.415 193.143 QUADTO
-34.172 194.182 34.172 196.432 QUADTO
-29.516 196.432 lineto
-29.719 198.573 31.875 198.573 QUADTO
-32.891 198.573 34.172 198.104 QUADTO
-34.172 199.526 lineto
-closepath
-29.485 195.292 M
-32.188 195.292 lineto
-32.188 193.37 30.954 193.37 QUADTO
-29.688 193.37 29.485 195.292 QUADTO
-closepath
-36.266 199.776 M
-36.266 192.276 lineto
-38.282 192.276 lineto
-38.282 193.682 lineto
-39.079 192.104 40.688 192.104 QUADTO
-40.875 192.104 41.063 192.135 QUADTO
-41.063 193.948 lineto
-40.625 193.792 40.25 193.792 QUADTO
-39.047 193.792 38.282 195.01 QUADTO
-38.282 199.776 lineto
-36.266 199.776 lineto
-closepath
-51.12 199.729 M
-50.385 199.948 49.979 199.948 QUADTO
-47.338 199.948 47.338 197.479 QUADTO
-47.338 193.542 lineto
-46.495 193.542 lineto
-46.495 192.276 lineto
-47.338 192.276 lineto
-47.338 191.01 lineto
-49.37 190.776 lineto
-49.37 192.276 lineto
-50.963 192.276 lineto
-50.963 193.542 lineto
-49.37 193.542 lineto
-49.37 197.213 lineto
-49.37 198.604 50.495 198.604 QUADTO
-50.745 198.604 51.12 198.51 QUADTO
-51.12 199.729 lineto
-closepath
-52.918 199.776 M
-52.918 188.979 lineto
-54.934 188.979 lineto
-54.934 193.682 lineto
-55.934 192.104 57.497 192.104 QUADTO
-58.497 192.104 59.083 192.737 QUADTO
-59.668 193.37 59.668 194.463 QUADTO
-59.668 199.776 lineto
-57.637 199.776 lineto
-57.637 194.963 lineto
-57.637 193.698 56.793 193.698 QUADTO
-55.825 193.698 54.934 195.057 QUADTO
-54.934 199.776 lineto
-52.918 199.776 lineto
-closepath
-65.785 198.963 M
-64.785 199.948 63.628 199.948 QUADTO
-62.644 199.948 62.027 199.346 QUADTO
-61.41 198.745 61.41 197.792 QUADTO
-61.41 196.542 62.402 195.87 QUADTO
-63.394 195.198 65.253 195.198 QUADTO
-65.785 195.198 lineto
-65.785 194.51 lineto
-65.785 193.338 64.457 193.338 QUADTO
-63.269 193.338 62.066 194.01 QUADTO
-62.066 192.62 lineto
-63.441 192.104 64.785 192.104 QUADTO
-67.738 192.104 67.738 194.448 QUADTO
-67.738 197.76 lineto
-67.738 198.651 68.3 198.651 QUADTO
-68.394 198.651 68.566 198.62 QUADTO
-68.613 199.76 lineto
-67.972 199.948 67.472 199.948 QUADTO
-66.238 199.948 65.878 198.963 QUADTO
-65.785 198.963 lineto
-closepath
-65.785 197.885 M
-65.785 196.354 lineto
-65.316 196.354 lineto
-63.347 196.354 63.347 197.588 QUADTO
-63.347 198.01 63.628 198.292 QUADTO
-63.91 198.573 64.332 198.573 QUADTO
-65.05 198.573 65.785 197.885 QUADTO
-closepath
-70.343 199.776 M
-70.343 192.276 lineto
-72.359 192.276 lineto
-72.359 193.682 lineto
-73.359 192.104 74.921 192.104 QUADTO
-75.921 192.104 76.507 192.737 QUADTO
-77.093 193.37 77.093 194.463 QUADTO
-77.093 199.776 lineto
-75.062 199.776 lineto
-75.062 194.963 lineto
-75.062 193.698 74.218 193.698 QUADTO
-73.25 193.698 72.359 195.057 QUADTO
-72.359 199.776 lineto
-70.343 199.776 lineto
-closepath
-83.949 199.542 M
-83.949 198.057 lineto
-85.464 198.682 86.527 198.682 QUADTO
-87.761 198.682 87.761 197.838 QUADTO
-87.761 197.292 86.746 196.87 QUADTO
-86.058 196.604 lineto
-84.949 196.151 84.464 195.635 QUADTO
-83.98 195.12 83.98 194.354 QUADTO
-83.98 193.276 84.8 192.69 QUADTO
-85.621 192.104 87.074 192.104 QUADTO
-87.996 192.104 89.261 192.37 QUADTO
-89.261 193.792 lineto
-88.042 193.37 87.246 193.37 QUADTO
-85.98 193.37 85.98 194.135 QUADTO
-85.98 194.651 86.917 195.01 QUADTO
-87.496 195.229 lineto
-88.824 195.729 89.339 196.245 QUADTO
-89.855 196.76 89.855 197.573 QUADTO
-89.855 198.62 88.972 199.284 QUADTO
-88.089 199.948 86.683 199.948 QUADTO
-85.339 199.948 83.949 199.542 QUADTO
-closepath
-92.068 199.776 M
-92.068 192.276 lineto
-94.084 192.276 lineto
-94.084 199.776 lineto
-92.068 199.776 lineto
-closepath
-92.068 191.01 M
-92.068 189.323 lineto
-94.084 189.323 lineto
-94.084 191.01 lineto
-92.068 191.01 lineto
-closepath
-96.199 199.776 M
-96.199 198.432 lineto
-100.386 193.542 lineto
-96.386 193.542 lineto
-96.386 192.276 lineto
-102.792 192.276 lineto
-102.792 193.542 lineto
-98.589 198.432 lineto
-102.871 198.432 lineto
-102.871 199.776 lineto
-96.199 199.776 lineto
-closepath
-111.001 199.526 M
-109.564 199.948 108.267 199.948 QUADTO
-106.392 199.948 105.306 198.877 QUADTO
-104.22 197.807 104.22 195.963 QUADTO
-104.22 194.229 105.212 193.167 QUADTO
-106.205 192.104 107.845 192.104 QUADTO
-109.486 192.104 110.244 193.143 QUADTO
-111.001 194.182 111.001 196.432 QUADTO
-106.345 196.432 lineto
-106.548 198.573 108.705 198.573 QUADTO
-109.72 198.573 111.001 198.104 QUADTO
-111.001 199.526 lineto
-closepath
-106.314 195.292 M
-109.017 195.292 lineto
-109.017 193.37 107.783 193.37 QUADTO
-106.517 193.37 106.314 195.292 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-114.638 34.247 M
-114.638 355.329 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-190.381 34.247 M
-190.381 355.329 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-266.124 34.247 M
-266.124 355.329 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-341.868 34.247 M
-341.868 355.329 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-61.945 355.329 M
-388 355.329 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-61.945 324.749 M
-388 324.749 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-61.945 294.17 M
-388 294.17 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-61.945 263.591 M
-388 263.591 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-61.945 233.012 M
-388 233.012 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-61.945 202.432 M
-388 202.432 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-61.945 171.853 M
-388 171.853 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-61.945 141.274 M
-388 141.274 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-61.945 110.695 M
-388 110.695 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-61.945 80.116 M
-388 80.116 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-61.945 49.536 M
-388 49.536 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-76.766 290.745 M
-99.567 290.745 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-99.567 290.745 M
-122.368 290.745 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-122.368 290.745 M
-145.169 290.745 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-145.169 290.745 M
-167.97 290.745 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-167.97 290.745 M
-190.771 290.745 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-190.771 290.745 M
-213.572 259.249 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-213.572 259.249 M
-236.373 198.977 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-236.373 198.977 M
-259.174 149.928 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-259.174 149.928 M
-281.975 113.202 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-281.975 113.202 M
-304.776 76.996 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-304.776 76.996 M
-327.577 68.557 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-327.577 68.557 M
-350.378 58.985 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-350.378 58.985 M
-373.179 49.536 lineto
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-newpath
-73.766 287.745 M
-79.766 287.745 lineto
-79.766 293.745 lineto
-73.766 293.745 lineto
-73.766 287.745 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-73.766 287.745 M
-79.766 287.745 lineto
-79.766 293.745 lineto
-73.766 293.745 lineto
-73.766 287.745 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-newpath
-96.567 287.745 M
-102.567 287.745 lineto
-102.567 293.745 lineto
-96.567 293.745 lineto
-96.567 287.745 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-96.567 287.745 M
-102.567 287.745 lineto
-102.567 293.745 lineto
-96.567 293.745 lineto
-96.567 287.745 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-newpath
-119.368 287.745 M
-125.368 287.745 lineto
-125.368 293.745 lineto
-119.368 293.745 lineto
-119.368 287.745 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-119.368 287.745 M
-125.368 287.745 lineto
-125.368 293.745 lineto
-119.368 293.745 lineto
-119.368 287.745 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-newpath
-142.169 287.745 M
-148.169 287.745 lineto
-148.169 293.745 lineto
-142.169 293.745 lineto
-142.169 287.745 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-142.169 287.745 M
-148.169 287.745 lineto
-148.169 293.745 lineto
-142.169 293.745 lineto
-142.169 287.745 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-newpath
-164.97 287.745 M
-170.97 287.745 lineto
-170.97 293.745 lineto
-164.97 293.745 lineto
-164.97 287.745 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-164.97 287.745 M
-170.97 287.745 lineto
-170.97 293.745 lineto
-164.97 293.745 lineto
-164.97 287.745 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-newpath
-187.771 287.745 M
-193.771 287.745 lineto
-193.771 293.745 lineto
-187.771 293.745 lineto
-187.771 287.745 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-187.771 287.745 M
-193.771 287.745 lineto
-193.771 293.745 lineto
-187.771 293.745 lineto
-187.771 287.745 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-newpath
-210.572 256.249 M
-216.572 256.249 lineto
-216.572 262.249 lineto
-210.572 262.249 lineto
-210.572 256.249 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-210.572 256.249 M
-216.572 256.249 lineto
-216.572 262.249 lineto
-210.572 262.249 lineto
-210.572 256.249 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-newpath
-233.373 195.977 M
-239.373 195.977 lineto
-239.373 201.977 lineto
-233.373 201.977 lineto
-233.373 195.977 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-233.373 195.977 M
-239.373 195.977 lineto
-239.373 201.977 lineto
-233.373 201.977 lineto
-233.373 195.977 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-newpath
-256.174 146.928 M
-262.174 146.928 lineto
-262.174 152.928 lineto
-256.174 152.928 lineto
-256.174 146.928 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-256.174 146.928 M
-262.174 146.928 lineto
-262.174 152.928 lineto
-256.174 152.928 lineto
-256.174 146.928 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-newpath
-278.975 110.202 M
-284.975 110.202 lineto
-284.975 116.202 lineto
-278.975 116.202 lineto
-278.975 110.202 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-278.975 110.202 M
-284.975 110.202 lineto
-284.975 116.202 lineto
-278.975 116.202 lineto
-278.975 110.202 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-newpath
-301.776 73.996 M
-307.776 73.996 lineto
-307.776 79.996 lineto
-301.776 79.996 lineto
-301.776 73.996 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-301.776 73.996 M
-307.776 73.996 lineto
-307.776 79.996 lineto
-301.776 79.996 lineto
-301.776 73.996 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-newpath
-324.577 65.557 M
-330.577 65.557 lineto
-330.577 71.557 lineto
-324.577 71.557 lineto
-324.577 65.557 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-324.577 65.557 M
-330.577 65.557 lineto
-330.577 71.557 lineto
-324.577 71.557 lineto
-324.577 65.557 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-newpath
-347.378 55.985 M
-353.378 55.985 lineto
-353.378 61.985 lineto
-347.378 61.985 lineto
-347.378 55.985 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-347.378 55.985 M
-353.378 55.985 lineto
-353.378 61.985 lineto
-347.378 61.985 lineto
-347.378 55.985 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-newpath
-370.179 46.536 M
-376.179 46.536 lineto
-376.179 52.536 lineto
-370.179 52.536 lineto
-370.179 46.536 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-61.945 34.247 M
-61.945 355.329 lineto
-388 355.329 lineto
-388 34.247 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-370.179 46.536 M
-376.179 46.536 lineto
-376.179 52.536 lineto
-370.179 52.536 lineto
-370.179 46.536 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-0.5 setlinewidth
-newpath
-61.945 34.247 M
-388 34.247 lineto
-388 355.329 lineto
-61.945 355.329 lineto
-61.945 34.247 lineto
-closepath
-stroke
-grestore
-%%Trailer
-%%Pages: 1
-%%EOF
diff --git a/sim/gobs/wiki/PlacementHierarchy.odg b/sim/gobs/wiki/PlacementHierarchy.odg
deleted file mode 100644
index 9a136c4..0000000
Binary files a/sim/gobs/wiki/PlacementHierarchy.odg and /dev/null differ
diff --git a/sim/gobs/wiki/PlacementHierarchy.png b/sim/gobs/wiki/PlacementHierarchy.png
deleted file mode 100644
index a055ffe..0000000
Binary files a/sim/gobs/wiki/PlacementHierarchy.png and /dev/null differ
diff --git a/sim/gobs/wiki/dc02kpv01.cfg b/sim/gobs/wiki/dc02kpv01.cfg
deleted file mode 100644
index 50636bd..0000000
--- a/sim/gobs/wiki/dc02kpv01.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv01.cfg system_size_20-1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/wiki/dc02kpv01.eps b/sim/gobs/wiki/dc02kpv01.eps
deleted file mode 100644
index fc80b44..0000000
--- a/sim/gobs/wiki/dc02kpv01.eps
+++ /dev/null
@@ -1,4569 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (Apache XML Graphics Commons: EPS Generator for Java2D)
-%%CreationDate: 2009-10-05T12:10:31
-%%Pages: (atend)
-%%BoundingBox: 0 0 400 400
-%%LanguageLevel: 3
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset (Apache XML Graphics Std ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2001-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (Basic set of procedures used by the XML Graphics project \(Batik and FOP\))
-/bd{bind def}bind def
-/ld{load def}bd
-/M/moveto ld
-/RM/rmoveto ld
-/t/show ld
-/A/ashow ld
-/cp/closepath ld
-/re {4 2 roll M
-1 index 0 rlineto
-0 exch rlineto
-neg 0 rlineto
-cp } bd
-/_ctm matrix def
-/_tm matrix def
-/BT { _ctm currentmatrix pop matrix _tm copy pop 0 0 moveto } bd
-/ET { _ctm setmatrix } bd
-/iTm { _ctm setmatrix _tm concat } bd
-/Tm { _tm astore pop iTm 0 0 moveto } bd
-/ux 0.0 def
-/uy 0.0 def
-/F {
- /Tp exch def
- /Tf exch def
- Tf findfont Tp scalefont setfont
- /cf Tf def /cs Tp def /cw ( ) stringwidth pop def
-} bd
-/ULS {currentpoint /uy exch def /ux exch def} bd
-/ULE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add moveto Tcx uy To add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/OLE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs add moveto Tcx uy To add cs add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/SOE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs 10 mul 26 idiv add moveto Tcx uy To add cs 10 mul 26 idiv add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/QUADTO {
-/Y22 exch store
-/X22 exch store
-/Y21 exch store
-/X21 exch store
-currentpoint
-/Y21 load 2 mul add 3 div exch
-/X21 load 2 mul add 3 div exch
-/X21 load 2 mul /X22 load add 3 div
-/Y21 load 2 mul /Y22 load add 3 div
-/X22 load /Y22 load curveto
-} bd
-/SSPD {
-dup length /d exch dict def
-{
-/v exch def
-/k exch def
-currentpagedevice k known {
-/cpdv currentpagedevice k get def
-v cpdv ne {
-/upd false def
-/nullv v type /nulltype eq def
-/nullcpdv cpdv type /nulltype eq def
-nullv nullcpdv or
-{
-/upd true def
-} {
-/sametype v type cpdv type eq def
-sametype {
-v type /arraytype eq {
-/vlen v length def
-/cpdvlen cpdv length def
-vlen cpdvlen eq {
-0 1 vlen 1 sub {
-/i exch def
-/obj v i get def
-/cpdobj cpdv i get def
-obj cpdobj ne {
-/upd true def
-exit
-} if
-} for
-} {
-/upd true def
-} ifelse
-} {
-v type /dicttype eq {
-v {
-/dv exch def
-/dk exch def
-/cpddv cpdv dk get def
-dv cpddv ne {
-/upd true def
-exit
-} if
-} forall
-} {
-/upd true def
-} ifelse
-} ifelse
-} if
-} ifelse
-upd true eq {
-d k v put
-} if
-} if
-} if
-} forall
-d length 0 gt {
-d setpagedevice
-} if
-} bd
-%%EndResource
-%%BeginResource: procset (Apache XML Graphics EPS ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2002-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (EPS procedures used by the Apache XML Graphics project \(Batik and FOP\))
-/BeginEPSF { %def
-/b4_Inc_state save def % Save state for cleanup
-/dict_count countdictstack def % Count objects on dict stack
-/op_count count 1 sub def % Count objects on operand stack
-userdict begin % Push userdict on dict stack
-/showpage { } def % Redefine showpage, { } = null proc
-0 setgray 0 setlinecap % Prepare graphics state
-1 setlinewidth 0 setlinejoin
-10 setmiterlimit [ ] 0 setdash newpath
-/languagelevel where % If level not equal to 1 then
-{pop languagelevel % set strokeadjust and
-1 ne % overprint to their defaults.
-{false setstrokeadjust false setoverprint
-} if
-} if
-} bd
-/EndEPSF { %def
-count op_count sub {pop} repeat % Clean up stacks
-countdictstack dict_count sub {end} repeat
-b4_Inc_state restore
-} bd
-%%EndResource
-%%EndProlog
-%%Page: 1 1
-%%PageBoundingBox: 0 0 400 400
-%%BeginPageSetup
-[1 0 0 -1 0 400] concat
-%%EndPageSetup
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-81.354 20.249 M
-81.354 5.796 lineto
-85.338 5.796 lineto
-88.807 15.968 lineto
-92.4 5.796 lineto
-95.885 5.796 lineto
-95.885 20.249 lineto
-93.119 20.249 lineto
-93.119 9.343 lineto
-89.588 19.281 lineto
-87.166 19.281 lineto
-83.713 9.187 lineto
-83.713 20.249 lineto
-81.354 20.249 lineto
-closepath
-104.758 19.093 M
-103.305 20.499 101.664 20.499 QUADTO
-100.258 20.499 99.375 19.64 QUADTO
-98.492 18.781 98.492 17.406 QUADTO
-98.492 15.624 99.914 14.663 QUADTO
-101.336 13.703 103.992 13.703 QUADTO
-104.758 13.703 lineto
-104.758 12.734 lineto
-104.758 11.062 102.852 11.062 QUADTO
-101.164 11.062 99.43 12.015 QUADTO
-99.43 10.031 lineto
-101.398 9.281 103.32 9.281 QUADTO
-107.523 9.281 107.523 12.624 QUADTO
-107.523 17.374 lineto
-107.523 18.64 108.336 18.64 QUADTO
-108.492 18.64 108.727 18.593 QUADTO
-108.789 20.218 lineto
-107.867 20.499 107.164 20.499 QUADTO
-105.398 20.499 104.883 19.093 QUADTO
-104.758 19.093 lineto
-closepath
-104.758 17.546 M
-104.758 15.359 lineto
-104.07 15.359 lineto
-101.273 15.359 101.273 17.124 QUADTO
-101.273 17.718 101.68 18.124 QUADTO
-102.086 18.531 102.68 18.531 QUADTO
-103.695 18.531 104.758 17.546 QUADTO
-closepath
-110.125 20.249 M
-113.797 14.874 lineto
-110.281 9.531 lineto
-113.562 9.531 lineto
-115.875 12.921 lineto
-118.078 9.531 lineto
-120.422 9.531 lineto
-117.062 14.796 lineto
-120.672 20.249 lineto
-117.375 20.249 lineto
-114.969 16.703 lineto
-112.516 20.249 lineto
-110.125 20.249 lineto
-closepath
-123.082 20.249 M
-123.082 9.531 lineto
-125.973 9.531 lineto
-125.973 20.249 lineto
-123.082 20.249 lineto
-closepath
-123.082 7.718 M
-123.082 5.312 lineto
-125.973 5.312 lineto
-125.973 7.718 lineto
-123.082 7.718 lineto
-closepath
-129.586 20.249 M
-129.586 9.531 lineto
-132.352 9.531 lineto
-132.352 11.546 lineto
-133.617 9.281 135.961 9.281 QUADTO
-137.18 9.281 137.961 9.874 QUADTO
-138.742 10.468 138.914 11.546 QUADTO
-140.414 9.281 142.555 9.281 QUADTO
-145.492 9.281 145.492 12.531 QUADTO
-145.492 20.249 lineto
-142.711 20.249 lineto
-142.711 13.468 lineto
-142.711 11.562 141.445 11.562 QUADTO
-140.148 11.562 138.914 13.437 QUADTO
-138.914 20.249 lineto
-136.148 20.249 lineto
-136.148 13.468 lineto
-136.148 11.562 134.867 11.562 QUADTO
-133.586 11.562 132.352 13.437 QUADTO
-132.352 20.249 lineto
-129.586 20.249 lineto
-closepath
-155.605 20.249 M
-155.605 18.234 lineto
-154.199 20.499 151.949 20.499 QUADTO
-150.512 20.499 149.684 19.585 QUADTO
-148.855 18.671 148.855 17.109 QUADTO
-148.855 9.531 lineto
-151.746 9.531 lineto
-151.746 16.39 lineto
-151.746 18.218 152.965 18.218 QUADTO
-154.34 18.218 155.605 16.281 QUADTO
-155.605 9.531 lineto
-158.496 9.531 lineto
-158.496 20.249 lineto
-155.605 20.249 lineto
-closepath
-162.115 20.249 M
-162.115 9.531 lineto
-164.881 9.531 lineto
-164.881 11.546 lineto
-166.146 9.281 168.49 9.281 QUADTO
-169.709 9.281 170.49 9.874 QUADTO
-171.271 10.468 171.443 11.546 QUADTO
-172.943 9.281 175.084 9.281 QUADTO
-178.021 9.281 178.021 12.531 QUADTO
-178.021 20.249 lineto
-175.24 20.249 lineto
-175.24 13.468 lineto
-175.24 11.562 173.975 11.562 QUADTO
-172.678 11.562 171.443 13.437 QUADTO
-171.443 20.249 lineto
-168.678 20.249 lineto
-168.678 13.468 lineto
-168.678 11.562 167.396 11.562 QUADTO
-166.115 11.562 164.881 13.437 QUADTO
-164.881 20.249 lineto
-162.115 20.249 lineto
-closepath
-188.102 20.249 M
-188.102 5.796 lineto
-193.508 5.796 lineto
-197.914 5.796 197.914 9.374 QUADTO
-197.914 10.718 197.164 11.82 QUADTO
-196.414 12.921 195.102 13.499 QUADTO
-199.836 20.249 lineto
-196.18 20.249 lineto
-192.586 14.343 lineto
-190.93 14.343 lineto
-190.93 20.249 lineto
-188.102 20.249 lineto
-closepath
-190.93 12.359 M
-191.617 12.359 lineto
-194.898 12.359 194.898 9.718 QUADTO
-194.898 7.781 191.977 7.781 QUADTO
-190.93 7.781 lineto
-190.93 12.359 lineto
-closepath
-210.619 19.89 M
-208.572 20.499 206.713 20.499 QUADTO
-204.041 20.499 202.486 18.976 QUADTO
-200.932 17.453 200.932 14.812 QUADTO
-200.932 12.312 202.354 10.796 QUADTO
-203.775 9.281 206.104 9.281 QUADTO
-208.463 9.281 209.541 10.765 QUADTO
-210.619 12.249 210.619 15.468 QUADTO
-203.979 15.468 lineto
-204.275 18.531 207.338 18.531 QUADTO
-208.807 18.531 210.619 17.859 QUADTO
-210.619 19.89 lineto
-closepath
-203.932 13.828 M
-207.791 13.828 lineto
-207.791 11.093 206.01 11.093 QUADTO
-204.213 11.093 203.932 13.828 QUADTO
-closepath
-213.619 20.249 M
-213.619 4.828 lineto
-216.51 4.828 lineto
-216.51 11.546 lineto
-217.619 9.281 220.01 9.281 QUADTO
-221.947 9.281 223.057 10.695 QUADTO
-224.166 12.109 224.166 14.593 QUADTO
-224.166 17.281 222.916 18.89 QUADTO
-221.666 20.499 219.572 20.499 QUADTO
-217.775 20.499 216.51 19.171 QUADTO
-215.963 20.249 lineto
-213.619 20.249 lineto
-closepath
-216.51 17.453 M
-217.557 18.624 218.744 18.624 QUADTO
-219.822 18.624 220.455 17.593 QUADTO
-221.088 16.562 221.088 14.843 QUADTO
-221.088 11.546 218.963 11.546 QUADTO
-217.682 11.546 216.51 13.203 QUADTO
-216.51 17.453 lineto
-closepath
-233.496 20.249 M
-233.496 18.234 lineto
-232.09 20.499 229.84 20.499 QUADTO
-228.402 20.499 227.574 19.585 QUADTO
-226.746 18.671 226.746 17.109 QUADTO
-226.746 9.531 lineto
-229.637 9.531 lineto
-229.637 16.39 lineto
-229.637 18.218 230.855 18.218 QUADTO
-232.23 18.218 233.496 16.281 QUADTO
-233.496 9.531 lineto
-236.387 9.531 lineto
-236.387 20.249 lineto
-233.496 20.249 lineto
-closepath
-240.006 20.249 M
-240.006 9.531 lineto
-242.896 9.531 lineto
-242.896 20.249 lineto
-240.006 20.249 lineto
-closepath
-240.006 7.718 M
-240.006 5.312 lineto
-242.896 5.312 lineto
-242.896 7.718 lineto
-240.006 7.718 lineto
-closepath
-246.51 20.249 M
-246.51 4.828 lineto
-249.4 4.828 lineto
-249.4 20.249 lineto
-246.51 20.249 lineto
-closepath
-259.764 20.249 M
-259.764 18.234 lineto
-258.639 20.499 256.248 20.499 QUADTO
-254.311 20.499 253.209 19.078 QUADTO
-252.107 17.656 252.107 15.187 QUADTO
-252.107 12.484 253.357 10.882 QUADTO
-254.607 9.281 256.701 9.281 QUADTO
-258.373 9.281 259.764 10.609 QUADTO
-259.764 4.828 lineto
-262.654 4.828 lineto
-262.654 20.249 lineto
-259.764 20.249 lineto
-closepath
-259.764 12.328 M
-258.717 11.156 257.514 11.156 QUADTO
-256.451 11.156 255.818 12.179 QUADTO
-255.186 13.203 255.186 14.937 QUADTO
-255.186 18.234 257.295 18.234 QUADTO
-258.592 18.234 259.764 16.578 QUADTO
-259.764 12.328 lineto
-closepath
-272.857 20.249 M
-272.857 5.796 lineto
-275.857 5.796 lineto
-275.857 18.203 lineto
-282.373 18.203 lineto
-282.373 20.249 lineto
-272.857 20.249 lineto
-closepath
-288.988 20.499 M
-286.473 20.499 284.996 18.976 QUADTO
-283.52 17.453 283.52 14.89 QUADTO
-283.52 12.296 285.004 10.788 QUADTO
-286.488 9.281 289.051 9.281 QUADTO
-291.629 9.281 293.113 10.788 QUADTO
-294.598 12.296 294.598 14.874 QUADTO
-294.598 17.499 293.105 18.999 QUADTO
-291.613 20.499 288.988 20.499 QUADTO
-closepath
-289.035 18.687 M
-291.52 18.687 291.52 14.874 QUADTO
-291.52 13.124 290.863 12.109 QUADTO
-290.207 11.093 289.051 11.093 QUADTO
-287.91 11.093 287.254 12.109 QUADTO
-286.598 13.124 286.598 14.89 QUADTO
-286.598 16.64 287.246 17.663 QUADTO
-287.895 18.687 289.035 18.687 QUADTO
-closepath
-302.512 19.093 M
-301.059 20.499 299.418 20.499 QUADTO
-298.012 20.499 297.129 19.64 QUADTO
-296.246 18.781 296.246 17.406 QUADTO
-296.246 15.624 297.668 14.663 QUADTO
-299.09 13.703 301.746 13.703 QUADTO
-302.512 13.703 lineto
-302.512 12.734 lineto
-302.512 11.062 300.605 11.062 QUADTO
-298.918 11.062 297.184 12.015 QUADTO
-297.184 10.031 lineto
-299.152 9.281 301.074 9.281 QUADTO
-305.277 9.281 305.277 12.624 QUADTO
-305.277 17.374 lineto
-305.277 18.64 306.09 18.64 QUADTO
-306.246 18.64 306.48 18.593 QUADTO
-306.543 20.218 lineto
-305.621 20.499 304.918 20.499 QUADTO
-303.152 20.499 302.637 19.093 QUADTO
-302.512 19.093 lineto
-closepath
-302.512 17.546 M
-302.512 15.359 lineto
-301.824 15.359 lineto
-299.027 15.359 299.027 17.124 QUADTO
-299.027 17.718 299.434 18.124 QUADTO
-299.84 18.531 300.434 18.531 QUADTO
-301.449 18.531 302.512 17.546 QUADTO
-closepath
-315.77 20.249 M
-315.77 18.234 lineto
-314.645 20.499 312.254 20.499 QUADTO
-310.316 20.499 309.215 19.078 QUADTO
-308.113 17.656 308.113 15.187 QUADTO
-308.113 12.484 309.363 10.882 QUADTO
-310.613 9.281 312.707 9.281 QUADTO
-314.379 9.281 315.77 10.609 QUADTO
-315.77 4.828 lineto
-318.66 4.828 lineto
-318.66 20.249 lineto
-315.77 20.249 lineto
-closepath
-315.77 12.328 M
-314.723 11.156 313.52 11.156 QUADTO
-312.457 11.156 311.824 12.179 QUADTO
-311.191 13.203 311.191 14.937 QUADTO
-311.191 18.234 313.301 18.234 QUADTO
-314.598 18.234 315.77 16.578 QUADTO
-315.77 12.328 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-79.864 376.452 M
-320.136 376.452 lineto
-320.136 399 lineto
-79.864 399 lineto
-79.864 376.452 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 376.952 M
-319.636 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 398.5 M
-319.636 398.5 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 398.5 M
-80.364 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.636 398.5 M
-319.636 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.864 387.726 M
-97.864 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-87.864 384.726 M
-93.864 384.726 lineto
-93.864 390.726 lineto
-87.864 390.726 lineto
-87.864 384.726 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.864 384.726 M
-93.864 384.726 lineto
-93.864 390.726 lineto
-87.864 390.726 lineto
-87.864 384.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-102.989 392.002 M
-102.989 383.33 lineto
-105.349 383.33 lineto
-106.911 383.33 107.599 383.861 QUADTO
-108.286 384.392 108.286 385.595 QUADTO
-108.286 386.986 107.349 387.767 QUADTO
-106.411 388.549 104.755 388.549 QUADTO
-104.208 388.549 lineto
-104.208 392.002 lineto
-102.989 392.002 lineto
-closepath
-104.208 387.627 M
-104.708 387.627 lineto
-105.802 387.627 106.396 387.119 QUADTO
-106.989 386.611 106.989 385.689 QUADTO
-106.989 384.924 106.521 384.588 QUADTO
-106.052 384.252 104.958 384.252 QUADTO
-104.208 384.252 lineto
-104.208 387.627 lineto
-closepath
-114.013 388.689 M
-112.528 384.939 lineto
-111.06 388.689 lineto
-114.013 388.689 lineto
-closepath
-115.31 392.002 M
-114.372 389.595 lineto
-110.7 389.595 lineto
-109.747 392.002 lineto
-108.591 392.002 lineto
-112.044 383.33 lineto
-113.263 383.33 lineto
-116.638 392.002 lineto
-115.31 392.002 lineto
-closepath
-119.589 392.22 M
-118.729 392.22 117.37 391.83 QUADTO
-117.37 390.611 lineto
-118.823 391.299 119.776 391.299 QUADTO
-120.495 391.299 120.94 390.916 QUADTO
-121.386 390.533 121.386 389.908 QUADTO
-121.386 389.408 121.097 389.049 QUADTO
-120.808 388.689 120.026 388.252 QUADTO
-119.433 387.908 lineto
-118.323 387.267 117.87 386.713 QUADTO
-117.417 386.158 117.417 385.408 QUADTO
-117.417 384.408 118.144 383.759 QUADTO
-118.87 383.111 119.995 383.111 QUADTO
-120.995 383.111 122.104 383.439 QUADTO
-122.104 384.564 lineto
-120.729 384.033 120.058 384.033 QUADTO
-119.417 384.033 119.003 384.369 QUADTO
-118.589 384.705 118.589 385.22 QUADTO
-118.589 385.658 118.894 385.994 QUADTO
-119.198 386.33 120.011 386.799 QUADTO
-120.62 387.142 lineto
-121.745 387.783 122.19 388.353 QUADTO
-122.636 388.924 122.636 389.72 QUADTO
-122.636 390.845 121.808 391.533 QUADTO
-120.979 392.22 119.589 392.22 QUADTO
-closepath
-126.427 392.002 M
-126.427 384.252 lineto
-123.349 384.252 lineto
-123.349 383.33 lineto
-130.724 383.33 lineto
-130.724 384.252 lineto
-127.646 384.252 lineto
-127.646 392.002 lineto
-126.427 392.002 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-136.827 387.726 M
-150.827 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-146.827 387.726 M
-146.827 389.383 145.484 390.726 143.827 390.726 curveto
-142.17 390.726 140.827 389.383 140.827 387.726 curveto
-140.827 386.069 142.17 384.726 143.827 384.726 curveto
-145.484 384.726 146.827 386.069 146.827 387.726 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.827 387.726 M
-146.827 389.383 145.484 390.726 143.827 390.726 curveto
-142.17 390.726 140.827 389.383 140.827 387.726 curveto
-140.827 386.069 142.17 384.726 143.827 384.726 curveto
-145.484 384.726 146.827 386.069 146.827 387.726 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-155.952 392.002 M
-155.952 383.33 lineto
-157.108 383.33 lineto
-157.108 387.595 lineto
-160.608 383.33 lineto
-161.843 383.33 lineto
-158.452 387.47 lineto
-162.452 392.002 lineto
-160.89 392.002 lineto
-157.108 387.611 lineto
-157.108 392.002 lineto
-155.952 392.002 lineto
-closepath
-167.099 391.189 M
-166.067 392.142 165.099 392.142 QUADTO
-164.302 392.142 163.786 391.65 QUADTO
-163.271 391.158 163.271 390.408 QUADTO
-163.271 389.361 164.146 388.799 QUADTO
-165.021 388.236 166.646 388.236 QUADTO
-166.927 388.236 lineto
-166.927 387.47 lineto
-166.927 386.361 165.786 386.361 QUADTO
-164.88 386.361 163.817 386.924 QUADTO
-163.817 385.97 lineto
-164.989 385.502 166.005 385.502 QUADTO
-167.067 385.502 167.575 385.978 QUADTO
-168.083 386.455 168.083 387.47 QUADTO
-168.083 390.361 lineto
-168.083 391.345 168.692 391.345 QUADTO
-168.771 391.345 168.911 391.314 QUADTO
-168.989 391.955 lineto
-168.599 392.142 168.13 392.142 QUADTO
-167.317 392.142 167.099 391.189 QUADTO
-closepath
-166.927 390.564 M
-166.927 388.924 lineto
-166.536 388.908 lineto
-165.599 388.908 165.013 389.267 QUADTO
-164.427 389.627 164.427 390.22 QUADTO
-164.427 390.627 164.716 390.916 QUADTO
-165.005 391.205 165.427 391.205 QUADTO
-166.146 391.205 166.927 390.564 QUADTO
-closepath
-174.522 392.002 M
-174.522 390.799 lineto
-173.819 392.142 172.413 392.142 QUADTO
-171.257 392.142 170.601 391.306 QUADTO
-169.944 390.47 169.944 389.017 QUADTO
-169.944 387.424 170.687 386.463 QUADTO
-171.429 385.502 172.647 385.502 QUADTO
-173.788 385.502 174.522 386.361 QUADTO
-174.522 382.752 lineto
-175.694 382.752 lineto
-175.694 392.002 lineto
-174.522 392.002 lineto
-closepath
-174.522 387.158 M
-173.632 386.361 172.835 386.361 QUADTO
-171.163 386.361 171.163 388.908 QUADTO
-171.163 391.127 172.647 391.127 QUADTO
-173.601 391.127 174.522 390.08 QUADTO
-174.522 387.158 lineto
-closepath
-182.653 391.799 M
-181.497 392.142 180.669 392.142 QUADTO
-179.263 392.142 178.38 391.213 QUADTO
-177.497 390.283 177.497 388.783 QUADTO
-177.497 387.345 178.278 386.416 QUADTO
-179.06 385.486 180.278 385.486 QUADTO
-181.435 385.486 182.06 386.306 QUADTO
-182.685 387.127 182.685 388.642 QUADTO
-182.685 389.002 lineto
-178.669 389.002 lineto
-178.919 391.267 180.888 391.267 QUADTO
-181.606 391.267 182.653 390.877 QUADTO
-182.653 391.799 lineto
-closepath
-178.716 388.127 M
-181.528 388.127 lineto
-181.528 386.361 180.2 386.361 QUADTO
-178.872 386.361 178.716 388.127 QUADTO
-closepath
-184.683 392.002 M
-184.683 385.642 lineto
-185.839 385.642 lineto
-185.839 386.83 lineto
-186.683 385.502 188.011 385.502 QUADTO
-189.276 385.502 189.745 386.83 QUADTO
-190.558 385.486 191.87 385.486 QUADTO
-192.714 385.486 193.183 385.986 QUADTO
-193.651 386.486 193.651 387.377 QUADTO
-193.651 392.002 lineto
-192.479 392.002 lineto
-192.479 387.549 lineto
-192.479 386.47 191.62 386.47 QUADTO
-190.729 386.47 189.745 387.736 QUADTO
-189.745 392.002 lineto
-188.589 392.002 lineto
-188.589 387.549 lineto
-188.589 386.455 187.698 386.455 QUADTO
-186.839 386.455 185.839 387.736 QUADTO
-185.839 392.002 lineto
-184.683 392.002 lineto
-closepath
-195.886 392.002 M
-195.886 382.752 lineto
-197.042 382.752 lineto
-197.042 392.002 lineto
-195.886 392.002 lineto
-closepath
-199.354 392.002 M
-199.354 385.642 lineto
-200.511 385.642 lineto
-200.511 392.002 lineto
-199.354 392.002 lineto
-closepath
-199.354 384.486 M
-199.354 383.33 lineto
-200.511 383.33 lineto
-200.511 384.486 lineto
-199.354 384.486 lineto
-closepath
-206.104 391.189 M
-205.073 392.142 204.104 392.142 QUADTO
-203.308 392.142 202.792 391.65 QUADTO
-202.276 391.158 202.276 390.408 QUADTO
-202.276 389.361 203.151 388.799 QUADTO
-204.026 388.236 205.651 388.236 QUADTO
-205.933 388.236 lineto
-205.933 387.47 lineto
-205.933 386.361 204.792 386.361 QUADTO
-203.886 386.361 202.823 386.924 QUADTO
-202.823 385.97 lineto
-203.995 385.502 205.011 385.502 QUADTO
-206.073 385.502 206.581 385.978 QUADTO
-207.089 386.455 207.089 387.47 QUADTO
-207.089 390.361 lineto
-207.089 391.345 207.698 391.345 QUADTO
-207.776 391.345 207.917 391.314 QUADTO
-207.995 391.955 lineto
-207.604 392.142 207.136 392.142 QUADTO
-206.323 392.142 206.104 391.189 QUADTO
-closepath
-205.933 390.564 M
-205.933 388.924 lineto
-205.542 388.908 lineto
-204.604 388.908 204.019 389.267 QUADTO
-203.433 389.627 203.433 390.22 QUADTO
-203.433 390.627 203.722 390.916 QUADTO
-204.011 391.205 204.433 391.205 QUADTO
-205.151 391.205 205.933 390.564 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-214.294 387.726 M
-228.294 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-221.294 384.726 M
-224.294 390.726 lineto
-218.294 390.726 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.294 384.726 M
-224.294 390.726 lineto
-218.294 390.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-235.778 392.002 M
-232.513 383.33 lineto
-233.731 383.33 lineto
-236.419 390.424 lineto
-239.013 383.33 lineto
-240.091 383.33 lineto
-236.935 392.002 lineto
-235.778 392.002 lineto
-closepath
-245.952 391.799 M
-244.796 392.142 243.968 392.142 QUADTO
-242.562 392.142 241.679 391.213 QUADTO
-240.796 390.283 240.796 388.783 QUADTO
-240.796 387.345 241.577 386.416 QUADTO
-242.358 385.486 243.577 385.486 QUADTO
-244.733 385.486 245.358 386.306 QUADTO
-245.983 387.127 245.983 388.642 QUADTO
-245.983 389.002 lineto
-241.968 389.002 lineto
-242.218 391.267 244.187 391.267 QUADTO
-244.905 391.267 245.952 390.877 QUADTO
-245.952 391.799 lineto
-closepath
-242.015 388.127 M
-244.827 388.127 lineto
-244.827 386.361 243.499 386.361 QUADTO
-242.171 386.361 242.015 388.127 QUADTO
-closepath
-247.981 392.002 M
-247.981 385.642 lineto
-249.138 385.642 lineto
-249.138 386.83 lineto
-249.825 385.502 251.122 385.502 QUADTO
-251.31 385.502 251.497 385.533 QUADTO
-251.497 386.611 lineto
-251.2 386.502 250.966 386.502 QUADTO
-249.872 386.502 249.138 387.799 QUADTO
-249.138 392.002 lineto
-247.981 392.002 lineto
-closepath
-254.798 392.142 M
-253.923 392.142 253.431 391.642 QUADTO
-252.938 391.142 252.938 390.236 QUADTO
-252.938 386.502 lineto
-252.142 386.502 lineto
-252.142 385.642 lineto
-252.938 385.642 lineto
-252.938 384.486 lineto
-254.095 384.377 lineto
-254.095 385.642 lineto
-255.751 385.642 lineto
-255.751 386.502 lineto
-254.095 386.502 lineto
-254.095 390.033 lineto
-254.095 391.283 255.173 391.283 QUADTO
-255.392 391.283 255.72 391.205 QUADTO
-255.72 392.002 lineto
-255.188 392.142 254.798 392.142 QUADTO
-closepath
-262.036 391.799 M
-260.88 392.142 260.052 392.142 QUADTO
-258.646 392.142 257.763 391.213 QUADTO
-256.88 390.283 256.88 388.783 QUADTO
-256.88 387.345 257.661 386.416 QUADTO
-258.442 385.486 259.661 385.486 QUADTO
-260.817 385.486 261.442 386.306 QUADTO
-262.067 387.127 262.067 388.642 QUADTO
-262.067 389.002 lineto
-258.052 389.002 lineto
-258.302 391.267 260.271 391.267 QUADTO
-260.989 391.267 262.036 390.877 QUADTO
-262.036 391.799 lineto
-closepath
-258.099 388.127 M
-260.911 388.127 lineto
-260.911 386.361 259.583 386.361 QUADTO
-258.255 386.361 258.099 388.127 QUADTO
-closepath
-263.425 392.002 M
-265.847 388.72 lineto
-263.503 385.642 lineto
-264.862 385.642 lineto
-266.722 388.08 lineto
-268.409 385.642 lineto
-269.534 385.642 lineto
-267.331 388.861 lineto
-269.722 392.002 lineto
-268.347 392.002 lineto
-266.44 389.486 lineto
-264.581 392.002 lineto
-263.425 392.002 lineto
-closepath
-281.706 391.767 M
-280.128 392.22 278.956 392.22 QUADTO
-276.878 392.22 275.776 391.041 QUADTO
-274.675 389.861 274.675 387.658 QUADTO
-274.675 385.502 275.792 384.306 QUADTO
-276.909 383.111 278.94 383.111 QUADTO
-280.253 383.111 281.69 383.502 QUADTO
-281.69 384.642 lineto
-279.894 384.033 278.94 384.033 QUADTO
-277.534 384.033 276.761 384.986 QUADTO
-275.987 385.939 275.987 387.674 QUADTO
-275.987 389.392 276.815 390.345 QUADTO
-277.644 391.299 279.144 391.299 QUADTO
-279.769 391.299 280.472 391.08 QUADTO
-280.472 388.252 lineto
-281.706 388.252 lineto
-281.706 391.767 lineto
-closepath
-283.894 392.002 M
-283.894 385.642 lineto
-285.05 385.642 lineto
-285.05 386.83 lineto
-285.737 385.502 287.034 385.502 QUADTO
-287.222 385.502 287.409 385.533 QUADTO
-287.409 386.611 lineto
-287.112 386.502 286.878 386.502 QUADTO
-285.784 386.502 285.05 387.799 QUADTO
-285.05 392.002 lineto
-283.894 392.002 lineto
-closepath
-291.288 392.142 M
-289.929 392.142 289.116 391.236 QUADTO
-288.304 390.33 288.304 388.814 QUADTO
-288.304 387.283 289.116 386.392 QUADTO
-289.929 385.502 291.335 385.502 QUADTO
-292.741 385.502 293.554 386.392 QUADTO
-294.366 387.283 294.366 388.814 QUADTO
-294.366 390.361 293.546 391.252 QUADTO
-292.726 392.142 291.288 392.142 QUADTO
-closepath
-291.304 391.283 M
-293.147 391.283 293.147 388.814 QUADTO
-293.147 386.361 291.335 386.361 QUADTO
-289.522 386.361 289.522 388.814 QUADTO
-289.522 391.283 291.304 391.283 QUADTO
-closepath
-300.159 392.002 M
-300.159 390.799 lineto
-299.237 392.142 297.925 392.142 QUADTO
-297.081 392.142 296.589 391.619 QUADTO
-296.097 391.095 296.097 390.205 QUADTO
-296.097 385.642 lineto
-297.253 385.642 lineto
-297.253 389.83 lineto
-297.253 390.549 297.464 390.853 QUADTO
-297.675 391.158 298.159 391.158 QUADTO
-299.222 391.158 300.159 389.767 QUADTO
-300.159 385.642 lineto
-301.3 385.642 lineto
-301.3 392.002 lineto
-300.159 392.002 lineto
-closepath
-303.622 394.314 M
-303.622 385.642 lineto
-304.778 385.642 lineto
-304.778 386.83 lineto
-305.481 385.502 306.903 385.502 QUADTO
-308.044 385.502 308.708 386.338 QUADTO
-309.372 387.174 309.372 388.627 QUADTO
-309.372 390.205 308.622 391.174 QUADTO
-307.872 392.142 306.653 392.142 QUADTO
-305.528 392.142 304.778 391.283 QUADTO
-304.778 394.314 lineto
-303.622 394.314 lineto
-closepath
-304.778 390.486 M
-305.669 391.283 306.481 391.283 QUADTO
-308.138 391.283 308.138 388.736 QUADTO
-308.138 386.502 306.669 386.502 QUADTO
-305.7 386.502 304.778 387.549 QUADTO
-304.778 390.486 lineto
-closepath
-312.862 392.142 M
-312.065 392.142 310.94 391.783 QUADTO
-310.94 390.72 lineto
-312.065 391.283 312.909 391.283 QUADTO
-313.409 391.283 313.737 391.009 QUADTO
-314.065 390.736 314.065 390.33 QUADTO
-314.065 389.752 313.144 389.361 QUADTO
-312.472 389.064 lineto
-310.972 388.455 310.972 387.283 QUADTO
-310.972 386.455 311.565 385.978 QUADTO
-312.159 385.502 313.175 385.502 QUADTO
-313.706 385.502 314.503 385.642 QUADTO
-314.737 385.689 lineto
-314.737 386.658 lineto
-313.769 386.361 313.206 386.361 QUADTO
-312.081 386.361 312.081 387.174 QUADTO
-312.081 387.689 312.925 388.049 QUADTO
-313.487 388.283 lineto
-314.425 388.689 314.823 389.127 QUADTO
-315.222 389.564 315.222 390.236 QUADTO
-315.222 391.064 314.558 391.603 QUADTO
-313.894 392.142 312.862 392.142 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-58.148 34.247 M
-388 34.247 lineto
-388 325.931 lineto
-58.148 325.931 lineto
-58.148 34.247 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-58.148 329.931 M
-388 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-62.77 345.481 M
-62.77 344.465 lineto
-63.27 343.293 64.802 341.903 QUADTO
-65.473 341.309 lineto
-66.739 340.153 66.739 339.012 QUADTO
-66.739 338.293 66.309 337.879 QUADTO
-65.88 337.465 65.114 337.465 QUADTO
-64.208 337.465 62.989 338.153 QUADTO
-62.989 337.137 lineto
-64.145 336.59 65.27 336.59 QUADTO
-66.489 336.59 67.231 337.247 QUADTO
-67.973 337.903 67.973 338.981 QUADTO
-67.973 339.762 67.598 340.372 QUADTO
-67.223 340.981 66.208 341.84 QUADTO
-65.77 342.215 lineto
-64.38 343.387 64.161 344.465 QUADTO
-67.927 344.465 lineto
-67.927 345.481 lineto
-62.77 345.481 lineto
-closepath
-73.124 345.7 M
-71.78 345.7 70.952 344.434 QUADTO
-70.124 343.168 70.124 341.137 QUADTO
-70.124 339.09 70.96 337.84 QUADTO
-71.796 336.59 73.155 336.59 QUADTO
-74.514 336.59 75.35 337.84 QUADTO
-76.186 339.09 76.186 341.122 QUADTO
-76.186 343.2 75.35 344.45 QUADTO
-74.514 345.7 73.124 345.7 QUADTO
-closepath
-73.139 344.825 M
-74.968 344.825 74.968 341.106 QUADTO
-74.968 337.465 73.155 337.465 QUADTO
-71.358 337.465 71.358 341.137 QUADTO
-71.358 344.825 73.139 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.358 331.931 M
-69.358 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-93.333 345.418 M
-93.333 344.34 lineto
-94.583 344.825 95.287 344.825 QUADTO
-96.115 344.825 96.638 344.34 QUADTO
-97.162 343.856 97.162 343.09 QUADTO
-97.162 341.262 94.599 341.262 QUADTO
-94.13 341.262 lineto
-94.13 340.481 lineto
-94.537 340.481 lineto
-96.943 340.481 96.943 338.793 QUADTO
-96.943 337.465 95.365 337.465 QUADTO
-94.49 337.465 93.458 337.95 QUADTO
-93.458 336.934 lineto
-94.474 336.59 95.443 336.59 QUADTO
-98.099 336.59 98.099 338.606 QUADTO
-98.099 340.137 96.287 340.778 QUADTO
-98.396 341.262 98.396 343.075 QUADTO
-98.396 344.309 97.583 345.004 QUADTO
-96.771 345.7 95.365 345.7 QUADTO
-94.552 345.7 93.333 345.418 QUADTO
-closepath
-103.468 345.7 M
-102.124 345.7 101.296 344.434 QUADTO
-100.468 343.168 100.468 341.137 QUADTO
-100.468 339.09 101.304 337.84 QUADTO
-102.14 336.59 103.499 336.59 QUADTO
-104.859 336.59 105.695 337.84 QUADTO
-106.531 339.09 106.531 341.122 QUADTO
-106.531 343.2 105.695 344.45 QUADTO
-104.859 345.7 103.468 345.7 QUADTO
-closepath
-103.484 344.825 M
-105.312 344.825 105.312 341.106 QUADTO
-105.312 337.465 103.499 337.465 QUADTO
-101.703 337.465 101.703 341.137 QUADTO
-101.703 344.825 103.484 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-99.703 331.931 M
-99.703 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.232 331.931 M
-121.232 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-137.932 331.931 M
-137.932 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-151.576 331.931 M
-151.576 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-163.113 331.931 M
-163.113 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.106 331.931 M
-173.106 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-181.921 331.931 M
-181.921 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.806 331.931 M
-189.806 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-180.236 345.481 M
-180.236 344.606 lineto
-181.971 344.606 lineto
-181.971 337.762 lineto
-180.236 338.2 lineto
-180.236 337.309 lineto
-183.127 336.59 lineto
-183.127 344.606 lineto
-184.861 344.606 lineto
-184.861 345.481 lineto
-180.236 345.481 lineto
-closepath
-189.777 345.7 M
-188.434 345.7 187.606 344.434 QUADTO
-186.777 343.168 186.777 341.137 QUADTO
-186.777 339.09 187.613 337.84 QUADTO
-188.449 336.59 189.809 336.59 QUADTO
-191.168 336.59 192.004 337.84 QUADTO
-192.84 339.09 192.84 341.122 QUADTO
-192.84 343.2 192.004 344.45 QUADTO
-191.168 345.7 189.777 345.7 QUADTO
-closepath
-189.793 344.825 M
-191.621 344.825 191.621 341.106 QUADTO
-191.621 337.465 189.809 337.465 QUADTO
-188.012 337.465 188.012 341.137 QUADTO
-188.012 344.825 189.793 344.825 QUADTO
-closepath
-197.365 345.7 M
-196.022 345.7 195.193 344.434 QUADTO
-194.365 343.168 194.365 341.137 QUADTO
-194.365 339.09 195.201 337.84 QUADTO
-196.037 336.59 197.397 336.59 QUADTO
-198.756 336.59 199.592 337.84 QUADTO
-200.428 339.09 200.428 341.122 QUADTO
-200.428 343.2 199.592 344.45 QUADTO
-198.756 345.7 197.365 345.7 QUADTO
-closepath
-197.381 344.825 M
-199.209 344.825 199.209 341.106 QUADTO
-199.209 337.465 197.397 337.465 QUADTO
-195.6 337.465 195.6 341.137 QUADTO
-195.6 344.825 197.381 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.806 331.931 M
-189.806 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-231.298 345.481 M
-231.298 344.465 lineto
-231.798 343.293 233.329 341.903 QUADTO
-234.001 341.309 lineto
-235.267 340.153 235.267 339.012 QUADTO
-235.267 338.293 234.837 337.879 QUADTO
-234.407 337.465 233.642 337.465 QUADTO
-232.735 337.465 231.517 338.153 QUADTO
-231.517 337.137 lineto
-232.673 336.59 233.798 336.59 QUADTO
-235.017 336.59 235.759 337.247 QUADTO
-236.501 337.903 236.501 338.981 QUADTO
-236.501 339.762 236.126 340.372 QUADTO
-235.751 340.981 234.735 341.84 QUADTO
-234.298 342.215 lineto
-232.907 343.387 232.689 344.465 QUADTO
-236.454 344.465 lineto
-236.454 345.481 lineto
-231.298 345.481 lineto
-closepath
-241.651 345.7 M
-240.308 345.7 239.48 344.434 QUADTO
-238.651 343.168 238.651 341.137 QUADTO
-238.651 339.09 239.487 337.84 QUADTO
-240.323 336.59 241.683 336.59 QUADTO
-243.042 336.59 243.878 337.84 QUADTO
-244.714 339.09 244.714 341.122 QUADTO
-244.714 343.2 243.878 344.45 QUADTO
-243.042 345.7 241.651 345.7 QUADTO
-closepath
-241.667 344.825 M
-243.495 344.825 243.495 341.106 QUADTO
-243.495 337.465 241.683 337.465 QUADTO
-239.886 337.465 239.886 341.137 QUADTO
-239.886 344.825 241.667 344.825 QUADTO
-closepath
-249.239 345.7 M
-247.896 345.7 247.067 344.434 QUADTO
-246.239 343.168 246.239 341.137 QUADTO
-246.239 339.09 247.075 337.84 QUADTO
-247.911 336.59 249.271 336.59 QUADTO
-250.63 336.59 251.466 337.84 QUADTO
-252.302 339.09 252.302 341.122 QUADTO
-252.302 343.2 251.466 344.45 QUADTO
-250.63 345.7 249.239 345.7 QUADTO
-closepath
-249.255 344.825 M
-251.083 344.825 251.083 341.106 QUADTO
-251.083 337.465 249.271 337.465 QUADTO
-247.474 337.465 247.474 341.137 QUADTO
-247.474 344.825 249.255 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-241.68 331.931 M
-241.68 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-272.024 331.931 M
-272.024 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-293.554 331.931 M
-293.554 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-310.253 331.931 M
-310.253 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-323.898 331.931 M
-323.898 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-335.434 331.931 M
-335.434 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-345.428 331.931 M
-345.428 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-354.242 331.931 M
-354.242 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.127 331.931 M
-362.127 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-348.764 345.481 M
-348.764 344.606 lineto
-350.498 344.606 lineto
-350.498 337.762 lineto
-348.764 338.2 lineto
-348.764 337.309 lineto
-351.655 336.59 lineto
-351.655 344.606 lineto
-353.389 344.606 lineto
-353.389 345.481 lineto
-348.764 345.481 lineto
-closepath
-358.305 345.7 M
-356.961 345.7 356.133 344.434 QUADTO
-355.305 343.168 355.305 341.137 QUADTO
-355.305 339.09 356.141 337.84 QUADTO
-356.977 336.59 358.336 336.59 QUADTO
-359.696 336.59 360.532 337.84 QUADTO
-361.368 339.09 361.368 341.122 QUADTO
-361.368 343.2 360.532 344.45 QUADTO
-359.696 345.7 358.305 345.7 QUADTO
-closepath
-358.321 344.825 M
-360.149 344.825 360.149 341.106 QUADTO
-360.149 337.465 358.336 337.465 QUADTO
-356.539 337.465 356.539 341.137 QUADTO
-356.539 344.825 358.321 344.825 QUADTO
-closepath
-365.893 345.7 M
-364.549 345.7 363.721 344.434 QUADTO
-362.893 343.168 362.893 341.137 QUADTO
-362.893 339.09 363.729 337.84 QUADTO
-364.565 336.59 365.924 336.59 QUADTO
-367.284 336.59 368.119 337.84 QUADTO
-368.955 339.09 368.955 341.122 QUADTO
-368.955 343.2 368.119 344.45 QUADTO
-367.284 345.7 365.893 345.7 QUADTO
-closepath
-365.909 344.825 M
-367.737 344.825 367.737 341.106 QUADTO
-367.737 337.465 365.924 337.465 QUADTO
-364.127 337.465 364.127 341.137 QUADTO
-364.127 344.825 365.909 344.825 QUADTO
-closepath
-373.481 345.7 M
-372.137 345.7 371.309 344.434 QUADTO
-370.481 343.168 370.481 341.137 QUADTO
-370.481 339.09 371.317 337.84 QUADTO
-372.153 336.59 373.512 336.59 QUADTO
-374.871 336.59 375.707 337.84 QUADTO
-376.543 339.09 376.543 341.122 QUADTO
-376.543 343.2 375.707 344.45 QUADTO
-374.871 345.7 373.481 345.7 QUADTO
-closepath
-373.496 344.825 M
-375.325 344.825 375.325 341.106 QUADTO
-375.325 337.465 373.512 337.465 QUADTO
-371.715 337.465 371.715 341.137 QUADTO
-371.715 344.825 373.496 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.127 331.931 M
-362.127 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-202.574 364.954 M
-202.574 357.454 lineto
-204.59 357.454 lineto
-204.59 358.86 lineto
-205.59 357.282 207.152 357.282 QUADTO
-208.152 357.282 208.738 357.915 QUADTO
-209.324 358.548 209.324 359.641 QUADTO
-209.324 364.954 lineto
-207.293 364.954 lineto
-207.293 360.141 lineto
-207.293 358.876 206.449 358.876 QUADTO
-205.48 358.876 204.59 360.235 QUADTO
-204.59 364.954 lineto
-202.574 364.954 lineto
-closepath
-214.925 365.126 M
-213.159 365.126 212.128 364.063 QUADTO
-211.097 363.001 211.097 361.204 QUADTO
-211.097 359.376 212.136 358.329 QUADTO
-213.175 357.282 214.972 357.282 QUADTO
-216.769 357.282 217.808 358.329 QUADTO
-218.847 359.376 218.847 361.188 QUADTO
-218.847 363.032 217.8 364.079 QUADTO
-216.753 365.126 214.925 365.126 QUADTO
-closepath
-214.956 363.86 M
-216.69 363.86 216.69 361.188 QUADTO
-216.69 359.97 216.229 359.259 QUADTO
-215.769 358.548 214.972 358.548 QUADTO
-214.175 358.548 213.706 359.259 QUADTO
-213.237 359.97 213.237 361.204 QUADTO
-213.237 362.423 213.698 363.141 QUADTO
-214.159 363.86 214.956 363.86 QUADTO
-closepath
-225.429 364.954 M
-225.429 363.532 lineto
-224.647 365.126 222.976 365.126 QUADTO
-221.632 365.126 220.858 364.134 QUADTO
-220.085 363.141 220.085 361.407 QUADTO
-220.085 359.516 220.952 358.399 QUADTO
-221.819 357.282 223.288 357.282 QUADTO
-224.476 357.282 225.429 358.204 QUADTO
-225.429 354.157 lineto
-227.46 354.157 lineto
-227.46 364.954 lineto
-225.429 364.954 lineto
-closepath
-225.429 359.407 M
-224.694 358.595 223.866 358.595 QUADTO
-223.116 358.595 222.679 359.313 QUADTO
-222.241 360.032 222.241 361.235 QUADTO
-222.241 363.532 223.71 363.532 QUADTO
-224.616 363.532 225.429 362.376 QUADTO
-225.429 359.407 lineto
-closepath
-236.096 364.704 M
-234.658 365.126 233.361 365.126 QUADTO
-231.486 365.126 230.4 364.055 QUADTO
-229.314 362.985 229.314 361.141 QUADTO
-229.314 359.407 230.307 358.345 QUADTO
-231.299 357.282 232.939 357.282 QUADTO
-234.58 357.282 235.338 358.321 QUADTO
-236.096 359.36 236.096 361.61 QUADTO
-231.439 361.61 lineto
-231.643 363.751 233.799 363.751 QUADTO
-234.814 363.751 236.096 363.282 QUADTO
-236.096 364.704 lineto
-closepath
-231.408 360.47 M
-234.111 360.47 lineto
-234.111 358.548 232.877 358.548 QUADTO
-231.611 358.548 231.408 360.47 QUADTO
-closepath
-237.986 364.72 M
-237.986 363.235 lineto
-239.502 363.86 240.564 363.86 QUADTO
-241.799 363.86 241.799 363.016 QUADTO
-241.799 362.47 240.783 362.048 QUADTO
-240.096 361.782 lineto
-238.986 361.329 238.502 360.813 QUADTO
-238.018 360.298 238.018 359.532 QUADTO
-238.018 358.454 238.838 357.868 QUADTO
-239.658 357.282 241.111 357.282 QUADTO
-242.033 357.282 243.299 357.548 QUADTO
-243.299 358.97 lineto
-242.08 358.548 241.283 358.548 QUADTO
-240.018 358.548 240.018 359.313 QUADTO
-240.018 359.829 240.955 360.188 QUADTO
-241.533 360.407 lineto
-242.861 360.907 243.377 361.423 QUADTO
-243.893 361.938 243.893 362.751 QUADTO
-243.893 363.798 243.01 364.462 QUADTO
-242.127 365.126 240.721 365.126 QUADTO
-239.377 365.126 237.986 364.72 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-54.148 34.247 M
-54.148 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-44.326 330.426 M
-42.982 330.426 42.154 329.16 QUADTO
-41.326 327.894 41.326 325.863 QUADTO
-41.326 323.816 42.162 322.566 QUADTO
-42.998 321.316 44.357 321.316 QUADTO
-45.717 321.316 46.553 322.566 QUADTO
-47.389 323.816 47.389 325.848 QUADTO
-47.389 327.926 46.553 329.176 QUADTO
-45.717 330.426 44.326 330.426 QUADTO
-closepath
-44.342 329.551 M
-46.17 329.551 46.17 325.832 QUADTO
-46.17 322.191 44.357 322.191 QUADTO
-42.561 322.191 42.561 325.863 QUADTO
-42.561 329.551 44.342 329.551 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 325.931 M
-54.148 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-42.014 300.572 M
-42.014 299.541 lineto
-42.889 299.885 43.654 299.885 QUADTO
-44.514 299.885 45.006 299.385 QUADTO
-45.498 298.885 45.498 297.994 QUADTO
-45.498 296.041 42.811 296.041 QUADTO
-42.498 296.041 42.17 296.088 QUADTO
-42.17 291.869 lineto
-46.561 291.869 lineto
-46.561 292.869 lineto
-43.186 292.869 lineto
-43.186 295.166 lineto
-44.857 295.166 45.795 295.932 QUADTO
-46.732 296.697 46.732 298.057 QUADTO
-46.732 299.322 45.873 300.041 QUADTO
-45.014 300.76 43.514 300.76 QUADTO
-42.857 300.76 42.014 300.572 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 296.265 M
-54.148 296.265 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 270.875 M
-34.785 270 lineto
-36.52 270 lineto
-36.52 263.156 lineto
-34.785 263.594 lineto
-34.785 262.703 lineto
-37.676 261.984 lineto
-37.676 270 lineto
-39.41 270 lineto
-39.41 270.875 lineto
-34.785 270.875 lineto
-closepath
-44.326 271.094 M
-42.982 271.094 42.154 269.828 QUADTO
-41.326 268.563 41.326 266.531 QUADTO
-41.326 264.484 42.162 263.234 QUADTO
-42.998 261.984 44.357 261.984 QUADTO
-45.717 261.984 46.553 263.234 QUADTO
-47.389 264.484 47.389 266.516 QUADTO
-47.389 268.594 46.553 269.844 QUADTO
-45.717 271.094 44.326 271.094 QUADTO
-closepath
-44.342 270.219 M
-46.17 270.219 46.17 266.5 QUADTO
-46.17 262.859 44.357 262.859 QUADTO
-42.561 262.859 42.561 266.531 QUADTO
-42.561 270.219 44.342 270.219 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 266.599 M
-54.148 266.599 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 241.209 M
-34.785 240.334 lineto
-36.52 240.334 lineto
-36.52 233.49 lineto
-34.785 233.928 lineto
-34.785 233.037 lineto
-37.676 232.318 lineto
-37.676 240.334 lineto
-39.41 240.334 lineto
-39.41 241.209 lineto
-34.785 241.209 lineto
-closepath
-42.014 241.24 M
-42.014 240.209 lineto
-42.889 240.553 43.654 240.553 QUADTO
-44.514 240.553 45.006 240.053 QUADTO
-45.498 239.553 45.498 238.662 QUADTO
-45.498 236.709 42.811 236.709 QUADTO
-42.498 236.709 42.17 236.756 QUADTO
-42.17 232.537 lineto
-46.561 232.537 lineto
-46.561 233.537 lineto
-43.186 233.537 lineto
-43.186 235.834 lineto
-44.857 235.834 45.795 236.6 QUADTO
-46.732 237.365 46.732 238.725 QUADTO
-46.732 239.99 45.873 240.709 QUADTO
-45.014 241.428 43.514 241.428 QUADTO
-42.857 241.428 42.014 241.24 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 236.933 M
-54.148 236.933 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 211.543 M
-33.973 210.528 lineto
-34.473 209.356 36.004 207.965 QUADTO
-36.676 207.371 lineto
-37.941 206.215 37.941 205.074 QUADTO
-37.941 204.356 37.512 203.942 QUADTO
-37.082 203.528 36.316 203.528 QUADTO
-35.41 203.528 34.191 204.215 QUADTO
-34.191 203.199 lineto
-35.348 202.653 36.473 202.653 QUADTO
-37.691 202.653 38.434 203.309 QUADTO
-39.176 203.965 39.176 205.043 QUADTO
-39.176 205.824 38.801 206.434 QUADTO
-38.426 207.043 37.41 207.903 QUADTO
-36.973 208.278 lineto
-35.582 209.449 35.363 210.528 QUADTO
-39.129 210.528 lineto
-39.129 211.543 lineto
-33.973 211.543 lineto
-closepath
-44.326 211.762 M
-42.982 211.762 42.154 210.496 QUADTO
-41.326 209.231 41.326 207.199 QUADTO
-41.326 205.153 42.162 203.903 QUADTO
-42.998 202.653 44.357 202.653 QUADTO
-45.717 202.653 46.553 203.903 QUADTO
-47.389 205.153 47.389 207.184 QUADTO
-47.389 209.262 46.553 210.512 QUADTO
-45.717 211.762 44.326 211.762 QUADTO
-closepath
-44.342 210.887 M
-46.17 210.887 46.17 207.168 QUADTO
-46.17 203.528 44.357 203.528 QUADTO
-42.561 203.528 42.561 207.199 QUADTO
-42.561 210.887 44.342 210.887 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 207.268 M
-54.148 207.268 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 181.877 M
-33.973 180.862 lineto
-34.473 179.69 36.004 178.299 QUADTO
-36.676 177.705 lineto
-37.941 176.549 37.941 175.408 QUADTO
-37.941 174.69 37.512 174.276 QUADTO
-37.082 173.862 36.316 173.862 QUADTO
-35.41 173.862 34.191 174.549 QUADTO
-34.191 173.533 lineto
-35.348 172.987 36.473 172.987 QUADTO
-37.691 172.987 38.434 173.643 QUADTO
-39.176 174.299 39.176 175.377 QUADTO
-39.176 176.158 38.801 176.768 QUADTO
-38.426 177.377 37.41 178.237 QUADTO
-36.973 178.612 lineto
-35.582 179.783 35.363 180.862 QUADTO
-39.129 180.862 lineto
-39.129 181.877 lineto
-33.973 181.877 lineto
-closepath
-42.014 181.908 M
-42.014 180.877 lineto
-42.889 181.221 43.654 181.221 QUADTO
-44.514 181.221 45.006 180.721 QUADTO
-45.498 180.221 45.498 179.33 QUADTO
-45.498 177.377 42.811 177.377 QUADTO
-42.498 177.377 42.17 177.424 QUADTO
-42.17 173.205 lineto
-46.561 173.205 lineto
-46.561 174.205 lineto
-43.186 174.205 lineto
-43.186 176.502 lineto
-44.857 176.502 45.795 177.268 QUADTO
-46.732 178.033 46.732 179.393 QUADTO
-46.732 180.658 45.873 181.377 QUADTO
-45.014 182.096 43.514 182.096 QUADTO
-42.857 182.096 42.014 181.908 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 177.602 M
-54.148 177.602 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 152.149 M
-34.191 151.071 lineto
-35.441 151.555 36.145 151.555 QUADTO
-36.973 151.555 37.496 151.071 QUADTO
-38.02 150.586 38.02 149.821 QUADTO
-38.02 147.993 35.457 147.993 QUADTO
-34.988 147.993 lineto
-34.988 147.211 lineto
-35.395 147.211 lineto
-37.801 147.211 37.801 145.524 QUADTO
-37.801 144.196 36.223 144.196 QUADTO
-35.348 144.196 34.316 144.68 QUADTO
-34.316 143.664 lineto
-35.332 143.321 36.301 143.321 QUADTO
-38.957 143.321 38.957 145.336 QUADTO
-38.957 146.868 37.145 147.508 QUADTO
-39.254 147.993 39.254 149.805 QUADTO
-39.254 151.039 38.441 151.735 QUADTO
-37.629 152.43 36.223 152.43 QUADTO
-35.41 152.43 34.191 152.149 QUADTO
-closepath
-44.326 152.43 M
-42.982 152.43 42.154 151.164 QUADTO
-41.326 149.899 41.326 147.868 QUADTO
-41.326 145.821 42.162 144.571 QUADTO
-42.998 143.321 44.357 143.321 QUADTO
-45.717 143.321 46.553 144.571 QUADTO
-47.389 145.821 47.389 147.852 QUADTO
-47.389 149.93 46.553 151.18 QUADTO
-45.717 152.43 44.326 152.43 QUADTO
-closepath
-44.342 151.555 M
-46.17 151.555 46.17 147.836 QUADTO
-46.17 144.196 44.357 144.196 QUADTO
-42.561 144.196 42.561 147.868 QUADTO
-42.561 151.555 44.342 151.555 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 147.936 M
-54.148 147.936 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 122.483 M
-34.191 121.405 lineto
-35.441 121.889 36.145 121.889 QUADTO
-36.973 121.889 37.496 121.405 QUADTO
-38.02 120.92 38.02 120.155 QUADTO
-38.02 118.327 35.457 118.327 QUADTO
-34.988 118.327 lineto
-34.988 117.545 lineto
-35.395 117.545 lineto
-37.801 117.545 37.801 115.858 QUADTO
-37.801 114.53 36.223 114.53 QUADTO
-35.348 114.53 34.316 115.014 QUADTO
-34.316 113.998 lineto
-35.332 113.655 36.301 113.655 QUADTO
-38.957 113.655 38.957 115.67 QUADTO
-38.957 117.202 37.145 117.842 QUADTO
-39.254 118.327 39.254 120.139 QUADTO
-39.254 121.373 38.441 122.069 QUADTO
-37.629 122.764 36.223 122.764 QUADTO
-35.41 122.764 34.191 122.483 QUADTO
-closepath
-42.014 122.577 M
-42.014 121.545 lineto
-42.889 121.889 43.654 121.889 QUADTO
-44.514 121.889 45.006 121.389 QUADTO
-45.498 120.889 45.498 119.998 QUADTO
-45.498 118.045 42.811 118.045 QUADTO
-42.498 118.045 42.17 118.092 QUADTO
-42.17 113.873 lineto
-46.561 113.873 lineto
-46.561 114.873 lineto
-43.186 114.873 lineto
-43.186 117.17 lineto
-44.857 117.17 45.795 117.936 QUADTO
-46.732 118.702 46.732 120.061 QUADTO
-46.732 121.327 45.873 122.045 QUADTO
-45.014 122.764 43.514 122.764 QUADTO
-42.857 122.764 42.014 122.577 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 118.27 M
-54.148 118.27 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-37.488 92.879 M
-37.488 90.426 lineto
-33.582 90.426 lineto
-33.582 89.551 lineto
-37.488 84.208 lineto
-38.582 84.208 lineto
-38.582 89.473 lineto
-39.738 89.473 lineto
-39.738 90.426 lineto
-38.582 90.426 lineto
-38.582 92.879 lineto
-37.488 92.879 lineto
-closepath
-34.723 89.473 M
-37.566 89.473 lineto
-37.566 85.629 lineto
-34.723 89.473 lineto
-closepath
-44.326 93.098 M
-42.982 93.098 42.154 91.833 QUADTO
-41.326 90.567 41.326 88.536 QUADTO
-41.326 86.489 42.162 85.239 QUADTO
-42.998 83.989 44.357 83.989 QUADTO
-45.717 83.989 46.553 85.239 QUADTO
-47.389 86.489 47.389 88.52 QUADTO
-47.389 90.598 46.553 91.848 QUADTO
-45.717 93.098 44.326 93.098 QUADTO
-closepath
-44.342 92.223 M
-46.17 92.223 46.17 88.504 QUADTO
-46.17 84.864 44.357 84.864 QUADTO
-42.561 84.864 42.561 88.536 QUADTO
-42.561 92.223 44.342 92.223 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 88.604 M
-54.148 88.604 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-37.488 63.213 M
-37.488 60.76 lineto
-33.582 60.76 lineto
-33.582 59.885 lineto
-37.488 54.542 lineto
-38.582 54.542 lineto
-38.582 59.807 lineto
-39.738 59.807 lineto
-39.738 60.76 lineto
-38.582 60.76 lineto
-38.582 63.213 lineto
-37.488 63.213 lineto
-closepath
-34.723 59.807 M
-37.566 59.807 lineto
-37.566 55.963 lineto
-34.723 59.807 lineto
-closepath
-42.014 63.245 M
-42.014 62.213 lineto
-42.889 62.557 43.654 62.557 QUADTO
-44.514 62.557 45.006 62.057 QUADTO
-45.498 61.557 45.498 60.667 QUADTO
-45.498 58.713 42.811 58.713 QUADTO
-42.498 58.713 42.17 58.76 QUADTO
-42.17 54.542 lineto
-46.561 54.542 lineto
-46.561 55.542 lineto
-43.186 55.542 lineto
-43.186 57.838 lineto
-44.857 57.838 45.795 58.604 QUADTO
-46.732 59.37 46.732 60.729 QUADTO
-46.732 61.995 45.873 62.713 QUADTO
-45.014 63.432 43.514 63.432 QUADTO
-42.857 63.432 42.014 63.245 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 58.938 M
-54.148 58.938 lineto
-stroke
-grestore
-gsave
-[0 -1 1 0 -160.60265 199.57533] concat
-newpath
-199.575 160.603 M
-199.575 560.603 lineto
--200.425 560.603 lineto
--200.425 160.603 lineto
-199.575 160.603 lineto
-closepath
-clip
-0.251 setgray
-newpath
--38.14 185.077 M
--38.14 174.28 lineto
--36.124 174.28 lineto
--36.124 185.077 lineto
--38.14 185.077 lineto
-closepath
--30.431 185.249 M
--32.196 185.249 -33.228 184.187 QUADTO
--34.259 183.124 -34.259 181.327 QUADTO
--34.259 179.499 -33.22 178.452 QUADTO
--32.181 177.405 -30.384 177.405 QUADTO
--28.587 177.405 -27.548 178.452 QUADTO
--26.509 179.499 -26.509 181.312 QUADTO
--26.509 183.155 -27.556 184.202 QUADTO
--28.603 185.249 -30.431 185.249 QUADTO
-closepath
--30.399 183.983 M
--28.665 183.983 -28.665 181.312 QUADTO
--28.665 180.093 -29.126 179.382 QUADTO
--29.587 178.671 -30.384 178.671 QUADTO
--31.181 178.671 -31.649 179.382 QUADTO
--32.118 180.093 -32.118 181.327 QUADTO
--32.118 182.546 -31.657 183.265 QUADTO
--31.196 183.983 -30.399 183.983 QUADTO
-closepath
--20.974 184.265 M
--21.974 185.249 -23.13 185.249 QUADTO
--24.114 185.249 -24.731 184.648 QUADTO
--25.349 184.046 -25.349 183.093 QUADTO
--25.349 181.843 -24.356 181.171 QUADTO
--23.364 180.499 -21.505 180.499 QUADTO
--20.974 180.499 lineto
--20.974 179.812 lineto
--20.974 178.64 -22.302 178.64 QUADTO
--23.489 178.64 -24.692 179.312 QUADTO
--24.692 177.921 lineto
--23.317 177.405 -21.974 177.405 QUADTO
--19.021 177.405 -19.021 179.749 QUADTO
--19.021 183.062 lineto
--19.021 183.952 -18.458 183.952 QUADTO
--18.364 183.952 -18.192 183.921 QUADTO
--18.146 185.062 lineto
--18.786 185.249 -19.286 185.249 QUADTO
--20.521 185.249 -20.88 184.265 QUADTO
--20.974 184.265 lineto
-closepath
--20.974 183.187 M
--20.974 181.655 lineto
--21.442 181.655 lineto
--23.411 181.655 -23.411 182.89 QUADTO
--23.411 183.312 -23.13 183.593 QUADTO
--22.849 183.874 -22.427 183.874 QUADTO
--21.708 183.874 -20.974 183.187 QUADTO
-closepath
--11.696 185.077 M
--11.696 183.655 lineto
--12.478 185.249 -14.149 185.249 QUADTO
--15.493 185.249 -16.267 184.257 QUADTO
--17.04 183.265 -17.04 181.53 QUADTO
--17.04 179.64 -16.173 178.523 QUADTO
--15.306 177.405 -13.837 177.405 QUADTO
--12.649 177.405 -11.696 178.327 QUADTO
--11.696 174.28 lineto
--9.665 174.28 lineto
--9.665 185.077 lineto
--11.696 185.077 lineto
-closepath
--11.696 179.53 M
--12.431 178.718 -13.259 178.718 QUADTO
--14.009 178.718 -14.446 179.437 QUADTO
--14.884 180.155 -14.884 181.358 QUADTO
--14.884 183.655 -13.415 183.655 QUADTO
--12.509 183.655 -11.696 182.499 QUADTO
--11.696 179.53 lineto
-closepath
--2.306 185.077 M
--2.306 178.843 lineto
--3.353 178.843 lineto
--3.353 177.577 lineto
--2.306 177.577 lineto
--2.306 177.03 lineto
--2.306 174.108 0.46 174.108 QUADTO
-1.351 174.108 2.304 174.374 QUADTO
-2.304 175.733 lineto
-1.444 175.374 0.757 175.374 QUADTO
--0.29 175.374 -0.29 176.952 QUADTO
--0.29 177.577 lineto
-1.616 177.577 lineto
-1.616 178.843 lineto
--0.29 178.843 lineto
--0.29 185.077 lineto
--2.306 185.077 lineto
-closepath
-3.279 185.077 M
-3.279 177.577 lineto
-5.295 177.577 lineto
-5.295 178.983 lineto
-6.092 177.405 7.701 177.405 QUADTO
-7.889 177.405 8.076 177.437 QUADTO
-8.076 179.249 lineto
-7.639 179.093 7.264 179.093 QUADTO
-6.061 179.093 5.295 180.312 QUADTO
-5.295 185.077 lineto
-3.279 185.077 lineto
-closepath
-13.315 184.265 M
-12.315 185.249 11.159 185.249 QUADTO
-10.175 185.249 9.558 184.648 QUADTO
-8.94 184.046 8.94 183.093 QUADTO
-8.94 181.843 9.933 181.171 QUADTO
-10.925 180.499 12.784 180.499 QUADTO
-13.315 180.499 lineto
-13.315 179.812 lineto
-13.315 178.64 11.987 178.64 QUADTO
-10.8 178.64 9.597 179.312 QUADTO
-9.597 177.921 lineto
-10.972 177.405 12.315 177.405 QUADTO
-15.269 177.405 15.269 179.749 QUADTO
-15.269 183.062 lineto
-15.269 183.952 15.831 183.952 QUADTO
-15.925 183.952 16.097 183.921 QUADTO
-16.144 185.062 lineto
-15.503 185.249 15.003 185.249 QUADTO
-13.769 185.249 13.409 184.265 QUADTO
-13.315 184.265 lineto
-closepath
-13.315 183.187 M
-13.315 181.655 lineto
-12.847 181.655 lineto
-10.878 181.655 10.878 182.89 QUADTO
-10.878 183.312 11.159 183.593 QUADTO
-11.44 183.874 11.862 183.874 QUADTO
-12.581 183.874 13.315 183.187 QUADTO
-closepath
-23.405 184.905 M
-22.155 185.249 21.077 185.249 QUADTO
-19.28 185.249 18.241 184.194 QUADTO
-17.202 183.14 17.202 181.312 QUADTO
-17.202 179.483 18.272 178.444 QUADTO
-19.343 177.405 21.233 177.405 QUADTO
-22.155 177.405 23.343 177.687 QUADTO
-23.343 179.155 lineto
-22.108 178.749 21.358 178.749 QUADTO
-20.452 178.749 19.897 179.452 QUADTO
-19.343 180.155 19.343 181.296 QUADTO
-19.343 182.483 19.944 183.194 QUADTO
-20.546 183.905 21.53 183.905 QUADTO
-22.452 183.905 23.405 183.515 QUADTO
-23.405 184.905 lineto
-closepath
-29.2 185.03 M
-28.466 185.249 28.06 185.249 QUADTO
-25.419 185.249 25.419 182.78 QUADTO
-25.419 178.843 lineto
-24.575 178.843 lineto
-24.575 177.577 lineto
-25.419 177.577 lineto
-25.419 176.312 lineto
-27.45 176.077 lineto
-27.45 177.577 lineto
-29.044 177.577 lineto
-29.044 178.843 lineto
-27.45 178.843 lineto
-27.45 182.515 lineto
-27.45 183.905 28.575 183.905 QUADTO
-28.825 183.905 29.2 183.812 QUADTO
-29.2 185.03 lineto
-closepath
-30.999 185.077 M
-30.999 177.577 lineto
-33.015 177.577 lineto
-33.015 185.077 lineto
-30.999 185.077 lineto
-closepath
-30.999 176.312 M
-30.999 174.624 lineto
-33.015 174.624 lineto
-33.015 176.312 lineto
-30.999 176.312 lineto
-closepath
-38.708 185.249 M
-36.942 185.249 35.911 184.187 QUADTO
-34.88 183.124 34.88 181.327 QUADTO
-34.88 179.499 35.919 178.452 QUADTO
-36.958 177.405 38.755 177.405 QUADTO
-40.552 177.405 41.591 178.452 QUADTO
-42.63 179.499 42.63 181.312 QUADTO
-42.63 183.155 41.583 184.202 QUADTO
-40.536 185.249 38.708 185.249 QUADTO
-closepath
-38.739 183.983 M
-40.474 183.983 40.474 181.312 QUADTO
-40.474 180.093 40.013 179.382 QUADTO
-39.552 178.671 38.755 178.671 QUADTO
-37.958 178.671 37.489 179.382 QUADTO
-37.021 180.093 37.021 181.327 QUADTO
-37.021 182.546 37.481 183.265 QUADTO
-37.942 183.983 38.739 183.983 QUADTO
-closepath
-44.493 185.077 M
-44.493 177.577 lineto
-46.509 177.577 lineto
-46.509 178.983 lineto
-47.509 177.405 49.071 177.405 QUADTO
-50.071 177.405 50.657 178.038 QUADTO
-51.243 178.671 51.243 179.765 QUADTO
-51.243 185.077 lineto
-49.212 185.077 lineto
-49.212 180.265 lineto
-49.212 178.999 48.368 178.999 QUADTO
-47.399 178.999 46.509 180.358 QUADTO
-46.509 185.077 lineto
-44.493 185.077 lineto
-closepath
-61.552 174.202 M
-61.552 175.499 lineto
-59.724 177.343 59.724 180.687 QUADTO
-59.724 184.046 61.552 185.874 QUADTO
-61.552 187.187 lineto
-59.88 186.28 58.88 184.507 QUADTO
-57.88 182.733 57.88 180.687 QUADTO
-57.88 178.64 58.864 176.89 QUADTO
-59.849 175.14 61.552 174.202 QUADTO
-closepath
-63.053 185.327 M
-71.006 174.702 lineto
-72.365 174.702 lineto
-64.412 185.327 lineto
-63.053 185.327 lineto
-closepath
-64.771 180.015 M
-63.678 180.015 63.037 179.335 QUADTO
-62.396 178.655 62.396 177.483 QUADTO
-62.396 176.312 63.037 175.632 QUADTO
-63.678 174.952 64.803 174.952 QUADTO
-65.912 174.952 66.561 175.632 QUADTO
-67.209 176.312 67.209 177.483 QUADTO
-67.209 178.671 66.561 179.343 QUADTO
-65.912 180.015 64.771 180.015 QUADTO
-closepath
-64.787 178.999 M
-65.678 178.999 65.678 177.483 QUADTO
-65.678 175.968 64.803 175.968 QUADTO
-63.912 175.968 63.912 177.483 QUADTO
-63.912 178.999 64.787 178.999 QUADTO
-closepath
-70.6 185.077 M
-69.49 185.077 68.85 184.398 QUADTO
-68.209 183.718 68.209 182.546 QUADTO
-68.209 181.358 68.857 180.687 QUADTO
-69.506 180.015 70.615 180.015 QUADTO
-71.74 180.015 72.381 180.687 QUADTO
-73.021 181.358 73.021 182.546 QUADTO
-73.021 183.733 72.381 184.405 QUADTO
-71.74 185.077 70.6 185.077 QUADTO
-closepath
-70.6 184.062 M
-71.506 184.062 71.506 182.546 QUADTO
-71.506 181.03 70.615 181.03 QUADTO
-69.725 181.03 69.725 182.546 QUADTO
-69.725 184.062 70.6 184.062 QUADTO
-closepath
-73.674 174.202 M
-73.674 175.499 lineto
-75.502 177.343 75.502 180.687 QUADTO
-75.502 184.046 73.674 185.874 QUADTO
-73.674 187.187 lineto
-75.346 186.28 76.346 184.507 QUADTO
-77.346 182.733 77.346 180.687 QUADTO
-77.346 178.64 76.361 176.89 QUADTO
-75.377 175.14 73.674 174.202 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.358 34.247 M
-69.358 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-99.703 34.247 M
-99.703 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-121.232 34.247 M
-121.232 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-137.932 34.247 M
-137.932 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-151.576 34.247 M
-151.576 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-163.113 34.247 M
-163.113 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-173.106 34.247 M
-173.106 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-181.921 34.247 M
-181.921 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-189.806 34.247 M
-189.806 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-189.806 34.247 M
-189.806 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-241.68 34.247 M
-241.68 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-272.024 34.247 M
-272.024 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-293.554 34.247 M
-293.554 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-310.253 34.247 M
-310.253 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-323.898 34.247 M
-323.898 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-335.434 34.247 M
-335.434 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-345.428 34.247 M
-345.428 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-354.242 34.247 M
-354.242 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-362.127 34.247 M
-362.127 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-362.127 34.247 M
-362.127 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 325.931 M
-388 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 296.265 M
-388 296.265 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 266.599 M
-388 266.599 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 236.933 M
-388 236.933 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 207.268 M
-388 207.268 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 177.602 M
-388 177.602 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 147.936 M
-388 147.936 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 118.27 M
-388 118.27 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 88.604 M
-388 88.604 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 58.938 M
-388 58.938 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.358 148.784 M
-121.232 175.48 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.232 175.48 M
-173.106 191.957 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.106 191.957 M
-224.98 212.459 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.98 212.459 M
-276.854 204.589 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.854 204.589 M
-328.728 191.69 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.728 191.69 M
-362.127 177.26 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.358 68.662 M
-121.232 78.606 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.232 78.606 M
-173.106 68.291 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.106 68.291 M
-224.98 83.285 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.98 83.285 M
-276.854 73.296 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.854 73.296 M
-328.728 48.136 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.728 48.136 M
-362.127 100.141 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.358 222.735 M
-121.232 220.84 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.232 220.84 M
-173.106 216.621 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.106 216.621 M
-224.98 214.562 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.98 214.562 M
-276.854 208.941 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.854 208.941 M
-328.728 195.137 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.728 195.137 M
-362.127 191.206 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-69.358 145.784 M
-72.358 151.784 lineto
-66.358 151.784 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.358 145.784 M
-72.358 151.784 lineto
-66.358 151.784 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-121.232 172.48 M
-124.232 178.48 lineto
-118.232 178.48 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.232 172.48 M
-124.232 178.48 lineto
-118.232 178.48 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-173.106 188.957 M
-176.106 194.957 lineto
-170.106 194.957 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.106 188.957 M
-176.106 194.957 lineto
-170.106 194.957 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-224.98 209.459 M
-227.98 215.459 lineto
-221.98 215.459 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-224.98 209.459 M
-227.98 215.459 lineto
-221.98 215.459 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-276.854 201.589 M
-279.854 207.589 lineto
-273.854 207.589 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-276.854 201.589 M
-279.854 207.589 lineto
-273.854 207.589 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-328.728 188.69 M
-331.728 194.69 lineto
-325.728 194.69 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-328.728 188.69 M
-331.728 194.69 lineto
-325.728 194.69 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-362.127 174.26 M
-365.127 180.26 lineto
-359.127 180.26 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.127 174.26 M
-365.127 180.26 lineto
-359.127 180.26 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-72.358 68.662 M
-72.358 70.319 71.015 71.662 69.358 71.662 curveto
-67.701 71.662 66.358 70.319 66.358 68.662 curveto
-66.358 67.005 67.701 65.662 69.358 65.662 curveto
-71.015 65.662 72.358 67.005 72.358 68.662 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.358 68.662 M
-72.358 70.319 71.015 71.662 69.358 71.662 curveto
-67.701 71.662 66.358 70.319 66.358 68.662 curveto
-66.358 67.005 67.701 65.662 69.358 65.662 curveto
-71.015 65.662 72.358 67.005 72.358 68.662 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-124.232 78.606 M
-124.232 80.263 122.889 81.606 121.232 81.606 curveto
-119.575 81.606 118.232 80.263 118.232 78.606 curveto
-118.232 76.949 119.575 75.606 121.232 75.606 curveto
-122.889 75.606 124.232 76.949 124.232 78.606 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.232 78.606 M
-124.232 80.263 122.889 81.606 121.232 81.606 curveto
-119.575 81.606 118.232 80.263 118.232 78.606 curveto
-118.232 76.949 119.575 75.606 121.232 75.606 curveto
-122.889 75.606 124.232 76.949 124.232 78.606 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-176.106 68.291 M
-176.106 69.948 174.763 71.291 173.106 71.291 curveto
-171.449 71.291 170.106 69.948 170.106 68.291 curveto
-170.106 66.635 171.449 65.291 173.106 65.291 curveto
-174.763 65.291 176.106 66.635 176.106 68.291 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-176.106 68.291 M
-176.106 69.948 174.763 71.291 173.106 71.291 curveto
-171.449 71.291 170.106 69.948 170.106 68.291 curveto
-170.106 66.635 171.449 65.291 173.106 65.291 curveto
-174.763 65.291 176.106 66.635 176.106 68.291 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-227.98 83.285 M
-227.98 84.941 226.637 86.285 224.98 86.285 curveto
-223.323 86.285 221.98 84.941 221.98 83.285 curveto
-221.98 81.628 223.323 80.285 224.98 80.285 curveto
-226.637 80.285 227.98 81.628 227.98 83.285 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.98 83.285 M
-227.98 84.941 226.637 86.285 224.98 86.285 curveto
-223.323 86.285 221.98 84.941 221.98 83.285 curveto
-221.98 81.628 223.323 80.285 224.98 80.285 curveto
-226.637 80.285 227.98 81.628 227.98 83.285 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-279.854 73.296 M
-279.854 74.953 278.511 76.296 276.854 76.296 curveto
-275.197 76.296 273.854 74.953 273.854 73.296 curveto
-273.854 71.639 275.197 70.296 276.854 70.296 curveto
-278.511 70.296 279.854 71.639 279.854 73.296 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-279.854 73.296 M
-279.854 74.953 278.511 76.296 276.854 76.296 curveto
-275.197 76.296 273.854 74.953 273.854 73.296 curveto
-273.854 71.639 275.197 70.296 276.854 70.296 curveto
-278.511 70.296 279.854 71.639 279.854 73.296 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-331.728 48.136 M
-331.728 49.793 330.385 51.136 328.728 51.136 curveto
-327.071 51.136 325.728 49.793 325.728 48.136 curveto
-325.728 46.48 327.071 45.136 328.728 45.136 curveto
-330.385 45.136 331.728 46.48 331.728 48.136 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-331.728 48.136 M
-331.728 49.793 330.385 51.136 328.728 51.136 curveto
-327.071 51.136 325.728 49.793 325.728 48.136 curveto
-325.728 46.48 327.071 45.136 328.728 45.136 curveto
-330.385 45.136 331.728 46.48 331.728 48.136 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-365.127 100.141 M
-365.127 101.798 363.784 103.141 362.127 103.141 curveto
-360.47 103.141 359.127 101.798 359.127 100.141 curveto
-359.127 98.484 360.47 97.141 362.127 97.141 curveto
-363.784 97.141 365.127 98.484 365.127 100.141 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-365.127 100.141 M
-365.127 101.798 363.784 103.141 362.127 103.141 curveto
-360.47 103.141 359.127 101.798 359.127 100.141 curveto
-359.127 98.484 360.47 97.141 362.127 97.141 curveto
-363.784 97.141 365.127 98.484 365.127 100.141 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-66.358 219.735 M
-72.358 219.735 lineto
-72.358 225.735 lineto
-66.358 225.735 lineto
-66.358 219.735 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.358 219.735 M
-72.358 219.735 lineto
-72.358 225.735 lineto
-66.358 225.735 lineto
-66.358 219.735 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-118.232 217.84 M
-124.232 217.84 lineto
-124.232 223.84 lineto
-118.232 223.84 lineto
-118.232 217.84 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-118.232 217.84 M
-124.232 217.84 lineto
-124.232 223.84 lineto
-118.232 223.84 lineto
-118.232 217.84 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-170.106 213.621 M
-176.106 213.621 lineto
-176.106 219.621 lineto
-170.106 219.621 lineto
-170.106 213.621 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.106 213.621 M
-176.106 213.621 lineto
-176.106 219.621 lineto
-170.106 219.621 lineto
-170.106 213.621 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-221.98 211.562 M
-227.98 211.562 lineto
-227.98 217.562 lineto
-221.98 217.562 lineto
-221.98 211.562 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.98 211.562 M
-227.98 211.562 lineto
-227.98 217.562 lineto
-221.98 217.562 lineto
-221.98 211.562 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-273.854 205.941 M
-279.854 205.941 lineto
-279.854 211.941 lineto
-273.854 211.941 lineto
-273.854 205.941 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-273.854 205.941 M
-279.854 205.941 lineto
-279.854 211.941 lineto
-273.854 211.941 lineto
-273.854 205.941 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-325.728 192.137 M
-331.728 192.137 lineto
-331.728 198.137 lineto
-325.728 198.137 lineto
-325.728 192.137 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-325.728 192.137 M
-331.728 192.137 lineto
-331.728 198.137 lineto
-325.728 198.137 lineto
-325.728 192.137 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-359.127 188.206 M
-365.127 188.206 lineto
-365.127 194.206 lineto
-359.127 194.206 lineto
-359.127 188.206 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-359.127 188.206 M
-365.127 188.206 lineto
-365.127 194.206 lineto
-359.127 194.206 lineto
-359.127 188.206 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-0.5 setlinewidth
-newpath
-58.148 34.247 M
-388 34.247 lineto
-388 325.931 lineto
-58.148 325.931 lineto
-58.148 34.247 lineto
-closepath
-stroke
-grestore
-%%Trailer
-%%Pages: 1
-%%EOF
diff --git a/sim/gobs/wiki/dc02kpv02.cfg b/sim/gobs/wiki/dc02kpv02.cfg
deleted file mode 100644
index bb8ec1a..0000000
--- a/sim/gobs/wiki/dc02kpv02.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv02.cfg system_size_20-1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/wiki/dc02kpv02.eps b/sim/gobs/wiki/dc02kpv02.eps
deleted file mode 100644
index c7beb2c..0000000
--- a/sim/gobs/wiki/dc02kpv02.eps
+++ /dev/null
@@ -1,4651 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (Apache XML Graphics Commons: EPS Generator for Java2D)
-%%CreationDate: 2009-10-05T12:10:48
-%%Pages: (atend)
-%%BoundingBox: 0 0 400 400
-%%LanguageLevel: 3
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset (Apache XML Graphics Std ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2001-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (Basic set of procedures used by the XML Graphics project \(Batik and FOP\))
-/bd{bind def}bind def
-/ld{load def}bd
-/M/moveto ld
-/RM/rmoveto ld
-/t/show ld
-/A/ashow ld
-/cp/closepath ld
-/re {4 2 roll M
-1 index 0 rlineto
-0 exch rlineto
-neg 0 rlineto
-cp } bd
-/_ctm matrix def
-/_tm matrix def
-/BT { _ctm currentmatrix pop matrix _tm copy pop 0 0 moveto } bd
-/ET { _ctm setmatrix } bd
-/iTm { _ctm setmatrix _tm concat } bd
-/Tm { _tm astore pop iTm 0 0 moveto } bd
-/ux 0.0 def
-/uy 0.0 def
-/F {
- /Tp exch def
- /Tf exch def
- Tf findfont Tp scalefont setfont
- /cf Tf def /cs Tp def /cw ( ) stringwidth pop def
-} bd
-/ULS {currentpoint /uy exch def /ux exch def} bd
-/ULE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add moveto Tcx uy To add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/OLE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs add moveto Tcx uy To add cs add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/SOE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs 10 mul 26 idiv add moveto Tcx uy To add cs 10 mul 26 idiv add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/QUADTO {
-/Y22 exch store
-/X22 exch store
-/Y21 exch store
-/X21 exch store
-currentpoint
-/Y21 load 2 mul add 3 div exch
-/X21 load 2 mul add 3 div exch
-/X21 load 2 mul /X22 load add 3 div
-/Y21 load 2 mul /Y22 load add 3 div
-/X22 load /Y22 load curveto
-} bd
-/SSPD {
-dup length /d exch dict def
-{
-/v exch def
-/k exch def
-currentpagedevice k known {
-/cpdv currentpagedevice k get def
-v cpdv ne {
-/upd false def
-/nullv v type /nulltype eq def
-/nullcpdv cpdv type /nulltype eq def
-nullv nullcpdv or
-{
-/upd true def
-} {
-/sametype v type cpdv type eq def
-sametype {
-v type /arraytype eq {
-/vlen v length def
-/cpdvlen cpdv length def
-vlen cpdvlen eq {
-0 1 vlen 1 sub {
-/i exch def
-/obj v i get def
-/cpdobj cpdv i get def
-obj cpdobj ne {
-/upd true def
-exit
-} if
-} for
-} {
-/upd true def
-} ifelse
-} {
-v type /dicttype eq {
-v {
-/dv exch def
-/dk exch def
-/cpddv cpdv dk get def
-dv cpddv ne {
-/upd true def
-exit
-} if
-} forall
-} {
-/upd true def
-} ifelse
-} ifelse
-} if
-} ifelse
-upd true eq {
-d k v put
-} if
-} if
-} if
-} forall
-d length 0 gt {
-d setpagedevice
-} if
-} bd
-%%EndResource
-%%BeginResource: procset (Apache XML Graphics EPS ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2002-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (EPS procedures used by the Apache XML Graphics project \(Batik and FOP\))
-/BeginEPSF { %def
-/b4_Inc_state save def % Save state for cleanup
-/dict_count countdictstack def % Count objects on dict stack
-/op_count count 1 sub def % Count objects on operand stack
-userdict begin % Push userdict on dict stack
-/showpage { } def % Redefine showpage, { } = null proc
-0 setgray 0 setlinecap % Prepare graphics state
-1 setlinewidth 0 setlinejoin
-10 setmiterlimit [ ] 0 setdash newpath
-/languagelevel where % If level not equal to 1 then
-{pop languagelevel % set strokeadjust and
-1 ne % overprint to their defaults.
-{false setstrokeadjust false setoverprint
-} if
-} if
-} bd
-/EndEPSF { %def
-count op_count sub {pop} repeat % Clean up stacks
-countdictstack dict_count sub {end} repeat
-b4_Inc_state restore
-} bd
-%%EndResource
-%%EndProlog
-%%Page: 1 1
-%%PageBoundingBox: 0 0 400 400
-%%BeginPageSetup
-[1 0 0 -1 0 400] concat
-%%EndPageSetup
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-81.354 20.249 M
-81.354 5.796 lineto
-85.338 5.796 lineto
-88.807 15.968 lineto
-92.4 5.796 lineto
-95.885 5.796 lineto
-95.885 20.249 lineto
-93.119 20.249 lineto
-93.119 9.343 lineto
-89.588 19.281 lineto
-87.166 19.281 lineto
-83.713 9.187 lineto
-83.713 20.249 lineto
-81.354 20.249 lineto
-closepath
-104.758 19.093 M
-103.305 20.499 101.664 20.499 QUADTO
-100.258 20.499 99.375 19.64 QUADTO
-98.492 18.781 98.492 17.406 QUADTO
-98.492 15.624 99.914 14.663 QUADTO
-101.336 13.703 103.992 13.703 QUADTO
-104.758 13.703 lineto
-104.758 12.734 lineto
-104.758 11.062 102.852 11.062 QUADTO
-101.164 11.062 99.43 12.015 QUADTO
-99.43 10.031 lineto
-101.398 9.281 103.32 9.281 QUADTO
-107.523 9.281 107.523 12.624 QUADTO
-107.523 17.374 lineto
-107.523 18.64 108.336 18.64 QUADTO
-108.492 18.64 108.727 18.593 QUADTO
-108.789 20.218 lineto
-107.867 20.499 107.164 20.499 QUADTO
-105.398 20.499 104.883 19.093 QUADTO
-104.758 19.093 lineto
-closepath
-104.758 17.546 M
-104.758 15.359 lineto
-104.07 15.359 lineto
-101.273 15.359 101.273 17.124 QUADTO
-101.273 17.718 101.68 18.124 QUADTO
-102.086 18.531 102.68 18.531 QUADTO
-103.695 18.531 104.758 17.546 QUADTO
-closepath
-110.125 20.249 M
-113.797 14.874 lineto
-110.281 9.531 lineto
-113.562 9.531 lineto
-115.875 12.921 lineto
-118.078 9.531 lineto
-120.422 9.531 lineto
-117.062 14.796 lineto
-120.672 20.249 lineto
-117.375 20.249 lineto
-114.969 16.703 lineto
-112.516 20.249 lineto
-110.125 20.249 lineto
-closepath
-123.082 20.249 M
-123.082 9.531 lineto
-125.973 9.531 lineto
-125.973 20.249 lineto
-123.082 20.249 lineto
-closepath
-123.082 7.718 M
-123.082 5.312 lineto
-125.973 5.312 lineto
-125.973 7.718 lineto
-123.082 7.718 lineto
-closepath
-129.586 20.249 M
-129.586 9.531 lineto
-132.352 9.531 lineto
-132.352 11.546 lineto
-133.617 9.281 135.961 9.281 QUADTO
-137.18 9.281 137.961 9.874 QUADTO
-138.742 10.468 138.914 11.546 QUADTO
-140.414 9.281 142.555 9.281 QUADTO
-145.492 9.281 145.492 12.531 QUADTO
-145.492 20.249 lineto
-142.711 20.249 lineto
-142.711 13.468 lineto
-142.711 11.562 141.445 11.562 QUADTO
-140.148 11.562 138.914 13.437 QUADTO
-138.914 20.249 lineto
-136.148 20.249 lineto
-136.148 13.468 lineto
-136.148 11.562 134.867 11.562 QUADTO
-133.586 11.562 132.352 13.437 QUADTO
-132.352 20.249 lineto
-129.586 20.249 lineto
-closepath
-155.605 20.249 M
-155.605 18.234 lineto
-154.199 20.499 151.949 20.499 QUADTO
-150.512 20.499 149.684 19.585 QUADTO
-148.855 18.671 148.855 17.109 QUADTO
-148.855 9.531 lineto
-151.746 9.531 lineto
-151.746 16.39 lineto
-151.746 18.218 152.965 18.218 QUADTO
-154.34 18.218 155.605 16.281 QUADTO
-155.605 9.531 lineto
-158.496 9.531 lineto
-158.496 20.249 lineto
-155.605 20.249 lineto
-closepath
-162.115 20.249 M
-162.115 9.531 lineto
-164.881 9.531 lineto
-164.881 11.546 lineto
-166.146 9.281 168.49 9.281 QUADTO
-169.709 9.281 170.49 9.874 QUADTO
-171.271 10.468 171.443 11.546 QUADTO
-172.943 9.281 175.084 9.281 QUADTO
-178.021 9.281 178.021 12.531 QUADTO
-178.021 20.249 lineto
-175.24 20.249 lineto
-175.24 13.468 lineto
-175.24 11.562 173.975 11.562 QUADTO
-172.678 11.562 171.443 13.437 QUADTO
-171.443 20.249 lineto
-168.678 20.249 lineto
-168.678 13.468 lineto
-168.678 11.562 167.396 11.562 QUADTO
-166.115 11.562 164.881 13.437 QUADTO
-164.881 20.249 lineto
-162.115 20.249 lineto
-closepath
-188.102 20.249 M
-188.102 5.796 lineto
-193.508 5.796 lineto
-197.914 5.796 197.914 9.374 QUADTO
-197.914 10.718 197.164 11.82 QUADTO
-196.414 12.921 195.102 13.499 QUADTO
-199.836 20.249 lineto
-196.18 20.249 lineto
-192.586 14.343 lineto
-190.93 14.343 lineto
-190.93 20.249 lineto
-188.102 20.249 lineto
-closepath
-190.93 12.359 M
-191.617 12.359 lineto
-194.898 12.359 194.898 9.718 QUADTO
-194.898 7.781 191.977 7.781 QUADTO
-190.93 7.781 lineto
-190.93 12.359 lineto
-closepath
-210.619 19.89 M
-208.572 20.499 206.713 20.499 QUADTO
-204.041 20.499 202.486 18.976 QUADTO
-200.932 17.453 200.932 14.812 QUADTO
-200.932 12.312 202.354 10.796 QUADTO
-203.775 9.281 206.104 9.281 QUADTO
-208.463 9.281 209.541 10.765 QUADTO
-210.619 12.249 210.619 15.468 QUADTO
-203.979 15.468 lineto
-204.275 18.531 207.338 18.531 QUADTO
-208.807 18.531 210.619 17.859 QUADTO
-210.619 19.89 lineto
-closepath
-203.932 13.828 M
-207.791 13.828 lineto
-207.791 11.093 206.01 11.093 QUADTO
-204.213 11.093 203.932 13.828 QUADTO
-closepath
-213.619 20.249 M
-213.619 4.828 lineto
-216.51 4.828 lineto
-216.51 11.546 lineto
-217.619 9.281 220.01 9.281 QUADTO
-221.947 9.281 223.057 10.695 QUADTO
-224.166 12.109 224.166 14.593 QUADTO
-224.166 17.281 222.916 18.89 QUADTO
-221.666 20.499 219.572 20.499 QUADTO
-217.775 20.499 216.51 19.171 QUADTO
-215.963 20.249 lineto
-213.619 20.249 lineto
-closepath
-216.51 17.453 M
-217.557 18.624 218.744 18.624 QUADTO
-219.822 18.624 220.455 17.593 QUADTO
-221.088 16.562 221.088 14.843 QUADTO
-221.088 11.546 218.963 11.546 QUADTO
-217.682 11.546 216.51 13.203 QUADTO
-216.51 17.453 lineto
-closepath
-233.496 20.249 M
-233.496 18.234 lineto
-232.09 20.499 229.84 20.499 QUADTO
-228.402 20.499 227.574 19.585 QUADTO
-226.746 18.671 226.746 17.109 QUADTO
-226.746 9.531 lineto
-229.637 9.531 lineto
-229.637 16.39 lineto
-229.637 18.218 230.855 18.218 QUADTO
-232.23 18.218 233.496 16.281 QUADTO
-233.496 9.531 lineto
-236.387 9.531 lineto
-236.387 20.249 lineto
-233.496 20.249 lineto
-closepath
-240.006 20.249 M
-240.006 9.531 lineto
-242.896 9.531 lineto
-242.896 20.249 lineto
-240.006 20.249 lineto
-closepath
-240.006 7.718 M
-240.006 5.312 lineto
-242.896 5.312 lineto
-242.896 7.718 lineto
-240.006 7.718 lineto
-closepath
-246.51 20.249 M
-246.51 4.828 lineto
-249.4 4.828 lineto
-249.4 20.249 lineto
-246.51 20.249 lineto
-closepath
-259.764 20.249 M
-259.764 18.234 lineto
-258.639 20.499 256.248 20.499 QUADTO
-254.311 20.499 253.209 19.078 QUADTO
-252.107 17.656 252.107 15.187 QUADTO
-252.107 12.484 253.357 10.882 QUADTO
-254.607 9.281 256.701 9.281 QUADTO
-258.373 9.281 259.764 10.609 QUADTO
-259.764 4.828 lineto
-262.654 4.828 lineto
-262.654 20.249 lineto
-259.764 20.249 lineto
-closepath
-259.764 12.328 M
-258.717 11.156 257.514 11.156 QUADTO
-256.451 11.156 255.818 12.179 QUADTO
-255.186 13.203 255.186 14.937 QUADTO
-255.186 18.234 257.295 18.234 QUADTO
-258.592 18.234 259.764 16.578 QUADTO
-259.764 12.328 lineto
-closepath
-272.857 20.249 M
-272.857 5.796 lineto
-275.857 5.796 lineto
-275.857 18.203 lineto
-282.373 18.203 lineto
-282.373 20.249 lineto
-272.857 20.249 lineto
-closepath
-288.988 20.499 M
-286.473 20.499 284.996 18.976 QUADTO
-283.52 17.453 283.52 14.89 QUADTO
-283.52 12.296 285.004 10.788 QUADTO
-286.488 9.281 289.051 9.281 QUADTO
-291.629 9.281 293.113 10.788 QUADTO
-294.598 12.296 294.598 14.874 QUADTO
-294.598 17.499 293.105 18.999 QUADTO
-291.613 20.499 288.988 20.499 QUADTO
-closepath
-289.035 18.687 M
-291.52 18.687 291.52 14.874 QUADTO
-291.52 13.124 290.863 12.109 QUADTO
-290.207 11.093 289.051 11.093 QUADTO
-287.91 11.093 287.254 12.109 QUADTO
-286.598 13.124 286.598 14.89 QUADTO
-286.598 16.64 287.246 17.663 QUADTO
-287.895 18.687 289.035 18.687 QUADTO
-closepath
-302.512 19.093 M
-301.059 20.499 299.418 20.499 QUADTO
-298.012 20.499 297.129 19.64 QUADTO
-296.246 18.781 296.246 17.406 QUADTO
-296.246 15.624 297.668 14.663 QUADTO
-299.09 13.703 301.746 13.703 QUADTO
-302.512 13.703 lineto
-302.512 12.734 lineto
-302.512 11.062 300.605 11.062 QUADTO
-298.918 11.062 297.184 12.015 QUADTO
-297.184 10.031 lineto
-299.152 9.281 301.074 9.281 QUADTO
-305.277 9.281 305.277 12.624 QUADTO
-305.277 17.374 lineto
-305.277 18.64 306.09 18.64 QUADTO
-306.246 18.64 306.48 18.593 QUADTO
-306.543 20.218 lineto
-305.621 20.499 304.918 20.499 QUADTO
-303.152 20.499 302.637 19.093 QUADTO
-302.512 19.093 lineto
-closepath
-302.512 17.546 M
-302.512 15.359 lineto
-301.824 15.359 lineto
-299.027 15.359 299.027 17.124 QUADTO
-299.027 17.718 299.434 18.124 QUADTO
-299.84 18.531 300.434 18.531 QUADTO
-301.449 18.531 302.512 17.546 QUADTO
-closepath
-315.77 20.249 M
-315.77 18.234 lineto
-314.645 20.499 312.254 20.499 QUADTO
-310.316 20.499 309.215 19.078 QUADTO
-308.113 17.656 308.113 15.187 QUADTO
-308.113 12.484 309.363 10.882 QUADTO
-310.613 9.281 312.707 9.281 QUADTO
-314.379 9.281 315.77 10.609 QUADTO
-315.77 4.828 lineto
-318.66 4.828 lineto
-318.66 20.249 lineto
-315.77 20.249 lineto
-closepath
-315.77 12.328 M
-314.723 11.156 313.52 11.156 QUADTO
-312.457 11.156 311.824 12.179 QUADTO
-311.191 13.203 311.191 14.937 QUADTO
-311.191 18.234 313.301 18.234 QUADTO
-314.598 18.234 315.77 16.578 QUADTO
-315.77 12.328 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-79.864 376.452 M
-320.136 376.452 lineto
-320.136 399 lineto
-79.864 399 lineto
-79.864 376.452 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 376.952 M
-319.636 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 398.5 M
-319.636 398.5 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 398.5 M
-80.364 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.636 398.5 M
-319.636 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.864 387.726 M
-97.864 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-87.864 384.726 M
-93.864 384.726 lineto
-93.864 390.726 lineto
-87.864 390.726 lineto
-87.864 384.726 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.864 384.726 M
-93.864 384.726 lineto
-93.864 390.726 lineto
-87.864 390.726 lineto
-87.864 384.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-102.989 392.002 M
-102.989 383.33 lineto
-105.349 383.33 lineto
-106.911 383.33 107.599 383.861 QUADTO
-108.286 384.392 108.286 385.595 QUADTO
-108.286 386.986 107.349 387.767 QUADTO
-106.411 388.549 104.755 388.549 QUADTO
-104.208 388.549 lineto
-104.208 392.002 lineto
-102.989 392.002 lineto
-closepath
-104.208 387.627 M
-104.708 387.627 lineto
-105.802 387.627 106.396 387.119 QUADTO
-106.989 386.611 106.989 385.689 QUADTO
-106.989 384.924 106.521 384.588 QUADTO
-106.052 384.252 104.958 384.252 QUADTO
-104.208 384.252 lineto
-104.208 387.627 lineto
-closepath
-114.013 388.689 M
-112.528 384.939 lineto
-111.06 388.689 lineto
-114.013 388.689 lineto
-closepath
-115.31 392.002 M
-114.372 389.595 lineto
-110.7 389.595 lineto
-109.747 392.002 lineto
-108.591 392.002 lineto
-112.044 383.33 lineto
-113.263 383.33 lineto
-116.638 392.002 lineto
-115.31 392.002 lineto
-closepath
-119.589 392.22 M
-118.729 392.22 117.37 391.83 QUADTO
-117.37 390.611 lineto
-118.823 391.299 119.776 391.299 QUADTO
-120.495 391.299 120.94 390.916 QUADTO
-121.386 390.533 121.386 389.908 QUADTO
-121.386 389.408 121.097 389.049 QUADTO
-120.808 388.689 120.026 388.252 QUADTO
-119.433 387.908 lineto
-118.323 387.267 117.87 386.713 QUADTO
-117.417 386.158 117.417 385.408 QUADTO
-117.417 384.408 118.144 383.759 QUADTO
-118.87 383.111 119.995 383.111 QUADTO
-120.995 383.111 122.104 383.439 QUADTO
-122.104 384.564 lineto
-120.729 384.033 120.058 384.033 QUADTO
-119.417 384.033 119.003 384.369 QUADTO
-118.589 384.705 118.589 385.22 QUADTO
-118.589 385.658 118.894 385.994 QUADTO
-119.198 386.33 120.011 386.799 QUADTO
-120.62 387.142 lineto
-121.745 387.783 122.19 388.353 QUADTO
-122.636 388.924 122.636 389.72 QUADTO
-122.636 390.845 121.808 391.533 QUADTO
-120.979 392.22 119.589 392.22 QUADTO
-closepath
-126.427 392.002 M
-126.427 384.252 lineto
-123.349 384.252 lineto
-123.349 383.33 lineto
-130.724 383.33 lineto
-130.724 384.252 lineto
-127.646 384.252 lineto
-127.646 392.002 lineto
-126.427 392.002 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-136.827 387.726 M
-150.827 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-146.827 387.726 M
-146.827 389.383 145.484 390.726 143.827 390.726 curveto
-142.17 390.726 140.827 389.383 140.827 387.726 curveto
-140.827 386.069 142.17 384.726 143.827 384.726 curveto
-145.484 384.726 146.827 386.069 146.827 387.726 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.827 387.726 M
-146.827 389.383 145.484 390.726 143.827 390.726 curveto
-142.17 390.726 140.827 389.383 140.827 387.726 curveto
-140.827 386.069 142.17 384.726 143.827 384.726 curveto
-145.484 384.726 146.827 386.069 146.827 387.726 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-155.952 392.002 M
-155.952 383.33 lineto
-157.108 383.33 lineto
-157.108 387.595 lineto
-160.608 383.33 lineto
-161.843 383.33 lineto
-158.452 387.47 lineto
-162.452 392.002 lineto
-160.89 392.002 lineto
-157.108 387.611 lineto
-157.108 392.002 lineto
-155.952 392.002 lineto
-closepath
-167.099 391.189 M
-166.067 392.142 165.099 392.142 QUADTO
-164.302 392.142 163.786 391.65 QUADTO
-163.271 391.158 163.271 390.408 QUADTO
-163.271 389.361 164.146 388.799 QUADTO
-165.021 388.236 166.646 388.236 QUADTO
-166.927 388.236 lineto
-166.927 387.47 lineto
-166.927 386.361 165.786 386.361 QUADTO
-164.88 386.361 163.817 386.924 QUADTO
-163.817 385.97 lineto
-164.989 385.502 166.005 385.502 QUADTO
-167.067 385.502 167.575 385.978 QUADTO
-168.083 386.455 168.083 387.47 QUADTO
-168.083 390.361 lineto
-168.083 391.345 168.692 391.345 QUADTO
-168.771 391.345 168.911 391.314 QUADTO
-168.989 391.955 lineto
-168.599 392.142 168.13 392.142 QUADTO
-167.317 392.142 167.099 391.189 QUADTO
-closepath
-166.927 390.564 M
-166.927 388.924 lineto
-166.536 388.908 lineto
-165.599 388.908 165.013 389.267 QUADTO
-164.427 389.627 164.427 390.22 QUADTO
-164.427 390.627 164.716 390.916 QUADTO
-165.005 391.205 165.427 391.205 QUADTO
-166.146 391.205 166.927 390.564 QUADTO
-closepath
-174.522 392.002 M
-174.522 390.799 lineto
-173.819 392.142 172.413 392.142 QUADTO
-171.257 392.142 170.601 391.306 QUADTO
-169.944 390.47 169.944 389.017 QUADTO
-169.944 387.424 170.687 386.463 QUADTO
-171.429 385.502 172.647 385.502 QUADTO
-173.788 385.502 174.522 386.361 QUADTO
-174.522 382.752 lineto
-175.694 382.752 lineto
-175.694 392.002 lineto
-174.522 392.002 lineto
-closepath
-174.522 387.158 M
-173.632 386.361 172.835 386.361 QUADTO
-171.163 386.361 171.163 388.908 QUADTO
-171.163 391.127 172.647 391.127 QUADTO
-173.601 391.127 174.522 390.08 QUADTO
-174.522 387.158 lineto
-closepath
-182.653 391.799 M
-181.497 392.142 180.669 392.142 QUADTO
-179.263 392.142 178.38 391.213 QUADTO
-177.497 390.283 177.497 388.783 QUADTO
-177.497 387.345 178.278 386.416 QUADTO
-179.06 385.486 180.278 385.486 QUADTO
-181.435 385.486 182.06 386.306 QUADTO
-182.685 387.127 182.685 388.642 QUADTO
-182.685 389.002 lineto
-178.669 389.002 lineto
-178.919 391.267 180.888 391.267 QUADTO
-181.606 391.267 182.653 390.877 QUADTO
-182.653 391.799 lineto
-closepath
-178.716 388.127 M
-181.528 388.127 lineto
-181.528 386.361 180.2 386.361 QUADTO
-178.872 386.361 178.716 388.127 QUADTO
-closepath
-184.683 392.002 M
-184.683 385.642 lineto
-185.839 385.642 lineto
-185.839 386.83 lineto
-186.683 385.502 188.011 385.502 QUADTO
-189.276 385.502 189.745 386.83 QUADTO
-190.558 385.486 191.87 385.486 QUADTO
-192.714 385.486 193.183 385.986 QUADTO
-193.651 386.486 193.651 387.377 QUADTO
-193.651 392.002 lineto
-192.479 392.002 lineto
-192.479 387.549 lineto
-192.479 386.47 191.62 386.47 QUADTO
-190.729 386.47 189.745 387.736 QUADTO
-189.745 392.002 lineto
-188.589 392.002 lineto
-188.589 387.549 lineto
-188.589 386.455 187.698 386.455 QUADTO
-186.839 386.455 185.839 387.736 QUADTO
-185.839 392.002 lineto
-184.683 392.002 lineto
-closepath
-195.886 392.002 M
-195.886 382.752 lineto
-197.042 382.752 lineto
-197.042 392.002 lineto
-195.886 392.002 lineto
-closepath
-199.354 392.002 M
-199.354 385.642 lineto
-200.511 385.642 lineto
-200.511 392.002 lineto
-199.354 392.002 lineto
-closepath
-199.354 384.486 M
-199.354 383.33 lineto
-200.511 383.33 lineto
-200.511 384.486 lineto
-199.354 384.486 lineto
-closepath
-206.104 391.189 M
-205.073 392.142 204.104 392.142 QUADTO
-203.308 392.142 202.792 391.65 QUADTO
-202.276 391.158 202.276 390.408 QUADTO
-202.276 389.361 203.151 388.799 QUADTO
-204.026 388.236 205.651 388.236 QUADTO
-205.933 388.236 lineto
-205.933 387.47 lineto
-205.933 386.361 204.792 386.361 QUADTO
-203.886 386.361 202.823 386.924 QUADTO
-202.823 385.97 lineto
-203.995 385.502 205.011 385.502 QUADTO
-206.073 385.502 206.581 385.978 QUADTO
-207.089 386.455 207.089 387.47 QUADTO
-207.089 390.361 lineto
-207.089 391.345 207.698 391.345 QUADTO
-207.776 391.345 207.917 391.314 QUADTO
-207.995 391.955 lineto
-207.604 392.142 207.136 392.142 QUADTO
-206.323 392.142 206.104 391.189 QUADTO
-closepath
-205.933 390.564 M
-205.933 388.924 lineto
-205.542 388.908 lineto
-204.604 388.908 204.019 389.267 QUADTO
-203.433 389.627 203.433 390.22 QUADTO
-203.433 390.627 203.722 390.916 QUADTO
-204.011 391.205 204.433 391.205 QUADTO
-205.151 391.205 205.933 390.564 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-214.294 387.726 M
-228.294 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-221.294 384.726 M
-224.294 390.726 lineto
-218.294 390.726 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.294 384.726 M
-224.294 390.726 lineto
-218.294 390.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-235.778 392.002 M
-232.513 383.33 lineto
-233.731 383.33 lineto
-236.419 390.424 lineto
-239.013 383.33 lineto
-240.091 383.33 lineto
-236.935 392.002 lineto
-235.778 392.002 lineto
-closepath
-245.952 391.799 M
-244.796 392.142 243.968 392.142 QUADTO
-242.562 392.142 241.679 391.213 QUADTO
-240.796 390.283 240.796 388.783 QUADTO
-240.796 387.345 241.577 386.416 QUADTO
-242.358 385.486 243.577 385.486 QUADTO
-244.733 385.486 245.358 386.306 QUADTO
-245.983 387.127 245.983 388.642 QUADTO
-245.983 389.002 lineto
-241.968 389.002 lineto
-242.218 391.267 244.187 391.267 QUADTO
-244.905 391.267 245.952 390.877 QUADTO
-245.952 391.799 lineto
-closepath
-242.015 388.127 M
-244.827 388.127 lineto
-244.827 386.361 243.499 386.361 QUADTO
-242.171 386.361 242.015 388.127 QUADTO
-closepath
-247.981 392.002 M
-247.981 385.642 lineto
-249.138 385.642 lineto
-249.138 386.83 lineto
-249.825 385.502 251.122 385.502 QUADTO
-251.31 385.502 251.497 385.533 QUADTO
-251.497 386.611 lineto
-251.2 386.502 250.966 386.502 QUADTO
-249.872 386.502 249.138 387.799 QUADTO
-249.138 392.002 lineto
-247.981 392.002 lineto
-closepath
-254.798 392.142 M
-253.923 392.142 253.431 391.642 QUADTO
-252.938 391.142 252.938 390.236 QUADTO
-252.938 386.502 lineto
-252.142 386.502 lineto
-252.142 385.642 lineto
-252.938 385.642 lineto
-252.938 384.486 lineto
-254.095 384.377 lineto
-254.095 385.642 lineto
-255.751 385.642 lineto
-255.751 386.502 lineto
-254.095 386.502 lineto
-254.095 390.033 lineto
-254.095 391.283 255.173 391.283 QUADTO
-255.392 391.283 255.72 391.205 QUADTO
-255.72 392.002 lineto
-255.188 392.142 254.798 392.142 QUADTO
-closepath
-262.036 391.799 M
-260.88 392.142 260.052 392.142 QUADTO
-258.646 392.142 257.763 391.213 QUADTO
-256.88 390.283 256.88 388.783 QUADTO
-256.88 387.345 257.661 386.416 QUADTO
-258.442 385.486 259.661 385.486 QUADTO
-260.817 385.486 261.442 386.306 QUADTO
-262.067 387.127 262.067 388.642 QUADTO
-262.067 389.002 lineto
-258.052 389.002 lineto
-258.302 391.267 260.271 391.267 QUADTO
-260.989 391.267 262.036 390.877 QUADTO
-262.036 391.799 lineto
-closepath
-258.099 388.127 M
-260.911 388.127 lineto
-260.911 386.361 259.583 386.361 QUADTO
-258.255 386.361 258.099 388.127 QUADTO
-closepath
-263.425 392.002 M
-265.847 388.72 lineto
-263.503 385.642 lineto
-264.862 385.642 lineto
-266.722 388.08 lineto
-268.409 385.642 lineto
-269.534 385.642 lineto
-267.331 388.861 lineto
-269.722 392.002 lineto
-268.347 392.002 lineto
-266.44 389.486 lineto
-264.581 392.002 lineto
-263.425 392.002 lineto
-closepath
-281.706 391.767 M
-280.128 392.22 278.956 392.22 QUADTO
-276.878 392.22 275.776 391.041 QUADTO
-274.675 389.861 274.675 387.658 QUADTO
-274.675 385.502 275.792 384.306 QUADTO
-276.909 383.111 278.94 383.111 QUADTO
-280.253 383.111 281.69 383.502 QUADTO
-281.69 384.642 lineto
-279.894 384.033 278.94 384.033 QUADTO
-277.534 384.033 276.761 384.986 QUADTO
-275.987 385.939 275.987 387.674 QUADTO
-275.987 389.392 276.815 390.345 QUADTO
-277.644 391.299 279.144 391.299 QUADTO
-279.769 391.299 280.472 391.08 QUADTO
-280.472 388.252 lineto
-281.706 388.252 lineto
-281.706 391.767 lineto
-closepath
-283.894 392.002 M
-283.894 385.642 lineto
-285.05 385.642 lineto
-285.05 386.83 lineto
-285.737 385.502 287.034 385.502 QUADTO
-287.222 385.502 287.409 385.533 QUADTO
-287.409 386.611 lineto
-287.112 386.502 286.878 386.502 QUADTO
-285.784 386.502 285.05 387.799 QUADTO
-285.05 392.002 lineto
-283.894 392.002 lineto
-closepath
-291.288 392.142 M
-289.929 392.142 289.116 391.236 QUADTO
-288.304 390.33 288.304 388.814 QUADTO
-288.304 387.283 289.116 386.392 QUADTO
-289.929 385.502 291.335 385.502 QUADTO
-292.741 385.502 293.554 386.392 QUADTO
-294.366 387.283 294.366 388.814 QUADTO
-294.366 390.361 293.546 391.252 QUADTO
-292.726 392.142 291.288 392.142 QUADTO
-closepath
-291.304 391.283 M
-293.147 391.283 293.147 388.814 QUADTO
-293.147 386.361 291.335 386.361 QUADTO
-289.522 386.361 289.522 388.814 QUADTO
-289.522 391.283 291.304 391.283 QUADTO
-closepath
-300.159 392.002 M
-300.159 390.799 lineto
-299.237 392.142 297.925 392.142 QUADTO
-297.081 392.142 296.589 391.619 QUADTO
-296.097 391.095 296.097 390.205 QUADTO
-296.097 385.642 lineto
-297.253 385.642 lineto
-297.253 389.83 lineto
-297.253 390.549 297.464 390.853 QUADTO
-297.675 391.158 298.159 391.158 QUADTO
-299.222 391.158 300.159 389.767 QUADTO
-300.159 385.642 lineto
-301.3 385.642 lineto
-301.3 392.002 lineto
-300.159 392.002 lineto
-closepath
-303.622 394.314 M
-303.622 385.642 lineto
-304.778 385.642 lineto
-304.778 386.83 lineto
-305.481 385.502 306.903 385.502 QUADTO
-308.044 385.502 308.708 386.338 QUADTO
-309.372 387.174 309.372 388.627 QUADTO
-309.372 390.205 308.622 391.174 QUADTO
-307.872 392.142 306.653 392.142 QUADTO
-305.528 392.142 304.778 391.283 QUADTO
-304.778 394.314 lineto
-303.622 394.314 lineto
-closepath
-304.778 390.486 M
-305.669 391.283 306.481 391.283 QUADTO
-308.138 391.283 308.138 388.736 QUADTO
-308.138 386.502 306.669 386.502 QUADTO
-305.7 386.502 304.778 387.549 QUADTO
-304.778 390.486 lineto
-closepath
-312.862 392.142 M
-312.065 392.142 310.94 391.783 QUADTO
-310.94 390.72 lineto
-312.065 391.283 312.909 391.283 QUADTO
-313.409 391.283 313.737 391.009 QUADTO
-314.065 390.736 314.065 390.33 QUADTO
-314.065 389.752 313.144 389.361 QUADTO
-312.472 389.064 lineto
-310.972 388.455 310.972 387.283 QUADTO
-310.972 386.455 311.565 385.978 QUADTO
-312.159 385.502 313.175 385.502 QUADTO
-313.706 385.502 314.503 385.642 QUADTO
-314.737 385.689 lineto
-314.737 386.658 lineto
-313.769 386.361 313.206 386.361 QUADTO
-312.081 386.361 312.081 387.174 QUADTO
-312.081 387.689 312.925 388.049 QUADTO
-313.487 388.283 lineto
-314.425 388.689 314.823 389.127 QUADTO
-315.222 389.564 315.222 390.236 QUADTO
-315.222 391.064 314.558 391.603 QUADTO
-313.894 392.142 312.862 392.142 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-58.148 34.247 M
-388 34.247 lineto
-388 325.931 lineto
-58.148 325.931 lineto
-58.148 34.247 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-58.148 329.931 M
-388 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-62.77 345.481 M
-62.77 344.465 lineto
-63.27 343.293 64.802 341.903 QUADTO
-65.473 341.309 lineto
-66.739 340.153 66.739 339.012 QUADTO
-66.739 338.293 66.309 337.879 QUADTO
-65.88 337.465 65.114 337.465 QUADTO
-64.208 337.465 62.989 338.153 QUADTO
-62.989 337.137 lineto
-64.145 336.59 65.27 336.59 QUADTO
-66.489 336.59 67.231 337.247 QUADTO
-67.973 337.903 67.973 338.981 QUADTO
-67.973 339.762 67.598 340.372 QUADTO
-67.223 340.981 66.208 341.84 QUADTO
-65.77 342.215 lineto
-64.38 343.387 64.161 344.465 QUADTO
-67.927 344.465 lineto
-67.927 345.481 lineto
-62.77 345.481 lineto
-closepath
-73.124 345.7 M
-71.78 345.7 70.952 344.434 QUADTO
-70.124 343.168 70.124 341.137 QUADTO
-70.124 339.09 70.96 337.84 QUADTO
-71.796 336.59 73.155 336.59 QUADTO
-74.514 336.59 75.35 337.84 QUADTO
-76.186 339.09 76.186 341.122 QUADTO
-76.186 343.2 75.35 344.45 QUADTO
-74.514 345.7 73.124 345.7 QUADTO
-closepath
-73.139 344.825 M
-74.968 344.825 74.968 341.106 QUADTO
-74.968 337.465 73.155 337.465 QUADTO
-71.358 337.465 71.358 341.137 QUADTO
-71.358 344.825 73.139 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.358 331.931 M
-69.358 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-93.333 345.418 M
-93.333 344.34 lineto
-94.583 344.825 95.287 344.825 QUADTO
-96.115 344.825 96.638 344.34 QUADTO
-97.162 343.856 97.162 343.09 QUADTO
-97.162 341.262 94.599 341.262 QUADTO
-94.13 341.262 lineto
-94.13 340.481 lineto
-94.537 340.481 lineto
-96.943 340.481 96.943 338.793 QUADTO
-96.943 337.465 95.365 337.465 QUADTO
-94.49 337.465 93.458 337.95 QUADTO
-93.458 336.934 lineto
-94.474 336.59 95.443 336.59 QUADTO
-98.099 336.59 98.099 338.606 QUADTO
-98.099 340.137 96.287 340.778 QUADTO
-98.396 341.262 98.396 343.075 QUADTO
-98.396 344.309 97.583 345.004 QUADTO
-96.771 345.7 95.365 345.7 QUADTO
-94.552 345.7 93.333 345.418 QUADTO
-closepath
-103.468 345.7 M
-102.124 345.7 101.296 344.434 QUADTO
-100.468 343.168 100.468 341.137 QUADTO
-100.468 339.09 101.304 337.84 QUADTO
-102.14 336.59 103.499 336.59 QUADTO
-104.859 336.59 105.695 337.84 QUADTO
-106.531 339.09 106.531 341.122 QUADTO
-106.531 343.2 105.695 344.45 QUADTO
-104.859 345.7 103.468 345.7 QUADTO
-closepath
-103.484 344.825 M
-105.312 344.825 105.312 341.106 QUADTO
-105.312 337.465 103.499 337.465 QUADTO
-101.703 337.465 101.703 341.137 QUADTO
-101.703 344.825 103.484 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-99.703 331.931 M
-99.703 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.232 331.931 M
-121.232 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-137.932 331.931 M
-137.932 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-151.576 331.931 M
-151.576 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-163.113 331.931 M
-163.113 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.106 331.931 M
-173.106 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-181.921 331.931 M
-181.921 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.806 331.931 M
-189.806 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-180.236 345.481 M
-180.236 344.606 lineto
-181.971 344.606 lineto
-181.971 337.762 lineto
-180.236 338.2 lineto
-180.236 337.309 lineto
-183.127 336.59 lineto
-183.127 344.606 lineto
-184.861 344.606 lineto
-184.861 345.481 lineto
-180.236 345.481 lineto
-closepath
-189.777 345.7 M
-188.434 345.7 187.606 344.434 QUADTO
-186.777 343.168 186.777 341.137 QUADTO
-186.777 339.09 187.613 337.84 QUADTO
-188.449 336.59 189.809 336.59 QUADTO
-191.168 336.59 192.004 337.84 QUADTO
-192.84 339.09 192.84 341.122 QUADTO
-192.84 343.2 192.004 344.45 QUADTO
-191.168 345.7 189.777 345.7 QUADTO
-closepath
-189.793 344.825 M
-191.621 344.825 191.621 341.106 QUADTO
-191.621 337.465 189.809 337.465 QUADTO
-188.012 337.465 188.012 341.137 QUADTO
-188.012 344.825 189.793 344.825 QUADTO
-closepath
-197.365 345.7 M
-196.022 345.7 195.193 344.434 QUADTO
-194.365 343.168 194.365 341.137 QUADTO
-194.365 339.09 195.201 337.84 QUADTO
-196.037 336.59 197.397 336.59 QUADTO
-198.756 336.59 199.592 337.84 QUADTO
-200.428 339.09 200.428 341.122 QUADTO
-200.428 343.2 199.592 344.45 QUADTO
-198.756 345.7 197.365 345.7 QUADTO
-closepath
-197.381 344.825 M
-199.209 344.825 199.209 341.106 QUADTO
-199.209 337.465 197.397 337.465 QUADTO
-195.6 337.465 195.6 341.137 QUADTO
-195.6 344.825 197.381 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.806 331.931 M
-189.806 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-231.298 345.481 M
-231.298 344.465 lineto
-231.798 343.293 233.329 341.903 QUADTO
-234.001 341.309 lineto
-235.267 340.153 235.267 339.012 QUADTO
-235.267 338.293 234.837 337.879 QUADTO
-234.407 337.465 233.642 337.465 QUADTO
-232.735 337.465 231.517 338.153 QUADTO
-231.517 337.137 lineto
-232.673 336.59 233.798 336.59 QUADTO
-235.017 336.59 235.759 337.247 QUADTO
-236.501 337.903 236.501 338.981 QUADTO
-236.501 339.762 236.126 340.372 QUADTO
-235.751 340.981 234.735 341.84 QUADTO
-234.298 342.215 lineto
-232.907 343.387 232.689 344.465 QUADTO
-236.454 344.465 lineto
-236.454 345.481 lineto
-231.298 345.481 lineto
-closepath
-241.651 345.7 M
-240.308 345.7 239.48 344.434 QUADTO
-238.651 343.168 238.651 341.137 QUADTO
-238.651 339.09 239.487 337.84 QUADTO
-240.323 336.59 241.683 336.59 QUADTO
-243.042 336.59 243.878 337.84 QUADTO
-244.714 339.09 244.714 341.122 QUADTO
-244.714 343.2 243.878 344.45 QUADTO
-243.042 345.7 241.651 345.7 QUADTO
-closepath
-241.667 344.825 M
-243.495 344.825 243.495 341.106 QUADTO
-243.495 337.465 241.683 337.465 QUADTO
-239.886 337.465 239.886 341.137 QUADTO
-239.886 344.825 241.667 344.825 QUADTO
-closepath
-249.239 345.7 M
-247.896 345.7 247.067 344.434 QUADTO
-246.239 343.168 246.239 341.137 QUADTO
-246.239 339.09 247.075 337.84 QUADTO
-247.911 336.59 249.271 336.59 QUADTO
-250.63 336.59 251.466 337.84 QUADTO
-252.302 339.09 252.302 341.122 QUADTO
-252.302 343.2 251.466 344.45 QUADTO
-250.63 345.7 249.239 345.7 QUADTO
-closepath
-249.255 344.825 M
-251.083 344.825 251.083 341.106 QUADTO
-251.083 337.465 249.271 337.465 QUADTO
-247.474 337.465 247.474 341.137 QUADTO
-247.474 344.825 249.255 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-241.68 331.931 M
-241.68 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-272.024 331.931 M
-272.024 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-293.554 331.931 M
-293.554 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-310.253 331.931 M
-310.253 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-323.898 331.931 M
-323.898 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-335.434 331.931 M
-335.434 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-345.428 331.931 M
-345.428 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-354.242 331.931 M
-354.242 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.127 331.931 M
-362.127 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-348.764 345.481 M
-348.764 344.606 lineto
-350.498 344.606 lineto
-350.498 337.762 lineto
-348.764 338.2 lineto
-348.764 337.309 lineto
-351.655 336.59 lineto
-351.655 344.606 lineto
-353.389 344.606 lineto
-353.389 345.481 lineto
-348.764 345.481 lineto
-closepath
-358.305 345.7 M
-356.961 345.7 356.133 344.434 QUADTO
-355.305 343.168 355.305 341.137 QUADTO
-355.305 339.09 356.141 337.84 QUADTO
-356.977 336.59 358.336 336.59 QUADTO
-359.696 336.59 360.532 337.84 QUADTO
-361.368 339.09 361.368 341.122 QUADTO
-361.368 343.2 360.532 344.45 QUADTO
-359.696 345.7 358.305 345.7 QUADTO
-closepath
-358.321 344.825 M
-360.149 344.825 360.149 341.106 QUADTO
-360.149 337.465 358.336 337.465 QUADTO
-356.539 337.465 356.539 341.137 QUADTO
-356.539 344.825 358.321 344.825 QUADTO
-closepath
-365.893 345.7 M
-364.549 345.7 363.721 344.434 QUADTO
-362.893 343.168 362.893 341.137 QUADTO
-362.893 339.09 363.729 337.84 QUADTO
-364.565 336.59 365.924 336.59 QUADTO
-367.284 336.59 368.119 337.84 QUADTO
-368.955 339.09 368.955 341.122 QUADTO
-368.955 343.2 368.119 344.45 QUADTO
-367.284 345.7 365.893 345.7 QUADTO
-closepath
-365.909 344.825 M
-367.737 344.825 367.737 341.106 QUADTO
-367.737 337.465 365.924 337.465 QUADTO
-364.127 337.465 364.127 341.137 QUADTO
-364.127 344.825 365.909 344.825 QUADTO
-closepath
-373.481 345.7 M
-372.137 345.7 371.309 344.434 QUADTO
-370.481 343.168 370.481 341.137 QUADTO
-370.481 339.09 371.317 337.84 QUADTO
-372.153 336.59 373.512 336.59 QUADTO
-374.871 336.59 375.707 337.84 QUADTO
-376.543 339.09 376.543 341.122 QUADTO
-376.543 343.2 375.707 344.45 QUADTO
-374.871 345.7 373.481 345.7 QUADTO
-closepath
-373.496 344.825 M
-375.325 344.825 375.325 341.106 QUADTO
-375.325 337.465 373.512 337.465 QUADTO
-371.715 337.465 371.715 341.137 QUADTO
-371.715 344.825 373.496 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.127 331.931 M
-362.127 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-202.574 364.954 M
-202.574 357.454 lineto
-204.59 357.454 lineto
-204.59 358.86 lineto
-205.59 357.282 207.152 357.282 QUADTO
-208.152 357.282 208.738 357.915 QUADTO
-209.324 358.548 209.324 359.641 QUADTO
-209.324 364.954 lineto
-207.293 364.954 lineto
-207.293 360.141 lineto
-207.293 358.876 206.449 358.876 QUADTO
-205.48 358.876 204.59 360.235 QUADTO
-204.59 364.954 lineto
-202.574 364.954 lineto
-closepath
-214.925 365.126 M
-213.159 365.126 212.128 364.063 QUADTO
-211.097 363.001 211.097 361.204 QUADTO
-211.097 359.376 212.136 358.329 QUADTO
-213.175 357.282 214.972 357.282 QUADTO
-216.769 357.282 217.808 358.329 QUADTO
-218.847 359.376 218.847 361.188 QUADTO
-218.847 363.032 217.8 364.079 QUADTO
-216.753 365.126 214.925 365.126 QUADTO
-closepath
-214.956 363.86 M
-216.69 363.86 216.69 361.188 QUADTO
-216.69 359.97 216.229 359.259 QUADTO
-215.769 358.548 214.972 358.548 QUADTO
-214.175 358.548 213.706 359.259 QUADTO
-213.237 359.97 213.237 361.204 QUADTO
-213.237 362.423 213.698 363.141 QUADTO
-214.159 363.86 214.956 363.86 QUADTO
-closepath
-225.429 364.954 M
-225.429 363.532 lineto
-224.647 365.126 222.976 365.126 QUADTO
-221.632 365.126 220.858 364.134 QUADTO
-220.085 363.141 220.085 361.407 QUADTO
-220.085 359.516 220.952 358.399 QUADTO
-221.819 357.282 223.288 357.282 QUADTO
-224.476 357.282 225.429 358.204 QUADTO
-225.429 354.157 lineto
-227.46 354.157 lineto
-227.46 364.954 lineto
-225.429 364.954 lineto
-closepath
-225.429 359.407 M
-224.694 358.595 223.866 358.595 QUADTO
-223.116 358.595 222.679 359.313 QUADTO
-222.241 360.032 222.241 361.235 QUADTO
-222.241 363.532 223.71 363.532 QUADTO
-224.616 363.532 225.429 362.376 QUADTO
-225.429 359.407 lineto
-closepath
-236.096 364.704 M
-234.658 365.126 233.361 365.126 QUADTO
-231.486 365.126 230.4 364.055 QUADTO
-229.314 362.985 229.314 361.141 QUADTO
-229.314 359.407 230.307 358.345 QUADTO
-231.299 357.282 232.939 357.282 QUADTO
-234.58 357.282 235.338 358.321 QUADTO
-236.096 359.36 236.096 361.61 QUADTO
-231.439 361.61 lineto
-231.643 363.751 233.799 363.751 QUADTO
-234.814 363.751 236.096 363.282 QUADTO
-236.096 364.704 lineto
-closepath
-231.408 360.47 M
-234.111 360.47 lineto
-234.111 358.548 232.877 358.548 QUADTO
-231.611 358.548 231.408 360.47 QUADTO
-closepath
-237.986 364.72 M
-237.986 363.235 lineto
-239.502 363.86 240.564 363.86 QUADTO
-241.799 363.86 241.799 363.016 QUADTO
-241.799 362.47 240.783 362.048 QUADTO
-240.096 361.782 lineto
-238.986 361.329 238.502 360.813 QUADTO
-238.018 360.298 238.018 359.532 QUADTO
-238.018 358.454 238.838 357.868 QUADTO
-239.658 357.282 241.111 357.282 QUADTO
-242.033 357.282 243.299 357.548 QUADTO
-243.299 358.97 lineto
-242.08 358.548 241.283 358.548 QUADTO
-240.018 358.548 240.018 359.313 QUADTO
-240.018 359.829 240.955 360.188 QUADTO
-241.533 360.407 lineto
-242.861 360.907 243.377 361.423 QUADTO
-243.893 361.938 243.893 362.751 QUADTO
-243.893 363.798 243.01 364.462 QUADTO
-242.127 365.126 240.721 365.126 QUADTO
-239.377 365.126 237.986 364.72 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-54.148 34.247 M
-54.148 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-44.326 330.426 M
-42.982 330.426 42.154 329.16 QUADTO
-41.326 327.894 41.326 325.863 QUADTO
-41.326 323.816 42.162 322.566 QUADTO
-42.998 321.316 44.357 321.316 QUADTO
-45.717 321.316 46.553 322.566 QUADTO
-47.389 323.816 47.389 325.848 QUADTO
-47.389 327.926 46.553 329.176 QUADTO
-45.717 330.426 44.326 330.426 QUADTO
-closepath
-44.342 329.551 M
-46.17 329.551 46.17 325.832 QUADTO
-46.17 322.191 44.357 322.191 QUADTO
-42.561 322.191 42.561 325.863 QUADTO
-42.561 329.551 44.342 329.551 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 325.931 M
-54.148 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-42.014 301.957 M
-42.014 300.926 lineto
-42.889 301.27 43.654 301.27 QUADTO
-44.514 301.27 45.006 300.77 QUADTO
-45.498 300.27 45.498 299.379 QUADTO
-45.498 297.426 42.811 297.426 QUADTO
-42.498 297.426 42.17 297.473 QUADTO
-42.17 293.254 lineto
-46.561 293.254 lineto
-46.561 294.254 lineto
-43.186 294.254 lineto
-43.186 296.551 lineto
-44.857 296.551 45.795 297.317 QUADTO
-46.732 298.082 46.732 299.442 QUADTO
-46.732 300.707 45.873 301.426 QUADTO
-45.014 302.145 43.514 302.145 QUADTO
-42.857 302.145 42.014 301.957 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 297.65 M
-54.148 297.65 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 273.645 M
-34.785 272.77 lineto
-36.52 272.77 lineto
-36.52 265.926 lineto
-34.785 266.364 lineto
-34.785 265.473 lineto
-37.676 264.755 lineto
-37.676 272.77 lineto
-39.41 272.77 lineto
-39.41 273.645 lineto
-34.785 273.645 lineto
-closepath
-44.326 273.864 M
-42.982 273.864 42.154 272.598 QUADTO
-41.326 271.333 41.326 269.301 QUADTO
-41.326 267.255 42.162 266.005 QUADTO
-42.998 264.755 44.357 264.755 QUADTO
-45.717 264.755 46.553 266.005 QUADTO
-47.389 267.255 47.389 269.286 QUADTO
-47.389 271.364 46.553 272.614 QUADTO
-45.717 273.864 44.326 273.864 QUADTO
-closepath
-44.342 272.989 M
-46.17 272.989 46.17 269.27 QUADTO
-46.17 265.63 44.357 265.63 QUADTO
-42.561 265.63 42.561 269.301 QUADTO
-42.561 272.989 44.342 272.989 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 269.37 M
-54.148 269.37 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 245.364 M
-34.785 244.489 lineto
-36.52 244.489 lineto
-36.52 237.645 lineto
-34.785 238.083 lineto
-34.785 237.192 lineto
-37.676 236.474 lineto
-37.676 244.489 lineto
-39.41 244.489 lineto
-39.41 245.364 lineto
-34.785 245.364 lineto
-closepath
-42.014 245.395 M
-42.014 244.364 lineto
-42.889 244.708 43.654 244.708 QUADTO
-44.514 244.708 45.006 244.208 QUADTO
-45.498 243.708 45.498 242.817 QUADTO
-45.498 240.864 42.811 240.864 QUADTO
-42.498 240.864 42.17 240.911 QUADTO
-42.17 236.692 lineto
-46.561 236.692 lineto
-46.561 237.692 lineto
-43.186 237.692 lineto
-43.186 239.989 lineto
-44.857 239.989 45.795 240.755 QUADTO
-46.732 241.52 46.732 242.88 QUADTO
-46.732 244.145 45.873 244.864 QUADTO
-45.014 245.583 43.514 245.583 QUADTO
-42.857 245.583 42.014 245.395 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 241.089 M
-54.148 241.089 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 217.083 M
-33.973 216.068 lineto
-34.473 214.896 36.004 213.505 QUADTO
-36.676 212.911 lineto
-37.941 211.755 37.941 210.615 QUADTO
-37.941 209.896 37.512 209.482 QUADTO
-37.082 209.068 36.316 209.068 QUADTO
-35.41 209.068 34.191 209.755 QUADTO
-34.191 208.74 lineto
-35.348 208.193 36.473 208.193 QUADTO
-37.691 208.193 38.434 208.849 QUADTO
-39.176 209.505 39.176 210.583 QUADTO
-39.176 211.365 38.801 211.974 QUADTO
-38.426 212.583 37.41 213.443 QUADTO
-36.973 213.818 lineto
-35.582 214.99 35.363 216.068 QUADTO
-39.129 216.068 lineto
-39.129 217.083 lineto
-33.973 217.083 lineto
-closepath
-44.326 217.302 M
-42.982 217.302 42.154 216.036 QUADTO
-41.326 214.771 41.326 212.74 QUADTO
-41.326 210.693 42.162 209.443 QUADTO
-42.998 208.193 44.357 208.193 QUADTO
-45.717 208.193 46.553 209.443 QUADTO
-47.389 210.693 47.389 212.724 QUADTO
-47.389 214.802 46.553 216.052 QUADTO
-45.717 217.302 44.326 217.302 QUADTO
-closepath
-44.342 216.427 M
-46.17 216.427 46.17 212.708 QUADTO
-46.17 209.068 44.357 209.068 QUADTO
-42.561 209.068 42.561 212.74 QUADTO
-42.561 216.427 44.342 216.427 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 212.808 M
-54.148 212.808 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 188.802 M
-33.973 187.787 lineto
-34.473 186.615 36.004 185.224 QUADTO
-36.676 184.631 lineto
-37.941 183.474 37.941 182.334 QUADTO
-37.941 181.615 37.512 181.201 QUADTO
-37.082 180.787 36.316 180.787 QUADTO
-35.41 180.787 34.191 181.474 QUADTO
-34.191 180.459 lineto
-35.348 179.912 36.473 179.912 QUADTO
-37.691 179.912 38.434 180.568 QUADTO
-39.176 181.224 39.176 182.302 QUADTO
-39.176 183.084 38.801 183.693 QUADTO
-38.426 184.302 37.41 185.162 QUADTO
-36.973 185.537 lineto
-35.582 186.709 35.363 187.787 QUADTO
-39.129 187.787 lineto
-39.129 188.802 lineto
-33.973 188.802 lineto
-closepath
-42.014 188.834 M
-42.014 187.802 lineto
-42.889 188.146 43.654 188.146 QUADTO
-44.514 188.146 45.006 187.646 QUADTO
-45.498 187.146 45.498 186.256 QUADTO
-45.498 184.302 42.811 184.302 QUADTO
-42.498 184.302 42.17 184.349 QUADTO
-42.17 180.131 lineto
-46.561 180.131 lineto
-46.561 181.131 lineto
-43.186 181.131 lineto
-43.186 183.427 lineto
-44.857 183.427 45.795 184.193 QUADTO
-46.732 184.959 46.732 186.318 QUADTO
-46.732 187.584 45.873 188.302 QUADTO
-45.014 189.021 43.514 189.021 QUADTO
-42.857 189.021 42.014 188.834 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 184.527 M
-54.148 184.527 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 160.459 M
-34.191 159.381 lineto
-35.441 159.865 36.145 159.865 QUADTO
-36.973 159.865 37.496 159.381 QUADTO
-38.02 158.896 38.02 158.131 QUADTO
-38.02 156.303 35.457 156.303 QUADTO
-34.988 156.303 lineto
-34.988 155.521 lineto
-35.395 155.521 lineto
-37.801 155.521 37.801 153.834 QUADTO
-37.801 152.506 36.223 152.506 QUADTO
-35.348 152.506 34.316 152.99 QUADTO
-34.316 151.975 lineto
-35.332 151.631 36.301 151.631 QUADTO
-38.957 151.631 38.957 153.646 QUADTO
-38.957 155.178 37.145 155.818 QUADTO
-39.254 156.303 39.254 158.115 QUADTO
-39.254 159.35 38.441 160.045 QUADTO
-37.629 160.74 36.223 160.74 QUADTO
-35.41 160.74 34.191 160.459 QUADTO
-closepath
-44.326 160.74 M
-42.982 160.74 42.154 159.475 QUADTO
-41.326 158.209 41.326 156.178 QUADTO
-41.326 154.131 42.162 152.881 QUADTO
-42.998 151.631 44.357 151.631 QUADTO
-45.717 151.631 46.553 152.881 QUADTO
-47.389 154.131 47.389 156.162 QUADTO
-47.389 158.24 46.553 159.49 QUADTO
-45.717 160.74 44.326 160.74 QUADTO
-closepath
-44.342 159.865 M
-46.17 159.865 46.17 156.146 QUADTO
-46.17 152.506 44.357 152.506 QUADTO
-42.561 152.506 42.561 156.178 QUADTO
-42.561 159.865 44.342 159.865 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 156.246 M
-54.148 156.246 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 132.178 M
-34.191 131.1 lineto
-35.441 131.584 36.145 131.584 QUADTO
-36.973 131.584 37.496 131.1 QUADTO
-38.02 130.616 38.02 129.85 QUADTO
-38.02 128.022 35.457 128.022 QUADTO
-34.988 128.022 lineto
-34.988 127.241 lineto
-35.395 127.241 lineto
-37.801 127.241 37.801 125.553 QUADTO
-37.801 124.225 36.223 124.225 QUADTO
-35.348 124.225 34.316 124.709 QUADTO
-34.316 123.694 lineto
-35.332 123.35 36.301 123.35 QUADTO
-38.957 123.35 38.957 125.366 QUADTO
-38.957 126.897 37.145 127.537 QUADTO
-39.254 128.022 39.254 129.834 QUADTO
-39.254 131.069 38.441 131.764 QUADTO
-37.629 132.459 36.223 132.459 QUADTO
-35.41 132.459 34.191 132.178 QUADTO
-closepath
-42.014 132.272 M
-42.014 131.241 lineto
-42.889 131.584 43.654 131.584 QUADTO
-44.514 131.584 45.006 131.084 QUADTO
-45.498 130.584 45.498 129.694 QUADTO
-45.498 127.741 42.811 127.741 QUADTO
-42.498 127.741 42.17 127.787 QUADTO
-42.17 123.569 lineto
-46.561 123.569 lineto
-46.561 124.569 lineto
-43.186 124.569 lineto
-43.186 126.866 lineto
-44.857 126.866 45.795 127.631 QUADTO
-46.732 128.397 46.732 129.756 QUADTO
-46.732 131.022 45.873 131.741 QUADTO
-45.014 132.459 43.514 132.459 QUADTO
-42.857 132.459 42.014 132.272 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 127.965 M
-54.148 127.965 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-37.488 103.96 M
-37.488 101.507 lineto
-33.582 101.507 lineto
-33.582 100.632 lineto
-37.488 95.288 lineto
-38.582 95.288 lineto
-38.582 100.553 lineto
-39.738 100.553 lineto
-39.738 101.507 lineto
-38.582 101.507 lineto
-38.582 103.96 lineto
-37.488 103.96 lineto
-closepath
-34.723 100.553 M
-37.566 100.553 lineto
-37.566 96.71 lineto
-34.723 100.553 lineto
-closepath
-44.326 104.178 M
-42.982 104.178 42.154 102.913 QUADTO
-41.326 101.647 41.326 99.616 QUADTO
-41.326 97.569 42.162 96.319 QUADTO
-42.998 95.069 44.357 95.069 QUADTO
-45.717 95.069 46.553 96.319 QUADTO
-47.389 97.569 47.389 99.6 QUADTO
-47.389 101.678 46.553 102.928 QUADTO
-45.717 104.178 44.326 104.178 QUADTO
-closepath
-44.342 103.303 M
-46.17 103.303 46.17 99.585 QUADTO
-46.17 95.944 44.357 95.944 QUADTO
-42.561 95.944 42.561 99.616 QUADTO
-42.561 103.303 44.342 103.303 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 99.684 M
-54.148 99.684 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-37.488 75.679 M
-37.488 73.226 lineto
-33.582 73.226 lineto
-33.582 72.351 lineto
-37.488 67.007 lineto
-38.582 67.007 lineto
-38.582 72.273 lineto
-39.738 72.273 lineto
-39.738 73.226 lineto
-38.582 73.226 lineto
-38.582 75.679 lineto
-37.488 75.679 lineto
-closepath
-34.723 72.273 M
-37.566 72.273 lineto
-37.566 68.429 lineto
-34.723 72.273 lineto
-closepath
-42.014 75.71 M
-42.014 74.679 lineto
-42.889 75.023 43.654 75.023 QUADTO
-44.514 75.023 45.006 74.523 QUADTO
-45.498 74.023 45.498 73.132 QUADTO
-45.498 71.179 42.811 71.179 QUADTO
-42.498 71.179 42.17 71.226 QUADTO
-42.17 67.007 lineto
-46.561 67.007 lineto
-46.561 68.007 lineto
-43.186 68.007 lineto
-43.186 70.304 lineto
-44.857 70.304 45.795 71.069 QUADTO
-46.732 71.835 46.732 73.194 QUADTO
-46.732 74.46 45.873 75.179 QUADTO
-45.014 75.898 43.514 75.898 QUADTO
-42.857 75.898 42.014 75.71 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 71.403 M
-54.148 71.403 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.426 47.429 M
-34.426 46.398 lineto
-35.301 46.742 36.066 46.742 QUADTO
-36.926 46.742 37.418 46.242 QUADTO
-37.91 45.742 37.91 44.851 QUADTO
-37.91 42.898 35.223 42.898 QUADTO
-34.91 42.898 34.582 42.945 QUADTO
-34.582 38.726 lineto
-38.973 38.726 lineto
-38.973 39.726 lineto
-35.598 39.726 lineto
-35.598 42.023 lineto
-37.27 42.023 38.207 42.788 QUADTO
-39.145 43.554 39.145 44.913 QUADTO
-39.145 46.179 38.285 46.898 QUADTO
-37.426 47.617 35.926 47.617 QUADTO
-35.27 47.617 34.426 47.429 QUADTO
-closepath
-44.326 47.617 M
-42.982 47.617 42.154 46.351 QUADTO
-41.326 45.085 41.326 43.054 QUADTO
-41.326 41.007 42.162 39.757 QUADTO
-42.998 38.507 44.357 38.507 QUADTO
-45.717 38.507 46.553 39.757 QUADTO
-47.389 41.007 47.389 43.038 QUADTO
-47.389 45.117 46.553 46.367 QUADTO
-45.717 47.617 44.326 47.617 QUADTO
-closepath
-44.342 46.742 M
-46.17 46.742 46.17 43.023 QUADTO
-46.17 39.382 44.357 39.382 QUADTO
-42.561 39.382 42.561 43.054 QUADTO
-42.561 46.742 44.342 46.742 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 43.122 M
-54.148 43.122 lineto
-stroke
-grestore
-gsave
-[0 -1 1 0 -160.60265 199.57533] concat
-newpath
-199.575 160.603 M
-199.575 560.603 lineto
--200.425 560.603 lineto
--200.425 160.603 lineto
-199.575 160.603 lineto
-closepath
-clip
-0.251 setgray
-newpath
--38.14 185.077 M
--38.14 174.28 lineto
--36.124 174.28 lineto
--36.124 185.077 lineto
--38.14 185.077 lineto
-closepath
--30.431 185.249 M
--32.196 185.249 -33.228 184.187 QUADTO
--34.259 183.124 -34.259 181.327 QUADTO
--34.259 179.499 -33.22 178.452 QUADTO
--32.181 177.405 -30.384 177.405 QUADTO
--28.587 177.405 -27.548 178.452 QUADTO
--26.509 179.499 -26.509 181.312 QUADTO
--26.509 183.155 -27.556 184.202 QUADTO
--28.603 185.249 -30.431 185.249 QUADTO
-closepath
--30.399 183.983 M
--28.665 183.983 -28.665 181.312 QUADTO
--28.665 180.093 -29.126 179.382 QUADTO
--29.587 178.671 -30.384 178.671 QUADTO
--31.181 178.671 -31.649 179.382 QUADTO
--32.118 180.093 -32.118 181.327 QUADTO
--32.118 182.546 -31.657 183.265 QUADTO
--31.196 183.983 -30.399 183.983 QUADTO
-closepath
--20.974 184.265 M
--21.974 185.249 -23.13 185.249 QUADTO
--24.114 185.249 -24.731 184.648 QUADTO
--25.349 184.046 -25.349 183.093 QUADTO
--25.349 181.843 -24.356 181.171 QUADTO
--23.364 180.499 -21.505 180.499 QUADTO
--20.974 180.499 lineto
--20.974 179.812 lineto
--20.974 178.64 -22.302 178.64 QUADTO
--23.489 178.64 -24.692 179.312 QUADTO
--24.692 177.921 lineto
--23.317 177.405 -21.974 177.405 QUADTO
--19.021 177.405 -19.021 179.749 QUADTO
--19.021 183.062 lineto
--19.021 183.952 -18.458 183.952 QUADTO
--18.364 183.952 -18.192 183.921 QUADTO
--18.146 185.062 lineto
--18.786 185.249 -19.286 185.249 QUADTO
--20.521 185.249 -20.88 184.265 QUADTO
--20.974 184.265 lineto
-closepath
--20.974 183.187 M
--20.974 181.655 lineto
--21.442 181.655 lineto
--23.411 181.655 -23.411 182.89 QUADTO
--23.411 183.312 -23.13 183.593 QUADTO
--22.849 183.874 -22.427 183.874 QUADTO
--21.708 183.874 -20.974 183.187 QUADTO
-closepath
--11.696 185.077 M
--11.696 183.655 lineto
--12.478 185.249 -14.149 185.249 QUADTO
--15.493 185.249 -16.267 184.257 QUADTO
--17.04 183.265 -17.04 181.53 QUADTO
--17.04 179.64 -16.173 178.523 QUADTO
--15.306 177.405 -13.837 177.405 QUADTO
--12.649 177.405 -11.696 178.327 QUADTO
--11.696 174.28 lineto
--9.665 174.28 lineto
--9.665 185.077 lineto
--11.696 185.077 lineto
-closepath
--11.696 179.53 M
--12.431 178.718 -13.259 178.718 QUADTO
--14.009 178.718 -14.446 179.437 QUADTO
--14.884 180.155 -14.884 181.358 QUADTO
--14.884 183.655 -13.415 183.655 QUADTO
--12.509 183.655 -11.696 182.499 QUADTO
--11.696 179.53 lineto
-closepath
--2.306 185.077 M
--2.306 178.843 lineto
--3.353 178.843 lineto
--3.353 177.577 lineto
--2.306 177.577 lineto
--2.306 177.03 lineto
--2.306 174.108 0.46 174.108 QUADTO
-1.351 174.108 2.304 174.374 QUADTO
-2.304 175.733 lineto
-1.444 175.374 0.757 175.374 QUADTO
--0.29 175.374 -0.29 176.952 QUADTO
--0.29 177.577 lineto
-1.616 177.577 lineto
-1.616 178.843 lineto
--0.29 178.843 lineto
--0.29 185.077 lineto
--2.306 185.077 lineto
-closepath
-3.279 185.077 M
-3.279 177.577 lineto
-5.295 177.577 lineto
-5.295 178.983 lineto
-6.092 177.405 7.701 177.405 QUADTO
-7.889 177.405 8.076 177.437 QUADTO
-8.076 179.249 lineto
-7.639 179.093 7.264 179.093 QUADTO
-6.061 179.093 5.295 180.312 QUADTO
-5.295 185.077 lineto
-3.279 185.077 lineto
-closepath
-13.315 184.265 M
-12.315 185.249 11.159 185.249 QUADTO
-10.175 185.249 9.558 184.648 QUADTO
-8.94 184.046 8.94 183.093 QUADTO
-8.94 181.843 9.933 181.171 QUADTO
-10.925 180.499 12.784 180.499 QUADTO
-13.315 180.499 lineto
-13.315 179.812 lineto
-13.315 178.64 11.987 178.64 QUADTO
-10.8 178.64 9.597 179.312 QUADTO
-9.597 177.921 lineto
-10.972 177.405 12.315 177.405 QUADTO
-15.269 177.405 15.269 179.749 QUADTO
-15.269 183.062 lineto
-15.269 183.952 15.831 183.952 QUADTO
-15.925 183.952 16.097 183.921 QUADTO
-16.144 185.062 lineto
-15.503 185.249 15.003 185.249 QUADTO
-13.769 185.249 13.409 184.265 QUADTO
-13.315 184.265 lineto
-closepath
-13.315 183.187 M
-13.315 181.655 lineto
-12.847 181.655 lineto
-10.878 181.655 10.878 182.89 QUADTO
-10.878 183.312 11.159 183.593 QUADTO
-11.44 183.874 11.862 183.874 QUADTO
-12.581 183.874 13.315 183.187 QUADTO
-closepath
-23.405 184.905 M
-22.155 185.249 21.077 185.249 QUADTO
-19.28 185.249 18.241 184.194 QUADTO
-17.202 183.14 17.202 181.312 QUADTO
-17.202 179.483 18.272 178.444 QUADTO
-19.343 177.405 21.233 177.405 QUADTO
-22.155 177.405 23.343 177.687 QUADTO
-23.343 179.155 lineto
-22.108 178.749 21.358 178.749 QUADTO
-20.452 178.749 19.897 179.452 QUADTO
-19.343 180.155 19.343 181.296 QUADTO
-19.343 182.483 19.944 183.194 QUADTO
-20.546 183.905 21.53 183.905 QUADTO
-22.452 183.905 23.405 183.515 QUADTO
-23.405 184.905 lineto
-closepath
-29.2 185.03 M
-28.466 185.249 28.06 185.249 QUADTO
-25.419 185.249 25.419 182.78 QUADTO
-25.419 178.843 lineto
-24.575 178.843 lineto
-24.575 177.577 lineto
-25.419 177.577 lineto
-25.419 176.312 lineto
-27.45 176.077 lineto
-27.45 177.577 lineto
-29.044 177.577 lineto
-29.044 178.843 lineto
-27.45 178.843 lineto
-27.45 182.515 lineto
-27.45 183.905 28.575 183.905 QUADTO
-28.825 183.905 29.2 183.812 QUADTO
-29.2 185.03 lineto
-closepath
-30.999 185.077 M
-30.999 177.577 lineto
-33.015 177.577 lineto
-33.015 185.077 lineto
-30.999 185.077 lineto
-closepath
-30.999 176.312 M
-30.999 174.624 lineto
-33.015 174.624 lineto
-33.015 176.312 lineto
-30.999 176.312 lineto
-closepath
-38.708 185.249 M
-36.942 185.249 35.911 184.187 QUADTO
-34.88 183.124 34.88 181.327 QUADTO
-34.88 179.499 35.919 178.452 QUADTO
-36.958 177.405 38.755 177.405 QUADTO
-40.552 177.405 41.591 178.452 QUADTO
-42.63 179.499 42.63 181.312 QUADTO
-42.63 183.155 41.583 184.202 QUADTO
-40.536 185.249 38.708 185.249 QUADTO
-closepath
-38.739 183.983 M
-40.474 183.983 40.474 181.312 QUADTO
-40.474 180.093 40.013 179.382 QUADTO
-39.552 178.671 38.755 178.671 QUADTO
-37.958 178.671 37.489 179.382 QUADTO
-37.021 180.093 37.021 181.327 QUADTO
-37.021 182.546 37.481 183.265 QUADTO
-37.942 183.983 38.739 183.983 QUADTO
-closepath
-44.493 185.077 M
-44.493 177.577 lineto
-46.509 177.577 lineto
-46.509 178.983 lineto
-47.509 177.405 49.071 177.405 QUADTO
-50.071 177.405 50.657 178.038 QUADTO
-51.243 178.671 51.243 179.765 QUADTO
-51.243 185.077 lineto
-49.212 185.077 lineto
-49.212 180.265 lineto
-49.212 178.999 48.368 178.999 QUADTO
-47.399 178.999 46.509 180.358 QUADTO
-46.509 185.077 lineto
-44.493 185.077 lineto
-closepath
-61.552 174.202 M
-61.552 175.499 lineto
-59.724 177.343 59.724 180.687 QUADTO
-59.724 184.046 61.552 185.874 QUADTO
-61.552 187.187 lineto
-59.88 186.28 58.88 184.507 QUADTO
-57.88 182.733 57.88 180.687 QUADTO
-57.88 178.64 58.864 176.89 QUADTO
-59.849 175.14 61.552 174.202 QUADTO
-closepath
-63.053 185.327 M
-71.006 174.702 lineto
-72.365 174.702 lineto
-64.412 185.327 lineto
-63.053 185.327 lineto
-closepath
-64.771 180.015 M
-63.678 180.015 63.037 179.335 QUADTO
-62.396 178.655 62.396 177.483 QUADTO
-62.396 176.312 63.037 175.632 QUADTO
-63.678 174.952 64.803 174.952 QUADTO
-65.912 174.952 66.561 175.632 QUADTO
-67.209 176.312 67.209 177.483 QUADTO
-67.209 178.671 66.561 179.343 QUADTO
-65.912 180.015 64.771 180.015 QUADTO
-closepath
-64.787 178.999 M
-65.678 178.999 65.678 177.483 QUADTO
-65.678 175.968 64.803 175.968 QUADTO
-63.912 175.968 63.912 177.483 QUADTO
-63.912 178.999 64.787 178.999 QUADTO
-closepath
-70.6 185.077 M
-69.49 185.077 68.85 184.398 QUADTO
-68.209 183.718 68.209 182.546 QUADTO
-68.209 181.358 68.857 180.687 QUADTO
-69.506 180.015 70.615 180.015 QUADTO
-71.74 180.015 72.381 180.687 QUADTO
-73.021 181.358 73.021 182.546 QUADTO
-73.021 183.733 72.381 184.405 QUADTO
-71.74 185.077 70.6 185.077 QUADTO
-closepath
-70.6 184.062 M
-71.506 184.062 71.506 182.546 QUADTO
-71.506 181.03 70.615 181.03 QUADTO
-69.725 181.03 69.725 182.546 QUADTO
-69.725 184.062 70.6 184.062 QUADTO
-closepath
-73.674 174.202 M
-73.674 175.499 lineto
-75.502 177.343 75.502 180.687 QUADTO
-75.502 184.046 73.674 185.874 QUADTO
-73.674 187.187 lineto
-75.346 186.28 76.346 184.507 QUADTO
-77.346 182.733 77.346 180.687 QUADTO
-77.346 178.64 76.361 176.89 QUADTO
-75.377 175.14 73.674 174.202 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.358 34.247 M
-69.358 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-99.703 34.247 M
-99.703 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-121.232 34.247 M
-121.232 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-137.932 34.247 M
-137.932 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-151.576 34.247 M
-151.576 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-163.113 34.247 M
-163.113 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-173.106 34.247 M
-173.106 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-181.921 34.247 M
-181.921 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-189.806 34.247 M
-189.806 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-189.806 34.247 M
-189.806 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-241.68 34.247 M
-241.68 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-272.024 34.247 M
-272.024 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-293.554 34.247 M
-293.554 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-310.253 34.247 M
-310.253 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-323.898 34.247 M
-323.898 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-335.434 34.247 M
-335.434 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-345.428 34.247 M
-345.428 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-354.242 34.247 M
-354.242 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-362.127 34.247 M
-362.127 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-362.127 34.247 M
-362.127 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 325.931 M
-388 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 297.65 M
-388 297.65 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 269.369 M
-388 269.369 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 241.089 M
-388 241.089 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 212.808 M
-388 212.808 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 184.527 M
-388 184.527 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 156.246 M
-388 156.246 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 127.965 M
-388 127.965 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 99.684 M
-388 99.684 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 71.403 M
-388 71.403 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 43.122 M
-388 43.122 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.358 166.164 M
-121.232 188.591 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.232 188.591 M
-173.106 206.28 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.106 206.28 M
-224.98 217.044 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.98 217.044 M
-276.854 198.902 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.854 198.902 M
-328.728 194.55 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.728 194.55 M
-362.127 209.898 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.358 72.498 M
-121.232 90.467 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.232 90.467 M
-173.106 94.35 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.106 94.35 M
-224.98 110.524 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.98 110.524 M
-276.854 71.94 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.854 71.94 M
-328.728 48.136 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.728 48.136 M
-362.127 70.767 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.358 93.977 M
-121.232 59.056 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.232 59.056 M
-173.106 71.454 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.106 71.454 M
-224.98 110.612 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.98 110.612 M
-276.854 75.962 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.854 75.962 M
-328.728 83.295 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.728 83.295 M
-362.127 58.439 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-69.358 163.164 M
-72.358 169.164 lineto
-66.358 169.164 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.358 163.164 M
-72.358 169.164 lineto
-66.358 169.164 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-121.232 185.591 M
-124.232 191.591 lineto
-118.232 191.591 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.232 185.591 M
-124.232 191.591 lineto
-118.232 191.591 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-173.106 203.28 M
-176.106 209.28 lineto
-170.106 209.28 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.106 203.28 M
-176.106 209.28 lineto
-170.106 209.28 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-224.98 214.044 M
-227.98 220.044 lineto
-221.98 220.044 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-224.98 214.044 M
-227.98 220.044 lineto
-221.98 220.044 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-276.854 195.902 M
-279.854 201.902 lineto
-273.854 201.902 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-276.854 195.902 M
-279.854 201.902 lineto
-273.854 201.902 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-328.728 191.55 M
-331.728 197.55 lineto
-325.728 197.55 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-328.728 191.55 M
-331.728 197.55 lineto
-325.728 197.55 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-362.127 206.898 M
-365.127 212.898 lineto
-359.127 212.898 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.127 206.898 M
-365.127 212.898 lineto
-359.127 212.898 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-72.358 72.498 M
-72.358 74.154 71.015 75.498 69.358 75.498 curveto
-67.701 75.498 66.358 74.154 66.358 72.498 curveto
-66.358 70.841 67.701 69.498 69.358 69.498 curveto
-71.015 69.498 72.358 70.841 72.358 72.498 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.358 72.498 M
-72.358 74.154 71.015 75.498 69.358 75.498 curveto
-67.701 75.498 66.358 74.154 66.358 72.498 curveto
-66.358 70.841 67.701 69.498 69.358 69.498 curveto
-71.015 69.498 72.358 70.841 72.358 72.498 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-124.232 90.467 M
-124.232 92.124 122.889 93.467 121.232 93.467 curveto
-119.575 93.467 118.232 92.124 118.232 90.467 curveto
-118.232 88.81 119.575 87.467 121.232 87.467 curveto
-122.889 87.467 124.232 88.81 124.232 90.467 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.232 90.467 M
-124.232 92.124 122.889 93.467 121.232 93.467 curveto
-119.575 93.467 118.232 92.124 118.232 90.467 curveto
-118.232 88.81 119.575 87.467 121.232 87.467 curveto
-122.889 87.467 124.232 88.81 124.232 90.467 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-176.106 94.35 M
-176.106 96.007 174.763 97.35 173.106 97.35 curveto
-171.449 97.35 170.106 96.007 170.106 94.35 curveto
-170.106 92.693 171.449 91.35 173.106 91.35 curveto
-174.763 91.35 176.106 92.693 176.106 94.35 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-176.106 94.35 M
-176.106 96.007 174.763 97.35 173.106 97.35 curveto
-171.449 97.35 170.106 96.007 170.106 94.35 curveto
-170.106 92.693 171.449 91.35 173.106 91.35 curveto
-174.763 91.35 176.106 92.693 176.106 94.35 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-227.98 110.524 M
-227.98 112.181 226.637 113.524 224.98 113.524 curveto
-223.323 113.524 221.98 112.181 221.98 110.524 curveto
-221.98 108.867 223.323 107.524 224.98 107.524 curveto
-226.637 107.524 227.98 108.867 227.98 110.524 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.98 110.524 M
-227.98 112.181 226.637 113.524 224.98 113.524 curveto
-223.323 113.524 221.98 112.181 221.98 110.524 curveto
-221.98 108.867 223.323 107.524 224.98 107.524 curveto
-226.637 107.524 227.98 108.867 227.98 110.524 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-279.854 71.94 M
-279.854 73.597 278.511 74.94 276.854 74.94 curveto
-275.197 74.94 273.854 73.597 273.854 71.94 curveto
-273.854 70.284 275.197 68.94 276.854 68.94 curveto
-278.511 68.94 279.854 70.284 279.854 71.94 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-279.854 71.94 M
-279.854 73.597 278.511 74.94 276.854 74.94 curveto
-275.197 74.94 273.854 73.597 273.854 71.94 curveto
-273.854 70.284 275.197 68.94 276.854 68.94 curveto
-278.511 68.94 279.854 70.284 279.854 71.94 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-331.728 48.136 M
-331.728 49.793 330.385 51.136 328.728 51.136 curveto
-327.071 51.136 325.728 49.793 325.728 48.136 curveto
-325.728 46.48 327.071 45.136 328.728 45.136 curveto
-330.385 45.136 331.728 46.48 331.728 48.136 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-331.728 48.136 M
-331.728 49.793 330.385 51.136 328.728 51.136 curveto
-327.071 51.136 325.728 49.793 325.728 48.136 curveto
-325.728 46.48 327.071 45.136 328.728 45.136 curveto
-330.385 45.136 331.728 46.48 331.728 48.136 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-365.127 70.767 M
-365.127 72.424 363.784 73.767 362.127 73.767 curveto
-360.47 73.767 359.127 72.424 359.127 70.767 curveto
-359.127 69.11 360.47 67.767 362.127 67.767 curveto
-363.784 67.767 365.127 69.11 365.127 70.767 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-365.127 70.767 M
-365.127 72.424 363.784 73.767 362.127 73.767 curveto
-360.47 73.767 359.127 72.424 359.127 70.767 curveto
-359.127 69.11 360.47 67.767 362.127 67.767 curveto
-363.784 67.767 365.127 69.11 365.127 70.767 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-66.358 90.977 M
-72.358 90.977 lineto
-72.358 96.977 lineto
-66.358 96.977 lineto
-66.358 90.977 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.358 90.977 M
-72.358 90.977 lineto
-72.358 96.977 lineto
-66.358 96.977 lineto
-66.358 90.977 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-118.232 56.056 M
-124.232 56.056 lineto
-124.232 62.056 lineto
-118.232 62.056 lineto
-118.232 56.056 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-118.232 56.056 M
-124.232 56.056 lineto
-124.232 62.056 lineto
-118.232 62.056 lineto
-118.232 56.056 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-170.106 68.454 M
-176.106 68.454 lineto
-176.106 74.454 lineto
-170.106 74.454 lineto
-170.106 68.454 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.106 68.454 M
-176.106 68.454 lineto
-176.106 74.454 lineto
-170.106 74.454 lineto
-170.106 68.454 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-221.98 107.612 M
-227.98 107.612 lineto
-227.98 113.612 lineto
-221.98 113.612 lineto
-221.98 107.612 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.98 107.612 M
-227.98 107.612 lineto
-227.98 113.612 lineto
-221.98 113.612 lineto
-221.98 107.612 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-273.854 72.962 M
-279.854 72.962 lineto
-279.854 78.962 lineto
-273.854 78.962 lineto
-273.854 72.962 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-273.854 72.962 M
-279.854 72.962 lineto
-279.854 78.962 lineto
-273.854 78.962 lineto
-273.854 72.962 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-325.728 80.295 M
-331.728 80.295 lineto
-331.728 86.295 lineto
-325.728 86.295 lineto
-325.728 80.295 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-325.728 80.295 M
-331.728 80.295 lineto
-331.728 86.295 lineto
-325.728 86.295 lineto
-325.728 80.295 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-359.127 55.439 M
-365.127 55.439 lineto
-365.127 61.439 lineto
-359.127 61.439 lineto
-359.127 55.439 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-359.127 55.439 M
-365.127 55.439 lineto
-365.127 61.439 lineto
-359.127 61.439 lineto
-359.127 55.439 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-0.5 setlinewidth
-newpath
-58.148 34.247 M
-388 34.247 lineto
-388 325.931 lineto
-58.148 325.931 lineto
-58.148 34.247 lineto
-closepath
-stroke
-grestore
-%%Trailer
-%%Pages: 1
-%%EOF
diff --git a/sim/gobs/wiki/dc02kpv03.cfg b/sim/gobs/wiki/dc02kpv03.cfg
deleted file mode 100644
index 016f47b..0000000
--- a/sim/gobs/wiki/dc02kpv03.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv03.cfg system_size_20-1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/wiki/dc02kpv03.eps b/sim/gobs/wiki/dc02kpv03.eps
deleted file mode 100644
index f27511c..0000000
--- a/sim/gobs/wiki/dc02kpv03.eps
+++ /dev/null
@@ -1,4569 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (Apache XML Graphics Commons: EPS Generator for Java2D)
-%%CreationDate: 2009-10-05T12:10:02
-%%Pages: (atend)
-%%BoundingBox: 0 0 400 400
-%%LanguageLevel: 3
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset (Apache XML Graphics Std ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2001-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (Basic set of procedures used by the XML Graphics project \(Batik and FOP\))
-/bd{bind def}bind def
-/ld{load def}bd
-/M/moveto ld
-/RM/rmoveto ld
-/t/show ld
-/A/ashow ld
-/cp/closepath ld
-/re {4 2 roll M
-1 index 0 rlineto
-0 exch rlineto
-neg 0 rlineto
-cp } bd
-/_ctm matrix def
-/_tm matrix def
-/BT { _ctm currentmatrix pop matrix _tm copy pop 0 0 moveto } bd
-/ET { _ctm setmatrix } bd
-/iTm { _ctm setmatrix _tm concat } bd
-/Tm { _tm astore pop iTm 0 0 moveto } bd
-/ux 0.0 def
-/uy 0.0 def
-/F {
- /Tp exch def
- /Tf exch def
- Tf findfont Tp scalefont setfont
- /cf Tf def /cs Tp def /cw ( ) stringwidth pop def
-} bd
-/ULS {currentpoint /uy exch def /ux exch def} bd
-/ULE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add moveto Tcx uy To add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/OLE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs add moveto Tcx uy To add cs add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/SOE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs 10 mul 26 idiv add moveto Tcx uy To add cs 10 mul 26 idiv add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/QUADTO {
-/Y22 exch store
-/X22 exch store
-/Y21 exch store
-/X21 exch store
-currentpoint
-/Y21 load 2 mul add 3 div exch
-/X21 load 2 mul add 3 div exch
-/X21 load 2 mul /X22 load add 3 div
-/Y21 load 2 mul /Y22 load add 3 div
-/X22 load /Y22 load curveto
-} bd
-/SSPD {
-dup length /d exch dict def
-{
-/v exch def
-/k exch def
-currentpagedevice k known {
-/cpdv currentpagedevice k get def
-v cpdv ne {
-/upd false def
-/nullv v type /nulltype eq def
-/nullcpdv cpdv type /nulltype eq def
-nullv nullcpdv or
-{
-/upd true def
-} {
-/sametype v type cpdv type eq def
-sametype {
-v type /arraytype eq {
-/vlen v length def
-/cpdvlen cpdv length def
-vlen cpdvlen eq {
-0 1 vlen 1 sub {
-/i exch def
-/obj v i get def
-/cpdobj cpdv i get def
-obj cpdobj ne {
-/upd true def
-exit
-} if
-} for
-} {
-/upd true def
-} ifelse
-} {
-v type /dicttype eq {
-v {
-/dv exch def
-/dk exch def
-/cpddv cpdv dk get def
-dv cpddv ne {
-/upd true def
-exit
-} if
-} forall
-} {
-/upd true def
-} ifelse
-} ifelse
-} if
-} ifelse
-upd true eq {
-d k v put
-} if
-} if
-} if
-} forall
-d length 0 gt {
-d setpagedevice
-} if
-} bd
-%%EndResource
-%%BeginResource: procset (Apache XML Graphics EPS ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2002-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (EPS procedures used by the Apache XML Graphics project \(Batik and FOP\))
-/BeginEPSF { %def
-/b4_Inc_state save def % Save state for cleanup
-/dict_count countdictstack def % Count objects on dict stack
-/op_count count 1 sub def % Count objects on operand stack
-userdict begin % Push userdict on dict stack
-/showpage { } def % Redefine showpage, { } = null proc
-0 setgray 0 setlinecap % Prepare graphics state
-1 setlinewidth 0 setlinejoin
-10 setmiterlimit [ ] 0 setdash newpath
-/languagelevel where % If level not equal to 1 then
-{pop languagelevel % set strokeadjust and
-1 ne % overprint to their defaults.
-{false setstrokeadjust false setoverprint
-} if
-} if
-} bd
-/EndEPSF { %def
-count op_count sub {pop} repeat % Clean up stacks
-countdictstack dict_count sub {end} repeat
-b4_Inc_state restore
-} bd
-%%EndResource
-%%EndProlog
-%%Page: 1 1
-%%PageBoundingBox: 0 0 400 400
-%%BeginPageSetup
-[1 0 0 -1 0 400] concat
-%%EndPageSetup
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-81.354 20.249 M
-81.354 5.796 lineto
-85.338 5.796 lineto
-88.807 15.968 lineto
-92.4 5.796 lineto
-95.885 5.796 lineto
-95.885 20.249 lineto
-93.119 20.249 lineto
-93.119 9.343 lineto
-89.588 19.281 lineto
-87.166 19.281 lineto
-83.713 9.187 lineto
-83.713 20.249 lineto
-81.354 20.249 lineto
-closepath
-104.758 19.093 M
-103.305 20.499 101.664 20.499 QUADTO
-100.258 20.499 99.375 19.64 QUADTO
-98.492 18.781 98.492 17.406 QUADTO
-98.492 15.624 99.914 14.663 QUADTO
-101.336 13.703 103.992 13.703 QUADTO
-104.758 13.703 lineto
-104.758 12.734 lineto
-104.758 11.062 102.852 11.062 QUADTO
-101.164 11.062 99.43 12.015 QUADTO
-99.43 10.031 lineto
-101.398 9.281 103.32 9.281 QUADTO
-107.523 9.281 107.523 12.624 QUADTO
-107.523 17.374 lineto
-107.523 18.64 108.336 18.64 QUADTO
-108.492 18.64 108.727 18.593 QUADTO
-108.789 20.218 lineto
-107.867 20.499 107.164 20.499 QUADTO
-105.398 20.499 104.883 19.093 QUADTO
-104.758 19.093 lineto
-closepath
-104.758 17.546 M
-104.758 15.359 lineto
-104.07 15.359 lineto
-101.273 15.359 101.273 17.124 QUADTO
-101.273 17.718 101.68 18.124 QUADTO
-102.086 18.531 102.68 18.531 QUADTO
-103.695 18.531 104.758 17.546 QUADTO
-closepath
-110.125 20.249 M
-113.797 14.874 lineto
-110.281 9.531 lineto
-113.562 9.531 lineto
-115.875 12.921 lineto
-118.078 9.531 lineto
-120.422 9.531 lineto
-117.062 14.796 lineto
-120.672 20.249 lineto
-117.375 20.249 lineto
-114.969 16.703 lineto
-112.516 20.249 lineto
-110.125 20.249 lineto
-closepath
-123.082 20.249 M
-123.082 9.531 lineto
-125.973 9.531 lineto
-125.973 20.249 lineto
-123.082 20.249 lineto
-closepath
-123.082 7.718 M
-123.082 5.312 lineto
-125.973 5.312 lineto
-125.973 7.718 lineto
-123.082 7.718 lineto
-closepath
-129.586 20.249 M
-129.586 9.531 lineto
-132.352 9.531 lineto
-132.352 11.546 lineto
-133.617 9.281 135.961 9.281 QUADTO
-137.18 9.281 137.961 9.874 QUADTO
-138.742 10.468 138.914 11.546 QUADTO
-140.414 9.281 142.555 9.281 QUADTO
-145.492 9.281 145.492 12.531 QUADTO
-145.492 20.249 lineto
-142.711 20.249 lineto
-142.711 13.468 lineto
-142.711 11.562 141.445 11.562 QUADTO
-140.148 11.562 138.914 13.437 QUADTO
-138.914 20.249 lineto
-136.148 20.249 lineto
-136.148 13.468 lineto
-136.148 11.562 134.867 11.562 QUADTO
-133.586 11.562 132.352 13.437 QUADTO
-132.352 20.249 lineto
-129.586 20.249 lineto
-closepath
-155.605 20.249 M
-155.605 18.234 lineto
-154.199 20.499 151.949 20.499 QUADTO
-150.512 20.499 149.684 19.585 QUADTO
-148.855 18.671 148.855 17.109 QUADTO
-148.855 9.531 lineto
-151.746 9.531 lineto
-151.746 16.39 lineto
-151.746 18.218 152.965 18.218 QUADTO
-154.34 18.218 155.605 16.281 QUADTO
-155.605 9.531 lineto
-158.496 9.531 lineto
-158.496 20.249 lineto
-155.605 20.249 lineto
-closepath
-162.115 20.249 M
-162.115 9.531 lineto
-164.881 9.531 lineto
-164.881 11.546 lineto
-166.146 9.281 168.49 9.281 QUADTO
-169.709 9.281 170.49 9.874 QUADTO
-171.271 10.468 171.443 11.546 QUADTO
-172.943 9.281 175.084 9.281 QUADTO
-178.021 9.281 178.021 12.531 QUADTO
-178.021 20.249 lineto
-175.24 20.249 lineto
-175.24 13.468 lineto
-175.24 11.562 173.975 11.562 QUADTO
-172.678 11.562 171.443 13.437 QUADTO
-171.443 20.249 lineto
-168.678 20.249 lineto
-168.678 13.468 lineto
-168.678 11.562 167.396 11.562 QUADTO
-166.115 11.562 164.881 13.437 QUADTO
-164.881 20.249 lineto
-162.115 20.249 lineto
-closepath
-188.102 20.249 M
-188.102 5.796 lineto
-193.508 5.796 lineto
-197.914 5.796 197.914 9.374 QUADTO
-197.914 10.718 197.164 11.82 QUADTO
-196.414 12.921 195.102 13.499 QUADTO
-199.836 20.249 lineto
-196.18 20.249 lineto
-192.586 14.343 lineto
-190.93 14.343 lineto
-190.93 20.249 lineto
-188.102 20.249 lineto
-closepath
-190.93 12.359 M
-191.617 12.359 lineto
-194.898 12.359 194.898 9.718 QUADTO
-194.898 7.781 191.977 7.781 QUADTO
-190.93 7.781 lineto
-190.93 12.359 lineto
-closepath
-210.619 19.89 M
-208.572 20.499 206.713 20.499 QUADTO
-204.041 20.499 202.486 18.976 QUADTO
-200.932 17.453 200.932 14.812 QUADTO
-200.932 12.312 202.354 10.796 QUADTO
-203.775 9.281 206.104 9.281 QUADTO
-208.463 9.281 209.541 10.765 QUADTO
-210.619 12.249 210.619 15.468 QUADTO
-203.979 15.468 lineto
-204.275 18.531 207.338 18.531 QUADTO
-208.807 18.531 210.619 17.859 QUADTO
-210.619 19.89 lineto
-closepath
-203.932 13.828 M
-207.791 13.828 lineto
-207.791 11.093 206.01 11.093 QUADTO
-204.213 11.093 203.932 13.828 QUADTO
-closepath
-213.619 20.249 M
-213.619 4.828 lineto
-216.51 4.828 lineto
-216.51 11.546 lineto
-217.619 9.281 220.01 9.281 QUADTO
-221.947 9.281 223.057 10.695 QUADTO
-224.166 12.109 224.166 14.593 QUADTO
-224.166 17.281 222.916 18.89 QUADTO
-221.666 20.499 219.572 20.499 QUADTO
-217.775 20.499 216.51 19.171 QUADTO
-215.963 20.249 lineto
-213.619 20.249 lineto
-closepath
-216.51 17.453 M
-217.557 18.624 218.744 18.624 QUADTO
-219.822 18.624 220.455 17.593 QUADTO
-221.088 16.562 221.088 14.843 QUADTO
-221.088 11.546 218.963 11.546 QUADTO
-217.682 11.546 216.51 13.203 QUADTO
-216.51 17.453 lineto
-closepath
-233.496 20.249 M
-233.496 18.234 lineto
-232.09 20.499 229.84 20.499 QUADTO
-228.402 20.499 227.574 19.585 QUADTO
-226.746 18.671 226.746 17.109 QUADTO
-226.746 9.531 lineto
-229.637 9.531 lineto
-229.637 16.39 lineto
-229.637 18.218 230.855 18.218 QUADTO
-232.23 18.218 233.496 16.281 QUADTO
-233.496 9.531 lineto
-236.387 9.531 lineto
-236.387 20.249 lineto
-233.496 20.249 lineto
-closepath
-240.006 20.249 M
-240.006 9.531 lineto
-242.896 9.531 lineto
-242.896 20.249 lineto
-240.006 20.249 lineto
-closepath
-240.006 7.718 M
-240.006 5.312 lineto
-242.896 5.312 lineto
-242.896 7.718 lineto
-240.006 7.718 lineto
-closepath
-246.51 20.249 M
-246.51 4.828 lineto
-249.4 4.828 lineto
-249.4 20.249 lineto
-246.51 20.249 lineto
-closepath
-259.764 20.249 M
-259.764 18.234 lineto
-258.639 20.499 256.248 20.499 QUADTO
-254.311 20.499 253.209 19.078 QUADTO
-252.107 17.656 252.107 15.187 QUADTO
-252.107 12.484 253.357 10.882 QUADTO
-254.607 9.281 256.701 9.281 QUADTO
-258.373 9.281 259.764 10.609 QUADTO
-259.764 4.828 lineto
-262.654 4.828 lineto
-262.654 20.249 lineto
-259.764 20.249 lineto
-closepath
-259.764 12.328 M
-258.717 11.156 257.514 11.156 QUADTO
-256.451 11.156 255.818 12.179 QUADTO
-255.186 13.203 255.186 14.937 QUADTO
-255.186 18.234 257.295 18.234 QUADTO
-258.592 18.234 259.764 16.578 QUADTO
-259.764 12.328 lineto
-closepath
-272.857 20.249 M
-272.857 5.796 lineto
-275.857 5.796 lineto
-275.857 18.203 lineto
-282.373 18.203 lineto
-282.373 20.249 lineto
-272.857 20.249 lineto
-closepath
-288.988 20.499 M
-286.473 20.499 284.996 18.976 QUADTO
-283.52 17.453 283.52 14.89 QUADTO
-283.52 12.296 285.004 10.788 QUADTO
-286.488 9.281 289.051 9.281 QUADTO
-291.629 9.281 293.113 10.788 QUADTO
-294.598 12.296 294.598 14.874 QUADTO
-294.598 17.499 293.105 18.999 QUADTO
-291.613 20.499 288.988 20.499 QUADTO
-closepath
-289.035 18.687 M
-291.52 18.687 291.52 14.874 QUADTO
-291.52 13.124 290.863 12.109 QUADTO
-290.207 11.093 289.051 11.093 QUADTO
-287.91 11.093 287.254 12.109 QUADTO
-286.598 13.124 286.598 14.89 QUADTO
-286.598 16.64 287.246 17.663 QUADTO
-287.895 18.687 289.035 18.687 QUADTO
-closepath
-302.512 19.093 M
-301.059 20.499 299.418 20.499 QUADTO
-298.012 20.499 297.129 19.64 QUADTO
-296.246 18.781 296.246 17.406 QUADTO
-296.246 15.624 297.668 14.663 QUADTO
-299.09 13.703 301.746 13.703 QUADTO
-302.512 13.703 lineto
-302.512 12.734 lineto
-302.512 11.062 300.605 11.062 QUADTO
-298.918 11.062 297.184 12.015 QUADTO
-297.184 10.031 lineto
-299.152 9.281 301.074 9.281 QUADTO
-305.277 9.281 305.277 12.624 QUADTO
-305.277 17.374 lineto
-305.277 18.64 306.09 18.64 QUADTO
-306.246 18.64 306.48 18.593 QUADTO
-306.543 20.218 lineto
-305.621 20.499 304.918 20.499 QUADTO
-303.152 20.499 302.637 19.093 QUADTO
-302.512 19.093 lineto
-closepath
-302.512 17.546 M
-302.512 15.359 lineto
-301.824 15.359 lineto
-299.027 15.359 299.027 17.124 QUADTO
-299.027 17.718 299.434 18.124 QUADTO
-299.84 18.531 300.434 18.531 QUADTO
-301.449 18.531 302.512 17.546 QUADTO
-closepath
-315.77 20.249 M
-315.77 18.234 lineto
-314.645 20.499 312.254 20.499 QUADTO
-310.316 20.499 309.215 19.078 QUADTO
-308.113 17.656 308.113 15.187 QUADTO
-308.113 12.484 309.363 10.882 QUADTO
-310.613 9.281 312.707 9.281 QUADTO
-314.379 9.281 315.77 10.609 QUADTO
-315.77 4.828 lineto
-318.66 4.828 lineto
-318.66 20.249 lineto
-315.77 20.249 lineto
-closepath
-315.77 12.328 M
-314.723 11.156 313.52 11.156 QUADTO
-312.457 11.156 311.824 12.179 QUADTO
-311.191 13.203 311.191 14.937 QUADTO
-311.191 18.234 313.301 18.234 QUADTO
-314.598 18.234 315.77 16.578 QUADTO
-315.77 12.328 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-79.864 376.452 M
-320.136 376.452 lineto
-320.136 399 lineto
-79.864 399 lineto
-79.864 376.452 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 376.952 M
-319.636 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 398.5 M
-319.636 398.5 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 398.5 M
-80.364 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.636 398.5 M
-319.636 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.864 387.726 M
-97.864 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-87.864 384.726 M
-93.864 384.726 lineto
-93.864 390.726 lineto
-87.864 390.726 lineto
-87.864 384.726 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.864 384.726 M
-93.864 384.726 lineto
-93.864 390.726 lineto
-87.864 390.726 lineto
-87.864 384.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-102.989 392.002 M
-102.989 383.33 lineto
-105.349 383.33 lineto
-106.911 383.33 107.599 383.861 QUADTO
-108.286 384.392 108.286 385.595 QUADTO
-108.286 386.986 107.349 387.767 QUADTO
-106.411 388.549 104.755 388.549 QUADTO
-104.208 388.549 lineto
-104.208 392.002 lineto
-102.989 392.002 lineto
-closepath
-104.208 387.627 M
-104.708 387.627 lineto
-105.802 387.627 106.396 387.119 QUADTO
-106.989 386.611 106.989 385.689 QUADTO
-106.989 384.924 106.521 384.588 QUADTO
-106.052 384.252 104.958 384.252 QUADTO
-104.208 384.252 lineto
-104.208 387.627 lineto
-closepath
-114.013 388.689 M
-112.528 384.939 lineto
-111.06 388.689 lineto
-114.013 388.689 lineto
-closepath
-115.31 392.002 M
-114.372 389.595 lineto
-110.7 389.595 lineto
-109.747 392.002 lineto
-108.591 392.002 lineto
-112.044 383.33 lineto
-113.263 383.33 lineto
-116.638 392.002 lineto
-115.31 392.002 lineto
-closepath
-119.589 392.22 M
-118.729 392.22 117.37 391.83 QUADTO
-117.37 390.611 lineto
-118.823 391.299 119.776 391.299 QUADTO
-120.495 391.299 120.94 390.916 QUADTO
-121.386 390.533 121.386 389.908 QUADTO
-121.386 389.408 121.097 389.049 QUADTO
-120.808 388.689 120.026 388.252 QUADTO
-119.433 387.908 lineto
-118.323 387.267 117.87 386.713 QUADTO
-117.417 386.158 117.417 385.408 QUADTO
-117.417 384.408 118.144 383.759 QUADTO
-118.87 383.111 119.995 383.111 QUADTO
-120.995 383.111 122.104 383.439 QUADTO
-122.104 384.564 lineto
-120.729 384.033 120.058 384.033 QUADTO
-119.417 384.033 119.003 384.369 QUADTO
-118.589 384.705 118.589 385.22 QUADTO
-118.589 385.658 118.894 385.994 QUADTO
-119.198 386.33 120.011 386.799 QUADTO
-120.62 387.142 lineto
-121.745 387.783 122.19 388.353 QUADTO
-122.636 388.924 122.636 389.72 QUADTO
-122.636 390.845 121.808 391.533 QUADTO
-120.979 392.22 119.589 392.22 QUADTO
-closepath
-126.427 392.002 M
-126.427 384.252 lineto
-123.349 384.252 lineto
-123.349 383.33 lineto
-130.724 383.33 lineto
-130.724 384.252 lineto
-127.646 384.252 lineto
-127.646 392.002 lineto
-126.427 392.002 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-136.827 387.726 M
-150.827 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-146.827 387.726 M
-146.827 389.383 145.484 390.726 143.827 390.726 curveto
-142.17 390.726 140.827 389.383 140.827 387.726 curveto
-140.827 386.069 142.17 384.726 143.827 384.726 curveto
-145.484 384.726 146.827 386.069 146.827 387.726 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.827 387.726 M
-146.827 389.383 145.484 390.726 143.827 390.726 curveto
-142.17 390.726 140.827 389.383 140.827 387.726 curveto
-140.827 386.069 142.17 384.726 143.827 384.726 curveto
-145.484 384.726 146.827 386.069 146.827 387.726 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-155.952 392.002 M
-155.952 383.33 lineto
-157.108 383.33 lineto
-157.108 387.595 lineto
-160.608 383.33 lineto
-161.843 383.33 lineto
-158.452 387.47 lineto
-162.452 392.002 lineto
-160.89 392.002 lineto
-157.108 387.611 lineto
-157.108 392.002 lineto
-155.952 392.002 lineto
-closepath
-167.099 391.189 M
-166.067 392.142 165.099 392.142 QUADTO
-164.302 392.142 163.786 391.65 QUADTO
-163.271 391.158 163.271 390.408 QUADTO
-163.271 389.361 164.146 388.799 QUADTO
-165.021 388.236 166.646 388.236 QUADTO
-166.927 388.236 lineto
-166.927 387.47 lineto
-166.927 386.361 165.786 386.361 QUADTO
-164.88 386.361 163.817 386.924 QUADTO
-163.817 385.97 lineto
-164.989 385.502 166.005 385.502 QUADTO
-167.067 385.502 167.575 385.978 QUADTO
-168.083 386.455 168.083 387.47 QUADTO
-168.083 390.361 lineto
-168.083 391.345 168.692 391.345 QUADTO
-168.771 391.345 168.911 391.314 QUADTO
-168.989 391.955 lineto
-168.599 392.142 168.13 392.142 QUADTO
-167.317 392.142 167.099 391.189 QUADTO
-closepath
-166.927 390.564 M
-166.927 388.924 lineto
-166.536 388.908 lineto
-165.599 388.908 165.013 389.267 QUADTO
-164.427 389.627 164.427 390.22 QUADTO
-164.427 390.627 164.716 390.916 QUADTO
-165.005 391.205 165.427 391.205 QUADTO
-166.146 391.205 166.927 390.564 QUADTO
-closepath
-174.522 392.002 M
-174.522 390.799 lineto
-173.819 392.142 172.413 392.142 QUADTO
-171.257 392.142 170.601 391.306 QUADTO
-169.944 390.47 169.944 389.017 QUADTO
-169.944 387.424 170.687 386.463 QUADTO
-171.429 385.502 172.647 385.502 QUADTO
-173.788 385.502 174.522 386.361 QUADTO
-174.522 382.752 lineto
-175.694 382.752 lineto
-175.694 392.002 lineto
-174.522 392.002 lineto
-closepath
-174.522 387.158 M
-173.632 386.361 172.835 386.361 QUADTO
-171.163 386.361 171.163 388.908 QUADTO
-171.163 391.127 172.647 391.127 QUADTO
-173.601 391.127 174.522 390.08 QUADTO
-174.522 387.158 lineto
-closepath
-182.653 391.799 M
-181.497 392.142 180.669 392.142 QUADTO
-179.263 392.142 178.38 391.213 QUADTO
-177.497 390.283 177.497 388.783 QUADTO
-177.497 387.345 178.278 386.416 QUADTO
-179.06 385.486 180.278 385.486 QUADTO
-181.435 385.486 182.06 386.306 QUADTO
-182.685 387.127 182.685 388.642 QUADTO
-182.685 389.002 lineto
-178.669 389.002 lineto
-178.919 391.267 180.888 391.267 QUADTO
-181.606 391.267 182.653 390.877 QUADTO
-182.653 391.799 lineto
-closepath
-178.716 388.127 M
-181.528 388.127 lineto
-181.528 386.361 180.2 386.361 QUADTO
-178.872 386.361 178.716 388.127 QUADTO
-closepath
-184.683 392.002 M
-184.683 385.642 lineto
-185.839 385.642 lineto
-185.839 386.83 lineto
-186.683 385.502 188.011 385.502 QUADTO
-189.276 385.502 189.745 386.83 QUADTO
-190.558 385.486 191.87 385.486 QUADTO
-192.714 385.486 193.183 385.986 QUADTO
-193.651 386.486 193.651 387.377 QUADTO
-193.651 392.002 lineto
-192.479 392.002 lineto
-192.479 387.549 lineto
-192.479 386.47 191.62 386.47 QUADTO
-190.729 386.47 189.745 387.736 QUADTO
-189.745 392.002 lineto
-188.589 392.002 lineto
-188.589 387.549 lineto
-188.589 386.455 187.698 386.455 QUADTO
-186.839 386.455 185.839 387.736 QUADTO
-185.839 392.002 lineto
-184.683 392.002 lineto
-closepath
-195.886 392.002 M
-195.886 382.752 lineto
-197.042 382.752 lineto
-197.042 392.002 lineto
-195.886 392.002 lineto
-closepath
-199.354 392.002 M
-199.354 385.642 lineto
-200.511 385.642 lineto
-200.511 392.002 lineto
-199.354 392.002 lineto
-closepath
-199.354 384.486 M
-199.354 383.33 lineto
-200.511 383.33 lineto
-200.511 384.486 lineto
-199.354 384.486 lineto
-closepath
-206.104 391.189 M
-205.073 392.142 204.104 392.142 QUADTO
-203.308 392.142 202.792 391.65 QUADTO
-202.276 391.158 202.276 390.408 QUADTO
-202.276 389.361 203.151 388.799 QUADTO
-204.026 388.236 205.651 388.236 QUADTO
-205.933 388.236 lineto
-205.933 387.47 lineto
-205.933 386.361 204.792 386.361 QUADTO
-203.886 386.361 202.823 386.924 QUADTO
-202.823 385.97 lineto
-203.995 385.502 205.011 385.502 QUADTO
-206.073 385.502 206.581 385.978 QUADTO
-207.089 386.455 207.089 387.47 QUADTO
-207.089 390.361 lineto
-207.089 391.345 207.698 391.345 QUADTO
-207.776 391.345 207.917 391.314 QUADTO
-207.995 391.955 lineto
-207.604 392.142 207.136 392.142 QUADTO
-206.323 392.142 206.104 391.189 QUADTO
-closepath
-205.933 390.564 M
-205.933 388.924 lineto
-205.542 388.908 lineto
-204.604 388.908 204.019 389.267 QUADTO
-203.433 389.627 203.433 390.22 QUADTO
-203.433 390.627 203.722 390.916 QUADTO
-204.011 391.205 204.433 391.205 QUADTO
-205.151 391.205 205.933 390.564 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-214.294 387.726 M
-228.294 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-221.294 384.726 M
-224.294 390.726 lineto
-218.294 390.726 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.294 384.726 M
-224.294 390.726 lineto
-218.294 390.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-235.778 392.002 M
-232.513 383.33 lineto
-233.731 383.33 lineto
-236.419 390.424 lineto
-239.013 383.33 lineto
-240.091 383.33 lineto
-236.935 392.002 lineto
-235.778 392.002 lineto
-closepath
-245.952 391.799 M
-244.796 392.142 243.968 392.142 QUADTO
-242.562 392.142 241.679 391.213 QUADTO
-240.796 390.283 240.796 388.783 QUADTO
-240.796 387.345 241.577 386.416 QUADTO
-242.358 385.486 243.577 385.486 QUADTO
-244.733 385.486 245.358 386.306 QUADTO
-245.983 387.127 245.983 388.642 QUADTO
-245.983 389.002 lineto
-241.968 389.002 lineto
-242.218 391.267 244.187 391.267 QUADTO
-244.905 391.267 245.952 390.877 QUADTO
-245.952 391.799 lineto
-closepath
-242.015 388.127 M
-244.827 388.127 lineto
-244.827 386.361 243.499 386.361 QUADTO
-242.171 386.361 242.015 388.127 QUADTO
-closepath
-247.981 392.002 M
-247.981 385.642 lineto
-249.138 385.642 lineto
-249.138 386.83 lineto
-249.825 385.502 251.122 385.502 QUADTO
-251.31 385.502 251.497 385.533 QUADTO
-251.497 386.611 lineto
-251.2 386.502 250.966 386.502 QUADTO
-249.872 386.502 249.138 387.799 QUADTO
-249.138 392.002 lineto
-247.981 392.002 lineto
-closepath
-254.798 392.142 M
-253.923 392.142 253.431 391.642 QUADTO
-252.938 391.142 252.938 390.236 QUADTO
-252.938 386.502 lineto
-252.142 386.502 lineto
-252.142 385.642 lineto
-252.938 385.642 lineto
-252.938 384.486 lineto
-254.095 384.377 lineto
-254.095 385.642 lineto
-255.751 385.642 lineto
-255.751 386.502 lineto
-254.095 386.502 lineto
-254.095 390.033 lineto
-254.095 391.283 255.173 391.283 QUADTO
-255.392 391.283 255.72 391.205 QUADTO
-255.72 392.002 lineto
-255.188 392.142 254.798 392.142 QUADTO
-closepath
-262.036 391.799 M
-260.88 392.142 260.052 392.142 QUADTO
-258.646 392.142 257.763 391.213 QUADTO
-256.88 390.283 256.88 388.783 QUADTO
-256.88 387.345 257.661 386.416 QUADTO
-258.442 385.486 259.661 385.486 QUADTO
-260.817 385.486 261.442 386.306 QUADTO
-262.067 387.127 262.067 388.642 QUADTO
-262.067 389.002 lineto
-258.052 389.002 lineto
-258.302 391.267 260.271 391.267 QUADTO
-260.989 391.267 262.036 390.877 QUADTO
-262.036 391.799 lineto
-closepath
-258.099 388.127 M
-260.911 388.127 lineto
-260.911 386.361 259.583 386.361 QUADTO
-258.255 386.361 258.099 388.127 QUADTO
-closepath
-263.425 392.002 M
-265.847 388.72 lineto
-263.503 385.642 lineto
-264.862 385.642 lineto
-266.722 388.08 lineto
-268.409 385.642 lineto
-269.534 385.642 lineto
-267.331 388.861 lineto
-269.722 392.002 lineto
-268.347 392.002 lineto
-266.44 389.486 lineto
-264.581 392.002 lineto
-263.425 392.002 lineto
-closepath
-281.706 391.767 M
-280.128 392.22 278.956 392.22 QUADTO
-276.878 392.22 275.776 391.041 QUADTO
-274.675 389.861 274.675 387.658 QUADTO
-274.675 385.502 275.792 384.306 QUADTO
-276.909 383.111 278.94 383.111 QUADTO
-280.253 383.111 281.69 383.502 QUADTO
-281.69 384.642 lineto
-279.894 384.033 278.94 384.033 QUADTO
-277.534 384.033 276.761 384.986 QUADTO
-275.987 385.939 275.987 387.674 QUADTO
-275.987 389.392 276.815 390.345 QUADTO
-277.644 391.299 279.144 391.299 QUADTO
-279.769 391.299 280.472 391.08 QUADTO
-280.472 388.252 lineto
-281.706 388.252 lineto
-281.706 391.767 lineto
-closepath
-283.894 392.002 M
-283.894 385.642 lineto
-285.05 385.642 lineto
-285.05 386.83 lineto
-285.737 385.502 287.034 385.502 QUADTO
-287.222 385.502 287.409 385.533 QUADTO
-287.409 386.611 lineto
-287.112 386.502 286.878 386.502 QUADTO
-285.784 386.502 285.05 387.799 QUADTO
-285.05 392.002 lineto
-283.894 392.002 lineto
-closepath
-291.288 392.142 M
-289.929 392.142 289.116 391.236 QUADTO
-288.304 390.33 288.304 388.814 QUADTO
-288.304 387.283 289.116 386.392 QUADTO
-289.929 385.502 291.335 385.502 QUADTO
-292.741 385.502 293.554 386.392 QUADTO
-294.366 387.283 294.366 388.814 QUADTO
-294.366 390.361 293.546 391.252 QUADTO
-292.726 392.142 291.288 392.142 QUADTO
-closepath
-291.304 391.283 M
-293.147 391.283 293.147 388.814 QUADTO
-293.147 386.361 291.335 386.361 QUADTO
-289.522 386.361 289.522 388.814 QUADTO
-289.522 391.283 291.304 391.283 QUADTO
-closepath
-300.159 392.002 M
-300.159 390.799 lineto
-299.237 392.142 297.925 392.142 QUADTO
-297.081 392.142 296.589 391.619 QUADTO
-296.097 391.095 296.097 390.205 QUADTO
-296.097 385.642 lineto
-297.253 385.642 lineto
-297.253 389.83 lineto
-297.253 390.549 297.464 390.853 QUADTO
-297.675 391.158 298.159 391.158 QUADTO
-299.222 391.158 300.159 389.767 QUADTO
-300.159 385.642 lineto
-301.3 385.642 lineto
-301.3 392.002 lineto
-300.159 392.002 lineto
-closepath
-303.622 394.314 M
-303.622 385.642 lineto
-304.778 385.642 lineto
-304.778 386.83 lineto
-305.481 385.502 306.903 385.502 QUADTO
-308.044 385.502 308.708 386.338 QUADTO
-309.372 387.174 309.372 388.627 QUADTO
-309.372 390.205 308.622 391.174 QUADTO
-307.872 392.142 306.653 392.142 QUADTO
-305.528 392.142 304.778 391.283 QUADTO
-304.778 394.314 lineto
-303.622 394.314 lineto
-closepath
-304.778 390.486 M
-305.669 391.283 306.481 391.283 QUADTO
-308.138 391.283 308.138 388.736 QUADTO
-308.138 386.502 306.669 386.502 QUADTO
-305.7 386.502 304.778 387.549 QUADTO
-304.778 390.486 lineto
-closepath
-312.862 392.142 M
-312.065 392.142 310.94 391.783 QUADTO
-310.94 390.72 lineto
-312.065 391.283 312.909 391.283 QUADTO
-313.409 391.283 313.737 391.009 QUADTO
-314.065 390.736 314.065 390.33 QUADTO
-314.065 389.752 313.144 389.361 QUADTO
-312.472 389.064 lineto
-310.972 388.455 310.972 387.283 QUADTO
-310.972 386.455 311.565 385.978 QUADTO
-312.159 385.502 313.175 385.502 QUADTO
-313.706 385.502 314.503 385.642 QUADTO
-314.737 385.689 lineto
-314.737 386.658 lineto
-313.769 386.361 313.206 386.361 QUADTO
-312.081 386.361 312.081 387.174 QUADTO
-312.081 387.689 312.925 388.049 QUADTO
-313.487 388.283 lineto
-314.425 388.689 314.823 389.127 QUADTO
-315.222 389.564 315.222 390.236 QUADTO
-315.222 391.064 314.558 391.603 QUADTO
-313.894 392.142 312.862 392.142 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-58.148 34.247 M
-388 34.247 lineto
-388 325.931 lineto
-58.148 325.931 lineto
-58.148 34.247 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-58.148 329.931 M
-388 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-62.77 345.481 M
-62.77 344.465 lineto
-63.27 343.293 64.802 341.903 QUADTO
-65.473 341.309 lineto
-66.739 340.153 66.739 339.012 QUADTO
-66.739 338.293 66.309 337.879 QUADTO
-65.88 337.465 65.114 337.465 QUADTO
-64.208 337.465 62.989 338.153 QUADTO
-62.989 337.137 lineto
-64.145 336.59 65.27 336.59 QUADTO
-66.489 336.59 67.231 337.247 QUADTO
-67.973 337.903 67.973 338.981 QUADTO
-67.973 339.762 67.598 340.372 QUADTO
-67.223 340.981 66.208 341.84 QUADTO
-65.77 342.215 lineto
-64.38 343.387 64.161 344.465 QUADTO
-67.927 344.465 lineto
-67.927 345.481 lineto
-62.77 345.481 lineto
-closepath
-73.124 345.7 M
-71.78 345.7 70.952 344.434 QUADTO
-70.124 343.168 70.124 341.137 QUADTO
-70.124 339.09 70.96 337.84 QUADTO
-71.796 336.59 73.155 336.59 QUADTO
-74.514 336.59 75.35 337.84 QUADTO
-76.186 339.09 76.186 341.122 QUADTO
-76.186 343.2 75.35 344.45 QUADTO
-74.514 345.7 73.124 345.7 QUADTO
-closepath
-73.139 344.825 M
-74.968 344.825 74.968 341.106 QUADTO
-74.968 337.465 73.155 337.465 QUADTO
-71.358 337.465 71.358 341.137 QUADTO
-71.358 344.825 73.139 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.358 331.931 M
-69.358 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-93.333 345.418 M
-93.333 344.34 lineto
-94.583 344.825 95.287 344.825 QUADTO
-96.115 344.825 96.638 344.34 QUADTO
-97.162 343.856 97.162 343.09 QUADTO
-97.162 341.262 94.599 341.262 QUADTO
-94.13 341.262 lineto
-94.13 340.481 lineto
-94.537 340.481 lineto
-96.943 340.481 96.943 338.793 QUADTO
-96.943 337.465 95.365 337.465 QUADTO
-94.49 337.465 93.458 337.95 QUADTO
-93.458 336.934 lineto
-94.474 336.59 95.443 336.59 QUADTO
-98.099 336.59 98.099 338.606 QUADTO
-98.099 340.137 96.287 340.778 QUADTO
-98.396 341.262 98.396 343.075 QUADTO
-98.396 344.309 97.583 345.004 QUADTO
-96.771 345.7 95.365 345.7 QUADTO
-94.552 345.7 93.333 345.418 QUADTO
-closepath
-103.468 345.7 M
-102.124 345.7 101.296 344.434 QUADTO
-100.468 343.168 100.468 341.137 QUADTO
-100.468 339.09 101.304 337.84 QUADTO
-102.14 336.59 103.499 336.59 QUADTO
-104.859 336.59 105.695 337.84 QUADTO
-106.531 339.09 106.531 341.122 QUADTO
-106.531 343.2 105.695 344.45 QUADTO
-104.859 345.7 103.468 345.7 QUADTO
-closepath
-103.484 344.825 M
-105.312 344.825 105.312 341.106 QUADTO
-105.312 337.465 103.499 337.465 QUADTO
-101.703 337.465 101.703 341.137 QUADTO
-101.703 344.825 103.484 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-99.703 331.931 M
-99.703 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.232 331.931 M
-121.232 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-137.932 331.931 M
-137.932 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-151.576 331.931 M
-151.576 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-163.113 331.931 M
-163.113 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.106 331.931 M
-173.106 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-181.921 331.931 M
-181.921 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.806 331.931 M
-189.806 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-180.236 345.481 M
-180.236 344.606 lineto
-181.971 344.606 lineto
-181.971 337.762 lineto
-180.236 338.2 lineto
-180.236 337.309 lineto
-183.127 336.59 lineto
-183.127 344.606 lineto
-184.861 344.606 lineto
-184.861 345.481 lineto
-180.236 345.481 lineto
-closepath
-189.777 345.7 M
-188.434 345.7 187.606 344.434 QUADTO
-186.777 343.168 186.777 341.137 QUADTO
-186.777 339.09 187.613 337.84 QUADTO
-188.449 336.59 189.809 336.59 QUADTO
-191.168 336.59 192.004 337.84 QUADTO
-192.84 339.09 192.84 341.122 QUADTO
-192.84 343.2 192.004 344.45 QUADTO
-191.168 345.7 189.777 345.7 QUADTO
-closepath
-189.793 344.825 M
-191.621 344.825 191.621 341.106 QUADTO
-191.621 337.465 189.809 337.465 QUADTO
-188.012 337.465 188.012 341.137 QUADTO
-188.012 344.825 189.793 344.825 QUADTO
-closepath
-197.365 345.7 M
-196.022 345.7 195.193 344.434 QUADTO
-194.365 343.168 194.365 341.137 QUADTO
-194.365 339.09 195.201 337.84 QUADTO
-196.037 336.59 197.397 336.59 QUADTO
-198.756 336.59 199.592 337.84 QUADTO
-200.428 339.09 200.428 341.122 QUADTO
-200.428 343.2 199.592 344.45 QUADTO
-198.756 345.7 197.365 345.7 QUADTO
-closepath
-197.381 344.825 M
-199.209 344.825 199.209 341.106 QUADTO
-199.209 337.465 197.397 337.465 QUADTO
-195.6 337.465 195.6 341.137 QUADTO
-195.6 344.825 197.381 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.806 331.931 M
-189.806 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-231.298 345.481 M
-231.298 344.465 lineto
-231.798 343.293 233.329 341.903 QUADTO
-234.001 341.309 lineto
-235.267 340.153 235.267 339.012 QUADTO
-235.267 338.293 234.837 337.879 QUADTO
-234.407 337.465 233.642 337.465 QUADTO
-232.735 337.465 231.517 338.153 QUADTO
-231.517 337.137 lineto
-232.673 336.59 233.798 336.59 QUADTO
-235.017 336.59 235.759 337.247 QUADTO
-236.501 337.903 236.501 338.981 QUADTO
-236.501 339.762 236.126 340.372 QUADTO
-235.751 340.981 234.735 341.84 QUADTO
-234.298 342.215 lineto
-232.907 343.387 232.689 344.465 QUADTO
-236.454 344.465 lineto
-236.454 345.481 lineto
-231.298 345.481 lineto
-closepath
-241.651 345.7 M
-240.308 345.7 239.48 344.434 QUADTO
-238.651 343.168 238.651 341.137 QUADTO
-238.651 339.09 239.487 337.84 QUADTO
-240.323 336.59 241.683 336.59 QUADTO
-243.042 336.59 243.878 337.84 QUADTO
-244.714 339.09 244.714 341.122 QUADTO
-244.714 343.2 243.878 344.45 QUADTO
-243.042 345.7 241.651 345.7 QUADTO
-closepath
-241.667 344.825 M
-243.495 344.825 243.495 341.106 QUADTO
-243.495 337.465 241.683 337.465 QUADTO
-239.886 337.465 239.886 341.137 QUADTO
-239.886 344.825 241.667 344.825 QUADTO
-closepath
-249.239 345.7 M
-247.896 345.7 247.067 344.434 QUADTO
-246.239 343.168 246.239 341.137 QUADTO
-246.239 339.09 247.075 337.84 QUADTO
-247.911 336.59 249.271 336.59 QUADTO
-250.63 336.59 251.466 337.84 QUADTO
-252.302 339.09 252.302 341.122 QUADTO
-252.302 343.2 251.466 344.45 QUADTO
-250.63 345.7 249.239 345.7 QUADTO
-closepath
-249.255 344.825 M
-251.083 344.825 251.083 341.106 QUADTO
-251.083 337.465 249.271 337.465 QUADTO
-247.474 337.465 247.474 341.137 QUADTO
-247.474 344.825 249.255 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-241.68 331.931 M
-241.68 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-272.024 331.931 M
-272.024 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-293.554 331.931 M
-293.554 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-310.253 331.931 M
-310.253 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-323.898 331.931 M
-323.898 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-335.434 331.931 M
-335.434 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-345.428 331.931 M
-345.428 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-354.242 331.931 M
-354.242 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.127 331.931 M
-362.127 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-348.764 345.481 M
-348.764 344.606 lineto
-350.498 344.606 lineto
-350.498 337.762 lineto
-348.764 338.2 lineto
-348.764 337.309 lineto
-351.655 336.59 lineto
-351.655 344.606 lineto
-353.389 344.606 lineto
-353.389 345.481 lineto
-348.764 345.481 lineto
-closepath
-358.305 345.7 M
-356.961 345.7 356.133 344.434 QUADTO
-355.305 343.168 355.305 341.137 QUADTO
-355.305 339.09 356.141 337.84 QUADTO
-356.977 336.59 358.336 336.59 QUADTO
-359.696 336.59 360.532 337.84 QUADTO
-361.368 339.09 361.368 341.122 QUADTO
-361.368 343.2 360.532 344.45 QUADTO
-359.696 345.7 358.305 345.7 QUADTO
-closepath
-358.321 344.825 M
-360.149 344.825 360.149 341.106 QUADTO
-360.149 337.465 358.336 337.465 QUADTO
-356.539 337.465 356.539 341.137 QUADTO
-356.539 344.825 358.321 344.825 QUADTO
-closepath
-365.893 345.7 M
-364.549 345.7 363.721 344.434 QUADTO
-362.893 343.168 362.893 341.137 QUADTO
-362.893 339.09 363.729 337.84 QUADTO
-364.565 336.59 365.924 336.59 QUADTO
-367.284 336.59 368.119 337.84 QUADTO
-368.955 339.09 368.955 341.122 QUADTO
-368.955 343.2 368.119 344.45 QUADTO
-367.284 345.7 365.893 345.7 QUADTO
-closepath
-365.909 344.825 M
-367.737 344.825 367.737 341.106 QUADTO
-367.737 337.465 365.924 337.465 QUADTO
-364.127 337.465 364.127 341.137 QUADTO
-364.127 344.825 365.909 344.825 QUADTO
-closepath
-373.481 345.7 M
-372.137 345.7 371.309 344.434 QUADTO
-370.481 343.168 370.481 341.137 QUADTO
-370.481 339.09 371.317 337.84 QUADTO
-372.153 336.59 373.512 336.59 QUADTO
-374.871 336.59 375.707 337.84 QUADTO
-376.543 339.09 376.543 341.122 QUADTO
-376.543 343.2 375.707 344.45 QUADTO
-374.871 345.7 373.481 345.7 QUADTO
-closepath
-373.496 344.825 M
-375.325 344.825 375.325 341.106 QUADTO
-375.325 337.465 373.512 337.465 QUADTO
-371.715 337.465 371.715 341.137 QUADTO
-371.715 344.825 373.496 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.127 331.931 M
-362.127 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-202.574 364.954 M
-202.574 357.454 lineto
-204.59 357.454 lineto
-204.59 358.86 lineto
-205.59 357.282 207.152 357.282 QUADTO
-208.152 357.282 208.738 357.915 QUADTO
-209.324 358.548 209.324 359.641 QUADTO
-209.324 364.954 lineto
-207.293 364.954 lineto
-207.293 360.141 lineto
-207.293 358.876 206.449 358.876 QUADTO
-205.48 358.876 204.59 360.235 QUADTO
-204.59 364.954 lineto
-202.574 364.954 lineto
-closepath
-214.925 365.126 M
-213.159 365.126 212.128 364.063 QUADTO
-211.097 363.001 211.097 361.204 QUADTO
-211.097 359.376 212.136 358.329 QUADTO
-213.175 357.282 214.972 357.282 QUADTO
-216.769 357.282 217.808 358.329 QUADTO
-218.847 359.376 218.847 361.188 QUADTO
-218.847 363.032 217.8 364.079 QUADTO
-216.753 365.126 214.925 365.126 QUADTO
-closepath
-214.956 363.86 M
-216.69 363.86 216.69 361.188 QUADTO
-216.69 359.97 216.229 359.259 QUADTO
-215.769 358.548 214.972 358.548 QUADTO
-214.175 358.548 213.706 359.259 QUADTO
-213.237 359.97 213.237 361.204 QUADTO
-213.237 362.423 213.698 363.141 QUADTO
-214.159 363.86 214.956 363.86 QUADTO
-closepath
-225.429 364.954 M
-225.429 363.532 lineto
-224.647 365.126 222.976 365.126 QUADTO
-221.632 365.126 220.858 364.134 QUADTO
-220.085 363.141 220.085 361.407 QUADTO
-220.085 359.516 220.952 358.399 QUADTO
-221.819 357.282 223.288 357.282 QUADTO
-224.476 357.282 225.429 358.204 QUADTO
-225.429 354.157 lineto
-227.46 354.157 lineto
-227.46 364.954 lineto
-225.429 364.954 lineto
-closepath
-225.429 359.407 M
-224.694 358.595 223.866 358.595 QUADTO
-223.116 358.595 222.679 359.313 QUADTO
-222.241 360.032 222.241 361.235 QUADTO
-222.241 363.532 223.71 363.532 QUADTO
-224.616 363.532 225.429 362.376 QUADTO
-225.429 359.407 lineto
-closepath
-236.096 364.704 M
-234.658 365.126 233.361 365.126 QUADTO
-231.486 365.126 230.4 364.055 QUADTO
-229.314 362.985 229.314 361.141 QUADTO
-229.314 359.407 230.307 358.345 QUADTO
-231.299 357.282 232.939 357.282 QUADTO
-234.58 357.282 235.338 358.321 QUADTO
-236.096 359.36 236.096 361.61 QUADTO
-231.439 361.61 lineto
-231.643 363.751 233.799 363.751 QUADTO
-234.814 363.751 236.096 363.282 QUADTO
-236.096 364.704 lineto
-closepath
-231.408 360.47 M
-234.111 360.47 lineto
-234.111 358.548 232.877 358.548 QUADTO
-231.611 358.548 231.408 360.47 QUADTO
-closepath
-237.986 364.72 M
-237.986 363.235 lineto
-239.502 363.86 240.564 363.86 QUADTO
-241.799 363.86 241.799 363.016 QUADTO
-241.799 362.47 240.783 362.048 QUADTO
-240.096 361.782 lineto
-238.986 361.329 238.502 360.813 QUADTO
-238.018 360.298 238.018 359.532 QUADTO
-238.018 358.454 238.838 357.868 QUADTO
-239.658 357.282 241.111 357.282 QUADTO
-242.033 357.282 243.299 357.548 QUADTO
-243.299 358.97 lineto
-242.08 358.548 241.283 358.548 QUADTO
-240.018 358.548 240.018 359.313 QUADTO
-240.018 359.829 240.955 360.188 QUADTO
-241.533 360.407 lineto
-242.861 360.907 243.377 361.423 QUADTO
-243.893 361.938 243.893 362.751 QUADTO
-243.893 363.798 243.01 364.462 QUADTO
-242.127 365.126 240.721 365.126 QUADTO
-239.377 365.126 237.986 364.72 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-54.148 34.247 M
-54.148 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-44.326 330.426 M
-42.982 330.426 42.154 329.16 QUADTO
-41.326 327.894 41.326 325.863 QUADTO
-41.326 323.816 42.162 322.566 QUADTO
-42.998 321.316 44.357 321.316 QUADTO
-45.717 321.316 46.553 322.566 QUADTO
-47.389 323.816 47.389 325.848 QUADTO
-47.389 327.926 46.553 329.176 QUADTO
-45.717 330.426 44.326 330.426 QUADTO
-closepath
-44.342 329.551 M
-46.17 329.551 46.17 325.832 QUADTO
-46.17 322.191 44.357 322.191 QUADTO
-42.561 322.191 42.561 325.863 QUADTO
-42.561 329.551 44.342 329.551 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 325.931 M
-54.148 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-42.014 301.026 M
-42.014 299.995 lineto
-42.889 300.339 43.654 300.339 QUADTO
-44.514 300.339 45.006 299.839 QUADTO
-45.498 299.339 45.498 298.448 QUADTO
-45.498 296.495 42.811 296.495 QUADTO
-42.498 296.495 42.17 296.542 QUADTO
-42.17 292.323 lineto
-46.561 292.323 lineto
-46.561 293.323 lineto
-43.186 293.323 lineto
-43.186 295.62 lineto
-44.857 295.62 45.795 296.386 QUADTO
-46.732 297.151 46.732 298.511 QUADTO
-46.732 299.776 45.873 300.495 QUADTO
-45.014 301.214 43.514 301.214 QUADTO
-42.857 301.214 42.014 301.026 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 296.72 M
-54.148 296.72 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 271.784 M
-34.785 270.909 lineto
-36.52 270.909 lineto
-36.52 264.065 lineto
-34.785 264.502 lineto
-34.785 263.612 lineto
-37.676 262.893 lineto
-37.676 270.909 lineto
-39.41 270.909 lineto
-39.41 271.784 lineto
-34.785 271.784 lineto
-closepath
-44.326 272.002 M
-42.982 272.002 42.154 270.737 QUADTO
-41.326 269.471 41.326 267.44 QUADTO
-41.326 265.393 42.162 264.143 QUADTO
-42.998 262.893 44.357 262.893 QUADTO
-45.717 262.893 46.553 264.143 QUADTO
-47.389 265.393 47.389 267.424 QUADTO
-47.389 269.502 46.553 270.752 QUADTO
-45.717 272.002 44.326 272.002 QUADTO
-closepath
-44.342 271.127 M
-46.17 271.127 46.17 267.409 QUADTO
-46.17 263.768 44.357 263.768 QUADTO
-42.561 263.768 42.561 267.44 QUADTO
-42.561 271.127 44.342 271.127 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 267.508 M
-54.148 267.508 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 242.572 M
-34.785 241.697 lineto
-36.52 241.697 lineto
-36.52 234.853 lineto
-34.785 235.29 lineto
-34.785 234.4 lineto
-37.676 233.681 lineto
-37.676 241.697 lineto
-39.41 241.697 lineto
-39.41 242.572 lineto
-34.785 242.572 lineto
-closepath
-42.014 242.603 M
-42.014 241.572 lineto
-42.889 241.915 43.654 241.915 QUADTO
-44.514 241.915 45.006 241.415 QUADTO
-45.498 240.915 45.498 240.025 QUADTO
-45.498 238.072 42.811 238.072 QUADTO
-42.498 238.072 42.17 238.119 QUADTO
-42.17 233.9 lineto
-46.561 233.9 lineto
-46.561 234.9 lineto
-43.186 234.9 lineto
-43.186 237.197 lineto
-44.857 237.197 45.795 237.962 QUADTO
-46.732 238.728 46.732 240.087 QUADTO
-46.732 241.353 45.873 242.072 QUADTO
-45.014 242.79 43.514 242.79 QUADTO
-42.857 242.79 42.014 242.603 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 238.296 M
-54.148 238.296 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 213.36 M
-33.973 212.344 lineto
-34.473 211.173 36.004 209.782 QUADTO
-36.676 209.188 lineto
-37.941 208.032 37.941 206.891 QUADTO
-37.941 206.173 37.512 205.758 QUADTO
-37.082 205.344 36.316 205.344 QUADTO
-35.41 205.344 34.191 206.032 QUADTO
-34.191 205.016 lineto
-35.348 204.469 36.473 204.469 QUADTO
-37.691 204.469 38.434 205.126 QUADTO
-39.176 205.782 39.176 206.86 QUADTO
-39.176 207.641 38.801 208.251 QUADTO
-38.426 208.86 37.41 209.719 QUADTO
-36.973 210.094 lineto
-35.582 211.266 35.363 212.344 QUADTO
-39.129 212.344 lineto
-39.129 213.36 lineto
-33.973 213.36 lineto
-closepath
-44.326 213.579 M
-42.982 213.579 42.154 212.313 QUADTO
-41.326 211.048 41.326 209.016 QUADTO
-41.326 206.969 42.162 205.719 QUADTO
-42.998 204.469 44.357 204.469 QUADTO
-45.717 204.469 46.553 205.719 QUADTO
-47.389 206.969 47.389 209.001 QUADTO
-47.389 211.079 46.553 212.329 QUADTO
-45.717 213.579 44.326 213.579 QUADTO
-closepath
-44.342 212.704 M
-46.17 212.704 46.17 208.985 QUADTO
-46.17 205.344 44.357 205.344 QUADTO
-42.561 205.344 42.561 209.016 QUADTO
-42.561 212.704 44.342 212.704 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 209.084 M
-54.148 209.084 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 184.148 M
-33.973 183.133 lineto
-34.473 181.961 36.004 180.57 QUADTO
-36.676 179.976 lineto
-37.941 178.82 37.941 177.68 QUADTO
-37.941 176.961 37.512 176.547 QUADTO
-37.082 176.133 36.316 176.133 QUADTO
-35.41 176.133 34.191 176.82 QUADTO
-34.191 175.805 lineto
-35.348 175.258 36.473 175.258 QUADTO
-37.691 175.258 38.434 175.914 QUADTO
-39.176 176.57 39.176 177.648 QUADTO
-39.176 178.43 38.801 179.039 QUADTO
-38.426 179.648 37.41 180.508 QUADTO
-36.973 180.883 lineto
-35.582 182.055 35.363 183.133 QUADTO
-39.129 183.133 lineto
-39.129 184.148 lineto
-33.973 184.148 lineto
-closepath
-42.014 184.18 M
-42.014 183.148 lineto
-42.889 183.492 43.654 183.492 QUADTO
-44.514 183.492 45.006 182.992 QUADTO
-45.498 182.492 45.498 181.601 QUADTO
-45.498 179.648 42.811 179.648 QUADTO
-42.498 179.648 42.17 179.695 QUADTO
-42.17 175.476 lineto
-46.561 175.476 lineto
-46.561 176.476 lineto
-43.186 176.476 lineto
-43.186 178.773 lineto
-44.857 178.773 45.795 179.539 QUADTO
-46.732 180.305 46.732 181.664 QUADTO
-46.732 182.93 45.873 183.648 QUADTO
-45.014 184.367 43.514 184.367 QUADTO
-42.857 184.367 42.014 184.18 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 179.873 M
-54.148 179.873 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 154.874 M
-34.191 153.796 lineto
-35.441 154.28 36.145 154.28 QUADTO
-36.973 154.28 37.496 153.796 QUADTO
-38.02 153.312 38.02 152.546 QUADTO
-38.02 150.718 35.457 150.718 QUADTO
-34.988 150.718 lineto
-34.988 149.937 lineto
-35.395 149.937 lineto
-37.801 149.937 37.801 148.249 QUADTO
-37.801 146.921 36.223 146.921 QUADTO
-35.348 146.921 34.316 147.405 QUADTO
-34.316 146.39 lineto
-35.332 146.046 36.301 146.046 QUADTO
-38.957 146.046 38.957 148.062 QUADTO
-38.957 149.593 37.145 150.233 QUADTO
-39.254 150.718 39.254 152.53 QUADTO
-39.254 153.765 38.441 154.46 QUADTO
-37.629 155.155 36.223 155.155 QUADTO
-35.41 155.155 34.191 154.874 QUADTO
-closepath
-44.326 155.155 M
-42.982 155.155 42.154 153.89 QUADTO
-41.326 152.624 41.326 150.593 QUADTO
-41.326 148.546 42.162 147.296 QUADTO
-42.998 146.046 44.357 146.046 QUADTO
-45.717 146.046 46.553 147.296 QUADTO
-47.389 148.546 47.389 150.577 QUADTO
-47.389 152.655 46.553 153.905 QUADTO
-45.717 155.155 44.326 155.155 QUADTO
-closepath
-44.342 154.28 M
-46.17 154.28 46.17 150.562 QUADTO
-46.17 146.921 44.357 146.921 QUADTO
-42.561 146.921 42.561 150.593 QUADTO
-42.561 154.28 44.342 154.28 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 150.661 M
-54.148 150.661 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 125.662 M
-34.191 124.584 lineto
-35.441 125.069 36.145 125.069 QUADTO
-36.973 125.069 37.496 124.584 QUADTO
-38.02 124.1 38.02 123.334 QUADTO
-38.02 121.506 35.457 121.506 QUADTO
-34.988 121.506 lineto
-34.988 120.725 lineto
-35.395 120.725 lineto
-37.801 120.725 37.801 119.037 QUADTO
-37.801 117.709 36.223 117.709 QUADTO
-35.348 117.709 34.316 118.194 QUADTO
-34.316 117.178 lineto
-35.332 116.834 36.301 116.834 QUADTO
-38.957 116.834 38.957 118.85 QUADTO
-38.957 120.381 37.145 121.022 QUADTO
-39.254 121.506 39.254 123.319 QUADTO
-39.254 124.553 38.441 125.248 QUADTO
-37.629 125.944 36.223 125.944 QUADTO
-35.41 125.944 34.191 125.662 QUADTO
-closepath
-42.014 125.756 M
-42.014 124.725 lineto
-42.889 125.069 43.654 125.069 QUADTO
-44.514 125.069 45.006 124.569 QUADTO
-45.498 124.069 45.498 123.178 QUADTO
-45.498 121.225 42.811 121.225 QUADTO
-42.498 121.225 42.17 121.272 QUADTO
-42.17 117.053 lineto
-46.561 117.053 lineto
-46.561 118.053 lineto
-43.186 118.053 lineto
-43.186 120.35 lineto
-44.857 120.35 45.795 121.115 QUADTO
-46.732 121.881 46.732 123.24 QUADTO
-46.732 124.506 45.873 125.225 QUADTO
-45.014 125.944 43.514 125.944 QUADTO
-42.857 125.944 42.014 125.756 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 121.449 M
-54.148 121.449 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-37.488 96.513 M
-37.488 94.06 lineto
-33.582 94.06 lineto
-33.582 93.185 lineto
-37.488 87.841 lineto
-38.582 87.841 lineto
-38.582 93.107 lineto
-39.738 93.107 lineto
-39.738 94.06 lineto
-38.582 94.06 lineto
-38.582 96.513 lineto
-37.488 96.513 lineto
-closepath
-34.723 93.107 M
-37.566 93.107 lineto
-37.566 89.263 lineto
-34.723 93.107 lineto
-closepath
-44.326 96.732 M
-42.982 96.732 42.154 95.466 QUADTO
-41.326 94.201 41.326 92.169 QUADTO
-41.326 90.122 42.162 88.872 QUADTO
-42.998 87.622 44.357 87.622 QUADTO
-45.717 87.622 46.553 88.872 QUADTO
-47.389 90.122 47.389 92.154 QUADTO
-47.389 94.232 46.553 95.482 QUADTO
-45.717 96.732 44.326 96.732 QUADTO
-closepath
-44.342 95.857 M
-46.17 95.857 46.17 92.138 QUADTO
-46.17 88.497 44.357 88.497 QUADTO
-42.561 88.497 42.561 92.169 QUADTO
-42.561 95.857 44.342 95.857 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 92.237 M
-54.148 92.237 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-37.488 67.301 M
-37.488 64.848 lineto
-33.582 64.848 lineto
-33.582 63.973 lineto
-37.488 58.629 lineto
-38.582 58.629 lineto
-38.582 63.895 lineto
-39.738 63.895 lineto
-39.738 64.848 lineto
-38.582 64.848 lineto
-38.582 67.301 lineto
-37.488 67.301 lineto
-closepath
-34.723 63.895 M
-37.566 63.895 lineto
-37.566 60.051 lineto
-34.723 63.895 lineto
-closepath
-42.014 67.333 M
-42.014 66.301 lineto
-42.889 66.645 43.654 66.645 QUADTO
-44.514 66.645 45.006 66.145 QUADTO
-45.498 65.645 45.498 64.754 QUADTO
-45.498 62.801 42.811 62.801 QUADTO
-42.498 62.801 42.17 62.848 QUADTO
-42.17 58.629 lineto
-46.561 58.629 lineto
-46.561 59.629 lineto
-43.186 59.629 lineto
-43.186 61.926 lineto
-44.857 61.926 45.795 62.692 QUADTO
-46.732 63.458 46.732 64.817 QUADTO
-46.732 66.083 45.873 66.801 QUADTO
-45.014 67.52 43.514 67.52 QUADTO
-42.857 67.52 42.014 67.333 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 63.026 M
-54.148 63.026 lineto
-stroke
-grestore
-gsave
-[0 -1 1 0 -160.60265 199.57533] concat
-newpath
-199.575 160.603 M
-199.575 560.603 lineto
--200.425 560.603 lineto
--200.425 160.603 lineto
-199.575 160.603 lineto
-closepath
-clip
-0.251 setgray
-newpath
--38.14 185.077 M
--38.14 174.28 lineto
--36.124 174.28 lineto
--36.124 185.077 lineto
--38.14 185.077 lineto
-closepath
--30.431 185.249 M
--32.196 185.249 -33.228 184.187 QUADTO
--34.259 183.124 -34.259 181.327 QUADTO
--34.259 179.499 -33.22 178.452 QUADTO
--32.181 177.405 -30.384 177.405 QUADTO
--28.587 177.405 -27.548 178.452 QUADTO
--26.509 179.499 -26.509 181.312 QUADTO
--26.509 183.155 -27.556 184.202 QUADTO
--28.603 185.249 -30.431 185.249 QUADTO
-closepath
--30.399 183.983 M
--28.665 183.983 -28.665 181.312 QUADTO
--28.665 180.093 -29.126 179.382 QUADTO
--29.587 178.671 -30.384 178.671 QUADTO
--31.181 178.671 -31.649 179.382 QUADTO
--32.118 180.093 -32.118 181.327 QUADTO
--32.118 182.546 -31.657 183.265 QUADTO
--31.196 183.983 -30.399 183.983 QUADTO
-closepath
--20.974 184.265 M
--21.974 185.249 -23.13 185.249 QUADTO
--24.114 185.249 -24.731 184.648 QUADTO
--25.349 184.046 -25.349 183.093 QUADTO
--25.349 181.843 -24.356 181.171 QUADTO
--23.364 180.499 -21.505 180.499 QUADTO
--20.974 180.499 lineto
--20.974 179.812 lineto
--20.974 178.64 -22.302 178.64 QUADTO
--23.489 178.64 -24.692 179.312 QUADTO
--24.692 177.921 lineto
--23.317 177.405 -21.974 177.405 QUADTO
--19.021 177.405 -19.021 179.749 QUADTO
--19.021 183.062 lineto
--19.021 183.952 -18.458 183.952 QUADTO
--18.364 183.952 -18.192 183.921 QUADTO
--18.146 185.062 lineto
--18.786 185.249 -19.286 185.249 QUADTO
--20.521 185.249 -20.88 184.265 QUADTO
--20.974 184.265 lineto
-closepath
--20.974 183.187 M
--20.974 181.655 lineto
--21.442 181.655 lineto
--23.411 181.655 -23.411 182.89 QUADTO
--23.411 183.312 -23.13 183.593 QUADTO
--22.849 183.874 -22.427 183.874 QUADTO
--21.708 183.874 -20.974 183.187 QUADTO
-closepath
--11.696 185.077 M
--11.696 183.655 lineto
--12.478 185.249 -14.149 185.249 QUADTO
--15.493 185.249 -16.267 184.257 QUADTO
--17.04 183.265 -17.04 181.53 QUADTO
--17.04 179.64 -16.173 178.523 QUADTO
--15.306 177.405 -13.837 177.405 QUADTO
--12.649 177.405 -11.696 178.327 QUADTO
--11.696 174.28 lineto
--9.665 174.28 lineto
--9.665 185.077 lineto
--11.696 185.077 lineto
-closepath
--11.696 179.53 M
--12.431 178.718 -13.259 178.718 QUADTO
--14.009 178.718 -14.446 179.437 QUADTO
--14.884 180.155 -14.884 181.358 QUADTO
--14.884 183.655 -13.415 183.655 QUADTO
--12.509 183.655 -11.696 182.499 QUADTO
--11.696 179.53 lineto
-closepath
--2.306 185.077 M
--2.306 178.843 lineto
--3.353 178.843 lineto
--3.353 177.577 lineto
--2.306 177.577 lineto
--2.306 177.03 lineto
--2.306 174.108 0.46 174.108 QUADTO
-1.351 174.108 2.304 174.374 QUADTO
-2.304 175.733 lineto
-1.444 175.374 0.757 175.374 QUADTO
--0.29 175.374 -0.29 176.952 QUADTO
--0.29 177.577 lineto
-1.616 177.577 lineto
-1.616 178.843 lineto
--0.29 178.843 lineto
--0.29 185.077 lineto
--2.306 185.077 lineto
-closepath
-3.279 185.077 M
-3.279 177.577 lineto
-5.295 177.577 lineto
-5.295 178.983 lineto
-6.092 177.405 7.701 177.405 QUADTO
-7.889 177.405 8.076 177.437 QUADTO
-8.076 179.249 lineto
-7.639 179.093 7.264 179.093 QUADTO
-6.061 179.093 5.295 180.312 QUADTO
-5.295 185.077 lineto
-3.279 185.077 lineto
-closepath
-13.315 184.265 M
-12.315 185.249 11.159 185.249 QUADTO
-10.175 185.249 9.558 184.648 QUADTO
-8.94 184.046 8.94 183.093 QUADTO
-8.94 181.843 9.933 181.171 QUADTO
-10.925 180.499 12.784 180.499 QUADTO
-13.315 180.499 lineto
-13.315 179.812 lineto
-13.315 178.64 11.987 178.64 QUADTO
-10.8 178.64 9.597 179.312 QUADTO
-9.597 177.921 lineto
-10.972 177.405 12.315 177.405 QUADTO
-15.269 177.405 15.269 179.749 QUADTO
-15.269 183.062 lineto
-15.269 183.952 15.831 183.952 QUADTO
-15.925 183.952 16.097 183.921 QUADTO
-16.144 185.062 lineto
-15.503 185.249 15.003 185.249 QUADTO
-13.769 185.249 13.409 184.265 QUADTO
-13.315 184.265 lineto
-closepath
-13.315 183.187 M
-13.315 181.655 lineto
-12.847 181.655 lineto
-10.878 181.655 10.878 182.89 QUADTO
-10.878 183.312 11.159 183.593 QUADTO
-11.44 183.874 11.862 183.874 QUADTO
-12.581 183.874 13.315 183.187 QUADTO
-closepath
-23.405 184.905 M
-22.155 185.249 21.077 185.249 QUADTO
-19.28 185.249 18.241 184.194 QUADTO
-17.202 183.14 17.202 181.312 QUADTO
-17.202 179.483 18.272 178.444 QUADTO
-19.343 177.405 21.233 177.405 QUADTO
-22.155 177.405 23.343 177.687 QUADTO
-23.343 179.155 lineto
-22.108 178.749 21.358 178.749 QUADTO
-20.452 178.749 19.897 179.452 QUADTO
-19.343 180.155 19.343 181.296 QUADTO
-19.343 182.483 19.944 183.194 QUADTO
-20.546 183.905 21.53 183.905 QUADTO
-22.452 183.905 23.405 183.515 QUADTO
-23.405 184.905 lineto
-closepath
-29.2 185.03 M
-28.466 185.249 28.06 185.249 QUADTO
-25.419 185.249 25.419 182.78 QUADTO
-25.419 178.843 lineto
-24.575 178.843 lineto
-24.575 177.577 lineto
-25.419 177.577 lineto
-25.419 176.312 lineto
-27.45 176.077 lineto
-27.45 177.577 lineto
-29.044 177.577 lineto
-29.044 178.843 lineto
-27.45 178.843 lineto
-27.45 182.515 lineto
-27.45 183.905 28.575 183.905 QUADTO
-28.825 183.905 29.2 183.812 QUADTO
-29.2 185.03 lineto
-closepath
-30.999 185.077 M
-30.999 177.577 lineto
-33.015 177.577 lineto
-33.015 185.077 lineto
-30.999 185.077 lineto
-closepath
-30.999 176.312 M
-30.999 174.624 lineto
-33.015 174.624 lineto
-33.015 176.312 lineto
-30.999 176.312 lineto
-closepath
-38.708 185.249 M
-36.942 185.249 35.911 184.187 QUADTO
-34.88 183.124 34.88 181.327 QUADTO
-34.88 179.499 35.919 178.452 QUADTO
-36.958 177.405 38.755 177.405 QUADTO
-40.552 177.405 41.591 178.452 QUADTO
-42.63 179.499 42.63 181.312 QUADTO
-42.63 183.155 41.583 184.202 QUADTO
-40.536 185.249 38.708 185.249 QUADTO
-closepath
-38.739 183.983 M
-40.474 183.983 40.474 181.312 QUADTO
-40.474 180.093 40.013 179.382 QUADTO
-39.552 178.671 38.755 178.671 QUADTO
-37.958 178.671 37.489 179.382 QUADTO
-37.021 180.093 37.021 181.327 QUADTO
-37.021 182.546 37.481 183.265 QUADTO
-37.942 183.983 38.739 183.983 QUADTO
-closepath
-44.493 185.077 M
-44.493 177.577 lineto
-46.509 177.577 lineto
-46.509 178.983 lineto
-47.509 177.405 49.071 177.405 QUADTO
-50.071 177.405 50.657 178.038 QUADTO
-51.243 178.671 51.243 179.765 QUADTO
-51.243 185.077 lineto
-49.212 185.077 lineto
-49.212 180.265 lineto
-49.212 178.999 48.368 178.999 QUADTO
-47.399 178.999 46.509 180.358 QUADTO
-46.509 185.077 lineto
-44.493 185.077 lineto
-closepath
-61.552 174.202 M
-61.552 175.499 lineto
-59.724 177.343 59.724 180.687 QUADTO
-59.724 184.046 61.552 185.874 QUADTO
-61.552 187.187 lineto
-59.88 186.28 58.88 184.507 QUADTO
-57.88 182.733 57.88 180.687 QUADTO
-57.88 178.64 58.864 176.89 QUADTO
-59.849 175.14 61.552 174.202 QUADTO
-closepath
-63.053 185.327 M
-71.006 174.702 lineto
-72.365 174.702 lineto
-64.412 185.327 lineto
-63.053 185.327 lineto
-closepath
-64.771 180.015 M
-63.678 180.015 63.037 179.335 QUADTO
-62.396 178.655 62.396 177.483 QUADTO
-62.396 176.312 63.037 175.632 QUADTO
-63.678 174.952 64.803 174.952 QUADTO
-65.912 174.952 66.561 175.632 QUADTO
-67.209 176.312 67.209 177.483 QUADTO
-67.209 178.671 66.561 179.343 QUADTO
-65.912 180.015 64.771 180.015 QUADTO
-closepath
-64.787 178.999 M
-65.678 178.999 65.678 177.483 QUADTO
-65.678 175.968 64.803 175.968 QUADTO
-63.912 175.968 63.912 177.483 QUADTO
-63.912 178.999 64.787 178.999 QUADTO
-closepath
-70.6 185.077 M
-69.49 185.077 68.85 184.398 QUADTO
-68.209 183.718 68.209 182.546 QUADTO
-68.209 181.358 68.857 180.687 QUADTO
-69.506 180.015 70.615 180.015 QUADTO
-71.74 180.015 72.381 180.687 QUADTO
-73.021 181.358 73.021 182.546 QUADTO
-73.021 183.733 72.381 184.405 QUADTO
-71.74 185.077 70.6 185.077 QUADTO
-closepath
-70.6 184.062 M
-71.506 184.062 71.506 182.546 QUADTO
-71.506 181.03 70.615 181.03 QUADTO
-69.725 181.03 69.725 182.546 QUADTO
-69.725 184.062 70.6 184.062 QUADTO
-closepath
-73.674 174.202 M
-73.674 175.499 lineto
-75.502 177.343 75.502 180.687 QUADTO
-75.502 184.046 73.674 185.874 QUADTO
-73.674 187.187 lineto
-75.346 186.28 76.346 184.507 QUADTO
-77.346 182.733 77.346 180.687 QUADTO
-77.346 178.64 76.361 176.89 QUADTO
-75.377 175.14 73.674 174.202 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.358 34.247 M
-69.358 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-99.703 34.247 M
-99.703 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-121.232 34.247 M
-121.232 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-137.932 34.247 M
-137.932 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-151.576 34.247 M
-151.576 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-163.113 34.247 M
-163.113 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-173.106 34.247 M
-173.106 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-181.921 34.247 M
-181.921 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-189.806 34.247 M
-189.806 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-189.806 34.247 M
-189.806 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-241.68 34.247 M
-241.68 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-272.024 34.247 M
-272.024 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-293.554 34.247 M
-293.554 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-310.253 34.247 M
-310.253 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-323.898 34.247 M
-323.898 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-335.434 34.247 M
-335.434 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-345.428 34.247 M
-345.428 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-354.242 34.247 M
-354.242 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-362.127 34.247 M
-362.127 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-362.127 34.247 M
-362.127 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 325.931 M
-388 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 296.72 M
-388 296.72 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 267.508 M
-388 267.508 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 238.296 M
-388 238.296 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 209.084 M
-388 209.084 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 179.873 M
-388 179.873 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 150.661 M
-388 150.661 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 121.449 M
-388 121.449 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 92.237 M
-388 92.237 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 63.026 M
-388 63.026 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.358 190.307 M
-121.232 198.156 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.232 198.156 M
-173.106 193.047 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.106 193.047 M
-224.98 207.25 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.98 207.25 M
-276.854 196.263 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.854 196.263 M
-328.728 190.59 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.728 190.59 M
-362.127 178.687 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.358 75.28 M
-121.232 72.426 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.232 72.426 M
-173.106 60.122 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.106 60.122 M
-224.98 78.227 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.98 78.227 M
-276.854 74.249 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.854 74.249 M
-328.728 48.136 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.728 48.136 M
-362.127 101.839 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.358 224.564 M
-121.232 223.1 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.232 223.1 M
-173.106 218.517 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.106 218.517 M
-224.98 216.206 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.98 216.206 M
-276.854 210.075 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.854 210.075 M
-328.728 208.83 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.728 208.83 M
-362.127 198.501 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-69.358 187.307 M
-72.358 193.307 lineto
-66.358 193.307 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.358 187.307 M
-72.358 193.307 lineto
-66.358 193.307 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-121.232 195.156 M
-124.232 201.156 lineto
-118.232 201.156 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.232 195.156 M
-124.232 201.156 lineto
-118.232 201.156 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-173.106 190.047 M
-176.106 196.047 lineto
-170.106 196.047 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.106 190.047 M
-176.106 196.047 lineto
-170.106 196.047 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-224.98 204.25 M
-227.98 210.25 lineto
-221.98 210.25 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-224.98 204.25 M
-227.98 210.25 lineto
-221.98 210.25 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-276.854 193.263 M
-279.854 199.263 lineto
-273.854 199.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-276.854 193.263 M
-279.854 199.263 lineto
-273.854 199.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-328.728 187.59 M
-331.728 193.59 lineto
-325.728 193.59 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-328.728 187.59 M
-331.728 193.59 lineto
-325.728 193.59 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-362.127 175.687 M
-365.127 181.687 lineto
-359.127 181.687 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.127 175.687 M
-365.127 181.687 lineto
-359.127 181.687 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-72.358 75.28 M
-72.358 76.937 71.015 78.28 69.358 78.28 curveto
-67.701 78.28 66.358 76.937 66.358 75.28 curveto
-66.358 73.623 67.701 72.28 69.358 72.28 curveto
-71.015 72.28 72.358 73.623 72.358 75.28 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.358 75.28 M
-72.358 76.937 71.015 78.28 69.358 78.28 curveto
-67.701 78.28 66.358 76.937 66.358 75.28 curveto
-66.358 73.623 67.701 72.28 69.358 72.28 curveto
-71.015 72.28 72.358 73.623 72.358 75.28 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-124.232 72.426 M
-124.232 74.083 122.889 75.426 121.232 75.426 curveto
-119.575 75.426 118.232 74.083 118.232 72.426 curveto
-118.232 70.769 119.575 69.426 121.232 69.426 curveto
-122.889 69.426 124.232 70.769 124.232 72.426 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.232 72.426 M
-124.232 74.083 122.889 75.426 121.232 75.426 curveto
-119.575 75.426 118.232 74.083 118.232 72.426 curveto
-118.232 70.769 119.575 69.426 121.232 69.426 curveto
-122.889 69.426 124.232 70.769 124.232 72.426 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-176.106 60.122 M
-176.106 61.779 174.763 63.122 173.106 63.122 curveto
-171.449 63.122 170.106 61.779 170.106 60.122 curveto
-170.106 58.465 171.449 57.122 173.106 57.122 curveto
-174.763 57.122 176.106 58.465 176.106 60.122 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-176.106 60.122 M
-176.106 61.779 174.763 63.122 173.106 63.122 curveto
-171.449 63.122 170.106 61.779 170.106 60.122 curveto
-170.106 58.465 171.449 57.122 173.106 57.122 curveto
-174.763 57.122 176.106 58.465 176.106 60.122 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-227.98 78.227 M
-227.98 79.884 226.637 81.227 224.98 81.227 curveto
-223.323 81.227 221.98 79.884 221.98 78.227 curveto
-221.98 76.571 223.323 75.227 224.98 75.227 curveto
-226.637 75.227 227.98 76.571 227.98 78.227 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.98 78.227 M
-227.98 79.884 226.637 81.227 224.98 81.227 curveto
-223.323 81.227 221.98 79.884 221.98 78.227 curveto
-221.98 76.571 223.323 75.227 224.98 75.227 curveto
-226.637 75.227 227.98 76.571 227.98 78.227 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-279.854 74.249 M
-279.854 75.906 278.511 77.249 276.854 77.249 curveto
-275.197 77.249 273.854 75.906 273.854 74.249 curveto
-273.854 72.592 275.197 71.249 276.854 71.249 curveto
-278.511 71.249 279.854 72.592 279.854 74.249 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-279.854 74.249 M
-279.854 75.906 278.511 77.249 276.854 77.249 curveto
-275.197 77.249 273.854 75.906 273.854 74.249 curveto
-273.854 72.592 275.197 71.249 276.854 71.249 curveto
-278.511 71.249 279.854 72.592 279.854 74.249 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-331.728 48.136 M
-331.728 49.793 330.385 51.136 328.728 51.136 curveto
-327.071 51.136 325.728 49.793 325.728 48.136 curveto
-325.728 46.48 327.071 45.136 328.728 45.136 curveto
-330.385 45.136 331.728 46.48 331.728 48.136 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-331.728 48.136 M
-331.728 49.793 330.385 51.136 328.728 51.136 curveto
-327.071 51.136 325.728 49.793 325.728 48.136 curveto
-325.728 46.48 327.071 45.136 328.728 45.136 curveto
-330.385 45.136 331.728 46.48 331.728 48.136 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-365.127 101.839 M
-365.127 103.496 363.784 104.839 362.127 104.839 curveto
-360.47 104.839 359.127 103.496 359.127 101.839 curveto
-359.127 100.182 360.47 98.839 362.127 98.839 curveto
-363.784 98.839 365.127 100.182 365.127 101.839 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-365.127 101.839 M
-365.127 103.496 363.784 104.839 362.127 104.839 curveto
-360.47 104.839 359.127 103.496 359.127 101.839 curveto
-359.127 100.182 360.47 98.839 362.127 98.839 curveto
-363.784 98.839 365.127 100.182 365.127 101.839 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-66.358 221.564 M
-72.358 221.564 lineto
-72.358 227.564 lineto
-66.358 227.564 lineto
-66.358 221.564 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.358 221.564 M
-72.358 221.564 lineto
-72.358 227.564 lineto
-66.358 227.564 lineto
-66.358 221.564 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-118.232 220.1 M
-124.232 220.1 lineto
-124.232 226.1 lineto
-118.232 226.1 lineto
-118.232 220.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-118.232 220.1 M
-124.232 220.1 lineto
-124.232 226.1 lineto
-118.232 226.1 lineto
-118.232 220.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-170.106 215.517 M
-176.106 215.517 lineto
-176.106 221.517 lineto
-170.106 221.517 lineto
-170.106 215.517 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.106 215.517 M
-176.106 215.517 lineto
-176.106 221.517 lineto
-170.106 221.517 lineto
-170.106 215.517 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-221.98 213.206 M
-227.98 213.206 lineto
-227.98 219.206 lineto
-221.98 219.206 lineto
-221.98 213.206 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.98 213.206 M
-227.98 213.206 lineto
-227.98 219.206 lineto
-221.98 219.206 lineto
-221.98 213.206 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-273.854 207.075 M
-279.854 207.075 lineto
-279.854 213.075 lineto
-273.854 213.075 lineto
-273.854 207.075 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-273.854 207.075 M
-279.854 207.075 lineto
-279.854 213.075 lineto
-273.854 213.075 lineto
-273.854 207.075 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-325.728 205.83 M
-331.728 205.83 lineto
-331.728 211.83 lineto
-325.728 211.83 lineto
-325.728 205.83 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-325.728 205.83 M
-331.728 205.83 lineto
-331.728 211.83 lineto
-325.728 211.83 lineto
-325.728 205.83 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-359.127 195.501 M
-365.127 195.501 lineto
-365.127 201.501 lineto
-359.127 201.501 lineto
-359.127 195.501 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-359.127 195.501 M
-365.127 195.501 lineto
-365.127 201.501 lineto
-359.127 201.501 lineto
-359.127 195.501 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-0.5 setlinewidth
-newpath
-58.148 34.247 M
-388 34.247 lineto
-388 325.931 lineto
-58.148 325.931 lineto
-58.148 34.247 lineto
-closepath
-stroke
-grestore
-%%Trailer
-%%Pages: 1
-%%EOF
diff --git a/sim/gobs/wiki/dc02kpv04.cfg b/sim/gobs/wiki/dc02kpv04.cfg
deleted file mode 100644
index e131118..0000000
--- a/sim/gobs/wiki/dc02kpv04.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv04.cfg system_size_20-1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/wiki/dc02kpv04.eps b/sim/gobs/wiki/dc02kpv04.eps
deleted file mode 100644
index 8dc053d..0000000
--- a/sim/gobs/wiki/dc02kpv04.eps
+++ /dev/null
@@ -1,4569 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (Apache XML Graphics Commons: EPS Generator for Java2D)
-%%CreationDate: 2009-10-05T12:12:54
-%%Pages: (atend)
-%%BoundingBox: 0 0 400 400
-%%LanguageLevel: 3
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset (Apache XML Graphics Std ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2001-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (Basic set of procedures used by the XML Graphics project \(Batik and FOP\))
-/bd{bind def}bind def
-/ld{load def}bd
-/M/moveto ld
-/RM/rmoveto ld
-/t/show ld
-/A/ashow ld
-/cp/closepath ld
-/re {4 2 roll M
-1 index 0 rlineto
-0 exch rlineto
-neg 0 rlineto
-cp } bd
-/_ctm matrix def
-/_tm matrix def
-/BT { _ctm currentmatrix pop matrix _tm copy pop 0 0 moveto } bd
-/ET { _ctm setmatrix } bd
-/iTm { _ctm setmatrix _tm concat } bd
-/Tm { _tm astore pop iTm 0 0 moveto } bd
-/ux 0.0 def
-/uy 0.0 def
-/F {
- /Tp exch def
- /Tf exch def
- Tf findfont Tp scalefont setfont
- /cf Tf def /cs Tp def /cw ( ) stringwidth pop def
-} bd
-/ULS {currentpoint /uy exch def /ux exch def} bd
-/ULE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add moveto Tcx uy To add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/OLE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs add moveto Tcx uy To add cs add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/SOE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs 10 mul 26 idiv add moveto Tcx uy To add cs 10 mul 26 idiv add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/QUADTO {
-/Y22 exch store
-/X22 exch store
-/Y21 exch store
-/X21 exch store
-currentpoint
-/Y21 load 2 mul add 3 div exch
-/X21 load 2 mul add 3 div exch
-/X21 load 2 mul /X22 load add 3 div
-/Y21 load 2 mul /Y22 load add 3 div
-/X22 load /Y22 load curveto
-} bd
-/SSPD {
-dup length /d exch dict def
-{
-/v exch def
-/k exch def
-currentpagedevice k known {
-/cpdv currentpagedevice k get def
-v cpdv ne {
-/upd false def
-/nullv v type /nulltype eq def
-/nullcpdv cpdv type /nulltype eq def
-nullv nullcpdv or
-{
-/upd true def
-} {
-/sametype v type cpdv type eq def
-sametype {
-v type /arraytype eq {
-/vlen v length def
-/cpdvlen cpdv length def
-vlen cpdvlen eq {
-0 1 vlen 1 sub {
-/i exch def
-/obj v i get def
-/cpdobj cpdv i get def
-obj cpdobj ne {
-/upd true def
-exit
-} if
-} for
-} {
-/upd true def
-} ifelse
-} {
-v type /dicttype eq {
-v {
-/dv exch def
-/dk exch def
-/cpddv cpdv dk get def
-dv cpddv ne {
-/upd true def
-exit
-} if
-} forall
-} {
-/upd true def
-} ifelse
-} ifelse
-} if
-} ifelse
-upd true eq {
-d k v put
-} if
-} if
-} if
-} forall
-d length 0 gt {
-d setpagedevice
-} if
-} bd
-%%EndResource
-%%BeginResource: procset (Apache XML Graphics EPS ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2002-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (EPS procedures used by the Apache XML Graphics project \(Batik and FOP\))
-/BeginEPSF { %def
-/b4_Inc_state save def % Save state for cleanup
-/dict_count countdictstack def % Count objects on dict stack
-/op_count count 1 sub def % Count objects on operand stack
-userdict begin % Push userdict on dict stack
-/showpage { } def % Redefine showpage, { } = null proc
-0 setgray 0 setlinecap % Prepare graphics state
-1 setlinewidth 0 setlinejoin
-10 setmiterlimit [ ] 0 setdash newpath
-/languagelevel where % If level not equal to 1 then
-{pop languagelevel % set strokeadjust and
-1 ne % overprint to their defaults.
-{false setstrokeadjust false setoverprint
-} if
-} if
-} bd
-/EndEPSF { %def
-count op_count sub {pop} repeat % Clean up stacks
-countdictstack dict_count sub {end} repeat
-b4_Inc_state restore
-} bd
-%%EndResource
-%%EndProlog
-%%Page: 1 1
-%%PageBoundingBox: 0 0 400 400
-%%BeginPageSetup
-[1 0 0 -1 0 400] concat
-%%EndPageSetup
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-81.354 20.249 M
-81.354 5.796 lineto
-85.338 5.796 lineto
-88.807 15.968 lineto
-92.4 5.796 lineto
-95.885 5.796 lineto
-95.885 20.249 lineto
-93.119 20.249 lineto
-93.119 9.343 lineto
-89.588 19.281 lineto
-87.166 19.281 lineto
-83.713 9.187 lineto
-83.713 20.249 lineto
-81.354 20.249 lineto
-closepath
-104.758 19.093 M
-103.305 20.499 101.664 20.499 QUADTO
-100.258 20.499 99.375 19.64 QUADTO
-98.492 18.781 98.492 17.406 QUADTO
-98.492 15.624 99.914 14.663 QUADTO
-101.336 13.703 103.992 13.703 QUADTO
-104.758 13.703 lineto
-104.758 12.734 lineto
-104.758 11.062 102.852 11.062 QUADTO
-101.164 11.062 99.43 12.015 QUADTO
-99.43 10.031 lineto
-101.398 9.281 103.32 9.281 QUADTO
-107.523 9.281 107.523 12.624 QUADTO
-107.523 17.374 lineto
-107.523 18.64 108.336 18.64 QUADTO
-108.492 18.64 108.727 18.593 QUADTO
-108.789 20.218 lineto
-107.867 20.499 107.164 20.499 QUADTO
-105.398 20.499 104.883 19.093 QUADTO
-104.758 19.093 lineto
-closepath
-104.758 17.546 M
-104.758 15.359 lineto
-104.07 15.359 lineto
-101.273 15.359 101.273 17.124 QUADTO
-101.273 17.718 101.68 18.124 QUADTO
-102.086 18.531 102.68 18.531 QUADTO
-103.695 18.531 104.758 17.546 QUADTO
-closepath
-110.125 20.249 M
-113.797 14.874 lineto
-110.281 9.531 lineto
-113.562 9.531 lineto
-115.875 12.921 lineto
-118.078 9.531 lineto
-120.422 9.531 lineto
-117.062 14.796 lineto
-120.672 20.249 lineto
-117.375 20.249 lineto
-114.969 16.703 lineto
-112.516 20.249 lineto
-110.125 20.249 lineto
-closepath
-123.082 20.249 M
-123.082 9.531 lineto
-125.973 9.531 lineto
-125.973 20.249 lineto
-123.082 20.249 lineto
-closepath
-123.082 7.718 M
-123.082 5.312 lineto
-125.973 5.312 lineto
-125.973 7.718 lineto
-123.082 7.718 lineto
-closepath
-129.586 20.249 M
-129.586 9.531 lineto
-132.352 9.531 lineto
-132.352 11.546 lineto
-133.617 9.281 135.961 9.281 QUADTO
-137.18 9.281 137.961 9.874 QUADTO
-138.742 10.468 138.914 11.546 QUADTO
-140.414 9.281 142.555 9.281 QUADTO
-145.492 9.281 145.492 12.531 QUADTO
-145.492 20.249 lineto
-142.711 20.249 lineto
-142.711 13.468 lineto
-142.711 11.562 141.445 11.562 QUADTO
-140.148 11.562 138.914 13.437 QUADTO
-138.914 20.249 lineto
-136.148 20.249 lineto
-136.148 13.468 lineto
-136.148 11.562 134.867 11.562 QUADTO
-133.586 11.562 132.352 13.437 QUADTO
-132.352 20.249 lineto
-129.586 20.249 lineto
-closepath
-155.605 20.249 M
-155.605 18.234 lineto
-154.199 20.499 151.949 20.499 QUADTO
-150.512 20.499 149.684 19.585 QUADTO
-148.855 18.671 148.855 17.109 QUADTO
-148.855 9.531 lineto
-151.746 9.531 lineto
-151.746 16.39 lineto
-151.746 18.218 152.965 18.218 QUADTO
-154.34 18.218 155.605 16.281 QUADTO
-155.605 9.531 lineto
-158.496 9.531 lineto
-158.496 20.249 lineto
-155.605 20.249 lineto
-closepath
-162.115 20.249 M
-162.115 9.531 lineto
-164.881 9.531 lineto
-164.881 11.546 lineto
-166.146 9.281 168.49 9.281 QUADTO
-169.709 9.281 170.49 9.874 QUADTO
-171.271 10.468 171.443 11.546 QUADTO
-172.943 9.281 175.084 9.281 QUADTO
-178.021 9.281 178.021 12.531 QUADTO
-178.021 20.249 lineto
-175.24 20.249 lineto
-175.24 13.468 lineto
-175.24 11.562 173.975 11.562 QUADTO
-172.678 11.562 171.443 13.437 QUADTO
-171.443 20.249 lineto
-168.678 20.249 lineto
-168.678 13.468 lineto
-168.678 11.562 167.396 11.562 QUADTO
-166.115 11.562 164.881 13.437 QUADTO
-164.881 20.249 lineto
-162.115 20.249 lineto
-closepath
-188.102 20.249 M
-188.102 5.796 lineto
-193.508 5.796 lineto
-197.914 5.796 197.914 9.374 QUADTO
-197.914 10.718 197.164 11.82 QUADTO
-196.414 12.921 195.102 13.499 QUADTO
-199.836 20.249 lineto
-196.18 20.249 lineto
-192.586 14.343 lineto
-190.93 14.343 lineto
-190.93 20.249 lineto
-188.102 20.249 lineto
-closepath
-190.93 12.359 M
-191.617 12.359 lineto
-194.898 12.359 194.898 9.718 QUADTO
-194.898 7.781 191.977 7.781 QUADTO
-190.93 7.781 lineto
-190.93 12.359 lineto
-closepath
-210.619 19.89 M
-208.572 20.499 206.713 20.499 QUADTO
-204.041 20.499 202.486 18.976 QUADTO
-200.932 17.453 200.932 14.812 QUADTO
-200.932 12.312 202.354 10.796 QUADTO
-203.775 9.281 206.104 9.281 QUADTO
-208.463 9.281 209.541 10.765 QUADTO
-210.619 12.249 210.619 15.468 QUADTO
-203.979 15.468 lineto
-204.275 18.531 207.338 18.531 QUADTO
-208.807 18.531 210.619 17.859 QUADTO
-210.619 19.89 lineto
-closepath
-203.932 13.828 M
-207.791 13.828 lineto
-207.791 11.093 206.01 11.093 QUADTO
-204.213 11.093 203.932 13.828 QUADTO
-closepath
-213.619 20.249 M
-213.619 4.828 lineto
-216.51 4.828 lineto
-216.51 11.546 lineto
-217.619 9.281 220.01 9.281 QUADTO
-221.947 9.281 223.057 10.695 QUADTO
-224.166 12.109 224.166 14.593 QUADTO
-224.166 17.281 222.916 18.89 QUADTO
-221.666 20.499 219.572 20.499 QUADTO
-217.775 20.499 216.51 19.171 QUADTO
-215.963 20.249 lineto
-213.619 20.249 lineto
-closepath
-216.51 17.453 M
-217.557 18.624 218.744 18.624 QUADTO
-219.822 18.624 220.455 17.593 QUADTO
-221.088 16.562 221.088 14.843 QUADTO
-221.088 11.546 218.963 11.546 QUADTO
-217.682 11.546 216.51 13.203 QUADTO
-216.51 17.453 lineto
-closepath
-233.496 20.249 M
-233.496 18.234 lineto
-232.09 20.499 229.84 20.499 QUADTO
-228.402 20.499 227.574 19.585 QUADTO
-226.746 18.671 226.746 17.109 QUADTO
-226.746 9.531 lineto
-229.637 9.531 lineto
-229.637 16.39 lineto
-229.637 18.218 230.855 18.218 QUADTO
-232.23 18.218 233.496 16.281 QUADTO
-233.496 9.531 lineto
-236.387 9.531 lineto
-236.387 20.249 lineto
-233.496 20.249 lineto
-closepath
-240.006 20.249 M
-240.006 9.531 lineto
-242.896 9.531 lineto
-242.896 20.249 lineto
-240.006 20.249 lineto
-closepath
-240.006 7.718 M
-240.006 5.312 lineto
-242.896 5.312 lineto
-242.896 7.718 lineto
-240.006 7.718 lineto
-closepath
-246.51 20.249 M
-246.51 4.828 lineto
-249.4 4.828 lineto
-249.4 20.249 lineto
-246.51 20.249 lineto
-closepath
-259.764 20.249 M
-259.764 18.234 lineto
-258.639 20.499 256.248 20.499 QUADTO
-254.311 20.499 253.209 19.078 QUADTO
-252.107 17.656 252.107 15.187 QUADTO
-252.107 12.484 253.357 10.882 QUADTO
-254.607 9.281 256.701 9.281 QUADTO
-258.373 9.281 259.764 10.609 QUADTO
-259.764 4.828 lineto
-262.654 4.828 lineto
-262.654 20.249 lineto
-259.764 20.249 lineto
-closepath
-259.764 12.328 M
-258.717 11.156 257.514 11.156 QUADTO
-256.451 11.156 255.818 12.179 QUADTO
-255.186 13.203 255.186 14.937 QUADTO
-255.186 18.234 257.295 18.234 QUADTO
-258.592 18.234 259.764 16.578 QUADTO
-259.764 12.328 lineto
-closepath
-272.857 20.249 M
-272.857 5.796 lineto
-275.857 5.796 lineto
-275.857 18.203 lineto
-282.373 18.203 lineto
-282.373 20.249 lineto
-272.857 20.249 lineto
-closepath
-288.988 20.499 M
-286.473 20.499 284.996 18.976 QUADTO
-283.52 17.453 283.52 14.89 QUADTO
-283.52 12.296 285.004 10.788 QUADTO
-286.488 9.281 289.051 9.281 QUADTO
-291.629 9.281 293.113 10.788 QUADTO
-294.598 12.296 294.598 14.874 QUADTO
-294.598 17.499 293.105 18.999 QUADTO
-291.613 20.499 288.988 20.499 QUADTO
-closepath
-289.035 18.687 M
-291.52 18.687 291.52 14.874 QUADTO
-291.52 13.124 290.863 12.109 QUADTO
-290.207 11.093 289.051 11.093 QUADTO
-287.91 11.093 287.254 12.109 QUADTO
-286.598 13.124 286.598 14.89 QUADTO
-286.598 16.64 287.246 17.663 QUADTO
-287.895 18.687 289.035 18.687 QUADTO
-closepath
-302.512 19.093 M
-301.059 20.499 299.418 20.499 QUADTO
-298.012 20.499 297.129 19.64 QUADTO
-296.246 18.781 296.246 17.406 QUADTO
-296.246 15.624 297.668 14.663 QUADTO
-299.09 13.703 301.746 13.703 QUADTO
-302.512 13.703 lineto
-302.512 12.734 lineto
-302.512 11.062 300.605 11.062 QUADTO
-298.918 11.062 297.184 12.015 QUADTO
-297.184 10.031 lineto
-299.152 9.281 301.074 9.281 QUADTO
-305.277 9.281 305.277 12.624 QUADTO
-305.277 17.374 lineto
-305.277 18.64 306.09 18.64 QUADTO
-306.246 18.64 306.48 18.593 QUADTO
-306.543 20.218 lineto
-305.621 20.499 304.918 20.499 QUADTO
-303.152 20.499 302.637 19.093 QUADTO
-302.512 19.093 lineto
-closepath
-302.512 17.546 M
-302.512 15.359 lineto
-301.824 15.359 lineto
-299.027 15.359 299.027 17.124 QUADTO
-299.027 17.718 299.434 18.124 QUADTO
-299.84 18.531 300.434 18.531 QUADTO
-301.449 18.531 302.512 17.546 QUADTO
-closepath
-315.77 20.249 M
-315.77 18.234 lineto
-314.645 20.499 312.254 20.499 QUADTO
-310.316 20.499 309.215 19.078 QUADTO
-308.113 17.656 308.113 15.187 QUADTO
-308.113 12.484 309.363 10.882 QUADTO
-310.613 9.281 312.707 9.281 QUADTO
-314.379 9.281 315.77 10.609 QUADTO
-315.77 4.828 lineto
-318.66 4.828 lineto
-318.66 20.249 lineto
-315.77 20.249 lineto
-closepath
-315.77 12.328 M
-314.723 11.156 313.52 11.156 QUADTO
-312.457 11.156 311.824 12.179 QUADTO
-311.191 13.203 311.191 14.937 QUADTO
-311.191 18.234 313.301 18.234 QUADTO
-314.598 18.234 315.77 16.578 QUADTO
-315.77 12.328 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-79.864 376.452 M
-320.136 376.452 lineto
-320.136 399 lineto
-79.864 399 lineto
-79.864 376.452 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 376.952 M
-319.636 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 398.5 M
-319.636 398.5 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 398.5 M
-80.364 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.636 398.5 M
-319.636 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.864 387.726 M
-97.864 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-87.864 384.726 M
-93.864 384.726 lineto
-93.864 390.726 lineto
-87.864 390.726 lineto
-87.864 384.726 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.864 384.726 M
-93.864 384.726 lineto
-93.864 390.726 lineto
-87.864 390.726 lineto
-87.864 384.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-102.989 392.002 M
-102.989 383.33 lineto
-105.349 383.33 lineto
-106.911 383.33 107.599 383.861 QUADTO
-108.286 384.392 108.286 385.595 QUADTO
-108.286 386.986 107.349 387.767 QUADTO
-106.411 388.549 104.755 388.549 QUADTO
-104.208 388.549 lineto
-104.208 392.002 lineto
-102.989 392.002 lineto
-closepath
-104.208 387.627 M
-104.708 387.627 lineto
-105.802 387.627 106.396 387.119 QUADTO
-106.989 386.611 106.989 385.689 QUADTO
-106.989 384.924 106.521 384.588 QUADTO
-106.052 384.252 104.958 384.252 QUADTO
-104.208 384.252 lineto
-104.208 387.627 lineto
-closepath
-114.013 388.689 M
-112.528 384.939 lineto
-111.06 388.689 lineto
-114.013 388.689 lineto
-closepath
-115.31 392.002 M
-114.372 389.595 lineto
-110.7 389.595 lineto
-109.747 392.002 lineto
-108.591 392.002 lineto
-112.044 383.33 lineto
-113.263 383.33 lineto
-116.638 392.002 lineto
-115.31 392.002 lineto
-closepath
-119.589 392.22 M
-118.729 392.22 117.37 391.83 QUADTO
-117.37 390.611 lineto
-118.823 391.299 119.776 391.299 QUADTO
-120.495 391.299 120.94 390.916 QUADTO
-121.386 390.533 121.386 389.908 QUADTO
-121.386 389.408 121.097 389.049 QUADTO
-120.808 388.689 120.026 388.252 QUADTO
-119.433 387.908 lineto
-118.323 387.267 117.87 386.713 QUADTO
-117.417 386.158 117.417 385.408 QUADTO
-117.417 384.408 118.144 383.759 QUADTO
-118.87 383.111 119.995 383.111 QUADTO
-120.995 383.111 122.104 383.439 QUADTO
-122.104 384.564 lineto
-120.729 384.033 120.058 384.033 QUADTO
-119.417 384.033 119.003 384.369 QUADTO
-118.589 384.705 118.589 385.22 QUADTO
-118.589 385.658 118.894 385.994 QUADTO
-119.198 386.33 120.011 386.799 QUADTO
-120.62 387.142 lineto
-121.745 387.783 122.19 388.353 QUADTO
-122.636 388.924 122.636 389.72 QUADTO
-122.636 390.845 121.808 391.533 QUADTO
-120.979 392.22 119.589 392.22 QUADTO
-closepath
-126.427 392.002 M
-126.427 384.252 lineto
-123.349 384.252 lineto
-123.349 383.33 lineto
-130.724 383.33 lineto
-130.724 384.252 lineto
-127.646 384.252 lineto
-127.646 392.002 lineto
-126.427 392.002 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-136.827 387.726 M
-150.827 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-146.827 387.726 M
-146.827 389.383 145.484 390.726 143.827 390.726 curveto
-142.17 390.726 140.827 389.383 140.827 387.726 curveto
-140.827 386.069 142.17 384.726 143.827 384.726 curveto
-145.484 384.726 146.827 386.069 146.827 387.726 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.827 387.726 M
-146.827 389.383 145.484 390.726 143.827 390.726 curveto
-142.17 390.726 140.827 389.383 140.827 387.726 curveto
-140.827 386.069 142.17 384.726 143.827 384.726 curveto
-145.484 384.726 146.827 386.069 146.827 387.726 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-155.952 392.002 M
-155.952 383.33 lineto
-157.108 383.33 lineto
-157.108 387.595 lineto
-160.608 383.33 lineto
-161.843 383.33 lineto
-158.452 387.47 lineto
-162.452 392.002 lineto
-160.89 392.002 lineto
-157.108 387.611 lineto
-157.108 392.002 lineto
-155.952 392.002 lineto
-closepath
-167.099 391.189 M
-166.067 392.142 165.099 392.142 QUADTO
-164.302 392.142 163.786 391.65 QUADTO
-163.271 391.158 163.271 390.408 QUADTO
-163.271 389.361 164.146 388.799 QUADTO
-165.021 388.236 166.646 388.236 QUADTO
-166.927 388.236 lineto
-166.927 387.47 lineto
-166.927 386.361 165.786 386.361 QUADTO
-164.88 386.361 163.817 386.924 QUADTO
-163.817 385.97 lineto
-164.989 385.502 166.005 385.502 QUADTO
-167.067 385.502 167.575 385.978 QUADTO
-168.083 386.455 168.083 387.47 QUADTO
-168.083 390.361 lineto
-168.083 391.345 168.692 391.345 QUADTO
-168.771 391.345 168.911 391.314 QUADTO
-168.989 391.955 lineto
-168.599 392.142 168.13 392.142 QUADTO
-167.317 392.142 167.099 391.189 QUADTO
-closepath
-166.927 390.564 M
-166.927 388.924 lineto
-166.536 388.908 lineto
-165.599 388.908 165.013 389.267 QUADTO
-164.427 389.627 164.427 390.22 QUADTO
-164.427 390.627 164.716 390.916 QUADTO
-165.005 391.205 165.427 391.205 QUADTO
-166.146 391.205 166.927 390.564 QUADTO
-closepath
-174.522 392.002 M
-174.522 390.799 lineto
-173.819 392.142 172.413 392.142 QUADTO
-171.257 392.142 170.601 391.306 QUADTO
-169.944 390.47 169.944 389.017 QUADTO
-169.944 387.424 170.687 386.463 QUADTO
-171.429 385.502 172.647 385.502 QUADTO
-173.788 385.502 174.522 386.361 QUADTO
-174.522 382.752 lineto
-175.694 382.752 lineto
-175.694 392.002 lineto
-174.522 392.002 lineto
-closepath
-174.522 387.158 M
-173.632 386.361 172.835 386.361 QUADTO
-171.163 386.361 171.163 388.908 QUADTO
-171.163 391.127 172.647 391.127 QUADTO
-173.601 391.127 174.522 390.08 QUADTO
-174.522 387.158 lineto
-closepath
-182.653 391.799 M
-181.497 392.142 180.669 392.142 QUADTO
-179.263 392.142 178.38 391.213 QUADTO
-177.497 390.283 177.497 388.783 QUADTO
-177.497 387.345 178.278 386.416 QUADTO
-179.06 385.486 180.278 385.486 QUADTO
-181.435 385.486 182.06 386.306 QUADTO
-182.685 387.127 182.685 388.642 QUADTO
-182.685 389.002 lineto
-178.669 389.002 lineto
-178.919 391.267 180.888 391.267 QUADTO
-181.606 391.267 182.653 390.877 QUADTO
-182.653 391.799 lineto
-closepath
-178.716 388.127 M
-181.528 388.127 lineto
-181.528 386.361 180.2 386.361 QUADTO
-178.872 386.361 178.716 388.127 QUADTO
-closepath
-184.683 392.002 M
-184.683 385.642 lineto
-185.839 385.642 lineto
-185.839 386.83 lineto
-186.683 385.502 188.011 385.502 QUADTO
-189.276 385.502 189.745 386.83 QUADTO
-190.558 385.486 191.87 385.486 QUADTO
-192.714 385.486 193.183 385.986 QUADTO
-193.651 386.486 193.651 387.377 QUADTO
-193.651 392.002 lineto
-192.479 392.002 lineto
-192.479 387.549 lineto
-192.479 386.47 191.62 386.47 QUADTO
-190.729 386.47 189.745 387.736 QUADTO
-189.745 392.002 lineto
-188.589 392.002 lineto
-188.589 387.549 lineto
-188.589 386.455 187.698 386.455 QUADTO
-186.839 386.455 185.839 387.736 QUADTO
-185.839 392.002 lineto
-184.683 392.002 lineto
-closepath
-195.886 392.002 M
-195.886 382.752 lineto
-197.042 382.752 lineto
-197.042 392.002 lineto
-195.886 392.002 lineto
-closepath
-199.354 392.002 M
-199.354 385.642 lineto
-200.511 385.642 lineto
-200.511 392.002 lineto
-199.354 392.002 lineto
-closepath
-199.354 384.486 M
-199.354 383.33 lineto
-200.511 383.33 lineto
-200.511 384.486 lineto
-199.354 384.486 lineto
-closepath
-206.104 391.189 M
-205.073 392.142 204.104 392.142 QUADTO
-203.308 392.142 202.792 391.65 QUADTO
-202.276 391.158 202.276 390.408 QUADTO
-202.276 389.361 203.151 388.799 QUADTO
-204.026 388.236 205.651 388.236 QUADTO
-205.933 388.236 lineto
-205.933 387.47 lineto
-205.933 386.361 204.792 386.361 QUADTO
-203.886 386.361 202.823 386.924 QUADTO
-202.823 385.97 lineto
-203.995 385.502 205.011 385.502 QUADTO
-206.073 385.502 206.581 385.978 QUADTO
-207.089 386.455 207.089 387.47 QUADTO
-207.089 390.361 lineto
-207.089 391.345 207.698 391.345 QUADTO
-207.776 391.345 207.917 391.314 QUADTO
-207.995 391.955 lineto
-207.604 392.142 207.136 392.142 QUADTO
-206.323 392.142 206.104 391.189 QUADTO
-closepath
-205.933 390.564 M
-205.933 388.924 lineto
-205.542 388.908 lineto
-204.604 388.908 204.019 389.267 QUADTO
-203.433 389.627 203.433 390.22 QUADTO
-203.433 390.627 203.722 390.916 QUADTO
-204.011 391.205 204.433 391.205 QUADTO
-205.151 391.205 205.933 390.564 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-214.294 387.726 M
-228.294 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-221.294 384.726 M
-224.294 390.726 lineto
-218.294 390.726 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.294 384.726 M
-224.294 390.726 lineto
-218.294 390.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-235.778 392.002 M
-232.513 383.33 lineto
-233.731 383.33 lineto
-236.419 390.424 lineto
-239.013 383.33 lineto
-240.091 383.33 lineto
-236.935 392.002 lineto
-235.778 392.002 lineto
-closepath
-245.952 391.799 M
-244.796 392.142 243.968 392.142 QUADTO
-242.562 392.142 241.679 391.213 QUADTO
-240.796 390.283 240.796 388.783 QUADTO
-240.796 387.345 241.577 386.416 QUADTO
-242.358 385.486 243.577 385.486 QUADTO
-244.733 385.486 245.358 386.306 QUADTO
-245.983 387.127 245.983 388.642 QUADTO
-245.983 389.002 lineto
-241.968 389.002 lineto
-242.218 391.267 244.187 391.267 QUADTO
-244.905 391.267 245.952 390.877 QUADTO
-245.952 391.799 lineto
-closepath
-242.015 388.127 M
-244.827 388.127 lineto
-244.827 386.361 243.499 386.361 QUADTO
-242.171 386.361 242.015 388.127 QUADTO
-closepath
-247.981 392.002 M
-247.981 385.642 lineto
-249.138 385.642 lineto
-249.138 386.83 lineto
-249.825 385.502 251.122 385.502 QUADTO
-251.31 385.502 251.497 385.533 QUADTO
-251.497 386.611 lineto
-251.2 386.502 250.966 386.502 QUADTO
-249.872 386.502 249.138 387.799 QUADTO
-249.138 392.002 lineto
-247.981 392.002 lineto
-closepath
-254.798 392.142 M
-253.923 392.142 253.431 391.642 QUADTO
-252.938 391.142 252.938 390.236 QUADTO
-252.938 386.502 lineto
-252.142 386.502 lineto
-252.142 385.642 lineto
-252.938 385.642 lineto
-252.938 384.486 lineto
-254.095 384.377 lineto
-254.095 385.642 lineto
-255.751 385.642 lineto
-255.751 386.502 lineto
-254.095 386.502 lineto
-254.095 390.033 lineto
-254.095 391.283 255.173 391.283 QUADTO
-255.392 391.283 255.72 391.205 QUADTO
-255.72 392.002 lineto
-255.188 392.142 254.798 392.142 QUADTO
-closepath
-262.036 391.799 M
-260.88 392.142 260.052 392.142 QUADTO
-258.646 392.142 257.763 391.213 QUADTO
-256.88 390.283 256.88 388.783 QUADTO
-256.88 387.345 257.661 386.416 QUADTO
-258.442 385.486 259.661 385.486 QUADTO
-260.817 385.486 261.442 386.306 QUADTO
-262.067 387.127 262.067 388.642 QUADTO
-262.067 389.002 lineto
-258.052 389.002 lineto
-258.302 391.267 260.271 391.267 QUADTO
-260.989 391.267 262.036 390.877 QUADTO
-262.036 391.799 lineto
-closepath
-258.099 388.127 M
-260.911 388.127 lineto
-260.911 386.361 259.583 386.361 QUADTO
-258.255 386.361 258.099 388.127 QUADTO
-closepath
-263.425 392.002 M
-265.847 388.72 lineto
-263.503 385.642 lineto
-264.862 385.642 lineto
-266.722 388.08 lineto
-268.409 385.642 lineto
-269.534 385.642 lineto
-267.331 388.861 lineto
-269.722 392.002 lineto
-268.347 392.002 lineto
-266.44 389.486 lineto
-264.581 392.002 lineto
-263.425 392.002 lineto
-closepath
-281.706 391.767 M
-280.128 392.22 278.956 392.22 QUADTO
-276.878 392.22 275.776 391.041 QUADTO
-274.675 389.861 274.675 387.658 QUADTO
-274.675 385.502 275.792 384.306 QUADTO
-276.909 383.111 278.94 383.111 QUADTO
-280.253 383.111 281.69 383.502 QUADTO
-281.69 384.642 lineto
-279.894 384.033 278.94 384.033 QUADTO
-277.534 384.033 276.761 384.986 QUADTO
-275.987 385.939 275.987 387.674 QUADTO
-275.987 389.392 276.815 390.345 QUADTO
-277.644 391.299 279.144 391.299 QUADTO
-279.769 391.299 280.472 391.08 QUADTO
-280.472 388.252 lineto
-281.706 388.252 lineto
-281.706 391.767 lineto
-closepath
-283.894 392.002 M
-283.894 385.642 lineto
-285.05 385.642 lineto
-285.05 386.83 lineto
-285.737 385.502 287.034 385.502 QUADTO
-287.222 385.502 287.409 385.533 QUADTO
-287.409 386.611 lineto
-287.112 386.502 286.878 386.502 QUADTO
-285.784 386.502 285.05 387.799 QUADTO
-285.05 392.002 lineto
-283.894 392.002 lineto
-closepath
-291.288 392.142 M
-289.929 392.142 289.116 391.236 QUADTO
-288.304 390.33 288.304 388.814 QUADTO
-288.304 387.283 289.116 386.392 QUADTO
-289.929 385.502 291.335 385.502 QUADTO
-292.741 385.502 293.554 386.392 QUADTO
-294.366 387.283 294.366 388.814 QUADTO
-294.366 390.361 293.546 391.252 QUADTO
-292.726 392.142 291.288 392.142 QUADTO
-closepath
-291.304 391.283 M
-293.147 391.283 293.147 388.814 QUADTO
-293.147 386.361 291.335 386.361 QUADTO
-289.522 386.361 289.522 388.814 QUADTO
-289.522 391.283 291.304 391.283 QUADTO
-closepath
-300.159 392.002 M
-300.159 390.799 lineto
-299.237 392.142 297.925 392.142 QUADTO
-297.081 392.142 296.589 391.619 QUADTO
-296.097 391.095 296.097 390.205 QUADTO
-296.097 385.642 lineto
-297.253 385.642 lineto
-297.253 389.83 lineto
-297.253 390.549 297.464 390.853 QUADTO
-297.675 391.158 298.159 391.158 QUADTO
-299.222 391.158 300.159 389.767 QUADTO
-300.159 385.642 lineto
-301.3 385.642 lineto
-301.3 392.002 lineto
-300.159 392.002 lineto
-closepath
-303.622 394.314 M
-303.622 385.642 lineto
-304.778 385.642 lineto
-304.778 386.83 lineto
-305.481 385.502 306.903 385.502 QUADTO
-308.044 385.502 308.708 386.338 QUADTO
-309.372 387.174 309.372 388.627 QUADTO
-309.372 390.205 308.622 391.174 QUADTO
-307.872 392.142 306.653 392.142 QUADTO
-305.528 392.142 304.778 391.283 QUADTO
-304.778 394.314 lineto
-303.622 394.314 lineto
-closepath
-304.778 390.486 M
-305.669 391.283 306.481 391.283 QUADTO
-308.138 391.283 308.138 388.736 QUADTO
-308.138 386.502 306.669 386.502 QUADTO
-305.7 386.502 304.778 387.549 QUADTO
-304.778 390.486 lineto
-closepath
-312.862 392.142 M
-312.065 392.142 310.94 391.783 QUADTO
-310.94 390.72 lineto
-312.065 391.283 312.909 391.283 QUADTO
-313.409 391.283 313.737 391.009 QUADTO
-314.065 390.736 314.065 390.33 QUADTO
-314.065 389.752 313.144 389.361 QUADTO
-312.472 389.064 lineto
-310.972 388.455 310.972 387.283 QUADTO
-310.972 386.455 311.565 385.978 QUADTO
-312.159 385.502 313.175 385.502 QUADTO
-313.706 385.502 314.503 385.642 QUADTO
-314.737 385.689 lineto
-314.737 386.658 lineto
-313.769 386.361 313.206 386.361 QUADTO
-312.081 386.361 312.081 387.174 QUADTO
-312.081 387.689 312.925 388.049 QUADTO
-313.487 388.283 lineto
-314.425 388.689 314.823 389.127 QUADTO
-315.222 389.564 315.222 390.236 QUADTO
-315.222 391.064 314.558 391.603 QUADTO
-313.894 392.142 312.862 392.142 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-58.148 34.247 M
-388 34.247 lineto
-388 325.931 lineto
-58.148 325.931 lineto
-58.148 34.247 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-58.148 329.931 M
-388 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-62.77 345.481 M
-62.77 344.465 lineto
-63.27 343.293 64.802 341.903 QUADTO
-65.473 341.309 lineto
-66.739 340.153 66.739 339.012 QUADTO
-66.739 338.293 66.309 337.879 QUADTO
-65.88 337.465 65.114 337.465 QUADTO
-64.208 337.465 62.989 338.153 QUADTO
-62.989 337.137 lineto
-64.145 336.59 65.27 336.59 QUADTO
-66.489 336.59 67.231 337.247 QUADTO
-67.973 337.903 67.973 338.981 QUADTO
-67.973 339.762 67.598 340.372 QUADTO
-67.223 340.981 66.208 341.84 QUADTO
-65.77 342.215 lineto
-64.38 343.387 64.161 344.465 QUADTO
-67.927 344.465 lineto
-67.927 345.481 lineto
-62.77 345.481 lineto
-closepath
-73.124 345.7 M
-71.78 345.7 70.952 344.434 QUADTO
-70.124 343.168 70.124 341.137 QUADTO
-70.124 339.09 70.96 337.84 QUADTO
-71.796 336.59 73.155 336.59 QUADTO
-74.514 336.59 75.35 337.84 QUADTO
-76.186 339.09 76.186 341.122 QUADTO
-76.186 343.2 75.35 344.45 QUADTO
-74.514 345.7 73.124 345.7 QUADTO
-closepath
-73.139 344.825 M
-74.968 344.825 74.968 341.106 QUADTO
-74.968 337.465 73.155 337.465 QUADTO
-71.358 337.465 71.358 341.137 QUADTO
-71.358 344.825 73.139 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.358 331.931 M
-69.358 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-93.333 345.418 M
-93.333 344.34 lineto
-94.583 344.825 95.287 344.825 QUADTO
-96.115 344.825 96.638 344.34 QUADTO
-97.162 343.856 97.162 343.09 QUADTO
-97.162 341.262 94.599 341.262 QUADTO
-94.13 341.262 lineto
-94.13 340.481 lineto
-94.537 340.481 lineto
-96.943 340.481 96.943 338.793 QUADTO
-96.943 337.465 95.365 337.465 QUADTO
-94.49 337.465 93.458 337.95 QUADTO
-93.458 336.934 lineto
-94.474 336.59 95.443 336.59 QUADTO
-98.099 336.59 98.099 338.606 QUADTO
-98.099 340.137 96.287 340.778 QUADTO
-98.396 341.262 98.396 343.075 QUADTO
-98.396 344.309 97.583 345.004 QUADTO
-96.771 345.7 95.365 345.7 QUADTO
-94.552 345.7 93.333 345.418 QUADTO
-closepath
-103.468 345.7 M
-102.124 345.7 101.296 344.434 QUADTO
-100.468 343.168 100.468 341.137 QUADTO
-100.468 339.09 101.304 337.84 QUADTO
-102.14 336.59 103.499 336.59 QUADTO
-104.859 336.59 105.695 337.84 QUADTO
-106.531 339.09 106.531 341.122 QUADTO
-106.531 343.2 105.695 344.45 QUADTO
-104.859 345.7 103.468 345.7 QUADTO
-closepath
-103.484 344.825 M
-105.312 344.825 105.312 341.106 QUADTO
-105.312 337.465 103.499 337.465 QUADTO
-101.703 337.465 101.703 341.137 QUADTO
-101.703 344.825 103.484 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-99.703 331.931 M
-99.703 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.232 331.931 M
-121.232 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-137.932 331.931 M
-137.932 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-151.576 331.931 M
-151.576 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-163.113 331.931 M
-163.113 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.106 331.931 M
-173.106 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-181.921 331.931 M
-181.921 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.806 331.931 M
-189.806 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-180.236 345.481 M
-180.236 344.606 lineto
-181.971 344.606 lineto
-181.971 337.762 lineto
-180.236 338.2 lineto
-180.236 337.309 lineto
-183.127 336.59 lineto
-183.127 344.606 lineto
-184.861 344.606 lineto
-184.861 345.481 lineto
-180.236 345.481 lineto
-closepath
-189.777 345.7 M
-188.434 345.7 187.606 344.434 QUADTO
-186.777 343.168 186.777 341.137 QUADTO
-186.777 339.09 187.613 337.84 QUADTO
-188.449 336.59 189.809 336.59 QUADTO
-191.168 336.59 192.004 337.84 QUADTO
-192.84 339.09 192.84 341.122 QUADTO
-192.84 343.2 192.004 344.45 QUADTO
-191.168 345.7 189.777 345.7 QUADTO
-closepath
-189.793 344.825 M
-191.621 344.825 191.621 341.106 QUADTO
-191.621 337.465 189.809 337.465 QUADTO
-188.012 337.465 188.012 341.137 QUADTO
-188.012 344.825 189.793 344.825 QUADTO
-closepath
-197.365 345.7 M
-196.022 345.7 195.193 344.434 QUADTO
-194.365 343.168 194.365 341.137 QUADTO
-194.365 339.09 195.201 337.84 QUADTO
-196.037 336.59 197.397 336.59 QUADTO
-198.756 336.59 199.592 337.84 QUADTO
-200.428 339.09 200.428 341.122 QUADTO
-200.428 343.2 199.592 344.45 QUADTO
-198.756 345.7 197.365 345.7 QUADTO
-closepath
-197.381 344.825 M
-199.209 344.825 199.209 341.106 QUADTO
-199.209 337.465 197.397 337.465 QUADTO
-195.6 337.465 195.6 341.137 QUADTO
-195.6 344.825 197.381 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.806 331.931 M
-189.806 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-231.298 345.481 M
-231.298 344.465 lineto
-231.798 343.293 233.329 341.903 QUADTO
-234.001 341.309 lineto
-235.267 340.153 235.267 339.012 QUADTO
-235.267 338.293 234.837 337.879 QUADTO
-234.407 337.465 233.642 337.465 QUADTO
-232.735 337.465 231.517 338.153 QUADTO
-231.517 337.137 lineto
-232.673 336.59 233.798 336.59 QUADTO
-235.017 336.59 235.759 337.247 QUADTO
-236.501 337.903 236.501 338.981 QUADTO
-236.501 339.762 236.126 340.372 QUADTO
-235.751 340.981 234.735 341.84 QUADTO
-234.298 342.215 lineto
-232.907 343.387 232.689 344.465 QUADTO
-236.454 344.465 lineto
-236.454 345.481 lineto
-231.298 345.481 lineto
-closepath
-241.651 345.7 M
-240.308 345.7 239.48 344.434 QUADTO
-238.651 343.168 238.651 341.137 QUADTO
-238.651 339.09 239.487 337.84 QUADTO
-240.323 336.59 241.683 336.59 QUADTO
-243.042 336.59 243.878 337.84 QUADTO
-244.714 339.09 244.714 341.122 QUADTO
-244.714 343.2 243.878 344.45 QUADTO
-243.042 345.7 241.651 345.7 QUADTO
-closepath
-241.667 344.825 M
-243.495 344.825 243.495 341.106 QUADTO
-243.495 337.465 241.683 337.465 QUADTO
-239.886 337.465 239.886 341.137 QUADTO
-239.886 344.825 241.667 344.825 QUADTO
-closepath
-249.239 345.7 M
-247.896 345.7 247.067 344.434 QUADTO
-246.239 343.168 246.239 341.137 QUADTO
-246.239 339.09 247.075 337.84 QUADTO
-247.911 336.59 249.271 336.59 QUADTO
-250.63 336.59 251.466 337.84 QUADTO
-252.302 339.09 252.302 341.122 QUADTO
-252.302 343.2 251.466 344.45 QUADTO
-250.63 345.7 249.239 345.7 QUADTO
-closepath
-249.255 344.825 M
-251.083 344.825 251.083 341.106 QUADTO
-251.083 337.465 249.271 337.465 QUADTO
-247.474 337.465 247.474 341.137 QUADTO
-247.474 344.825 249.255 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-241.68 331.931 M
-241.68 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-272.024 331.931 M
-272.024 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-293.554 331.931 M
-293.554 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-310.253 331.931 M
-310.253 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-323.898 331.931 M
-323.898 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-335.434 331.931 M
-335.434 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-345.428 331.931 M
-345.428 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-354.242 331.931 M
-354.242 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.127 331.931 M
-362.127 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-348.764 345.481 M
-348.764 344.606 lineto
-350.498 344.606 lineto
-350.498 337.762 lineto
-348.764 338.2 lineto
-348.764 337.309 lineto
-351.655 336.59 lineto
-351.655 344.606 lineto
-353.389 344.606 lineto
-353.389 345.481 lineto
-348.764 345.481 lineto
-closepath
-358.305 345.7 M
-356.961 345.7 356.133 344.434 QUADTO
-355.305 343.168 355.305 341.137 QUADTO
-355.305 339.09 356.141 337.84 QUADTO
-356.977 336.59 358.336 336.59 QUADTO
-359.696 336.59 360.532 337.84 QUADTO
-361.368 339.09 361.368 341.122 QUADTO
-361.368 343.2 360.532 344.45 QUADTO
-359.696 345.7 358.305 345.7 QUADTO
-closepath
-358.321 344.825 M
-360.149 344.825 360.149 341.106 QUADTO
-360.149 337.465 358.336 337.465 QUADTO
-356.539 337.465 356.539 341.137 QUADTO
-356.539 344.825 358.321 344.825 QUADTO
-closepath
-365.893 345.7 M
-364.549 345.7 363.721 344.434 QUADTO
-362.893 343.168 362.893 341.137 QUADTO
-362.893 339.09 363.729 337.84 QUADTO
-364.565 336.59 365.924 336.59 QUADTO
-367.284 336.59 368.119 337.84 QUADTO
-368.955 339.09 368.955 341.122 QUADTO
-368.955 343.2 368.119 344.45 QUADTO
-367.284 345.7 365.893 345.7 QUADTO
-closepath
-365.909 344.825 M
-367.737 344.825 367.737 341.106 QUADTO
-367.737 337.465 365.924 337.465 QUADTO
-364.127 337.465 364.127 341.137 QUADTO
-364.127 344.825 365.909 344.825 QUADTO
-closepath
-373.481 345.7 M
-372.137 345.7 371.309 344.434 QUADTO
-370.481 343.168 370.481 341.137 QUADTO
-370.481 339.09 371.317 337.84 QUADTO
-372.153 336.59 373.512 336.59 QUADTO
-374.871 336.59 375.707 337.84 QUADTO
-376.543 339.09 376.543 341.122 QUADTO
-376.543 343.2 375.707 344.45 QUADTO
-374.871 345.7 373.481 345.7 QUADTO
-closepath
-373.496 344.825 M
-375.325 344.825 375.325 341.106 QUADTO
-375.325 337.465 373.512 337.465 QUADTO
-371.715 337.465 371.715 341.137 QUADTO
-371.715 344.825 373.496 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.127 331.931 M
-362.127 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-202.574 364.954 M
-202.574 357.454 lineto
-204.59 357.454 lineto
-204.59 358.86 lineto
-205.59 357.282 207.152 357.282 QUADTO
-208.152 357.282 208.738 357.915 QUADTO
-209.324 358.548 209.324 359.641 QUADTO
-209.324 364.954 lineto
-207.293 364.954 lineto
-207.293 360.141 lineto
-207.293 358.876 206.449 358.876 QUADTO
-205.48 358.876 204.59 360.235 QUADTO
-204.59 364.954 lineto
-202.574 364.954 lineto
-closepath
-214.925 365.126 M
-213.159 365.126 212.128 364.063 QUADTO
-211.097 363.001 211.097 361.204 QUADTO
-211.097 359.376 212.136 358.329 QUADTO
-213.175 357.282 214.972 357.282 QUADTO
-216.769 357.282 217.808 358.329 QUADTO
-218.847 359.376 218.847 361.188 QUADTO
-218.847 363.032 217.8 364.079 QUADTO
-216.753 365.126 214.925 365.126 QUADTO
-closepath
-214.956 363.86 M
-216.69 363.86 216.69 361.188 QUADTO
-216.69 359.97 216.229 359.259 QUADTO
-215.769 358.548 214.972 358.548 QUADTO
-214.175 358.548 213.706 359.259 QUADTO
-213.237 359.97 213.237 361.204 QUADTO
-213.237 362.423 213.698 363.141 QUADTO
-214.159 363.86 214.956 363.86 QUADTO
-closepath
-225.429 364.954 M
-225.429 363.532 lineto
-224.647 365.126 222.976 365.126 QUADTO
-221.632 365.126 220.858 364.134 QUADTO
-220.085 363.141 220.085 361.407 QUADTO
-220.085 359.516 220.952 358.399 QUADTO
-221.819 357.282 223.288 357.282 QUADTO
-224.476 357.282 225.429 358.204 QUADTO
-225.429 354.157 lineto
-227.46 354.157 lineto
-227.46 364.954 lineto
-225.429 364.954 lineto
-closepath
-225.429 359.407 M
-224.694 358.595 223.866 358.595 QUADTO
-223.116 358.595 222.679 359.313 QUADTO
-222.241 360.032 222.241 361.235 QUADTO
-222.241 363.532 223.71 363.532 QUADTO
-224.616 363.532 225.429 362.376 QUADTO
-225.429 359.407 lineto
-closepath
-236.096 364.704 M
-234.658 365.126 233.361 365.126 QUADTO
-231.486 365.126 230.4 364.055 QUADTO
-229.314 362.985 229.314 361.141 QUADTO
-229.314 359.407 230.307 358.345 QUADTO
-231.299 357.282 232.939 357.282 QUADTO
-234.58 357.282 235.338 358.321 QUADTO
-236.096 359.36 236.096 361.61 QUADTO
-231.439 361.61 lineto
-231.643 363.751 233.799 363.751 QUADTO
-234.814 363.751 236.096 363.282 QUADTO
-236.096 364.704 lineto
-closepath
-231.408 360.47 M
-234.111 360.47 lineto
-234.111 358.548 232.877 358.548 QUADTO
-231.611 358.548 231.408 360.47 QUADTO
-closepath
-237.986 364.72 M
-237.986 363.235 lineto
-239.502 363.86 240.564 363.86 QUADTO
-241.799 363.86 241.799 363.016 QUADTO
-241.799 362.47 240.783 362.048 QUADTO
-240.096 361.782 lineto
-238.986 361.329 238.502 360.813 QUADTO
-238.018 360.298 238.018 359.532 QUADTO
-238.018 358.454 238.838 357.868 QUADTO
-239.658 357.282 241.111 357.282 QUADTO
-242.033 357.282 243.299 357.548 QUADTO
-243.299 358.97 lineto
-242.08 358.548 241.283 358.548 QUADTO
-240.018 358.548 240.018 359.313 QUADTO
-240.018 359.829 240.955 360.188 QUADTO
-241.533 360.407 lineto
-242.861 360.907 243.377 361.423 QUADTO
-243.893 361.938 243.893 362.751 QUADTO
-243.893 363.798 243.01 364.462 QUADTO
-242.127 365.126 240.721 365.126 QUADTO
-239.377 365.126 237.986 364.72 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-54.148 34.247 M
-54.148 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-44.326 330.426 M
-42.982 330.426 42.154 329.16 QUADTO
-41.326 327.894 41.326 325.863 QUADTO
-41.326 323.816 42.162 322.566 QUADTO
-42.998 321.316 44.357 321.316 QUADTO
-45.717 321.316 46.553 322.566 QUADTO
-47.389 323.816 47.389 325.848 QUADTO
-47.389 327.926 46.553 329.176 QUADTO
-45.717 330.426 44.326 330.426 QUADTO
-closepath
-44.342 329.551 M
-46.17 329.551 46.17 325.832 QUADTO
-46.17 322.191 44.357 322.191 QUADTO
-42.561 322.191 42.561 325.863 QUADTO
-42.561 329.551 44.342 329.551 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 325.931 M
-54.148 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-42.014 299.402 M
-42.014 298.37 lineto
-42.889 298.714 43.654 298.714 QUADTO
-44.514 298.714 45.006 298.214 QUADTO
-45.498 297.714 45.498 296.823 QUADTO
-45.498 294.87 42.811 294.87 QUADTO
-42.498 294.87 42.17 294.917 QUADTO
-42.17 290.698 lineto
-46.561 290.698 lineto
-46.561 291.698 lineto
-43.186 291.698 lineto
-43.186 293.995 lineto
-44.857 293.995 45.795 294.761 QUADTO
-46.732 295.527 46.732 296.886 QUADTO
-46.732 298.152 45.873 298.87 QUADTO
-45.014 299.589 43.514 299.589 QUADTO
-42.857 299.589 42.014 299.402 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 295.095 M
-54.148 295.095 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 268.534 M
-34.785 267.659 lineto
-36.52 267.659 lineto
-36.52 260.815 lineto
-34.785 261.252 lineto
-34.785 260.362 lineto
-37.676 259.643 lineto
-37.676 267.659 lineto
-39.41 267.659 lineto
-39.41 268.534 lineto
-34.785 268.534 lineto
-closepath
-44.326 268.752 M
-42.982 268.752 42.154 267.487 QUADTO
-41.326 266.221 41.326 264.19 QUADTO
-41.326 262.143 42.162 260.893 QUADTO
-42.998 259.643 44.357 259.643 QUADTO
-45.717 259.643 46.553 260.893 QUADTO
-47.389 262.143 47.389 264.174 QUADTO
-47.389 266.252 46.553 267.502 QUADTO
-45.717 268.752 44.326 268.752 QUADTO
-closepath
-44.342 267.877 M
-46.17 267.877 46.17 264.159 QUADTO
-46.17 260.518 44.357 260.518 QUADTO
-42.561 260.518 42.561 264.19 QUADTO
-42.561 267.877 44.342 267.877 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 264.258 M
-54.148 264.258 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 237.697 M
-34.785 236.822 lineto
-36.52 236.822 lineto
-36.52 229.978 lineto
-34.785 230.416 lineto
-34.785 229.525 lineto
-37.676 228.806 lineto
-37.676 236.822 lineto
-39.41 236.822 lineto
-39.41 237.697 lineto
-34.785 237.697 lineto
-closepath
-42.014 237.728 M
-42.014 236.697 lineto
-42.889 237.041 43.654 237.041 QUADTO
-44.514 237.041 45.006 236.541 QUADTO
-45.498 236.041 45.498 235.15 QUADTO
-45.498 233.197 42.811 233.197 QUADTO
-42.498 233.197 42.17 233.244 QUADTO
-42.17 229.025 lineto
-46.561 229.025 lineto
-46.561 230.025 lineto
-43.186 230.025 lineto
-43.186 232.322 lineto
-44.857 232.322 45.795 233.088 QUADTO
-46.732 233.853 46.732 235.213 QUADTO
-46.732 236.478 45.873 237.197 QUADTO
-45.014 237.916 43.514 237.916 QUADTO
-42.857 237.916 42.014 237.728 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 233.421 M
-54.148 233.421 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 206.86 M
-33.973 205.845 lineto
-34.473 204.673 36.004 203.282 QUADTO
-36.676 202.689 lineto
-37.941 201.532 37.941 200.392 QUADTO
-37.941 199.673 37.512 199.259 QUADTO
-37.082 198.845 36.316 198.845 QUADTO
-35.41 198.845 34.191 199.532 QUADTO
-34.191 198.517 lineto
-35.348 197.97 36.473 197.97 QUADTO
-37.691 197.97 38.434 198.626 QUADTO
-39.176 199.282 39.176 200.36 QUADTO
-39.176 201.142 38.801 201.751 QUADTO
-38.426 202.36 37.41 203.22 QUADTO
-36.973 203.595 lineto
-35.582 204.767 35.363 205.845 QUADTO
-39.129 205.845 lineto
-39.129 206.86 lineto
-33.973 206.86 lineto
-closepath
-44.326 207.079 M
-42.982 207.079 42.154 205.814 QUADTO
-41.326 204.548 41.326 202.517 QUADTO
-41.326 200.47 42.162 199.22 QUADTO
-42.998 197.97 44.357 197.97 QUADTO
-45.717 197.97 46.553 199.22 QUADTO
-47.389 200.47 47.389 202.501 QUADTO
-47.389 204.579 46.553 205.829 QUADTO
-45.717 207.079 44.326 207.079 QUADTO
-closepath
-44.342 206.204 M
-46.17 206.204 46.17 202.485 QUADTO
-46.17 198.845 44.357 198.845 QUADTO
-42.561 198.845 42.561 202.517 QUADTO
-42.561 206.204 44.342 206.204 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 202.585 M
-54.148 202.585 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 176.024 M
-33.973 175.008 lineto
-34.473 173.836 36.004 172.446 QUADTO
-36.676 171.852 lineto
-37.941 170.696 37.941 169.555 QUADTO
-37.941 168.836 37.512 168.422 QUADTO
-37.082 168.008 36.316 168.008 QUADTO
-35.41 168.008 34.191 168.696 QUADTO
-34.191 167.68 lineto
-35.348 167.133 36.473 167.133 QUADTO
-37.691 167.133 38.434 167.789 QUADTO
-39.176 168.446 39.176 169.524 QUADTO
-39.176 170.305 38.801 170.914 QUADTO
-38.426 171.524 37.41 172.383 QUADTO
-36.973 172.758 lineto
-35.582 173.93 35.363 175.008 QUADTO
-39.129 175.008 lineto
-39.129 176.024 lineto
-33.973 176.024 lineto
-closepath
-42.014 176.055 M
-42.014 175.024 lineto
-42.889 175.368 43.654 175.368 QUADTO
-44.514 175.368 45.006 174.868 QUADTO
-45.498 174.368 45.498 173.477 QUADTO
-45.498 171.524 42.811 171.524 QUADTO
-42.498 171.524 42.17 171.571 QUADTO
-42.17 167.352 lineto
-46.561 167.352 lineto
-46.561 168.352 lineto
-43.186 168.352 lineto
-43.186 170.649 lineto
-44.857 170.649 45.795 171.414 QUADTO
-46.732 172.18 46.732 173.539 QUADTO
-46.732 174.805 45.873 175.524 QUADTO
-45.014 176.243 43.514 176.243 QUADTO
-42.857 176.243 42.014 176.055 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 171.748 M
-54.148 171.748 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 145.125 M
-34.191 144.047 lineto
-35.441 144.531 36.145 144.531 QUADTO
-36.973 144.531 37.496 144.047 QUADTO
-38.02 143.562 38.02 142.797 QUADTO
-38.02 140.968 35.457 140.968 QUADTO
-34.988 140.968 lineto
-34.988 140.187 lineto
-35.395 140.187 lineto
-37.801 140.187 37.801 138.5 QUADTO
-37.801 137.172 36.223 137.172 QUADTO
-35.348 137.172 34.316 137.656 QUADTO
-34.316 136.64 lineto
-35.332 136.297 36.301 136.297 QUADTO
-38.957 136.297 38.957 138.312 QUADTO
-38.957 139.843 37.145 140.484 QUADTO
-39.254 140.968 39.254 142.781 QUADTO
-39.254 144.015 38.441 144.711 QUADTO
-37.629 145.406 36.223 145.406 QUADTO
-35.41 145.406 34.191 145.125 QUADTO
-closepath
-44.326 145.406 M
-42.982 145.406 42.154 144.14 QUADTO
-41.326 142.875 41.326 140.843 QUADTO
-41.326 138.797 42.162 137.547 QUADTO
-42.998 136.297 44.357 136.297 QUADTO
-45.717 136.297 46.553 137.547 QUADTO
-47.389 138.797 47.389 140.828 QUADTO
-47.389 142.906 46.553 144.156 QUADTO
-45.717 145.406 44.326 145.406 QUADTO
-closepath
-44.342 144.531 M
-46.17 144.531 46.17 140.812 QUADTO
-46.17 137.172 44.357 137.172 QUADTO
-42.561 137.172 42.561 140.843 QUADTO
-42.561 144.531 44.342 144.531 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 140.912 M
-54.148 140.912 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 114.288 M
-34.191 113.21 lineto
-35.441 113.694 36.145 113.694 QUADTO
-36.973 113.694 37.496 113.21 QUADTO
-38.02 112.726 38.02 111.96 QUADTO
-38.02 110.132 35.457 110.132 QUADTO
-34.988 110.132 lineto
-34.988 109.351 lineto
-35.395 109.351 lineto
-37.801 109.351 37.801 107.663 QUADTO
-37.801 106.335 36.223 106.335 QUADTO
-35.348 106.335 34.316 106.819 QUADTO
-34.316 105.804 lineto
-35.332 105.46 36.301 105.46 QUADTO
-38.957 105.46 38.957 107.476 QUADTO
-38.957 109.007 37.145 109.647 QUADTO
-39.254 110.132 39.254 111.944 QUADTO
-39.254 113.179 38.441 113.874 QUADTO
-37.629 114.569 36.223 114.569 QUADTO
-35.41 114.569 34.191 114.288 QUADTO
-closepath
-42.014 114.382 M
-42.014 113.351 lineto
-42.889 113.694 43.654 113.694 QUADTO
-44.514 113.694 45.006 113.194 QUADTO
-45.498 112.694 45.498 111.804 QUADTO
-45.498 109.851 42.811 109.851 QUADTO
-42.498 109.851 42.17 109.897 QUADTO
-42.17 105.679 lineto
-46.561 105.679 lineto
-46.561 106.679 lineto
-43.186 106.679 lineto
-43.186 108.976 lineto
-44.857 108.976 45.795 109.741 QUADTO
-46.732 110.507 46.732 111.866 QUADTO
-46.732 113.132 45.873 113.851 QUADTO
-45.014 114.569 43.514 114.569 QUADTO
-42.857 114.569 42.014 114.382 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 110.075 M
-54.148 110.075 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-37.488 83.514 M
-37.488 81.061 lineto
-33.582 81.061 lineto
-33.582 80.186 lineto
-37.488 74.842 lineto
-38.582 74.842 lineto
-38.582 80.108 lineto
-39.738 80.108 lineto
-39.738 81.061 lineto
-38.582 81.061 lineto
-38.582 83.514 lineto
-37.488 83.514 lineto
-closepath
-34.723 80.108 M
-37.566 80.108 lineto
-37.566 76.264 lineto
-34.723 80.108 lineto
-closepath
-44.326 83.733 M
-42.982 83.733 42.154 82.467 QUADTO
-41.326 81.201 41.326 79.17 QUADTO
-41.326 77.123 42.162 75.873 QUADTO
-42.998 74.623 44.357 74.623 QUADTO
-45.717 74.623 46.553 75.873 QUADTO
-47.389 77.123 47.389 79.155 QUADTO
-47.389 81.233 46.553 82.483 QUADTO
-45.717 83.733 44.326 83.733 QUADTO
-closepath
-44.342 82.858 M
-46.17 82.858 46.17 79.139 QUADTO
-46.17 75.498 44.357 75.498 QUADTO
-42.561 75.498 42.561 79.17 QUADTO
-42.561 82.858 44.342 82.858 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 79.238 M
-54.148 79.238 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-37.488 52.677 M
-37.488 50.224 lineto
-33.582 50.224 lineto
-33.582 49.349 lineto
-37.488 44.005 lineto
-38.582 44.005 lineto
-38.582 49.271 lineto
-39.738 49.271 lineto
-39.738 50.224 lineto
-38.582 50.224 lineto
-38.582 52.677 lineto
-37.488 52.677 lineto
-closepath
-34.723 49.271 M
-37.566 49.271 lineto
-37.566 45.427 lineto
-34.723 49.271 lineto
-closepath
-42.014 52.709 M
-42.014 51.677 lineto
-42.889 52.021 43.654 52.021 QUADTO
-44.514 52.021 45.006 51.521 QUADTO
-45.498 51.021 45.498 50.13 QUADTO
-45.498 48.177 42.811 48.177 QUADTO
-42.498 48.177 42.17 48.224 QUADTO
-42.17 44.005 lineto
-46.561 44.005 lineto
-46.561 45.005 lineto
-43.186 45.005 lineto
-43.186 47.302 lineto
-44.857 47.302 45.795 48.068 QUADTO
-46.732 48.834 46.732 50.193 QUADTO
-46.732 51.459 45.873 52.177 QUADTO
-45.014 52.896 43.514 52.896 QUADTO
-42.857 52.896 42.014 52.709 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 48.402 M
-54.148 48.402 lineto
-stroke
-grestore
-gsave
-[0 -1 1 0 -160.60265 199.57533] concat
-newpath
-199.575 160.603 M
-199.575 560.603 lineto
--200.425 560.603 lineto
--200.425 160.603 lineto
-199.575 160.603 lineto
-closepath
-clip
-0.251 setgray
-newpath
--38.14 185.077 M
--38.14 174.28 lineto
--36.124 174.28 lineto
--36.124 185.077 lineto
--38.14 185.077 lineto
-closepath
--30.431 185.249 M
--32.196 185.249 -33.228 184.187 QUADTO
--34.259 183.124 -34.259 181.327 QUADTO
--34.259 179.499 -33.22 178.452 QUADTO
--32.181 177.405 -30.384 177.405 QUADTO
--28.587 177.405 -27.548 178.452 QUADTO
--26.509 179.499 -26.509 181.312 QUADTO
--26.509 183.155 -27.556 184.202 QUADTO
--28.603 185.249 -30.431 185.249 QUADTO
-closepath
--30.399 183.983 M
--28.665 183.983 -28.665 181.312 QUADTO
--28.665 180.093 -29.126 179.382 QUADTO
--29.587 178.671 -30.384 178.671 QUADTO
--31.181 178.671 -31.649 179.382 QUADTO
--32.118 180.093 -32.118 181.327 QUADTO
--32.118 182.546 -31.657 183.265 QUADTO
--31.196 183.983 -30.399 183.983 QUADTO
-closepath
--20.974 184.265 M
--21.974 185.249 -23.13 185.249 QUADTO
--24.114 185.249 -24.731 184.648 QUADTO
--25.349 184.046 -25.349 183.093 QUADTO
--25.349 181.843 -24.356 181.171 QUADTO
--23.364 180.499 -21.505 180.499 QUADTO
--20.974 180.499 lineto
--20.974 179.812 lineto
--20.974 178.64 -22.302 178.64 QUADTO
--23.489 178.64 -24.692 179.312 QUADTO
--24.692 177.921 lineto
--23.317 177.405 -21.974 177.405 QUADTO
--19.021 177.405 -19.021 179.749 QUADTO
--19.021 183.062 lineto
--19.021 183.952 -18.458 183.952 QUADTO
--18.364 183.952 -18.192 183.921 QUADTO
--18.146 185.062 lineto
--18.786 185.249 -19.286 185.249 QUADTO
--20.521 185.249 -20.88 184.265 QUADTO
--20.974 184.265 lineto
-closepath
--20.974 183.187 M
--20.974 181.655 lineto
--21.442 181.655 lineto
--23.411 181.655 -23.411 182.89 QUADTO
--23.411 183.312 -23.13 183.593 QUADTO
--22.849 183.874 -22.427 183.874 QUADTO
--21.708 183.874 -20.974 183.187 QUADTO
-closepath
--11.696 185.077 M
--11.696 183.655 lineto
--12.478 185.249 -14.149 185.249 QUADTO
--15.493 185.249 -16.267 184.257 QUADTO
--17.04 183.265 -17.04 181.53 QUADTO
--17.04 179.64 -16.173 178.523 QUADTO
--15.306 177.405 -13.837 177.405 QUADTO
--12.649 177.405 -11.696 178.327 QUADTO
--11.696 174.28 lineto
--9.665 174.28 lineto
--9.665 185.077 lineto
--11.696 185.077 lineto
-closepath
--11.696 179.53 M
--12.431 178.718 -13.259 178.718 QUADTO
--14.009 178.718 -14.446 179.437 QUADTO
--14.884 180.155 -14.884 181.358 QUADTO
--14.884 183.655 -13.415 183.655 QUADTO
--12.509 183.655 -11.696 182.499 QUADTO
--11.696 179.53 lineto
-closepath
--2.306 185.077 M
--2.306 178.843 lineto
--3.353 178.843 lineto
--3.353 177.577 lineto
--2.306 177.577 lineto
--2.306 177.03 lineto
--2.306 174.108 0.46 174.108 QUADTO
-1.351 174.108 2.304 174.374 QUADTO
-2.304 175.733 lineto
-1.444 175.374 0.757 175.374 QUADTO
--0.29 175.374 -0.29 176.952 QUADTO
--0.29 177.577 lineto
-1.616 177.577 lineto
-1.616 178.843 lineto
--0.29 178.843 lineto
--0.29 185.077 lineto
--2.306 185.077 lineto
-closepath
-3.279 185.077 M
-3.279 177.577 lineto
-5.295 177.577 lineto
-5.295 178.983 lineto
-6.092 177.405 7.701 177.405 QUADTO
-7.889 177.405 8.076 177.437 QUADTO
-8.076 179.249 lineto
-7.639 179.093 7.264 179.093 QUADTO
-6.061 179.093 5.295 180.312 QUADTO
-5.295 185.077 lineto
-3.279 185.077 lineto
-closepath
-13.315 184.265 M
-12.315 185.249 11.159 185.249 QUADTO
-10.175 185.249 9.558 184.648 QUADTO
-8.94 184.046 8.94 183.093 QUADTO
-8.94 181.843 9.933 181.171 QUADTO
-10.925 180.499 12.784 180.499 QUADTO
-13.315 180.499 lineto
-13.315 179.812 lineto
-13.315 178.64 11.987 178.64 QUADTO
-10.8 178.64 9.597 179.312 QUADTO
-9.597 177.921 lineto
-10.972 177.405 12.315 177.405 QUADTO
-15.269 177.405 15.269 179.749 QUADTO
-15.269 183.062 lineto
-15.269 183.952 15.831 183.952 QUADTO
-15.925 183.952 16.097 183.921 QUADTO
-16.144 185.062 lineto
-15.503 185.249 15.003 185.249 QUADTO
-13.769 185.249 13.409 184.265 QUADTO
-13.315 184.265 lineto
-closepath
-13.315 183.187 M
-13.315 181.655 lineto
-12.847 181.655 lineto
-10.878 181.655 10.878 182.89 QUADTO
-10.878 183.312 11.159 183.593 QUADTO
-11.44 183.874 11.862 183.874 QUADTO
-12.581 183.874 13.315 183.187 QUADTO
-closepath
-23.405 184.905 M
-22.155 185.249 21.077 185.249 QUADTO
-19.28 185.249 18.241 184.194 QUADTO
-17.202 183.14 17.202 181.312 QUADTO
-17.202 179.483 18.272 178.444 QUADTO
-19.343 177.405 21.233 177.405 QUADTO
-22.155 177.405 23.343 177.687 QUADTO
-23.343 179.155 lineto
-22.108 178.749 21.358 178.749 QUADTO
-20.452 178.749 19.897 179.452 QUADTO
-19.343 180.155 19.343 181.296 QUADTO
-19.343 182.483 19.944 183.194 QUADTO
-20.546 183.905 21.53 183.905 QUADTO
-22.452 183.905 23.405 183.515 QUADTO
-23.405 184.905 lineto
-closepath
-29.2 185.03 M
-28.466 185.249 28.06 185.249 QUADTO
-25.419 185.249 25.419 182.78 QUADTO
-25.419 178.843 lineto
-24.575 178.843 lineto
-24.575 177.577 lineto
-25.419 177.577 lineto
-25.419 176.312 lineto
-27.45 176.077 lineto
-27.45 177.577 lineto
-29.044 177.577 lineto
-29.044 178.843 lineto
-27.45 178.843 lineto
-27.45 182.515 lineto
-27.45 183.905 28.575 183.905 QUADTO
-28.825 183.905 29.2 183.812 QUADTO
-29.2 185.03 lineto
-closepath
-30.999 185.077 M
-30.999 177.577 lineto
-33.015 177.577 lineto
-33.015 185.077 lineto
-30.999 185.077 lineto
-closepath
-30.999 176.312 M
-30.999 174.624 lineto
-33.015 174.624 lineto
-33.015 176.312 lineto
-30.999 176.312 lineto
-closepath
-38.708 185.249 M
-36.942 185.249 35.911 184.187 QUADTO
-34.88 183.124 34.88 181.327 QUADTO
-34.88 179.499 35.919 178.452 QUADTO
-36.958 177.405 38.755 177.405 QUADTO
-40.552 177.405 41.591 178.452 QUADTO
-42.63 179.499 42.63 181.312 QUADTO
-42.63 183.155 41.583 184.202 QUADTO
-40.536 185.249 38.708 185.249 QUADTO
-closepath
-38.739 183.983 M
-40.474 183.983 40.474 181.312 QUADTO
-40.474 180.093 40.013 179.382 QUADTO
-39.552 178.671 38.755 178.671 QUADTO
-37.958 178.671 37.489 179.382 QUADTO
-37.021 180.093 37.021 181.327 QUADTO
-37.021 182.546 37.481 183.265 QUADTO
-37.942 183.983 38.739 183.983 QUADTO
-closepath
-44.493 185.077 M
-44.493 177.577 lineto
-46.509 177.577 lineto
-46.509 178.983 lineto
-47.509 177.405 49.071 177.405 QUADTO
-50.071 177.405 50.657 178.038 QUADTO
-51.243 178.671 51.243 179.765 QUADTO
-51.243 185.077 lineto
-49.212 185.077 lineto
-49.212 180.265 lineto
-49.212 178.999 48.368 178.999 QUADTO
-47.399 178.999 46.509 180.358 QUADTO
-46.509 185.077 lineto
-44.493 185.077 lineto
-closepath
-61.552 174.202 M
-61.552 175.499 lineto
-59.724 177.343 59.724 180.687 QUADTO
-59.724 184.046 61.552 185.874 QUADTO
-61.552 187.187 lineto
-59.88 186.28 58.88 184.507 QUADTO
-57.88 182.733 57.88 180.687 QUADTO
-57.88 178.64 58.864 176.89 QUADTO
-59.849 175.14 61.552 174.202 QUADTO
-closepath
-63.053 185.327 M
-71.006 174.702 lineto
-72.365 174.702 lineto
-64.412 185.327 lineto
-63.053 185.327 lineto
-closepath
-64.771 180.015 M
-63.678 180.015 63.037 179.335 QUADTO
-62.396 178.655 62.396 177.483 QUADTO
-62.396 176.312 63.037 175.632 QUADTO
-63.678 174.952 64.803 174.952 QUADTO
-65.912 174.952 66.561 175.632 QUADTO
-67.209 176.312 67.209 177.483 QUADTO
-67.209 178.671 66.561 179.343 QUADTO
-65.912 180.015 64.771 180.015 QUADTO
-closepath
-64.787 178.999 M
-65.678 178.999 65.678 177.483 QUADTO
-65.678 175.968 64.803 175.968 QUADTO
-63.912 175.968 63.912 177.483 QUADTO
-63.912 178.999 64.787 178.999 QUADTO
-closepath
-70.6 185.077 M
-69.49 185.077 68.85 184.398 QUADTO
-68.209 183.718 68.209 182.546 QUADTO
-68.209 181.358 68.857 180.687 QUADTO
-69.506 180.015 70.615 180.015 QUADTO
-71.74 180.015 72.381 180.687 QUADTO
-73.021 181.358 73.021 182.546 QUADTO
-73.021 183.733 72.381 184.405 QUADTO
-71.74 185.077 70.6 185.077 QUADTO
-closepath
-70.6 184.062 M
-71.506 184.062 71.506 182.546 QUADTO
-71.506 181.03 70.615 181.03 QUADTO
-69.725 181.03 69.725 182.546 QUADTO
-69.725 184.062 70.6 184.062 QUADTO
-closepath
-73.674 174.202 M
-73.674 175.499 lineto
-75.502 177.343 75.502 180.687 QUADTO
-75.502 184.046 73.674 185.874 QUADTO
-73.674 187.187 lineto
-75.346 186.28 76.346 184.507 QUADTO
-77.346 182.733 77.346 180.687 QUADTO
-77.346 178.64 76.361 176.89 QUADTO
-75.377 175.14 73.674 174.202 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.358 34.247 M
-69.358 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-99.703 34.247 M
-99.703 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-121.232 34.247 M
-121.232 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-137.932 34.247 M
-137.932 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-151.576 34.247 M
-151.576 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-163.113 34.247 M
-163.113 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-173.106 34.247 M
-173.106 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-181.921 34.247 M
-181.921 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-189.806 34.247 M
-189.806 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-189.806 34.247 M
-189.806 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-241.68 34.247 M
-241.68 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-272.024 34.247 M
-272.024 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-293.554 34.247 M
-293.554 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-310.253 34.247 M
-310.253 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-323.898 34.247 M
-323.898 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-335.434 34.247 M
-335.434 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-345.428 34.247 M
-345.428 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-354.242 34.247 M
-354.242 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-362.127 34.247 M
-362.127 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-362.127 34.247 M
-362.127 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 325.931 M
-388 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 295.095 M
-388 295.095 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 264.258 M
-388 264.258 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 233.421 M
-388 233.421 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 202.585 M
-388 202.585 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 171.748 M
-388 171.748 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 140.912 M
-388 140.912 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 110.075 M
-388 110.075 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 79.238 M
-388 79.238 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 48.402 M
-388 48.402 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.358 170.496 M
-121.232 195.354 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.232 195.354 M
-173.106 192.825 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.106 192.825 M
-224.98 191.891 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.98 191.891 M
-276.854 198.696 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.854 198.696 M
-328.728 184.968 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.728 184.968 M
-362.127 191.024 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.358 77.141 M
-121.232 64.39 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.232 64.39 M
-173.106 84.826 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.106 84.826 M
-224.98 55.352 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.98 55.352 M
-276.854 78.89 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.854 78.89 M
-328.728 79.769 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.728 79.769 M
-362.127 69.765 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.358 80.981 M
-121.232 79.343 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.232 79.343 M
-173.106 59.463 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.106 59.463 M
-224.98 48.136 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.98 48.136 M
-276.854 84.101 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.854 84.101 M
-328.728 57.502 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.728 57.502 M
-362.127 92.541 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-69.358 167.496 M
-72.358 173.496 lineto
-66.358 173.496 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.358 167.496 M
-72.358 173.496 lineto
-66.358 173.496 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-121.232 192.354 M
-124.232 198.354 lineto
-118.232 198.354 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.232 192.354 M
-124.232 198.354 lineto
-118.232 198.354 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-173.106 189.825 M
-176.106 195.825 lineto
-170.106 195.825 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.106 189.825 M
-176.106 195.825 lineto
-170.106 195.825 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-224.98 188.891 M
-227.98 194.891 lineto
-221.98 194.891 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-224.98 188.891 M
-227.98 194.891 lineto
-221.98 194.891 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-276.854 195.696 M
-279.854 201.696 lineto
-273.854 201.696 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-276.854 195.696 M
-279.854 201.696 lineto
-273.854 201.696 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-328.728 181.968 M
-331.728 187.968 lineto
-325.728 187.968 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-328.728 181.968 M
-331.728 187.968 lineto
-325.728 187.968 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-362.127 188.024 M
-365.127 194.024 lineto
-359.127 194.024 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.127 188.024 M
-365.127 194.024 lineto
-359.127 194.024 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-72.358 77.141 M
-72.358 78.798 71.015 80.141 69.358 80.141 curveto
-67.701 80.141 66.358 78.798 66.358 77.141 curveto
-66.358 75.485 67.701 74.141 69.358 74.141 curveto
-71.015 74.141 72.358 75.485 72.358 77.141 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.358 77.141 M
-72.358 78.798 71.015 80.141 69.358 80.141 curveto
-67.701 80.141 66.358 78.798 66.358 77.141 curveto
-66.358 75.485 67.701 74.141 69.358 74.141 curveto
-71.015 74.141 72.358 75.485 72.358 77.141 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-124.232 64.39 M
-124.232 66.047 122.889 67.39 121.232 67.39 curveto
-119.575 67.39 118.232 66.047 118.232 64.39 curveto
-118.232 62.734 119.575 61.39 121.232 61.39 curveto
-122.889 61.39 124.232 62.734 124.232 64.39 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.232 64.39 M
-124.232 66.047 122.889 67.39 121.232 67.39 curveto
-119.575 67.39 118.232 66.047 118.232 64.39 curveto
-118.232 62.734 119.575 61.39 121.232 61.39 curveto
-122.889 61.39 124.232 62.734 124.232 64.39 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-176.106 84.826 M
-176.106 86.483 174.763 87.826 173.106 87.826 curveto
-171.449 87.826 170.106 86.483 170.106 84.826 curveto
-170.106 83.169 171.449 81.826 173.106 81.826 curveto
-174.763 81.826 176.106 83.169 176.106 84.826 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-176.106 84.826 M
-176.106 86.483 174.763 87.826 173.106 87.826 curveto
-171.449 87.826 170.106 86.483 170.106 84.826 curveto
-170.106 83.169 171.449 81.826 173.106 81.826 curveto
-174.763 81.826 176.106 83.169 176.106 84.826 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-227.98 55.352 M
-227.98 57.009 226.637 58.352 224.98 58.352 curveto
-223.323 58.352 221.98 57.009 221.98 55.352 curveto
-221.98 53.695 223.323 52.352 224.98 52.352 curveto
-226.637 52.352 227.98 53.695 227.98 55.352 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.98 55.352 M
-227.98 57.009 226.637 58.352 224.98 58.352 curveto
-223.323 58.352 221.98 57.009 221.98 55.352 curveto
-221.98 53.695 223.323 52.352 224.98 52.352 curveto
-226.637 52.352 227.98 53.695 227.98 55.352 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-279.854 78.89 M
-279.854 80.547 278.511 81.89 276.854 81.89 curveto
-275.197 81.89 273.854 80.547 273.854 78.89 curveto
-273.854 77.233 275.197 75.89 276.854 75.89 curveto
-278.511 75.89 279.854 77.233 279.854 78.89 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-279.854 78.89 M
-279.854 80.547 278.511 81.89 276.854 81.89 curveto
-275.197 81.89 273.854 80.547 273.854 78.89 curveto
-273.854 77.233 275.197 75.89 276.854 75.89 curveto
-278.511 75.89 279.854 77.233 279.854 78.89 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-331.728 79.769 M
-331.728 81.425 330.385 82.769 328.728 82.769 curveto
-327.071 82.769 325.728 81.425 325.728 79.769 curveto
-325.728 78.112 327.071 76.769 328.728 76.769 curveto
-330.385 76.769 331.728 78.112 331.728 79.769 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-331.728 79.769 M
-331.728 81.425 330.385 82.769 328.728 82.769 curveto
-327.071 82.769 325.728 81.425 325.728 79.769 curveto
-325.728 78.112 327.071 76.769 328.728 76.769 curveto
-330.385 76.769 331.728 78.112 331.728 79.769 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-365.127 69.765 M
-365.127 71.422 363.784 72.765 362.127 72.765 curveto
-360.47 72.765 359.127 71.422 359.127 69.765 curveto
-359.127 68.108 360.47 66.765 362.127 66.765 curveto
-363.784 66.765 365.127 68.108 365.127 69.765 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-365.127 69.765 M
-365.127 71.422 363.784 72.765 362.127 72.765 curveto
-360.47 72.765 359.127 71.422 359.127 69.765 curveto
-359.127 68.108 360.47 66.765 362.127 66.765 curveto
-363.784 66.765 365.127 68.108 365.127 69.765 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-66.358 77.981 M
-72.358 77.981 lineto
-72.358 83.981 lineto
-66.358 83.981 lineto
-66.358 77.981 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.358 77.981 M
-72.358 77.981 lineto
-72.358 83.981 lineto
-66.358 83.981 lineto
-66.358 77.981 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-118.232 76.343 M
-124.232 76.343 lineto
-124.232 82.343 lineto
-118.232 82.343 lineto
-118.232 76.343 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-118.232 76.343 M
-124.232 76.343 lineto
-124.232 82.343 lineto
-118.232 82.343 lineto
-118.232 76.343 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-170.106 56.463 M
-176.106 56.463 lineto
-176.106 62.463 lineto
-170.106 62.463 lineto
-170.106 56.463 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.106 56.463 M
-176.106 56.463 lineto
-176.106 62.463 lineto
-170.106 62.463 lineto
-170.106 56.463 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-221.98 45.136 M
-227.98 45.136 lineto
-227.98 51.136 lineto
-221.98 51.136 lineto
-221.98 45.136 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.98 45.136 M
-227.98 45.136 lineto
-227.98 51.136 lineto
-221.98 51.136 lineto
-221.98 45.136 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-273.854 81.101 M
-279.854 81.101 lineto
-279.854 87.101 lineto
-273.854 87.101 lineto
-273.854 81.101 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-273.854 81.101 M
-279.854 81.101 lineto
-279.854 87.101 lineto
-273.854 87.101 lineto
-273.854 81.101 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-325.728 54.502 M
-331.728 54.502 lineto
-331.728 60.502 lineto
-325.728 60.502 lineto
-325.728 54.502 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-325.728 54.502 M
-331.728 54.502 lineto
-331.728 60.502 lineto
-325.728 60.502 lineto
-325.728 54.502 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-359.127 89.541 M
-365.127 89.541 lineto
-365.127 95.541 lineto
-359.127 95.541 lineto
-359.127 89.541 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-359.127 89.541 M
-365.127 89.541 lineto
-365.127 95.541 lineto
-359.127 95.541 lineto
-359.127 89.541 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-0.5 setlinewidth
-newpath
-58.148 34.247 M
-388 34.247 lineto
-388 325.931 lineto
-58.148 325.931 lineto
-58.148 34.247 lineto
-closepath
-stroke
-grestore
-%%Trailer
-%%Pages: 1
-%%EOF
diff --git a/sim/gobs/wiki/dc02kpv05.cfg b/sim/gobs/wiki/dc02kpv05.cfg
deleted file mode 100644
index ecbdca2..0000000
--- a/sim/gobs/wiki/dc02kpv05.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv05.cfg system_size_20-1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/wiki/dc02kpv05.eps b/sim/gobs/wiki/dc02kpv05.eps
deleted file mode 100644
index 3dfea75..0000000
--- a/sim/gobs/wiki/dc02kpv05.eps
+++ /dev/null
@@ -1,4651 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (Apache XML Graphics Commons: EPS Generator for Java2D)
-%%CreationDate: 2009-10-05T12:13:22
-%%Pages: (atend)
-%%BoundingBox: 0 0 400 400
-%%LanguageLevel: 3
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset (Apache XML Graphics Std ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2001-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (Basic set of procedures used by the XML Graphics project \(Batik and FOP\))
-/bd{bind def}bind def
-/ld{load def}bd
-/M/moveto ld
-/RM/rmoveto ld
-/t/show ld
-/A/ashow ld
-/cp/closepath ld
-/re {4 2 roll M
-1 index 0 rlineto
-0 exch rlineto
-neg 0 rlineto
-cp } bd
-/_ctm matrix def
-/_tm matrix def
-/BT { _ctm currentmatrix pop matrix _tm copy pop 0 0 moveto } bd
-/ET { _ctm setmatrix } bd
-/iTm { _ctm setmatrix _tm concat } bd
-/Tm { _tm astore pop iTm 0 0 moveto } bd
-/ux 0.0 def
-/uy 0.0 def
-/F {
- /Tp exch def
- /Tf exch def
- Tf findfont Tp scalefont setfont
- /cf Tf def /cs Tp def /cw ( ) stringwidth pop def
-} bd
-/ULS {currentpoint /uy exch def /ux exch def} bd
-/ULE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add moveto Tcx uy To add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/OLE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs add moveto Tcx uy To add cs add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/SOE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs 10 mul 26 idiv add moveto Tcx uy To add cs 10 mul 26 idiv add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/QUADTO {
-/Y22 exch store
-/X22 exch store
-/Y21 exch store
-/X21 exch store
-currentpoint
-/Y21 load 2 mul add 3 div exch
-/X21 load 2 mul add 3 div exch
-/X21 load 2 mul /X22 load add 3 div
-/Y21 load 2 mul /Y22 load add 3 div
-/X22 load /Y22 load curveto
-} bd
-/SSPD {
-dup length /d exch dict def
-{
-/v exch def
-/k exch def
-currentpagedevice k known {
-/cpdv currentpagedevice k get def
-v cpdv ne {
-/upd false def
-/nullv v type /nulltype eq def
-/nullcpdv cpdv type /nulltype eq def
-nullv nullcpdv or
-{
-/upd true def
-} {
-/sametype v type cpdv type eq def
-sametype {
-v type /arraytype eq {
-/vlen v length def
-/cpdvlen cpdv length def
-vlen cpdvlen eq {
-0 1 vlen 1 sub {
-/i exch def
-/obj v i get def
-/cpdobj cpdv i get def
-obj cpdobj ne {
-/upd true def
-exit
-} if
-} for
-} {
-/upd true def
-} ifelse
-} {
-v type /dicttype eq {
-v {
-/dv exch def
-/dk exch def
-/cpddv cpdv dk get def
-dv cpddv ne {
-/upd true def
-exit
-} if
-} forall
-} {
-/upd true def
-} ifelse
-} ifelse
-} if
-} ifelse
-upd true eq {
-d k v put
-} if
-} if
-} if
-} forall
-d length 0 gt {
-d setpagedevice
-} if
-} bd
-%%EndResource
-%%BeginResource: procset (Apache XML Graphics EPS ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2002-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (EPS procedures used by the Apache XML Graphics project \(Batik and FOP\))
-/BeginEPSF { %def
-/b4_Inc_state save def % Save state for cleanup
-/dict_count countdictstack def % Count objects on dict stack
-/op_count count 1 sub def % Count objects on operand stack
-userdict begin % Push userdict on dict stack
-/showpage { } def % Redefine showpage, { } = null proc
-0 setgray 0 setlinecap % Prepare graphics state
-1 setlinewidth 0 setlinejoin
-10 setmiterlimit [ ] 0 setdash newpath
-/languagelevel where % If level not equal to 1 then
-{pop languagelevel % set strokeadjust and
-1 ne % overprint to their defaults.
-{false setstrokeadjust false setoverprint
-} if
-} if
-} bd
-/EndEPSF { %def
-count op_count sub {pop} repeat % Clean up stacks
-countdictstack dict_count sub {end} repeat
-b4_Inc_state restore
-} bd
-%%EndResource
-%%EndProlog
-%%Page: 1 1
-%%PageBoundingBox: 0 0 400 400
-%%BeginPageSetup
-[1 0 0 -1 0 400] concat
-%%EndPageSetup
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-81.354 20.249 M
-81.354 5.796 lineto
-85.338 5.796 lineto
-88.807 15.968 lineto
-92.4 5.796 lineto
-95.885 5.796 lineto
-95.885 20.249 lineto
-93.119 20.249 lineto
-93.119 9.343 lineto
-89.588 19.281 lineto
-87.166 19.281 lineto
-83.713 9.187 lineto
-83.713 20.249 lineto
-81.354 20.249 lineto
-closepath
-104.758 19.093 M
-103.305 20.499 101.664 20.499 QUADTO
-100.258 20.499 99.375 19.64 QUADTO
-98.492 18.781 98.492 17.406 QUADTO
-98.492 15.624 99.914 14.663 QUADTO
-101.336 13.703 103.992 13.703 QUADTO
-104.758 13.703 lineto
-104.758 12.734 lineto
-104.758 11.062 102.852 11.062 QUADTO
-101.164 11.062 99.43 12.015 QUADTO
-99.43 10.031 lineto
-101.398 9.281 103.32 9.281 QUADTO
-107.523 9.281 107.523 12.624 QUADTO
-107.523 17.374 lineto
-107.523 18.64 108.336 18.64 QUADTO
-108.492 18.64 108.727 18.593 QUADTO
-108.789 20.218 lineto
-107.867 20.499 107.164 20.499 QUADTO
-105.398 20.499 104.883 19.093 QUADTO
-104.758 19.093 lineto
-closepath
-104.758 17.546 M
-104.758 15.359 lineto
-104.07 15.359 lineto
-101.273 15.359 101.273 17.124 QUADTO
-101.273 17.718 101.68 18.124 QUADTO
-102.086 18.531 102.68 18.531 QUADTO
-103.695 18.531 104.758 17.546 QUADTO
-closepath
-110.125 20.249 M
-113.797 14.874 lineto
-110.281 9.531 lineto
-113.562 9.531 lineto
-115.875 12.921 lineto
-118.078 9.531 lineto
-120.422 9.531 lineto
-117.062 14.796 lineto
-120.672 20.249 lineto
-117.375 20.249 lineto
-114.969 16.703 lineto
-112.516 20.249 lineto
-110.125 20.249 lineto
-closepath
-123.082 20.249 M
-123.082 9.531 lineto
-125.973 9.531 lineto
-125.973 20.249 lineto
-123.082 20.249 lineto
-closepath
-123.082 7.718 M
-123.082 5.312 lineto
-125.973 5.312 lineto
-125.973 7.718 lineto
-123.082 7.718 lineto
-closepath
-129.586 20.249 M
-129.586 9.531 lineto
-132.352 9.531 lineto
-132.352 11.546 lineto
-133.617 9.281 135.961 9.281 QUADTO
-137.18 9.281 137.961 9.874 QUADTO
-138.742 10.468 138.914 11.546 QUADTO
-140.414 9.281 142.555 9.281 QUADTO
-145.492 9.281 145.492 12.531 QUADTO
-145.492 20.249 lineto
-142.711 20.249 lineto
-142.711 13.468 lineto
-142.711 11.562 141.445 11.562 QUADTO
-140.148 11.562 138.914 13.437 QUADTO
-138.914 20.249 lineto
-136.148 20.249 lineto
-136.148 13.468 lineto
-136.148 11.562 134.867 11.562 QUADTO
-133.586 11.562 132.352 13.437 QUADTO
-132.352 20.249 lineto
-129.586 20.249 lineto
-closepath
-155.605 20.249 M
-155.605 18.234 lineto
-154.199 20.499 151.949 20.499 QUADTO
-150.512 20.499 149.684 19.585 QUADTO
-148.855 18.671 148.855 17.109 QUADTO
-148.855 9.531 lineto
-151.746 9.531 lineto
-151.746 16.39 lineto
-151.746 18.218 152.965 18.218 QUADTO
-154.34 18.218 155.605 16.281 QUADTO
-155.605 9.531 lineto
-158.496 9.531 lineto
-158.496 20.249 lineto
-155.605 20.249 lineto
-closepath
-162.115 20.249 M
-162.115 9.531 lineto
-164.881 9.531 lineto
-164.881 11.546 lineto
-166.146 9.281 168.49 9.281 QUADTO
-169.709 9.281 170.49 9.874 QUADTO
-171.271 10.468 171.443 11.546 QUADTO
-172.943 9.281 175.084 9.281 QUADTO
-178.021 9.281 178.021 12.531 QUADTO
-178.021 20.249 lineto
-175.24 20.249 lineto
-175.24 13.468 lineto
-175.24 11.562 173.975 11.562 QUADTO
-172.678 11.562 171.443 13.437 QUADTO
-171.443 20.249 lineto
-168.678 20.249 lineto
-168.678 13.468 lineto
-168.678 11.562 167.396 11.562 QUADTO
-166.115 11.562 164.881 13.437 QUADTO
-164.881 20.249 lineto
-162.115 20.249 lineto
-closepath
-188.102 20.249 M
-188.102 5.796 lineto
-193.508 5.796 lineto
-197.914 5.796 197.914 9.374 QUADTO
-197.914 10.718 197.164 11.82 QUADTO
-196.414 12.921 195.102 13.499 QUADTO
-199.836 20.249 lineto
-196.18 20.249 lineto
-192.586 14.343 lineto
-190.93 14.343 lineto
-190.93 20.249 lineto
-188.102 20.249 lineto
-closepath
-190.93 12.359 M
-191.617 12.359 lineto
-194.898 12.359 194.898 9.718 QUADTO
-194.898 7.781 191.977 7.781 QUADTO
-190.93 7.781 lineto
-190.93 12.359 lineto
-closepath
-210.619 19.89 M
-208.572 20.499 206.713 20.499 QUADTO
-204.041 20.499 202.486 18.976 QUADTO
-200.932 17.453 200.932 14.812 QUADTO
-200.932 12.312 202.354 10.796 QUADTO
-203.775 9.281 206.104 9.281 QUADTO
-208.463 9.281 209.541 10.765 QUADTO
-210.619 12.249 210.619 15.468 QUADTO
-203.979 15.468 lineto
-204.275 18.531 207.338 18.531 QUADTO
-208.807 18.531 210.619 17.859 QUADTO
-210.619 19.89 lineto
-closepath
-203.932 13.828 M
-207.791 13.828 lineto
-207.791 11.093 206.01 11.093 QUADTO
-204.213 11.093 203.932 13.828 QUADTO
-closepath
-213.619 20.249 M
-213.619 4.828 lineto
-216.51 4.828 lineto
-216.51 11.546 lineto
-217.619 9.281 220.01 9.281 QUADTO
-221.947 9.281 223.057 10.695 QUADTO
-224.166 12.109 224.166 14.593 QUADTO
-224.166 17.281 222.916 18.89 QUADTO
-221.666 20.499 219.572 20.499 QUADTO
-217.775 20.499 216.51 19.171 QUADTO
-215.963 20.249 lineto
-213.619 20.249 lineto
-closepath
-216.51 17.453 M
-217.557 18.624 218.744 18.624 QUADTO
-219.822 18.624 220.455 17.593 QUADTO
-221.088 16.562 221.088 14.843 QUADTO
-221.088 11.546 218.963 11.546 QUADTO
-217.682 11.546 216.51 13.203 QUADTO
-216.51 17.453 lineto
-closepath
-233.496 20.249 M
-233.496 18.234 lineto
-232.09 20.499 229.84 20.499 QUADTO
-228.402 20.499 227.574 19.585 QUADTO
-226.746 18.671 226.746 17.109 QUADTO
-226.746 9.531 lineto
-229.637 9.531 lineto
-229.637 16.39 lineto
-229.637 18.218 230.855 18.218 QUADTO
-232.23 18.218 233.496 16.281 QUADTO
-233.496 9.531 lineto
-236.387 9.531 lineto
-236.387 20.249 lineto
-233.496 20.249 lineto
-closepath
-240.006 20.249 M
-240.006 9.531 lineto
-242.896 9.531 lineto
-242.896 20.249 lineto
-240.006 20.249 lineto
-closepath
-240.006 7.718 M
-240.006 5.312 lineto
-242.896 5.312 lineto
-242.896 7.718 lineto
-240.006 7.718 lineto
-closepath
-246.51 20.249 M
-246.51 4.828 lineto
-249.4 4.828 lineto
-249.4 20.249 lineto
-246.51 20.249 lineto
-closepath
-259.764 20.249 M
-259.764 18.234 lineto
-258.639 20.499 256.248 20.499 QUADTO
-254.311 20.499 253.209 19.078 QUADTO
-252.107 17.656 252.107 15.187 QUADTO
-252.107 12.484 253.357 10.882 QUADTO
-254.607 9.281 256.701 9.281 QUADTO
-258.373 9.281 259.764 10.609 QUADTO
-259.764 4.828 lineto
-262.654 4.828 lineto
-262.654 20.249 lineto
-259.764 20.249 lineto
-closepath
-259.764 12.328 M
-258.717 11.156 257.514 11.156 QUADTO
-256.451 11.156 255.818 12.179 QUADTO
-255.186 13.203 255.186 14.937 QUADTO
-255.186 18.234 257.295 18.234 QUADTO
-258.592 18.234 259.764 16.578 QUADTO
-259.764 12.328 lineto
-closepath
-272.857 20.249 M
-272.857 5.796 lineto
-275.857 5.796 lineto
-275.857 18.203 lineto
-282.373 18.203 lineto
-282.373 20.249 lineto
-272.857 20.249 lineto
-closepath
-288.988 20.499 M
-286.473 20.499 284.996 18.976 QUADTO
-283.52 17.453 283.52 14.89 QUADTO
-283.52 12.296 285.004 10.788 QUADTO
-286.488 9.281 289.051 9.281 QUADTO
-291.629 9.281 293.113 10.788 QUADTO
-294.598 12.296 294.598 14.874 QUADTO
-294.598 17.499 293.105 18.999 QUADTO
-291.613 20.499 288.988 20.499 QUADTO
-closepath
-289.035 18.687 M
-291.52 18.687 291.52 14.874 QUADTO
-291.52 13.124 290.863 12.109 QUADTO
-290.207 11.093 289.051 11.093 QUADTO
-287.91 11.093 287.254 12.109 QUADTO
-286.598 13.124 286.598 14.89 QUADTO
-286.598 16.64 287.246 17.663 QUADTO
-287.895 18.687 289.035 18.687 QUADTO
-closepath
-302.512 19.093 M
-301.059 20.499 299.418 20.499 QUADTO
-298.012 20.499 297.129 19.64 QUADTO
-296.246 18.781 296.246 17.406 QUADTO
-296.246 15.624 297.668 14.663 QUADTO
-299.09 13.703 301.746 13.703 QUADTO
-302.512 13.703 lineto
-302.512 12.734 lineto
-302.512 11.062 300.605 11.062 QUADTO
-298.918 11.062 297.184 12.015 QUADTO
-297.184 10.031 lineto
-299.152 9.281 301.074 9.281 QUADTO
-305.277 9.281 305.277 12.624 QUADTO
-305.277 17.374 lineto
-305.277 18.64 306.09 18.64 QUADTO
-306.246 18.64 306.48 18.593 QUADTO
-306.543 20.218 lineto
-305.621 20.499 304.918 20.499 QUADTO
-303.152 20.499 302.637 19.093 QUADTO
-302.512 19.093 lineto
-closepath
-302.512 17.546 M
-302.512 15.359 lineto
-301.824 15.359 lineto
-299.027 15.359 299.027 17.124 QUADTO
-299.027 17.718 299.434 18.124 QUADTO
-299.84 18.531 300.434 18.531 QUADTO
-301.449 18.531 302.512 17.546 QUADTO
-closepath
-315.77 20.249 M
-315.77 18.234 lineto
-314.645 20.499 312.254 20.499 QUADTO
-310.316 20.499 309.215 19.078 QUADTO
-308.113 17.656 308.113 15.187 QUADTO
-308.113 12.484 309.363 10.882 QUADTO
-310.613 9.281 312.707 9.281 QUADTO
-314.379 9.281 315.77 10.609 QUADTO
-315.77 4.828 lineto
-318.66 4.828 lineto
-318.66 20.249 lineto
-315.77 20.249 lineto
-closepath
-315.77 12.328 M
-314.723 11.156 313.52 11.156 QUADTO
-312.457 11.156 311.824 12.179 QUADTO
-311.191 13.203 311.191 14.937 QUADTO
-311.191 18.234 313.301 18.234 QUADTO
-314.598 18.234 315.77 16.578 QUADTO
-315.77 12.328 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-79.864 376.452 M
-320.136 376.452 lineto
-320.136 399 lineto
-79.864 399 lineto
-79.864 376.452 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 376.952 M
-319.636 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 398.5 M
-319.636 398.5 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 398.5 M
-80.364 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.636 398.5 M
-319.636 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.864 387.726 M
-97.864 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-87.864 384.726 M
-93.864 384.726 lineto
-93.864 390.726 lineto
-87.864 390.726 lineto
-87.864 384.726 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.864 384.726 M
-93.864 384.726 lineto
-93.864 390.726 lineto
-87.864 390.726 lineto
-87.864 384.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-102.989 392.002 M
-102.989 383.33 lineto
-105.349 383.33 lineto
-106.911 383.33 107.599 383.861 QUADTO
-108.286 384.392 108.286 385.595 QUADTO
-108.286 386.986 107.349 387.767 QUADTO
-106.411 388.549 104.755 388.549 QUADTO
-104.208 388.549 lineto
-104.208 392.002 lineto
-102.989 392.002 lineto
-closepath
-104.208 387.627 M
-104.708 387.627 lineto
-105.802 387.627 106.396 387.119 QUADTO
-106.989 386.611 106.989 385.689 QUADTO
-106.989 384.924 106.521 384.588 QUADTO
-106.052 384.252 104.958 384.252 QUADTO
-104.208 384.252 lineto
-104.208 387.627 lineto
-closepath
-114.013 388.689 M
-112.528 384.939 lineto
-111.06 388.689 lineto
-114.013 388.689 lineto
-closepath
-115.31 392.002 M
-114.372 389.595 lineto
-110.7 389.595 lineto
-109.747 392.002 lineto
-108.591 392.002 lineto
-112.044 383.33 lineto
-113.263 383.33 lineto
-116.638 392.002 lineto
-115.31 392.002 lineto
-closepath
-119.589 392.22 M
-118.729 392.22 117.37 391.83 QUADTO
-117.37 390.611 lineto
-118.823 391.299 119.776 391.299 QUADTO
-120.495 391.299 120.94 390.916 QUADTO
-121.386 390.533 121.386 389.908 QUADTO
-121.386 389.408 121.097 389.049 QUADTO
-120.808 388.689 120.026 388.252 QUADTO
-119.433 387.908 lineto
-118.323 387.267 117.87 386.713 QUADTO
-117.417 386.158 117.417 385.408 QUADTO
-117.417 384.408 118.144 383.759 QUADTO
-118.87 383.111 119.995 383.111 QUADTO
-120.995 383.111 122.104 383.439 QUADTO
-122.104 384.564 lineto
-120.729 384.033 120.058 384.033 QUADTO
-119.417 384.033 119.003 384.369 QUADTO
-118.589 384.705 118.589 385.22 QUADTO
-118.589 385.658 118.894 385.994 QUADTO
-119.198 386.33 120.011 386.799 QUADTO
-120.62 387.142 lineto
-121.745 387.783 122.19 388.353 QUADTO
-122.636 388.924 122.636 389.72 QUADTO
-122.636 390.845 121.808 391.533 QUADTO
-120.979 392.22 119.589 392.22 QUADTO
-closepath
-126.427 392.002 M
-126.427 384.252 lineto
-123.349 384.252 lineto
-123.349 383.33 lineto
-130.724 383.33 lineto
-130.724 384.252 lineto
-127.646 384.252 lineto
-127.646 392.002 lineto
-126.427 392.002 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-136.827 387.726 M
-150.827 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-146.827 387.726 M
-146.827 389.383 145.484 390.726 143.827 390.726 curveto
-142.17 390.726 140.827 389.383 140.827 387.726 curveto
-140.827 386.069 142.17 384.726 143.827 384.726 curveto
-145.484 384.726 146.827 386.069 146.827 387.726 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.827 387.726 M
-146.827 389.383 145.484 390.726 143.827 390.726 curveto
-142.17 390.726 140.827 389.383 140.827 387.726 curveto
-140.827 386.069 142.17 384.726 143.827 384.726 curveto
-145.484 384.726 146.827 386.069 146.827 387.726 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-155.952 392.002 M
-155.952 383.33 lineto
-157.108 383.33 lineto
-157.108 387.595 lineto
-160.608 383.33 lineto
-161.843 383.33 lineto
-158.452 387.47 lineto
-162.452 392.002 lineto
-160.89 392.002 lineto
-157.108 387.611 lineto
-157.108 392.002 lineto
-155.952 392.002 lineto
-closepath
-167.099 391.189 M
-166.067 392.142 165.099 392.142 QUADTO
-164.302 392.142 163.786 391.65 QUADTO
-163.271 391.158 163.271 390.408 QUADTO
-163.271 389.361 164.146 388.799 QUADTO
-165.021 388.236 166.646 388.236 QUADTO
-166.927 388.236 lineto
-166.927 387.47 lineto
-166.927 386.361 165.786 386.361 QUADTO
-164.88 386.361 163.817 386.924 QUADTO
-163.817 385.97 lineto
-164.989 385.502 166.005 385.502 QUADTO
-167.067 385.502 167.575 385.978 QUADTO
-168.083 386.455 168.083 387.47 QUADTO
-168.083 390.361 lineto
-168.083 391.345 168.692 391.345 QUADTO
-168.771 391.345 168.911 391.314 QUADTO
-168.989 391.955 lineto
-168.599 392.142 168.13 392.142 QUADTO
-167.317 392.142 167.099 391.189 QUADTO
-closepath
-166.927 390.564 M
-166.927 388.924 lineto
-166.536 388.908 lineto
-165.599 388.908 165.013 389.267 QUADTO
-164.427 389.627 164.427 390.22 QUADTO
-164.427 390.627 164.716 390.916 QUADTO
-165.005 391.205 165.427 391.205 QUADTO
-166.146 391.205 166.927 390.564 QUADTO
-closepath
-174.522 392.002 M
-174.522 390.799 lineto
-173.819 392.142 172.413 392.142 QUADTO
-171.257 392.142 170.601 391.306 QUADTO
-169.944 390.47 169.944 389.017 QUADTO
-169.944 387.424 170.687 386.463 QUADTO
-171.429 385.502 172.647 385.502 QUADTO
-173.788 385.502 174.522 386.361 QUADTO
-174.522 382.752 lineto
-175.694 382.752 lineto
-175.694 392.002 lineto
-174.522 392.002 lineto
-closepath
-174.522 387.158 M
-173.632 386.361 172.835 386.361 QUADTO
-171.163 386.361 171.163 388.908 QUADTO
-171.163 391.127 172.647 391.127 QUADTO
-173.601 391.127 174.522 390.08 QUADTO
-174.522 387.158 lineto
-closepath
-182.653 391.799 M
-181.497 392.142 180.669 392.142 QUADTO
-179.263 392.142 178.38 391.213 QUADTO
-177.497 390.283 177.497 388.783 QUADTO
-177.497 387.345 178.278 386.416 QUADTO
-179.06 385.486 180.278 385.486 QUADTO
-181.435 385.486 182.06 386.306 QUADTO
-182.685 387.127 182.685 388.642 QUADTO
-182.685 389.002 lineto
-178.669 389.002 lineto
-178.919 391.267 180.888 391.267 QUADTO
-181.606 391.267 182.653 390.877 QUADTO
-182.653 391.799 lineto
-closepath
-178.716 388.127 M
-181.528 388.127 lineto
-181.528 386.361 180.2 386.361 QUADTO
-178.872 386.361 178.716 388.127 QUADTO
-closepath
-184.683 392.002 M
-184.683 385.642 lineto
-185.839 385.642 lineto
-185.839 386.83 lineto
-186.683 385.502 188.011 385.502 QUADTO
-189.276 385.502 189.745 386.83 QUADTO
-190.558 385.486 191.87 385.486 QUADTO
-192.714 385.486 193.183 385.986 QUADTO
-193.651 386.486 193.651 387.377 QUADTO
-193.651 392.002 lineto
-192.479 392.002 lineto
-192.479 387.549 lineto
-192.479 386.47 191.62 386.47 QUADTO
-190.729 386.47 189.745 387.736 QUADTO
-189.745 392.002 lineto
-188.589 392.002 lineto
-188.589 387.549 lineto
-188.589 386.455 187.698 386.455 QUADTO
-186.839 386.455 185.839 387.736 QUADTO
-185.839 392.002 lineto
-184.683 392.002 lineto
-closepath
-195.886 392.002 M
-195.886 382.752 lineto
-197.042 382.752 lineto
-197.042 392.002 lineto
-195.886 392.002 lineto
-closepath
-199.354 392.002 M
-199.354 385.642 lineto
-200.511 385.642 lineto
-200.511 392.002 lineto
-199.354 392.002 lineto
-closepath
-199.354 384.486 M
-199.354 383.33 lineto
-200.511 383.33 lineto
-200.511 384.486 lineto
-199.354 384.486 lineto
-closepath
-206.104 391.189 M
-205.073 392.142 204.104 392.142 QUADTO
-203.308 392.142 202.792 391.65 QUADTO
-202.276 391.158 202.276 390.408 QUADTO
-202.276 389.361 203.151 388.799 QUADTO
-204.026 388.236 205.651 388.236 QUADTO
-205.933 388.236 lineto
-205.933 387.47 lineto
-205.933 386.361 204.792 386.361 QUADTO
-203.886 386.361 202.823 386.924 QUADTO
-202.823 385.97 lineto
-203.995 385.502 205.011 385.502 QUADTO
-206.073 385.502 206.581 385.978 QUADTO
-207.089 386.455 207.089 387.47 QUADTO
-207.089 390.361 lineto
-207.089 391.345 207.698 391.345 QUADTO
-207.776 391.345 207.917 391.314 QUADTO
-207.995 391.955 lineto
-207.604 392.142 207.136 392.142 QUADTO
-206.323 392.142 206.104 391.189 QUADTO
-closepath
-205.933 390.564 M
-205.933 388.924 lineto
-205.542 388.908 lineto
-204.604 388.908 204.019 389.267 QUADTO
-203.433 389.627 203.433 390.22 QUADTO
-203.433 390.627 203.722 390.916 QUADTO
-204.011 391.205 204.433 391.205 QUADTO
-205.151 391.205 205.933 390.564 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-214.294 387.726 M
-228.294 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-221.294 384.726 M
-224.294 390.726 lineto
-218.294 390.726 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.294 384.726 M
-224.294 390.726 lineto
-218.294 390.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-235.778 392.002 M
-232.513 383.33 lineto
-233.731 383.33 lineto
-236.419 390.424 lineto
-239.013 383.33 lineto
-240.091 383.33 lineto
-236.935 392.002 lineto
-235.778 392.002 lineto
-closepath
-245.952 391.799 M
-244.796 392.142 243.968 392.142 QUADTO
-242.562 392.142 241.679 391.213 QUADTO
-240.796 390.283 240.796 388.783 QUADTO
-240.796 387.345 241.577 386.416 QUADTO
-242.358 385.486 243.577 385.486 QUADTO
-244.733 385.486 245.358 386.306 QUADTO
-245.983 387.127 245.983 388.642 QUADTO
-245.983 389.002 lineto
-241.968 389.002 lineto
-242.218 391.267 244.187 391.267 QUADTO
-244.905 391.267 245.952 390.877 QUADTO
-245.952 391.799 lineto
-closepath
-242.015 388.127 M
-244.827 388.127 lineto
-244.827 386.361 243.499 386.361 QUADTO
-242.171 386.361 242.015 388.127 QUADTO
-closepath
-247.981 392.002 M
-247.981 385.642 lineto
-249.138 385.642 lineto
-249.138 386.83 lineto
-249.825 385.502 251.122 385.502 QUADTO
-251.31 385.502 251.497 385.533 QUADTO
-251.497 386.611 lineto
-251.2 386.502 250.966 386.502 QUADTO
-249.872 386.502 249.138 387.799 QUADTO
-249.138 392.002 lineto
-247.981 392.002 lineto
-closepath
-254.798 392.142 M
-253.923 392.142 253.431 391.642 QUADTO
-252.938 391.142 252.938 390.236 QUADTO
-252.938 386.502 lineto
-252.142 386.502 lineto
-252.142 385.642 lineto
-252.938 385.642 lineto
-252.938 384.486 lineto
-254.095 384.377 lineto
-254.095 385.642 lineto
-255.751 385.642 lineto
-255.751 386.502 lineto
-254.095 386.502 lineto
-254.095 390.033 lineto
-254.095 391.283 255.173 391.283 QUADTO
-255.392 391.283 255.72 391.205 QUADTO
-255.72 392.002 lineto
-255.188 392.142 254.798 392.142 QUADTO
-closepath
-262.036 391.799 M
-260.88 392.142 260.052 392.142 QUADTO
-258.646 392.142 257.763 391.213 QUADTO
-256.88 390.283 256.88 388.783 QUADTO
-256.88 387.345 257.661 386.416 QUADTO
-258.442 385.486 259.661 385.486 QUADTO
-260.817 385.486 261.442 386.306 QUADTO
-262.067 387.127 262.067 388.642 QUADTO
-262.067 389.002 lineto
-258.052 389.002 lineto
-258.302 391.267 260.271 391.267 QUADTO
-260.989 391.267 262.036 390.877 QUADTO
-262.036 391.799 lineto
-closepath
-258.099 388.127 M
-260.911 388.127 lineto
-260.911 386.361 259.583 386.361 QUADTO
-258.255 386.361 258.099 388.127 QUADTO
-closepath
-263.425 392.002 M
-265.847 388.72 lineto
-263.503 385.642 lineto
-264.862 385.642 lineto
-266.722 388.08 lineto
-268.409 385.642 lineto
-269.534 385.642 lineto
-267.331 388.861 lineto
-269.722 392.002 lineto
-268.347 392.002 lineto
-266.44 389.486 lineto
-264.581 392.002 lineto
-263.425 392.002 lineto
-closepath
-281.706 391.767 M
-280.128 392.22 278.956 392.22 QUADTO
-276.878 392.22 275.776 391.041 QUADTO
-274.675 389.861 274.675 387.658 QUADTO
-274.675 385.502 275.792 384.306 QUADTO
-276.909 383.111 278.94 383.111 QUADTO
-280.253 383.111 281.69 383.502 QUADTO
-281.69 384.642 lineto
-279.894 384.033 278.94 384.033 QUADTO
-277.534 384.033 276.761 384.986 QUADTO
-275.987 385.939 275.987 387.674 QUADTO
-275.987 389.392 276.815 390.345 QUADTO
-277.644 391.299 279.144 391.299 QUADTO
-279.769 391.299 280.472 391.08 QUADTO
-280.472 388.252 lineto
-281.706 388.252 lineto
-281.706 391.767 lineto
-closepath
-283.894 392.002 M
-283.894 385.642 lineto
-285.05 385.642 lineto
-285.05 386.83 lineto
-285.737 385.502 287.034 385.502 QUADTO
-287.222 385.502 287.409 385.533 QUADTO
-287.409 386.611 lineto
-287.112 386.502 286.878 386.502 QUADTO
-285.784 386.502 285.05 387.799 QUADTO
-285.05 392.002 lineto
-283.894 392.002 lineto
-closepath
-291.288 392.142 M
-289.929 392.142 289.116 391.236 QUADTO
-288.304 390.33 288.304 388.814 QUADTO
-288.304 387.283 289.116 386.392 QUADTO
-289.929 385.502 291.335 385.502 QUADTO
-292.741 385.502 293.554 386.392 QUADTO
-294.366 387.283 294.366 388.814 QUADTO
-294.366 390.361 293.546 391.252 QUADTO
-292.726 392.142 291.288 392.142 QUADTO
-closepath
-291.304 391.283 M
-293.147 391.283 293.147 388.814 QUADTO
-293.147 386.361 291.335 386.361 QUADTO
-289.522 386.361 289.522 388.814 QUADTO
-289.522 391.283 291.304 391.283 QUADTO
-closepath
-300.159 392.002 M
-300.159 390.799 lineto
-299.237 392.142 297.925 392.142 QUADTO
-297.081 392.142 296.589 391.619 QUADTO
-296.097 391.095 296.097 390.205 QUADTO
-296.097 385.642 lineto
-297.253 385.642 lineto
-297.253 389.83 lineto
-297.253 390.549 297.464 390.853 QUADTO
-297.675 391.158 298.159 391.158 QUADTO
-299.222 391.158 300.159 389.767 QUADTO
-300.159 385.642 lineto
-301.3 385.642 lineto
-301.3 392.002 lineto
-300.159 392.002 lineto
-closepath
-303.622 394.314 M
-303.622 385.642 lineto
-304.778 385.642 lineto
-304.778 386.83 lineto
-305.481 385.502 306.903 385.502 QUADTO
-308.044 385.502 308.708 386.338 QUADTO
-309.372 387.174 309.372 388.627 QUADTO
-309.372 390.205 308.622 391.174 QUADTO
-307.872 392.142 306.653 392.142 QUADTO
-305.528 392.142 304.778 391.283 QUADTO
-304.778 394.314 lineto
-303.622 394.314 lineto
-closepath
-304.778 390.486 M
-305.669 391.283 306.481 391.283 QUADTO
-308.138 391.283 308.138 388.736 QUADTO
-308.138 386.502 306.669 386.502 QUADTO
-305.7 386.502 304.778 387.549 QUADTO
-304.778 390.486 lineto
-closepath
-312.862 392.142 M
-312.065 392.142 310.94 391.783 QUADTO
-310.94 390.72 lineto
-312.065 391.283 312.909 391.283 QUADTO
-313.409 391.283 313.737 391.009 QUADTO
-314.065 390.736 314.065 390.33 QUADTO
-314.065 389.752 313.144 389.361 QUADTO
-312.472 389.064 lineto
-310.972 388.455 310.972 387.283 QUADTO
-310.972 386.455 311.565 385.978 QUADTO
-312.159 385.502 313.175 385.502 QUADTO
-313.706 385.502 314.503 385.642 QUADTO
-314.737 385.689 lineto
-314.737 386.658 lineto
-313.769 386.361 313.206 386.361 QUADTO
-312.081 386.361 312.081 387.174 QUADTO
-312.081 387.689 312.925 388.049 QUADTO
-313.487 388.283 lineto
-314.425 388.689 314.823 389.127 QUADTO
-315.222 389.564 315.222 390.236 QUADTO
-315.222 391.064 314.558 391.603 QUADTO
-313.894 392.142 312.862 392.142 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-58.148 34.247 M
-388 34.247 lineto
-388 325.931 lineto
-58.148 325.931 lineto
-58.148 34.247 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-58.148 329.931 M
-388 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-62.77 345.481 M
-62.77 344.465 lineto
-63.27 343.293 64.802 341.903 QUADTO
-65.473 341.309 lineto
-66.739 340.153 66.739 339.012 QUADTO
-66.739 338.293 66.309 337.879 QUADTO
-65.88 337.465 65.114 337.465 QUADTO
-64.208 337.465 62.989 338.153 QUADTO
-62.989 337.137 lineto
-64.145 336.59 65.27 336.59 QUADTO
-66.489 336.59 67.231 337.247 QUADTO
-67.973 337.903 67.973 338.981 QUADTO
-67.973 339.762 67.598 340.372 QUADTO
-67.223 340.981 66.208 341.84 QUADTO
-65.77 342.215 lineto
-64.38 343.387 64.161 344.465 QUADTO
-67.927 344.465 lineto
-67.927 345.481 lineto
-62.77 345.481 lineto
-closepath
-73.124 345.7 M
-71.78 345.7 70.952 344.434 QUADTO
-70.124 343.168 70.124 341.137 QUADTO
-70.124 339.09 70.96 337.84 QUADTO
-71.796 336.59 73.155 336.59 QUADTO
-74.514 336.59 75.35 337.84 QUADTO
-76.186 339.09 76.186 341.122 QUADTO
-76.186 343.2 75.35 344.45 QUADTO
-74.514 345.7 73.124 345.7 QUADTO
-closepath
-73.139 344.825 M
-74.968 344.825 74.968 341.106 QUADTO
-74.968 337.465 73.155 337.465 QUADTO
-71.358 337.465 71.358 341.137 QUADTO
-71.358 344.825 73.139 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.358 331.931 M
-69.358 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-93.333 345.418 M
-93.333 344.34 lineto
-94.583 344.825 95.287 344.825 QUADTO
-96.115 344.825 96.638 344.34 QUADTO
-97.162 343.856 97.162 343.09 QUADTO
-97.162 341.262 94.599 341.262 QUADTO
-94.13 341.262 lineto
-94.13 340.481 lineto
-94.537 340.481 lineto
-96.943 340.481 96.943 338.793 QUADTO
-96.943 337.465 95.365 337.465 QUADTO
-94.49 337.465 93.458 337.95 QUADTO
-93.458 336.934 lineto
-94.474 336.59 95.443 336.59 QUADTO
-98.099 336.59 98.099 338.606 QUADTO
-98.099 340.137 96.287 340.778 QUADTO
-98.396 341.262 98.396 343.075 QUADTO
-98.396 344.309 97.583 345.004 QUADTO
-96.771 345.7 95.365 345.7 QUADTO
-94.552 345.7 93.333 345.418 QUADTO
-closepath
-103.468 345.7 M
-102.124 345.7 101.296 344.434 QUADTO
-100.468 343.168 100.468 341.137 QUADTO
-100.468 339.09 101.304 337.84 QUADTO
-102.14 336.59 103.499 336.59 QUADTO
-104.859 336.59 105.695 337.84 QUADTO
-106.531 339.09 106.531 341.122 QUADTO
-106.531 343.2 105.695 344.45 QUADTO
-104.859 345.7 103.468 345.7 QUADTO
-closepath
-103.484 344.825 M
-105.312 344.825 105.312 341.106 QUADTO
-105.312 337.465 103.499 337.465 QUADTO
-101.703 337.465 101.703 341.137 QUADTO
-101.703 344.825 103.484 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-99.703 331.931 M
-99.703 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.232 331.931 M
-121.232 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-137.932 331.931 M
-137.932 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-151.576 331.931 M
-151.576 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-163.113 331.931 M
-163.113 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.106 331.931 M
-173.106 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-181.921 331.931 M
-181.921 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.806 331.931 M
-189.806 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-180.236 345.481 M
-180.236 344.606 lineto
-181.971 344.606 lineto
-181.971 337.762 lineto
-180.236 338.2 lineto
-180.236 337.309 lineto
-183.127 336.59 lineto
-183.127 344.606 lineto
-184.861 344.606 lineto
-184.861 345.481 lineto
-180.236 345.481 lineto
-closepath
-189.777 345.7 M
-188.434 345.7 187.606 344.434 QUADTO
-186.777 343.168 186.777 341.137 QUADTO
-186.777 339.09 187.613 337.84 QUADTO
-188.449 336.59 189.809 336.59 QUADTO
-191.168 336.59 192.004 337.84 QUADTO
-192.84 339.09 192.84 341.122 QUADTO
-192.84 343.2 192.004 344.45 QUADTO
-191.168 345.7 189.777 345.7 QUADTO
-closepath
-189.793 344.825 M
-191.621 344.825 191.621 341.106 QUADTO
-191.621 337.465 189.809 337.465 QUADTO
-188.012 337.465 188.012 341.137 QUADTO
-188.012 344.825 189.793 344.825 QUADTO
-closepath
-197.365 345.7 M
-196.022 345.7 195.193 344.434 QUADTO
-194.365 343.168 194.365 341.137 QUADTO
-194.365 339.09 195.201 337.84 QUADTO
-196.037 336.59 197.397 336.59 QUADTO
-198.756 336.59 199.592 337.84 QUADTO
-200.428 339.09 200.428 341.122 QUADTO
-200.428 343.2 199.592 344.45 QUADTO
-198.756 345.7 197.365 345.7 QUADTO
-closepath
-197.381 344.825 M
-199.209 344.825 199.209 341.106 QUADTO
-199.209 337.465 197.397 337.465 QUADTO
-195.6 337.465 195.6 341.137 QUADTO
-195.6 344.825 197.381 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.806 331.931 M
-189.806 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-231.298 345.481 M
-231.298 344.465 lineto
-231.798 343.293 233.329 341.903 QUADTO
-234.001 341.309 lineto
-235.267 340.153 235.267 339.012 QUADTO
-235.267 338.293 234.837 337.879 QUADTO
-234.407 337.465 233.642 337.465 QUADTO
-232.735 337.465 231.517 338.153 QUADTO
-231.517 337.137 lineto
-232.673 336.59 233.798 336.59 QUADTO
-235.017 336.59 235.759 337.247 QUADTO
-236.501 337.903 236.501 338.981 QUADTO
-236.501 339.762 236.126 340.372 QUADTO
-235.751 340.981 234.735 341.84 QUADTO
-234.298 342.215 lineto
-232.907 343.387 232.689 344.465 QUADTO
-236.454 344.465 lineto
-236.454 345.481 lineto
-231.298 345.481 lineto
-closepath
-241.651 345.7 M
-240.308 345.7 239.48 344.434 QUADTO
-238.651 343.168 238.651 341.137 QUADTO
-238.651 339.09 239.487 337.84 QUADTO
-240.323 336.59 241.683 336.59 QUADTO
-243.042 336.59 243.878 337.84 QUADTO
-244.714 339.09 244.714 341.122 QUADTO
-244.714 343.2 243.878 344.45 QUADTO
-243.042 345.7 241.651 345.7 QUADTO
-closepath
-241.667 344.825 M
-243.495 344.825 243.495 341.106 QUADTO
-243.495 337.465 241.683 337.465 QUADTO
-239.886 337.465 239.886 341.137 QUADTO
-239.886 344.825 241.667 344.825 QUADTO
-closepath
-249.239 345.7 M
-247.896 345.7 247.067 344.434 QUADTO
-246.239 343.168 246.239 341.137 QUADTO
-246.239 339.09 247.075 337.84 QUADTO
-247.911 336.59 249.271 336.59 QUADTO
-250.63 336.59 251.466 337.84 QUADTO
-252.302 339.09 252.302 341.122 QUADTO
-252.302 343.2 251.466 344.45 QUADTO
-250.63 345.7 249.239 345.7 QUADTO
-closepath
-249.255 344.825 M
-251.083 344.825 251.083 341.106 QUADTO
-251.083 337.465 249.271 337.465 QUADTO
-247.474 337.465 247.474 341.137 QUADTO
-247.474 344.825 249.255 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-241.68 331.931 M
-241.68 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-272.024 331.931 M
-272.024 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-293.554 331.931 M
-293.554 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-310.253 331.931 M
-310.253 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-323.898 331.931 M
-323.898 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-335.434 331.931 M
-335.434 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-345.428 331.931 M
-345.428 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-354.242 331.931 M
-354.242 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.127 331.931 M
-362.127 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-348.764 345.481 M
-348.764 344.606 lineto
-350.498 344.606 lineto
-350.498 337.762 lineto
-348.764 338.2 lineto
-348.764 337.309 lineto
-351.655 336.59 lineto
-351.655 344.606 lineto
-353.389 344.606 lineto
-353.389 345.481 lineto
-348.764 345.481 lineto
-closepath
-358.305 345.7 M
-356.961 345.7 356.133 344.434 QUADTO
-355.305 343.168 355.305 341.137 QUADTO
-355.305 339.09 356.141 337.84 QUADTO
-356.977 336.59 358.336 336.59 QUADTO
-359.696 336.59 360.532 337.84 QUADTO
-361.368 339.09 361.368 341.122 QUADTO
-361.368 343.2 360.532 344.45 QUADTO
-359.696 345.7 358.305 345.7 QUADTO
-closepath
-358.321 344.825 M
-360.149 344.825 360.149 341.106 QUADTO
-360.149 337.465 358.336 337.465 QUADTO
-356.539 337.465 356.539 341.137 QUADTO
-356.539 344.825 358.321 344.825 QUADTO
-closepath
-365.893 345.7 M
-364.549 345.7 363.721 344.434 QUADTO
-362.893 343.168 362.893 341.137 QUADTO
-362.893 339.09 363.729 337.84 QUADTO
-364.565 336.59 365.924 336.59 QUADTO
-367.284 336.59 368.119 337.84 QUADTO
-368.955 339.09 368.955 341.122 QUADTO
-368.955 343.2 368.119 344.45 QUADTO
-367.284 345.7 365.893 345.7 QUADTO
-closepath
-365.909 344.825 M
-367.737 344.825 367.737 341.106 QUADTO
-367.737 337.465 365.924 337.465 QUADTO
-364.127 337.465 364.127 341.137 QUADTO
-364.127 344.825 365.909 344.825 QUADTO
-closepath
-373.481 345.7 M
-372.137 345.7 371.309 344.434 QUADTO
-370.481 343.168 370.481 341.137 QUADTO
-370.481 339.09 371.317 337.84 QUADTO
-372.153 336.59 373.512 336.59 QUADTO
-374.871 336.59 375.707 337.84 QUADTO
-376.543 339.09 376.543 341.122 QUADTO
-376.543 343.2 375.707 344.45 QUADTO
-374.871 345.7 373.481 345.7 QUADTO
-closepath
-373.496 344.825 M
-375.325 344.825 375.325 341.106 QUADTO
-375.325 337.465 373.512 337.465 QUADTO
-371.715 337.465 371.715 341.137 QUADTO
-371.715 344.825 373.496 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.127 331.931 M
-362.127 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-202.574 364.954 M
-202.574 357.454 lineto
-204.59 357.454 lineto
-204.59 358.86 lineto
-205.59 357.282 207.152 357.282 QUADTO
-208.152 357.282 208.738 357.915 QUADTO
-209.324 358.548 209.324 359.641 QUADTO
-209.324 364.954 lineto
-207.293 364.954 lineto
-207.293 360.141 lineto
-207.293 358.876 206.449 358.876 QUADTO
-205.48 358.876 204.59 360.235 QUADTO
-204.59 364.954 lineto
-202.574 364.954 lineto
-closepath
-214.925 365.126 M
-213.159 365.126 212.128 364.063 QUADTO
-211.097 363.001 211.097 361.204 QUADTO
-211.097 359.376 212.136 358.329 QUADTO
-213.175 357.282 214.972 357.282 QUADTO
-216.769 357.282 217.808 358.329 QUADTO
-218.847 359.376 218.847 361.188 QUADTO
-218.847 363.032 217.8 364.079 QUADTO
-216.753 365.126 214.925 365.126 QUADTO
-closepath
-214.956 363.86 M
-216.69 363.86 216.69 361.188 QUADTO
-216.69 359.97 216.229 359.259 QUADTO
-215.769 358.548 214.972 358.548 QUADTO
-214.175 358.548 213.706 359.259 QUADTO
-213.237 359.97 213.237 361.204 QUADTO
-213.237 362.423 213.698 363.141 QUADTO
-214.159 363.86 214.956 363.86 QUADTO
-closepath
-225.429 364.954 M
-225.429 363.532 lineto
-224.647 365.126 222.976 365.126 QUADTO
-221.632 365.126 220.858 364.134 QUADTO
-220.085 363.141 220.085 361.407 QUADTO
-220.085 359.516 220.952 358.399 QUADTO
-221.819 357.282 223.288 357.282 QUADTO
-224.476 357.282 225.429 358.204 QUADTO
-225.429 354.157 lineto
-227.46 354.157 lineto
-227.46 364.954 lineto
-225.429 364.954 lineto
-closepath
-225.429 359.407 M
-224.694 358.595 223.866 358.595 QUADTO
-223.116 358.595 222.679 359.313 QUADTO
-222.241 360.032 222.241 361.235 QUADTO
-222.241 363.532 223.71 363.532 QUADTO
-224.616 363.532 225.429 362.376 QUADTO
-225.429 359.407 lineto
-closepath
-236.096 364.704 M
-234.658 365.126 233.361 365.126 QUADTO
-231.486 365.126 230.4 364.055 QUADTO
-229.314 362.985 229.314 361.141 QUADTO
-229.314 359.407 230.307 358.345 QUADTO
-231.299 357.282 232.939 357.282 QUADTO
-234.58 357.282 235.338 358.321 QUADTO
-236.096 359.36 236.096 361.61 QUADTO
-231.439 361.61 lineto
-231.643 363.751 233.799 363.751 QUADTO
-234.814 363.751 236.096 363.282 QUADTO
-236.096 364.704 lineto
-closepath
-231.408 360.47 M
-234.111 360.47 lineto
-234.111 358.548 232.877 358.548 QUADTO
-231.611 358.548 231.408 360.47 QUADTO
-closepath
-237.986 364.72 M
-237.986 363.235 lineto
-239.502 363.86 240.564 363.86 QUADTO
-241.799 363.86 241.799 363.016 QUADTO
-241.799 362.47 240.783 362.048 QUADTO
-240.096 361.782 lineto
-238.986 361.329 238.502 360.813 QUADTO
-238.018 360.298 238.018 359.532 QUADTO
-238.018 358.454 238.838 357.868 QUADTO
-239.658 357.282 241.111 357.282 QUADTO
-242.033 357.282 243.299 357.548 QUADTO
-243.299 358.97 lineto
-242.08 358.548 241.283 358.548 QUADTO
-240.018 358.548 240.018 359.313 QUADTO
-240.018 359.829 240.955 360.188 QUADTO
-241.533 360.407 lineto
-242.861 360.907 243.377 361.423 QUADTO
-243.893 361.938 243.893 362.751 QUADTO
-243.893 363.798 243.01 364.462 QUADTO
-242.127 365.126 240.721 365.126 QUADTO
-239.377 365.126 237.986 364.72 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-54.148 34.247 M
-54.148 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-44.326 330.426 M
-42.982 330.426 42.154 329.16 QUADTO
-41.326 327.894 41.326 325.863 QUADTO
-41.326 323.816 42.162 322.566 QUADTO
-42.998 321.316 44.357 321.316 QUADTO
-45.717 321.316 46.553 322.566 QUADTO
-47.389 323.816 47.389 325.848 QUADTO
-47.389 327.926 46.553 329.176 QUADTO
-45.717 330.426 44.326 330.426 QUADTO
-closepath
-44.342 329.551 M
-46.17 329.551 46.17 325.832 QUADTO
-46.17 322.191 44.357 322.191 QUADTO
-42.561 322.191 42.561 325.863 QUADTO
-42.561 329.551 44.342 329.551 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 325.931 M
-54.148 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-42.014 301.47 M
-42.014 300.439 lineto
-42.889 300.782 43.654 300.782 QUADTO
-44.514 300.782 45.006 300.282 QUADTO
-45.498 299.782 45.498 298.892 QUADTO
-45.498 296.939 42.811 296.939 QUADTO
-42.498 296.939 42.17 296.986 QUADTO
-42.17 292.767 lineto
-46.561 292.767 lineto
-46.561 293.767 lineto
-43.186 293.767 lineto
-43.186 296.064 lineto
-44.857 296.064 45.795 296.829 QUADTO
-46.732 297.595 46.732 298.954 QUADTO
-46.732 300.22 45.873 300.939 QUADTO
-45.014 301.657 43.514 301.657 QUADTO
-42.857 301.657 42.014 301.47 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 297.163 M
-54.148 297.163 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 272.67 M
-34.785 271.795 lineto
-36.52 271.795 lineto
-36.52 264.952 lineto
-34.785 265.389 lineto
-34.785 264.499 lineto
-37.676 263.78 lineto
-37.676 271.795 lineto
-39.41 271.795 lineto
-39.41 272.67 lineto
-34.785 272.67 lineto
-closepath
-44.326 272.889 M
-42.982 272.889 42.154 271.624 QUADTO
-41.326 270.358 41.326 268.327 QUADTO
-41.326 266.28 42.162 265.03 QUADTO
-42.998 263.78 44.357 263.78 QUADTO
-45.717 263.78 46.553 265.03 QUADTO
-47.389 266.28 47.389 268.311 QUADTO
-47.389 270.389 46.553 271.639 QUADTO
-45.717 272.889 44.326 272.889 QUADTO
-closepath
-44.342 272.014 M
-46.17 272.014 46.17 268.295 QUADTO
-46.17 264.655 44.357 264.655 QUADTO
-42.561 264.655 42.561 268.327 QUADTO
-42.561 272.014 44.342 272.014 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 268.395 M
-54.148 268.395 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 243.902 M
-34.785 243.027 lineto
-36.52 243.027 lineto
-36.52 236.183 lineto
-34.785 236.621 lineto
-34.785 235.73 lineto
-37.676 235.012 lineto
-37.676 243.027 lineto
-39.41 243.027 lineto
-39.41 243.902 lineto
-34.785 243.902 lineto
-closepath
-42.014 243.933 M
-42.014 242.902 lineto
-42.889 243.246 43.654 243.246 QUADTO
-44.514 243.246 45.006 242.746 QUADTO
-45.498 242.246 45.498 241.355 QUADTO
-45.498 239.402 42.811 239.402 QUADTO
-42.498 239.402 42.17 239.449 QUADTO
-42.17 235.23 lineto
-46.561 235.23 lineto
-46.561 236.23 lineto
-43.186 236.23 lineto
-43.186 238.527 lineto
-44.857 238.527 45.795 239.293 QUADTO
-46.732 240.058 46.732 241.418 QUADTO
-46.732 242.683 45.873 243.402 QUADTO
-45.014 244.121 43.514 244.121 QUADTO
-42.857 244.121 42.014 243.933 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 239.627 M
-54.148 239.627 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 215.134 M
-33.973 214.118 lineto
-34.473 212.946 36.004 211.556 QUADTO
-36.676 210.962 lineto
-37.941 209.806 37.941 208.665 QUADTO
-37.941 207.946 37.512 207.532 QUADTO
-37.082 207.118 36.316 207.118 QUADTO
-35.41 207.118 34.191 207.806 QUADTO
-34.191 206.79 lineto
-35.348 206.243 36.473 206.243 QUADTO
-37.691 206.243 38.434 206.9 QUADTO
-39.176 207.556 39.176 208.634 QUADTO
-39.176 209.415 38.801 210.025 QUADTO
-38.426 210.634 37.41 211.493 QUADTO
-36.973 211.868 lineto
-35.582 213.04 35.363 214.118 QUADTO
-39.129 214.118 lineto
-39.129 215.134 lineto
-33.973 215.134 lineto
-closepath
-44.326 215.353 M
-42.982 215.353 42.154 214.087 QUADTO
-41.326 212.821 41.326 210.79 QUADTO
-41.326 208.743 42.162 207.493 QUADTO
-42.998 206.243 44.357 206.243 QUADTO
-45.717 206.243 46.553 207.493 QUADTO
-47.389 208.743 47.389 210.775 QUADTO
-47.389 212.853 46.553 214.103 QUADTO
-45.717 215.353 44.326 215.353 QUADTO
-closepath
-44.342 214.478 M
-46.17 214.478 46.17 210.759 QUADTO
-46.17 207.118 44.357 207.118 QUADTO
-42.561 207.118 42.561 210.79 QUADTO
-42.561 214.478 44.342 214.478 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 210.858 M
-54.148 210.858 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 186.366 M
-33.973 185.35 lineto
-34.473 184.178 36.004 182.788 QUADTO
-36.676 182.194 lineto
-37.941 181.038 37.941 179.897 QUADTO
-37.941 179.178 37.512 178.764 QUADTO
-37.082 178.35 36.316 178.35 QUADTO
-35.41 178.35 34.191 179.038 QUADTO
-34.191 178.022 lineto
-35.348 177.475 36.473 177.475 QUADTO
-37.691 177.475 38.434 178.131 QUADTO
-39.176 178.788 39.176 179.866 QUADTO
-39.176 180.647 38.801 181.256 QUADTO
-38.426 181.866 37.41 182.725 QUADTO
-36.973 183.1 lineto
-35.582 184.272 35.363 185.35 QUADTO
-39.129 185.35 lineto
-39.129 186.366 lineto
-33.973 186.366 lineto
-closepath
-42.014 186.397 M
-42.014 185.366 lineto
-42.889 185.709 43.654 185.709 QUADTO
-44.514 185.709 45.006 185.209 QUADTO
-45.498 184.709 45.498 183.819 QUADTO
-45.498 181.866 42.811 181.866 QUADTO
-42.498 181.866 42.17 181.913 QUADTO
-42.17 177.694 lineto
-46.561 177.694 lineto
-46.561 178.694 lineto
-43.186 178.694 lineto
-43.186 180.991 lineto
-44.857 180.991 45.795 181.756 QUADTO
-46.732 182.522 46.732 183.881 QUADTO
-46.732 185.147 45.873 185.866 QUADTO
-45.014 186.584 43.514 186.584 QUADTO
-42.857 186.584 42.014 186.397 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 182.09 M
-54.148 182.09 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 157.535 M
-34.191 156.457 lineto
-35.441 156.941 36.145 156.941 QUADTO
-36.973 156.941 37.496 156.457 QUADTO
-38.02 155.972 38.02 155.207 QUADTO
-38.02 153.379 35.457 153.379 QUADTO
-34.988 153.379 lineto
-34.988 152.597 lineto
-35.395 152.597 lineto
-37.801 152.597 37.801 150.91 QUADTO
-37.801 149.582 36.223 149.582 QUADTO
-35.348 149.582 34.316 150.066 QUADTO
-34.316 149.051 lineto
-35.332 148.707 36.301 148.707 QUADTO
-38.957 148.707 38.957 150.722 QUADTO
-38.957 152.254 37.145 152.894 QUADTO
-39.254 153.379 39.254 155.191 QUADTO
-39.254 156.426 38.441 157.121 QUADTO
-37.629 157.816 36.223 157.816 QUADTO
-35.41 157.816 34.191 157.535 QUADTO
-closepath
-44.326 157.816 M
-42.982 157.816 42.154 156.551 QUADTO
-41.326 155.285 41.326 153.254 QUADTO
-41.326 151.207 42.162 149.957 QUADTO
-42.998 148.707 44.357 148.707 QUADTO
-45.717 148.707 46.553 149.957 QUADTO
-47.389 151.207 47.389 153.238 QUADTO
-47.389 155.316 46.553 156.566 QUADTO
-45.717 157.816 44.326 157.816 QUADTO
-closepath
-44.342 156.941 M
-46.17 156.941 46.17 153.222 QUADTO
-46.17 149.582 44.357 149.582 QUADTO
-42.561 149.582 42.561 153.254 QUADTO
-42.561 156.941 44.342 156.941 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 153.322 M
-54.148 153.322 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 128.767 M
-34.191 127.689 lineto
-35.441 128.173 36.145 128.173 QUADTO
-36.973 128.173 37.496 127.689 QUADTO
-38.02 127.204 38.02 126.439 QUADTO
-38.02 124.61 35.457 124.61 QUADTO
-34.988 124.61 lineto
-34.988 123.829 lineto
-35.395 123.829 lineto
-37.801 123.829 37.801 122.142 QUADTO
-37.801 120.814 36.223 120.814 QUADTO
-35.348 120.814 34.316 121.298 QUADTO
-34.316 120.282 lineto
-35.332 119.939 36.301 119.939 QUADTO
-38.957 119.939 38.957 121.954 QUADTO
-38.957 123.485 37.145 124.126 QUADTO
-39.254 124.61 39.254 126.423 QUADTO
-39.254 127.657 38.441 128.353 QUADTO
-37.629 129.048 36.223 129.048 QUADTO
-35.41 129.048 34.191 128.767 QUADTO
-closepath
-42.014 128.86 M
-42.014 127.829 lineto
-42.889 128.173 43.654 128.173 QUADTO
-44.514 128.173 45.006 127.673 QUADTO
-45.498 127.173 45.498 126.282 QUADTO
-45.498 124.329 42.811 124.329 QUADTO
-42.498 124.329 42.17 124.376 QUADTO
-42.17 120.157 lineto
-46.561 120.157 lineto
-46.561 121.157 lineto
-43.186 121.157 lineto
-43.186 123.454 lineto
-44.857 123.454 45.795 124.22 QUADTO
-46.732 124.985 46.732 126.345 QUADTO
-46.732 127.61 45.873 128.329 QUADTO
-45.014 129.048 43.514 129.048 QUADTO
-42.857 129.048 42.014 128.86 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 124.554 M
-54.148 124.554 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-37.488 100.061 M
-37.488 97.608 lineto
-33.582 97.608 lineto
-33.582 96.733 lineto
-37.488 91.389 lineto
-38.582 91.389 lineto
-38.582 96.655 lineto
-39.738 96.655 lineto
-39.738 97.608 lineto
-38.582 97.608 lineto
-38.582 100.061 lineto
-37.488 100.061 lineto
-closepath
-34.723 96.655 M
-37.566 96.655 lineto
-37.566 92.811 lineto
-34.723 96.655 lineto
-closepath
-44.326 100.28 M
-42.982 100.28 42.154 99.014 QUADTO
-41.326 97.748 41.326 95.717 QUADTO
-41.326 93.67 42.162 92.42 QUADTO
-42.998 91.17 44.357 91.17 QUADTO
-45.717 91.17 46.553 92.42 QUADTO
-47.389 93.67 47.389 95.702 QUADTO
-47.389 97.78 46.553 99.03 QUADTO
-45.717 100.28 44.326 100.28 QUADTO
-closepath
-44.342 99.405 M
-46.17 99.405 46.17 95.686 QUADTO
-46.17 92.045 44.357 92.045 QUADTO
-42.561 92.045 42.561 95.717 QUADTO
-42.561 99.405 44.342 99.405 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 95.785 M
-54.148 95.785 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-37.488 71.293 M
-37.488 68.84 lineto
-33.582 68.84 lineto
-33.582 67.965 lineto
-37.488 62.621 lineto
-38.582 62.621 lineto
-38.582 67.886 lineto
-39.738 67.886 lineto
-39.738 68.84 lineto
-38.582 68.84 lineto
-38.582 71.293 lineto
-37.488 71.293 lineto
-closepath
-34.723 67.886 M
-37.566 67.886 lineto
-37.566 64.043 lineto
-34.723 67.886 lineto
-closepath
-42.014 71.324 M
-42.014 70.293 lineto
-42.889 70.636 43.654 70.636 QUADTO
-44.514 70.636 45.006 70.136 QUADTO
-45.498 69.636 45.498 68.746 QUADTO
-45.498 66.793 42.811 66.793 QUADTO
-42.498 66.793 42.17 66.84 QUADTO
-42.17 62.621 lineto
-46.561 62.621 lineto
-46.561 63.621 lineto
-43.186 63.621 lineto
-43.186 65.918 lineto
-44.857 65.918 45.795 66.683 QUADTO
-46.732 67.449 46.732 68.808 QUADTO
-46.732 70.074 45.873 70.793 QUADTO
-45.014 71.511 43.514 71.511 QUADTO
-42.857 71.511 42.014 71.324 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 67.017 M
-54.148 67.017 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.426 42.556 M
-34.426 41.524 lineto
-35.301 41.868 36.066 41.868 QUADTO
-36.926 41.868 37.418 41.368 QUADTO
-37.91 40.868 37.91 39.978 QUADTO
-37.91 38.024 35.223 38.024 QUADTO
-34.91 38.024 34.582 38.071 QUADTO
-34.582 33.853 lineto
-38.973 33.853 lineto
-38.973 34.853 lineto
-35.598 34.853 lineto
-35.598 37.149 lineto
-37.27 37.149 38.207 37.915 QUADTO
-39.145 38.681 39.145 40.04 QUADTO
-39.145 41.306 38.285 42.024 QUADTO
-37.426 42.743 35.926 42.743 QUADTO
-35.27 42.743 34.426 42.556 QUADTO
-closepath
-44.326 42.743 M
-42.982 42.743 42.154 41.478 QUADTO
-41.326 40.212 41.326 38.181 QUADTO
-41.326 36.134 42.162 34.884 QUADTO
-42.998 33.634 44.357 33.634 QUADTO
-45.717 33.634 46.553 34.884 QUADTO
-47.389 36.134 47.389 38.165 QUADTO
-47.389 40.243 46.553 41.493 QUADTO
-45.717 42.743 44.326 42.743 QUADTO
-closepath
-44.342 41.868 M
-46.17 41.868 46.17 38.149 QUADTO
-46.17 34.509 44.357 34.509 QUADTO
-42.561 34.509 42.561 38.181 QUADTO
-42.561 41.868 44.342 41.868 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 38.249 M
-54.148 38.249 lineto
-stroke
-grestore
-gsave
-[0 -1 1 0 -160.60265 199.57533] concat
-newpath
-199.575 160.603 M
-199.575 560.603 lineto
--200.425 560.603 lineto
--200.425 160.603 lineto
-199.575 160.603 lineto
-closepath
-clip
-0.251 setgray
-newpath
--38.14 185.077 M
--38.14 174.28 lineto
--36.124 174.28 lineto
--36.124 185.077 lineto
--38.14 185.077 lineto
-closepath
--30.431 185.249 M
--32.196 185.249 -33.228 184.187 QUADTO
--34.259 183.124 -34.259 181.327 QUADTO
--34.259 179.499 -33.22 178.452 QUADTO
--32.181 177.405 -30.384 177.405 QUADTO
--28.587 177.405 -27.548 178.452 QUADTO
--26.509 179.499 -26.509 181.312 QUADTO
--26.509 183.155 -27.556 184.202 QUADTO
--28.603 185.249 -30.431 185.249 QUADTO
-closepath
--30.399 183.983 M
--28.665 183.983 -28.665 181.312 QUADTO
--28.665 180.093 -29.126 179.382 QUADTO
--29.587 178.671 -30.384 178.671 QUADTO
--31.181 178.671 -31.649 179.382 QUADTO
--32.118 180.093 -32.118 181.327 QUADTO
--32.118 182.546 -31.657 183.265 QUADTO
--31.196 183.983 -30.399 183.983 QUADTO
-closepath
--20.974 184.265 M
--21.974 185.249 -23.13 185.249 QUADTO
--24.114 185.249 -24.731 184.648 QUADTO
--25.349 184.046 -25.349 183.093 QUADTO
--25.349 181.843 -24.356 181.171 QUADTO
--23.364 180.499 -21.505 180.499 QUADTO
--20.974 180.499 lineto
--20.974 179.812 lineto
--20.974 178.64 -22.302 178.64 QUADTO
--23.489 178.64 -24.692 179.312 QUADTO
--24.692 177.921 lineto
--23.317 177.405 -21.974 177.405 QUADTO
--19.021 177.405 -19.021 179.749 QUADTO
--19.021 183.062 lineto
--19.021 183.952 -18.458 183.952 QUADTO
--18.364 183.952 -18.192 183.921 QUADTO
--18.146 185.062 lineto
--18.786 185.249 -19.286 185.249 QUADTO
--20.521 185.249 -20.88 184.265 QUADTO
--20.974 184.265 lineto
-closepath
--20.974 183.187 M
--20.974 181.655 lineto
--21.442 181.655 lineto
--23.411 181.655 -23.411 182.89 QUADTO
--23.411 183.312 -23.13 183.593 QUADTO
--22.849 183.874 -22.427 183.874 QUADTO
--21.708 183.874 -20.974 183.187 QUADTO
-closepath
--11.696 185.077 M
--11.696 183.655 lineto
--12.478 185.249 -14.149 185.249 QUADTO
--15.493 185.249 -16.267 184.257 QUADTO
--17.04 183.265 -17.04 181.53 QUADTO
--17.04 179.64 -16.173 178.523 QUADTO
--15.306 177.405 -13.837 177.405 QUADTO
--12.649 177.405 -11.696 178.327 QUADTO
--11.696 174.28 lineto
--9.665 174.28 lineto
--9.665 185.077 lineto
--11.696 185.077 lineto
-closepath
--11.696 179.53 M
--12.431 178.718 -13.259 178.718 QUADTO
--14.009 178.718 -14.446 179.437 QUADTO
--14.884 180.155 -14.884 181.358 QUADTO
--14.884 183.655 -13.415 183.655 QUADTO
--12.509 183.655 -11.696 182.499 QUADTO
--11.696 179.53 lineto
-closepath
--2.306 185.077 M
--2.306 178.843 lineto
--3.353 178.843 lineto
--3.353 177.577 lineto
--2.306 177.577 lineto
--2.306 177.03 lineto
--2.306 174.108 0.46 174.108 QUADTO
-1.351 174.108 2.304 174.374 QUADTO
-2.304 175.733 lineto
-1.444 175.374 0.757 175.374 QUADTO
--0.29 175.374 -0.29 176.952 QUADTO
--0.29 177.577 lineto
-1.616 177.577 lineto
-1.616 178.843 lineto
--0.29 178.843 lineto
--0.29 185.077 lineto
--2.306 185.077 lineto
-closepath
-3.279 185.077 M
-3.279 177.577 lineto
-5.295 177.577 lineto
-5.295 178.983 lineto
-6.092 177.405 7.701 177.405 QUADTO
-7.889 177.405 8.076 177.437 QUADTO
-8.076 179.249 lineto
-7.639 179.093 7.264 179.093 QUADTO
-6.061 179.093 5.295 180.312 QUADTO
-5.295 185.077 lineto
-3.279 185.077 lineto
-closepath
-13.315 184.265 M
-12.315 185.249 11.159 185.249 QUADTO
-10.175 185.249 9.558 184.648 QUADTO
-8.94 184.046 8.94 183.093 QUADTO
-8.94 181.843 9.933 181.171 QUADTO
-10.925 180.499 12.784 180.499 QUADTO
-13.315 180.499 lineto
-13.315 179.812 lineto
-13.315 178.64 11.987 178.64 QUADTO
-10.8 178.64 9.597 179.312 QUADTO
-9.597 177.921 lineto
-10.972 177.405 12.315 177.405 QUADTO
-15.269 177.405 15.269 179.749 QUADTO
-15.269 183.062 lineto
-15.269 183.952 15.831 183.952 QUADTO
-15.925 183.952 16.097 183.921 QUADTO
-16.144 185.062 lineto
-15.503 185.249 15.003 185.249 QUADTO
-13.769 185.249 13.409 184.265 QUADTO
-13.315 184.265 lineto
-closepath
-13.315 183.187 M
-13.315 181.655 lineto
-12.847 181.655 lineto
-10.878 181.655 10.878 182.89 QUADTO
-10.878 183.312 11.159 183.593 QUADTO
-11.44 183.874 11.862 183.874 QUADTO
-12.581 183.874 13.315 183.187 QUADTO
-closepath
-23.405 184.905 M
-22.155 185.249 21.077 185.249 QUADTO
-19.28 185.249 18.241 184.194 QUADTO
-17.202 183.14 17.202 181.312 QUADTO
-17.202 179.483 18.272 178.444 QUADTO
-19.343 177.405 21.233 177.405 QUADTO
-22.155 177.405 23.343 177.687 QUADTO
-23.343 179.155 lineto
-22.108 178.749 21.358 178.749 QUADTO
-20.452 178.749 19.897 179.452 QUADTO
-19.343 180.155 19.343 181.296 QUADTO
-19.343 182.483 19.944 183.194 QUADTO
-20.546 183.905 21.53 183.905 QUADTO
-22.452 183.905 23.405 183.515 QUADTO
-23.405 184.905 lineto
-closepath
-29.2 185.03 M
-28.466 185.249 28.06 185.249 QUADTO
-25.419 185.249 25.419 182.78 QUADTO
-25.419 178.843 lineto
-24.575 178.843 lineto
-24.575 177.577 lineto
-25.419 177.577 lineto
-25.419 176.312 lineto
-27.45 176.077 lineto
-27.45 177.577 lineto
-29.044 177.577 lineto
-29.044 178.843 lineto
-27.45 178.843 lineto
-27.45 182.515 lineto
-27.45 183.905 28.575 183.905 QUADTO
-28.825 183.905 29.2 183.812 QUADTO
-29.2 185.03 lineto
-closepath
-30.999 185.077 M
-30.999 177.577 lineto
-33.015 177.577 lineto
-33.015 185.077 lineto
-30.999 185.077 lineto
-closepath
-30.999 176.312 M
-30.999 174.624 lineto
-33.015 174.624 lineto
-33.015 176.312 lineto
-30.999 176.312 lineto
-closepath
-38.708 185.249 M
-36.942 185.249 35.911 184.187 QUADTO
-34.88 183.124 34.88 181.327 QUADTO
-34.88 179.499 35.919 178.452 QUADTO
-36.958 177.405 38.755 177.405 QUADTO
-40.552 177.405 41.591 178.452 QUADTO
-42.63 179.499 42.63 181.312 QUADTO
-42.63 183.155 41.583 184.202 QUADTO
-40.536 185.249 38.708 185.249 QUADTO
-closepath
-38.739 183.983 M
-40.474 183.983 40.474 181.312 QUADTO
-40.474 180.093 40.013 179.382 QUADTO
-39.552 178.671 38.755 178.671 QUADTO
-37.958 178.671 37.489 179.382 QUADTO
-37.021 180.093 37.021 181.327 QUADTO
-37.021 182.546 37.481 183.265 QUADTO
-37.942 183.983 38.739 183.983 QUADTO
-closepath
-44.493 185.077 M
-44.493 177.577 lineto
-46.509 177.577 lineto
-46.509 178.983 lineto
-47.509 177.405 49.071 177.405 QUADTO
-50.071 177.405 50.657 178.038 QUADTO
-51.243 178.671 51.243 179.765 QUADTO
-51.243 185.077 lineto
-49.212 185.077 lineto
-49.212 180.265 lineto
-49.212 178.999 48.368 178.999 QUADTO
-47.399 178.999 46.509 180.358 QUADTO
-46.509 185.077 lineto
-44.493 185.077 lineto
-closepath
-61.552 174.202 M
-61.552 175.499 lineto
-59.724 177.343 59.724 180.687 QUADTO
-59.724 184.046 61.552 185.874 QUADTO
-61.552 187.187 lineto
-59.88 186.28 58.88 184.507 QUADTO
-57.88 182.733 57.88 180.687 QUADTO
-57.88 178.64 58.864 176.89 QUADTO
-59.849 175.14 61.552 174.202 QUADTO
-closepath
-63.053 185.327 M
-71.006 174.702 lineto
-72.365 174.702 lineto
-64.412 185.327 lineto
-63.053 185.327 lineto
-closepath
-64.771 180.015 M
-63.678 180.015 63.037 179.335 QUADTO
-62.396 178.655 62.396 177.483 QUADTO
-62.396 176.312 63.037 175.632 QUADTO
-63.678 174.952 64.803 174.952 QUADTO
-65.912 174.952 66.561 175.632 QUADTO
-67.209 176.312 67.209 177.483 QUADTO
-67.209 178.671 66.561 179.343 QUADTO
-65.912 180.015 64.771 180.015 QUADTO
-closepath
-64.787 178.999 M
-65.678 178.999 65.678 177.483 QUADTO
-65.678 175.968 64.803 175.968 QUADTO
-63.912 175.968 63.912 177.483 QUADTO
-63.912 178.999 64.787 178.999 QUADTO
-closepath
-70.6 185.077 M
-69.49 185.077 68.85 184.398 QUADTO
-68.209 183.718 68.209 182.546 QUADTO
-68.209 181.358 68.857 180.687 QUADTO
-69.506 180.015 70.615 180.015 QUADTO
-71.74 180.015 72.381 180.687 QUADTO
-73.021 181.358 73.021 182.546 QUADTO
-73.021 183.733 72.381 184.405 QUADTO
-71.74 185.077 70.6 185.077 QUADTO
-closepath
-70.6 184.062 M
-71.506 184.062 71.506 182.546 QUADTO
-71.506 181.03 70.615 181.03 QUADTO
-69.725 181.03 69.725 182.546 QUADTO
-69.725 184.062 70.6 184.062 QUADTO
-closepath
-73.674 174.202 M
-73.674 175.499 lineto
-75.502 177.343 75.502 180.687 QUADTO
-75.502 184.046 73.674 185.874 QUADTO
-73.674 187.187 lineto
-75.346 186.28 76.346 184.507 QUADTO
-77.346 182.733 77.346 180.687 QUADTO
-77.346 178.64 76.361 176.89 QUADTO
-75.377 175.14 73.674 174.202 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.358 34.247 M
-69.358 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-99.703 34.247 M
-99.703 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-121.232 34.247 M
-121.232 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-137.932 34.247 M
-137.932 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-151.576 34.247 M
-151.576 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-163.113 34.247 M
-163.113 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-173.106 34.247 M
-173.106 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-181.921 34.247 M
-181.921 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-189.806 34.247 M
-189.806 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-189.806 34.247 M
-189.806 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-241.68 34.247 M
-241.68 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-272.024 34.247 M
-272.024 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-293.554 34.247 M
-293.554 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-310.253 34.247 M
-310.253 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-323.898 34.247 M
-323.898 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-335.434 34.247 M
-335.434 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-345.428 34.247 M
-345.428 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-354.242 34.247 M
-354.242 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-362.127 34.247 M
-362.127 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-362.127 34.247 M
-362.127 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 325.931 M
-388 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 297.163 M
-388 297.163 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 268.395 M
-388 268.395 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 239.627 M
-388 239.627 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 210.858 M
-388 210.858 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 182.09 M
-388 182.09 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 153.322 M
-388 153.322 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 124.554 M
-388 124.554 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 95.785 M
-388 95.785 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 67.017 M
-388 67.017 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 38.249 M
-388 38.249 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.358 233.683 M
-121.232 227.262 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.232 227.262 M
-173.106 197.331 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.106 197.331 M
-224.98 196.52 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.98 196.52 M
-276.854 178.201 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.854 178.201 M
-328.728 195.833 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.728 195.833 M
-362.127 179.837 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.358 79.448 M
-121.232 72.264 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.232 72.264 M
-173.106 77.011 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.106 77.011 M
-224.98 89.16 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.98 89.16 M
-276.854 63.559 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.854 63.559 M
-328.728 48.136 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.728 48.136 M
-362.127 101.171 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.358 226.103 M
-121.232 223.988 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.232 223.988 M
-173.106 219.535 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.106 219.535 M
-224.98 216.477 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.98 216.477 M
-276.854 214.149 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.854 214.149 M
-328.728 200.01 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.728 200.01 M
-362.127 199.866 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-69.358 230.683 M
-72.358 236.683 lineto
-66.358 236.683 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.358 230.683 M
-72.358 236.683 lineto
-66.358 236.683 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-121.232 224.262 M
-124.232 230.262 lineto
-118.232 230.262 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.232 224.262 M
-124.232 230.262 lineto
-118.232 230.262 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-173.106 194.331 M
-176.106 200.331 lineto
-170.106 200.331 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.106 194.331 M
-176.106 200.331 lineto
-170.106 200.331 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-224.98 193.52 M
-227.98 199.52 lineto
-221.98 199.52 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-224.98 193.52 M
-227.98 199.52 lineto
-221.98 199.52 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-276.854 175.201 M
-279.854 181.201 lineto
-273.854 181.201 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-276.854 175.201 M
-279.854 181.201 lineto
-273.854 181.201 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-328.728 192.833 M
-331.728 198.833 lineto
-325.728 198.833 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-328.728 192.833 M
-331.728 198.833 lineto
-325.728 198.833 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-362.127 176.837 M
-365.127 182.837 lineto
-359.127 182.837 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.127 176.837 M
-365.127 182.837 lineto
-359.127 182.837 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-72.358 79.448 M
-72.358 81.105 71.015 82.448 69.358 82.448 curveto
-67.701 82.448 66.358 81.105 66.358 79.448 curveto
-66.358 77.791 67.701 76.448 69.358 76.448 curveto
-71.015 76.448 72.358 77.791 72.358 79.448 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.358 79.448 M
-72.358 81.105 71.015 82.448 69.358 82.448 curveto
-67.701 82.448 66.358 81.105 66.358 79.448 curveto
-66.358 77.791 67.701 76.448 69.358 76.448 curveto
-71.015 76.448 72.358 77.791 72.358 79.448 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-124.232 72.264 M
-124.232 73.921 122.889 75.264 121.232 75.264 curveto
-119.575 75.264 118.232 73.921 118.232 72.264 curveto
-118.232 70.607 119.575 69.264 121.232 69.264 curveto
-122.889 69.264 124.232 70.607 124.232 72.264 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.232 72.264 M
-124.232 73.921 122.889 75.264 121.232 75.264 curveto
-119.575 75.264 118.232 73.921 118.232 72.264 curveto
-118.232 70.607 119.575 69.264 121.232 69.264 curveto
-122.889 69.264 124.232 70.607 124.232 72.264 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-176.106 77.011 M
-176.106 78.668 174.763 80.011 173.106 80.011 curveto
-171.449 80.011 170.106 78.668 170.106 77.011 curveto
-170.106 75.354 171.449 74.011 173.106 74.011 curveto
-174.763 74.011 176.106 75.354 176.106 77.011 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-176.106 77.011 M
-176.106 78.668 174.763 80.011 173.106 80.011 curveto
-171.449 80.011 170.106 78.668 170.106 77.011 curveto
-170.106 75.354 171.449 74.011 173.106 74.011 curveto
-174.763 74.011 176.106 75.354 176.106 77.011 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-227.98 89.16 M
-227.98 90.817 226.637 92.16 224.98 92.16 curveto
-223.323 92.16 221.98 90.817 221.98 89.16 curveto
-221.98 87.503 223.323 86.16 224.98 86.16 curveto
-226.637 86.16 227.98 87.503 227.98 89.16 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.98 89.16 M
-227.98 90.817 226.637 92.16 224.98 92.16 curveto
-223.323 92.16 221.98 90.817 221.98 89.16 curveto
-221.98 87.503 223.323 86.16 224.98 86.16 curveto
-226.637 86.16 227.98 87.503 227.98 89.16 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-279.854 63.559 M
-279.854 65.216 278.511 66.559 276.854 66.559 curveto
-275.197 66.559 273.854 65.216 273.854 63.559 curveto
-273.854 61.902 275.197 60.559 276.854 60.559 curveto
-278.511 60.559 279.854 61.902 279.854 63.559 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-279.854 63.559 M
-279.854 65.216 278.511 66.559 276.854 66.559 curveto
-275.197 66.559 273.854 65.216 273.854 63.559 curveto
-273.854 61.902 275.197 60.559 276.854 60.559 curveto
-278.511 60.559 279.854 61.902 279.854 63.559 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-331.728 48.136 M
-331.728 49.793 330.385 51.136 328.728 51.136 curveto
-327.071 51.136 325.728 49.793 325.728 48.136 curveto
-325.728 46.48 327.071 45.136 328.728 45.136 curveto
-330.385 45.136 331.728 46.48 331.728 48.136 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-331.728 48.136 M
-331.728 49.793 330.385 51.136 328.728 51.136 curveto
-327.071 51.136 325.728 49.793 325.728 48.136 curveto
-325.728 46.48 327.071 45.136 328.728 45.136 curveto
-330.385 45.136 331.728 46.48 331.728 48.136 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-365.127 101.171 M
-365.127 102.828 363.784 104.171 362.127 104.171 curveto
-360.47 104.171 359.127 102.828 359.127 101.171 curveto
-359.127 99.514 360.47 98.171 362.127 98.171 curveto
-363.784 98.171 365.127 99.514 365.127 101.171 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-365.127 101.171 M
-365.127 102.828 363.784 104.171 362.127 104.171 curveto
-360.47 104.171 359.127 102.828 359.127 101.171 curveto
-359.127 99.514 360.47 98.171 362.127 98.171 curveto
-363.784 98.171 365.127 99.514 365.127 101.171 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-66.358 223.103 M
-72.358 223.103 lineto
-72.358 229.103 lineto
-66.358 229.103 lineto
-66.358 223.103 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.358 223.103 M
-72.358 223.103 lineto
-72.358 229.103 lineto
-66.358 229.103 lineto
-66.358 223.103 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-118.232 220.988 M
-124.232 220.988 lineto
-124.232 226.988 lineto
-118.232 226.988 lineto
-118.232 220.988 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-118.232 220.988 M
-124.232 220.988 lineto
-124.232 226.988 lineto
-118.232 226.988 lineto
-118.232 220.988 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-170.106 216.535 M
-176.106 216.535 lineto
-176.106 222.535 lineto
-170.106 222.535 lineto
-170.106 216.535 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.106 216.535 M
-176.106 216.535 lineto
-176.106 222.535 lineto
-170.106 222.535 lineto
-170.106 216.535 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-221.98 213.477 M
-227.98 213.477 lineto
-227.98 219.477 lineto
-221.98 219.477 lineto
-221.98 213.477 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.98 213.477 M
-227.98 213.477 lineto
-227.98 219.477 lineto
-221.98 219.477 lineto
-221.98 213.477 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-273.854 211.149 M
-279.854 211.149 lineto
-279.854 217.149 lineto
-273.854 217.149 lineto
-273.854 211.149 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-273.854 211.149 M
-279.854 211.149 lineto
-279.854 217.149 lineto
-273.854 217.149 lineto
-273.854 211.149 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-325.728 197.01 M
-331.728 197.01 lineto
-331.728 203.01 lineto
-325.728 203.01 lineto
-325.728 197.01 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-325.728 197.01 M
-331.728 197.01 lineto
-331.728 203.01 lineto
-325.728 203.01 lineto
-325.728 197.01 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-359.127 196.866 M
-365.127 196.866 lineto
-365.127 202.866 lineto
-359.127 202.866 lineto
-359.127 196.866 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-359.127 196.866 M
-365.127 196.866 lineto
-365.127 202.866 lineto
-359.127 202.866 lineto
-359.127 196.866 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-0.5 setlinewidth
-newpath
-58.148 34.247 M
-388 34.247 lineto
-388 325.931 lineto
-58.148 325.931 lineto
-58.148 34.247 lineto
-closepath
-stroke
-grestore
-%%Trailer
-%%Pages: 1
-%%EOF
diff --git a/sim/gobs/wiki/dc02kpv06.cfg b/sim/gobs/wiki/dc02kpv06.cfg
deleted file mode 100644
index 3fc5886..0000000
--- a/sim/gobs/wiki/dc02kpv06.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv06.cfg system_size_20-1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/wiki/dc02kpv06.eps b/sim/gobs/wiki/dc02kpv06.eps
deleted file mode 100644
index f04444d..0000000
--- a/sim/gobs/wiki/dc02kpv06.eps
+++ /dev/null
@@ -1,4569 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (Apache XML Graphics Commons: EPS Generator for Java2D)
-%%CreationDate: 2009-10-05T12:12:24
-%%Pages: (atend)
-%%BoundingBox: 0 0 400 400
-%%LanguageLevel: 3
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset (Apache XML Graphics Std ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2001-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (Basic set of procedures used by the XML Graphics project \(Batik and FOP\))
-/bd{bind def}bind def
-/ld{load def}bd
-/M/moveto ld
-/RM/rmoveto ld
-/t/show ld
-/A/ashow ld
-/cp/closepath ld
-/re {4 2 roll M
-1 index 0 rlineto
-0 exch rlineto
-neg 0 rlineto
-cp } bd
-/_ctm matrix def
-/_tm matrix def
-/BT { _ctm currentmatrix pop matrix _tm copy pop 0 0 moveto } bd
-/ET { _ctm setmatrix } bd
-/iTm { _ctm setmatrix _tm concat } bd
-/Tm { _tm astore pop iTm 0 0 moveto } bd
-/ux 0.0 def
-/uy 0.0 def
-/F {
- /Tp exch def
- /Tf exch def
- Tf findfont Tp scalefont setfont
- /cf Tf def /cs Tp def /cw ( ) stringwidth pop def
-} bd
-/ULS {currentpoint /uy exch def /ux exch def} bd
-/ULE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add moveto Tcx uy To add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/OLE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs add moveto Tcx uy To add cs add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/SOE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs 10 mul 26 idiv add moveto Tcx uy To add cs 10 mul 26 idiv add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/QUADTO {
-/Y22 exch store
-/X22 exch store
-/Y21 exch store
-/X21 exch store
-currentpoint
-/Y21 load 2 mul add 3 div exch
-/X21 load 2 mul add 3 div exch
-/X21 load 2 mul /X22 load add 3 div
-/Y21 load 2 mul /Y22 load add 3 div
-/X22 load /Y22 load curveto
-} bd
-/SSPD {
-dup length /d exch dict def
-{
-/v exch def
-/k exch def
-currentpagedevice k known {
-/cpdv currentpagedevice k get def
-v cpdv ne {
-/upd false def
-/nullv v type /nulltype eq def
-/nullcpdv cpdv type /nulltype eq def
-nullv nullcpdv or
-{
-/upd true def
-} {
-/sametype v type cpdv type eq def
-sametype {
-v type /arraytype eq {
-/vlen v length def
-/cpdvlen cpdv length def
-vlen cpdvlen eq {
-0 1 vlen 1 sub {
-/i exch def
-/obj v i get def
-/cpdobj cpdv i get def
-obj cpdobj ne {
-/upd true def
-exit
-} if
-} for
-} {
-/upd true def
-} ifelse
-} {
-v type /dicttype eq {
-v {
-/dv exch def
-/dk exch def
-/cpddv cpdv dk get def
-dv cpddv ne {
-/upd true def
-exit
-} if
-} forall
-} {
-/upd true def
-} ifelse
-} ifelse
-} if
-} ifelse
-upd true eq {
-d k v put
-} if
-} if
-} if
-} forall
-d length 0 gt {
-d setpagedevice
-} if
-} bd
-%%EndResource
-%%BeginResource: procset (Apache XML Graphics EPS ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2002-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (EPS procedures used by the Apache XML Graphics project \(Batik and FOP\))
-/BeginEPSF { %def
-/b4_Inc_state save def % Save state for cleanup
-/dict_count countdictstack def % Count objects on dict stack
-/op_count count 1 sub def % Count objects on operand stack
-userdict begin % Push userdict on dict stack
-/showpage { } def % Redefine showpage, { } = null proc
-0 setgray 0 setlinecap % Prepare graphics state
-1 setlinewidth 0 setlinejoin
-10 setmiterlimit [ ] 0 setdash newpath
-/languagelevel where % If level not equal to 1 then
-{pop languagelevel % set strokeadjust and
-1 ne % overprint to their defaults.
-{false setstrokeadjust false setoverprint
-} if
-} if
-} bd
-/EndEPSF { %def
-count op_count sub {pop} repeat % Clean up stacks
-countdictstack dict_count sub {end} repeat
-b4_Inc_state restore
-} bd
-%%EndResource
-%%EndProlog
-%%Page: 1 1
-%%PageBoundingBox: 0 0 400 400
-%%BeginPageSetup
-[1 0 0 -1 0 400] concat
-%%EndPageSetup
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-81.354 20.249 M
-81.354 5.796 lineto
-85.338 5.796 lineto
-88.807 15.968 lineto
-92.4 5.796 lineto
-95.885 5.796 lineto
-95.885 20.249 lineto
-93.119 20.249 lineto
-93.119 9.343 lineto
-89.588 19.281 lineto
-87.166 19.281 lineto
-83.713 9.187 lineto
-83.713 20.249 lineto
-81.354 20.249 lineto
-closepath
-104.758 19.093 M
-103.305 20.499 101.664 20.499 QUADTO
-100.258 20.499 99.375 19.64 QUADTO
-98.492 18.781 98.492 17.406 QUADTO
-98.492 15.624 99.914 14.663 QUADTO
-101.336 13.703 103.992 13.703 QUADTO
-104.758 13.703 lineto
-104.758 12.734 lineto
-104.758 11.062 102.852 11.062 QUADTO
-101.164 11.062 99.43 12.015 QUADTO
-99.43 10.031 lineto
-101.398 9.281 103.32 9.281 QUADTO
-107.523 9.281 107.523 12.624 QUADTO
-107.523 17.374 lineto
-107.523 18.64 108.336 18.64 QUADTO
-108.492 18.64 108.727 18.593 QUADTO
-108.789 20.218 lineto
-107.867 20.499 107.164 20.499 QUADTO
-105.398 20.499 104.883 19.093 QUADTO
-104.758 19.093 lineto
-closepath
-104.758 17.546 M
-104.758 15.359 lineto
-104.07 15.359 lineto
-101.273 15.359 101.273 17.124 QUADTO
-101.273 17.718 101.68 18.124 QUADTO
-102.086 18.531 102.68 18.531 QUADTO
-103.695 18.531 104.758 17.546 QUADTO
-closepath
-110.125 20.249 M
-113.797 14.874 lineto
-110.281 9.531 lineto
-113.562 9.531 lineto
-115.875 12.921 lineto
-118.078 9.531 lineto
-120.422 9.531 lineto
-117.062 14.796 lineto
-120.672 20.249 lineto
-117.375 20.249 lineto
-114.969 16.703 lineto
-112.516 20.249 lineto
-110.125 20.249 lineto
-closepath
-123.082 20.249 M
-123.082 9.531 lineto
-125.973 9.531 lineto
-125.973 20.249 lineto
-123.082 20.249 lineto
-closepath
-123.082 7.718 M
-123.082 5.312 lineto
-125.973 5.312 lineto
-125.973 7.718 lineto
-123.082 7.718 lineto
-closepath
-129.586 20.249 M
-129.586 9.531 lineto
-132.352 9.531 lineto
-132.352 11.546 lineto
-133.617 9.281 135.961 9.281 QUADTO
-137.18 9.281 137.961 9.874 QUADTO
-138.742 10.468 138.914 11.546 QUADTO
-140.414 9.281 142.555 9.281 QUADTO
-145.492 9.281 145.492 12.531 QUADTO
-145.492 20.249 lineto
-142.711 20.249 lineto
-142.711 13.468 lineto
-142.711 11.562 141.445 11.562 QUADTO
-140.148 11.562 138.914 13.437 QUADTO
-138.914 20.249 lineto
-136.148 20.249 lineto
-136.148 13.468 lineto
-136.148 11.562 134.867 11.562 QUADTO
-133.586 11.562 132.352 13.437 QUADTO
-132.352 20.249 lineto
-129.586 20.249 lineto
-closepath
-155.605 20.249 M
-155.605 18.234 lineto
-154.199 20.499 151.949 20.499 QUADTO
-150.512 20.499 149.684 19.585 QUADTO
-148.855 18.671 148.855 17.109 QUADTO
-148.855 9.531 lineto
-151.746 9.531 lineto
-151.746 16.39 lineto
-151.746 18.218 152.965 18.218 QUADTO
-154.34 18.218 155.605 16.281 QUADTO
-155.605 9.531 lineto
-158.496 9.531 lineto
-158.496 20.249 lineto
-155.605 20.249 lineto
-closepath
-162.115 20.249 M
-162.115 9.531 lineto
-164.881 9.531 lineto
-164.881 11.546 lineto
-166.146 9.281 168.49 9.281 QUADTO
-169.709 9.281 170.49 9.874 QUADTO
-171.271 10.468 171.443 11.546 QUADTO
-172.943 9.281 175.084 9.281 QUADTO
-178.021 9.281 178.021 12.531 QUADTO
-178.021 20.249 lineto
-175.24 20.249 lineto
-175.24 13.468 lineto
-175.24 11.562 173.975 11.562 QUADTO
-172.678 11.562 171.443 13.437 QUADTO
-171.443 20.249 lineto
-168.678 20.249 lineto
-168.678 13.468 lineto
-168.678 11.562 167.396 11.562 QUADTO
-166.115 11.562 164.881 13.437 QUADTO
-164.881 20.249 lineto
-162.115 20.249 lineto
-closepath
-188.102 20.249 M
-188.102 5.796 lineto
-193.508 5.796 lineto
-197.914 5.796 197.914 9.374 QUADTO
-197.914 10.718 197.164 11.82 QUADTO
-196.414 12.921 195.102 13.499 QUADTO
-199.836 20.249 lineto
-196.18 20.249 lineto
-192.586 14.343 lineto
-190.93 14.343 lineto
-190.93 20.249 lineto
-188.102 20.249 lineto
-closepath
-190.93 12.359 M
-191.617 12.359 lineto
-194.898 12.359 194.898 9.718 QUADTO
-194.898 7.781 191.977 7.781 QUADTO
-190.93 7.781 lineto
-190.93 12.359 lineto
-closepath
-210.619 19.89 M
-208.572 20.499 206.713 20.499 QUADTO
-204.041 20.499 202.486 18.976 QUADTO
-200.932 17.453 200.932 14.812 QUADTO
-200.932 12.312 202.354 10.796 QUADTO
-203.775 9.281 206.104 9.281 QUADTO
-208.463 9.281 209.541 10.765 QUADTO
-210.619 12.249 210.619 15.468 QUADTO
-203.979 15.468 lineto
-204.275 18.531 207.338 18.531 QUADTO
-208.807 18.531 210.619 17.859 QUADTO
-210.619 19.89 lineto
-closepath
-203.932 13.828 M
-207.791 13.828 lineto
-207.791 11.093 206.01 11.093 QUADTO
-204.213 11.093 203.932 13.828 QUADTO
-closepath
-213.619 20.249 M
-213.619 4.828 lineto
-216.51 4.828 lineto
-216.51 11.546 lineto
-217.619 9.281 220.01 9.281 QUADTO
-221.947 9.281 223.057 10.695 QUADTO
-224.166 12.109 224.166 14.593 QUADTO
-224.166 17.281 222.916 18.89 QUADTO
-221.666 20.499 219.572 20.499 QUADTO
-217.775 20.499 216.51 19.171 QUADTO
-215.963 20.249 lineto
-213.619 20.249 lineto
-closepath
-216.51 17.453 M
-217.557 18.624 218.744 18.624 QUADTO
-219.822 18.624 220.455 17.593 QUADTO
-221.088 16.562 221.088 14.843 QUADTO
-221.088 11.546 218.963 11.546 QUADTO
-217.682 11.546 216.51 13.203 QUADTO
-216.51 17.453 lineto
-closepath
-233.496 20.249 M
-233.496 18.234 lineto
-232.09 20.499 229.84 20.499 QUADTO
-228.402 20.499 227.574 19.585 QUADTO
-226.746 18.671 226.746 17.109 QUADTO
-226.746 9.531 lineto
-229.637 9.531 lineto
-229.637 16.39 lineto
-229.637 18.218 230.855 18.218 QUADTO
-232.23 18.218 233.496 16.281 QUADTO
-233.496 9.531 lineto
-236.387 9.531 lineto
-236.387 20.249 lineto
-233.496 20.249 lineto
-closepath
-240.006 20.249 M
-240.006 9.531 lineto
-242.896 9.531 lineto
-242.896 20.249 lineto
-240.006 20.249 lineto
-closepath
-240.006 7.718 M
-240.006 5.312 lineto
-242.896 5.312 lineto
-242.896 7.718 lineto
-240.006 7.718 lineto
-closepath
-246.51 20.249 M
-246.51 4.828 lineto
-249.4 4.828 lineto
-249.4 20.249 lineto
-246.51 20.249 lineto
-closepath
-259.764 20.249 M
-259.764 18.234 lineto
-258.639 20.499 256.248 20.499 QUADTO
-254.311 20.499 253.209 19.078 QUADTO
-252.107 17.656 252.107 15.187 QUADTO
-252.107 12.484 253.357 10.882 QUADTO
-254.607 9.281 256.701 9.281 QUADTO
-258.373 9.281 259.764 10.609 QUADTO
-259.764 4.828 lineto
-262.654 4.828 lineto
-262.654 20.249 lineto
-259.764 20.249 lineto
-closepath
-259.764 12.328 M
-258.717 11.156 257.514 11.156 QUADTO
-256.451 11.156 255.818 12.179 QUADTO
-255.186 13.203 255.186 14.937 QUADTO
-255.186 18.234 257.295 18.234 QUADTO
-258.592 18.234 259.764 16.578 QUADTO
-259.764 12.328 lineto
-closepath
-272.857 20.249 M
-272.857 5.796 lineto
-275.857 5.796 lineto
-275.857 18.203 lineto
-282.373 18.203 lineto
-282.373 20.249 lineto
-272.857 20.249 lineto
-closepath
-288.988 20.499 M
-286.473 20.499 284.996 18.976 QUADTO
-283.52 17.453 283.52 14.89 QUADTO
-283.52 12.296 285.004 10.788 QUADTO
-286.488 9.281 289.051 9.281 QUADTO
-291.629 9.281 293.113 10.788 QUADTO
-294.598 12.296 294.598 14.874 QUADTO
-294.598 17.499 293.105 18.999 QUADTO
-291.613 20.499 288.988 20.499 QUADTO
-closepath
-289.035 18.687 M
-291.52 18.687 291.52 14.874 QUADTO
-291.52 13.124 290.863 12.109 QUADTO
-290.207 11.093 289.051 11.093 QUADTO
-287.91 11.093 287.254 12.109 QUADTO
-286.598 13.124 286.598 14.89 QUADTO
-286.598 16.64 287.246 17.663 QUADTO
-287.895 18.687 289.035 18.687 QUADTO
-closepath
-302.512 19.093 M
-301.059 20.499 299.418 20.499 QUADTO
-298.012 20.499 297.129 19.64 QUADTO
-296.246 18.781 296.246 17.406 QUADTO
-296.246 15.624 297.668 14.663 QUADTO
-299.09 13.703 301.746 13.703 QUADTO
-302.512 13.703 lineto
-302.512 12.734 lineto
-302.512 11.062 300.605 11.062 QUADTO
-298.918 11.062 297.184 12.015 QUADTO
-297.184 10.031 lineto
-299.152 9.281 301.074 9.281 QUADTO
-305.277 9.281 305.277 12.624 QUADTO
-305.277 17.374 lineto
-305.277 18.64 306.09 18.64 QUADTO
-306.246 18.64 306.48 18.593 QUADTO
-306.543 20.218 lineto
-305.621 20.499 304.918 20.499 QUADTO
-303.152 20.499 302.637 19.093 QUADTO
-302.512 19.093 lineto
-closepath
-302.512 17.546 M
-302.512 15.359 lineto
-301.824 15.359 lineto
-299.027 15.359 299.027 17.124 QUADTO
-299.027 17.718 299.434 18.124 QUADTO
-299.84 18.531 300.434 18.531 QUADTO
-301.449 18.531 302.512 17.546 QUADTO
-closepath
-315.77 20.249 M
-315.77 18.234 lineto
-314.645 20.499 312.254 20.499 QUADTO
-310.316 20.499 309.215 19.078 QUADTO
-308.113 17.656 308.113 15.187 QUADTO
-308.113 12.484 309.363 10.882 QUADTO
-310.613 9.281 312.707 9.281 QUADTO
-314.379 9.281 315.77 10.609 QUADTO
-315.77 4.828 lineto
-318.66 4.828 lineto
-318.66 20.249 lineto
-315.77 20.249 lineto
-closepath
-315.77 12.328 M
-314.723 11.156 313.52 11.156 QUADTO
-312.457 11.156 311.824 12.179 QUADTO
-311.191 13.203 311.191 14.937 QUADTO
-311.191 18.234 313.301 18.234 QUADTO
-314.598 18.234 315.77 16.578 QUADTO
-315.77 12.328 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-79.864 376.452 M
-320.136 376.452 lineto
-320.136 399 lineto
-79.864 399 lineto
-79.864 376.452 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 376.952 M
-319.636 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 398.5 M
-319.636 398.5 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 398.5 M
-80.364 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.636 398.5 M
-319.636 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.864 387.726 M
-97.864 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-87.864 384.726 M
-93.864 384.726 lineto
-93.864 390.726 lineto
-87.864 390.726 lineto
-87.864 384.726 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.864 384.726 M
-93.864 384.726 lineto
-93.864 390.726 lineto
-87.864 390.726 lineto
-87.864 384.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-102.989 392.002 M
-102.989 383.33 lineto
-105.349 383.33 lineto
-106.911 383.33 107.599 383.861 QUADTO
-108.286 384.392 108.286 385.595 QUADTO
-108.286 386.986 107.349 387.767 QUADTO
-106.411 388.549 104.755 388.549 QUADTO
-104.208 388.549 lineto
-104.208 392.002 lineto
-102.989 392.002 lineto
-closepath
-104.208 387.627 M
-104.708 387.627 lineto
-105.802 387.627 106.396 387.119 QUADTO
-106.989 386.611 106.989 385.689 QUADTO
-106.989 384.924 106.521 384.588 QUADTO
-106.052 384.252 104.958 384.252 QUADTO
-104.208 384.252 lineto
-104.208 387.627 lineto
-closepath
-114.013 388.689 M
-112.528 384.939 lineto
-111.06 388.689 lineto
-114.013 388.689 lineto
-closepath
-115.31 392.002 M
-114.372 389.595 lineto
-110.7 389.595 lineto
-109.747 392.002 lineto
-108.591 392.002 lineto
-112.044 383.33 lineto
-113.263 383.33 lineto
-116.638 392.002 lineto
-115.31 392.002 lineto
-closepath
-119.589 392.22 M
-118.729 392.22 117.37 391.83 QUADTO
-117.37 390.611 lineto
-118.823 391.299 119.776 391.299 QUADTO
-120.495 391.299 120.94 390.916 QUADTO
-121.386 390.533 121.386 389.908 QUADTO
-121.386 389.408 121.097 389.049 QUADTO
-120.808 388.689 120.026 388.252 QUADTO
-119.433 387.908 lineto
-118.323 387.267 117.87 386.713 QUADTO
-117.417 386.158 117.417 385.408 QUADTO
-117.417 384.408 118.144 383.759 QUADTO
-118.87 383.111 119.995 383.111 QUADTO
-120.995 383.111 122.104 383.439 QUADTO
-122.104 384.564 lineto
-120.729 384.033 120.058 384.033 QUADTO
-119.417 384.033 119.003 384.369 QUADTO
-118.589 384.705 118.589 385.22 QUADTO
-118.589 385.658 118.894 385.994 QUADTO
-119.198 386.33 120.011 386.799 QUADTO
-120.62 387.142 lineto
-121.745 387.783 122.19 388.353 QUADTO
-122.636 388.924 122.636 389.72 QUADTO
-122.636 390.845 121.808 391.533 QUADTO
-120.979 392.22 119.589 392.22 QUADTO
-closepath
-126.427 392.002 M
-126.427 384.252 lineto
-123.349 384.252 lineto
-123.349 383.33 lineto
-130.724 383.33 lineto
-130.724 384.252 lineto
-127.646 384.252 lineto
-127.646 392.002 lineto
-126.427 392.002 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-136.827 387.726 M
-150.827 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-146.827 387.726 M
-146.827 389.383 145.484 390.726 143.827 390.726 curveto
-142.17 390.726 140.827 389.383 140.827 387.726 curveto
-140.827 386.069 142.17 384.726 143.827 384.726 curveto
-145.484 384.726 146.827 386.069 146.827 387.726 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.827 387.726 M
-146.827 389.383 145.484 390.726 143.827 390.726 curveto
-142.17 390.726 140.827 389.383 140.827 387.726 curveto
-140.827 386.069 142.17 384.726 143.827 384.726 curveto
-145.484 384.726 146.827 386.069 146.827 387.726 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-155.952 392.002 M
-155.952 383.33 lineto
-157.108 383.33 lineto
-157.108 387.595 lineto
-160.608 383.33 lineto
-161.843 383.33 lineto
-158.452 387.47 lineto
-162.452 392.002 lineto
-160.89 392.002 lineto
-157.108 387.611 lineto
-157.108 392.002 lineto
-155.952 392.002 lineto
-closepath
-167.099 391.189 M
-166.067 392.142 165.099 392.142 QUADTO
-164.302 392.142 163.786 391.65 QUADTO
-163.271 391.158 163.271 390.408 QUADTO
-163.271 389.361 164.146 388.799 QUADTO
-165.021 388.236 166.646 388.236 QUADTO
-166.927 388.236 lineto
-166.927 387.47 lineto
-166.927 386.361 165.786 386.361 QUADTO
-164.88 386.361 163.817 386.924 QUADTO
-163.817 385.97 lineto
-164.989 385.502 166.005 385.502 QUADTO
-167.067 385.502 167.575 385.978 QUADTO
-168.083 386.455 168.083 387.47 QUADTO
-168.083 390.361 lineto
-168.083 391.345 168.692 391.345 QUADTO
-168.771 391.345 168.911 391.314 QUADTO
-168.989 391.955 lineto
-168.599 392.142 168.13 392.142 QUADTO
-167.317 392.142 167.099 391.189 QUADTO
-closepath
-166.927 390.564 M
-166.927 388.924 lineto
-166.536 388.908 lineto
-165.599 388.908 165.013 389.267 QUADTO
-164.427 389.627 164.427 390.22 QUADTO
-164.427 390.627 164.716 390.916 QUADTO
-165.005 391.205 165.427 391.205 QUADTO
-166.146 391.205 166.927 390.564 QUADTO
-closepath
-174.522 392.002 M
-174.522 390.799 lineto
-173.819 392.142 172.413 392.142 QUADTO
-171.257 392.142 170.601 391.306 QUADTO
-169.944 390.47 169.944 389.017 QUADTO
-169.944 387.424 170.687 386.463 QUADTO
-171.429 385.502 172.647 385.502 QUADTO
-173.788 385.502 174.522 386.361 QUADTO
-174.522 382.752 lineto
-175.694 382.752 lineto
-175.694 392.002 lineto
-174.522 392.002 lineto
-closepath
-174.522 387.158 M
-173.632 386.361 172.835 386.361 QUADTO
-171.163 386.361 171.163 388.908 QUADTO
-171.163 391.127 172.647 391.127 QUADTO
-173.601 391.127 174.522 390.08 QUADTO
-174.522 387.158 lineto
-closepath
-182.653 391.799 M
-181.497 392.142 180.669 392.142 QUADTO
-179.263 392.142 178.38 391.213 QUADTO
-177.497 390.283 177.497 388.783 QUADTO
-177.497 387.345 178.278 386.416 QUADTO
-179.06 385.486 180.278 385.486 QUADTO
-181.435 385.486 182.06 386.306 QUADTO
-182.685 387.127 182.685 388.642 QUADTO
-182.685 389.002 lineto
-178.669 389.002 lineto
-178.919 391.267 180.888 391.267 QUADTO
-181.606 391.267 182.653 390.877 QUADTO
-182.653 391.799 lineto
-closepath
-178.716 388.127 M
-181.528 388.127 lineto
-181.528 386.361 180.2 386.361 QUADTO
-178.872 386.361 178.716 388.127 QUADTO
-closepath
-184.683 392.002 M
-184.683 385.642 lineto
-185.839 385.642 lineto
-185.839 386.83 lineto
-186.683 385.502 188.011 385.502 QUADTO
-189.276 385.502 189.745 386.83 QUADTO
-190.558 385.486 191.87 385.486 QUADTO
-192.714 385.486 193.183 385.986 QUADTO
-193.651 386.486 193.651 387.377 QUADTO
-193.651 392.002 lineto
-192.479 392.002 lineto
-192.479 387.549 lineto
-192.479 386.47 191.62 386.47 QUADTO
-190.729 386.47 189.745 387.736 QUADTO
-189.745 392.002 lineto
-188.589 392.002 lineto
-188.589 387.549 lineto
-188.589 386.455 187.698 386.455 QUADTO
-186.839 386.455 185.839 387.736 QUADTO
-185.839 392.002 lineto
-184.683 392.002 lineto
-closepath
-195.886 392.002 M
-195.886 382.752 lineto
-197.042 382.752 lineto
-197.042 392.002 lineto
-195.886 392.002 lineto
-closepath
-199.354 392.002 M
-199.354 385.642 lineto
-200.511 385.642 lineto
-200.511 392.002 lineto
-199.354 392.002 lineto
-closepath
-199.354 384.486 M
-199.354 383.33 lineto
-200.511 383.33 lineto
-200.511 384.486 lineto
-199.354 384.486 lineto
-closepath
-206.104 391.189 M
-205.073 392.142 204.104 392.142 QUADTO
-203.308 392.142 202.792 391.65 QUADTO
-202.276 391.158 202.276 390.408 QUADTO
-202.276 389.361 203.151 388.799 QUADTO
-204.026 388.236 205.651 388.236 QUADTO
-205.933 388.236 lineto
-205.933 387.47 lineto
-205.933 386.361 204.792 386.361 QUADTO
-203.886 386.361 202.823 386.924 QUADTO
-202.823 385.97 lineto
-203.995 385.502 205.011 385.502 QUADTO
-206.073 385.502 206.581 385.978 QUADTO
-207.089 386.455 207.089 387.47 QUADTO
-207.089 390.361 lineto
-207.089 391.345 207.698 391.345 QUADTO
-207.776 391.345 207.917 391.314 QUADTO
-207.995 391.955 lineto
-207.604 392.142 207.136 392.142 QUADTO
-206.323 392.142 206.104 391.189 QUADTO
-closepath
-205.933 390.564 M
-205.933 388.924 lineto
-205.542 388.908 lineto
-204.604 388.908 204.019 389.267 QUADTO
-203.433 389.627 203.433 390.22 QUADTO
-203.433 390.627 203.722 390.916 QUADTO
-204.011 391.205 204.433 391.205 QUADTO
-205.151 391.205 205.933 390.564 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-214.294 387.726 M
-228.294 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-221.294 384.726 M
-224.294 390.726 lineto
-218.294 390.726 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.294 384.726 M
-224.294 390.726 lineto
-218.294 390.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-235.778 392.002 M
-232.513 383.33 lineto
-233.731 383.33 lineto
-236.419 390.424 lineto
-239.013 383.33 lineto
-240.091 383.33 lineto
-236.935 392.002 lineto
-235.778 392.002 lineto
-closepath
-245.952 391.799 M
-244.796 392.142 243.968 392.142 QUADTO
-242.562 392.142 241.679 391.213 QUADTO
-240.796 390.283 240.796 388.783 QUADTO
-240.796 387.345 241.577 386.416 QUADTO
-242.358 385.486 243.577 385.486 QUADTO
-244.733 385.486 245.358 386.306 QUADTO
-245.983 387.127 245.983 388.642 QUADTO
-245.983 389.002 lineto
-241.968 389.002 lineto
-242.218 391.267 244.187 391.267 QUADTO
-244.905 391.267 245.952 390.877 QUADTO
-245.952 391.799 lineto
-closepath
-242.015 388.127 M
-244.827 388.127 lineto
-244.827 386.361 243.499 386.361 QUADTO
-242.171 386.361 242.015 388.127 QUADTO
-closepath
-247.981 392.002 M
-247.981 385.642 lineto
-249.138 385.642 lineto
-249.138 386.83 lineto
-249.825 385.502 251.122 385.502 QUADTO
-251.31 385.502 251.497 385.533 QUADTO
-251.497 386.611 lineto
-251.2 386.502 250.966 386.502 QUADTO
-249.872 386.502 249.138 387.799 QUADTO
-249.138 392.002 lineto
-247.981 392.002 lineto
-closepath
-254.798 392.142 M
-253.923 392.142 253.431 391.642 QUADTO
-252.938 391.142 252.938 390.236 QUADTO
-252.938 386.502 lineto
-252.142 386.502 lineto
-252.142 385.642 lineto
-252.938 385.642 lineto
-252.938 384.486 lineto
-254.095 384.377 lineto
-254.095 385.642 lineto
-255.751 385.642 lineto
-255.751 386.502 lineto
-254.095 386.502 lineto
-254.095 390.033 lineto
-254.095 391.283 255.173 391.283 QUADTO
-255.392 391.283 255.72 391.205 QUADTO
-255.72 392.002 lineto
-255.188 392.142 254.798 392.142 QUADTO
-closepath
-262.036 391.799 M
-260.88 392.142 260.052 392.142 QUADTO
-258.646 392.142 257.763 391.213 QUADTO
-256.88 390.283 256.88 388.783 QUADTO
-256.88 387.345 257.661 386.416 QUADTO
-258.442 385.486 259.661 385.486 QUADTO
-260.817 385.486 261.442 386.306 QUADTO
-262.067 387.127 262.067 388.642 QUADTO
-262.067 389.002 lineto
-258.052 389.002 lineto
-258.302 391.267 260.271 391.267 QUADTO
-260.989 391.267 262.036 390.877 QUADTO
-262.036 391.799 lineto
-closepath
-258.099 388.127 M
-260.911 388.127 lineto
-260.911 386.361 259.583 386.361 QUADTO
-258.255 386.361 258.099 388.127 QUADTO
-closepath
-263.425 392.002 M
-265.847 388.72 lineto
-263.503 385.642 lineto
-264.862 385.642 lineto
-266.722 388.08 lineto
-268.409 385.642 lineto
-269.534 385.642 lineto
-267.331 388.861 lineto
-269.722 392.002 lineto
-268.347 392.002 lineto
-266.44 389.486 lineto
-264.581 392.002 lineto
-263.425 392.002 lineto
-closepath
-281.706 391.767 M
-280.128 392.22 278.956 392.22 QUADTO
-276.878 392.22 275.776 391.041 QUADTO
-274.675 389.861 274.675 387.658 QUADTO
-274.675 385.502 275.792 384.306 QUADTO
-276.909 383.111 278.94 383.111 QUADTO
-280.253 383.111 281.69 383.502 QUADTO
-281.69 384.642 lineto
-279.894 384.033 278.94 384.033 QUADTO
-277.534 384.033 276.761 384.986 QUADTO
-275.987 385.939 275.987 387.674 QUADTO
-275.987 389.392 276.815 390.345 QUADTO
-277.644 391.299 279.144 391.299 QUADTO
-279.769 391.299 280.472 391.08 QUADTO
-280.472 388.252 lineto
-281.706 388.252 lineto
-281.706 391.767 lineto
-closepath
-283.894 392.002 M
-283.894 385.642 lineto
-285.05 385.642 lineto
-285.05 386.83 lineto
-285.737 385.502 287.034 385.502 QUADTO
-287.222 385.502 287.409 385.533 QUADTO
-287.409 386.611 lineto
-287.112 386.502 286.878 386.502 QUADTO
-285.784 386.502 285.05 387.799 QUADTO
-285.05 392.002 lineto
-283.894 392.002 lineto
-closepath
-291.288 392.142 M
-289.929 392.142 289.116 391.236 QUADTO
-288.304 390.33 288.304 388.814 QUADTO
-288.304 387.283 289.116 386.392 QUADTO
-289.929 385.502 291.335 385.502 QUADTO
-292.741 385.502 293.554 386.392 QUADTO
-294.366 387.283 294.366 388.814 QUADTO
-294.366 390.361 293.546 391.252 QUADTO
-292.726 392.142 291.288 392.142 QUADTO
-closepath
-291.304 391.283 M
-293.147 391.283 293.147 388.814 QUADTO
-293.147 386.361 291.335 386.361 QUADTO
-289.522 386.361 289.522 388.814 QUADTO
-289.522 391.283 291.304 391.283 QUADTO
-closepath
-300.159 392.002 M
-300.159 390.799 lineto
-299.237 392.142 297.925 392.142 QUADTO
-297.081 392.142 296.589 391.619 QUADTO
-296.097 391.095 296.097 390.205 QUADTO
-296.097 385.642 lineto
-297.253 385.642 lineto
-297.253 389.83 lineto
-297.253 390.549 297.464 390.853 QUADTO
-297.675 391.158 298.159 391.158 QUADTO
-299.222 391.158 300.159 389.767 QUADTO
-300.159 385.642 lineto
-301.3 385.642 lineto
-301.3 392.002 lineto
-300.159 392.002 lineto
-closepath
-303.622 394.314 M
-303.622 385.642 lineto
-304.778 385.642 lineto
-304.778 386.83 lineto
-305.481 385.502 306.903 385.502 QUADTO
-308.044 385.502 308.708 386.338 QUADTO
-309.372 387.174 309.372 388.627 QUADTO
-309.372 390.205 308.622 391.174 QUADTO
-307.872 392.142 306.653 392.142 QUADTO
-305.528 392.142 304.778 391.283 QUADTO
-304.778 394.314 lineto
-303.622 394.314 lineto
-closepath
-304.778 390.486 M
-305.669 391.283 306.481 391.283 QUADTO
-308.138 391.283 308.138 388.736 QUADTO
-308.138 386.502 306.669 386.502 QUADTO
-305.7 386.502 304.778 387.549 QUADTO
-304.778 390.486 lineto
-closepath
-312.862 392.142 M
-312.065 392.142 310.94 391.783 QUADTO
-310.94 390.72 lineto
-312.065 391.283 312.909 391.283 QUADTO
-313.409 391.283 313.737 391.009 QUADTO
-314.065 390.736 314.065 390.33 QUADTO
-314.065 389.752 313.144 389.361 QUADTO
-312.472 389.064 lineto
-310.972 388.455 310.972 387.283 QUADTO
-310.972 386.455 311.565 385.978 QUADTO
-312.159 385.502 313.175 385.502 QUADTO
-313.706 385.502 314.503 385.642 QUADTO
-314.737 385.689 lineto
-314.737 386.658 lineto
-313.769 386.361 313.206 386.361 QUADTO
-312.081 386.361 312.081 387.174 QUADTO
-312.081 387.689 312.925 388.049 QUADTO
-313.487 388.283 lineto
-314.425 388.689 314.823 389.127 QUADTO
-315.222 389.564 315.222 390.236 QUADTO
-315.222 391.064 314.558 391.603 QUADTO
-313.894 392.142 312.862 392.142 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-58.148 34.247 M
-388 34.247 lineto
-388 325.931 lineto
-58.148 325.931 lineto
-58.148 34.247 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-58.148 329.931 M
-388 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-62.77 345.481 M
-62.77 344.465 lineto
-63.27 343.293 64.802 341.903 QUADTO
-65.473 341.309 lineto
-66.739 340.153 66.739 339.012 QUADTO
-66.739 338.293 66.309 337.879 QUADTO
-65.88 337.465 65.114 337.465 QUADTO
-64.208 337.465 62.989 338.153 QUADTO
-62.989 337.137 lineto
-64.145 336.59 65.27 336.59 QUADTO
-66.489 336.59 67.231 337.247 QUADTO
-67.973 337.903 67.973 338.981 QUADTO
-67.973 339.762 67.598 340.372 QUADTO
-67.223 340.981 66.208 341.84 QUADTO
-65.77 342.215 lineto
-64.38 343.387 64.161 344.465 QUADTO
-67.927 344.465 lineto
-67.927 345.481 lineto
-62.77 345.481 lineto
-closepath
-73.124 345.7 M
-71.78 345.7 70.952 344.434 QUADTO
-70.124 343.168 70.124 341.137 QUADTO
-70.124 339.09 70.96 337.84 QUADTO
-71.796 336.59 73.155 336.59 QUADTO
-74.514 336.59 75.35 337.84 QUADTO
-76.186 339.09 76.186 341.122 QUADTO
-76.186 343.2 75.35 344.45 QUADTO
-74.514 345.7 73.124 345.7 QUADTO
-closepath
-73.139 344.825 M
-74.968 344.825 74.968 341.106 QUADTO
-74.968 337.465 73.155 337.465 QUADTO
-71.358 337.465 71.358 341.137 QUADTO
-71.358 344.825 73.139 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.358 331.931 M
-69.358 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-93.333 345.418 M
-93.333 344.34 lineto
-94.583 344.825 95.287 344.825 QUADTO
-96.115 344.825 96.638 344.34 QUADTO
-97.162 343.856 97.162 343.09 QUADTO
-97.162 341.262 94.599 341.262 QUADTO
-94.13 341.262 lineto
-94.13 340.481 lineto
-94.537 340.481 lineto
-96.943 340.481 96.943 338.793 QUADTO
-96.943 337.465 95.365 337.465 QUADTO
-94.49 337.465 93.458 337.95 QUADTO
-93.458 336.934 lineto
-94.474 336.59 95.443 336.59 QUADTO
-98.099 336.59 98.099 338.606 QUADTO
-98.099 340.137 96.287 340.778 QUADTO
-98.396 341.262 98.396 343.075 QUADTO
-98.396 344.309 97.583 345.004 QUADTO
-96.771 345.7 95.365 345.7 QUADTO
-94.552 345.7 93.333 345.418 QUADTO
-closepath
-103.468 345.7 M
-102.124 345.7 101.296 344.434 QUADTO
-100.468 343.168 100.468 341.137 QUADTO
-100.468 339.09 101.304 337.84 QUADTO
-102.14 336.59 103.499 336.59 QUADTO
-104.859 336.59 105.695 337.84 QUADTO
-106.531 339.09 106.531 341.122 QUADTO
-106.531 343.2 105.695 344.45 QUADTO
-104.859 345.7 103.468 345.7 QUADTO
-closepath
-103.484 344.825 M
-105.312 344.825 105.312 341.106 QUADTO
-105.312 337.465 103.499 337.465 QUADTO
-101.703 337.465 101.703 341.137 QUADTO
-101.703 344.825 103.484 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-99.703 331.931 M
-99.703 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.232 331.931 M
-121.232 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-137.932 331.931 M
-137.932 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-151.576 331.931 M
-151.576 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-163.113 331.931 M
-163.113 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.106 331.931 M
-173.106 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-181.921 331.931 M
-181.921 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.806 331.931 M
-189.806 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-180.236 345.481 M
-180.236 344.606 lineto
-181.971 344.606 lineto
-181.971 337.762 lineto
-180.236 338.2 lineto
-180.236 337.309 lineto
-183.127 336.59 lineto
-183.127 344.606 lineto
-184.861 344.606 lineto
-184.861 345.481 lineto
-180.236 345.481 lineto
-closepath
-189.777 345.7 M
-188.434 345.7 187.606 344.434 QUADTO
-186.777 343.168 186.777 341.137 QUADTO
-186.777 339.09 187.613 337.84 QUADTO
-188.449 336.59 189.809 336.59 QUADTO
-191.168 336.59 192.004 337.84 QUADTO
-192.84 339.09 192.84 341.122 QUADTO
-192.84 343.2 192.004 344.45 QUADTO
-191.168 345.7 189.777 345.7 QUADTO
-closepath
-189.793 344.825 M
-191.621 344.825 191.621 341.106 QUADTO
-191.621 337.465 189.809 337.465 QUADTO
-188.012 337.465 188.012 341.137 QUADTO
-188.012 344.825 189.793 344.825 QUADTO
-closepath
-197.365 345.7 M
-196.022 345.7 195.193 344.434 QUADTO
-194.365 343.168 194.365 341.137 QUADTO
-194.365 339.09 195.201 337.84 QUADTO
-196.037 336.59 197.397 336.59 QUADTO
-198.756 336.59 199.592 337.84 QUADTO
-200.428 339.09 200.428 341.122 QUADTO
-200.428 343.2 199.592 344.45 QUADTO
-198.756 345.7 197.365 345.7 QUADTO
-closepath
-197.381 344.825 M
-199.209 344.825 199.209 341.106 QUADTO
-199.209 337.465 197.397 337.465 QUADTO
-195.6 337.465 195.6 341.137 QUADTO
-195.6 344.825 197.381 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.806 331.931 M
-189.806 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-231.298 345.481 M
-231.298 344.465 lineto
-231.798 343.293 233.329 341.903 QUADTO
-234.001 341.309 lineto
-235.267 340.153 235.267 339.012 QUADTO
-235.267 338.293 234.837 337.879 QUADTO
-234.407 337.465 233.642 337.465 QUADTO
-232.735 337.465 231.517 338.153 QUADTO
-231.517 337.137 lineto
-232.673 336.59 233.798 336.59 QUADTO
-235.017 336.59 235.759 337.247 QUADTO
-236.501 337.903 236.501 338.981 QUADTO
-236.501 339.762 236.126 340.372 QUADTO
-235.751 340.981 234.735 341.84 QUADTO
-234.298 342.215 lineto
-232.907 343.387 232.689 344.465 QUADTO
-236.454 344.465 lineto
-236.454 345.481 lineto
-231.298 345.481 lineto
-closepath
-241.651 345.7 M
-240.308 345.7 239.48 344.434 QUADTO
-238.651 343.168 238.651 341.137 QUADTO
-238.651 339.09 239.487 337.84 QUADTO
-240.323 336.59 241.683 336.59 QUADTO
-243.042 336.59 243.878 337.84 QUADTO
-244.714 339.09 244.714 341.122 QUADTO
-244.714 343.2 243.878 344.45 QUADTO
-243.042 345.7 241.651 345.7 QUADTO
-closepath
-241.667 344.825 M
-243.495 344.825 243.495 341.106 QUADTO
-243.495 337.465 241.683 337.465 QUADTO
-239.886 337.465 239.886 341.137 QUADTO
-239.886 344.825 241.667 344.825 QUADTO
-closepath
-249.239 345.7 M
-247.896 345.7 247.067 344.434 QUADTO
-246.239 343.168 246.239 341.137 QUADTO
-246.239 339.09 247.075 337.84 QUADTO
-247.911 336.59 249.271 336.59 QUADTO
-250.63 336.59 251.466 337.84 QUADTO
-252.302 339.09 252.302 341.122 QUADTO
-252.302 343.2 251.466 344.45 QUADTO
-250.63 345.7 249.239 345.7 QUADTO
-closepath
-249.255 344.825 M
-251.083 344.825 251.083 341.106 QUADTO
-251.083 337.465 249.271 337.465 QUADTO
-247.474 337.465 247.474 341.137 QUADTO
-247.474 344.825 249.255 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-241.68 331.931 M
-241.68 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-272.024 331.931 M
-272.024 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-293.554 331.931 M
-293.554 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-310.253 331.931 M
-310.253 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-323.898 331.931 M
-323.898 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-335.434 331.931 M
-335.434 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-345.428 331.931 M
-345.428 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-354.242 331.931 M
-354.242 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.127 331.931 M
-362.127 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-348.764 345.481 M
-348.764 344.606 lineto
-350.498 344.606 lineto
-350.498 337.762 lineto
-348.764 338.2 lineto
-348.764 337.309 lineto
-351.655 336.59 lineto
-351.655 344.606 lineto
-353.389 344.606 lineto
-353.389 345.481 lineto
-348.764 345.481 lineto
-closepath
-358.305 345.7 M
-356.961 345.7 356.133 344.434 QUADTO
-355.305 343.168 355.305 341.137 QUADTO
-355.305 339.09 356.141 337.84 QUADTO
-356.977 336.59 358.336 336.59 QUADTO
-359.696 336.59 360.532 337.84 QUADTO
-361.368 339.09 361.368 341.122 QUADTO
-361.368 343.2 360.532 344.45 QUADTO
-359.696 345.7 358.305 345.7 QUADTO
-closepath
-358.321 344.825 M
-360.149 344.825 360.149 341.106 QUADTO
-360.149 337.465 358.336 337.465 QUADTO
-356.539 337.465 356.539 341.137 QUADTO
-356.539 344.825 358.321 344.825 QUADTO
-closepath
-365.893 345.7 M
-364.549 345.7 363.721 344.434 QUADTO
-362.893 343.168 362.893 341.137 QUADTO
-362.893 339.09 363.729 337.84 QUADTO
-364.565 336.59 365.924 336.59 QUADTO
-367.284 336.59 368.119 337.84 QUADTO
-368.955 339.09 368.955 341.122 QUADTO
-368.955 343.2 368.119 344.45 QUADTO
-367.284 345.7 365.893 345.7 QUADTO
-closepath
-365.909 344.825 M
-367.737 344.825 367.737 341.106 QUADTO
-367.737 337.465 365.924 337.465 QUADTO
-364.127 337.465 364.127 341.137 QUADTO
-364.127 344.825 365.909 344.825 QUADTO
-closepath
-373.481 345.7 M
-372.137 345.7 371.309 344.434 QUADTO
-370.481 343.168 370.481 341.137 QUADTO
-370.481 339.09 371.317 337.84 QUADTO
-372.153 336.59 373.512 336.59 QUADTO
-374.871 336.59 375.707 337.84 QUADTO
-376.543 339.09 376.543 341.122 QUADTO
-376.543 343.2 375.707 344.45 QUADTO
-374.871 345.7 373.481 345.7 QUADTO
-closepath
-373.496 344.825 M
-375.325 344.825 375.325 341.106 QUADTO
-375.325 337.465 373.512 337.465 QUADTO
-371.715 337.465 371.715 341.137 QUADTO
-371.715 344.825 373.496 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.127 331.931 M
-362.127 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-202.574 364.954 M
-202.574 357.454 lineto
-204.59 357.454 lineto
-204.59 358.86 lineto
-205.59 357.282 207.152 357.282 QUADTO
-208.152 357.282 208.738 357.915 QUADTO
-209.324 358.548 209.324 359.641 QUADTO
-209.324 364.954 lineto
-207.293 364.954 lineto
-207.293 360.141 lineto
-207.293 358.876 206.449 358.876 QUADTO
-205.48 358.876 204.59 360.235 QUADTO
-204.59 364.954 lineto
-202.574 364.954 lineto
-closepath
-214.925 365.126 M
-213.159 365.126 212.128 364.063 QUADTO
-211.097 363.001 211.097 361.204 QUADTO
-211.097 359.376 212.136 358.329 QUADTO
-213.175 357.282 214.972 357.282 QUADTO
-216.769 357.282 217.808 358.329 QUADTO
-218.847 359.376 218.847 361.188 QUADTO
-218.847 363.032 217.8 364.079 QUADTO
-216.753 365.126 214.925 365.126 QUADTO
-closepath
-214.956 363.86 M
-216.69 363.86 216.69 361.188 QUADTO
-216.69 359.97 216.229 359.259 QUADTO
-215.769 358.548 214.972 358.548 QUADTO
-214.175 358.548 213.706 359.259 QUADTO
-213.237 359.97 213.237 361.204 QUADTO
-213.237 362.423 213.698 363.141 QUADTO
-214.159 363.86 214.956 363.86 QUADTO
-closepath
-225.429 364.954 M
-225.429 363.532 lineto
-224.647 365.126 222.976 365.126 QUADTO
-221.632 365.126 220.858 364.134 QUADTO
-220.085 363.141 220.085 361.407 QUADTO
-220.085 359.516 220.952 358.399 QUADTO
-221.819 357.282 223.288 357.282 QUADTO
-224.476 357.282 225.429 358.204 QUADTO
-225.429 354.157 lineto
-227.46 354.157 lineto
-227.46 364.954 lineto
-225.429 364.954 lineto
-closepath
-225.429 359.407 M
-224.694 358.595 223.866 358.595 QUADTO
-223.116 358.595 222.679 359.313 QUADTO
-222.241 360.032 222.241 361.235 QUADTO
-222.241 363.532 223.71 363.532 QUADTO
-224.616 363.532 225.429 362.376 QUADTO
-225.429 359.407 lineto
-closepath
-236.096 364.704 M
-234.658 365.126 233.361 365.126 QUADTO
-231.486 365.126 230.4 364.055 QUADTO
-229.314 362.985 229.314 361.141 QUADTO
-229.314 359.407 230.307 358.345 QUADTO
-231.299 357.282 232.939 357.282 QUADTO
-234.58 357.282 235.338 358.321 QUADTO
-236.096 359.36 236.096 361.61 QUADTO
-231.439 361.61 lineto
-231.643 363.751 233.799 363.751 QUADTO
-234.814 363.751 236.096 363.282 QUADTO
-236.096 364.704 lineto
-closepath
-231.408 360.47 M
-234.111 360.47 lineto
-234.111 358.548 232.877 358.548 QUADTO
-231.611 358.548 231.408 360.47 QUADTO
-closepath
-237.986 364.72 M
-237.986 363.235 lineto
-239.502 363.86 240.564 363.86 QUADTO
-241.799 363.86 241.799 363.016 QUADTO
-241.799 362.47 240.783 362.048 QUADTO
-240.096 361.782 lineto
-238.986 361.329 238.502 360.813 QUADTO
-238.018 360.298 238.018 359.532 QUADTO
-238.018 358.454 238.838 357.868 QUADTO
-239.658 357.282 241.111 357.282 QUADTO
-242.033 357.282 243.299 357.548 QUADTO
-243.299 358.97 lineto
-242.08 358.548 241.283 358.548 QUADTO
-240.018 358.548 240.018 359.313 QUADTO
-240.018 359.829 240.955 360.188 QUADTO
-241.533 360.407 lineto
-242.861 360.907 243.377 361.423 QUADTO
-243.893 361.938 243.893 362.751 QUADTO
-243.893 363.798 243.01 364.462 QUADTO
-242.127 365.126 240.721 365.126 QUADTO
-239.377 365.126 237.986 364.72 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-54.148 34.247 M
-54.148 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-44.326 330.426 M
-42.982 330.426 42.154 329.16 QUADTO
-41.326 327.894 41.326 325.863 QUADTO
-41.326 323.816 42.162 322.566 QUADTO
-42.998 321.316 44.357 321.316 QUADTO
-45.717 321.316 46.553 322.566 QUADTO
-47.389 323.816 47.389 325.848 QUADTO
-47.389 327.926 46.553 329.176 QUADTO
-45.717 330.426 44.326 330.426 QUADTO
-closepath
-44.342 329.551 M
-46.17 329.551 46.17 325.832 QUADTO
-46.17 322.191 44.357 322.191 QUADTO
-42.561 322.191 42.561 325.863 QUADTO
-42.561 329.551 44.342 329.551 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 325.931 M
-54.148 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-42.014 299.73 M
-42.014 298.699 lineto
-42.889 299.043 43.654 299.043 QUADTO
-44.514 299.043 45.006 298.543 QUADTO
-45.498 298.043 45.498 297.152 QUADTO
-45.498 295.199 42.811 295.199 QUADTO
-42.498 295.199 42.17 295.246 QUADTO
-42.17 291.027 lineto
-46.561 291.027 lineto
-46.561 292.027 lineto
-43.186 292.027 lineto
-43.186 294.324 lineto
-44.857 294.324 45.795 295.09 QUADTO
-46.732 295.855 46.732 297.215 QUADTO
-46.732 298.48 45.873 299.199 QUADTO
-45.014 299.918 43.514 299.918 QUADTO
-42.857 299.918 42.014 299.73 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 295.424 M
-54.148 295.424 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 269.191 M
-34.785 268.316 lineto
-36.52 268.316 lineto
-36.52 261.473 lineto
-34.785 261.91 lineto
-34.785 261.019 lineto
-37.676 260.301 lineto
-37.676 268.316 lineto
-39.41 268.316 lineto
-39.41 269.191 lineto
-34.785 269.191 lineto
-closepath
-44.326 269.41 M
-42.982 269.41 42.154 268.144 QUADTO
-41.326 266.879 41.326 264.848 QUADTO
-41.326 262.801 42.162 261.551 QUADTO
-42.998 260.301 44.357 260.301 QUADTO
-45.717 260.301 46.553 261.551 QUADTO
-47.389 262.801 47.389 264.832 QUADTO
-47.389 266.91 46.553 268.16 QUADTO
-45.717 269.41 44.326 269.41 QUADTO
-closepath
-44.342 268.535 M
-46.17 268.535 46.17 264.816 QUADTO
-46.17 261.176 44.357 261.176 QUADTO
-42.561 261.176 42.561 264.848 QUADTO
-42.561 268.535 44.342 268.535 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 264.916 M
-54.148 264.916 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 238.684 M
-34.785 237.809 lineto
-36.52 237.809 lineto
-36.52 230.965 lineto
-34.785 231.402 lineto
-34.785 230.512 lineto
-37.676 229.793 lineto
-37.676 237.809 lineto
-39.41 237.809 lineto
-39.41 238.684 lineto
-34.785 238.684 lineto
-closepath
-42.014 238.715 M
-42.014 237.684 lineto
-42.889 238.027 43.654 238.027 QUADTO
-44.514 238.027 45.006 237.527 QUADTO
-45.498 237.027 45.498 236.137 QUADTO
-45.498 234.184 42.811 234.184 QUADTO
-42.498 234.184 42.17 234.23 QUADTO
-42.17 230.012 lineto
-46.561 230.012 lineto
-46.561 231.012 lineto
-43.186 231.012 lineto
-43.186 233.309 lineto
-44.857 233.309 45.795 234.074 QUADTO
-46.732 234.84 46.732 236.199 QUADTO
-46.732 237.465 45.873 238.184 QUADTO
-45.014 238.902 43.514 238.902 QUADTO
-42.857 238.902 42.014 238.715 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 234.408 M
-54.148 234.408 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 208.176 M
-33.973 207.16 lineto
-34.473 205.988 36.004 204.598 QUADTO
-36.676 204.004 lineto
-37.941 202.848 37.941 201.707 QUADTO
-37.941 200.988 37.512 200.574 QUADTO
-37.082 200.16 36.316 200.16 QUADTO
-35.41 200.16 34.191 200.848 QUADTO
-34.191 199.832 lineto
-35.348 199.285 36.473 199.285 QUADTO
-37.691 199.285 38.434 199.941 QUADTO
-39.176 200.598 39.176 201.676 QUADTO
-39.176 202.457 38.801 203.066 QUADTO
-38.426 203.676 37.41 204.535 QUADTO
-36.973 204.91 lineto
-35.582 206.082 35.363 207.16 QUADTO
-39.129 207.16 lineto
-39.129 208.176 lineto
-33.973 208.176 lineto
-closepath
-44.326 208.395 M
-42.982 208.395 42.154 207.129 QUADTO
-41.326 205.863 41.326 203.832 QUADTO
-41.326 201.785 42.162 200.535 QUADTO
-42.998 199.285 44.357 199.285 QUADTO
-45.717 199.285 46.553 200.535 QUADTO
-47.389 201.785 47.389 203.816 QUADTO
-47.389 205.895 46.553 207.145 QUADTO
-45.717 208.395 44.326 208.395 QUADTO
-closepath
-44.342 207.52 M
-46.17 207.52 46.17 203.801 QUADTO
-46.17 200.16 44.357 200.16 QUADTO
-42.561 200.16 42.561 203.832 QUADTO
-42.561 207.52 44.342 207.52 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 203.9 M
-54.148 203.9 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 177.668 M
-33.973 176.652 lineto
-34.473 175.48 36.004 174.09 QUADTO
-36.676 173.496 lineto
-37.941 172.34 37.941 171.199 QUADTO
-37.941 170.48 37.512 170.066 QUADTO
-37.082 169.652 36.316 169.652 QUADTO
-35.41 169.652 34.191 170.34 QUADTO
-34.191 169.324 lineto
-35.348 168.777 36.473 168.777 QUADTO
-37.691 168.777 38.434 169.434 QUADTO
-39.176 170.09 39.176 171.168 QUADTO
-39.176 171.949 38.801 172.559 QUADTO
-38.426 173.168 37.41 174.027 QUADTO
-36.973 174.402 lineto
-35.582 175.574 35.363 176.652 QUADTO
-39.129 176.652 lineto
-39.129 177.668 lineto
-33.973 177.668 lineto
-closepath
-42.014 177.699 M
-42.014 176.668 lineto
-42.889 177.012 43.654 177.012 QUADTO
-44.514 177.012 45.006 176.512 QUADTO
-45.498 176.012 45.498 175.121 QUADTO
-45.498 173.168 42.811 173.168 QUADTO
-42.498 173.168 42.17 173.215 QUADTO
-42.17 168.996 lineto
-46.561 168.996 lineto
-46.561 169.996 lineto
-43.186 169.996 lineto
-43.186 172.293 lineto
-44.857 172.293 45.795 173.059 QUADTO
-46.732 173.824 46.732 175.184 QUADTO
-46.732 176.449 45.873 177.168 QUADTO
-45.014 177.887 43.514 177.887 QUADTO
-42.857 177.887 42.014 177.699 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 173.392 M
-54.148 173.392 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 147.098 M
-34.191 146.02 lineto
-35.441 146.504 36.145 146.504 QUADTO
-36.973 146.504 37.496 146.02 QUADTO
-38.02 145.535 38.02 144.77 QUADTO
-38.02 142.941 35.457 142.941 QUADTO
-34.988 142.941 lineto
-34.988 142.16 lineto
-35.395 142.16 lineto
-37.801 142.16 37.801 140.473 QUADTO
-37.801 139.145 36.223 139.145 QUADTO
-35.348 139.145 34.316 139.629 QUADTO
-34.316 138.613 lineto
-35.332 138.27 36.301 138.27 QUADTO
-38.957 138.27 38.957 140.285 QUADTO
-38.957 141.816 37.145 142.457 QUADTO
-39.254 142.941 39.254 144.754 QUADTO
-39.254 145.988 38.441 146.684 QUADTO
-37.629 147.379 36.223 147.379 QUADTO
-35.41 147.379 34.191 147.098 QUADTO
-closepath
-44.326 147.379 M
-42.982 147.379 42.154 146.113 QUADTO
-41.326 144.848 41.326 142.816 QUADTO
-41.326 140.77 42.162 139.52 QUADTO
-42.998 138.27 44.357 138.27 QUADTO
-45.717 138.27 46.553 139.52 QUADTO
-47.389 140.77 47.389 142.801 QUADTO
-47.389 144.879 46.553 146.129 QUADTO
-45.717 147.379 44.326 147.379 QUADTO
-closepath
-44.342 146.504 M
-46.17 146.504 46.17 142.785 QUADTO
-46.17 139.145 44.357 139.145 QUADTO
-42.561 139.145 42.561 142.816 QUADTO
-42.561 146.504 44.342 146.504 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 142.885 M
-54.148 142.885 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 116.59 M
-34.191 115.512 lineto
-35.441 115.996 36.145 115.996 QUADTO
-36.973 115.996 37.496 115.512 QUADTO
-38.02 115.027 38.02 114.262 QUADTO
-38.02 112.434 35.457 112.434 QUADTO
-34.988 112.434 lineto
-34.988 111.652 lineto
-35.395 111.652 lineto
-37.801 111.652 37.801 109.965 QUADTO
-37.801 108.637 36.223 108.637 QUADTO
-35.348 108.637 34.316 109.121 QUADTO
-34.316 108.105 lineto
-35.332 107.762 36.301 107.762 QUADTO
-38.957 107.762 38.957 109.777 QUADTO
-38.957 111.309 37.145 111.949 QUADTO
-39.254 112.434 39.254 114.246 QUADTO
-39.254 115.48 38.441 116.176 QUADTO
-37.629 116.871 36.223 116.871 QUADTO
-35.41 116.871 34.191 116.59 QUADTO
-closepath
-42.014 116.684 M
-42.014 115.652 lineto
-42.889 115.996 43.654 115.996 QUADTO
-44.514 115.996 45.006 115.496 QUADTO
-45.498 114.996 45.498 114.105 QUADTO
-45.498 112.152 42.811 112.152 QUADTO
-42.498 112.152 42.17 112.199 QUADTO
-42.17 107.98 lineto
-46.561 107.98 lineto
-46.561 108.98 lineto
-43.186 108.98 lineto
-43.186 111.277 lineto
-44.857 111.277 45.795 112.043 QUADTO
-46.732 112.809 46.732 114.168 QUADTO
-46.732 115.434 45.873 116.152 QUADTO
-45.014 116.871 43.514 116.871 QUADTO
-42.857 116.871 42.014 116.684 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 112.377 M
-54.148 112.377 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-37.488 86.145 M
-37.488 83.691 lineto
-33.582 83.691 lineto
-33.582 82.816 lineto
-37.488 77.473 lineto
-38.582 77.473 lineto
-38.582 82.738 lineto
-39.738 82.738 lineto
-39.738 83.691 lineto
-38.582 83.691 lineto
-38.582 86.145 lineto
-37.488 86.145 lineto
-closepath
-34.723 82.738 M
-37.566 82.738 lineto
-37.566 78.895 lineto
-34.723 82.738 lineto
-closepath
-44.326 86.363 M
-42.982 86.363 42.154 85.098 QUADTO
-41.326 83.832 41.326 81.801 QUADTO
-41.326 79.754 42.162 78.504 QUADTO
-42.998 77.254 44.357 77.254 QUADTO
-45.717 77.254 46.553 78.504 QUADTO
-47.389 79.754 47.389 81.785 QUADTO
-47.389 83.863 46.553 85.113 QUADTO
-45.717 86.363 44.326 86.363 QUADTO
-closepath
-44.342 85.488 M
-46.17 85.488 46.17 81.77 QUADTO
-46.17 78.129 44.357 78.129 QUADTO
-42.561 78.129 42.561 81.801 QUADTO
-42.561 85.488 44.342 85.488 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 81.869 M
-54.148 81.869 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-37.488 55.637 M
-37.488 53.184 lineto
-33.582 53.184 lineto
-33.582 52.309 lineto
-37.488 46.965 lineto
-38.582 46.965 lineto
-38.582 52.23 lineto
-39.738 52.23 lineto
-39.738 53.184 lineto
-38.582 53.184 lineto
-38.582 55.637 lineto
-37.488 55.637 lineto
-closepath
-34.723 52.23 M
-37.566 52.23 lineto
-37.566 48.387 lineto
-34.723 52.23 lineto
-closepath
-42.014 55.668 M
-42.014 54.637 lineto
-42.889 54.98 43.654 54.98 QUADTO
-44.514 54.98 45.006 54.48 QUADTO
-45.498 53.98 45.498 53.09 QUADTO
-45.498 51.137 42.811 51.137 QUADTO
-42.498 51.137 42.17 51.184 QUADTO
-42.17 46.965 lineto
-46.561 46.965 lineto
-46.561 47.965 lineto
-43.186 47.965 lineto
-43.186 50.262 lineto
-44.857 50.262 45.795 51.027 QUADTO
-46.732 51.793 46.732 53.152 QUADTO
-46.732 54.418 45.873 55.137 QUADTO
-45.014 55.855 43.514 55.855 QUADTO
-42.857 55.855 42.014 55.668 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 51.361 M
-54.148 51.361 lineto
-stroke
-grestore
-gsave
-[0 -1 1 0 -160.60265 199.57533] concat
-newpath
-199.575 160.603 M
-199.575 560.603 lineto
--200.425 560.603 lineto
--200.425 160.603 lineto
-199.575 160.603 lineto
-closepath
-clip
-0.251 setgray
-newpath
--38.14 185.077 M
--38.14 174.28 lineto
--36.124 174.28 lineto
--36.124 185.077 lineto
--38.14 185.077 lineto
-closepath
--30.431 185.249 M
--32.196 185.249 -33.228 184.187 QUADTO
--34.259 183.124 -34.259 181.327 QUADTO
--34.259 179.499 -33.22 178.452 QUADTO
--32.181 177.405 -30.384 177.405 QUADTO
--28.587 177.405 -27.548 178.452 QUADTO
--26.509 179.499 -26.509 181.312 QUADTO
--26.509 183.155 -27.556 184.202 QUADTO
--28.603 185.249 -30.431 185.249 QUADTO
-closepath
--30.399 183.983 M
--28.665 183.983 -28.665 181.312 QUADTO
--28.665 180.093 -29.126 179.382 QUADTO
--29.587 178.671 -30.384 178.671 QUADTO
--31.181 178.671 -31.649 179.382 QUADTO
--32.118 180.093 -32.118 181.327 QUADTO
--32.118 182.546 -31.657 183.265 QUADTO
--31.196 183.983 -30.399 183.983 QUADTO
-closepath
--20.974 184.265 M
--21.974 185.249 -23.13 185.249 QUADTO
--24.114 185.249 -24.731 184.648 QUADTO
--25.349 184.046 -25.349 183.093 QUADTO
--25.349 181.843 -24.356 181.171 QUADTO
--23.364 180.499 -21.505 180.499 QUADTO
--20.974 180.499 lineto
--20.974 179.812 lineto
--20.974 178.64 -22.302 178.64 QUADTO
--23.489 178.64 -24.692 179.312 QUADTO
--24.692 177.921 lineto
--23.317 177.405 -21.974 177.405 QUADTO
--19.021 177.405 -19.021 179.749 QUADTO
--19.021 183.062 lineto
--19.021 183.952 -18.458 183.952 QUADTO
--18.364 183.952 -18.192 183.921 QUADTO
--18.146 185.062 lineto
--18.786 185.249 -19.286 185.249 QUADTO
--20.521 185.249 -20.88 184.265 QUADTO
--20.974 184.265 lineto
-closepath
--20.974 183.187 M
--20.974 181.655 lineto
--21.442 181.655 lineto
--23.411 181.655 -23.411 182.89 QUADTO
--23.411 183.312 -23.13 183.593 QUADTO
--22.849 183.874 -22.427 183.874 QUADTO
--21.708 183.874 -20.974 183.187 QUADTO
-closepath
--11.696 185.077 M
--11.696 183.655 lineto
--12.478 185.249 -14.149 185.249 QUADTO
--15.493 185.249 -16.267 184.257 QUADTO
--17.04 183.265 -17.04 181.53 QUADTO
--17.04 179.64 -16.173 178.523 QUADTO
--15.306 177.405 -13.837 177.405 QUADTO
--12.649 177.405 -11.696 178.327 QUADTO
--11.696 174.28 lineto
--9.665 174.28 lineto
--9.665 185.077 lineto
--11.696 185.077 lineto
-closepath
--11.696 179.53 M
--12.431 178.718 -13.259 178.718 QUADTO
--14.009 178.718 -14.446 179.437 QUADTO
--14.884 180.155 -14.884 181.358 QUADTO
--14.884 183.655 -13.415 183.655 QUADTO
--12.509 183.655 -11.696 182.499 QUADTO
--11.696 179.53 lineto
-closepath
--2.306 185.077 M
--2.306 178.843 lineto
--3.353 178.843 lineto
--3.353 177.577 lineto
--2.306 177.577 lineto
--2.306 177.03 lineto
--2.306 174.108 0.46 174.108 QUADTO
-1.351 174.108 2.304 174.374 QUADTO
-2.304 175.733 lineto
-1.444 175.374 0.757 175.374 QUADTO
--0.29 175.374 -0.29 176.952 QUADTO
--0.29 177.577 lineto
-1.616 177.577 lineto
-1.616 178.843 lineto
--0.29 178.843 lineto
--0.29 185.077 lineto
--2.306 185.077 lineto
-closepath
-3.279 185.077 M
-3.279 177.577 lineto
-5.295 177.577 lineto
-5.295 178.983 lineto
-6.092 177.405 7.701 177.405 QUADTO
-7.889 177.405 8.076 177.437 QUADTO
-8.076 179.249 lineto
-7.639 179.093 7.264 179.093 QUADTO
-6.061 179.093 5.295 180.312 QUADTO
-5.295 185.077 lineto
-3.279 185.077 lineto
-closepath
-13.315 184.265 M
-12.315 185.249 11.159 185.249 QUADTO
-10.175 185.249 9.558 184.648 QUADTO
-8.94 184.046 8.94 183.093 QUADTO
-8.94 181.843 9.933 181.171 QUADTO
-10.925 180.499 12.784 180.499 QUADTO
-13.315 180.499 lineto
-13.315 179.812 lineto
-13.315 178.64 11.987 178.64 QUADTO
-10.8 178.64 9.597 179.312 QUADTO
-9.597 177.921 lineto
-10.972 177.405 12.315 177.405 QUADTO
-15.269 177.405 15.269 179.749 QUADTO
-15.269 183.062 lineto
-15.269 183.952 15.831 183.952 QUADTO
-15.925 183.952 16.097 183.921 QUADTO
-16.144 185.062 lineto
-15.503 185.249 15.003 185.249 QUADTO
-13.769 185.249 13.409 184.265 QUADTO
-13.315 184.265 lineto
-closepath
-13.315 183.187 M
-13.315 181.655 lineto
-12.847 181.655 lineto
-10.878 181.655 10.878 182.89 QUADTO
-10.878 183.312 11.159 183.593 QUADTO
-11.44 183.874 11.862 183.874 QUADTO
-12.581 183.874 13.315 183.187 QUADTO
-closepath
-23.405 184.905 M
-22.155 185.249 21.077 185.249 QUADTO
-19.28 185.249 18.241 184.194 QUADTO
-17.202 183.14 17.202 181.312 QUADTO
-17.202 179.483 18.272 178.444 QUADTO
-19.343 177.405 21.233 177.405 QUADTO
-22.155 177.405 23.343 177.687 QUADTO
-23.343 179.155 lineto
-22.108 178.749 21.358 178.749 QUADTO
-20.452 178.749 19.897 179.452 QUADTO
-19.343 180.155 19.343 181.296 QUADTO
-19.343 182.483 19.944 183.194 QUADTO
-20.546 183.905 21.53 183.905 QUADTO
-22.452 183.905 23.405 183.515 QUADTO
-23.405 184.905 lineto
-closepath
-29.2 185.03 M
-28.466 185.249 28.06 185.249 QUADTO
-25.419 185.249 25.419 182.78 QUADTO
-25.419 178.843 lineto
-24.575 178.843 lineto
-24.575 177.577 lineto
-25.419 177.577 lineto
-25.419 176.312 lineto
-27.45 176.077 lineto
-27.45 177.577 lineto
-29.044 177.577 lineto
-29.044 178.843 lineto
-27.45 178.843 lineto
-27.45 182.515 lineto
-27.45 183.905 28.575 183.905 QUADTO
-28.825 183.905 29.2 183.812 QUADTO
-29.2 185.03 lineto
-closepath
-30.999 185.077 M
-30.999 177.577 lineto
-33.015 177.577 lineto
-33.015 185.077 lineto
-30.999 185.077 lineto
-closepath
-30.999 176.312 M
-30.999 174.624 lineto
-33.015 174.624 lineto
-33.015 176.312 lineto
-30.999 176.312 lineto
-closepath
-38.708 185.249 M
-36.942 185.249 35.911 184.187 QUADTO
-34.88 183.124 34.88 181.327 QUADTO
-34.88 179.499 35.919 178.452 QUADTO
-36.958 177.405 38.755 177.405 QUADTO
-40.552 177.405 41.591 178.452 QUADTO
-42.63 179.499 42.63 181.312 QUADTO
-42.63 183.155 41.583 184.202 QUADTO
-40.536 185.249 38.708 185.249 QUADTO
-closepath
-38.739 183.983 M
-40.474 183.983 40.474 181.312 QUADTO
-40.474 180.093 40.013 179.382 QUADTO
-39.552 178.671 38.755 178.671 QUADTO
-37.958 178.671 37.489 179.382 QUADTO
-37.021 180.093 37.021 181.327 QUADTO
-37.021 182.546 37.481 183.265 QUADTO
-37.942 183.983 38.739 183.983 QUADTO
-closepath
-44.493 185.077 M
-44.493 177.577 lineto
-46.509 177.577 lineto
-46.509 178.983 lineto
-47.509 177.405 49.071 177.405 QUADTO
-50.071 177.405 50.657 178.038 QUADTO
-51.243 178.671 51.243 179.765 QUADTO
-51.243 185.077 lineto
-49.212 185.077 lineto
-49.212 180.265 lineto
-49.212 178.999 48.368 178.999 QUADTO
-47.399 178.999 46.509 180.358 QUADTO
-46.509 185.077 lineto
-44.493 185.077 lineto
-closepath
-61.552 174.202 M
-61.552 175.499 lineto
-59.724 177.343 59.724 180.687 QUADTO
-59.724 184.046 61.552 185.874 QUADTO
-61.552 187.187 lineto
-59.88 186.28 58.88 184.507 QUADTO
-57.88 182.733 57.88 180.687 QUADTO
-57.88 178.64 58.864 176.89 QUADTO
-59.849 175.14 61.552 174.202 QUADTO
-closepath
-63.053 185.327 M
-71.006 174.702 lineto
-72.365 174.702 lineto
-64.412 185.327 lineto
-63.053 185.327 lineto
-closepath
-64.771 180.015 M
-63.678 180.015 63.037 179.335 QUADTO
-62.396 178.655 62.396 177.483 QUADTO
-62.396 176.312 63.037 175.632 QUADTO
-63.678 174.952 64.803 174.952 QUADTO
-65.912 174.952 66.561 175.632 QUADTO
-67.209 176.312 67.209 177.483 QUADTO
-67.209 178.671 66.561 179.343 QUADTO
-65.912 180.015 64.771 180.015 QUADTO
-closepath
-64.787 178.999 M
-65.678 178.999 65.678 177.483 QUADTO
-65.678 175.968 64.803 175.968 QUADTO
-63.912 175.968 63.912 177.483 QUADTO
-63.912 178.999 64.787 178.999 QUADTO
-closepath
-70.6 185.077 M
-69.49 185.077 68.85 184.398 QUADTO
-68.209 183.718 68.209 182.546 QUADTO
-68.209 181.358 68.857 180.687 QUADTO
-69.506 180.015 70.615 180.015 QUADTO
-71.74 180.015 72.381 180.687 QUADTO
-73.021 181.358 73.021 182.546 QUADTO
-73.021 183.733 72.381 184.405 QUADTO
-71.74 185.077 70.6 185.077 QUADTO
-closepath
-70.6 184.062 M
-71.506 184.062 71.506 182.546 QUADTO
-71.506 181.03 70.615 181.03 QUADTO
-69.725 181.03 69.725 182.546 QUADTO
-69.725 184.062 70.6 184.062 QUADTO
-closepath
-73.674 174.202 M
-73.674 175.499 lineto
-75.502 177.343 75.502 180.687 QUADTO
-75.502 184.046 73.674 185.874 QUADTO
-73.674 187.187 lineto
-75.346 186.28 76.346 184.507 QUADTO
-77.346 182.733 77.346 180.687 QUADTO
-77.346 178.64 76.361 176.89 QUADTO
-75.377 175.14 73.674 174.202 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.358 34.247 M
-69.358 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-99.703 34.247 M
-99.703 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-121.232 34.247 M
-121.232 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-137.932 34.247 M
-137.932 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-151.576 34.247 M
-151.576 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-163.113 34.247 M
-163.113 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-173.106 34.247 M
-173.106 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-181.921 34.247 M
-181.921 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-189.806 34.247 M
-189.806 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-189.806 34.247 M
-189.806 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-241.68 34.247 M
-241.68 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-272.024 34.247 M
-272.024 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-293.554 34.247 M
-293.554 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-310.253 34.247 M
-310.253 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-323.898 34.247 M
-323.898 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-335.434 34.247 M
-335.434 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-345.428 34.247 M
-345.428 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-354.242 34.247 M
-354.242 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-362.127 34.247 M
-362.127 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-362.127 34.247 M
-362.127 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 325.931 M
-388 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 295.424 M
-388 295.424 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 264.916 M
-388 264.916 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 234.408 M
-388 234.408 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 203.9 M
-388 203.9 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 173.392 M
-388 173.392 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 142.885 M
-388 142.885 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 112.377 M
-388 112.377 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 81.869 M
-388 81.869 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 51.361 M
-388 51.361 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.358 197.167 M
-121.232 191.584 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.232 191.584 M
-173.106 190.672 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.106 190.672 M
-224.98 198.699 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.98 198.699 M
-276.854 194.397 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.854 194.397 M
-328.728 191.529 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.728 191.529 M
-362.127 200.99 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.358 76.695 M
-121.232 66.697 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.232 66.697 M
-173.106 74.581 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.106 74.581 M
-224.98 63.348 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.98 63.348 M
-276.854 51.88 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.854 51.88 M
-328.728 61.795 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.728 61.795 M
-362.127 48.136 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.358 95.613 M
-121.232 88.999 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.232 88.999 M
-173.106 66.807 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.106 66.807 M
-224.98 66.426 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.98 66.426 M
-276.854 82.134 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.854 82.134 M
-328.728 63.976 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.728 63.976 M
-362.127 93.203 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-69.358 194.167 M
-72.358 200.167 lineto
-66.358 200.167 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.358 194.167 M
-72.358 200.167 lineto
-66.358 200.167 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-121.232 188.584 M
-124.232 194.584 lineto
-118.232 194.584 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.232 188.584 M
-124.232 194.584 lineto
-118.232 194.584 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-173.106 187.672 M
-176.106 193.672 lineto
-170.106 193.672 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.106 187.672 M
-176.106 193.672 lineto
-170.106 193.672 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-224.98 195.699 M
-227.98 201.699 lineto
-221.98 201.699 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-224.98 195.699 M
-227.98 201.699 lineto
-221.98 201.699 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-276.854 191.397 M
-279.854 197.397 lineto
-273.854 197.397 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-276.854 191.397 M
-279.854 197.397 lineto
-273.854 197.397 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-328.728 188.529 M
-331.728 194.529 lineto
-325.728 194.529 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-328.728 188.529 M
-331.728 194.529 lineto
-325.728 194.529 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-362.127 197.99 M
-365.127 203.99 lineto
-359.127 203.99 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.127 197.99 M
-365.127 203.99 lineto
-359.127 203.99 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-72.358 76.695 M
-72.358 78.352 71.015 79.695 69.358 79.695 curveto
-67.701 79.695 66.358 78.352 66.358 76.695 curveto
-66.358 75.038 67.701 73.695 69.358 73.695 curveto
-71.015 73.695 72.358 75.038 72.358 76.695 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.358 76.695 M
-72.358 78.352 71.015 79.695 69.358 79.695 curveto
-67.701 79.695 66.358 78.352 66.358 76.695 curveto
-66.358 75.038 67.701 73.695 69.358 73.695 curveto
-71.015 73.695 72.358 75.038 72.358 76.695 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-124.232 66.697 M
-124.232 68.354 122.889 69.697 121.232 69.697 curveto
-119.575 69.697 118.232 68.354 118.232 66.697 curveto
-118.232 65.041 119.575 63.697 121.232 63.697 curveto
-122.889 63.697 124.232 65.041 124.232 66.697 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.232 66.697 M
-124.232 68.354 122.889 69.697 121.232 69.697 curveto
-119.575 69.697 118.232 68.354 118.232 66.697 curveto
-118.232 65.041 119.575 63.697 121.232 63.697 curveto
-122.889 63.697 124.232 65.041 124.232 66.697 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-176.106 74.581 M
-176.106 76.237 174.763 77.581 173.106 77.581 curveto
-171.449 77.581 170.106 76.237 170.106 74.581 curveto
-170.106 72.924 171.449 71.581 173.106 71.581 curveto
-174.763 71.581 176.106 72.924 176.106 74.581 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-176.106 74.581 M
-176.106 76.237 174.763 77.581 173.106 77.581 curveto
-171.449 77.581 170.106 76.237 170.106 74.581 curveto
-170.106 72.924 171.449 71.581 173.106 71.581 curveto
-174.763 71.581 176.106 72.924 176.106 74.581 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-227.98 63.348 M
-227.98 65.004 226.637 66.348 224.98 66.348 curveto
-223.323 66.348 221.98 65.004 221.98 63.348 curveto
-221.98 61.691 223.323 60.348 224.98 60.348 curveto
-226.637 60.348 227.98 61.691 227.98 63.348 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.98 63.348 M
-227.98 65.004 226.637 66.348 224.98 66.348 curveto
-223.323 66.348 221.98 65.004 221.98 63.348 curveto
-221.98 61.691 223.323 60.348 224.98 60.348 curveto
-226.637 60.348 227.98 61.691 227.98 63.348 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-279.854 51.88 M
-279.854 53.537 278.511 54.88 276.854 54.88 curveto
-275.197 54.88 273.854 53.537 273.854 51.88 curveto
-273.854 50.223 275.197 48.88 276.854 48.88 curveto
-278.511 48.88 279.854 50.223 279.854 51.88 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-279.854 51.88 M
-279.854 53.537 278.511 54.88 276.854 54.88 curveto
-275.197 54.88 273.854 53.537 273.854 51.88 curveto
-273.854 50.223 275.197 48.88 276.854 48.88 curveto
-278.511 48.88 279.854 50.223 279.854 51.88 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-331.728 61.795 M
-331.728 63.452 330.385 64.795 328.728 64.795 curveto
-327.071 64.795 325.728 63.452 325.728 61.795 curveto
-325.728 60.138 327.071 58.795 328.728 58.795 curveto
-330.385 58.795 331.728 60.138 331.728 61.795 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-331.728 61.795 M
-331.728 63.452 330.385 64.795 328.728 64.795 curveto
-327.071 64.795 325.728 63.452 325.728 61.795 curveto
-325.728 60.138 327.071 58.795 328.728 58.795 curveto
-330.385 58.795 331.728 60.138 331.728 61.795 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-365.127 48.136 M
-365.127 49.793 363.784 51.136 362.127 51.136 curveto
-360.47 51.136 359.127 49.793 359.127 48.136 curveto
-359.127 46.48 360.47 45.136 362.127 45.136 curveto
-363.784 45.136 365.127 46.48 365.127 48.136 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-365.127 48.136 M
-365.127 49.793 363.784 51.136 362.127 51.136 curveto
-360.47 51.136 359.127 49.793 359.127 48.136 curveto
-359.127 46.48 360.47 45.136 362.127 45.136 curveto
-363.784 45.136 365.127 46.48 365.127 48.136 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-66.358 92.613 M
-72.358 92.613 lineto
-72.358 98.613 lineto
-66.358 98.613 lineto
-66.358 92.613 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.358 92.613 M
-72.358 92.613 lineto
-72.358 98.613 lineto
-66.358 98.613 lineto
-66.358 92.613 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-118.232 85.999 M
-124.232 85.999 lineto
-124.232 91.999 lineto
-118.232 91.999 lineto
-118.232 85.999 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-118.232 85.999 M
-124.232 85.999 lineto
-124.232 91.999 lineto
-118.232 91.999 lineto
-118.232 85.999 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-170.106 63.807 M
-176.106 63.807 lineto
-176.106 69.807 lineto
-170.106 69.807 lineto
-170.106 63.807 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.106 63.807 M
-176.106 63.807 lineto
-176.106 69.807 lineto
-170.106 69.807 lineto
-170.106 63.807 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-221.98 63.426 M
-227.98 63.426 lineto
-227.98 69.426 lineto
-221.98 69.426 lineto
-221.98 63.426 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.98 63.426 M
-227.98 63.426 lineto
-227.98 69.426 lineto
-221.98 69.426 lineto
-221.98 63.426 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-273.854 79.134 M
-279.854 79.134 lineto
-279.854 85.134 lineto
-273.854 85.134 lineto
-273.854 79.134 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-273.854 79.134 M
-279.854 79.134 lineto
-279.854 85.134 lineto
-273.854 85.134 lineto
-273.854 79.134 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-325.728 60.976 M
-331.728 60.976 lineto
-331.728 66.976 lineto
-325.728 66.976 lineto
-325.728 60.976 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-325.728 60.976 M
-331.728 60.976 lineto
-331.728 66.976 lineto
-325.728 66.976 lineto
-325.728 60.976 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-359.127 90.203 M
-365.127 90.203 lineto
-365.127 96.203 lineto
-359.127 96.203 lineto
-359.127 90.203 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-359.127 90.203 M
-365.127 90.203 lineto
-365.127 96.203 lineto
-359.127 96.203 lineto
-359.127 90.203 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-0.5 setlinewidth
-newpath
-58.148 34.247 M
-388 34.247 lineto
-388 325.931 lineto
-58.148 325.931 lineto
-58.148 34.247 lineto
-closepath
-stroke
-grestore
-%%Trailer
-%%Pages: 1
-%%EOF
diff --git a/sim/gobs/wiki/dc03kpv01.cfg b/sim/gobs/wiki/dc03kpv01.cfg
deleted file mode 100644
index 50636bd..0000000
--- a/sim/gobs/wiki/dc03kpv01.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv01.cfg system_size_20-1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/wiki/dc03kpv01.eps b/sim/gobs/wiki/dc03kpv01.eps
deleted file mode 100644
index 8e906a2..0000000
--- a/sim/gobs/wiki/dc03kpv01.eps
+++ /dev/null
@@ -1,4651 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (Apache XML Graphics Commons: EPS Generator for Java2D)
-%%CreationDate: 2009-10-05T10:43:17
-%%Pages: (atend)
-%%BoundingBox: 0 0 400 400
-%%LanguageLevel: 3
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset (Apache XML Graphics Std ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2001-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (Basic set of procedures used by the XML Graphics project \(Batik and FOP\))
-/bd{bind def}bind def
-/ld{load def}bd
-/M/moveto ld
-/RM/rmoveto ld
-/t/show ld
-/A/ashow ld
-/cp/closepath ld
-/re {4 2 roll M
-1 index 0 rlineto
-0 exch rlineto
-neg 0 rlineto
-cp } bd
-/_ctm matrix def
-/_tm matrix def
-/BT { _ctm currentmatrix pop matrix _tm copy pop 0 0 moveto } bd
-/ET { _ctm setmatrix } bd
-/iTm { _ctm setmatrix _tm concat } bd
-/Tm { _tm astore pop iTm 0 0 moveto } bd
-/ux 0.0 def
-/uy 0.0 def
-/F {
- /Tp exch def
- /Tf exch def
- Tf findfont Tp scalefont setfont
- /cf Tf def /cs Tp def /cw ( ) stringwidth pop def
-} bd
-/ULS {currentpoint /uy exch def /ux exch def} bd
-/ULE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add moveto Tcx uy To add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/OLE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs add moveto Tcx uy To add cs add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/SOE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs 10 mul 26 idiv add moveto Tcx uy To add cs 10 mul 26 idiv add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/QUADTO {
-/Y22 exch store
-/X22 exch store
-/Y21 exch store
-/X21 exch store
-currentpoint
-/Y21 load 2 mul add 3 div exch
-/X21 load 2 mul add 3 div exch
-/X21 load 2 mul /X22 load add 3 div
-/Y21 load 2 mul /Y22 load add 3 div
-/X22 load /Y22 load curveto
-} bd
-/SSPD {
-dup length /d exch dict def
-{
-/v exch def
-/k exch def
-currentpagedevice k known {
-/cpdv currentpagedevice k get def
-v cpdv ne {
-/upd false def
-/nullv v type /nulltype eq def
-/nullcpdv cpdv type /nulltype eq def
-nullv nullcpdv or
-{
-/upd true def
-} {
-/sametype v type cpdv type eq def
-sametype {
-v type /arraytype eq {
-/vlen v length def
-/cpdvlen cpdv length def
-vlen cpdvlen eq {
-0 1 vlen 1 sub {
-/i exch def
-/obj v i get def
-/cpdobj cpdv i get def
-obj cpdobj ne {
-/upd true def
-exit
-} if
-} for
-} {
-/upd true def
-} ifelse
-} {
-v type /dicttype eq {
-v {
-/dv exch def
-/dk exch def
-/cpddv cpdv dk get def
-dv cpddv ne {
-/upd true def
-exit
-} if
-} forall
-} {
-/upd true def
-} ifelse
-} ifelse
-} if
-} ifelse
-upd true eq {
-d k v put
-} if
-} if
-} if
-} forall
-d length 0 gt {
-d setpagedevice
-} if
-} bd
-%%EndResource
-%%BeginResource: procset (Apache XML Graphics EPS ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2002-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (EPS procedures used by the Apache XML Graphics project \(Batik and FOP\))
-/BeginEPSF { %def
-/b4_Inc_state save def % Save state for cleanup
-/dict_count countdictstack def % Count objects on dict stack
-/op_count count 1 sub def % Count objects on operand stack
-userdict begin % Push userdict on dict stack
-/showpage { } def % Redefine showpage, { } = null proc
-0 setgray 0 setlinecap % Prepare graphics state
-1 setlinewidth 0 setlinejoin
-10 setmiterlimit [ ] 0 setdash newpath
-/languagelevel where % If level not equal to 1 then
-{pop languagelevel % set strokeadjust and
-1 ne % overprint to their defaults.
-{false setstrokeadjust false setoverprint
-} if
-} if
-} bd
-/EndEPSF { %def
-count op_count sub {pop} repeat % Clean up stacks
-countdictstack dict_count sub {end} repeat
-b4_Inc_state restore
-} bd
-%%EndResource
-%%EndProlog
-%%Page: 1 1
-%%PageBoundingBox: 0 0 400 400
-%%BeginPageSetup
-[1 0 0 -1 0 400] concat
-%%EndPageSetup
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-81.354 20.249 M
-81.354 5.796 lineto
-85.338 5.796 lineto
-88.807 15.968 lineto
-92.4 5.796 lineto
-95.885 5.796 lineto
-95.885 20.249 lineto
-93.119 20.249 lineto
-93.119 9.343 lineto
-89.588 19.281 lineto
-87.166 19.281 lineto
-83.713 9.187 lineto
-83.713 20.249 lineto
-81.354 20.249 lineto
-closepath
-104.758 19.093 M
-103.305 20.499 101.664 20.499 QUADTO
-100.258 20.499 99.375 19.64 QUADTO
-98.492 18.781 98.492 17.406 QUADTO
-98.492 15.624 99.914 14.663 QUADTO
-101.336 13.703 103.992 13.703 QUADTO
-104.758 13.703 lineto
-104.758 12.734 lineto
-104.758 11.062 102.852 11.062 QUADTO
-101.164 11.062 99.43 12.015 QUADTO
-99.43 10.031 lineto
-101.398 9.281 103.32 9.281 QUADTO
-107.523 9.281 107.523 12.624 QUADTO
-107.523 17.374 lineto
-107.523 18.64 108.336 18.64 QUADTO
-108.492 18.64 108.727 18.593 QUADTO
-108.789 20.218 lineto
-107.867 20.499 107.164 20.499 QUADTO
-105.398 20.499 104.883 19.093 QUADTO
-104.758 19.093 lineto
-closepath
-104.758 17.546 M
-104.758 15.359 lineto
-104.07 15.359 lineto
-101.273 15.359 101.273 17.124 QUADTO
-101.273 17.718 101.68 18.124 QUADTO
-102.086 18.531 102.68 18.531 QUADTO
-103.695 18.531 104.758 17.546 QUADTO
-closepath
-110.125 20.249 M
-113.797 14.874 lineto
-110.281 9.531 lineto
-113.562 9.531 lineto
-115.875 12.921 lineto
-118.078 9.531 lineto
-120.422 9.531 lineto
-117.062 14.796 lineto
-120.672 20.249 lineto
-117.375 20.249 lineto
-114.969 16.703 lineto
-112.516 20.249 lineto
-110.125 20.249 lineto
-closepath
-123.082 20.249 M
-123.082 9.531 lineto
-125.973 9.531 lineto
-125.973 20.249 lineto
-123.082 20.249 lineto
-closepath
-123.082 7.718 M
-123.082 5.312 lineto
-125.973 5.312 lineto
-125.973 7.718 lineto
-123.082 7.718 lineto
-closepath
-129.586 20.249 M
-129.586 9.531 lineto
-132.352 9.531 lineto
-132.352 11.546 lineto
-133.617 9.281 135.961 9.281 QUADTO
-137.18 9.281 137.961 9.874 QUADTO
-138.742 10.468 138.914 11.546 QUADTO
-140.414 9.281 142.555 9.281 QUADTO
-145.492 9.281 145.492 12.531 QUADTO
-145.492 20.249 lineto
-142.711 20.249 lineto
-142.711 13.468 lineto
-142.711 11.562 141.445 11.562 QUADTO
-140.148 11.562 138.914 13.437 QUADTO
-138.914 20.249 lineto
-136.148 20.249 lineto
-136.148 13.468 lineto
-136.148 11.562 134.867 11.562 QUADTO
-133.586 11.562 132.352 13.437 QUADTO
-132.352 20.249 lineto
-129.586 20.249 lineto
-closepath
-155.605 20.249 M
-155.605 18.234 lineto
-154.199 20.499 151.949 20.499 QUADTO
-150.512 20.499 149.684 19.585 QUADTO
-148.855 18.671 148.855 17.109 QUADTO
-148.855 9.531 lineto
-151.746 9.531 lineto
-151.746 16.39 lineto
-151.746 18.218 152.965 18.218 QUADTO
-154.34 18.218 155.605 16.281 QUADTO
-155.605 9.531 lineto
-158.496 9.531 lineto
-158.496 20.249 lineto
-155.605 20.249 lineto
-closepath
-162.115 20.249 M
-162.115 9.531 lineto
-164.881 9.531 lineto
-164.881 11.546 lineto
-166.146 9.281 168.49 9.281 QUADTO
-169.709 9.281 170.49 9.874 QUADTO
-171.271 10.468 171.443 11.546 QUADTO
-172.943 9.281 175.084 9.281 QUADTO
-178.021 9.281 178.021 12.531 QUADTO
-178.021 20.249 lineto
-175.24 20.249 lineto
-175.24 13.468 lineto
-175.24 11.562 173.975 11.562 QUADTO
-172.678 11.562 171.443 13.437 QUADTO
-171.443 20.249 lineto
-168.678 20.249 lineto
-168.678 13.468 lineto
-168.678 11.562 167.396 11.562 QUADTO
-166.115 11.562 164.881 13.437 QUADTO
-164.881 20.249 lineto
-162.115 20.249 lineto
-closepath
-188.102 20.249 M
-188.102 5.796 lineto
-193.508 5.796 lineto
-197.914 5.796 197.914 9.374 QUADTO
-197.914 10.718 197.164 11.82 QUADTO
-196.414 12.921 195.102 13.499 QUADTO
-199.836 20.249 lineto
-196.18 20.249 lineto
-192.586 14.343 lineto
-190.93 14.343 lineto
-190.93 20.249 lineto
-188.102 20.249 lineto
-closepath
-190.93 12.359 M
-191.617 12.359 lineto
-194.898 12.359 194.898 9.718 QUADTO
-194.898 7.781 191.977 7.781 QUADTO
-190.93 7.781 lineto
-190.93 12.359 lineto
-closepath
-210.619 19.89 M
-208.572 20.499 206.713 20.499 QUADTO
-204.041 20.499 202.486 18.976 QUADTO
-200.932 17.453 200.932 14.812 QUADTO
-200.932 12.312 202.354 10.796 QUADTO
-203.775 9.281 206.104 9.281 QUADTO
-208.463 9.281 209.541 10.765 QUADTO
-210.619 12.249 210.619 15.468 QUADTO
-203.979 15.468 lineto
-204.275 18.531 207.338 18.531 QUADTO
-208.807 18.531 210.619 17.859 QUADTO
-210.619 19.89 lineto
-closepath
-203.932 13.828 M
-207.791 13.828 lineto
-207.791 11.093 206.01 11.093 QUADTO
-204.213 11.093 203.932 13.828 QUADTO
-closepath
-213.619 20.249 M
-213.619 4.828 lineto
-216.51 4.828 lineto
-216.51 11.546 lineto
-217.619 9.281 220.01 9.281 QUADTO
-221.947 9.281 223.057 10.695 QUADTO
-224.166 12.109 224.166 14.593 QUADTO
-224.166 17.281 222.916 18.89 QUADTO
-221.666 20.499 219.572 20.499 QUADTO
-217.775 20.499 216.51 19.171 QUADTO
-215.963 20.249 lineto
-213.619 20.249 lineto
-closepath
-216.51 17.453 M
-217.557 18.624 218.744 18.624 QUADTO
-219.822 18.624 220.455 17.593 QUADTO
-221.088 16.562 221.088 14.843 QUADTO
-221.088 11.546 218.963 11.546 QUADTO
-217.682 11.546 216.51 13.203 QUADTO
-216.51 17.453 lineto
-closepath
-233.496 20.249 M
-233.496 18.234 lineto
-232.09 20.499 229.84 20.499 QUADTO
-228.402 20.499 227.574 19.585 QUADTO
-226.746 18.671 226.746 17.109 QUADTO
-226.746 9.531 lineto
-229.637 9.531 lineto
-229.637 16.39 lineto
-229.637 18.218 230.855 18.218 QUADTO
-232.23 18.218 233.496 16.281 QUADTO
-233.496 9.531 lineto
-236.387 9.531 lineto
-236.387 20.249 lineto
-233.496 20.249 lineto
-closepath
-240.006 20.249 M
-240.006 9.531 lineto
-242.896 9.531 lineto
-242.896 20.249 lineto
-240.006 20.249 lineto
-closepath
-240.006 7.718 M
-240.006 5.312 lineto
-242.896 5.312 lineto
-242.896 7.718 lineto
-240.006 7.718 lineto
-closepath
-246.51 20.249 M
-246.51 4.828 lineto
-249.4 4.828 lineto
-249.4 20.249 lineto
-246.51 20.249 lineto
-closepath
-259.764 20.249 M
-259.764 18.234 lineto
-258.639 20.499 256.248 20.499 QUADTO
-254.311 20.499 253.209 19.078 QUADTO
-252.107 17.656 252.107 15.187 QUADTO
-252.107 12.484 253.357 10.882 QUADTO
-254.607 9.281 256.701 9.281 QUADTO
-258.373 9.281 259.764 10.609 QUADTO
-259.764 4.828 lineto
-262.654 4.828 lineto
-262.654 20.249 lineto
-259.764 20.249 lineto
-closepath
-259.764 12.328 M
-258.717 11.156 257.514 11.156 QUADTO
-256.451 11.156 255.818 12.179 QUADTO
-255.186 13.203 255.186 14.937 QUADTO
-255.186 18.234 257.295 18.234 QUADTO
-258.592 18.234 259.764 16.578 QUADTO
-259.764 12.328 lineto
-closepath
-272.857 20.249 M
-272.857 5.796 lineto
-275.857 5.796 lineto
-275.857 18.203 lineto
-282.373 18.203 lineto
-282.373 20.249 lineto
-272.857 20.249 lineto
-closepath
-288.988 20.499 M
-286.473 20.499 284.996 18.976 QUADTO
-283.52 17.453 283.52 14.89 QUADTO
-283.52 12.296 285.004 10.788 QUADTO
-286.488 9.281 289.051 9.281 QUADTO
-291.629 9.281 293.113 10.788 QUADTO
-294.598 12.296 294.598 14.874 QUADTO
-294.598 17.499 293.105 18.999 QUADTO
-291.613 20.499 288.988 20.499 QUADTO
-closepath
-289.035 18.687 M
-291.52 18.687 291.52 14.874 QUADTO
-291.52 13.124 290.863 12.109 QUADTO
-290.207 11.093 289.051 11.093 QUADTO
-287.91 11.093 287.254 12.109 QUADTO
-286.598 13.124 286.598 14.89 QUADTO
-286.598 16.64 287.246 17.663 QUADTO
-287.895 18.687 289.035 18.687 QUADTO
-closepath
-302.512 19.093 M
-301.059 20.499 299.418 20.499 QUADTO
-298.012 20.499 297.129 19.64 QUADTO
-296.246 18.781 296.246 17.406 QUADTO
-296.246 15.624 297.668 14.663 QUADTO
-299.09 13.703 301.746 13.703 QUADTO
-302.512 13.703 lineto
-302.512 12.734 lineto
-302.512 11.062 300.605 11.062 QUADTO
-298.918 11.062 297.184 12.015 QUADTO
-297.184 10.031 lineto
-299.152 9.281 301.074 9.281 QUADTO
-305.277 9.281 305.277 12.624 QUADTO
-305.277 17.374 lineto
-305.277 18.64 306.09 18.64 QUADTO
-306.246 18.64 306.48 18.593 QUADTO
-306.543 20.218 lineto
-305.621 20.499 304.918 20.499 QUADTO
-303.152 20.499 302.637 19.093 QUADTO
-302.512 19.093 lineto
-closepath
-302.512 17.546 M
-302.512 15.359 lineto
-301.824 15.359 lineto
-299.027 15.359 299.027 17.124 QUADTO
-299.027 17.718 299.434 18.124 QUADTO
-299.84 18.531 300.434 18.531 QUADTO
-301.449 18.531 302.512 17.546 QUADTO
-closepath
-315.77 20.249 M
-315.77 18.234 lineto
-314.645 20.499 312.254 20.499 QUADTO
-310.316 20.499 309.215 19.078 QUADTO
-308.113 17.656 308.113 15.187 QUADTO
-308.113 12.484 309.363 10.882 QUADTO
-310.613 9.281 312.707 9.281 QUADTO
-314.379 9.281 315.77 10.609 QUADTO
-315.77 4.828 lineto
-318.66 4.828 lineto
-318.66 20.249 lineto
-315.77 20.249 lineto
-closepath
-315.77 12.328 M
-314.723 11.156 313.52 11.156 QUADTO
-312.457 11.156 311.824 12.179 QUADTO
-311.191 13.203 311.191 14.937 QUADTO
-311.191 18.234 313.301 18.234 QUADTO
-314.598 18.234 315.77 16.578 QUADTO
-315.77 12.328 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-79.864 376.452 M
-320.136 376.452 lineto
-320.136 399 lineto
-79.864 399 lineto
-79.864 376.452 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 376.952 M
-319.636 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 398.5 M
-319.636 398.5 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 398.5 M
-80.364 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.636 398.5 M
-319.636 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.864 387.726 M
-97.864 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-87.864 384.726 M
-93.864 384.726 lineto
-93.864 390.726 lineto
-87.864 390.726 lineto
-87.864 384.726 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.864 384.726 M
-93.864 384.726 lineto
-93.864 390.726 lineto
-87.864 390.726 lineto
-87.864 384.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-102.989 392.002 M
-102.989 383.33 lineto
-105.349 383.33 lineto
-106.911 383.33 107.599 383.861 QUADTO
-108.286 384.392 108.286 385.595 QUADTO
-108.286 386.986 107.349 387.767 QUADTO
-106.411 388.549 104.755 388.549 QUADTO
-104.208 388.549 lineto
-104.208 392.002 lineto
-102.989 392.002 lineto
-closepath
-104.208 387.627 M
-104.708 387.627 lineto
-105.802 387.627 106.396 387.119 QUADTO
-106.989 386.611 106.989 385.689 QUADTO
-106.989 384.924 106.521 384.588 QUADTO
-106.052 384.252 104.958 384.252 QUADTO
-104.208 384.252 lineto
-104.208 387.627 lineto
-closepath
-114.013 388.689 M
-112.528 384.939 lineto
-111.06 388.689 lineto
-114.013 388.689 lineto
-closepath
-115.31 392.002 M
-114.372 389.595 lineto
-110.7 389.595 lineto
-109.747 392.002 lineto
-108.591 392.002 lineto
-112.044 383.33 lineto
-113.263 383.33 lineto
-116.638 392.002 lineto
-115.31 392.002 lineto
-closepath
-119.589 392.22 M
-118.729 392.22 117.37 391.83 QUADTO
-117.37 390.611 lineto
-118.823 391.299 119.776 391.299 QUADTO
-120.495 391.299 120.94 390.916 QUADTO
-121.386 390.533 121.386 389.908 QUADTO
-121.386 389.408 121.097 389.049 QUADTO
-120.808 388.689 120.026 388.252 QUADTO
-119.433 387.908 lineto
-118.323 387.267 117.87 386.713 QUADTO
-117.417 386.158 117.417 385.408 QUADTO
-117.417 384.408 118.144 383.759 QUADTO
-118.87 383.111 119.995 383.111 QUADTO
-120.995 383.111 122.104 383.439 QUADTO
-122.104 384.564 lineto
-120.729 384.033 120.058 384.033 QUADTO
-119.417 384.033 119.003 384.369 QUADTO
-118.589 384.705 118.589 385.22 QUADTO
-118.589 385.658 118.894 385.994 QUADTO
-119.198 386.33 120.011 386.799 QUADTO
-120.62 387.142 lineto
-121.745 387.783 122.19 388.353 QUADTO
-122.636 388.924 122.636 389.72 QUADTO
-122.636 390.845 121.808 391.533 QUADTO
-120.979 392.22 119.589 392.22 QUADTO
-closepath
-126.427 392.002 M
-126.427 384.252 lineto
-123.349 384.252 lineto
-123.349 383.33 lineto
-130.724 383.33 lineto
-130.724 384.252 lineto
-127.646 384.252 lineto
-127.646 392.002 lineto
-126.427 392.002 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-136.827 387.726 M
-150.827 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-146.827 387.726 M
-146.827 389.383 145.484 390.726 143.827 390.726 curveto
-142.17 390.726 140.827 389.383 140.827 387.726 curveto
-140.827 386.069 142.17 384.726 143.827 384.726 curveto
-145.484 384.726 146.827 386.069 146.827 387.726 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.827 387.726 M
-146.827 389.383 145.484 390.726 143.827 390.726 curveto
-142.17 390.726 140.827 389.383 140.827 387.726 curveto
-140.827 386.069 142.17 384.726 143.827 384.726 curveto
-145.484 384.726 146.827 386.069 146.827 387.726 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-155.952 392.002 M
-155.952 383.33 lineto
-157.108 383.33 lineto
-157.108 387.595 lineto
-160.608 383.33 lineto
-161.843 383.33 lineto
-158.452 387.47 lineto
-162.452 392.002 lineto
-160.89 392.002 lineto
-157.108 387.611 lineto
-157.108 392.002 lineto
-155.952 392.002 lineto
-closepath
-167.099 391.189 M
-166.067 392.142 165.099 392.142 QUADTO
-164.302 392.142 163.786 391.65 QUADTO
-163.271 391.158 163.271 390.408 QUADTO
-163.271 389.361 164.146 388.799 QUADTO
-165.021 388.236 166.646 388.236 QUADTO
-166.927 388.236 lineto
-166.927 387.47 lineto
-166.927 386.361 165.786 386.361 QUADTO
-164.88 386.361 163.817 386.924 QUADTO
-163.817 385.97 lineto
-164.989 385.502 166.005 385.502 QUADTO
-167.067 385.502 167.575 385.978 QUADTO
-168.083 386.455 168.083 387.47 QUADTO
-168.083 390.361 lineto
-168.083 391.345 168.692 391.345 QUADTO
-168.771 391.345 168.911 391.314 QUADTO
-168.989 391.955 lineto
-168.599 392.142 168.13 392.142 QUADTO
-167.317 392.142 167.099 391.189 QUADTO
-closepath
-166.927 390.564 M
-166.927 388.924 lineto
-166.536 388.908 lineto
-165.599 388.908 165.013 389.267 QUADTO
-164.427 389.627 164.427 390.22 QUADTO
-164.427 390.627 164.716 390.916 QUADTO
-165.005 391.205 165.427 391.205 QUADTO
-166.146 391.205 166.927 390.564 QUADTO
-closepath
-174.522 392.002 M
-174.522 390.799 lineto
-173.819 392.142 172.413 392.142 QUADTO
-171.257 392.142 170.601 391.306 QUADTO
-169.944 390.47 169.944 389.017 QUADTO
-169.944 387.424 170.687 386.463 QUADTO
-171.429 385.502 172.647 385.502 QUADTO
-173.788 385.502 174.522 386.361 QUADTO
-174.522 382.752 lineto
-175.694 382.752 lineto
-175.694 392.002 lineto
-174.522 392.002 lineto
-closepath
-174.522 387.158 M
-173.632 386.361 172.835 386.361 QUADTO
-171.163 386.361 171.163 388.908 QUADTO
-171.163 391.127 172.647 391.127 QUADTO
-173.601 391.127 174.522 390.08 QUADTO
-174.522 387.158 lineto
-closepath
-182.653 391.799 M
-181.497 392.142 180.669 392.142 QUADTO
-179.263 392.142 178.38 391.213 QUADTO
-177.497 390.283 177.497 388.783 QUADTO
-177.497 387.345 178.278 386.416 QUADTO
-179.06 385.486 180.278 385.486 QUADTO
-181.435 385.486 182.06 386.306 QUADTO
-182.685 387.127 182.685 388.642 QUADTO
-182.685 389.002 lineto
-178.669 389.002 lineto
-178.919 391.267 180.888 391.267 QUADTO
-181.606 391.267 182.653 390.877 QUADTO
-182.653 391.799 lineto
-closepath
-178.716 388.127 M
-181.528 388.127 lineto
-181.528 386.361 180.2 386.361 QUADTO
-178.872 386.361 178.716 388.127 QUADTO
-closepath
-184.683 392.002 M
-184.683 385.642 lineto
-185.839 385.642 lineto
-185.839 386.83 lineto
-186.683 385.502 188.011 385.502 QUADTO
-189.276 385.502 189.745 386.83 QUADTO
-190.558 385.486 191.87 385.486 QUADTO
-192.714 385.486 193.183 385.986 QUADTO
-193.651 386.486 193.651 387.377 QUADTO
-193.651 392.002 lineto
-192.479 392.002 lineto
-192.479 387.549 lineto
-192.479 386.47 191.62 386.47 QUADTO
-190.729 386.47 189.745 387.736 QUADTO
-189.745 392.002 lineto
-188.589 392.002 lineto
-188.589 387.549 lineto
-188.589 386.455 187.698 386.455 QUADTO
-186.839 386.455 185.839 387.736 QUADTO
-185.839 392.002 lineto
-184.683 392.002 lineto
-closepath
-195.886 392.002 M
-195.886 382.752 lineto
-197.042 382.752 lineto
-197.042 392.002 lineto
-195.886 392.002 lineto
-closepath
-199.354 392.002 M
-199.354 385.642 lineto
-200.511 385.642 lineto
-200.511 392.002 lineto
-199.354 392.002 lineto
-closepath
-199.354 384.486 M
-199.354 383.33 lineto
-200.511 383.33 lineto
-200.511 384.486 lineto
-199.354 384.486 lineto
-closepath
-206.104 391.189 M
-205.073 392.142 204.104 392.142 QUADTO
-203.308 392.142 202.792 391.65 QUADTO
-202.276 391.158 202.276 390.408 QUADTO
-202.276 389.361 203.151 388.799 QUADTO
-204.026 388.236 205.651 388.236 QUADTO
-205.933 388.236 lineto
-205.933 387.47 lineto
-205.933 386.361 204.792 386.361 QUADTO
-203.886 386.361 202.823 386.924 QUADTO
-202.823 385.97 lineto
-203.995 385.502 205.011 385.502 QUADTO
-206.073 385.502 206.581 385.978 QUADTO
-207.089 386.455 207.089 387.47 QUADTO
-207.089 390.361 lineto
-207.089 391.345 207.698 391.345 QUADTO
-207.776 391.345 207.917 391.314 QUADTO
-207.995 391.955 lineto
-207.604 392.142 207.136 392.142 QUADTO
-206.323 392.142 206.104 391.189 QUADTO
-closepath
-205.933 390.564 M
-205.933 388.924 lineto
-205.542 388.908 lineto
-204.604 388.908 204.019 389.267 QUADTO
-203.433 389.627 203.433 390.22 QUADTO
-203.433 390.627 203.722 390.916 QUADTO
-204.011 391.205 204.433 391.205 QUADTO
-205.151 391.205 205.933 390.564 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-214.294 387.726 M
-228.294 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-221.294 384.726 M
-224.294 390.726 lineto
-218.294 390.726 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.294 384.726 M
-224.294 390.726 lineto
-218.294 390.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-235.778 392.002 M
-232.513 383.33 lineto
-233.731 383.33 lineto
-236.419 390.424 lineto
-239.013 383.33 lineto
-240.091 383.33 lineto
-236.935 392.002 lineto
-235.778 392.002 lineto
-closepath
-245.952 391.799 M
-244.796 392.142 243.968 392.142 QUADTO
-242.562 392.142 241.679 391.213 QUADTO
-240.796 390.283 240.796 388.783 QUADTO
-240.796 387.345 241.577 386.416 QUADTO
-242.358 385.486 243.577 385.486 QUADTO
-244.733 385.486 245.358 386.306 QUADTO
-245.983 387.127 245.983 388.642 QUADTO
-245.983 389.002 lineto
-241.968 389.002 lineto
-242.218 391.267 244.187 391.267 QUADTO
-244.905 391.267 245.952 390.877 QUADTO
-245.952 391.799 lineto
-closepath
-242.015 388.127 M
-244.827 388.127 lineto
-244.827 386.361 243.499 386.361 QUADTO
-242.171 386.361 242.015 388.127 QUADTO
-closepath
-247.981 392.002 M
-247.981 385.642 lineto
-249.138 385.642 lineto
-249.138 386.83 lineto
-249.825 385.502 251.122 385.502 QUADTO
-251.31 385.502 251.497 385.533 QUADTO
-251.497 386.611 lineto
-251.2 386.502 250.966 386.502 QUADTO
-249.872 386.502 249.138 387.799 QUADTO
-249.138 392.002 lineto
-247.981 392.002 lineto
-closepath
-254.798 392.142 M
-253.923 392.142 253.431 391.642 QUADTO
-252.938 391.142 252.938 390.236 QUADTO
-252.938 386.502 lineto
-252.142 386.502 lineto
-252.142 385.642 lineto
-252.938 385.642 lineto
-252.938 384.486 lineto
-254.095 384.377 lineto
-254.095 385.642 lineto
-255.751 385.642 lineto
-255.751 386.502 lineto
-254.095 386.502 lineto
-254.095 390.033 lineto
-254.095 391.283 255.173 391.283 QUADTO
-255.392 391.283 255.72 391.205 QUADTO
-255.72 392.002 lineto
-255.188 392.142 254.798 392.142 QUADTO
-closepath
-262.036 391.799 M
-260.88 392.142 260.052 392.142 QUADTO
-258.646 392.142 257.763 391.213 QUADTO
-256.88 390.283 256.88 388.783 QUADTO
-256.88 387.345 257.661 386.416 QUADTO
-258.442 385.486 259.661 385.486 QUADTO
-260.817 385.486 261.442 386.306 QUADTO
-262.067 387.127 262.067 388.642 QUADTO
-262.067 389.002 lineto
-258.052 389.002 lineto
-258.302 391.267 260.271 391.267 QUADTO
-260.989 391.267 262.036 390.877 QUADTO
-262.036 391.799 lineto
-closepath
-258.099 388.127 M
-260.911 388.127 lineto
-260.911 386.361 259.583 386.361 QUADTO
-258.255 386.361 258.099 388.127 QUADTO
-closepath
-263.425 392.002 M
-265.847 388.72 lineto
-263.503 385.642 lineto
-264.862 385.642 lineto
-266.722 388.08 lineto
-268.409 385.642 lineto
-269.534 385.642 lineto
-267.331 388.861 lineto
-269.722 392.002 lineto
-268.347 392.002 lineto
-266.44 389.486 lineto
-264.581 392.002 lineto
-263.425 392.002 lineto
-closepath
-281.706 391.767 M
-280.128 392.22 278.956 392.22 QUADTO
-276.878 392.22 275.776 391.041 QUADTO
-274.675 389.861 274.675 387.658 QUADTO
-274.675 385.502 275.792 384.306 QUADTO
-276.909 383.111 278.94 383.111 QUADTO
-280.253 383.111 281.69 383.502 QUADTO
-281.69 384.642 lineto
-279.894 384.033 278.94 384.033 QUADTO
-277.534 384.033 276.761 384.986 QUADTO
-275.987 385.939 275.987 387.674 QUADTO
-275.987 389.392 276.815 390.345 QUADTO
-277.644 391.299 279.144 391.299 QUADTO
-279.769 391.299 280.472 391.08 QUADTO
-280.472 388.252 lineto
-281.706 388.252 lineto
-281.706 391.767 lineto
-closepath
-283.894 392.002 M
-283.894 385.642 lineto
-285.05 385.642 lineto
-285.05 386.83 lineto
-285.737 385.502 287.034 385.502 QUADTO
-287.222 385.502 287.409 385.533 QUADTO
-287.409 386.611 lineto
-287.112 386.502 286.878 386.502 QUADTO
-285.784 386.502 285.05 387.799 QUADTO
-285.05 392.002 lineto
-283.894 392.002 lineto
-closepath
-291.288 392.142 M
-289.929 392.142 289.116 391.236 QUADTO
-288.304 390.33 288.304 388.814 QUADTO
-288.304 387.283 289.116 386.392 QUADTO
-289.929 385.502 291.335 385.502 QUADTO
-292.741 385.502 293.554 386.392 QUADTO
-294.366 387.283 294.366 388.814 QUADTO
-294.366 390.361 293.546 391.252 QUADTO
-292.726 392.142 291.288 392.142 QUADTO
-closepath
-291.304 391.283 M
-293.147 391.283 293.147 388.814 QUADTO
-293.147 386.361 291.335 386.361 QUADTO
-289.522 386.361 289.522 388.814 QUADTO
-289.522 391.283 291.304 391.283 QUADTO
-closepath
-300.159 392.002 M
-300.159 390.799 lineto
-299.237 392.142 297.925 392.142 QUADTO
-297.081 392.142 296.589 391.619 QUADTO
-296.097 391.095 296.097 390.205 QUADTO
-296.097 385.642 lineto
-297.253 385.642 lineto
-297.253 389.83 lineto
-297.253 390.549 297.464 390.853 QUADTO
-297.675 391.158 298.159 391.158 QUADTO
-299.222 391.158 300.159 389.767 QUADTO
-300.159 385.642 lineto
-301.3 385.642 lineto
-301.3 392.002 lineto
-300.159 392.002 lineto
-closepath
-303.622 394.314 M
-303.622 385.642 lineto
-304.778 385.642 lineto
-304.778 386.83 lineto
-305.481 385.502 306.903 385.502 QUADTO
-308.044 385.502 308.708 386.338 QUADTO
-309.372 387.174 309.372 388.627 QUADTO
-309.372 390.205 308.622 391.174 QUADTO
-307.872 392.142 306.653 392.142 QUADTO
-305.528 392.142 304.778 391.283 QUADTO
-304.778 394.314 lineto
-303.622 394.314 lineto
-closepath
-304.778 390.486 M
-305.669 391.283 306.481 391.283 QUADTO
-308.138 391.283 308.138 388.736 QUADTO
-308.138 386.502 306.669 386.502 QUADTO
-305.7 386.502 304.778 387.549 QUADTO
-304.778 390.486 lineto
-closepath
-312.862 392.142 M
-312.065 392.142 310.94 391.783 QUADTO
-310.94 390.72 lineto
-312.065 391.283 312.909 391.283 QUADTO
-313.409 391.283 313.737 391.009 QUADTO
-314.065 390.736 314.065 390.33 QUADTO
-314.065 389.752 313.144 389.361 QUADTO
-312.472 389.064 lineto
-310.972 388.455 310.972 387.283 QUADTO
-310.972 386.455 311.565 385.978 QUADTO
-312.159 385.502 313.175 385.502 QUADTO
-313.706 385.502 314.503 385.642 QUADTO
-314.737 385.689 lineto
-314.737 386.658 lineto
-313.769 386.361 313.206 386.361 QUADTO
-312.081 386.361 312.081 387.174 QUADTO
-312.081 387.689 312.925 388.049 QUADTO
-313.487 388.283 lineto
-314.425 388.689 314.823 389.127 QUADTO
-315.222 389.564 315.222 390.236 QUADTO
-315.222 391.064 314.558 391.603 QUADTO
-313.894 392.142 312.862 392.142 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-58.148 34.247 M
-388 34.247 lineto
-388 325.931 lineto
-58.148 325.931 lineto
-58.148 34.247 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-58.148 329.931 M
-388 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-62.77 345.481 M
-62.77 344.465 lineto
-63.27 343.293 64.802 341.903 QUADTO
-65.473 341.309 lineto
-66.739 340.153 66.739 339.012 QUADTO
-66.739 338.293 66.309 337.879 QUADTO
-65.88 337.465 65.114 337.465 QUADTO
-64.208 337.465 62.989 338.153 QUADTO
-62.989 337.137 lineto
-64.145 336.59 65.27 336.59 QUADTO
-66.489 336.59 67.231 337.247 QUADTO
-67.973 337.903 67.973 338.981 QUADTO
-67.973 339.762 67.598 340.372 QUADTO
-67.223 340.981 66.208 341.84 QUADTO
-65.77 342.215 lineto
-64.38 343.387 64.161 344.465 QUADTO
-67.927 344.465 lineto
-67.927 345.481 lineto
-62.77 345.481 lineto
-closepath
-73.124 345.7 M
-71.78 345.7 70.952 344.434 QUADTO
-70.124 343.168 70.124 341.137 QUADTO
-70.124 339.09 70.96 337.84 QUADTO
-71.796 336.59 73.155 336.59 QUADTO
-74.514 336.59 75.35 337.84 QUADTO
-76.186 339.09 76.186 341.122 QUADTO
-76.186 343.2 75.35 344.45 QUADTO
-74.514 345.7 73.124 345.7 QUADTO
-closepath
-73.139 344.825 M
-74.968 344.825 74.968 341.106 QUADTO
-74.968 337.465 73.155 337.465 QUADTO
-71.358 337.465 71.358 341.137 QUADTO
-71.358 344.825 73.139 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.358 331.931 M
-69.358 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-93.333 345.418 M
-93.333 344.34 lineto
-94.583 344.825 95.287 344.825 QUADTO
-96.115 344.825 96.638 344.34 QUADTO
-97.162 343.856 97.162 343.09 QUADTO
-97.162 341.262 94.599 341.262 QUADTO
-94.13 341.262 lineto
-94.13 340.481 lineto
-94.537 340.481 lineto
-96.943 340.481 96.943 338.793 QUADTO
-96.943 337.465 95.365 337.465 QUADTO
-94.49 337.465 93.458 337.95 QUADTO
-93.458 336.934 lineto
-94.474 336.59 95.443 336.59 QUADTO
-98.099 336.59 98.099 338.606 QUADTO
-98.099 340.137 96.287 340.778 QUADTO
-98.396 341.262 98.396 343.075 QUADTO
-98.396 344.309 97.583 345.004 QUADTO
-96.771 345.7 95.365 345.7 QUADTO
-94.552 345.7 93.333 345.418 QUADTO
-closepath
-103.468 345.7 M
-102.124 345.7 101.296 344.434 QUADTO
-100.468 343.168 100.468 341.137 QUADTO
-100.468 339.09 101.304 337.84 QUADTO
-102.14 336.59 103.499 336.59 QUADTO
-104.859 336.59 105.695 337.84 QUADTO
-106.531 339.09 106.531 341.122 QUADTO
-106.531 343.2 105.695 344.45 QUADTO
-104.859 345.7 103.468 345.7 QUADTO
-closepath
-103.484 344.825 M
-105.312 344.825 105.312 341.106 QUADTO
-105.312 337.465 103.499 337.465 QUADTO
-101.703 337.465 101.703 341.137 QUADTO
-101.703 344.825 103.484 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-99.703 331.931 M
-99.703 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.232 331.931 M
-121.232 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-137.932 331.931 M
-137.932 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-151.576 331.931 M
-151.576 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-163.113 331.931 M
-163.113 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.106 331.931 M
-173.106 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-181.921 331.931 M
-181.921 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.806 331.931 M
-189.806 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-180.236 345.481 M
-180.236 344.606 lineto
-181.971 344.606 lineto
-181.971 337.762 lineto
-180.236 338.2 lineto
-180.236 337.309 lineto
-183.127 336.59 lineto
-183.127 344.606 lineto
-184.861 344.606 lineto
-184.861 345.481 lineto
-180.236 345.481 lineto
-closepath
-189.777 345.7 M
-188.434 345.7 187.606 344.434 QUADTO
-186.777 343.168 186.777 341.137 QUADTO
-186.777 339.09 187.613 337.84 QUADTO
-188.449 336.59 189.809 336.59 QUADTO
-191.168 336.59 192.004 337.84 QUADTO
-192.84 339.09 192.84 341.122 QUADTO
-192.84 343.2 192.004 344.45 QUADTO
-191.168 345.7 189.777 345.7 QUADTO
-closepath
-189.793 344.825 M
-191.621 344.825 191.621 341.106 QUADTO
-191.621 337.465 189.809 337.465 QUADTO
-188.012 337.465 188.012 341.137 QUADTO
-188.012 344.825 189.793 344.825 QUADTO
-closepath
-197.365 345.7 M
-196.022 345.7 195.193 344.434 QUADTO
-194.365 343.168 194.365 341.137 QUADTO
-194.365 339.09 195.201 337.84 QUADTO
-196.037 336.59 197.397 336.59 QUADTO
-198.756 336.59 199.592 337.84 QUADTO
-200.428 339.09 200.428 341.122 QUADTO
-200.428 343.2 199.592 344.45 QUADTO
-198.756 345.7 197.365 345.7 QUADTO
-closepath
-197.381 344.825 M
-199.209 344.825 199.209 341.106 QUADTO
-199.209 337.465 197.397 337.465 QUADTO
-195.6 337.465 195.6 341.137 QUADTO
-195.6 344.825 197.381 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.806 331.931 M
-189.806 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-231.298 345.481 M
-231.298 344.465 lineto
-231.798 343.293 233.329 341.903 QUADTO
-234.001 341.309 lineto
-235.267 340.153 235.267 339.012 QUADTO
-235.267 338.293 234.837 337.879 QUADTO
-234.407 337.465 233.642 337.465 QUADTO
-232.735 337.465 231.517 338.153 QUADTO
-231.517 337.137 lineto
-232.673 336.59 233.798 336.59 QUADTO
-235.017 336.59 235.759 337.247 QUADTO
-236.501 337.903 236.501 338.981 QUADTO
-236.501 339.762 236.126 340.372 QUADTO
-235.751 340.981 234.735 341.84 QUADTO
-234.298 342.215 lineto
-232.907 343.387 232.689 344.465 QUADTO
-236.454 344.465 lineto
-236.454 345.481 lineto
-231.298 345.481 lineto
-closepath
-241.651 345.7 M
-240.308 345.7 239.48 344.434 QUADTO
-238.651 343.168 238.651 341.137 QUADTO
-238.651 339.09 239.487 337.84 QUADTO
-240.323 336.59 241.683 336.59 QUADTO
-243.042 336.59 243.878 337.84 QUADTO
-244.714 339.09 244.714 341.122 QUADTO
-244.714 343.2 243.878 344.45 QUADTO
-243.042 345.7 241.651 345.7 QUADTO
-closepath
-241.667 344.825 M
-243.495 344.825 243.495 341.106 QUADTO
-243.495 337.465 241.683 337.465 QUADTO
-239.886 337.465 239.886 341.137 QUADTO
-239.886 344.825 241.667 344.825 QUADTO
-closepath
-249.239 345.7 M
-247.896 345.7 247.067 344.434 QUADTO
-246.239 343.168 246.239 341.137 QUADTO
-246.239 339.09 247.075 337.84 QUADTO
-247.911 336.59 249.271 336.59 QUADTO
-250.63 336.59 251.466 337.84 QUADTO
-252.302 339.09 252.302 341.122 QUADTO
-252.302 343.2 251.466 344.45 QUADTO
-250.63 345.7 249.239 345.7 QUADTO
-closepath
-249.255 344.825 M
-251.083 344.825 251.083 341.106 QUADTO
-251.083 337.465 249.271 337.465 QUADTO
-247.474 337.465 247.474 341.137 QUADTO
-247.474 344.825 249.255 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-241.68 331.931 M
-241.68 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-272.024 331.931 M
-272.024 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-293.554 331.931 M
-293.554 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-310.253 331.931 M
-310.253 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-323.898 331.931 M
-323.898 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-335.434 331.931 M
-335.434 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-345.428 331.931 M
-345.428 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-354.242 331.931 M
-354.242 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.127 331.931 M
-362.127 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-348.764 345.481 M
-348.764 344.606 lineto
-350.498 344.606 lineto
-350.498 337.762 lineto
-348.764 338.2 lineto
-348.764 337.309 lineto
-351.655 336.59 lineto
-351.655 344.606 lineto
-353.389 344.606 lineto
-353.389 345.481 lineto
-348.764 345.481 lineto
-closepath
-358.305 345.7 M
-356.961 345.7 356.133 344.434 QUADTO
-355.305 343.168 355.305 341.137 QUADTO
-355.305 339.09 356.141 337.84 QUADTO
-356.977 336.59 358.336 336.59 QUADTO
-359.696 336.59 360.532 337.84 QUADTO
-361.368 339.09 361.368 341.122 QUADTO
-361.368 343.2 360.532 344.45 QUADTO
-359.696 345.7 358.305 345.7 QUADTO
-closepath
-358.321 344.825 M
-360.149 344.825 360.149 341.106 QUADTO
-360.149 337.465 358.336 337.465 QUADTO
-356.539 337.465 356.539 341.137 QUADTO
-356.539 344.825 358.321 344.825 QUADTO
-closepath
-365.893 345.7 M
-364.549 345.7 363.721 344.434 QUADTO
-362.893 343.168 362.893 341.137 QUADTO
-362.893 339.09 363.729 337.84 QUADTO
-364.565 336.59 365.924 336.59 QUADTO
-367.284 336.59 368.119 337.84 QUADTO
-368.955 339.09 368.955 341.122 QUADTO
-368.955 343.2 368.119 344.45 QUADTO
-367.284 345.7 365.893 345.7 QUADTO
-closepath
-365.909 344.825 M
-367.737 344.825 367.737 341.106 QUADTO
-367.737 337.465 365.924 337.465 QUADTO
-364.127 337.465 364.127 341.137 QUADTO
-364.127 344.825 365.909 344.825 QUADTO
-closepath
-373.481 345.7 M
-372.137 345.7 371.309 344.434 QUADTO
-370.481 343.168 370.481 341.137 QUADTO
-370.481 339.09 371.317 337.84 QUADTO
-372.153 336.59 373.512 336.59 QUADTO
-374.871 336.59 375.707 337.84 QUADTO
-376.543 339.09 376.543 341.122 QUADTO
-376.543 343.2 375.707 344.45 QUADTO
-374.871 345.7 373.481 345.7 QUADTO
-closepath
-373.496 344.825 M
-375.325 344.825 375.325 341.106 QUADTO
-375.325 337.465 373.512 337.465 QUADTO
-371.715 337.465 371.715 341.137 QUADTO
-371.715 344.825 373.496 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.127 331.931 M
-362.127 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-202.574 364.954 M
-202.574 357.454 lineto
-204.59 357.454 lineto
-204.59 358.86 lineto
-205.59 357.282 207.152 357.282 QUADTO
-208.152 357.282 208.738 357.915 QUADTO
-209.324 358.548 209.324 359.641 QUADTO
-209.324 364.954 lineto
-207.293 364.954 lineto
-207.293 360.141 lineto
-207.293 358.876 206.449 358.876 QUADTO
-205.48 358.876 204.59 360.235 QUADTO
-204.59 364.954 lineto
-202.574 364.954 lineto
-closepath
-214.925 365.126 M
-213.159 365.126 212.128 364.063 QUADTO
-211.097 363.001 211.097 361.204 QUADTO
-211.097 359.376 212.136 358.329 QUADTO
-213.175 357.282 214.972 357.282 QUADTO
-216.769 357.282 217.808 358.329 QUADTO
-218.847 359.376 218.847 361.188 QUADTO
-218.847 363.032 217.8 364.079 QUADTO
-216.753 365.126 214.925 365.126 QUADTO
-closepath
-214.956 363.86 M
-216.69 363.86 216.69 361.188 QUADTO
-216.69 359.97 216.229 359.259 QUADTO
-215.769 358.548 214.972 358.548 QUADTO
-214.175 358.548 213.706 359.259 QUADTO
-213.237 359.97 213.237 361.204 QUADTO
-213.237 362.423 213.698 363.141 QUADTO
-214.159 363.86 214.956 363.86 QUADTO
-closepath
-225.429 364.954 M
-225.429 363.532 lineto
-224.647 365.126 222.976 365.126 QUADTO
-221.632 365.126 220.858 364.134 QUADTO
-220.085 363.141 220.085 361.407 QUADTO
-220.085 359.516 220.952 358.399 QUADTO
-221.819 357.282 223.288 357.282 QUADTO
-224.476 357.282 225.429 358.204 QUADTO
-225.429 354.157 lineto
-227.46 354.157 lineto
-227.46 364.954 lineto
-225.429 364.954 lineto
-closepath
-225.429 359.407 M
-224.694 358.595 223.866 358.595 QUADTO
-223.116 358.595 222.679 359.313 QUADTO
-222.241 360.032 222.241 361.235 QUADTO
-222.241 363.532 223.71 363.532 QUADTO
-224.616 363.532 225.429 362.376 QUADTO
-225.429 359.407 lineto
-closepath
-236.096 364.704 M
-234.658 365.126 233.361 365.126 QUADTO
-231.486 365.126 230.4 364.055 QUADTO
-229.314 362.985 229.314 361.141 QUADTO
-229.314 359.407 230.307 358.345 QUADTO
-231.299 357.282 232.939 357.282 QUADTO
-234.58 357.282 235.338 358.321 QUADTO
-236.096 359.36 236.096 361.61 QUADTO
-231.439 361.61 lineto
-231.643 363.751 233.799 363.751 QUADTO
-234.814 363.751 236.096 363.282 QUADTO
-236.096 364.704 lineto
-closepath
-231.408 360.47 M
-234.111 360.47 lineto
-234.111 358.548 232.877 358.548 QUADTO
-231.611 358.548 231.408 360.47 QUADTO
-closepath
-237.986 364.72 M
-237.986 363.235 lineto
-239.502 363.86 240.564 363.86 QUADTO
-241.799 363.86 241.799 363.016 QUADTO
-241.799 362.47 240.783 362.048 QUADTO
-240.096 361.782 lineto
-238.986 361.329 238.502 360.813 QUADTO
-238.018 360.298 238.018 359.532 QUADTO
-238.018 358.454 238.838 357.868 QUADTO
-239.658 357.282 241.111 357.282 QUADTO
-242.033 357.282 243.299 357.548 QUADTO
-243.299 358.97 lineto
-242.08 358.548 241.283 358.548 QUADTO
-240.018 358.548 240.018 359.313 QUADTO
-240.018 359.829 240.955 360.188 QUADTO
-241.533 360.407 lineto
-242.861 360.907 243.377 361.423 QUADTO
-243.893 361.938 243.893 362.751 QUADTO
-243.893 363.798 243.01 364.462 QUADTO
-242.127 365.126 240.721 365.126 QUADTO
-239.377 365.126 237.986 364.72 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-54.148 34.247 M
-54.148 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-44.326 330.426 M
-42.982 330.426 42.154 329.16 QUADTO
-41.326 327.894 41.326 325.863 QUADTO
-41.326 323.816 42.162 322.566 QUADTO
-42.998 321.316 44.357 321.316 QUADTO
-45.717 321.316 46.553 322.566 QUADTO
-47.389 323.816 47.389 325.848 QUADTO
-47.389 327.926 46.553 329.176 QUADTO
-45.717 330.426 44.326 330.426 QUADTO
-closepath
-44.342 329.551 M
-46.17 329.551 46.17 325.832 QUADTO
-46.17 322.191 44.357 322.191 QUADTO
-42.561 322.191 42.561 325.863 QUADTO
-42.561 329.551 44.342 329.551 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 325.931 M
-54.148 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-42.014 302.459 M
-42.014 301.427 lineto
-42.889 301.771 43.654 301.771 QUADTO
-44.514 301.771 45.006 301.271 QUADTO
-45.498 300.771 45.498 299.881 QUADTO
-45.498 297.927 42.811 297.927 QUADTO
-42.498 297.927 42.17 297.974 QUADTO
-42.17 293.756 lineto
-46.561 293.756 lineto
-46.561 294.756 lineto
-43.186 294.756 lineto
-43.186 297.052 lineto
-44.857 297.052 45.795 297.818 QUADTO
-46.732 298.584 46.732 299.943 QUADTO
-46.732 301.209 45.873 301.927 QUADTO
-45.014 302.646 43.514 302.646 QUADTO
-42.857 302.646 42.014 302.459 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 298.152 M
-54.148 298.152 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 274.648 M
-34.785 273.773 lineto
-36.52 273.773 lineto
-36.52 266.929 lineto
-34.785 267.367 lineto
-34.785 266.476 lineto
-37.676 265.757 lineto
-37.676 273.773 lineto
-39.41 273.773 lineto
-39.41 274.648 lineto
-34.785 274.648 lineto
-closepath
-44.326 274.867 M
-42.982 274.867 42.154 273.601 QUADTO
-41.326 272.336 41.326 270.304 QUADTO
-41.326 268.257 42.162 267.007 QUADTO
-42.998 265.757 44.357 265.757 QUADTO
-45.717 265.757 46.553 267.007 QUADTO
-47.389 268.257 47.389 270.289 QUADTO
-47.389 272.367 46.553 273.617 QUADTO
-45.717 274.867 44.326 274.867 QUADTO
-closepath
-44.342 273.992 M
-46.17 273.992 46.17 270.273 QUADTO
-46.17 266.632 44.357 266.632 QUADTO
-42.561 266.632 42.561 270.304 QUADTO
-42.561 273.992 44.342 273.992 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 270.372 M
-54.148 270.372 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 246.868 M
-34.785 245.993 lineto
-36.52 245.993 lineto
-36.52 239.15 lineto
-34.785 239.587 lineto
-34.785 238.697 lineto
-37.676 237.978 lineto
-37.676 245.993 lineto
-39.41 245.993 lineto
-39.41 246.868 lineto
-34.785 246.868 lineto
-closepath
-42.014 246.9 M
-42.014 245.868 lineto
-42.889 246.212 43.654 246.212 QUADTO
-44.514 246.212 45.006 245.712 QUADTO
-45.498 245.212 45.498 244.322 QUADTO
-45.498 242.368 42.811 242.368 QUADTO
-42.498 242.368 42.17 242.415 QUADTO
-42.17 238.197 lineto
-46.561 238.197 lineto
-46.561 239.197 lineto
-43.186 239.197 lineto
-43.186 241.493 lineto
-44.857 241.493 45.795 242.259 QUADTO
-46.732 243.025 46.732 244.384 QUADTO
-46.732 245.65 45.873 246.368 QUADTO
-45.014 247.087 43.514 247.087 QUADTO
-42.857 247.087 42.014 246.9 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 242.593 M
-54.148 242.593 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 219.089 M
-33.973 218.073 lineto
-34.473 216.902 36.004 215.511 QUADTO
-36.676 214.917 lineto
-37.941 213.761 37.941 212.62 QUADTO
-37.941 211.902 37.512 211.487 QUADTO
-37.082 211.073 36.316 211.073 QUADTO
-35.41 211.073 34.191 211.761 QUADTO
-34.191 210.745 lineto
-35.348 210.198 36.473 210.198 QUADTO
-37.691 210.198 38.434 210.855 QUADTO
-39.176 211.511 39.176 212.589 QUADTO
-39.176 213.37 38.801 213.98 QUADTO
-38.426 214.589 37.41 215.448 QUADTO
-36.973 215.823 lineto
-35.582 216.995 35.363 218.073 QUADTO
-39.129 218.073 lineto
-39.129 219.089 lineto
-33.973 219.089 lineto
-closepath
-44.326 219.308 M
-42.982 219.308 42.154 218.042 QUADTO
-41.326 216.777 41.326 214.745 QUADTO
-41.326 212.698 42.162 211.448 QUADTO
-42.998 210.198 44.357 210.198 QUADTO
-45.717 210.198 46.553 211.448 QUADTO
-47.389 212.698 47.389 214.73 QUADTO
-47.389 216.808 46.553 218.058 QUADTO
-45.717 219.308 44.326 219.308 QUADTO
-closepath
-44.342 218.433 M
-46.17 218.433 46.17 214.714 QUADTO
-46.17 211.073 44.357 211.073 QUADTO
-42.561 211.073 42.561 214.745 QUADTO
-42.561 218.433 44.342 218.433 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 214.813 M
-54.148 214.813 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 191.31 M
-33.973 190.294 lineto
-34.473 189.122 36.004 187.731 QUADTO
-36.676 187.138 lineto
-37.941 185.981 37.941 184.841 QUADTO
-37.941 184.122 37.512 183.708 QUADTO
-37.082 183.294 36.316 183.294 QUADTO
-35.41 183.294 34.191 183.981 QUADTO
-34.191 182.966 lineto
-35.348 182.419 36.473 182.419 QUADTO
-37.691 182.419 38.434 183.075 QUADTO
-39.176 183.731 39.176 184.81 QUADTO
-39.176 185.591 38.801 186.2 QUADTO
-38.426 186.81 37.41 187.669 QUADTO
-36.973 188.044 lineto
-35.582 189.216 35.363 190.294 QUADTO
-39.129 190.294 lineto
-39.129 191.31 lineto
-33.973 191.31 lineto
-closepath
-42.014 191.341 M
-42.014 190.31 lineto
-42.889 190.653 43.654 190.653 QUADTO
-44.514 190.653 45.006 190.153 QUADTO
-45.498 189.653 45.498 188.763 QUADTO
-45.498 186.81 42.811 186.81 QUADTO
-42.498 186.81 42.17 186.856 QUADTO
-42.17 182.638 lineto
-46.561 182.638 lineto
-46.561 183.638 lineto
-43.186 183.638 lineto
-43.186 185.935 lineto
-44.857 185.935 45.795 186.7 QUADTO
-46.732 187.466 46.732 188.825 QUADTO
-46.732 190.091 45.873 190.81 QUADTO
-45.014 191.528 43.514 191.528 QUADTO
-42.857 191.528 42.014 191.341 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 187.034 M
-54.148 187.034 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 163.468 M
-34.191 162.389 lineto
-35.441 162.874 36.145 162.874 QUADTO
-36.973 162.874 37.496 162.389 QUADTO
-38.02 161.905 38.02 161.139 QUADTO
-38.02 159.311 35.457 159.311 QUADTO
-34.988 159.311 lineto
-34.988 158.53 lineto
-35.395 158.53 lineto
-37.801 158.53 37.801 156.843 QUADTO
-37.801 155.514 36.223 155.514 QUADTO
-35.348 155.514 34.316 155.999 QUADTO
-34.316 154.983 lineto
-35.332 154.639 36.301 154.639 QUADTO
-38.957 154.639 38.957 156.655 QUADTO
-38.957 158.186 37.145 158.827 QUADTO
-39.254 159.311 39.254 161.124 QUADTO
-39.254 162.358 38.441 163.053 QUADTO
-37.629 163.749 36.223 163.749 QUADTO
-35.41 163.749 34.191 163.468 QUADTO
-closepath
-44.326 163.749 M
-42.982 163.749 42.154 162.483 QUADTO
-41.326 161.218 41.326 159.186 QUADTO
-41.326 157.139 42.162 155.889 QUADTO
-42.998 154.639 44.357 154.639 QUADTO
-45.717 154.639 46.553 155.889 QUADTO
-47.389 157.139 47.389 159.171 QUADTO
-47.389 161.249 46.553 162.499 QUADTO
-45.717 163.749 44.326 163.749 QUADTO
-closepath
-44.342 162.874 M
-46.17 162.874 46.17 159.155 QUADTO
-46.17 155.514 44.357 155.514 QUADTO
-42.561 155.514 42.561 159.186 QUADTO
-42.561 162.874 44.342 162.874 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 159.254 M
-54.148 159.254 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 135.688 M
-34.191 134.61 lineto
-35.441 135.094 36.145 135.094 QUADTO
-36.973 135.094 37.496 134.61 QUADTO
-38.02 134.126 38.02 133.36 QUADTO
-38.02 131.532 35.457 131.532 QUADTO
-34.988 131.532 lineto
-34.988 130.751 lineto
-35.395 130.751 lineto
-37.801 130.751 37.801 129.063 QUADTO
-37.801 127.735 36.223 127.735 QUADTO
-35.348 127.735 34.316 128.219 QUADTO
-34.316 127.204 lineto
-35.332 126.86 36.301 126.86 QUADTO
-38.957 126.86 38.957 128.876 QUADTO
-38.957 130.407 37.145 131.047 QUADTO
-39.254 131.532 39.254 133.344 QUADTO
-39.254 134.579 38.441 135.274 QUADTO
-37.629 135.969 36.223 135.969 QUADTO
-35.41 135.969 34.191 135.688 QUADTO
-closepath
-42.014 135.782 M
-42.014 134.751 lineto
-42.889 135.094 43.654 135.094 QUADTO
-44.514 135.094 45.006 134.594 QUADTO
-45.498 134.094 45.498 133.204 QUADTO
-45.498 131.251 42.811 131.251 QUADTO
-42.498 131.251 42.17 131.297 QUADTO
-42.17 127.079 lineto
-46.561 127.079 lineto
-46.561 128.079 lineto
-43.186 128.079 lineto
-43.186 130.376 lineto
-44.857 130.376 45.795 131.141 QUADTO
-46.732 131.907 46.732 133.266 QUADTO
-46.732 134.532 45.873 135.251 QUADTO
-45.014 135.969 43.514 135.969 QUADTO
-42.857 135.969 42.014 135.782 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 131.475 M
-54.148 131.475 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-37.488 107.971 M
-37.488 105.518 lineto
-33.582 105.518 lineto
-33.582 104.643 lineto
-37.488 99.299 lineto
-38.582 99.299 lineto
-38.582 104.565 lineto
-39.738 104.565 lineto
-39.738 105.518 lineto
-38.582 105.518 lineto
-38.582 107.971 lineto
-37.488 107.971 lineto
-closepath
-34.723 104.565 M
-37.566 104.565 lineto
-37.566 100.721 lineto
-34.723 104.565 lineto
-closepath
-44.326 108.19 M
-42.982 108.19 42.154 106.924 QUADTO
-41.326 105.659 41.326 103.627 QUADTO
-41.326 101.58 42.162 100.33 QUADTO
-42.998 99.08 44.357 99.08 QUADTO
-45.717 99.08 46.553 100.33 QUADTO
-47.389 101.58 47.389 103.612 QUADTO
-47.389 105.69 46.553 106.94 QUADTO
-45.717 108.19 44.326 108.19 QUADTO
-closepath
-44.342 107.315 M
-46.17 107.315 46.17 103.596 QUADTO
-46.17 99.955 44.357 99.955 QUADTO
-42.561 99.955 42.561 103.627 QUADTO
-42.561 107.315 44.342 107.315 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 103.695 M
-54.148 103.695 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-37.488 80.192 M
-37.488 77.738 lineto
-33.582 77.738 lineto
-33.582 76.863 lineto
-37.488 71.52 lineto
-38.582 71.52 lineto
-38.582 76.785 lineto
-39.738 76.785 lineto
-39.738 77.738 lineto
-38.582 77.738 lineto
-38.582 80.192 lineto
-37.488 80.192 lineto
-closepath
-34.723 76.785 M
-37.566 76.785 lineto
-37.566 72.942 lineto
-34.723 76.785 lineto
-closepath
-42.014 80.223 M
-42.014 79.192 lineto
-42.889 79.535 43.654 79.535 QUADTO
-44.514 79.535 45.006 79.035 QUADTO
-45.498 78.535 45.498 77.645 QUADTO
-45.498 75.692 42.811 75.692 QUADTO
-42.498 75.692 42.17 75.738 QUADTO
-42.17 71.52 lineto
-46.561 71.52 lineto
-46.561 72.52 lineto
-43.186 72.52 lineto
-43.186 74.817 lineto
-44.857 74.817 45.795 75.582 QUADTO
-46.732 76.348 46.732 77.707 QUADTO
-46.732 78.973 45.873 79.692 QUADTO
-45.014 80.41 43.514 80.41 QUADTO
-42.857 80.41 42.014 80.223 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 75.916 M
-54.148 75.916 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.426 52.443 M
-34.426 51.412 lineto
-35.301 51.756 36.066 51.756 QUADTO
-36.926 51.756 37.418 51.256 QUADTO
-37.91 50.756 37.91 49.865 QUADTO
-37.91 47.912 35.223 47.912 QUADTO
-34.91 47.912 34.582 47.959 QUADTO
-34.582 43.74 lineto
-38.973 43.74 lineto
-38.973 44.74 lineto
-35.598 44.74 lineto
-35.598 47.037 lineto
-37.27 47.037 38.207 47.803 QUADTO
-39.145 48.568 39.145 49.928 QUADTO
-39.145 51.193 38.285 51.912 QUADTO
-37.426 52.631 35.926 52.631 QUADTO
-35.27 52.631 34.426 52.443 QUADTO
-closepath
-44.326 52.631 M
-42.982 52.631 42.154 51.365 QUADTO
-41.326 50.1 41.326 48.068 QUADTO
-41.326 46.021 42.162 44.771 QUADTO
-42.998 43.521 44.357 43.521 QUADTO
-45.717 43.521 46.553 44.771 QUADTO
-47.389 46.021 47.389 48.053 QUADTO
-47.389 50.131 46.553 51.381 QUADTO
-45.717 52.631 44.326 52.631 QUADTO
-closepath
-44.342 51.756 M
-46.17 51.756 46.17 48.037 QUADTO
-46.17 44.396 44.357 44.396 QUADTO
-42.561 44.396 42.561 48.068 QUADTO
-42.561 51.756 44.342 51.756 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 48.136 M
-54.148 48.136 lineto
-stroke
-grestore
-gsave
-[0 -1 1 0 -160.60265 199.57533] concat
-newpath
-199.575 160.603 M
-199.575 560.603 lineto
--200.425 560.603 lineto
--200.425 160.603 lineto
-199.575 160.603 lineto
-closepath
-clip
-0.251 setgray
-newpath
--35.833 185.077 M
--35.833 174.28 lineto
--33.817 174.28 lineto
--33.817 185.077 lineto
--35.833 185.077 lineto
-closepath
--28.124 185.249 M
--29.889 185.249 -30.92 184.187 QUADTO
--31.952 183.124 -31.952 181.327 QUADTO
--31.952 179.499 -30.913 178.452 QUADTO
--29.874 177.405 -28.077 177.405 QUADTO
--26.28 177.405 -25.241 178.452 QUADTO
--24.202 179.499 -24.202 181.312 QUADTO
--24.202 183.155 -25.249 184.202 QUADTO
--26.295 185.249 -28.124 185.249 QUADTO
-closepath
--28.092 183.983 M
--26.358 183.983 -26.358 181.312 QUADTO
--26.358 180.093 -26.819 179.382 QUADTO
--27.28 178.671 -28.077 178.671 QUADTO
--28.874 178.671 -29.342 179.382 QUADTO
--29.811 180.093 -29.811 181.327 QUADTO
--29.811 182.546 -29.35 183.265 QUADTO
--28.889 183.983 -28.092 183.983 QUADTO
-closepath
--18.666 184.265 M
--19.666 185.249 -20.823 185.249 QUADTO
--21.807 185.249 -22.424 184.648 QUADTO
--23.041 184.046 -23.041 183.093 QUADTO
--23.041 181.843 -22.049 181.171 QUADTO
--21.057 180.499 -19.198 180.499 QUADTO
--18.666 180.499 lineto
--18.666 179.812 lineto
--18.666 178.64 -19.995 178.64 QUADTO
--21.182 178.64 -22.385 179.312 QUADTO
--22.385 177.921 lineto
--21.01 177.405 -19.666 177.405 QUADTO
--16.713 177.405 -16.713 179.749 QUADTO
--16.713 183.062 lineto
--16.713 183.952 -16.151 183.952 QUADTO
--16.057 183.952 -15.885 183.921 QUADTO
--15.838 185.062 lineto
--16.479 185.249 -16.979 185.249 QUADTO
--18.213 185.249 -18.573 184.265 QUADTO
--18.666 184.265 lineto
-closepath
--18.666 183.187 M
--18.666 181.655 lineto
--19.135 181.655 lineto
--21.104 181.655 -21.104 182.89 QUADTO
--21.104 183.312 -20.823 183.593 QUADTO
--20.541 183.874 -20.12 183.874 QUADTO
--19.401 183.874 -18.666 183.187 QUADTO
-closepath
--9.389 185.077 M
--9.389 183.655 lineto
--10.17 185.249 -11.842 185.249 QUADTO
--13.186 185.249 -13.959 184.257 QUADTO
--14.733 183.265 -14.733 181.53 QUADTO
--14.733 179.64 -13.866 178.523 QUADTO
--12.999 177.405 -11.53 177.405 QUADTO
--10.342 177.405 -9.389 178.327 QUADTO
--9.389 174.28 lineto
--7.358 174.28 lineto
--7.358 185.077 lineto
--9.389 185.077 lineto
-closepath
--9.389 179.53 M
--10.124 178.718 -10.952 178.718 QUADTO
--11.702 178.718 -12.139 179.437 QUADTO
--12.577 180.155 -12.577 181.358 QUADTO
--12.577 183.655 -11.108 183.655 QUADTO
--10.202 183.655 -9.389 182.499 QUADTO
--9.389 179.53 lineto
-closepath
-0.001 185.077 M
-0.001 178.843 lineto
--1.045 178.843 lineto
--1.045 177.577 lineto
-0.001 177.577 lineto
-0.001 177.03 lineto
-0.001 174.108 2.767 174.108 QUADTO
-3.658 174.108 4.611 174.374 QUADTO
-4.611 175.733 lineto
-3.751 175.374 3.064 175.374 QUADTO
-2.017 175.374 2.017 176.952 QUADTO
-2.017 177.577 lineto
-3.923 177.577 lineto
-3.923 178.843 lineto
-2.017 178.843 lineto
-2.017 185.077 lineto
-0.001 185.077 lineto
-closepath
-5.586 185.077 M
-5.586 177.577 lineto
-7.602 177.577 lineto
-7.602 178.983 lineto
-8.399 177.405 10.008 177.405 QUADTO
-10.196 177.405 10.383 177.437 QUADTO
-10.383 179.249 lineto
-9.946 179.093 9.571 179.093 QUADTO
-8.368 179.093 7.602 180.312 QUADTO
-7.602 185.077 lineto
-5.586 185.077 lineto
-closepath
-15.623 184.265 M
-14.623 185.249 13.466 185.249 QUADTO
-12.482 185.249 11.865 184.648 QUADTO
-11.248 184.046 11.248 183.093 QUADTO
-11.248 181.843 12.24 181.171 QUADTO
-13.232 180.499 15.091 180.499 QUADTO
-15.623 180.499 lineto
-15.623 179.812 lineto
-15.623 178.64 14.294 178.64 QUADTO
-13.107 178.64 11.904 179.312 QUADTO
-11.904 177.921 lineto
-13.279 177.405 14.623 177.405 QUADTO
-17.576 177.405 17.576 179.749 QUADTO
-17.576 183.062 lineto
-17.576 183.952 18.138 183.952 QUADTO
-18.232 183.952 18.404 183.921 QUADTO
-18.451 185.062 lineto
-17.81 185.249 17.31 185.249 QUADTO
-16.076 185.249 15.716 184.265 QUADTO
-15.623 184.265 lineto
-closepath
-15.623 183.187 M
-15.623 181.655 lineto
-15.154 181.655 lineto
-13.185 181.655 13.185 182.89 QUADTO
-13.185 183.312 13.466 183.593 QUADTO
-13.748 183.874 14.169 183.874 QUADTO
-14.888 183.874 15.623 183.187 QUADTO
-closepath
-25.712 184.905 M
-24.462 185.249 23.384 185.249 QUADTO
-21.587 185.249 20.548 184.194 QUADTO
-19.509 183.14 19.509 181.312 QUADTO
-19.509 179.483 20.58 178.444 QUADTO
-21.65 177.405 23.541 177.405 QUADTO
-24.462 177.405 25.65 177.687 QUADTO
-25.65 179.155 lineto
-24.416 178.749 23.666 178.749 QUADTO
-22.759 178.749 22.205 179.452 QUADTO
-21.65 180.155 21.65 181.296 QUADTO
-21.65 182.483 22.251 183.194 QUADTO
-22.853 183.905 23.837 183.905 QUADTO
-24.759 183.905 25.712 183.515 QUADTO
-25.712 184.905 lineto
-closepath
-31.507 185.03 M
-30.773 185.249 30.367 185.249 QUADTO
-27.726 185.249 27.726 182.78 QUADTO
-27.726 178.843 lineto
-26.882 178.843 lineto
-26.882 177.577 lineto
-27.726 177.577 lineto
-27.726 176.312 lineto
-29.757 176.077 lineto
-29.757 177.577 lineto
-31.351 177.577 lineto
-31.351 178.843 lineto
-29.757 178.843 lineto
-29.757 182.515 lineto
-29.757 183.905 30.882 183.905 QUADTO
-31.132 183.905 31.507 183.812 QUADTO
-31.507 185.03 lineto
-closepath
-33.306 185.077 M
-33.306 177.577 lineto
-35.322 177.577 lineto
-35.322 185.077 lineto
-33.306 185.077 lineto
-closepath
-33.306 176.312 M
-33.306 174.624 lineto
-35.322 174.624 lineto
-35.322 176.312 lineto
-33.306 176.312 lineto
-closepath
-41.015 185.249 M
-39.25 185.249 38.218 184.187 QUADTO
-37.187 183.124 37.187 181.327 QUADTO
-37.187 179.499 38.226 178.452 QUADTO
-39.265 177.405 41.062 177.405 QUADTO
-42.859 177.405 43.898 178.452 QUADTO
-44.937 179.499 44.937 181.312 QUADTO
-44.937 183.155 43.89 184.202 QUADTO
-42.843 185.249 41.015 185.249 QUADTO
-closepath
-41.046 183.983 M
-42.781 183.983 42.781 181.312 QUADTO
-42.781 180.093 42.32 179.382 QUADTO
-41.859 178.671 41.062 178.671 QUADTO
-40.265 178.671 39.796 179.382 QUADTO
-39.328 180.093 39.328 181.327 QUADTO
-39.328 182.546 39.789 183.265 QUADTO
-40.25 183.983 41.046 183.983 QUADTO
-closepath
-46.8 185.077 M
-46.8 177.577 lineto
-48.816 177.577 lineto
-48.816 178.983 lineto
-49.816 177.405 51.378 177.405 QUADTO
-52.378 177.405 52.964 178.038 QUADTO
-53.55 178.671 53.55 179.765 QUADTO
-53.55 185.077 lineto
-51.519 185.077 lineto
-51.519 180.265 lineto
-51.519 178.999 50.675 178.999 QUADTO
-49.707 178.999 48.816 180.358 QUADTO
-48.816 185.077 lineto
-46.8 185.077 lineto
-closepath
-59.245 174.202 M
-59.245 175.499 lineto
-57.417 177.343 57.417 180.687 QUADTO
-57.417 184.046 59.245 185.874 QUADTO
-59.245 187.187 lineto
-57.573 186.28 56.573 184.507 QUADTO
-55.573 182.733 55.573 180.687 QUADTO
-55.573 178.64 56.557 176.89 QUADTO
-57.542 175.14 59.245 174.202 QUADTO
-closepath
-60.746 185.327 M
-68.699 174.702 lineto
-70.058 174.702 lineto
-62.105 185.327 lineto
-60.746 185.327 lineto
-closepath
-62.464 180.015 M
-61.371 180.015 60.73 179.335 QUADTO
-60.089 178.655 60.089 177.483 QUADTO
-60.089 176.312 60.73 175.632 QUADTO
-61.371 174.952 62.496 174.952 QUADTO
-63.605 174.952 64.253 175.632 QUADTO
-64.902 176.312 64.902 177.483 QUADTO
-64.902 178.671 64.253 179.343 QUADTO
-63.605 180.015 62.464 180.015 QUADTO
-closepath
-62.48 178.999 M
-63.371 178.999 63.371 177.483 QUADTO
-63.371 175.968 62.496 175.968 QUADTO
-61.605 175.968 61.605 177.483 QUADTO
-61.605 178.999 62.48 178.999 QUADTO
-closepath
-68.292 185.077 M
-67.183 185.077 66.542 184.398 QUADTO
-65.902 183.718 65.902 182.546 QUADTO
-65.902 181.358 66.55 180.687 QUADTO
-67.199 180.015 68.308 180.015 QUADTO
-69.433 180.015 70.074 180.687 QUADTO
-70.714 181.358 70.714 182.546 QUADTO
-70.714 183.733 70.074 184.405 QUADTO
-69.433 185.077 68.292 185.077 QUADTO
-closepath
-68.292 184.062 M
-69.199 184.062 69.199 182.546 QUADTO
-69.199 181.03 68.308 181.03 QUADTO
-67.417 181.03 67.417 182.546 QUADTO
-67.417 184.062 68.292 184.062 QUADTO
-closepath
-71.367 174.202 M
-71.367 175.499 lineto
-73.195 177.343 73.195 180.687 QUADTO
-73.195 184.046 71.367 185.874 QUADTO
-71.367 187.187 lineto
-73.039 186.28 74.039 184.507 QUADTO
-75.039 182.733 75.039 180.687 QUADTO
-75.039 178.64 74.054 176.89 QUADTO
-73.07 175.14 71.367 174.202 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.358 34.247 M
-69.358 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-99.703 34.247 M
-99.703 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-121.232 34.247 M
-121.232 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-137.932 34.247 M
-137.932 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-151.576 34.247 M
-151.576 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-163.113 34.247 M
-163.113 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-173.106 34.247 M
-173.106 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-181.921 34.247 M
-181.921 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-189.806 34.247 M
-189.806 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-189.806 34.247 M
-189.806 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-241.68 34.247 M
-241.68 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-272.024 34.247 M
-272.024 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-293.554 34.247 M
-293.554 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-310.253 34.247 M
-310.253 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-323.898 34.247 M
-323.898 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-335.434 34.247 M
-335.434 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-345.428 34.247 M
-345.428 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-354.242 34.247 M
-354.242 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-362.127 34.247 M
-362.127 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-362.127 34.247 M
-362.127 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 325.931 M
-388 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 298.152 M
-388 298.152 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 270.372 M
-388 270.372 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 242.593 M
-388 242.593 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 214.813 M
-388 214.813 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 187.034 M
-388 187.034 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 159.254 M
-388 159.254 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 131.475 M
-388 131.475 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 103.695 M
-388 103.695 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 75.916 M
-388 75.916 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 48.136 M
-388 48.136 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.358 165.769 M
-121.232 187.609 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.232 187.609 M
-173.106 190.054 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.106 190.054 M
-224.98 204.346 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.98 204.346 M
-276.854 193.618 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.854 193.618 M
-328.728 201.929 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.728 201.929 M
-362.127 191.267 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.358 112.182 M
-121.232 75.66 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.232 75.66 M
-173.106 112.985 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.106 112.985 M
-224.98 127.464 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.98 127.464 M
-276.854 106.768 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.854 106.768 M
-328.728 102.723 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.728 102.723 M
-362.127 48.136 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.358 139.336 M
-121.232 138.939 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.232 138.939 M
-173.106 137.489 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.106 137.489 M
-224.98 136.853 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.98 136.853 M
-276.854 136.389 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.854 136.389 M
-328.728 134.558 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.728 134.558 M
-362.127 130.892 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-69.358 162.769 M
-72.358 168.769 lineto
-66.358 168.769 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.358 162.769 M
-72.358 168.769 lineto
-66.358 168.769 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-121.232 184.609 M
-124.232 190.609 lineto
-118.232 190.609 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.232 184.609 M
-124.232 190.609 lineto
-118.232 190.609 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-173.106 187.054 M
-176.106 193.054 lineto
-170.106 193.054 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.106 187.054 M
-176.106 193.054 lineto
-170.106 193.054 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-224.98 201.346 M
-227.98 207.346 lineto
-221.98 207.346 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-224.98 201.346 M
-227.98 207.346 lineto
-221.98 207.346 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-276.854 190.618 M
-279.854 196.618 lineto
-273.854 196.618 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-276.854 190.618 M
-279.854 196.618 lineto
-273.854 196.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-328.728 198.929 M
-331.728 204.929 lineto
-325.728 204.929 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-328.728 198.929 M
-331.728 204.929 lineto
-325.728 204.929 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-362.127 188.267 M
-365.127 194.267 lineto
-359.127 194.267 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.127 188.267 M
-365.127 194.267 lineto
-359.127 194.267 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-72.358 112.182 M
-72.358 113.839 71.015 115.182 69.358 115.182 curveto
-67.701 115.182 66.358 113.839 66.358 112.182 curveto
-66.358 110.525 67.701 109.182 69.358 109.182 curveto
-71.015 109.182 72.358 110.525 72.358 112.182 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.358 112.182 M
-72.358 113.839 71.015 115.182 69.358 115.182 curveto
-67.701 115.182 66.358 113.839 66.358 112.182 curveto
-66.358 110.525 67.701 109.182 69.358 109.182 curveto
-71.015 109.182 72.358 110.525 72.358 112.182 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-124.232 75.66 M
-124.232 77.317 122.889 78.66 121.232 78.66 curveto
-119.575 78.66 118.232 77.317 118.232 75.66 curveto
-118.232 74.003 119.575 72.66 121.232 72.66 curveto
-122.889 72.66 124.232 74.003 124.232 75.66 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.232 75.66 M
-124.232 77.317 122.889 78.66 121.232 78.66 curveto
-119.575 78.66 118.232 77.317 118.232 75.66 curveto
-118.232 74.003 119.575 72.66 121.232 72.66 curveto
-122.889 72.66 124.232 74.003 124.232 75.66 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-176.106 112.985 M
-176.106 114.642 174.763 115.985 173.106 115.985 curveto
-171.449 115.985 170.106 114.642 170.106 112.985 curveto
-170.106 111.328 171.449 109.985 173.106 109.985 curveto
-174.763 109.985 176.106 111.328 176.106 112.985 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-176.106 112.985 M
-176.106 114.642 174.763 115.985 173.106 115.985 curveto
-171.449 115.985 170.106 114.642 170.106 112.985 curveto
-170.106 111.328 171.449 109.985 173.106 109.985 curveto
-174.763 109.985 176.106 111.328 176.106 112.985 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-227.98 127.464 M
-227.98 129.12 226.637 130.464 224.98 130.464 curveto
-223.323 130.464 221.98 129.12 221.98 127.464 curveto
-221.98 125.807 223.323 124.464 224.98 124.464 curveto
-226.637 124.464 227.98 125.807 227.98 127.464 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.98 127.464 M
-227.98 129.12 226.637 130.464 224.98 130.464 curveto
-223.323 130.464 221.98 129.12 221.98 127.464 curveto
-221.98 125.807 223.323 124.464 224.98 124.464 curveto
-226.637 124.464 227.98 125.807 227.98 127.464 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-279.854 106.768 M
-279.854 108.425 278.511 109.768 276.854 109.768 curveto
-275.197 109.768 273.854 108.425 273.854 106.768 curveto
-273.854 105.111 275.197 103.768 276.854 103.768 curveto
-278.511 103.768 279.854 105.111 279.854 106.768 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-279.854 106.768 M
-279.854 108.425 278.511 109.768 276.854 109.768 curveto
-275.197 109.768 273.854 108.425 273.854 106.768 curveto
-273.854 105.111 275.197 103.768 276.854 103.768 curveto
-278.511 103.768 279.854 105.111 279.854 106.768 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-331.728 102.723 M
-331.728 104.38 330.385 105.723 328.728 105.723 curveto
-327.071 105.723 325.728 104.38 325.728 102.723 curveto
-325.728 101.066 327.071 99.723 328.728 99.723 curveto
-330.385 99.723 331.728 101.066 331.728 102.723 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-331.728 102.723 M
-331.728 104.38 330.385 105.723 328.728 105.723 curveto
-327.071 105.723 325.728 104.38 325.728 102.723 curveto
-325.728 101.066 327.071 99.723 328.728 99.723 curveto
-330.385 99.723 331.728 101.066 331.728 102.723 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-365.127 48.136 M
-365.127 49.793 363.784 51.136 362.127 51.136 curveto
-360.47 51.136 359.127 49.793 359.127 48.136 curveto
-359.127 46.48 360.47 45.136 362.127 45.136 curveto
-363.784 45.136 365.127 46.48 365.127 48.136 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-365.127 48.136 M
-365.127 49.793 363.784 51.136 362.127 51.136 curveto
-360.47 51.136 359.127 49.793 359.127 48.136 curveto
-359.127 46.48 360.47 45.136 362.127 45.136 curveto
-363.784 45.136 365.127 46.48 365.127 48.136 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-66.358 136.336 M
-72.358 136.336 lineto
-72.358 142.336 lineto
-66.358 142.336 lineto
-66.358 136.336 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.358 136.336 M
-72.358 136.336 lineto
-72.358 142.336 lineto
-66.358 142.336 lineto
-66.358 136.336 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-118.232 135.939 M
-124.232 135.939 lineto
-124.232 141.939 lineto
-118.232 141.939 lineto
-118.232 135.939 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-118.232 135.939 M
-124.232 135.939 lineto
-124.232 141.939 lineto
-118.232 141.939 lineto
-118.232 135.939 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-170.106 134.489 M
-176.106 134.489 lineto
-176.106 140.489 lineto
-170.106 140.489 lineto
-170.106 134.489 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.106 134.489 M
-176.106 134.489 lineto
-176.106 140.489 lineto
-170.106 140.489 lineto
-170.106 134.489 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-221.98 133.853 M
-227.98 133.853 lineto
-227.98 139.853 lineto
-221.98 139.853 lineto
-221.98 133.853 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.98 133.853 M
-227.98 133.853 lineto
-227.98 139.853 lineto
-221.98 139.853 lineto
-221.98 133.853 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-273.854 133.389 M
-279.854 133.389 lineto
-279.854 139.389 lineto
-273.854 139.389 lineto
-273.854 133.389 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-273.854 133.389 M
-279.854 133.389 lineto
-279.854 139.389 lineto
-273.854 139.389 lineto
-273.854 133.389 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-325.728 131.558 M
-331.728 131.558 lineto
-331.728 137.558 lineto
-325.728 137.558 lineto
-325.728 131.558 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-325.728 131.558 M
-331.728 131.558 lineto
-331.728 137.558 lineto
-325.728 137.558 lineto
-325.728 131.558 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-359.127 127.892 M
-365.127 127.892 lineto
-365.127 133.892 lineto
-359.127 133.892 lineto
-359.127 127.892 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-359.127 127.892 M
-365.127 127.892 lineto
-365.127 133.892 lineto
-359.127 133.892 lineto
-359.127 127.892 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-0.5 setlinewidth
-newpath
-58.148 34.247 M
-388 34.247 lineto
-388 325.931 lineto
-58.148 325.931 lineto
-58.148 34.247 lineto
-closepath
-stroke
-grestore
-%%Trailer
-%%Pages: 1
-%%EOF
diff --git a/sim/gobs/wiki/dc03kpv02.cfg b/sim/gobs/wiki/dc03kpv02.cfg
deleted file mode 100644
index bb8ec1a..0000000
--- a/sim/gobs/wiki/dc03kpv02.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv02.cfg system_size_20-1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/wiki/dc03kpv02.eps b/sim/gobs/wiki/dc03kpv02.eps
deleted file mode 100644
index fcb4769..0000000
--- a/sim/gobs/wiki/dc03kpv02.eps
+++ /dev/null
@@ -1,4485 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (Apache XML Graphics Commons: EPS Generator for Java2D)
-%%CreationDate: 2009-10-05T10:43:17
-%%Pages: (atend)
-%%BoundingBox: 0 0 400 400
-%%LanguageLevel: 3
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset (Apache XML Graphics Std ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2001-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (Basic set of procedures used by the XML Graphics project \(Batik and FOP\))
-/bd{bind def}bind def
-/ld{load def}bd
-/M/moveto ld
-/RM/rmoveto ld
-/t/show ld
-/A/ashow ld
-/cp/closepath ld
-/re {4 2 roll M
-1 index 0 rlineto
-0 exch rlineto
-neg 0 rlineto
-cp } bd
-/_ctm matrix def
-/_tm matrix def
-/BT { _ctm currentmatrix pop matrix _tm copy pop 0 0 moveto } bd
-/ET { _ctm setmatrix } bd
-/iTm { _ctm setmatrix _tm concat } bd
-/Tm { _tm astore pop iTm 0 0 moveto } bd
-/ux 0.0 def
-/uy 0.0 def
-/F {
- /Tp exch def
- /Tf exch def
- Tf findfont Tp scalefont setfont
- /cf Tf def /cs Tp def /cw ( ) stringwidth pop def
-} bd
-/ULS {currentpoint /uy exch def /ux exch def} bd
-/ULE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add moveto Tcx uy To add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/OLE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs add moveto Tcx uy To add cs add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/SOE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs 10 mul 26 idiv add moveto Tcx uy To add cs 10 mul 26 idiv add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/QUADTO {
-/Y22 exch store
-/X22 exch store
-/Y21 exch store
-/X21 exch store
-currentpoint
-/Y21 load 2 mul add 3 div exch
-/X21 load 2 mul add 3 div exch
-/X21 load 2 mul /X22 load add 3 div
-/Y21 load 2 mul /Y22 load add 3 div
-/X22 load /Y22 load curveto
-} bd
-/SSPD {
-dup length /d exch dict def
-{
-/v exch def
-/k exch def
-currentpagedevice k known {
-/cpdv currentpagedevice k get def
-v cpdv ne {
-/upd false def
-/nullv v type /nulltype eq def
-/nullcpdv cpdv type /nulltype eq def
-nullv nullcpdv or
-{
-/upd true def
-} {
-/sametype v type cpdv type eq def
-sametype {
-v type /arraytype eq {
-/vlen v length def
-/cpdvlen cpdv length def
-vlen cpdvlen eq {
-0 1 vlen 1 sub {
-/i exch def
-/obj v i get def
-/cpdobj cpdv i get def
-obj cpdobj ne {
-/upd true def
-exit
-} if
-} for
-} {
-/upd true def
-} ifelse
-} {
-v type /dicttype eq {
-v {
-/dv exch def
-/dk exch def
-/cpddv cpdv dk get def
-dv cpddv ne {
-/upd true def
-exit
-} if
-} forall
-} {
-/upd true def
-} ifelse
-} ifelse
-} if
-} ifelse
-upd true eq {
-d k v put
-} if
-} if
-} if
-} forall
-d length 0 gt {
-d setpagedevice
-} if
-} bd
-%%EndResource
-%%BeginResource: procset (Apache XML Graphics EPS ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2002-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (EPS procedures used by the Apache XML Graphics project \(Batik and FOP\))
-/BeginEPSF { %def
-/b4_Inc_state save def % Save state for cleanup
-/dict_count countdictstack def % Count objects on dict stack
-/op_count count 1 sub def % Count objects on operand stack
-userdict begin % Push userdict on dict stack
-/showpage { } def % Redefine showpage, { } = null proc
-0 setgray 0 setlinecap % Prepare graphics state
-1 setlinewidth 0 setlinejoin
-10 setmiterlimit [ ] 0 setdash newpath
-/languagelevel where % If level not equal to 1 then
-{pop languagelevel % set strokeadjust and
-1 ne % overprint to their defaults.
-{false setstrokeadjust false setoverprint
-} if
-} if
-} bd
-/EndEPSF { %def
-count op_count sub {pop} repeat % Clean up stacks
-countdictstack dict_count sub {end} repeat
-b4_Inc_state restore
-} bd
-%%EndResource
-%%EndProlog
-%%Page: 1 1
-%%PageBoundingBox: 0 0 400 400
-%%BeginPageSetup
-[1 0 0 -1 0 400] concat
-%%EndPageSetup
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-81.354 20.249 M
-81.354 5.796 lineto
-85.338 5.796 lineto
-88.807 15.968 lineto
-92.4 5.796 lineto
-95.885 5.796 lineto
-95.885 20.249 lineto
-93.119 20.249 lineto
-93.119 9.343 lineto
-89.588 19.281 lineto
-87.166 19.281 lineto
-83.713 9.187 lineto
-83.713 20.249 lineto
-81.354 20.249 lineto
-closepath
-104.758 19.093 M
-103.305 20.499 101.664 20.499 QUADTO
-100.258 20.499 99.375 19.64 QUADTO
-98.492 18.781 98.492 17.406 QUADTO
-98.492 15.624 99.914 14.663 QUADTO
-101.336 13.703 103.992 13.703 QUADTO
-104.758 13.703 lineto
-104.758 12.734 lineto
-104.758 11.062 102.852 11.062 QUADTO
-101.164 11.062 99.43 12.015 QUADTO
-99.43 10.031 lineto
-101.398 9.281 103.32 9.281 QUADTO
-107.523 9.281 107.523 12.624 QUADTO
-107.523 17.374 lineto
-107.523 18.64 108.336 18.64 QUADTO
-108.492 18.64 108.727 18.593 QUADTO
-108.789 20.218 lineto
-107.867 20.499 107.164 20.499 QUADTO
-105.398 20.499 104.883 19.093 QUADTO
-104.758 19.093 lineto
-closepath
-104.758 17.546 M
-104.758 15.359 lineto
-104.07 15.359 lineto
-101.273 15.359 101.273 17.124 QUADTO
-101.273 17.718 101.68 18.124 QUADTO
-102.086 18.531 102.68 18.531 QUADTO
-103.695 18.531 104.758 17.546 QUADTO
-closepath
-110.125 20.249 M
-113.797 14.874 lineto
-110.281 9.531 lineto
-113.562 9.531 lineto
-115.875 12.921 lineto
-118.078 9.531 lineto
-120.422 9.531 lineto
-117.062 14.796 lineto
-120.672 20.249 lineto
-117.375 20.249 lineto
-114.969 16.703 lineto
-112.516 20.249 lineto
-110.125 20.249 lineto
-closepath
-123.082 20.249 M
-123.082 9.531 lineto
-125.973 9.531 lineto
-125.973 20.249 lineto
-123.082 20.249 lineto
-closepath
-123.082 7.718 M
-123.082 5.312 lineto
-125.973 5.312 lineto
-125.973 7.718 lineto
-123.082 7.718 lineto
-closepath
-129.586 20.249 M
-129.586 9.531 lineto
-132.352 9.531 lineto
-132.352 11.546 lineto
-133.617 9.281 135.961 9.281 QUADTO
-137.18 9.281 137.961 9.874 QUADTO
-138.742 10.468 138.914 11.546 QUADTO
-140.414 9.281 142.555 9.281 QUADTO
-145.492 9.281 145.492 12.531 QUADTO
-145.492 20.249 lineto
-142.711 20.249 lineto
-142.711 13.468 lineto
-142.711 11.562 141.445 11.562 QUADTO
-140.148 11.562 138.914 13.437 QUADTO
-138.914 20.249 lineto
-136.148 20.249 lineto
-136.148 13.468 lineto
-136.148 11.562 134.867 11.562 QUADTO
-133.586 11.562 132.352 13.437 QUADTO
-132.352 20.249 lineto
-129.586 20.249 lineto
-closepath
-155.605 20.249 M
-155.605 18.234 lineto
-154.199 20.499 151.949 20.499 QUADTO
-150.512 20.499 149.684 19.585 QUADTO
-148.855 18.671 148.855 17.109 QUADTO
-148.855 9.531 lineto
-151.746 9.531 lineto
-151.746 16.39 lineto
-151.746 18.218 152.965 18.218 QUADTO
-154.34 18.218 155.605 16.281 QUADTO
-155.605 9.531 lineto
-158.496 9.531 lineto
-158.496 20.249 lineto
-155.605 20.249 lineto
-closepath
-162.115 20.249 M
-162.115 9.531 lineto
-164.881 9.531 lineto
-164.881 11.546 lineto
-166.146 9.281 168.49 9.281 QUADTO
-169.709 9.281 170.49 9.874 QUADTO
-171.271 10.468 171.443 11.546 QUADTO
-172.943 9.281 175.084 9.281 QUADTO
-178.021 9.281 178.021 12.531 QUADTO
-178.021 20.249 lineto
-175.24 20.249 lineto
-175.24 13.468 lineto
-175.24 11.562 173.975 11.562 QUADTO
-172.678 11.562 171.443 13.437 QUADTO
-171.443 20.249 lineto
-168.678 20.249 lineto
-168.678 13.468 lineto
-168.678 11.562 167.396 11.562 QUADTO
-166.115 11.562 164.881 13.437 QUADTO
-164.881 20.249 lineto
-162.115 20.249 lineto
-closepath
-188.102 20.249 M
-188.102 5.796 lineto
-193.508 5.796 lineto
-197.914 5.796 197.914 9.374 QUADTO
-197.914 10.718 197.164 11.82 QUADTO
-196.414 12.921 195.102 13.499 QUADTO
-199.836 20.249 lineto
-196.18 20.249 lineto
-192.586 14.343 lineto
-190.93 14.343 lineto
-190.93 20.249 lineto
-188.102 20.249 lineto
-closepath
-190.93 12.359 M
-191.617 12.359 lineto
-194.898 12.359 194.898 9.718 QUADTO
-194.898 7.781 191.977 7.781 QUADTO
-190.93 7.781 lineto
-190.93 12.359 lineto
-closepath
-210.619 19.89 M
-208.572 20.499 206.713 20.499 QUADTO
-204.041 20.499 202.486 18.976 QUADTO
-200.932 17.453 200.932 14.812 QUADTO
-200.932 12.312 202.354 10.796 QUADTO
-203.775 9.281 206.104 9.281 QUADTO
-208.463 9.281 209.541 10.765 QUADTO
-210.619 12.249 210.619 15.468 QUADTO
-203.979 15.468 lineto
-204.275 18.531 207.338 18.531 QUADTO
-208.807 18.531 210.619 17.859 QUADTO
-210.619 19.89 lineto
-closepath
-203.932 13.828 M
-207.791 13.828 lineto
-207.791 11.093 206.01 11.093 QUADTO
-204.213 11.093 203.932 13.828 QUADTO
-closepath
-213.619 20.249 M
-213.619 4.828 lineto
-216.51 4.828 lineto
-216.51 11.546 lineto
-217.619 9.281 220.01 9.281 QUADTO
-221.947 9.281 223.057 10.695 QUADTO
-224.166 12.109 224.166 14.593 QUADTO
-224.166 17.281 222.916 18.89 QUADTO
-221.666 20.499 219.572 20.499 QUADTO
-217.775 20.499 216.51 19.171 QUADTO
-215.963 20.249 lineto
-213.619 20.249 lineto
-closepath
-216.51 17.453 M
-217.557 18.624 218.744 18.624 QUADTO
-219.822 18.624 220.455 17.593 QUADTO
-221.088 16.562 221.088 14.843 QUADTO
-221.088 11.546 218.963 11.546 QUADTO
-217.682 11.546 216.51 13.203 QUADTO
-216.51 17.453 lineto
-closepath
-233.496 20.249 M
-233.496 18.234 lineto
-232.09 20.499 229.84 20.499 QUADTO
-228.402 20.499 227.574 19.585 QUADTO
-226.746 18.671 226.746 17.109 QUADTO
-226.746 9.531 lineto
-229.637 9.531 lineto
-229.637 16.39 lineto
-229.637 18.218 230.855 18.218 QUADTO
-232.23 18.218 233.496 16.281 QUADTO
-233.496 9.531 lineto
-236.387 9.531 lineto
-236.387 20.249 lineto
-233.496 20.249 lineto
-closepath
-240.006 20.249 M
-240.006 9.531 lineto
-242.896 9.531 lineto
-242.896 20.249 lineto
-240.006 20.249 lineto
-closepath
-240.006 7.718 M
-240.006 5.312 lineto
-242.896 5.312 lineto
-242.896 7.718 lineto
-240.006 7.718 lineto
-closepath
-246.51 20.249 M
-246.51 4.828 lineto
-249.4 4.828 lineto
-249.4 20.249 lineto
-246.51 20.249 lineto
-closepath
-259.764 20.249 M
-259.764 18.234 lineto
-258.639 20.499 256.248 20.499 QUADTO
-254.311 20.499 253.209 19.078 QUADTO
-252.107 17.656 252.107 15.187 QUADTO
-252.107 12.484 253.357 10.882 QUADTO
-254.607 9.281 256.701 9.281 QUADTO
-258.373 9.281 259.764 10.609 QUADTO
-259.764 4.828 lineto
-262.654 4.828 lineto
-262.654 20.249 lineto
-259.764 20.249 lineto
-closepath
-259.764 12.328 M
-258.717 11.156 257.514 11.156 QUADTO
-256.451 11.156 255.818 12.179 QUADTO
-255.186 13.203 255.186 14.937 QUADTO
-255.186 18.234 257.295 18.234 QUADTO
-258.592 18.234 259.764 16.578 QUADTO
-259.764 12.328 lineto
-closepath
-272.857 20.249 M
-272.857 5.796 lineto
-275.857 5.796 lineto
-275.857 18.203 lineto
-282.373 18.203 lineto
-282.373 20.249 lineto
-272.857 20.249 lineto
-closepath
-288.988 20.499 M
-286.473 20.499 284.996 18.976 QUADTO
-283.52 17.453 283.52 14.89 QUADTO
-283.52 12.296 285.004 10.788 QUADTO
-286.488 9.281 289.051 9.281 QUADTO
-291.629 9.281 293.113 10.788 QUADTO
-294.598 12.296 294.598 14.874 QUADTO
-294.598 17.499 293.105 18.999 QUADTO
-291.613 20.499 288.988 20.499 QUADTO
-closepath
-289.035 18.687 M
-291.52 18.687 291.52 14.874 QUADTO
-291.52 13.124 290.863 12.109 QUADTO
-290.207 11.093 289.051 11.093 QUADTO
-287.91 11.093 287.254 12.109 QUADTO
-286.598 13.124 286.598 14.89 QUADTO
-286.598 16.64 287.246 17.663 QUADTO
-287.895 18.687 289.035 18.687 QUADTO
-closepath
-302.512 19.093 M
-301.059 20.499 299.418 20.499 QUADTO
-298.012 20.499 297.129 19.64 QUADTO
-296.246 18.781 296.246 17.406 QUADTO
-296.246 15.624 297.668 14.663 QUADTO
-299.09 13.703 301.746 13.703 QUADTO
-302.512 13.703 lineto
-302.512 12.734 lineto
-302.512 11.062 300.605 11.062 QUADTO
-298.918 11.062 297.184 12.015 QUADTO
-297.184 10.031 lineto
-299.152 9.281 301.074 9.281 QUADTO
-305.277 9.281 305.277 12.624 QUADTO
-305.277 17.374 lineto
-305.277 18.64 306.09 18.64 QUADTO
-306.246 18.64 306.48 18.593 QUADTO
-306.543 20.218 lineto
-305.621 20.499 304.918 20.499 QUADTO
-303.152 20.499 302.637 19.093 QUADTO
-302.512 19.093 lineto
-closepath
-302.512 17.546 M
-302.512 15.359 lineto
-301.824 15.359 lineto
-299.027 15.359 299.027 17.124 QUADTO
-299.027 17.718 299.434 18.124 QUADTO
-299.84 18.531 300.434 18.531 QUADTO
-301.449 18.531 302.512 17.546 QUADTO
-closepath
-315.77 20.249 M
-315.77 18.234 lineto
-314.645 20.499 312.254 20.499 QUADTO
-310.316 20.499 309.215 19.078 QUADTO
-308.113 17.656 308.113 15.187 QUADTO
-308.113 12.484 309.363 10.882 QUADTO
-310.613 9.281 312.707 9.281 QUADTO
-314.379 9.281 315.77 10.609 QUADTO
-315.77 4.828 lineto
-318.66 4.828 lineto
-318.66 20.249 lineto
-315.77 20.249 lineto
-closepath
-315.77 12.328 M
-314.723 11.156 313.52 11.156 QUADTO
-312.457 11.156 311.824 12.179 QUADTO
-311.191 13.203 311.191 14.937 QUADTO
-311.191 18.234 313.301 18.234 QUADTO
-314.598 18.234 315.77 16.578 QUADTO
-315.77 12.328 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-79.864 376.452 M
-320.136 376.452 lineto
-320.136 399 lineto
-79.864 399 lineto
-79.864 376.452 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 376.952 M
-319.636 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 398.5 M
-319.636 398.5 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 398.5 M
-80.364 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.636 398.5 M
-319.636 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.864 387.726 M
-97.864 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-87.864 384.726 M
-93.864 384.726 lineto
-93.864 390.726 lineto
-87.864 390.726 lineto
-87.864 384.726 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.864 384.726 M
-93.864 384.726 lineto
-93.864 390.726 lineto
-87.864 390.726 lineto
-87.864 384.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-102.989 392.002 M
-102.989 383.33 lineto
-105.349 383.33 lineto
-106.911 383.33 107.599 383.861 QUADTO
-108.286 384.392 108.286 385.595 QUADTO
-108.286 386.986 107.349 387.767 QUADTO
-106.411 388.549 104.755 388.549 QUADTO
-104.208 388.549 lineto
-104.208 392.002 lineto
-102.989 392.002 lineto
-closepath
-104.208 387.627 M
-104.708 387.627 lineto
-105.802 387.627 106.396 387.119 QUADTO
-106.989 386.611 106.989 385.689 QUADTO
-106.989 384.924 106.521 384.588 QUADTO
-106.052 384.252 104.958 384.252 QUADTO
-104.208 384.252 lineto
-104.208 387.627 lineto
-closepath
-114.013 388.689 M
-112.528 384.939 lineto
-111.06 388.689 lineto
-114.013 388.689 lineto
-closepath
-115.31 392.002 M
-114.372 389.595 lineto
-110.7 389.595 lineto
-109.747 392.002 lineto
-108.591 392.002 lineto
-112.044 383.33 lineto
-113.263 383.33 lineto
-116.638 392.002 lineto
-115.31 392.002 lineto
-closepath
-119.589 392.22 M
-118.729 392.22 117.37 391.83 QUADTO
-117.37 390.611 lineto
-118.823 391.299 119.776 391.299 QUADTO
-120.495 391.299 120.94 390.916 QUADTO
-121.386 390.533 121.386 389.908 QUADTO
-121.386 389.408 121.097 389.049 QUADTO
-120.808 388.689 120.026 388.252 QUADTO
-119.433 387.908 lineto
-118.323 387.267 117.87 386.713 QUADTO
-117.417 386.158 117.417 385.408 QUADTO
-117.417 384.408 118.144 383.759 QUADTO
-118.87 383.111 119.995 383.111 QUADTO
-120.995 383.111 122.104 383.439 QUADTO
-122.104 384.564 lineto
-120.729 384.033 120.058 384.033 QUADTO
-119.417 384.033 119.003 384.369 QUADTO
-118.589 384.705 118.589 385.22 QUADTO
-118.589 385.658 118.894 385.994 QUADTO
-119.198 386.33 120.011 386.799 QUADTO
-120.62 387.142 lineto
-121.745 387.783 122.19 388.353 QUADTO
-122.636 388.924 122.636 389.72 QUADTO
-122.636 390.845 121.808 391.533 QUADTO
-120.979 392.22 119.589 392.22 QUADTO
-closepath
-126.427 392.002 M
-126.427 384.252 lineto
-123.349 384.252 lineto
-123.349 383.33 lineto
-130.724 383.33 lineto
-130.724 384.252 lineto
-127.646 384.252 lineto
-127.646 392.002 lineto
-126.427 392.002 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-136.827 387.726 M
-150.827 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-146.827 387.726 M
-146.827 389.383 145.484 390.726 143.827 390.726 curveto
-142.17 390.726 140.827 389.383 140.827 387.726 curveto
-140.827 386.069 142.17 384.726 143.827 384.726 curveto
-145.484 384.726 146.827 386.069 146.827 387.726 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.827 387.726 M
-146.827 389.383 145.484 390.726 143.827 390.726 curveto
-142.17 390.726 140.827 389.383 140.827 387.726 curveto
-140.827 386.069 142.17 384.726 143.827 384.726 curveto
-145.484 384.726 146.827 386.069 146.827 387.726 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-155.952 392.002 M
-155.952 383.33 lineto
-157.108 383.33 lineto
-157.108 387.595 lineto
-160.608 383.33 lineto
-161.843 383.33 lineto
-158.452 387.47 lineto
-162.452 392.002 lineto
-160.89 392.002 lineto
-157.108 387.611 lineto
-157.108 392.002 lineto
-155.952 392.002 lineto
-closepath
-167.099 391.189 M
-166.067 392.142 165.099 392.142 QUADTO
-164.302 392.142 163.786 391.65 QUADTO
-163.271 391.158 163.271 390.408 QUADTO
-163.271 389.361 164.146 388.799 QUADTO
-165.021 388.236 166.646 388.236 QUADTO
-166.927 388.236 lineto
-166.927 387.47 lineto
-166.927 386.361 165.786 386.361 QUADTO
-164.88 386.361 163.817 386.924 QUADTO
-163.817 385.97 lineto
-164.989 385.502 166.005 385.502 QUADTO
-167.067 385.502 167.575 385.978 QUADTO
-168.083 386.455 168.083 387.47 QUADTO
-168.083 390.361 lineto
-168.083 391.345 168.692 391.345 QUADTO
-168.771 391.345 168.911 391.314 QUADTO
-168.989 391.955 lineto
-168.599 392.142 168.13 392.142 QUADTO
-167.317 392.142 167.099 391.189 QUADTO
-closepath
-166.927 390.564 M
-166.927 388.924 lineto
-166.536 388.908 lineto
-165.599 388.908 165.013 389.267 QUADTO
-164.427 389.627 164.427 390.22 QUADTO
-164.427 390.627 164.716 390.916 QUADTO
-165.005 391.205 165.427 391.205 QUADTO
-166.146 391.205 166.927 390.564 QUADTO
-closepath
-174.522 392.002 M
-174.522 390.799 lineto
-173.819 392.142 172.413 392.142 QUADTO
-171.257 392.142 170.601 391.306 QUADTO
-169.944 390.47 169.944 389.017 QUADTO
-169.944 387.424 170.687 386.463 QUADTO
-171.429 385.502 172.647 385.502 QUADTO
-173.788 385.502 174.522 386.361 QUADTO
-174.522 382.752 lineto
-175.694 382.752 lineto
-175.694 392.002 lineto
-174.522 392.002 lineto
-closepath
-174.522 387.158 M
-173.632 386.361 172.835 386.361 QUADTO
-171.163 386.361 171.163 388.908 QUADTO
-171.163 391.127 172.647 391.127 QUADTO
-173.601 391.127 174.522 390.08 QUADTO
-174.522 387.158 lineto
-closepath
-182.653 391.799 M
-181.497 392.142 180.669 392.142 QUADTO
-179.263 392.142 178.38 391.213 QUADTO
-177.497 390.283 177.497 388.783 QUADTO
-177.497 387.345 178.278 386.416 QUADTO
-179.06 385.486 180.278 385.486 QUADTO
-181.435 385.486 182.06 386.306 QUADTO
-182.685 387.127 182.685 388.642 QUADTO
-182.685 389.002 lineto
-178.669 389.002 lineto
-178.919 391.267 180.888 391.267 QUADTO
-181.606 391.267 182.653 390.877 QUADTO
-182.653 391.799 lineto
-closepath
-178.716 388.127 M
-181.528 388.127 lineto
-181.528 386.361 180.2 386.361 QUADTO
-178.872 386.361 178.716 388.127 QUADTO
-closepath
-184.683 392.002 M
-184.683 385.642 lineto
-185.839 385.642 lineto
-185.839 386.83 lineto
-186.683 385.502 188.011 385.502 QUADTO
-189.276 385.502 189.745 386.83 QUADTO
-190.558 385.486 191.87 385.486 QUADTO
-192.714 385.486 193.183 385.986 QUADTO
-193.651 386.486 193.651 387.377 QUADTO
-193.651 392.002 lineto
-192.479 392.002 lineto
-192.479 387.549 lineto
-192.479 386.47 191.62 386.47 QUADTO
-190.729 386.47 189.745 387.736 QUADTO
-189.745 392.002 lineto
-188.589 392.002 lineto
-188.589 387.549 lineto
-188.589 386.455 187.698 386.455 QUADTO
-186.839 386.455 185.839 387.736 QUADTO
-185.839 392.002 lineto
-184.683 392.002 lineto
-closepath
-195.886 392.002 M
-195.886 382.752 lineto
-197.042 382.752 lineto
-197.042 392.002 lineto
-195.886 392.002 lineto
-closepath
-199.354 392.002 M
-199.354 385.642 lineto
-200.511 385.642 lineto
-200.511 392.002 lineto
-199.354 392.002 lineto
-closepath
-199.354 384.486 M
-199.354 383.33 lineto
-200.511 383.33 lineto
-200.511 384.486 lineto
-199.354 384.486 lineto
-closepath
-206.104 391.189 M
-205.073 392.142 204.104 392.142 QUADTO
-203.308 392.142 202.792 391.65 QUADTO
-202.276 391.158 202.276 390.408 QUADTO
-202.276 389.361 203.151 388.799 QUADTO
-204.026 388.236 205.651 388.236 QUADTO
-205.933 388.236 lineto
-205.933 387.47 lineto
-205.933 386.361 204.792 386.361 QUADTO
-203.886 386.361 202.823 386.924 QUADTO
-202.823 385.97 lineto
-203.995 385.502 205.011 385.502 QUADTO
-206.073 385.502 206.581 385.978 QUADTO
-207.089 386.455 207.089 387.47 QUADTO
-207.089 390.361 lineto
-207.089 391.345 207.698 391.345 QUADTO
-207.776 391.345 207.917 391.314 QUADTO
-207.995 391.955 lineto
-207.604 392.142 207.136 392.142 QUADTO
-206.323 392.142 206.104 391.189 QUADTO
-closepath
-205.933 390.564 M
-205.933 388.924 lineto
-205.542 388.908 lineto
-204.604 388.908 204.019 389.267 QUADTO
-203.433 389.627 203.433 390.22 QUADTO
-203.433 390.627 203.722 390.916 QUADTO
-204.011 391.205 204.433 391.205 QUADTO
-205.151 391.205 205.933 390.564 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-214.294 387.726 M
-228.294 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-221.294 384.726 M
-224.294 390.726 lineto
-218.294 390.726 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.294 384.726 M
-224.294 390.726 lineto
-218.294 390.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-235.778 392.002 M
-232.513 383.33 lineto
-233.731 383.33 lineto
-236.419 390.424 lineto
-239.013 383.33 lineto
-240.091 383.33 lineto
-236.935 392.002 lineto
-235.778 392.002 lineto
-closepath
-245.952 391.799 M
-244.796 392.142 243.968 392.142 QUADTO
-242.562 392.142 241.679 391.213 QUADTO
-240.796 390.283 240.796 388.783 QUADTO
-240.796 387.345 241.577 386.416 QUADTO
-242.358 385.486 243.577 385.486 QUADTO
-244.733 385.486 245.358 386.306 QUADTO
-245.983 387.127 245.983 388.642 QUADTO
-245.983 389.002 lineto
-241.968 389.002 lineto
-242.218 391.267 244.187 391.267 QUADTO
-244.905 391.267 245.952 390.877 QUADTO
-245.952 391.799 lineto
-closepath
-242.015 388.127 M
-244.827 388.127 lineto
-244.827 386.361 243.499 386.361 QUADTO
-242.171 386.361 242.015 388.127 QUADTO
-closepath
-247.981 392.002 M
-247.981 385.642 lineto
-249.138 385.642 lineto
-249.138 386.83 lineto
-249.825 385.502 251.122 385.502 QUADTO
-251.31 385.502 251.497 385.533 QUADTO
-251.497 386.611 lineto
-251.2 386.502 250.966 386.502 QUADTO
-249.872 386.502 249.138 387.799 QUADTO
-249.138 392.002 lineto
-247.981 392.002 lineto
-closepath
-254.798 392.142 M
-253.923 392.142 253.431 391.642 QUADTO
-252.938 391.142 252.938 390.236 QUADTO
-252.938 386.502 lineto
-252.142 386.502 lineto
-252.142 385.642 lineto
-252.938 385.642 lineto
-252.938 384.486 lineto
-254.095 384.377 lineto
-254.095 385.642 lineto
-255.751 385.642 lineto
-255.751 386.502 lineto
-254.095 386.502 lineto
-254.095 390.033 lineto
-254.095 391.283 255.173 391.283 QUADTO
-255.392 391.283 255.72 391.205 QUADTO
-255.72 392.002 lineto
-255.188 392.142 254.798 392.142 QUADTO
-closepath
-262.036 391.799 M
-260.88 392.142 260.052 392.142 QUADTO
-258.646 392.142 257.763 391.213 QUADTO
-256.88 390.283 256.88 388.783 QUADTO
-256.88 387.345 257.661 386.416 QUADTO
-258.442 385.486 259.661 385.486 QUADTO
-260.817 385.486 261.442 386.306 QUADTO
-262.067 387.127 262.067 388.642 QUADTO
-262.067 389.002 lineto
-258.052 389.002 lineto
-258.302 391.267 260.271 391.267 QUADTO
-260.989 391.267 262.036 390.877 QUADTO
-262.036 391.799 lineto
-closepath
-258.099 388.127 M
-260.911 388.127 lineto
-260.911 386.361 259.583 386.361 QUADTO
-258.255 386.361 258.099 388.127 QUADTO
-closepath
-263.425 392.002 M
-265.847 388.72 lineto
-263.503 385.642 lineto
-264.862 385.642 lineto
-266.722 388.08 lineto
-268.409 385.642 lineto
-269.534 385.642 lineto
-267.331 388.861 lineto
-269.722 392.002 lineto
-268.347 392.002 lineto
-266.44 389.486 lineto
-264.581 392.002 lineto
-263.425 392.002 lineto
-closepath
-281.706 391.767 M
-280.128 392.22 278.956 392.22 QUADTO
-276.878 392.22 275.776 391.041 QUADTO
-274.675 389.861 274.675 387.658 QUADTO
-274.675 385.502 275.792 384.306 QUADTO
-276.909 383.111 278.94 383.111 QUADTO
-280.253 383.111 281.69 383.502 QUADTO
-281.69 384.642 lineto
-279.894 384.033 278.94 384.033 QUADTO
-277.534 384.033 276.761 384.986 QUADTO
-275.987 385.939 275.987 387.674 QUADTO
-275.987 389.392 276.815 390.345 QUADTO
-277.644 391.299 279.144 391.299 QUADTO
-279.769 391.299 280.472 391.08 QUADTO
-280.472 388.252 lineto
-281.706 388.252 lineto
-281.706 391.767 lineto
-closepath
-283.894 392.002 M
-283.894 385.642 lineto
-285.05 385.642 lineto
-285.05 386.83 lineto
-285.737 385.502 287.034 385.502 QUADTO
-287.222 385.502 287.409 385.533 QUADTO
-287.409 386.611 lineto
-287.112 386.502 286.878 386.502 QUADTO
-285.784 386.502 285.05 387.799 QUADTO
-285.05 392.002 lineto
-283.894 392.002 lineto
-closepath
-291.288 392.142 M
-289.929 392.142 289.116 391.236 QUADTO
-288.304 390.33 288.304 388.814 QUADTO
-288.304 387.283 289.116 386.392 QUADTO
-289.929 385.502 291.335 385.502 QUADTO
-292.741 385.502 293.554 386.392 QUADTO
-294.366 387.283 294.366 388.814 QUADTO
-294.366 390.361 293.546 391.252 QUADTO
-292.726 392.142 291.288 392.142 QUADTO
-closepath
-291.304 391.283 M
-293.147 391.283 293.147 388.814 QUADTO
-293.147 386.361 291.335 386.361 QUADTO
-289.522 386.361 289.522 388.814 QUADTO
-289.522 391.283 291.304 391.283 QUADTO
-closepath
-300.159 392.002 M
-300.159 390.799 lineto
-299.237 392.142 297.925 392.142 QUADTO
-297.081 392.142 296.589 391.619 QUADTO
-296.097 391.095 296.097 390.205 QUADTO
-296.097 385.642 lineto
-297.253 385.642 lineto
-297.253 389.83 lineto
-297.253 390.549 297.464 390.853 QUADTO
-297.675 391.158 298.159 391.158 QUADTO
-299.222 391.158 300.159 389.767 QUADTO
-300.159 385.642 lineto
-301.3 385.642 lineto
-301.3 392.002 lineto
-300.159 392.002 lineto
-closepath
-303.622 394.314 M
-303.622 385.642 lineto
-304.778 385.642 lineto
-304.778 386.83 lineto
-305.481 385.502 306.903 385.502 QUADTO
-308.044 385.502 308.708 386.338 QUADTO
-309.372 387.174 309.372 388.627 QUADTO
-309.372 390.205 308.622 391.174 QUADTO
-307.872 392.142 306.653 392.142 QUADTO
-305.528 392.142 304.778 391.283 QUADTO
-304.778 394.314 lineto
-303.622 394.314 lineto
-closepath
-304.778 390.486 M
-305.669 391.283 306.481 391.283 QUADTO
-308.138 391.283 308.138 388.736 QUADTO
-308.138 386.502 306.669 386.502 QUADTO
-305.7 386.502 304.778 387.549 QUADTO
-304.778 390.486 lineto
-closepath
-312.862 392.142 M
-312.065 392.142 310.94 391.783 QUADTO
-310.94 390.72 lineto
-312.065 391.283 312.909 391.283 QUADTO
-313.409 391.283 313.737 391.009 QUADTO
-314.065 390.736 314.065 390.33 QUADTO
-314.065 389.752 313.144 389.361 QUADTO
-312.472 389.064 lineto
-310.972 388.455 310.972 387.283 QUADTO
-310.972 386.455 311.565 385.978 QUADTO
-312.159 385.502 313.175 385.502 QUADTO
-313.706 385.502 314.503 385.642 QUADTO
-314.737 385.689 lineto
-314.737 386.658 lineto
-313.769 386.361 313.206 386.361 QUADTO
-312.081 386.361 312.081 387.174 QUADTO
-312.081 387.689 312.925 388.049 QUADTO
-313.487 388.283 lineto
-314.425 388.689 314.823 389.127 QUADTO
-315.222 389.564 315.222 390.236 QUADTO
-315.222 391.064 314.558 391.603 QUADTO
-313.894 392.142 312.862 392.142 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-69.533 34.247 M
-388 34.247 lineto
-388 325.931 lineto
-69.533 325.931 lineto
-69.533 34.247 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.533 329.931 M
-388 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-73.768 345.481 M
-73.768 344.465 lineto
-74.268 343.293 75.799 341.903 QUADTO
-76.471 341.309 lineto
-77.737 340.153 77.737 339.012 QUADTO
-77.737 338.293 77.307 337.879 QUADTO
-76.878 337.465 76.112 337.465 QUADTO
-75.206 337.465 73.987 338.153 QUADTO
-73.987 337.137 lineto
-75.143 336.59 76.268 336.59 QUADTO
-77.487 336.59 78.229 337.247 QUADTO
-78.971 337.903 78.971 338.981 QUADTO
-78.971 339.762 78.596 340.372 QUADTO
-78.221 340.981 77.206 341.84 QUADTO
-76.768 342.215 lineto
-75.378 343.387 75.159 344.465 QUADTO
-78.924 344.465 lineto
-78.924 345.481 lineto
-73.768 345.481 lineto
-closepath
-84.122 345.7 M
-82.778 345.7 81.95 344.434 QUADTO
-81.122 343.168 81.122 341.137 QUADTO
-81.122 339.09 81.958 337.84 QUADTO
-82.794 336.59 84.153 336.59 QUADTO
-85.512 336.59 86.348 337.84 QUADTO
-87.184 339.09 87.184 341.122 QUADTO
-87.184 343.2 86.348 344.45 QUADTO
-85.512 345.7 84.122 345.7 QUADTO
-closepath
-84.137 344.825 M
-85.965 344.825 85.965 341.106 QUADTO
-85.965 337.465 84.153 337.465 QUADTO
-82.356 337.465 82.356 341.137 QUADTO
-82.356 344.825 84.137 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.356 331.931 M
-80.356 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-103.284 345.418 M
-103.284 344.34 lineto
-104.534 344.825 105.237 344.825 QUADTO
-106.065 344.825 106.589 344.34 QUADTO
-107.112 343.856 107.112 343.09 QUADTO
-107.112 341.262 104.55 341.262 QUADTO
-104.081 341.262 lineto
-104.081 340.481 lineto
-104.487 340.481 lineto
-106.893 340.481 106.893 338.793 QUADTO
-106.893 337.465 105.315 337.465 QUADTO
-104.44 337.465 103.409 337.95 QUADTO
-103.409 336.934 lineto
-104.425 336.59 105.393 336.59 QUADTO
-108.05 336.59 108.05 338.606 QUADTO
-108.05 340.137 106.237 340.778 QUADTO
-108.346 341.262 108.346 343.075 QUADTO
-108.346 344.309 107.534 345.004 QUADTO
-106.721 345.7 105.315 345.7 QUADTO
-104.503 345.7 103.284 345.418 QUADTO
-closepath
-113.419 345.7 M
-112.075 345.7 111.247 344.434 QUADTO
-110.419 343.168 110.419 341.137 QUADTO
-110.419 339.09 111.255 337.84 QUADTO
-112.091 336.59 113.45 336.59 QUADTO
-114.809 336.59 115.645 337.84 QUADTO
-116.481 339.09 116.481 341.122 QUADTO
-116.481 343.2 115.645 344.45 QUADTO
-114.809 345.7 113.419 345.7 QUADTO
-closepath
-113.434 344.825 M
-115.262 344.825 115.262 341.106 QUADTO
-115.262 337.465 113.45 337.465 QUADTO
-111.653 337.465 111.653 341.137 QUADTO
-111.653 344.825 113.434 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-109.653 331.931 M
-109.653 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.44 331.931 M
-130.44 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.563 331.931 M
-146.563 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-159.737 331.931 M
-159.737 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.875 331.931 M
-170.875 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-180.523 331.931 M
-180.523 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.034 331.931 M
-189.034 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-196.646 331.931 M
-196.646 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-187.077 345.481 M
-187.077 344.606 lineto
-188.811 344.606 lineto
-188.811 337.762 lineto
-187.077 338.2 lineto
-187.077 337.309 lineto
-189.968 336.59 lineto
-189.968 344.606 lineto
-191.702 344.606 lineto
-191.702 345.481 lineto
-187.077 345.481 lineto
-closepath
-196.618 345.7 M
-195.274 345.7 194.446 344.434 QUADTO
-193.618 343.168 193.618 341.137 QUADTO
-193.618 339.09 194.454 337.84 QUADTO
-195.29 336.59 196.649 336.59 QUADTO
-198.009 336.59 198.845 337.84 QUADTO
-199.681 339.09 199.681 341.122 QUADTO
-199.681 343.2 198.845 344.45 QUADTO
-198.009 345.7 196.618 345.7 QUADTO
-closepath
-196.634 344.825 M
-198.462 344.825 198.462 341.106 QUADTO
-198.462 337.465 196.649 337.465 QUADTO
-194.852 337.465 194.852 341.137 QUADTO
-194.852 344.825 196.634 344.825 QUADTO
-closepath
-204.206 345.7 M
-202.862 345.7 202.034 344.434 QUADTO
-201.206 343.168 201.206 341.137 QUADTO
-201.206 339.09 202.042 337.84 QUADTO
-202.878 336.59 204.237 336.59 QUADTO
-205.597 336.59 206.433 337.84 QUADTO
-207.268 339.09 207.268 341.122 QUADTO
-207.268 343.2 206.433 344.45 QUADTO
-205.597 345.7 204.206 345.7 QUADTO
-closepath
-204.222 344.825 M
-206.05 344.825 206.05 341.106 QUADTO
-206.05 337.465 204.237 337.465 QUADTO
-202.44 337.465 202.44 341.137 QUADTO
-202.44 344.825 204.222 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-196.646 331.931 M
-196.646 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-236.348 345.481 M
-236.348 344.465 lineto
-236.848 343.293 238.379 341.903 QUADTO
-239.051 341.309 lineto
-240.317 340.153 240.317 339.012 QUADTO
-240.317 338.293 239.887 337.879 QUADTO
-239.457 337.465 238.692 337.465 QUADTO
-237.786 337.465 236.567 338.153 QUADTO
-236.567 337.137 lineto
-237.723 336.59 238.848 336.59 QUADTO
-240.067 336.59 240.809 337.247 QUADTO
-241.551 337.903 241.551 338.981 QUADTO
-241.551 339.762 241.176 340.372 QUADTO
-240.801 340.981 239.786 341.84 QUADTO
-239.348 342.215 lineto
-237.957 343.387 237.739 344.465 QUADTO
-241.504 344.465 lineto
-241.504 345.481 lineto
-236.348 345.481 lineto
-closepath
-246.702 345.7 M
-245.358 345.7 244.53 344.434 QUADTO
-243.702 343.168 243.702 341.137 QUADTO
-243.702 339.09 244.538 337.84 QUADTO
-245.373 336.59 246.733 336.59 QUADTO
-248.092 336.59 248.928 337.84 QUADTO
-249.764 339.09 249.764 341.122 QUADTO
-249.764 343.2 248.928 344.45 QUADTO
-248.092 345.7 246.702 345.7 QUADTO
-closepath
-246.717 344.825 M
-248.545 344.825 248.545 341.106 QUADTO
-248.545 337.465 246.733 337.465 QUADTO
-244.936 337.465 244.936 341.137 QUADTO
-244.936 344.825 246.717 344.825 QUADTO
-closepath
-254.29 345.7 M
-252.946 345.7 252.118 344.434 QUADTO
-251.29 343.168 251.29 341.137 QUADTO
-251.29 339.09 252.125 337.84 QUADTO
-252.961 336.59 254.321 336.59 QUADTO
-255.68 336.59 256.516 337.84 QUADTO
-257.352 339.09 257.352 341.122 QUADTO
-257.352 343.2 256.516 344.45 QUADTO
-255.68 345.7 254.29 345.7 QUADTO
-closepath
-254.305 344.825 M
-256.133 344.825 256.133 341.106 QUADTO
-256.133 337.465 254.321 337.465 QUADTO
-252.524 337.465 252.524 341.137 QUADTO
-252.524 344.825 254.305 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-246.73 331.931 M
-246.73 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-276.027 331.931 M
-276.027 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-296.813 331.931 M
-296.813 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-312.937 331.931 M
-312.937 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-326.11 331.931 M
-326.11 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-337.249 331.931 M
-337.249 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-346.897 331.931 M
-346.897 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-355.407 331.931 M
-355.407 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-363.02 331.931 M
-363.02 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-349.657 345.481 M
-349.657 344.606 lineto
-351.391 344.606 lineto
-351.391 337.762 lineto
-349.657 338.2 lineto
-349.657 337.309 lineto
-352.548 336.59 lineto
-352.548 344.606 lineto
-354.282 344.606 lineto
-354.282 345.481 lineto
-349.657 345.481 lineto
-closepath
-359.198 345.7 M
-357.854 345.7 357.026 344.434 QUADTO
-356.198 343.168 356.198 341.137 QUADTO
-356.198 339.09 357.034 337.84 QUADTO
-357.87 336.59 359.229 336.59 QUADTO
-360.589 336.59 361.425 337.84 QUADTO
-362.26 339.09 362.26 341.122 QUADTO
-362.26 343.2 361.425 344.45 QUADTO
-360.589 345.7 359.198 345.7 QUADTO
-closepath
-359.214 344.825 M
-361.042 344.825 361.042 341.106 QUADTO
-361.042 337.465 359.229 337.465 QUADTO
-357.432 337.465 357.432 341.137 QUADTO
-357.432 344.825 359.214 344.825 QUADTO
-closepath
-366.786 345.7 M
-365.442 345.7 364.614 344.434 QUADTO
-363.786 343.168 363.786 341.137 QUADTO
-363.786 339.09 364.622 337.84 QUADTO
-365.458 336.59 366.817 336.59 QUADTO
-368.177 336.59 369.012 337.84 QUADTO
-369.848 339.09 369.848 341.122 QUADTO
-369.848 343.2 369.012 344.45 QUADTO
-368.177 345.7 366.786 345.7 QUADTO
-closepath
-366.802 344.825 M
-368.63 344.825 368.63 341.106 QUADTO
-368.63 337.465 366.817 337.465 QUADTO
-365.02 337.465 365.02 341.137 QUADTO
-365.02 344.825 366.802 344.825 QUADTO
-closepath
-374.374 345.7 M
-373.03 345.7 372.202 344.434 QUADTO
-371.374 343.168 371.374 341.137 QUADTO
-371.374 339.09 372.21 337.84 QUADTO
-373.046 336.59 374.405 336.59 QUADTO
-375.764 336.59 376.6 337.84 QUADTO
-377.436 339.09 377.436 341.122 QUADTO
-377.436 343.2 376.6 344.45 QUADTO
-375.764 345.7 374.374 345.7 QUADTO
-closepath
-374.389 344.825 M
-376.218 344.825 376.218 341.106 QUADTO
-376.218 337.465 374.405 337.465 QUADTO
-372.608 337.465 372.608 341.137 QUADTO
-372.608 344.825 374.389 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-363.02 331.931 M
-363.02 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-208.267 364.954 M
-208.267 357.454 lineto
-210.282 357.454 lineto
-210.282 358.86 lineto
-211.282 357.282 212.845 357.282 QUADTO
-213.845 357.282 214.431 357.915 QUADTO
-215.017 358.548 215.017 359.641 QUADTO
-215.017 364.954 lineto
-212.985 364.954 lineto
-212.985 360.141 lineto
-212.985 358.876 212.142 358.876 QUADTO
-211.173 358.876 210.282 360.235 QUADTO
-210.282 364.954 lineto
-208.267 364.954 lineto
-closepath
-220.617 365.126 M
-218.852 365.126 217.82 364.063 QUADTO
-216.789 363.001 216.789 361.204 QUADTO
-216.789 359.376 217.828 358.329 QUADTO
-218.867 357.282 220.664 357.282 QUADTO
-222.461 357.282 223.5 358.329 QUADTO
-224.539 359.376 224.539 361.188 QUADTO
-224.539 363.032 223.492 364.079 QUADTO
-222.445 365.126 220.617 365.126 QUADTO
-closepath
-220.648 363.86 M
-222.383 363.86 222.383 361.188 QUADTO
-222.383 359.97 221.922 359.259 QUADTO
-221.461 358.548 220.664 358.548 QUADTO
-219.867 358.548 219.398 359.259 QUADTO
-218.93 359.97 218.93 361.204 QUADTO
-218.93 362.423 219.391 363.141 QUADTO
-219.852 363.86 220.648 363.86 QUADTO
-closepath
-231.121 364.954 M
-231.121 363.532 lineto
-230.34 365.126 228.668 365.126 QUADTO
-227.324 365.126 226.551 364.134 QUADTO
-225.777 363.141 225.777 361.407 QUADTO
-225.777 359.516 226.645 358.399 QUADTO
-227.512 357.282 228.98 357.282 QUADTO
-230.168 357.282 231.121 358.204 QUADTO
-231.121 354.157 lineto
-233.152 354.157 lineto
-233.152 364.954 lineto
-231.121 364.954 lineto
-closepath
-231.121 359.407 M
-230.387 358.595 229.559 358.595 QUADTO
-228.809 358.595 228.371 359.313 QUADTO
-227.934 360.032 227.934 361.235 QUADTO
-227.934 363.532 229.402 363.532 QUADTO
-230.309 363.532 231.121 362.376 QUADTO
-231.121 359.407 lineto
-closepath
-241.788 364.704 M
-240.351 365.126 239.054 365.126 QUADTO
-237.179 365.126 236.093 364.055 QUADTO
-235.007 362.985 235.007 361.141 QUADTO
-235.007 359.407 235.999 358.345 QUADTO
-236.991 357.282 238.632 357.282 QUADTO
-240.272 357.282 241.03 358.321 QUADTO
-241.788 359.36 241.788 361.61 QUADTO
-237.132 361.61 lineto
-237.335 363.751 239.491 363.751 QUADTO
-240.507 363.751 241.788 363.282 QUADTO
-241.788 364.704 lineto
-closepath
-237.101 360.47 M
-239.804 360.47 lineto
-239.804 358.548 238.569 358.548 QUADTO
-237.304 358.548 237.101 360.47 QUADTO
-closepath
-243.679 364.72 M
-243.679 363.235 lineto
-245.194 363.86 246.257 363.86 QUADTO
-247.491 363.86 247.491 363.016 QUADTO
-247.491 362.47 246.476 362.048 QUADTO
-245.788 361.782 lineto
-244.679 361.329 244.194 360.813 QUADTO
-243.71 360.298 243.71 359.532 QUADTO
-243.71 358.454 244.53 357.868 QUADTO
-245.351 357.282 246.804 357.282 QUADTO
-247.726 357.282 248.991 357.548 QUADTO
-248.991 358.97 lineto
-247.772 358.548 246.976 358.548 QUADTO
-245.71 358.548 245.71 359.313 QUADTO
-245.71 359.829 246.647 360.188 QUADTO
-247.226 360.407 lineto
-248.554 360.907 249.069 361.423 QUADTO
-249.585 361.938 249.585 362.751 QUADTO
-249.585 363.798 248.702 364.462 QUADTO
-247.819 365.126 246.413 365.126 QUADTO
-245.069 365.126 243.679 364.72 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-65.533 34.247 M
-65.533 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-55.711 330.426 M
-54.367 330.426 53.539 329.16 QUADTO
-52.711 327.894 52.711 325.863 QUADTO
-52.711 323.816 53.547 322.566 QUADTO
-54.383 321.316 55.742 321.316 QUADTO
-57.102 321.316 57.938 322.566 QUADTO
-58.773 323.816 58.773 325.848 QUADTO
-58.773 327.926 57.938 329.176 QUADTO
-57.102 330.426 55.711 330.426 QUADTO
-closepath
-55.727 329.551 M
-57.555 329.551 57.555 325.832 QUADTO
-57.555 322.191 55.742 322.191 QUADTO
-53.945 322.191 53.945 325.863 QUADTO
-53.945 329.551 55.727 329.551 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 325.931 M
-65.533 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-53.398 294.667 M
-53.398 293.636 lineto
-54.273 293.98 55.039 293.98 QUADTO
-55.898 293.98 56.391 293.48 QUADTO
-56.883 292.98 56.883 292.089 QUADTO
-56.883 290.136 54.195 290.136 QUADTO
-53.883 290.136 53.555 290.183 QUADTO
-53.555 285.964 lineto
-57.945 285.964 lineto
-57.945 286.964 lineto
-54.57 286.964 lineto
-54.57 289.261 lineto
-56.242 289.261 57.18 290.027 QUADTO
-58.117 290.792 58.117 292.152 QUADTO
-58.117 293.417 57.258 294.136 QUADTO
-56.398 294.855 54.898 294.855 QUADTO
-54.242 294.855 53.398 294.667 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 290.36 M
-65.533 290.36 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-46.17 259.065 M
-46.17 258.19 lineto
-47.904 258.19 lineto
-47.904 251.346 lineto
-46.17 251.784 lineto
-46.17 250.893 lineto
-49.061 250.174 lineto
-49.061 258.19 lineto
-50.795 258.19 lineto
-50.795 259.065 lineto
-46.17 259.065 lineto
-closepath
-55.711 259.284 M
-54.367 259.284 53.539 258.018 QUADTO
-52.711 256.753 52.711 254.721 QUADTO
-52.711 252.674 53.547 251.424 QUADTO
-54.383 250.174 55.742 250.174 QUADTO
-57.102 250.174 57.938 251.424 QUADTO
-58.773 252.674 58.773 254.706 QUADTO
-58.773 256.784 57.938 258.034 QUADTO
-57.102 259.284 55.711 259.284 QUADTO
-closepath
-55.727 258.409 M
-57.555 258.409 57.555 254.69 QUADTO
-57.555 251.049 55.742 251.049 QUADTO
-53.945 251.049 53.945 254.721 QUADTO
-53.945 258.409 55.727 258.409 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 254.789 M
-65.533 254.789 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-46.17 223.494 M
-46.17 222.619 lineto
-47.904 222.619 lineto
-47.904 215.775 lineto
-46.17 216.213 lineto
-46.17 215.322 lineto
-49.061 214.603 lineto
-49.061 222.619 lineto
-50.795 222.619 lineto
-50.795 223.494 lineto
-46.17 223.494 lineto
-closepath
-53.398 223.525 M
-53.398 222.494 lineto
-54.273 222.838 55.039 222.838 QUADTO
-55.898 222.838 56.391 222.338 QUADTO
-56.883 221.838 56.883 220.947 QUADTO
-56.883 218.994 54.195 218.994 QUADTO
-53.883 218.994 53.555 219.041 QUADTO
-53.555 214.822 lineto
-57.945 214.822 lineto
-57.945 215.822 lineto
-54.57 215.822 lineto
-54.57 218.119 lineto
-56.242 218.119 57.18 218.885 QUADTO
-58.117 219.65 58.117 221.01 QUADTO
-58.117 222.275 57.258 222.994 QUADTO
-56.398 223.713 54.898 223.713 QUADTO
-54.242 223.713 53.398 223.525 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 219.218 M
-65.533 219.218 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.357 187.923 M
-45.357 186.908 lineto
-45.857 185.736 47.389 184.345 QUADTO
-48.061 183.751 lineto
-49.326 182.595 49.326 181.454 QUADTO
-49.326 180.736 48.896 180.322 QUADTO
-48.467 179.908 47.701 179.908 QUADTO
-46.795 179.908 45.576 180.595 QUADTO
-45.576 179.579 lineto
-46.732 179.033 47.857 179.033 QUADTO
-49.076 179.033 49.818 179.689 QUADTO
-50.561 180.345 50.561 181.423 QUADTO
-50.561 182.204 50.186 182.814 QUADTO
-49.811 183.423 48.795 184.283 QUADTO
-48.357 184.658 lineto
-46.967 185.829 46.748 186.908 QUADTO
-50.514 186.908 lineto
-50.514 187.923 lineto
-45.357 187.923 lineto
-closepath
-55.711 188.142 M
-54.367 188.142 53.539 186.876 QUADTO
-52.711 185.611 52.711 183.579 QUADTO
-52.711 181.533 53.547 180.283 QUADTO
-54.383 179.033 55.742 179.033 QUADTO
-57.102 179.033 57.938 180.283 QUADTO
-58.773 181.533 58.773 183.564 QUADTO
-58.773 185.642 57.938 186.892 QUADTO
-57.102 188.142 55.711 188.142 QUADTO
-closepath
-55.727 187.267 M
-57.555 187.267 57.555 183.548 QUADTO
-57.555 179.908 55.742 179.908 QUADTO
-53.945 179.908 53.945 183.579 QUADTO
-53.945 187.267 55.727 187.267 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 183.648 M
-65.533 183.648 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.357 152.352 M
-45.357 151.337 lineto
-45.857 150.165 47.389 148.774 QUADTO
-48.061 148.18 lineto
-49.326 147.024 49.326 145.883 QUADTO
-49.326 145.165 48.896 144.751 QUADTO
-48.467 144.337 47.701 144.337 QUADTO
-46.795 144.337 45.576 145.024 QUADTO
-45.576 144.008 lineto
-46.732 143.462 47.857 143.462 QUADTO
-49.076 143.462 49.818 144.118 QUADTO
-50.561 144.774 50.561 145.852 QUADTO
-50.561 146.633 50.186 147.243 QUADTO
-49.811 147.852 48.795 148.712 QUADTO
-48.357 149.087 lineto
-46.967 150.258 46.748 151.337 QUADTO
-50.514 151.337 lineto
-50.514 152.352 lineto
-45.357 152.352 lineto
-closepath
-53.398 152.383 M
-53.398 151.352 lineto
-54.273 151.696 55.039 151.696 QUADTO
-55.898 151.696 56.391 151.196 QUADTO
-56.883 150.696 56.883 149.805 QUADTO
-56.883 147.852 54.195 147.852 QUADTO
-53.883 147.852 53.555 147.899 QUADTO
-53.555 143.68 lineto
-57.945 143.68 lineto
-57.945 144.68 lineto
-54.57 144.68 lineto
-54.57 146.977 lineto
-56.242 146.977 57.18 147.743 QUADTO
-58.117 148.508 58.117 149.868 QUADTO
-58.117 151.133 57.258 151.852 QUADTO
-56.398 152.571 54.898 152.571 QUADTO
-54.242 152.571 53.398 152.383 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 148.077 M
-65.533 148.077 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.576 116.719 M
-45.576 115.641 lineto
-46.826 116.125 47.529 116.125 QUADTO
-48.357 116.125 48.881 115.641 QUADTO
-49.404 115.156 49.404 114.391 QUADTO
-49.404 112.563 46.842 112.563 QUADTO
-46.373 112.563 lineto
-46.373 111.781 lineto
-46.779 111.781 lineto
-49.186 111.781 49.186 110.094 QUADTO
-49.186 108.766 47.607 108.766 QUADTO
-46.732 108.766 45.701 109.25 QUADTO
-45.701 108.234 lineto
-46.717 107.891 47.686 107.891 QUADTO
-50.342 107.891 50.342 109.906 QUADTO
-50.342 111.438 48.529 112.078 QUADTO
-50.639 112.563 50.639 114.375 QUADTO
-50.639 115.609 49.826 116.305 QUADTO
-49.014 117 47.607 117 QUADTO
-46.795 117 45.576 116.719 QUADTO
-closepath
-55.711 117 M
-54.367 117 53.539 115.734 QUADTO
-52.711 114.469 52.711 112.438 QUADTO
-52.711 110.391 53.547 109.141 QUADTO
-54.383 107.891 55.742 107.891 QUADTO
-57.102 107.891 57.938 109.141 QUADTO
-58.773 110.391 58.773 112.422 QUADTO
-58.773 114.5 57.938 115.75 QUADTO
-57.102 117 55.711 117 QUADTO
-closepath
-55.727 116.125 M
-57.555 116.125 57.555 112.406 QUADTO
-57.555 108.766 55.742 108.766 QUADTO
-53.945 108.766 53.945 112.438 QUADTO
-53.945 116.125 55.727 116.125 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 112.506 M
-65.533 112.506 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.576 81.148 M
-45.576 80.07 lineto
-46.826 80.554 47.529 80.554 QUADTO
-48.357 80.554 48.881 80.07 QUADTO
-49.404 79.585 49.404 78.82 QUADTO
-49.404 76.992 46.842 76.992 QUADTO
-46.373 76.992 lineto
-46.373 76.21 lineto
-46.779 76.21 lineto
-49.186 76.21 49.186 74.523 QUADTO
-49.186 73.195 47.607 73.195 QUADTO
-46.732 73.195 45.701 73.679 QUADTO
-45.701 72.663 lineto
-46.717 72.32 47.686 72.32 QUADTO
-50.342 72.32 50.342 74.335 QUADTO
-50.342 75.867 48.529 76.507 QUADTO
-50.639 76.992 50.639 78.804 QUADTO
-50.639 80.038 49.826 80.734 QUADTO
-49.014 81.429 47.607 81.429 QUADTO
-46.795 81.429 45.576 81.148 QUADTO
-closepath
-53.398 81.242 M
-53.398 80.21 lineto
-54.273 80.554 55.039 80.554 QUADTO
-55.898 80.554 56.391 80.054 QUADTO
-56.883 79.554 56.883 78.663 QUADTO
-56.883 76.71 54.195 76.71 QUADTO
-53.883 76.71 53.555 76.757 QUADTO
-53.555 72.538 lineto
-57.945 72.538 lineto
-57.945 73.538 lineto
-54.57 73.538 lineto
-54.57 75.835 lineto
-56.242 75.835 57.18 76.601 QUADTO
-58.117 77.367 58.117 78.726 QUADTO
-58.117 79.992 57.258 80.71 QUADTO
-56.398 81.429 54.898 81.429 QUADTO
-54.242 81.429 53.398 81.242 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 76.935 M
-65.533 76.935 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-48.873 45.639 M
-48.873 43.186 lineto
-44.967 43.186 lineto
-44.967 42.311 lineto
-48.873 36.967 lineto
-49.967 36.967 lineto
-49.967 42.233 lineto
-51.123 42.233 lineto
-51.123 43.186 lineto
-49.967 43.186 lineto
-49.967 45.639 lineto
-48.873 45.639 lineto
-closepath
-46.107 42.233 M
-48.951 42.233 lineto
-48.951 38.389 lineto
-46.107 42.233 lineto
-closepath
-55.711 45.858 M
-54.367 45.858 53.539 44.592 QUADTO
-52.711 43.327 52.711 41.296 QUADTO
-52.711 39.249 53.547 37.999 QUADTO
-54.383 36.749 55.742 36.749 QUADTO
-57.102 36.749 57.938 37.999 QUADTO
-58.773 39.249 58.773 41.28 QUADTO
-58.773 43.358 57.938 44.608 QUADTO
-57.102 45.858 55.711 45.858 QUADTO
-closepath
-55.727 44.983 M
-57.555 44.983 57.555 41.264 QUADTO
-57.555 37.624 55.742 37.624 QUADTO
-53.945 37.624 53.945 41.296 QUADTO
-53.945 44.983 55.727 44.983 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 41.364 M
-65.533 41.364 lineto
-stroke
-grestore
-gsave
-[0 -1 1 0 -149.21789 210.96009] concat
-newpath
-210.96 149.218 M
-210.96 549.218 lineto
--189.04 549.218 lineto
--189.04 149.218 lineto
-210.96 149.218 lineto
-closepath
-clip
-0.251 setgray
-newpath
--24.448 185.077 M
--24.448 174.28 lineto
--22.432 174.28 lineto
--22.432 185.077 lineto
--24.448 185.077 lineto
-closepath
--16.739 185.249 M
--18.504 185.249 -19.536 184.187 QUADTO
--20.567 183.124 -20.567 181.327 QUADTO
--20.567 179.499 -19.528 178.452 QUADTO
--18.489 177.405 -16.692 177.405 QUADTO
--14.895 177.405 -13.856 178.452 QUADTO
--12.817 179.499 -12.817 181.312 QUADTO
--12.817 183.155 -13.864 184.202 QUADTO
--14.911 185.249 -16.739 185.249 QUADTO
-closepath
--16.708 183.983 M
--14.973 183.983 -14.973 181.312 QUADTO
--14.973 180.093 -15.434 179.382 QUADTO
--15.895 178.671 -16.692 178.671 QUADTO
--17.489 178.671 -17.958 179.382 QUADTO
--18.426 180.093 -18.426 181.327 QUADTO
--18.426 182.546 -17.965 183.265 QUADTO
--17.504 183.983 -16.708 183.983 QUADTO
-closepath
--7.282 184.265 M
--8.282 185.249 -9.438 185.249 QUADTO
--10.422 185.249 -11.04 184.648 QUADTO
--11.657 184.046 -11.657 183.093 QUADTO
--11.657 181.843 -10.665 181.171 QUADTO
--9.672 180.499 -7.813 180.499 QUADTO
--7.282 180.499 lineto
--7.282 179.812 lineto
--7.282 178.64 -8.61 178.64 QUADTO
--9.797 178.64 -11 179.312 QUADTO
--11 177.921 lineto
--9.625 177.405 -8.282 177.405 QUADTO
--5.329 177.405 -5.329 179.749 QUADTO
--5.329 183.062 lineto
--5.329 183.952 -4.766 183.952 QUADTO
--4.672 183.952 -4.5 183.921 QUADTO
--4.454 185.062 lineto
--5.094 185.249 -5.594 185.249 QUADTO
--6.829 185.249 -7.188 184.265 QUADTO
--7.282 184.265 lineto
-closepath
--7.282 183.187 M
--7.282 181.655 lineto
--7.75 181.655 lineto
--9.719 181.655 -9.719 182.89 QUADTO
--9.719 183.312 -9.438 183.593 QUADTO
--9.157 183.874 -8.735 183.874 QUADTO
--8.016 183.874 -7.282 183.187 QUADTO
-closepath
-1.996 185.077 M
-1.996 183.655 lineto
-1.214 185.249 -0.458 185.249 QUADTO
--1.801 185.249 -2.575 184.257 QUADTO
--3.348 183.265 -3.348 181.53 QUADTO
--3.348 179.64 -2.481 178.523 QUADTO
--1.614 177.405 -0.145 177.405 QUADTO
-1.042 177.405 1.996 178.327 QUADTO
-1.996 174.28 lineto
-4.027 174.28 lineto
-4.027 185.077 lineto
-1.996 185.077 lineto
-closepath
-1.996 179.53 M
-1.261 178.718 0.433 178.718 QUADTO
--0.317 178.718 -0.754 179.437 QUADTO
--1.192 180.155 -1.192 181.358 QUADTO
--1.192 183.655 0.277 183.655 QUADTO
-1.183 183.655 1.996 182.499 QUADTO
-1.996 179.53 lineto
-closepath
-11.386 185.077 M
-11.386 178.843 lineto
-10.339 178.843 lineto
-10.339 177.577 lineto
-11.386 177.577 lineto
-11.386 177.03 lineto
-11.386 174.108 14.152 174.108 QUADTO
-15.042 174.108 15.996 174.374 QUADTO
-15.996 175.733 lineto
-15.136 175.374 14.449 175.374 QUADTO
-13.402 175.374 13.402 176.952 QUADTO
-13.402 177.577 lineto
-15.308 177.577 lineto
-15.308 178.843 lineto
-13.402 178.843 lineto
-13.402 185.077 lineto
-11.386 185.077 lineto
-closepath
-16.971 185.077 M
-16.971 177.577 lineto
-18.987 177.577 lineto
-18.987 178.983 lineto
-19.784 177.405 21.393 177.405 QUADTO
-21.581 177.405 21.768 177.437 QUADTO
-21.768 179.249 lineto
-21.331 179.093 20.956 179.093 QUADTO
-19.752 179.093 18.987 180.312 QUADTO
-18.987 185.077 lineto
-16.971 185.077 lineto
-closepath
-27.007 184.265 M
-26.007 185.249 24.851 185.249 QUADTO
-23.867 185.249 23.25 184.648 QUADTO
-22.632 184.046 22.632 183.093 QUADTO
-22.632 181.843 23.625 181.171 QUADTO
-24.617 180.499 26.476 180.499 QUADTO
-27.007 180.499 lineto
-27.007 179.812 lineto
-27.007 178.64 25.679 178.64 QUADTO
-24.492 178.64 23.289 179.312 QUADTO
-23.289 177.921 lineto
-24.664 177.405 26.007 177.405 QUADTO
-28.96 177.405 28.96 179.749 QUADTO
-28.96 183.062 lineto
-28.96 183.952 29.523 183.952 QUADTO
-29.617 183.952 29.789 183.921 QUADTO
-29.835 185.062 lineto
-29.195 185.249 28.695 185.249 QUADTO
-27.46 185.249 27.101 184.265 QUADTO
-27.007 184.265 lineto
-closepath
-27.007 183.187 M
-27.007 181.655 lineto
-26.539 181.655 lineto
-24.57 181.655 24.57 182.89 QUADTO
-24.57 183.312 24.851 183.593 QUADTO
-25.132 183.874 25.554 183.874 QUADTO
-26.273 183.874 27.007 183.187 QUADTO
-closepath
-37.097 184.905 M
-35.847 185.249 34.769 185.249 QUADTO
-32.972 185.249 31.933 184.194 QUADTO
-30.894 183.14 30.894 181.312 QUADTO
-30.894 179.483 31.964 178.444 QUADTO
-33.035 177.405 34.925 177.405 QUADTO
-35.847 177.405 37.035 177.687 QUADTO
-37.035 179.155 lineto
-35.8 178.749 35.05 178.749 QUADTO
-34.144 178.749 33.589 179.452 QUADTO
-33.035 180.155 33.035 181.296 QUADTO
-33.035 182.483 33.636 183.194 QUADTO
-34.238 183.905 35.222 183.905 QUADTO
-36.144 183.905 37.097 183.515 QUADTO
-37.097 184.905 lineto
-closepath
-42.892 185.03 M
-42.158 185.249 41.751 185.249 QUADTO
-39.111 185.249 39.111 182.78 QUADTO
-39.111 178.843 lineto
-38.267 178.843 lineto
-38.267 177.577 lineto
-39.111 177.577 lineto
-39.111 176.312 lineto
-41.142 176.077 lineto
-41.142 177.577 lineto
-42.736 177.577 lineto
-42.736 178.843 lineto
-41.142 178.843 lineto
-41.142 182.515 lineto
-41.142 183.905 42.267 183.905 QUADTO
-42.517 183.905 42.892 183.812 QUADTO
-42.892 185.03 lineto
-closepath
-44.691 185.077 M
-44.691 177.577 lineto
-46.707 177.577 lineto
-46.707 185.077 lineto
-44.691 185.077 lineto
-closepath
-44.691 176.312 M
-44.691 174.624 lineto
-46.707 174.624 lineto
-46.707 176.312 lineto
-44.691 176.312 lineto
-closepath
-52.4 185.249 M
-50.634 185.249 49.603 184.187 QUADTO
-48.572 183.124 48.572 181.327 QUADTO
-48.572 179.499 49.611 178.452 QUADTO
-50.65 177.405 52.447 177.405 QUADTO
-54.244 177.405 55.283 178.452 QUADTO
-56.322 179.499 56.322 181.312 QUADTO
-56.322 183.155 55.275 184.202 QUADTO
-54.228 185.249 52.4 185.249 QUADTO
-closepath
-52.431 183.983 M
-54.166 183.983 54.166 181.312 QUADTO
-54.166 180.093 53.705 179.382 QUADTO
-53.244 178.671 52.447 178.671 QUADTO
-51.65 178.671 51.181 179.382 QUADTO
-50.712 180.093 50.712 181.327 QUADTO
-50.712 182.546 51.173 183.265 QUADTO
-51.634 183.983 52.431 183.983 QUADTO
-closepath
-58.185 185.077 M
-58.185 177.577 lineto
-60.201 177.577 lineto
-60.201 178.983 lineto
-61.201 177.405 62.763 177.405 QUADTO
-63.763 177.405 64.349 178.038 QUADTO
-64.935 178.671 64.935 179.765 QUADTO
-64.935 185.077 lineto
-62.904 185.077 lineto
-62.904 180.265 lineto
-62.904 178.999 62.06 178.999 QUADTO
-61.091 178.999 60.201 180.358 QUADTO
-60.201 185.077 lineto
-58.185 185.077 lineto
-closepath
-70.629 174.202 M
-70.629 175.499 lineto
-68.801 177.343 68.801 180.687 QUADTO
-68.801 184.046 70.629 185.874 QUADTO
-70.629 187.187 lineto
-68.958 186.28 67.958 184.507 QUADTO
-66.958 182.733 66.958 180.687 QUADTO
-66.958 178.64 67.942 176.89 QUADTO
-68.926 175.14 70.629 174.202 QUADTO
-closepath
-72.13 185.327 M
-80.084 174.702 lineto
-81.443 174.702 lineto
-73.49 185.327 lineto
-72.13 185.327 lineto
-closepath
-73.849 180.015 M
-72.755 180.015 72.115 179.335 QUADTO
-71.474 178.655 71.474 177.483 QUADTO
-71.474 176.312 72.115 175.632 QUADTO
-72.755 174.952 73.88 174.952 QUADTO
-74.99 174.952 75.638 175.632 QUADTO
-76.287 176.312 76.287 177.483 QUADTO
-76.287 178.671 75.638 179.343 QUADTO
-74.99 180.015 73.849 180.015 QUADTO
-closepath
-73.865 178.999 M
-74.755 178.999 74.755 177.483 QUADTO
-74.755 175.968 73.88 175.968 QUADTO
-72.99 175.968 72.99 177.483 QUADTO
-72.99 178.999 73.865 178.999 QUADTO
-closepath
-79.677 185.077 M
-78.568 185.077 77.927 184.398 QUADTO
-77.287 183.718 77.287 182.546 QUADTO
-77.287 181.358 77.935 180.687 QUADTO
-78.584 180.015 79.693 180.015 QUADTO
-80.818 180.015 81.459 180.687 QUADTO
-82.099 181.358 82.099 182.546 QUADTO
-82.099 183.733 81.459 184.405 QUADTO
-80.818 185.077 79.677 185.077 QUADTO
-closepath
-79.677 184.062 M
-80.584 184.062 80.584 182.546 QUADTO
-80.584 181.03 79.693 181.03 QUADTO
-78.802 181.03 78.802 182.546 QUADTO
-78.802 184.062 79.677 184.062 QUADTO
-closepath
-82.751 174.202 M
-82.751 175.499 lineto
-84.58 177.343 84.58 180.687 QUADTO
-84.58 184.046 82.751 185.874 QUADTO
-82.751 187.187 lineto
-84.423 186.28 85.423 184.507 QUADTO
-86.423 182.733 86.423 180.687 QUADTO
-86.423 178.64 85.439 176.89 QUADTO
-84.455 175.14 82.751 174.202 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-80.356 34.247 M
-80.356 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-109.653 34.247 M
-109.653 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-130.44 34.247 M
-130.44 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-146.563 34.247 M
-146.563 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-159.737 34.247 M
-159.737 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-170.875 34.247 M
-170.875 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-180.523 34.247 M
-180.523 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-189.034 34.247 M
-189.034 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-196.646 34.247 M
-196.646 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-196.646 34.247 M
-196.646 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-246.73 34.247 M
-246.73 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-276.027 34.247 M
-276.027 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-296.813 34.247 M
-296.813 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-312.937 34.247 M
-312.937 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-326.11 34.247 M
-326.11 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-337.249 34.247 M
-337.249 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-346.897 34.247 M
-346.897 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-355.407 34.247 M
-355.407 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-363.02 34.247 M
-363.02 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-363.02 34.247 M
-363.02 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 325.931 M
-388 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 290.36 M
-388 290.36 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 254.789 M
-388 254.789 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 219.218 M
-388 219.218 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 183.648 M
-388 183.648 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 148.077 M
-388 148.077 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 112.506 M
-388 112.506 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 76.935 M
-388 76.935 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 41.364 M
-388 41.364 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-80.356 127.872 M
-130.44 155.447 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-130.44 155.447 M
-180.523 180.361 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-180.523 180.361 M
-230.607 179.233 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.607 179.233 M
-280.69 157.951 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-280.69 157.951 M
-330.774 173.883 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-330.774 173.883 M
-363.02 176.014 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-80.356 48.136 M
-130.44 50.015 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-130.44 50.015 M
-180.523 67.69 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-180.523 67.69 M
-230.607 75.402 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.607 75.402 M
-280.69 72.093 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-280.69 72.093 M
-330.774 62.685 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-330.774 62.685 M
-363.02 77.646 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-80.356 72.424 M
-130.44 72.499 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-130.44 72.499 M
-180.523 57.335 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-180.523 57.335 M
-230.607 69.571 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.607 69.571 M
-280.69 64.218 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-280.69 64.218 M
-330.774 72.574 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-330.774 72.574 M
-363.02 68.43 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-80.356 124.872 M
-83.356 130.872 lineto
-77.356 130.872 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.356 124.872 M
-83.356 130.872 lineto
-77.356 130.872 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-130.44 152.447 M
-133.44 158.447 lineto
-127.44 158.447 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.44 152.447 M
-133.44 158.447 lineto
-127.44 158.447 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-180.523 177.361 M
-183.523 183.361 lineto
-177.523 183.361 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-180.523 177.361 M
-183.523 183.361 lineto
-177.523 183.361 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-230.607 176.233 M
-233.607 182.233 lineto
-227.607 182.233 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-230.607 176.233 M
-233.607 182.233 lineto
-227.607 182.233 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-280.69 154.951 M
-283.69 160.951 lineto
-277.69 160.951 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-280.69 154.951 M
-283.69 160.951 lineto
-277.69 160.951 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-330.774 170.883 M
-333.774 176.883 lineto
-327.774 176.883 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-330.774 170.883 M
-333.774 176.883 lineto
-327.774 176.883 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-363.02 173.014 M
-366.02 179.014 lineto
-360.02 179.014 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-363.02 173.014 M
-366.02 179.014 lineto
-360.02 179.014 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-83.356 48.136 M
-83.356 49.793 82.013 51.136 80.356 51.136 curveto
-78.699 51.136 77.356 49.793 77.356 48.136 curveto
-77.356 46.48 78.699 45.136 80.356 45.136 curveto
-82.013 45.136 83.356 46.48 83.356 48.136 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.356 48.136 M
-83.356 49.793 82.013 51.136 80.356 51.136 curveto
-78.699 51.136 77.356 49.793 77.356 48.136 curveto
-77.356 46.48 78.699 45.136 80.356 45.136 curveto
-82.013 45.136 83.356 46.48 83.356 48.136 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-133.44 50.015 M
-133.44 51.671 132.096 53.015 130.44 53.015 curveto
-128.783 53.015 127.44 51.671 127.44 50.015 curveto
-127.44 48.358 128.783 47.015 130.44 47.015 curveto
-132.096 47.015 133.44 48.358 133.44 50.015 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-133.44 50.015 M
-133.44 51.671 132.096 53.015 130.44 53.015 curveto
-128.783 53.015 127.44 51.671 127.44 50.015 curveto
-127.44 48.358 128.783 47.015 130.44 47.015 curveto
-132.096 47.015 133.44 48.358 133.44 50.015 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-183.523 67.69 M
-183.523 69.347 182.18 70.69 180.523 70.69 curveto
-178.866 70.69 177.523 69.347 177.523 67.69 curveto
-177.523 66.033 178.866 64.69 180.523 64.69 curveto
-182.18 64.69 183.523 66.033 183.523 67.69 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-183.523 67.69 M
-183.523 69.347 182.18 70.69 180.523 70.69 curveto
-178.866 70.69 177.523 69.347 177.523 67.69 curveto
-177.523 66.033 178.866 64.69 180.523 64.69 curveto
-182.18 64.69 183.523 66.033 183.523 67.69 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-233.607 75.402 M
-233.607 77.058 232.264 78.402 230.607 78.402 curveto
-228.95 78.402 227.607 77.058 227.607 75.402 curveto
-227.607 73.745 228.95 72.402 230.607 72.402 curveto
-232.264 72.402 233.607 73.745 233.607 75.402 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-233.607 75.402 M
-233.607 77.058 232.264 78.402 230.607 78.402 curveto
-228.95 78.402 227.607 77.058 227.607 75.402 curveto
-227.607 73.745 228.95 72.402 230.607 72.402 curveto
-232.264 72.402 233.607 73.745 233.607 75.402 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-283.69 72.093 M
-283.69 73.75 282.347 75.093 280.69 75.093 curveto
-279.033 75.093 277.69 73.75 277.69 72.093 curveto
-277.69 70.437 279.033 69.093 280.69 69.093 curveto
-282.347 69.093 283.69 70.437 283.69 72.093 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-283.69 72.093 M
-283.69 73.75 282.347 75.093 280.69 75.093 curveto
-279.033 75.093 277.69 73.75 277.69 72.093 curveto
-277.69 70.437 279.033 69.093 280.69 69.093 curveto
-282.347 69.093 283.69 70.437 283.69 72.093 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-333.774 62.685 M
-333.774 64.342 332.431 65.685 330.774 65.685 curveto
-329.117 65.685 327.774 64.342 327.774 62.685 curveto
-327.774 61.028 329.117 59.685 330.774 59.685 curveto
-332.431 59.685 333.774 61.028 333.774 62.685 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-333.774 62.685 M
-333.774 64.342 332.431 65.685 330.774 65.685 curveto
-329.117 65.685 327.774 64.342 327.774 62.685 curveto
-327.774 61.028 329.117 59.685 330.774 59.685 curveto
-332.431 59.685 333.774 61.028 333.774 62.685 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-366.02 77.646 M
-366.02 79.303 364.677 80.646 363.02 80.646 curveto
-361.363 80.646 360.02 79.303 360.02 77.646 curveto
-360.02 75.989 361.363 74.646 363.02 74.646 curveto
-364.677 74.646 366.02 75.989 366.02 77.646 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-366.02 77.646 M
-366.02 79.303 364.677 80.646 363.02 80.646 curveto
-361.363 80.646 360.02 79.303 360.02 77.646 curveto
-360.02 75.989 361.363 74.646 363.02 74.646 curveto
-364.677 74.646 366.02 75.989 366.02 77.646 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-77.356 69.424 M
-83.356 69.424 lineto
-83.356 75.424 lineto
-77.356 75.424 lineto
-77.356 69.424 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-77.356 69.424 M
-83.356 69.424 lineto
-83.356 75.424 lineto
-77.356 75.424 lineto
-77.356 69.424 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-127.44 69.499 M
-133.44 69.499 lineto
-133.44 75.499 lineto
-127.44 75.499 lineto
-127.44 69.499 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.44 69.499 M
-133.44 69.499 lineto
-133.44 75.499 lineto
-127.44 75.499 lineto
-127.44 69.499 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-177.523 54.335 M
-183.523 54.335 lineto
-183.523 60.335 lineto
-177.523 60.335 lineto
-177.523 54.335 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-177.523 54.335 M
-183.523 54.335 lineto
-183.523 60.335 lineto
-177.523 60.335 lineto
-177.523 54.335 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-227.607 66.571 M
-233.607 66.571 lineto
-233.607 72.571 lineto
-227.607 72.571 lineto
-227.607 66.571 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.607 66.571 M
-233.607 66.571 lineto
-233.607 72.571 lineto
-227.607 72.571 lineto
-227.607 66.571 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-277.69 61.218 M
-283.69 61.218 lineto
-283.69 67.218 lineto
-277.69 67.218 lineto
-277.69 61.218 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-277.69 61.218 M
-283.69 61.218 lineto
-283.69 67.218 lineto
-277.69 67.218 lineto
-277.69 61.218 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-327.774 69.574 M
-333.774 69.574 lineto
-333.774 75.574 lineto
-327.774 75.574 lineto
-327.774 69.574 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-327.774 69.574 M
-333.774 69.574 lineto
-333.774 75.574 lineto
-327.774 75.574 lineto
-327.774 69.574 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-360.02 65.43 M
-366.02 65.43 lineto
-366.02 71.43 lineto
-360.02 71.43 lineto
-360.02 65.43 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-360.02 65.43 M
-366.02 65.43 lineto
-366.02 71.43 lineto
-360.02 71.43 lineto
-360.02 65.43 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-0.5 setlinewidth
-newpath
-69.533 34.247 M
-388 34.247 lineto
-388 325.931 lineto
-69.533 325.931 lineto
-69.533 34.247 lineto
-closepath
-stroke
-grestore
-%%Trailer
-%%Pages: 1
-%%EOF
diff --git a/sim/gobs/wiki/dc03kpv03.cfg b/sim/gobs/wiki/dc03kpv03.cfg
deleted file mode 100644
index 016f47b..0000000
--- a/sim/gobs/wiki/dc03kpv03.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv03.cfg system_size_20-1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/wiki/dc03kpv03.eps b/sim/gobs/wiki/dc03kpv03.eps
deleted file mode 100644
index ef8fba8..0000000
--- a/sim/gobs/wiki/dc03kpv03.eps
+++ /dev/null
@@ -1,4485 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (Apache XML Graphics Commons: EPS Generator for Java2D)
-%%CreationDate: 2009-10-05T10:42:53
-%%Pages: (atend)
-%%BoundingBox: 0 0 400 400
-%%LanguageLevel: 3
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset (Apache XML Graphics Std ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2001-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (Basic set of procedures used by the XML Graphics project \(Batik and FOP\))
-/bd{bind def}bind def
-/ld{load def}bd
-/M/moveto ld
-/RM/rmoveto ld
-/t/show ld
-/A/ashow ld
-/cp/closepath ld
-/re {4 2 roll M
-1 index 0 rlineto
-0 exch rlineto
-neg 0 rlineto
-cp } bd
-/_ctm matrix def
-/_tm matrix def
-/BT { _ctm currentmatrix pop matrix _tm copy pop 0 0 moveto } bd
-/ET { _ctm setmatrix } bd
-/iTm { _ctm setmatrix _tm concat } bd
-/Tm { _tm astore pop iTm 0 0 moveto } bd
-/ux 0.0 def
-/uy 0.0 def
-/F {
- /Tp exch def
- /Tf exch def
- Tf findfont Tp scalefont setfont
- /cf Tf def /cs Tp def /cw ( ) stringwidth pop def
-} bd
-/ULS {currentpoint /uy exch def /ux exch def} bd
-/ULE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add moveto Tcx uy To add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/OLE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs add moveto Tcx uy To add cs add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/SOE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs 10 mul 26 idiv add moveto Tcx uy To add cs 10 mul 26 idiv add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/QUADTO {
-/Y22 exch store
-/X22 exch store
-/Y21 exch store
-/X21 exch store
-currentpoint
-/Y21 load 2 mul add 3 div exch
-/X21 load 2 mul add 3 div exch
-/X21 load 2 mul /X22 load add 3 div
-/Y21 load 2 mul /Y22 load add 3 div
-/X22 load /Y22 load curveto
-} bd
-/SSPD {
-dup length /d exch dict def
-{
-/v exch def
-/k exch def
-currentpagedevice k known {
-/cpdv currentpagedevice k get def
-v cpdv ne {
-/upd false def
-/nullv v type /nulltype eq def
-/nullcpdv cpdv type /nulltype eq def
-nullv nullcpdv or
-{
-/upd true def
-} {
-/sametype v type cpdv type eq def
-sametype {
-v type /arraytype eq {
-/vlen v length def
-/cpdvlen cpdv length def
-vlen cpdvlen eq {
-0 1 vlen 1 sub {
-/i exch def
-/obj v i get def
-/cpdobj cpdv i get def
-obj cpdobj ne {
-/upd true def
-exit
-} if
-} for
-} {
-/upd true def
-} ifelse
-} {
-v type /dicttype eq {
-v {
-/dv exch def
-/dk exch def
-/cpddv cpdv dk get def
-dv cpddv ne {
-/upd true def
-exit
-} if
-} forall
-} {
-/upd true def
-} ifelse
-} ifelse
-} if
-} ifelse
-upd true eq {
-d k v put
-} if
-} if
-} if
-} forall
-d length 0 gt {
-d setpagedevice
-} if
-} bd
-%%EndResource
-%%BeginResource: procset (Apache XML Graphics EPS ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2002-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (EPS procedures used by the Apache XML Graphics project \(Batik and FOP\))
-/BeginEPSF { %def
-/b4_Inc_state save def % Save state for cleanup
-/dict_count countdictstack def % Count objects on dict stack
-/op_count count 1 sub def % Count objects on operand stack
-userdict begin % Push userdict on dict stack
-/showpage { } def % Redefine showpage, { } = null proc
-0 setgray 0 setlinecap % Prepare graphics state
-1 setlinewidth 0 setlinejoin
-10 setmiterlimit [ ] 0 setdash newpath
-/languagelevel where % If level not equal to 1 then
-{pop languagelevel % set strokeadjust and
-1 ne % overprint to their defaults.
-{false setstrokeadjust false setoverprint
-} if
-} if
-} bd
-/EndEPSF { %def
-count op_count sub {pop} repeat % Clean up stacks
-countdictstack dict_count sub {end} repeat
-b4_Inc_state restore
-} bd
-%%EndResource
-%%EndProlog
-%%Page: 1 1
-%%PageBoundingBox: 0 0 400 400
-%%BeginPageSetup
-[1 0 0 -1 0 400] concat
-%%EndPageSetup
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-81.354 20.249 M
-81.354 5.796 lineto
-85.338 5.796 lineto
-88.807 15.968 lineto
-92.4 5.796 lineto
-95.885 5.796 lineto
-95.885 20.249 lineto
-93.119 20.249 lineto
-93.119 9.343 lineto
-89.588 19.281 lineto
-87.166 19.281 lineto
-83.713 9.187 lineto
-83.713 20.249 lineto
-81.354 20.249 lineto
-closepath
-104.758 19.093 M
-103.305 20.499 101.664 20.499 QUADTO
-100.258 20.499 99.375 19.64 QUADTO
-98.492 18.781 98.492 17.406 QUADTO
-98.492 15.624 99.914 14.663 QUADTO
-101.336 13.703 103.992 13.703 QUADTO
-104.758 13.703 lineto
-104.758 12.734 lineto
-104.758 11.062 102.852 11.062 QUADTO
-101.164 11.062 99.43 12.015 QUADTO
-99.43 10.031 lineto
-101.398 9.281 103.32 9.281 QUADTO
-107.523 9.281 107.523 12.624 QUADTO
-107.523 17.374 lineto
-107.523 18.64 108.336 18.64 QUADTO
-108.492 18.64 108.727 18.593 QUADTO
-108.789 20.218 lineto
-107.867 20.499 107.164 20.499 QUADTO
-105.398 20.499 104.883 19.093 QUADTO
-104.758 19.093 lineto
-closepath
-104.758 17.546 M
-104.758 15.359 lineto
-104.07 15.359 lineto
-101.273 15.359 101.273 17.124 QUADTO
-101.273 17.718 101.68 18.124 QUADTO
-102.086 18.531 102.68 18.531 QUADTO
-103.695 18.531 104.758 17.546 QUADTO
-closepath
-110.125 20.249 M
-113.797 14.874 lineto
-110.281 9.531 lineto
-113.562 9.531 lineto
-115.875 12.921 lineto
-118.078 9.531 lineto
-120.422 9.531 lineto
-117.062 14.796 lineto
-120.672 20.249 lineto
-117.375 20.249 lineto
-114.969 16.703 lineto
-112.516 20.249 lineto
-110.125 20.249 lineto
-closepath
-123.082 20.249 M
-123.082 9.531 lineto
-125.973 9.531 lineto
-125.973 20.249 lineto
-123.082 20.249 lineto
-closepath
-123.082 7.718 M
-123.082 5.312 lineto
-125.973 5.312 lineto
-125.973 7.718 lineto
-123.082 7.718 lineto
-closepath
-129.586 20.249 M
-129.586 9.531 lineto
-132.352 9.531 lineto
-132.352 11.546 lineto
-133.617 9.281 135.961 9.281 QUADTO
-137.18 9.281 137.961 9.874 QUADTO
-138.742 10.468 138.914 11.546 QUADTO
-140.414 9.281 142.555 9.281 QUADTO
-145.492 9.281 145.492 12.531 QUADTO
-145.492 20.249 lineto
-142.711 20.249 lineto
-142.711 13.468 lineto
-142.711 11.562 141.445 11.562 QUADTO
-140.148 11.562 138.914 13.437 QUADTO
-138.914 20.249 lineto
-136.148 20.249 lineto
-136.148 13.468 lineto
-136.148 11.562 134.867 11.562 QUADTO
-133.586 11.562 132.352 13.437 QUADTO
-132.352 20.249 lineto
-129.586 20.249 lineto
-closepath
-155.605 20.249 M
-155.605 18.234 lineto
-154.199 20.499 151.949 20.499 QUADTO
-150.512 20.499 149.684 19.585 QUADTO
-148.855 18.671 148.855 17.109 QUADTO
-148.855 9.531 lineto
-151.746 9.531 lineto
-151.746 16.39 lineto
-151.746 18.218 152.965 18.218 QUADTO
-154.34 18.218 155.605 16.281 QUADTO
-155.605 9.531 lineto
-158.496 9.531 lineto
-158.496 20.249 lineto
-155.605 20.249 lineto
-closepath
-162.115 20.249 M
-162.115 9.531 lineto
-164.881 9.531 lineto
-164.881 11.546 lineto
-166.146 9.281 168.49 9.281 QUADTO
-169.709 9.281 170.49 9.874 QUADTO
-171.271 10.468 171.443 11.546 QUADTO
-172.943 9.281 175.084 9.281 QUADTO
-178.021 9.281 178.021 12.531 QUADTO
-178.021 20.249 lineto
-175.24 20.249 lineto
-175.24 13.468 lineto
-175.24 11.562 173.975 11.562 QUADTO
-172.678 11.562 171.443 13.437 QUADTO
-171.443 20.249 lineto
-168.678 20.249 lineto
-168.678 13.468 lineto
-168.678 11.562 167.396 11.562 QUADTO
-166.115 11.562 164.881 13.437 QUADTO
-164.881 20.249 lineto
-162.115 20.249 lineto
-closepath
-188.102 20.249 M
-188.102 5.796 lineto
-193.508 5.796 lineto
-197.914 5.796 197.914 9.374 QUADTO
-197.914 10.718 197.164 11.82 QUADTO
-196.414 12.921 195.102 13.499 QUADTO
-199.836 20.249 lineto
-196.18 20.249 lineto
-192.586 14.343 lineto
-190.93 14.343 lineto
-190.93 20.249 lineto
-188.102 20.249 lineto
-closepath
-190.93 12.359 M
-191.617 12.359 lineto
-194.898 12.359 194.898 9.718 QUADTO
-194.898 7.781 191.977 7.781 QUADTO
-190.93 7.781 lineto
-190.93 12.359 lineto
-closepath
-210.619 19.89 M
-208.572 20.499 206.713 20.499 QUADTO
-204.041 20.499 202.486 18.976 QUADTO
-200.932 17.453 200.932 14.812 QUADTO
-200.932 12.312 202.354 10.796 QUADTO
-203.775 9.281 206.104 9.281 QUADTO
-208.463 9.281 209.541 10.765 QUADTO
-210.619 12.249 210.619 15.468 QUADTO
-203.979 15.468 lineto
-204.275 18.531 207.338 18.531 QUADTO
-208.807 18.531 210.619 17.859 QUADTO
-210.619 19.89 lineto
-closepath
-203.932 13.828 M
-207.791 13.828 lineto
-207.791 11.093 206.01 11.093 QUADTO
-204.213 11.093 203.932 13.828 QUADTO
-closepath
-213.619 20.249 M
-213.619 4.828 lineto
-216.51 4.828 lineto
-216.51 11.546 lineto
-217.619 9.281 220.01 9.281 QUADTO
-221.947 9.281 223.057 10.695 QUADTO
-224.166 12.109 224.166 14.593 QUADTO
-224.166 17.281 222.916 18.89 QUADTO
-221.666 20.499 219.572 20.499 QUADTO
-217.775 20.499 216.51 19.171 QUADTO
-215.963 20.249 lineto
-213.619 20.249 lineto
-closepath
-216.51 17.453 M
-217.557 18.624 218.744 18.624 QUADTO
-219.822 18.624 220.455 17.593 QUADTO
-221.088 16.562 221.088 14.843 QUADTO
-221.088 11.546 218.963 11.546 QUADTO
-217.682 11.546 216.51 13.203 QUADTO
-216.51 17.453 lineto
-closepath
-233.496 20.249 M
-233.496 18.234 lineto
-232.09 20.499 229.84 20.499 QUADTO
-228.402 20.499 227.574 19.585 QUADTO
-226.746 18.671 226.746 17.109 QUADTO
-226.746 9.531 lineto
-229.637 9.531 lineto
-229.637 16.39 lineto
-229.637 18.218 230.855 18.218 QUADTO
-232.23 18.218 233.496 16.281 QUADTO
-233.496 9.531 lineto
-236.387 9.531 lineto
-236.387 20.249 lineto
-233.496 20.249 lineto
-closepath
-240.006 20.249 M
-240.006 9.531 lineto
-242.896 9.531 lineto
-242.896 20.249 lineto
-240.006 20.249 lineto
-closepath
-240.006 7.718 M
-240.006 5.312 lineto
-242.896 5.312 lineto
-242.896 7.718 lineto
-240.006 7.718 lineto
-closepath
-246.51 20.249 M
-246.51 4.828 lineto
-249.4 4.828 lineto
-249.4 20.249 lineto
-246.51 20.249 lineto
-closepath
-259.764 20.249 M
-259.764 18.234 lineto
-258.639 20.499 256.248 20.499 QUADTO
-254.311 20.499 253.209 19.078 QUADTO
-252.107 17.656 252.107 15.187 QUADTO
-252.107 12.484 253.357 10.882 QUADTO
-254.607 9.281 256.701 9.281 QUADTO
-258.373 9.281 259.764 10.609 QUADTO
-259.764 4.828 lineto
-262.654 4.828 lineto
-262.654 20.249 lineto
-259.764 20.249 lineto
-closepath
-259.764 12.328 M
-258.717 11.156 257.514 11.156 QUADTO
-256.451 11.156 255.818 12.179 QUADTO
-255.186 13.203 255.186 14.937 QUADTO
-255.186 18.234 257.295 18.234 QUADTO
-258.592 18.234 259.764 16.578 QUADTO
-259.764 12.328 lineto
-closepath
-272.857 20.249 M
-272.857 5.796 lineto
-275.857 5.796 lineto
-275.857 18.203 lineto
-282.373 18.203 lineto
-282.373 20.249 lineto
-272.857 20.249 lineto
-closepath
-288.988 20.499 M
-286.473 20.499 284.996 18.976 QUADTO
-283.52 17.453 283.52 14.89 QUADTO
-283.52 12.296 285.004 10.788 QUADTO
-286.488 9.281 289.051 9.281 QUADTO
-291.629 9.281 293.113 10.788 QUADTO
-294.598 12.296 294.598 14.874 QUADTO
-294.598 17.499 293.105 18.999 QUADTO
-291.613 20.499 288.988 20.499 QUADTO
-closepath
-289.035 18.687 M
-291.52 18.687 291.52 14.874 QUADTO
-291.52 13.124 290.863 12.109 QUADTO
-290.207 11.093 289.051 11.093 QUADTO
-287.91 11.093 287.254 12.109 QUADTO
-286.598 13.124 286.598 14.89 QUADTO
-286.598 16.64 287.246 17.663 QUADTO
-287.895 18.687 289.035 18.687 QUADTO
-closepath
-302.512 19.093 M
-301.059 20.499 299.418 20.499 QUADTO
-298.012 20.499 297.129 19.64 QUADTO
-296.246 18.781 296.246 17.406 QUADTO
-296.246 15.624 297.668 14.663 QUADTO
-299.09 13.703 301.746 13.703 QUADTO
-302.512 13.703 lineto
-302.512 12.734 lineto
-302.512 11.062 300.605 11.062 QUADTO
-298.918 11.062 297.184 12.015 QUADTO
-297.184 10.031 lineto
-299.152 9.281 301.074 9.281 QUADTO
-305.277 9.281 305.277 12.624 QUADTO
-305.277 17.374 lineto
-305.277 18.64 306.09 18.64 QUADTO
-306.246 18.64 306.48 18.593 QUADTO
-306.543 20.218 lineto
-305.621 20.499 304.918 20.499 QUADTO
-303.152 20.499 302.637 19.093 QUADTO
-302.512 19.093 lineto
-closepath
-302.512 17.546 M
-302.512 15.359 lineto
-301.824 15.359 lineto
-299.027 15.359 299.027 17.124 QUADTO
-299.027 17.718 299.434 18.124 QUADTO
-299.84 18.531 300.434 18.531 QUADTO
-301.449 18.531 302.512 17.546 QUADTO
-closepath
-315.77 20.249 M
-315.77 18.234 lineto
-314.645 20.499 312.254 20.499 QUADTO
-310.316 20.499 309.215 19.078 QUADTO
-308.113 17.656 308.113 15.187 QUADTO
-308.113 12.484 309.363 10.882 QUADTO
-310.613 9.281 312.707 9.281 QUADTO
-314.379 9.281 315.77 10.609 QUADTO
-315.77 4.828 lineto
-318.66 4.828 lineto
-318.66 20.249 lineto
-315.77 20.249 lineto
-closepath
-315.77 12.328 M
-314.723 11.156 313.52 11.156 QUADTO
-312.457 11.156 311.824 12.179 QUADTO
-311.191 13.203 311.191 14.937 QUADTO
-311.191 18.234 313.301 18.234 QUADTO
-314.598 18.234 315.77 16.578 QUADTO
-315.77 12.328 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-79.864 376.452 M
-320.136 376.452 lineto
-320.136 399 lineto
-79.864 399 lineto
-79.864 376.452 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 376.952 M
-319.636 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 398.5 M
-319.636 398.5 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 398.5 M
-80.364 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.636 398.5 M
-319.636 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.864 387.726 M
-97.864 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-87.864 384.726 M
-93.864 384.726 lineto
-93.864 390.726 lineto
-87.864 390.726 lineto
-87.864 384.726 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.864 384.726 M
-93.864 384.726 lineto
-93.864 390.726 lineto
-87.864 390.726 lineto
-87.864 384.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-102.989 392.002 M
-102.989 383.33 lineto
-105.349 383.33 lineto
-106.911 383.33 107.599 383.861 QUADTO
-108.286 384.392 108.286 385.595 QUADTO
-108.286 386.986 107.349 387.767 QUADTO
-106.411 388.549 104.755 388.549 QUADTO
-104.208 388.549 lineto
-104.208 392.002 lineto
-102.989 392.002 lineto
-closepath
-104.208 387.627 M
-104.708 387.627 lineto
-105.802 387.627 106.396 387.119 QUADTO
-106.989 386.611 106.989 385.689 QUADTO
-106.989 384.924 106.521 384.588 QUADTO
-106.052 384.252 104.958 384.252 QUADTO
-104.208 384.252 lineto
-104.208 387.627 lineto
-closepath
-114.013 388.689 M
-112.528 384.939 lineto
-111.06 388.689 lineto
-114.013 388.689 lineto
-closepath
-115.31 392.002 M
-114.372 389.595 lineto
-110.7 389.595 lineto
-109.747 392.002 lineto
-108.591 392.002 lineto
-112.044 383.33 lineto
-113.263 383.33 lineto
-116.638 392.002 lineto
-115.31 392.002 lineto
-closepath
-119.589 392.22 M
-118.729 392.22 117.37 391.83 QUADTO
-117.37 390.611 lineto
-118.823 391.299 119.776 391.299 QUADTO
-120.495 391.299 120.94 390.916 QUADTO
-121.386 390.533 121.386 389.908 QUADTO
-121.386 389.408 121.097 389.049 QUADTO
-120.808 388.689 120.026 388.252 QUADTO
-119.433 387.908 lineto
-118.323 387.267 117.87 386.713 QUADTO
-117.417 386.158 117.417 385.408 QUADTO
-117.417 384.408 118.144 383.759 QUADTO
-118.87 383.111 119.995 383.111 QUADTO
-120.995 383.111 122.104 383.439 QUADTO
-122.104 384.564 lineto
-120.729 384.033 120.058 384.033 QUADTO
-119.417 384.033 119.003 384.369 QUADTO
-118.589 384.705 118.589 385.22 QUADTO
-118.589 385.658 118.894 385.994 QUADTO
-119.198 386.33 120.011 386.799 QUADTO
-120.62 387.142 lineto
-121.745 387.783 122.19 388.353 QUADTO
-122.636 388.924 122.636 389.72 QUADTO
-122.636 390.845 121.808 391.533 QUADTO
-120.979 392.22 119.589 392.22 QUADTO
-closepath
-126.427 392.002 M
-126.427 384.252 lineto
-123.349 384.252 lineto
-123.349 383.33 lineto
-130.724 383.33 lineto
-130.724 384.252 lineto
-127.646 384.252 lineto
-127.646 392.002 lineto
-126.427 392.002 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-136.827 387.726 M
-150.827 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-146.827 387.726 M
-146.827 389.383 145.484 390.726 143.827 390.726 curveto
-142.17 390.726 140.827 389.383 140.827 387.726 curveto
-140.827 386.069 142.17 384.726 143.827 384.726 curveto
-145.484 384.726 146.827 386.069 146.827 387.726 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.827 387.726 M
-146.827 389.383 145.484 390.726 143.827 390.726 curveto
-142.17 390.726 140.827 389.383 140.827 387.726 curveto
-140.827 386.069 142.17 384.726 143.827 384.726 curveto
-145.484 384.726 146.827 386.069 146.827 387.726 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-155.952 392.002 M
-155.952 383.33 lineto
-157.108 383.33 lineto
-157.108 387.595 lineto
-160.608 383.33 lineto
-161.843 383.33 lineto
-158.452 387.47 lineto
-162.452 392.002 lineto
-160.89 392.002 lineto
-157.108 387.611 lineto
-157.108 392.002 lineto
-155.952 392.002 lineto
-closepath
-167.099 391.189 M
-166.067 392.142 165.099 392.142 QUADTO
-164.302 392.142 163.786 391.65 QUADTO
-163.271 391.158 163.271 390.408 QUADTO
-163.271 389.361 164.146 388.799 QUADTO
-165.021 388.236 166.646 388.236 QUADTO
-166.927 388.236 lineto
-166.927 387.47 lineto
-166.927 386.361 165.786 386.361 QUADTO
-164.88 386.361 163.817 386.924 QUADTO
-163.817 385.97 lineto
-164.989 385.502 166.005 385.502 QUADTO
-167.067 385.502 167.575 385.978 QUADTO
-168.083 386.455 168.083 387.47 QUADTO
-168.083 390.361 lineto
-168.083 391.345 168.692 391.345 QUADTO
-168.771 391.345 168.911 391.314 QUADTO
-168.989 391.955 lineto
-168.599 392.142 168.13 392.142 QUADTO
-167.317 392.142 167.099 391.189 QUADTO
-closepath
-166.927 390.564 M
-166.927 388.924 lineto
-166.536 388.908 lineto
-165.599 388.908 165.013 389.267 QUADTO
-164.427 389.627 164.427 390.22 QUADTO
-164.427 390.627 164.716 390.916 QUADTO
-165.005 391.205 165.427 391.205 QUADTO
-166.146 391.205 166.927 390.564 QUADTO
-closepath
-174.522 392.002 M
-174.522 390.799 lineto
-173.819 392.142 172.413 392.142 QUADTO
-171.257 392.142 170.601 391.306 QUADTO
-169.944 390.47 169.944 389.017 QUADTO
-169.944 387.424 170.687 386.463 QUADTO
-171.429 385.502 172.647 385.502 QUADTO
-173.788 385.502 174.522 386.361 QUADTO
-174.522 382.752 lineto
-175.694 382.752 lineto
-175.694 392.002 lineto
-174.522 392.002 lineto
-closepath
-174.522 387.158 M
-173.632 386.361 172.835 386.361 QUADTO
-171.163 386.361 171.163 388.908 QUADTO
-171.163 391.127 172.647 391.127 QUADTO
-173.601 391.127 174.522 390.08 QUADTO
-174.522 387.158 lineto
-closepath
-182.653 391.799 M
-181.497 392.142 180.669 392.142 QUADTO
-179.263 392.142 178.38 391.213 QUADTO
-177.497 390.283 177.497 388.783 QUADTO
-177.497 387.345 178.278 386.416 QUADTO
-179.06 385.486 180.278 385.486 QUADTO
-181.435 385.486 182.06 386.306 QUADTO
-182.685 387.127 182.685 388.642 QUADTO
-182.685 389.002 lineto
-178.669 389.002 lineto
-178.919 391.267 180.888 391.267 QUADTO
-181.606 391.267 182.653 390.877 QUADTO
-182.653 391.799 lineto
-closepath
-178.716 388.127 M
-181.528 388.127 lineto
-181.528 386.361 180.2 386.361 QUADTO
-178.872 386.361 178.716 388.127 QUADTO
-closepath
-184.683 392.002 M
-184.683 385.642 lineto
-185.839 385.642 lineto
-185.839 386.83 lineto
-186.683 385.502 188.011 385.502 QUADTO
-189.276 385.502 189.745 386.83 QUADTO
-190.558 385.486 191.87 385.486 QUADTO
-192.714 385.486 193.183 385.986 QUADTO
-193.651 386.486 193.651 387.377 QUADTO
-193.651 392.002 lineto
-192.479 392.002 lineto
-192.479 387.549 lineto
-192.479 386.47 191.62 386.47 QUADTO
-190.729 386.47 189.745 387.736 QUADTO
-189.745 392.002 lineto
-188.589 392.002 lineto
-188.589 387.549 lineto
-188.589 386.455 187.698 386.455 QUADTO
-186.839 386.455 185.839 387.736 QUADTO
-185.839 392.002 lineto
-184.683 392.002 lineto
-closepath
-195.886 392.002 M
-195.886 382.752 lineto
-197.042 382.752 lineto
-197.042 392.002 lineto
-195.886 392.002 lineto
-closepath
-199.354 392.002 M
-199.354 385.642 lineto
-200.511 385.642 lineto
-200.511 392.002 lineto
-199.354 392.002 lineto
-closepath
-199.354 384.486 M
-199.354 383.33 lineto
-200.511 383.33 lineto
-200.511 384.486 lineto
-199.354 384.486 lineto
-closepath
-206.104 391.189 M
-205.073 392.142 204.104 392.142 QUADTO
-203.308 392.142 202.792 391.65 QUADTO
-202.276 391.158 202.276 390.408 QUADTO
-202.276 389.361 203.151 388.799 QUADTO
-204.026 388.236 205.651 388.236 QUADTO
-205.933 388.236 lineto
-205.933 387.47 lineto
-205.933 386.361 204.792 386.361 QUADTO
-203.886 386.361 202.823 386.924 QUADTO
-202.823 385.97 lineto
-203.995 385.502 205.011 385.502 QUADTO
-206.073 385.502 206.581 385.978 QUADTO
-207.089 386.455 207.089 387.47 QUADTO
-207.089 390.361 lineto
-207.089 391.345 207.698 391.345 QUADTO
-207.776 391.345 207.917 391.314 QUADTO
-207.995 391.955 lineto
-207.604 392.142 207.136 392.142 QUADTO
-206.323 392.142 206.104 391.189 QUADTO
-closepath
-205.933 390.564 M
-205.933 388.924 lineto
-205.542 388.908 lineto
-204.604 388.908 204.019 389.267 QUADTO
-203.433 389.627 203.433 390.22 QUADTO
-203.433 390.627 203.722 390.916 QUADTO
-204.011 391.205 204.433 391.205 QUADTO
-205.151 391.205 205.933 390.564 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-214.294 387.726 M
-228.294 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-221.294 384.726 M
-224.294 390.726 lineto
-218.294 390.726 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.294 384.726 M
-224.294 390.726 lineto
-218.294 390.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-235.778 392.002 M
-232.513 383.33 lineto
-233.731 383.33 lineto
-236.419 390.424 lineto
-239.013 383.33 lineto
-240.091 383.33 lineto
-236.935 392.002 lineto
-235.778 392.002 lineto
-closepath
-245.952 391.799 M
-244.796 392.142 243.968 392.142 QUADTO
-242.562 392.142 241.679 391.213 QUADTO
-240.796 390.283 240.796 388.783 QUADTO
-240.796 387.345 241.577 386.416 QUADTO
-242.358 385.486 243.577 385.486 QUADTO
-244.733 385.486 245.358 386.306 QUADTO
-245.983 387.127 245.983 388.642 QUADTO
-245.983 389.002 lineto
-241.968 389.002 lineto
-242.218 391.267 244.187 391.267 QUADTO
-244.905 391.267 245.952 390.877 QUADTO
-245.952 391.799 lineto
-closepath
-242.015 388.127 M
-244.827 388.127 lineto
-244.827 386.361 243.499 386.361 QUADTO
-242.171 386.361 242.015 388.127 QUADTO
-closepath
-247.981 392.002 M
-247.981 385.642 lineto
-249.138 385.642 lineto
-249.138 386.83 lineto
-249.825 385.502 251.122 385.502 QUADTO
-251.31 385.502 251.497 385.533 QUADTO
-251.497 386.611 lineto
-251.2 386.502 250.966 386.502 QUADTO
-249.872 386.502 249.138 387.799 QUADTO
-249.138 392.002 lineto
-247.981 392.002 lineto
-closepath
-254.798 392.142 M
-253.923 392.142 253.431 391.642 QUADTO
-252.938 391.142 252.938 390.236 QUADTO
-252.938 386.502 lineto
-252.142 386.502 lineto
-252.142 385.642 lineto
-252.938 385.642 lineto
-252.938 384.486 lineto
-254.095 384.377 lineto
-254.095 385.642 lineto
-255.751 385.642 lineto
-255.751 386.502 lineto
-254.095 386.502 lineto
-254.095 390.033 lineto
-254.095 391.283 255.173 391.283 QUADTO
-255.392 391.283 255.72 391.205 QUADTO
-255.72 392.002 lineto
-255.188 392.142 254.798 392.142 QUADTO
-closepath
-262.036 391.799 M
-260.88 392.142 260.052 392.142 QUADTO
-258.646 392.142 257.763 391.213 QUADTO
-256.88 390.283 256.88 388.783 QUADTO
-256.88 387.345 257.661 386.416 QUADTO
-258.442 385.486 259.661 385.486 QUADTO
-260.817 385.486 261.442 386.306 QUADTO
-262.067 387.127 262.067 388.642 QUADTO
-262.067 389.002 lineto
-258.052 389.002 lineto
-258.302 391.267 260.271 391.267 QUADTO
-260.989 391.267 262.036 390.877 QUADTO
-262.036 391.799 lineto
-closepath
-258.099 388.127 M
-260.911 388.127 lineto
-260.911 386.361 259.583 386.361 QUADTO
-258.255 386.361 258.099 388.127 QUADTO
-closepath
-263.425 392.002 M
-265.847 388.72 lineto
-263.503 385.642 lineto
-264.862 385.642 lineto
-266.722 388.08 lineto
-268.409 385.642 lineto
-269.534 385.642 lineto
-267.331 388.861 lineto
-269.722 392.002 lineto
-268.347 392.002 lineto
-266.44 389.486 lineto
-264.581 392.002 lineto
-263.425 392.002 lineto
-closepath
-281.706 391.767 M
-280.128 392.22 278.956 392.22 QUADTO
-276.878 392.22 275.776 391.041 QUADTO
-274.675 389.861 274.675 387.658 QUADTO
-274.675 385.502 275.792 384.306 QUADTO
-276.909 383.111 278.94 383.111 QUADTO
-280.253 383.111 281.69 383.502 QUADTO
-281.69 384.642 lineto
-279.894 384.033 278.94 384.033 QUADTO
-277.534 384.033 276.761 384.986 QUADTO
-275.987 385.939 275.987 387.674 QUADTO
-275.987 389.392 276.815 390.345 QUADTO
-277.644 391.299 279.144 391.299 QUADTO
-279.769 391.299 280.472 391.08 QUADTO
-280.472 388.252 lineto
-281.706 388.252 lineto
-281.706 391.767 lineto
-closepath
-283.894 392.002 M
-283.894 385.642 lineto
-285.05 385.642 lineto
-285.05 386.83 lineto
-285.737 385.502 287.034 385.502 QUADTO
-287.222 385.502 287.409 385.533 QUADTO
-287.409 386.611 lineto
-287.112 386.502 286.878 386.502 QUADTO
-285.784 386.502 285.05 387.799 QUADTO
-285.05 392.002 lineto
-283.894 392.002 lineto
-closepath
-291.288 392.142 M
-289.929 392.142 289.116 391.236 QUADTO
-288.304 390.33 288.304 388.814 QUADTO
-288.304 387.283 289.116 386.392 QUADTO
-289.929 385.502 291.335 385.502 QUADTO
-292.741 385.502 293.554 386.392 QUADTO
-294.366 387.283 294.366 388.814 QUADTO
-294.366 390.361 293.546 391.252 QUADTO
-292.726 392.142 291.288 392.142 QUADTO
-closepath
-291.304 391.283 M
-293.147 391.283 293.147 388.814 QUADTO
-293.147 386.361 291.335 386.361 QUADTO
-289.522 386.361 289.522 388.814 QUADTO
-289.522 391.283 291.304 391.283 QUADTO
-closepath
-300.159 392.002 M
-300.159 390.799 lineto
-299.237 392.142 297.925 392.142 QUADTO
-297.081 392.142 296.589 391.619 QUADTO
-296.097 391.095 296.097 390.205 QUADTO
-296.097 385.642 lineto
-297.253 385.642 lineto
-297.253 389.83 lineto
-297.253 390.549 297.464 390.853 QUADTO
-297.675 391.158 298.159 391.158 QUADTO
-299.222 391.158 300.159 389.767 QUADTO
-300.159 385.642 lineto
-301.3 385.642 lineto
-301.3 392.002 lineto
-300.159 392.002 lineto
-closepath
-303.622 394.314 M
-303.622 385.642 lineto
-304.778 385.642 lineto
-304.778 386.83 lineto
-305.481 385.502 306.903 385.502 QUADTO
-308.044 385.502 308.708 386.338 QUADTO
-309.372 387.174 309.372 388.627 QUADTO
-309.372 390.205 308.622 391.174 QUADTO
-307.872 392.142 306.653 392.142 QUADTO
-305.528 392.142 304.778 391.283 QUADTO
-304.778 394.314 lineto
-303.622 394.314 lineto
-closepath
-304.778 390.486 M
-305.669 391.283 306.481 391.283 QUADTO
-308.138 391.283 308.138 388.736 QUADTO
-308.138 386.502 306.669 386.502 QUADTO
-305.7 386.502 304.778 387.549 QUADTO
-304.778 390.486 lineto
-closepath
-312.862 392.142 M
-312.065 392.142 310.94 391.783 QUADTO
-310.94 390.72 lineto
-312.065 391.283 312.909 391.283 QUADTO
-313.409 391.283 313.737 391.009 QUADTO
-314.065 390.736 314.065 390.33 QUADTO
-314.065 389.752 313.144 389.361 QUADTO
-312.472 389.064 lineto
-310.972 388.455 310.972 387.283 QUADTO
-310.972 386.455 311.565 385.978 QUADTO
-312.159 385.502 313.175 385.502 QUADTO
-313.706 385.502 314.503 385.642 QUADTO
-314.737 385.689 lineto
-314.737 386.658 lineto
-313.769 386.361 313.206 386.361 QUADTO
-312.081 386.361 312.081 387.174 QUADTO
-312.081 387.689 312.925 388.049 QUADTO
-313.487 388.283 lineto
-314.425 388.689 314.823 389.127 QUADTO
-315.222 389.564 315.222 390.236 QUADTO
-315.222 391.064 314.558 391.603 QUADTO
-313.894 392.142 312.862 392.142 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-69.533 34.247 M
-388 34.247 lineto
-388 325.931 lineto
-69.533 325.931 lineto
-69.533 34.247 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.533 329.931 M
-388 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-73.768 345.481 M
-73.768 344.465 lineto
-74.268 343.293 75.799 341.903 QUADTO
-76.471 341.309 lineto
-77.737 340.153 77.737 339.012 QUADTO
-77.737 338.293 77.307 337.879 QUADTO
-76.878 337.465 76.112 337.465 QUADTO
-75.206 337.465 73.987 338.153 QUADTO
-73.987 337.137 lineto
-75.143 336.59 76.268 336.59 QUADTO
-77.487 336.59 78.229 337.247 QUADTO
-78.971 337.903 78.971 338.981 QUADTO
-78.971 339.762 78.596 340.372 QUADTO
-78.221 340.981 77.206 341.84 QUADTO
-76.768 342.215 lineto
-75.378 343.387 75.159 344.465 QUADTO
-78.924 344.465 lineto
-78.924 345.481 lineto
-73.768 345.481 lineto
-closepath
-84.122 345.7 M
-82.778 345.7 81.95 344.434 QUADTO
-81.122 343.168 81.122 341.137 QUADTO
-81.122 339.09 81.958 337.84 QUADTO
-82.794 336.59 84.153 336.59 QUADTO
-85.512 336.59 86.348 337.84 QUADTO
-87.184 339.09 87.184 341.122 QUADTO
-87.184 343.2 86.348 344.45 QUADTO
-85.512 345.7 84.122 345.7 QUADTO
-closepath
-84.137 344.825 M
-85.965 344.825 85.965 341.106 QUADTO
-85.965 337.465 84.153 337.465 QUADTO
-82.356 337.465 82.356 341.137 QUADTO
-82.356 344.825 84.137 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.356 331.931 M
-80.356 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-103.284 345.418 M
-103.284 344.34 lineto
-104.534 344.825 105.237 344.825 QUADTO
-106.065 344.825 106.589 344.34 QUADTO
-107.112 343.856 107.112 343.09 QUADTO
-107.112 341.262 104.55 341.262 QUADTO
-104.081 341.262 lineto
-104.081 340.481 lineto
-104.487 340.481 lineto
-106.893 340.481 106.893 338.793 QUADTO
-106.893 337.465 105.315 337.465 QUADTO
-104.44 337.465 103.409 337.95 QUADTO
-103.409 336.934 lineto
-104.425 336.59 105.393 336.59 QUADTO
-108.05 336.59 108.05 338.606 QUADTO
-108.05 340.137 106.237 340.778 QUADTO
-108.346 341.262 108.346 343.075 QUADTO
-108.346 344.309 107.534 345.004 QUADTO
-106.721 345.7 105.315 345.7 QUADTO
-104.503 345.7 103.284 345.418 QUADTO
-closepath
-113.419 345.7 M
-112.075 345.7 111.247 344.434 QUADTO
-110.419 343.168 110.419 341.137 QUADTO
-110.419 339.09 111.255 337.84 QUADTO
-112.091 336.59 113.45 336.59 QUADTO
-114.809 336.59 115.645 337.84 QUADTO
-116.481 339.09 116.481 341.122 QUADTO
-116.481 343.2 115.645 344.45 QUADTO
-114.809 345.7 113.419 345.7 QUADTO
-closepath
-113.434 344.825 M
-115.262 344.825 115.262 341.106 QUADTO
-115.262 337.465 113.45 337.465 QUADTO
-111.653 337.465 111.653 341.137 QUADTO
-111.653 344.825 113.434 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-109.653 331.931 M
-109.653 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.44 331.931 M
-130.44 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.563 331.931 M
-146.563 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-159.737 331.931 M
-159.737 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.875 331.931 M
-170.875 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-180.523 331.931 M
-180.523 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.034 331.931 M
-189.034 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-196.646 331.931 M
-196.646 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-187.077 345.481 M
-187.077 344.606 lineto
-188.811 344.606 lineto
-188.811 337.762 lineto
-187.077 338.2 lineto
-187.077 337.309 lineto
-189.968 336.59 lineto
-189.968 344.606 lineto
-191.702 344.606 lineto
-191.702 345.481 lineto
-187.077 345.481 lineto
-closepath
-196.618 345.7 M
-195.274 345.7 194.446 344.434 QUADTO
-193.618 343.168 193.618 341.137 QUADTO
-193.618 339.09 194.454 337.84 QUADTO
-195.29 336.59 196.649 336.59 QUADTO
-198.009 336.59 198.845 337.84 QUADTO
-199.681 339.09 199.681 341.122 QUADTO
-199.681 343.2 198.845 344.45 QUADTO
-198.009 345.7 196.618 345.7 QUADTO
-closepath
-196.634 344.825 M
-198.462 344.825 198.462 341.106 QUADTO
-198.462 337.465 196.649 337.465 QUADTO
-194.852 337.465 194.852 341.137 QUADTO
-194.852 344.825 196.634 344.825 QUADTO
-closepath
-204.206 345.7 M
-202.862 345.7 202.034 344.434 QUADTO
-201.206 343.168 201.206 341.137 QUADTO
-201.206 339.09 202.042 337.84 QUADTO
-202.878 336.59 204.237 336.59 QUADTO
-205.597 336.59 206.433 337.84 QUADTO
-207.268 339.09 207.268 341.122 QUADTO
-207.268 343.2 206.433 344.45 QUADTO
-205.597 345.7 204.206 345.7 QUADTO
-closepath
-204.222 344.825 M
-206.05 344.825 206.05 341.106 QUADTO
-206.05 337.465 204.237 337.465 QUADTO
-202.44 337.465 202.44 341.137 QUADTO
-202.44 344.825 204.222 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-196.646 331.931 M
-196.646 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-236.348 345.481 M
-236.348 344.465 lineto
-236.848 343.293 238.379 341.903 QUADTO
-239.051 341.309 lineto
-240.317 340.153 240.317 339.012 QUADTO
-240.317 338.293 239.887 337.879 QUADTO
-239.457 337.465 238.692 337.465 QUADTO
-237.786 337.465 236.567 338.153 QUADTO
-236.567 337.137 lineto
-237.723 336.59 238.848 336.59 QUADTO
-240.067 336.59 240.809 337.247 QUADTO
-241.551 337.903 241.551 338.981 QUADTO
-241.551 339.762 241.176 340.372 QUADTO
-240.801 340.981 239.786 341.84 QUADTO
-239.348 342.215 lineto
-237.957 343.387 237.739 344.465 QUADTO
-241.504 344.465 lineto
-241.504 345.481 lineto
-236.348 345.481 lineto
-closepath
-246.702 345.7 M
-245.358 345.7 244.53 344.434 QUADTO
-243.702 343.168 243.702 341.137 QUADTO
-243.702 339.09 244.538 337.84 QUADTO
-245.373 336.59 246.733 336.59 QUADTO
-248.092 336.59 248.928 337.84 QUADTO
-249.764 339.09 249.764 341.122 QUADTO
-249.764 343.2 248.928 344.45 QUADTO
-248.092 345.7 246.702 345.7 QUADTO
-closepath
-246.717 344.825 M
-248.545 344.825 248.545 341.106 QUADTO
-248.545 337.465 246.733 337.465 QUADTO
-244.936 337.465 244.936 341.137 QUADTO
-244.936 344.825 246.717 344.825 QUADTO
-closepath
-254.29 345.7 M
-252.946 345.7 252.118 344.434 QUADTO
-251.29 343.168 251.29 341.137 QUADTO
-251.29 339.09 252.125 337.84 QUADTO
-252.961 336.59 254.321 336.59 QUADTO
-255.68 336.59 256.516 337.84 QUADTO
-257.352 339.09 257.352 341.122 QUADTO
-257.352 343.2 256.516 344.45 QUADTO
-255.68 345.7 254.29 345.7 QUADTO
-closepath
-254.305 344.825 M
-256.133 344.825 256.133 341.106 QUADTO
-256.133 337.465 254.321 337.465 QUADTO
-252.524 337.465 252.524 341.137 QUADTO
-252.524 344.825 254.305 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-246.73 331.931 M
-246.73 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-276.027 331.931 M
-276.027 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-296.813 331.931 M
-296.813 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-312.937 331.931 M
-312.937 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-326.11 331.931 M
-326.11 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-337.249 331.931 M
-337.249 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-346.897 331.931 M
-346.897 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-355.407 331.931 M
-355.407 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-363.02 331.931 M
-363.02 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-349.657 345.481 M
-349.657 344.606 lineto
-351.391 344.606 lineto
-351.391 337.762 lineto
-349.657 338.2 lineto
-349.657 337.309 lineto
-352.548 336.59 lineto
-352.548 344.606 lineto
-354.282 344.606 lineto
-354.282 345.481 lineto
-349.657 345.481 lineto
-closepath
-359.198 345.7 M
-357.854 345.7 357.026 344.434 QUADTO
-356.198 343.168 356.198 341.137 QUADTO
-356.198 339.09 357.034 337.84 QUADTO
-357.87 336.59 359.229 336.59 QUADTO
-360.589 336.59 361.425 337.84 QUADTO
-362.26 339.09 362.26 341.122 QUADTO
-362.26 343.2 361.425 344.45 QUADTO
-360.589 345.7 359.198 345.7 QUADTO
-closepath
-359.214 344.825 M
-361.042 344.825 361.042 341.106 QUADTO
-361.042 337.465 359.229 337.465 QUADTO
-357.432 337.465 357.432 341.137 QUADTO
-357.432 344.825 359.214 344.825 QUADTO
-closepath
-366.786 345.7 M
-365.442 345.7 364.614 344.434 QUADTO
-363.786 343.168 363.786 341.137 QUADTO
-363.786 339.09 364.622 337.84 QUADTO
-365.458 336.59 366.817 336.59 QUADTO
-368.177 336.59 369.012 337.84 QUADTO
-369.848 339.09 369.848 341.122 QUADTO
-369.848 343.2 369.012 344.45 QUADTO
-368.177 345.7 366.786 345.7 QUADTO
-closepath
-366.802 344.825 M
-368.63 344.825 368.63 341.106 QUADTO
-368.63 337.465 366.817 337.465 QUADTO
-365.02 337.465 365.02 341.137 QUADTO
-365.02 344.825 366.802 344.825 QUADTO
-closepath
-374.374 345.7 M
-373.03 345.7 372.202 344.434 QUADTO
-371.374 343.168 371.374 341.137 QUADTO
-371.374 339.09 372.21 337.84 QUADTO
-373.046 336.59 374.405 336.59 QUADTO
-375.764 336.59 376.6 337.84 QUADTO
-377.436 339.09 377.436 341.122 QUADTO
-377.436 343.2 376.6 344.45 QUADTO
-375.764 345.7 374.374 345.7 QUADTO
-closepath
-374.389 344.825 M
-376.218 344.825 376.218 341.106 QUADTO
-376.218 337.465 374.405 337.465 QUADTO
-372.608 337.465 372.608 341.137 QUADTO
-372.608 344.825 374.389 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-363.02 331.931 M
-363.02 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-208.267 364.954 M
-208.267 357.454 lineto
-210.282 357.454 lineto
-210.282 358.86 lineto
-211.282 357.282 212.845 357.282 QUADTO
-213.845 357.282 214.431 357.915 QUADTO
-215.017 358.548 215.017 359.641 QUADTO
-215.017 364.954 lineto
-212.985 364.954 lineto
-212.985 360.141 lineto
-212.985 358.876 212.142 358.876 QUADTO
-211.173 358.876 210.282 360.235 QUADTO
-210.282 364.954 lineto
-208.267 364.954 lineto
-closepath
-220.617 365.126 M
-218.852 365.126 217.82 364.063 QUADTO
-216.789 363.001 216.789 361.204 QUADTO
-216.789 359.376 217.828 358.329 QUADTO
-218.867 357.282 220.664 357.282 QUADTO
-222.461 357.282 223.5 358.329 QUADTO
-224.539 359.376 224.539 361.188 QUADTO
-224.539 363.032 223.492 364.079 QUADTO
-222.445 365.126 220.617 365.126 QUADTO
-closepath
-220.648 363.86 M
-222.383 363.86 222.383 361.188 QUADTO
-222.383 359.97 221.922 359.259 QUADTO
-221.461 358.548 220.664 358.548 QUADTO
-219.867 358.548 219.398 359.259 QUADTO
-218.93 359.97 218.93 361.204 QUADTO
-218.93 362.423 219.391 363.141 QUADTO
-219.852 363.86 220.648 363.86 QUADTO
-closepath
-231.121 364.954 M
-231.121 363.532 lineto
-230.34 365.126 228.668 365.126 QUADTO
-227.324 365.126 226.551 364.134 QUADTO
-225.777 363.141 225.777 361.407 QUADTO
-225.777 359.516 226.645 358.399 QUADTO
-227.512 357.282 228.98 357.282 QUADTO
-230.168 357.282 231.121 358.204 QUADTO
-231.121 354.157 lineto
-233.152 354.157 lineto
-233.152 364.954 lineto
-231.121 364.954 lineto
-closepath
-231.121 359.407 M
-230.387 358.595 229.559 358.595 QUADTO
-228.809 358.595 228.371 359.313 QUADTO
-227.934 360.032 227.934 361.235 QUADTO
-227.934 363.532 229.402 363.532 QUADTO
-230.309 363.532 231.121 362.376 QUADTO
-231.121 359.407 lineto
-closepath
-241.788 364.704 M
-240.351 365.126 239.054 365.126 QUADTO
-237.179 365.126 236.093 364.055 QUADTO
-235.007 362.985 235.007 361.141 QUADTO
-235.007 359.407 235.999 358.345 QUADTO
-236.991 357.282 238.632 357.282 QUADTO
-240.272 357.282 241.03 358.321 QUADTO
-241.788 359.36 241.788 361.61 QUADTO
-237.132 361.61 lineto
-237.335 363.751 239.491 363.751 QUADTO
-240.507 363.751 241.788 363.282 QUADTO
-241.788 364.704 lineto
-closepath
-237.101 360.47 M
-239.804 360.47 lineto
-239.804 358.548 238.569 358.548 QUADTO
-237.304 358.548 237.101 360.47 QUADTO
-closepath
-243.679 364.72 M
-243.679 363.235 lineto
-245.194 363.86 246.257 363.86 QUADTO
-247.491 363.86 247.491 363.016 QUADTO
-247.491 362.47 246.476 362.048 QUADTO
-245.788 361.782 lineto
-244.679 361.329 244.194 360.813 QUADTO
-243.71 360.298 243.71 359.532 QUADTO
-243.71 358.454 244.53 357.868 QUADTO
-245.351 357.282 246.804 357.282 QUADTO
-247.726 357.282 248.991 357.548 QUADTO
-248.991 358.97 lineto
-247.772 358.548 246.976 358.548 QUADTO
-245.71 358.548 245.71 359.313 QUADTO
-245.71 359.829 246.647 360.188 QUADTO
-247.226 360.407 lineto
-248.554 360.907 249.069 361.423 QUADTO
-249.585 361.938 249.585 362.751 QUADTO
-249.585 363.798 248.702 364.462 QUADTO
-247.819 365.126 246.413 365.126 QUADTO
-245.069 365.126 243.679 364.72 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-65.533 34.247 M
-65.533 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-55.711 330.426 M
-54.367 330.426 53.539 329.16 QUADTO
-52.711 327.894 52.711 325.863 QUADTO
-52.711 323.816 53.547 322.566 QUADTO
-54.383 321.316 55.742 321.316 QUADTO
-57.102 321.316 57.938 322.566 QUADTO
-58.773 323.816 58.773 325.848 QUADTO
-58.773 327.926 57.938 329.176 QUADTO
-57.102 330.426 55.711 330.426 QUADTO
-closepath
-55.727 329.551 M
-57.555 329.551 57.555 325.832 QUADTO
-57.555 322.191 55.742 322.191 QUADTO
-53.945 322.191 53.945 325.863 QUADTO
-53.945 329.551 55.727 329.551 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 325.931 M
-65.533 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-53.398 294.993 M
-53.398 293.961 lineto
-54.273 294.305 55.039 294.305 QUADTO
-55.898 294.305 56.391 293.805 QUADTO
-56.883 293.305 56.883 292.415 QUADTO
-56.883 290.461 54.195 290.461 QUADTO
-53.883 290.461 53.555 290.508 QUADTO
-53.555 286.29 lineto
-57.945 286.29 lineto
-57.945 287.29 lineto
-54.57 287.29 lineto
-54.57 289.586 lineto
-56.242 289.586 57.18 290.352 QUADTO
-58.117 291.118 58.117 292.477 QUADTO
-58.117 293.743 57.258 294.461 QUADTO
-56.398 295.18 54.898 295.18 QUADTO
-54.242 295.18 53.398 294.993 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 290.686 M
-65.533 290.686 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-46.17 259.716 M
-46.17 258.841 lineto
-47.904 258.841 lineto
-47.904 251.997 lineto
-46.17 252.435 lineto
-46.17 251.544 lineto
-49.061 250.825 lineto
-49.061 258.841 lineto
-50.795 258.841 lineto
-50.795 259.716 lineto
-46.17 259.716 lineto
-closepath
-55.711 259.935 M
-54.367 259.935 53.539 258.669 QUADTO
-52.711 257.403 52.711 255.372 QUADTO
-52.711 253.325 53.547 252.075 QUADTO
-54.383 250.825 55.742 250.825 QUADTO
-57.102 250.825 57.938 252.075 QUADTO
-58.773 253.325 58.773 255.356 QUADTO
-58.773 257.435 57.938 258.685 QUADTO
-57.102 259.935 55.711 259.935 QUADTO
-closepath
-55.727 259.06 M
-57.555 259.06 57.555 255.341 QUADTO
-57.555 251.7 55.742 251.7 QUADTO
-53.945 251.7 53.945 255.372 QUADTO
-53.945 259.06 55.727 259.06 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 255.44 M
-65.533 255.44 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-46.17 224.47 M
-46.17 223.595 lineto
-47.904 223.595 lineto
-47.904 216.752 lineto
-46.17 217.189 lineto
-46.17 216.298 lineto
-49.061 215.58 lineto
-49.061 223.595 lineto
-50.795 223.595 lineto
-50.795 224.47 lineto
-46.17 224.47 lineto
-closepath
-53.398 224.502 M
-53.398 223.47 lineto
-54.273 223.814 55.039 223.814 QUADTO
-55.898 223.814 56.391 223.314 QUADTO
-56.883 222.814 56.883 221.923 QUADTO
-56.883 219.97 54.195 219.97 QUADTO
-53.883 219.97 53.555 220.017 QUADTO
-53.555 215.798 lineto
-57.945 215.798 lineto
-57.945 216.798 lineto
-54.57 216.798 lineto
-54.57 219.095 lineto
-56.242 219.095 57.18 219.861 QUADTO
-58.117 220.627 58.117 221.986 QUADTO
-58.117 223.252 57.258 223.97 QUADTO
-56.398 224.689 54.898 224.689 QUADTO
-54.242 224.689 53.398 224.502 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 220.195 M
-65.533 220.195 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.357 189.225 M
-45.357 188.209 lineto
-45.857 187.037 47.389 185.647 QUADTO
-48.061 185.053 lineto
-49.326 183.897 49.326 182.756 QUADTO
-49.326 182.037 48.896 181.623 QUADTO
-48.467 181.209 47.701 181.209 QUADTO
-46.795 181.209 45.576 181.897 QUADTO
-45.576 180.881 lineto
-46.732 180.334 47.857 180.334 QUADTO
-49.076 180.334 49.818 180.99 QUADTO
-50.561 181.647 50.561 182.725 QUADTO
-50.561 183.506 50.186 184.115 QUADTO
-49.811 184.725 48.795 185.584 QUADTO
-48.357 185.959 lineto
-46.967 187.131 46.748 188.209 QUADTO
-50.514 188.209 lineto
-50.514 189.225 lineto
-45.357 189.225 lineto
-closepath
-55.711 189.443 M
-54.367 189.443 53.539 188.178 QUADTO
-52.711 186.912 52.711 184.881 QUADTO
-52.711 182.834 53.547 181.584 QUADTO
-54.383 180.334 55.742 180.334 QUADTO
-57.102 180.334 57.938 181.584 QUADTO
-58.773 182.834 58.773 184.865 QUADTO
-58.773 186.943 57.938 188.193 QUADTO
-57.102 189.443 55.711 189.443 QUADTO
-closepath
-55.727 188.568 M
-57.555 188.568 57.555 184.85 QUADTO
-57.555 181.209 55.742 181.209 QUADTO
-53.945 181.209 53.945 184.881 QUADTO
-53.945 188.568 55.727 188.568 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 184.949 M
-65.533 184.949 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.357 153.979 M
-45.357 152.964 lineto
-45.857 151.792 47.389 150.401 QUADTO
-48.061 149.807 lineto
-49.326 148.651 49.326 147.51 QUADTO
-49.326 146.792 48.896 146.378 QUADTO
-48.467 145.964 47.701 145.964 QUADTO
-46.795 145.964 45.576 146.651 QUADTO
-45.576 145.635 lineto
-46.732 145.089 47.857 145.089 QUADTO
-49.076 145.089 49.818 145.745 QUADTO
-50.561 146.401 50.561 147.479 QUADTO
-50.561 148.26 50.186 148.87 QUADTO
-49.811 149.479 48.795 150.339 QUADTO
-48.357 150.714 lineto
-46.967 151.885 46.748 152.964 QUADTO
-50.514 152.964 lineto
-50.514 153.979 lineto
-45.357 153.979 lineto
-closepath
-53.398 154.01 M
-53.398 152.979 lineto
-54.273 153.323 55.039 153.323 QUADTO
-55.898 153.323 56.391 152.823 QUADTO
-56.883 152.323 56.883 151.432 QUADTO
-56.883 149.479 54.195 149.479 QUADTO
-53.883 149.479 53.555 149.526 QUADTO
-53.555 145.307 lineto
-57.945 145.307 lineto
-57.945 146.307 lineto
-54.57 146.307 lineto
-54.57 148.604 lineto
-56.242 148.604 57.18 149.37 QUADTO
-58.117 150.135 58.117 151.495 QUADTO
-58.117 152.76 57.258 153.479 QUADTO
-56.398 154.198 54.898 154.198 QUADTO
-54.242 154.198 53.398 154.01 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 149.704 M
-65.533 149.704 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.576 118.671 M
-45.576 117.593 lineto
-46.826 118.077 47.529 118.077 QUADTO
-48.357 118.077 48.881 117.593 QUADTO
-49.404 117.109 49.404 116.343 QUADTO
-49.404 114.515 46.842 114.515 QUADTO
-46.373 114.515 lineto
-46.373 113.734 lineto
-46.779 113.734 lineto
-49.186 113.734 49.186 112.046 QUADTO
-49.186 110.718 47.607 110.718 QUADTO
-46.732 110.718 45.701 111.202 QUADTO
-45.701 110.187 lineto
-46.717 109.843 47.686 109.843 QUADTO
-50.342 109.843 50.342 111.859 QUADTO
-50.342 113.39 48.529 114.031 QUADTO
-50.639 114.515 50.639 116.327 QUADTO
-50.639 117.562 49.826 118.257 QUADTO
-49.014 118.952 47.607 118.952 QUADTO
-46.795 118.952 45.576 118.671 QUADTO
-closepath
-55.711 118.952 M
-54.367 118.952 53.539 117.687 QUADTO
-52.711 116.421 52.711 114.39 QUADTO
-52.711 112.343 53.547 111.093 QUADTO
-54.383 109.843 55.742 109.843 QUADTO
-57.102 109.843 57.938 111.093 QUADTO
-58.773 112.343 58.773 114.374 QUADTO
-58.773 116.452 57.938 117.702 QUADTO
-57.102 118.952 55.711 118.952 QUADTO
-closepath
-55.727 118.077 M
-57.555 118.077 57.555 114.359 QUADTO
-57.555 110.718 55.742 110.718 QUADTO
-53.945 110.718 53.945 114.39 QUADTO
-53.945 118.077 55.727 118.077 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 114.458 M
-65.533 114.458 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.576 83.426 M
-45.576 82.347 lineto
-46.826 82.832 47.529 82.832 QUADTO
-48.357 82.832 48.881 82.347 QUADTO
-49.404 81.863 49.404 81.097 QUADTO
-49.404 79.269 46.842 79.269 QUADTO
-46.373 79.269 lineto
-46.373 78.488 lineto
-46.779 78.488 lineto
-49.186 78.488 49.186 76.801 QUADTO
-49.186 75.472 47.607 75.472 QUADTO
-46.732 75.472 45.701 75.957 QUADTO
-45.701 74.941 lineto
-46.717 74.597 47.686 74.597 QUADTO
-50.342 74.597 50.342 76.613 QUADTO
-50.342 78.144 48.529 78.785 QUADTO
-50.639 79.269 50.639 81.082 QUADTO
-50.639 82.316 49.826 83.012 QUADTO
-49.014 83.707 47.607 83.707 QUADTO
-46.795 83.707 45.576 83.426 QUADTO
-closepath
-53.398 83.519 M
-53.398 82.488 lineto
-54.273 82.832 55.039 82.832 QUADTO
-55.898 82.832 56.391 82.332 QUADTO
-56.883 81.832 56.883 80.941 QUADTO
-56.883 78.988 54.195 78.988 QUADTO
-53.883 78.988 53.555 79.035 QUADTO
-53.555 74.816 lineto
-57.945 74.816 lineto
-57.945 75.816 lineto
-54.57 75.816 lineto
-54.57 78.113 lineto
-56.242 78.113 57.18 78.879 QUADTO
-58.117 79.644 58.117 81.004 QUADTO
-58.117 82.269 57.258 82.988 QUADTO
-56.398 83.707 54.898 83.707 QUADTO
-54.242 83.707 53.398 83.519 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 79.212 M
-65.533 79.212 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-48.873 48.243 M
-48.873 45.789 lineto
-44.967 45.789 lineto
-44.967 44.914 lineto
-48.873 39.571 lineto
-49.967 39.571 lineto
-49.967 44.836 lineto
-51.123 44.836 lineto
-51.123 45.789 lineto
-49.967 45.789 lineto
-49.967 48.243 lineto
-48.873 48.243 lineto
-closepath
-46.107 44.836 M
-48.951 44.836 lineto
-48.951 40.993 lineto
-46.107 44.836 lineto
-closepath
-55.711 48.461 M
-54.367 48.461 53.539 47.196 QUADTO
-52.711 45.93 52.711 43.899 QUADTO
-52.711 41.852 53.547 40.602 QUADTO
-54.383 39.352 55.742 39.352 QUADTO
-57.102 39.352 57.938 40.602 QUADTO
-58.773 41.852 58.773 43.883 QUADTO
-58.773 45.961 57.938 47.211 QUADTO
-57.102 48.461 55.711 48.461 QUADTO
-closepath
-55.727 47.586 M
-57.555 47.586 57.555 43.868 QUADTO
-57.555 40.227 55.742 40.227 QUADTO
-53.945 40.227 53.945 43.899 QUADTO
-53.945 47.586 55.727 47.586 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 43.967 M
-65.533 43.967 lineto
-stroke
-grestore
-gsave
-[0 -1 1 0 -149.21789 210.96009] concat
-newpath
-210.96 149.218 M
-210.96 549.218 lineto
--189.04 549.218 lineto
--189.04 149.218 lineto
-210.96 149.218 lineto
-closepath
-clip
-0.251 setgray
-newpath
--24.448 185.077 M
--24.448 174.28 lineto
--22.432 174.28 lineto
--22.432 185.077 lineto
--24.448 185.077 lineto
-closepath
--16.739 185.249 M
--18.504 185.249 -19.536 184.187 QUADTO
--20.567 183.124 -20.567 181.327 QUADTO
--20.567 179.499 -19.528 178.452 QUADTO
--18.489 177.405 -16.692 177.405 QUADTO
--14.895 177.405 -13.856 178.452 QUADTO
--12.817 179.499 -12.817 181.312 QUADTO
--12.817 183.155 -13.864 184.202 QUADTO
--14.911 185.249 -16.739 185.249 QUADTO
-closepath
--16.708 183.983 M
--14.973 183.983 -14.973 181.312 QUADTO
--14.973 180.093 -15.434 179.382 QUADTO
--15.895 178.671 -16.692 178.671 QUADTO
--17.489 178.671 -17.958 179.382 QUADTO
--18.426 180.093 -18.426 181.327 QUADTO
--18.426 182.546 -17.965 183.265 QUADTO
--17.504 183.983 -16.708 183.983 QUADTO
-closepath
--7.282 184.265 M
--8.282 185.249 -9.438 185.249 QUADTO
--10.422 185.249 -11.04 184.648 QUADTO
--11.657 184.046 -11.657 183.093 QUADTO
--11.657 181.843 -10.665 181.171 QUADTO
--9.672 180.499 -7.813 180.499 QUADTO
--7.282 180.499 lineto
--7.282 179.812 lineto
--7.282 178.64 -8.61 178.64 QUADTO
--9.797 178.64 -11 179.312 QUADTO
--11 177.921 lineto
--9.625 177.405 -8.282 177.405 QUADTO
--5.329 177.405 -5.329 179.749 QUADTO
--5.329 183.062 lineto
--5.329 183.952 -4.766 183.952 QUADTO
--4.672 183.952 -4.5 183.921 QUADTO
--4.454 185.062 lineto
--5.094 185.249 -5.594 185.249 QUADTO
--6.829 185.249 -7.188 184.265 QUADTO
--7.282 184.265 lineto
-closepath
--7.282 183.187 M
--7.282 181.655 lineto
--7.75 181.655 lineto
--9.719 181.655 -9.719 182.89 QUADTO
--9.719 183.312 -9.438 183.593 QUADTO
--9.157 183.874 -8.735 183.874 QUADTO
--8.016 183.874 -7.282 183.187 QUADTO
-closepath
-1.996 185.077 M
-1.996 183.655 lineto
-1.214 185.249 -0.458 185.249 QUADTO
--1.801 185.249 -2.575 184.257 QUADTO
--3.348 183.265 -3.348 181.53 QUADTO
--3.348 179.64 -2.481 178.523 QUADTO
--1.614 177.405 -0.145 177.405 QUADTO
-1.042 177.405 1.996 178.327 QUADTO
-1.996 174.28 lineto
-4.027 174.28 lineto
-4.027 185.077 lineto
-1.996 185.077 lineto
-closepath
-1.996 179.53 M
-1.261 178.718 0.433 178.718 QUADTO
--0.317 178.718 -0.754 179.437 QUADTO
--1.192 180.155 -1.192 181.358 QUADTO
--1.192 183.655 0.277 183.655 QUADTO
-1.183 183.655 1.996 182.499 QUADTO
-1.996 179.53 lineto
-closepath
-11.386 185.077 M
-11.386 178.843 lineto
-10.339 178.843 lineto
-10.339 177.577 lineto
-11.386 177.577 lineto
-11.386 177.03 lineto
-11.386 174.108 14.152 174.108 QUADTO
-15.042 174.108 15.996 174.374 QUADTO
-15.996 175.733 lineto
-15.136 175.374 14.449 175.374 QUADTO
-13.402 175.374 13.402 176.952 QUADTO
-13.402 177.577 lineto
-15.308 177.577 lineto
-15.308 178.843 lineto
-13.402 178.843 lineto
-13.402 185.077 lineto
-11.386 185.077 lineto
-closepath
-16.971 185.077 M
-16.971 177.577 lineto
-18.987 177.577 lineto
-18.987 178.983 lineto
-19.784 177.405 21.393 177.405 QUADTO
-21.581 177.405 21.768 177.437 QUADTO
-21.768 179.249 lineto
-21.331 179.093 20.956 179.093 QUADTO
-19.752 179.093 18.987 180.312 QUADTO
-18.987 185.077 lineto
-16.971 185.077 lineto
-closepath
-27.007 184.265 M
-26.007 185.249 24.851 185.249 QUADTO
-23.867 185.249 23.25 184.648 QUADTO
-22.632 184.046 22.632 183.093 QUADTO
-22.632 181.843 23.625 181.171 QUADTO
-24.617 180.499 26.476 180.499 QUADTO
-27.007 180.499 lineto
-27.007 179.812 lineto
-27.007 178.64 25.679 178.64 QUADTO
-24.492 178.64 23.289 179.312 QUADTO
-23.289 177.921 lineto
-24.664 177.405 26.007 177.405 QUADTO
-28.96 177.405 28.96 179.749 QUADTO
-28.96 183.062 lineto
-28.96 183.952 29.523 183.952 QUADTO
-29.617 183.952 29.789 183.921 QUADTO
-29.835 185.062 lineto
-29.195 185.249 28.695 185.249 QUADTO
-27.46 185.249 27.101 184.265 QUADTO
-27.007 184.265 lineto
-closepath
-27.007 183.187 M
-27.007 181.655 lineto
-26.539 181.655 lineto
-24.57 181.655 24.57 182.89 QUADTO
-24.57 183.312 24.851 183.593 QUADTO
-25.132 183.874 25.554 183.874 QUADTO
-26.273 183.874 27.007 183.187 QUADTO
-closepath
-37.097 184.905 M
-35.847 185.249 34.769 185.249 QUADTO
-32.972 185.249 31.933 184.194 QUADTO
-30.894 183.14 30.894 181.312 QUADTO
-30.894 179.483 31.964 178.444 QUADTO
-33.035 177.405 34.925 177.405 QUADTO
-35.847 177.405 37.035 177.687 QUADTO
-37.035 179.155 lineto
-35.8 178.749 35.05 178.749 QUADTO
-34.144 178.749 33.589 179.452 QUADTO
-33.035 180.155 33.035 181.296 QUADTO
-33.035 182.483 33.636 183.194 QUADTO
-34.238 183.905 35.222 183.905 QUADTO
-36.144 183.905 37.097 183.515 QUADTO
-37.097 184.905 lineto
-closepath
-42.892 185.03 M
-42.158 185.249 41.751 185.249 QUADTO
-39.111 185.249 39.111 182.78 QUADTO
-39.111 178.843 lineto
-38.267 178.843 lineto
-38.267 177.577 lineto
-39.111 177.577 lineto
-39.111 176.312 lineto
-41.142 176.077 lineto
-41.142 177.577 lineto
-42.736 177.577 lineto
-42.736 178.843 lineto
-41.142 178.843 lineto
-41.142 182.515 lineto
-41.142 183.905 42.267 183.905 QUADTO
-42.517 183.905 42.892 183.812 QUADTO
-42.892 185.03 lineto
-closepath
-44.691 185.077 M
-44.691 177.577 lineto
-46.707 177.577 lineto
-46.707 185.077 lineto
-44.691 185.077 lineto
-closepath
-44.691 176.312 M
-44.691 174.624 lineto
-46.707 174.624 lineto
-46.707 176.312 lineto
-44.691 176.312 lineto
-closepath
-52.4 185.249 M
-50.634 185.249 49.603 184.187 QUADTO
-48.572 183.124 48.572 181.327 QUADTO
-48.572 179.499 49.611 178.452 QUADTO
-50.65 177.405 52.447 177.405 QUADTO
-54.244 177.405 55.283 178.452 QUADTO
-56.322 179.499 56.322 181.312 QUADTO
-56.322 183.155 55.275 184.202 QUADTO
-54.228 185.249 52.4 185.249 QUADTO
-closepath
-52.431 183.983 M
-54.166 183.983 54.166 181.312 QUADTO
-54.166 180.093 53.705 179.382 QUADTO
-53.244 178.671 52.447 178.671 QUADTO
-51.65 178.671 51.181 179.382 QUADTO
-50.712 180.093 50.712 181.327 QUADTO
-50.712 182.546 51.173 183.265 QUADTO
-51.634 183.983 52.431 183.983 QUADTO
-closepath
-58.185 185.077 M
-58.185 177.577 lineto
-60.201 177.577 lineto
-60.201 178.983 lineto
-61.201 177.405 62.763 177.405 QUADTO
-63.763 177.405 64.349 178.038 QUADTO
-64.935 178.671 64.935 179.765 QUADTO
-64.935 185.077 lineto
-62.904 185.077 lineto
-62.904 180.265 lineto
-62.904 178.999 62.06 178.999 QUADTO
-61.091 178.999 60.201 180.358 QUADTO
-60.201 185.077 lineto
-58.185 185.077 lineto
-closepath
-70.629 174.202 M
-70.629 175.499 lineto
-68.801 177.343 68.801 180.687 QUADTO
-68.801 184.046 70.629 185.874 QUADTO
-70.629 187.187 lineto
-68.958 186.28 67.958 184.507 QUADTO
-66.958 182.733 66.958 180.687 QUADTO
-66.958 178.64 67.942 176.89 QUADTO
-68.926 175.14 70.629 174.202 QUADTO
-closepath
-72.13 185.327 M
-80.084 174.702 lineto
-81.443 174.702 lineto
-73.49 185.327 lineto
-72.13 185.327 lineto
-closepath
-73.849 180.015 M
-72.755 180.015 72.115 179.335 QUADTO
-71.474 178.655 71.474 177.483 QUADTO
-71.474 176.312 72.115 175.632 QUADTO
-72.755 174.952 73.88 174.952 QUADTO
-74.99 174.952 75.638 175.632 QUADTO
-76.287 176.312 76.287 177.483 QUADTO
-76.287 178.671 75.638 179.343 QUADTO
-74.99 180.015 73.849 180.015 QUADTO
-closepath
-73.865 178.999 M
-74.755 178.999 74.755 177.483 QUADTO
-74.755 175.968 73.88 175.968 QUADTO
-72.99 175.968 72.99 177.483 QUADTO
-72.99 178.999 73.865 178.999 QUADTO
-closepath
-79.677 185.077 M
-78.568 185.077 77.927 184.398 QUADTO
-77.287 183.718 77.287 182.546 QUADTO
-77.287 181.358 77.935 180.687 QUADTO
-78.584 180.015 79.693 180.015 QUADTO
-80.818 180.015 81.459 180.687 QUADTO
-82.099 181.358 82.099 182.546 QUADTO
-82.099 183.733 81.459 184.405 QUADTO
-80.818 185.077 79.677 185.077 QUADTO
-closepath
-79.677 184.062 M
-80.584 184.062 80.584 182.546 QUADTO
-80.584 181.03 79.693 181.03 QUADTO
-78.802 181.03 78.802 182.546 QUADTO
-78.802 184.062 79.677 184.062 QUADTO
-closepath
-82.751 174.202 M
-82.751 175.499 lineto
-84.58 177.343 84.58 180.687 QUADTO
-84.58 184.046 82.751 185.874 QUADTO
-82.751 187.187 lineto
-84.423 186.28 85.423 184.507 QUADTO
-86.423 182.733 86.423 180.687 QUADTO
-86.423 178.64 85.439 176.89 QUADTO
-84.455 175.14 82.751 174.202 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-80.356 34.247 M
-80.356 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-109.653 34.247 M
-109.653 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-130.44 34.247 M
-130.44 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-146.563 34.247 M
-146.563 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-159.737 34.247 M
-159.737 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-170.875 34.247 M
-170.875 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-180.523 34.247 M
-180.523 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-189.034 34.247 M
-189.034 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-196.646 34.247 M
-196.646 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-196.646 34.247 M
-196.646 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-246.73 34.247 M
-246.73 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-276.027 34.247 M
-276.027 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-296.813 34.247 M
-296.813 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-312.937 34.247 M
-312.937 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-326.11 34.247 M
-326.11 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-337.249 34.247 M
-337.249 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-346.897 34.247 M
-346.897 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-355.407 34.247 M
-355.407 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-363.02 34.247 M
-363.02 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-363.02 34.247 M
-363.02 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 325.931 M
-388 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 290.686 M
-388 290.686 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 255.44 M
-388 255.44 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 220.195 M
-388 220.195 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 184.949 M
-388 184.949 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 149.704 M
-388 149.704 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 114.458 M
-388 114.458 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 79.212 M
-388 79.212 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 43.967 M
-388 43.967 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-80.356 160.612 M
-130.44 186.059 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-130.44 186.059 M
-180.523 166.547 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-180.523 166.547 M
-230.607 185.344 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.607 185.344 M
-280.69 167.869 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-280.69 167.869 M
-330.774 162.121 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-330.774 162.121 M
-363.02 156.823 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-80.356 103.652 M
-130.44 110.049 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-130.44 110.049 M
-180.523 112.41 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-180.523 112.41 M
-230.607 103.965 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.607 103.965 M
-280.69 101.555 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-280.69 101.555 M
-330.774 100.67 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-330.774 100.67 M
-363.02 48.136 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-80.356 167.252 M
-130.44 167.689 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-130.44 167.689 M
-180.523 166.794 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-180.523 166.794 M
-230.607 163.255 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.607 163.255 M
-280.69 161.814 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-280.69 161.814 M
-330.774 160.002 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-330.774 160.002 M
-363.02 153.154 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-80.356 157.612 M
-83.356 163.612 lineto
-77.356 163.612 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.356 157.612 M
-83.356 163.612 lineto
-77.356 163.612 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-130.44 183.059 M
-133.44 189.059 lineto
-127.44 189.059 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.44 183.059 M
-133.44 189.059 lineto
-127.44 189.059 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-180.523 163.547 M
-183.523 169.547 lineto
-177.523 169.547 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-180.523 163.547 M
-183.523 169.547 lineto
-177.523 169.547 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-230.607 182.344 M
-233.607 188.344 lineto
-227.607 188.344 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-230.607 182.344 M
-233.607 188.344 lineto
-227.607 188.344 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-280.69 164.869 M
-283.69 170.869 lineto
-277.69 170.869 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-280.69 164.869 M
-283.69 170.869 lineto
-277.69 170.869 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-330.774 159.121 M
-333.774 165.121 lineto
-327.774 165.121 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-330.774 159.121 M
-333.774 165.121 lineto
-327.774 165.121 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-363.02 153.823 M
-366.02 159.823 lineto
-360.02 159.823 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-363.02 153.823 M
-366.02 159.823 lineto
-360.02 159.823 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-83.356 103.652 M
-83.356 105.309 82.013 106.652 80.356 106.652 curveto
-78.699 106.652 77.356 105.309 77.356 103.652 curveto
-77.356 101.995 78.699 100.652 80.356 100.652 curveto
-82.013 100.652 83.356 101.995 83.356 103.652 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.356 103.652 M
-83.356 105.309 82.013 106.652 80.356 106.652 curveto
-78.699 106.652 77.356 105.309 77.356 103.652 curveto
-77.356 101.995 78.699 100.652 80.356 100.652 curveto
-82.013 100.652 83.356 101.995 83.356 103.652 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-133.44 110.049 M
-133.44 111.706 132.096 113.049 130.44 113.049 curveto
-128.783 113.049 127.44 111.706 127.44 110.049 curveto
-127.44 108.392 128.783 107.049 130.44 107.049 curveto
-132.096 107.049 133.44 108.392 133.44 110.049 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-133.44 110.049 M
-133.44 111.706 132.096 113.049 130.44 113.049 curveto
-128.783 113.049 127.44 111.706 127.44 110.049 curveto
-127.44 108.392 128.783 107.049 130.44 107.049 curveto
-132.096 107.049 133.44 108.392 133.44 110.049 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-183.523 112.41 M
-183.523 114.067 182.18 115.41 180.523 115.41 curveto
-178.866 115.41 177.523 114.067 177.523 112.41 curveto
-177.523 110.753 178.866 109.41 180.523 109.41 curveto
-182.18 109.41 183.523 110.753 183.523 112.41 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-183.523 112.41 M
-183.523 114.067 182.18 115.41 180.523 115.41 curveto
-178.866 115.41 177.523 114.067 177.523 112.41 curveto
-177.523 110.753 178.866 109.41 180.523 109.41 curveto
-182.18 109.41 183.523 110.753 183.523 112.41 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-233.607 103.965 M
-233.607 105.622 232.264 106.965 230.607 106.965 curveto
-228.95 106.965 227.607 105.622 227.607 103.965 curveto
-227.607 102.309 228.95 100.965 230.607 100.965 curveto
-232.264 100.965 233.607 102.309 233.607 103.965 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-233.607 103.965 M
-233.607 105.622 232.264 106.965 230.607 106.965 curveto
-228.95 106.965 227.607 105.622 227.607 103.965 curveto
-227.607 102.309 228.95 100.965 230.607 100.965 curveto
-232.264 100.965 233.607 102.309 233.607 103.965 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-283.69 101.555 M
-283.69 103.211 282.347 104.555 280.69 104.555 curveto
-279.033 104.555 277.69 103.211 277.69 101.555 curveto
-277.69 99.898 279.033 98.555 280.69 98.555 curveto
-282.347 98.555 283.69 99.898 283.69 101.555 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-283.69 101.555 M
-283.69 103.211 282.347 104.555 280.69 104.555 curveto
-279.033 104.555 277.69 103.211 277.69 101.555 curveto
-277.69 99.898 279.033 98.555 280.69 98.555 curveto
-282.347 98.555 283.69 99.898 283.69 101.555 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-333.774 100.67 M
-333.774 102.327 332.431 103.67 330.774 103.67 curveto
-329.117 103.67 327.774 102.327 327.774 100.67 curveto
-327.774 99.013 329.117 97.67 330.774 97.67 curveto
-332.431 97.67 333.774 99.013 333.774 100.67 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-333.774 100.67 M
-333.774 102.327 332.431 103.67 330.774 103.67 curveto
-329.117 103.67 327.774 102.327 327.774 100.67 curveto
-327.774 99.013 329.117 97.67 330.774 97.67 curveto
-332.431 97.67 333.774 99.013 333.774 100.67 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-366.02 48.136 M
-366.02 49.793 364.677 51.136 363.02 51.136 curveto
-361.363 51.136 360.02 49.793 360.02 48.136 curveto
-360.02 46.48 361.363 45.136 363.02 45.136 curveto
-364.677 45.136 366.02 46.48 366.02 48.136 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-366.02 48.136 M
-366.02 49.793 364.677 51.136 363.02 51.136 curveto
-361.363 51.136 360.02 49.793 360.02 48.136 curveto
-360.02 46.48 361.363 45.136 363.02 45.136 curveto
-364.677 45.136 366.02 46.48 366.02 48.136 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-77.356 164.252 M
-83.356 164.252 lineto
-83.356 170.252 lineto
-77.356 170.252 lineto
-77.356 164.252 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-77.356 164.252 M
-83.356 164.252 lineto
-83.356 170.252 lineto
-77.356 170.252 lineto
-77.356 164.252 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-127.44 164.689 M
-133.44 164.689 lineto
-133.44 170.689 lineto
-127.44 170.689 lineto
-127.44 164.689 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.44 164.689 M
-133.44 164.689 lineto
-133.44 170.689 lineto
-127.44 170.689 lineto
-127.44 164.689 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-177.523 163.794 M
-183.523 163.794 lineto
-183.523 169.794 lineto
-177.523 169.794 lineto
-177.523 163.794 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-177.523 163.794 M
-183.523 163.794 lineto
-183.523 169.794 lineto
-177.523 169.794 lineto
-177.523 163.794 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-227.607 160.255 M
-233.607 160.255 lineto
-233.607 166.255 lineto
-227.607 166.255 lineto
-227.607 160.255 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.607 160.255 M
-233.607 160.255 lineto
-233.607 166.255 lineto
-227.607 166.255 lineto
-227.607 160.255 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-277.69 158.814 M
-283.69 158.814 lineto
-283.69 164.814 lineto
-277.69 164.814 lineto
-277.69 158.814 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-277.69 158.814 M
-283.69 158.814 lineto
-283.69 164.814 lineto
-277.69 164.814 lineto
-277.69 158.814 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-327.774 157.002 M
-333.774 157.002 lineto
-333.774 163.002 lineto
-327.774 163.002 lineto
-327.774 157.002 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-327.774 157.002 M
-333.774 157.002 lineto
-333.774 163.002 lineto
-327.774 163.002 lineto
-327.774 157.002 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-360.02 150.154 M
-366.02 150.154 lineto
-366.02 156.154 lineto
-360.02 156.154 lineto
-360.02 150.154 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-360.02 150.154 M
-366.02 150.154 lineto
-366.02 156.154 lineto
-360.02 156.154 lineto
-360.02 150.154 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-0.5 setlinewidth
-newpath
-69.533 34.247 M
-388 34.247 lineto
-388 325.931 lineto
-69.533 325.931 lineto
-69.533 34.247 lineto
-closepath
-stroke
-grestore
-%%Trailer
-%%Pages: 1
-%%EOF
diff --git a/sim/gobs/wiki/dc03kpv04.cfg b/sim/gobs/wiki/dc03kpv04.cfg
deleted file mode 100644
index e131118..0000000
--- a/sim/gobs/wiki/dc03kpv04.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv04.cfg system_size_20-1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/wiki/dc03kpv04.eps b/sim/gobs/wiki/dc03kpv04.eps
deleted file mode 100644
index 8b14d80..0000000
--- a/sim/gobs/wiki/dc03kpv04.eps
+++ /dev/null
@@ -1,5281 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (Apache XML Graphics Commons: EPS Generator for Java2D)
-%%CreationDate: 2009-10-05T13:01:34
-%%Pages: (atend)
-%%BoundingBox: 0 0 400 400
-%%LanguageLevel: 3
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset (Apache XML Graphics Std ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2001-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (Basic set of procedures used by the XML Graphics project \(Batik and FOP\))
-/bd{bind def}bind def
-/ld{load def}bd
-/M/moveto ld
-/RM/rmoveto ld
-/t/show ld
-/A/ashow ld
-/cp/closepath ld
-/re {4 2 roll M
-1 index 0 rlineto
-0 exch rlineto
-neg 0 rlineto
-cp } bd
-/_ctm matrix def
-/_tm matrix def
-/BT { _ctm currentmatrix pop matrix _tm copy pop 0 0 moveto } bd
-/ET { _ctm setmatrix } bd
-/iTm { _ctm setmatrix _tm concat } bd
-/Tm { _tm astore pop iTm 0 0 moveto } bd
-/ux 0.0 def
-/uy 0.0 def
-/F {
- /Tp exch def
- /Tf exch def
- Tf findfont Tp scalefont setfont
- /cf Tf def /cs Tp def /cw ( ) stringwidth pop def
-} bd
-/ULS {currentpoint /uy exch def /ux exch def} bd
-/ULE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add moveto Tcx uy To add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/OLE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs add moveto Tcx uy To add cs add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/SOE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs 10 mul 26 idiv add moveto Tcx uy To add cs 10 mul 26 idiv add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/QUADTO {
-/Y22 exch store
-/X22 exch store
-/Y21 exch store
-/X21 exch store
-currentpoint
-/Y21 load 2 mul add 3 div exch
-/X21 load 2 mul add 3 div exch
-/X21 load 2 mul /X22 load add 3 div
-/Y21 load 2 mul /Y22 load add 3 div
-/X22 load /Y22 load curveto
-} bd
-/SSPD {
-dup length /d exch dict def
-{
-/v exch def
-/k exch def
-currentpagedevice k known {
-/cpdv currentpagedevice k get def
-v cpdv ne {
-/upd false def
-/nullv v type /nulltype eq def
-/nullcpdv cpdv type /nulltype eq def
-nullv nullcpdv or
-{
-/upd true def
-} {
-/sametype v type cpdv type eq def
-sametype {
-v type /arraytype eq {
-/vlen v length def
-/cpdvlen cpdv length def
-vlen cpdvlen eq {
-0 1 vlen 1 sub {
-/i exch def
-/obj v i get def
-/cpdobj cpdv i get def
-obj cpdobj ne {
-/upd true def
-exit
-} if
-} for
-} {
-/upd true def
-} ifelse
-} {
-v type /dicttype eq {
-v {
-/dv exch def
-/dk exch def
-/cpddv cpdv dk get def
-dv cpddv ne {
-/upd true def
-exit
-} if
-} forall
-} {
-/upd true def
-} ifelse
-} ifelse
-} if
-} ifelse
-upd true eq {
-d k v put
-} if
-} if
-} if
-} forall
-d length 0 gt {
-d setpagedevice
-} if
-} bd
-%%EndResource
-%%BeginResource: procset (Apache XML Graphics EPS ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2002-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (EPS procedures used by the Apache XML Graphics project \(Batik and FOP\))
-/BeginEPSF { %def
-/b4_Inc_state save def % Save state for cleanup
-/dict_count countdictstack def % Count objects on dict stack
-/op_count count 1 sub def % Count objects on operand stack
-userdict begin % Push userdict on dict stack
-/showpage { } def % Redefine showpage, { } = null proc
-0 setgray 0 setlinecap % Prepare graphics state
-1 setlinewidth 0 setlinejoin
-10 setmiterlimit [ ] 0 setdash newpath
-/languagelevel where % If level not equal to 1 then
-{pop languagelevel % set strokeadjust and
-1 ne % overprint to their defaults.
-{false setstrokeadjust false setoverprint
-} if
-} if
-} bd
-/EndEPSF { %def
-count op_count sub {pop} repeat % Clean up stacks
-countdictstack dict_count sub {end} repeat
-b4_Inc_state restore
-} bd
-%%EndResource
-%%EndProlog
-%%Page: 1 1
-%%PageBoundingBox: 0 0 400 400
-%%BeginPageSetup
-[1 0 0 -1 0 400] concat
-%%EndPageSetup
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-81.354 20.249 M
-81.354 5.796 lineto
-85.338 5.796 lineto
-88.807 15.968 lineto
-92.4 5.796 lineto
-95.885 5.796 lineto
-95.885 20.249 lineto
-93.119 20.249 lineto
-93.119 9.343 lineto
-89.588 19.281 lineto
-87.166 19.281 lineto
-83.713 9.187 lineto
-83.713 20.249 lineto
-81.354 20.249 lineto
-closepath
-104.758 19.093 M
-103.305 20.499 101.664 20.499 QUADTO
-100.258 20.499 99.375 19.64 QUADTO
-98.492 18.781 98.492 17.406 QUADTO
-98.492 15.624 99.914 14.663 QUADTO
-101.336 13.703 103.992 13.703 QUADTO
-104.758 13.703 lineto
-104.758 12.734 lineto
-104.758 11.062 102.852 11.062 QUADTO
-101.164 11.062 99.43 12.015 QUADTO
-99.43 10.031 lineto
-101.398 9.281 103.32 9.281 QUADTO
-107.523 9.281 107.523 12.624 QUADTO
-107.523 17.374 lineto
-107.523 18.64 108.336 18.64 QUADTO
-108.492 18.64 108.727 18.593 QUADTO
-108.789 20.218 lineto
-107.867 20.499 107.164 20.499 QUADTO
-105.398 20.499 104.883 19.093 QUADTO
-104.758 19.093 lineto
-closepath
-104.758 17.546 M
-104.758 15.359 lineto
-104.07 15.359 lineto
-101.273 15.359 101.273 17.124 QUADTO
-101.273 17.718 101.68 18.124 QUADTO
-102.086 18.531 102.68 18.531 QUADTO
-103.695 18.531 104.758 17.546 QUADTO
-closepath
-110.125 20.249 M
-113.797 14.874 lineto
-110.281 9.531 lineto
-113.562 9.531 lineto
-115.875 12.921 lineto
-118.078 9.531 lineto
-120.422 9.531 lineto
-117.062 14.796 lineto
-120.672 20.249 lineto
-117.375 20.249 lineto
-114.969 16.703 lineto
-112.516 20.249 lineto
-110.125 20.249 lineto
-closepath
-123.082 20.249 M
-123.082 9.531 lineto
-125.973 9.531 lineto
-125.973 20.249 lineto
-123.082 20.249 lineto
-closepath
-123.082 7.718 M
-123.082 5.312 lineto
-125.973 5.312 lineto
-125.973 7.718 lineto
-123.082 7.718 lineto
-closepath
-129.586 20.249 M
-129.586 9.531 lineto
-132.352 9.531 lineto
-132.352 11.546 lineto
-133.617 9.281 135.961 9.281 QUADTO
-137.18 9.281 137.961 9.874 QUADTO
-138.742 10.468 138.914 11.546 QUADTO
-140.414 9.281 142.555 9.281 QUADTO
-145.492 9.281 145.492 12.531 QUADTO
-145.492 20.249 lineto
-142.711 20.249 lineto
-142.711 13.468 lineto
-142.711 11.562 141.445 11.562 QUADTO
-140.148 11.562 138.914 13.437 QUADTO
-138.914 20.249 lineto
-136.148 20.249 lineto
-136.148 13.468 lineto
-136.148 11.562 134.867 11.562 QUADTO
-133.586 11.562 132.352 13.437 QUADTO
-132.352 20.249 lineto
-129.586 20.249 lineto
-closepath
-155.605 20.249 M
-155.605 18.234 lineto
-154.199 20.499 151.949 20.499 QUADTO
-150.512 20.499 149.684 19.585 QUADTO
-148.855 18.671 148.855 17.109 QUADTO
-148.855 9.531 lineto
-151.746 9.531 lineto
-151.746 16.39 lineto
-151.746 18.218 152.965 18.218 QUADTO
-154.34 18.218 155.605 16.281 QUADTO
-155.605 9.531 lineto
-158.496 9.531 lineto
-158.496 20.249 lineto
-155.605 20.249 lineto
-closepath
-162.115 20.249 M
-162.115 9.531 lineto
-164.881 9.531 lineto
-164.881 11.546 lineto
-166.146 9.281 168.49 9.281 QUADTO
-169.709 9.281 170.49 9.874 QUADTO
-171.271 10.468 171.443 11.546 QUADTO
-172.943 9.281 175.084 9.281 QUADTO
-178.021 9.281 178.021 12.531 QUADTO
-178.021 20.249 lineto
-175.24 20.249 lineto
-175.24 13.468 lineto
-175.24 11.562 173.975 11.562 QUADTO
-172.678 11.562 171.443 13.437 QUADTO
-171.443 20.249 lineto
-168.678 20.249 lineto
-168.678 13.468 lineto
-168.678 11.562 167.396 11.562 QUADTO
-166.115 11.562 164.881 13.437 QUADTO
-164.881 20.249 lineto
-162.115 20.249 lineto
-closepath
-188.102 20.249 M
-188.102 5.796 lineto
-193.508 5.796 lineto
-197.914 5.796 197.914 9.374 QUADTO
-197.914 10.718 197.164 11.82 QUADTO
-196.414 12.921 195.102 13.499 QUADTO
-199.836 20.249 lineto
-196.18 20.249 lineto
-192.586 14.343 lineto
-190.93 14.343 lineto
-190.93 20.249 lineto
-188.102 20.249 lineto
-closepath
-190.93 12.359 M
-191.617 12.359 lineto
-194.898 12.359 194.898 9.718 QUADTO
-194.898 7.781 191.977 7.781 QUADTO
-190.93 7.781 lineto
-190.93 12.359 lineto
-closepath
-210.619 19.89 M
-208.572 20.499 206.713 20.499 QUADTO
-204.041 20.499 202.486 18.976 QUADTO
-200.932 17.453 200.932 14.812 QUADTO
-200.932 12.312 202.354 10.796 QUADTO
-203.775 9.281 206.104 9.281 QUADTO
-208.463 9.281 209.541 10.765 QUADTO
-210.619 12.249 210.619 15.468 QUADTO
-203.979 15.468 lineto
-204.275 18.531 207.338 18.531 QUADTO
-208.807 18.531 210.619 17.859 QUADTO
-210.619 19.89 lineto
-closepath
-203.932 13.828 M
-207.791 13.828 lineto
-207.791 11.093 206.01 11.093 QUADTO
-204.213 11.093 203.932 13.828 QUADTO
-closepath
-213.619 20.249 M
-213.619 4.828 lineto
-216.51 4.828 lineto
-216.51 11.546 lineto
-217.619 9.281 220.01 9.281 QUADTO
-221.947 9.281 223.057 10.695 QUADTO
-224.166 12.109 224.166 14.593 QUADTO
-224.166 17.281 222.916 18.89 QUADTO
-221.666 20.499 219.572 20.499 QUADTO
-217.775 20.499 216.51 19.171 QUADTO
-215.963 20.249 lineto
-213.619 20.249 lineto
-closepath
-216.51 17.453 M
-217.557 18.624 218.744 18.624 QUADTO
-219.822 18.624 220.455 17.593 QUADTO
-221.088 16.562 221.088 14.843 QUADTO
-221.088 11.546 218.963 11.546 QUADTO
-217.682 11.546 216.51 13.203 QUADTO
-216.51 17.453 lineto
-closepath
-233.496 20.249 M
-233.496 18.234 lineto
-232.09 20.499 229.84 20.499 QUADTO
-228.402 20.499 227.574 19.585 QUADTO
-226.746 18.671 226.746 17.109 QUADTO
-226.746 9.531 lineto
-229.637 9.531 lineto
-229.637 16.39 lineto
-229.637 18.218 230.855 18.218 QUADTO
-232.23 18.218 233.496 16.281 QUADTO
-233.496 9.531 lineto
-236.387 9.531 lineto
-236.387 20.249 lineto
-233.496 20.249 lineto
-closepath
-240.006 20.249 M
-240.006 9.531 lineto
-242.896 9.531 lineto
-242.896 20.249 lineto
-240.006 20.249 lineto
-closepath
-240.006 7.718 M
-240.006 5.312 lineto
-242.896 5.312 lineto
-242.896 7.718 lineto
-240.006 7.718 lineto
-closepath
-246.51 20.249 M
-246.51 4.828 lineto
-249.4 4.828 lineto
-249.4 20.249 lineto
-246.51 20.249 lineto
-closepath
-259.764 20.249 M
-259.764 18.234 lineto
-258.639 20.499 256.248 20.499 QUADTO
-254.311 20.499 253.209 19.078 QUADTO
-252.107 17.656 252.107 15.187 QUADTO
-252.107 12.484 253.357 10.882 QUADTO
-254.607 9.281 256.701 9.281 QUADTO
-258.373 9.281 259.764 10.609 QUADTO
-259.764 4.828 lineto
-262.654 4.828 lineto
-262.654 20.249 lineto
-259.764 20.249 lineto
-closepath
-259.764 12.328 M
-258.717 11.156 257.514 11.156 QUADTO
-256.451 11.156 255.818 12.179 QUADTO
-255.186 13.203 255.186 14.937 QUADTO
-255.186 18.234 257.295 18.234 QUADTO
-258.592 18.234 259.764 16.578 QUADTO
-259.764 12.328 lineto
-closepath
-272.857 20.249 M
-272.857 5.796 lineto
-275.857 5.796 lineto
-275.857 18.203 lineto
-282.373 18.203 lineto
-282.373 20.249 lineto
-272.857 20.249 lineto
-closepath
-288.988 20.499 M
-286.473 20.499 284.996 18.976 QUADTO
-283.52 17.453 283.52 14.89 QUADTO
-283.52 12.296 285.004 10.788 QUADTO
-286.488 9.281 289.051 9.281 QUADTO
-291.629 9.281 293.113 10.788 QUADTO
-294.598 12.296 294.598 14.874 QUADTO
-294.598 17.499 293.105 18.999 QUADTO
-291.613 20.499 288.988 20.499 QUADTO
-closepath
-289.035 18.687 M
-291.52 18.687 291.52 14.874 QUADTO
-291.52 13.124 290.863 12.109 QUADTO
-290.207 11.093 289.051 11.093 QUADTO
-287.91 11.093 287.254 12.109 QUADTO
-286.598 13.124 286.598 14.89 QUADTO
-286.598 16.64 287.246 17.663 QUADTO
-287.895 18.687 289.035 18.687 QUADTO
-closepath
-302.512 19.093 M
-301.059 20.499 299.418 20.499 QUADTO
-298.012 20.499 297.129 19.64 QUADTO
-296.246 18.781 296.246 17.406 QUADTO
-296.246 15.624 297.668 14.663 QUADTO
-299.09 13.703 301.746 13.703 QUADTO
-302.512 13.703 lineto
-302.512 12.734 lineto
-302.512 11.062 300.605 11.062 QUADTO
-298.918 11.062 297.184 12.015 QUADTO
-297.184 10.031 lineto
-299.152 9.281 301.074 9.281 QUADTO
-305.277 9.281 305.277 12.624 QUADTO
-305.277 17.374 lineto
-305.277 18.64 306.09 18.64 QUADTO
-306.246 18.64 306.48 18.593 QUADTO
-306.543 20.218 lineto
-305.621 20.499 304.918 20.499 QUADTO
-303.152 20.499 302.637 19.093 QUADTO
-302.512 19.093 lineto
-closepath
-302.512 17.546 M
-302.512 15.359 lineto
-301.824 15.359 lineto
-299.027 15.359 299.027 17.124 QUADTO
-299.027 17.718 299.434 18.124 QUADTO
-299.84 18.531 300.434 18.531 QUADTO
-301.449 18.531 302.512 17.546 QUADTO
-closepath
-315.77 20.249 M
-315.77 18.234 lineto
-314.645 20.499 312.254 20.499 QUADTO
-310.316 20.499 309.215 19.078 QUADTO
-308.113 17.656 308.113 15.187 QUADTO
-308.113 12.484 309.363 10.882 QUADTO
-310.613 9.281 312.707 9.281 QUADTO
-314.379 9.281 315.77 10.609 QUADTO
-315.77 4.828 lineto
-318.66 4.828 lineto
-318.66 20.249 lineto
-315.77 20.249 lineto
-closepath
-315.77 12.328 M
-314.723 11.156 313.52 11.156 QUADTO
-312.457 11.156 311.824 12.179 QUADTO
-311.191 13.203 311.191 14.937 QUADTO
-311.191 18.234 313.301 18.234 QUADTO
-314.598 18.234 315.77 16.578 QUADTO
-315.77 12.328 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-79.864 376.452 M
-320.136 376.452 lineto
-320.136 399 lineto
-79.864 399 lineto
-79.864 376.452 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 376.952 M
-319.636 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 398.5 M
-319.636 398.5 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 398.5 M
-80.364 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.636 398.5 M
-319.636 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.864 387.726 M
-97.864 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-87.864 384.726 M
-93.864 384.726 lineto
-93.864 390.726 lineto
-87.864 390.726 lineto
-87.864 384.726 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.864 384.726 M
-93.864 384.726 lineto
-93.864 390.726 lineto
-87.864 390.726 lineto
-87.864 384.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-102.989 392.002 M
-102.989 383.33 lineto
-105.349 383.33 lineto
-106.911 383.33 107.599 383.861 QUADTO
-108.286 384.392 108.286 385.595 QUADTO
-108.286 386.986 107.349 387.767 QUADTO
-106.411 388.549 104.755 388.549 QUADTO
-104.208 388.549 lineto
-104.208 392.002 lineto
-102.989 392.002 lineto
-closepath
-104.208 387.627 M
-104.708 387.627 lineto
-105.802 387.627 106.396 387.119 QUADTO
-106.989 386.611 106.989 385.689 QUADTO
-106.989 384.924 106.521 384.588 QUADTO
-106.052 384.252 104.958 384.252 QUADTO
-104.208 384.252 lineto
-104.208 387.627 lineto
-closepath
-114.013 388.689 M
-112.528 384.939 lineto
-111.06 388.689 lineto
-114.013 388.689 lineto
-closepath
-115.31 392.002 M
-114.372 389.595 lineto
-110.7 389.595 lineto
-109.747 392.002 lineto
-108.591 392.002 lineto
-112.044 383.33 lineto
-113.263 383.33 lineto
-116.638 392.002 lineto
-115.31 392.002 lineto
-closepath
-119.589 392.22 M
-118.729 392.22 117.37 391.83 QUADTO
-117.37 390.611 lineto
-118.823 391.299 119.776 391.299 QUADTO
-120.495 391.299 120.94 390.916 QUADTO
-121.386 390.533 121.386 389.908 QUADTO
-121.386 389.408 121.097 389.049 QUADTO
-120.808 388.689 120.026 388.252 QUADTO
-119.433 387.908 lineto
-118.323 387.267 117.87 386.713 QUADTO
-117.417 386.158 117.417 385.408 QUADTO
-117.417 384.408 118.144 383.759 QUADTO
-118.87 383.111 119.995 383.111 QUADTO
-120.995 383.111 122.104 383.439 QUADTO
-122.104 384.564 lineto
-120.729 384.033 120.058 384.033 QUADTO
-119.417 384.033 119.003 384.369 QUADTO
-118.589 384.705 118.589 385.22 QUADTO
-118.589 385.658 118.894 385.994 QUADTO
-119.198 386.33 120.011 386.799 QUADTO
-120.62 387.142 lineto
-121.745 387.783 122.19 388.353 QUADTO
-122.636 388.924 122.636 389.72 QUADTO
-122.636 390.845 121.808 391.533 QUADTO
-120.979 392.22 119.589 392.22 QUADTO
-closepath
-126.427 392.002 M
-126.427 384.252 lineto
-123.349 384.252 lineto
-123.349 383.33 lineto
-130.724 383.33 lineto
-130.724 384.252 lineto
-127.646 384.252 lineto
-127.646 392.002 lineto
-126.427 392.002 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-136.827 387.726 M
-150.827 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-146.827 387.726 M
-146.827 389.383 145.484 390.726 143.827 390.726 curveto
-142.17 390.726 140.827 389.383 140.827 387.726 curveto
-140.827 386.069 142.17 384.726 143.827 384.726 curveto
-145.484 384.726 146.827 386.069 146.827 387.726 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.827 387.726 M
-146.827 389.383 145.484 390.726 143.827 390.726 curveto
-142.17 390.726 140.827 389.383 140.827 387.726 curveto
-140.827 386.069 142.17 384.726 143.827 384.726 curveto
-145.484 384.726 146.827 386.069 146.827 387.726 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-155.952 392.002 M
-155.952 383.33 lineto
-157.108 383.33 lineto
-157.108 387.595 lineto
-160.608 383.33 lineto
-161.843 383.33 lineto
-158.452 387.47 lineto
-162.452 392.002 lineto
-160.89 392.002 lineto
-157.108 387.611 lineto
-157.108 392.002 lineto
-155.952 392.002 lineto
-closepath
-167.099 391.189 M
-166.067 392.142 165.099 392.142 QUADTO
-164.302 392.142 163.786 391.65 QUADTO
-163.271 391.158 163.271 390.408 QUADTO
-163.271 389.361 164.146 388.799 QUADTO
-165.021 388.236 166.646 388.236 QUADTO
-166.927 388.236 lineto
-166.927 387.47 lineto
-166.927 386.361 165.786 386.361 QUADTO
-164.88 386.361 163.817 386.924 QUADTO
-163.817 385.97 lineto
-164.989 385.502 166.005 385.502 QUADTO
-167.067 385.502 167.575 385.978 QUADTO
-168.083 386.455 168.083 387.47 QUADTO
-168.083 390.361 lineto
-168.083 391.345 168.692 391.345 QUADTO
-168.771 391.345 168.911 391.314 QUADTO
-168.989 391.955 lineto
-168.599 392.142 168.13 392.142 QUADTO
-167.317 392.142 167.099 391.189 QUADTO
-closepath
-166.927 390.564 M
-166.927 388.924 lineto
-166.536 388.908 lineto
-165.599 388.908 165.013 389.267 QUADTO
-164.427 389.627 164.427 390.22 QUADTO
-164.427 390.627 164.716 390.916 QUADTO
-165.005 391.205 165.427 391.205 QUADTO
-166.146 391.205 166.927 390.564 QUADTO
-closepath
-174.522 392.002 M
-174.522 390.799 lineto
-173.819 392.142 172.413 392.142 QUADTO
-171.257 392.142 170.601 391.306 QUADTO
-169.944 390.47 169.944 389.017 QUADTO
-169.944 387.424 170.687 386.463 QUADTO
-171.429 385.502 172.647 385.502 QUADTO
-173.788 385.502 174.522 386.361 QUADTO
-174.522 382.752 lineto
-175.694 382.752 lineto
-175.694 392.002 lineto
-174.522 392.002 lineto
-closepath
-174.522 387.158 M
-173.632 386.361 172.835 386.361 QUADTO
-171.163 386.361 171.163 388.908 QUADTO
-171.163 391.127 172.647 391.127 QUADTO
-173.601 391.127 174.522 390.08 QUADTO
-174.522 387.158 lineto
-closepath
-182.653 391.799 M
-181.497 392.142 180.669 392.142 QUADTO
-179.263 392.142 178.38 391.213 QUADTO
-177.497 390.283 177.497 388.783 QUADTO
-177.497 387.345 178.278 386.416 QUADTO
-179.06 385.486 180.278 385.486 QUADTO
-181.435 385.486 182.06 386.306 QUADTO
-182.685 387.127 182.685 388.642 QUADTO
-182.685 389.002 lineto
-178.669 389.002 lineto
-178.919 391.267 180.888 391.267 QUADTO
-181.606 391.267 182.653 390.877 QUADTO
-182.653 391.799 lineto
-closepath
-178.716 388.127 M
-181.528 388.127 lineto
-181.528 386.361 180.2 386.361 QUADTO
-178.872 386.361 178.716 388.127 QUADTO
-closepath
-184.683 392.002 M
-184.683 385.642 lineto
-185.839 385.642 lineto
-185.839 386.83 lineto
-186.683 385.502 188.011 385.502 QUADTO
-189.276 385.502 189.745 386.83 QUADTO
-190.558 385.486 191.87 385.486 QUADTO
-192.714 385.486 193.183 385.986 QUADTO
-193.651 386.486 193.651 387.377 QUADTO
-193.651 392.002 lineto
-192.479 392.002 lineto
-192.479 387.549 lineto
-192.479 386.47 191.62 386.47 QUADTO
-190.729 386.47 189.745 387.736 QUADTO
-189.745 392.002 lineto
-188.589 392.002 lineto
-188.589 387.549 lineto
-188.589 386.455 187.698 386.455 QUADTO
-186.839 386.455 185.839 387.736 QUADTO
-185.839 392.002 lineto
-184.683 392.002 lineto
-closepath
-195.886 392.002 M
-195.886 382.752 lineto
-197.042 382.752 lineto
-197.042 392.002 lineto
-195.886 392.002 lineto
-closepath
-199.354 392.002 M
-199.354 385.642 lineto
-200.511 385.642 lineto
-200.511 392.002 lineto
-199.354 392.002 lineto
-closepath
-199.354 384.486 M
-199.354 383.33 lineto
-200.511 383.33 lineto
-200.511 384.486 lineto
-199.354 384.486 lineto
-closepath
-206.104 391.189 M
-205.073 392.142 204.104 392.142 QUADTO
-203.308 392.142 202.792 391.65 QUADTO
-202.276 391.158 202.276 390.408 QUADTO
-202.276 389.361 203.151 388.799 QUADTO
-204.026 388.236 205.651 388.236 QUADTO
-205.933 388.236 lineto
-205.933 387.47 lineto
-205.933 386.361 204.792 386.361 QUADTO
-203.886 386.361 202.823 386.924 QUADTO
-202.823 385.97 lineto
-203.995 385.502 205.011 385.502 QUADTO
-206.073 385.502 206.581 385.978 QUADTO
-207.089 386.455 207.089 387.47 QUADTO
-207.089 390.361 lineto
-207.089 391.345 207.698 391.345 QUADTO
-207.776 391.345 207.917 391.314 QUADTO
-207.995 391.955 lineto
-207.604 392.142 207.136 392.142 QUADTO
-206.323 392.142 206.104 391.189 QUADTO
-closepath
-205.933 390.564 M
-205.933 388.924 lineto
-205.542 388.908 lineto
-204.604 388.908 204.019 389.267 QUADTO
-203.433 389.627 203.433 390.22 QUADTO
-203.433 390.627 203.722 390.916 QUADTO
-204.011 391.205 204.433 391.205 QUADTO
-205.151 391.205 205.933 390.564 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-214.294 387.726 M
-228.294 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-221.294 384.726 M
-224.294 390.726 lineto
-218.294 390.726 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.294 384.726 M
-224.294 390.726 lineto
-218.294 390.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-235.778 392.002 M
-232.513 383.33 lineto
-233.731 383.33 lineto
-236.419 390.424 lineto
-239.013 383.33 lineto
-240.091 383.33 lineto
-236.935 392.002 lineto
-235.778 392.002 lineto
-closepath
-245.952 391.799 M
-244.796 392.142 243.968 392.142 QUADTO
-242.562 392.142 241.679 391.213 QUADTO
-240.796 390.283 240.796 388.783 QUADTO
-240.796 387.345 241.577 386.416 QUADTO
-242.358 385.486 243.577 385.486 QUADTO
-244.733 385.486 245.358 386.306 QUADTO
-245.983 387.127 245.983 388.642 QUADTO
-245.983 389.002 lineto
-241.968 389.002 lineto
-242.218 391.267 244.187 391.267 QUADTO
-244.905 391.267 245.952 390.877 QUADTO
-245.952 391.799 lineto
-closepath
-242.015 388.127 M
-244.827 388.127 lineto
-244.827 386.361 243.499 386.361 QUADTO
-242.171 386.361 242.015 388.127 QUADTO
-closepath
-247.981 392.002 M
-247.981 385.642 lineto
-249.138 385.642 lineto
-249.138 386.83 lineto
-249.825 385.502 251.122 385.502 QUADTO
-251.31 385.502 251.497 385.533 QUADTO
-251.497 386.611 lineto
-251.2 386.502 250.966 386.502 QUADTO
-249.872 386.502 249.138 387.799 QUADTO
-249.138 392.002 lineto
-247.981 392.002 lineto
-closepath
-254.798 392.142 M
-253.923 392.142 253.431 391.642 QUADTO
-252.938 391.142 252.938 390.236 QUADTO
-252.938 386.502 lineto
-252.142 386.502 lineto
-252.142 385.642 lineto
-252.938 385.642 lineto
-252.938 384.486 lineto
-254.095 384.377 lineto
-254.095 385.642 lineto
-255.751 385.642 lineto
-255.751 386.502 lineto
-254.095 386.502 lineto
-254.095 390.033 lineto
-254.095 391.283 255.173 391.283 QUADTO
-255.392 391.283 255.72 391.205 QUADTO
-255.72 392.002 lineto
-255.188 392.142 254.798 392.142 QUADTO
-closepath
-262.036 391.799 M
-260.88 392.142 260.052 392.142 QUADTO
-258.646 392.142 257.763 391.213 QUADTO
-256.88 390.283 256.88 388.783 QUADTO
-256.88 387.345 257.661 386.416 QUADTO
-258.442 385.486 259.661 385.486 QUADTO
-260.817 385.486 261.442 386.306 QUADTO
-262.067 387.127 262.067 388.642 QUADTO
-262.067 389.002 lineto
-258.052 389.002 lineto
-258.302 391.267 260.271 391.267 QUADTO
-260.989 391.267 262.036 390.877 QUADTO
-262.036 391.799 lineto
-closepath
-258.099 388.127 M
-260.911 388.127 lineto
-260.911 386.361 259.583 386.361 QUADTO
-258.255 386.361 258.099 388.127 QUADTO
-closepath
-263.425 392.002 M
-265.847 388.72 lineto
-263.503 385.642 lineto
-264.862 385.642 lineto
-266.722 388.08 lineto
-268.409 385.642 lineto
-269.534 385.642 lineto
-267.331 388.861 lineto
-269.722 392.002 lineto
-268.347 392.002 lineto
-266.44 389.486 lineto
-264.581 392.002 lineto
-263.425 392.002 lineto
-closepath
-281.706 391.767 M
-280.128 392.22 278.956 392.22 QUADTO
-276.878 392.22 275.776 391.041 QUADTO
-274.675 389.861 274.675 387.658 QUADTO
-274.675 385.502 275.792 384.306 QUADTO
-276.909 383.111 278.94 383.111 QUADTO
-280.253 383.111 281.69 383.502 QUADTO
-281.69 384.642 lineto
-279.894 384.033 278.94 384.033 QUADTO
-277.534 384.033 276.761 384.986 QUADTO
-275.987 385.939 275.987 387.674 QUADTO
-275.987 389.392 276.815 390.345 QUADTO
-277.644 391.299 279.144 391.299 QUADTO
-279.769 391.299 280.472 391.08 QUADTO
-280.472 388.252 lineto
-281.706 388.252 lineto
-281.706 391.767 lineto
-closepath
-283.894 392.002 M
-283.894 385.642 lineto
-285.05 385.642 lineto
-285.05 386.83 lineto
-285.737 385.502 287.034 385.502 QUADTO
-287.222 385.502 287.409 385.533 QUADTO
-287.409 386.611 lineto
-287.112 386.502 286.878 386.502 QUADTO
-285.784 386.502 285.05 387.799 QUADTO
-285.05 392.002 lineto
-283.894 392.002 lineto
-closepath
-291.288 392.142 M
-289.929 392.142 289.116 391.236 QUADTO
-288.304 390.33 288.304 388.814 QUADTO
-288.304 387.283 289.116 386.392 QUADTO
-289.929 385.502 291.335 385.502 QUADTO
-292.741 385.502 293.554 386.392 QUADTO
-294.366 387.283 294.366 388.814 QUADTO
-294.366 390.361 293.546 391.252 QUADTO
-292.726 392.142 291.288 392.142 QUADTO
-closepath
-291.304 391.283 M
-293.147 391.283 293.147 388.814 QUADTO
-293.147 386.361 291.335 386.361 QUADTO
-289.522 386.361 289.522 388.814 QUADTO
-289.522 391.283 291.304 391.283 QUADTO
-closepath
-300.159 392.002 M
-300.159 390.799 lineto
-299.237 392.142 297.925 392.142 QUADTO
-297.081 392.142 296.589 391.619 QUADTO
-296.097 391.095 296.097 390.205 QUADTO
-296.097 385.642 lineto
-297.253 385.642 lineto
-297.253 389.83 lineto
-297.253 390.549 297.464 390.853 QUADTO
-297.675 391.158 298.159 391.158 QUADTO
-299.222 391.158 300.159 389.767 QUADTO
-300.159 385.642 lineto
-301.3 385.642 lineto
-301.3 392.002 lineto
-300.159 392.002 lineto
-closepath
-303.622 394.314 M
-303.622 385.642 lineto
-304.778 385.642 lineto
-304.778 386.83 lineto
-305.481 385.502 306.903 385.502 QUADTO
-308.044 385.502 308.708 386.338 QUADTO
-309.372 387.174 309.372 388.627 QUADTO
-309.372 390.205 308.622 391.174 QUADTO
-307.872 392.142 306.653 392.142 QUADTO
-305.528 392.142 304.778 391.283 QUADTO
-304.778 394.314 lineto
-303.622 394.314 lineto
-closepath
-304.778 390.486 M
-305.669 391.283 306.481 391.283 QUADTO
-308.138 391.283 308.138 388.736 QUADTO
-308.138 386.502 306.669 386.502 QUADTO
-305.7 386.502 304.778 387.549 QUADTO
-304.778 390.486 lineto
-closepath
-312.862 392.142 M
-312.065 392.142 310.94 391.783 QUADTO
-310.94 390.72 lineto
-312.065 391.283 312.909 391.283 QUADTO
-313.409 391.283 313.737 391.009 QUADTO
-314.065 390.736 314.065 390.33 QUADTO
-314.065 389.752 313.144 389.361 QUADTO
-312.472 389.064 lineto
-310.972 388.455 310.972 387.283 QUADTO
-310.972 386.455 311.565 385.978 QUADTO
-312.159 385.502 313.175 385.502 QUADTO
-313.706 385.502 314.503 385.642 QUADTO
-314.737 385.689 lineto
-314.737 386.658 lineto
-313.769 386.361 313.206 386.361 QUADTO
-312.081 386.361 312.081 387.174 QUADTO
-312.081 387.689 312.925 388.049 QUADTO
-313.487 388.283 lineto
-314.425 388.689 314.823 389.127 QUADTO
-315.222 389.564 315.222 390.236 QUADTO
-315.222 391.064 314.558 391.603 QUADTO
-313.894 392.142 312.862 392.142 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-69.533 34.247 M
-388 34.247 lineto
-388 325.931 lineto
-69.533 325.931 lineto
-69.533 34.247 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.533 329.931 M
-388 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-73.768 345.481 M
-73.768 344.465 lineto
-74.268 343.293 75.799 341.903 QUADTO
-76.471 341.309 lineto
-77.737 340.153 77.737 339.012 QUADTO
-77.737 338.293 77.307 337.879 QUADTO
-76.878 337.465 76.112 337.465 QUADTO
-75.206 337.465 73.987 338.153 QUADTO
-73.987 337.137 lineto
-75.143 336.59 76.268 336.59 QUADTO
-77.487 336.59 78.229 337.247 QUADTO
-78.971 337.903 78.971 338.981 QUADTO
-78.971 339.762 78.596 340.372 QUADTO
-78.221 340.981 77.206 341.84 QUADTO
-76.768 342.215 lineto
-75.378 343.387 75.159 344.465 QUADTO
-78.924 344.465 lineto
-78.924 345.481 lineto
-73.768 345.481 lineto
-closepath
-84.122 345.7 M
-82.778 345.7 81.95 344.434 QUADTO
-81.122 343.168 81.122 341.137 QUADTO
-81.122 339.09 81.958 337.84 QUADTO
-82.794 336.59 84.153 336.59 QUADTO
-85.512 336.59 86.348 337.84 QUADTO
-87.184 339.09 87.184 341.122 QUADTO
-87.184 343.2 86.348 344.45 QUADTO
-85.512 345.7 84.122 345.7 QUADTO
-closepath
-84.137 344.825 M
-85.965 344.825 85.965 341.106 QUADTO
-85.965 337.465 84.153 337.465 QUADTO
-82.356 337.465 82.356 341.137 QUADTO
-82.356 344.825 84.137 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.356 331.931 M
-80.356 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-103.284 345.418 M
-103.284 344.34 lineto
-104.534 344.825 105.237 344.825 QUADTO
-106.065 344.825 106.589 344.34 QUADTO
-107.112 343.856 107.112 343.09 QUADTO
-107.112 341.262 104.55 341.262 QUADTO
-104.081 341.262 lineto
-104.081 340.481 lineto
-104.487 340.481 lineto
-106.893 340.481 106.893 338.793 QUADTO
-106.893 337.465 105.315 337.465 QUADTO
-104.44 337.465 103.409 337.95 QUADTO
-103.409 336.934 lineto
-104.425 336.59 105.393 336.59 QUADTO
-108.05 336.59 108.05 338.606 QUADTO
-108.05 340.137 106.237 340.778 QUADTO
-108.346 341.262 108.346 343.075 QUADTO
-108.346 344.309 107.534 345.004 QUADTO
-106.721 345.7 105.315 345.7 QUADTO
-104.503 345.7 103.284 345.418 QUADTO
-closepath
-113.419 345.7 M
-112.075 345.7 111.247 344.434 QUADTO
-110.419 343.168 110.419 341.137 QUADTO
-110.419 339.09 111.255 337.84 QUADTO
-112.091 336.59 113.45 336.59 QUADTO
-114.809 336.59 115.645 337.84 QUADTO
-116.481 339.09 116.481 341.122 QUADTO
-116.481 343.2 115.645 344.45 QUADTO
-114.809 345.7 113.419 345.7 QUADTO
-closepath
-113.434 344.825 M
-115.262 344.825 115.262 341.106 QUADTO
-115.262 337.465 113.45 337.465 QUADTO
-111.653 337.465 111.653 341.137 QUADTO
-111.653 344.825 113.434 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-109.653 331.931 M
-109.653 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.44 331.931 M
-130.44 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.563 331.931 M
-146.563 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-159.737 331.931 M
-159.737 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.875 331.931 M
-170.875 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-180.523 331.931 M
-180.523 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.034 331.931 M
-189.034 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-196.646 331.931 M
-196.646 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-187.077 345.481 M
-187.077 344.606 lineto
-188.811 344.606 lineto
-188.811 337.762 lineto
-187.077 338.2 lineto
-187.077 337.309 lineto
-189.968 336.59 lineto
-189.968 344.606 lineto
-191.702 344.606 lineto
-191.702 345.481 lineto
-187.077 345.481 lineto
-closepath
-196.618 345.7 M
-195.274 345.7 194.446 344.434 QUADTO
-193.618 343.168 193.618 341.137 QUADTO
-193.618 339.09 194.454 337.84 QUADTO
-195.29 336.59 196.649 336.59 QUADTO
-198.009 336.59 198.845 337.84 QUADTO
-199.681 339.09 199.681 341.122 QUADTO
-199.681 343.2 198.845 344.45 QUADTO
-198.009 345.7 196.618 345.7 QUADTO
-closepath
-196.634 344.825 M
-198.462 344.825 198.462 341.106 QUADTO
-198.462 337.465 196.649 337.465 QUADTO
-194.852 337.465 194.852 341.137 QUADTO
-194.852 344.825 196.634 344.825 QUADTO
-closepath
-204.206 345.7 M
-202.862 345.7 202.034 344.434 QUADTO
-201.206 343.168 201.206 341.137 QUADTO
-201.206 339.09 202.042 337.84 QUADTO
-202.878 336.59 204.237 336.59 QUADTO
-205.597 336.59 206.433 337.84 QUADTO
-207.268 339.09 207.268 341.122 QUADTO
-207.268 343.2 206.433 344.45 QUADTO
-205.597 345.7 204.206 345.7 QUADTO
-closepath
-204.222 344.825 M
-206.05 344.825 206.05 341.106 QUADTO
-206.05 337.465 204.237 337.465 QUADTO
-202.44 337.465 202.44 341.137 QUADTO
-202.44 344.825 204.222 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-196.646 331.931 M
-196.646 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-236.348 345.481 M
-236.348 344.465 lineto
-236.848 343.293 238.379 341.903 QUADTO
-239.051 341.309 lineto
-240.317 340.153 240.317 339.012 QUADTO
-240.317 338.293 239.887 337.879 QUADTO
-239.457 337.465 238.692 337.465 QUADTO
-237.786 337.465 236.567 338.153 QUADTO
-236.567 337.137 lineto
-237.723 336.59 238.848 336.59 QUADTO
-240.067 336.59 240.809 337.247 QUADTO
-241.551 337.903 241.551 338.981 QUADTO
-241.551 339.762 241.176 340.372 QUADTO
-240.801 340.981 239.786 341.84 QUADTO
-239.348 342.215 lineto
-237.957 343.387 237.739 344.465 QUADTO
-241.504 344.465 lineto
-241.504 345.481 lineto
-236.348 345.481 lineto
-closepath
-246.702 345.7 M
-245.358 345.7 244.53 344.434 QUADTO
-243.702 343.168 243.702 341.137 QUADTO
-243.702 339.09 244.538 337.84 QUADTO
-245.373 336.59 246.733 336.59 QUADTO
-248.092 336.59 248.928 337.84 QUADTO
-249.764 339.09 249.764 341.122 QUADTO
-249.764 343.2 248.928 344.45 QUADTO
-248.092 345.7 246.702 345.7 QUADTO
-closepath
-246.717 344.825 M
-248.545 344.825 248.545 341.106 QUADTO
-248.545 337.465 246.733 337.465 QUADTO
-244.936 337.465 244.936 341.137 QUADTO
-244.936 344.825 246.717 344.825 QUADTO
-closepath
-254.29 345.7 M
-252.946 345.7 252.118 344.434 QUADTO
-251.29 343.168 251.29 341.137 QUADTO
-251.29 339.09 252.125 337.84 QUADTO
-252.961 336.59 254.321 336.59 QUADTO
-255.68 336.59 256.516 337.84 QUADTO
-257.352 339.09 257.352 341.122 QUADTO
-257.352 343.2 256.516 344.45 QUADTO
-255.68 345.7 254.29 345.7 QUADTO
-closepath
-254.305 344.825 M
-256.133 344.825 256.133 341.106 QUADTO
-256.133 337.465 254.321 337.465 QUADTO
-252.524 337.465 252.524 341.137 QUADTO
-252.524 344.825 254.305 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-246.73 331.931 M
-246.73 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-276.027 331.931 M
-276.027 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-296.813 331.931 M
-296.813 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-312.937 331.931 M
-312.937 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-326.11 331.931 M
-326.11 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-337.249 331.931 M
-337.249 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-346.897 331.931 M
-346.897 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-355.407 331.931 M
-355.407 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-363.02 331.931 M
-363.02 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-349.657 345.481 M
-349.657 344.606 lineto
-351.391 344.606 lineto
-351.391 337.762 lineto
-349.657 338.2 lineto
-349.657 337.309 lineto
-352.548 336.59 lineto
-352.548 344.606 lineto
-354.282 344.606 lineto
-354.282 345.481 lineto
-349.657 345.481 lineto
-closepath
-359.198 345.7 M
-357.854 345.7 357.026 344.434 QUADTO
-356.198 343.168 356.198 341.137 QUADTO
-356.198 339.09 357.034 337.84 QUADTO
-357.87 336.59 359.229 336.59 QUADTO
-360.589 336.59 361.425 337.84 QUADTO
-362.26 339.09 362.26 341.122 QUADTO
-362.26 343.2 361.425 344.45 QUADTO
-360.589 345.7 359.198 345.7 QUADTO
-closepath
-359.214 344.825 M
-361.042 344.825 361.042 341.106 QUADTO
-361.042 337.465 359.229 337.465 QUADTO
-357.432 337.465 357.432 341.137 QUADTO
-357.432 344.825 359.214 344.825 QUADTO
-closepath
-366.786 345.7 M
-365.442 345.7 364.614 344.434 QUADTO
-363.786 343.168 363.786 341.137 QUADTO
-363.786 339.09 364.622 337.84 QUADTO
-365.458 336.59 366.817 336.59 QUADTO
-368.177 336.59 369.012 337.84 QUADTO
-369.848 339.09 369.848 341.122 QUADTO
-369.848 343.2 369.012 344.45 QUADTO
-368.177 345.7 366.786 345.7 QUADTO
-closepath
-366.802 344.825 M
-368.63 344.825 368.63 341.106 QUADTO
-368.63 337.465 366.817 337.465 QUADTO
-365.02 337.465 365.02 341.137 QUADTO
-365.02 344.825 366.802 344.825 QUADTO
-closepath
-374.374 345.7 M
-373.03 345.7 372.202 344.434 QUADTO
-371.374 343.168 371.374 341.137 QUADTO
-371.374 339.09 372.21 337.84 QUADTO
-373.046 336.59 374.405 336.59 QUADTO
-375.764 336.59 376.6 337.84 QUADTO
-377.436 339.09 377.436 341.122 QUADTO
-377.436 343.2 376.6 344.45 QUADTO
-375.764 345.7 374.374 345.7 QUADTO
-closepath
-374.389 344.825 M
-376.218 344.825 376.218 341.106 QUADTO
-376.218 337.465 374.405 337.465 QUADTO
-372.608 337.465 372.608 341.137 QUADTO
-372.608 344.825 374.389 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-363.02 331.931 M
-363.02 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-208.267 364.954 M
-208.267 357.454 lineto
-210.282 357.454 lineto
-210.282 358.86 lineto
-211.282 357.282 212.845 357.282 QUADTO
-213.845 357.282 214.431 357.915 QUADTO
-215.017 358.548 215.017 359.641 QUADTO
-215.017 364.954 lineto
-212.985 364.954 lineto
-212.985 360.141 lineto
-212.985 358.876 212.142 358.876 QUADTO
-211.173 358.876 210.282 360.235 QUADTO
-210.282 364.954 lineto
-208.267 364.954 lineto
-closepath
-220.617 365.126 M
-218.852 365.126 217.82 364.063 QUADTO
-216.789 363.001 216.789 361.204 QUADTO
-216.789 359.376 217.828 358.329 QUADTO
-218.867 357.282 220.664 357.282 QUADTO
-222.461 357.282 223.5 358.329 QUADTO
-224.539 359.376 224.539 361.188 QUADTO
-224.539 363.032 223.492 364.079 QUADTO
-222.445 365.126 220.617 365.126 QUADTO
-closepath
-220.648 363.86 M
-222.383 363.86 222.383 361.188 QUADTO
-222.383 359.97 221.922 359.259 QUADTO
-221.461 358.548 220.664 358.548 QUADTO
-219.867 358.548 219.398 359.259 QUADTO
-218.93 359.97 218.93 361.204 QUADTO
-218.93 362.423 219.391 363.141 QUADTO
-219.852 363.86 220.648 363.86 QUADTO
-closepath
-231.121 364.954 M
-231.121 363.532 lineto
-230.34 365.126 228.668 365.126 QUADTO
-227.324 365.126 226.551 364.134 QUADTO
-225.777 363.141 225.777 361.407 QUADTO
-225.777 359.516 226.645 358.399 QUADTO
-227.512 357.282 228.98 357.282 QUADTO
-230.168 357.282 231.121 358.204 QUADTO
-231.121 354.157 lineto
-233.152 354.157 lineto
-233.152 364.954 lineto
-231.121 364.954 lineto
-closepath
-231.121 359.407 M
-230.387 358.595 229.559 358.595 QUADTO
-228.809 358.595 228.371 359.313 QUADTO
-227.934 360.032 227.934 361.235 QUADTO
-227.934 363.532 229.402 363.532 QUADTO
-230.309 363.532 231.121 362.376 QUADTO
-231.121 359.407 lineto
-closepath
-241.788 364.704 M
-240.351 365.126 239.054 365.126 QUADTO
-237.179 365.126 236.093 364.055 QUADTO
-235.007 362.985 235.007 361.141 QUADTO
-235.007 359.407 235.999 358.345 QUADTO
-236.991 357.282 238.632 357.282 QUADTO
-240.272 357.282 241.03 358.321 QUADTO
-241.788 359.36 241.788 361.61 QUADTO
-237.132 361.61 lineto
-237.335 363.751 239.491 363.751 QUADTO
-240.507 363.751 241.788 363.282 QUADTO
-241.788 364.704 lineto
-closepath
-237.101 360.47 M
-239.804 360.47 lineto
-239.804 358.548 238.569 358.548 QUADTO
-237.304 358.548 237.101 360.47 QUADTO
-closepath
-243.679 364.72 M
-243.679 363.235 lineto
-245.194 363.86 246.257 363.86 QUADTO
-247.491 363.86 247.491 363.016 QUADTO
-247.491 362.47 246.476 362.048 QUADTO
-245.788 361.782 lineto
-244.679 361.329 244.194 360.813 QUADTO
-243.71 360.298 243.71 359.532 QUADTO
-243.71 358.454 244.53 357.868 QUADTO
-245.351 357.282 246.804 357.282 QUADTO
-247.726 357.282 248.991 357.548 QUADTO
-248.991 358.97 lineto
-247.772 358.548 246.976 358.548 QUADTO
-245.71 358.548 245.71 359.313 QUADTO
-245.71 359.829 246.647 360.188 QUADTO
-247.226 360.407 lineto
-248.554 360.907 249.069 361.423 QUADTO
-249.585 361.938 249.585 362.751 QUADTO
-249.585 363.798 248.702 364.462 QUADTO
-247.819 365.126 246.413 365.126 QUADTO
-245.069 365.126 243.679 364.72 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-65.533 34.247 M
-65.533 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-44.326 330.426 M
-42.982 330.426 42.154 329.16 QUADTO
-41.326 327.894 41.326 325.863 QUADTO
-41.326 323.816 42.162 322.566 QUADTO
-42.998 321.316 44.357 321.316 QUADTO
-45.717 321.316 46.553 322.566 QUADTO
-47.389 323.816 47.389 325.848 QUADTO
-47.389 327.926 46.553 329.176 QUADTO
-45.717 330.426 44.326 330.426 QUADTO
-closepath
-44.342 329.551 M
-46.17 329.551 46.17 325.832 QUADTO
-46.17 322.191 44.357 322.191 QUADTO
-42.561 322.191 42.561 325.863 QUADTO
-42.561 329.551 44.342 329.551 QUADTO
-closepath
-49.32 330.207 M
-49.32 328.754 lineto
-50.773 328.754 lineto
-50.773 330.207 lineto
-49.32 330.207 lineto
-closepath
-55.711 330.426 M
-54.367 330.426 53.539 329.16 QUADTO
-52.711 327.894 52.711 325.863 QUADTO
-52.711 323.816 53.547 322.566 QUADTO
-54.383 321.316 55.742 321.316 QUADTO
-57.102 321.316 57.938 322.566 QUADTO
-58.773 323.816 58.773 325.848 QUADTO
-58.773 327.926 57.938 329.176 QUADTO
-57.102 330.426 55.711 330.426 QUADTO
-closepath
-55.727 329.551 M
-57.555 329.551 57.555 325.832 QUADTO
-57.555 322.191 55.742 322.191 QUADTO
-53.945 322.191 53.945 325.863 QUADTO
-53.945 329.551 55.727 329.551 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 325.931 M
-65.533 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-41.561 310.041 M
-41.561 309.025 lineto
-42.061 307.853 43.592 306.463 QUADTO
-44.264 305.869 lineto
-45.529 304.713 45.529 303.572 QUADTO
-45.529 302.853 45.1 302.439 QUADTO
-44.67 302.025 43.904 302.025 QUADTO
-42.998 302.025 41.779 302.713 QUADTO
-41.779 301.697 lineto
-42.936 301.15 44.061 301.15 QUADTO
-45.279 301.15 46.021 301.807 QUADTO
-46.764 302.463 46.764 303.541 QUADTO
-46.764 304.322 46.389 304.932 QUADTO
-46.014 305.541 44.998 306.4 QUADTO
-44.561 306.775 lineto
-43.17 307.947 42.951 309.025 QUADTO
-46.717 309.025 lineto
-46.717 310.041 lineto
-41.561 310.041 lineto
-closepath
-49.32 310.041 M
-49.32 308.588 lineto
-50.773 308.588 lineto
-50.773 310.041 lineto
-49.32 310.041 lineto
-closepath
-53.398 310.072 M
-53.398 309.041 lineto
-54.273 309.385 55.039 309.385 QUADTO
-55.898 309.385 56.391 308.885 QUADTO
-56.883 308.385 56.883 307.494 QUADTO
-56.883 305.541 54.195 305.541 QUADTO
-53.883 305.541 53.555 305.588 QUADTO
-53.555 301.369 lineto
-57.945 301.369 lineto
-57.945 302.369 lineto
-54.57 302.369 lineto
-54.57 304.666 lineto
-56.242 304.666 57.18 305.432 QUADTO
-58.117 306.197 58.117 307.557 QUADTO
-58.117 308.822 57.258 309.541 QUADTO
-56.398 310.26 54.898 310.26 QUADTO
-54.242 310.26 53.398 310.072 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 305.765 M
-65.533 305.765 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-42.014 289.906 M
-42.014 288.875 lineto
-42.889 289.219 43.654 289.219 QUADTO
-44.514 289.219 45.006 288.719 QUADTO
-45.498 288.219 45.498 287.328 QUADTO
-45.498 285.375 42.811 285.375 QUADTO
-42.498 285.375 42.17 285.422 QUADTO
-42.17 281.203 lineto
-46.561 281.203 lineto
-46.561 282.203 lineto
-43.186 282.203 lineto
-43.186 284.5 lineto
-44.857 284.5 45.795 285.266 QUADTO
-46.732 286.031 46.732 287.391 QUADTO
-46.732 288.656 45.873 289.375 QUADTO
-45.014 290.094 43.514 290.094 QUADTO
-42.857 290.094 42.014 289.906 QUADTO
-closepath
-49.32 289.875 M
-49.32 288.422 lineto
-50.773 288.422 lineto
-50.773 289.875 lineto
-49.32 289.875 lineto
-closepath
-55.711 290.094 M
-54.367 290.094 53.539 288.828 QUADTO
-52.711 287.562 52.711 285.531 QUADTO
-52.711 283.484 53.547 282.234 QUADTO
-54.383 280.984 55.742 280.984 QUADTO
-57.102 280.984 57.938 282.234 QUADTO
-58.773 283.484 58.773 285.516 QUADTO
-58.773 287.594 57.938 288.844 QUADTO
-57.102 290.094 55.711 290.094 QUADTO
-closepath
-55.727 289.219 M
-57.555 289.219 57.555 285.5 QUADTO
-57.555 281.859 55.742 281.859 QUADTO
-53.945 281.859 53.945 285.531 QUADTO
-53.945 289.219 55.727 289.219 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 285.599 M
-65.533 285.599 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-42.373 269.709 M
-42.529 268.693 42.85 267.959 QUADTO
-43.17 267.225 43.967 265.928 QUADTO
-46.326 262.115 lineto
-41.857 262.115 lineto
-41.857 261.037 lineto
-47.436 261.037 lineto
-47.436 262.115 lineto
-44.092 267.037 43.701 269.709 QUADTO
-42.373 269.709 lineto
-closepath
-49.32 269.709 M
-49.32 268.256 lineto
-50.773 268.256 lineto
-50.773 269.709 lineto
-49.32 269.709 lineto
-closepath
-53.398 269.74 M
-53.398 268.709 lineto
-54.273 269.053 55.039 269.053 QUADTO
-55.898 269.053 56.391 268.553 QUADTO
-56.883 268.053 56.883 267.162 QUADTO
-56.883 265.209 54.195 265.209 QUADTO
-53.883 265.209 53.555 265.256 QUADTO
-53.555 261.037 lineto
-57.945 261.037 lineto
-57.945 262.037 lineto
-54.57 262.037 lineto
-54.57 264.334 lineto
-56.242 264.334 57.18 265.1 QUADTO
-58.117 265.865 58.117 267.225 QUADTO
-58.117 268.49 57.258 269.209 QUADTO
-56.398 269.928 54.898 269.928 QUADTO
-54.242 269.928 53.398 269.74 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 265.433 M
-65.533 265.433 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 249.543 M
-34.785 248.668 lineto
-36.52 248.668 lineto
-36.52 241.824 lineto
-34.785 242.262 lineto
-34.785 241.371 lineto
-37.676 240.652 lineto
-37.676 248.668 lineto
-39.41 248.668 lineto
-39.41 249.543 lineto
-34.785 249.543 lineto
-closepath
-44.326 249.762 M
-42.982 249.762 42.154 248.496 QUADTO
-41.326 247.23 41.326 245.199 QUADTO
-41.326 243.152 42.162 241.902 QUADTO
-42.998 240.652 44.357 240.652 QUADTO
-45.717 240.652 46.553 241.902 QUADTO
-47.389 243.152 47.389 245.184 QUADTO
-47.389 247.262 46.553 248.512 QUADTO
-45.717 249.762 44.326 249.762 QUADTO
-closepath
-44.342 248.887 M
-46.17 248.887 46.17 245.168 QUADTO
-46.17 241.527 44.357 241.527 QUADTO
-42.561 241.527 42.561 245.199 QUADTO
-42.561 248.887 44.342 248.887 QUADTO
-closepath
-49.32 249.543 M
-49.32 248.09 lineto
-50.773 248.09 lineto
-50.773 249.543 lineto
-49.32 249.543 lineto
-closepath
-55.711 249.762 M
-54.367 249.762 53.539 248.496 QUADTO
-52.711 247.23 52.711 245.199 QUADTO
-52.711 243.152 53.547 241.902 QUADTO
-54.383 240.652 55.742 240.652 QUADTO
-57.102 240.652 57.938 241.902 QUADTO
-58.773 243.152 58.773 245.184 QUADTO
-58.773 247.262 57.938 248.512 QUADTO
-57.102 249.762 55.711 249.762 QUADTO
-closepath
-55.727 248.887 M
-57.555 248.887 57.555 245.168 QUADTO
-57.555 241.527 55.742 241.527 QUADTO
-53.945 241.527 53.945 245.199 QUADTO
-53.945 248.887 55.727 248.887 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 245.267 M
-65.533 245.267 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 229.377 M
-34.785 228.502 lineto
-36.52 228.502 lineto
-36.52 221.658 lineto
-34.785 222.096 lineto
-34.785 221.205 lineto
-37.676 220.486 lineto
-37.676 228.502 lineto
-39.41 228.502 lineto
-39.41 229.377 lineto
-34.785 229.377 lineto
-closepath
-41.561 229.377 M
-41.561 228.361 lineto
-42.061 227.189 43.592 225.799 QUADTO
-44.264 225.205 lineto
-45.529 224.049 45.529 222.908 QUADTO
-45.529 222.189 45.1 221.775 QUADTO
-44.67 221.361 43.904 221.361 QUADTO
-42.998 221.361 41.779 222.049 QUADTO
-41.779 221.033 lineto
-42.936 220.486 44.061 220.486 QUADTO
-45.279 220.486 46.021 221.143 QUADTO
-46.764 221.799 46.764 222.877 QUADTO
-46.764 223.658 46.389 224.268 QUADTO
-46.014 224.877 44.998 225.736 QUADTO
-44.561 226.111 lineto
-43.17 227.283 42.951 228.361 QUADTO
-46.717 228.361 lineto
-46.717 229.377 lineto
-41.561 229.377 lineto
-closepath
-49.32 229.377 M
-49.32 227.924 lineto
-50.773 227.924 lineto
-50.773 229.377 lineto
-49.32 229.377 lineto
-closepath
-53.398 229.408 M
-53.398 228.377 lineto
-54.273 228.721 55.039 228.721 QUADTO
-55.898 228.721 56.391 228.221 QUADTO
-56.883 227.721 56.883 226.83 QUADTO
-56.883 224.877 54.195 224.877 QUADTO
-53.883 224.877 53.555 224.924 QUADTO
-53.555 220.705 lineto
-57.945 220.705 lineto
-57.945 221.705 lineto
-54.57 221.705 lineto
-54.57 224.002 lineto
-56.242 224.002 57.18 224.768 QUADTO
-58.117 225.533 58.117 226.893 QUADTO
-58.117 228.158 57.258 228.877 QUADTO
-56.398 229.596 54.898 229.596 QUADTO
-54.242 229.596 53.398 229.408 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 225.101 M
-65.533 225.101 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 209.211 M
-34.785 208.336 lineto
-36.52 208.336 lineto
-36.52 201.492 lineto
-34.785 201.93 lineto
-34.785 201.039 lineto
-37.676 200.32 lineto
-37.676 208.336 lineto
-39.41 208.336 lineto
-39.41 209.211 lineto
-34.785 209.211 lineto
-closepath
-42.014 209.242 M
-42.014 208.211 lineto
-42.889 208.555 43.654 208.555 QUADTO
-44.514 208.555 45.006 208.055 QUADTO
-45.498 207.555 45.498 206.664 QUADTO
-45.498 204.711 42.811 204.711 QUADTO
-42.498 204.711 42.17 204.758 QUADTO
-42.17 200.539 lineto
-46.561 200.539 lineto
-46.561 201.539 lineto
-43.186 201.539 lineto
-43.186 203.836 lineto
-44.857 203.836 45.795 204.602 QUADTO
-46.732 205.367 46.732 206.727 QUADTO
-46.732 207.992 45.873 208.711 QUADTO
-45.014 209.43 43.514 209.43 QUADTO
-42.857 209.43 42.014 209.242 QUADTO
-closepath
-49.32 209.211 M
-49.32 207.758 lineto
-50.773 207.758 lineto
-50.773 209.211 lineto
-49.32 209.211 lineto
-closepath
-55.711 209.43 M
-54.367 209.43 53.539 208.164 QUADTO
-52.711 206.898 52.711 204.867 QUADTO
-52.711 202.82 53.547 201.57 QUADTO
-54.383 200.32 55.742 200.32 QUADTO
-57.102 200.32 57.938 201.57 QUADTO
-58.773 202.82 58.773 204.852 QUADTO
-58.773 206.93 57.938 208.18 QUADTO
-57.102 209.43 55.711 209.43 QUADTO
-closepath
-55.727 208.555 M
-57.555 208.555 57.555 204.836 QUADTO
-57.555 201.195 55.742 201.195 QUADTO
-53.945 201.195 53.945 204.867 QUADTO
-53.945 208.555 55.727 208.555 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 204.935 M
-65.533 204.935 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 189.045 M
-34.785 188.17 lineto
-36.52 188.17 lineto
-36.52 181.326 lineto
-34.785 181.764 lineto
-34.785 180.873 lineto
-37.676 180.154 lineto
-37.676 188.17 lineto
-39.41 188.17 lineto
-39.41 189.045 lineto
-34.785 189.045 lineto
-closepath
-42.373 189.045 M
-42.529 188.029 42.85 187.295 QUADTO
-43.17 186.561 43.967 185.264 QUADTO
-46.326 181.451 lineto
-41.857 181.451 lineto
-41.857 180.373 lineto
-47.436 180.373 lineto
-47.436 181.451 lineto
-44.092 186.373 43.701 189.045 QUADTO
-42.373 189.045 lineto
-closepath
-49.32 189.045 M
-49.32 187.592 lineto
-50.773 187.592 lineto
-50.773 189.045 lineto
-49.32 189.045 lineto
-closepath
-53.398 189.076 M
-53.398 188.045 lineto
-54.273 188.389 55.039 188.389 QUADTO
-55.898 188.389 56.391 187.889 QUADTO
-56.883 187.389 56.883 186.498 QUADTO
-56.883 184.545 54.195 184.545 QUADTO
-53.883 184.545 53.555 184.592 QUADTO
-53.555 180.373 lineto
-57.945 180.373 lineto
-57.945 181.373 lineto
-54.57 181.373 lineto
-54.57 183.67 lineto
-56.242 183.67 57.18 184.436 QUADTO
-58.117 185.201 58.117 186.561 QUADTO
-58.117 187.826 57.258 188.545 QUADTO
-56.398 189.264 54.898 189.264 QUADTO
-54.242 189.264 53.398 189.076 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 184.769 M
-65.533 184.769 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 168.879 M
-33.973 167.863 lineto
-34.473 166.691 36.004 165.301 QUADTO
-36.676 164.707 lineto
-37.941 163.551 37.941 162.41 QUADTO
-37.941 161.691 37.512 161.277 QUADTO
-37.082 160.863 36.316 160.863 QUADTO
-35.41 160.863 34.191 161.551 QUADTO
-34.191 160.535 lineto
-35.348 159.988 36.473 159.988 QUADTO
-37.691 159.988 38.434 160.644 QUADTO
-39.176 161.301 39.176 162.379 QUADTO
-39.176 163.16 38.801 163.769 QUADTO
-38.426 164.379 37.41 165.238 QUADTO
-36.973 165.613 lineto
-35.582 166.785 35.363 167.863 QUADTO
-39.129 167.863 lineto
-39.129 168.879 lineto
-33.973 168.879 lineto
-closepath
-44.326 169.098 M
-42.982 169.098 42.154 167.832 QUADTO
-41.326 166.566 41.326 164.535 QUADTO
-41.326 162.488 42.162 161.238 QUADTO
-42.998 159.988 44.357 159.988 QUADTO
-45.717 159.988 46.553 161.238 QUADTO
-47.389 162.488 47.389 164.519 QUADTO
-47.389 166.598 46.553 167.848 QUADTO
-45.717 169.098 44.326 169.098 QUADTO
-closepath
-44.342 168.223 M
-46.17 168.223 46.17 164.504 QUADTO
-46.17 160.863 44.357 160.863 QUADTO
-42.561 160.863 42.561 164.535 QUADTO
-42.561 168.223 44.342 168.223 QUADTO
-closepath
-49.32 168.879 M
-49.32 167.426 lineto
-50.773 167.426 lineto
-50.773 168.879 lineto
-49.32 168.879 lineto
-closepath
-55.711 169.098 M
-54.367 169.098 53.539 167.832 QUADTO
-52.711 166.566 52.711 164.535 QUADTO
-52.711 162.488 53.547 161.238 QUADTO
-54.383 159.988 55.742 159.988 QUADTO
-57.102 159.988 57.938 161.238 QUADTO
-58.773 162.488 58.773 164.519 QUADTO
-58.773 166.598 57.938 167.848 QUADTO
-57.102 169.098 55.711 169.098 QUADTO
-closepath
-55.727 168.223 M
-57.555 168.223 57.555 164.504 QUADTO
-57.555 160.863 55.742 160.863 QUADTO
-53.945 160.863 53.945 164.535 QUADTO
-53.945 168.223 55.727 168.223 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 164.603 M
-65.533 164.603 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 148.713 M
-33.973 147.697 lineto
-34.473 146.525 36.004 145.135 QUADTO
-36.676 144.541 lineto
-37.941 143.385 37.941 142.244 QUADTO
-37.941 141.525 37.512 141.111 QUADTO
-37.082 140.697 36.316 140.697 QUADTO
-35.41 140.697 34.191 141.385 QUADTO
-34.191 140.369 lineto
-35.348 139.822 36.473 139.822 QUADTO
-37.691 139.822 38.434 140.478 QUADTO
-39.176 141.135 39.176 142.213 QUADTO
-39.176 142.994 38.801 143.603 QUADTO
-38.426 144.213 37.41 145.072 QUADTO
-36.973 145.447 lineto
-35.582 146.619 35.363 147.697 QUADTO
-39.129 147.697 lineto
-39.129 148.713 lineto
-33.973 148.713 lineto
-closepath
-41.561 148.713 M
-41.561 147.697 lineto
-42.061 146.525 43.592 145.135 QUADTO
-44.264 144.541 lineto
-45.529 143.385 45.529 142.244 QUADTO
-45.529 141.525 45.1 141.111 QUADTO
-44.67 140.697 43.904 140.697 QUADTO
-42.998 140.697 41.779 141.385 QUADTO
-41.779 140.369 lineto
-42.936 139.822 44.061 139.822 QUADTO
-45.279 139.822 46.021 140.478 QUADTO
-46.764 141.135 46.764 142.213 QUADTO
-46.764 142.994 46.389 143.603 QUADTO
-46.014 144.213 44.998 145.072 QUADTO
-44.561 145.447 lineto
-43.17 146.619 42.951 147.697 QUADTO
-46.717 147.697 lineto
-46.717 148.713 lineto
-41.561 148.713 lineto
-closepath
-49.32 148.713 M
-49.32 147.26 lineto
-50.773 147.26 lineto
-50.773 148.713 lineto
-49.32 148.713 lineto
-closepath
-53.398 148.744 M
-53.398 147.713 lineto
-54.273 148.057 55.039 148.057 QUADTO
-55.898 148.057 56.391 147.557 QUADTO
-56.883 147.057 56.883 146.166 QUADTO
-56.883 144.213 54.195 144.213 QUADTO
-53.883 144.213 53.555 144.26 QUADTO
-53.555 140.041 lineto
-57.945 140.041 lineto
-57.945 141.041 lineto
-54.57 141.041 lineto
-54.57 143.338 lineto
-56.242 143.338 57.18 144.103 QUADTO
-58.117 144.869 58.117 146.228 QUADTO
-58.117 147.494 57.258 148.213 QUADTO
-56.398 148.932 54.898 148.932 QUADTO
-54.242 148.932 53.398 148.744 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 144.437 M
-65.533 144.437 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 128.547 M
-33.973 127.531 lineto
-34.473 126.359 36.004 124.969 QUADTO
-36.676 124.375 lineto
-37.941 123.219 37.941 122.078 QUADTO
-37.941 121.359 37.512 120.945 QUADTO
-37.082 120.531 36.316 120.531 QUADTO
-35.41 120.531 34.191 121.219 QUADTO
-34.191 120.203 lineto
-35.348 119.656 36.473 119.656 QUADTO
-37.691 119.656 38.434 120.312 QUADTO
-39.176 120.969 39.176 122.047 QUADTO
-39.176 122.828 38.801 123.437 QUADTO
-38.426 124.047 37.41 124.906 QUADTO
-36.973 125.281 lineto
-35.582 126.453 35.363 127.531 QUADTO
-39.129 127.531 lineto
-39.129 128.547 lineto
-33.973 128.547 lineto
-closepath
-42.014 128.578 M
-42.014 127.547 lineto
-42.889 127.891 43.654 127.891 QUADTO
-44.514 127.891 45.006 127.391 QUADTO
-45.498 126.891 45.498 126 QUADTO
-45.498 124.047 42.811 124.047 QUADTO
-42.498 124.047 42.17 124.094 QUADTO
-42.17 119.875 lineto
-46.561 119.875 lineto
-46.561 120.875 lineto
-43.186 120.875 lineto
-43.186 123.172 lineto
-44.857 123.172 45.795 123.937 QUADTO
-46.732 124.703 46.732 126.062 QUADTO
-46.732 127.328 45.873 128.047 QUADTO
-45.014 128.766 43.514 128.766 QUADTO
-42.857 128.766 42.014 128.578 QUADTO
-closepath
-49.32 128.547 M
-49.32 127.094 lineto
-50.773 127.094 lineto
-50.773 128.547 lineto
-49.32 128.547 lineto
-closepath
-55.711 128.766 M
-54.367 128.766 53.539 127.5 QUADTO
-52.711 126.234 52.711 124.203 QUADTO
-52.711 122.156 53.547 120.906 QUADTO
-54.383 119.656 55.742 119.656 QUADTO
-57.102 119.656 57.938 120.906 QUADTO
-58.773 122.156 58.773 124.187 QUADTO
-58.773 126.266 57.938 127.516 QUADTO
-57.102 128.766 55.711 128.766 QUADTO
-closepath
-55.727 127.891 M
-57.555 127.891 57.555 124.172 QUADTO
-57.555 120.531 55.742 120.531 QUADTO
-53.945 120.531 53.945 124.203 QUADTO
-53.945 127.891 55.727 127.891 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 124.271 M
-65.533 124.271 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 108.381 M
-33.973 107.365 lineto
-34.473 106.193 36.004 104.803 QUADTO
-36.676 104.209 lineto
-37.941 103.053 37.941 101.912 QUADTO
-37.941 101.193 37.512 100.779 QUADTO
-37.082 100.365 36.316 100.365 QUADTO
-35.41 100.365 34.191 101.053 QUADTO
-34.191 100.037 lineto
-35.348 99.49 36.473 99.49 QUADTO
-37.691 99.49 38.434 100.146 QUADTO
-39.176 100.803 39.176 101.881 QUADTO
-39.176 102.662 38.801 103.271 QUADTO
-38.426 103.881 37.41 104.74 QUADTO
-36.973 105.115 lineto
-35.582 106.287 35.363 107.365 QUADTO
-39.129 107.365 lineto
-39.129 108.381 lineto
-33.973 108.381 lineto
-closepath
-42.373 108.381 M
-42.529 107.365 42.85 106.631 QUADTO
-43.17 105.896 43.967 104.6 QUADTO
-46.326 100.787 lineto
-41.857 100.787 lineto
-41.857 99.709 lineto
-47.436 99.709 lineto
-47.436 100.787 lineto
-44.092 105.709 43.701 108.381 QUADTO
-42.373 108.381 lineto
-closepath
-49.32 108.381 M
-49.32 106.928 lineto
-50.773 106.928 lineto
-50.773 108.381 lineto
-49.32 108.381 lineto
-closepath
-53.398 108.412 M
-53.398 107.381 lineto
-54.273 107.725 55.039 107.725 QUADTO
-55.898 107.725 56.391 107.225 QUADTO
-56.883 106.725 56.883 105.834 QUADTO
-56.883 103.881 54.195 103.881 QUADTO
-53.883 103.881 53.555 103.928 QUADTO
-53.555 99.709 lineto
-57.945 99.709 lineto
-57.945 100.709 lineto
-54.57 100.709 lineto
-54.57 103.006 lineto
-56.242 103.006 57.18 103.771 QUADTO
-58.117 104.537 58.117 105.896 QUADTO
-58.117 107.162 57.258 107.881 QUADTO
-56.398 108.6 54.898 108.6 QUADTO
-54.242 108.6 53.398 108.412 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 104.105 M
-65.533 104.105 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 88.152 M
-34.191 87.074 lineto
-35.441 87.559 36.145 87.559 QUADTO
-36.973 87.559 37.496 87.074 QUADTO
-38.02 86.59 38.02 85.824 QUADTO
-38.02 83.996 35.457 83.996 QUADTO
-34.988 83.996 lineto
-34.988 83.215 lineto
-35.395 83.215 lineto
-37.801 83.215 37.801 81.527 QUADTO
-37.801 80.199 36.223 80.199 QUADTO
-35.348 80.199 34.316 80.684 QUADTO
-34.316 79.668 lineto
-35.332 79.324 36.301 79.324 QUADTO
-38.957 79.324 38.957 81.34 QUADTO
-38.957 82.871 37.145 83.512 QUADTO
-39.254 83.996 39.254 85.809 QUADTO
-39.254 87.043 38.441 87.738 QUADTO
-37.629 88.434 36.223 88.434 QUADTO
-35.41 88.434 34.191 88.152 QUADTO
-closepath
-44.326 88.434 M
-42.982 88.434 42.154 87.168 QUADTO
-41.326 85.902 41.326 83.871 QUADTO
-41.326 81.824 42.162 80.574 QUADTO
-42.998 79.324 44.357 79.324 QUADTO
-45.717 79.324 46.553 80.574 QUADTO
-47.389 81.824 47.389 83.855 QUADTO
-47.389 85.934 46.553 87.184 QUADTO
-45.717 88.434 44.326 88.434 QUADTO
-closepath
-44.342 87.559 M
-46.17 87.559 46.17 83.84 QUADTO
-46.17 80.199 44.357 80.199 QUADTO
-42.561 80.199 42.561 83.871 QUADTO
-42.561 87.559 44.342 87.559 QUADTO
-closepath
-49.32 88.215 M
-49.32 86.762 lineto
-50.773 86.762 lineto
-50.773 88.215 lineto
-49.32 88.215 lineto
-closepath
-55.711 88.434 M
-54.367 88.434 53.539 87.168 QUADTO
-52.711 85.902 52.711 83.871 QUADTO
-52.711 81.824 53.547 80.574 QUADTO
-54.383 79.324 55.742 79.324 QUADTO
-57.102 79.324 57.938 80.574 QUADTO
-58.773 81.824 58.773 83.855 QUADTO
-58.773 85.934 57.938 87.184 QUADTO
-57.102 88.434 55.711 88.434 QUADTO
-closepath
-55.727 87.559 M
-57.555 87.559 57.555 83.84 QUADTO
-57.555 80.199 55.742 80.199 QUADTO
-53.945 80.199 53.945 83.871 QUADTO
-53.945 87.559 55.727 87.559 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 83.939 M
-65.533 83.939 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 67.986 M
-34.191 66.908 lineto
-35.441 67.393 36.145 67.393 QUADTO
-36.973 67.393 37.496 66.908 QUADTO
-38.02 66.424 38.02 65.658 QUADTO
-38.02 63.83 35.457 63.83 QUADTO
-34.988 63.83 lineto
-34.988 63.049 lineto
-35.395 63.049 lineto
-37.801 63.049 37.801 61.361 QUADTO
-37.801 60.033 36.223 60.033 QUADTO
-35.348 60.033 34.316 60.518 QUADTO
-34.316 59.502 lineto
-35.332 59.158 36.301 59.158 QUADTO
-38.957 59.158 38.957 61.174 QUADTO
-38.957 62.705 37.145 63.346 QUADTO
-39.254 63.83 39.254 65.643 QUADTO
-39.254 66.877 38.441 67.572 QUADTO
-37.629 68.268 36.223 68.268 QUADTO
-35.41 68.268 34.191 67.986 QUADTO
-closepath
-41.561 68.049 M
-41.561 67.033 lineto
-42.061 65.861 43.592 64.471 QUADTO
-44.264 63.877 lineto
-45.529 62.721 45.529 61.58 QUADTO
-45.529 60.861 45.1 60.447 QUADTO
-44.67 60.033 43.904 60.033 QUADTO
-42.998 60.033 41.779 60.721 QUADTO
-41.779 59.705 lineto
-42.936 59.158 44.061 59.158 QUADTO
-45.279 59.158 46.021 59.814 QUADTO
-46.764 60.471 46.764 61.549 QUADTO
-46.764 62.33 46.389 62.939 QUADTO
-46.014 63.549 44.998 64.408 QUADTO
-44.561 64.783 lineto
-43.17 65.955 42.951 67.033 QUADTO
-46.717 67.033 lineto
-46.717 68.049 lineto
-41.561 68.049 lineto
-closepath
-49.32 68.049 M
-49.32 66.596 lineto
-50.773 66.596 lineto
-50.773 68.049 lineto
-49.32 68.049 lineto
-closepath
-53.398 68.08 M
-53.398 67.049 lineto
-54.273 67.393 55.039 67.393 QUADTO
-55.898 67.393 56.391 66.893 QUADTO
-56.883 66.393 56.883 65.502 QUADTO
-56.883 63.549 54.195 63.549 QUADTO
-53.883 63.549 53.555 63.596 QUADTO
-53.555 59.377 lineto
-57.945 59.377 lineto
-57.945 60.377 lineto
-54.57 60.377 lineto
-54.57 62.674 lineto
-56.242 62.674 57.18 63.439 QUADTO
-58.117 64.205 58.117 65.564 QUADTO
-58.117 66.83 57.258 67.549 QUADTO
-56.398 68.268 54.898 68.268 QUADTO
-54.242 68.268 53.398 68.08 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 63.773 M
-65.533 63.773 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 47.82 M
-34.191 46.742 lineto
-35.441 47.227 36.145 47.227 QUADTO
-36.973 47.227 37.496 46.742 QUADTO
-38.02 46.258 38.02 45.492 QUADTO
-38.02 43.664 35.457 43.664 QUADTO
-34.988 43.664 lineto
-34.988 42.883 lineto
-35.395 42.883 lineto
-37.801 42.883 37.801 41.195 QUADTO
-37.801 39.867 36.223 39.867 QUADTO
-35.348 39.867 34.316 40.352 QUADTO
-34.316 39.336 lineto
-35.332 38.992 36.301 38.992 QUADTO
-38.957 38.992 38.957 41.008 QUADTO
-38.957 42.539 37.145 43.18 QUADTO
-39.254 43.664 39.254 45.477 QUADTO
-39.254 46.711 38.441 47.406 QUADTO
-37.629 48.102 36.223 48.102 QUADTO
-35.41 48.102 34.191 47.82 QUADTO
-closepath
-42.014 47.914 M
-42.014 46.883 lineto
-42.889 47.227 43.654 47.227 QUADTO
-44.514 47.227 45.006 46.727 QUADTO
-45.498 46.227 45.498 45.336 QUADTO
-45.498 43.383 42.811 43.383 QUADTO
-42.498 43.383 42.17 43.43 QUADTO
-42.17 39.211 lineto
-46.561 39.211 lineto
-46.561 40.211 lineto
-43.186 40.211 lineto
-43.186 42.508 lineto
-44.857 42.508 45.795 43.273 QUADTO
-46.732 44.039 46.732 45.398 QUADTO
-46.732 46.664 45.873 47.383 QUADTO
-45.014 48.102 43.514 48.102 QUADTO
-42.857 48.102 42.014 47.914 QUADTO
-closepath
-49.32 47.883 M
-49.32 46.43 lineto
-50.773 46.43 lineto
-50.773 47.883 lineto
-49.32 47.883 lineto
-closepath
-55.711 48.102 M
-54.367 48.102 53.539 46.836 QUADTO
-52.711 45.57 52.711 43.539 QUADTO
-52.711 41.492 53.547 40.242 QUADTO
-54.383 38.992 55.742 38.992 QUADTO
-57.102 38.992 57.938 40.242 QUADTO
-58.773 41.492 58.773 43.523 QUADTO
-58.773 45.602 57.938 46.852 QUADTO
-57.102 48.102 55.711 48.102 QUADTO
-closepath
-55.727 47.227 M
-57.555 47.227 57.555 43.508 QUADTO
-57.555 39.867 55.742 39.867 QUADTO
-53.945 39.867 53.945 43.539 QUADTO
-53.945 47.227 55.727 47.227 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 43.607 M
-65.533 43.607 lineto
-stroke
-grestore
-gsave
-[0 -1 1 0 -160.60265 199.57533] concat
-newpath
-199.575 160.603 M
-199.575 560.603 lineto
--200.425 560.603 lineto
--200.425 160.603 lineto
-199.575 160.603 lineto
-closepath
-clip
-0.251 setgray
-newpath
--35.833 185.077 M
--35.833 174.28 lineto
--33.817 174.28 lineto
--33.817 185.077 lineto
--35.833 185.077 lineto
-closepath
--28.124 185.249 M
--29.889 185.249 -30.92 184.187 QUADTO
--31.952 183.124 -31.952 181.327 QUADTO
--31.952 179.499 -30.913 178.452 QUADTO
--29.874 177.405 -28.077 177.405 QUADTO
--26.28 177.405 -25.241 178.452 QUADTO
--24.202 179.499 -24.202 181.312 QUADTO
--24.202 183.155 -25.249 184.202 QUADTO
--26.295 185.249 -28.124 185.249 QUADTO
-closepath
--28.092 183.983 M
--26.358 183.983 -26.358 181.312 QUADTO
--26.358 180.093 -26.819 179.382 QUADTO
--27.28 178.671 -28.077 178.671 QUADTO
--28.874 178.671 -29.342 179.382 QUADTO
--29.811 180.093 -29.811 181.327 QUADTO
--29.811 182.546 -29.35 183.265 QUADTO
--28.889 183.983 -28.092 183.983 QUADTO
-closepath
--18.666 184.265 M
--19.666 185.249 -20.823 185.249 QUADTO
--21.807 185.249 -22.424 184.648 QUADTO
--23.041 184.046 -23.041 183.093 QUADTO
--23.041 181.843 -22.049 181.171 QUADTO
--21.057 180.499 -19.198 180.499 QUADTO
--18.666 180.499 lineto
--18.666 179.812 lineto
--18.666 178.64 -19.995 178.64 QUADTO
--21.182 178.64 -22.385 179.312 QUADTO
--22.385 177.921 lineto
--21.01 177.405 -19.666 177.405 QUADTO
--16.713 177.405 -16.713 179.749 QUADTO
--16.713 183.062 lineto
--16.713 183.952 -16.151 183.952 QUADTO
--16.057 183.952 -15.885 183.921 QUADTO
--15.838 185.062 lineto
--16.479 185.249 -16.979 185.249 QUADTO
--18.213 185.249 -18.573 184.265 QUADTO
--18.666 184.265 lineto
-closepath
--18.666 183.187 M
--18.666 181.655 lineto
--19.135 181.655 lineto
--21.104 181.655 -21.104 182.89 QUADTO
--21.104 183.312 -20.823 183.593 QUADTO
--20.541 183.874 -20.12 183.874 QUADTO
--19.401 183.874 -18.666 183.187 QUADTO
-closepath
--9.389 185.077 M
--9.389 183.655 lineto
--10.17 185.249 -11.842 185.249 QUADTO
--13.186 185.249 -13.959 184.257 QUADTO
--14.733 183.265 -14.733 181.53 QUADTO
--14.733 179.64 -13.866 178.523 QUADTO
--12.999 177.405 -11.53 177.405 QUADTO
--10.342 177.405 -9.389 178.327 QUADTO
--9.389 174.28 lineto
--7.358 174.28 lineto
--7.358 185.077 lineto
--9.389 185.077 lineto
-closepath
--9.389 179.53 M
--10.124 178.718 -10.952 178.718 QUADTO
--11.702 178.718 -12.139 179.437 QUADTO
--12.577 180.155 -12.577 181.358 QUADTO
--12.577 183.655 -11.108 183.655 QUADTO
--10.202 183.655 -9.389 182.499 QUADTO
--9.389 179.53 lineto
-closepath
-0.001 185.077 M
-0.001 178.843 lineto
--1.045 178.843 lineto
--1.045 177.577 lineto
-0.001 177.577 lineto
-0.001 177.03 lineto
-0.001 174.108 2.767 174.108 QUADTO
-3.658 174.108 4.611 174.374 QUADTO
-4.611 175.733 lineto
-3.751 175.374 3.064 175.374 QUADTO
-2.017 175.374 2.017 176.952 QUADTO
-2.017 177.577 lineto
-3.923 177.577 lineto
-3.923 178.843 lineto
-2.017 178.843 lineto
-2.017 185.077 lineto
-0.001 185.077 lineto
-closepath
-5.586 185.077 M
-5.586 177.577 lineto
-7.602 177.577 lineto
-7.602 178.983 lineto
-8.399 177.405 10.008 177.405 QUADTO
-10.196 177.405 10.383 177.437 QUADTO
-10.383 179.249 lineto
-9.946 179.093 9.571 179.093 QUADTO
-8.368 179.093 7.602 180.312 QUADTO
-7.602 185.077 lineto
-5.586 185.077 lineto
-closepath
-15.623 184.265 M
-14.623 185.249 13.466 185.249 QUADTO
-12.482 185.249 11.865 184.648 QUADTO
-11.248 184.046 11.248 183.093 QUADTO
-11.248 181.843 12.24 181.171 QUADTO
-13.232 180.499 15.091 180.499 QUADTO
-15.623 180.499 lineto
-15.623 179.812 lineto
-15.623 178.64 14.294 178.64 QUADTO
-13.107 178.64 11.904 179.312 QUADTO
-11.904 177.921 lineto
-13.279 177.405 14.623 177.405 QUADTO
-17.576 177.405 17.576 179.749 QUADTO
-17.576 183.062 lineto
-17.576 183.952 18.138 183.952 QUADTO
-18.232 183.952 18.404 183.921 QUADTO
-18.451 185.062 lineto
-17.81 185.249 17.31 185.249 QUADTO
-16.076 185.249 15.716 184.265 QUADTO
-15.623 184.265 lineto
-closepath
-15.623 183.187 M
-15.623 181.655 lineto
-15.154 181.655 lineto
-13.185 181.655 13.185 182.89 QUADTO
-13.185 183.312 13.466 183.593 QUADTO
-13.748 183.874 14.169 183.874 QUADTO
-14.888 183.874 15.623 183.187 QUADTO
-closepath
-25.712 184.905 M
-24.462 185.249 23.384 185.249 QUADTO
-21.587 185.249 20.548 184.194 QUADTO
-19.509 183.14 19.509 181.312 QUADTO
-19.509 179.483 20.58 178.444 QUADTO
-21.65 177.405 23.541 177.405 QUADTO
-24.462 177.405 25.65 177.687 QUADTO
-25.65 179.155 lineto
-24.416 178.749 23.666 178.749 QUADTO
-22.759 178.749 22.205 179.452 QUADTO
-21.65 180.155 21.65 181.296 QUADTO
-21.65 182.483 22.251 183.194 QUADTO
-22.853 183.905 23.837 183.905 QUADTO
-24.759 183.905 25.712 183.515 QUADTO
-25.712 184.905 lineto
-closepath
-31.507 185.03 M
-30.773 185.249 30.367 185.249 QUADTO
-27.726 185.249 27.726 182.78 QUADTO
-27.726 178.843 lineto
-26.882 178.843 lineto
-26.882 177.577 lineto
-27.726 177.577 lineto
-27.726 176.312 lineto
-29.757 176.077 lineto
-29.757 177.577 lineto
-31.351 177.577 lineto
-31.351 178.843 lineto
-29.757 178.843 lineto
-29.757 182.515 lineto
-29.757 183.905 30.882 183.905 QUADTO
-31.132 183.905 31.507 183.812 QUADTO
-31.507 185.03 lineto
-closepath
-33.306 185.077 M
-33.306 177.577 lineto
-35.322 177.577 lineto
-35.322 185.077 lineto
-33.306 185.077 lineto
-closepath
-33.306 176.312 M
-33.306 174.624 lineto
-35.322 174.624 lineto
-35.322 176.312 lineto
-33.306 176.312 lineto
-closepath
-41.015 185.249 M
-39.25 185.249 38.218 184.187 QUADTO
-37.187 183.124 37.187 181.327 QUADTO
-37.187 179.499 38.226 178.452 QUADTO
-39.265 177.405 41.062 177.405 QUADTO
-42.859 177.405 43.898 178.452 QUADTO
-44.937 179.499 44.937 181.312 QUADTO
-44.937 183.155 43.89 184.202 QUADTO
-42.843 185.249 41.015 185.249 QUADTO
-closepath
-41.046 183.983 M
-42.781 183.983 42.781 181.312 QUADTO
-42.781 180.093 42.32 179.382 QUADTO
-41.859 178.671 41.062 178.671 QUADTO
-40.265 178.671 39.796 179.382 QUADTO
-39.328 180.093 39.328 181.327 QUADTO
-39.328 182.546 39.789 183.265 QUADTO
-40.25 183.983 41.046 183.983 QUADTO
-closepath
-46.8 185.077 M
-46.8 177.577 lineto
-48.816 177.577 lineto
-48.816 178.983 lineto
-49.816 177.405 51.378 177.405 QUADTO
-52.378 177.405 52.964 178.038 QUADTO
-53.55 178.671 53.55 179.765 QUADTO
-53.55 185.077 lineto
-51.519 185.077 lineto
-51.519 180.265 lineto
-51.519 178.999 50.675 178.999 QUADTO
-49.707 178.999 48.816 180.358 QUADTO
-48.816 185.077 lineto
-46.8 185.077 lineto
-closepath
-59.245 174.202 M
-59.245 175.499 lineto
-57.417 177.343 57.417 180.687 QUADTO
-57.417 184.046 59.245 185.874 QUADTO
-59.245 187.187 lineto
-57.573 186.28 56.573 184.507 QUADTO
-55.573 182.733 55.573 180.687 QUADTO
-55.573 178.64 56.557 176.89 QUADTO
-57.542 175.14 59.245 174.202 QUADTO
-closepath
-60.746 185.327 M
-68.699 174.702 lineto
-70.058 174.702 lineto
-62.105 185.327 lineto
-60.746 185.327 lineto
-closepath
-62.464 180.015 M
-61.371 180.015 60.73 179.335 QUADTO
-60.089 178.655 60.089 177.483 QUADTO
-60.089 176.312 60.73 175.632 QUADTO
-61.371 174.952 62.496 174.952 QUADTO
-63.605 174.952 64.253 175.632 QUADTO
-64.902 176.312 64.902 177.483 QUADTO
-64.902 178.671 64.253 179.343 QUADTO
-63.605 180.015 62.464 180.015 QUADTO
-closepath
-62.48 178.999 M
-63.371 178.999 63.371 177.483 QUADTO
-63.371 175.968 62.496 175.968 QUADTO
-61.605 175.968 61.605 177.483 QUADTO
-61.605 178.999 62.48 178.999 QUADTO
-closepath
-68.292 185.077 M
-67.183 185.077 66.542 184.398 QUADTO
-65.902 183.718 65.902 182.546 QUADTO
-65.902 181.358 66.55 180.687 QUADTO
-67.199 180.015 68.308 180.015 QUADTO
-69.433 180.015 70.074 180.687 QUADTO
-70.714 181.358 70.714 182.546 QUADTO
-70.714 183.733 70.074 184.405 QUADTO
-69.433 185.077 68.292 185.077 QUADTO
-closepath
-68.292 184.062 M
-69.199 184.062 69.199 182.546 QUADTO
-69.199 181.03 68.308 181.03 QUADTO
-67.417 181.03 67.417 182.546 QUADTO
-67.417 184.062 68.292 184.062 QUADTO
-closepath
-71.367 174.202 M
-71.367 175.499 lineto
-73.195 177.343 73.195 180.687 QUADTO
-73.195 184.046 71.367 185.874 QUADTO
-71.367 187.187 lineto
-73.039 186.28 74.039 184.507 QUADTO
-75.039 182.733 75.039 180.687 QUADTO
-75.039 178.64 74.054 176.89 QUADTO
-73.07 175.14 71.367 174.202 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-80.356 34.247 M
-80.356 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-109.653 34.247 M
-109.653 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-130.44 34.247 M
-130.44 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-146.563 34.247 M
-146.563 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-159.737 34.247 M
-159.737 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-170.875 34.247 M
-170.875 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-180.523 34.247 M
-180.523 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-189.034 34.247 M
-189.034 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-196.646 34.247 M
-196.646 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-196.646 34.247 M
-196.646 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-246.73 34.247 M
-246.73 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-276.027 34.247 M
-276.027 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-296.813 34.247 M
-296.813 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-312.937 34.247 M
-312.937 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-326.11 34.247 M
-326.11 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-337.249 34.247 M
-337.249 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-346.897 34.247 M
-346.897 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-355.407 34.247 M
-355.407 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-363.02 34.247 M
-363.02 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-363.02 34.247 M
-363.02 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 325.931 M
-388 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 305.765 M
-388 305.765 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 285.599 M
-388 285.599 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 265.433 M
-388 265.433 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 245.267 M
-388 245.267 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 225.101 M
-388 225.101 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 204.935 M
-388 204.935 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 184.769 M
-388 184.769 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 164.603 M
-388 164.603 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 144.437 M
-388 144.437 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 124.271 M
-388 124.271 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 104.105 M
-388 104.105 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 83.939 M
-388 83.939 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 63.773 M
-388 63.773 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 43.607 M
-388 43.607 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-80.356 134.491 M
-130.44 150.83 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-130.44 150.83 M
-180.523 150.576 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-180.523 150.576 M
-230.607 148.224 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.607 148.224 M
-280.69 138.529 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-280.69 138.529 M
-330.774 156.367 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-330.774 156.367 M
-363.02 158.884 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-80.356 82.721 M
-130.44 83.58 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-130.44 83.58 M
-180.523 88.541 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-180.523 88.541 M
-230.607 81.826 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.607 81.826 M
-280.69 87.742 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-280.69 87.742 M
-330.774 58.998 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-330.774 58.998 M
-363.02 48.136 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-80.356 96.192 M
-130.44 89.444 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-130.44 89.444 M
-180.523 91.469 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-180.523 91.469 M
-230.607 83.278 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.607 83.278 M
-280.69 85.331 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-280.69 85.331 M
-330.774 95.462 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-330.774 95.462 M
-363.02 98.572 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-80.356 131.491 M
-83.356 137.491 lineto
-77.356 137.491 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.356 131.491 M
-83.356 137.491 lineto
-77.356 137.491 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-130.44 147.83 M
-133.44 153.83 lineto
-127.44 153.83 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.44 147.83 M
-133.44 153.83 lineto
-127.44 153.83 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-180.523 147.576 M
-183.523 153.576 lineto
-177.523 153.576 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-180.523 147.576 M
-183.523 153.576 lineto
-177.523 153.576 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-230.607 145.224 M
-233.607 151.224 lineto
-227.607 151.224 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-230.607 145.224 M
-233.607 151.224 lineto
-227.607 151.224 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-280.69 135.529 M
-283.69 141.529 lineto
-277.69 141.529 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-280.69 135.529 M
-283.69 141.529 lineto
-277.69 141.529 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-330.774 153.367 M
-333.774 159.367 lineto
-327.774 159.367 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-330.774 153.367 M
-333.774 159.367 lineto
-327.774 159.367 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-363.02 155.884 M
-366.02 161.884 lineto
-360.02 161.884 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-363.02 155.884 M
-366.02 161.884 lineto
-360.02 161.884 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-83.356 82.721 M
-83.356 84.378 82.013 85.721 80.356 85.721 curveto
-78.699 85.721 77.356 84.378 77.356 82.721 curveto
-77.356 81.064 78.699 79.721 80.356 79.721 curveto
-82.013 79.721 83.356 81.064 83.356 82.721 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.356 82.721 M
-83.356 84.378 82.013 85.721 80.356 85.721 curveto
-78.699 85.721 77.356 84.378 77.356 82.721 curveto
-77.356 81.064 78.699 79.721 80.356 79.721 curveto
-82.013 79.721 83.356 81.064 83.356 82.721 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-133.44 83.58 M
-133.44 85.237 132.096 86.58 130.44 86.58 curveto
-128.783 86.58 127.44 85.237 127.44 83.58 curveto
-127.44 81.923 128.783 80.58 130.44 80.58 curveto
-132.096 80.58 133.44 81.923 133.44 83.58 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-133.44 83.58 M
-133.44 85.237 132.096 86.58 130.44 86.58 curveto
-128.783 86.58 127.44 85.237 127.44 83.58 curveto
-127.44 81.923 128.783 80.58 130.44 80.58 curveto
-132.096 80.58 133.44 81.923 133.44 83.58 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-183.523 88.541 M
-183.523 90.198 182.18 91.541 180.523 91.541 curveto
-178.866 91.541 177.523 90.198 177.523 88.541 curveto
-177.523 86.884 178.866 85.541 180.523 85.541 curveto
-182.18 85.541 183.523 86.884 183.523 88.541 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-183.523 88.541 M
-183.523 90.198 182.18 91.541 180.523 91.541 curveto
-178.866 91.541 177.523 90.198 177.523 88.541 curveto
-177.523 86.884 178.866 85.541 180.523 85.541 curveto
-182.18 85.541 183.523 86.884 183.523 88.541 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-233.607 81.826 M
-233.607 83.483 232.264 84.826 230.607 84.826 curveto
-228.95 84.826 227.607 83.483 227.607 81.826 curveto
-227.607 80.169 228.95 78.826 230.607 78.826 curveto
-232.264 78.826 233.607 80.169 233.607 81.826 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-233.607 81.826 M
-233.607 83.483 232.264 84.826 230.607 84.826 curveto
-228.95 84.826 227.607 83.483 227.607 81.826 curveto
-227.607 80.169 228.95 78.826 230.607 78.826 curveto
-232.264 78.826 233.607 80.169 233.607 81.826 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-283.69 87.742 M
-283.69 89.399 282.347 90.742 280.69 90.742 curveto
-279.033 90.742 277.69 89.399 277.69 87.742 curveto
-277.69 86.086 279.033 84.742 280.69 84.742 curveto
-282.347 84.742 283.69 86.086 283.69 87.742 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-283.69 87.742 M
-283.69 89.399 282.347 90.742 280.69 90.742 curveto
-279.033 90.742 277.69 89.399 277.69 87.742 curveto
-277.69 86.086 279.033 84.742 280.69 84.742 curveto
-282.347 84.742 283.69 86.086 283.69 87.742 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-333.774 58.998 M
-333.774 60.655 332.431 61.998 330.774 61.998 curveto
-329.117 61.998 327.774 60.655 327.774 58.998 curveto
-327.774 57.341 329.117 55.998 330.774 55.998 curveto
-332.431 55.998 333.774 57.341 333.774 58.998 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-333.774 58.998 M
-333.774 60.655 332.431 61.998 330.774 61.998 curveto
-329.117 61.998 327.774 60.655 327.774 58.998 curveto
-327.774 57.341 329.117 55.998 330.774 55.998 curveto
-332.431 55.998 333.774 57.341 333.774 58.998 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-366.02 48.136 M
-366.02 49.793 364.677 51.136 363.02 51.136 curveto
-361.363 51.136 360.02 49.793 360.02 48.136 curveto
-360.02 46.48 361.363 45.136 363.02 45.136 curveto
-364.677 45.136 366.02 46.48 366.02 48.136 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-366.02 48.136 M
-366.02 49.793 364.677 51.136 363.02 51.136 curveto
-361.363 51.136 360.02 49.793 360.02 48.136 curveto
-360.02 46.48 361.363 45.136 363.02 45.136 curveto
-364.677 45.136 366.02 46.48 366.02 48.136 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-77.356 93.192 M
-83.356 93.192 lineto
-83.356 99.192 lineto
-77.356 99.192 lineto
-77.356 93.192 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-77.356 93.192 M
-83.356 93.192 lineto
-83.356 99.192 lineto
-77.356 99.192 lineto
-77.356 93.192 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-127.44 86.444 M
-133.44 86.444 lineto
-133.44 92.444 lineto
-127.44 92.444 lineto
-127.44 86.444 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.44 86.444 M
-133.44 86.444 lineto
-133.44 92.444 lineto
-127.44 92.444 lineto
-127.44 86.444 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-177.523 88.469 M
-183.523 88.469 lineto
-183.523 94.469 lineto
-177.523 94.469 lineto
-177.523 88.469 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-177.523 88.469 M
-183.523 88.469 lineto
-183.523 94.469 lineto
-177.523 94.469 lineto
-177.523 88.469 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-227.607 80.278 M
-233.607 80.278 lineto
-233.607 86.278 lineto
-227.607 86.278 lineto
-227.607 80.278 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.607 80.278 M
-233.607 80.278 lineto
-233.607 86.278 lineto
-227.607 86.278 lineto
-227.607 80.278 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-277.69 82.331 M
-283.69 82.331 lineto
-283.69 88.331 lineto
-277.69 88.331 lineto
-277.69 82.331 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-277.69 82.331 M
-283.69 82.331 lineto
-283.69 88.331 lineto
-277.69 88.331 lineto
-277.69 82.331 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-327.774 92.462 M
-333.774 92.462 lineto
-333.774 98.462 lineto
-327.774 98.462 lineto
-327.774 92.462 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-327.774 92.462 M
-333.774 92.462 lineto
-333.774 98.462 lineto
-327.774 98.462 lineto
-327.774 92.462 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-360.02 95.572 M
-366.02 95.572 lineto
-366.02 101.572 lineto
-360.02 101.572 lineto
-360.02 95.572 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-360.02 95.572 M
-366.02 95.572 lineto
-366.02 101.572 lineto
-360.02 101.572 lineto
-360.02 95.572 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-0.5 setlinewidth
-newpath
-69.533 34.247 M
-388 34.247 lineto
-388 325.931 lineto
-69.533 325.931 lineto
-69.533 34.247 lineto
-closepath
-stroke
-grestore
-%%Trailer
-%%Pages: 1
-%%EOF
diff --git a/sim/gobs/wiki/dc03kpv05.cfg b/sim/gobs/wiki/dc03kpv05.cfg
deleted file mode 100644
index ecbdca2..0000000
--- a/sim/gobs/wiki/dc03kpv05.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv05.cfg system_size_20-1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/wiki/dc03kpv05.eps b/sim/gobs/wiki/dc03kpv05.eps
deleted file mode 100644
index 6715c1a..0000000
--- a/sim/gobs/wiki/dc03kpv05.eps
+++ /dev/null
@@ -1,4569 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (Apache XML Graphics Commons: EPS Generator for Java2D)
-%%CreationDate: 2009-10-05T13:22:56
-%%Pages: (atend)
-%%BoundingBox: 0 0 400 400
-%%LanguageLevel: 3
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset (Apache XML Graphics Std ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2001-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (Basic set of procedures used by the XML Graphics project \(Batik and FOP\))
-/bd{bind def}bind def
-/ld{load def}bd
-/M/moveto ld
-/RM/rmoveto ld
-/t/show ld
-/A/ashow ld
-/cp/closepath ld
-/re {4 2 roll M
-1 index 0 rlineto
-0 exch rlineto
-neg 0 rlineto
-cp } bd
-/_ctm matrix def
-/_tm matrix def
-/BT { _ctm currentmatrix pop matrix _tm copy pop 0 0 moveto } bd
-/ET { _ctm setmatrix } bd
-/iTm { _ctm setmatrix _tm concat } bd
-/Tm { _tm astore pop iTm 0 0 moveto } bd
-/ux 0.0 def
-/uy 0.0 def
-/F {
- /Tp exch def
- /Tf exch def
- Tf findfont Tp scalefont setfont
- /cf Tf def /cs Tp def /cw ( ) stringwidth pop def
-} bd
-/ULS {currentpoint /uy exch def /ux exch def} bd
-/ULE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add moveto Tcx uy To add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/OLE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs add moveto Tcx uy To add cs add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/SOE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs 10 mul 26 idiv add moveto Tcx uy To add cs 10 mul 26 idiv add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/QUADTO {
-/Y22 exch store
-/X22 exch store
-/Y21 exch store
-/X21 exch store
-currentpoint
-/Y21 load 2 mul add 3 div exch
-/X21 load 2 mul add 3 div exch
-/X21 load 2 mul /X22 load add 3 div
-/Y21 load 2 mul /Y22 load add 3 div
-/X22 load /Y22 load curveto
-} bd
-/SSPD {
-dup length /d exch dict def
-{
-/v exch def
-/k exch def
-currentpagedevice k known {
-/cpdv currentpagedevice k get def
-v cpdv ne {
-/upd false def
-/nullv v type /nulltype eq def
-/nullcpdv cpdv type /nulltype eq def
-nullv nullcpdv or
-{
-/upd true def
-} {
-/sametype v type cpdv type eq def
-sametype {
-v type /arraytype eq {
-/vlen v length def
-/cpdvlen cpdv length def
-vlen cpdvlen eq {
-0 1 vlen 1 sub {
-/i exch def
-/obj v i get def
-/cpdobj cpdv i get def
-obj cpdobj ne {
-/upd true def
-exit
-} if
-} for
-} {
-/upd true def
-} ifelse
-} {
-v type /dicttype eq {
-v {
-/dv exch def
-/dk exch def
-/cpddv cpdv dk get def
-dv cpddv ne {
-/upd true def
-exit
-} if
-} forall
-} {
-/upd true def
-} ifelse
-} ifelse
-} if
-} ifelse
-upd true eq {
-d k v put
-} if
-} if
-} if
-} forall
-d length 0 gt {
-d setpagedevice
-} if
-} bd
-%%EndResource
-%%BeginResource: procset (Apache XML Graphics EPS ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2002-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (EPS procedures used by the Apache XML Graphics project \(Batik and FOP\))
-/BeginEPSF { %def
-/b4_Inc_state save def % Save state for cleanup
-/dict_count countdictstack def % Count objects on dict stack
-/op_count count 1 sub def % Count objects on operand stack
-userdict begin % Push userdict on dict stack
-/showpage { } def % Redefine showpage, { } = null proc
-0 setgray 0 setlinecap % Prepare graphics state
-1 setlinewidth 0 setlinejoin
-10 setmiterlimit [ ] 0 setdash newpath
-/languagelevel where % If level not equal to 1 then
-{pop languagelevel % set strokeadjust and
-1 ne % overprint to their defaults.
-{false setstrokeadjust false setoverprint
-} if
-} if
-} bd
-/EndEPSF { %def
-count op_count sub {pop} repeat % Clean up stacks
-countdictstack dict_count sub {end} repeat
-b4_Inc_state restore
-} bd
-%%EndResource
-%%EndProlog
-%%Page: 1 1
-%%PageBoundingBox: 0 0 400 400
-%%BeginPageSetup
-[1 0 0 -1 0 400] concat
-%%EndPageSetup
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-81.354 20.249 M
-81.354 5.796 lineto
-85.338 5.796 lineto
-88.807 15.968 lineto
-92.4 5.796 lineto
-95.885 5.796 lineto
-95.885 20.249 lineto
-93.119 20.249 lineto
-93.119 9.343 lineto
-89.588 19.281 lineto
-87.166 19.281 lineto
-83.713 9.187 lineto
-83.713 20.249 lineto
-81.354 20.249 lineto
-closepath
-104.758 19.093 M
-103.305 20.499 101.664 20.499 QUADTO
-100.258 20.499 99.375 19.64 QUADTO
-98.492 18.781 98.492 17.406 QUADTO
-98.492 15.624 99.914 14.663 QUADTO
-101.336 13.703 103.992 13.703 QUADTO
-104.758 13.703 lineto
-104.758 12.734 lineto
-104.758 11.062 102.852 11.062 QUADTO
-101.164 11.062 99.43 12.015 QUADTO
-99.43 10.031 lineto
-101.398 9.281 103.32 9.281 QUADTO
-107.523 9.281 107.523 12.624 QUADTO
-107.523 17.374 lineto
-107.523 18.64 108.336 18.64 QUADTO
-108.492 18.64 108.727 18.593 QUADTO
-108.789 20.218 lineto
-107.867 20.499 107.164 20.499 QUADTO
-105.398 20.499 104.883 19.093 QUADTO
-104.758 19.093 lineto
-closepath
-104.758 17.546 M
-104.758 15.359 lineto
-104.07 15.359 lineto
-101.273 15.359 101.273 17.124 QUADTO
-101.273 17.718 101.68 18.124 QUADTO
-102.086 18.531 102.68 18.531 QUADTO
-103.695 18.531 104.758 17.546 QUADTO
-closepath
-110.125 20.249 M
-113.797 14.874 lineto
-110.281 9.531 lineto
-113.562 9.531 lineto
-115.875 12.921 lineto
-118.078 9.531 lineto
-120.422 9.531 lineto
-117.062 14.796 lineto
-120.672 20.249 lineto
-117.375 20.249 lineto
-114.969 16.703 lineto
-112.516 20.249 lineto
-110.125 20.249 lineto
-closepath
-123.082 20.249 M
-123.082 9.531 lineto
-125.973 9.531 lineto
-125.973 20.249 lineto
-123.082 20.249 lineto
-closepath
-123.082 7.718 M
-123.082 5.312 lineto
-125.973 5.312 lineto
-125.973 7.718 lineto
-123.082 7.718 lineto
-closepath
-129.586 20.249 M
-129.586 9.531 lineto
-132.352 9.531 lineto
-132.352 11.546 lineto
-133.617 9.281 135.961 9.281 QUADTO
-137.18 9.281 137.961 9.874 QUADTO
-138.742 10.468 138.914 11.546 QUADTO
-140.414 9.281 142.555 9.281 QUADTO
-145.492 9.281 145.492 12.531 QUADTO
-145.492 20.249 lineto
-142.711 20.249 lineto
-142.711 13.468 lineto
-142.711 11.562 141.445 11.562 QUADTO
-140.148 11.562 138.914 13.437 QUADTO
-138.914 20.249 lineto
-136.148 20.249 lineto
-136.148 13.468 lineto
-136.148 11.562 134.867 11.562 QUADTO
-133.586 11.562 132.352 13.437 QUADTO
-132.352 20.249 lineto
-129.586 20.249 lineto
-closepath
-155.605 20.249 M
-155.605 18.234 lineto
-154.199 20.499 151.949 20.499 QUADTO
-150.512 20.499 149.684 19.585 QUADTO
-148.855 18.671 148.855 17.109 QUADTO
-148.855 9.531 lineto
-151.746 9.531 lineto
-151.746 16.39 lineto
-151.746 18.218 152.965 18.218 QUADTO
-154.34 18.218 155.605 16.281 QUADTO
-155.605 9.531 lineto
-158.496 9.531 lineto
-158.496 20.249 lineto
-155.605 20.249 lineto
-closepath
-162.115 20.249 M
-162.115 9.531 lineto
-164.881 9.531 lineto
-164.881 11.546 lineto
-166.146 9.281 168.49 9.281 QUADTO
-169.709 9.281 170.49 9.874 QUADTO
-171.271 10.468 171.443 11.546 QUADTO
-172.943 9.281 175.084 9.281 QUADTO
-178.021 9.281 178.021 12.531 QUADTO
-178.021 20.249 lineto
-175.24 20.249 lineto
-175.24 13.468 lineto
-175.24 11.562 173.975 11.562 QUADTO
-172.678 11.562 171.443 13.437 QUADTO
-171.443 20.249 lineto
-168.678 20.249 lineto
-168.678 13.468 lineto
-168.678 11.562 167.396 11.562 QUADTO
-166.115 11.562 164.881 13.437 QUADTO
-164.881 20.249 lineto
-162.115 20.249 lineto
-closepath
-188.102 20.249 M
-188.102 5.796 lineto
-193.508 5.796 lineto
-197.914 5.796 197.914 9.374 QUADTO
-197.914 10.718 197.164 11.82 QUADTO
-196.414 12.921 195.102 13.499 QUADTO
-199.836 20.249 lineto
-196.18 20.249 lineto
-192.586 14.343 lineto
-190.93 14.343 lineto
-190.93 20.249 lineto
-188.102 20.249 lineto
-closepath
-190.93 12.359 M
-191.617 12.359 lineto
-194.898 12.359 194.898 9.718 QUADTO
-194.898 7.781 191.977 7.781 QUADTO
-190.93 7.781 lineto
-190.93 12.359 lineto
-closepath
-210.619 19.89 M
-208.572 20.499 206.713 20.499 QUADTO
-204.041 20.499 202.486 18.976 QUADTO
-200.932 17.453 200.932 14.812 QUADTO
-200.932 12.312 202.354 10.796 QUADTO
-203.775 9.281 206.104 9.281 QUADTO
-208.463 9.281 209.541 10.765 QUADTO
-210.619 12.249 210.619 15.468 QUADTO
-203.979 15.468 lineto
-204.275 18.531 207.338 18.531 QUADTO
-208.807 18.531 210.619 17.859 QUADTO
-210.619 19.89 lineto
-closepath
-203.932 13.828 M
-207.791 13.828 lineto
-207.791 11.093 206.01 11.093 QUADTO
-204.213 11.093 203.932 13.828 QUADTO
-closepath
-213.619 20.249 M
-213.619 4.828 lineto
-216.51 4.828 lineto
-216.51 11.546 lineto
-217.619 9.281 220.01 9.281 QUADTO
-221.947 9.281 223.057 10.695 QUADTO
-224.166 12.109 224.166 14.593 QUADTO
-224.166 17.281 222.916 18.89 QUADTO
-221.666 20.499 219.572 20.499 QUADTO
-217.775 20.499 216.51 19.171 QUADTO
-215.963 20.249 lineto
-213.619 20.249 lineto
-closepath
-216.51 17.453 M
-217.557 18.624 218.744 18.624 QUADTO
-219.822 18.624 220.455 17.593 QUADTO
-221.088 16.562 221.088 14.843 QUADTO
-221.088 11.546 218.963 11.546 QUADTO
-217.682 11.546 216.51 13.203 QUADTO
-216.51 17.453 lineto
-closepath
-233.496 20.249 M
-233.496 18.234 lineto
-232.09 20.499 229.84 20.499 QUADTO
-228.402 20.499 227.574 19.585 QUADTO
-226.746 18.671 226.746 17.109 QUADTO
-226.746 9.531 lineto
-229.637 9.531 lineto
-229.637 16.39 lineto
-229.637 18.218 230.855 18.218 QUADTO
-232.23 18.218 233.496 16.281 QUADTO
-233.496 9.531 lineto
-236.387 9.531 lineto
-236.387 20.249 lineto
-233.496 20.249 lineto
-closepath
-240.006 20.249 M
-240.006 9.531 lineto
-242.896 9.531 lineto
-242.896 20.249 lineto
-240.006 20.249 lineto
-closepath
-240.006 7.718 M
-240.006 5.312 lineto
-242.896 5.312 lineto
-242.896 7.718 lineto
-240.006 7.718 lineto
-closepath
-246.51 20.249 M
-246.51 4.828 lineto
-249.4 4.828 lineto
-249.4 20.249 lineto
-246.51 20.249 lineto
-closepath
-259.764 20.249 M
-259.764 18.234 lineto
-258.639 20.499 256.248 20.499 QUADTO
-254.311 20.499 253.209 19.078 QUADTO
-252.107 17.656 252.107 15.187 QUADTO
-252.107 12.484 253.357 10.882 QUADTO
-254.607 9.281 256.701 9.281 QUADTO
-258.373 9.281 259.764 10.609 QUADTO
-259.764 4.828 lineto
-262.654 4.828 lineto
-262.654 20.249 lineto
-259.764 20.249 lineto
-closepath
-259.764 12.328 M
-258.717 11.156 257.514 11.156 QUADTO
-256.451 11.156 255.818 12.179 QUADTO
-255.186 13.203 255.186 14.937 QUADTO
-255.186 18.234 257.295 18.234 QUADTO
-258.592 18.234 259.764 16.578 QUADTO
-259.764 12.328 lineto
-closepath
-272.857 20.249 M
-272.857 5.796 lineto
-275.857 5.796 lineto
-275.857 18.203 lineto
-282.373 18.203 lineto
-282.373 20.249 lineto
-272.857 20.249 lineto
-closepath
-288.988 20.499 M
-286.473 20.499 284.996 18.976 QUADTO
-283.52 17.453 283.52 14.89 QUADTO
-283.52 12.296 285.004 10.788 QUADTO
-286.488 9.281 289.051 9.281 QUADTO
-291.629 9.281 293.113 10.788 QUADTO
-294.598 12.296 294.598 14.874 QUADTO
-294.598 17.499 293.105 18.999 QUADTO
-291.613 20.499 288.988 20.499 QUADTO
-closepath
-289.035 18.687 M
-291.52 18.687 291.52 14.874 QUADTO
-291.52 13.124 290.863 12.109 QUADTO
-290.207 11.093 289.051 11.093 QUADTO
-287.91 11.093 287.254 12.109 QUADTO
-286.598 13.124 286.598 14.89 QUADTO
-286.598 16.64 287.246 17.663 QUADTO
-287.895 18.687 289.035 18.687 QUADTO
-closepath
-302.512 19.093 M
-301.059 20.499 299.418 20.499 QUADTO
-298.012 20.499 297.129 19.64 QUADTO
-296.246 18.781 296.246 17.406 QUADTO
-296.246 15.624 297.668 14.663 QUADTO
-299.09 13.703 301.746 13.703 QUADTO
-302.512 13.703 lineto
-302.512 12.734 lineto
-302.512 11.062 300.605 11.062 QUADTO
-298.918 11.062 297.184 12.015 QUADTO
-297.184 10.031 lineto
-299.152 9.281 301.074 9.281 QUADTO
-305.277 9.281 305.277 12.624 QUADTO
-305.277 17.374 lineto
-305.277 18.64 306.09 18.64 QUADTO
-306.246 18.64 306.48 18.593 QUADTO
-306.543 20.218 lineto
-305.621 20.499 304.918 20.499 QUADTO
-303.152 20.499 302.637 19.093 QUADTO
-302.512 19.093 lineto
-closepath
-302.512 17.546 M
-302.512 15.359 lineto
-301.824 15.359 lineto
-299.027 15.359 299.027 17.124 QUADTO
-299.027 17.718 299.434 18.124 QUADTO
-299.84 18.531 300.434 18.531 QUADTO
-301.449 18.531 302.512 17.546 QUADTO
-closepath
-315.77 20.249 M
-315.77 18.234 lineto
-314.645 20.499 312.254 20.499 QUADTO
-310.316 20.499 309.215 19.078 QUADTO
-308.113 17.656 308.113 15.187 QUADTO
-308.113 12.484 309.363 10.882 QUADTO
-310.613 9.281 312.707 9.281 QUADTO
-314.379 9.281 315.77 10.609 QUADTO
-315.77 4.828 lineto
-318.66 4.828 lineto
-318.66 20.249 lineto
-315.77 20.249 lineto
-closepath
-315.77 12.328 M
-314.723 11.156 313.52 11.156 QUADTO
-312.457 11.156 311.824 12.179 QUADTO
-311.191 13.203 311.191 14.937 QUADTO
-311.191 18.234 313.301 18.234 QUADTO
-314.598 18.234 315.77 16.578 QUADTO
-315.77 12.328 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-79.864 376.452 M
-320.136 376.452 lineto
-320.136 399 lineto
-79.864 399 lineto
-79.864 376.452 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 376.952 M
-319.636 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 398.5 M
-319.636 398.5 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 398.5 M
-80.364 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.636 398.5 M
-319.636 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.864 387.726 M
-97.864 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-87.864 384.726 M
-93.864 384.726 lineto
-93.864 390.726 lineto
-87.864 390.726 lineto
-87.864 384.726 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.864 384.726 M
-93.864 384.726 lineto
-93.864 390.726 lineto
-87.864 390.726 lineto
-87.864 384.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-102.989 392.002 M
-102.989 383.33 lineto
-105.349 383.33 lineto
-106.911 383.33 107.599 383.861 QUADTO
-108.286 384.392 108.286 385.595 QUADTO
-108.286 386.986 107.349 387.767 QUADTO
-106.411 388.549 104.755 388.549 QUADTO
-104.208 388.549 lineto
-104.208 392.002 lineto
-102.989 392.002 lineto
-closepath
-104.208 387.627 M
-104.708 387.627 lineto
-105.802 387.627 106.396 387.119 QUADTO
-106.989 386.611 106.989 385.689 QUADTO
-106.989 384.924 106.521 384.588 QUADTO
-106.052 384.252 104.958 384.252 QUADTO
-104.208 384.252 lineto
-104.208 387.627 lineto
-closepath
-114.013 388.689 M
-112.528 384.939 lineto
-111.06 388.689 lineto
-114.013 388.689 lineto
-closepath
-115.31 392.002 M
-114.372 389.595 lineto
-110.7 389.595 lineto
-109.747 392.002 lineto
-108.591 392.002 lineto
-112.044 383.33 lineto
-113.263 383.33 lineto
-116.638 392.002 lineto
-115.31 392.002 lineto
-closepath
-119.589 392.22 M
-118.729 392.22 117.37 391.83 QUADTO
-117.37 390.611 lineto
-118.823 391.299 119.776 391.299 QUADTO
-120.495 391.299 120.94 390.916 QUADTO
-121.386 390.533 121.386 389.908 QUADTO
-121.386 389.408 121.097 389.049 QUADTO
-120.808 388.689 120.026 388.252 QUADTO
-119.433 387.908 lineto
-118.323 387.267 117.87 386.713 QUADTO
-117.417 386.158 117.417 385.408 QUADTO
-117.417 384.408 118.144 383.759 QUADTO
-118.87 383.111 119.995 383.111 QUADTO
-120.995 383.111 122.104 383.439 QUADTO
-122.104 384.564 lineto
-120.729 384.033 120.058 384.033 QUADTO
-119.417 384.033 119.003 384.369 QUADTO
-118.589 384.705 118.589 385.22 QUADTO
-118.589 385.658 118.894 385.994 QUADTO
-119.198 386.33 120.011 386.799 QUADTO
-120.62 387.142 lineto
-121.745 387.783 122.19 388.353 QUADTO
-122.636 388.924 122.636 389.72 QUADTO
-122.636 390.845 121.808 391.533 QUADTO
-120.979 392.22 119.589 392.22 QUADTO
-closepath
-126.427 392.002 M
-126.427 384.252 lineto
-123.349 384.252 lineto
-123.349 383.33 lineto
-130.724 383.33 lineto
-130.724 384.252 lineto
-127.646 384.252 lineto
-127.646 392.002 lineto
-126.427 392.002 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-136.827 387.726 M
-150.827 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-146.827 387.726 M
-146.827 389.383 145.484 390.726 143.827 390.726 curveto
-142.17 390.726 140.827 389.383 140.827 387.726 curveto
-140.827 386.069 142.17 384.726 143.827 384.726 curveto
-145.484 384.726 146.827 386.069 146.827 387.726 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.827 387.726 M
-146.827 389.383 145.484 390.726 143.827 390.726 curveto
-142.17 390.726 140.827 389.383 140.827 387.726 curveto
-140.827 386.069 142.17 384.726 143.827 384.726 curveto
-145.484 384.726 146.827 386.069 146.827 387.726 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-155.952 392.002 M
-155.952 383.33 lineto
-157.108 383.33 lineto
-157.108 387.595 lineto
-160.608 383.33 lineto
-161.843 383.33 lineto
-158.452 387.47 lineto
-162.452 392.002 lineto
-160.89 392.002 lineto
-157.108 387.611 lineto
-157.108 392.002 lineto
-155.952 392.002 lineto
-closepath
-167.099 391.189 M
-166.067 392.142 165.099 392.142 QUADTO
-164.302 392.142 163.786 391.65 QUADTO
-163.271 391.158 163.271 390.408 QUADTO
-163.271 389.361 164.146 388.799 QUADTO
-165.021 388.236 166.646 388.236 QUADTO
-166.927 388.236 lineto
-166.927 387.47 lineto
-166.927 386.361 165.786 386.361 QUADTO
-164.88 386.361 163.817 386.924 QUADTO
-163.817 385.97 lineto
-164.989 385.502 166.005 385.502 QUADTO
-167.067 385.502 167.575 385.978 QUADTO
-168.083 386.455 168.083 387.47 QUADTO
-168.083 390.361 lineto
-168.083 391.345 168.692 391.345 QUADTO
-168.771 391.345 168.911 391.314 QUADTO
-168.989 391.955 lineto
-168.599 392.142 168.13 392.142 QUADTO
-167.317 392.142 167.099 391.189 QUADTO
-closepath
-166.927 390.564 M
-166.927 388.924 lineto
-166.536 388.908 lineto
-165.599 388.908 165.013 389.267 QUADTO
-164.427 389.627 164.427 390.22 QUADTO
-164.427 390.627 164.716 390.916 QUADTO
-165.005 391.205 165.427 391.205 QUADTO
-166.146 391.205 166.927 390.564 QUADTO
-closepath
-174.522 392.002 M
-174.522 390.799 lineto
-173.819 392.142 172.413 392.142 QUADTO
-171.257 392.142 170.601 391.306 QUADTO
-169.944 390.47 169.944 389.017 QUADTO
-169.944 387.424 170.687 386.463 QUADTO
-171.429 385.502 172.647 385.502 QUADTO
-173.788 385.502 174.522 386.361 QUADTO
-174.522 382.752 lineto
-175.694 382.752 lineto
-175.694 392.002 lineto
-174.522 392.002 lineto
-closepath
-174.522 387.158 M
-173.632 386.361 172.835 386.361 QUADTO
-171.163 386.361 171.163 388.908 QUADTO
-171.163 391.127 172.647 391.127 QUADTO
-173.601 391.127 174.522 390.08 QUADTO
-174.522 387.158 lineto
-closepath
-182.653 391.799 M
-181.497 392.142 180.669 392.142 QUADTO
-179.263 392.142 178.38 391.213 QUADTO
-177.497 390.283 177.497 388.783 QUADTO
-177.497 387.345 178.278 386.416 QUADTO
-179.06 385.486 180.278 385.486 QUADTO
-181.435 385.486 182.06 386.306 QUADTO
-182.685 387.127 182.685 388.642 QUADTO
-182.685 389.002 lineto
-178.669 389.002 lineto
-178.919 391.267 180.888 391.267 QUADTO
-181.606 391.267 182.653 390.877 QUADTO
-182.653 391.799 lineto
-closepath
-178.716 388.127 M
-181.528 388.127 lineto
-181.528 386.361 180.2 386.361 QUADTO
-178.872 386.361 178.716 388.127 QUADTO
-closepath
-184.683 392.002 M
-184.683 385.642 lineto
-185.839 385.642 lineto
-185.839 386.83 lineto
-186.683 385.502 188.011 385.502 QUADTO
-189.276 385.502 189.745 386.83 QUADTO
-190.558 385.486 191.87 385.486 QUADTO
-192.714 385.486 193.183 385.986 QUADTO
-193.651 386.486 193.651 387.377 QUADTO
-193.651 392.002 lineto
-192.479 392.002 lineto
-192.479 387.549 lineto
-192.479 386.47 191.62 386.47 QUADTO
-190.729 386.47 189.745 387.736 QUADTO
-189.745 392.002 lineto
-188.589 392.002 lineto
-188.589 387.549 lineto
-188.589 386.455 187.698 386.455 QUADTO
-186.839 386.455 185.839 387.736 QUADTO
-185.839 392.002 lineto
-184.683 392.002 lineto
-closepath
-195.886 392.002 M
-195.886 382.752 lineto
-197.042 382.752 lineto
-197.042 392.002 lineto
-195.886 392.002 lineto
-closepath
-199.354 392.002 M
-199.354 385.642 lineto
-200.511 385.642 lineto
-200.511 392.002 lineto
-199.354 392.002 lineto
-closepath
-199.354 384.486 M
-199.354 383.33 lineto
-200.511 383.33 lineto
-200.511 384.486 lineto
-199.354 384.486 lineto
-closepath
-206.104 391.189 M
-205.073 392.142 204.104 392.142 QUADTO
-203.308 392.142 202.792 391.65 QUADTO
-202.276 391.158 202.276 390.408 QUADTO
-202.276 389.361 203.151 388.799 QUADTO
-204.026 388.236 205.651 388.236 QUADTO
-205.933 388.236 lineto
-205.933 387.47 lineto
-205.933 386.361 204.792 386.361 QUADTO
-203.886 386.361 202.823 386.924 QUADTO
-202.823 385.97 lineto
-203.995 385.502 205.011 385.502 QUADTO
-206.073 385.502 206.581 385.978 QUADTO
-207.089 386.455 207.089 387.47 QUADTO
-207.089 390.361 lineto
-207.089 391.345 207.698 391.345 QUADTO
-207.776 391.345 207.917 391.314 QUADTO
-207.995 391.955 lineto
-207.604 392.142 207.136 392.142 QUADTO
-206.323 392.142 206.104 391.189 QUADTO
-closepath
-205.933 390.564 M
-205.933 388.924 lineto
-205.542 388.908 lineto
-204.604 388.908 204.019 389.267 QUADTO
-203.433 389.627 203.433 390.22 QUADTO
-203.433 390.627 203.722 390.916 QUADTO
-204.011 391.205 204.433 391.205 QUADTO
-205.151 391.205 205.933 390.564 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-214.294 387.726 M
-228.294 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-221.294 384.726 M
-224.294 390.726 lineto
-218.294 390.726 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.294 384.726 M
-224.294 390.726 lineto
-218.294 390.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-235.778 392.002 M
-232.513 383.33 lineto
-233.731 383.33 lineto
-236.419 390.424 lineto
-239.013 383.33 lineto
-240.091 383.33 lineto
-236.935 392.002 lineto
-235.778 392.002 lineto
-closepath
-245.952 391.799 M
-244.796 392.142 243.968 392.142 QUADTO
-242.562 392.142 241.679 391.213 QUADTO
-240.796 390.283 240.796 388.783 QUADTO
-240.796 387.345 241.577 386.416 QUADTO
-242.358 385.486 243.577 385.486 QUADTO
-244.733 385.486 245.358 386.306 QUADTO
-245.983 387.127 245.983 388.642 QUADTO
-245.983 389.002 lineto
-241.968 389.002 lineto
-242.218 391.267 244.187 391.267 QUADTO
-244.905 391.267 245.952 390.877 QUADTO
-245.952 391.799 lineto
-closepath
-242.015 388.127 M
-244.827 388.127 lineto
-244.827 386.361 243.499 386.361 QUADTO
-242.171 386.361 242.015 388.127 QUADTO
-closepath
-247.981 392.002 M
-247.981 385.642 lineto
-249.138 385.642 lineto
-249.138 386.83 lineto
-249.825 385.502 251.122 385.502 QUADTO
-251.31 385.502 251.497 385.533 QUADTO
-251.497 386.611 lineto
-251.2 386.502 250.966 386.502 QUADTO
-249.872 386.502 249.138 387.799 QUADTO
-249.138 392.002 lineto
-247.981 392.002 lineto
-closepath
-254.798 392.142 M
-253.923 392.142 253.431 391.642 QUADTO
-252.938 391.142 252.938 390.236 QUADTO
-252.938 386.502 lineto
-252.142 386.502 lineto
-252.142 385.642 lineto
-252.938 385.642 lineto
-252.938 384.486 lineto
-254.095 384.377 lineto
-254.095 385.642 lineto
-255.751 385.642 lineto
-255.751 386.502 lineto
-254.095 386.502 lineto
-254.095 390.033 lineto
-254.095 391.283 255.173 391.283 QUADTO
-255.392 391.283 255.72 391.205 QUADTO
-255.72 392.002 lineto
-255.188 392.142 254.798 392.142 QUADTO
-closepath
-262.036 391.799 M
-260.88 392.142 260.052 392.142 QUADTO
-258.646 392.142 257.763 391.213 QUADTO
-256.88 390.283 256.88 388.783 QUADTO
-256.88 387.345 257.661 386.416 QUADTO
-258.442 385.486 259.661 385.486 QUADTO
-260.817 385.486 261.442 386.306 QUADTO
-262.067 387.127 262.067 388.642 QUADTO
-262.067 389.002 lineto
-258.052 389.002 lineto
-258.302 391.267 260.271 391.267 QUADTO
-260.989 391.267 262.036 390.877 QUADTO
-262.036 391.799 lineto
-closepath
-258.099 388.127 M
-260.911 388.127 lineto
-260.911 386.361 259.583 386.361 QUADTO
-258.255 386.361 258.099 388.127 QUADTO
-closepath
-263.425 392.002 M
-265.847 388.72 lineto
-263.503 385.642 lineto
-264.862 385.642 lineto
-266.722 388.08 lineto
-268.409 385.642 lineto
-269.534 385.642 lineto
-267.331 388.861 lineto
-269.722 392.002 lineto
-268.347 392.002 lineto
-266.44 389.486 lineto
-264.581 392.002 lineto
-263.425 392.002 lineto
-closepath
-281.706 391.767 M
-280.128 392.22 278.956 392.22 QUADTO
-276.878 392.22 275.776 391.041 QUADTO
-274.675 389.861 274.675 387.658 QUADTO
-274.675 385.502 275.792 384.306 QUADTO
-276.909 383.111 278.94 383.111 QUADTO
-280.253 383.111 281.69 383.502 QUADTO
-281.69 384.642 lineto
-279.894 384.033 278.94 384.033 QUADTO
-277.534 384.033 276.761 384.986 QUADTO
-275.987 385.939 275.987 387.674 QUADTO
-275.987 389.392 276.815 390.345 QUADTO
-277.644 391.299 279.144 391.299 QUADTO
-279.769 391.299 280.472 391.08 QUADTO
-280.472 388.252 lineto
-281.706 388.252 lineto
-281.706 391.767 lineto
-closepath
-283.894 392.002 M
-283.894 385.642 lineto
-285.05 385.642 lineto
-285.05 386.83 lineto
-285.737 385.502 287.034 385.502 QUADTO
-287.222 385.502 287.409 385.533 QUADTO
-287.409 386.611 lineto
-287.112 386.502 286.878 386.502 QUADTO
-285.784 386.502 285.05 387.799 QUADTO
-285.05 392.002 lineto
-283.894 392.002 lineto
-closepath
-291.288 392.142 M
-289.929 392.142 289.116 391.236 QUADTO
-288.304 390.33 288.304 388.814 QUADTO
-288.304 387.283 289.116 386.392 QUADTO
-289.929 385.502 291.335 385.502 QUADTO
-292.741 385.502 293.554 386.392 QUADTO
-294.366 387.283 294.366 388.814 QUADTO
-294.366 390.361 293.546 391.252 QUADTO
-292.726 392.142 291.288 392.142 QUADTO
-closepath
-291.304 391.283 M
-293.147 391.283 293.147 388.814 QUADTO
-293.147 386.361 291.335 386.361 QUADTO
-289.522 386.361 289.522 388.814 QUADTO
-289.522 391.283 291.304 391.283 QUADTO
-closepath
-300.159 392.002 M
-300.159 390.799 lineto
-299.237 392.142 297.925 392.142 QUADTO
-297.081 392.142 296.589 391.619 QUADTO
-296.097 391.095 296.097 390.205 QUADTO
-296.097 385.642 lineto
-297.253 385.642 lineto
-297.253 389.83 lineto
-297.253 390.549 297.464 390.853 QUADTO
-297.675 391.158 298.159 391.158 QUADTO
-299.222 391.158 300.159 389.767 QUADTO
-300.159 385.642 lineto
-301.3 385.642 lineto
-301.3 392.002 lineto
-300.159 392.002 lineto
-closepath
-303.622 394.314 M
-303.622 385.642 lineto
-304.778 385.642 lineto
-304.778 386.83 lineto
-305.481 385.502 306.903 385.502 QUADTO
-308.044 385.502 308.708 386.338 QUADTO
-309.372 387.174 309.372 388.627 QUADTO
-309.372 390.205 308.622 391.174 QUADTO
-307.872 392.142 306.653 392.142 QUADTO
-305.528 392.142 304.778 391.283 QUADTO
-304.778 394.314 lineto
-303.622 394.314 lineto
-closepath
-304.778 390.486 M
-305.669 391.283 306.481 391.283 QUADTO
-308.138 391.283 308.138 388.736 QUADTO
-308.138 386.502 306.669 386.502 QUADTO
-305.7 386.502 304.778 387.549 QUADTO
-304.778 390.486 lineto
-closepath
-312.862 392.142 M
-312.065 392.142 310.94 391.783 QUADTO
-310.94 390.72 lineto
-312.065 391.283 312.909 391.283 QUADTO
-313.409 391.283 313.737 391.009 QUADTO
-314.065 390.736 314.065 390.33 QUADTO
-314.065 389.752 313.144 389.361 QUADTO
-312.472 389.064 lineto
-310.972 388.455 310.972 387.283 QUADTO
-310.972 386.455 311.565 385.978 QUADTO
-312.159 385.502 313.175 385.502 QUADTO
-313.706 385.502 314.503 385.642 QUADTO
-314.737 385.689 lineto
-314.737 386.658 lineto
-313.769 386.361 313.206 386.361 QUADTO
-312.081 386.361 312.081 387.174 QUADTO
-312.081 387.689 312.925 388.049 QUADTO
-313.487 388.283 lineto
-314.425 388.689 314.823 389.127 QUADTO
-315.222 389.564 315.222 390.236 QUADTO
-315.222 391.064 314.558 391.603 QUADTO
-313.894 392.142 312.862 392.142 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-58.148 34.247 M
-388 34.247 lineto
-388 325.931 lineto
-58.148 325.931 lineto
-58.148 34.247 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-58.148 329.931 M
-388 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-62.77 345.481 M
-62.77 344.465 lineto
-63.27 343.293 64.802 341.903 QUADTO
-65.473 341.309 lineto
-66.739 340.153 66.739 339.012 QUADTO
-66.739 338.293 66.309 337.879 QUADTO
-65.88 337.465 65.114 337.465 QUADTO
-64.208 337.465 62.989 338.153 QUADTO
-62.989 337.137 lineto
-64.145 336.59 65.27 336.59 QUADTO
-66.489 336.59 67.231 337.247 QUADTO
-67.973 337.903 67.973 338.981 QUADTO
-67.973 339.762 67.598 340.372 QUADTO
-67.223 340.981 66.208 341.84 QUADTO
-65.77 342.215 lineto
-64.38 343.387 64.161 344.465 QUADTO
-67.927 344.465 lineto
-67.927 345.481 lineto
-62.77 345.481 lineto
-closepath
-73.124 345.7 M
-71.78 345.7 70.952 344.434 QUADTO
-70.124 343.168 70.124 341.137 QUADTO
-70.124 339.09 70.96 337.84 QUADTO
-71.796 336.59 73.155 336.59 QUADTO
-74.514 336.59 75.35 337.84 QUADTO
-76.186 339.09 76.186 341.122 QUADTO
-76.186 343.2 75.35 344.45 QUADTO
-74.514 345.7 73.124 345.7 QUADTO
-closepath
-73.139 344.825 M
-74.968 344.825 74.968 341.106 QUADTO
-74.968 337.465 73.155 337.465 QUADTO
-71.358 337.465 71.358 341.137 QUADTO
-71.358 344.825 73.139 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.358 331.931 M
-69.358 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-93.333 345.418 M
-93.333 344.34 lineto
-94.583 344.825 95.287 344.825 QUADTO
-96.115 344.825 96.638 344.34 QUADTO
-97.162 343.856 97.162 343.09 QUADTO
-97.162 341.262 94.599 341.262 QUADTO
-94.13 341.262 lineto
-94.13 340.481 lineto
-94.537 340.481 lineto
-96.943 340.481 96.943 338.793 QUADTO
-96.943 337.465 95.365 337.465 QUADTO
-94.49 337.465 93.458 337.95 QUADTO
-93.458 336.934 lineto
-94.474 336.59 95.443 336.59 QUADTO
-98.099 336.59 98.099 338.606 QUADTO
-98.099 340.137 96.287 340.778 QUADTO
-98.396 341.262 98.396 343.075 QUADTO
-98.396 344.309 97.583 345.004 QUADTO
-96.771 345.7 95.365 345.7 QUADTO
-94.552 345.7 93.333 345.418 QUADTO
-closepath
-103.468 345.7 M
-102.124 345.7 101.296 344.434 QUADTO
-100.468 343.168 100.468 341.137 QUADTO
-100.468 339.09 101.304 337.84 QUADTO
-102.14 336.59 103.499 336.59 QUADTO
-104.859 336.59 105.695 337.84 QUADTO
-106.531 339.09 106.531 341.122 QUADTO
-106.531 343.2 105.695 344.45 QUADTO
-104.859 345.7 103.468 345.7 QUADTO
-closepath
-103.484 344.825 M
-105.312 344.825 105.312 341.106 QUADTO
-105.312 337.465 103.499 337.465 QUADTO
-101.703 337.465 101.703 341.137 QUADTO
-101.703 344.825 103.484 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-99.703 331.931 M
-99.703 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.232 331.931 M
-121.232 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-137.932 331.931 M
-137.932 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-151.576 331.931 M
-151.576 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-163.113 331.931 M
-163.113 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.106 331.931 M
-173.106 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-181.921 331.931 M
-181.921 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.806 331.931 M
-189.806 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-180.236 345.481 M
-180.236 344.606 lineto
-181.971 344.606 lineto
-181.971 337.762 lineto
-180.236 338.2 lineto
-180.236 337.309 lineto
-183.127 336.59 lineto
-183.127 344.606 lineto
-184.861 344.606 lineto
-184.861 345.481 lineto
-180.236 345.481 lineto
-closepath
-189.777 345.7 M
-188.434 345.7 187.606 344.434 QUADTO
-186.777 343.168 186.777 341.137 QUADTO
-186.777 339.09 187.613 337.84 QUADTO
-188.449 336.59 189.809 336.59 QUADTO
-191.168 336.59 192.004 337.84 QUADTO
-192.84 339.09 192.84 341.122 QUADTO
-192.84 343.2 192.004 344.45 QUADTO
-191.168 345.7 189.777 345.7 QUADTO
-closepath
-189.793 344.825 M
-191.621 344.825 191.621 341.106 QUADTO
-191.621 337.465 189.809 337.465 QUADTO
-188.012 337.465 188.012 341.137 QUADTO
-188.012 344.825 189.793 344.825 QUADTO
-closepath
-197.365 345.7 M
-196.022 345.7 195.193 344.434 QUADTO
-194.365 343.168 194.365 341.137 QUADTO
-194.365 339.09 195.201 337.84 QUADTO
-196.037 336.59 197.397 336.59 QUADTO
-198.756 336.59 199.592 337.84 QUADTO
-200.428 339.09 200.428 341.122 QUADTO
-200.428 343.2 199.592 344.45 QUADTO
-198.756 345.7 197.365 345.7 QUADTO
-closepath
-197.381 344.825 M
-199.209 344.825 199.209 341.106 QUADTO
-199.209 337.465 197.397 337.465 QUADTO
-195.6 337.465 195.6 341.137 QUADTO
-195.6 344.825 197.381 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.806 331.931 M
-189.806 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-231.298 345.481 M
-231.298 344.465 lineto
-231.798 343.293 233.329 341.903 QUADTO
-234.001 341.309 lineto
-235.267 340.153 235.267 339.012 QUADTO
-235.267 338.293 234.837 337.879 QUADTO
-234.407 337.465 233.642 337.465 QUADTO
-232.735 337.465 231.517 338.153 QUADTO
-231.517 337.137 lineto
-232.673 336.59 233.798 336.59 QUADTO
-235.017 336.59 235.759 337.247 QUADTO
-236.501 337.903 236.501 338.981 QUADTO
-236.501 339.762 236.126 340.372 QUADTO
-235.751 340.981 234.735 341.84 QUADTO
-234.298 342.215 lineto
-232.907 343.387 232.689 344.465 QUADTO
-236.454 344.465 lineto
-236.454 345.481 lineto
-231.298 345.481 lineto
-closepath
-241.651 345.7 M
-240.308 345.7 239.48 344.434 QUADTO
-238.651 343.168 238.651 341.137 QUADTO
-238.651 339.09 239.487 337.84 QUADTO
-240.323 336.59 241.683 336.59 QUADTO
-243.042 336.59 243.878 337.84 QUADTO
-244.714 339.09 244.714 341.122 QUADTO
-244.714 343.2 243.878 344.45 QUADTO
-243.042 345.7 241.651 345.7 QUADTO
-closepath
-241.667 344.825 M
-243.495 344.825 243.495 341.106 QUADTO
-243.495 337.465 241.683 337.465 QUADTO
-239.886 337.465 239.886 341.137 QUADTO
-239.886 344.825 241.667 344.825 QUADTO
-closepath
-249.239 345.7 M
-247.896 345.7 247.067 344.434 QUADTO
-246.239 343.168 246.239 341.137 QUADTO
-246.239 339.09 247.075 337.84 QUADTO
-247.911 336.59 249.271 336.59 QUADTO
-250.63 336.59 251.466 337.84 QUADTO
-252.302 339.09 252.302 341.122 QUADTO
-252.302 343.2 251.466 344.45 QUADTO
-250.63 345.7 249.239 345.7 QUADTO
-closepath
-249.255 344.825 M
-251.083 344.825 251.083 341.106 QUADTO
-251.083 337.465 249.271 337.465 QUADTO
-247.474 337.465 247.474 341.137 QUADTO
-247.474 344.825 249.255 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-241.68 331.931 M
-241.68 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-272.024 331.931 M
-272.024 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-293.554 331.931 M
-293.554 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-310.253 331.931 M
-310.253 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-323.898 331.931 M
-323.898 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-335.434 331.931 M
-335.434 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-345.428 331.931 M
-345.428 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-354.242 331.931 M
-354.242 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.127 331.931 M
-362.127 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-348.764 345.481 M
-348.764 344.606 lineto
-350.498 344.606 lineto
-350.498 337.762 lineto
-348.764 338.2 lineto
-348.764 337.309 lineto
-351.655 336.59 lineto
-351.655 344.606 lineto
-353.389 344.606 lineto
-353.389 345.481 lineto
-348.764 345.481 lineto
-closepath
-358.305 345.7 M
-356.961 345.7 356.133 344.434 QUADTO
-355.305 343.168 355.305 341.137 QUADTO
-355.305 339.09 356.141 337.84 QUADTO
-356.977 336.59 358.336 336.59 QUADTO
-359.696 336.59 360.532 337.84 QUADTO
-361.368 339.09 361.368 341.122 QUADTO
-361.368 343.2 360.532 344.45 QUADTO
-359.696 345.7 358.305 345.7 QUADTO
-closepath
-358.321 344.825 M
-360.149 344.825 360.149 341.106 QUADTO
-360.149 337.465 358.336 337.465 QUADTO
-356.539 337.465 356.539 341.137 QUADTO
-356.539 344.825 358.321 344.825 QUADTO
-closepath
-365.893 345.7 M
-364.549 345.7 363.721 344.434 QUADTO
-362.893 343.168 362.893 341.137 QUADTO
-362.893 339.09 363.729 337.84 QUADTO
-364.565 336.59 365.924 336.59 QUADTO
-367.284 336.59 368.119 337.84 QUADTO
-368.955 339.09 368.955 341.122 QUADTO
-368.955 343.2 368.119 344.45 QUADTO
-367.284 345.7 365.893 345.7 QUADTO
-closepath
-365.909 344.825 M
-367.737 344.825 367.737 341.106 QUADTO
-367.737 337.465 365.924 337.465 QUADTO
-364.127 337.465 364.127 341.137 QUADTO
-364.127 344.825 365.909 344.825 QUADTO
-closepath
-373.481 345.7 M
-372.137 345.7 371.309 344.434 QUADTO
-370.481 343.168 370.481 341.137 QUADTO
-370.481 339.09 371.317 337.84 QUADTO
-372.153 336.59 373.512 336.59 QUADTO
-374.871 336.59 375.707 337.84 QUADTO
-376.543 339.09 376.543 341.122 QUADTO
-376.543 343.2 375.707 344.45 QUADTO
-374.871 345.7 373.481 345.7 QUADTO
-closepath
-373.496 344.825 M
-375.325 344.825 375.325 341.106 QUADTO
-375.325 337.465 373.512 337.465 QUADTO
-371.715 337.465 371.715 341.137 QUADTO
-371.715 344.825 373.496 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.127 331.931 M
-362.127 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-202.574 364.954 M
-202.574 357.454 lineto
-204.59 357.454 lineto
-204.59 358.86 lineto
-205.59 357.282 207.152 357.282 QUADTO
-208.152 357.282 208.738 357.915 QUADTO
-209.324 358.548 209.324 359.641 QUADTO
-209.324 364.954 lineto
-207.293 364.954 lineto
-207.293 360.141 lineto
-207.293 358.876 206.449 358.876 QUADTO
-205.48 358.876 204.59 360.235 QUADTO
-204.59 364.954 lineto
-202.574 364.954 lineto
-closepath
-214.925 365.126 M
-213.159 365.126 212.128 364.063 QUADTO
-211.097 363.001 211.097 361.204 QUADTO
-211.097 359.376 212.136 358.329 QUADTO
-213.175 357.282 214.972 357.282 QUADTO
-216.769 357.282 217.808 358.329 QUADTO
-218.847 359.376 218.847 361.188 QUADTO
-218.847 363.032 217.8 364.079 QUADTO
-216.753 365.126 214.925 365.126 QUADTO
-closepath
-214.956 363.86 M
-216.69 363.86 216.69 361.188 QUADTO
-216.69 359.97 216.229 359.259 QUADTO
-215.769 358.548 214.972 358.548 QUADTO
-214.175 358.548 213.706 359.259 QUADTO
-213.237 359.97 213.237 361.204 QUADTO
-213.237 362.423 213.698 363.141 QUADTO
-214.159 363.86 214.956 363.86 QUADTO
-closepath
-225.429 364.954 M
-225.429 363.532 lineto
-224.647 365.126 222.976 365.126 QUADTO
-221.632 365.126 220.858 364.134 QUADTO
-220.085 363.141 220.085 361.407 QUADTO
-220.085 359.516 220.952 358.399 QUADTO
-221.819 357.282 223.288 357.282 QUADTO
-224.476 357.282 225.429 358.204 QUADTO
-225.429 354.157 lineto
-227.46 354.157 lineto
-227.46 364.954 lineto
-225.429 364.954 lineto
-closepath
-225.429 359.407 M
-224.694 358.595 223.866 358.595 QUADTO
-223.116 358.595 222.679 359.313 QUADTO
-222.241 360.032 222.241 361.235 QUADTO
-222.241 363.532 223.71 363.532 QUADTO
-224.616 363.532 225.429 362.376 QUADTO
-225.429 359.407 lineto
-closepath
-236.096 364.704 M
-234.658 365.126 233.361 365.126 QUADTO
-231.486 365.126 230.4 364.055 QUADTO
-229.314 362.985 229.314 361.141 QUADTO
-229.314 359.407 230.307 358.345 QUADTO
-231.299 357.282 232.939 357.282 QUADTO
-234.58 357.282 235.338 358.321 QUADTO
-236.096 359.36 236.096 361.61 QUADTO
-231.439 361.61 lineto
-231.643 363.751 233.799 363.751 QUADTO
-234.814 363.751 236.096 363.282 QUADTO
-236.096 364.704 lineto
-closepath
-231.408 360.47 M
-234.111 360.47 lineto
-234.111 358.548 232.877 358.548 QUADTO
-231.611 358.548 231.408 360.47 QUADTO
-closepath
-237.986 364.72 M
-237.986 363.235 lineto
-239.502 363.86 240.564 363.86 QUADTO
-241.799 363.86 241.799 363.016 QUADTO
-241.799 362.47 240.783 362.048 QUADTO
-240.096 361.782 lineto
-238.986 361.329 238.502 360.813 QUADTO
-238.018 360.298 238.018 359.532 QUADTO
-238.018 358.454 238.838 357.868 QUADTO
-239.658 357.282 241.111 357.282 QUADTO
-242.033 357.282 243.299 357.548 QUADTO
-243.299 358.97 lineto
-242.08 358.548 241.283 358.548 QUADTO
-240.018 358.548 240.018 359.313 QUADTO
-240.018 359.829 240.955 360.188 QUADTO
-241.533 360.407 lineto
-242.861 360.907 243.377 361.423 QUADTO
-243.893 361.938 243.893 362.751 QUADTO
-243.893 363.798 243.01 364.462 QUADTO
-242.127 365.126 240.721 365.126 QUADTO
-239.377 365.126 237.986 364.72 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-54.148 34.247 M
-54.148 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-44.326 330.426 M
-42.982 330.426 42.154 329.16 QUADTO
-41.326 327.894 41.326 325.863 QUADTO
-41.326 323.816 42.162 322.566 QUADTO
-42.998 321.316 44.357 321.316 QUADTO
-45.717 321.316 46.553 322.566 QUADTO
-47.389 323.816 47.389 325.848 QUADTO
-47.389 327.926 46.553 329.176 QUADTO
-45.717 330.426 44.326 330.426 QUADTO
-closepath
-44.342 329.551 M
-46.17 329.551 46.17 325.832 QUADTO
-46.17 322.191 44.357 322.191 QUADTO
-42.561 322.191 42.561 325.863 QUADTO
-42.561 329.551 44.342 329.551 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 325.931 M
-54.148 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-42.014 299.513 M
-42.014 298.482 lineto
-42.889 298.826 43.654 298.826 QUADTO
-44.514 298.826 45.006 298.326 QUADTO
-45.498 297.826 45.498 296.935 QUADTO
-45.498 294.982 42.811 294.982 QUADTO
-42.498 294.982 42.17 295.029 QUADTO
-42.17 290.81 lineto
-46.561 290.81 lineto
-46.561 291.81 lineto
-43.186 291.81 lineto
-43.186 294.107 lineto
-44.857 294.107 45.795 294.873 QUADTO
-46.732 295.638 46.732 296.998 QUADTO
-46.732 298.263 45.873 298.982 QUADTO
-45.014 299.701 43.514 299.701 QUADTO
-42.857 299.701 42.014 299.513 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 295.207 M
-54.148 295.207 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 268.757 M
-34.785 267.882 lineto
-36.52 267.882 lineto
-36.52 261.039 lineto
-34.785 261.476 lineto
-34.785 260.586 lineto
-37.676 259.867 lineto
-37.676 267.882 lineto
-39.41 267.882 lineto
-39.41 268.757 lineto
-34.785 268.757 lineto
-closepath
-44.326 268.976 M
-42.982 268.976 42.154 267.711 QUADTO
-41.326 266.445 41.326 264.414 QUADTO
-41.326 262.367 42.162 261.117 QUADTO
-42.998 259.867 44.357 259.867 QUADTO
-45.717 259.867 46.553 261.117 QUADTO
-47.389 262.367 47.389 264.398 QUADTO
-47.389 266.476 46.553 267.726 QUADTO
-45.717 268.976 44.326 268.976 QUADTO
-closepath
-44.342 268.101 M
-46.17 268.101 46.17 264.382 QUADTO
-46.17 260.742 44.357 260.742 QUADTO
-42.561 260.742 42.561 264.414 QUADTO
-42.561 268.101 44.342 268.101 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 264.482 M
-54.148 264.482 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 238.033 M
-34.785 237.158 lineto
-36.52 237.158 lineto
-36.52 230.314 lineto
-34.785 230.751 lineto
-34.785 229.861 lineto
-37.676 229.142 lineto
-37.676 237.158 lineto
-39.41 237.158 lineto
-39.41 238.033 lineto
-34.785 238.033 lineto
-closepath
-42.014 238.064 M
-42.014 237.033 lineto
-42.889 237.376 43.654 237.376 QUADTO
-44.514 237.376 45.006 236.876 QUADTO
-45.498 236.376 45.498 235.486 QUADTO
-45.498 233.533 42.811 233.533 QUADTO
-42.498 233.533 42.17 233.58 QUADTO
-42.17 229.361 lineto
-46.561 229.361 lineto
-46.561 230.361 lineto
-43.186 230.361 lineto
-43.186 232.658 lineto
-44.857 232.658 45.795 233.423 QUADTO
-46.732 234.189 46.732 235.548 QUADTO
-46.732 236.814 45.873 237.533 QUADTO
-45.014 238.251 43.514 238.251 QUADTO
-42.857 238.251 42.014 238.064 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 233.757 M
-54.148 233.757 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 207.308 M
-33.973 206.292 lineto
-34.473 205.12 36.004 203.73 QUADTO
-36.676 203.136 lineto
-37.941 201.98 37.941 200.839 QUADTO
-37.941 200.12 37.512 199.706 QUADTO
-37.082 199.292 36.316 199.292 QUADTO
-35.41 199.292 34.191 199.98 QUADTO
-34.191 198.964 lineto
-35.348 198.417 36.473 198.417 QUADTO
-37.691 198.417 38.434 199.074 QUADTO
-39.176 199.73 39.176 200.808 QUADTO
-39.176 201.589 38.801 202.199 QUADTO
-38.426 202.808 37.41 203.667 QUADTO
-36.973 204.042 lineto
-35.582 205.214 35.363 206.292 QUADTO
-39.129 206.292 lineto
-39.129 207.308 lineto
-33.973 207.308 lineto
-closepath
-44.326 207.527 M
-42.982 207.527 42.154 206.261 QUADTO
-41.326 204.995 41.326 202.964 QUADTO
-41.326 200.917 42.162 199.667 QUADTO
-42.998 198.417 44.357 198.417 QUADTO
-45.717 198.417 46.553 199.667 QUADTO
-47.389 200.917 47.389 202.949 QUADTO
-47.389 205.027 46.553 206.277 QUADTO
-45.717 207.527 44.326 207.527 QUADTO
-closepath
-44.342 206.652 M
-46.17 206.652 46.17 202.933 QUADTO
-46.17 199.292 44.357 199.292 QUADTO
-42.561 199.292 42.561 202.964 QUADTO
-42.561 206.652 44.342 206.652 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 203.032 M
-54.148 203.032 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 176.583 M
-33.973 175.568 lineto
-34.473 174.396 36.004 173.005 QUADTO
-36.676 172.411 lineto
-37.941 171.255 37.941 170.114 QUADTO
-37.941 169.396 37.512 168.982 QUADTO
-37.082 168.568 36.316 168.568 QUADTO
-35.41 168.568 34.191 169.255 QUADTO
-34.191 168.239 lineto
-35.348 167.693 36.473 167.693 QUADTO
-37.691 167.693 38.434 168.349 QUADTO
-39.176 169.005 39.176 170.083 QUADTO
-39.176 170.864 38.801 171.474 QUADTO
-38.426 172.083 37.41 172.943 QUADTO
-36.973 173.318 lineto
-35.582 174.489 35.363 175.568 QUADTO
-39.129 175.568 lineto
-39.129 176.583 lineto
-33.973 176.583 lineto
-closepath
-42.014 176.614 M
-42.014 175.583 lineto
-42.889 175.927 43.654 175.927 QUADTO
-44.514 175.927 45.006 175.427 QUADTO
-45.498 174.927 45.498 174.036 QUADTO
-45.498 172.083 42.811 172.083 QUADTO
-42.498 172.083 42.17 172.13 QUADTO
-42.17 167.911 lineto
-46.561 167.911 lineto
-46.561 168.911 lineto
-43.186 168.911 lineto
-43.186 171.208 lineto
-44.857 171.208 45.795 171.974 QUADTO
-46.732 172.739 46.732 174.099 QUADTO
-46.732 175.364 45.873 176.083 QUADTO
-45.014 176.802 43.514 176.802 QUADTO
-42.857 176.802 42.014 176.614 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 172.307 M
-54.148 172.307 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 145.796 M
-34.191 144.718 lineto
-35.441 145.202 36.145 145.202 QUADTO
-36.973 145.202 37.496 144.718 QUADTO
-38.02 144.233 38.02 143.468 QUADTO
-38.02 141.64 35.457 141.64 QUADTO
-34.988 141.64 lineto
-34.988 140.858 lineto
-35.395 140.858 lineto
-37.801 140.858 37.801 139.171 QUADTO
-37.801 137.843 36.223 137.843 QUADTO
-35.348 137.843 34.316 138.327 QUADTO
-34.316 137.311 lineto
-35.332 136.968 36.301 136.968 QUADTO
-38.957 136.968 38.957 138.983 QUADTO
-38.957 140.515 37.145 141.155 QUADTO
-39.254 141.64 39.254 143.452 QUADTO
-39.254 144.686 38.441 145.382 QUADTO
-37.629 146.077 36.223 146.077 QUADTO
-35.41 146.077 34.191 145.796 QUADTO
-closepath
-44.326 146.077 M
-42.982 146.077 42.154 144.811 QUADTO
-41.326 143.546 41.326 141.515 QUADTO
-41.326 139.468 42.162 138.218 QUADTO
-42.998 136.968 44.357 136.968 QUADTO
-45.717 136.968 46.553 138.218 QUADTO
-47.389 139.468 47.389 141.499 QUADTO
-47.389 143.577 46.553 144.827 QUADTO
-45.717 146.077 44.326 146.077 QUADTO
-closepath
-44.342 145.202 M
-46.17 145.202 46.17 141.483 QUADTO
-46.17 137.843 44.357 137.843 QUADTO
-42.561 137.843 42.561 141.515 QUADTO
-42.561 145.202 44.342 145.202 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 141.583 M
-54.148 141.583 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 115.071 M
-34.191 113.993 lineto
-35.441 114.477 36.145 114.477 QUADTO
-36.973 114.477 37.496 113.993 QUADTO
-38.02 113.509 38.02 112.743 QUADTO
-38.02 110.915 35.457 110.915 QUADTO
-34.988 110.915 lineto
-34.988 110.134 lineto
-35.395 110.134 lineto
-37.801 110.134 37.801 108.446 QUADTO
-37.801 107.118 36.223 107.118 QUADTO
-35.348 107.118 34.316 107.602 QUADTO
-34.316 106.587 lineto
-35.332 106.243 36.301 106.243 QUADTO
-38.957 106.243 38.957 108.259 QUADTO
-38.957 109.79 37.145 110.43 QUADTO
-39.254 110.915 39.254 112.727 QUADTO
-39.254 113.962 38.441 114.657 QUADTO
-37.629 115.352 36.223 115.352 QUADTO
-35.41 115.352 34.191 115.071 QUADTO
-closepath
-42.014 115.165 M
-42.014 114.134 lineto
-42.889 114.477 43.654 114.477 QUADTO
-44.514 114.477 45.006 113.977 QUADTO
-45.498 113.477 45.498 112.587 QUADTO
-45.498 110.634 42.811 110.634 QUADTO
-42.498 110.634 42.17 110.68 QUADTO
-42.17 106.462 lineto
-46.561 106.462 lineto
-46.561 107.462 lineto
-43.186 107.462 lineto
-43.186 109.759 lineto
-44.857 109.759 45.795 110.524 QUADTO
-46.732 111.29 46.732 112.649 QUADTO
-46.732 113.915 45.873 114.634 QUADTO
-45.014 115.352 43.514 115.352 QUADTO
-42.857 115.352 42.014 115.165 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 110.858 M
-54.148 110.858 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-37.488 84.409 M
-37.488 81.956 lineto
-33.582 81.956 lineto
-33.582 81.081 lineto
-37.488 75.737 lineto
-38.582 75.737 lineto
-38.582 81.003 lineto
-39.738 81.003 lineto
-39.738 81.956 lineto
-38.582 81.956 lineto
-38.582 84.409 lineto
-37.488 84.409 lineto
-closepath
-34.723 81.003 M
-37.566 81.003 lineto
-37.566 77.159 lineto
-34.723 81.003 lineto
-closepath
-44.326 84.628 M
-42.982 84.628 42.154 83.362 QUADTO
-41.326 82.096 41.326 80.065 QUADTO
-41.326 78.018 42.162 76.768 QUADTO
-42.998 75.518 44.357 75.518 QUADTO
-45.717 75.518 46.553 76.768 QUADTO
-47.389 78.018 47.389 80.049 QUADTO
-47.389 82.128 46.553 83.378 QUADTO
-45.717 84.628 44.326 84.628 QUADTO
-closepath
-44.342 83.753 M
-46.17 83.753 46.17 80.034 QUADTO
-46.17 76.393 44.357 76.393 QUADTO
-42.561 76.393 42.561 80.065 QUADTO
-42.561 83.753 44.342 83.753 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 80.133 M
-54.148 80.133 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-37.488 53.684 M
-37.488 51.231 lineto
-33.582 51.231 lineto
-33.582 50.356 lineto
-37.488 45.012 lineto
-38.582 45.012 lineto
-38.582 50.278 lineto
-39.738 50.278 lineto
-39.738 51.231 lineto
-38.582 51.231 lineto
-38.582 53.684 lineto
-37.488 53.684 lineto
-closepath
-34.723 50.278 M
-37.566 50.278 lineto
-37.566 46.434 lineto
-34.723 50.278 lineto
-closepath
-42.014 53.715 M
-42.014 52.684 lineto
-42.889 53.028 43.654 53.028 QUADTO
-44.514 53.028 45.006 52.528 QUADTO
-45.498 52.028 45.498 51.137 QUADTO
-45.498 49.184 42.811 49.184 QUADTO
-42.498 49.184 42.17 49.231 QUADTO
-42.17 45.012 lineto
-46.561 45.012 lineto
-46.561 46.012 lineto
-43.186 46.012 lineto
-43.186 48.309 lineto
-44.857 48.309 45.795 49.075 QUADTO
-46.732 49.84 46.732 51.2 QUADTO
-46.732 52.465 45.873 53.184 QUADTO
-45.014 53.903 43.514 53.903 QUADTO
-42.857 53.903 42.014 53.715 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 49.408 M
-54.148 49.408 lineto
-stroke
-grestore
-gsave
-[0 -1 1 0 -160.60265 199.57533] concat
-newpath
-199.575 160.603 M
-199.575 560.603 lineto
--200.425 560.603 lineto
--200.425 160.603 lineto
-199.575 160.603 lineto
-closepath
-clip
-0.251 setgray
-newpath
--35.833 185.077 M
--35.833 174.28 lineto
--33.817 174.28 lineto
--33.817 185.077 lineto
--35.833 185.077 lineto
-closepath
--28.124 185.249 M
--29.889 185.249 -30.92 184.187 QUADTO
--31.952 183.124 -31.952 181.327 QUADTO
--31.952 179.499 -30.913 178.452 QUADTO
--29.874 177.405 -28.077 177.405 QUADTO
--26.28 177.405 -25.241 178.452 QUADTO
--24.202 179.499 -24.202 181.312 QUADTO
--24.202 183.155 -25.249 184.202 QUADTO
--26.295 185.249 -28.124 185.249 QUADTO
-closepath
--28.092 183.983 M
--26.358 183.983 -26.358 181.312 QUADTO
--26.358 180.093 -26.819 179.382 QUADTO
--27.28 178.671 -28.077 178.671 QUADTO
--28.874 178.671 -29.342 179.382 QUADTO
--29.811 180.093 -29.811 181.327 QUADTO
--29.811 182.546 -29.35 183.265 QUADTO
--28.889 183.983 -28.092 183.983 QUADTO
-closepath
--18.666 184.265 M
--19.666 185.249 -20.823 185.249 QUADTO
--21.807 185.249 -22.424 184.648 QUADTO
--23.041 184.046 -23.041 183.093 QUADTO
--23.041 181.843 -22.049 181.171 QUADTO
--21.057 180.499 -19.198 180.499 QUADTO
--18.666 180.499 lineto
--18.666 179.812 lineto
--18.666 178.64 -19.995 178.64 QUADTO
--21.182 178.64 -22.385 179.312 QUADTO
--22.385 177.921 lineto
--21.01 177.405 -19.666 177.405 QUADTO
--16.713 177.405 -16.713 179.749 QUADTO
--16.713 183.062 lineto
--16.713 183.952 -16.151 183.952 QUADTO
--16.057 183.952 -15.885 183.921 QUADTO
--15.838 185.062 lineto
--16.479 185.249 -16.979 185.249 QUADTO
--18.213 185.249 -18.573 184.265 QUADTO
--18.666 184.265 lineto
-closepath
--18.666 183.187 M
--18.666 181.655 lineto
--19.135 181.655 lineto
--21.104 181.655 -21.104 182.89 QUADTO
--21.104 183.312 -20.823 183.593 QUADTO
--20.541 183.874 -20.12 183.874 QUADTO
--19.401 183.874 -18.666 183.187 QUADTO
-closepath
--9.389 185.077 M
--9.389 183.655 lineto
--10.17 185.249 -11.842 185.249 QUADTO
--13.186 185.249 -13.959 184.257 QUADTO
--14.733 183.265 -14.733 181.53 QUADTO
--14.733 179.64 -13.866 178.523 QUADTO
--12.999 177.405 -11.53 177.405 QUADTO
--10.342 177.405 -9.389 178.327 QUADTO
--9.389 174.28 lineto
--7.358 174.28 lineto
--7.358 185.077 lineto
--9.389 185.077 lineto
-closepath
--9.389 179.53 M
--10.124 178.718 -10.952 178.718 QUADTO
--11.702 178.718 -12.139 179.437 QUADTO
--12.577 180.155 -12.577 181.358 QUADTO
--12.577 183.655 -11.108 183.655 QUADTO
--10.202 183.655 -9.389 182.499 QUADTO
--9.389 179.53 lineto
-closepath
-0.001 185.077 M
-0.001 178.843 lineto
--1.045 178.843 lineto
--1.045 177.577 lineto
-0.001 177.577 lineto
-0.001 177.03 lineto
-0.001 174.108 2.767 174.108 QUADTO
-3.658 174.108 4.611 174.374 QUADTO
-4.611 175.733 lineto
-3.751 175.374 3.064 175.374 QUADTO
-2.017 175.374 2.017 176.952 QUADTO
-2.017 177.577 lineto
-3.923 177.577 lineto
-3.923 178.843 lineto
-2.017 178.843 lineto
-2.017 185.077 lineto
-0.001 185.077 lineto
-closepath
-5.586 185.077 M
-5.586 177.577 lineto
-7.602 177.577 lineto
-7.602 178.983 lineto
-8.399 177.405 10.008 177.405 QUADTO
-10.196 177.405 10.383 177.437 QUADTO
-10.383 179.249 lineto
-9.946 179.093 9.571 179.093 QUADTO
-8.368 179.093 7.602 180.312 QUADTO
-7.602 185.077 lineto
-5.586 185.077 lineto
-closepath
-15.623 184.265 M
-14.623 185.249 13.466 185.249 QUADTO
-12.482 185.249 11.865 184.648 QUADTO
-11.248 184.046 11.248 183.093 QUADTO
-11.248 181.843 12.24 181.171 QUADTO
-13.232 180.499 15.091 180.499 QUADTO
-15.623 180.499 lineto
-15.623 179.812 lineto
-15.623 178.64 14.294 178.64 QUADTO
-13.107 178.64 11.904 179.312 QUADTO
-11.904 177.921 lineto
-13.279 177.405 14.623 177.405 QUADTO
-17.576 177.405 17.576 179.749 QUADTO
-17.576 183.062 lineto
-17.576 183.952 18.138 183.952 QUADTO
-18.232 183.952 18.404 183.921 QUADTO
-18.451 185.062 lineto
-17.81 185.249 17.31 185.249 QUADTO
-16.076 185.249 15.716 184.265 QUADTO
-15.623 184.265 lineto
-closepath
-15.623 183.187 M
-15.623 181.655 lineto
-15.154 181.655 lineto
-13.185 181.655 13.185 182.89 QUADTO
-13.185 183.312 13.466 183.593 QUADTO
-13.748 183.874 14.169 183.874 QUADTO
-14.888 183.874 15.623 183.187 QUADTO
-closepath
-25.712 184.905 M
-24.462 185.249 23.384 185.249 QUADTO
-21.587 185.249 20.548 184.194 QUADTO
-19.509 183.14 19.509 181.312 QUADTO
-19.509 179.483 20.58 178.444 QUADTO
-21.65 177.405 23.541 177.405 QUADTO
-24.462 177.405 25.65 177.687 QUADTO
-25.65 179.155 lineto
-24.416 178.749 23.666 178.749 QUADTO
-22.759 178.749 22.205 179.452 QUADTO
-21.65 180.155 21.65 181.296 QUADTO
-21.65 182.483 22.251 183.194 QUADTO
-22.853 183.905 23.837 183.905 QUADTO
-24.759 183.905 25.712 183.515 QUADTO
-25.712 184.905 lineto
-closepath
-31.507 185.03 M
-30.773 185.249 30.367 185.249 QUADTO
-27.726 185.249 27.726 182.78 QUADTO
-27.726 178.843 lineto
-26.882 178.843 lineto
-26.882 177.577 lineto
-27.726 177.577 lineto
-27.726 176.312 lineto
-29.757 176.077 lineto
-29.757 177.577 lineto
-31.351 177.577 lineto
-31.351 178.843 lineto
-29.757 178.843 lineto
-29.757 182.515 lineto
-29.757 183.905 30.882 183.905 QUADTO
-31.132 183.905 31.507 183.812 QUADTO
-31.507 185.03 lineto
-closepath
-33.306 185.077 M
-33.306 177.577 lineto
-35.322 177.577 lineto
-35.322 185.077 lineto
-33.306 185.077 lineto
-closepath
-33.306 176.312 M
-33.306 174.624 lineto
-35.322 174.624 lineto
-35.322 176.312 lineto
-33.306 176.312 lineto
-closepath
-41.015 185.249 M
-39.25 185.249 38.218 184.187 QUADTO
-37.187 183.124 37.187 181.327 QUADTO
-37.187 179.499 38.226 178.452 QUADTO
-39.265 177.405 41.062 177.405 QUADTO
-42.859 177.405 43.898 178.452 QUADTO
-44.937 179.499 44.937 181.312 QUADTO
-44.937 183.155 43.89 184.202 QUADTO
-42.843 185.249 41.015 185.249 QUADTO
-closepath
-41.046 183.983 M
-42.781 183.983 42.781 181.312 QUADTO
-42.781 180.093 42.32 179.382 QUADTO
-41.859 178.671 41.062 178.671 QUADTO
-40.265 178.671 39.796 179.382 QUADTO
-39.328 180.093 39.328 181.327 QUADTO
-39.328 182.546 39.789 183.265 QUADTO
-40.25 183.983 41.046 183.983 QUADTO
-closepath
-46.8 185.077 M
-46.8 177.577 lineto
-48.816 177.577 lineto
-48.816 178.983 lineto
-49.816 177.405 51.378 177.405 QUADTO
-52.378 177.405 52.964 178.038 QUADTO
-53.55 178.671 53.55 179.765 QUADTO
-53.55 185.077 lineto
-51.519 185.077 lineto
-51.519 180.265 lineto
-51.519 178.999 50.675 178.999 QUADTO
-49.707 178.999 48.816 180.358 QUADTO
-48.816 185.077 lineto
-46.8 185.077 lineto
-closepath
-59.245 174.202 M
-59.245 175.499 lineto
-57.417 177.343 57.417 180.687 QUADTO
-57.417 184.046 59.245 185.874 QUADTO
-59.245 187.187 lineto
-57.573 186.28 56.573 184.507 QUADTO
-55.573 182.733 55.573 180.687 QUADTO
-55.573 178.64 56.557 176.89 QUADTO
-57.542 175.14 59.245 174.202 QUADTO
-closepath
-60.746 185.327 M
-68.699 174.702 lineto
-70.058 174.702 lineto
-62.105 185.327 lineto
-60.746 185.327 lineto
-closepath
-62.464 180.015 M
-61.371 180.015 60.73 179.335 QUADTO
-60.089 178.655 60.089 177.483 QUADTO
-60.089 176.312 60.73 175.632 QUADTO
-61.371 174.952 62.496 174.952 QUADTO
-63.605 174.952 64.253 175.632 QUADTO
-64.902 176.312 64.902 177.483 QUADTO
-64.902 178.671 64.253 179.343 QUADTO
-63.605 180.015 62.464 180.015 QUADTO
-closepath
-62.48 178.999 M
-63.371 178.999 63.371 177.483 QUADTO
-63.371 175.968 62.496 175.968 QUADTO
-61.605 175.968 61.605 177.483 QUADTO
-61.605 178.999 62.48 178.999 QUADTO
-closepath
-68.292 185.077 M
-67.183 185.077 66.542 184.398 QUADTO
-65.902 183.718 65.902 182.546 QUADTO
-65.902 181.358 66.55 180.687 QUADTO
-67.199 180.015 68.308 180.015 QUADTO
-69.433 180.015 70.074 180.687 QUADTO
-70.714 181.358 70.714 182.546 QUADTO
-70.714 183.733 70.074 184.405 QUADTO
-69.433 185.077 68.292 185.077 QUADTO
-closepath
-68.292 184.062 M
-69.199 184.062 69.199 182.546 QUADTO
-69.199 181.03 68.308 181.03 QUADTO
-67.417 181.03 67.417 182.546 QUADTO
-67.417 184.062 68.292 184.062 QUADTO
-closepath
-71.367 174.202 M
-71.367 175.499 lineto
-73.195 177.343 73.195 180.687 QUADTO
-73.195 184.046 71.367 185.874 QUADTO
-71.367 187.187 lineto
-73.039 186.28 74.039 184.507 QUADTO
-75.039 182.733 75.039 180.687 QUADTO
-75.039 178.64 74.054 176.89 QUADTO
-73.07 175.14 71.367 174.202 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.358 34.247 M
-69.358 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-99.703 34.247 M
-99.703 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-121.232 34.247 M
-121.232 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-137.932 34.247 M
-137.932 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-151.576 34.247 M
-151.576 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-163.113 34.247 M
-163.113 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-173.106 34.247 M
-173.106 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-181.921 34.247 M
-181.921 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-189.806 34.247 M
-189.806 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-189.806 34.247 M
-189.806 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-241.68 34.247 M
-241.68 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-272.024 34.247 M
-272.024 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-293.554 34.247 M
-293.554 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-310.253 34.247 M
-310.253 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-323.898 34.247 M
-323.898 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-335.434 34.247 M
-335.434 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-345.428 34.247 M
-345.428 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-354.242 34.247 M
-354.242 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-362.127 34.247 M
-362.127 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-362.127 34.247 M
-362.127 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 325.931 M
-388 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 295.207 M
-388 295.207 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 264.482 M
-388 264.482 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 233.757 M
-388 233.757 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 203.032 M
-388 203.032 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 172.307 M
-388 172.307 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 141.583 M
-388 141.583 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 110.858 M
-388 110.858 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 80.133 M
-388 80.133 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 49.408 M
-388 49.408 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.358 231.407 M
-121.232 214.763 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.232 214.763 M
-173.106 201.198 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.106 201.198 M
-224.98 177.945 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.98 177.945 M
-276.854 184.195 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.854 184.195 M
-328.728 185.823 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.728 185.823 M
-362.127 174.95 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.358 114.96 M
-121.232 120.57 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.232 120.57 M
-173.106 110.071 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.106 110.071 M
-224.98 121.08 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.98 121.08 M
-276.854 125.901 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.854 125.901 M
-328.728 117.832 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.728 117.832 M
-362.127 48.136 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.358 171.361 M
-121.232 170.378 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.232 170.378 M
-173.106 169.382 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.106 169.382 M
-224.98 166.534 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.98 166.534 M
-276.854 166.11 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.854 166.11 M
-328.728 159.385 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.728 159.385 M
-362.127 160.137 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-69.358 228.407 M
-72.358 234.407 lineto
-66.358 234.407 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.358 228.407 M
-72.358 234.407 lineto
-66.358 234.407 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-121.232 211.763 M
-124.232 217.763 lineto
-118.232 217.763 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.232 211.763 M
-124.232 217.763 lineto
-118.232 217.763 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-173.106 198.198 M
-176.106 204.198 lineto
-170.106 204.198 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.106 198.198 M
-176.106 204.198 lineto
-170.106 204.198 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-224.98 174.945 M
-227.98 180.945 lineto
-221.98 180.945 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-224.98 174.945 M
-227.98 180.945 lineto
-221.98 180.945 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-276.854 181.195 M
-279.854 187.195 lineto
-273.854 187.195 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-276.854 181.195 M
-279.854 187.195 lineto
-273.854 187.195 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-328.728 182.823 M
-331.728 188.823 lineto
-325.728 188.823 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-328.728 182.823 M
-331.728 188.823 lineto
-325.728 188.823 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-362.127 171.95 M
-365.127 177.95 lineto
-359.127 177.95 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.127 171.95 M
-365.127 177.95 lineto
-359.127 177.95 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-72.358 114.96 M
-72.358 116.617 71.015 117.96 69.358 117.96 curveto
-67.701 117.96 66.358 116.617 66.358 114.96 curveto
-66.358 113.303 67.701 111.96 69.358 111.96 curveto
-71.015 111.96 72.358 113.303 72.358 114.96 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.358 114.96 M
-72.358 116.617 71.015 117.96 69.358 117.96 curveto
-67.701 117.96 66.358 116.617 66.358 114.96 curveto
-66.358 113.303 67.701 111.96 69.358 111.96 curveto
-71.015 111.96 72.358 113.303 72.358 114.96 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-124.232 120.57 M
-124.232 122.227 122.889 123.57 121.232 123.57 curveto
-119.575 123.57 118.232 122.227 118.232 120.57 curveto
-118.232 118.913 119.575 117.57 121.232 117.57 curveto
-122.889 117.57 124.232 118.913 124.232 120.57 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.232 120.57 M
-124.232 122.227 122.889 123.57 121.232 123.57 curveto
-119.575 123.57 118.232 122.227 118.232 120.57 curveto
-118.232 118.913 119.575 117.57 121.232 117.57 curveto
-122.889 117.57 124.232 118.913 124.232 120.57 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-176.106 110.071 M
-176.106 111.728 174.763 113.071 173.106 113.071 curveto
-171.449 113.071 170.106 111.728 170.106 110.071 curveto
-170.106 108.415 171.449 107.071 173.106 107.071 curveto
-174.763 107.071 176.106 108.415 176.106 110.071 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-176.106 110.071 M
-176.106 111.728 174.763 113.071 173.106 113.071 curveto
-171.449 113.071 170.106 111.728 170.106 110.071 curveto
-170.106 108.415 171.449 107.071 173.106 107.071 curveto
-174.763 107.071 176.106 108.415 176.106 110.071 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-227.98 121.08 M
-227.98 122.737 226.637 124.08 224.98 124.08 curveto
-223.323 124.08 221.98 122.737 221.98 121.08 curveto
-221.98 119.423 223.323 118.08 224.98 118.08 curveto
-226.637 118.08 227.98 119.423 227.98 121.08 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.98 121.08 M
-227.98 122.737 226.637 124.08 224.98 124.08 curveto
-223.323 124.08 221.98 122.737 221.98 121.08 curveto
-221.98 119.423 223.323 118.08 224.98 118.08 curveto
-226.637 118.08 227.98 119.423 227.98 121.08 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-279.854 125.901 M
-279.854 127.558 278.511 128.901 276.854 128.901 curveto
-275.197 128.901 273.854 127.558 273.854 125.901 curveto
-273.854 124.244 275.197 122.901 276.854 122.901 curveto
-278.511 122.901 279.854 124.244 279.854 125.901 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-279.854 125.901 M
-279.854 127.558 278.511 128.901 276.854 128.901 curveto
-275.197 128.901 273.854 127.558 273.854 125.901 curveto
-273.854 124.244 275.197 122.901 276.854 122.901 curveto
-278.511 122.901 279.854 124.244 279.854 125.901 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-331.728 117.832 M
-331.728 119.489 330.385 120.832 328.728 120.832 curveto
-327.071 120.832 325.728 119.489 325.728 117.832 curveto
-325.728 116.176 327.071 114.832 328.728 114.832 curveto
-330.385 114.832 331.728 116.176 331.728 117.832 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-331.728 117.832 M
-331.728 119.489 330.385 120.832 328.728 120.832 curveto
-327.071 120.832 325.728 119.489 325.728 117.832 curveto
-325.728 116.176 327.071 114.832 328.728 114.832 curveto
-330.385 114.832 331.728 116.176 331.728 117.832 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-365.127 48.136 M
-365.127 49.793 363.784 51.136 362.127 51.136 curveto
-360.47 51.136 359.127 49.793 359.127 48.136 curveto
-359.127 46.48 360.47 45.136 362.127 45.136 curveto
-363.784 45.136 365.127 46.48 365.127 48.136 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-365.127 48.136 M
-365.127 49.793 363.784 51.136 362.127 51.136 curveto
-360.47 51.136 359.127 49.793 359.127 48.136 curveto
-359.127 46.48 360.47 45.136 362.127 45.136 curveto
-363.784 45.136 365.127 46.48 365.127 48.136 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-66.358 168.361 M
-72.358 168.361 lineto
-72.358 174.361 lineto
-66.358 174.361 lineto
-66.358 168.361 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.358 168.361 M
-72.358 168.361 lineto
-72.358 174.361 lineto
-66.358 174.361 lineto
-66.358 168.361 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-118.232 167.378 M
-124.232 167.378 lineto
-124.232 173.378 lineto
-118.232 173.378 lineto
-118.232 167.378 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-118.232 167.378 M
-124.232 167.378 lineto
-124.232 173.378 lineto
-118.232 173.378 lineto
-118.232 167.378 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-170.106 166.382 M
-176.106 166.382 lineto
-176.106 172.382 lineto
-170.106 172.382 lineto
-170.106 166.382 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.106 166.382 M
-176.106 166.382 lineto
-176.106 172.382 lineto
-170.106 172.382 lineto
-170.106 166.382 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-221.98 163.534 M
-227.98 163.534 lineto
-227.98 169.534 lineto
-221.98 169.534 lineto
-221.98 163.534 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.98 163.534 M
-227.98 163.534 lineto
-227.98 169.534 lineto
-221.98 169.534 lineto
-221.98 163.534 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-273.854 163.11 M
-279.854 163.11 lineto
-279.854 169.11 lineto
-273.854 169.11 lineto
-273.854 163.11 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-273.854 163.11 M
-279.854 163.11 lineto
-279.854 169.11 lineto
-273.854 169.11 lineto
-273.854 163.11 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-325.728 156.385 M
-331.728 156.385 lineto
-331.728 162.385 lineto
-325.728 162.385 lineto
-325.728 156.385 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-325.728 156.385 M
-331.728 156.385 lineto
-331.728 162.385 lineto
-325.728 162.385 lineto
-325.728 156.385 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-359.127 157.137 M
-365.127 157.137 lineto
-365.127 163.137 lineto
-359.127 163.137 lineto
-359.127 157.137 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-359.127 157.137 M
-365.127 157.137 lineto
-365.127 163.137 lineto
-359.127 163.137 lineto
-359.127 157.137 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-0.5 setlinewidth
-newpath
-58.148 34.247 M
-388 34.247 lineto
-388 325.931 lineto
-58.148 325.931 lineto
-58.148 34.247 lineto
-closepath
-stroke
-grestore
-%%Trailer
-%%Pages: 1
-%%EOF
diff --git a/sim/gobs/wiki/dc03kpv06.cfg b/sim/gobs/wiki/dc03kpv06.cfg
deleted file mode 100644
index 3fc5886..0000000
--- a/sim/gobs/wiki/dc03kpv06.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv06.cfg system_size_20-1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/wiki/dc03kpv06.eps b/sim/gobs/wiki/dc03kpv06.eps
deleted file mode 100644
index 590302c..0000000
--- a/sim/gobs/wiki/dc03kpv06.eps
+++ /dev/null
@@ -1,5281 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (Apache XML Graphics Commons: EPS Generator for Java2D)
-%%CreationDate: 2009-10-05T11:51:15
-%%Pages: (atend)
-%%BoundingBox: 0 0 400 400
-%%LanguageLevel: 3
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset (Apache XML Graphics Std ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2001-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (Basic set of procedures used by the XML Graphics project \(Batik and FOP\))
-/bd{bind def}bind def
-/ld{load def}bd
-/M/moveto ld
-/RM/rmoveto ld
-/t/show ld
-/A/ashow ld
-/cp/closepath ld
-/re {4 2 roll M
-1 index 0 rlineto
-0 exch rlineto
-neg 0 rlineto
-cp } bd
-/_ctm matrix def
-/_tm matrix def
-/BT { _ctm currentmatrix pop matrix _tm copy pop 0 0 moveto } bd
-/ET { _ctm setmatrix } bd
-/iTm { _ctm setmatrix _tm concat } bd
-/Tm { _tm astore pop iTm 0 0 moveto } bd
-/ux 0.0 def
-/uy 0.0 def
-/F {
- /Tp exch def
- /Tf exch def
- Tf findfont Tp scalefont setfont
- /cf Tf def /cs Tp def /cw ( ) stringwidth pop def
-} bd
-/ULS {currentpoint /uy exch def /ux exch def} bd
-/ULE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add moveto Tcx uy To add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/OLE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs add moveto Tcx uy To add cs add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/SOE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs 10 mul 26 idiv add moveto Tcx uy To add cs 10 mul 26 idiv add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/QUADTO {
-/Y22 exch store
-/X22 exch store
-/Y21 exch store
-/X21 exch store
-currentpoint
-/Y21 load 2 mul add 3 div exch
-/X21 load 2 mul add 3 div exch
-/X21 load 2 mul /X22 load add 3 div
-/Y21 load 2 mul /Y22 load add 3 div
-/X22 load /Y22 load curveto
-} bd
-/SSPD {
-dup length /d exch dict def
-{
-/v exch def
-/k exch def
-currentpagedevice k known {
-/cpdv currentpagedevice k get def
-v cpdv ne {
-/upd false def
-/nullv v type /nulltype eq def
-/nullcpdv cpdv type /nulltype eq def
-nullv nullcpdv or
-{
-/upd true def
-} {
-/sametype v type cpdv type eq def
-sametype {
-v type /arraytype eq {
-/vlen v length def
-/cpdvlen cpdv length def
-vlen cpdvlen eq {
-0 1 vlen 1 sub {
-/i exch def
-/obj v i get def
-/cpdobj cpdv i get def
-obj cpdobj ne {
-/upd true def
-exit
-} if
-} for
-} {
-/upd true def
-} ifelse
-} {
-v type /dicttype eq {
-v {
-/dv exch def
-/dk exch def
-/cpddv cpdv dk get def
-dv cpddv ne {
-/upd true def
-exit
-} if
-} forall
-} {
-/upd true def
-} ifelse
-} ifelse
-} if
-} ifelse
-upd true eq {
-d k v put
-} if
-} if
-} if
-} forall
-d length 0 gt {
-d setpagedevice
-} if
-} bd
-%%EndResource
-%%BeginResource: procset (Apache XML Graphics EPS ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2002-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (EPS procedures used by the Apache XML Graphics project \(Batik and FOP\))
-/BeginEPSF { %def
-/b4_Inc_state save def % Save state for cleanup
-/dict_count countdictstack def % Count objects on dict stack
-/op_count count 1 sub def % Count objects on operand stack
-userdict begin % Push userdict on dict stack
-/showpage { } def % Redefine showpage, { } = null proc
-0 setgray 0 setlinecap % Prepare graphics state
-1 setlinewidth 0 setlinejoin
-10 setmiterlimit [ ] 0 setdash newpath
-/languagelevel where % If level not equal to 1 then
-{pop languagelevel % set strokeadjust and
-1 ne % overprint to their defaults.
-{false setstrokeadjust false setoverprint
-} if
-} if
-} bd
-/EndEPSF { %def
-count op_count sub {pop} repeat % Clean up stacks
-countdictstack dict_count sub {end} repeat
-b4_Inc_state restore
-} bd
-%%EndResource
-%%EndProlog
-%%Page: 1 1
-%%PageBoundingBox: 0 0 400 400
-%%BeginPageSetup
-[1 0 0 -1 0 400] concat
-%%EndPageSetup
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-81.354 20.249 M
-81.354 5.796 lineto
-85.338 5.796 lineto
-88.807 15.968 lineto
-92.4 5.796 lineto
-95.885 5.796 lineto
-95.885 20.249 lineto
-93.119 20.249 lineto
-93.119 9.343 lineto
-89.588 19.281 lineto
-87.166 19.281 lineto
-83.713 9.187 lineto
-83.713 20.249 lineto
-81.354 20.249 lineto
-closepath
-104.758 19.093 M
-103.305 20.499 101.664 20.499 QUADTO
-100.258 20.499 99.375 19.64 QUADTO
-98.492 18.781 98.492 17.406 QUADTO
-98.492 15.624 99.914 14.663 QUADTO
-101.336 13.703 103.992 13.703 QUADTO
-104.758 13.703 lineto
-104.758 12.734 lineto
-104.758 11.062 102.852 11.062 QUADTO
-101.164 11.062 99.43 12.015 QUADTO
-99.43 10.031 lineto
-101.398 9.281 103.32 9.281 QUADTO
-107.523 9.281 107.523 12.624 QUADTO
-107.523 17.374 lineto
-107.523 18.64 108.336 18.64 QUADTO
-108.492 18.64 108.727 18.593 QUADTO
-108.789 20.218 lineto
-107.867 20.499 107.164 20.499 QUADTO
-105.398 20.499 104.883 19.093 QUADTO
-104.758 19.093 lineto
-closepath
-104.758 17.546 M
-104.758 15.359 lineto
-104.07 15.359 lineto
-101.273 15.359 101.273 17.124 QUADTO
-101.273 17.718 101.68 18.124 QUADTO
-102.086 18.531 102.68 18.531 QUADTO
-103.695 18.531 104.758 17.546 QUADTO
-closepath
-110.125 20.249 M
-113.797 14.874 lineto
-110.281 9.531 lineto
-113.562 9.531 lineto
-115.875 12.921 lineto
-118.078 9.531 lineto
-120.422 9.531 lineto
-117.062 14.796 lineto
-120.672 20.249 lineto
-117.375 20.249 lineto
-114.969 16.703 lineto
-112.516 20.249 lineto
-110.125 20.249 lineto
-closepath
-123.082 20.249 M
-123.082 9.531 lineto
-125.973 9.531 lineto
-125.973 20.249 lineto
-123.082 20.249 lineto
-closepath
-123.082 7.718 M
-123.082 5.312 lineto
-125.973 5.312 lineto
-125.973 7.718 lineto
-123.082 7.718 lineto
-closepath
-129.586 20.249 M
-129.586 9.531 lineto
-132.352 9.531 lineto
-132.352 11.546 lineto
-133.617 9.281 135.961 9.281 QUADTO
-137.18 9.281 137.961 9.874 QUADTO
-138.742 10.468 138.914 11.546 QUADTO
-140.414 9.281 142.555 9.281 QUADTO
-145.492 9.281 145.492 12.531 QUADTO
-145.492 20.249 lineto
-142.711 20.249 lineto
-142.711 13.468 lineto
-142.711 11.562 141.445 11.562 QUADTO
-140.148 11.562 138.914 13.437 QUADTO
-138.914 20.249 lineto
-136.148 20.249 lineto
-136.148 13.468 lineto
-136.148 11.562 134.867 11.562 QUADTO
-133.586 11.562 132.352 13.437 QUADTO
-132.352 20.249 lineto
-129.586 20.249 lineto
-closepath
-155.605 20.249 M
-155.605 18.234 lineto
-154.199 20.499 151.949 20.499 QUADTO
-150.512 20.499 149.684 19.585 QUADTO
-148.855 18.671 148.855 17.109 QUADTO
-148.855 9.531 lineto
-151.746 9.531 lineto
-151.746 16.39 lineto
-151.746 18.218 152.965 18.218 QUADTO
-154.34 18.218 155.605 16.281 QUADTO
-155.605 9.531 lineto
-158.496 9.531 lineto
-158.496 20.249 lineto
-155.605 20.249 lineto
-closepath
-162.115 20.249 M
-162.115 9.531 lineto
-164.881 9.531 lineto
-164.881 11.546 lineto
-166.146 9.281 168.49 9.281 QUADTO
-169.709 9.281 170.49 9.874 QUADTO
-171.271 10.468 171.443 11.546 QUADTO
-172.943 9.281 175.084 9.281 QUADTO
-178.021 9.281 178.021 12.531 QUADTO
-178.021 20.249 lineto
-175.24 20.249 lineto
-175.24 13.468 lineto
-175.24 11.562 173.975 11.562 QUADTO
-172.678 11.562 171.443 13.437 QUADTO
-171.443 20.249 lineto
-168.678 20.249 lineto
-168.678 13.468 lineto
-168.678 11.562 167.396 11.562 QUADTO
-166.115 11.562 164.881 13.437 QUADTO
-164.881 20.249 lineto
-162.115 20.249 lineto
-closepath
-188.102 20.249 M
-188.102 5.796 lineto
-193.508 5.796 lineto
-197.914 5.796 197.914 9.374 QUADTO
-197.914 10.718 197.164 11.82 QUADTO
-196.414 12.921 195.102 13.499 QUADTO
-199.836 20.249 lineto
-196.18 20.249 lineto
-192.586 14.343 lineto
-190.93 14.343 lineto
-190.93 20.249 lineto
-188.102 20.249 lineto
-closepath
-190.93 12.359 M
-191.617 12.359 lineto
-194.898 12.359 194.898 9.718 QUADTO
-194.898 7.781 191.977 7.781 QUADTO
-190.93 7.781 lineto
-190.93 12.359 lineto
-closepath
-210.619 19.89 M
-208.572 20.499 206.713 20.499 QUADTO
-204.041 20.499 202.486 18.976 QUADTO
-200.932 17.453 200.932 14.812 QUADTO
-200.932 12.312 202.354 10.796 QUADTO
-203.775 9.281 206.104 9.281 QUADTO
-208.463 9.281 209.541 10.765 QUADTO
-210.619 12.249 210.619 15.468 QUADTO
-203.979 15.468 lineto
-204.275 18.531 207.338 18.531 QUADTO
-208.807 18.531 210.619 17.859 QUADTO
-210.619 19.89 lineto
-closepath
-203.932 13.828 M
-207.791 13.828 lineto
-207.791 11.093 206.01 11.093 QUADTO
-204.213 11.093 203.932 13.828 QUADTO
-closepath
-213.619 20.249 M
-213.619 4.828 lineto
-216.51 4.828 lineto
-216.51 11.546 lineto
-217.619 9.281 220.01 9.281 QUADTO
-221.947 9.281 223.057 10.695 QUADTO
-224.166 12.109 224.166 14.593 QUADTO
-224.166 17.281 222.916 18.89 QUADTO
-221.666 20.499 219.572 20.499 QUADTO
-217.775 20.499 216.51 19.171 QUADTO
-215.963 20.249 lineto
-213.619 20.249 lineto
-closepath
-216.51 17.453 M
-217.557 18.624 218.744 18.624 QUADTO
-219.822 18.624 220.455 17.593 QUADTO
-221.088 16.562 221.088 14.843 QUADTO
-221.088 11.546 218.963 11.546 QUADTO
-217.682 11.546 216.51 13.203 QUADTO
-216.51 17.453 lineto
-closepath
-233.496 20.249 M
-233.496 18.234 lineto
-232.09 20.499 229.84 20.499 QUADTO
-228.402 20.499 227.574 19.585 QUADTO
-226.746 18.671 226.746 17.109 QUADTO
-226.746 9.531 lineto
-229.637 9.531 lineto
-229.637 16.39 lineto
-229.637 18.218 230.855 18.218 QUADTO
-232.23 18.218 233.496 16.281 QUADTO
-233.496 9.531 lineto
-236.387 9.531 lineto
-236.387 20.249 lineto
-233.496 20.249 lineto
-closepath
-240.006 20.249 M
-240.006 9.531 lineto
-242.896 9.531 lineto
-242.896 20.249 lineto
-240.006 20.249 lineto
-closepath
-240.006 7.718 M
-240.006 5.312 lineto
-242.896 5.312 lineto
-242.896 7.718 lineto
-240.006 7.718 lineto
-closepath
-246.51 20.249 M
-246.51 4.828 lineto
-249.4 4.828 lineto
-249.4 20.249 lineto
-246.51 20.249 lineto
-closepath
-259.764 20.249 M
-259.764 18.234 lineto
-258.639 20.499 256.248 20.499 QUADTO
-254.311 20.499 253.209 19.078 QUADTO
-252.107 17.656 252.107 15.187 QUADTO
-252.107 12.484 253.357 10.882 QUADTO
-254.607 9.281 256.701 9.281 QUADTO
-258.373 9.281 259.764 10.609 QUADTO
-259.764 4.828 lineto
-262.654 4.828 lineto
-262.654 20.249 lineto
-259.764 20.249 lineto
-closepath
-259.764 12.328 M
-258.717 11.156 257.514 11.156 QUADTO
-256.451 11.156 255.818 12.179 QUADTO
-255.186 13.203 255.186 14.937 QUADTO
-255.186 18.234 257.295 18.234 QUADTO
-258.592 18.234 259.764 16.578 QUADTO
-259.764 12.328 lineto
-closepath
-272.857 20.249 M
-272.857 5.796 lineto
-275.857 5.796 lineto
-275.857 18.203 lineto
-282.373 18.203 lineto
-282.373 20.249 lineto
-272.857 20.249 lineto
-closepath
-288.988 20.499 M
-286.473 20.499 284.996 18.976 QUADTO
-283.52 17.453 283.52 14.89 QUADTO
-283.52 12.296 285.004 10.788 QUADTO
-286.488 9.281 289.051 9.281 QUADTO
-291.629 9.281 293.113 10.788 QUADTO
-294.598 12.296 294.598 14.874 QUADTO
-294.598 17.499 293.105 18.999 QUADTO
-291.613 20.499 288.988 20.499 QUADTO
-closepath
-289.035 18.687 M
-291.52 18.687 291.52 14.874 QUADTO
-291.52 13.124 290.863 12.109 QUADTO
-290.207 11.093 289.051 11.093 QUADTO
-287.91 11.093 287.254 12.109 QUADTO
-286.598 13.124 286.598 14.89 QUADTO
-286.598 16.64 287.246 17.663 QUADTO
-287.895 18.687 289.035 18.687 QUADTO
-closepath
-302.512 19.093 M
-301.059 20.499 299.418 20.499 QUADTO
-298.012 20.499 297.129 19.64 QUADTO
-296.246 18.781 296.246 17.406 QUADTO
-296.246 15.624 297.668 14.663 QUADTO
-299.09 13.703 301.746 13.703 QUADTO
-302.512 13.703 lineto
-302.512 12.734 lineto
-302.512 11.062 300.605 11.062 QUADTO
-298.918 11.062 297.184 12.015 QUADTO
-297.184 10.031 lineto
-299.152 9.281 301.074 9.281 QUADTO
-305.277 9.281 305.277 12.624 QUADTO
-305.277 17.374 lineto
-305.277 18.64 306.09 18.64 QUADTO
-306.246 18.64 306.48 18.593 QUADTO
-306.543 20.218 lineto
-305.621 20.499 304.918 20.499 QUADTO
-303.152 20.499 302.637 19.093 QUADTO
-302.512 19.093 lineto
-closepath
-302.512 17.546 M
-302.512 15.359 lineto
-301.824 15.359 lineto
-299.027 15.359 299.027 17.124 QUADTO
-299.027 17.718 299.434 18.124 QUADTO
-299.84 18.531 300.434 18.531 QUADTO
-301.449 18.531 302.512 17.546 QUADTO
-closepath
-315.77 20.249 M
-315.77 18.234 lineto
-314.645 20.499 312.254 20.499 QUADTO
-310.316 20.499 309.215 19.078 QUADTO
-308.113 17.656 308.113 15.187 QUADTO
-308.113 12.484 309.363 10.882 QUADTO
-310.613 9.281 312.707 9.281 QUADTO
-314.379 9.281 315.77 10.609 QUADTO
-315.77 4.828 lineto
-318.66 4.828 lineto
-318.66 20.249 lineto
-315.77 20.249 lineto
-closepath
-315.77 12.328 M
-314.723 11.156 313.52 11.156 QUADTO
-312.457 11.156 311.824 12.179 QUADTO
-311.191 13.203 311.191 14.937 QUADTO
-311.191 18.234 313.301 18.234 QUADTO
-314.598 18.234 315.77 16.578 QUADTO
-315.77 12.328 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-79.864 376.452 M
-320.136 376.452 lineto
-320.136 399 lineto
-79.864 399 lineto
-79.864 376.452 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 376.952 M
-319.636 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 398.5 M
-319.636 398.5 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.364 398.5 M
-80.364 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.636 398.5 M
-319.636 376.952 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.864 387.726 M
-97.864 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-87.864 384.726 M
-93.864 384.726 lineto
-93.864 390.726 lineto
-87.864 390.726 lineto
-87.864 384.726 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.864 384.726 M
-93.864 384.726 lineto
-93.864 390.726 lineto
-87.864 390.726 lineto
-87.864 384.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-102.989 392.002 M
-102.989 383.33 lineto
-105.349 383.33 lineto
-106.911 383.33 107.599 383.861 QUADTO
-108.286 384.392 108.286 385.595 QUADTO
-108.286 386.986 107.349 387.767 QUADTO
-106.411 388.549 104.755 388.549 QUADTO
-104.208 388.549 lineto
-104.208 392.002 lineto
-102.989 392.002 lineto
-closepath
-104.208 387.627 M
-104.708 387.627 lineto
-105.802 387.627 106.396 387.119 QUADTO
-106.989 386.611 106.989 385.689 QUADTO
-106.989 384.924 106.521 384.588 QUADTO
-106.052 384.252 104.958 384.252 QUADTO
-104.208 384.252 lineto
-104.208 387.627 lineto
-closepath
-114.013 388.689 M
-112.528 384.939 lineto
-111.06 388.689 lineto
-114.013 388.689 lineto
-closepath
-115.31 392.002 M
-114.372 389.595 lineto
-110.7 389.595 lineto
-109.747 392.002 lineto
-108.591 392.002 lineto
-112.044 383.33 lineto
-113.263 383.33 lineto
-116.638 392.002 lineto
-115.31 392.002 lineto
-closepath
-119.589 392.22 M
-118.729 392.22 117.37 391.83 QUADTO
-117.37 390.611 lineto
-118.823 391.299 119.776 391.299 QUADTO
-120.495 391.299 120.94 390.916 QUADTO
-121.386 390.533 121.386 389.908 QUADTO
-121.386 389.408 121.097 389.049 QUADTO
-120.808 388.689 120.026 388.252 QUADTO
-119.433 387.908 lineto
-118.323 387.267 117.87 386.713 QUADTO
-117.417 386.158 117.417 385.408 QUADTO
-117.417 384.408 118.144 383.759 QUADTO
-118.87 383.111 119.995 383.111 QUADTO
-120.995 383.111 122.104 383.439 QUADTO
-122.104 384.564 lineto
-120.729 384.033 120.058 384.033 QUADTO
-119.417 384.033 119.003 384.369 QUADTO
-118.589 384.705 118.589 385.22 QUADTO
-118.589 385.658 118.894 385.994 QUADTO
-119.198 386.33 120.011 386.799 QUADTO
-120.62 387.142 lineto
-121.745 387.783 122.19 388.353 QUADTO
-122.636 388.924 122.636 389.72 QUADTO
-122.636 390.845 121.808 391.533 QUADTO
-120.979 392.22 119.589 392.22 QUADTO
-closepath
-126.427 392.002 M
-126.427 384.252 lineto
-123.349 384.252 lineto
-123.349 383.33 lineto
-130.724 383.33 lineto
-130.724 384.252 lineto
-127.646 384.252 lineto
-127.646 392.002 lineto
-126.427 392.002 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-136.827 387.726 M
-150.827 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-146.827 387.726 M
-146.827 389.383 145.484 390.726 143.827 390.726 curveto
-142.17 390.726 140.827 389.383 140.827 387.726 curveto
-140.827 386.069 142.17 384.726 143.827 384.726 curveto
-145.484 384.726 146.827 386.069 146.827 387.726 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.827 387.726 M
-146.827 389.383 145.484 390.726 143.827 390.726 curveto
-142.17 390.726 140.827 389.383 140.827 387.726 curveto
-140.827 386.069 142.17 384.726 143.827 384.726 curveto
-145.484 384.726 146.827 386.069 146.827 387.726 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-155.952 392.002 M
-155.952 383.33 lineto
-157.108 383.33 lineto
-157.108 387.595 lineto
-160.608 383.33 lineto
-161.843 383.33 lineto
-158.452 387.47 lineto
-162.452 392.002 lineto
-160.89 392.002 lineto
-157.108 387.611 lineto
-157.108 392.002 lineto
-155.952 392.002 lineto
-closepath
-167.099 391.189 M
-166.067 392.142 165.099 392.142 QUADTO
-164.302 392.142 163.786 391.65 QUADTO
-163.271 391.158 163.271 390.408 QUADTO
-163.271 389.361 164.146 388.799 QUADTO
-165.021 388.236 166.646 388.236 QUADTO
-166.927 388.236 lineto
-166.927 387.47 lineto
-166.927 386.361 165.786 386.361 QUADTO
-164.88 386.361 163.817 386.924 QUADTO
-163.817 385.97 lineto
-164.989 385.502 166.005 385.502 QUADTO
-167.067 385.502 167.575 385.978 QUADTO
-168.083 386.455 168.083 387.47 QUADTO
-168.083 390.361 lineto
-168.083 391.345 168.692 391.345 QUADTO
-168.771 391.345 168.911 391.314 QUADTO
-168.989 391.955 lineto
-168.599 392.142 168.13 392.142 QUADTO
-167.317 392.142 167.099 391.189 QUADTO
-closepath
-166.927 390.564 M
-166.927 388.924 lineto
-166.536 388.908 lineto
-165.599 388.908 165.013 389.267 QUADTO
-164.427 389.627 164.427 390.22 QUADTO
-164.427 390.627 164.716 390.916 QUADTO
-165.005 391.205 165.427 391.205 QUADTO
-166.146 391.205 166.927 390.564 QUADTO
-closepath
-174.522 392.002 M
-174.522 390.799 lineto
-173.819 392.142 172.413 392.142 QUADTO
-171.257 392.142 170.601 391.306 QUADTO
-169.944 390.47 169.944 389.017 QUADTO
-169.944 387.424 170.687 386.463 QUADTO
-171.429 385.502 172.647 385.502 QUADTO
-173.788 385.502 174.522 386.361 QUADTO
-174.522 382.752 lineto
-175.694 382.752 lineto
-175.694 392.002 lineto
-174.522 392.002 lineto
-closepath
-174.522 387.158 M
-173.632 386.361 172.835 386.361 QUADTO
-171.163 386.361 171.163 388.908 QUADTO
-171.163 391.127 172.647 391.127 QUADTO
-173.601 391.127 174.522 390.08 QUADTO
-174.522 387.158 lineto
-closepath
-182.653 391.799 M
-181.497 392.142 180.669 392.142 QUADTO
-179.263 392.142 178.38 391.213 QUADTO
-177.497 390.283 177.497 388.783 QUADTO
-177.497 387.345 178.278 386.416 QUADTO
-179.06 385.486 180.278 385.486 QUADTO
-181.435 385.486 182.06 386.306 QUADTO
-182.685 387.127 182.685 388.642 QUADTO
-182.685 389.002 lineto
-178.669 389.002 lineto
-178.919 391.267 180.888 391.267 QUADTO
-181.606 391.267 182.653 390.877 QUADTO
-182.653 391.799 lineto
-closepath
-178.716 388.127 M
-181.528 388.127 lineto
-181.528 386.361 180.2 386.361 QUADTO
-178.872 386.361 178.716 388.127 QUADTO
-closepath
-184.683 392.002 M
-184.683 385.642 lineto
-185.839 385.642 lineto
-185.839 386.83 lineto
-186.683 385.502 188.011 385.502 QUADTO
-189.276 385.502 189.745 386.83 QUADTO
-190.558 385.486 191.87 385.486 QUADTO
-192.714 385.486 193.183 385.986 QUADTO
-193.651 386.486 193.651 387.377 QUADTO
-193.651 392.002 lineto
-192.479 392.002 lineto
-192.479 387.549 lineto
-192.479 386.47 191.62 386.47 QUADTO
-190.729 386.47 189.745 387.736 QUADTO
-189.745 392.002 lineto
-188.589 392.002 lineto
-188.589 387.549 lineto
-188.589 386.455 187.698 386.455 QUADTO
-186.839 386.455 185.839 387.736 QUADTO
-185.839 392.002 lineto
-184.683 392.002 lineto
-closepath
-195.886 392.002 M
-195.886 382.752 lineto
-197.042 382.752 lineto
-197.042 392.002 lineto
-195.886 392.002 lineto
-closepath
-199.354 392.002 M
-199.354 385.642 lineto
-200.511 385.642 lineto
-200.511 392.002 lineto
-199.354 392.002 lineto
-closepath
-199.354 384.486 M
-199.354 383.33 lineto
-200.511 383.33 lineto
-200.511 384.486 lineto
-199.354 384.486 lineto
-closepath
-206.104 391.189 M
-205.073 392.142 204.104 392.142 QUADTO
-203.308 392.142 202.792 391.65 QUADTO
-202.276 391.158 202.276 390.408 QUADTO
-202.276 389.361 203.151 388.799 QUADTO
-204.026 388.236 205.651 388.236 QUADTO
-205.933 388.236 lineto
-205.933 387.47 lineto
-205.933 386.361 204.792 386.361 QUADTO
-203.886 386.361 202.823 386.924 QUADTO
-202.823 385.97 lineto
-203.995 385.502 205.011 385.502 QUADTO
-206.073 385.502 206.581 385.978 QUADTO
-207.089 386.455 207.089 387.47 QUADTO
-207.089 390.361 lineto
-207.089 391.345 207.698 391.345 QUADTO
-207.776 391.345 207.917 391.314 QUADTO
-207.995 391.955 lineto
-207.604 392.142 207.136 392.142 QUADTO
-206.323 392.142 206.104 391.189 QUADTO
-closepath
-205.933 390.564 M
-205.933 388.924 lineto
-205.542 388.908 lineto
-204.604 388.908 204.019 389.267 QUADTO
-203.433 389.627 203.433 390.22 QUADTO
-203.433 390.627 203.722 390.916 QUADTO
-204.011 391.205 204.433 391.205 QUADTO
-205.151 391.205 205.933 390.564 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-214.294 387.726 M
-228.294 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-221.294 384.726 M
-224.294 390.726 lineto
-218.294 390.726 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.294 384.726 M
-224.294 390.726 lineto
-218.294 390.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-235.778 392.002 M
-232.513 383.33 lineto
-233.731 383.33 lineto
-236.419 390.424 lineto
-239.013 383.33 lineto
-240.091 383.33 lineto
-236.935 392.002 lineto
-235.778 392.002 lineto
-closepath
-245.952 391.799 M
-244.796 392.142 243.968 392.142 QUADTO
-242.562 392.142 241.679 391.213 QUADTO
-240.796 390.283 240.796 388.783 QUADTO
-240.796 387.345 241.577 386.416 QUADTO
-242.358 385.486 243.577 385.486 QUADTO
-244.733 385.486 245.358 386.306 QUADTO
-245.983 387.127 245.983 388.642 QUADTO
-245.983 389.002 lineto
-241.968 389.002 lineto
-242.218 391.267 244.187 391.267 QUADTO
-244.905 391.267 245.952 390.877 QUADTO
-245.952 391.799 lineto
-closepath
-242.015 388.127 M
-244.827 388.127 lineto
-244.827 386.361 243.499 386.361 QUADTO
-242.171 386.361 242.015 388.127 QUADTO
-closepath
-247.981 392.002 M
-247.981 385.642 lineto
-249.138 385.642 lineto
-249.138 386.83 lineto
-249.825 385.502 251.122 385.502 QUADTO
-251.31 385.502 251.497 385.533 QUADTO
-251.497 386.611 lineto
-251.2 386.502 250.966 386.502 QUADTO
-249.872 386.502 249.138 387.799 QUADTO
-249.138 392.002 lineto
-247.981 392.002 lineto
-closepath
-254.798 392.142 M
-253.923 392.142 253.431 391.642 QUADTO
-252.938 391.142 252.938 390.236 QUADTO
-252.938 386.502 lineto
-252.142 386.502 lineto
-252.142 385.642 lineto
-252.938 385.642 lineto
-252.938 384.486 lineto
-254.095 384.377 lineto
-254.095 385.642 lineto
-255.751 385.642 lineto
-255.751 386.502 lineto
-254.095 386.502 lineto
-254.095 390.033 lineto
-254.095 391.283 255.173 391.283 QUADTO
-255.392 391.283 255.72 391.205 QUADTO
-255.72 392.002 lineto
-255.188 392.142 254.798 392.142 QUADTO
-closepath
-262.036 391.799 M
-260.88 392.142 260.052 392.142 QUADTO
-258.646 392.142 257.763 391.213 QUADTO
-256.88 390.283 256.88 388.783 QUADTO
-256.88 387.345 257.661 386.416 QUADTO
-258.442 385.486 259.661 385.486 QUADTO
-260.817 385.486 261.442 386.306 QUADTO
-262.067 387.127 262.067 388.642 QUADTO
-262.067 389.002 lineto
-258.052 389.002 lineto
-258.302 391.267 260.271 391.267 QUADTO
-260.989 391.267 262.036 390.877 QUADTO
-262.036 391.799 lineto
-closepath
-258.099 388.127 M
-260.911 388.127 lineto
-260.911 386.361 259.583 386.361 QUADTO
-258.255 386.361 258.099 388.127 QUADTO
-closepath
-263.425 392.002 M
-265.847 388.72 lineto
-263.503 385.642 lineto
-264.862 385.642 lineto
-266.722 388.08 lineto
-268.409 385.642 lineto
-269.534 385.642 lineto
-267.331 388.861 lineto
-269.722 392.002 lineto
-268.347 392.002 lineto
-266.44 389.486 lineto
-264.581 392.002 lineto
-263.425 392.002 lineto
-closepath
-281.706 391.767 M
-280.128 392.22 278.956 392.22 QUADTO
-276.878 392.22 275.776 391.041 QUADTO
-274.675 389.861 274.675 387.658 QUADTO
-274.675 385.502 275.792 384.306 QUADTO
-276.909 383.111 278.94 383.111 QUADTO
-280.253 383.111 281.69 383.502 QUADTO
-281.69 384.642 lineto
-279.894 384.033 278.94 384.033 QUADTO
-277.534 384.033 276.761 384.986 QUADTO
-275.987 385.939 275.987 387.674 QUADTO
-275.987 389.392 276.815 390.345 QUADTO
-277.644 391.299 279.144 391.299 QUADTO
-279.769 391.299 280.472 391.08 QUADTO
-280.472 388.252 lineto
-281.706 388.252 lineto
-281.706 391.767 lineto
-closepath
-283.894 392.002 M
-283.894 385.642 lineto
-285.05 385.642 lineto
-285.05 386.83 lineto
-285.737 385.502 287.034 385.502 QUADTO
-287.222 385.502 287.409 385.533 QUADTO
-287.409 386.611 lineto
-287.112 386.502 286.878 386.502 QUADTO
-285.784 386.502 285.05 387.799 QUADTO
-285.05 392.002 lineto
-283.894 392.002 lineto
-closepath
-291.288 392.142 M
-289.929 392.142 289.116 391.236 QUADTO
-288.304 390.33 288.304 388.814 QUADTO
-288.304 387.283 289.116 386.392 QUADTO
-289.929 385.502 291.335 385.502 QUADTO
-292.741 385.502 293.554 386.392 QUADTO
-294.366 387.283 294.366 388.814 QUADTO
-294.366 390.361 293.546 391.252 QUADTO
-292.726 392.142 291.288 392.142 QUADTO
-closepath
-291.304 391.283 M
-293.147 391.283 293.147 388.814 QUADTO
-293.147 386.361 291.335 386.361 QUADTO
-289.522 386.361 289.522 388.814 QUADTO
-289.522 391.283 291.304 391.283 QUADTO
-closepath
-300.159 392.002 M
-300.159 390.799 lineto
-299.237 392.142 297.925 392.142 QUADTO
-297.081 392.142 296.589 391.619 QUADTO
-296.097 391.095 296.097 390.205 QUADTO
-296.097 385.642 lineto
-297.253 385.642 lineto
-297.253 389.83 lineto
-297.253 390.549 297.464 390.853 QUADTO
-297.675 391.158 298.159 391.158 QUADTO
-299.222 391.158 300.159 389.767 QUADTO
-300.159 385.642 lineto
-301.3 385.642 lineto
-301.3 392.002 lineto
-300.159 392.002 lineto
-closepath
-303.622 394.314 M
-303.622 385.642 lineto
-304.778 385.642 lineto
-304.778 386.83 lineto
-305.481 385.502 306.903 385.502 QUADTO
-308.044 385.502 308.708 386.338 QUADTO
-309.372 387.174 309.372 388.627 QUADTO
-309.372 390.205 308.622 391.174 QUADTO
-307.872 392.142 306.653 392.142 QUADTO
-305.528 392.142 304.778 391.283 QUADTO
-304.778 394.314 lineto
-303.622 394.314 lineto
-closepath
-304.778 390.486 M
-305.669 391.283 306.481 391.283 QUADTO
-308.138 391.283 308.138 388.736 QUADTO
-308.138 386.502 306.669 386.502 QUADTO
-305.7 386.502 304.778 387.549 QUADTO
-304.778 390.486 lineto
-closepath
-312.862 392.142 M
-312.065 392.142 310.94 391.783 QUADTO
-310.94 390.72 lineto
-312.065 391.283 312.909 391.283 QUADTO
-313.409 391.283 313.737 391.009 QUADTO
-314.065 390.736 314.065 390.33 QUADTO
-314.065 389.752 313.144 389.361 QUADTO
-312.472 389.064 lineto
-310.972 388.455 310.972 387.283 QUADTO
-310.972 386.455 311.565 385.978 QUADTO
-312.159 385.502 313.175 385.502 QUADTO
-313.706 385.502 314.503 385.642 QUADTO
-314.737 385.689 lineto
-314.737 386.658 lineto
-313.769 386.361 313.206 386.361 QUADTO
-312.081 386.361 312.081 387.174 QUADTO
-312.081 387.689 312.925 388.049 QUADTO
-313.487 388.283 lineto
-314.425 388.689 314.823 389.127 QUADTO
-315.222 389.564 315.222 390.236 QUADTO
-315.222 391.064 314.558 391.603 QUADTO
-313.894 392.142 312.862 392.142 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-69.533 34.247 M
-388 34.247 lineto
-388 325.931 lineto
-69.533 325.931 lineto
-69.533 34.247 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.533 329.931 M
-388 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-73.768 345.481 M
-73.768 344.465 lineto
-74.268 343.293 75.799 341.903 QUADTO
-76.471 341.309 lineto
-77.737 340.153 77.737 339.012 QUADTO
-77.737 338.293 77.307 337.879 QUADTO
-76.878 337.465 76.112 337.465 QUADTO
-75.206 337.465 73.987 338.153 QUADTO
-73.987 337.137 lineto
-75.143 336.59 76.268 336.59 QUADTO
-77.487 336.59 78.229 337.247 QUADTO
-78.971 337.903 78.971 338.981 QUADTO
-78.971 339.762 78.596 340.372 QUADTO
-78.221 340.981 77.206 341.84 QUADTO
-76.768 342.215 lineto
-75.378 343.387 75.159 344.465 QUADTO
-78.924 344.465 lineto
-78.924 345.481 lineto
-73.768 345.481 lineto
-closepath
-84.122 345.7 M
-82.778 345.7 81.95 344.434 QUADTO
-81.122 343.168 81.122 341.137 QUADTO
-81.122 339.09 81.958 337.84 QUADTO
-82.794 336.59 84.153 336.59 QUADTO
-85.512 336.59 86.348 337.84 QUADTO
-87.184 339.09 87.184 341.122 QUADTO
-87.184 343.2 86.348 344.45 QUADTO
-85.512 345.7 84.122 345.7 QUADTO
-closepath
-84.137 344.825 M
-85.965 344.825 85.965 341.106 QUADTO
-85.965 337.465 84.153 337.465 QUADTO
-82.356 337.465 82.356 341.137 QUADTO
-82.356 344.825 84.137 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.356 331.931 M
-80.356 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-103.284 345.418 M
-103.284 344.34 lineto
-104.534 344.825 105.237 344.825 QUADTO
-106.065 344.825 106.589 344.34 QUADTO
-107.112 343.856 107.112 343.09 QUADTO
-107.112 341.262 104.55 341.262 QUADTO
-104.081 341.262 lineto
-104.081 340.481 lineto
-104.487 340.481 lineto
-106.893 340.481 106.893 338.793 QUADTO
-106.893 337.465 105.315 337.465 QUADTO
-104.44 337.465 103.409 337.95 QUADTO
-103.409 336.934 lineto
-104.425 336.59 105.393 336.59 QUADTO
-108.05 336.59 108.05 338.606 QUADTO
-108.05 340.137 106.237 340.778 QUADTO
-108.346 341.262 108.346 343.075 QUADTO
-108.346 344.309 107.534 345.004 QUADTO
-106.721 345.7 105.315 345.7 QUADTO
-104.503 345.7 103.284 345.418 QUADTO
-closepath
-113.419 345.7 M
-112.075 345.7 111.247 344.434 QUADTO
-110.419 343.168 110.419 341.137 QUADTO
-110.419 339.09 111.255 337.84 QUADTO
-112.091 336.59 113.45 336.59 QUADTO
-114.809 336.59 115.645 337.84 QUADTO
-116.481 339.09 116.481 341.122 QUADTO
-116.481 343.2 115.645 344.45 QUADTO
-114.809 345.7 113.419 345.7 QUADTO
-closepath
-113.434 344.825 M
-115.262 344.825 115.262 341.106 QUADTO
-115.262 337.465 113.45 337.465 QUADTO
-111.653 337.465 111.653 341.137 QUADTO
-111.653 344.825 113.434 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-109.653 331.931 M
-109.653 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.44 331.931 M
-130.44 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.563 331.931 M
-146.563 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-159.737 331.931 M
-159.737 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.875 331.931 M
-170.875 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-180.523 331.931 M
-180.523 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.034 331.931 M
-189.034 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-196.646 331.931 M
-196.646 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-187.077 345.481 M
-187.077 344.606 lineto
-188.811 344.606 lineto
-188.811 337.762 lineto
-187.077 338.2 lineto
-187.077 337.309 lineto
-189.968 336.59 lineto
-189.968 344.606 lineto
-191.702 344.606 lineto
-191.702 345.481 lineto
-187.077 345.481 lineto
-closepath
-196.618 345.7 M
-195.274 345.7 194.446 344.434 QUADTO
-193.618 343.168 193.618 341.137 QUADTO
-193.618 339.09 194.454 337.84 QUADTO
-195.29 336.59 196.649 336.59 QUADTO
-198.009 336.59 198.845 337.84 QUADTO
-199.681 339.09 199.681 341.122 QUADTO
-199.681 343.2 198.845 344.45 QUADTO
-198.009 345.7 196.618 345.7 QUADTO
-closepath
-196.634 344.825 M
-198.462 344.825 198.462 341.106 QUADTO
-198.462 337.465 196.649 337.465 QUADTO
-194.852 337.465 194.852 341.137 QUADTO
-194.852 344.825 196.634 344.825 QUADTO
-closepath
-204.206 345.7 M
-202.862 345.7 202.034 344.434 QUADTO
-201.206 343.168 201.206 341.137 QUADTO
-201.206 339.09 202.042 337.84 QUADTO
-202.878 336.59 204.237 336.59 QUADTO
-205.597 336.59 206.433 337.84 QUADTO
-207.268 339.09 207.268 341.122 QUADTO
-207.268 343.2 206.433 344.45 QUADTO
-205.597 345.7 204.206 345.7 QUADTO
-closepath
-204.222 344.825 M
-206.05 344.825 206.05 341.106 QUADTO
-206.05 337.465 204.237 337.465 QUADTO
-202.44 337.465 202.44 341.137 QUADTO
-202.44 344.825 204.222 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-196.646 331.931 M
-196.646 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-236.348 345.481 M
-236.348 344.465 lineto
-236.848 343.293 238.379 341.903 QUADTO
-239.051 341.309 lineto
-240.317 340.153 240.317 339.012 QUADTO
-240.317 338.293 239.887 337.879 QUADTO
-239.457 337.465 238.692 337.465 QUADTO
-237.786 337.465 236.567 338.153 QUADTO
-236.567 337.137 lineto
-237.723 336.59 238.848 336.59 QUADTO
-240.067 336.59 240.809 337.247 QUADTO
-241.551 337.903 241.551 338.981 QUADTO
-241.551 339.762 241.176 340.372 QUADTO
-240.801 340.981 239.786 341.84 QUADTO
-239.348 342.215 lineto
-237.957 343.387 237.739 344.465 QUADTO
-241.504 344.465 lineto
-241.504 345.481 lineto
-236.348 345.481 lineto
-closepath
-246.702 345.7 M
-245.358 345.7 244.53 344.434 QUADTO
-243.702 343.168 243.702 341.137 QUADTO
-243.702 339.09 244.538 337.84 QUADTO
-245.373 336.59 246.733 336.59 QUADTO
-248.092 336.59 248.928 337.84 QUADTO
-249.764 339.09 249.764 341.122 QUADTO
-249.764 343.2 248.928 344.45 QUADTO
-248.092 345.7 246.702 345.7 QUADTO
-closepath
-246.717 344.825 M
-248.545 344.825 248.545 341.106 QUADTO
-248.545 337.465 246.733 337.465 QUADTO
-244.936 337.465 244.936 341.137 QUADTO
-244.936 344.825 246.717 344.825 QUADTO
-closepath
-254.29 345.7 M
-252.946 345.7 252.118 344.434 QUADTO
-251.29 343.168 251.29 341.137 QUADTO
-251.29 339.09 252.125 337.84 QUADTO
-252.961 336.59 254.321 336.59 QUADTO
-255.68 336.59 256.516 337.84 QUADTO
-257.352 339.09 257.352 341.122 QUADTO
-257.352 343.2 256.516 344.45 QUADTO
-255.68 345.7 254.29 345.7 QUADTO
-closepath
-254.305 344.825 M
-256.133 344.825 256.133 341.106 QUADTO
-256.133 337.465 254.321 337.465 QUADTO
-252.524 337.465 252.524 341.137 QUADTO
-252.524 344.825 254.305 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-246.73 331.931 M
-246.73 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-276.027 331.931 M
-276.027 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-296.813 331.931 M
-296.813 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-312.937 331.931 M
-312.937 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-326.11 331.931 M
-326.11 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-337.249 331.931 M
-337.249 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-346.897 331.931 M
-346.897 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-355.407 331.931 M
-355.407 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-363.02 331.931 M
-363.02 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-349.657 345.481 M
-349.657 344.606 lineto
-351.391 344.606 lineto
-351.391 337.762 lineto
-349.657 338.2 lineto
-349.657 337.309 lineto
-352.548 336.59 lineto
-352.548 344.606 lineto
-354.282 344.606 lineto
-354.282 345.481 lineto
-349.657 345.481 lineto
-closepath
-359.198 345.7 M
-357.854 345.7 357.026 344.434 QUADTO
-356.198 343.168 356.198 341.137 QUADTO
-356.198 339.09 357.034 337.84 QUADTO
-357.87 336.59 359.229 336.59 QUADTO
-360.589 336.59 361.425 337.84 QUADTO
-362.26 339.09 362.26 341.122 QUADTO
-362.26 343.2 361.425 344.45 QUADTO
-360.589 345.7 359.198 345.7 QUADTO
-closepath
-359.214 344.825 M
-361.042 344.825 361.042 341.106 QUADTO
-361.042 337.465 359.229 337.465 QUADTO
-357.432 337.465 357.432 341.137 QUADTO
-357.432 344.825 359.214 344.825 QUADTO
-closepath
-366.786 345.7 M
-365.442 345.7 364.614 344.434 QUADTO
-363.786 343.168 363.786 341.137 QUADTO
-363.786 339.09 364.622 337.84 QUADTO
-365.458 336.59 366.817 336.59 QUADTO
-368.177 336.59 369.012 337.84 QUADTO
-369.848 339.09 369.848 341.122 QUADTO
-369.848 343.2 369.012 344.45 QUADTO
-368.177 345.7 366.786 345.7 QUADTO
-closepath
-366.802 344.825 M
-368.63 344.825 368.63 341.106 QUADTO
-368.63 337.465 366.817 337.465 QUADTO
-365.02 337.465 365.02 341.137 QUADTO
-365.02 344.825 366.802 344.825 QUADTO
-closepath
-374.374 345.7 M
-373.03 345.7 372.202 344.434 QUADTO
-371.374 343.168 371.374 341.137 QUADTO
-371.374 339.09 372.21 337.84 QUADTO
-373.046 336.59 374.405 336.59 QUADTO
-375.764 336.59 376.6 337.84 QUADTO
-377.436 339.09 377.436 341.122 QUADTO
-377.436 343.2 376.6 344.45 QUADTO
-375.764 345.7 374.374 345.7 QUADTO
-closepath
-374.389 344.825 M
-376.218 344.825 376.218 341.106 QUADTO
-376.218 337.465 374.405 337.465 QUADTO
-372.608 337.465 372.608 341.137 QUADTO
-372.608 344.825 374.389 344.825 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-363.02 331.931 M
-363.02 329.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-208.267 364.954 M
-208.267 357.454 lineto
-210.282 357.454 lineto
-210.282 358.86 lineto
-211.282 357.282 212.845 357.282 QUADTO
-213.845 357.282 214.431 357.915 QUADTO
-215.017 358.548 215.017 359.641 QUADTO
-215.017 364.954 lineto
-212.985 364.954 lineto
-212.985 360.141 lineto
-212.985 358.876 212.142 358.876 QUADTO
-211.173 358.876 210.282 360.235 QUADTO
-210.282 364.954 lineto
-208.267 364.954 lineto
-closepath
-220.617 365.126 M
-218.852 365.126 217.82 364.063 QUADTO
-216.789 363.001 216.789 361.204 QUADTO
-216.789 359.376 217.828 358.329 QUADTO
-218.867 357.282 220.664 357.282 QUADTO
-222.461 357.282 223.5 358.329 QUADTO
-224.539 359.376 224.539 361.188 QUADTO
-224.539 363.032 223.492 364.079 QUADTO
-222.445 365.126 220.617 365.126 QUADTO
-closepath
-220.648 363.86 M
-222.383 363.86 222.383 361.188 QUADTO
-222.383 359.97 221.922 359.259 QUADTO
-221.461 358.548 220.664 358.548 QUADTO
-219.867 358.548 219.398 359.259 QUADTO
-218.93 359.97 218.93 361.204 QUADTO
-218.93 362.423 219.391 363.141 QUADTO
-219.852 363.86 220.648 363.86 QUADTO
-closepath
-231.121 364.954 M
-231.121 363.532 lineto
-230.34 365.126 228.668 365.126 QUADTO
-227.324 365.126 226.551 364.134 QUADTO
-225.777 363.141 225.777 361.407 QUADTO
-225.777 359.516 226.645 358.399 QUADTO
-227.512 357.282 228.98 357.282 QUADTO
-230.168 357.282 231.121 358.204 QUADTO
-231.121 354.157 lineto
-233.152 354.157 lineto
-233.152 364.954 lineto
-231.121 364.954 lineto
-closepath
-231.121 359.407 M
-230.387 358.595 229.559 358.595 QUADTO
-228.809 358.595 228.371 359.313 QUADTO
-227.934 360.032 227.934 361.235 QUADTO
-227.934 363.532 229.402 363.532 QUADTO
-230.309 363.532 231.121 362.376 QUADTO
-231.121 359.407 lineto
-closepath
-241.788 364.704 M
-240.351 365.126 239.054 365.126 QUADTO
-237.179 365.126 236.093 364.055 QUADTO
-235.007 362.985 235.007 361.141 QUADTO
-235.007 359.407 235.999 358.345 QUADTO
-236.991 357.282 238.632 357.282 QUADTO
-240.272 357.282 241.03 358.321 QUADTO
-241.788 359.36 241.788 361.61 QUADTO
-237.132 361.61 lineto
-237.335 363.751 239.491 363.751 QUADTO
-240.507 363.751 241.788 363.282 QUADTO
-241.788 364.704 lineto
-closepath
-237.101 360.47 M
-239.804 360.47 lineto
-239.804 358.548 238.569 358.548 QUADTO
-237.304 358.548 237.101 360.47 QUADTO
-closepath
-243.679 364.72 M
-243.679 363.235 lineto
-245.194 363.86 246.257 363.86 QUADTO
-247.491 363.86 247.491 363.016 QUADTO
-247.491 362.47 246.476 362.048 QUADTO
-245.788 361.782 lineto
-244.679 361.329 244.194 360.813 QUADTO
-243.71 360.298 243.71 359.532 QUADTO
-243.71 358.454 244.53 357.868 QUADTO
-245.351 357.282 246.804 357.282 QUADTO
-247.726 357.282 248.991 357.548 QUADTO
-248.991 358.97 lineto
-247.772 358.548 246.976 358.548 QUADTO
-245.71 358.548 245.71 359.313 QUADTO
-245.71 359.829 246.647 360.188 QUADTO
-247.226 360.407 lineto
-248.554 360.907 249.069 361.423 QUADTO
-249.585 361.938 249.585 362.751 QUADTO
-249.585 363.798 248.702 364.462 QUADTO
-247.819 365.126 246.413 365.126 QUADTO
-245.069 365.126 243.679 364.72 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-65.533 34.247 M
-65.533 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-44.326 330.426 M
-42.982 330.426 42.154 329.16 QUADTO
-41.326 327.894 41.326 325.863 QUADTO
-41.326 323.816 42.162 322.566 QUADTO
-42.998 321.316 44.357 321.316 QUADTO
-45.717 321.316 46.553 322.566 QUADTO
-47.389 323.816 47.389 325.848 QUADTO
-47.389 327.926 46.553 329.176 QUADTO
-45.717 330.426 44.326 330.426 QUADTO
-closepath
-44.342 329.551 M
-46.17 329.551 46.17 325.832 QUADTO
-46.17 322.191 44.357 322.191 QUADTO
-42.561 322.191 42.561 325.863 QUADTO
-42.561 329.551 44.342 329.551 QUADTO
-closepath
-49.32 330.207 M
-49.32 328.754 lineto
-50.773 328.754 lineto
-50.773 330.207 lineto
-49.32 330.207 lineto
-closepath
-55.711 330.426 M
-54.367 330.426 53.539 329.16 QUADTO
-52.711 327.894 52.711 325.863 QUADTO
-52.711 323.816 53.547 322.566 QUADTO
-54.383 321.316 55.742 321.316 QUADTO
-57.102 321.316 57.938 322.566 QUADTO
-58.773 323.816 58.773 325.848 QUADTO
-58.773 327.926 57.938 329.176 QUADTO
-57.102 330.426 55.711 330.426 QUADTO
-closepath
-55.727 329.551 M
-57.555 329.551 57.555 325.832 QUADTO
-57.555 322.191 55.742 322.191 QUADTO
-53.945 322.191 53.945 325.863 QUADTO
-53.945 329.551 55.727 329.551 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 325.931 M
-65.533 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-41.561 310.618 M
-41.561 309.602 lineto
-42.061 308.43 43.592 307.04 QUADTO
-44.264 306.446 lineto
-45.529 305.29 45.529 304.149 QUADTO
-45.529 303.43 45.1 303.016 QUADTO
-44.67 302.602 43.904 302.602 QUADTO
-42.998 302.602 41.779 303.29 QUADTO
-41.779 302.274 lineto
-42.936 301.727 44.061 301.727 QUADTO
-45.279 301.727 46.021 302.383 QUADTO
-46.764 303.04 46.764 304.118 QUADTO
-46.764 304.899 46.389 305.508 QUADTO
-46.014 306.118 44.998 306.977 QUADTO
-44.561 307.352 lineto
-43.17 308.524 42.951 309.602 QUADTO
-46.717 309.602 lineto
-46.717 310.618 lineto
-41.561 310.618 lineto
-closepath
-49.32 310.618 M
-49.32 309.165 lineto
-50.773 309.165 lineto
-50.773 310.618 lineto
-49.32 310.618 lineto
-closepath
-53.398 310.649 M
-53.398 309.618 lineto
-54.273 309.961 55.039 309.961 QUADTO
-55.898 309.961 56.391 309.461 QUADTO
-56.883 308.961 56.883 308.071 QUADTO
-56.883 306.118 54.195 306.118 QUADTO
-53.883 306.118 53.555 306.165 QUADTO
-53.555 301.946 lineto
-57.945 301.946 lineto
-57.945 302.946 lineto
-54.57 302.946 lineto
-54.57 305.243 lineto
-56.242 305.243 57.18 306.008 QUADTO
-58.117 306.774 58.117 308.133 QUADTO
-58.117 309.399 57.258 310.118 QUADTO
-56.398 310.836 54.898 310.836 QUADTO
-54.242 310.836 53.398 310.649 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 306.342 M
-65.533 306.342 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-42.014 291.06 M
-42.014 290.029 lineto
-42.889 290.372 43.654 290.372 QUADTO
-44.514 290.372 45.006 289.872 QUADTO
-45.498 289.372 45.498 288.482 QUADTO
-45.498 286.529 42.811 286.529 QUADTO
-42.498 286.529 42.17 286.575 QUADTO
-42.17 282.357 lineto
-46.561 282.357 lineto
-46.561 283.357 lineto
-43.186 283.357 lineto
-43.186 285.654 lineto
-44.857 285.654 45.795 286.419 QUADTO
-46.732 287.185 46.732 288.544 QUADTO
-46.732 289.81 45.873 290.529 QUADTO
-45.014 291.247 43.514 291.247 QUADTO
-42.857 291.247 42.014 291.06 QUADTO
-closepath
-49.32 291.029 M
-49.32 289.575 lineto
-50.773 289.575 lineto
-50.773 291.029 lineto
-49.32 291.029 lineto
-closepath
-55.711 291.247 M
-54.367 291.247 53.539 289.982 QUADTO
-52.711 288.716 52.711 286.685 QUADTO
-52.711 284.638 53.547 283.388 QUADTO
-54.383 282.138 55.742 282.138 QUADTO
-57.102 282.138 57.938 283.388 QUADTO
-58.773 284.638 58.773 286.669 QUADTO
-58.773 288.747 57.938 289.997 QUADTO
-57.102 291.247 55.711 291.247 QUADTO
-closepath
-55.727 290.372 M
-57.555 290.372 57.555 286.654 QUADTO
-57.555 283.013 55.742 283.013 QUADTO
-53.945 283.013 53.945 286.685 QUADTO
-53.945 290.372 55.727 290.372 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 286.753 M
-65.533 286.753 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-42.373 271.439 M
-42.529 270.424 42.85 269.689 QUADTO
-43.17 268.955 43.967 267.658 QUADTO
-46.326 263.846 lineto
-41.857 263.846 lineto
-41.857 262.767 lineto
-47.436 262.767 lineto
-47.436 263.846 lineto
-44.092 268.767 43.701 271.439 QUADTO
-42.373 271.439 lineto
-closepath
-49.32 271.439 M
-49.32 269.986 lineto
-50.773 269.986 lineto
-50.773 271.439 lineto
-49.32 271.439 lineto
-closepath
-53.398 271.471 M
-53.398 270.439 lineto
-54.273 270.783 55.039 270.783 QUADTO
-55.898 270.783 56.391 270.283 QUADTO
-56.883 269.783 56.883 268.892 QUADTO
-56.883 266.939 54.195 266.939 QUADTO
-53.883 266.939 53.555 266.986 QUADTO
-53.555 262.767 lineto
-57.945 262.767 lineto
-57.945 263.767 lineto
-54.57 263.767 lineto
-54.57 266.064 lineto
-56.242 266.064 57.18 266.83 QUADTO
-58.117 267.596 58.117 268.955 QUADTO
-58.117 270.221 57.258 270.939 QUADTO
-56.398 271.658 54.898 271.658 QUADTO
-54.242 271.658 53.398 271.471 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 267.164 M
-65.533 267.164 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 251.85 M
-34.785 250.975 lineto
-36.52 250.975 lineto
-36.52 244.131 lineto
-34.785 244.569 lineto
-34.785 243.678 lineto
-37.676 242.959 lineto
-37.676 250.975 lineto
-39.41 250.975 lineto
-39.41 251.85 lineto
-34.785 251.85 lineto
-closepath
-44.326 252.069 M
-42.982 252.069 42.154 250.803 QUADTO
-41.326 249.538 41.326 247.506 QUADTO
-41.326 245.459 42.162 244.209 QUADTO
-42.998 242.959 44.357 242.959 QUADTO
-45.717 242.959 46.553 244.209 QUADTO
-47.389 245.459 47.389 247.491 QUADTO
-47.389 249.569 46.553 250.819 QUADTO
-45.717 252.069 44.326 252.069 QUADTO
-closepath
-44.342 251.194 M
-46.17 251.194 46.17 247.475 QUADTO
-46.17 243.834 44.357 243.834 QUADTO
-42.561 243.834 42.561 247.506 QUADTO
-42.561 251.194 44.342 251.194 QUADTO
-closepath
-49.32 251.85 M
-49.32 250.397 lineto
-50.773 250.397 lineto
-50.773 251.85 lineto
-49.32 251.85 lineto
-closepath
-55.711 252.069 M
-54.367 252.069 53.539 250.803 QUADTO
-52.711 249.538 52.711 247.506 QUADTO
-52.711 245.459 53.547 244.209 QUADTO
-54.383 242.959 55.742 242.959 QUADTO
-57.102 242.959 57.938 244.209 QUADTO
-58.773 245.459 58.773 247.491 QUADTO
-58.773 249.569 57.938 250.819 QUADTO
-57.102 252.069 55.711 252.069 QUADTO
-closepath
-55.727 251.194 M
-57.555 251.194 57.555 247.475 QUADTO
-57.555 243.834 55.742 243.834 QUADTO
-53.945 243.834 53.945 247.506 QUADTO
-53.945 251.194 55.727 251.194 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 247.574 M
-65.533 247.574 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 232.261 M
-34.785 231.386 lineto
-36.52 231.386 lineto
-36.52 224.542 lineto
-34.785 224.98 lineto
-34.785 224.089 lineto
-37.676 223.37 lineto
-37.676 231.386 lineto
-39.41 231.386 lineto
-39.41 232.261 lineto
-34.785 232.261 lineto
-closepath
-41.561 232.261 M
-41.561 231.245 lineto
-42.061 230.073 43.592 228.683 QUADTO
-44.264 228.089 lineto
-45.529 226.933 45.529 225.792 QUADTO
-45.529 225.073 45.1 224.659 QUADTO
-44.67 224.245 43.904 224.245 QUADTO
-42.998 224.245 41.779 224.933 QUADTO
-41.779 223.917 lineto
-42.936 223.37 44.061 223.37 QUADTO
-45.279 223.37 46.021 224.026 QUADTO
-46.764 224.683 46.764 225.761 QUADTO
-46.764 226.542 46.389 227.151 QUADTO
-46.014 227.761 44.998 228.62 QUADTO
-44.561 228.995 lineto
-43.17 230.167 42.951 231.245 QUADTO
-46.717 231.245 lineto
-46.717 232.261 lineto
-41.561 232.261 lineto
-closepath
-49.32 232.261 M
-49.32 230.808 lineto
-50.773 230.808 lineto
-50.773 232.261 lineto
-49.32 232.261 lineto
-closepath
-53.398 232.292 M
-53.398 231.261 lineto
-54.273 231.605 55.039 231.605 QUADTO
-55.898 231.605 56.391 231.105 QUADTO
-56.883 230.605 56.883 229.714 QUADTO
-56.883 227.761 54.195 227.761 QUADTO
-53.883 227.761 53.555 227.808 QUADTO
-53.555 223.589 lineto
-57.945 223.589 lineto
-57.945 224.589 lineto
-54.57 224.589 lineto
-54.57 226.886 lineto
-56.242 226.886 57.18 227.651 QUADTO
-58.117 228.417 58.117 229.776 QUADTO
-58.117 231.042 57.258 231.761 QUADTO
-56.398 232.48 54.898 232.48 QUADTO
-54.242 232.48 53.398 232.292 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 227.985 M
-65.533 227.985 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 212.672 M
-34.785 211.797 lineto
-36.52 211.797 lineto
-36.52 204.953 lineto
-34.785 205.39 lineto
-34.785 204.5 lineto
-37.676 203.781 lineto
-37.676 211.797 lineto
-39.41 211.797 lineto
-39.41 212.672 lineto
-34.785 212.672 lineto
-closepath
-42.014 212.703 M
-42.014 211.672 lineto
-42.889 212.015 43.654 212.015 QUADTO
-44.514 212.015 45.006 211.515 QUADTO
-45.498 211.015 45.498 210.125 QUADTO
-45.498 208.172 42.811 208.172 QUADTO
-42.498 208.172 42.17 208.218 QUADTO
-42.17 204 lineto
-46.561 204 lineto
-46.561 205 lineto
-43.186 205 lineto
-43.186 207.297 lineto
-44.857 207.297 45.795 208.062 QUADTO
-46.732 208.828 46.732 210.187 QUADTO
-46.732 211.453 45.873 212.172 QUADTO
-45.014 212.89 43.514 212.89 QUADTO
-42.857 212.89 42.014 212.703 QUADTO
-closepath
-49.32 212.672 M
-49.32 211.218 lineto
-50.773 211.218 lineto
-50.773 212.672 lineto
-49.32 212.672 lineto
-closepath
-55.711 212.89 M
-54.367 212.89 53.539 211.625 QUADTO
-52.711 210.359 52.711 208.328 QUADTO
-52.711 206.281 53.547 205.031 QUADTO
-54.383 203.781 55.742 203.781 QUADTO
-57.102 203.781 57.938 205.031 QUADTO
-58.773 206.281 58.773 208.312 QUADTO
-58.773 210.39 57.938 211.64 QUADTO
-57.102 212.89 55.711 212.89 QUADTO
-closepath
-55.727 212.015 M
-57.555 212.015 57.555 208.297 QUADTO
-57.555 204.656 55.742 204.656 QUADTO
-53.945 204.656 53.945 208.328 QUADTO
-53.945 212.015 55.727 212.015 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 208.396 M
-65.533 208.396 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 193.082 M
-34.785 192.207 lineto
-36.52 192.207 lineto
-36.52 185.364 lineto
-34.785 185.801 lineto
-34.785 184.91 lineto
-37.676 184.192 lineto
-37.676 192.207 lineto
-39.41 192.207 lineto
-39.41 193.082 lineto
-34.785 193.082 lineto
-closepath
-42.373 193.082 M
-42.529 192.067 42.85 191.332 QUADTO
-43.17 190.598 43.967 189.301 QUADTO
-46.326 185.489 lineto
-41.857 185.489 lineto
-41.857 184.41 lineto
-47.436 184.41 lineto
-47.436 185.489 lineto
-44.092 190.41 43.701 193.082 QUADTO
-42.373 193.082 lineto
-closepath
-49.32 193.082 M
-49.32 191.629 lineto
-50.773 191.629 lineto
-50.773 193.082 lineto
-49.32 193.082 lineto
-closepath
-53.398 193.114 M
-53.398 192.082 lineto
-54.273 192.426 55.039 192.426 QUADTO
-55.898 192.426 56.391 191.926 QUADTO
-56.883 191.426 56.883 190.535 QUADTO
-56.883 188.582 54.195 188.582 QUADTO
-53.883 188.582 53.555 188.629 QUADTO
-53.555 184.41 lineto
-57.945 184.41 lineto
-57.945 185.41 lineto
-54.57 185.41 lineto
-54.57 187.707 lineto
-56.242 187.707 57.18 188.473 QUADTO
-58.117 189.239 58.117 190.598 QUADTO
-58.117 191.864 57.258 192.582 QUADTO
-56.398 193.301 54.898 193.301 QUADTO
-54.242 193.301 53.398 193.114 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 188.807 M
-65.533 188.807 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 173.493 M
-33.973 172.477 lineto
-34.473 171.306 36.004 169.915 QUADTO
-36.676 169.321 lineto
-37.941 168.165 37.941 167.024 QUADTO
-37.941 166.306 37.512 165.892 QUADTO
-37.082 165.477 36.316 165.477 QUADTO
-35.41 165.477 34.191 166.165 QUADTO
-34.191 165.149 lineto
-35.348 164.602 36.473 164.602 QUADTO
-37.691 164.602 38.434 165.259 QUADTO
-39.176 165.915 39.176 166.993 QUADTO
-39.176 167.774 38.801 168.384 QUADTO
-38.426 168.993 37.41 169.852 QUADTO
-36.973 170.227 lineto
-35.582 171.399 35.363 172.477 QUADTO
-39.129 172.477 lineto
-39.129 173.493 lineto
-33.973 173.493 lineto
-closepath
-44.326 173.712 M
-42.982 173.712 42.154 172.446 QUADTO
-41.326 171.181 41.326 169.149 QUADTO
-41.326 167.102 42.162 165.852 QUADTO
-42.998 164.602 44.357 164.602 QUADTO
-45.717 164.602 46.553 165.852 QUADTO
-47.389 167.102 47.389 169.134 QUADTO
-47.389 171.212 46.553 172.462 QUADTO
-45.717 173.712 44.326 173.712 QUADTO
-closepath
-44.342 172.837 M
-46.17 172.837 46.17 169.118 QUADTO
-46.17 165.477 44.357 165.477 QUADTO
-42.561 165.477 42.561 169.149 QUADTO
-42.561 172.837 44.342 172.837 QUADTO
-closepath
-49.32 173.493 M
-49.32 172.04 lineto
-50.773 172.04 lineto
-50.773 173.493 lineto
-49.32 173.493 lineto
-closepath
-55.711 173.712 M
-54.367 173.712 53.539 172.446 QUADTO
-52.711 171.181 52.711 169.149 QUADTO
-52.711 167.102 53.547 165.852 QUADTO
-54.383 164.602 55.742 164.602 QUADTO
-57.102 164.602 57.938 165.852 QUADTO
-58.773 167.102 58.773 169.134 QUADTO
-58.773 171.212 57.938 172.462 QUADTO
-57.102 173.712 55.711 173.712 QUADTO
-closepath
-55.727 172.837 M
-57.555 172.837 57.555 169.118 QUADTO
-57.555 165.477 55.742 165.477 QUADTO
-53.945 165.477 53.945 169.149 QUADTO
-53.945 172.837 55.727 172.837 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 169.217 M
-65.533 169.217 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 153.904 M
-33.973 152.888 lineto
-34.473 151.716 36.004 150.326 QUADTO
-36.676 149.732 lineto
-37.941 148.576 37.941 147.435 QUADTO
-37.941 146.716 37.512 146.302 QUADTO
-37.082 145.888 36.316 145.888 QUADTO
-35.41 145.888 34.191 146.576 QUADTO
-34.191 145.56 lineto
-35.348 145.013 36.473 145.013 QUADTO
-37.691 145.013 38.434 145.67 QUADTO
-39.176 146.326 39.176 147.404 QUADTO
-39.176 148.185 38.801 148.795 QUADTO
-38.426 149.404 37.41 150.263 QUADTO
-36.973 150.638 lineto
-35.582 151.81 35.363 152.888 QUADTO
-39.129 152.888 lineto
-39.129 153.904 lineto
-33.973 153.904 lineto
-closepath
-41.561 153.904 M
-41.561 152.888 lineto
-42.061 151.716 43.592 150.326 QUADTO
-44.264 149.732 lineto
-45.529 148.576 45.529 147.435 QUADTO
-45.529 146.716 45.1 146.302 QUADTO
-44.67 145.888 43.904 145.888 QUADTO
-42.998 145.888 41.779 146.576 QUADTO
-41.779 145.56 lineto
-42.936 145.013 44.061 145.013 QUADTO
-45.279 145.013 46.021 145.67 QUADTO
-46.764 146.326 46.764 147.404 QUADTO
-46.764 148.185 46.389 148.795 QUADTO
-46.014 149.404 44.998 150.263 QUADTO
-44.561 150.638 lineto
-43.17 151.81 42.951 152.888 QUADTO
-46.717 152.888 lineto
-46.717 153.904 lineto
-41.561 153.904 lineto
-closepath
-49.32 153.904 M
-49.32 152.451 lineto
-50.773 152.451 lineto
-50.773 153.904 lineto
-49.32 153.904 lineto
-closepath
-53.398 153.935 M
-53.398 152.904 lineto
-54.273 153.248 55.039 153.248 QUADTO
-55.898 153.248 56.391 152.748 QUADTO
-56.883 152.248 56.883 151.357 QUADTO
-56.883 149.404 54.195 149.404 QUADTO
-53.883 149.404 53.555 149.451 QUADTO
-53.555 145.232 lineto
-57.945 145.232 lineto
-57.945 146.232 lineto
-54.57 146.232 lineto
-54.57 148.529 lineto
-56.242 148.529 57.18 149.295 QUADTO
-58.117 150.06 58.117 151.42 QUADTO
-58.117 152.685 57.258 153.404 QUADTO
-56.398 154.123 54.898 154.123 QUADTO
-54.242 154.123 53.398 153.935 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 149.628 M
-65.533 149.628 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 134.315 M
-33.973 133.299 lineto
-34.473 132.127 36.004 130.737 QUADTO
-36.676 130.143 lineto
-37.941 128.987 37.941 127.846 QUADTO
-37.941 127.127 37.512 126.713 QUADTO
-37.082 126.299 36.316 126.299 QUADTO
-35.41 126.299 34.191 126.987 QUADTO
-34.191 125.971 lineto
-35.348 125.424 36.473 125.424 QUADTO
-37.691 125.424 38.434 126.08 QUADTO
-39.176 126.737 39.176 127.815 QUADTO
-39.176 128.596 38.801 129.205 QUADTO
-38.426 129.815 37.41 130.674 QUADTO
-36.973 131.049 lineto
-35.582 132.221 35.363 133.299 QUADTO
-39.129 133.299 lineto
-39.129 134.315 lineto
-33.973 134.315 lineto
-closepath
-42.014 134.346 M
-42.014 133.315 lineto
-42.889 133.658 43.654 133.658 QUADTO
-44.514 133.658 45.006 133.158 QUADTO
-45.498 132.658 45.498 131.768 QUADTO
-45.498 129.815 42.811 129.815 QUADTO
-42.498 129.815 42.17 129.862 QUADTO
-42.17 125.643 lineto
-46.561 125.643 lineto
-46.561 126.643 lineto
-43.186 126.643 lineto
-43.186 128.94 lineto
-44.857 128.94 45.795 129.705 QUADTO
-46.732 130.471 46.732 131.83 QUADTO
-46.732 133.096 45.873 133.815 QUADTO
-45.014 134.533 43.514 134.533 QUADTO
-42.857 134.533 42.014 134.346 QUADTO
-closepath
-49.32 134.315 M
-49.32 132.862 lineto
-50.773 132.862 lineto
-50.773 134.315 lineto
-49.32 134.315 lineto
-closepath
-55.711 134.533 M
-54.367 134.533 53.539 133.268 QUADTO
-52.711 132.002 52.711 129.971 QUADTO
-52.711 127.924 53.547 126.674 QUADTO
-54.383 125.424 55.742 125.424 QUADTO
-57.102 125.424 57.938 126.674 QUADTO
-58.773 127.924 58.773 129.955 QUADTO
-58.773 132.033 57.938 133.283 QUADTO
-57.102 134.533 55.711 134.533 QUADTO
-closepath
-55.727 133.658 M
-57.555 133.658 57.555 129.94 QUADTO
-57.555 126.299 55.742 126.299 QUADTO
-53.945 126.299 53.945 129.971 QUADTO
-53.945 133.658 55.727 133.658 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 130.039 M
-65.533 130.039 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 114.725 M
-33.973 113.71 lineto
-34.473 112.538 36.004 111.147 QUADTO
-36.676 110.554 lineto
-37.941 109.397 37.941 108.257 QUADTO
-37.941 107.538 37.512 107.124 QUADTO
-37.082 106.71 36.316 106.71 QUADTO
-35.41 106.71 34.191 107.397 QUADTO
-34.191 106.382 lineto
-35.348 105.835 36.473 105.835 QUADTO
-37.691 105.835 38.434 106.491 QUADTO
-39.176 107.147 39.176 108.225 QUADTO
-39.176 109.007 38.801 109.616 QUADTO
-38.426 110.225 37.41 111.085 QUADTO
-36.973 111.46 lineto
-35.582 112.632 35.363 113.71 QUADTO
-39.129 113.71 lineto
-39.129 114.725 lineto
-33.973 114.725 lineto
-closepath
-42.373 114.725 M
-42.529 113.71 42.85 112.975 QUADTO
-43.17 112.241 43.967 110.944 QUADTO
-46.326 107.132 lineto
-41.857 107.132 lineto
-41.857 106.054 lineto
-47.436 106.054 lineto
-47.436 107.132 lineto
-44.092 112.054 43.701 114.725 QUADTO
-42.373 114.725 lineto
-closepath
-49.32 114.725 M
-49.32 113.272 lineto
-50.773 113.272 lineto
-50.773 114.725 lineto
-49.32 114.725 lineto
-closepath
-53.398 114.757 M
-53.398 113.725 lineto
-54.273 114.069 55.039 114.069 QUADTO
-55.898 114.069 56.391 113.569 QUADTO
-56.883 113.069 56.883 112.179 QUADTO
-56.883 110.225 54.195 110.225 QUADTO
-53.883 110.225 53.555 110.272 QUADTO
-53.555 106.054 lineto
-57.945 106.054 lineto
-57.945 107.054 lineto
-54.57 107.054 lineto
-54.57 109.35 lineto
-56.242 109.35 57.18 110.116 QUADTO
-58.117 110.882 58.117 112.241 QUADTO
-58.117 113.507 57.258 114.225 QUADTO
-56.398 114.944 54.898 114.944 QUADTO
-54.242 114.944 53.398 114.757 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 110.45 M
-65.533 110.45 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 95.074 M
-34.191 93.996 lineto
-35.441 94.48 36.145 94.48 QUADTO
-36.973 94.48 37.496 93.996 QUADTO
-38.02 93.511 38.02 92.746 QUADTO
-38.02 90.917 35.457 90.917 QUADTO
-34.988 90.917 lineto
-34.988 90.136 lineto
-35.395 90.136 lineto
-37.801 90.136 37.801 88.449 QUADTO
-37.801 87.121 36.223 87.121 QUADTO
-35.348 87.121 34.316 87.605 QUADTO
-34.316 86.589 lineto
-35.332 86.246 36.301 86.246 QUADTO
-38.957 86.246 38.957 88.261 QUADTO
-38.957 89.792 37.145 90.433 QUADTO
-39.254 90.917 39.254 92.73 QUADTO
-39.254 93.964 38.441 94.66 QUADTO
-37.629 95.355 36.223 95.355 QUADTO
-35.41 95.355 34.191 95.074 QUADTO
-closepath
-44.326 95.355 M
-42.982 95.355 42.154 94.089 QUADTO
-41.326 92.824 41.326 90.792 QUADTO
-41.326 88.746 42.162 87.496 QUADTO
-42.998 86.246 44.357 86.246 QUADTO
-45.717 86.246 46.553 87.496 QUADTO
-47.389 88.746 47.389 90.777 QUADTO
-47.389 92.855 46.553 94.105 QUADTO
-45.717 95.355 44.326 95.355 QUADTO
-closepath
-44.342 94.48 M
-46.17 94.48 46.17 90.761 QUADTO
-46.17 87.121 44.357 87.121 QUADTO
-42.561 87.121 42.561 90.792 QUADTO
-42.561 94.48 44.342 94.48 QUADTO
-closepath
-49.32 95.136 M
-49.32 93.683 lineto
-50.773 93.683 lineto
-50.773 95.136 lineto
-49.32 95.136 lineto
-closepath
-55.711 95.355 M
-54.367 95.355 53.539 94.089 QUADTO
-52.711 92.824 52.711 90.792 QUADTO
-52.711 88.746 53.547 87.496 QUADTO
-54.383 86.246 55.742 86.246 QUADTO
-57.102 86.246 57.938 87.496 QUADTO
-58.773 88.746 58.773 90.777 QUADTO
-58.773 92.855 57.938 94.105 QUADTO
-57.102 95.355 55.711 95.355 QUADTO
-closepath
-55.727 94.48 M
-57.555 94.48 57.555 90.761 QUADTO
-57.555 87.121 55.742 87.121 QUADTO
-53.945 87.121 53.945 90.792 QUADTO
-53.945 94.48 55.727 94.48 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 90.861 M
-65.533 90.861 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 75.484 M
-34.191 74.406 lineto
-35.441 74.891 36.145 74.891 QUADTO
-36.973 74.891 37.496 74.406 QUADTO
-38.02 73.922 38.02 73.156 QUADTO
-38.02 71.328 35.457 71.328 QUADTO
-34.988 71.328 lineto
-34.988 70.547 lineto
-35.395 70.547 lineto
-37.801 70.547 37.801 68.859 QUADTO
-37.801 67.531 36.223 67.531 QUADTO
-35.348 67.531 34.316 68.016 QUADTO
-34.316 67 lineto
-35.332 66.656 36.301 66.656 QUADTO
-38.957 66.656 38.957 68.672 QUADTO
-38.957 70.203 37.145 70.844 QUADTO
-39.254 71.328 39.254 73.141 QUADTO
-39.254 74.375 38.441 75.07 QUADTO
-37.629 75.766 36.223 75.766 QUADTO
-35.41 75.766 34.191 75.484 QUADTO
-closepath
-41.561 75.547 M
-41.561 74.531 lineto
-42.061 73.359 43.592 71.969 QUADTO
-44.264 71.375 lineto
-45.529 70.219 45.529 69.078 QUADTO
-45.529 68.359 45.1 67.945 QUADTO
-44.67 67.531 43.904 67.531 QUADTO
-42.998 67.531 41.779 68.219 QUADTO
-41.779 67.203 lineto
-42.936 66.656 44.061 66.656 QUADTO
-45.279 66.656 46.021 67.313 QUADTO
-46.764 67.969 46.764 69.047 QUADTO
-46.764 69.828 46.389 70.438 QUADTO
-46.014 71.047 44.998 71.906 QUADTO
-44.561 72.281 lineto
-43.17 73.453 42.951 74.531 QUADTO
-46.717 74.531 lineto
-46.717 75.547 lineto
-41.561 75.547 lineto
-closepath
-49.32 75.547 M
-49.32 74.094 lineto
-50.773 74.094 lineto
-50.773 75.547 lineto
-49.32 75.547 lineto
-closepath
-53.398 75.578 M
-53.398 74.547 lineto
-54.273 74.891 55.039 74.891 QUADTO
-55.898 74.891 56.391 74.391 QUADTO
-56.883 73.891 56.883 73 QUADTO
-56.883 71.047 54.195 71.047 QUADTO
-53.883 71.047 53.555 71.094 QUADTO
-53.555 66.875 lineto
-57.945 66.875 lineto
-57.945 67.875 lineto
-54.57 67.875 lineto
-54.57 70.172 lineto
-56.242 70.172 57.18 70.938 QUADTO
-58.117 71.703 58.117 73.063 QUADTO
-58.117 74.328 57.258 75.047 QUADTO
-56.398 75.766 54.898 75.766 QUADTO
-54.242 75.766 53.398 75.578 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 71.271 M
-65.533 71.271 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 55.895 M
-34.191 54.817 lineto
-35.441 55.301 36.145 55.301 QUADTO
-36.973 55.301 37.496 54.817 QUADTO
-38.02 54.333 38.02 53.567 QUADTO
-38.02 51.739 35.457 51.739 QUADTO
-34.988 51.739 lineto
-34.988 50.958 lineto
-35.395 50.958 lineto
-37.801 50.958 37.801 49.27 QUADTO
-37.801 47.942 36.223 47.942 QUADTO
-35.348 47.942 34.316 48.426 QUADTO
-34.316 47.411 lineto
-35.332 47.067 36.301 47.067 QUADTO
-38.957 47.067 38.957 49.083 QUADTO
-38.957 50.614 37.145 51.255 QUADTO
-39.254 51.739 39.254 53.551 QUADTO
-39.254 54.786 38.441 55.481 QUADTO
-37.629 56.176 36.223 56.176 QUADTO
-35.41 56.176 34.191 55.895 QUADTO
-closepath
-42.014 55.989 M
-42.014 54.958 lineto
-42.889 55.301 43.654 55.301 QUADTO
-44.514 55.301 45.006 54.801 QUADTO
-45.498 54.301 45.498 53.411 QUADTO
-45.498 51.458 42.811 51.458 QUADTO
-42.498 51.458 42.17 51.505 QUADTO
-42.17 47.286 lineto
-46.561 47.286 lineto
-46.561 48.286 lineto
-43.186 48.286 lineto
-43.186 50.583 lineto
-44.857 50.583 45.795 51.348 QUADTO
-46.732 52.114 46.732 53.473 QUADTO
-46.732 54.739 45.873 55.458 QUADTO
-45.014 56.176 43.514 56.176 QUADTO
-42.857 56.176 42.014 55.989 QUADTO
-closepath
-49.32 55.958 M
-49.32 54.505 lineto
-50.773 54.505 lineto
-50.773 55.958 lineto
-49.32 55.958 lineto
-closepath
-55.711 56.176 M
-54.367 56.176 53.539 54.911 QUADTO
-52.711 53.645 52.711 51.614 QUADTO
-52.711 49.567 53.547 48.317 QUADTO
-54.383 47.067 55.742 47.067 QUADTO
-57.102 47.067 57.938 48.317 QUADTO
-58.773 49.567 58.773 51.598 QUADTO
-58.773 53.676 57.938 54.926 QUADTO
-57.102 56.176 55.711 56.176 QUADTO
-closepath
-55.727 55.301 M
-57.555 55.301 57.555 51.583 QUADTO
-57.555 47.942 55.742 47.942 QUADTO
-53.945 47.942 53.945 51.614 QUADTO
-53.945 55.301 55.727 55.301 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 51.682 M
-65.533 51.682 lineto
-stroke
-grestore
-gsave
-[0 -1 1 0 -160.60265 199.57533] concat
-newpath
-199.575 160.603 M
-199.575 560.603 lineto
--200.425 560.603 lineto
--200.425 160.603 lineto
-199.575 160.603 lineto
-closepath
-clip
-0.251 setgray
-newpath
--35.833 185.077 M
--35.833 174.28 lineto
--33.817 174.28 lineto
--33.817 185.077 lineto
--35.833 185.077 lineto
-closepath
--28.124 185.249 M
--29.889 185.249 -30.92 184.187 QUADTO
--31.952 183.124 -31.952 181.327 QUADTO
--31.952 179.499 -30.913 178.452 QUADTO
--29.874 177.405 -28.077 177.405 QUADTO
--26.28 177.405 -25.241 178.452 QUADTO
--24.202 179.499 -24.202 181.312 QUADTO
--24.202 183.155 -25.249 184.202 QUADTO
--26.295 185.249 -28.124 185.249 QUADTO
-closepath
--28.092 183.983 M
--26.358 183.983 -26.358 181.312 QUADTO
--26.358 180.093 -26.819 179.382 QUADTO
--27.28 178.671 -28.077 178.671 QUADTO
--28.874 178.671 -29.342 179.382 QUADTO
--29.811 180.093 -29.811 181.327 QUADTO
--29.811 182.546 -29.35 183.265 QUADTO
--28.889 183.983 -28.092 183.983 QUADTO
-closepath
--18.666 184.265 M
--19.666 185.249 -20.823 185.249 QUADTO
--21.807 185.249 -22.424 184.648 QUADTO
--23.041 184.046 -23.041 183.093 QUADTO
--23.041 181.843 -22.049 181.171 QUADTO
--21.057 180.499 -19.198 180.499 QUADTO
--18.666 180.499 lineto
--18.666 179.812 lineto
--18.666 178.64 -19.995 178.64 QUADTO
--21.182 178.64 -22.385 179.312 QUADTO
--22.385 177.921 lineto
--21.01 177.405 -19.666 177.405 QUADTO
--16.713 177.405 -16.713 179.749 QUADTO
--16.713 183.062 lineto
--16.713 183.952 -16.151 183.952 QUADTO
--16.057 183.952 -15.885 183.921 QUADTO
--15.838 185.062 lineto
--16.479 185.249 -16.979 185.249 QUADTO
--18.213 185.249 -18.573 184.265 QUADTO
--18.666 184.265 lineto
-closepath
--18.666 183.187 M
--18.666 181.655 lineto
--19.135 181.655 lineto
--21.104 181.655 -21.104 182.89 QUADTO
--21.104 183.312 -20.823 183.593 QUADTO
--20.541 183.874 -20.12 183.874 QUADTO
--19.401 183.874 -18.666 183.187 QUADTO
-closepath
--9.389 185.077 M
--9.389 183.655 lineto
--10.17 185.249 -11.842 185.249 QUADTO
--13.186 185.249 -13.959 184.257 QUADTO
--14.733 183.265 -14.733 181.53 QUADTO
--14.733 179.64 -13.866 178.523 QUADTO
--12.999 177.405 -11.53 177.405 QUADTO
--10.342 177.405 -9.389 178.327 QUADTO
--9.389 174.28 lineto
--7.358 174.28 lineto
--7.358 185.077 lineto
--9.389 185.077 lineto
-closepath
--9.389 179.53 M
--10.124 178.718 -10.952 178.718 QUADTO
--11.702 178.718 -12.139 179.437 QUADTO
--12.577 180.155 -12.577 181.358 QUADTO
--12.577 183.655 -11.108 183.655 QUADTO
--10.202 183.655 -9.389 182.499 QUADTO
--9.389 179.53 lineto
-closepath
-0.001 185.077 M
-0.001 178.843 lineto
--1.045 178.843 lineto
--1.045 177.577 lineto
-0.001 177.577 lineto
-0.001 177.03 lineto
-0.001 174.108 2.767 174.108 QUADTO
-3.658 174.108 4.611 174.374 QUADTO
-4.611 175.733 lineto
-3.751 175.374 3.064 175.374 QUADTO
-2.017 175.374 2.017 176.952 QUADTO
-2.017 177.577 lineto
-3.923 177.577 lineto
-3.923 178.843 lineto
-2.017 178.843 lineto
-2.017 185.077 lineto
-0.001 185.077 lineto
-closepath
-5.586 185.077 M
-5.586 177.577 lineto
-7.602 177.577 lineto
-7.602 178.983 lineto
-8.399 177.405 10.008 177.405 QUADTO
-10.196 177.405 10.383 177.437 QUADTO
-10.383 179.249 lineto
-9.946 179.093 9.571 179.093 QUADTO
-8.368 179.093 7.602 180.312 QUADTO
-7.602 185.077 lineto
-5.586 185.077 lineto
-closepath
-15.623 184.265 M
-14.623 185.249 13.466 185.249 QUADTO
-12.482 185.249 11.865 184.648 QUADTO
-11.248 184.046 11.248 183.093 QUADTO
-11.248 181.843 12.24 181.171 QUADTO
-13.232 180.499 15.091 180.499 QUADTO
-15.623 180.499 lineto
-15.623 179.812 lineto
-15.623 178.64 14.294 178.64 QUADTO
-13.107 178.64 11.904 179.312 QUADTO
-11.904 177.921 lineto
-13.279 177.405 14.623 177.405 QUADTO
-17.576 177.405 17.576 179.749 QUADTO
-17.576 183.062 lineto
-17.576 183.952 18.138 183.952 QUADTO
-18.232 183.952 18.404 183.921 QUADTO
-18.451 185.062 lineto
-17.81 185.249 17.31 185.249 QUADTO
-16.076 185.249 15.716 184.265 QUADTO
-15.623 184.265 lineto
-closepath
-15.623 183.187 M
-15.623 181.655 lineto
-15.154 181.655 lineto
-13.185 181.655 13.185 182.89 QUADTO
-13.185 183.312 13.466 183.593 QUADTO
-13.748 183.874 14.169 183.874 QUADTO
-14.888 183.874 15.623 183.187 QUADTO
-closepath
-25.712 184.905 M
-24.462 185.249 23.384 185.249 QUADTO
-21.587 185.249 20.548 184.194 QUADTO
-19.509 183.14 19.509 181.312 QUADTO
-19.509 179.483 20.58 178.444 QUADTO
-21.65 177.405 23.541 177.405 QUADTO
-24.462 177.405 25.65 177.687 QUADTO
-25.65 179.155 lineto
-24.416 178.749 23.666 178.749 QUADTO
-22.759 178.749 22.205 179.452 QUADTO
-21.65 180.155 21.65 181.296 QUADTO
-21.65 182.483 22.251 183.194 QUADTO
-22.853 183.905 23.837 183.905 QUADTO
-24.759 183.905 25.712 183.515 QUADTO
-25.712 184.905 lineto
-closepath
-31.507 185.03 M
-30.773 185.249 30.367 185.249 QUADTO
-27.726 185.249 27.726 182.78 QUADTO
-27.726 178.843 lineto
-26.882 178.843 lineto
-26.882 177.577 lineto
-27.726 177.577 lineto
-27.726 176.312 lineto
-29.757 176.077 lineto
-29.757 177.577 lineto
-31.351 177.577 lineto
-31.351 178.843 lineto
-29.757 178.843 lineto
-29.757 182.515 lineto
-29.757 183.905 30.882 183.905 QUADTO
-31.132 183.905 31.507 183.812 QUADTO
-31.507 185.03 lineto
-closepath
-33.306 185.077 M
-33.306 177.577 lineto
-35.322 177.577 lineto
-35.322 185.077 lineto
-33.306 185.077 lineto
-closepath
-33.306 176.312 M
-33.306 174.624 lineto
-35.322 174.624 lineto
-35.322 176.312 lineto
-33.306 176.312 lineto
-closepath
-41.015 185.249 M
-39.25 185.249 38.218 184.187 QUADTO
-37.187 183.124 37.187 181.327 QUADTO
-37.187 179.499 38.226 178.452 QUADTO
-39.265 177.405 41.062 177.405 QUADTO
-42.859 177.405 43.898 178.452 QUADTO
-44.937 179.499 44.937 181.312 QUADTO
-44.937 183.155 43.89 184.202 QUADTO
-42.843 185.249 41.015 185.249 QUADTO
-closepath
-41.046 183.983 M
-42.781 183.983 42.781 181.312 QUADTO
-42.781 180.093 42.32 179.382 QUADTO
-41.859 178.671 41.062 178.671 QUADTO
-40.265 178.671 39.796 179.382 QUADTO
-39.328 180.093 39.328 181.327 QUADTO
-39.328 182.546 39.789 183.265 QUADTO
-40.25 183.983 41.046 183.983 QUADTO
-closepath
-46.8 185.077 M
-46.8 177.577 lineto
-48.816 177.577 lineto
-48.816 178.983 lineto
-49.816 177.405 51.378 177.405 QUADTO
-52.378 177.405 52.964 178.038 QUADTO
-53.55 178.671 53.55 179.765 QUADTO
-53.55 185.077 lineto
-51.519 185.077 lineto
-51.519 180.265 lineto
-51.519 178.999 50.675 178.999 QUADTO
-49.707 178.999 48.816 180.358 QUADTO
-48.816 185.077 lineto
-46.8 185.077 lineto
-closepath
-59.245 174.202 M
-59.245 175.499 lineto
-57.417 177.343 57.417 180.687 QUADTO
-57.417 184.046 59.245 185.874 QUADTO
-59.245 187.187 lineto
-57.573 186.28 56.573 184.507 QUADTO
-55.573 182.733 55.573 180.687 QUADTO
-55.573 178.64 56.557 176.89 QUADTO
-57.542 175.14 59.245 174.202 QUADTO
-closepath
-60.746 185.327 M
-68.699 174.702 lineto
-70.058 174.702 lineto
-62.105 185.327 lineto
-60.746 185.327 lineto
-closepath
-62.464 180.015 M
-61.371 180.015 60.73 179.335 QUADTO
-60.089 178.655 60.089 177.483 QUADTO
-60.089 176.312 60.73 175.632 QUADTO
-61.371 174.952 62.496 174.952 QUADTO
-63.605 174.952 64.253 175.632 QUADTO
-64.902 176.312 64.902 177.483 QUADTO
-64.902 178.671 64.253 179.343 QUADTO
-63.605 180.015 62.464 180.015 QUADTO
-closepath
-62.48 178.999 M
-63.371 178.999 63.371 177.483 QUADTO
-63.371 175.968 62.496 175.968 QUADTO
-61.605 175.968 61.605 177.483 QUADTO
-61.605 178.999 62.48 178.999 QUADTO
-closepath
-68.292 185.077 M
-67.183 185.077 66.542 184.398 QUADTO
-65.902 183.718 65.902 182.546 QUADTO
-65.902 181.358 66.55 180.687 QUADTO
-67.199 180.015 68.308 180.015 QUADTO
-69.433 180.015 70.074 180.687 QUADTO
-70.714 181.358 70.714 182.546 QUADTO
-70.714 183.733 70.074 184.405 QUADTO
-69.433 185.077 68.292 185.077 QUADTO
-closepath
-68.292 184.062 M
-69.199 184.062 69.199 182.546 QUADTO
-69.199 181.03 68.308 181.03 QUADTO
-67.417 181.03 67.417 182.546 QUADTO
-67.417 184.062 68.292 184.062 QUADTO
-closepath
-71.367 174.202 M
-71.367 175.499 lineto
-73.195 177.343 73.195 180.687 QUADTO
-73.195 184.046 71.367 185.874 QUADTO
-71.367 187.187 lineto
-73.039 186.28 74.039 184.507 QUADTO
-75.039 182.733 75.039 180.687 QUADTO
-75.039 178.64 74.054 176.89 QUADTO
-73.07 175.14 71.367 174.202 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-80.356 34.247 M
-80.356 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-109.653 34.247 M
-109.653 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-130.44 34.247 M
-130.44 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-146.563 34.247 M
-146.563 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-159.737 34.247 M
-159.737 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-170.875 34.247 M
-170.875 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-180.523 34.247 M
-180.523 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-189.034 34.247 M
-189.034 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-196.646 34.247 M
-196.646 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-196.646 34.247 M
-196.646 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-246.73 34.247 M
-246.73 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-276.027 34.247 M
-276.027 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-296.813 34.247 M
-296.813 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-312.937 34.247 M
-312.937 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-326.11 34.247 M
-326.11 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-337.249 34.247 M
-337.249 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-346.897 34.247 M
-346.897 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-355.407 34.247 M
-355.407 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-363.02 34.247 M
-363.02 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-363.02 34.247 M
-363.02 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 325.931 M
-388 325.931 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 306.342 M
-388 306.342 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 286.753 M
-388 286.753 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 267.164 M
-388 267.164 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 247.574 M
-388 247.574 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 227.985 M
-388 227.985 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 208.396 M
-388 208.396 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 188.807 M
-388 188.807 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 169.217 M
-388 169.217 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 149.628 M
-388 149.628 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 130.039 M
-388 130.039 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 110.45 M
-388 110.45 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 90.861 M
-388 90.861 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 71.271 M
-388 71.271 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 51.682 M
-388 51.682 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-80.356 149.914 M
-130.44 187.447 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-130.44 187.447 M
-180.523 168.978 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-180.523 168.978 M
-230.607 166.851 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.607 166.851 M
-280.69 145.977 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-280.69 145.977 M
-330.774 155.078 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-330.774 155.078 M
-363.02 162.318 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-80.356 48.136 M
-130.44 67.056 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-130.44 67.056 M
-180.523 92.514 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-180.523 92.514 M
-230.607 66.398 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.607 66.398 M
-280.69 83.444 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-280.69 83.444 M
-330.774 55.224 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-330.774 55.224 M
-363.02 61.539 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-80.356 80.643 M
-130.44 68.18 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-130.44 68.18 M
-180.523 86.523 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-180.523 86.523 M
-230.607 87.515 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.607 87.515 M
-280.69 83.056 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-280.69 83.056 M
-330.774 66.899 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-330.774 66.899 M
-363.02 77.689 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-80.356 146.914 M
-83.356 152.914 lineto
-77.356 152.914 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.356 146.914 M
-83.356 152.914 lineto
-77.356 152.914 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-130.44 184.447 M
-133.44 190.447 lineto
-127.44 190.447 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.44 184.447 M
-133.44 190.447 lineto
-127.44 190.447 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-180.523 165.978 M
-183.523 171.978 lineto
-177.523 171.978 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-180.523 165.978 M
-183.523 171.978 lineto
-177.523 171.978 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-230.607 163.851 M
-233.607 169.851 lineto
-227.607 169.851 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-230.607 163.851 M
-233.607 169.851 lineto
-227.607 169.851 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-280.69 142.977 M
-283.69 148.977 lineto
-277.69 148.977 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-280.69 142.977 M
-283.69 148.977 lineto
-277.69 148.977 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-330.774 152.078 M
-333.774 158.078 lineto
-327.774 158.078 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-330.774 152.078 M
-333.774 158.078 lineto
-327.774 158.078 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-363.02 159.318 M
-366.02 165.318 lineto
-360.02 165.318 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-363.02 159.318 M
-366.02 165.318 lineto
-360.02 165.318 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-83.356 48.136 M
-83.356 49.793 82.013 51.136 80.356 51.136 curveto
-78.699 51.136 77.356 49.793 77.356 48.136 curveto
-77.356 46.48 78.699 45.136 80.356 45.136 curveto
-82.013 45.136 83.356 46.48 83.356 48.136 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.356 48.136 M
-83.356 49.793 82.013 51.136 80.356 51.136 curveto
-78.699 51.136 77.356 49.793 77.356 48.136 curveto
-77.356 46.48 78.699 45.136 80.356 45.136 curveto
-82.013 45.136 83.356 46.48 83.356 48.136 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-133.44 67.056 M
-133.44 68.713 132.096 70.056 130.44 70.056 curveto
-128.783 70.056 127.44 68.713 127.44 67.056 curveto
-127.44 65.399 128.783 64.056 130.44 64.056 curveto
-132.096 64.056 133.44 65.399 133.44 67.056 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-133.44 67.056 M
-133.44 68.713 132.096 70.056 130.44 70.056 curveto
-128.783 70.056 127.44 68.713 127.44 67.056 curveto
-127.44 65.399 128.783 64.056 130.44 64.056 curveto
-132.096 64.056 133.44 65.399 133.44 67.056 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-183.523 92.514 M
-183.523 94.171 182.18 95.514 180.523 95.514 curveto
-178.866 95.514 177.523 94.171 177.523 92.514 curveto
-177.523 90.857 178.866 89.514 180.523 89.514 curveto
-182.18 89.514 183.523 90.857 183.523 92.514 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-183.523 92.514 M
-183.523 94.171 182.18 95.514 180.523 95.514 curveto
-178.866 95.514 177.523 94.171 177.523 92.514 curveto
-177.523 90.857 178.866 89.514 180.523 89.514 curveto
-182.18 89.514 183.523 90.857 183.523 92.514 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-233.607 66.398 M
-233.607 68.054 232.264 69.398 230.607 69.398 curveto
-228.95 69.398 227.607 68.054 227.607 66.398 curveto
-227.607 64.741 228.95 63.398 230.607 63.398 curveto
-232.264 63.398 233.607 64.741 233.607 66.398 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-233.607 66.398 M
-233.607 68.054 232.264 69.398 230.607 69.398 curveto
-228.95 69.398 227.607 68.054 227.607 66.398 curveto
-227.607 64.741 228.95 63.398 230.607 63.398 curveto
-232.264 63.398 233.607 64.741 233.607 66.398 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-283.69 83.444 M
-283.69 85.101 282.347 86.444 280.69 86.444 curveto
-279.033 86.444 277.69 85.101 277.69 83.444 curveto
-277.69 81.787 279.033 80.444 280.69 80.444 curveto
-282.347 80.444 283.69 81.787 283.69 83.444 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-283.69 83.444 M
-283.69 85.101 282.347 86.444 280.69 86.444 curveto
-279.033 86.444 277.69 85.101 277.69 83.444 curveto
-277.69 81.787 279.033 80.444 280.69 80.444 curveto
-282.347 80.444 283.69 81.787 283.69 83.444 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-333.774 55.224 M
-333.774 56.881 332.431 58.224 330.774 58.224 curveto
-329.117 58.224 327.774 56.881 327.774 55.224 curveto
-327.774 53.567 329.117 52.224 330.774 52.224 curveto
-332.431 52.224 333.774 53.567 333.774 55.224 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-333.774 55.224 M
-333.774 56.881 332.431 58.224 330.774 58.224 curveto
-329.117 58.224 327.774 56.881 327.774 55.224 curveto
-327.774 53.567 329.117 52.224 330.774 52.224 curveto
-332.431 52.224 333.774 53.567 333.774 55.224 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-366.02 61.539 M
-366.02 63.196 364.677 64.539 363.02 64.539 curveto
-361.363 64.539 360.02 63.196 360.02 61.539 curveto
-360.02 59.883 361.363 58.539 363.02 58.539 curveto
-364.677 58.539 366.02 59.883 366.02 61.539 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-366.02 61.539 M
-366.02 63.196 364.677 64.539 363.02 64.539 curveto
-361.363 64.539 360.02 63.196 360.02 61.539 curveto
-360.02 59.883 361.363 58.539 363.02 58.539 curveto
-364.677 58.539 366.02 59.883 366.02 61.539 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-77.356 77.643 M
-83.356 77.643 lineto
-83.356 83.643 lineto
-77.356 83.643 lineto
-77.356 77.643 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-77.356 77.643 M
-83.356 77.643 lineto
-83.356 83.643 lineto
-77.356 83.643 lineto
-77.356 77.643 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-127.44 65.18 M
-133.44 65.18 lineto
-133.44 71.18 lineto
-127.44 71.18 lineto
-127.44 65.18 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.44 65.18 M
-133.44 65.18 lineto
-133.44 71.18 lineto
-127.44 71.18 lineto
-127.44 65.18 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-177.523 83.523 M
-183.523 83.523 lineto
-183.523 89.523 lineto
-177.523 89.523 lineto
-177.523 83.523 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-177.523 83.523 M
-183.523 83.523 lineto
-183.523 89.523 lineto
-177.523 89.523 lineto
-177.523 83.523 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-227.607 84.515 M
-233.607 84.515 lineto
-233.607 90.515 lineto
-227.607 90.515 lineto
-227.607 84.515 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.607 84.515 M
-233.607 84.515 lineto
-233.607 90.515 lineto
-227.607 90.515 lineto
-227.607 84.515 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-277.69 80.056 M
-283.69 80.056 lineto
-283.69 86.056 lineto
-277.69 86.056 lineto
-277.69 80.056 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-277.69 80.056 M
-283.69 80.056 lineto
-283.69 86.056 lineto
-277.69 86.056 lineto
-277.69 80.056 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-327.774 63.899 M
-333.774 63.899 lineto
-333.774 69.899 lineto
-327.774 69.899 lineto
-327.774 63.899 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-327.774 63.899 M
-333.774 63.899 lineto
-333.774 69.899 lineto
-327.774 69.899 lineto
-327.774 63.899 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-360.02 74.689 M
-366.02 74.689 lineto
-366.02 80.689 lineto
-360.02 80.689 lineto
-360.02 74.689 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 325.931 lineto
-388 325.931 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-360.02 74.689 M
-366.02 74.689 lineto
-366.02 80.689 lineto
-360.02 80.689 lineto
-360.02 74.689 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-0.5 setlinewidth
-newpath
-69.533 34.247 M
-388 34.247 lineto
-388 325.931 lineto
-69.533 325.931 lineto
-69.533 34.247 lineto
-closepath
-stroke
-grestore
-%%Trailer
-%%Pages: 1
-%%EOF
diff --git a/sim/gobs/wiki/dc04kpv01.cfg b/sim/gobs/wiki/dc04kpv01.cfg
deleted file mode 100644
index 876cab9..0000000
--- a/sim/gobs/wiki/dc04kpv01.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv01.cfg system_size_100_1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/wiki/dc04kpv01.eps b/sim/gobs/wiki/dc04kpv01.eps
deleted file mode 100644
index c3a9eb3..0000000
--- a/sim/gobs/wiki/dc04kpv01.eps
+++ /dev/null
@@ -1,8186 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (Apache XML Graphics Commons: EPS Generator for Java2D)
-%%CreationDate: 2009-10-05T12:48:12
-%%Pages: (atend)
-%%BoundingBox: 0 0 400 400
-%%LanguageLevel: 3
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset (Apache XML Graphics Std ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2001-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (Basic set of procedures used by the XML Graphics project \(Batik and FOP\))
-/bd{bind def}bind def
-/ld{load def}bd
-/M/moveto ld
-/RM/rmoveto ld
-/t/show ld
-/A/ashow ld
-/cp/closepath ld
-/re {4 2 roll M
-1 index 0 rlineto
-0 exch rlineto
-neg 0 rlineto
-cp } bd
-/_ctm matrix def
-/_tm matrix def
-/BT { _ctm currentmatrix pop matrix _tm copy pop 0 0 moveto } bd
-/ET { _ctm setmatrix } bd
-/iTm { _ctm setmatrix _tm concat } bd
-/Tm { _tm astore pop iTm 0 0 moveto } bd
-/ux 0.0 def
-/uy 0.0 def
-/F {
- /Tp exch def
- /Tf exch def
- Tf findfont Tp scalefont setfont
- /cf Tf def /cs Tp def /cw ( ) stringwidth pop def
-} bd
-/ULS {currentpoint /uy exch def /ux exch def} bd
-/ULE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add moveto Tcx uy To add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/OLE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs add moveto Tcx uy To add cs add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/SOE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs 10 mul 26 idiv add moveto Tcx uy To add cs 10 mul 26 idiv add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/QUADTO {
-/Y22 exch store
-/X22 exch store
-/Y21 exch store
-/X21 exch store
-currentpoint
-/Y21 load 2 mul add 3 div exch
-/X21 load 2 mul add 3 div exch
-/X21 load 2 mul /X22 load add 3 div
-/Y21 load 2 mul /Y22 load add 3 div
-/X22 load /Y22 load curveto
-} bd
-/SSPD {
-dup length /d exch dict def
-{
-/v exch def
-/k exch def
-currentpagedevice k known {
-/cpdv currentpagedevice k get def
-v cpdv ne {
-/upd false def
-/nullv v type /nulltype eq def
-/nullcpdv cpdv type /nulltype eq def
-nullv nullcpdv or
-{
-/upd true def
-} {
-/sametype v type cpdv type eq def
-sametype {
-v type /arraytype eq {
-/vlen v length def
-/cpdvlen cpdv length def
-vlen cpdvlen eq {
-0 1 vlen 1 sub {
-/i exch def
-/obj v i get def
-/cpdobj cpdv i get def
-obj cpdobj ne {
-/upd true def
-exit
-} if
-} for
-} {
-/upd true def
-} ifelse
-} {
-v type /dicttype eq {
-v {
-/dv exch def
-/dk exch def
-/cpddv cpdv dk get def
-dv cpddv ne {
-/upd true def
-exit
-} if
-} forall
-} {
-/upd true def
-} ifelse
-} ifelse
-} if
-} ifelse
-upd true eq {
-d k v put
-} if
-} if
-} if
-} forall
-d length 0 gt {
-d setpagedevice
-} if
-} bd
-%%EndResource
-%%BeginResource: procset (Apache XML Graphics EPS ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2002-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (EPS procedures used by the Apache XML Graphics project \(Batik and FOP\))
-/BeginEPSF { %def
-/b4_Inc_state save def % Save state for cleanup
-/dict_count countdictstack def % Count objects on dict stack
-/op_count count 1 sub def % Count objects on operand stack
-userdict begin % Push userdict on dict stack
-/showpage { } def % Redefine showpage, { } = null proc
-0 setgray 0 setlinecap % Prepare graphics state
-1 setlinewidth 0 setlinejoin
-10 setmiterlimit [ ] 0 setdash newpath
-/languagelevel where % If level not equal to 1 then
-{pop languagelevel % set strokeadjust and
-1 ne % overprint to their defaults.
-{false setstrokeadjust false setoverprint
-} if
-} if
-} bd
-/EndEPSF { %def
-count op_count sub {pop} repeat % Clean up stacks
-countdictstack dict_count sub {end} repeat
-b4_Inc_state restore
-} bd
-%%EndResource
-%%EndProlog
-%%Page: 1 1
-%%PageBoundingBox: 0 0 400 400
-%%BeginPageSetup
-[1 0 0 -1 0 400] concat
-%%EndPageSetup
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-69.293 20.249 M
-69.293 5.796 lineto
-74.699 5.796 lineto
-79.105 5.796 79.105 9.374 QUADTO
-79.105 10.718 78.355 11.82 QUADTO
-77.605 12.921 76.293 13.499 QUADTO
-81.027 20.249 lineto
-77.371 20.249 lineto
-73.777 14.343 lineto
-72.121 14.343 lineto
-72.121 20.249 lineto
-69.293 20.249 lineto
-closepath
-72.121 12.359 M
-72.809 12.359 lineto
-76.09 12.359 76.09 9.718 QUADTO
-76.09 7.781 73.168 7.781 QUADTO
-72.121 7.781 lineto
-72.121 12.359 lineto
-closepath
-91.811 19.89 M
-89.764 20.499 87.904 20.499 QUADTO
-85.232 20.499 83.678 18.976 QUADTO
-82.123 17.453 82.123 14.812 QUADTO
-82.123 12.312 83.545 10.796 QUADTO
-84.967 9.281 87.295 9.281 QUADTO
-89.654 9.281 90.732 10.765 QUADTO
-91.811 12.249 91.811 15.468 QUADTO
-85.17 15.468 lineto
-85.467 18.531 88.529 18.531 QUADTO
-89.998 18.531 91.811 17.859 QUADTO
-91.811 19.89 lineto
-closepath
-85.123 13.828 M
-88.982 13.828 lineto
-88.982 11.093 87.201 11.093 QUADTO
-85.404 11.093 85.123 13.828 QUADTO
-closepath
-94.811 20.249 M
-94.811 4.828 lineto
-97.701 4.828 lineto
-97.701 11.546 lineto
-98.811 9.281 101.201 9.281 QUADTO
-103.139 9.281 104.248 10.695 QUADTO
-105.357 12.109 105.357 14.593 QUADTO
-105.357 17.281 104.107 18.89 QUADTO
-102.857 20.499 100.764 20.499 QUADTO
-98.967 20.499 97.701 19.171 QUADTO
-97.154 20.249 lineto
-94.811 20.249 lineto
-closepath
-97.701 17.453 M
-98.748 18.624 99.936 18.624 QUADTO
-101.014 18.624 101.646 17.593 QUADTO
-102.279 16.562 102.279 14.843 QUADTO
-102.279 11.546 100.154 11.546 QUADTO
-98.873 11.546 97.701 13.203 QUADTO
-97.701 17.453 lineto
-closepath
-114.688 20.249 M
-114.688 18.234 lineto
-113.281 20.499 111.031 20.499 QUADTO
-109.594 20.499 108.766 19.585 QUADTO
-107.938 18.671 107.938 17.109 QUADTO
-107.938 9.531 lineto
-110.828 9.531 lineto
-110.828 16.39 lineto
-110.828 18.218 112.047 18.218 QUADTO
-113.422 18.218 114.688 16.281 QUADTO
-114.688 9.531 lineto
-117.578 9.531 lineto
-117.578 20.249 lineto
-114.688 20.249 lineto
-closepath
-121.197 20.249 M
-121.197 9.531 lineto
-124.088 9.531 lineto
-124.088 20.249 lineto
-121.197 20.249 lineto
-closepath
-121.197 7.718 M
-121.197 5.312 lineto
-124.088 5.312 lineto
-124.088 7.718 lineto
-121.197 7.718 lineto
-closepath
-127.701 20.249 M
-127.701 4.828 lineto
-130.592 4.828 lineto
-130.592 20.249 lineto
-127.701 20.249 lineto
-closepath
-140.955 20.249 M
-140.955 18.234 lineto
-139.83 20.499 137.439 20.499 QUADTO
-135.502 20.499 134.4 19.078 QUADTO
-133.299 17.656 133.299 15.187 QUADTO
-133.299 12.484 134.549 10.882 QUADTO
-135.799 9.281 137.893 9.281 QUADTO
-139.564 9.281 140.955 10.609 QUADTO
-140.955 4.828 lineto
-143.846 4.828 lineto
-143.846 20.249 lineto
-140.955 20.249 lineto
-closepath
-140.955 12.328 M
-139.908 11.156 138.705 11.156 QUADTO
-137.643 11.156 137.01 12.179 QUADTO
-136.377 13.203 136.377 14.937 QUADTO
-136.377 18.234 138.486 18.234 QUADTO
-139.783 18.234 140.955 16.578 QUADTO
-140.955 12.328 lineto
-closepath
-154.049 20.249 M
-154.049 5.796 lineto
-157.049 5.796 lineto
-157.049 18.203 lineto
-163.564 18.203 lineto
-163.564 20.249 lineto
-154.049 20.249 lineto
-closepath
-170.18 20.499 M
-167.664 20.499 166.188 18.976 QUADTO
-164.711 17.453 164.711 14.89 QUADTO
-164.711 12.296 166.195 10.788 QUADTO
-167.68 9.281 170.242 9.281 QUADTO
-172.82 9.281 174.305 10.788 QUADTO
-175.789 12.296 175.789 14.874 QUADTO
-175.789 17.499 174.297 18.999 QUADTO
-172.805 20.499 170.18 20.499 QUADTO
-closepath
-170.227 18.687 M
-172.711 18.687 172.711 14.874 QUADTO
-172.711 13.124 172.055 12.109 QUADTO
-171.398 11.093 170.242 11.093 QUADTO
-169.102 11.093 168.445 12.109 QUADTO
-167.789 13.124 167.789 14.89 QUADTO
-167.789 16.64 168.438 17.663 QUADTO
-169.086 18.687 170.227 18.687 QUADTO
-closepath
-183.703 19.093 M
-182.25 20.499 180.609 20.499 QUADTO
-179.203 20.499 178.32 19.64 QUADTO
-177.438 18.781 177.438 17.406 QUADTO
-177.438 15.624 178.859 14.663 QUADTO
-180.281 13.703 182.938 13.703 QUADTO
-183.703 13.703 lineto
-183.703 12.734 lineto
-183.703 11.062 181.797 11.062 QUADTO
-180.109 11.062 178.375 12.015 QUADTO
-178.375 10.031 lineto
-180.344 9.281 182.266 9.281 QUADTO
-186.469 9.281 186.469 12.624 QUADTO
-186.469 17.374 lineto
-186.469 18.64 187.281 18.64 QUADTO
-187.438 18.64 187.672 18.593 QUADTO
-187.734 20.218 lineto
-186.812 20.499 186.109 20.499 QUADTO
-184.344 20.499 183.828 19.093 QUADTO
-183.703 19.093 lineto
-closepath
-183.703 17.546 M
-183.703 15.359 lineto
-183.016 15.359 lineto
-180.219 15.359 180.219 17.124 QUADTO
-180.219 17.718 180.625 18.124 QUADTO
-181.031 18.531 181.625 18.531 QUADTO
-182.641 18.531 183.703 17.546 QUADTO
-closepath
-196.961 20.249 M
-196.961 18.234 lineto
-195.836 20.499 193.445 20.499 QUADTO
-191.508 20.499 190.406 19.078 QUADTO
-189.305 17.656 189.305 15.187 QUADTO
-189.305 12.484 190.555 10.882 QUADTO
-191.805 9.281 193.898 9.281 QUADTO
-195.57 9.281 196.961 10.609 QUADTO
-196.961 4.828 lineto
-199.852 4.828 lineto
-199.852 20.249 lineto
-196.961 20.249 lineto
-closepath
-196.961 12.328 M
-195.914 11.156 194.711 11.156 QUADTO
-193.648 11.156 193.016 12.179 QUADTO
-192.383 13.203 192.383 14.937 QUADTO
-192.383 18.234 194.492 18.234 QUADTO
-195.789 18.234 196.961 16.578 QUADTO
-196.961 12.328 lineto
-closepath
-210.055 20.249 M
-210.055 5.796 lineto
-216.273 5.796 lineto
-219.633 5.796 221.422 7.578 QUADTO
-223.211 9.359 223.211 12.718 QUADTO
-223.211 16.296 221.312 18.273 QUADTO
-219.414 20.249 216.008 20.249 QUADTO
-210.055 20.249 lineto
-closepath
-213.055 18.203 M
-215.305 18.203 lineto
-217.68 18.203 218.844 16.89 QUADTO
-220.008 15.578 220.008 12.89 QUADTO
-220.008 10.828 219.07 9.453 QUADTO
-218.43 8.499 217.523 8.14 QUADTO
-216.617 7.781 214.867 7.781 QUADTO
-213.055 7.781 lineto
-213.055 18.203 lineto
-closepath
-225.914 20.249 M
-225.914 9.531 lineto
-228.805 9.531 lineto
-228.805 20.249 lineto
-225.914 20.249 lineto
-closepath
-225.914 7.718 M
-225.914 5.312 lineto
-228.805 5.312 lineto
-228.805 7.718 lineto
-225.914 7.718 lineto
-closepath
-232.137 19.906 M
-232.137 17.781 lineto
-234.277 18.687 235.809 18.687 QUADTO
-237.574 18.687 237.574 17.468 QUADTO
-237.574 16.687 236.121 16.109 QUADTO
-235.137 15.718 lineto
-233.543 15.078 232.863 14.335 QUADTO
-232.184 13.593 232.184 12.499 QUADTO
-232.184 10.968 233.34 10.124 QUADTO
-234.496 9.281 236.59 9.281 QUADTO
-237.902 9.281 239.715 9.656 QUADTO
-239.715 11.687 lineto
-237.965 11.093 236.824 11.093 QUADTO
-235.027 11.093 235.027 12.203 QUADTO
-235.027 12.937 236.355 13.437 QUADTO
-237.199 13.765 lineto
-239.09 14.484 239.824 15.21 QUADTO
-240.559 15.937 240.559 17.093 QUADTO
-240.559 18.609 239.301 19.554 QUADTO
-238.043 20.499 236.043 20.499 QUADTO
-234.105 20.499 232.137 19.906 QUADTO
-closepath
-249.242 20.187 M
-248.211 20.499 247.617 20.499 QUADTO
-243.852 20.499 243.852 16.984 QUADTO
-243.852 11.328 lineto
-242.664 11.328 lineto
-242.664 9.531 lineto
-243.852 9.531 lineto
-243.852 7.718 lineto
-246.742 7.39 lineto
-246.742 9.531 lineto
-249.039 9.531 lineto
-249.039 11.328 lineto
-246.742 11.328 lineto
-246.742 16.593 lineto
-246.742 18.562 248.367 18.562 QUADTO
-248.727 18.562 249.242 18.437 QUADTO
-249.242 20.187 lineto
-closepath
-251.832 20.249 M
-251.832 9.531 lineto
-254.723 9.531 lineto
-254.723 11.546 lineto
-255.848 9.281 258.129 9.281 QUADTO
-258.41 9.281 258.676 9.343 QUADTO
-258.676 11.921 lineto
-258.051 11.687 257.535 11.687 QUADTO
-255.801 11.687 254.723 13.437 QUADTO
-254.723 20.249 lineto
-251.832 20.249 lineto
-closepath
-260.924 20.249 M
-260.924 9.531 lineto
-263.814 9.531 lineto
-263.814 20.249 lineto
-260.924 20.249 lineto
-closepath
-260.924 7.718 M
-260.924 5.312 lineto
-263.814 5.312 lineto
-263.814 7.718 lineto
-260.924 7.718 lineto
-closepath
-267.428 20.249 M
-267.428 4.828 lineto
-270.318 4.828 lineto
-270.318 11.546 lineto
-271.428 9.281 273.818 9.281 QUADTO
-275.756 9.281 276.865 10.695 QUADTO
-277.975 12.109 277.975 14.593 QUADTO
-277.975 17.281 276.725 18.89 QUADTO
-275.475 20.499 273.381 20.499 QUADTO
-271.584 20.499 270.318 19.171 QUADTO
-269.771 20.249 lineto
-267.428 20.249 lineto
-closepath
-270.318 17.453 M
-271.365 18.624 272.553 18.624 QUADTO
-273.631 18.624 274.264 17.593 QUADTO
-274.896 16.562 274.896 14.843 QUADTO
-274.896 11.546 272.771 11.546 QUADTO
-271.49 11.546 270.318 13.203 QUADTO
-270.318 17.453 lineto
-closepath
-287.305 20.249 M
-287.305 18.234 lineto
-285.898 20.499 283.648 20.499 QUADTO
-282.211 20.499 281.383 19.585 QUADTO
-280.555 18.671 280.555 17.109 QUADTO
-280.555 9.531 lineto
-283.445 9.531 lineto
-283.445 16.39 lineto
-283.445 18.218 284.664 18.218 QUADTO
-286.039 18.218 287.305 16.281 QUADTO
-287.305 9.531 lineto
-290.195 9.531 lineto
-290.195 20.249 lineto
-287.305 20.249 lineto
-closepath
-299.33 20.187 M
-298.299 20.499 297.705 20.499 QUADTO
-293.939 20.499 293.939 16.984 QUADTO
-293.939 11.328 lineto
-292.752 11.328 lineto
-292.752 9.531 lineto
-293.939 9.531 lineto
-293.939 7.718 lineto
-296.83 7.39 lineto
-296.83 9.531 lineto
-299.127 9.531 lineto
-299.127 11.328 lineto
-296.83 11.328 lineto
-296.83 16.593 lineto
-296.83 18.562 298.455 18.562 QUADTO
-298.814 18.562 299.33 18.437 QUADTO
-299.33 20.187 lineto
-closepath
-301.92 20.249 M
-301.92 9.531 lineto
-304.811 9.531 lineto
-304.811 20.249 lineto
-301.92 20.249 lineto
-closepath
-301.92 7.718 M
-301.92 5.312 lineto
-304.811 5.312 lineto
-304.811 7.718 lineto
-301.92 7.718 lineto
-closepath
-312.924 20.499 M
-310.408 20.499 308.932 18.976 QUADTO
-307.455 17.453 307.455 14.89 QUADTO
-307.455 12.296 308.939 10.788 QUADTO
-310.424 9.281 312.986 9.281 QUADTO
-315.564 9.281 317.049 10.788 QUADTO
-318.533 12.296 318.533 14.874 QUADTO
-318.533 17.499 317.041 18.999 QUADTO
-315.549 20.499 312.924 20.499 QUADTO
-closepath
-312.971 18.687 M
-315.455 18.687 315.455 14.874 QUADTO
-315.455 13.124 314.799 12.109 QUADTO
-314.143 11.093 312.986 11.093 QUADTO
-311.846 11.093 311.189 12.109 QUADTO
-310.533 13.124 310.533 14.89 QUADTO
-310.533 16.64 311.182 17.663 QUADTO
-311.83 18.687 312.971 18.687 QUADTO
-closepath
-321.197 20.249 M
-321.197 9.531 lineto
-324.088 9.531 lineto
-324.088 11.546 lineto
-325.494 9.281 327.729 9.281 QUADTO
-329.166 9.281 330.002 10.187 QUADTO
-330.838 11.093 330.838 12.671 QUADTO
-330.838 20.249 lineto
-327.947 20.249 lineto
-327.947 13.39 lineto
-327.947 11.562 326.729 11.562 QUADTO
-325.354 11.562 324.088 13.499 QUADTO
-324.088 20.249 lineto
-321.197 20.249 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-1 335.356 M
-399 335.356 lineto
-399 399 lineto
-1 399 lineto
-1 335.356 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-1.5 335.856 M
-398.5 335.856 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-1.5 398.5 M
-398.5 398.5 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-1.5 398.5 M
-1.5 335.856 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-398.5 398.5 M
-398.5 335.856 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-5 346.63 M
-19 346.63 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-9 343.63 M
-15 343.63 lineto
-15 349.63 lineto
-9 349.63 lineto
-9 343.63 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-9 343.63 M
-15 343.63 lineto
-15 349.63 lineto
-9 349.63 lineto
-9 343.63 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-24.125 350.906 M
-24.125 342.234 lineto
-26.484 342.234 lineto
-28.047 342.234 28.734 342.765 QUADTO
-29.422 343.296 29.422 344.499 QUADTO
-29.422 345.89 28.484 346.671 QUADTO
-27.547 347.453 25.891 347.453 QUADTO
-25.344 347.453 lineto
-25.344 350.906 lineto
-24.125 350.906 lineto
-closepath
-25.344 346.531 M
-25.844 346.531 lineto
-26.938 346.531 27.531 346.023 QUADTO
-28.125 345.515 28.125 344.593 QUADTO
-28.125 343.828 27.656 343.492 QUADTO
-27.188 343.156 26.094 343.156 QUADTO
-25.344 343.156 lineto
-25.344 346.531 lineto
-closepath
-35.148 347.593 M
-33.664 343.843 lineto
-32.195 347.593 lineto
-35.148 347.593 lineto
-closepath
-36.445 350.906 M
-35.508 348.499 lineto
-31.836 348.499 lineto
-30.883 350.906 lineto
-29.727 350.906 lineto
-33.18 342.234 lineto
-34.398 342.234 lineto
-37.773 350.906 lineto
-36.445 350.906 lineto
-closepath
-40.725 351.124 M
-39.865 351.124 38.506 350.734 QUADTO
-38.506 349.515 lineto
-39.959 350.203 40.912 350.203 QUADTO
-41.631 350.203 42.076 349.82 QUADTO
-42.521 349.437 42.521 348.812 QUADTO
-42.521 348.312 42.232 347.953 QUADTO
-41.943 347.593 41.162 347.156 QUADTO
-40.568 346.812 lineto
-39.459 346.171 39.006 345.617 QUADTO
-38.553 345.062 38.553 344.312 QUADTO
-38.553 343.312 39.279 342.663 QUADTO
-40.006 342.015 41.131 342.015 QUADTO
-42.131 342.015 43.24 342.343 QUADTO
-43.24 343.468 lineto
-41.865 342.937 41.193 342.937 QUADTO
-40.553 342.937 40.139 343.273 QUADTO
-39.725 343.609 39.725 344.124 QUADTO
-39.725 344.562 40.029 344.898 QUADTO
-40.334 345.234 41.146 345.703 QUADTO
-41.756 346.046 lineto
-42.881 346.687 43.326 347.257 QUADTO
-43.771 347.828 43.771 348.624 QUADTO
-43.771 349.749 42.943 350.437 QUADTO
-42.115 351.124 40.725 351.124 QUADTO
-closepath
-47.562 350.906 M
-47.562 343.156 lineto
-44.484 343.156 lineto
-44.484 342.234 lineto
-51.859 342.234 lineto
-51.859 343.156 lineto
-48.781 343.156 lineto
-48.781 350.906 lineto
-47.562 350.906 lineto
-closepath
-56.885 350.906 M
-56.885 342.234 lineto
-58.088 342.234 lineto
-62.447 348.937 lineto
-62.447 342.234 lineto
-63.51 342.234 lineto
-63.51 350.906 lineto
-62.307 350.906 lineto
-57.932 344.203 lineto
-57.932 350.906 lineto
-56.885 350.906 lineto
-closepath
-65.922 348.953 M
-65.922 348.093 lineto
-72.859 348.093 lineto
-72.859 348.953 lineto
-65.922 348.953 lineto
-closepath
-65.922 346.781 M
-65.922 345.921 lineto
-72.859 345.921 lineto
-72.859 346.781 lineto
-65.922 346.781 lineto
-closepath
-75.977 350.906 M
-75.977 350.031 lineto
-77.711 350.031 lineto
-77.711 343.187 lineto
-75.977 343.624 lineto
-75.977 342.734 lineto
-78.867 342.015 lineto
-78.867 350.031 lineto
-80.602 350.031 lineto
-80.602 350.906 lineto
-75.977 350.906 lineto
-closepath
-85.518 351.124 M
-84.174 351.124 83.346 349.859 QUADTO
-82.518 348.593 82.518 346.562 QUADTO
-82.518 344.515 83.354 343.265 QUADTO
-84.189 342.015 85.549 342.015 QUADTO
-86.908 342.015 87.744 343.265 QUADTO
-88.58 344.515 88.58 346.546 QUADTO
-88.58 348.624 87.744 349.874 QUADTO
-86.908 351.124 85.518 351.124 QUADTO
-closepath
-85.533 350.249 M
-87.361 350.249 87.361 346.531 QUADTO
-87.361 342.89 85.549 342.89 QUADTO
-83.752 342.89 83.752 346.562 QUADTO
-83.752 350.249 85.533 350.249 QUADTO
-closepath
-93.105 351.124 M
-91.762 351.124 90.934 349.859 QUADTO
-90.105 348.593 90.105 346.562 QUADTO
-90.105 344.515 90.941 343.265 QUADTO
-91.777 342.015 93.137 342.015 QUADTO
-94.496 342.015 95.332 343.265 QUADTO
-96.168 344.515 96.168 346.546 QUADTO
-96.168 348.624 95.332 349.874 QUADTO
-94.496 351.124 93.105 351.124 QUADTO
-closepath
-93.121 350.249 M
-94.949 350.249 94.949 346.531 QUADTO
-94.949 342.89 93.137 342.89 QUADTO
-91.34 342.89 91.34 346.562 QUADTO
-91.34 350.249 93.121 350.249 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-102.928 346.63 M
-116.928 346.63 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-112.928 346.63 M
-112.928 348.287 111.585 349.63 109.928 349.63 curveto
-108.271 349.63 106.928 348.287 106.928 346.63 curveto
-106.928 344.973 108.271 343.63 109.928 343.63 curveto
-111.585 343.63 112.928 344.973 112.928 346.63 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-112.928 346.63 M
-112.928 348.287 111.585 349.63 109.928 349.63 curveto
-108.271 349.63 106.928 348.287 106.928 346.63 curveto
-106.928 344.973 108.271 343.63 109.928 343.63 curveto
-111.585 343.63 112.928 344.973 112.928 346.63 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-122.053 350.906 M
-122.053 342.234 lineto
-124.412 342.234 lineto
-125.975 342.234 126.662 342.765 QUADTO
-127.35 343.296 127.35 344.499 QUADTO
-127.35 345.89 126.412 346.671 QUADTO
-125.475 347.453 123.818 347.453 QUADTO
-123.271 347.453 lineto
-123.271 350.906 lineto
-122.053 350.906 lineto
-closepath
-123.271 346.531 M
-123.771 346.531 lineto
-124.865 346.531 125.459 346.023 QUADTO
-126.053 345.515 126.053 344.593 QUADTO
-126.053 343.828 125.584 343.492 QUADTO
-125.115 343.156 124.021 343.156 QUADTO
-123.271 343.156 lineto
-123.271 346.531 lineto
-closepath
-133.076 347.593 M
-131.592 343.843 lineto
-130.123 347.593 lineto
-133.076 347.593 lineto
-closepath
-134.373 350.906 M
-133.436 348.499 lineto
-129.764 348.499 lineto
-128.811 350.906 lineto
-127.654 350.906 lineto
-131.107 342.234 lineto
-132.326 342.234 lineto
-135.701 350.906 lineto
-134.373 350.906 lineto
-closepath
-138.652 351.124 M
-137.793 351.124 136.434 350.734 QUADTO
-136.434 349.515 lineto
-137.887 350.203 138.84 350.203 QUADTO
-139.559 350.203 140.004 349.82 QUADTO
-140.449 349.437 140.449 348.812 QUADTO
-140.449 348.312 140.16 347.953 QUADTO
-139.871 347.593 139.09 347.156 QUADTO
-138.496 346.812 lineto
-137.387 346.171 136.934 345.617 QUADTO
-136.48 345.062 136.48 344.312 QUADTO
-136.48 343.312 137.207 342.663 QUADTO
-137.934 342.015 139.059 342.015 QUADTO
-140.059 342.015 141.168 342.343 QUADTO
-141.168 343.468 lineto
-139.793 342.937 139.121 342.937 QUADTO
-138.48 342.937 138.066 343.273 QUADTO
-137.652 343.609 137.652 344.124 QUADTO
-137.652 344.562 137.957 344.898 QUADTO
-138.262 345.234 139.074 345.703 QUADTO
-139.684 346.046 lineto
-140.809 346.687 141.254 347.257 QUADTO
-141.699 347.828 141.699 348.624 QUADTO
-141.699 349.749 140.871 350.437 QUADTO
-140.043 351.124 138.652 351.124 QUADTO
-closepath
-145.49 350.906 M
-145.49 343.156 lineto
-142.412 343.156 lineto
-142.412 342.234 lineto
-149.787 342.234 lineto
-149.787 343.156 lineto
-146.709 343.156 lineto
-146.709 350.906 lineto
-145.49 350.906 lineto
-closepath
-154.812 350.906 M
-154.812 342.234 lineto
-156.016 342.234 lineto
-160.375 348.937 lineto
-160.375 342.234 lineto
-161.438 342.234 lineto
-161.438 350.906 lineto
-160.234 350.906 lineto
-155.859 344.203 lineto
-155.859 350.906 lineto
-154.812 350.906 lineto
-closepath
-163.85 348.953 M
-163.85 348.093 lineto
-170.787 348.093 lineto
-170.787 348.953 lineto
-163.85 348.953 lineto
-closepath
-163.85 346.781 M
-163.85 345.921 lineto
-170.787 345.921 lineto
-170.787 346.781 lineto
-163.85 346.781 lineto
-closepath
-173.904 350.906 M
-173.904 350.031 lineto
-175.639 350.031 lineto
-175.639 343.187 lineto
-173.904 343.624 lineto
-173.904 342.734 lineto
-176.795 342.015 lineto
-176.795 350.031 lineto
-178.529 350.031 lineto
-178.529 350.906 lineto
-173.904 350.906 lineto
-closepath
-183.445 351.124 M
-182.102 351.124 181.273 349.859 QUADTO
-180.445 348.593 180.445 346.562 QUADTO
-180.445 344.515 181.281 343.265 QUADTO
-182.117 342.015 183.477 342.015 QUADTO
-184.836 342.015 185.672 343.265 QUADTO
-186.508 344.515 186.508 346.546 QUADTO
-186.508 348.624 185.672 349.874 QUADTO
-184.836 351.124 183.445 351.124 QUADTO
-closepath
-183.461 350.249 M
-185.289 350.249 185.289 346.531 QUADTO
-185.289 342.89 183.477 342.89 QUADTO
-181.68 342.89 181.68 346.562 QUADTO
-181.68 350.249 183.461 350.249 QUADTO
-closepath
-191.033 351.124 M
-189.689 351.124 188.861 349.859 QUADTO
-188.033 348.593 188.033 346.562 QUADTO
-188.033 344.515 188.869 343.265 QUADTO
-189.705 342.015 191.064 342.015 QUADTO
-192.424 342.015 193.26 343.265 QUADTO
-194.096 344.515 194.096 346.546 QUADTO
-194.096 348.624 193.26 349.874 QUADTO
-192.424 351.124 191.033 351.124 QUADTO
-closepath
-191.049 350.249 M
-192.877 350.249 192.877 346.531 QUADTO
-192.877 342.89 191.064 342.89 QUADTO
-189.268 342.89 189.268 346.562 QUADTO
-189.268 350.249 191.049 350.249 QUADTO
-closepath
-198.621 351.124 M
-197.277 351.124 196.449 349.859 QUADTO
-195.621 348.593 195.621 346.562 QUADTO
-195.621 344.515 196.457 343.265 QUADTO
-197.293 342.015 198.652 342.015 QUADTO
-200.012 342.015 200.848 343.265 QUADTO
-201.684 344.515 201.684 346.546 QUADTO
-201.684 348.624 200.848 349.874 QUADTO
-200.012 351.124 198.621 351.124 QUADTO
-closepath
-198.637 350.249 M
-200.465 350.249 200.465 346.531 QUADTO
-200.465 342.89 198.652 342.89 QUADTO
-196.855 342.89 196.855 346.562 QUADTO
-196.855 350.249 198.637 350.249 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-208.443 346.63 M
-222.443 346.63 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-215.443 343.63 M
-218.443 349.63 lineto
-212.443 349.63 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-215.443 343.63 M
-218.443 349.63 lineto
-212.443 349.63 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-227.568 350.906 M
-227.568 342.234 lineto
-228.725 342.234 lineto
-228.725 346.499 lineto
-232.225 342.234 lineto
-233.459 342.234 lineto
-230.068 346.374 lineto
-234.068 350.906 lineto
-232.506 350.906 lineto
-228.725 346.515 lineto
-228.725 350.906 lineto
-227.568 350.906 lineto
-closepath
-238.715 350.093 M
-237.684 351.046 236.715 351.046 QUADTO
-235.918 351.046 235.402 350.554 QUADTO
-234.887 350.062 234.887 349.312 QUADTO
-234.887 348.265 235.762 347.703 QUADTO
-236.637 347.14 238.262 347.14 QUADTO
-238.543 347.14 lineto
-238.543 346.374 lineto
-238.543 345.265 237.402 345.265 QUADTO
-236.496 345.265 235.434 345.828 QUADTO
-235.434 344.874 lineto
-236.605 344.406 237.621 344.406 QUADTO
-238.684 344.406 239.191 344.882 QUADTO
-239.699 345.359 239.699 346.374 QUADTO
-239.699 349.265 lineto
-239.699 350.249 240.309 350.249 QUADTO
-240.387 350.249 240.527 350.218 QUADTO
-240.605 350.859 lineto
-240.215 351.046 239.746 351.046 QUADTO
-238.934 351.046 238.715 350.093 QUADTO
-closepath
-238.543 349.468 M
-238.543 347.828 lineto
-238.152 347.812 lineto
-237.215 347.812 236.629 348.171 QUADTO
-236.043 348.531 236.043 349.124 QUADTO
-236.043 349.531 236.332 349.82 QUADTO
-236.621 350.109 237.043 350.109 QUADTO
-237.762 350.109 238.543 349.468 QUADTO
-closepath
-246.139 350.906 M
-246.139 349.703 lineto
-245.436 351.046 244.029 351.046 QUADTO
-242.873 351.046 242.217 350.21 QUADTO
-241.561 349.374 241.561 347.921 QUADTO
-241.561 346.328 242.303 345.367 QUADTO
-243.045 344.406 244.264 344.406 QUADTO
-245.404 344.406 246.139 345.265 QUADTO
-246.139 341.656 lineto
-247.311 341.656 lineto
-247.311 350.906 lineto
-246.139 350.906 lineto
-closepath
-246.139 346.062 M
-245.248 345.265 244.451 345.265 QUADTO
-242.779 345.265 242.779 347.812 QUADTO
-242.779 350.031 244.264 350.031 QUADTO
-245.217 350.031 246.139 348.984 QUADTO
-246.139 346.062 lineto
-closepath
-254.27 350.703 M
-253.113 351.046 252.285 351.046 QUADTO
-250.879 351.046 249.996 350.117 QUADTO
-249.113 349.187 249.113 347.687 QUADTO
-249.113 346.249 249.895 345.32 QUADTO
-250.676 344.39 251.895 344.39 QUADTO
-253.051 344.39 253.676 345.21 QUADTO
-254.301 346.031 254.301 347.546 QUADTO
-254.301 347.906 lineto
-250.285 347.906 lineto
-250.535 350.171 252.504 350.171 QUADTO
-253.223 350.171 254.27 349.781 QUADTO
-254.27 350.703 lineto
-closepath
-250.332 347.031 M
-253.145 347.031 lineto
-253.145 345.265 251.816 345.265 QUADTO
-250.488 345.265 250.332 347.031 QUADTO
-closepath
-256.299 350.906 M
-256.299 344.546 lineto
-257.455 344.546 lineto
-257.455 345.734 lineto
-258.299 344.406 259.627 344.406 QUADTO
-260.893 344.406 261.361 345.734 QUADTO
-262.174 344.39 263.486 344.39 QUADTO
-264.33 344.39 264.799 344.89 QUADTO
-265.268 345.39 265.268 346.281 QUADTO
-265.268 350.906 lineto
-264.096 350.906 lineto
-264.096 346.453 lineto
-264.096 345.374 263.236 345.374 QUADTO
-262.346 345.374 261.361 346.64 QUADTO
-261.361 350.906 lineto
-260.205 350.906 lineto
-260.205 346.453 lineto
-260.205 345.359 259.314 345.359 QUADTO
-258.455 345.359 257.455 346.64 QUADTO
-257.455 350.906 lineto
-256.299 350.906 lineto
-closepath
-267.502 350.906 M
-267.502 341.656 lineto
-268.658 341.656 lineto
-268.658 350.906 lineto
-267.502 350.906 lineto
-closepath
-270.971 350.906 M
-270.971 344.546 lineto
-272.127 344.546 lineto
-272.127 350.906 lineto
-270.971 350.906 lineto
-closepath
-270.971 343.39 M
-270.971 342.234 lineto
-272.127 342.234 lineto
-272.127 343.39 lineto
-270.971 343.39 lineto
-closepath
-277.721 350.093 M
-276.689 351.046 275.721 351.046 QUADTO
-274.924 351.046 274.408 350.554 QUADTO
-273.893 350.062 273.893 349.312 QUADTO
-273.893 348.265 274.768 347.703 QUADTO
-275.643 347.14 277.268 347.14 QUADTO
-277.549 347.14 lineto
-277.549 346.374 lineto
-277.549 345.265 276.408 345.265 QUADTO
-275.502 345.265 274.439 345.828 QUADTO
-274.439 344.874 lineto
-275.611 344.406 276.627 344.406 QUADTO
-277.689 344.406 278.197 344.882 QUADTO
-278.705 345.359 278.705 346.374 QUADTO
-278.705 349.265 lineto
-278.705 350.249 279.314 350.249 QUADTO
-279.393 350.249 279.533 350.218 QUADTO
-279.611 350.859 lineto
-279.221 351.046 278.752 351.046 QUADTO
-277.939 351.046 277.721 350.093 QUADTO
-closepath
-277.549 349.468 M
-277.549 347.828 lineto
-277.158 347.812 lineto
-276.221 347.812 275.635 348.171 QUADTO
-275.049 348.531 275.049 349.124 QUADTO
-275.049 349.531 275.338 349.82 QUADTO
-275.627 350.109 276.049 350.109 QUADTO
-276.768 350.109 277.549 349.468 QUADTO
-closepath
-284.832 350.906 M
-284.832 342.234 lineto
-286.035 342.234 lineto
-290.395 348.937 lineto
-290.395 342.234 lineto
-291.457 342.234 lineto
-291.457 350.906 lineto
-290.254 350.906 lineto
-285.879 344.203 lineto
-285.879 350.906 lineto
-284.832 350.906 lineto
-closepath
-293.869 348.953 M
-293.869 348.093 lineto
-300.807 348.093 lineto
-300.807 348.953 lineto
-293.869 348.953 lineto
-closepath
-293.869 346.781 M
-293.869 345.921 lineto
-300.807 345.921 lineto
-300.807 346.781 lineto
-293.869 346.781 lineto
-closepath
-303.924 350.906 M
-303.924 350.031 lineto
-305.658 350.031 lineto
-305.658 343.187 lineto
-303.924 343.624 lineto
-303.924 342.734 lineto
-306.814 342.015 lineto
-306.814 350.031 lineto
-308.549 350.031 lineto
-308.549 350.906 lineto
-303.924 350.906 lineto
-closepath
-313.465 351.124 M
-312.121 351.124 311.293 349.859 QUADTO
-310.465 348.593 310.465 346.562 QUADTO
-310.465 344.515 311.301 343.265 QUADTO
-312.137 342.015 313.496 342.015 QUADTO
-314.855 342.015 315.691 343.265 QUADTO
-316.527 344.515 316.527 346.546 QUADTO
-316.527 348.624 315.691 349.874 QUADTO
-314.855 351.124 313.465 351.124 QUADTO
-closepath
-313.48 350.249 M
-315.309 350.249 315.309 346.531 QUADTO
-315.309 342.89 313.496 342.89 QUADTO
-311.699 342.89 311.699 346.562 QUADTO
-311.699 350.249 313.48 350.249 QUADTO
-closepath
-321.053 351.124 M
-319.709 351.124 318.881 349.859 QUADTO
-318.053 348.593 318.053 346.562 QUADTO
-318.053 344.515 318.889 343.265 QUADTO
-319.725 342.015 321.084 342.015 QUADTO
-322.443 342.015 323.279 343.265 QUADTO
-324.115 344.515 324.115 346.546 QUADTO
-324.115 348.624 323.279 349.874 QUADTO
-322.443 351.124 321.053 351.124 QUADTO
-closepath
-321.068 350.249 M
-322.896 350.249 322.896 346.531 QUADTO
-322.896 342.89 321.084 342.89 QUADTO
-319.287 342.89 319.287 346.562 QUADTO
-319.287 350.249 321.068 350.249 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-5 367.178 M
-19 367.178 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-12 364.178 M
-15 367.178 lineto
-12 370.178 lineto
-9 367.178 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-12 364.178 M
-15 367.178 lineto
-12 370.178 lineto
-9 367.178 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-24.125 371.454 M
-24.125 362.782 lineto
-25.281 362.782 lineto
-25.281 367.047 lineto
-28.781 362.782 lineto
-30.016 362.782 lineto
-26.625 366.922 lineto
-30.625 371.454 lineto
-29.062 371.454 lineto
-25.281 367.063 lineto
-25.281 371.454 lineto
-24.125 371.454 lineto
-closepath
-35.271 370.641 M
-34.24 371.594 33.271 371.594 QUADTO
-32.475 371.594 31.959 371.102 QUADTO
-31.443 370.61 31.443 369.86 QUADTO
-31.443 368.813 32.318 368.251 QUADTO
-33.193 367.688 34.818 367.688 QUADTO
-35.1 367.688 lineto
-35.1 366.922 lineto
-35.1 365.813 33.959 365.813 QUADTO
-33.053 365.813 31.99 366.376 QUADTO
-31.99 365.422 lineto
-33.162 364.954 34.178 364.954 QUADTO
-35.24 364.954 35.748 365.43 QUADTO
-36.256 365.907 36.256 366.922 QUADTO
-36.256 369.813 lineto
-36.256 370.797 36.865 370.797 QUADTO
-36.943 370.797 37.084 370.766 QUADTO
-37.162 371.407 lineto
-36.771 371.594 36.303 371.594 QUADTO
-35.49 371.594 35.271 370.641 QUADTO
-closepath
-35.1 370.016 M
-35.1 368.376 lineto
-34.709 368.36 lineto
-33.771 368.36 33.186 368.719 QUADTO
-32.6 369.079 32.6 369.672 QUADTO
-32.6 370.079 32.889 370.368 QUADTO
-33.178 370.657 33.6 370.657 QUADTO
-34.318 370.657 35.1 370.016 QUADTO
-closepath
-42.695 371.454 M
-42.695 370.251 lineto
-41.992 371.594 40.586 371.594 QUADTO
-39.43 371.594 38.773 370.758 QUADTO
-38.117 369.922 38.117 368.469 QUADTO
-38.117 366.876 38.859 365.915 QUADTO
-39.602 364.954 40.82 364.954 QUADTO
-41.961 364.954 42.695 365.813 QUADTO
-42.695 362.204 lineto
-43.867 362.204 lineto
-43.867 371.454 lineto
-42.695 371.454 lineto
-closepath
-42.695 366.61 M
-41.805 365.813 41.008 365.813 QUADTO
-39.336 365.813 39.336 368.36 QUADTO
-39.336 370.579 40.82 370.579 QUADTO
-41.773 370.579 42.695 369.532 QUADTO
-42.695 366.61 lineto
-closepath
-50.826 371.251 M
-49.67 371.594 48.842 371.594 QUADTO
-47.436 371.594 46.553 370.665 QUADTO
-45.67 369.735 45.67 368.235 QUADTO
-45.67 366.797 46.451 365.868 QUADTO
-47.232 364.938 48.451 364.938 QUADTO
-49.607 364.938 50.232 365.758 QUADTO
-50.857 366.579 50.857 368.094 QUADTO
-50.857 368.454 lineto
-46.842 368.454 lineto
-47.092 370.719 49.061 370.719 QUADTO
-49.779 370.719 50.826 370.329 QUADTO
-50.826 371.251 lineto
-closepath
-46.889 367.579 M
-49.701 367.579 lineto
-49.701 365.813 48.373 365.813 QUADTO
-47.045 365.813 46.889 367.579 QUADTO
-closepath
-52.855 371.454 M
-52.855 365.094 lineto
-54.012 365.094 lineto
-54.012 366.282 lineto
-54.855 364.954 56.184 364.954 QUADTO
-57.449 364.954 57.918 366.282 QUADTO
-58.73 364.938 60.043 364.938 QUADTO
-60.887 364.938 61.355 365.438 QUADTO
-61.824 365.938 61.824 366.829 QUADTO
-61.824 371.454 lineto
-60.652 371.454 lineto
-60.652 367.001 lineto
-60.652 365.922 59.793 365.922 QUADTO
-58.902 365.922 57.918 367.188 QUADTO
-57.918 371.454 lineto
-56.762 371.454 lineto
-56.762 367.001 lineto
-56.762 365.907 55.871 365.907 QUADTO
-55.012 365.907 54.012 367.188 QUADTO
-54.012 371.454 lineto
-52.855 371.454 lineto
-closepath
-64.059 371.454 M
-64.059 362.204 lineto
-65.215 362.204 lineto
-65.215 371.454 lineto
-64.059 371.454 lineto
-closepath
-67.527 371.454 M
-67.527 365.094 lineto
-68.684 365.094 lineto
-68.684 371.454 lineto
-67.527 371.454 lineto
-closepath
-67.527 363.938 M
-67.527 362.782 lineto
-68.684 362.782 lineto
-68.684 363.938 lineto
-67.527 363.938 lineto
-closepath
-74.277 370.641 M
-73.246 371.594 72.277 371.594 QUADTO
-71.48 371.594 70.965 371.102 QUADTO
-70.449 370.61 70.449 369.86 QUADTO
-70.449 368.813 71.324 368.251 QUADTO
-72.199 367.688 73.824 367.688 QUADTO
-74.105 367.688 lineto
-74.105 366.922 lineto
-74.105 365.813 72.965 365.813 QUADTO
-72.059 365.813 70.996 366.376 QUADTO
-70.996 365.422 lineto
-72.168 364.954 73.184 364.954 QUADTO
-74.246 364.954 74.754 365.43 QUADTO
-75.262 365.907 75.262 366.922 QUADTO
-75.262 369.813 lineto
-75.262 370.797 75.871 370.797 QUADTO
-75.949 370.797 76.09 370.766 QUADTO
-76.168 371.407 lineto
-75.777 371.594 75.309 371.594 QUADTO
-74.496 371.594 74.277 370.641 QUADTO
-closepath
-74.105 370.016 M
-74.105 368.376 lineto
-73.715 368.36 lineto
-72.777 368.36 72.191 368.719 QUADTO
-71.605 369.079 71.605 369.672 QUADTO
-71.605 370.079 71.895 370.368 QUADTO
-72.184 370.657 72.605 370.657 QUADTO
-73.324 370.657 74.105 370.016 QUADTO
-closepath
-81.389 371.454 M
-81.389 362.782 lineto
-82.592 362.782 lineto
-86.951 369.485 lineto
-86.951 362.782 lineto
-88.014 362.782 lineto
-88.014 371.454 lineto
-86.811 371.454 lineto
-82.436 364.751 lineto
-82.436 371.454 lineto
-81.389 371.454 lineto
-closepath
-90.426 369.501 M
-90.426 368.641 lineto
-97.363 368.641 lineto
-97.363 369.501 lineto
-90.426 369.501 lineto
-closepath
-90.426 367.329 M
-90.426 366.469 lineto
-97.363 366.469 lineto
-97.363 367.329 lineto
-90.426 367.329 lineto
-closepath
-100.48 371.454 M
-100.48 370.579 lineto
-102.215 370.579 lineto
-102.215 363.735 lineto
-100.48 364.172 lineto
-100.48 363.282 lineto
-103.371 362.563 lineto
-103.371 370.579 lineto
-105.105 370.579 lineto
-105.105 371.454 lineto
-100.48 371.454 lineto
-closepath
-110.021 371.672 M
-108.678 371.672 107.85 370.407 QUADTO
-107.021 369.141 107.021 367.11 QUADTO
-107.021 365.063 107.857 363.813 QUADTO
-108.693 362.563 110.053 362.563 QUADTO
-111.412 362.563 112.248 363.813 QUADTO
-113.084 365.063 113.084 367.094 QUADTO
-113.084 369.172 112.248 370.422 QUADTO
-111.412 371.672 110.021 371.672 QUADTO
-closepath
-110.037 370.797 M
-111.865 370.797 111.865 367.079 QUADTO
-111.865 363.438 110.053 363.438 QUADTO
-108.256 363.438 108.256 367.11 QUADTO
-108.256 370.797 110.037 370.797 QUADTO
-closepath
-117.609 371.672 M
-116.266 371.672 115.438 370.407 QUADTO
-114.609 369.141 114.609 367.11 QUADTO
-114.609 365.063 115.445 363.813 QUADTO
-116.281 362.563 117.641 362.563 QUADTO
-119 362.563 119.836 363.813 QUADTO
-120.672 365.063 120.672 367.094 QUADTO
-120.672 369.172 119.836 370.422 QUADTO
-119 371.672 117.609 371.672 QUADTO
-closepath
-117.625 370.797 M
-119.453 370.797 119.453 367.079 QUADTO
-119.453 363.438 117.641 363.438 QUADTO
-115.844 363.438 115.844 367.11 QUADTO
-115.844 370.797 117.625 370.797 QUADTO
-closepath
-125.197 371.672 M
-123.854 371.672 123.025 370.407 QUADTO
-122.197 369.141 122.197 367.11 QUADTO
-122.197 365.063 123.033 363.813 QUADTO
-123.869 362.563 125.229 362.563 QUADTO
-126.588 362.563 127.424 363.813 QUADTO
-128.26 365.063 128.26 367.094 QUADTO
-128.26 369.172 127.424 370.422 QUADTO
-126.588 371.672 125.197 371.672 QUADTO
-closepath
-125.213 370.797 M
-127.041 370.797 127.041 367.079 QUADTO
-127.041 363.438 125.229 363.438 QUADTO
-123.432 363.438 123.432 367.11 QUADTO
-123.432 370.797 125.213 370.797 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-135.02 367.178 M
-149.02 367.178 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-139.02 365.678 M
-145.02 365.678 lineto
-145.02 368.678 lineto
-139.02 368.678 lineto
-139.02 365.678 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-139.02 365.678 M
-145.02 365.678 lineto
-145.02 368.678 lineto
-139.02 368.678 lineto
-139.02 365.678 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-156.504 371.454 M
-153.238 362.782 lineto
-154.457 362.782 lineto
-157.145 369.876 lineto
-159.738 362.782 lineto
-160.816 362.782 lineto
-157.66 371.454 lineto
-156.504 371.454 lineto
-closepath
-166.678 371.251 M
-165.521 371.594 164.693 371.594 QUADTO
-163.287 371.594 162.404 370.665 QUADTO
-161.521 369.735 161.521 368.235 QUADTO
-161.521 366.797 162.303 365.868 QUADTO
-163.084 364.938 164.303 364.938 QUADTO
-165.459 364.938 166.084 365.758 QUADTO
-166.709 366.579 166.709 368.094 QUADTO
-166.709 368.454 lineto
-162.693 368.454 lineto
-162.943 370.719 164.912 370.719 QUADTO
-165.631 370.719 166.678 370.329 QUADTO
-166.678 371.251 lineto
-closepath
-162.74 367.579 M
-165.553 367.579 lineto
-165.553 365.813 164.225 365.813 QUADTO
-162.896 365.813 162.74 367.579 QUADTO
-closepath
-168.707 371.454 M
-168.707 365.094 lineto
-169.863 365.094 lineto
-169.863 366.282 lineto
-170.551 364.954 171.848 364.954 QUADTO
-172.035 364.954 172.223 364.985 QUADTO
-172.223 366.063 lineto
-171.926 365.954 171.691 365.954 QUADTO
-170.598 365.954 169.863 367.251 QUADTO
-169.863 371.454 lineto
-168.707 371.454 lineto
-closepath
-175.523 371.594 M
-174.648 371.594 174.156 371.094 QUADTO
-173.664 370.594 173.664 369.688 QUADTO
-173.664 365.954 lineto
-172.867 365.954 lineto
-172.867 365.094 lineto
-173.664 365.094 lineto
-173.664 363.938 lineto
-174.82 363.829 lineto
-174.82 365.094 lineto
-176.477 365.094 lineto
-176.477 365.954 lineto
-174.82 365.954 lineto
-174.82 369.485 lineto
-174.82 370.735 175.898 370.735 QUADTO
-176.117 370.735 176.445 370.657 QUADTO
-176.445 371.454 lineto
-175.914 371.594 175.523 371.594 QUADTO
-closepath
-182.762 371.251 M
-181.605 371.594 180.777 371.594 QUADTO
-179.371 371.594 178.488 370.665 QUADTO
-177.605 369.735 177.605 368.235 QUADTO
-177.605 366.797 178.387 365.868 QUADTO
-179.168 364.938 180.387 364.938 QUADTO
-181.543 364.938 182.168 365.758 QUADTO
-182.793 366.579 182.793 368.094 QUADTO
-182.793 368.454 lineto
-178.777 368.454 lineto
-179.027 370.719 180.996 370.719 QUADTO
-181.715 370.719 182.762 370.329 QUADTO
-182.762 371.251 lineto
-closepath
-178.824 367.579 M
-181.637 367.579 lineto
-181.637 365.813 180.309 365.813 QUADTO
-178.98 365.813 178.824 367.579 QUADTO
-closepath
-184.15 371.454 M
-186.572 368.172 lineto
-184.229 365.094 lineto
-185.588 365.094 lineto
-187.447 367.532 lineto
-189.135 365.094 lineto
-190.26 365.094 lineto
-188.057 368.313 lineto
-190.447 371.454 lineto
-189.072 371.454 lineto
-187.166 368.938 lineto
-185.307 371.454 lineto
-184.15 371.454 lineto
-closepath
-202.432 371.219 M
-200.854 371.672 199.682 371.672 QUADTO
-197.604 371.672 196.502 370.493 QUADTO
-195.4 369.313 195.4 367.11 QUADTO
-195.4 364.954 196.518 363.758 QUADTO
-197.635 362.563 199.666 362.563 QUADTO
-200.979 362.563 202.416 362.954 QUADTO
-202.416 364.094 lineto
-200.619 363.485 199.666 363.485 QUADTO
-198.26 363.485 197.486 364.438 QUADTO
-196.713 365.391 196.713 367.126 QUADTO
-196.713 368.844 197.541 369.797 QUADTO
-198.369 370.751 199.869 370.751 QUADTO
-200.494 370.751 201.197 370.532 QUADTO
-201.197 367.704 lineto
-202.432 367.704 lineto
-202.432 371.219 lineto
-closepath
-204.619 371.454 M
-204.619 365.094 lineto
-205.775 365.094 lineto
-205.775 366.282 lineto
-206.463 364.954 207.76 364.954 QUADTO
-207.947 364.954 208.135 364.985 QUADTO
-208.135 366.063 lineto
-207.838 365.954 207.604 365.954 QUADTO
-206.51 365.954 205.775 367.251 QUADTO
-205.775 371.454 lineto
-204.619 371.454 lineto
-closepath
-212.014 371.594 M
-210.654 371.594 209.842 370.688 QUADTO
-209.029 369.782 209.029 368.266 QUADTO
-209.029 366.735 209.842 365.844 QUADTO
-210.654 364.954 212.061 364.954 QUADTO
-213.467 364.954 214.279 365.844 QUADTO
-215.092 366.735 215.092 368.266 QUADTO
-215.092 369.813 214.271 370.704 QUADTO
-213.451 371.594 212.014 371.594 QUADTO
-closepath
-212.029 370.735 M
-213.873 370.735 213.873 368.266 QUADTO
-213.873 365.813 212.061 365.813 QUADTO
-210.248 365.813 210.248 368.266 QUADTO
-210.248 370.735 212.029 370.735 QUADTO
-closepath
-220.885 371.454 M
-220.885 370.251 lineto
-219.963 371.594 218.65 371.594 QUADTO
-217.807 371.594 217.314 371.071 QUADTO
-216.822 370.547 216.822 369.657 QUADTO
-216.822 365.094 lineto
-217.979 365.094 lineto
-217.979 369.282 lineto
-217.979 370.001 218.189 370.305 QUADTO
-218.4 370.61 218.885 370.61 QUADTO
-219.947 370.61 220.885 369.219 QUADTO
-220.885 365.094 lineto
-222.025 365.094 lineto
-222.025 371.454 lineto
-220.885 371.454 lineto
-closepath
-224.348 373.766 M
-224.348 365.094 lineto
-225.504 365.094 lineto
-225.504 366.282 lineto
-226.207 364.954 227.629 364.954 QUADTO
-228.77 364.954 229.434 365.79 QUADTO
-230.098 366.626 230.098 368.079 QUADTO
-230.098 369.657 229.348 370.626 QUADTO
-228.598 371.594 227.379 371.594 QUADTO
-226.254 371.594 225.504 370.735 QUADTO
-225.504 373.766 lineto
-224.348 373.766 lineto
-closepath
-225.504 369.938 M
-226.395 370.735 227.207 370.735 QUADTO
-228.863 370.735 228.863 368.188 QUADTO
-228.863 365.954 227.395 365.954 QUADTO
-226.426 365.954 225.504 367.001 QUADTO
-225.504 369.938 lineto
-closepath
-233.588 371.594 M
-232.791 371.594 231.666 371.235 QUADTO
-231.666 370.172 lineto
-232.791 370.735 233.635 370.735 QUADTO
-234.135 370.735 234.463 370.461 QUADTO
-234.791 370.188 234.791 369.782 QUADTO
-234.791 369.204 233.869 368.813 QUADTO
-233.197 368.516 lineto
-231.697 367.907 231.697 366.735 QUADTO
-231.697 365.907 232.291 365.43 QUADTO
-232.885 364.954 233.9 364.954 QUADTO
-234.432 364.954 235.229 365.094 QUADTO
-235.463 365.141 lineto
-235.463 366.11 lineto
-234.494 365.813 233.932 365.813 QUADTO
-232.807 365.813 232.807 366.626 QUADTO
-232.807 367.141 233.65 367.501 QUADTO
-234.213 367.735 lineto
-235.15 368.141 235.549 368.579 QUADTO
-235.947 369.016 235.947 369.688 QUADTO
-235.947 370.516 235.283 371.055 QUADTO
-234.619 371.594 233.588 371.594 QUADTO
-closepath
-241.783 371.454 M
-241.783 362.782 lineto
-242.986 362.782 lineto
-247.346 369.485 lineto
-247.346 362.782 lineto
-248.408 362.782 lineto
-248.408 371.454 lineto
-247.205 371.454 lineto
-242.83 364.751 lineto
-242.83 371.454 lineto
-241.783 371.454 lineto
-closepath
-250.82 369.501 M
-250.82 368.641 lineto
-257.758 368.641 lineto
-257.758 369.501 lineto
-250.82 369.501 lineto
-closepath
-250.82 367.329 M
-250.82 366.469 lineto
-257.758 366.469 lineto
-257.758 367.329 lineto
-250.82 367.329 lineto
-closepath
-260.875 371.454 M
-260.875 370.579 lineto
-262.609 370.579 lineto
-262.609 363.735 lineto
-260.875 364.172 lineto
-260.875 363.282 lineto
-263.766 362.563 lineto
-263.766 370.579 lineto
-265.5 370.579 lineto
-265.5 371.454 lineto
-260.875 371.454 lineto
-closepath
-270.416 371.672 M
-269.072 371.672 268.244 370.407 QUADTO
-267.416 369.141 267.416 367.11 QUADTO
-267.416 365.063 268.252 363.813 QUADTO
-269.088 362.563 270.447 362.563 QUADTO
-271.807 362.563 272.643 363.813 QUADTO
-273.479 365.063 273.479 367.094 QUADTO
-273.479 369.172 272.643 370.422 QUADTO
-271.807 371.672 270.416 371.672 QUADTO
-closepath
-270.432 370.797 M
-272.26 370.797 272.26 367.079 QUADTO
-272.26 363.438 270.447 363.438 QUADTO
-268.65 363.438 268.65 367.11 QUADTO
-268.65 370.797 270.432 370.797 QUADTO
-closepath
-278.004 371.672 M
-276.66 371.672 275.832 370.407 QUADTO
-275.004 369.141 275.004 367.11 QUADTO
-275.004 365.063 275.84 363.813 QUADTO
-276.676 362.563 278.035 362.563 QUADTO
-279.395 362.563 280.23 363.813 QUADTO
-281.066 365.063 281.066 367.094 QUADTO
-281.066 369.172 280.23 370.422 QUADTO
-279.395 371.672 278.004 371.672 QUADTO
-closepath
-278.02 370.797 M
-279.848 370.797 279.848 367.079 QUADTO
-279.848 363.438 278.035 363.438 QUADTO
-276.238 363.438 276.238 367.11 QUADTO
-276.238 370.797 278.02 370.797 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-5 387.726 M
-19 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-9 384.726 M
-15 384.726 lineto
-12 390.726 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-9 384.726 M
-15 384.726 lineto
-12 390.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-26.484 392.002 M
-23.219 383.33 lineto
-24.438 383.33 lineto
-27.125 390.424 lineto
-29.719 383.33 lineto
-30.797 383.33 lineto
-27.641 392.002 lineto
-26.484 392.002 lineto
-closepath
-36.658 391.799 M
-35.502 392.142 34.674 392.142 QUADTO
-33.268 392.142 32.385 391.213 QUADTO
-31.502 390.283 31.502 388.783 QUADTO
-31.502 387.345 32.283 386.416 QUADTO
-33.064 385.486 34.283 385.486 QUADTO
-35.439 385.486 36.064 386.306 QUADTO
-36.689 387.127 36.689 388.642 QUADTO
-36.689 389.002 lineto
-32.674 389.002 lineto
-32.924 391.267 34.893 391.267 QUADTO
-35.611 391.267 36.658 390.877 QUADTO
-36.658 391.799 lineto
-closepath
-32.721 388.127 M
-35.533 388.127 lineto
-35.533 386.361 34.205 386.361 QUADTO
-32.877 386.361 32.721 388.127 QUADTO
-closepath
-38.688 392.002 M
-38.688 385.642 lineto
-39.844 385.642 lineto
-39.844 386.83 lineto
-40.531 385.502 41.828 385.502 QUADTO
-42.016 385.502 42.203 385.533 QUADTO
-42.203 386.611 lineto
-41.906 386.502 41.672 386.502 QUADTO
-40.578 386.502 39.844 387.799 QUADTO
-39.844 392.002 lineto
-38.688 392.002 lineto
-closepath
-45.504 392.142 M
-44.629 392.142 44.137 391.642 QUADTO
-43.645 391.142 43.645 390.236 QUADTO
-43.645 386.502 lineto
-42.848 386.502 lineto
-42.848 385.642 lineto
-43.645 385.642 lineto
-43.645 384.486 lineto
-44.801 384.377 lineto
-44.801 385.642 lineto
-46.457 385.642 lineto
-46.457 386.502 lineto
-44.801 386.502 lineto
-44.801 390.033 lineto
-44.801 391.283 45.879 391.283 QUADTO
-46.098 391.283 46.426 391.205 QUADTO
-46.426 392.002 lineto
-45.895 392.142 45.504 392.142 QUADTO
-closepath
-52.742 391.799 M
-51.586 392.142 50.758 392.142 QUADTO
-49.352 392.142 48.469 391.213 QUADTO
-47.586 390.283 47.586 388.783 QUADTO
-47.586 387.345 48.367 386.416 QUADTO
-49.148 385.486 50.367 385.486 QUADTO
-51.523 385.486 52.148 386.306 QUADTO
-52.773 387.127 52.773 388.642 QUADTO
-52.773 389.002 lineto
-48.758 389.002 lineto
-49.008 391.267 50.977 391.267 QUADTO
-51.695 391.267 52.742 390.877 QUADTO
-52.742 391.799 lineto
-closepath
-48.805 388.127 M
-51.617 388.127 lineto
-51.617 386.361 50.289 386.361 QUADTO
-48.961 386.361 48.805 388.127 QUADTO
-closepath
-54.131 392.002 M
-56.553 388.72 lineto
-54.209 385.642 lineto
-55.568 385.642 lineto
-57.428 388.08 lineto
-59.115 385.642 lineto
-60.24 385.642 lineto
-58.037 388.861 lineto
-60.428 392.002 lineto
-59.053 392.002 lineto
-57.146 389.486 lineto
-55.287 392.002 lineto
-54.131 392.002 lineto
-closepath
-72.412 391.767 M
-70.834 392.22 69.662 392.22 QUADTO
-67.584 392.22 66.482 391.041 QUADTO
-65.381 389.861 65.381 387.658 QUADTO
-65.381 385.502 66.498 384.306 QUADTO
-67.615 383.111 69.646 383.111 QUADTO
-70.959 383.111 72.396 383.502 QUADTO
-72.396 384.642 lineto
-70.6 384.033 69.646 384.033 QUADTO
-68.24 384.033 67.467 384.986 QUADTO
-66.693 385.939 66.693 387.674 QUADTO
-66.693 389.392 67.521 390.345 QUADTO
-68.35 391.299 69.85 391.299 QUADTO
-70.475 391.299 71.178 391.08 QUADTO
-71.178 388.252 lineto
-72.412 388.252 lineto
-72.412 391.767 lineto
-closepath
-74.6 392.002 M
-74.6 385.642 lineto
-75.756 385.642 lineto
-75.756 386.83 lineto
-76.443 385.502 77.74 385.502 QUADTO
-77.928 385.502 78.115 385.533 QUADTO
-78.115 386.611 lineto
-77.818 386.502 77.584 386.502 QUADTO
-76.49 386.502 75.756 387.799 QUADTO
-75.756 392.002 lineto
-74.6 392.002 lineto
-closepath
-81.994 392.142 M
-80.635 392.142 79.822 391.236 QUADTO
-79.01 390.33 79.01 388.814 QUADTO
-79.01 387.283 79.822 386.392 QUADTO
-80.635 385.502 82.041 385.502 QUADTO
-83.447 385.502 84.26 386.392 QUADTO
-85.072 387.283 85.072 388.814 QUADTO
-85.072 390.361 84.252 391.252 QUADTO
-83.432 392.142 81.994 392.142 QUADTO
-closepath
-82.01 391.283 M
-83.854 391.283 83.854 388.814 QUADTO
-83.854 386.361 82.041 386.361 QUADTO
-80.229 386.361 80.229 388.814 QUADTO
-80.229 391.283 82.01 391.283 QUADTO
-closepath
-90.865 392.002 M
-90.865 390.799 lineto
-89.943 392.142 88.631 392.142 QUADTO
-87.787 392.142 87.295 391.619 QUADTO
-86.803 391.095 86.803 390.205 QUADTO
-86.803 385.642 lineto
-87.959 385.642 lineto
-87.959 389.83 lineto
-87.959 390.549 88.17 390.853 QUADTO
-88.381 391.158 88.865 391.158 QUADTO
-89.928 391.158 90.865 389.767 QUADTO
-90.865 385.642 lineto
-92.006 385.642 lineto
-92.006 392.002 lineto
-90.865 392.002 lineto
-closepath
-94.328 394.314 M
-94.328 385.642 lineto
-95.484 385.642 lineto
-95.484 386.83 lineto
-96.188 385.502 97.609 385.502 QUADTO
-98.75 385.502 99.414 386.338 QUADTO
-100.078 387.174 100.078 388.627 QUADTO
-100.078 390.205 99.328 391.174 QUADTO
-98.578 392.142 97.359 392.142 QUADTO
-96.234 392.142 95.484 391.283 QUADTO
-95.484 394.314 lineto
-94.328 394.314 lineto
-closepath
-95.484 390.486 M
-96.375 391.283 97.188 391.283 QUADTO
-98.844 391.283 98.844 388.736 QUADTO
-98.844 386.502 97.375 386.502 QUADTO
-96.406 386.502 95.484 387.549 QUADTO
-95.484 390.486 lineto
-closepath
-103.568 392.142 M
-102.771 392.142 101.646 391.783 QUADTO
-101.646 390.72 lineto
-102.771 391.283 103.615 391.283 QUADTO
-104.115 391.283 104.443 391.009 QUADTO
-104.771 390.736 104.771 390.33 QUADTO
-104.771 389.752 103.85 389.361 QUADTO
-103.178 389.064 lineto
-101.678 388.455 101.678 387.283 QUADTO
-101.678 386.455 102.271 385.978 QUADTO
-102.865 385.502 103.881 385.502 QUADTO
-104.412 385.502 105.209 385.642 QUADTO
-105.443 385.689 lineto
-105.443 386.658 lineto
-104.475 386.361 103.912 386.361 QUADTO
-102.787 386.361 102.787 387.174 QUADTO
-102.787 387.689 103.631 388.049 QUADTO
-104.193 388.283 lineto
-105.131 388.689 105.529 389.127 QUADTO
-105.928 389.564 105.928 390.236 QUADTO
-105.928 391.064 105.264 391.603 QUADTO
-104.6 392.142 103.568 392.142 QUADTO
-closepath
-111.764 392.002 M
-111.764 383.33 lineto
-112.967 383.33 lineto
-117.326 390.033 lineto
-117.326 383.33 lineto
-118.389 383.33 lineto
-118.389 392.002 lineto
-117.186 392.002 lineto
-112.811 385.299 lineto
-112.811 392.002 lineto
-111.764 392.002 lineto
-closepath
-120.801 390.049 M
-120.801 389.189 lineto
-127.738 389.189 lineto
-127.738 390.049 lineto
-120.801 390.049 lineto
-closepath
-120.801 387.877 M
-120.801 387.017 lineto
-127.738 387.017 lineto
-127.738 387.877 lineto
-120.801 387.877 lineto
-closepath
-130.855 392.002 M
-130.855 391.127 lineto
-132.59 391.127 lineto
-132.59 384.283 lineto
-130.855 384.72 lineto
-130.855 383.83 lineto
-133.746 383.111 lineto
-133.746 391.127 lineto
-135.48 391.127 lineto
-135.48 392.002 lineto
-130.855 392.002 lineto
-closepath
-140.396 392.22 M
-139.053 392.22 138.225 390.955 QUADTO
-137.396 389.689 137.396 387.658 QUADTO
-137.396 385.611 138.232 384.361 QUADTO
-139.068 383.111 140.428 383.111 QUADTO
-141.787 383.111 142.623 384.361 QUADTO
-143.459 385.611 143.459 387.642 QUADTO
-143.459 389.72 142.623 390.97 QUADTO
-141.787 392.22 140.396 392.22 QUADTO
-closepath
-140.412 391.345 M
-142.24 391.345 142.24 387.627 QUADTO
-142.24 383.986 140.428 383.986 QUADTO
-138.631 383.986 138.631 387.658 QUADTO
-138.631 391.345 140.412 391.345 QUADTO
-closepath
-147.984 392.22 M
-146.641 392.22 145.812 390.955 QUADTO
-144.984 389.689 144.984 387.658 QUADTO
-144.984 385.611 145.82 384.361 QUADTO
-146.656 383.111 148.016 383.111 QUADTO
-149.375 383.111 150.211 384.361 QUADTO
-151.047 385.611 151.047 387.642 QUADTO
-151.047 389.72 150.211 390.97 QUADTO
-149.375 392.22 147.984 392.22 QUADTO
-closepath
-148 391.345 M
-149.828 391.345 149.828 387.627 QUADTO
-149.828 383.986 148.016 383.986 QUADTO
-146.219 383.986 146.219 387.658 QUADTO
-146.219 391.345 148 391.345 QUADTO
-closepath
-155.572 392.22 M
-154.229 392.22 153.4 390.955 QUADTO
-152.572 389.689 152.572 387.658 QUADTO
-152.572 385.611 153.408 384.361 QUADTO
-154.244 383.111 155.604 383.111 QUADTO
-156.963 383.111 157.799 384.361 QUADTO
-158.635 385.611 158.635 387.642 QUADTO
-158.635 389.72 157.799 390.97 QUADTO
-156.963 392.22 155.572 392.22 QUADTO
-closepath
-155.588 391.345 M
-157.416 391.345 157.416 387.627 QUADTO
-157.416 383.986 155.604 383.986 QUADTO
-153.807 383.986 153.807 387.658 QUADTO
-153.807 391.345 155.588 391.345 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-58.148 34.247 M
-388 34.247 lineto
-388 284.835 lineto
-58.148 284.835 lineto
-58.148 34.247 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-58.148 288.835 M
-388 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-58.12 304.604 M
-56.776 304.604 55.948 303.338 QUADTO
-55.12 302.072 55.12 300.041 QUADTO
-55.12 297.994 55.956 296.744 QUADTO
-56.792 295.494 58.151 295.494 QUADTO
-59.511 295.494 60.347 296.744 QUADTO
-61.183 297.994 61.183 300.026 QUADTO
-61.183 302.104 60.347 303.354 QUADTO
-59.511 304.604 58.12 304.604 QUADTO
-closepath
-58.136 303.729 M
-59.964 303.729 59.964 300.01 QUADTO
-59.964 296.369 58.151 296.369 QUADTO
-56.355 296.369 56.355 300.041 QUADTO
-56.355 303.729 58.136 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-58.148 290.835 M
-58.148 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-118.636 304.416 M
-118.636 303.385 lineto
-119.511 303.729 120.277 303.729 QUADTO
-121.136 303.729 121.629 303.229 QUADTO
-122.121 302.729 122.121 301.838 QUADTO
-122.121 299.885 119.433 299.885 QUADTO
-119.121 299.885 118.793 299.932 QUADTO
-118.793 295.713 lineto
-123.183 295.713 lineto
-123.183 296.713 lineto
-119.808 296.713 lineto
-119.808 299.01 lineto
-121.48 299.01 122.418 299.776 QUADTO
-123.355 300.541 123.355 301.901 QUADTO
-123.355 303.166 122.496 303.885 QUADTO
-121.636 304.604 120.136 304.604 QUADTO
-119.48 304.604 118.636 304.416 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-120.977 290.835 M
-120.977 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-178.031 304.385 M
-178.031 303.51 lineto
-179.765 303.51 lineto
-179.765 296.666 lineto
-178.031 297.104 lineto
-178.031 296.213 lineto
-180.921 295.494 lineto
-180.921 303.51 lineto
-182.656 303.51 lineto
-182.656 304.385 lineto
-178.031 304.385 lineto
-closepath
-187.572 304.604 M
-186.228 304.604 185.4 303.338 QUADTO
-184.572 302.072 184.572 300.041 QUADTO
-184.572 297.994 185.408 296.744 QUADTO
-186.244 295.494 187.603 295.494 QUADTO
-188.962 295.494 189.798 296.744 QUADTO
-190.634 297.994 190.634 300.026 QUADTO
-190.634 302.104 189.798 303.354 QUADTO
-188.962 304.604 187.572 304.604 QUADTO
-closepath
-187.587 303.729 M
-189.416 303.729 189.416 300.01 QUADTO
-189.416 296.369 187.603 296.369 QUADTO
-185.806 296.369 185.806 300.041 QUADTO
-185.806 303.729 187.587 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-183.806 290.835 M
-183.806 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-240.86 304.385 M
-240.86 303.51 lineto
-242.594 303.51 lineto
-242.594 296.666 lineto
-240.86 297.104 lineto
-240.86 296.213 lineto
-243.75 295.494 lineto
-243.75 303.51 lineto
-245.485 303.51 lineto
-245.485 304.385 lineto
-240.86 304.385 lineto
-closepath
-248.088 304.416 M
-248.088 303.385 lineto
-248.963 303.729 249.729 303.729 QUADTO
-250.588 303.729 251.08 303.229 QUADTO
-251.573 302.729 251.573 301.838 QUADTO
-251.573 299.885 248.885 299.885 QUADTO
-248.573 299.885 248.244 299.932 QUADTO
-248.244 295.713 lineto
-252.635 295.713 lineto
-252.635 296.713 lineto
-249.26 296.713 lineto
-249.26 299.01 lineto
-250.932 299.01 251.869 299.776 QUADTO
-252.807 300.541 252.807 301.901 QUADTO
-252.807 303.166 251.948 303.885 QUADTO
-251.088 304.604 249.588 304.604 QUADTO
-248.932 304.604 248.088 304.416 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-246.635 290.835 M
-246.635 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-302.876 304.385 M
-302.876 303.369 lineto
-303.376 302.197 304.907 300.807 QUADTO
-305.579 300.213 lineto
-306.845 299.057 306.845 297.916 QUADTO
-306.845 297.197 306.415 296.783 QUADTO
-305.985 296.369 305.22 296.369 QUADTO
-304.314 296.369 303.095 297.057 QUADTO
-303.095 296.041 lineto
-304.251 295.494 305.376 295.494 QUADTO
-306.595 295.494 307.337 296.151 QUADTO
-308.079 296.807 308.079 297.885 QUADTO
-308.079 298.666 307.704 299.276 QUADTO
-307.329 299.885 306.314 300.744 QUADTO
-305.876 301.119 lineto
-304.485 302.291 304.267 303.369 QUADTO
-308.032 303.369 lineto
-308.032 304.385 lineto
-302.876 304.385 lineto
-closepath
-313.23 304.604 M
-311.886 304.604 311.058 303.338 QUADTO
-310.23 302.072 310.23 300.041 QUADTO
-310.23 297.994 311.065 296.744 QUADTO
-311.901 295.494 313.261 295.494 QUADTO
-314.62 295.494 315.456 296.744 QUADTO
-316.292 297.994 316.292 300.026 QUADTO
-316.292 302.104 315.456 303.354 QUADTO
-314.62 304.604 313.23 304.604 QUADTO
-closepath
-313.245 303.729 M
-315.073 303.729 315.073 300.01 QUADTO
-315.073 296.369 313.261 296.369 QUADTO
-311.464 296.369 311.464 300.041 QUADTO
-311.464 303.729 313.245 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-309.464 290.835 M
-309.464 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-365.705 304.385 M
-365.705 303.369 lineto
-366.205 302.197 367.736 300.807 QUADTO
-368.408 300.213 lineto
-369.674 299.057 369.674 297.916 QUADTO
-369.674 297.197 369.244 296.783 QUADTO
-368.814 296.369 368.049 296.369 QUADTO
-367.142 296.369 365.924 297.057 QUADTO
-365.924 296.041 lineto
-367.08 295.494 368.205 295.494 QUADTO
-369.424 295.494 370.166 296.151 QUADTO
-370.908 296.807 370.908 297.885 QUADTO
-370.908 298.666 370.533 299.276 QUADTO
-370.158 299.885 369.142 300.744 QUADTO
-368.705 301.119 lineto
-367.314 302.291 367.096 303.369 QUADTO
-370.861 303.369 lineto
-370.861 304.385 lineto
-365.705 304.385 lineto
-closepath
-373.746 304.416 M
-373.746 303.385 lineto
-374.621 303.729 375.387 303.729 QUADTO
-376.246 303.729 376.738 303.229 QUADTO
-377.23 302.729 377.23 301.838 QUADTO
-377.23 299.885 374.543 299.885 QUADTO
-374.23 299.885 373.902 299.932 QUADTO
-373.902 295.713 lineto
-378.293 295.713 lineto
-378.293 296.713 lineto
-374.918 296.713 lineto
-374.918 299.01 lineto
-376.59 299.01 377.527 299.776 QUADTO
-378.465 300.541 378.465 301.901 QUADTO
-378.465 303.166 377.605 303.885 QUADTO
-376.746 304.604 375.246 304.604 QUADTO
-374.59 304.604 373.746 304.416 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-372.293 290.835 M
-372.293 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-169.601 323.858 M
-169.601 316.358 lineto
-171.617 316.358 lineto
-171.617 317.764 lineto
-172.617 316.186 174.179 316.186 QUADTO
-175.179 316.186 175.765 316.819 QUADTO
-176.351 317.452 176.351 318.545 QUADTO
-176.351 323.858 lineto
-174.32 323.858 lineto
-174.32 319.045 lineto
-174.32 317.78 173.476 317.78 QUADTO
-172.507 317.78 171.617 319.139 QUADTO
-171.617 323.858 lineto
-169.601 323.858 lineto
-closepath
-181.952 324.03 M
-180.186 324.03 179.155 322.967 QUADTO
-178.124 321.905 178.124 320.108 QUADTO
-178.124 318.28 179.163 317.233 QUADTO
-180.202 316.186 181.999 316.186 QUADTO
-183.795 316.186 184.834 317.233 QUADTO
-185.874 318.28 185.874 320.092 QUADTO
-185.874 321.936 184.827 322.983 QUADTO
-183.78 324.03 181.952 324.03 QUADTO
-closepath
-181.983 322.764 M
-183.717 322.764 183.717 320.092 QUADTO
-183.717 318.874 183.256 318.163 QUADTO
-182.795 317.452 181.999 317.452 QUADTO
-181.202 317.452 180.733 318.163 QUADTO
-180.264 318.874 180.264 320.108 QUADTO
-180.264 321.327 180.725 322.045 QUADTO
-181.186 322.764 181.983 322.764 QUADTO
-closepath
-192.456 323.858 M
-192.456 322.436 lineto
-191.674 324.03 190.002 324.03 QUADTO
-188.659 324.03 187.885 323.038 QUADTO
-187.112 322.045 187.112 320.311 QUADTO
-187.112 318.42 187.979 317.303 QUADTO
-188.846 316.186 190.315 316.186 QUADTO
-191.502 316.186 192.456 317.108 QUADTO
-192.456 313.061 lineto
-194.487 313.061 lineto
-194.487 323.858 lineto
-192.456 323.858 lineto
-closepath
-192.456 318.311 M
-191.721 317.499 190.893 317.499 QUADTO
-190.143 317.499 189.706 318.217 QUADTO
-189.268 318.936 189.268 320.139 QUADTO
-189.268 322.436 190.737 322.436 QUADTO
-191.643 322.436 192.456 321.28 QUADTO
-192.456 318.311 lineto
-closepath
-203.123 323.608 M
-201.685 324.03 200.388 324.03 QUADTO
-198.513 324.03 197.427 322.959 QUADTO
-196.341 321.889 196.341 320.045 QUADTO
-196.341 318.311 197.333 317.249 QUADTO
-198.326 316.186 199.966 316.186 QUADTO
-201.607 316.186 202.365 317.225 QUADTO
-203.123 318.264 203.123 320.514 QUADTO
-198.466 320.514 lineto
-198.669 322.655 200.826 322.655 QUADTO
-201.841 322.655 203.123 322.186 QUADTO
-203.123 323.608 lineto
-closepath
-198.435 319.374 M
-201.138 319.374 lineto
-201.138 317.452 199.904 317.452 QUADTO
-198.638 317.452 198.435 319.374 QUADTO
-closepath
-205.013 323.624 M
-205.013 322.139 lineto
-206.529 322.764 207.591 322.764 QUADTO
-208.826 322.764 208.826 321.92 QUADTO
-208.826 321.374 207.81 320.952 QUADTO
-207.123 320.686 lineto
-206.013 320.233 205.529 319.717 QUADTO
-205.044 319.202 205.044 318.436 QUADTO
-205.044 317.358 205.865 316.772 QUADTO
-206.685 316.186 208.138 316.186 QUADTO
-209.06 316.186 210.326 316.452 QUADTO
-210.326 317.874 lineto
-209.107 317.452 208.31 317.452 QUADTO
-207.044 317.452 207.044 318.217 QUADTO
-207.044 318.733 207.982 319.092 QUADTO
-208.56 319.311 lineto
-209.888 319.811 210.404 320.327 QUADTO
-210.919 320.842 210.919 321.655 QUADTO
-210.919 322.702 210.037 323.366 QUADTO
-209.154 324.03 207.748 324.03 QUADTO
-206.404 324.03 205.013 323.624 QUADTO
-closepath
-217.747 323.858 M
-217.747 316.358 lineto
-219.762 316.358 lineto
-219.762 323.858 lineto
-217.747 323.858 lineto
-closepath
-217.747 315.092 M
-217.747 313.405 lineto
-219.762 313.405 lineto
-219.762 315.092 lineto
-217.747 315.092 lineto
-closepath
-222.299 323.858 M
-222.299 316.358 lineto
-224.315 316.358 lineto
-224.315 317.764 lineto
-225.315 316.186 226.877 316.186 QUADTO
-227.877 316.186 228.463 316.819 QUADTO
-229.049 317.452 229.049 318.545 QUADTO
-229.049 323.858 lineto
-227.018 323.858 lineto
-227.018 319.045 lineto
-227.018 317.78 226.174 317.78 QUADTO
-225.206 317.78 224.315 319.139 QUADTO
-224.315 323.858 lineto
-222.299 323.858 lineto
-closepath
-233.353 323.858 M
-230.478 316.358 lineto
-232.619 316.358 lineto
-234.712 321.764 lineto
-236.791 316.358 lineto
-238.259 316.358 lineto
-235.369 323.858 lineto
-233.353 323.858 lineto
-closepath
-242.956 324.03 M
-241.19 324.03 240.159 322.967 QUADTO
-239.127 321.905 239.127 320.108 QUADTO
-239.127 318.28 240.167 317.233 QUADTO
-241.206 316.186 243.002 316.186 QUADTO
-244.799 316.186 245.838 317.233 QUADTO
-246.877 318.28 246.877 320.092 QUADTO
-246.877 321.936 245.831 322.983 QUADTO
-244.784 324.03 242.956 324.03 QUADTO
-closepath
-242.987 322.764 M
-244.721 322.764 244.721 320.092 QUADTO
-244.721 318.874 244.26 318.163 QUADTO
-243.799 317.452 243.002 317.452 QUADTO
-242.206 317.452 241.737 318.163 QUADTO
-241.268 318.874 241.268 320.108 QUADTO
-241.268 321.327 241.729 322.045 QUADTO
-242.19 322.764 242.987 322.764 QUADTO
-closepath
-248.741 323.858 M
-248.741 313.061 lineto
-250.756 313.061 lineto
-250.756 323.858 lineto
-248.741 323.858 lineto
-closepath
-255.153 323.858 M
-252.278 316.358 lineto
-254.418 316.358 lineto
-256.512 321.764 lineto
-258.59 316.358 lineto
-260.059 316.358 lineto
-257.168 323.858 lineto
-255.153 323.858 lineto
-closepath
-267.708 323.608 M
-266.271 324.03 264.974 324.03 QUADTO
-263.099 324.03 262.013 322.959 QUADTO
-260.927 321.889 260.927 320.045 QUADTO
-260.927 318.311 261.919 317.249 QUADTO
-262.912 316.186 264.552 316.186 QUADTO
-266.193 316.186 266.951 317.225 QUADTO
-267.708 318.264 267.708 320.514 QUADTO
-263.052 320.514 lineto
-263.255 322.655 265.412 322.655 QUADTO
-266.427 322.655 267.708 322.186 QUADTO
-267.708 323.608 lineto
-closepath
-263.021 319.374 M
-265.724 319.374 lineto
-265.724 317.452 264.49 317.452 QUADTO
-263.224 317.452 263.021 319.374 QUADTO
-closepath
-274.521 323.858 M
-274.521 322.436 lineto
-273.74 324.03 272.068 324.03 QUADTO
-270.724 324.03 269.951 323.038 QUADTO
-269.177 322.045 269.177 320.311 QUADTO
-269.177 318.42 270.044 317.303 QUADTO
-270.912 316.186 272.38 316.186 QUADTO
-273.568 316.186 274.521 317.108 QUADTO
-274.521 313.061 lineto
-276.552 313.061 lineto
-276.552 323.858 lineto
-274.521 323.858 lineto
-closepath
-274.521 318.311 M
-273.787 317.499 272.958 317.499 QUADTO
-272.208 317.499 271.771 318.217 QUADTO
-271.333 318.936 271.333 320.139 QUADTO
-271.333 322.436 272.802 322.436 QUADTO
-273.708 322.436 274.521 321.28 QUADTO
-274.521 318.311 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-54.148 34.247 M
-54.148 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-44.326 289.33 M
-42.982 289.33 42.154 288.064 QUADTO
-41.326 286.798 41.326 284.767 QUADTO
-41.326 282.72 42.162 281.47 QUADTO
-42.998 280.22 44.357 280.22 QUADTO
-45.717 280.22 46.553 281.47 QUADTO
-47.389 282.72 47.389 284.752 QUADTO
-47.389 286.83 46.553 288.08 QUADTO
-45.717 289.33 44.326 289.33 QUADTO
-closepath
-44.342 288.455 M
-46.17 288.455 46.17 284.736 QUADTO
-46.17 281.095 44.357 281.095 QUADTO
-42.561 281.095 42.561 284.767 QUADTO
-42.561 288.455 44.342 288.455 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 284.835 M
-54.148 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-42.014 264.722 M
-42.014 263.691 lineto
-42.889 264.035 43.654 264.035 QUADTO
-44.514 264.035 45.006 263.535 QUADTO
-45.498 263.035 45.498 262.144 QUADTO
-45.498 260.191 42.811 260.191 QUADTO
-42.498 260.191 42.17 260.238 QUADTO
-42.17 256.019 lineto
-46.561 256.019 lineto
-46.561 257.019 lineto
-43.186 257.019 lineto
-43.186 259.316 lineto
-44.857 259.316 45.795 260.082 QUADTO
-46.732 260.847 46.732 262.207 QUADTO
-46.732 263.472 45.873 264.191 QUADTO
-45.014 264.91 43.514 264.91 QUADTO
-42.857 264.91 42.014 264.722 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 260.416 M
-54.148 260.416 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 240.272 M
-34.785 239.397 lineto
-36.52 239.397 lineto
-36.52 232.553 lineto
-34.785 232.99 lineto
-34.785 232.1 lineto
-37.676 231.381 lineto
-37.676 239.397 lineto
-39.41 239.397 lineto
-39.41 240.272 lineto
-34.785 240.272 lineto
-closepath
-44.326 240.49 M
-42.982 240.49 42.154 239.225 QUADTO
-41.326 237.959 41.326 235.928 QUADTO
-41.326 233.881 42.162 232.631 QUADTO
-42.998 231.381 44.357 231.381 QUADTO
-45.717 231.381 46.553 232.631 QUADTO
-47.389 233.881 47.389 235.912 QUADTO
-47.389 237.99 46.553 239.24 QUADTO
-45.717 240.49 44.326 240.49 QUADTO
-closepath
-44.342 239.615 M
-46.17 239.615 46.17 235.897 QUADTO
-46.17 232.256 44.357 232.256 QUADTO
-42.561 232.256 42.561 235.928 QUADTO
-42.561 239.615 44.342 239.615 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 235.996 M
-54.148 235.996 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 215.852 M
-34.785 214.977 lineto
-36.52 214.977 lineto
-36.52 208.133 lineto
-34.785 208.571 lineto
-34.785 207.68 lineto
-37.676 206.961 lineto
-37.676 214.977 lineto
-39.41 214.977 lineto
-39.41 215.852 lineto
-34.785 215.852 lineto
-closepath
-42.014 215.883 M
-42.014 214.852 lineto
-42.889 215.196 43.654 215.196 QUADTO
-44.514 215.196 45.006 214.696 QUADTO
-45.498 214.196 45.498 213.305 QUADTO
-45.498 211.352 42.811 211.352 QUADTO
-42.498 211.352 42.17 211.399 QUADTO
-42.17 207.18 lineto
-46.561 207.18 lineto
-46.561 208.18 lineto
-43.186 208.18 lineto
-43.186 210.477 lineto
-44.857 210.477 45.795 211.242 QUADTO
-46.732 212.008 46.732 213.367 QUADTO
-46.732 214.633 45.873 215.352 QUADTO
-45.014 216.071 43.514 216.071 QUADTO
-42.857 216.071 42.014 215.883 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 211.576 M
-54.148 211.576 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 191.432 M
-33.973 190.416 lineto
-34.473 189.245 36.004 187.854 QUADTO
-36.676 187.26 lineto
-37.941 186.104 37.941 184.963 QUADTO
-37.941 184.245 37.512 183.831 QUADTO
-37.082 183.416 36.316 183.416 QUADTO
-35.41 183.416 34.191 184.104 QUADTO
-34.191 183.088 lineto
-35.348 182.541 36.473 182.541 QUADTO
-37.691 182.541 38.434 183.198 QUADTO
-39.176 183.854 39.176 184.932 QUADTO
-39.176 185.713 38.801 186.323 QUADTO
-38.426 186.932 37.41 187.791 QUADTO
-36.973 188.166 lineto
-35.582 189.338 35.363 190.416 QUADTO
-39.129 190.416 lineto
-39.129 191.432 lineto
-33.973 191.432 lineto
-closepath
-44.326 191.651 M
-42.982 191.651 42.154 190.385 QUADTO
-41.326 189.12 41.326 187.088 QUADTO
-41.326 185.041 42.162 183.791 QUADTO
-42.998 182.541 44.357 182.541 QUADTO
-45.717 182.541 46.553 183.791 QUADTO
-47.389 185.041 47.389 187.073 QUADTO
-47.389 189.151 46.553 190.401 QUADTO
-45.717 191.651 44.326 191.651 QUADTO
-closepath
-44.342 190.776 M
-46.17 190.776 46.17 187.057 QUADTO
-46.17 183.416 44.357 183.416 QUADTO
-42.561 183.416 42.561 187.088 QUADTO
-42.561 190.776 44.342 190.776 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 187.156 M
-54.148 187.156 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 167.012 M
-33.973 165.997 lineto
-34.473 164.825 36.004 163.434 QUADTO
-36.676 162.84 lineto
-37.941 161.684 37.941 160.544 QUADTO
-37.941 159.825 37.512 159.411 QUADTO
-37.082 158.997 36.316 158.997 QUADTO
-35.41 158.997 34.191 159.684 QUADTO
-34.191 158.669 lineto
-35.348 158.122 36.473 158.122 QUADTO
-37.691 158.122 38.434 158.778 QUADTO
-39.176 159.434 39.176 160.512 QUADTO
-39.176 161.294 38.801 161.903 QUADTO
-38.426 162.512 37.41 163.372 QUADTO
-36.973 163.747 lineto
-35.582 164.919 35.363 165.997 QUADTO
-39.129 165.997 lineto
-39.129 167.012 lineto
-33.973 167.012 lineto
-closepath
-42.014 167.044 M
-42.014 166.012 lineto
-42.889 166.356 43.654 166.356 QUADTO
-44.514 166.356 45.006 165.856 QUADTO
-45.498 165.356 45.498 164.465 QUADTO
-45.498 162.512 42.811 162.512 QUADTO
-42.498 162.512 42.17 162.559 QUADTO
-42.17 158.34 lineto
-46.561 158.34 lineto
-46.561 159.34 lineto
-43.186 159.34 lineto
-43.186 161.637 lineto
-44.857 161.637 45.795 162.403 QUADTO
-46.732 163.169 46.732 164.528 QUADTO
-46.732 165.794 45.873 166.512 QUADTO
-45.014 167.231 43.514 167.231 QUADTO
-42.857 167.231 42.014 167.044 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 162.737 M
-54.148 162.737 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 142.53 M
-34.191 141.452 lineto
-35.441 141.936 36.145 141.936 QUADTO
-36.973 141.936 37.496 141.452 QUADTO
-38.02 140.968 38.02 140.202 QUADTO
-38.02 138.374 35.457 138.374 QUADTO
-34.988 138.374 lineto
-34.988 137.593 lineto
-35.395 137.593 lineto
-37.801 137.593 37.801 135.905 QUADTO
-37.801 134.577 36.223 134.577 QUADTO
-35.348 134.577 34.316 135.061 QUADTO
-34.316 134.046 lineto
-35.332 133.702 36.301 133.702 QUADTO
-38.957 133.702 38.957 135.718 QUADTO
-38.957 137.249 37.145 137.889 QUADTO
-39.254 138.374 39.254 140.186 QUADTO
-39.254 141.421 38.441 142.116 QUADTO
-37.629 142.811 36.223 142.811 QUADTO
-35.41 142.811 34.191 142.53 QUADTO
-closepath
-44.326 142.811 M
-42.982 142.811 42.154 141.546 QUADTO
-41.326 140.28 41.326 138.249 QUADTO
-41.326 136.202 42.162 134.952 QUADTO
-42.998 133.702 44.357 133.702 QUADTO
-45.717 133.702 46.553 134.952 QUADTO
-47.389 136.202 47.389 138.233 QUADTO
-47.389 140.311 46.553 141.561 QUADTO
-45.717 142.811 44.326 142.811 QUADTO
-closepath
-44.342 141.936 M
-46.17 141.936 46.17 138.218 QUADTO
-46.17 134.577 44.357 134.577 QUADTO
-42.561 134.577 42.561 138.249 QUADTO
-42.561 141.936 44.342 141.936 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 138.317 M
-54.148 138.317 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 118.11 M
-34.191 117.032 lineto
-35.441 117.517 36.145 117.517 QUADTO
-36.973 117.517 37.496 117.032 QUADTO
-38.02 116.548 38.02 115.782 QUADTO
-38.02 113.954 35.457 113.954 QUADTO
-34.988 113.954 lineto
-34.988 113.173 lineto
-35.395 113.173 lineto
-37.801 113.173 37.801 111.485 QUADTO
-37.801 110.157 36.223 110.157 QUADTO
-35.348 110.157 34.316 110.642 QUADTO
-34.316 109.626 lineto
-35.332 109.282 36.301 109.282 QUADTO
-38.957 109.282 38.957 111.298 QUADTO
-38.957 112.829 37.145 113.47 QUADTO
-39.254 113.954 39.254 115.767 QUADTO
-39.254 117.001 38.441 117.696 QUADTO
-37.629 118.392 36.223 118.392 QUADTO
-35.41 118.392 34.191 118.11 QUADTO
-closepath
-42.014 118.204 M
-42.014 117.173 lineto
-42.889 117.517 43.654 117.517 QUADTO
-44.514 117.517 45.006 117.017 QUADTO
-45.498 116.517 45.498 115.626 QUADTO
-45.498 113.673 42.811 113.673 QUADTO
-42.498 113.673 42.17 113.72 QUADTO
-42.17 109.501 lineto
-46.561 109.501 lineto
-46.561 110.501 lineto
-43.186 110.501 lineto
-43.186 112.798 lineto
-44.857 112.798 45.795 113.564 QUADTO
-46.732 114.329 46.732 115.689 QUADTO
-46.732 116.954 45.873 117.673 QUADTO
-45.014 118.392 43.514 118.392 QUADTO
-42.857 118.392 42.014 118.204 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 113.897 M
-54.148 113.897 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-37.488 93.753 M
-37.488 91.3 lineto
-33.582 91.3 lineto
-33.582 90.425 lineto
-37.488 85.081 lineto
-38.582 85.081 lineto
-38.582 90.347 lineto
-39.738 90.347 lineto
-39.738 91.3 lineto
-38.582 91.3 lineto
-38.582 93.753 lineto
-37.488 93.753 lineto
-closepath
-34.723 90.347 M
-37.566 90.347 lineto
-37.566 86.503 lineto
-34.723 90.347 lineto
-closepath
-44.326 93.972 M
-42.982 93.972 42.154 92.706 QUADTO
-41.326 91.441 41.326 89.409 QUADTO
-41.326 87.363 42.162 86.113 QUADTO
-42.998 84.863 44.357 84.863 QUADTO
-45.717 84.863 46.553 86.113 QUADTO
-47.389 87.363 47.389 89.394 QUADTO
-47.389 91.472 46.553 92.722 QUADTO
-45.717 93.972 44.326 93.972 QUADTO
-closepath
-44.342 93.097 M
-46.17 93.097 46.17 89.378 QUADTO
-46.17 85.738 44.357 85.738 QUADTO
-42.561 85.738 42.561 89.409 QUADTO
-42.561 93.097 44.342 93.097 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 89.478 M
-54.148 89.478 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-37.488 69.333 M
-37.488 66.88 lineto
-33.582 66.88 lineto
-33.582 66.005 lineto
-37.488 60.662 lineto
-38.582 60.662 lineto
-38.582 65.927 lineto
-39.738 65.927 lineto
-39.738 66.88 lineto
-38.582 66.88 lineto
-38.582 69.333 lineto
-37.488 69.333 lineto
-closepath
-34.723 65.927 M
-37.566 65.927 lineto
-37.566 62.083 lineto
-34.723 65.927 lineto
-closepath
-42.014 69.365 M
-42.014 68.333 lineto
-42.889 68.677 43.654 68.677 QUADTO
-44.514 68.677 45.006 68.177 QUADTO
-45.498 67.677 45.498 66.787 QUADTO
-45.498 64.833 42.811 64.833 QUADTO
-42.498 64.833 42.17 64.88 QUADTO
-42.17 60.662 lineto
-46.561 60.662 lineto
-46.561 61.662 lineto
-43.186 61.662 lineto
-43.186 63.958 lineto
-44.857 63.958 45.795 64.724 QUADTO
-46.732 65.49 46.732 66.849 QUADTO
-46.732 68.115 45.873 68.833 QUADTO
-45.014 69.552 43.514 69.552 QUADTO
-42.857 69.552 42.014 69.365 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 65.058 M
-54.148 65.058 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.426 44.945 M
-34.426 43.914 lineto
-35.301 44.257 36.066 44.257 QUADTO
-36.926 44.257 37.418 43.757 QUADTO
-37.91 43.257 37.91 42.367 QUADTO
-37.91 40.414 35.223 40.414 QUADTO
-34.91 40.414 34.582 40.461 QUADTO
-34.582 36.242 lineto
-38.973 36.242 lineto
-38.973 37.242 lineto
-35.598 37.242 lineto
-35.598 39.539 lineto
-37.27 39.539 38.207 40.304 QUADTO
-39.145 41.07 39.145 42.429 QUADTO
-39.145 43.695 38.285 44.414 QUADTO
-37.426 45.132 35.926 45.132 QUADTO
-35.27 45.132 34.426 44.945 QUADTO
-closepath
-44.326 45.132 M
-42.982 45.132 42.154 43.867 QUADTO
-41.326 42.601 41.326 40.57 QUADTO
-41.326 38.523 42.162 37.273 QUADTO
-42.998 36.023 44.357 36.023 QUADTO
-45.717 36.023 46.553 37.273 QUADTO
-47.389 38.523 47.389 40.554 QUADTO
-47.389 42.632 46.553 43.882 QUADTO
-45.717 45.132 44.326 45.132 QUADTO
-closepath
-44.342 44.257 M
-46.17 44.257 46.17 40.539 QUADTO
-46.17 36.898 44.357 36.898 QUADTO
-42.561 36.898 42.561 40.57 QUADTO
-42.561 44.257 44.342 44.257 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 40.638 M
-54.148 40.638 lineto
-stroke
-grestore
-gsave
-[0 -1 1 0 -140.05465 179.02732] concat
-newpath
-179.027 140.055 M
-179.027 540.055 lineto
--220.973 540.055 lineto
--220.973 140.055 lineto
-179.027 140.055 lineto
-closepath
-clip
-0.251 setgray
-newpath
--35.833 164.529 M
--35.833 153.732 lineto
--33.817 153.732 lineto
--33.817 164.529 lineto
--35.833 164.529 lineto
-closepath
--28.124 164.701 M
--29.889 164.701 -30.92 163.639 QUADTO
--31.952 162.576 -31.952 160.779 QUADTO
--31.952 158.951 -30.913 157.904 QUADTO
--29.874 156.857 -28.077 156.857 QUADTO
--26.28 156.857 -25.241 157.904 QUADTO
--24.202 158.951 -24.202 160.764 QUADTO
--24.202 162.607 -25.249 163.654 QUADTO
--26.295 164.701 -28.124 164.701 QUADTO
-closepath
--28.092 163.435 M
--26.358 163.435 -26.358 160.764 QUADTO
--26.358 159.545 -26.819 158.834 QUADTO
--27.28 158.123 -28.077 158.123 QUADTO
--28.874 158.123 -29.342 158.834 QUADTO
--29.811 159.545 -29.811 160.779 QUADTO
--29.811 161.998 -29.35 162.717 QUADTO
--28.889 163.435 -28.092 163.435 QUADTO
-closepath
--18.666 163.717 M
--19.666 164.701 -20.823 164.701 QUADTO
--21.807 164.701 -22.424 164.1 QUADTO
--23.041 163.498 -23.041 162.545 QUADTO
--23.041 161.295 -22.049 160.623 QUADTO
--21.057 159.951 -19.198 159.951 QUADTO
--18.666 159.951 lineto
--18.666 159.264 lineto
--18.666 158.092 -19.995 158.092 QUADTO
--21.182 158.092 -22.385 158.764 QUADTO
--22.385 157.373 lineto
--21.01 156.857 -19.666 156.857 QUADTO
--16.713 156.857 -16.713 159.201 QUADTO
--16.713 162.514 lineto
--16.713 163.404 -16.151 163.404 QUADTO
--16.057 163.404 -15.885 163.373 QUADTO
--15.838 164.514 lineto
--16.479 164.701 -16.979 164.701 QUADTO
--18.213 164.701 -18.573 163.717 QUADTO
--18.666 163.717 lineto
-closepath
--18.666 162.639 M
--18.666 161.107 lineto
--19.135 161.107 lineto
--21.104 161.107 -21.104 162.342 QUADTO
--21.104 162.764 -20.823 163.045 QUADTO
--20.541 163.326 -20.12 163.326 QUADTO
--19.401 163.326 -18.666 162.639 QUADTO
-closepath
--9.389 164.529 M
--9.389 163.107 lineto
--10.17 164.701 -11.842 164.701 QUADTO
--13.186 164.701 -13.959 163.709 QUADTO
--14.733 162.717 -14.733 160.982 QUADTO
--14.733 159.092 -13.866 157.975 QUADTO
--12.999 156.857 -11.53 156.857 QUADTO
--10.342 156.857 -9.389 157.779 QUADTO
--9.389 153.732 lineto
--7.358 153.732 lineto
--7.358 164.529 lineto
--9.389 164.529 lineto
-closepath
--9.389 158.982 M
--10.124 158.17 -10.952 158.17 QUADTO
--11.702 158.17 -12.139 158.889 QUADTO
--12.577 159.607 -12.577 160.81 QUADTO
--12.577 163.107 -11.108 163.107 QUADTO
--10.202 163.107 -9.389 161.951 QUADTO
--9.389 158.982 lineto
-closepath
-0.001 164.529 M
-0.001 158.295 lineto
--1.045 158.295 lineto
--1.045 157.029 lineto
-0.001 157.029 lineto
-0.001 156.482 lineto
-0.001 153.56 2.767 153.56 QUADTO
-3.658 153.56 4.611 153.826 QUADTO
-4.611 155.185 lineto
-3.751 154.826 3.064 154.826 QUADTO
-2.017 154.826 2.017 156.404 QUADTO
-2.017 157.029 lineto
-3.923 157.029 lineto
-3.923 158.295 lineto
-2.017 158.295 lineto
-2.017 164.529 lineto
-0.001 164.529 lineto
-closepath
-5.586 164.529 M
-5.586 157.029 lineto
-7.602 157.029 lineto
-7.602 158.435 lineto
-8.399 156.857 10.008 156.857 QUADTO
-10.196 156.857 10.383 156.889 QUADTO
-10.383 158.701 lineto
-9.946 158.545 9.571 158.545 QUADTO
-8.368 158.545 7.602 159.764 QUADTO
-7.602 164.529 lineto
-5.586 164.529 lineto
-closepath
-15.623 163.717 M
-14.623 164.701 13.466 164.701 QUADTO
-12.482 164.701 11.865 164.1 QUADTO
-11.248 163.498 11.248 162.545 QUADTO
-11.248 161.295 12.24 160.623 QUADTO
-13.232 159.951 15.091 159.951 QUADTO
-15.623 159.951 lineto
-15.623 159.264 lineto
-15.623 158.092 14.294 158.092 QUADTO
-13.107 158.092 11.904 158.764 QUADTO
-11.904 157.373 lineto
-13.279 156.857 14.623 156.857 QUADTO
-17.576 156.857 17.576 159.201 QUADTO
-17.576 162.514 lineto
-17.576 163.404 18.138 163.404 QUADTO
-18.232 163.404 18.404 163.373 QUADTO
-18.451 164.514 lineto
-17.81 164.701 17.31 164.701 QUADTO
-16.076 164.701 15.716 163.717 QUADTO
-15.623 163.717 lineto
-closepath
-15.623 162.639 M
-15.623 161.107 lineto
-15.154 161.107 lineto
-13.185 161.107 13.185 162.342 QUADTO
-13.185 162.764 13.466 163.045 QUADTO
-13.748 163.326 14.169 163.326 QUADTO
-14.888 163.326 15.623 162.639 QUADTO
-closepath
-25.712 164.357 M
-24.462 164.701 23.384 164.701 QUADTO
-21.587 164.701 20.548 163.646 QUADTO
-19.509 162.592 19.509 160.764 QUADTO
-19.509 158.935 20.58 157.896 QUADTO
-21.65 156.857 23.541 156.857 QUADTO
-24.462 156.857 25.65 157.139 QUADTO
-25.65 158.607 lineto
-24.416 158.201 23.666 158.201 QUADTO
-22.759 158.201 22.205 158.904 QUADTO
-21.65 159.607 21.65 160.748 QUADTO
-21.65 161.935 22.251 162.646 QUADTO
-22.853 163.357 23.837 163.357 QUADTO
-24.759 163.357 25.712 162.967 QUADTO
-25.712 164.357 lineto
-closepath
-31.507 164.482 M
-30.773 164.701 30.367 164.701 QUADTO
-27.726 164.701 27.726 162.232 QUADTO
-27.726 158.295 lineto
-26.882 158.295 lineto
-26.882 157.029 lineto
-27.726 157.029 lineto
-27.726 155.764 lineto
-29.757 155.529 lineto
-29.757 157.029 lineto
-31.351 157.029 lineto
-31.351 158.295 lineto
-29.757 158.295 lineto
-29.757 161.967 lineto
-29.757 163.357 30.882 163.357 QUADTO
-31.132 163.357 31.507 163.264 QUADTO
-31.507 164.482 lineto
-closepath
-33.306 164.529 M
-33.306 157.029 lineto
-35.322 157.029 lineto
-35.322 164.529 lineto
-33.306 164.529 lineto
-closepath
-33.306 155.764 M
-33.306 154.076 lineto
-35.322 154.076 lineto
-35.322 155.764 lineto
-33.306 155.764 lineto
-closepath
-41.015 164.701 M
-39.25 164.701 38.218 163.639 QUADTO
-37.187 162.576 37.187 160.779 QUADTO
-37.187 158.951 38.226 157.904 QUADTO
-39.265 156.857 41.062 156.857 QUADTO
-42.859 156.857 43.898 157.904 QUADTO
-44.937 158.951 44.937 160.764 QUADTO
-44.937 162.607 43.89 163.654 QUADTO
-42.843 164.701 41.015 164.701 QUADTO
-closepath
-41.046 163.435 M
-42.781 163.435 42.781 160.764 QUADTO
-42.781 159.545 42.32 158.834 QUADTO
-41.859 158.123 41.062 158.123 QUADTO
-40.265 158.123 39.796 158.834 QUADTO
-39.328 159.545 39.328 160.779 QUADTO
-39.328 161.998 39.789 162.717 QUADTO
-40.25 163.435 41.046 163.435 QUADTO
-closepath
-46.8 164.529 M
-46.8 157.029 lineto
-48.816 157.029 lineto
-48.816 158.435 lineto
-49.816 156.857 51.378 156.857 QUADTO
-52.378 156.857 52.964 157.49 QUADTO
-53.55 158.123 53.55 159.217 QUADTO
-53.55 164.529 lineto
-51.519 164.529 lineto
-51.519 159.717 lineto
-51.519 158.451 50.675 158.451 QUADTO
-49.707 158.451 48.816 159.81 QUADTO
-48.816 164.529 lineto
-46.8 164.529 lineto
-closepath
-59.245 153.654 M
-59.245 154.951 lineto
-57.417 156.795 57.417 160.139 QUADTO
-57.417 163.498 59.245 165.326 QUADTO
-59.245 166.639 lineto
-57.573 165.732 56.573 163.959 QUADTO
-55.573 162.185 55.573 160.139 QUADTO
-55.573 158.092 56.557 156.342 QUADTO
-57.542 154.592 59.245 153.654 QUADTO
-closepath
-60.746 164.779 M
-68.699 154.154 lineto
-70.058 154.154 lineto
-62.105 164.779 lineto
-60.746 164.779 lineto
-closepath
-62.464 159.467 M
-61.371 159.467 60.73 158.787 QUADTO
-60.089 158.107 60.089 156.935 QUADTO
-60.089 155.764 60.73 155.084 QUADTO
-61.371 154.404 62.496 154.404 QUADTO
-63.605 154.404 64.253 155.084 QUADTO
-64.902 155.764 64.902 156.935 QUADTO
-64.902 158.123 64.253 158.795 QUADTO
-63.605 159.467 62.464 159.467 QUADTO
-closepath
-62.48 158.451 M
-63.371 158.451 63.371 156.935 QUADTO
-63.371 155.42 62.496 155.42 QUADTO
-61.605 155.42 61.605 156.935 QUADTO
-61.605 158.451 62.48 158.451 QUADTO
-closepath
-68.292 164.529 M
-67.183 164.529 66.542 163.85 QUADTO
-65.902 163.17 65.902 161.998 QUADTO
-65.902 160.81 66.55 160.139 QUADTO
-67.199 159.467 68.308 159.467 QUADTO
-69.433 159.467 70.074 160.139 QUADTO
-70.714 160.81 70.714 161.998 QUADTO
-70.714 163.185 70.074 163.857 QUADTO
-69.433 164.529 68.292 164.529 QUADTO
-closepath
-68.292 163.514 M
-69.199 163.514 69.199 161.998 QUADTO
-69.199 160.482 68.308 160.482 QUADTO
-67.417 160.482 67.417 161.998 QUADTO
-67.417 163.514 68.292 163.514 QUADTO
-closepath
-71.367 153.654 M
-71.367 154.951 lineto
-73.195 156.795 73.195 160.139 QUADTO
-73.195 163.498 71.367 165.326 QUADTO
-71.367 166.639 lineto
-73.039 165.732 74.039 163.959 QUADTO
-75.039 162.185 75.039 160.139 QUADTO
-75.039 158.092 74.054 156.342 QUADTO
-73.07 154.592 71.367 153.654 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-120.977 34.247 M
-120.977 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-183.806 34.247 M
-183.806 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-246.635 34.247 M
-246.635 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-309.464 34.247 M
-309.464 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-372.293 34.247 M
-372.293 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 284.835 M
-388 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 260.416 M
-388 260.416 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 235.996 M
-388 235.996 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 211.576 M
-388 211.576 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 187.156 M
-388 187.156 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 162.737 M
-388 162.737 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 138.317 M
-388 138.317 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 113.897 M
-388 113.897 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 89.478 M
-388 89.478 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 65.058 M
-388 65.058 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 40.638 M
-388 40.638 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-58.148 163.232 M
-70.714 224.033 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-70.714 224.033 M
-83.28 232.097 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.28 232.097 M
-95.846 235.718 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-95.846 235.718 M
-108.412 240.774 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-108.412 240.774 M
-120.977 247.574 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-120.977 247.574 M
-133.543 263.939 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-133.543 263.939 M
-146.109 266.886 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-146.109 266.886 M
-158.675 268.969 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-158.675 268.969 M
-171.24 269.91 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-171.24 269.91 M
-183.806 272.076 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-183.806 272.076 M
-196.372 273.349 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-196.372 273.349 M
-208.938 275.262 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-208.938 275.262 M
-221.504 277.098 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-221.504 277.098 M
-234.069 278.607 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-234.069 278.607 M
-246.635 281.53 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-246.635 281.53 M
-259.201 284.476 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-259.201 284.476 M
-271.767 284.548 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-271.767 284.548 M
-284.332 284.548 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-284.332 284.548 M
-296.898 284.548 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-296.898 284.548 M
-309.464 284.62 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-309.464 284.62 M
-322.03 284.62 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-322.03 284.62 M
-334.595 284.62 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-334.595 284.62 M
-347.161 284.692 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-347.161 284.692 M
-359.727 284.763 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-58.148 183.933 M
-70.714 229.495 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-70.714 229.495 M
-83.28 233.684 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.28 233.684 M
-95.846 236.297 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-95.846 236.297 M
-108.412 238.097 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-108.412 238.097 M
-120.977 245.058 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-120.977 245.058 M
-133.543 265.811 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-133.543 265.811 M
-146.109 266.948 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-146.109 266.948 M
-158.675 269.007 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-158.675 269.007 M
-171.24 271.301 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-171.24 271.301 M
-183.806 272.153 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-183.806 272.153 M
-196.372 272.978 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-196.372 272.978 M
-208.938 273.699 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-208.938 273.699 M
-221.504 274.75 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-221.504 274.75 M
-234.069 275.591 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-234.069 275.591 M
-246.635 276.566 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-246.635 276.566 M
-259.201 282.502 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-259.201 282.502 M
-271.767 282.61 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-271.767 282.61 M
-284.332 282.664 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-284.332 282.664 M
-296.898 282.762 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-296.898 282.762 M
-309.464 282.851 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-309.464 282.851 M
-322.03 282.932 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-322.03 282.932 M
-334.595 283.175 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-334.595 283.175 M
-347.161 283.558 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-347.161 283.558 M
-359.727 284.319 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-359.727 284.319 M
-372.293 284.582 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-58.148 46.179 M
-70.714 122.508 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-70.714 122.508 M
-83.28 206.159 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.28 206.159 M
-95.846 281.642 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-95.846 281.642 M
-108.412 281.924 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-108.412 281.924 M
-120.977 282.205 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-58.148 147.938 M
-70.714 157.952 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-70.714 157.952 M
-83.28 175.47 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.28 175.47 M
-95.846 227.259 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-95.846 227.259 M
-108.412 232.9 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-108.412 232.9 M
-120.977 279.1 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-58.148 114.059 M
-70.714 128.332 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-70.714 128.332 M
-83.28 235.627 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.28 235.627 M
-95.846 242.762 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-95.846 242.762 M
-108.412 246.173 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-108.412 246.173 M
-120.977 253.666 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-58.148 119.306 M
-70.714 125.173 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-70.714 125.173 M
-83.28 240.117 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.28 240.117 M
-95.846 242.636 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-95.846 242.636 M
-108.412 245.224 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-108.412 245.224 M
-120.977 248.161 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-55.148 160.232 M
-61.148 160.232 lineto
-58.148 166.232 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-55.148 160.232 M
-61.148 160.232 lineto
-58.148 166.232 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-67.714 221.033 M
-73.714 221.033 lineto
-70.714 227.033 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-67.714 221.033 M
-73.714 221.033 lineto
-70.714 227.033 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-80.28 229.097 M
-86.28 229.097 lineto
-83.28 235.097 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.28 229.097 M
-86.28 229.097 lineto
-83.28 235.097 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-92.846 232.718 M
-98.846 232.718 lineto
-95.846 238.718 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-92.846 232.718 M
-98.846 232.718 lineto
-95.846 238.718 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-105.412 237.774 M
-111.412 237.774 lineto
-108.412 243.774 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-105.412 237.774 M
-111.412 237.774 lineto
-108.412 243.774 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-117.977 244.574 M
-123.977 244.574 lineto
-120.977 250.574 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-117.977 244.574 M
-123.977 244.574 lineto
-120.977 250.574 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-130.543 260.939 M
-136.543 260.939 lineto
-133.543 266.939 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.543 260.939 M
-136.543 260.939 lineto
-133.543 266.939 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-143.109 263.886 M
-149.109 263.886 lineto
-146.109 269.886 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-143.109 263.886 M
-149.109 263.886 lineto
-146.109 269.886 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-155.675 265.969 M
-161.675 265.969 lineto
-158.675 271.969 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-155.675 265.969 M
-161.675 265.969 lineto
-158.675 271.969 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-168.24 266.91 M
-174.24 266.91 lineto
-171.24 272.91 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-168.24 266.91 M
-174.24 266.91 lineto
-171.24 272.91 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-180.806 269.076 M
-186.806 269.076 lineto
-183.806 275.076 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-180.806 269.076 M
-186.806 269.076 lineto
-183.806 275.076 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-193.372 270.349 M
-199.372 270.349 lineto
-196.372 276.349 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-193.372 270.349 M
-199.372 270.349 lineto
-196.372 276.349 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-205.938 272.262 M
-211.938 272.262 lineto
-208.938 278.262 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-205.938 272.262 M
-211.938 272.262 lineto
-208.938 278.262 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-218.504 274.098 M
-224.504 274.098 lineto
-221.504 280.098 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-218.504 274.098 M
-224.504 274.098 lineto
-221.504 280.098 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-231.069 275.607 M
-237.069 275.607 lineto
-234.069 281.607 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-231.069 275.607 M
-237.069 275.607 lineto
-234.069 281.607 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-243.635 278.53 M
-249.635 278.53 lineto
-246.635 284.53 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-243.635 278.53 M
-249.635 278.53 lineto
-246.635 284.53 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-256.201 281.476 M
-262.201 281.476 lineto
-259.201 287.476 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-256.201 281.476 M
-262.201 281.476 lineto
-259.201 287.476 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-268.767 281.548 M
-274.767 281.548 lineto
-271.767 287.548 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-268.767 281.548 M
-274.767 281.548 lineto
-271.767 287.548 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-281.332 281.548 M
-287.332 281.548 lineto
-284.332 287.548 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-281.332 281.548 M
-287.332 281.548 lineto
-284.332 287.548 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-293.898 281.548 M
-299.898 281.548 lineto
-296.898 287.548 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-293.898 281.548 M
-299.898 281.548 lineto
-296.898 287.548 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-306.464 281.62 M
-312.464 281.62 lineto
-309.464 287.62 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-306.464 281.62 M
-312.464 281.62 lineto
-309.464 287.62 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-319.03 281.62 M
-325.03 281.62 lineto
-322.03 287.62 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.03 281.62 M
-325.03 281.62 lineto
-322.03 287.62 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-331.595 281.62 M
-337.595 281.62 lineto
-334.595 287.62 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-331.595 281.62 M
-337.595 281.62 lineto
-334.595 287.62 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-344.161 281.692 M
-350.161 281.692 lineto
-347.161 287.692 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-344.161 281.692 M
-350.161 281.692 lineto
-347.161 287.692 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-356.727 281.763 M
-362.727 281.763 lineto
-359.727 287.763 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-356.727 281.763 M
-362.727 281.763 lineto
-359.727 287.763 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-55.148 182.433 M
-61.148 182.433 lineto
-61.148 185.433 lineto
-55.148 185.433 lineto
-55.148 182.433 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-55.148 182.433 M
-61.148 182.433 lineto
-61.148 185.433 lineto
-55.148 185.433 lineto
-55.148 182.433 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-67.714 227.995 M
-73.714 227.995 lineto
-73.714 230.995 lineto
-67.714 230.995 lineto
-67.714 227.995 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-67.714 227.995 M
-73.714 227.995 lineto
-73.714 230.995 lineto
-67.714 230.995 lineto
-67.714 227.995 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-80.28 232.184 M
-86.28 232.184 lineto
-86.28 235.184 lineto
-80.28 235.184 lineto
-80.28 232.184 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.28 232.184 M
-86.28 232.184 lineto
-86.28 235.184 lineto
-80.28 235.184 lineto
-80.28 232.184 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-92.846 234.797 M
-98.846 234.797 lineto
-98.846 237.797 lineto
-92.846 237.797 lineto
-92.846 234.797 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-92.846 234.797 M
-98.846 234.797 lineto
-98.846 237.797 lineto
-92.846 237.797 lineto
-92.846 234.797 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-105.412 236.597 M
-111.412 236.597 lineto
-111.412 239.597 lineto
-105.412 239.597 lineto
-105.412 236.597 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-105.412 236.597 M
-111.412 236.597 lineto
-111.412 239.597 lineto
-105.412 239.597 lineto
-105.412 236.597 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-117.977 243.558 M
-123.977 243.558 lineto
-123.977 246.558 lineto
-117.977 246.558 lineto
-117.977 243.558 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-117.977 243.558 M
-123.977 243.558 lineto
-123.977 246.558 lineto
-117.977 246.558 lineto
-117.977 243.558 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-130.543 264.311 M
-136.543 264.311 lineto
-136.543 267.311 lineto
-130.543 267.311 lineto
-130.543 264.311 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.543 264.311 M
-136.543 264.311 lineto
-136.543 267.311 lineto
-130.543 267.311 lineto
-130.543 264.311 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-143.109 265.448 M
-149.109 265.448 lineto
-149.109 268.448 lineto
-143.109 268.448 lineto
-143.109 265.448 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-143.109 265.448 M
-149.109 265.448 lineto
-149.109 268.448 lineto
-143.109 268.448 lineto
-143.109 265.448 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-155.675 267.507 M
-161.675 267.507 lineto
-161.675 270.507 lineto
-155.675 270.507 lineto
-155.675 267.507 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-155.675 267.507 M
-161.675 267.507 lineto
-161.675 270.507 lineto
-155.675 270.507 lineto
-155.675 267.507 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-168.24 269.801 M
-174.24 269.801 lineto
-174.24 272.801 lineto
-168.24 272.801 lineto
-168.24 269.801 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-168.24 269.801 M
-174.24 269.801 lineto
-174.24 272.801 lineto
-168.24 272.801 lineto
-168.24 269.801 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-180.806 270.653 M
-186.806 270.653 lineto
-186.806 273.653 lineto
-180.806 273.653 lineto
-180.806 270.653 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-180.806 270.653 M
-186.806 270.653 lineto
-186.806 273.653 lineto
-180.806 273.653 lineto
-180.806 270.653 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-193.372 271.478 M
-199.372 271.478 lineto
-199.372 274.478 lineto
-193.372 274.478 lineto
-193.372 271.478 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-193.372 271.478 M
-199.372 271.478 lineto
-199.372 274.478 lineto
-193.372 274.478 lineto
-193.372 271.478 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-205.938 272.199 M
-211.938 272.199 lineto
-211.938 275.199 lineto
-205.938 275.199 lineto
-205.938 272.199 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-205.938 272.199 M
-211.938 272.199 lineto
-211.938 275.199 lineto
-205.938 275.199 lineto
-205.938 272.199 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-218.504 273.25 M
-224.504 273.25 lineto
-224.504 276.25 lineto
-218.504 276.25 lineto
-218.504 273.25 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-218.504 273.25 M
-224.504 273.25 lineto
-224.504 276.25 lineto
-218.504 276.25 lineto
-218.504 273.25 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-231.069 274.091 M
-237.069 274.091 lineto
-237.069 277.091 lineto
-231.069 277.091 lineto
-231.069 274.091 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-231.069 274.091 M
-237.069 274.091 lineto
-237.069 277.091 lineto
-231.069 277.091 lineto
-231.069 274.091 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-243.635 275.066 M
-249.635 275.066 lineto
-249.635 278.066 lineto
-243.635 278.066 lineto
-243.635 275.066 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-243.635 275.066 M
-249.635 275.066 lineto
-249.635 278.066 lineto
-243.635 278.066 lineto
-243.635 275.066 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-256.201 281.002 M
-262.201 281.002 lineto
-262.201 284.002 lineto
-256.201 284.002 lineto
-256.201 281.002 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-256.201 281.002 M
-262.201 281.002 lineto
-262.201 284.002 lineto
-256.201 284.002 lineto
-256.201 281.002 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-268.767 281.11 M
-274.767 281.11 lineto
-274.767 284.11 lineto
-268.767 284.11 lineto
-268.767 281.11 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-268.767 281.11 M
-274.767 281.11 lineto
-274.767 284.11 lineto
-268.767 284.11 lineto
-268.767 281.11 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-281.332 281.164 M
-287.332 281.164 lineto
-287.332 284.164 lineto
-281.332 284.164 lineto
-281.332 281.164 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-281.332 281.164 M
-287.332 281.164 lineto
-287.332 284.164 lineto
-281.332 284.164 lineto
-281.332 281.164 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-293.898 281.262 M
-299.898 281.262 lineto
-299.898 284.262 lineto
-293.898 284.262 lineto
-293.898 281.262 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-293.898 281.262 M
-299.898 281.262 lineto
-299.898 284.262 lineto
-293.898 284.262 lineto
-293.898 281.262 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-306.464 281.351 M
-312.464 281.351 lineto
-312.464 284.351 lineto
-306.464 284.351 lineto
-306.464 281.351 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-306.464 281.351 M
-312.464 281.351 lineto
-312.464 284.351 lineto
-306.464 284.351 lineto
-306.464 281.351 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-319.03 281.432 M
-325.03 281.432 lineto
-325.03 284.432 lineto
-319.03 284.432 lineto
-319.03 281.432 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.03 281.432 M
-325.03 281.432 lineto
-325.03 284.432 lineto
-319.03 284.432 lineto
-319.03 281.432 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-331.595 281.675 M
-337.595 281.675 lineto
-337.595 284.675 lineto
-331.595 284.675 lineto
-331.595 281.675 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-331.595 281.675 M
-337.595 281.675 lineto
-337.595 284.675 lineto
-331.595 284.675 lineto
-331.595 281.675 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-344.161 282.058 M
-350.161 282.058 lineto
-350.161 285.058 lineto
-344.161 285.058 lineto
-344.161 282.058 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-344.161 282.058 M
-350.161 282.058 lineto
-350.161 285.058 lineto
-344.161 285.058 lineto
-344.161 282.058 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-356.727 282.819 M
-362.727 282.819 lineto
-362.727 285.819 lineto
-356.727 285.819 lineto
-356.727 282.819 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-356.727 282.819 M
-362.727 282.819 lineto
-362.727 285.819 lineto
-356.727 285.819 lineto
-356.727 282.819 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-369.293 283.082 M
-375.293 283.082 lineto
-375.293 286.082 lineto
-369.293 286.082 lineto
-369.293 283.082 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-369.293 283.082 M
-375.293 283.082 lineto
-375.293 286.082 lineto
-369.293 286.082 lineto
-369.293 283.082 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-58.148 43.179 M
-61.148 46.179 lineto
-58.148 49.179 lineto
-55.148 46.179 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-58.148 43.179 M
-61.148 46.179 lineto
-58.148 49.179 lineto
-55.148 46.179 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-70.714 119.508 M
-73.714 122.508 lineto
-70.714 125.508 lineto
-67.714 122.508 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-70.714 119.508 M
-73.714 122.508 lineto
-70.714 125.508 lineto
-67.714 122.508 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-83.28 203.159 M
-86.28 206.159 lineto
-83.28 209.159 lineto
-80.28 206.159 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.28 203.159 M
-86.28 206.159 lineto
-83.28 209.159 lineto
-80.28 206.159 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-95.846 278.642 M
-98.846 281.642 lineto
-95.846 284.642 lineto
-92.846 281.642 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-95.846 278.642 M
-98.846 281.642 lineto
-95.846 284.642 lineto
-92.846 281.642 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-108.412 278.924 M
-111.412 281.924 lineto
-108.412 284.924 lineto
-105.412 281.924 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-108.412 278.924 M
-111.412 281.924 lineto
-108.412 284.924 lineto
-105.412 281.924 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-120.977 279.205 M
-123.977 282.205 lineto
-120.977 285.205 lineto
-117.977 282.205 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-120.977 279.205 M
-123.977 282.205 lineto
-120.977 285.205 lineto
-117.977 282.205 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-58.148 144.938 M
-61.148 150.938 lineto
-55.148 150.938 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-58.148 144.938 M
-61.148 150.938 lineto
-55.148 150.938 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-70.714 154.952 M
-73.714 160.952 lineto
-67.714 160.952 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-70.714 154.952 M
-73.714 160.952 lineto
-67.714 160.952 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-83.28 172.47 M
-86.28 178.47 lineto
-80.28 178.47 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.28 172.47 M
-86.28 178.47 lineto
-80.28 178.47 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-95.846 224.259 M
-98.846 230.259 lineto
-92.846 230.259 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-95.846 224.259 M
-98.846 230.259 lineto
-92.846 230.259 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-108.412 229.9 M
-111.412 235.9 lineto
-105.412 235.9 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-108.412 229.9 M
-111.412 235.9 lineto
-105.412 235.9 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-120.977 276.1 M
-123.977 282.1 lineto
-117.977 282.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-120.977 276.1 M
-123.977 282.1 lineto
-117.977 282.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-61.148 114.059 M
-61.148 115.716 59.805 117.059 58.148 117.059 curveto
-56.492 117.059 55.148 115.716 55.148 114.059 curveto
-55.148 112.402 56.492 111.059 58.148 111.059 curveto
-59.805 111.059 61.148 112.402 61.148 114.059 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-61.148 114.059 M
-61.148 115.716 59.805 117.059 58.148 117.059 curveto
-56.492 117.059 55.148 115.716 55.148 114.059 curveto
-55.148 112.402 56.492 111.059 58.148 111.059 curveto
-59.805 111.059 61.148 112.402 61.148 114.059 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-73.714 128.332 M
-73.714 129.989 72.371 131.332 70.714 131.332 curveto
-69.057 131.332 67.714 129.989 67.714 128.332 curveto
-67.714 126.675 69.057 125.332 70.714 125.332 curveto
-72.371 125.332 73.714 126.675 73.714 128.332 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-73.714 128.332 M
-73.714 129.989 72.371 131.332 70.714 131.332 curveto
-69.057 131.332 67.714 129.989 67.714 128.332 curveto
-67.714 126.675 69.057 125.332 70.714 125.332 curveto
-72.371 125.332 73.714 126.675 73.714 128.332 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-86.28 235.627 M
-86.28 237.283 84.937 238.627 83.28 238.627 curveto
-81.623 238.627 80.28 237.283 80.28 235.627 curveto
-80.28 233.97 81.623 232.627 83.28 232.627 curveto
-84.937 232.627 86.28 233.97 86.28 235.627 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-86.28 235.627 M
-86.28 237.283 84.937 238.627 83.28 238.627 curveto
-81.623 238.627 80.28 237.283 80.28 235.627 curveto
-80.28 233.97 81.623 232.627 83.28 232.627 curveto
-84.937 232.627 86.28 233.97 86.28 235.627 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-98.846 242.762 M
-98.846 244.419 97.503 245.762 95.846 245.762 curveto
-94.189 245.762 92.846 244.419 92.846 242.762 curveto
-92.846 241.105 94.189 239.762 95.846 239.762 curveto
-97.503 239.762 98.846 241.105 98.846 242.762 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-98.846 242.762 M
-98.846 244.419 97.503 245.762 95.846 245.762 curveto
-94.189 245.762 92.846 244.419 92.846 242.762 curveto
-92.846 241.105 94.189 239.762 95.846 239.762 curveto
-97.503 239.762 98.846 241.105 98.846 242.762 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-111.412 246.173 M
-111.412 247.83 110.068 249.173 108.412 249.173 curveto
-106.755 249.173 105.412 247.83 105.412 246.173 curveto
-105.412 244.516 106.755 243.173 108.412 243.173 curveto
-110.068 243.173 111.412 244.516 111.412 246.173 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-111.412 246.173 M
-111.412 247.83 110.068 249.173 108.412 249.173 curveto
-106.755 249.173 105.412 247.83 105.412 246.173 curveto
-105.412 244.516 106.755 243.173 108.412 243.173 curveto
-110.068 243.173 111.412 244.516 111.412 246.173 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-123.977 253.666 M
-123.977 255.323 122.634 256.666 120.977 256.666 curveto
-119.32 256.666 117.977 255.323 117.977 253.666 curveto
-117.977 252.009 119.32 250.666 120.977 250.666 curveto
-122.634 250.666 123.977 252.009 123.977 253.666 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-123.977 253.666 M
-123.977 255.323 122.634 256.666 120.977 256.666 curveto
-119.32 256.666 117.977 255.323 117.977 253.666 curveto
-117.977 252.009 119.32 250.666 120.977 250.666 curveto
-122.634 250.666 123.977 252.009 123.977 253.666 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-55.148 116.306 M
-61.148 116.306 lineto
-61.148 122.306 lineto
-55.148 122.306 lineto
-55.148 116.306 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-55.148 116.306 M
-61.148 116.306 lineto
-61.148 122.306 lineto
-55.148 122.306 lineto
-55.148 116.306 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-67.714 122.173 M
-73.714 122.173 lineto
-73.714 128.173 lineto
-67.714 128.173 lineto
-67.714 122.173 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-67.714 122.173 M
-73.714 122.173 lineto
-73.714 128.173 lineto
-67.714 128.173 lineto
-67.714 122.173 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-80.28 237.117 M
-86.28 237.117 lineto
-86.28 243.117 lineto
-80.28 243.117 lineto
-80.28 237.117 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.28 237.117 M
-86.28 237.117 lineto
-86.28 243.117 lineto
-80.28 243.117 lineto
-80.28 237.117 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-92.846 239.636 M
-98.846 239.636 lineto
-98.846 245.636 lineto
-92.846 245.636 lineto
-92.846 239.636 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-92.846 239.636 M
-98.846 239.636 lineto
-98.846 245.636 lineto
-92.846 245.636 lineto
-92.846 239.636 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-105.412 242.224 M
-111.412 242.224 lineto
-111.412 248.224 lineto
-105.412 248.224 lineto
-105.412 242.224 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-105.412 242.224 M
-111.412 242.224 lineto
-111.412 248.224 lineto
-105.412 248.224 lineto
-105.412 242.224 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-117.977 245.161 M
-123.977 245.161 lineto
-123.977 251.161 lineto
-117.977 251.161 lineto
-117.977 245.161 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-117.977 245.161 M
-123.977 245.161 lineto
-123.977 251.161 lineto
-117.977 251.161 lineto
-117.977 245.161 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-0.5 setlinewidth
-newpath
-58.148 34.247 M
-388 34.247 lineto
-388 284.835 lineto
-58.148 284.835 lineto
-58.148 34.247 lineto
-closepath
-stroke
-grestore
-%%Trailer
-%%Pages: 1
-%%EOF
diff --git a/sim/gobs/wiki/dc04kpv02.cfg b/sim/gobs/wiki/dc04kpv02.cfg
deleted file mode 100644
index 5215e71..0000000
--- a/sim/gobs/wiki/dc04kpv02.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv02.cfg system_size_100_1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/wiki/dc04kpv02.eps b/sim/gobs/wiki/dc04kpv02.eps
deleted file mode 100644
index a4ce463..0000000
--- a/sim/gobs/wiki/dc04kpv02.eps
+++ /dev/null
@@ -1,10235 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (Apache XML Graphics Commons: EPS Generator for Java2D)
-%%CreationDate: 2009-10-05T12:47:23
-%%Pages: (atend)
-%%BoundingBox: 0 0 400 400
-%%LanguageLevel: 3
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset (Apache XML Graphics Std ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2001-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (Basic set of procedures used by the XML Graphics project \(Batik and FOP\))
-/bd{bind def}bind def
-/ld{load def}bd
-/M/moveto ld
-/RM/rmoveto ld
-/t/show ld
-/A/ashow ld
-/cp/closepath ld
-/re {4 2 roll M
-1 index 0 rlineto
-0 exch rlineto
-neg 0 rlineto
-cp } bd
-/_ctm matrix def
-/_tm matrix def
-/BT { _ctm currentmatrix pop matrix _tm copy pop 0 0 moveto } bd
-/ET { _ctm setmatrix } bd
-/iTm { _ctm setmatrix _tm concat } bd
-/Tm { _tm astore pop iTm 0 0 moveto } bd
-/ux 0.0 def
-/uy 0.0 def
-/F {
- /Tp exch def
- /Tf exch def
- Tf findfont Tp scalefont setfont
- /cf Tf def /cs Tp def /cw ( ) stringwidth pop def
-} bd
-/ULS {currentpoint /uy exch def /ux exch def} bd
-/ULE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add moveto Tcx uy To add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/OLE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs add moveto Tcx uy To add cs add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/SOE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs 10 mul 26 idiv add moveto Tcx uy To add cs 10 mul 26 idiv add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/QUADTO {
-/Y22 exch store
-/X22 exch store
-/Y21 exch store
-/X21 exch store
-currentpoint
-/Y21 load 2 mul add 3 div exch
-/X21 load 2 mul add 3 div exch
-/X21 load 2 mul /X22 load add 3 div
-/Y21 load 2 mul /Y22 load add 3 div
-/X22 load /Y22 load curveto
-} bd
-/SSPD {
-dup length /d exch dict def
-{
-/v exch def
-/k exch def
-currentpagedevice k known {
-/cpdv currentpagedevice k get def
-v cpdv ne {
-/upd false def
-/nullv v type /nulltype eq def
-/nullcpdv cpdv type /nulltype eq def
-nullv nullcpdv or
-{
-/upd true def
-} {
-/sametype v type cpdv type eq def
-sametype {
-v type /arraytype eq {
-/vlen v length def
-/cpdvlen cpdv length def
-vlen cpdvlen eq {
-0 1 vlen 1 sub {
-/i exch def
-/obj v i get def
-/cpdobj cpdv i get def
-obj cpdobj ne {
-/upd true def
-exit
-} if
-} for
-} {
-/upd true def
-} ifelse
-} {
-v type /dicttype eq {
-v {
-/dv exch def
-/dk exch def
-/cpddv cpdv dk get def
-dv cpddv ne {
-/upd true def
-exit
-} if
-} forall
-} {
-/upd true def
-} ifelse
-} ifelse
-} if
-} ifelse
-upd true eq {
-d k v put
-} if
-} if
-} if
-} forall
-d length 0 gt {
-d setpagedevice
-} if
-} bd
-%%EndResource
-%%BeginResource: procset (Apache XML Graphics EPS ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2002-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (EPS procedures used by the Apache XML Graphics project \(Batik and FOP\))
-/BeginEPSF { %def
-/b4_Inc_state save def % Save state for cleanup
-/dict_count countdictstack def % Count objects on dict stack
-/op_count count 1 sub def % Count objects on operand stack
-userdict begin % Push userdict on dict stack
-/showpage { } def % Redefine showpage, { } = null proc
-0 setgray 0 setlinecap % Prepare graphics state
-1 setlinewidth 0 setlinejoin
-10 setmiterlimit [ ] 0 setdash newpath
-/languagelevel where % If level not equal to 1 then
-{pop languagelevel % set strokeadjust and
-1 ne % overprint to their defaults.
-{false setstrokeadjust false setoverprint
-} if
-} if
-} bd
-/EndEPSF { %def
-count op_count sub {pop} repeat % Clean up stacks
-countdictstack dict_count sub {end} repeat
-b4_Inc_state restore
-} bd
-%%EndResource
-%%EndProlog
-%%Page: 1 1
-%%PageBoundingBox: 0 0 400 400
-%%BeginPageSetup
-[1 0 0 -1 0 400] concat
-%%EndPageSetup
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-69.293 20.249 M
-69.293 5.796 lineto
-74.699 5.796 lineto
-79.105 5.796 79.105 9.374 QUADTO
-79.105 10.718 78.355 11.82 QUADTO
-77.605 12.921 76.293 13.499 QUADTO
-81.027 20.249 lineto
-77.371 20.249 lineto
-73.777 14.343 lineto
-72.121 14.343 lineto
-72.121 20.249 lineto
-69.293 20.249 lineto
-closepath
-72.121 12.359 M
-72.809 12.359 lineto
-76.09 12.359 76.09 9.718 QUADTO
-76.09 7.781 73.168 7.781 QUADTO
-72.121 7.781 lineto
-72.121 12.359 lineto
-closepath
-91.811 19.89 M
-89.764 20.499 87.904 20.499 QUADTO
-85.232 20.499 83.678 18.976 QUADTO
-82.123 17.453 82.123 14.812 QUADTO
-82.123 12.312 83.545 10.796 QUADTO
-84.967 9.281 87.295 9.281 QUADTO
-89.654 9.281 90.732 10.765 QUADTO
-91.811 12.249 91.811 15.468 QUADTO
-85.17 15.468 lineto
-85.467 18.531 88.529 18.531 QUADTO
-89.998 18.531 91.811 17.859 QUADTO
-91.811 19.89 lineto
-closepath
-85.123 13.828 M
-88.982 13.828 lineto
-88.982 11.093 87.201 11.093 QUADTO
-85.404 11.093 85.123 13.828 QUADTO
-closepath
-94.811 20.249 M
-94.811 4.828 lineto
-97.701 4.828 lineto
-97.701 11.546 lineto
-98.811 9.281 101.201 9.281 QUADTO
-103.139 9.281 104.248 10.695 QUADTO
-105.357 12.109 105.357 14.593 QUADTO
-105.357 17.281 104.107 18.89 QUADTO
-102.857 20.499 100.764 20.499 QUADTO
-98.967 20.499 97.701 19.171 QUADTO
-97.154 20.249 lineto
-94.811 20.249 lineto
-closepath
-97.701 17.453 M
-98.748 18.624 99.936 18.624 QUADTO
-101.014 18.624 101.646 17.593 QUADTO
-102.279 16.562 102.279 14.843 QUADTO
-102.279 11.546 100.154 11.546 QUADTO
-98.873 11.546 97.701 13.203 QUADTO
-97.701 17.453 lineto
-closepath
-114.688 20.249 M
-114.688 18.234 lineto
-113.281 20.499 111.031 20.499 QUADTO
-109.594 20.499 108.766 19.585 QUADTO
-107.938 18.671 107.938 17.109 QUADTO
-107.938 9.531 lineto
-110.828 9.531 lineto
-110.828 16.39 lineto
-110.828 18.218 112.047 18.218 QUADTO
-113.422 18.218 114.688 16.281 QUADTO
-114.688 9.531 lineto
-117.578 9.531 lineto
-117.578 20.249 lineto
-114.688 20.249 lineto
-closepath
-121.197 20.249 M
-121.197 9.531 lineto
-124.088 9.531 lineto
-124.088 20.249 lineto
-121.197 20.249 lineto
-closepath
-121.197 7.718 M
-121.197 5.312 lineto
-124.088 5.312 lineto
-124.088 7.718 lineto
-121.197 7.718 lineto
-closepath
-127.701 20.249 M
-127.701 4.828 lineto
-130.592 4.828 lineto
-130.592 20.249 lineto
-127.701 20.249 lineto
-closepath
-140.955 20.249 M
-140.955 18.234 lineto
-139.83 20.499 137.439 20.499 QUADTO
-135.502 20.499 134.4 19.078 QUADTO
-133.299 17.656 133.299 15.187 QUADTO
-133.299 12.484 134.549 10.882 QUADTO
-135.799 9.281 137.893 9.281 QUADTO
-139.564 9.281 140.955 10.609 QUADTO
-140.955 4.828 lineto
-143.846 4.828 lineto
-143.846 20.249 lineto
-140.955 20.249 lineto
-closepath
-140.955 12.328 M
-139.908 11.156 138.705 11.156 QUADTO
-137.643 11.156 137.01 12.179 QUADTO
-136.377 13.203 136.377 14.937 QUADTO
-136.377 18.234 138.486 18.234 QUADTO
-139.783 18.234 140.955 16.578 QUADTO
-140.955 12.328 lineto
-closepath
-154.049 20.249 M
-154.049 5.796 lineto
-157.049 5.796 lineto
-157.049 18.203 lineto
-163.564 18.203 lineto
-163.564 20.249 lineto
-154.049 20.249 lineto
-closepath
-170.18 20.499 M
-167.664 20.499 166.188 18.976 QUADTO
-164.711 17.453 164.711 14.89 QUADTO
-164.711 12.296 166.195 10.788 QUADTO
-167.68 9.281 170.242 9.281 QUADTO
-172.82 9.281 174.305 10.788 QUADTO
-175.789 12.296 175.789 14.874 QUADTO
-175.789 17.499 174.297 18.999 QUADTO
-172.805 20.499 170.18 20.499 QUADTO
-closepath
-170.227 18.687 M
-172.711 18.687 172.711 14.874 QUADTO
-172.711 13.124 172.055 12.109 QUADTO
-171.398 11.093 170.242 11.093 QUADTO
-169.102 11.093 168.445 12.109 QUADTO
-167.789 13.124 167.789 14.89 QUADTO
-167.789 16.64 168.438 17.663 QUADTO
-169.086 18.687 170.227 18.687 QUADTO
-closepath
-183.703 19.093 M
-182.25 20.499 180.609 20.499 QUADTO
-179.203 20.499 178.32 19.64 QUADTO
-177.438 18.781 177.438 17.406 QUADTO
-177.438 15.624 178.859 14.663 QUADTO
-180.281 13.703 182.938 13.703 QUADTO
-183.703 13.703 lineto
-183.703 12.734 lineto
-183.703 11.062 181.797 11.062 QUADTO
-180.109 11.062 178.375 12.015 QUADTO
-178.375 10.031 lineto
-180.344 9.281 182.266 9.281 QUADTO
-186.469 9.281 186.469 12.624 QUADTO
-186.469 17.374 lineto
-186.469 18.64 187.281 18.64 QUADTO
-187.438 18.64 187.672 18.593 QUADTO
-187.734 20.218 lineto
-186.812 20.499 186.109 20.499 QUADTO
-184.344 20.499 183.828 19.093 QUADTO
-183.703 19.093 lineto
-closepath
-183.703 17.546 M
-183.703 15.359 lineto
-183.016 15.359 lineto
-180.219 15.359 180.219 17.124 QUADTO
-180.219 17.718 180.625 18.124 QUADTO
-181.031 18.531 181.625 18.531 QUADTO
-182.641 18.531 183.703 17.546 QUADTO
-closepath
-196.961 20.249 M
-196.961 18.234 lineto
-195.836 20.499 193.445 20.499 QUADTO
-191.508 20.499 190.406 19.078 QUADTO
-189.305 17.656 189.305 15.187 QUADTO
-189.305 12.484 190.555 10.882 QUADTO
-191.805 9.281 193.898 9.281 QUADTO
-195.57 9.281 196.961 10.609 QUADTO
-196.961 4.828 lineto
-199.852 4.828 lineto
-199.852 20.249 lineto
-196.961 20.249 lineto
-closepath
-196.961 12.328 M
-195.914 11.156 194.711 11.156 QUADTO
-193.648 11.156 193.016 12.179 QUADTO
-192.383 13.203 192.383 14.937 QUADTO
-192.383 18.234 194.492 18.234 QUADTO
-195.789 18.234 196.961 16.578 QUADTO
-196.961 12.328 lineto
-closepath
-210.055 20.249 M
-210.055 5.796 lineto
-216.273 5.796 lineto
-219.633 5.796 221.422 7.578 QUADTO
-223.211 9.359 223.211 12.718 QUADTO
-223.211 16.296 221.312 18.273 QUADTO
-219.414 20.249 216.008 20.249 QUADTO
-210.055 20.249 lineto
-closepath
-213.055 18.203 M
-215.305 18.203 lineto
-217.68 18.203 218.844 16.89 QUADTO
-220.008 15.578 220.008 12.89 QUADTO
-220.008 10.828 219.07 9.453 QUADTO
-218.43 8.499 217.523 8.14 QUADTO
-216.617 7.781 214.867 7.781 QUADTO
-213.055 7.781 lineto
-213.055 18.203 lineto
-closepath
-225.914 20.249 M
-225.914 9.531 lineto
-228.805 9.531 lineto
-228.805 20.249 lineto
-225.914 20.249 lineto
-closepath
-225.914 7.718 M
-225.914 5.312 lineto
-228.805 5.312 lineto
-228.805 7.718 lineto
-225.914 7.718 lineto
-closepath
-232.137 19.906 M
-232.137 17.781 lineto
-234.277 18.687 235.809 18.687 QUADTO
-237.574 18.687 237.574 17.468 QUADTO
-237.574 16.687 236.121 16.109 QUADTO
-235.137 15.718 lineto
-233.543 15.078 232.863 14.335 QUADTO
-232.184 13.593 232.184 12.499 QUADTO
-232.184 10.968 233.34 10.124 QUADTO
-234.496 9.281 236.59 9.281 QUADTO
-237.902 9.281 239.715 9.656 QUADTO
-239.715 11.687 lineto
-237.965 11.093 236.824 11.093 QUADTO
-235.027 11.093 235.027 12.203 QUADTO
-235.027 12.937 236.355 13.437 QUADTO
-237.199 13.765 lineto
-239.09 14.484 239.824 15.21 QUADTO
-240.559 15.937 240.559 17.093 QUADTO
-240.559 18.609 239.301 19.554 QUADTO
-238.043 20.499 236.043 20.499 QUADTO
-234.105 20.499 232.137 19.906 QUADTO
-closepath
-249.242 20.187 M
-248.211 20.499 247.617 20.499 QUADTO
-243.852 20.499 243.852 16.984 QUADTO
-243.852 11.328 lineto
-242.664 11.328 lineto
-242.664 9.531 lineto
-243.852 9.531 lineto
-243.852 7.718 lineto
-246.742 7.39 lineto
-246.742 9.531 lineto
-249.039 9.531 lineto
-249.039 11.328 lineto
-246.742 11.328 lineto
-246.742 16.593 lineto
-246.742 18.562 248.367 18.562 QUADTO
-248.727 18.562 249.242 18.437 QUADTO
-249.242 20.187 lineto
-closepath
-251.832 20.249 M
-251.832 9.531 lineto
-254.723 9.531 lineto
-254.723 11.546 lineto
-255.848 9.281 258.129 9.281 QUADTO
-258.41 9.281 258.676 9.343 QUADTO
-258.676 11.921 lineto
-258.051 11.687 257.535 11.687 QUADTO
-255.801 11.687 254.723 13.437 QUADTO
-254.723 20.249 lineto
-251.832 20.249 lineto
-closepath
-260.924 20.249 M
-260.924 9.531 lineto
-263.814 9.531 lineto
-263.814 20.249 lineto
-260.924 20.249 lineto
-closepath
-260.924 7.718 M
-260.924 5.312 lineto
-263.814 5.312 lineto
-263.814 7.718 lineto
-260.924 7.718 lineto
-closepath
-267.428 20.249 M
-267.428 4.828 lineto
-270.318 4.828 lineto
-270.318 11.546 lineto
-271.428 9.281 273.818 9.281 QUADTO
-275.756 9.281 276.865 10.695 QUADTO
-277.975 12.109 277.975 14.593 QUADTO
-277.975 17.281 276.725 18.89 QUADTO
-275.475 20.499 273.381 20.499 QUADTO
-271.584 20.499 270.318 19.171 QUADTO
-269.771 20.249 lineto
-267.428 20.249 lineto
-closepath
-270.318 17.453 M
-271.365 18.624 272.553 18.624 QUADTO
-273.631 18.624 274.264 17.593 QUADTO
-274.896 16.562 274.896 14.843 QUADTO
-274.896 11.546 272.771 11.546 QUADTO
-271.49 11.546 270.318 13.203 QUADTO
-270.318 17.453 lineto
-closepath
-287.305 20.249 M
-287.305 18.234 lineto
-285.898 20.499 283.648 20.499 QUADTO
-282.211 20.499 281.383 19.585 QUADTO
-280.555 18.671 280.555 17.109 QUADTO
-280.555 9.531 lineto
-283.445 9.531 lineto
-283.445 16.39 lineto
-283.445 18.218 284.664 18.218 QUADTO
-286.039 18.218 287.305 16.281 QUADTO
-287.305 9.531 lineto
-290.195 9.531 lineto
-290.195 20.249 lineto
-287.305 20.249 lineto
-closepath
-299.33 20.187 M
-298.299 20.499 297.705 20.499 QUADTO
-293.939 20.499 293.939 16.984 QUADTO
-293.939 11.328 lineto
-292.752 11.328 lineto
-292.752 9.531 lineto
-293.939 9.531 lineto
-293.939 7.718 lineto
-296.83 7.39 lineto
-296.83 9.531 lineto
-299.127 9.531 lineto
-299.127 11.328 lineto
-296.83 11.328 lineto
-296.83 16.593 lineto
-296.83 18.562 298.455 18.562 QUADTO
-298.814 18.562 299.33 18.437 QUADTO
-299.33 20.187 lineto
-closepath
-301.92 20.249 M
-301.92 9.531 lineto
-304.811 9.531 lineto
-304.811 20.249 lineto
-301.92 20.249 lineto
-closepath
-301.92 7.718 M
-301.92 5.312 lineto
-304.811 5.312 lineto
-304.811 7.718 lineto
-301.92 7.718 lineto
-closepath
-312.924 20.499 M
-310.408 20.499 308.932 18.976 QUADTO
-307.455 17.453 307.455 14.89 QUADTO
-307.455 12.296 308.939 10.788 QUADTO
-310.424 9.281 312.986 9.281 QUADTO
-315.564 9.281 317.049 10.788 QUADTO
-318.533 12.296 318.533 14.874 QUADTO
-318.533 17.499 317.041 18.999 QUADTO
-315.549 20.499 312.924 20.499 QUADTO
-closepath
-312.971 18.687 M
-315.455 18.687 315.455 14.874 QUADTO
-315.455 13.124 314.799 12.109 QUADTO
-314.143 11.093 312.986 11.093 QUADTO
-311.846 11.093 311.189 12.109 QUADTO
-310.533 13.124 310.533 14.89 QUADTO
-310.533 16.64 311.182 17.663 QUADTO
-311.83 18.687 312.971 18.687 QUADTO
-closepath
-321.197 20.249 M
-321.197 9.531 lineto
-324.088 9.531 lineto
-324.088 11.546 lineto
-325.494 9.281 327.729 9.281 QUADTO
-329.166 9.281 330.002 10.187 QUADTO
-330.838 11.093 330.838 12.671 QUADTO
-330.838 20.249 lineto
-327.947 20.249 lineto
-327.947 13.39 lineto
-327.947 11.562 326.729 11.562 QUADTO
-325.354 11.562 324.088 13.499 QUADTO
-324.088 20.249 lineto
-321.197 20.249 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-1 335.356 M
-399 335.356 lineto
-399 399 lineto
-1 399 lineto
-1 335.356 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-1.5 335.856 M
-398.5 335.856 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-1.5 398.5 M
-398.5 398.5 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-1.5 398.5 M
-1.5 335.856 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-398.5 398.5 M
-398.5 335.856 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-5 346.63 M
-19 346.63 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-9 343.63 M
-15 343.63 lineto
-15 349.63 lineto
-9 349.63 lineto
-9 343.63 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-9 343.63 M
-15 343.63 lineto
-15 349.63 lineto
-9 349.63 lineto
-9 343.63 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-24.125 350.906 M
-24.125 342.234 lineto
-26.484 342.234 lineto
-28.047 342.234 28.734 342.765 QUADTO
-29.422 343.296 29.422 344.499 QUADTO
-29.422 345.89 28.484 346.671 QUADTO
-27.547 347.453 25.891 347.453 QUADTO
-25.344 347.453 lineto
-25.344 350.906 lineto
-24.125 350.906 lineto
-closepath
-25.344 346.531 M
-25.844 346.531 lineto
-26.938 346.531 27.531 346.023 QUADTO
-28.125 345.515 28.125 344.593 QUADTO
-28.125 343.828 27.656 343.492 QUADTO
-27.188 343.156 26.094 343.156 QUADTO
-25.344 343.156 lineto
-25.344 346.531 lineto
-closepath
-35.148 347.593 M
-33.664 343.843 lineto
-32.195 347.593 lineto
-35.148 347.593 lineto
-closepath
-36.445 350.906 M
-35.508 348.499 lineto
-31.836 348.499 lineto
-30.883 350.906 lineto
-29.727 350.906 lineto
-33.18 342.234 lineto
-34.398 342.234 lineto
-37.773 350.906 lineto
-36.445 350.906 lineto
-closepath
-40.725 351.124 M
-39.865 351.124 38.506 350.734 QUADTO
-38.506 349.515 lineto
-39.959 350.203 40.912 350.203 QUADTO
-41.631 350.203 42.076 349.82 QUADTO
-42.521 349.437 42.521 348.812 QUADTO
-42.521 348.312 42.232 347.953 QUADTO
-41.943 347.593 41.162 347.156 QUADTO
-40.568 346.812 lineto
-39.459 346.171 39.006 345.617 QUADTO
-38.553 345.062 38.553 344.312 QUADTO
-38.553 343.312 39.279 342.663 QUADTO
-40.006 342.015 41.131 342.015 QUADTO
-42.131 342.015 43.24 342.343 QUADTO
-43.24 343.468 lineto
-41.865 342.937 41.193 342.937 QUADTO
-40.553 342.937 40.139 343.273 QUADTO
-39.725 343.609 39.725 344.124 QUADTO
-39.725 344.562 40.029 344.898 QUADTO
-40.334 345.234 41.146 345.703 QUADTO
-41.756 346.046 lineto
-42.881 346.687 43.326 347.257 QUADTO
-43.771 347.828 43.771 348.624 QUADTO
-43.771 349.749 42.943 350.437 QUADTO
-42.115 351.124 40.725 351.124 QUADTO
-closepath
-47.562 350.906 M
-47.562 343.156 lineto
-44.484 343.156 lineto
-44.484 342.234 lineto
-51.859 342.234 lineto
-51.859 343.156 lineto
-48.781 343.156 lineto
-48.781 350.906 lineto
-47.562 350.906 lineto
-closepath
-56.885 350.906 M
-56.885 342.234 lineto
-58.088 342.234 lineto
-62.447 348.937 lineto
-62.447 342.234 lineto
-63.51 342.234 lineto
-63.51 350.906 lineto
-62.307 350.906 lineto
-57.932 344.203 lineto
-57.932 350.906 lineto
-56.885 350.906 lineto
-closepath
-65.922 348.953 M
-65.922 348.093 lineto
-72.859 348.093 lineto
-72.859 348.953 lineto
-65.922 348.953 lineto
-closepath
-65.922 346.781 M
-65.922 345.921 lineto
-72.859 345.921 lineto
-72.859 346.781 lineto
-65.922 346.781 lineto
-closepath
-75.977 350.906 M
-75.977 350.031 lineto
-77.711 350.031 lineto
-77.711 343.187 lineto
-75.977 343.624 lineto
-75.977 342.734 lineto
-78.867 342.015 lineto
-78.867 350.031 lineto
-80.602 350.031 lineto
-80.602 350.906 lineto
-75.977 350.906 lineto
-closepath
-85.518 351.124 M
-84.174 351.124 83.346 349.859 QUADTO
-82.518 348.593 82.518 346.562 QUADTO
-82.518 344.515 83.354 343.265 QUADTO
-84.189 342.015 85.549 342.015 QUADTO
-86.908 342.015 87.744 343.265 QUADTO
-88.58 344.515 88.58 346.546 QUADTO
-88.58 348.624 87.744 349.874 QUADTO
-86.908 351.124 85.518 351.124 QUADTO
-closepath
-85.533 350.249 M
-87.361 350.249 87.361 346.531 QUADTO
-87.361 342.89 85.549 342.89 QUADTO
-83.752 342.89 83.752 346.562 QUADTO
-83.752 350.249 85.533 350.249 QUADTO
-closepath
-93.105 351.124 M
-91.762 351.124 90.934 349.859 QUADTO
-90.105 348.593 90.105 346.562 QUADTO
-90.105 344.515 90.941 343.265 QUADTO
-91.777 342.015 93.137 342.015 QUADTO
-94.496 342.015 95.332 343.265 QUADTO
-96.168 344.515 96.168 346.546 QUADTO
-96.168 348.624 95.332 349.874 QUADTO
-94.496 351.124 93.105 351.124 QUADTO
-closepath
-93.121 350.249 M
-94.949 350.249 94.949 346.531 QUADTO
-94.949 342.89 93.137 342.89 QUADTO
-91.34 342.89 91.34 346.562 QUADTO
-91.34 350.249 93.121 350.249 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-102.928 346.63 M
-116.928 346.63 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-112.928 346.63 M
-112.928 348.287 111.585 349.63 109.928 349.63 curveto
-108.271 349.63 106.928 348.287 106.928 346.63 curveto
-106.928 344.973 108.271 343.63 109.928 343.63 curveto
-111.585 343.63 112.928 344.973 112.928 346.63 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-112.928 346.63 M
-112.928 348.287 111.585 349.63 109.928 349.63 curveto
-108.271 349.63 106.928 348.287 106.928 346.63 curveto
-106.928 344.973 108.271 343.63 109.928 343.63 curveto
-111.585 343.63 112.928 344.973 112.928 346.63 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-122.053 350.906 M
-122.053 342.234 lineto
-124.412 342.234 lineto
-125.975 342.234 126.662 342.765 QUADTO
-127.35 343.296 127.35 344.499 QUADTO
-127.35 345.89 126.412 346.671 QUADTO
-125.475 347.453 123.818 347.453 QUADTO
-123.271 347.453 lineto
-123.271 350.906 lineto
-122.053 350.906 lineto
-closepath
-123.271 346.531 M
-123.771 346.531 lineto
-124.865 346.531 125.459 346.023 QUADTO
-126.053 345.515 126.053 344.593 QUADTO
-126.053 343.828 125.584 343.492 QUADTO
-125.115 343.156 124.021 343.156 QUADTO
-123.271 343.156 lineto
-123.271 346.531 lineto
-closepath
-133.076 347.593 M
-131.592 343.843 lineto
-130.123 347.593 lineto
-133.076 347.593 lineto
-closepath
-134.373 350.906 M
-133.436 348.499 lineto
-129.764 348.499 lineto
-128.811 350.906 lineto
-127.654 350.906 lineto
-131.107 342.234 lineto
-132.326 342.234 lineto
-135.701 350.906 lineto
-134.373 350.906 lineto
-closepath
-138.652 351.124 M
-137.793 351.124 136.434 350.734 QUADTO
-136.434 349.515 lineto
-137.887 350.203 138.84 350.203 QUADTO
-139.559 350.203 140.004 349.82 QUADTO
-140.449 349.437 140.449 348.812 QUADTO
-140.449 348.312 140.16 347.953 QUADTO
-139.871 347.593 139.09 347.156 QUADTO
-138.496 346.812 lineto
-137.387 346.171 136.934 345.617 QUADTO
-136.48 345.062 136.48 344.312 QUADTO
-136.48 343.312 137.207 342.663 QUADTO
-137.934 342.015 139.059 342.015 QUADTO
-140.059 342.015 141.168 342.343 QUADTO
-141.168 343.468 lineto
-139.793 342.937 139.121 342.937 QUADTO
-138.48 342.937 138.066 343.273 QUADTO
-137.652 343.609 137.652 344.124 QUADTO
-137.652 344.562 137.957 344.898 QUADTO
-138.262 345.234 139.074 345.703 QUADTO
-139.684 346.046 lineto
-140.809 346.687 141.254 347.257 QUADTO
-141.699 347.828 141.699 348.624 QUADTO
-141.699 349.749 140.871 350.437 QUADTO
-140.043 351.124 138.652 351.124 QUADTO
-closepath
-145.49 350.906 M
-145.49 343.156 lineto
-142.412 343.156 lineto
-142.412 342.234 lineto
-149.787 342.234 lineto
-149.787 343.156 lineto
-146.709 343.156 lineto
-146.709 350.906 lineto
-145.49 350.906 lineto
-closepath
-154.812 350.906 M
-154.812 342.234 lineto
-156.016 342.234 lineto
-160.375 348.937 lineto
-160.375 342.234 lineto
-161.438 342.234 lineto
-161.438 350.906 lineto
-160.234 350.906 lineto
-155.859 344.203 lineto
-155.859 350.906 lineto
-154.812 350.906 lineto
-closepath
-163.85 348.953 M
-163.85 348.093 lineto
-170.787 348.093 lineto
-170.787 348.953 lineto
-163.85 348.953 lineto
-closepath
-163.85 346.781 M
-163.85 345.921 lineto
-170.787 345.921 lineto
-170.787 346.781 lineto
-163.85 346.781 lineto
-closepath
-173.904 350.906 M
-173.904 350.031 lineto
-175.639 350.031 lineto
-175.639 343.187 lineto
-173.904 343.624 lineto
-173.904 342.734 lineto
-176.795 342.015 lineto
-176.795 350.031 lineto
-178.529 350.031 lineto
-178.529 350.906 lineto
-173.904 350.906 lineto
-closepath
-183.445 351.124 M
-182.102 351.124 181.273 349.859 QUADTO
-180.445 348.593 180.445 346.562 QUADTO
-180.445 344.515 181.281 343.265 QUADTO
-182.117 342.015 183.477 342.015 QUADTO
-184.836 342.015 185.672 343.265 QUADTO
-186.508 344.515 186.508 346.546 QUADTO
-186.508 348.624 185.672 349.874 QUADTO
-184.836 351.124 183.445 351.124 QUADTO
-closepath
-183.461 350.249 M
-185.289 350.249 185.289 346.531 QUADTO
-185.289 342.89 183.477 342.89 QUADTO
-181.68 342.89 181.68 346.562 QUADTO
-181.68 350.249 183.461 350.249 QUADTO
-closepath
-191.033 351.124 M
-189.689 351.124 188.861 349.859 QUADTO
-188.033 348.593 188.033 346.562 QUADTO
-188.033 344.515 188.869 343.265 QUADTO
-189.705 342.015 191.064 342.015 QUADTO
-192.424 342.015 193.26 343.265 QUADTO
-194.096 344.515 194.096 346.546 QUADTO
-194.096 348.624 193.26 349.874 QUADTO
-192.424 351.124 191.033 351.124 QUADTO
-closepath
-191.049 350.249 M
-192.877 350.249 192.877 346.531 QUADTO
-192.877 342.89 191.064 342.89 QUADTO
-189.268 342.89 189.268 346.562 QUADTO
-189.268 350.249 191.049 350.249 QUADTO
-closepath
-198.621 351.124 M
-197.277 351.124 196.449 349.859 QUADTO
-195.621 348.593 195.621 346.562 QUADTO
-195.621 344.515 196.457 343.265 QUADTO
-197.293 342.015 198.652 342.015 QUADTO
-200.012 342.015 200.848 343.265 QUADTO
-201.684 344.515 201.684 346.546 QUADTO
-201.684 348.624 200.848 349.874 QUADTO
-200.012 351.124 198.621 351.124 QUADTO
-closepath
-198.637 350.249 M
-200.465 350.249 200.465 346.531 QUADTO
-200.465 342.89 198.652 342.89 QUADTO
-196.855 342.89 196.855 346.562 QUADTO
-196.855 350.249 198.637 350.249 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-208.443 346.63 M
-222.443 346.63 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-215.443 343.63 M
-218.443 349.63 lineto
-212.443 349.63 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-215.443 343.63 M
-218.443 349.63 lineto
-212.443 349.63 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-227.568 350.906 M
-227.568 342.234 lineto
-228.725 342.234 lineto
-228.725 346.499 lineto
-232.225 342.234 lineto
-233.459 342.234 lineto
-230.068 346.374 lineto
-234.068 350.906 lineto
-232.506 350.906 lineto
-228.725 346.515 lineto
-228.725 350.906 lineto
-227.568 350.906 lineto
-closepath
-238.715 350.093 M
-237.684 351.046 236.715 351.046 QUADTO
-235.918 351.046 235.402 350.554 QUADTO
-234.887 350.062 234.887 349.312 QUADTO
-234.887 348.265 235.762 347.703 QUADTO
-236.637 347.14 238.262 347.14 QUADTO
-238.543 347.14 lineto
-238.543 346.374 lineto
-238.543 345.265 237.402 345.265 QUADTO
-236.496 345.265 235.434 345.828 QUADTO
-235.434 344.874 lineto
-236.605 344.406 237.621 344.406 QUADTO
-238.684 344.406 239.191 344.882 QUADTO
-239.699 345.359 239.699 346.374 QUADTO
-239.699 349.265 lineto
-239.699 350.249 240.309 350.249 QUADTO
-240.387 350.249 240.527 350.218 QUADTO
-240.605 350.859 lineto
-240.215 351.046 239.746 351.046 QUADTO
-238.934 351.046 238.715 350.093 QUADTO
-closepath
-238.543 349.468 M
-238.543 347.828 lineto
-238.152 347.812 lineto
-237.215 347.812 236.629 348.171 QUADTO
-236.043 348.531 236.043 349.124 QUADTO
-236.043 349.531 236.332 349.82 QUADTO
-236.621 350.109 237.043 350.109 QUADTO
-237.762 350.109 238.543 349.468 QUADTO
-closepath
-246.139 350.906 M
-246.139 349.703 lineto
-245.436 351.046 244.029 351.046 QUADTO
-242.873 351.046 242.217 350.21 QUADTO
-241.561 349.374 241.561 347.921 QUADTO
-241.561 346.328 242.303 345.367 QUADTO
-243.045 344.406 244.264 344.406 QUADTO
-245.404 344.406 246.139 345.265 QUADTO
-246.139 341.656 lineto
-247.311 341.656 lineto
-247.311 350.906 lineto
-246.139 350.906 lineto
-closepath
-246.139 346.062 M
-245.248 345.265 244.451 345.265 QUADTO
-242.779 345.265 242.779 347.812 QUADTO
-242.779 350.031 244.264 350.031 QUADTO
-245.217 350.031 246.139 348.984 QUADTO
-246.139 346.062 lineto
-closepath
-254.27 350.703 M
-253.113 351.046 252.285 351.046 QUADTO
-250.879 351.046 249.996 350.117 QUADTO
-249.113 349.187 249.113 347.687 QUADTO
-249.113 346.249 249.895 345.32 QUADTO
-250.676 344.39 251.895 344.39 QUADTO
-253.051 344.39 253.676 345.21 QUADTO
-254.301 346.031 254.301 347.546 QUADTO
-254.301 347.906 lineto
-250.285 347.906 lineto
-250.535 350.171 252.504 350.171 QUADTO
-253.223 350.171 254.27 349.781 QUADTO
-254.27 350.703 lineto
-closepath
-250.332 347.031 M
-253.145 347.031 lineto
-253.145 345.265 251.816 345.265 QUADTO
-250.488 345.265 250.332 347.031 QUADTO
-closepath
-256.299 350.906 M
-256.299 344.546 lineto
-257.455 344.546 lineto
-257.455 345.734 lineto
-258.299 344.406 259.627 344.406 QUADTO
-260.893 344.406 261.361 345.734 QUADTO
-262.174 344.39 263.486 344.39 QUADTO
-264.33 344.39 264.799 344.89 QUADTO
-265.268 345.39 265.268 346.281 QUADTO
-265.268 350.906 lineto
-264.096 350.906 lineto
-264.096 346.453 lineto
-264.096 345.374 263.236 345.374 QUADTO
-262.346 345.374 261.361 346.64 QUADTO
-261.361 350.906 lineto
-260.205 350.906 lineto
-260.205 346.453 lineto
-260.205 345.359 259.314 345.359 QUADTO
-258.455 345.359 257.455 346.64 QUADTO
-257.455 350.906 lineto
-256.299 350.906 lineto
-closepath
-267.502 350.906 M
-267.502 341.656 lineto
-268.658 341.656 lineto
-268.658 350.906 lineto
-267.502 350.906 lineto
-closepath
-270.971 350.906 M
-270.971 344.546 lineto
-272.127 344.546 lineto
-272.127 350.906 lineto
-270.971 350.906 lineto
-closepath
-270.971 343.39 M
-270.971 342.234 lineto
-272.127 342.234 lineto
-272.127 343.39 lineto
-270.971 343.39 lineto
-closepath
-277.721 350.093 M
-276.689 351.046 275.721 351.046 QUADTO
-274.924 351.046 274.408 350.554 QUADTO
-273.893 350.062 273.893 349.312 QUADTO
-273.893 348.265 274.768 347.703 QUADTO
-275.643 347.14 277.268 347.14 QUADTO
-277.549 347.14 lineto
-277.549 346.374 lineto
-277.549 345.265 276.408 345.265 QUADTO
-275.502 345.265 274.439 345.828 QUADTO
-274.439 344.874 lineto
-275.611 344.406 276.627 344.406 QUADTO
-277.689 344.406 278.197 344.882 QUADTO
-278.705 345.359 278.705 346.374 QUADTO
-278.705 349.265 lineto
-278.705 350.249 279.314 350.249 QUADTO
-279.393 350.249 279.533 350.218 QUADTO
-279.611 350.859 lineto
-279.221 351.046 278.752 351.046 QUADTO
-277.939 351.046 277.721 350.093 QUADTO
-closepath
-277.549 349.468 M
-277.549 347.828 lineto
-277.158 347.812 lineto
-276.221 347.812 275.635 348.171 QUADTO
-275.049 348.531 275.049 349.124 QUADTO
-275.049 349.531 275.338 349.82 QUADTO
-275.627 350.109 276.049 350.109 QUADTO
-276.768 350.109 277.549 349.468 QUADTO
-closepath
-284.832 350.906 M
-284.832 342.234 lineto
-286.035 342.234 lineto
-290.395 348.937 lineto
-290.395 342.234 lineto
-291.457 342.234 lineto
-291.457 350.906 lineto
-290.254 350.906 lineto
-285.879 344.203 lineto
-285.879 350.906 lineto
-284.832 350.906 lineto
-closepath
-293.869 348.953 M
-293.869 348.093 lineto
-300.807 348.093 lineto
-300.807 348.953 lineto
-293.869 348.953 lineto
-closepath
-293.869 346.781 M
-293.869 345.921 lineto
-300.807 345.921 lineto
-300.807 346.781 lineto
-293.869 346.781 lineto
-closepath
-303.924 350.906 M
-303.924 350.031 lineto
-305.658 350.031 lineto
-305.658 343.187 lineto
-303.924 343.624 lineto
-303.924 342.734 lineto
-306.814 342.015 lineto
-306.814 350.031 lineto
-308.549 350.031 lineto
-308.549 350.906 lineto
-303.924 350.906 lineto
-closepath
-313.465 351.124 M
-312.121 351.124 311.293 349.859 QUADTO
-310.465 348.593 310.465 346.562 QUADTO
-310.465 344.515 311.301 343.265 QUADTO
-312.137 342.015 313.496 342.015 QUADTO
-314.855 342.015 315.691 343.265 QUADTO
-316.527 344.515 316.527 346.546 QUADTO
-316.527 348.624 315.691 349.874 QUADTO
-314.855 351.124 313.465 351.124 QUADTO
-closepath
-313.48 350.249 M
-315.309 350.249 315.309 346.531 QUADTO
-315.309 342.89 313.496 342.89 QUADTO
-311.699 342.89 311.699 346.562 QUADTO
-311.699 350.249 313.48 350.249 QUADTO
-closepath
-321.053 351.124 M
-319.709 351.124 318.881 349.859 QUADTO
-318.053 348.593 318.053 346.562 QUADTO
-318.053 344.515 318.889 343.265 QUADTO
-319.725 342.015 321.084 342.015 QUADTO
-322.443 342.015 323.279 343.265 QUADTO
-324.115 344.515 324.115 346.546 QUADTO
-324.115 348.624 323.279 349.874 QUADTO
-322.443 351.124 321.053 351.124 QUADTO
-closepath
-321.068 350.249 M
-322.896 350.249 322.896 346.531 QUADTO
-322.896 342.89 321.084 342.89 QUADTO
-319.287 342.89 319.287 346.562 QUADTO
-319.287 350.249 321.068 350.249 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-5 367.178 M
-19 367.178 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-12 364.178 M
-15 367.178 lineto
-12 370.178 lineto
-9 367.178 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-12 364.178 M
-15 367.178 lineto
-12 370.178 lineto
-9 367.178 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-24.125 371.454 M
-24.125 362.782 lineto
-25.281 362.782 lineto
-25.281 367.047 lineto
-28.781 362.782 lineto
-30.016 362.782 lineto
-26.625 366.922 lineto
-30.625 371.454 lineto
-29.062 371.454 lineto
-25.281 367.063 lineto
-25.281 371.454 lineto
-24.125 371.454 lineto
-closepath
-35.271 370.641 M
-34.24 371.594 33.271 371.594 QUADTO
-32.475 371.594 31.959 371.102 QUADTO
-31.443 370.61 31.443 369.86 QUADTO
-31.443 368.813 32.318 368.251 QUADTO
-33.193 367.688 34.818 367.688 QUADTO
-35.1 367.688 lineto
-35.1 366.922 lineto
-35.1 365.813 33.959 365.813 QUADTO
-33.053 365.813 31.99 366.376 QUADTO
-31.99 365.422 lineto
-33.162 364.954 34.178 364.954 QUADTO
-35.24 364.954 35.748 365.43 QUADTO
-36.256 365.907 36.256 366.922 QUADTO
-36.256 369.813 lineto
-36.256 370.797 36.865 370.797 QUADTO
-36.943 370.797 37.084 370.766 QUADTO
-37.162 371.407 lineto
-36.771 371.594 36.303 371.594 QUADTO
-35.49 371.594 35.271 370.641 QUADTO
-closepath
-35.1 370.016 M
-35.1 368.376 lineto
-34.709 368.36 lineto
-33.771 368.36 33.186 368.719 QUADTO
-32.6 369.079 32.6 369.672 QUADTO
-32.6 370.079 32.889 370.368 QUADTO
-33.178 370.657 33.6 370.657 QUADTO
-34.318 370.657 35.1 370.016 QUADTO
-closepath
-42.695 371.454 M
-42.695 370.251 lineto
-41.992 371.594 40.586 371.594 QUADTO
-39.43 371.594 38.773 370.758 QUADTO
-38.117 369.922 38.117 368.469 QUADTO
-38.117 366.876 38.859 365.915 QUADTO
-39.602 364.954 40.82 364.954 QUADTO
-41.961 364.954 42.695 365.813 QUADTO
-42.695 362.204 lineto
-43.867 362.204 lineto
-43.867 371.454 lineto
-42.695 371.454 lineto
-closepath
-42.695 366.61 M
-41.805 365.813 41.008 365.813 QUADTO
-39.336 365.813 39.336 368.36 QUADTO
-39.336 370.579 40.82 370.579 QUADTO
-41.773 370.579 42.695 369.532 QUADTO
-42.695 366.61 lineto
-closepath
-50.826 371.251 M
-49.67 371.594 48.842 371.594 QUADTO
-47.436 371.594 46.553 370.665 QUADTO
-45.67 369.735 45.67 368.235 QUADTO
-45.67 366.797 46.451 365.868 QUADTO
-47.232 364.938 48.451 364.938 QUADTO
-49.607 364.938 50.232 365.758 QUADTO
-50.857 366.579 50.857 368.094 QUADTO
-50.857 368.454 lineto
-46.842 368.454 lineto
-47.092 370.719 49.061 370.719 QUADTO
-49.779 370.719 50.826 370.329 QUADTO
-50.826 371.251 lineto
-closepath
-46.889 367.579 M
-49.701 367.579 lineto
-49.701 365.813 48.373 365.813 QUADTO
-47.045 365.813 46.889 367.579 QUADTO
-closepath
-52.855 371.454 M
-52.855 365.094 lineto
-54.012 365.094 lineto
-54.012 366.282 lineto
-54.855 364.954 56.184 364.954 QUADTO
-57.449 364.954 57.918 366.282 QUADTO
-58.73 364.938 60.043 364.938 QUADTO
-60.887 364.938 61.355 365.438 QUADTO
-61.824 365.938 61.824 366.829 QUADTO
-61.824 371.454 lineto
-60.652 371.454 lineto
-60.652 367.001 lineto
-60.652 365.922 59.793 365.922 QUADTO
-58.902 365.922 57.918 367.188 QUADTO
-57.918 371.454 lineto
-56.762 371.454 lineto
-56.762 367.001 lineto
-56.762 365.907 55.871 365.907 QUADTO
-55.012 365.907 54.012 367.188 QUADTO
-54.012 371.454 lineto
-52.855 371.454 lineto
-closepath
-64.059 371.454 M
-64.059 362.204 lineto
-65.215 362.204 lineto
-65.215 371.454 lineto
-64.059 371.454 lineto
-closepath
-67.527 371.454 M
-67.527 365.094 lineto
-68.684 365.094 lineto
-68.684 371.454 lineto
-67.527 371.454 lineto
-closepath
-67.527 363.938 M
-67.527 362.782 lineto
-68.684 362.782 lineto
-68.684 363.938 lineto
-67.527 363.938 lineto
-closepath
-74.277 370.641 M
-73.246 371.594 72.277 371.594 QUADTO
-71.48 371.594 70.965 371.102 QUADTO
-70.449 370.61 70.449 369.86 QUADTO
-70.449 368.813 71.324 368.251 QUADTO
-72.199 367.688 73.824 367.688 QUADTO
-74.105 367.688 lineto
-74.105 366.922 lineto
-74.105 365.813 72.965 365.813 QUADTO
-72.059 365.813 70.996 366.376 QUADTO
-70.996 365.422 lineto
-72.168 364.954 73.184 364.954 QUADTO
-74.246 364.954 74.754 365.43 QUADTO
-75.262 365.907 75.262 366.922 QUADTO
-75.262 369.813 lineto
-75.262 370.797 75.871 370.797 QUADTO
-75.949 370.797 76.09 370.766 QUADTO
-76.168 371.407 lineto
-75.777 371.594 75.309 371.594 QUADTO
-74.496 371.594 74.277 370.641 QUADTO
-closepath
-74.105 370.016 M
-74.105 368.376 lineto
-73.715 368.36 lineto
-72.777 368.36 72.191 368.719 QUADTO
-71.605 369.079 71.605 369.672 QUADTO
-71.605 370.079 71.895 370.368 QUADTO
-72.184 370.657 72.605 370.657 QUADTO
-73.324 370.657 74.105 370.016 QUADTO
-closepath
-81.389 371.454 M
-81.389 362.782 lineto
-82.592 362.782 lineto
-86.951 369.485 lineto
-86.951 362.782 lineto
-88.014 362.782 lineto
-88.014 371.454 lineto
-86.811 371.454 lineto
-82.436 364.751 lineto
-82.436 371.454 lineto
-81.389 371.454 lineto
-closepath
-90.426 369.501 M
-90.426 368.641 lineto
-97.363 368.641 lineto
-97.363 369.501 lineto
-90.426 369.501 lineto
-closepath
-90.426 367.329 M
-90.426 366.469 lineto
-97.363 366.469 lineto
-97.363 367.329 lineto
-90.426 367.329 lineto
-closepath
-100.48 371.454 M
-100.48 370.579 lineto
-102.215 370.579 lineto
-102.215 363.735 lineto
-100.48 364.172 lineto
-100.48 363.282 lineto
-103.371 362.563 lineto
-103.371 370.579 lineto
-105.105 370.579 lineto
-105.105 371.454 lineto
-100.48 371.454 lineto
-closepath
-110.021 371.672 M
-108.678 371.672 107.85 370.407 QUADTO
-107.021 369.141 107.021 367.11 QUADTO
-107.021 365.063 107.857 363.813 QUADTO
-108.693 362.563 110.053 362.563 QUADTO
-111.412 362.563 112.248 363.813 QUADTO
-113.084 365.063 113.084 367.094 QUADTO
-113.084 369.172 112.248 370.422 QUADTO
-111.412 371.672 110.021 371.672 QUADTO
-closepath
-110.037 370.797 M
-111.865 370.797 111.865 367.079 QUADTO
-111.865 363.438 110.053 363.438 QUADTO
-108.256 363.438 108.256 367.11 QUADTO
-108.256 370.797 110.037 370.797 QUADTO
-closepath
-117.609 371.672 M
-116.266 371.672 115.438 370.407 QUADTO
-114.609 369.141 114.609 367.11 QUADTO
-114.609 365.063 115.445 363.813 QUADTO
-116.281 362.563 117.641 362.563 QUADTO
-119 362.563 119.836 363.813 QUADTO
-120.672 365.063 120.672 367.094 QUADTO
-120.672 369.172 119.836 370.422 QUADTO
-119 371.672 117.609 371.672 QUADTO
-closepath
-117.625 370.797 M
-119.453 370.797 119.453 367.079 QUADTO
-119.453 363.438 117.641 363.438 QUADTO
-115.844 363.438 115.844 367.11 QUADTO
-115.844 370.797 117.625 370.797 QUADTO
-closepath
-125.197 371.672 M
-123.854 371.672 123.025 370.407 QUADTO
-122.197 369.141 122.197 367.11 QUADTO
-122.197 365.063 123.033 363.813 QUADTO
-123.869 362.563 125.229 362.563 QUADTO
-126.588 362.563 127.424 363.813 QUADTO
-128.26 365.063 128.26 367.094 QUADTO
-128.26 369.172 127.424 370.422 QUADTO
-126.588 371.672 125.197 371.672 QUADTO
-closepath
-125.213 370.797 M
-127.041 370.797 127.041 367.079 QUADTO
-127.041 363.438 125.229 363.438 QUADTO
-123.432 363.438 123.432 367.11 QUADTO
-123.432 370.797 125.213 370.797 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-135.02 367.178 M
-149.02 367.178 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-139.02 365.678 M
-145.02 365.678 lineto
-145.02 368.678 lineto
-139.02 368.678 lineto
-139.02 365.678 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-139.02 365.678 M
-145.02 365.678 lineto
-145.02 368.678 lineto
-139.02 368.678 lineto
-139.02 365.678 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-156.504 371.454 M
-153.238 362.782 lineto
-154.457 362.782 lineto
-157.145 369.876 lineto
-159.738 362.782 lineto
-160.816 362.782 lineto
-157.66 371.454 lineto
-156.504 371.454 lineto
-closepath
-166.678 371.251 M
-165.521 371.594 164.693 371.594 QUADTO
-163.287 371.594 162.404 370.665 QUADTO
-161.521 369.735 161.521 368.235 QUADTO
-161.521 366.797 162.303 365.868 QUADTO
-163.084 364.938 164.303 364.938 QUADTO
-165.459 364.938 166.084 365.758 QUADTO
-166.709 366.579 166.709 368.094 QUADTO
-166.709 368.454 lineto
-162.693 368.454 lineto
-162.943 370.719 164.912 370.719 QUADTO
-165.631 370.719 166.678 370.329 QUADTO
-166.678 371.251 lineto
-closepath
-162.74 367.579 M
-165.553 367.579 lineto
-165.553 365.813 164.225 365.813 QUADTO
-162.896 365.813 162.74 367.579 QUADTO
-closepath
-168.707 371.454 M
-168.707 365.094 lineto
-169.863 365.094 lineto
-169.863 366.282 lineto
-170.551 364.954 171.848 364.954 QUADTO
-172.035 364.954 172.223 364.985 QUADTO
-172.223 366.063 lineto
-171.926 365.954 171.691 365.954 QUADTO
-170.598 365.954 169.863 367.251 QUADTO
-169.863 371.454 lineto
-168.707 371.454 lineto
-closepath
-175.523 371.594 M
-174.648 371.594 174.156 371.094 QUADTO
-173.664 370.594 173.664 369.688 QUADTO
-173.664 365.954 lineto
-172.867 365.954 lineto
-172.867 365.094 lineto
-173.664 365.094 lineto
-173.664 363.938 lineto
-174.82 363.829 lineto
-174.82 365.094 lineto
-176.477 365.094 lineto
-176.477 365.954 lineto
-174.82 365.954 lineto
-174.82 369.485 lineto
-174.82 370.735 175.898 370.735 QUADTO
-176.117 370.735 176.445 370.657 QUADTO
-176.445 371.454 lineto
-175.914 371.594 175.523 371.594 QUADTO
-closepath
-182.762 371.251 M
-181.605 371.594 180.777 371.594 QUADTO
-179.371 371.594 178.488 370.665 QUADTO
-177.605 369.735 177.605 368.235 QUADTO
-177.605 366.797 178.387 365.868 QUADTO
-179.168 364.938 180.387 364.938 QUADTO
-181.543 364.938 182.168 365.758 QUADTO
-182.793 366.579 182.793 368.094 QUADTO
-182.793 368.454 lineto
-178.777 368.454 lineto
-179.027 370.719 180.996 370.719 QUADTO
-181.715 370.719 182.762 370.329 QUADTO
-182.762 371.251 lineto
-closepath
-178.824 367.579 M
-181.637 367.579 lineto
-181.637 365.813 180.309 365.813 QUADTO
-178.98 365.813 178.824 367.579 QUADTO
-closepath
-184.15 371.454 M
-186.572 368.172 lineto
-184.229 365.094 lineto
-185.588 365.094 lineto
-187.447 367.532 lineto
-189.135 365.094 lineto
-190.26 365.094 lineto
-188.057 368.313 lineto
-190.447 371.454 lineto
-189.072 371.454 lineto
-187.166 368.938 lineto
-185.307 371.454 lineto
-184.15 371.454 lineto
-closepath
-202.432 371.219 M
-200.854 371.672 199.682 371.672 QUADTO
-197.604 371.672 196.502 370.493 QUADTO
-195.4 369.313 195.4 367.11 QUADTO
-195.4 364.954 196.518 363.758 QUADTO
-197.635 362.563 199.666 362.563 QUADTO
-200.979 362.563 202.416 362.954 QUADTO
-202.416 364.094 lineto
-200.619 363.485 199.666 363.485 QUADTO
-198.26 363.485 197.486 364.438 QUADTO
-196.713 365.391 196.713 367.126 QUADTO
-196.713 368.844 197.541 369.797 QUADTO
-198.369 370.751 199.869 370.751 QUADTO
-200.494 370.751 201.197 370.532 QUADTO
-201.197 367.704 lineto
-202.432 367.704 lineto
-202.432 371.219 lineto
-closepath
-204.619 371.454 M
-204.619 365.094 lineto
-205.775 365.094 lineto
-205.775 366.282 lineto
-206.463 364.954 207.76 364.954 QUADTO
-207.947 364.954 208.135 364.985 QUADTO
-208.135 366.063 lineto
-207.838 365.954 207.604 365.954 QUADTO
-206.51 365.954 205.775 367.251 QUADTO
-205.775 371.454 lineto
-204.619 371.454 lineto
-closepath
-212.014 371.594 M
-210.654 371.594 209.842 370.688 QUADTO
-209.029 369.782 209.029 368.266 QUADTO
-209.029 366.735 209.842 365.844 QUADTO
-210.654 364.954 212.061 364.954 QUADTO
-213.467 364.954 214.279 365.844 QUADTO
-215.092 366.735 215.092 368.266 QUADTO
-215.092 369.813 214.271 370.704 QUADTO
-213.451 371.594 212.014 371.594 QUADTO
-closepath
-212.029 370.735 M
-213.873 370.735 213.873 368.266 QUADTO
-213.873 365.813 212.061 365.813 QUADTO
-210.248 365.813 210.248 368.266 QUADTO
-210.248 370.735 212.029 370.735 QUADTO
-closepath
-220.885 371.454 M
-220.885 370.251 lineto
-219.963 371.594 218.65 371.594 QUADTO
-217.807 371.594 217.314 371.071 QUADTO
-216.822 370.547 216.822 369.657 QUADTO
-216.822 365.094 lineto
-217.979 365.094 lineto
-217.979 369.282 lineto
-217.979 370.001 218.189 370.305 QUADTO
-218.4 370.61 218.885 370.61 QUADTO
-219.947 370.61 220.885 369.219 QUADTO
-220.885 365.094 lineto
-222.025 365.094 lineto
-222.025 371.454 lineto
-220.885 371.454 lineto
-closepath
-224.348 373.766 M
-224.348 365.094 lineto
-225.504 365.094 lineto
-225.504 366.282 lineto
-226.207 364.954 227.629 364.954 QUADTO
-228.77 364.954 229.434 365.79 QUADTO
-230.098 366.626 230.098 368.079 QUADTO
-230.098 369.657 229.348 370.626 QUADTO
-228.598 371.594 227.379 371.594 QUADTO
-226.254 371.594 225.504 370.735 QUADTO
-225.504 373.766 lineto
-224.348 373.766 lineto
-closepath
-225.504 369.938 M
-226.395 370.735 227.207 370.735 QUADTO
-228.863 370.735 228.863 368.188 QUADTO
-228.863 365.954 227.395 365.954 QUADTO
-226.426 365.954 225.504 367.001 QUADTO
-225.504 369.938 lineto
-closepath
-233.588 371.594 M
-232.791 371.594 231.666 371.235 QUADTO
-231.666 370.172 lineto
-232.791 370.735 233.635 370.735 QUADTO
-234.135 370.735 234.463 370.461 QUADTO
-234.791 370.188 234.791 369.782 QUADTO
-234.791 369.204 233.869 368.813 QUADTO
-233.197 368.516 lineto
-231.697 367.907 231.697 366.735 QUADTO
-231.697 365.907 232.291 365.43 QUADTO
-232.885 364.954 233.9 364.954 QUADTO
-234.432 364.954 235.229 365.094 QUADTO
-235.463 365.141 lineto
-235.463 366.11 lineto
-234.494 365.813 233.932 365.813 QUADTO
-232.807 365.813 232.807 366.626 QUADTO
-232.807 367.141 233.65 367.501 QUADTO
-234.213 367.735 lineto
-235.15 368.141 235.549 368.579 QUADTO
-235.947 369.016 235.947 369.688 QUADTO
-235.947 370.516 235.283 371.055 QUADTO
-234.619 371.594 233.588 371.594 QUADTO
-closepath
-241.783 371.454 M
-241.783 362.782 lineto
-242.986 362.782 lineto
-247.346 369.485 lineto
-247.346 362.782 lineto
-248.408 362.782 lineto
-248.408 371.454 lineto
-247.205 371.454 lineto
-242.83 364.751 lineto
-242.83 371.454 lineto
-241.783 371.454 lineto
-closepath
-250.82 369.501 M
-250.82 368.641 lineto
-257.758 368.641 lineto
-257.758 369.501 lineto
-250.82 369.501 lineto
-closepath
-250.82 367.329 M
-250.82 366.469 lineto
-257.758 366.469 lineto
-257.758 367.329 lineto
-250.82 367.329 lineto
-closepath
-260.875 371.454 M
-260.875 370.579 lineto
-262.609 370.579 lineto
-262.609 363.735 lineto
-260.875 364.172 lineto
-260.875 363.282 lineto
-263.766 362.563 lineto
-263.766 370.579 lineto
-265.5 370.579 lineto
-265.5 371.454 lineto
-260.875 371.454 lineto
-closepath
-270.416 371.672 M
-269.072 371.672 268.244 370.407 QUADTO
-267.416 369.141 267.416 367.11 QUADTO
-267.416 365.063 268.252 363.813 QUADTO
-269.088 362.563 270.447 362.563 QUADTO
-271.807 362.563 272.643 363.813 QUADTO
-273.479 365.063 273.479 367.094 QUADTO
-273.479 369.172 272.643 370.422 QUADTO
-271.807 371.672 270.416 371.672 QUADTO
-closepath
-270.432 370.797 M
-272.26 370.797 272.26 367.079 QUADTO
-272.26 363.438 270.447 363.438 QUADTO
-268.65 363.438 268.65 367.11 QUADTO
-268.65 370.797 270.432 370.797 QUADTO
-closepath
-278.004 371.672 M
-276.66 371.672 275.832 370.407 QUADTO
-275.004 369.141 275.004 367.11 QUADTO
-275.004 365.063 275.84 363.813 QUADTO
-276.676 362.563 278.035 362.563 QUADTO
-279.395 362.563 280.23 363.813 QUADTO
-281.066 365.063 281.066 367.094 QUADTO
-281.066 369.172 280.23 370.422 QUADTO
-279.395 371.672 278.004 371.672 QUADTO
-closepath
-278.02 370.797 M
-279.848 370.797 279.848 367.079 QUADTO
-279.848 363.438 278.035 363.438 QUADTO
-276.238 363.438 276.238 367.11 QUADTO
-276.238 370.797 278.02 370.797 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-5 387.726 M
-19 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-9 384.726 M
-15 384.726 lineto
-12 390.726 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-9 384.726 M
-15 384.726 lineto
-12 390.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-26.484 392.002 M
-23.219 383.33 lineto
-24.438 383.33 lineto
-27.125 390.424 lineto
-29.719 383.33 lineto
-30.797 383.33 lineto
-27.641 392.002 lineto
-26.484 392.002 lineto
-closepath
-36.658 391.799 M
-35.502 392.142 34.674 392.142 QUADTO
-33.268 392.142 32.385 391.213 QUADTO
-31.502 390.283 31.502 388.783 QUADTO
-31.502 387.345 32.283 386.416 QUADTO
-33.064 385.486 34.283 385.486 QUADTO
-35.439 385.486 36.064 386.306 QUADTO
-36.689 387.127 36.689 388.642 QUADTO
-36.689 389.002 lineto
-32.674 389.002 lineto
-32.924 391.267 34.893 391.267 QUADTO
-35.611 391.267 36.658 390.877 QUADTO
-36.658 391.799 lineto
-closepath
-32.721 388.127 M
-35.533 388.127 lineto
-35.533 386.361 34.205 386.361 QUADTO
-32.877 386.361 32.721 388.127 QUADTO
-closepath
-38.688 392.002 M
-38.688 385.642 lineto
-39.844 385.642 lineto
-39.844 386.83 lineto
-40.531 385.502 41.828 385.502 QUADTO
-42.016 385.502 42.203 385.533 QUADTO
-42.203 386.611 lineto
-41.906 386.502 41.672 386.502 QUADTO
-40.578 386.502 39.844 387.799 QUADTO
-39.844 392.002 lineto
-38.688 392.002 lineto
-closepath
-45.504 392.142 M
-44.629 392.142 44.137 391.642 QUADTO
-43.645 391.142 43.645 390.236 QUADTO
-43.645 386.502 lineto
-42.848 386.502 lineto
-42.848 385.642 lineto
-43.645 385.642 lineto
-43.645 384.486 lineto
-44.801 384.377 lineto
-44.801 385.642 lineto
-46.457 385.642 lineto
-46.457 386.502 lineto
-44.801 386.502 lineto
-44.801 390.033 lineto
-44.801 391.283 45.879 391.283 QUADTO
-46.098 391.283 46.426 391.205 QUADTO
-46.426 392.002 lineto
-45.895 392.142 45.504 392.142 QUADTO
-closepath
-52.742 391.799 M
-51.586 392.142 50.758 392.142 QUADTO
-49.352 392.142 48.469 391.213 QUADTO
-47.586 390.283 47.586 388.783 QUADTO
-47.586 387.345 48.367 386.416 QUADTO
-49.148 385.486 50.367 385.486 QUADTO
-51.523 385.486 52.148 386.306 QUADTO
-52.773 387.127 52.773 388.642 QUADTO
-52.773 389.002 lineto
-48.758 389.002 lineto
-49.008 391.267 50.977 391.267 QUADTO
-51.695 391.267 52.742 390.877 QUADTO
-52.742 391.799 lineto
-closepath
-48.805 388.127 M
-51.617 388.127 lineto
-51.617 386.361 50.289 386.361 QUADTO
-48.961 386.361 48.805 388.127 QUADTO
-closepath
-54.131 392.002 M
-56.553 388.72 lineto
-54.209 385.642 lineto
-55.568 385.642 lineto
-57.428 388.08 lineto
-59.115 385.642 lineto
-60.24 385.642 lineto
-58.037 388.861 lineto
-60.428 392.002 lineto
-59.053 392.002 lineto
-57.146 389.486 lineto
-55.287 392.002 lineto
-54.131 392.002 lineto
-closepath
-72.412 391.767 M
-70.834 392.22 69.662 392.22 QUADTO
-67.584 392.22 66.482 391.041 QUADTO
-65.381 389.861 65.381 387.658 QUADTO
-65.381 385.502 66.498 384.306 QUADTO
-67.615 383.111 69.646 383.111 QUADTO
-70.959 383.111 72.396 383.502 QUADTO
-72.396 384.642 lineto
-70.6 384.033 69.646 384.033 QUADTO
-68.24 384.033 67.467 384.986 QUADTO
-66.693 385.939 66.693 387.674 QUADTO
-66.693 389.392 67.521 390.345 QUADTO
-68.35 391.299 69.85 391.299 QUADTO
-70.475 391.299 71.178 391.08 QUADTO
-71.178 388.252 lineto
-72.412 388.252 lineto
-72.412 391.767 lineto
-closepath
-74.6 392.002 M
-74.6 385.642 lineto
-75.756 385.642 lineto
-75.756 386.83 lineto
-76.443 385.502 77.74 385.502 QUADTO
-77.928 385.502 78.115 385.533 QUADTO
-78.115 386.611 lineto
-77.818 386.502 77.584 386.502 QUADTO
-76.49 386.502 75.756 387.799 QUADTO
-75.756 392.002 lineto
-74.6 392.002 lineto
-closepath
-81.994 392.142 M
-80.635 392.142 79.822 391.236 QUADTO
-79.01 390.33 79.01 388.814 QUADTO
-79.01 387.283 79.822 386.392 QUADTO
-80.635 385.502 82.041 385.502 QUADTO
-83.447 385.502 84.26 386.392 QUADTO
-85.072 387.283 85.072 388.814 QUADTO
-85.072 390.361 84.252 391.252 QUADTO
-83.432 392.142 81.994 392.142 QUADTO
-closepath
-82.01 391.283 M
-83.854 391.283 83.854 388.814 QUADTO
-83.854 386.361 82.041 386.361 QUADTO
-80.229 386.361 80.229 388.814 QUADTO
-80.229 391.283 82.01 391.283 QUADTO
-closepath
-90.865 392.002 M
-90.865 390.799 lineto
-89.943 392.142 88.631 392.142 QUADTO
-87.787 392.142 87.295 391.619 QUADTO
-86.803 391.095 86.803 390.205 QUADTO
-86.803 385.642 lineto
-87.959 385.642 lineto
-87.959 389.83 lineto
-87.959 390.549 88.17 390.853 QUADTO
-88.381 391.158 88.865 391.158 QUADTO
-89.928 391.158 90.865 389.767 QUADTO
-90.865 385.642 lineto
-92.006 385.642 lineto
-92.006 392.002 lineto
-90.865 392.002 lineto
-closepath
-94.328 394.314 M
-94.328 385.642 lineto
-95.484 385.642 lineto
-95.484 386.83 lineto
-96.188 385.502 97.609 385.502 QUADTO
-98.75 385.502 99.414 386.338 QUADTO
-100.078 387.174 100.078 388.627 QUADTO
-100.078 390.205 99.328 391.174 QUADTO
-98.578 392.142 97.359 392.142 QUADTO
-96.234 392.142 95.484 391.283 QUADTO
-95.484 394.314 lineto
-94.328 394.314 lineto
-closepath
-95.484 390.486 M
-96.375 391.283 97.188 391.283 QUADTO
-98.844 391.283 98.844 388.736 QUADTO
-98.844 386.502 97.375 386.502 QUADTO
-96.406 386.502 95.484 387.549 QUADTO
-95.484 390.486 lineto
-closepath
-103.568 392.142 M
-102.771 392.142 101.646 391.783 QUADTO
-101.646 390.72 lineto
-102.771 391.283 103.615 391.283 QUADTO
-104.115 391.283 104.443 391.009 QUADTO
-104.771 390.736 104.771 390.33 QUADTO
-104.771 389.752 103.85 389.361 QUADTO
-103.178 389.064 lineto
-101.678 388.455 101.678 387.283 QUADTO
-101.678 386.455 102.271 385.978 QUADTO
-102.865 385.502 103.881 385.502 QUADTO
-104.412 385.502 105.209 385.642 QUADTO
-105.443 385.689 lineto
-105.443 386.658 lineto
-104.475 386.361 103.912 386.361 QUADTO
-102.787 386.361 102.787 387.174 QUADTO
-102.787 387.689 103.631 388.049 QUADTO
-104.193 388.283 lineto
-105.131 388.689 105.529 389.127 QUADTO
-105.928 389.564 105.928 390.236 QUADTO
-105.928 391.064 105.264 391.603 QUADTO
-104.6 392.142 103.568 392.142 QUADTO
-closepath
-111.764 392.002 M
-111.764 383.33 lineto
-112.967 383.33 lineto
-117.326 390.033 lineto
-117.326 383.33 lineto
-118.389 383.33 lineto
-118.389 392.002 lineto
-117.186 392.002 lineto
-112.811 385.299 lineto
-112.811 392.002 lineto
-111.764 392.002 lineto
-closepath
-120.801 390.049 M
-120.801 389.189 lineto
-127.738 389.189 lineto
-127.738 390.049 lineto
-120.801 390.049 lineto
-closepath
-120.801 387.877 M
-120.801 387.017 lineto
-127.738 387.017 lineto
-127.738 387.877 lineto
-120.801 387.877 lineto
-closepath
-130.855 392.002 M
-130.855 391.127 lineto
-132.59 391.127 lineto
-132.59 384.283 lineto
-130.855 384.72 lineto
-130.855 383.83 lineto
-133.746 383.111 lineto
-133.746 391.127 lineto
-135.48 391.127 lineto
-135.48 392.002 lineto
-130.855 392.002 lineto
-closepath
-140.396 392.22 M
-139.053 392.22 138.225 390.955 QUADTO
-137.396 389.689 137.396 387.658 QUADTO
-137.396 385.611 138.232 384.361 QUADTO
-139.068 383.111 140.428 383.111 QUADTO
-141.787 383.111 142.623 384.361 QUADTO
-143.459 385.611 143.459 387.642 QUADTO
-143.459 389.72 142.623 390.97 QUADTO
-141.787 392.22 140.396 392.22 QUADTO
-closepath
-140.412 391.345 M
-142.24 391.345 142.24 387.627 QUADTO
-142.24 383.986 140.428 383.986 QUADTO
-138.631 383.986 138.631 387.658 QUADTO
-138.631 391.345 140.412 391.345 QUADTO
-closepath
-147.984 392.22 M
-146.641 392.22 145.812 390.955 QUADTO
-144.984 389.689 144.984 387.658 QUADTO
-144.984 385.611 145.82 384.361 QUADTO
-146.656 383.111 148.016 383.111 QUADTO
-149.375 383.111 150.211 384.361 QUADTO
-151.047 385.611 151.047 387.642 QUADTO
-151.047 389.72 150.211 390.97 QUADTO
-149.375 392.22 147.984 392.22 QUADTO
-closepath
-148 391.345 M
-149.828 391.345 149.828 387.627 QUADTO
-149.828 383.986 148.016 383.986 QUADTO
-146.219 383.986 146.219 387.658 QUADTO
-146.219 391.345 148 391.345 QUADTO
-closepath
-155.572 392.22 M
-154.229 392.22 153.4 390.955 QUADTO
-152.572 389.689 152.572 387.658 QUADTO
-152.572 385.611 153.408 384.361 QUADTO
-154.244 383.111 155.604 383.111 QUADTO
-156.963 383.111 157.799 384.361 QUADTO
-158.635 385.611 158.635 387.642 QUADTO
-158.635 389.72 157.799 390.97 QUADTO
-156.963 392.22 155.572 392.22 QUADTO
-closepath
-155.588 391.345 M
-157.416 391.345 157.416 387.627 QUADTO
-157.416 383.986 155.604 383.986 QUADTO
-153.807 383.986 153.807 387.658 QUADTO
-153.807 391.345 155.588 391.345 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-69.533 34.247 M
-388 34.247 lineto
-388 284.835 lineto
-69.533 284.835 lineto
-69.533 34.247 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.533 288.835 M
-388 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-69.505 304.604 M
-68.161 304.604 67.333 303.338 QUADTO
-66.505 302.072 66.505 300.041 QUADTO
-66.505 297.994 67.341 296.744 QUADTO
-68.177 295.494 69.536 295.494 QUADTO
-70.896 295.494 71.731 296.744 QUADTO
-72.567 297.994 72.567 300.026 QUADTO
-72.567 302.104 71.731 303.354 QUADTO
-70.896 304.604 69.505 304.604 QUADTO
-closepath
-69.521 303.729 M
-71.349 303.729 71.349 300.01 QUADTO
-71.349 296.369 69.536 296.369 QUADTO
-67.739 296.369 67.739 300.041 QUADTO
-67.739 303.729 69.521 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.533 290.835 M
-69.533 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-103.3 304.416 M
-103.3 303.385 lineto
-104.175 303.729 104.94 303.729 QUADTO
-105.8 303.729 106.292 303.229 QUADTO
-106.784 302.729 106.784 301.838 QUADTO
-106.784 299.885 104.097 299.885 QUADTO
-103.784 299.885 103.456 299.932 QUADTO
-103.456 295.713 lineto
-107.847 295.713 lineto
-107.847 296.713 lineto
-104.472 296.713 lineto
-104.472 299.01 lineto
-106.143 299.01 107.081 299.776 QUADTO
-108.018 300.541 108.018 301.901 QUADTO
-108.018 303.166 107.159 303.885 QUADTO
-106.3 304.604 104.8 304.604 QUADTO
-104.143 304.604 103.3 304.416 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-105.641 290.835 M
-105.641 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-135.973 304.385 M
-135.973 303.51 lineto
-137.707 303.51 lineto
-137.707 296.666 lineto
-135.973 297.104 lineto
-135.973 296.213 lineto
-138.863 295.494 lineto
-138.863 303.51 lineto
-140.598 303.51 lineto
-140.598 304.385 lineto
-135.973 304.385 lineto
-closepath
-145.514 304.604 M
-144.17 304.604 143.342 303.338 QUADTO
-142.514 302.072 142.514 300.041 QUADTO
-142.514 297.994 143.349 296.744 QUADTO
-144.185 295.494 145.545 295.494 QUADTO
-146.904 295.494 147.74 296.744 QUADTO
-148.576 297.994 148.576 300.026 QUADTO
-148.576 302.104 147.74 303.354 QUADTO
-146.904 304.604 145.514 304.604 QUADTO
-closepath
-145.529 303.729 M
-147.357 303.729 147.357 300.01 QUADTO
-147.357 296.369 145.545 296.369 QUADTO
-143.748 296.369 143.748 300.041 QUADTO
-143.748 303.729 145.529 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-141.748 290.835 M
-141.748 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-172.08 304.385 M
-172.08 303.51 lineto
-173.814 303.51 lineto
-173.814 296.666 lineto
-172.08 297.104 lineto
-172.08 296.213 lineto
-174.97 295.494 lineto
-174.97 303.51 lineto
-176.705 303.51 lineto
-176.705 304.385 lineto
-172.08 304.385 lineto
-closepath
-179.308 304.416 M
-179.308 303.385 lineto
-180.183 303.729 180.949 303.729 QUADTO
-181.808 303.729 182.301 303.229 QUADTO
-182.793 302.729 182.793 301.838 QUADTO
-182.793 299.885 180.105 299.885 QUADTO
-179.793 299.885 179.465 299.932 QUADTO
-179.465 295.713 lineto
-183.855 295.713 lineto
-183.855 296.713 lineto
-180.48 296.713 lineto
-180.48 299.01 lineto
-182.152 299.01 183.09 299.776 QUADTO
-184.027 300.541 184.027 301.901 QUADTO
-184.027 303.166 183.168 303.885 QUADTO
-182.308 304.604 180.808 304.604 QUADTO
-180.152 304.604 179.308 304.416 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-177.855 290.835 M
-177.855 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-207.375 304.385 M
-207.375 303.369 lineto
-207.875 302.197 209.406 300.807 QUADTO
-210.078 300.213 lineto
-211.343 299.057 211.343 297.916 QUADTO
-211.343 297.197 210.914 296.783 QUADTO
-210.484 296.369 209.718 296.369 QUADTO
-208.812 296.369 207.593 297.057 QUADTO
-207.593 296.041 lineto
-208.75 295.494 209.875 295.494 QUADTO
-211.093 295.494 211.836 296.151 QUADTO
-212.578 296.807 212.578 297.885 QUADTO
-212.578 298.666 212.203 299.276 QUADTO
-211.828 299.885 210.812 300.744 QUADTO
-210.375 301.119 lineto
-208.984 302.291 208.765 303.369 QUADTO
-212.531 303.369 lineto
-212.531 304.385 lineto
-207.375 304.385 lineto
-closepath
-217.728 304.604 M
-216.384 304.604 215.556 303.338 QUADTO
-214.728 302.072 214.728 300.041 QUADTO
-214.728 297.994 215.564 296.744 QUADTO
-216.4 295.494 217.759 295.494 QUADTO
-219.119 295.494 219.955 296.744 QUADTO
-220.791 297.994 220.791 300.026 QUADTO
-220.791 302.104 219.955 303.354 QUADTO
-219.119 304.604 217.728 304.604 QUADTO
-closepath
-217.744 303.729 M
-219.572 303.729 219.572 300.01 QUADTO
-219.572 296.369 217.759 296.369 QUADTO
-215.963 296.369 215.963 300.041 QUADTO
-215.963 303.729 217.744 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-213.963 290.835 M
-213.963 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-243.482 304.385 M
-243.482 303.369 lineto
-243.982 302.197 245.513 300.807 QUADTO
-246.185 300.213 lineto
-247.451 299.057 247.451 297.916 QUADTO
-247.451 297.197 247.021 296.783 QUADTO
-246.591 296.369 245.826 296.369 QUADTO
-244.92 296.369 243.701 297.057 QUADTO
-243.701 296.041 lineto
-244.857 295.494 245.982 295.494 QUADTO
-247.201 295.494 247.943 296.151 QUADTO
-248.685 296.807 248.685 297.885 QUADTO
-248.685 298.666 248.31 299.276 QUADTO
-247.935 299.885 246.92 300.744 QUADTO
-246.482 301.119 lineto
-245.091 302.291 244.873 303.369 QUADTO
-248.638 303.369 lineto
-248.638 304.385 lineto
-243.482 304.385 lineto
-closepath
-251.523 304.416 M
-251.523 303.385 lineto
-252.398 303.729 253.164 303.729 QUADTO
-254.023 303.729 254.515 303.229 QUADTO
-255.007 302.729 255.007 301.838 QUADTO
-255.007 299.885 252.32 299.885 QUADTO
-252.007 299.885 251.679 299.932 QUADTO
-251.679 295.713 lineto
-256.07 295.713 lineto
-256.07 296.713 lineto
-252.695 296.713 lineto
-252.695 299.01 lineto
-254.367 299.01 255.304 299.776 QUADTO
-256.242 300.541 256.242 301.901 QUADTO
-256.242 303.166 255.382 303.885 QUADTO
-254.523 304.604 253.023 304.604 QUADTO
-252.367 304.604 251.523 304.416 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-250.07 290.835 M
-250.07 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-279.808 304.322 M
-279.808 303.244 lineto
-281.058 303.729 281.761 303.729 QUADTO
-282.589 303.729 283.113 303.244 QUADTO
-283.636 302.76 283.636 301.994 QUADTO
-283.636 300.166 281.074 300.166 QUADTO
-280.605 300.166 lineto
-280.605 299.385 lineto
-281.011 299.385 lineto
-283.418 299.385 283.418 297.697 QUADTO
-283.418 296.369 281.839 296.369 QUADTO
-280.964 296.369 279.933 296.854 QUADTO
-279.933 295.838 lineto
-280.949 295.494 281.918 295.494 QUADTO
-284.574 295.494 284.574 297.51 QUADTO
-284.574 299.041 282.761 299.682 QUADTO
-284.871 300.166 284.871 301.979 QUADTO
-284.871 303.213 284.058 303.908 QUADTO
-283.246 304.604 281.839 304.604 QUADTO
-281.027 304.604 279.808 304.322 QUADTO
-closepath
-289.943 304.604 M
-288.599 304.604 287.771 303.338 QUADTO
-286.943 302.072 286.943 300.041 QUADTO
-286.943 297.994 287.779 296.744 QUADTO
-288.615 295.494 289.974 295.494 QUADTO
-291.334 295.494 292.169 296.744 QUADTO
-293.005 297.994 293.005 300.026 QUADTO
-293.005 302.104 292.169 303.354 QUADTO
-291.334 304.604 289.943 304.604 QUADTO
-closepath
-289.959 303.729 M
-291.787 303.729 291.787 300.01 QUADTO
-291.787 296.369 289.974 296.369 QUADTO
-288.177 296.369 288.177 300.041 QUADTO
-288.177 303.729 289.959 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-286.177 290.835 M
-286.177 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-315.915 304.322 M
-315.915 303.244 lineto
-317.165 303.729 317.869 303.729 QUADTO
-318.697 303.729 319.22 303.244 QUADTO
-319.744 302.76 319.744 301.994 QUADTO
-319.744 300.166 317.181 300.166 QUADTO
-316.712 300.166 lineto
-316.712 299.385 lineto
-317.119 299.385 lineto
-319.525 299.385 319.525 297.697 QUADTO
-319.525 296.369 317.947 296.369 QUADTO
-317.072 296.369 316.04 296.854 QUADTO
-316.04 295.838 lineto
-317.056 295.494 318.025 295.494 QUADTO
-320.681 295.494 320.681 297.51 QUADTO
-320.681 299.041 318.869 299.682 QUADTO
-320.978 300.166 320.978 301.979 QUADTO
-320.978 303.213 320.165 303.908 QUADTO
-319.353 304.604 317.947 304.604 QUADTO
-317.134 304.604 315.915 304.322 QUADTO
-closepath
-323.738 304.416 M
-323.738 303.385 lineto
-324.613 303.729 325.378 303.729 QUADTO
-326.238 303.729 326.73 303.229 QUADTO
-327.222 302.729 327.222 301.838 QUADTO
-327.222 299.885 324.535 299.885 QUADTO
-324.222 299.885 323.894 299.932 QUADTO
-323.894 295.713 lineto
-328.285 295.713 lineto
-328.285 296.713 lineto
-324.91 296.713 lineto
-324.91 299.01 lineto
-326.582 299.01 327.519 299.776 QUADTO
-328.457 300.541 328.457 301.901 QUADTO
-328.457 303.166 327.597 303.885 QUADTO
-326.738 304.604 325.238 304.604 QUADTO
-324.582 304.604 323.738 304.416 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-322.285 290.835 M
-322.285 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-355.32 304.385 M
-355.32 301.932 lineto
-351.413 301.932 lineto
-351.413 301.057 lineto
-355.32 295.713 lineto
-356.413 295.713 lineto
-356.413 300.979 lineto
-357.57 300.979 lineto
-357.57 301.932 lineto
-356.413 301.932 lineto
-356.413 304.385 lineto
-355.32 304.385 lineto
-closepath
-352.554 300.979 M
-355.398 300.979 lineto
-355.398 297.135 lineto
-352.554 300.979 lineto
-closepath
-362.158 304.604 M
-360.814 304.604 359.986 303.338 QUADTO
-359.158 302.072 359.158 300.041 QUADTO
-359.158 297.994 359.994 296.744 QUADTO
-360.829 295.494 362.189 295.494 QUADTO
-363.548 295.494 364.384 296.744 QUADTO
-365.22 297.994 365.22 300.026 QUADTO
-365.22 302.104 364.384 303.354 QUADTO
-363.548 304.604 362.158 304.604 QUADTO
-closepath
-362.173 303.729 M
-364.001 303.729 364.001 300.01 QUADTO
-364.001 296.369 362.189 296.369 QUADTO
-360.392 296.369 360.392 300.041 QUADTO
-360.392 303.729 362.173 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-358.392 290.835 M
-358.392 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-175.293 323.858 M
-175.293 316.358 lineto
-177.309 316.358 lineto
-177.309 317.764 lineto
-178.309 316.186 179.872 316.186 QUADTO
-180.872 316.186 181.458 316.819 QUADTO
-182.043 317.452 182.043 318.545 QUADTO
-182.043 323.858 lineto
-180.012 323.858 lineto
-180.012 319.045 lineto
-180.012 317.78 179.168 317.78 QUADTO
-178.2 317.78 177.309 319.139 QUADTO
-177.309 323.858 lineto
-175.293 323.858 lineto
-closepath
-187.644 324.03 M
-185.878 324.03 184.847 322.967 QUADTO
-183.816 321.905 183.816 320.108 QUADTO
-183.816 318.28 184.855 317.233 QUADTO
-185.894 316.186 187.691 316.186 QUADTO
-189.488 316.186 190.527 317.233 QUADTO
-191.566 318.28 191.566 320.092 QUADTO
-191.566 321.936 190.519 322.983 QUADTO
-189.472 324.03 187.644 324.03 QUADTO
-closepath
-187.675 322.764 M
-189.41 322.764 189.41 320.092 QUADTO
-189.41 318.874 188.949 318.163 QUADTO
-188.488 317.452 187.691 317.452 QUADTO
-186.894 317.452 186.425 318.163 QUADTO
-185.957 318.874 185.957 320.108 QUADTO
-185.957 321.327 186.417 322.045 QUADTO
-186.878 322.764 187.675 322.764 QUADTO
-closepath
-198.148 323.858 M
-198.148 322.436 lineto
-197.367 324.03 195.695 324.03 QUADTO
-194.351 324.03 193.578 323.038 QUADTO
-192.804 322.045 192.804 320.311 QUADTO
-192.804 318.42 193.671 317.303 QUADTO
-194.539 316.186 196.007 316.186 QUADTO
-197.195 316.186 198.148 317.108 QUADTO
-198.148 313.061 lineto
-200.179 313.061 lineto
-200.179 323.858 lineto
-198.148 323.858 lineto
-closepath
-198.148 318.311 M
-197.414 317.499 196.585 317.499 QUADTO
-195.835 317.499 195.398 318.217 QUADTO
-194.96 318.936 194.96 320.139 QUADTO
-194.96 322.436 196.429 322.436 QUADTO
-197.335 322.436 198.148 321.28 QUADTO
-198.148 318.311 lineto
-closepath
-208.815 323.608 M
-207.377 324.03 206.081 324.03 QUADTO
-204.206 324.03 203.12 322.959 QUADTO
-202.034 321.889 202.034 320.045 QUADTO
-202.034 318.311 203.026 317.249 QUADTO
-204.018 316.186 205.659 316.186 QUADTO
-207.299 316.186 208.057 317.225 QUADTO
-208.815 318.264 208.815 320.514 QUADTO
-204.159 320.514 lineto
-204.362 322.655 206.518 322.655 QUADTO
-207.534 322.655 208.815 322.186 QUADTO
-208.815 323.608 lineto
-closepath
-204.127 319.374 M
-206.831 319.374 lineto
-206.831 317.452 205.596 317.452 QUADTO
-204.331 317.452 204.127 319.374 QUADTO
-closepath
-210.706 323.624 M
-210.706 322.139 lineto
-212.221 322.764 213.284 322.764 QUADTO
-214.518 322.764 214.518 321.92 QUADTO
-214.518 321.374 213.502 320.952 QUADTO
-212.815 320.686 lineto
-211.706 320.233 211.221 319.717 QUADTO
-210.737 319.202 210.737 318.436 QUADTO
-210.737 317.358 211.557 316.772 QUADTO
-212.377 316.186 213.831 316.186 QUADTO
-214.752 316.186 216.018 316.452 QUADTO
-216.018 317.874 lineto
-214.799 317.452 214.002 317.452 QUADTO
-212.737 317.452 212.737 318.217 QUADTO
-212.737 318.733 213.674 319.092 QUADTO
-214.252 319.311 lineto
-215.581 319.811 216.096 320.327 QUADTO
-216.612 320.842 216.612 321.655 QUADTO
-216.612 322.702 215.729 323.366 QUADTO
-214.846 324.03 213.44 324.03 QUADTO
-212.096 324.03 210.706 323.624 QUADTO
-closepath
-223.439 323.858 M
-223.439 316.358 lineto
-225.455 316.358 lineto
-225.455 323.858 lineto
-223.439 323.858 lineto
-closepath
-223.439 315.092 M
-223.439 313.405 lineto
-225.455 313.405 lineto
-225.455 315.092 lineto
-223.439 315.092 lineto
-closepath
-227.992 323.858 M
-227.992 316.358 lineto
-230.007 316.358 lineto
-230.007 317.764 lineto
-231.007 316.186 232.57 316.186 QUADTO
-233.57 316.186 234.156 316.819 QUADTO
-234.742 317.452 234.742 318.545 QUADTO
-234.742 323.858 lineto
-232.71 323.858 lineto
-232.71 319.045 lineto
-232.71 317.78 231.867 317.78 QUADTO
-230.898 317.78 230.007 319.139 QUADTO
-230.007 323.858 lineto
-227.992 323.858 lineto
-closepath
-239.045 323.858 M
-236.17 316.358 lineto
-238.311 316.358 lineto
-240.405 321.764 lineto
-242.483 316.358 lineto
-243.952 316.358 lineto
-241.061 323.858 lineto
-239.045 323.858 lineto
-closepath
-248.648 324.03 M
-246.882 324.03 245.851 322.967 QUADTO
-244.82 321.905 244.82 320.108 QUADTO
-244.82 318.28 245.859 317.233 QUADTO
-246.898 316.186 248.695 316.186 QUADTO
-250.492 316.186 251.531 317.233 QUADTO
-252.57 318.28 252.57 320.092 QUADTO
-252.57 321.936 251.523 322.983 QUADTO
-250.476 324.03 248.648 324.03 QUADTO
-closepath
-248.679 322.764 M
-250.414 322.764 250.414 320.092 QUADTO
-250.414 318.874 249.953 318.163 QUADTO
-249.492 317.452 248.695 317.452 QUADTO
-247.898 317.452 247.429 318.163 QUADTO
-246.96 318.874 246.96 320.108 QUADTO
-246.96 321.327 247.421 322.045 QUADTO
-247.882 322.764 248.679 322.764 QUADTO
-closepath
-254.433 323.858 M
-254.433 313.061 lineto
-256.449 313.061 lineto
-256.449 323.858 lineto
-254.433 323.858 lineto
-closepath
-260.845 323.858 M
-257.97 316.358 lineto
-260.111 316.358 lineto
-262.205 321.764 lineto
-264.283 316.358 lineto
-265.751 316.358 lineto
-262.861 323.858 lineto
-260.845 323.858 lineto
-closepath
-273.401 323.608 M
-271.963 324.03 270.667 324.03 QUADTO
-268.792 324.03 267.706 322.959 QUADTO
-266.62 321.889 266.62 320.045 QUADTO
-266.62 318.311 267.612 317.249 QUADTO
-268.604 316.186 270.245 316.186 QUADTO
-271.885 316.186 272.643 317.225 QUADTO
-273.401 318.264 273.401 320.514 QUADTO
-268.745 320.514 lineto
-268.948 322.655 271.104 322.655 QUADTO
-272.12 322.655 273.401 322.186 QUADTO
-273.401 323.608 lineto
-closepath
-268.713 319.374 M
-271.417 319.374 lineto
-271.417 317.452 270.182 317.452 QUADTO
-268.917 317.452 268.713 319.374 QUADTO
-closepath
-280.213 323.858 M
-280.213 322.436 lineto
-279.432 324.03 277.76 324.03 QUADTO
-276.417 324.03 275.643 323.038 QUADTO
-274.87 322.045 274.87 320.311 QUADTO
-274.87 318.42 275.737 317.303 QUADTO
-276.604 316.186 278.073 316.186 QUADTO
-279.26 316.186 280.213 317.108 QUADTO
-280.213 313.061 lineto
-282.245 313.061 lineto
-282.245 323.858 lineto
-280.213 323.858 lineto
-closepath
-280.213 318.311 M
-279.479 317.499 278.651 317.499 QUADTO
-277.901 317.499 277.463 318.217 QUADTO
-277.026 318.936 277.026 320.139 QUADTO
-277.026 322.436 278.495 322.436 QUADTO
-279.401 322.436 280.213 321.28 QUADTO
-280.213 318.311 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-65.533 34.247 M
-65.533 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-55.711 289.33 M
-54.367 289.33 53.539 288.064 QUADTO
-52.711 286.798 52.711 284.767 QUADTO
-52.711 282.72 53.547 281.47 QUADTO
-54.383 280.22 55.742 280.22 QUADTO
-57.102 280.22 57.938 281.47 QUADTO
-58.773 282.72 58.773 284.752 QUADTO
-58.773 286.83 57.938 288.08 QUADTO
-57.102 289.33 55.711 289.33 QUADTO
-closepath
-55.727 288.455 M
-57.555 288.455 57.555 284.736 QUADTO
-57.555 281.095 55.742 281.095 QUADTO
-53.945 281.095 53.945 284.767 QUADTO
-53.945 288.455 55.727 288.455 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 284.835 M
-65.533 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-53.398 258.125 M
-53.398 257.094 lineto
-54.273 257.438 55.039 257.438 QUADTO
-55.898 257.438 56.391 256.938 QUADTO
-56.883 256.438 56.883 255.547 QUADTO
-56.883 253.594 54.195 253.594 QUADTO
-53.883 253.594 53.555 253.641 QUADTO
-53.555 249.422 lineto
-57.945 249.422 lineto
-57.945 250.422 lineto
-54.57 250.422 lineto
-54.57 252.719 lineto
-56.242 252.719 57.18 253.485 QUADTO
-58.117 254.25 58.117 255.61 QUADTO
-58.117 256.875 57.258 257.594 QUADTO
-56.398 258.313 54.898 258.313 QUADTO
-54.242 258.313 53.398 258.125 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 253.818 M
-65.533 253.818 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-46.17 227.077 M
-46.17 226.202 lineto
-47.904 226.202 lineto
-47.904 219.358 lineto
-46.17 219.796 lineto
-46.17 218.905 lineto
-49.061 218.186 lineto
-49.061 226.202 lineto
-50.795 226.202 lineto
-50.795 227.077 lineto
-46.17 227.077 lineto
-closepath
-55.711 227.296 M
-54.367 227.296 53.539 226.03 QUADTO
-52.711 224.765 52.711 222.733 QUADTO
-52.711 220.686 53.547 219.436 QUADTO
-54.383 218.186 55.742 218.186 QUADTO
-57.102 218.186 57.938 219.436 QUADTO
-58.773 220.686 58.773 222.718 QUADTO
-58.773 224.796 57.938 226.046 QUADTO
-57.102 227.296 55.711 227.296 QUADTO
-closepath
-55.727 226.421 M
-57.555 226.421 57.555 222.702 QUADTO
-57.555 219.061 55.742 219.061 QUADTO
-53.945 219.061 53.945 222.733 QUADTO
-53.945 226.421 55.727 226.421 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 222.801 M
-65.533 222.801 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-46.17 196.06 M
-46.17 195.185 lineto
-47.904 195.185 lineto
-47.904 188.341 lineto
-46.17 188.779 lineto
-46.17 187.888 lineto
-49.061 187.169 lineto
-49.061 195.185 lineto
-50.795 195.185 lineto
-50.795 196.06 lineto
-46.17 196.06 lineto
-closepath
-53.398 196.091 M
-53.398 195.06 lineto
-54.273 195.404 55.039 195.404 QUADTO
-55.898 195.404 56.391 194.904 QUADTO
-56.883 194.404 56.883 193.513 QUADTO
-56.883 191.56 54.195 191.56 QUADTO
-53.883 191.56 53.555 191.607 QUADTO
-53.555 187.388 lineto
-57.945 187.388 lineto
-57.945 188.388 lineto
-54.57 188.388 lineto
-54.57 190.685 lineto
-56.242 190.685 57.18 191.451 QUADTO
-58.117 192.216 58.117 193.576 QUADTO
-58.117 194.841 57.258 195.56 QUADTO
-56.398 196.279 54.898 196.279 QUADTO
-54.242 196.279 53.398 196.091 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 191.784 M
-65.533 191.784 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.357 165.043 M
-45.357 164.027 lineto
-45.857 162.856 47.389 161.465 QUADTO
-48.061 160.871 lineto
-49.326 159.715 49.326 158.574 QUADTO
-49.326 157.856 48.896 157.441 QUADTO
-48.467 157.027 47.701 157.027 QUADTO
-46.795 157.027 45.576 157.715 QUADTO
-45.576 156.699 lineto
-46.732 156.152 47.857 156.152 QUADTO
-49.076 156.152 49.818 156.809 QUADTO
-50.561 157.465 50.561 158.543 QUADTO
-50.561 159.324 50.186 159.934 QUADTO
-49.811 160.543 48.795 161.402 QUADTO
-48.357 161.777 lineto
-46.967 162.949 46.748 164.027 QUADTO
-50.514 164.027 lineto
-50.514 165.043 lineto
-45.357 165.043 lineto
-closepath
-55.711 165.262 M
-54.367 165.262 53.539 163.996 QUADTO
-52.711 162.731 52.711 160.699 QUADTO
-52.711 158.652 53.547 157.402 QUADTO
-54.383 156.152 55.742 156.152 QUADTO
-57.102 156.152 57.938 157.402 QUADTO
-58.773 158.652 58.773 160.684 QUADTO
-58.773 162.762 57.938 164.012 QUADTO
-57.102 165.262 55.711 165.262 QUADTO
-closepath
-55.727 164.387 M
-57.555 164.387 57.555 160.668 QUADTO
-57.555 157.027 55.742 157.027 QUADTO
-53.945 157.027 53.945 160.699 QUADTO
-53.945 164.387 55.727 164.387 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 160.767 M
-65.533 160.767 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.357 134.026 M
-45.357 133.01 lineto
-45.857 131.839 47.389 130.448 QUADTO
-48.061 129.854 lineto
-49.326 128.698 49.326 127.557 QUADTO
-49.326 126.839 48.896 126.425 QUADTO
-48.467 126.01 47.701 126.01 QUADTO
-46.795 126.01 45.576 126.698 QUADTO
-45.576 125.682 lineto
-46.732 125.135 47.857 125.135 QUADTO
-49.076 125.135 49.818 125.792 QUADTO
-50.561 126.448 50.561 127.526 QUADTO
-50.561 128.307 50.186 128.917 QUADTO
-49.811 129.526 48.795 130.385 QUADTO
-48.357 130.76 lineto
-46.967 131.932 46.748 133.01 QUADTO
-50.514 133.01 lineto
-50.514 134.026 lineto
-45.357 134.026 lineto
-closepath
-53.398 134.057 M
-53.398 133.026 lineto
-54.273 133.37 55.039 133.37 QUADTO
-55.898 133.37 56.391 132.87 QUADTO
-56.883 132.37 56.883 131.479 QUADTO
-56.883 129.526 54.195 129.526 QUADTO
-53.883 129.526 53.555 129.573 QUADTO
-53.555 125.354 lineto
-57.945 125.354 lineto
-57.945 126.354 lineto
-54.57 126.354 lineto
-54.57 128.651 lineto
-56.242 128.651 57.18 129.417 QUADTO
-58.117 130.182 58.117 131.542 QUADTO
-58.117 132.807 57.258 133.526 QUADTO
-56.398 134.245 54.898 134.245 QUADTO
-54.242 134.245 53.398 134.057 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 129.75 M
-65.533 129.75 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.576 102.947 M
-45.576 101.868 lineto
-46.826 102.353 47.529 102.353 QUADTO
-48.357 102.353 48.881 101.868 QUADTO
-49.404 101.384 49.404 100.618 QUADTO
-49.404 98.79 46.842 98.79 QUADTO
-46.373 98.79 lineto
-46.373 98.009 lineto
-46.779 98.009 lineto
-49.186 98.009 49.186 96.322 QUADTO
-49.186 94.993 47.607 94.993 QUADTO
-46.732 94.993 45.701 95.478 QUADTO
-45.701 94.462 lineto
-46.717 94.118 47.686 94.118 QUADTO
-50.342 94.118 50.342 96.134 QUADTO
-50.342 97.665 48.529 98.306 QUADTO
-50.639 98.79 50.639 100.603 QUADTO
-50.639 101.837 49.826 102.533 QUADTO
-49.014 103.228 47.607 103.228 QUADTO
-46.795 103.228 45.576 102.947 QUADTO
-closepath
-55.711 103.228 M
-54.367 103.228 53.539 101.962 QUADTO
-52.711 100.697 52.711 98.665 QUADTO
-52.711 96.618 53.547 95.368 QUADTO
-54.383 94.118 55.742 94.118 QUADTO
-57.102 94.118 57.938 95.368 QUADTO
-58.773 96.618 58.773 98.65 QUADTO
-58.773 100.728 57.938 101.978 QUADTO
-57.102 103.228 55.711 103.228 QUADTO
-closepath
-55.727 102.353 M
-57.555 102.353 57.555 98.634 QUADTO
-57.555 94.993 55.742 94.993 QUADTO
-53.945 94.993 53.945 98.665 QUADTO
-53.945 102.353 55.727 102.353 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 98.733 M
-65.533 98.733 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.576 71.93 M
-45.576 70.852 lineto
-46.826 71.336 47.529 71.336 QUADTO
-48.357 71.336 48.881 70.852 QUADTO
-49.404 70.367 49.404 69.602 QUADTO
-49.404 67.773 46.842 67.773 QUADTO
-46.373 67.773 lineto
-46.373 66.992 lineto
-46.779 66.992 lineto
-49.186 66.992 49.186 65.305 QUADTO
-49.186 63.977 47.607 63.977 QUADTO
-46.732 63.977 45.701 64.461 QUADTO
-45.701 63.445 lineto
-46.717 63.102 47.686 63.102 QUADTO
-50.342 63.102 50.342 65.117 QUADTO
-50.342 66.648 48.529 67.289 QUADTO
-50.639 67.773 50.639 69.586 QUADTO
-50.639 70.82 49.826 71.516 QUADTO
-49.014 72.211 47.607 72.211 QUADTO
-46.795 72.211 45.576 71.93 QUADTO
-closepath
-53.398 72.023 M
-53.398 70.992 lineto
-54.273 71.336 55.039 71.336 QUADTO
-55.898 71.336 56.391 70.836 QUADTO
-56.883 70.336 56.883 69.445 QUADTO
-56.883 67.492 54.195 67.492 QUADTO
-53.883 67.492 53.555 67.539 QUADTO
-53.555 63.32 lineto
-57.945 63.32 lineto
-57.945 64.32 lineto
-54.57 64.32 lineto
-54.57 66.617 lineto
-56.242 66.617 57.18 67.383 QUADTO
-58.117 68.148 58.117 69.508 QUADTO
-58.117 70.773 57.258 71.492 QUADTO
-56.398 72.211 54.898 72.211 QUADTO
-54.242 72.211 53.398 72.023 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 67.716 M
-65.533 67.716 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-48.873 40.975 M
-48.873 38.522 lineto
-44.967 38.522 lineto
-44.967 37.647 lineto
-48.873 32.303 lineto
-49.967 32.303 lineto
-49.967 37.569 lineto
-51.123 37.569 lineto
-51.123 38.522 lineto
-49.967 38.522 lineto
-49.967 40.975 lineto
-48.873 40.975 lineto
-closepath
-46.107 37.569 M
-48.951 37.569 lineto
-48.951 33.725 lineto
-46.107 37.569 lineto
-closepath
-55.711 41.194 M
-54.367 41.194 53.539 39.928 QUADTO
-52.711 38.663 52.711 36.631 QUADTO
-52.711 34.585 53.547 33.335 QUADTO
-54.383 32.085 55.742 32.085 QUADTO
-57.102 32.085 57.938 33.335 QUADTO
-58.773 34.585 58.773 36.616 QUADTO
-58.773 38.694 57.938 39.944 QUADTO
-57.102 41.194 55.711 41.194 QUADTO
-closepath
-55.727 40.319 M
-57.555 40.319 57.555 36.6 QUADTO
-57.555 32.96 55.742 32.96 QUADTO
-53.945 32.96 53.945 36.631 QUADTO
-53.945 40.319 55.727 40.319 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 36.7 M
-65.533 36.7 lineto
-stroke
-grestore
-gsave
-[0 -1 1 0 -128.66988 190.41209] concat
-newpath
-190.412 128.67 M
-190.412 528.67 lineto
--209.588 528.67 lineto
--209.588 128.67 lineto
-190.412 128.67 lineto
-closepath
-clip
-0.251 setgray
-newpath
--24.448 164.529 M
--24.448 153.732 lineto
--22.432 153.732 lineto
--22.432 164.529 lineto
--24.448 164.529 lineto
-closepath
--16.739 164.701 M
--18.504 164.701 -19.536 163.639 QUADTO
--20.567 162.576 -20.567 160.779 QUADTO
--20.567 158.951 -19.528 157.904 QUADTO
--18.489 156.857 -16.692 156.857 QUADTO
--14.895 156.857 -13.856 157.904 QUADTO
--12.817 158.951 -12.817 160.764 QUADTO
--12.817 162.607 -13.864 163.654 QUADTO
--14.911 164.701 -16.739 164.701 QUADTO
-closepath
--16.708 163.435 M
--14.973 163.435 -14.973 160.764 QUADTO
--14.973 159.545 -15.434 158.834 QUADTO
--15.895 158.123 -16.692 158.123 QUADTO
--17.489 158.123 -17.958 158.834 QUADTO
--18.426 159.545 -18.426 160.779 QUADTO
--18.426 161.998 -17.965 162.717 QUADTO
--17.504 163.435 -16.708 163.435 QUADTO
-closepath
--7.282 163.717 M
--8.282 164.701 -9.438 164.701 QUADTO
--10.422 164.701 -11.04 164.1 QUADTO
--11.657 163.498 -11.657 162.545 QUADTO
--11.657 161.295 -10.665 160.623 QUADTO
--9.672 159.951 -7.813 159.951 QUADTO
--7.282 159.951 lineto
--7.282 159.264 lineto
--7.282 158.092 -8.61 158.092 QUADTO
--9.797 158.092 -11 158.764 QUADTO
--11 157.373 lineto
--9.625 156.857 -8.282 156.857 QUADTO
--5.329 156.857 -5.329 159.201 QUADTO
--5.329 162.514 lineto
--5.329 163.404 -4.766 163.404 QUADTO
--4.672 163.404 -4.5 163.373 QUADTO
--4.454 164.514 lineto
--5.094 164.701 -5.594 164.701 QUADTO
--6.829 164.701 -7.188 163.717 QUADTO
--7.282 163.717 lineto
-closepath
--7.282 162.639 M
--7.282 161.107 lineto
--7.75 161.107 lineto
--9.719 161.107 -9.719 162.342 QUADTO
--9.719 162.764 -9.438 163.045 QUADTO
--9.157 163.326 -8.735 163.326 QUADTO
--8.016 163.326 -7.282 162.639 QUADTO
-closepath
-1.996 164.529 M
-1.996 163.107 lineto
-1.214 164.701 -0.458 164.701 QUADTO
--1.801 164.701 -2.575 163.709 QUADTO
--3.348 162.717 -3.348 160.982 QUADTO
--3.348 159.092 -2.481 157.975 QUADTO
--1.614 156.857 -0.145 156.857 QUADTO
-1.042 156.857 1.996 157.779 QUADTO
-1.996 153.732 lineto
-4.027 153.732 lineto
-4.027 164.529 lineto
-1.996 164.529 lineto
-closepath
-1.996 158.982 M
-1.261 158.17 0.433 158.17 QUADTO
--0.317 158.17 -0.754 158.889 QUADTO
--1.192 159.607 -1.192 160.81 QUADTO
--1.192 163.107 0.277 163.107 QUADTO
-1.183 163.107 1.996 161.951 QUADTO
-1.996 158.982 lineto
-closepath
-11.386 164.529 M
-11.386 158.295 lineto
-10.339 158.295 lineto
-10.339 157.029 lineto
-11.386 157.029 lineto
-11.386 156.482 lineto
-11.386 153.56 14.152 153.56 QUADTO
-15.042 153.56 15.996 153.826 QUADTO
-15.996 155.185 lineto
-15.136 154.826 14.449 154.826 QUADTO
-13.402 154.826 13.402 156.404 QUADTO
-13.402 157.029 lineto
-15.308 157.029 lineto
-15.308 158.295 lineto
-13.402 158.295 lineto
-13.402 164.529 lineto
-11.386 164.529 lineto
-closepath
-16.971 164.529 M
-16.971 157.029 lineto
-18.987 157.029 lineto
-18.987 158.435 lineto
-19.784 156.857 21.393 156.857 QUADTO
-21.581 156.857 21.768 156.889 QUADTO
-21.768 158.701 lineto
-21.331 158.545 20.956 158.545 QUADTO
-19.752 158.545 18.987 159.764 QUADTO
-18.987 164.529 lineto
-16.971 164.529 lineto
-closepath
-27.007 163.717 M
-26.007 164.701 24.851 164.701 QUADTO
-23.867 164.701 23.25 164.1 QUADTO
-22.632 163.498 22.632 162.545 QUADTO
-22.632 161.295 23.625 160.623 QUADTO
-24.617 159.951 26.476 159.951 QUADTO
-27.007 159.951 lineto
-27.007 159.264 lineto
-27.007 158.092 25.679 158.092 QUADTO
-24.492 158.092 23.289 158.764 QUADTO
-23.289 157.373 lineto
-24.664 156.857 26.007 156.857 QUADTO
-28.96 156.857 28.96 159.201 QUADTO
-28.96 162.514 lineto
-28.96 163.404 29.523 163.404 QUADTO
-29.617 163.404 29.789 163.373 QUADTO
-29.835 164.514 lineto
-29.195 164.701 28.695 164.701 QUADTO
-27.46 164.701 27.101 163.717 QUADTO
-27.007 163.717 lineto
-closepath
-27.007 162.639 M
-27.007 161.107 lineto
-26.539 161.107 lineto
-24.57 161.107 24.57 162.342 QUADTO
-24.57 162.764 24.851 163.045 QUADTO
-25.132 163.326 25.554 163.326 QUADTO
-26.273 163.326 27.007 162.639 QUADTO
-closepath
-37.097 164.357 M
-35.847 164.701 34.769 164.701 QUADTO
-32.972 164.701 31.933 163.646 QUADTO
-30.894 162.592 30.894 160.764 QUADTO
-30.894 158.935 31.964 157.896 QUADTO
-33.035 156.857 34.925 156.857 QUADTO
-35.847 156.857 37.035 157.139 QUADTO
-37.035 158.607 lineto
-35.8 158.201 35.05 158.201 QUADTO
-34.144 158.201 33.589 158.904 QUADTO
-33.035 159.607 33.035 160.748 QUADTO
-33.035 161.935 33.636 162.646 QUADTO
-34.238 163.357 35.222 163.357 QUADTO
-36.144 163.357 37.097 162.967 QUADTO
-37.097 164.357 lineto
-closepath
-42.892 164.482 M
-42.158 164.701 41.751 164.701 QUADTO
-39.111 164.701 39.111 162.232 QUADTO
-39.111 158.295 lineto
-38.267 158.295 lineto
-38.267 157.029 lineto
-39.111 157.029 lineto
-39.111 155.764 lineto
-41.142 155.529 lineto
-41.142 157.029 lineto
-42.736 157.029 lineto
-42.736 158.295 lineto
-41.142 158.295 lineto
-41.142 161.967 lineto
-41.142 163.357 42.267 163.357 QUADTO
-42.517 163.357 42.892 163.264 QUADTO
-42.892 164.482 lineto
-closepath
-44.691 164.529 M
-44.691 157.029 lineto
-46.707 157.029 lineto
-46.707 164.529 lineto
-44.691 164.529 lineto
-closepath
-44.691 155.764 M
-44.691 154.076 lineto
-46.707 154.076 lineto
-46.707 155.764 lineto
-44.691 155.764 lineto
-closepath
-52.4 164.701 M
-50.634 164.701 49.603 163.639 QUADTO
-48.572 162.576 48.572 160.779 QUADTO
-48.572 158.951 49.611 157.904 QUADTO
-50.65 156.857 52.447 156.857 QUADTO
-54.244 156.857 55.283 157.904 QUADTO
-56.322 158.951 56.322 160.764 QUADTO
-56.322 162.607 55.275 163.654 QUADTO
-54.228 164.701 52.4 164.701 QUADTO
-closepath
-52.431 163.435 M
-54.166 163.435 54.166 160.764 QUADTO
-54.166 159.545 53.705 158.834 QUADTO
-53.244 158.123 52.447 158.123 QUADTO
-51.65 158.123 51.181 158.834 QUADTO
-50.712 159.545 50.712 160.779 QUADTO
-50.712 161.998 51.173 162.717 QUADTO
-51.634 163.435 52.431 163.435 QUADTO
-closepath
-58.185 164.529 M
-58.185 157.029 lineto
-60.201 157.029 lineto
-60.201 158.435 lineto
-61.201 156.857 62.763 156.857 QUADTO
-63.763 156.857 64.349 157.49 QUADTO
-64.935 158.123 64.935 159.217 QUADTO
-64.935 164.529 lineto
-62.904 164.529 lineto
-62.904 159.717 lineto
-62.904 158.451 62.06 158.451 QUADTO
-61.091 158.451 60.201 159.81 QUADTO
-60.201 164.529 lineto
-58.185 164.529 lineto
-closepath
-70.629 153.654 M
-70.629 154.951 lineto
-68.801 156.795 68.801 160.139 QUADTO
-68.801 163.498 70.629 165.326 QUADTO
-70.629 166.639 lineto
-68.958 165.732 67.958 163.959 QUADTO
-66.958 162.185 66.958 160.139 QUADTO
-66.958 158.092 67.942 156.342 QUADTO
-68.926 154.592 70.629 153.654 QUADTO
-closepath
-72.13 164.779 M
-80.084 154.154 lineto
-81.443 154.154 lineto
-73.49 164.779 lineto
-72.13 164.779 lineto
-closepath
-73.849 159.467 M
-72.755 159.467 72.115 158.787 QUADTO
-71.474 158.107 71.474 156.935 QUADTO
-71.474 155.764 72.115 155.084 QUADTO
-72.755 154.404 73.88 154.404 QUADTO
-74.99 154.404 75.638 155.084 QUADTO
-76.287 155.764 76.287 156.935 QUADTO
-76.287 158.123 75.638 158.795 QUADTO
-74.99 159.467 73.849 159.467 QUADTO
-closepath
-73.865 158.451 M
-74.755 158.451 74.755 156.935 QUADTO
-74.755 155.42 73.88 155.42 QUADTO
-72.99 155.42 72.99 156.935 QUADTO
-72.99 158.451 73.865 158.451 QUADTO
-closepath
-79.677 164.529 M
-78.568 164.529 77.927 163.85 QUADTO
-77.287 163.17 77.287 161.998 QUADTO
-77.287 160.81 77.935 160.139 QUADTO
-78.584 159.467 79.693 159.467 QUADTO
-80.818 159.467 81.459 160.139 QUADTO
-82.099 160.81 82.099 161.998 QUADTO
-82.099 163.185 81.459 163.857 QUADTO
-80.818 164.529 79.677 164.529 QUADTO
-closepath
-79.677 163.514 M
-80.584 163.514 80.584 161.998 QUADTO
-80.584 160.482 79.693 160.482 QUADTO
-78.802 160.482 78.802 161.998 QUADTO
-78.802 163.514 79.677 163.514 QUADTO
-closepath
-82.751 153.654 M
-82.751 154.951 lineto
-84.58 156.795 84.58 160.139 QUADTO
-84.58 163.498 82.751 165.326 QUADTO
-82.751 166.639 lineto
-84.423 165.732 85.423 163.959 QUADTO
-86.423 162.185 86.423 160.139 QUADTO
-86.423 158.092 85.439 156.342 QUADTO
-84.455 154.592 82.751 153.654 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-105.641 34.247 M
-105.641 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-141.748 34.247 M
-141.748 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-177.855 34.247 M
-177.855 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-213.963 34.247 M
-213.963 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-250.07 34.247 M
-250.07 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-286.177 34.247 M
-286.177 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-322.285 34.247 M
-322.285 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-358.392 34.247 M
-358.392 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 284.835 M
-388 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 253.818 M
-388 253.818 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 222.801 M
-388 222.801 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 191.784 M
-388 191.784 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 160.767 M
-388 160.767 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 129.75 M
-388 129.75 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 98.733 M
-388 98.733 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 67.716 M
-388 67.716 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 36.7 M
-388 36.7 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.533 139.443 M
-76.755 211.776 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-76.755 211.776 M
-83.976 227.676 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.976 227.676 M
-91.198 237.466 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-91.198 237.466 M
-98.419 245.098 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-98.419 245.098 M
-105.641 251.338 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-105.641 251.338 M
-112.862 255.886 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-112.862 255.886 M
-120.084 260.205 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-120.084 260.205 M
-127.305 263.28 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-127.305 263.28 M
-134.526 264.144 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-134.526 264.144 M
-141.748 266.896 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-141.748 266.896 M
-148.969 268.517 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-148.969 268.517 M
-156.191 271.472 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-156.191 271.472 M
-163.412 273.109 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-163.412 273.109 M
-170.634 273.584 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-170.634 273.584 M
-177.855 275.212 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-177.855 275.212 M
-185.077 277.336 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-185.077 277.336 M
-192.298 278.17 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-192.298 278.17 M
-199.52 278.717 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-199.52 278.717 M
-206.741 279.663 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-206.741 279.663 M
-213.963 280.826 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-213.963 280.826 M
-221.184 281.314 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-221.184 281.314 M
-228.406 281.575 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-228.406 281.575 M
-235.627 282.406 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-235.627 282.406 M
-242.848 282.92 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-242.848 282.92 M
-250.07 283.354 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-250.07 283.354 M
-257.291 283.712 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-257.291 283.712 M
-264.513 283.875 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-264.513 283.875 M
-271.734 283.972 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-271.734 283.972 M
-278.956 284.137 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-278.956 284.137 M
-286.177 284.304 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-286.177 284.304 M
-293.399 284.304 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-293.399 284.304 M
-300.62 284.511 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-300.62 284.511 M
-307.842 284.589 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-307.842 284.589 M
-315.063 284.589 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-315.063 284.589 M
-322.285 284.675 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-322.285 284.675 M
-329.506 284.675 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-329.506 284.675 M
-336.728 284.757 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-336.728 284.757 M
-343.949 284.757 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.533 146.669 M
-76.755 214.535 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-76.755 214.535 M
-83.976 222.355 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.976 222.355 M
-91.198 230.595 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-91.198 230.595 M
-98.419 244.34 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-98.419 244.34 M
-105.641 251.285 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-105.641 251.285 M
-112.862 256.014 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-112.862 256.014 M
-120.084 261.115 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-120.084 261.115 M
-127.305 264.348 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-127.305 264.348 M
-134.526 267.697 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-134.526 267.697 M
-141.748 268.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-141.748 268.835 M
-148.969 270.255 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-148.969 270.255 M
-156.191 271.176 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-156.191 271.176 M
-163.412 272.22 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-163.412 272.22 M
-170.634 273.065 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-170.634 273.065 M
-177.855 274.232 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-177.855 274.232 M
-185.077 275.519 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-185.077 275.519 M
-192.298 276.7 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-192.298 276.7 M
-199.52 277.964 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-199.52 277.964 M
-206.741 278.693 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-206.741 278.693 M
-213.963 279.952 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-213.963 279.952 M
-221.184 281.23 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-221.184 281.23 M
-228.406 281.993 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-228.406 281.993 M
-235.627 282.606 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-235.627 282.606 M
-242.848 282.945 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-242.848 282.945 M
-250.07 283.515 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-250.07 283.515 M
-257.291 283.948 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-257.291 283.948 M
-264.513 284.139 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-264.513 284.139 M
-271.734 284.162 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-271.734 284.162 M
-278.956 284.364 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-278.956 284.364 M
-286.177 284.453 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-286.177 284.453 M
-293.399 284.566 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-293.399 284.566 M
-300.62 284.655 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-300.62 284.655 M
-307.842 284.689 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-307.842 284.689 M
-315.063 284.711 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-315.063 284.711 M
-322.285 284.722 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-322.285 284.722 M
-329.506 284.722 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-329.506 284.722 M
-336.728 284.745 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-336.728 284.745 M
-343.949 284.745 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-343.949 284.745 M
-351.171 284.756 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-351.171 284.756 M
-358.392 284.768 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-358.392 284.768 M
-365.613 284.79 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-365.613 284.79 M
-372.835 284.79 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.533 46.179 M
-76.755 127.297 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-76.755 127.297 M
-83.976 158.05 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.976 158.05 M
-91.198 219.846 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-91.198 219.846 M
-98.419 266.267 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-98.419 266.267 M
-105.641 279.58 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-105.641 279.58 M
-112.862 281.056 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-112.862 281.056 M
-120.084 281.771 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-120.084 281.771 M
-127.305 283.131 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.533 48.098 M
-76.755 130.699 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-76.755 130.699 M
-83.976 162.301 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.976 162.301 M
-91.198 213.747 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-91.198 213.747 M
-98.419 265.871 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-98.419 265.871 M
-105.641 273.592 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-105.641 273.592 M
-112.862 281.909 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-112.862 281.909 M
-120.084 282.986 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-120.084 282.986 M
-127.305 283.977 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.533 64.56 M
-76.755 125.207 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-76.755 125.207 M
-83.976 180.692 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.976 180.692 M
-91.198 216.301 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-91.198 216.301 M
-98.419 237.766 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-98.419 237.766 M
-105.641 264.146 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.533 58.235 M
-76.755 110.614 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-76.755 110.614 M
-83.976 180.762 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.976 180.762 M
-91.198 221.159 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-91.198 221.159 M
-98.419 250.823 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-98.419 250.823 M
-105.641 267.079 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-66.533 136.443 M
-72.533 136.443 lineto
-69.533 142.443 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.533 136.443 M
-72.533 136.443 lineto
-69.533 142.443 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-73.755 208.776 M
-79.755 208.776 lineto
-76.755 214.776 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-73.755 208.776 M
-79.755 208.776 lineto
-76.755 214.776 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-80.976 224.676 M
-86.976 224.676 lineto
-83.976 230.676 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.976 224.676 M
-86.976 224.676 lineto
-83.976 230.676 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-88.198 234.466 M
-94.198 234.466 lineto
-91.198 240.466 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-88.198 234.466 M
-94.198 234.466 lineto
-91.198 240.466 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-95.419 242.098 M
-101.419 242.098 lineto
-98.419 248.098 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-95.419 242.098 M
-101.419 242.098 lineto
-98.419 248.098 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-102.641 248.338 M
-108.641 248.338 lineto
-105.641 254.338 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-102.641 248.338 M
-108.641 248.338 lineto
-105.641 254.338 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-109.862 252.886 M
-115.862 252.886 lineto
-112.862 258.886 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-109.862 252.886 M
-115.862 252.886 lineto
-112.862 258.886 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-117.084 257.205 M
-123.084 257.205 lineto
-120.084 263.205 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-117.084 257.205 M
-123.084 257.205 lineto
-120.084 263.205 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-124.305 260.28 M
-130.305 260.28 lineto
-127.305 266.28 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.305 260.28 M
-130.305 260.28 lineto
-127.305 266.28 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-131.526 261.144 M
-137.526 261.144 lineto
-134.526 267.144 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-131.526 261.144 M
-137.526 261.144 lineto
-134.526 267.144 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-138.748 263.896 M
-144.748 263.896 lineto
-141.748 269.896 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-138.748 263.896 M
-144.748 263.896 lineto
-141.748 269.896 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-145.969 265.517 M
-151.969 265.517 lineto
-148.969 271.517 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-145.969 265.517 M
-151.969 265.517 lineto
-148.969 271.517 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-153.191 268.472 M
-159.191 268.472 lineto
-156.191 274.472 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-153.191 268.472 M
-159.191 268.472 lineto
-156.191 274.472 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-160.412 270.109 M
-166.412 270.109 lineto
-163.412 276.109 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-160.412 270.109 M
-166.412 270.109 lineto
-163.412 276.109 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-167.634 270.584 M
-173.634 270.584 lineto
-170.634 276.584 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-167.634 270.584 M
-173.634 270.584 lineto
-170.634 276.584 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-174.855 272.212 M
-180.855 272.212 lineto
-177.855 278.212 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-174.855 272.212 M
-180.855 272.212 lineto
-177.855 278.212 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-182.077 274.336 M
-188.077 274.336 lineto
-185.077 280.336 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-182.077 274.336 M
-188.077 274.336 lineto
-185.077 280.336 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-189.298 275.17 M
-195.298 275.17 lineto
-192.298 281.17 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.298 275.17 M
-195.298 275.17 lineto
-192.298 281.17 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-196.52 275.717 M
-202.52 275.717 lineto
-199.52 281.717 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-196.52 275.717 M
-202.52 275.717 lineto
-199.52 281.717 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-203.741 276.663 M
-209.741 276.663 lineto
-206.741 282.663 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-203.741 276.663 M
-209.741 276.663 lineto
-206.741 282.663 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-210.963 277.826 M
-216.963 277.826 lineto
-213.963 283.826 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-210.963 277.826 M
-216.963 277.826 lineto
-213.963 283.826 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-218.184 278.314 M
-224.184 278.314 lineto
-221.184 284.314 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-218.184 278.314 M
-224.184 278.314 lineto
-221.184 284.314 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-225.406 278.575 M
-231.406 278.575 lineto
-228.406 284.575 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-225.406 278.575 M
-231.406 278.575 lineto
-228.406 284.575 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-232.627 279.406 M
-238.627 279.406 lineto
-235.627 285.406 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-232.627 279.406 M
-238.627 279.406 lineto
-235.627 285.406 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-239.848 279.92 M
-245.848 279.92 lineto
-242.848 285.92 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-239.848 279.92 M
-245.848 279.92 lineto
-242.848 285.92 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-247.07 280.354 M
-253.07 280.354 lineto
-250.07 286.354 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-247.07 280.354 M
-253.07 280.354 lineto
-250.07 286.354 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-254.291 280.712 M
-260.291 280.712 lineto
-257.291 286.712 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-254.291 280.712 M
-260.291 280.712 lineto
-257.291 286.712 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-261.513 280.875 M
-267.513 280.875 lineto
-264.513 286.875 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-261.513 280.875 M
-267.513 280.875 lineto
-264.513 286.875 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-268.734 280.972 M
-274.734 280.972 lineto
-271.734 286.972 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-268.734 280.972 M
-274.734 280.972 lineto
-271.734 286.972 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-275.956 281.137 M
-281.956 281.137 lineto
-278.956 287.137 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-275.956 281.137 M
-281.956 281.137 lineto
-278.956 287.137 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-283.177 281.304 M
-289.177 281.304 lineto
-286.177 287.304 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-283.177 281.304 M
-289.177 281.304 lineto
-286.177 287.304 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-290.399 281.304 M
-296.399 281.304 lineto
-293.399 287.304 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-290.399 281.304 M
-296.399 281.304 lineto
-293.399 287.304 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-297.62 281.511 M
-303.62 281.511 lineto
-300.62 287.511 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-297.62 281.511 M
-303.62 281.511 lineto
-300.62 287.511 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-304.842 281.589 M
-310.842 281.589 lineto
-307.842 287.589 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-304.842 281.589 M
-310.842 281.589 lineto
-307.842 287.589 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-312.063 281.589 M
-318.063 281.589 lineto
-315.063 287.589 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-312.063 281.589 M
-318.063 281.589 lineto
-315.063 287.589 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-319.285 281.675 M
-325.285 281.675 lineto
-322.285 287.675 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.285 281.675 M
-325.285 281.675 lineto
-322.285 287.675 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-326.506 281.675 M
-332.506 281.675 lineto
-329.506 287.675 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-326.506 281.675 M
-332.506 281.675 lineto
-329.506 287.675 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-333.728 281.757 M
-339.728 281.757 lineto
-336.728 287.757 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-333.728 281.757 M
-339.728 281.757 lineto
-336.728 287.757 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-340.949 281.757 M
-346.949 281.757 lineto
-343.949 287.757 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-340.949 281.757 M
-346.949 281.757 lineto
-343.949 287.757 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-66.533 145.169 M
-72.533 145.169 lineto
-72.533 148.169 lineto
-66.533 148.169 lineto
-66.533 145.169 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.533 145.169 M
-72.533 145.169 lineto
-72.533 148.169 lineto
-66.533 148.169 lineto
-66.533 145.169 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-73.755 213.035 M
-79.755 213.035 lineto
-79.755 216.035 lineto
-73.755 216.035 lineto
-73.755 213.035 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-73.755 213.035 M
-79.755 213.035 lineto
-79.755 216.035 lineto
-73.755 216.035 lineto
-73.755 213.035 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-80.976 220.855 M
-86.976 220.855 lineto
-86.976 223.855 lineto
-80.976 223.855 lineto
-80.976 220.855 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.976 220.855 M
-86.976 220.855 lineto
-86.976 223.855 lineto
-80.976 223.855 lineto
-80.976 220.855 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-88.198 229.095 M
-94.198 229.095 lineto
-94.198 232.095 lineto
-88.198 232.095 lineto
-88.198 229.095 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-88.198 229.095 M
-94.198 229.095 lineto
-94.198 232.095 lineto
-88.198 232.095 lineto
-88.198 229.095 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-95.419 242.84 M
-101.419 242.84 lineto
-101.419 245.84 lineto
-95.419 245.84 lineto
-95.419 242.84 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-95.419 242.84 M
-101.419 242.84 lineto
-101.419 245.84 lineto
-95.419 245.84 lineto
-95.419 242.84 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-102.641 249.785 M
-108.641 249.785 lineto
-108.641 252.785 lineto
-102.641 252.785 lineto
-102.641 249.785 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-102.641 249.785 M
-108.641 249.785 lineto
-108.641 252.785 lineto
-102.641 252.785 lineto
-102.641 249.785 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-109.862 254.514 M
-115.862 254.514 lineto
-115.862 257.514 lineto
-109.862 257.514 lineto
-109.862 254.514 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-109.862 254.514 M
-115.862 254.514 lineto
-115.862 257.514 lineto
-109.862 257.514 lineto
-109.862 254.514 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-117.084 259.615 M
-123.084 259.615 lineto
-123.084 262.615 lineto
-117.084 262.615 lineto
-117.084 259.615 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-117.084 259.615 M
-123.084 259.615 lineto
-123.084 262.615 lineto
-117.084 262.615 lineto
-117.084 259.615 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-124.305 262.848 M
-130.305 262.848 lineto
-130.305 265.848 lineto
-124.305 265.848 lineto
-124.305 262.848 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.305 262.848 M
-130.305 262.848 lineto
-130.305 265.848 lineto
-124.305 265.848 lineto
-124.305 262.848 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-131.526 266.197 M
-137.526 266.197 lineto
-137.526 269.197 lineto
-131.526 269.197 lineto
-131.526 266.197 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-131.526 266.197 M
-137.526 266.197 lineto
-137.526 269.197 lineto
-131.526 269.197 lineto
-131.526 266.197 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-138.748 267.335 M
-144.748 267.335 lineto
-144.748 270.335 lineto
-138.748 270.335 lineto
-138.748 267.335 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-138.748 267.335 M
-144.748 267.335 lineto
-144.748 270.335 lineto
-138.748 270.335 lineto
-138.748 267.335 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-145.969 268.755 M
-151.969 268.755 lineto
-151.969 271.755 lineto
-145.969 271.755 lineto
-145.969 268.755 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-145.969 268.755 M
-151.969 268.755 lineto
-151.969 271.755 lineto
-145.969 271.755 lineto
-145.969 268.755 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-153.191 269.676 M
-159.191 269.676 lineto
-159.191 272.676 lineto
-153.191 272.676 lineto
-153.191 269.676 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-153.191 269.676 M
-159.191 269.676 lineto
-159.191 272.676 lineto
-153.191 272.676 lineto
-153.191 269.676 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-160.412 270.72 M
-166.412 270.72 lineto
-166.412 273.72 lineto
-160.412 273.72 lineto
-160.412 270.72 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-160.412 270.72 M
-166.412 270.72 lineto
-166.412 273.72 lineto
-160.412 273.72 lineto
-160.412 270.72 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-167.634 271.565 M
-173.634 271.565 lineto
-173.634 274.565 lineto
-167.634 274.565 lineto
-167.634 271.565 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-167.634 271.565 M
-173.634 271.565 lineto
-173.634 274.565 lineto
-167.634 274.565 lineto
-167.634 271.565 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-174.855 272.732 M
-180.855 272.732 lineto
-180.855 275.732 lineto
-174.855 275.732 lineto
-174.855 272.732 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-174.855 272.732 M
-180.855 272.732 lineto
-180.855 275.732 lineto
-174.855 275.732 lineto
-174.855 272.732 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-182.077 274.019 M
-188.077 274.019 lineto
-188.077 277.019 lineto
-182.077 277.019 lineto
-182.077 274.019 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-182.077 274.019 M
-188.077 274.019 lineto
-188.077 277.019 lineto
-182.077 277.019 lineto
-182.077 274.019 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-189.298 275.2 M
-195.298 275.2 lineto
-195.298 278.2 lineto
-189.298 278.2 lineto
-189.298 275.2 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.298 275.2 M
-195.298 275.2 lineto
-195.298 278.2 lineto
-189.298 278.2 lineto
-189.298 275.2 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-196.52 276.464 M
-202.52 276.464 lineto
-202.52 279.464 lineto
-196.52 279.464 lineto
-196.52 276.464 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-196.52 276.464 M
-202.52 276.464 lineto
-202.52 279.464 lineto
-196.52 279.464 lineto
-196.52 276.464 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-203.741 277.193 M
-209.741 277.193 lineto
-209.741 280.193 lineto
-203.741 280.193 lineto
-203.741 277.193 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-203.741 277.193 M
-209.741 277.193 lineto
-209.741 280.193 lineto
-203.741 280.193 lineto
-203.741 277.193 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-210.963 278.452 M
-216.963 278.452 lineto
-216.963 281.452 lineto
-210.963 281.452 lineto
-210.963 278.452 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-210.963 278.452 M
-216.963 278.452 lineto
-216.963 281.452 lineto
-210.963 281.452 lineto
-210.963 278.452 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-218.184 279.73 M
-224.184 279.73 lineto
-224.184 282.73 lineto
-218.184 282.73 lineto
-218.184 279.73 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-218.184 279.73 M
-224.184 279.73 lineto
-224.184 282.73 lineto
-218.184 282.73 lineto
-218.184 279.73 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-225.406 280.493 M
-231.406 280.493 lineto
-231.406 283.493 lineto
-225.406 283.493 lineto
-225.406 280.493 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-225.406 280.493 M
-231.406 280.493 lineto
-231.406 283.493 lineto
-225.406 283.493 lineto
-225.406 280.493 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-232.627 281.106 M
-238.627 281.106 lineto
-238.627 284.106 lineto
-232.627 284.106 lineto
-232.627 281.106 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-232.627 281.106 M
-238.627 281.106 lineto
-238.627 284.106 lineto
-232.627 284.106 lineto
-232.627 281.106 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-239.848 281.445 M
-245.848 281.445 lineto
-245.848 284.445 lineto
-239.848 284.445 lineto
-239.848 281.445 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-239.848 281.445 M
-245.848 281.445 lineto
-245.848 284.445 lineto
-239.848 284.445 lineto
-239.848 281.445 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-247.07 282.015 M
-253.07 282.015 lineto
-253.07 285.015 lineto
-247.07 285.015 lineto
-247.07 282.015 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-247.07 282.015 M
-253.07 282.015 lineto
-253.07 285.015 lineto
-247.07 285.015 lineto
-247.07 282.015 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-254.291 282.448 M
-260.291 282.448 lineto
-260.291 285.448 lineto
-254.291 285.448 lineto
-254.291 282.448 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-254.291 282.448 M
-260.291 282.448 lineto
-260.291 285.448 lineto
-254.291 285.448 lineto
-254.291 282.448 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-261.513 282.639 M
-267.513 282.639 lineto
-267.513 285.639 lineto
-261.513 285.639 lineto
-261.513 282.639 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-261.513 282.639 M
-267.513 282.639 lineto
-267.513 285.639 lineto
-261.513 285.639 lineto
-261.513 282.639 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-268.734 282.662 M
-274.734 282.662 lineto
-274.734 285.662 lineto
-268.734 285.662 lineto
-268.734 282.662 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-268.734 282.662 M
-274.734 282.662 lineto
-274.734 285.662 lineto
-268.734 285.662 lineto
-268.734 282.662 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-275.956 282.864 M
-281.956 282.864 lineto
-281.956 285.864 lineto
-275.956 285.864 lineto
-275.956 282.864 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-275.956 282.864 M
-281.956 282.864 lineto
-281.956 285.864 lineto
-275.956 285.864 lineto
-275.956 282.864 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-283.177 282.953 M
-289.177 282.953 lineto
-289.177 285.953 lineto
-283.177 285.953 lineto
-283.177 282.953 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-283.177 282.953 M
-289.177 282.953 lineto
-289.177 285.953 lineto
-283.177 285.953 lineto
-283.177 282.953 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-290.399 283.066 M
-296.399 283.066 lineto
-296.399 286.066 lineto
-290.399 286.066 lineto
-290.399 283.066 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-290.399 283.066 M
-296.399 283.066 lineto
-296.399 286.066 lineto
-290.399 286.066 lineto
-290.399 283.066 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-297.62 283.155 M
-303.62 283.155 lineto
-303.62 286.155 lineto
-297.62 286.155 lineto
-297.62 283.155 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-297.62 283.155 M
-303.62 283.155 lineto
-303.62 286.155 lineto
-297.62 286.155 lineto
-297.62 283.155 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-304.842 283.189 M
-310.842 283.189 lineto
-310.842 286.189 lineto
-304.842 286.189 lineto
-304.842 283.189 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-304.842 283.189 M
-310.842 283.189 lineto
-310.842 286.189 lineto
-304.842 286.189 lineto
-304.842 283.189 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-312.063 283.211 M
-318.063 283.211 lineto
-318.063 286.211 lineto
-312.063 286.211 lineto
-312.063 283.211 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-312.063 283.211 M
-318.063 283.211 lineto
-318.063 286.211 lineto
-312.063 286.211 lineto
-312.063 283.211 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-319.285 283.222 M
-325.285 283.222 lineto
-325.285 286.222 lineto
-319.285 286.222 lineto
-319.285 283.222 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.285 283.222 M
-325.285 283.222 lineto
-325.285 286.222 lineto
-319.285 286.222 lineto
-319.285 283.222 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-326.506 283.222 M
-332.506 283.222 lineto
-332.506 286.222 lineto
-326.506 286.222 lineto
-326.506 283.222 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-326.506 283.222 M
-332.506 283.222 lineto
-332.506 286.222 lineto
-326.506 286.222 lineto
-326.506 283.222 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-333.728 283.245 M
-339.728 283.245 lineto
-339.728 286.245 lineto
-333.728 286.245 lineto
-333.728 283.245 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-333.728 283.245 M
-339.728 283.245 lineto
-339.728 286.245 lineto
-333.728 286.245 lineto
-333.728 283.245 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-340.949 283.245 M
-346.949 283.245 lineto
-346.949 286.245 lineto
-340.949 286.245 lineto
-340.949 283.245 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-340.949 283.245 M
-346.949 283.245 lineto
-346.949 286.245 lineto
-340.949 286.245 lineto
-340.949 283.245 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-348.171 283.256 M
-354.171 283.256 lineto
-354.171 286.256 lineto
-348.171 286.256 lineto
-348.171 283.256 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-348.171 283.256 M
-354.171 283.256 lineto
-354.171 286.256 lineto
-348.171 286.256 lineto
-348.171 283.256 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-355.392 283.268 M
-361.392 283.268 lineto
-361.392 286.268 lineto
-355.392 286.268 lineto
-355.392 283.268 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-355.392 283.268 M
-361.392 283.268 lineto
-361.392 286.268 lineto
-355.392 286.268 lineto
-355.392 283.268 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-362.613 283.29 M
-368.613 283.29 lineto
-368.613 286.29 lineto
-362.613 286.29 lineto
-362.613 283.29 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.613 283.29 M
-368.613 283.29 lineto
-368.613 286.29 lineto
-362.613 286.29 lineto
-362.613 283.29 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-369.835 283.29 M
-375.835 283.29 lineto
-375.835 286.29 lineto
-369.835 286.29 lineto
-369.835 283.29 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-369.835 283.29 M
-375.835 283.29 lineto
-375.835 286.29 lineto
-369.835 286.29 lineto
-369.835 283.29 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-69.533 43.179 M
-72.533 46.179 lineto
-69.533 49.179 lineto
-66.533 46.179 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.533 43.179 M
-72.533 46.179 lineto
-69.533 49.179 lineto
-66.533 46.179 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-76.755 124.297 M
-79.755 127.297 lineto
-76.755 130.297 lineto
-73.755 127.297 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-76.755 124.297 M
-79.755 127.297 lineto
-76.755 130.297 lineto
-73.755 127.297 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-83.976 155.05 M
-86.976 158.05 lineto
-83.976 161.05 lineto
-80.976 158.05 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.976 155.05 M
-86.976 158.05 lineto
-83.976 161.05 lineto
-80.976 158.05 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-91.198 216.846 M
-94.198 219.846 lineto
-91.198 222.846 lineto
-88.198 219.846 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-91.198 216.846 M
-94.198 219.846 lineto
-91.198 222.846 lineto
-88.198 219.846 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-98.419 263.267 M
-101.419 266.267 lineto
-98.419 269.267 lineto
-95.419 266.267 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-98.419 263.267 M
-101.419 266.267 lineto
-98.419 269.267 lineto
-95.419 266.267 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-105.641 276.58 M
-108.641 279.58 lineto
-105.641 282.58 lineto
-102.641 279.58 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-105.641 276.58 M
-108.641 279.58 lineto
-105.641 282.58 lineto
-102.641 279.58 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-112.862 278.056 M
-115.862 281.056 lineto
-112.862 284.056 lineto
-109.862 281.056 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-112.862 278.056 M
-115.862 281.056 lineto
-112.862 284.056 lineto
-109.862 281.056 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-120.084 278.771 M
-123.084 281.771 lineto
-120.084 284.771 lineto
-117.084 281.771 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-120.084 278.771 M
-123.084 281.771 lineto
-120.084 284.771 lineto
-117.084 281.771 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-127.305 280.131 M
-130.305 283.131 lineto
-127.305 286.131 lineto
-124.305 283.131 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.305 280.131 M
-130.305 283.131 lineto
-127.305 286.131 lineto
-124.305 283.131 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-69.533 45.098 M
-72.533 51.098 lineto
-66.533 51.098 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.533 45.098 M
-72.533 51.098 lineto
-66.533 51.098 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-76.755 127.699 M
-79.755 133.699 lineto
-73.755 133.699 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-76.755 127.699 M
-79.755 133.699 lineto
-73.755 133.699 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-83.976 159.301 M
-86.976 165.301 lineto
-80.976 165.301 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.976 159.301 M
-86.976 165.301 lineto
-80.976 165.301 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-91.198 210.747 M
-94.198 216.747 lineto
-88.198 216.747 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-91.198 210.747 M
-94.198 216.747 lineto
-88.198 216.747 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-98.419 262.871 M
-101.419 268.871 lineto
-95.419 268.871 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-98.419 262.871 M
-101.419 268.871 lineto
-95.419 268.871 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-105.641 270.592 M
-108.641 276.592 lineto
-102.641 276.592 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-105.641 270.592 M
-108.641 276.592 lineto
-102.641 276.592 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-112.862 278.909 M
-115.862 284.909 lineto
-109.862 284.909 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-112.862 278.909 M
-115.862 284.909 lineto
-109.862 284.909 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-120.084 279.986 M
-123.084 285.986 lineto
-117.084 285.986 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-120.084 279.986 M
-123.084 285.986 lineto
-117.084 285.986 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-127.305 280.977 M
-130.305 286.977 lineto
-124.305 286.977 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.305 280.977 M
-130.305 286.977 lineto
-124.305 286.977 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-72.533 64.56 M
-72.533 66.217 71.19 67.56 69.533 67.56 curveto
-67.876 67.56 66.533 66.217 66.533 64.56 curveto
-66.533 62.903 67.876 61.56 69.533 61.56 curveto
-71.19 61.56 72.533 62.903 72.533 64.56 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.533 64.56 M
-72.533 66.217 71.19 67.56 69.533 67.56 curveto
-67.876 67.56 66.533 66.217 66.533 64.56 curveto
-66.533 62.903 67.876 61.56 69.533 61.56 curveto
-71.19 61.56 72.533 62.903 72.533 64.56 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-79.755 125.207 M
-79.755 126.864 78.412 128.207 76.755 128.207 curveto
-75.098 128.207 73.755 126.864 73.755 125.207 curveto
-73.755 123.55 75.098 122.207 76.755 122.207 curveto
-78.412 122.207 79.755 123.55 79.755 125.207 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-79.755 125.207 M
-79.755 126.864 78.412 128.207 76.755 128.207 curveto
-75.098 128.207 73.755 126.864 73.755 125.207 curveto
-73.755 123.55 75.098 122.207 76.755 122.207 curveto
-78.412 122.207 79.755 123.55 79.755 125.207 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-86.976 180.692 M
-86.976 182.349 85.633 183.692 83.976 183.692 curveto
-82.319 183.692 80.976 182.349 80.976 180.692 curveto
-80.976 179.036 82.319 177.692 83.976 177.692 curveto
-85.633 177.692 86.976 179.036 86.976 180.692 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-86.976 180.692 M
-86.976 182.349 85.633 183.692 83.976 183.692 curveto
-82.319 183.692 80.976 182.349 80.976 180.692 curveto
-80.976 179.036 82.319 177.692 83.976 177.692 curveto
-85.633 177.692 86.976 179.036 86.976 180.692 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-94.198 216.301 M
-94.198 217.958 92.854 219.301 91.198 219.301 curveto
-89.541 219.301 88.198 217.958 88.198 216.301 curveto
-88.198 214.644 89.541 213.301 91.198 213.301 curveto
-92.854 213.301 94.198 214.644 94.198 216.301 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-94.198 216.301 M
-94.198 217.958 92.854 219.301 91.198 219.301 curveto
-89.541 219.301 88.198 217.958 88.198 216.301 curveto
-88.198 214.644 89.541 213.301 91.198 213.301 curveto
-92.854 213.301 94.198 214.644 94.198 216.301 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-101.419 237.766 M
-101.419 239.423 100.076 240.766 98.419 240.766 curveto
-96.762 240.766 95.419 239.423 95.419 237.766 curveto
-95.419 236.109 96.762 234.766 98.419 234.766 curveto
-100.076 234.766 101.419 236.109 101.419 237.766 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-101.419 237.766 M
-101.419 239.423 100.076 240.766 98.419 240.766 curveto
-96.762 240.766 95.419 239.423 95.419 237.766 curveto
-95.419 236.109 96.762 234.766 98.419 234.766 curveto
-100.076 234.766 101.419 236.109 101.419 237.766 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-108.641 264.146 M
-108.641 265.803 107.297 267.146 105.641 267.146 curveto
-103.984 267.146 102.641 265.803 102.641 264.146 curveto
-102.641 262.489 103.984 261.146 105.641 261.146 curveto
-107.297 261.146 108.641 262.489 108.641 264.146 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-108.641 264.146 M
-108.641 265.803 107.297 267.146 105.641 267.146 curveto
-103.984 267.146 102.641 265.803 102.641 264.146 curveto
-102.641 262.489 103.984 261.146 105.641 261.146 curveto
-107.297 261.146 108.641 262.489 108.641 264.146 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-66.533 55.235 M
-72.533 55.235 lineto
-72.533 61.235 lineto
-66.533 61.235 lineto
-66.533 55.235 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.533 55.235 M
-72.533 55.235 lineto
-72.533 61.235 lineto
-66.533 61.235 lineto
-66.533 55.235 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-73.755 107.614 M
-79.755 107.614 lineto
-79.755 113.614 lineto
-73.755 113.614 lineto
-73.755 107.614 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-73.755 107.614 M
-79.755 107.614 lineto
-79.755 113.614 lineto
-73.755 113.614 lineto
-73.755 107.614 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-80.976 177.762 M
-86.976 177.762 lineto
-86.976 183.762 lineto
-80.976 183.762 lineto
-80.976 177.762 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.976 177.762 M
-86.976 177.762 lineto
-86.976 183.762 lineto
-80.976 183.762 lineto
-80.976 177.762 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-88.198 218.159 M
-94.198 218.159 lineto
-94.198 224.159 lineto
-88.198 224.159 lineto
-88.198 218.159 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-88.198 218.159 M
-94.198 218.159 lineto
-94.198 224.159 lineto
-88.198 224.159 lineto
-88.198 218.159 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-95.419 247.823 M
-101.419 247.823 lineto
-101.419 253.823 lineto
-95.419 253.823 lineto
-95.419 247.823 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-95.419 247.823 M
-101.419 247.823 lineto
-101.419 253.823 lineto
-95.419 253.823 lineto
-95.419 247.823 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-102.641 264.079 M
-108.641 264.079 lineto
-108.641 270.079 lineto
-102.641 270.079 lineto
-102.641 264.079 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-102.641 264.079 M
-108.641 264.079 lineto
-108.641 270.079 lineto
-102.641 270.079 lineto
-102.641 264.079 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-0.5 setlinewidth
-newpath
-69.533 34.247 M
-388 34.247 lineto
-388 284.835 lineto
-69.533 284.835 lineto
-69.533 34.247 lineto
-closepath
-stroke
-grestore
-%%Trailer
-%%Pages: 1
-%%EOF
diff --git a/sim/gobs/wiki/dc04kpv03.cfg b/sim/gobs/wiki/dc04kpv03.cfg
deleted file mode 100644
index 05d4b8b..0000000
--- a/sim/gobs/wiki/dc04kpv03.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv03.cfg system_size_100_1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/wiki/dc04kpv03.eps b/sim/gobs/wiki/dc04kpv03.eps
deleted file mode 100644
index 3cb9088..0000000
--- a/sim/gobs/wiki/dc04kpv03.eps
+++ /dev/null
@@ -1,8044 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (Apache XML Graphics Commons: EPS Generator for Java2D)
-%%CreationDate: 2009-10-05T12:48:18
-%%Pages: (atend)
-%%BoundingBox: 0 0 400 400
-%%LanguageLevel: 3
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset (Apache XML Graphics Std ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2001-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (Basic set of procedures used by the XML Graphics project \(Batik and FOP\))
-/bd{bind def}bind def
-/ld{load def}bd
-/M/moveto ld
-/RM/rmoveto ld
-/t/show ld
-/A/ashow ld
-/cp/closepath ld
-/re {4 2 roll M
-1 index 0 rlineto
-0 exch rlineto
-neg 0 rlineto
-cp } bd
-/_ctm matrix def
-/_tm matrix def
-/BT { _ctm currentmatrix pop matrix _tm copy pop 0 0 moveto } bd
-/ET { _ctm setmatrix } bd
-/iTm { _ctm setmatrix _tm concat } bd
-/Tm { _tm astore pop iTm 0 0 moveto } bd
-/ux 0.0 def
-/uy 0.0 def
-/F {
- /Tp exch def
- /Tf exch def
- Tf findfont Tp scalefont setfont
- /cf Tf def /cs Tp def /cw ( ) stringwidth pop def
-} bd
-/ULS {currentpoint /uy exch def /ux exch def} bd
-/ULE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add moveto Tcx uy To add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/OLE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs add moveto Tcx uy To add cs add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/SOE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs 10 mul 26 idiv add moveto Tcx uy To add cs 10 mul 26 idiv add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/QUADTO {
-/Y22 exch store
-/X22 exch store
-/Y21 exch store
-/X21 exch store
-currentpoint
-/Y21 load 2 mul add 3 div exch
-/X21 load 2 mul add 3 div exch
-/X21 load 2 mul /X22 load add 3 div
-/Y21 load 2 mul /Y22 load add 3 div
-/X22 load /Y22 load curveto
-} bd
-/SSPD {
-dup length /d exch dict def
-{
-/v exch def
-/k exch def
-currentpagedevice k known {
-/cpdv currentpagedevice k get def
-v cpdv ne {
-/upd false def
-/nullv v type /nulltype eq def
-/nullcpdv cpdv type /nulltype eq def
-nullv nullcpdv or
-{
-/upd true def
-} {
-/sametype v type cpdv type eq def
-sametype {
-v type /arraytype eq {
-/vlen v length def
-/cpdvlen cpdv length def
-vlen cpdvlen eq {
-0 1 vlen 1 sub {
-/i exch def
-/obj v i get def
-/cpdobj cpdv i get def
-obj cpdobj ne {
-/upd true def
-exit
-} if
-} for
-} {
-/upd true def
-} ifelse
-} {
-v type /dicttype eq {
-v {
-/dv exch def
-/dk exch def
-/cpddv cpdv dk get def
-dv cpddv ne {
-/upd true def
-exit
-} if
-} forall
-} {
-/upd true def
-} ifelse
-} ifelse
-} if
-} ifelse
-upd true eq {
-d k v put
-} if
-} if
-} if
-} forall
-d length 0 gt {
-d setpagedevice
-} if
-} bd
-%%EndResource
-%%BeginResource: procset (Apache XML Graphics EPS ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2002-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (EPS procedures used by the Apache XML Graphics project \(Batik and FOP\))
-/BeginEPSF { %def
-/b4_Inc_state save def % Save state for cleanup
-/dict_count countdictstack def % Count objects on dict stack
-/op_count count 1 sub def % Count objects on operand stack
-userdict begin % Push userdict on dict stack
-/showpage { } def % Redefine showpage, { } = null proc
-0 setgray 0 setlinecap % Prepare graphics state
-1 setlinewidth 0 setlinejoin
-10 setmiterlimit [ ] 0 setdash newpath
-/languagelevel where % If level not equal to 1 then
-{pop languagelevel % set strokeadjust and
-1 ne % overprint to their defaults.
-{false setstrokeadjust false setoverprint
-} if
-} if
-} bd
-/EndEPSF { %def
-count op_count sub {pop} repeat % Clean up stacks
-countdictstack dict_count sub {end} repeat
-b4_Inc_state restore
-} bd
-%%EndResource
-%%EndProlog
-%%Page: 1 1
-%%PageBoundingBox: 0 0 400 400
-%%BeginPageSetup
-[1 0 0 -1 0 400] concat
-%%EndPageSetup
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-69.293 20.249 M
-69.293 5.796 lineto
-74.699 5.796 lineto
-79.105 5.796 79.105 9.374 QUADTO
-79.105 10.718 78.355 11.82 QUADTO
-77.605 12.921 76.293 13.499 QUADTO
-81.027 20.249 lineto
-77.371 20.249 lineto
-73.777 14.343 lineto
-72.121 14.343 lineto
-72.121 20.249 lineto
-69.293 20.249 lineto
-closepath
-72.121 12.359 M
-72.809 12.359 lineto
-76.09 12.359 76.09 9.718 QUADTO
-76.09 7.781 73.168 7.781 QUADTO
-72.121 7.781 lineto
-72.121 12.359 lineto
-closepath
-91.811 19.89 M
-89.764 20.499 87.904 20.499 QUADTO
-85.232 20.499 83.678 18.976 QUADTO
-82.123 17.453 82.123 14.812 QUADTO
-82.123 12.312 83.545 10.796 QUADTO
-84.967 9.281 87.295 9.281 QUADTO
-89.654 9.281 90.732 10.765 QUADTO
-91.811 12.249 91.811 15.468 QUADTO
-85.17 15.468 lineto
-85.467 18.531 88.529 18.531 QUADTO
-89.998 18.531 91.811 17.859 QUADTO
-91.811 19.89 lineto
-closepath
-85.123 13.828 M
-88.982 13.828 lineto
-88.982 11.093 87.201 11.093 QUADTO
-85.404 11.093 85.123 13.828 QUADTO
-closepath
-94.811 20.249 M
-94.811 4.828 lineto
-97.701 4.828 lineto
-97.701 11.546 lineto
-98.811 9.281 101.201 9.281 QUADTO
-103.139 9.281 104.248 10.695 QUADTO
-105.357 12.109 105.357 14.593 QUADTO
-105.357 17.281 104.107 18.89 QUADTO
-102.857 20.499 100.764 20.499 QUADTO
-98.967 20.499 97.701 19.171 QUADTO
-97.154 20.249 lineto
-94.811 20.249 lineto
-closepath
-97.701 17.453 M
-98.748 18.624 99.936 18.624 QUADTO
-101.014 18.624 101.646 17.593 QUADTO
-102.279 16.562 102.279 14.843 QUADTO
-102.279 11.546 100.154 11.546 QUADTO
-98.873 11.546 97.701 13.203 QUADTO
-97.701 17.453 lineto
-closepath
-114.688 20.249 M
-114.688 18.234 lineto
-113.281 20.499 111.031 20.499 QUADTO
-109.594 20.499 108.766 19.585 QUADTO
-107.938 18.671 107.938 17.109 QUADTO
-107.938 9.531 lineto
-110.828 9.531 lineto
-110.828 16.39 lineto
-110.828 18.218 112.047 18.218 QUADTO
-113.422 18.218 114.688 16.281 QUADTO
-114.688 9.531 lineto
-117.578 9.531 lineto
-117.578 20.249 lineto
-114.688 20.249 lineto
-closepath
-121.197 20.249 M
-121.197 9.531 lineto
-124.088 9.531 lineto
-124.088 20.249 lineto
-121.197 20.249 lineto
-closepath
-121.197 7.718 M
-121.197 5.312 lineto
-124.088 5.312 lineto
-124.088 7.718 lineto
-121.197 7.718 lineto
-closepath
-127.701 20.249 M
-127.701 4.828 lineto
-130.592 4.828 lineto
-130.592 20.249 lineto
-127.701 20.249 lineto
-closepath
-140.955 20.249 M
-140.955 18.234 lineto
-139.83 20.499 137.439 20.499 QUADTO
-135.502 20.499 134.4 19.078 QUADTO
-133.299 17.656 133.299 15.187 QUADTO
-133.299 12.484 134.549 10.882 QUADTO
-135.799 9.281 137.893 9.281 QUADTO
-139.564 9.281 140.955 10.609 QUADTO
-140.955 4.828 lineto
-143.846 4.828 lineto
-143.846 20.249 lineto
-140.955 20.249 lineto
-closepath
-140.955 12.328 M
-139.908 11.156 138.705 11.156 QUADTO
-137.643 11.156 137.01 12.179 QUADTO
-136.377 13.203 136.377 14.937 QUADTO
-136.377 18.234 138.486 18.234 QUADTO
-139.783 18.234 140.955 16.578 QUADTO
-140.955 12.328 lineto
-closepath
-154.049 20.249 M
-154.049 5.796 lineto
-157.049 5.796 lineto
-157.049 18.203 lineto
-163.564 18.203 lineto
-163.564 20.249 lineto
-154.049 20.249 lineto
-closepath
-170.18 20.499 M
-167.664 20.499 166.188 18.976 QUADTO
-164.711 17.453 164.711 14.89 QUADTO
-164.711 12.296 166.195 10.788 QUADTO
-167.68 9.281 170.242 9.281 QUADTO
-172.82 9.281 174.305 10.788 QUADTO
-175.789 12.296 175.789 14.874 QUADTO
-175.789 17.499 174.297 18.999 QUADTO
-172.805 20.499 170.18 20.499 QUADTO
-closepath
-170.227 18.687 M
-172.711 18.687 172.711 14.874 QUADTO
-172.711 13.124 172.055 12.109 QUADTO
-171.398 11.093 170.242 11.093 QUADTO
-169.102 11.093 168.445 12.109 QUADTO
-167.789 13.124 167.789 14.89 QUADTO
-167.789 16.64 168.438 17.663 QUADTO
-169.086 18.687 170.227 18.687 QUADTO
-closepath
-183.703 19.093 M
-182.25 20.499 180.609 20.499 QUADTO
-179.203 20.499 178.32 19.64 QUADTO
-177.438 18.781 177.438 17.406 QUADTO
-177.438 15.624 178.859 14.663 QUADTO
-180.281 13.703 182.938 13.703 QUADTO
-183.703 13.703 lineto
-183.703 12.734 lineto
-183.703 11.062 181.797 11.062 QUADTO
-180.109 11.062 178.375 12.015 QUADTO
-178.375 10.031 lineto
-180.344 9.281 182.266 9.281 QUADTO
-186.469 9.281 186.469 12.624 QUADTO
-186.469 17.374 lineto
-186.469 18.64 187.281 18.64 QUADTO
-187.438 18.64 187.672 18.593 QUADTO
-187.734 20.218 lineto
-186.812 20.499 186.109 20.499 QUADTO
-184.344 20.499 183.828 19.093 QUADTO
-183.703 19.093 lineto
-closepath
-183.703 17.546 M
-183.703 15.359 lineto
-183.016 15.359 lineto
-180.219 15.359 180.219 17.124 QUADTO
-180.219 17.718 180.625 18.124 QUADTO
-181.031 18.531 181.625 18.531 QUADTO
-182.641 18.531 183.703 17.546 QUADTO
-closepath
-196.961 20.249 M
-196.961 18.234 lineto
-195.836 20.499 193.445 20.499 QUADTO
-191.508 20.499 190.406 19.078 QUADTO
-189.305 17.656 189.305 15.187 QUADTO
-189.305 12.484 190.555 10.882 QUADTO
-191.805 9.281 193.898 9.281 QUADTO
-195.57 9.281 196.961 10.609 QUADTO
-196.961 4.828 lineto
-199.852 4.828 lineto
-199.852 20.249 lineto
-196.961 20.249 lineto
-closepath
-196.961 12.328 M
-195.914 11.156 194.711 11.156 QUADTO
-193.648 11.156 193.016 12.179 QUADTO
-192.383 13.203 192.383 14.937 QUADTO
-192.383 18.234 194.492 18.234 QUADTO
-195.789 18.234 196.961 16.578 QUADTO
-196.961 12.328 lineto
-closepath
-210.055 20.249 M
-210.055 5.796 lineto
-216.273 5.796 lineto
-219.633 5.796 221.422 7.578 QUADTO
-223.211 9.359 223.211 12.718 QUADTO
-223.211 16.296 221.312 18.273 QUADTO
-219.414 20.249 216.008 20.249 QUADTO
-210.055 20.249 lineto
-closepath
-213.055 18.203 M
-215.305 18.203 lineto
-217.68 18.203 218.844 16.89 QUADTO
-220.008 15.578 220.008 12.89 QUADTO
-220.008 10.828 219.07 9.453 QUADTO
-218.43 8.499 217.523 8.14 QUADTO
-216.617 7.781 214.867 7.781 QUADTO
-213.055 7.781 lineto
-213.055 18.203 lineto
-closepath
-225.914 20.249 M
-225.914 9.531 lineto
-228.805 9.531 lineto
-228.805 20.249 lineto
-225.914 20.249 lineto
-closepath
-225.914 7.718 M
-225.914 5.312 lineto
-228.805 5.312 lineto
-228.805 7.718 lineto
-225.914 7.718 lineto
-closepath
-232.137 19.906 M
-232.137 17.781 lineto
-234.277 18.687 235.809 18.687 QUADTO
-237.574 18.687 237.574 17.468 QUADTO
-237.574 16.687 236.121 16.109 QUADTO
-235.137 15.718 lineto
-233.543 15.078 232.863 14.335 QUADTO
-232.184 13.593 232.184 12.499 QUADTO
-232.184 10.968 233.34 10.124 QUADTO
-234.496 9.281 236.59 9.281 QUADTO
-237.902 9.281 239.715 9.656 QUADTO
-239.715 11.687 lineto
-237.965 11.093 236.824 11.093 QUADTO
-235.027 11.093 235.027 12.203 QUADTO
-235.027 12.937 236.355 13.437 QUADTO
-237.199 13.765 lineto
-239.09 14.484 239.824 15.21 QUADTO
-240.559 15.937 240.559 17.093 QUADTO
-240.559 18.609 239.301 19.554 QUADTO
-238.043 20.499 236.043 20.499 QUADTO
-234.105 20.499 232.137 19.906 QUADTO
-closepath
-249.242 20.187 M
-248.211 20.499 247.617 20.499 QUADTO
-243.852 20.499 243.852 16.984 QUADTO
-243.852 11.328 lineto
-242.664 11.328 lineto
-242.664 9.531 lineto
-243.852 9.531 lineto
-243.852 7.718 lineto
-246.742 7.39 lineto
-246.742 9.531 lineto
-249.039 9.531 lineto
-249.039 11.328 lineto
-246.742 11.328 lineto
-246.742 16.593 lineto
-246.742 18.562 248.367 18.562 QUADTO
-248.727 18.562 249.242 18.437 QUADTO
-249.242 20.187 lineto
-closepath
-251.832 20.249 M
-251.832 9.531 lineto
-254.723 9.531 lineto
-254.723 11.546 lineto
-255.848 9.281 258.129 9.281 QUADTO
-258.41 9.281 258.676 9.343 QUADTO
-258.676 11.921 lineto
-258.051 11.687 257.535 11.687 QUADTO
-255.801 11.687 254.723 13.437 QUADTO
-254.723 20.249 lineto
-251.832 20.249 lineto
-closepath
-260.924 20.249 M
-260.924 9.531 lineto
-263.814 9.531 lineto
-263.814 20.249 lineto
-260.924 20.249 lineto
-closepath
-260.924 7.718 M
-260.924 5.312 lineto
-263.814 5.312 lineto
-263.814 7.718 lineto
-260.924 7.718 lineto
-closepath
-267.428 20.249 M
-267.428 4.828 lineto
-270.318 4.828 lineto
-270.318 11.546 lineto
-271.428 9.281 273.818 9.281 QUADTO
-275.756 9.281 276.865 10.695 QUADTO
-277.975 12.109 277.975 14.593 QUADTO
-277.975 17.281 276.725 18.89 QUADTO
-275.475 20.499 273.381 20.499 QUADTO
-271.584 20.499 270.318 19.171 QUADTO
-269.771 20.249 lineto
-267.428 20.249 lineto
-closepath
-270.318 17.453 M
-271.365 18.624 272.553 18.624 QUADTO
-273.631 18.624 274.264 17.593 QUADTO
-274.896 16.562 274.896 14.843 QUADTO
-274.896 11.546 272.771 11.546 QUADTO
-271.49 11.546 270.318 13.203 QUADTO
-270.318 17.453 lineto
-closepath
-287.305 20.249 M
-287.305 18.234 lineto
-285.898 20.499 283.648 20.499 QUADTO
-282.211 20.499 281.383 19.585 QUADTO
-280.555 18.671 280.555 17.109 QUADTO
-280.555 9.531 lineto
-283.445 9.531 lineto
-283.445 16.39 lineto
-283.445 18.218 284.664 18.218 QUADTO
-286.039 18.218 287.305 16.281 QUADTO
-287.305 9.531 lineto
-290.195 9.531 lineto
-290.195 20.249 lineto
-287.305 20.249 lineto
-closepath
-299.33 20.187 M
-298.299 20.499 297.705 20.499 QUADTO
-293.939 20.499 293.939 16.984 QUADTO
-293.939 11.328 lineto
-292.752 11.328 lineto
-292.752 9.531 lineto
-293.939 9.531 lineto
-293.939 7.718 lineto
-296.83 7.39 lineto
-296.83 9.531 lineto
-299.127 9.531 lineto
-299.127 11.328 lineto
-296.83 11.328 lineto
-296.83 16.593 lineto
-296.83 18.562 298.455 18.562 QUADTO
-298.814 18.562 299.33 18.437 QUADTO
-299.33 20.187 lineto
-closepath
-301.92 20.249 M
-301.92 9.531 lineto
-304.811 9.531 lineto
-304.811 20.249 lineto
-301.92 20.249 lineto
-closepath
-301.92 7.718 M
-301.92 5.312 lineto
-304.811 5.312 lineto
-304.811 7.718 lineto
-301.92 7.718 lineto
-closepath
-312.924 20.499 M
-310.408 20.499 308.932 18.976 QUADTO
-307.455 17.453 307.455 14.89 QUADTO
-307.455 12.296 308.939 10.788 QUADTO
-310.424 9.281 312.986 9.281 QUADTO
-315.564 9.281 317.049 10.788 QUADTO
-318.533 12.296 318.533 14.874 QUADTO
-318.533 17.499 317.041 18.999 QUADTO
-315.549 20.499 312.924 20.499 QUADTO
-closepath
-312.971 18.687 M
-315.455 18.687 315.455 14.874 QUADTO
-315.455 13.124 314.799 12.109 QUADTO
-314.143 11.093 312.986 11.093 QUADTO
-311.846 11.093 311.189 12.109 QUADTO
-310.533 13.124 310.533 14.89 QUADTO
-310.533 16.64 311.182 17.663 QUADTO
-311.83 18.687 312.971 18.687 QUADTO
-closepath
-321.197 20.249 M
-321.197 9.531 lineto
-324.088 9.531 lineto
-324.088 11.546 lineto
-325.494 9.281 327.729 9.281 QUADTO
-329.166 9.281 330.002 10.187 QUADTO
-330.838 11.093 330.838 12.671 QUADTO
-330.838 20.249 lineto
-327.947 20.249 lineto
-327.947 13.39 lineto
-327.947 11.562 326.729 11.562 QUADTO
-325.354 11.562 324.088 13.499 QUADTO
-324.088 20.249 lineto
-321.197 20.249 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-1 335.356 M
-399 335.356 lineto
-399 399 lineto
-1 399 lineto
-1 335.356 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-1.5 335.856 M
-398.5 335.856 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-1.5 398.5 M
-398.5 398.5 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-1.5 398.5 M
-1.5 335.856 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-398.5 398.5 M
-398.5 335.856 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-5 346.63 M
-19 346.63 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-9 343.63 M
-15 343.63 lineto
-15 349.63 lineto
-9 349.63 lineto
-9 343.63 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-9 343.63 M
-15 343.63 lineto
-15 349.63 lineto
-9 349.63 lineto
-9 343.63 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-24.125 350.906 M
-24.125 342.234 lineto
-26.484 342.234 lineto
-28.047 342.234 28.734 342.765 QUADTO
-29.422 343.296 29.422 344.499 QUADTO
-29.422 345.89 28.484 346.671 QUADTO
-27.547 347.453 25.891 347.453 QUADTO
-25.344 347.453 lineto
-25.344 350.906 lineto
-24.125 350.906 lineto
-closepath
-25.344 346.531 M
-25.844 346.531 lineto
-26.938 346.531 27.531 346.023 QUADTO
-28.125 345.515 28.125 344.593 QUADTO
-28.125 343.828 27.656 343.492 QUADTO
-27.188 343.156 26.094 343.156 QUADTO
-25.344 343.156 lineto
-25.344 346.531 lineto
-closepath
-35.148 347.593 M
-33.664 343.843 lineto
-32.195 347.593 lineto
-35.148 347.593 lineto
-closepath
-36.445 350.906 M
-35.508 348.499 lineto
-31.836 348.499 lineto
-30.883 350.906 lineto
-29.727 350.906 lineto
-33.18 342.234 lineto
-34.398 342.234 lineto
-37.773 350.906 lineto
-36.445 350.906 lineto
-closepath
-40.725 351.124 M
-39.865 351.124 38.506 350.734 QUADTO
-38.506 349.515 lineto
-39.959 350.203 40.912 350.203 QUADTO
-41.631 350.203 42.076 349.82 QUADTO
-42.521 349.437 42.521 348.812 QUADTO
-42.521 348.312 42.232 347.953 QUADTO
-41.943 347.593 41.162 347.156 QUADTO
-40.568 346.812 lineto
-39.459 346.171 39.006 345.617 QUADTO
-38.553 345.062 38.553 344.312 QUADTO
-38.553 343.312 39.279 342.663 QUADTO
-40.006 342.015 41.131 342.015 QUADTO
-42.131 342.015 43.24 342.343 QUADTO
-43.24 343.468 lineto
-41.865 342.937 41.193 342.937 QUADTO
-40.553 342.937 40.139 343.273 QUADTO
-39.725 343.609 39.725 344.124 QUADTO
-39.725 344.562 40.029 344.898 QUADTO
-40.334 345.234 41.146 345.703 QUADTO
-41.756 346.046 lineto
-42.881 346.687 43.326 347.257 QUADTO
-43.771 347.828 43.771 348.624 QUADTO
-43.771 349.749 42.943 350.437 QUADTO
-42.115 351.124 40.725 351.124 QUADTO
-closepath
-47.562 350.906 M
-47.562 343.156 lineto
-44.484 343.156 lineto
-44.484 342.234 lineto
-51.859 342.234 lineto
-51.859 343.156 lineto
-48.781 343.156 lineto
-48.781 350.906 lineto
-47.562 350.906 lineto
-closepath
-56.885 350.906 M
-56.885 342.234 lineto
-58.088 342.234 lineto
-62.447 348.937 lineto
-62.447 342.234 lineto
-63.51 342.234 lineto
-63.51 350.906 lineto
-62.307 350.906 lineto
-57.932 344.203 lineto
-57.932 350.906 lineto
-56.885 350.906 lineto
-closepath
-65.922 348.953 M
-65.922 348.093 lineto
-72.859 348.093 lineto
-72.859 348.953 lineto
-65.922 348.953 lineto
-closepath
-65.922 346.781 M
-65.922 345.921 lineto
-72.859 345.921 lineto
-72.859 346.781 lineto
-65.922 346.781 lineto
-closepath
-75.977 350.906 M
-75.977 350.031 lineto
-77.711 350.031 lineto
-77.711 343.187 lineto
-75.977 343.624 lineto
-75.977 342.734 lineto
-78.867 342.015 lineto
-78.867 350.031 lineto
-80.602 350.031 lineto
-80.602 350.906 lineto
-75.977 350.906 lineto
-closepath
-85.518 351.124 M
-84.174 351.124 83.346 349.859 QUADTO
-82.518 348.593 82.518 346.562 QUADTO
-82.518 344.515 83.354 343.265 QUADTO
-84.189 342.015 85.549 342.015 QUADTO
-86.908 342.015 87.744 343.265 QUADTO
-88.58 344.515 88.58 346.546 QUADTO
-88.58 348.624 87.744 349.874 QUADTO
-86.908 351.124 85.518 351.124 QUADTO
-closepath
-85.533 350.249 M
-87.361 350.249 87.361 346.531 QUADTO
-87.361 342.89 85.549 342.89 QUADTO
-83.752 342.89 83.752 346.562 QUADTO
-83.752 350.249 85.533 350.249 QUADTO
-closepath
-93.105 351.124 M
-91.762 351.124 90.934 349.859 QUADTO
-90.105 348.593 90.105 346.562 QUADTO
-90.105 344.515 90.941 343.265 QUADTO
-91.777 342.015 93.137 342.015 QUADTO
-94.496 342.015 95.332 343.265 QUADTO
-96.168 344.515 96.168 346.546 QUADTO
-96.168 348.624 95.332 349.874 QUADTO
-94.496 351.124 93.105 351.124 QUADTO
-closepath
-93.121 350.249 M
-94.949 350.249 94.949 346.531 QUADTO
-94.949 342.89 93.137 342.89 QUADTO
-91.34 342.89 91.34 346.562 QUADTO
-91.34 350.249 93.121 350.249 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-102.928 346.63 M
-116.928 346.63 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-112.928 346.63 M
-112.928 348.287 111.585 349.63 109.928 349.63 curveto
-108.271 349.63 106.928 348.287 106.928 346.63 curveto
-106.928 344.973 108.271 343.63 109.928 343.63 curveto
-111.585 343.63 112.928 344.973 112.928 346.63 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-112.928 346.63 M
-112.928 348.287 111.585 349.63 109.928 349.63 curveto
-108.271 349.63 106.928 348.287 106.928 346.63 curveto
-106.928 344.973 108.271 343.63 109.928 343.63 curveto
-111.585 343.63 112.928 344.973 112.928 346.63 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-122.053 350.906 M
-122.053 342.234 lineto
-124.412 342.234 lineto
-125.975 342.234 126.662 342.765 QUADTO
-127.35 343.296 127.35 344.499 QUADTO
-127.35 345.89 126.412 346.671 QUADTO
-125.475 347.453 123.818 347.453 QUADTO
-123.271 347.453 lineto
-123.271 350.906 lineto
-122.053 350.906 lineto
-closepath
-123.271 346.531 M
-123.771 346.531 lineto
-124.865 346.531 125.459 346.023 QUADTO
-126.053 345.515 126.053 344.593 QUADTO
-126.053 343.828 125.584 343.492 QUADTO
-125.115 343.156 124.021 343.156 QUADTO
-123.271 343.156 lineto
-123.271 346.531 lineto
-closepath
-133.076 347.593 M
-131.592 343.843 lineto
-130.123 347.593 lineto
-133.076 347.593 lineto
-closepath
-134.373 350.906 M
-133.436 348.499 lineto
-129.764 348.499 lineto
-128.811 350.906 lineto
-127.654 350.906 lineto
-131.107 342.234 lineto
-132.326 342.234 lineto
-135.701 350.906 lineto
-134.373 350.906 lineto
-closepath
-138.652 351.124 M
-137.793 351.124 136.434 350.734 QUADTO
-136.434 349.515 lineto
-137.887 350.203 138.84 350.203 QUADTO
-139.559 350.203 140.004 349.82 QUADTO
-140.449 349.437 140.449 348.812 QUADTO
-140.449 348.312 140.16 347.953 QUADTO
-139.871 347.593 139.09 347.156 QUADTO
-138.496 346.812 lineto
-137.387 346.171 136.934 345.617 QUADTO
-136.48 345.062 136.48 344.312 QUADTO
-136.48 343.312 137.207 342.663 QUADTO
-137.934 342.015 139.059 342.015 QUADTO
-140.059 342.015 141.168 342.343 QUADTO
-141.168 343.468 lineto
-139.793 342.937 139.121 342.937 QUADTO
-138.48 342.937 138.066 343.273 QUADTO
-137.652 343.609 137.652 344.124 QUADTO
-137.652 344.562 137.957 344.898 QUADTO
-138.262 345.234 139.074 345.703 QUADTO
-139.684 346.046 lineto
-140.809 346.687 141.254 347.257 QUADTO
-141.699 347.828 141.699 348.624 QUADTO
-141.699 349.749 140.871 350.437 QUADTO
-140.043 351.124 138.652 351.124 QUADTO
-closepath
-145.49 350.906 M
-145.49 343.156 lineto
-142.412 343.156 lineto
-142.412 342.234 lineto
-149.787 342.234 lineto
-149.787 343.156 lineto
-146.709 343.156 lineto
-146.709 350.906 lineto
-145.49 350.906 lineto
-closepath
-154.812 350.906 M
-154.812 342.234 lineto
-156.016 342.234 lineto
-160.375 348.937 lineto
-160.375 342.234 lineto
-161.438 342.234 lineto
-161.438 350.906 lineto
-160.234 350.906 lineto
-155.859 344.203 lineto
-155.859 350.906 lineto
-154.812 350.906 lineto
-closepath
-163.85 348.953 M
-163.85 348.093 lineto
-170.787 348.093 lineto
-170.787 348.953 lineto
-163.85 348.953 lineto
-closepath
-163.85 346.781 M
-163.85 345.921 lineto
-170.787 345.921 lineto
-170.787 346.781 lineto
-163.85 346.781 lineto
-closepath
-173.904 350.906 M
-173.904 350.031 lineto
-175.639 350.031 lineto
-175.639 343.187 lineto
-173.904 343.624 lineto
-173.904 342.734 lineto
-176.795 342.015 lineto
-176.795 350.031 lineto
-178.529 350.031 lineto
-178.529 350.906 lineto
-173.904 350.906 lineto
-closepath
-183.445 351.124 M
-182.102 351.124 181.273 349.859 QUADTO
-180.445 348.593 180.445 346.562 QUADTO
-180.445 344.515 181.281 343.265 QUADTO
-182.117 342.015 183.477 342.015 QUADTO
-184.836 342.015 185.672 343.265 QUADTO
-186.508 344.515 186.508 346.546 QUADTO
-186.508 348.624 185.672 349.874 QUADTO
-184.836 351.124 183.445 351.124 QUADTO
-closepath
-183.461 350.249 M
-185.289 350.249 185.289 346.531 QUADTO
-185.289 342.89 183.477 342.89 QUADTO
-181.68 342.89 181.68 346.562 QUADTO
-181.68 350.249 183.461 350.249 QUADTO
-closepath
-191.033 351.124 M
-189.689 351.124 188.861 349.859 QUADTO
-188.033 348.593 188.033 346.562 QUADTO
-188.033 344.515 188.869 343.265 QUADTO
-189.705 342.015 191.064 342.015 QUADTO
-192.424 342.015 193.26 343.265 QUADTO
-194.096 344.515 194.096 346.546 QUADTO
-194.096 348.624 193.26 349.874 QUADTO
-192.424 351.124 191.033 351.124 QUADTO
-closepath
-191.049 350.249 M
-192.877 350.249 192.877 346.531 QUADTO
-192.877 342.89 191.064 342.89 QUADTO
-189.268 342.89 189.268 346.562 QUADTO
-189.268 350.249 191.049 350.249 QUADTO
-closepath
-198.621 351.124 M
-197.277 351.124 196.449 349.859 QUADTO
-195.621 348.593 195.621 346.562 QUADTO
-195.621 344.515 196.457 343.265 QUADTO
-197.293 342.015 198.652 342.015 QUADTO
-200.012 342.015 200.848 343.265 QUADTO
-201.684 344.515 201.684 346.546 QUADTO
-201.684 348.624 200.848 349.874 QUADTO
-200.012 351.124 198.621 351.124 QUADTO
-closepath
-198.637 350.249 M
-200.465 350.249 200.465 346.531 QUADTO
-200.465 342.89 198.652 342.89 QUADTO
-196.855 342.89 196.855 346.562 QUADTO
-196.855 350.249 198.637 350.249 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-208.443 346.63 M
-222.443 346.63 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-215.443 343.63 M
-218.443 349.63 lineto
-212.443 349.63 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-215.443 343.63 M
-218.443 349.63 lineto
-212.443 349.63 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-227.568 350.906 M
-227.568 342.234 lineto
-228.725 342.234 lineto
-228.725 346.499 lineto
-232.225 342.234 lineto
-233.459 342.234 lineto
-230.068 346.374 lineto
-234.068 350.906 lineto
-232.506 350.906 lineto
-228.725 346.515 lineto
-228.725 350.906 lineto
-227.568 350.906 lineto
-closepath
-238.715 350.093 M
-237.684 351.046 236.715 351.046 QUADTO
-235.918 351.046 235.402 350.554 QUADTO
-234.887 350.062 234.887 349.312 QUADTO
-234.887 348.265 235.762 347.703 QUADTO
-236.637 347.14 238.262 347.14 QUADTO
-238.543 347.14 lineto
-238.543 346.374 lineto
-238.543 345.265 237.402 345.265 QUADTO
-236.496 345.265 235.434 345.828 QUADTO
-235.434 344.874 lineto
-236.605 344.406 237.621 344.406 QUADTO
-238.684 344.406 239.191 344.882 QUADTO
-239.699 345.359 239.699 346.374 QUADTO
-239.699 349.265 lineto
-239.699 350.249 240.309 350.249 QUADTO
-240.387 350.249 240.527 350.218 QUADTO
-240.605 350.859 lineto
-240.215 351.046 239.746 351.046 QUADTO
-238.934 351.046 238.715 350.093 QUADTO
-closepath
-238.543 349.468 M
-238.543 347.828 lineto
-238.152 347.812 lineto
-237.215 347.812 236.629 348.171 QUADTO
-236.043 348.531 236.043 349.124 QUADTO
-236.043 349.531 236.332 349.82 QUADTO
-236.621 350.109 237.043 350.109 QUADTO
-237.762 350.109 238.543 349.468 QUADTO
-closepath
-246.139 350.906 M
-246.139 349.703 lineto
-245.436 351.046 244.029 351.046 QUADTO
-242.873 351.046 242.217 350.21 QUADTO
-241.561 349.374 241.561 347.921 QUADTO
-241.561 346.328 242.303 345.367 QUADTO
-243.045 344.406 244.264 344.406 QUADTO
-245.404 344.406 246.139 345.265 QUADTO
-246.139 341.656 lineto
-247.311 341.656 lineto
-247.311 350.906 lineto
-246.139 350.906 lineto
-closepath
-246.139 346.062 M
-245.248 345.265 244.451 345.265 QUADTO
-242.779 345.265 242.779 347.812 QUADTO
-242.779 350.031 244.264 350.031 QUADTO
-245.217 350.031 246.139 348.984 QUADTO
-246.139 346.062 lineto
-closepath
-254.27 350.703 M
-253.113 351.046 252.285 351.046 QUADTO
-250.879 351.046 249.996 350.117 QUADTO
-249.113 349.187 249.113 347.687 QUADTO
-249.113 346.249 249.895 345.32 QUADTO
-250.676 344.39 251.895 344.39 QUADTO
-253.051 344.39 253.676 345.21 QUADTO
-254.301 346.031 254.301 347.546 QUADTO
-254.301 347.906 lineto
-250.285 347.906 lineto
-250.535 350.171 252.504 350.171 QUADTO
-253.223 350.171 254.27 349.781 QUADTO
-254.27 350.703 lineto
-closepath
-250.332 347.031 M
-253.145 347.031 lineto
-253.145 345.265 251.816 345.265 QUADTO
-250.488 345.265 250.332 347.031 QUADTO
-closepath
-256.299 350.906 M
-256.299 344.546 lineto
-257.455 344.546 lineto
-257.455 345.734 lineto
-258.299 344.406 259.627 344.406 QUADTO
-260.893 344.406 261.361 345.734 QUADTO
-262.174 344.39 263.486 344.39 QUADTO
-264.33 344.39 264.799 344.89 QUADTO
-265.268 345.39 265.268 346.281 QUADTO
-265.268 350.906 lineto
-264.096 350.906 lineto
-264.096 346.453 lineto
-264.096 345.374 263.236 345.374 QUADTO
-262.346 345.374 261.361 346.64 QUADTO
-261.361 350.906 lineto
-260.205 350.906 lineto
-260.205 346.453 lineto
-260.205 345.359 259.314 345.359 QUADTO
-258.455 345.359 257.455 346.64 QUADTO
-257.455 350.906 lineto
-256.299 350.906 lineto
-closepath
-267.502 350.906 M
-267.502 341.656 lineto
-268.658 341.656 lineto
-268.658 350.906 lineto
-267.502 350.906 lineto
-closepath
-270.971 350.906 M
-270.971 344.546 lineto
-272.127 344.546 lineto
-272.127 350.906 lineto
-270.971 350.906 lineto
-closepath
-270.971 343.39 M
-270.971 342.234 lineto
-272.127 342.234 lineto
-272.127 343.39 lineto
-270.971 343.39 lineto
-closepath
-277.721 350.093 M
-276.689 351.046 275.721 351.046 QUADTO
-274.924 351.046 274.408 350.554 QUADTO
-273.893 350.062 273.893 349.312 QUADTO
-273.893 348.265 274.768 347.703 QUADTO
-275.643 347.14 277.268 347.14 QUADTO
-277.549 347.14 lineto
-277.549 346.374 lineto
-277.549 345.265 276.408 345.265 QUADTO
-275.502 345.265 274.439 345.828 QUADTO
-274.439 344.874 lineto
-275.611 344.406 276.627 344.406 QUADTO
-277.689 344.406 278.197 344.882 QUADTO
-278.705 345.359 278.705 346.374 QUADTO
-278.705 349.265 lineto
-278.705 350.249 279.314 350.249 QUADTO
-279.393 350.249 279.533 350.218 QUADTO
-279.611 350.859 lineto
-279.221 351.046 278.752 351.046 QUADTO
-277.939 351.046 277.721 350.093 QUADTO
-closepath
-277.549 349.468 M
-277.549 347.828 lineto
-277.158 347.812 lineto
-276.221 347.812 275.635 348.171 QUADTO
-275.049 348.531 275.049 349.124 QUADTO
-275.049 349.531 275.338 349.82 QUADTO
-275.627 350.109 276.049 350.109 QUADTO
-276.768 350.109 277.549 349.468 QUADTO
-closepath
-284.832 350.906 M
-284.832 342.234 lineto
-286.035 342.234 lineto
-290.395 348.937 lineto
-290.395 342.234 lineto
-291.457 342.234 lineto
-291.457 350.906 lineto
-290.254 350.906 lineto
-285.879 344.203 lineto
-285.879 350.906 lineto
-284.832 350.906 lineto
-closepath
-293.869 348.953 M
-293.869 348.093 lineto
-300.807 348.093 lineto
-300.807 348.953 lineto
-293.869 348.953 lineto
-closepath
-293.869 346.781 M
-293.869 345.921 lineto
-300.807 345.921 lineto
-300.807 346.781 lineto
-293.869 346.781 lineto
-closepath
-303.924 350.906 M
-303.924 350.031 lineto
-305.658 350.031 lineto
-305.658 343.187 lineto
-303.924 343.624 lineto
-303.924 342.734 lineto
-306.814 342.015 lineto
-306.814 350.031 lineto
-308.549 350.031 lineto
-308.549 350.906 lineto
-303.924 350.906 lineto
-closepath
-313.465 351.124 M
-312.121 351.124 311.293 349.859 QUADTO
-310.465 348.593 310.465 346.562 QUADTO
-310.465 344.515 311.301 343.265 QUADTO
-312.137 342.015 313.496 342.015 QUADTO
-314.855 342.015 315.691 343.265 QUADTO
-316.527 344.515 316.527 346.546 QUADTO
-316.527 348.624 315.691 349.874 QUADTO
-314.855 351.124 313.465 351.124 QUADTO
-closepath
-313.48 350.249 M
-315.309 350.249 315.309 346.531 QUADTO
-315.309 342.89 313.496 342.89 QUADTO
-311.699 342.89 311.699 346.562 QUADTO
-311.699 350.249 313.48 350.249 QUADTO
-closepath
-321.053 351.124 M
-319.709 351.124 318.881 349.859 QUADTO
-318.053 348.593 318.053 346.562 QUADTO
-318.053 344.515 318.889 343.265 QUADTO
-319.725 342.015 321.084 342.015 QUADTO
-322.443 342.015 323.279 343.265 QUADTO
-324.115 344.515 324.115 346.546 QUADTO
-324.115 348.624 323.279 349.874 QUADTO
-322.443 351.124 321.053 351.124 QUADTO
-closepath
-321.068 350.249 M
-322.896 350.249 322.896 346.531 QUADTO
-322.896 342.89 321.084 342.89 QUADTO
-319.287 342.89 319.287 346.562 QUADTO
-319.287 350.249 321.068 350.249 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-5 367.178 M
-19 367.178 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-12 364.178 M
-15 367.178 lineto
-12 370.178 lineto
-9 367.178 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-12 364.178 M
-15 367.178 lineto
-12 370.178 lineto
-9 367.178 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-24.125 371.454 M
-24.125 362.782 lineto
-25.281 362.782 lineto
-25.281 367.047 lineto
-28.781 362.782 lineto
-30.016 362.782 lineto
-26.625 366.922 lineto
-30.625 371.454 lineto
-29.062 371.454 lineto
-25.281 367.063 lineto
-25.281 371.454 lineto
-24.125 371.454 lineto
-closepath
-35.271 370.641 M
-34.24 371.594 33.271 371.594 QUADTO
-32.475 371.594 31.959 371.102 QUADTO
-31.443 370.61 31.443 369.86 QUADTO
-31.443 368.813 32.318 368.251 QUADTO
-33.193 367.688 34.818 367.688 QUADTO
-35.1 367.688 lineto
-35.1 366.922 lineto
-35.1 365.813 33.959 365.813 QUADTO
-33.053 365.813 31.99 366.376 QUADTO
-31.99 365.422 lineto
-33.162 364.954 34.178 364.954 QUADTO
-35.24 364.954 35.748 365.43 QUADTO
-36.256 365.907 36.256 366.922 QUADTO
-36.256 369.813 lineto
-36.256 370.797 36.865 370.797 QUADTO
-36.943 370.797 37.084 370.766 QUADTO
-37.162 371.407 lineto
-36.771 371.594 36.303 371.594 QUADTO
-35.49 371.594 35.271 370.641 QUADTO
-closepath
-35.1 370.016 M
-35.1 368.376 lineto
-34.709 368.36 lineto
-33.771 368.36 33.186 368.719 QUADTO
-32.6 369.079 32.6 369.672 QUADTO
-32.6 370.079 32.889 370.368 QUADTO
-33.178 370.657 33.6 370.657 QUADTO
-34.318 370.657 35.1 370.016 QUADTO
-closepath
-42.695 371.454 M
-42.695 370.251 lineto
-41.992 371.594 40.586 371.594 QUADTO
-39.43 371.594 38.773 370.758 QUADTO
-38.117 369.922 38.117 368.469 QUADTO
-38.117 366.876 38.859 365.915 QUADTO
-39.602 364.954 40.82 364.954 QUADTO
-41.961 364.954 42.695 365.813 QUADTO
-42.695 362.204 lineto
-43.867 362.204 lineto
-43.867 371.454 lineto
-42.695 371.454 lineto
-closepath
-42.695 366.61 M
-41.805 365.813 41.008 365.813 QUADTO
-39.336 365.813 39.336 368.36 QUADTO
-39.336 370.579 40.82 370.579 QUADTO
-41.773 370.579 42.695 369.532 QUADTO
-42.695 366.61 lineto
-closepath
-50.826 371.251 M
-49.67 371.594 48.842 371.594 QUADTO
-47.436 371.594 46.553 370.665 QUADTO
-45.67 369.735 45.67 368.235 QUADTO
-45.67 366.797 46.451 365.868 QUADTO
-47.232 364.938 48.451 364.938 QUADTO
-49.607 364.938 50.232 365.758 QUADTO
-50.857 366.579 50.857 368.094 QUADTO
-50.857 368.454 lineto
-46.842 368.454 lineto
-47.092 370.719 49.061 370.719 QUADTO
-49.779 370.719 50.826 370.329 QUADTO
-50.826 371.251 lineto
-closepath
-46.889 367.579 M
-49.701 367.579 lineto
-49.701 365.813 48.373 365.813 QUADTO
-47.045 365.813 46.889 367.579 QUADTO
-closepath
-52.855 371.454 M
-52.855 365.094 lineto
-54.012 365.094 lineto
-54.012 366.282 lineto
-54.855 364.954 56.184 364.954 QUADTO
-57.449 364.954 57.918 366.282 QUADTO
-58.73 364.938 60.043 364.938 QUADTO
-60.887 364.938 61.355 365.438 QUADTO
-61.824 365.938 61.824 366.829 QUADTO
-61.824 371.454 lineto
-60.652 371.454 lineto
-60.652 367.001 lineto
-60.652 365.922 59.793 365.922 QUADTO
-58.902 365.922 57.918 367.188 QUADTO
-57.918 371.454 lineto
-56.762 371.454 lineto
-56.762 367.001 lineto
-56.762 365.907 55.871 365.907 QUADTO
-55.012 365.907 54.012 367.188 QUADTO
-54.012 371.454 lineto
-52.855 371.454 lineto
-closepath
-64.059 371.454 M
-64.059 362.204 lineto
-65.215 362.204 lineto
-65.215 371.454 lineto
-64.059 371.454 lineto
-closepath
-67.527 371.454 M
-67.527 365.094 lineto
-68.684 365.094 lineto
-68.684 371.454 lineto
-67.527 371.454 lineto
-closepath
-67.527 363.938 M
-67.527 362.782 lineto
-68.684 362.782 lineto
-68.684 363.938 lineto
-67.527 363.938 lineto
-closepath
-74.277 370.641 M
-73.246 371.594 72.277 371.594 QUADTO
-71.48 371.594 70.965 371.102 QUADTO
-70.449 370.61 70.449 369.86 QUADTO
-70.449 368.813 71.324 368.251 QUADTO
-72.199 367.688 73.824 367.688 QUADTO
-74.105 367.688 lineto
-74.105 366.922 lineto
-74.105 365.813 72.965 365.813 QUADTO
-72.059 365.813 70.996 366.376 QUADTO
-70.996 365.422 lineto
-72.168 364.954 73.184 364.954 QUADTO
-74.246 364.954 74.754 365.43 QUADTO
-75.262 365.907 75.262 366.922 QUADTO
-75.262 369.813 lineto
-75.262 370.797 75.871 370.797 QUADTO
-75.949 370.797 76.09 370.766 QUADTO
-76.168 371.407 lineto
-75.777 371.594 75.309 371.594 QUADTO
-74.496 371.594 74.277 370.641 QUADTO
-closepath
-74.105 370.016 M
-74.105 368.376 lineto
-73.715 368.36 lineto
-72.777 368.36 72.191 368.719 QUADTO
-71.605 369.079 71.605 369.672 QUADTO
-71.605 370.079 71.895 370.368 QUADTO
-72.184 370.657 72.605 370.657 QUADTO
-73.324 370.657 74.105 370.016 QUADTO
-closepath
-81.389 371.454 M
-81.389 362.782 lineto
-82.592 362.782 lineto
-86.951 369.485 lineto
-86.951 362.782 lineto
-88.014 362.782 lineto
-88.014 371.454 lineto
-86.811 371.454 lineto
-82.436 364.751 lineto
-82.436 371.454 lineto
-81.389 371.454 lineto
-closepath
-90.426 369.501 M
-90.426 368.641 lineto
-97.363 368.641 lineto
-97.363 369.501 lineto
-90.426 369.501 lineto
-closepath
-90.426 367.329 M
-90.426 366.469 lineto
-97.363 366.469 lineto
-97.363 367.329 lineto
-90.426 367.329 lineto
-closepath
-100.48 371.454 M
-100.48 370.579 lineto
-102.215 370.579 lineto
-102.215 363.735 lineto
-100.48 364.172 lineto
-100.48 363.282 lineto
-103.371 362.563 lineto
-103.371 370.579 lineto
-105.105 370.579 lineto
-105.105 371.454 lineto
-100.48 371.454 lineto
-closepath
-110.021 371.672 M
-108.678 371.672 107.85 370.407 QUADTO
-107.021 369.141 107.021 367.11 QUADTO
-107.021 365.063 107.857 363.813 QUADTO
-108.693 362.563 110.053 362.563 QUADTO
-111.412 362.563 112.248 363.813 QUADTO
-113.084 365.063 113.084 367.094 QUADTO
-113.084 369.172 112.248 370.422 QUADTO
-111.412 371.672 110.021 371.672 QUADTO
-closepath
-110.037 370.797 M
-111.865 370.797 111.865 367.079 QUADTO
-111.865 363.438 110.053 363.438 QUADTO
-108.256 363.438 108.256 367.11 QUADTO
-108.256 370.797 110.037 370.797 QUADTO
-closepath
-117.609 371.672 M
-116.266 371.672 115.438 370.407 QUADTO
-114.609 369.141 114.609 367.11 QUADTO
-114.609 365.063 115.445 363.813 QUADTO
-116.281 362.563 117.641 362.563 QUADTO
-119 362.563 119.836 363.813 QUADTO
-120.672 365.063 120.672 367.094 QUADTO
-120.672 369.172 119.836 370.422 QUADTO
-119 371.672 117.609 371.672 QUADTO
-closepath
-117.625 370.797 M
-119.453 370.797 119.453 367.079 QUADTO
-119.453 363.438 117.641 363.438 QUADTO
-115.844 363.438 115.844 367.11 QUADTO
-115.844 370.797 117.625 370.797 QUADTO
-closepath
-125.197 371.672 M
-123.854 371.672 123.025 370.407 QUADTO
-122.197 369.141 122.197 367.11 QUADTO
-122.197 365.063 123.033 363.813 QUADTO
-123.869 362.563 125.229 362.563 QUADTO
-126.588 362.563 127.424 363.813 QUADTO
-128.26 365.063 128.26 367.094 QUADTO
-128.26 369.172 127.424 370.422 QUADTO
-126.588 371.672 125.197 371.672 QUADTO
-closepath
-125.213 370.797 M
-127.041 370.797 127.041 367.079 QUADTO
-127.041 363.438 125.229 363.438 QUADTO
-123.432 363.438 123.432 367.11 QUADTO
-123.432 370.797 125.213 370.797 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-135.02 367.178 M
-149.02 367.178 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-139.02 365.678 M
-145.02 365.678 lineto
-145.02 368.678 lineto
-139.02 368.678 lineto
-139.02 365.678 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-139.02 365.678 M
-145.02 365.678 lineto
-145.02 368.678 lineto
-139.02 368.678 lineto
-139.02 365.678 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-156.504 371.454 M
-153.238 362.782 lineto
-154.457 362.782 lineto
-157.145 369.876 lineto
-159.738 362.782 lineto
-160.816 362.782 lineto
-157.66 371.454 lineto
-156.504 371.454 lineto
-closepath
-166.678 371.251 M
-165.521 371.594 164.693 371.594 QUADTO
-163.287 371.594 162.404 370.665 QUADTO
-161.521 369.735 161.521 368.235 QUADTO
-161.521 366.797 162.303 365.868 QUADTO
-163.084 364.938 164.303 364.938 QUADTO
-165.459 364.938 166.084 365.758 QUADTO
-166.709 366.579 166.709 368.094 QUADTO
-166.709 368.454 lineto
-162.693 368.454 lineto
-162.943 370.719 164.912 370.719 QUADTO
-165.631 370.719 166.678 370.329 QUADTO
-166.678 371.251 lineto
-closepath
-162.74 367.579 M
-165.553 367.579 lineto
-165.553 365.813 164.225 365.813 QUADTO
-162.896 365.813 162.74 367.579 QUADTO
-closepath
-168.707 371.454 M
-168.707 365.094 lineto
-169.863 365.094 lineto
-169.863 366.282 lineto
-170.551 364.954 171.848 364.954 QUADTO
-172.035 364.954 172.223 364.985 QUADTO
-172.223 366.063 lineto
-171.926 365.954 171.691 365.954 QUADTO
-170.598 365.954 169.863 367.251 QUADTO
-169.863 371.454 lineto
-168.707 371.454 lineto
-closepath
-175.523 371.594 M
-174.648 371.594 174.156 371.094 QUADTO
-173.664 370.594 173.664 369.688 QUADTO
-173.664 365.954 lineto
-172.867 365.954 lineto
-172.867 365.094 lineto
-173.664 365.094 lineto
-173.664 363.938 lineto
-174.82 363.829 lineto
-174.82 365.094 lineto
-176.477 365.094 lineto
-176.477 365.954 lineto
-174.82 365.954 lineto
-174.82 369.485 lineto
-174.82 370.735 175.898 370.735 QUADTO
-176.117 370.735 176.445 370.657 QUADTO
-176.445 371.454 lineto
-175.914 371.594 175.523 371.594 QUADTO
-closepath
-182.762 371.251 M
-181.605 371.594 180.777 371.594 QUADTO
-179.371 371.594 178.488 370.665 QUADTO
-177.605 369.735 177.605 368.235 QUADTO
-177.605 366.797 178.387 365.868 QUADTO
-179.168 364.938 180.387 364.938 QUADTO
-181.543 364.938 182.168 365.758 QUADTO
-182.793 366.579 182.793 368.094 QUADTO
-182.793 368.454 lineto
-178.777 368.454 lineto
-179.027 370.719 180.996 370.719 QUADTO
-181.715 370.719 182.762 370.329 QUADTO
-182.762 371.251 lineto
-closepath
-178.824 367.579 M
-181.637 367.579 lineto
-181.637 365.813 180.309 365.813 QUADTO
-178.98 365.813 178.824 367.579 QUADTO
-closepath
-184.15 371.454 M
-186.572 368.172 lineto
-184.229 365.094 lineto
-185.588 365.094 lineto
-187.447 367.532 lineto
-189.135 365.094 lineto
-190.26 365.094 lineto
-188.057 368.313 lineto
-190.447 371.454 lineto
-189.072 371.454 lineto
-187.166 368.938 lineto
-185.307 371.454 lineto
-184.15 371.454 lineto
-closepath
-202.432 371.219 M
-200.854 371.672 199.682 371.672 QUADTO
-197.604 371.672 196.502 370.493 QUADTO
-195.4 369.313 195.4 367.11 QUADTO
-195.4 364.954 196.518 363.758 QUADTO
-197.635 362.563 199.666 362.563 QUADTO
-200.979 362.563 202.416 362.954 QUADTO
-202.416 364.094 lineto
-200.619 363.485 199.666 363.485 QUADTO
-198.26 363.485 197.486 364.438 QUADTO
-196.713 365.391 196.713 367.126 QUADTO
-196.713 368.844 197.541 369.797 QUADTO
-198.369 370.751 199.869 370.751 QUADTO
-200.494 370.751 201.197 370.532 QUADTO
-201.197 367.704 lineto
-202.432 367.704 lineto
-202.432 371.219 lineto
-closepath
-204.619 371.454 M
-204.619 365.094 lineto
-205.775 365.094 lineto
-205.775 366.282 lineto
-206.463 364.954 207.76 364.954 QUADTO
-207.947 364.954 208.135 364.985 QUADTO
-208.135 366.063 lineto
-207.838 365.954 207.604 365.954 QUADTO
-206.51 365.954 205.775 367.251 QUADTO
-205.775 371.454 lineto
-204.619 371.454 lineto
-closepath
-212.014 371.594 M
-210.654 371.594 209.842 370.688 QUADTO
-209.029 369.782 209.029 368.266 QUADTO
-209.029 366.735 209.842 365.844 QUADTO
-210.654 364.954 212.061 364.954 QUADTO
-213.467 364.954 214.279 365.844 QUADTO
-215.092 366.735 215.092 368.266 QUADTO
-215.092 369.813 214.271 370.704 QUADTO
-213.451 371.594 212.014 371.594 QUADTO
-closepath
-212.029 370.735 M
-213.873 370.735 213.873 368.266 QUADTO
-213.873 365.813 212.061 365.813 QUADTO
-210.248 365.813 210.248 368.266 QUADTO
-210.248 370.735 212.029 370.735 QUADTO
-closepath
-220.885 371.454 M
-220.885 370.251 lineto
-219.963 371.594 218.65 371.594 QUADTO
-217.807 371.594 217.314 371.071 QUADTO
-216.822 370.547 216.822 369.657 QUADTO
-216.822 365.094 lineto
-217.979 365.094 lineto
-217.979 369.282 lineto
-217.979 370.001 218.189 370.305 QUADTO
-218.4 370.61 218.885 370.61 QUADTO
-219.947 370.61 220.885 369.219 QUADTO
-220.885 365.094 lineto
-222.025 365.094 lineto
-222.025 371.454 lineto
-220.885 371.454 lineto
-closepath
-224.348 373.766 M
-224.348 365.094 lineto
-225.504 365.094 lineto
-225.504 366.282 lineto
-226.207 364.954 227.629 364.954 QUADTO
-228.77 364.954 229.434 365.79 QUADTO
-230.098 366.626 230.098 368.079 QUADTO
-230.098 369.657 229.348 370.626 QUADTO
-228.598 371.594 227.379 371.594 QUADTO
-226.254 371.594 225.504 370.735 QUADTO
-225.504 373.766 lineto
-224.348 373.766 lineto
-closepath
-225.504 369.938 M
-226.395 370.735 227.207 370.735 QUADTO
-228.863 370.735 228.863 368.188 QUADTO
-228.863 365.954 227.395 365.954 QUADTO
-226.426 365.954 225.504 367.001 QUADTO
-225.504 369.938 lineto
-closepath
-233.588 371.594 M
-232.791 371.594 231.666 371.235 QUADTO
-231.666 370.172 lineto
-232.791 370.735 233.635 370.735 QUADTO
-234.135 370.735 234.463 370.461 QUADTO
-234.791 370.188 234.791 369.782 QUADTO
-234.791 369.204 233.869 368.813 QUADTO
-233.197 368.516 lineto
-231.697 367.907 231.697 366.735 QUADTO
-231.697 365.907 232.291 365.43 QUADTO
-232.885 364.954 233.9 364.954 QUADTO
-234.432 364.954 235.229 365.094 QUADTO
-235.463 365.141 lineto
-235.463 366.11 lineto
-234.494 365.813 233.932 365.813 QUADTO
-232.807 365.813 232.807 366.626 QUADTO
-232.807 367.141 233.65 367.501 QUADTO
-234.213 367.735 lineto
-235.15 368.141 235.549 368.579 QUADTO
-235.947 369.016 235.947 369.688 QUADTO
-235.947 370.516 235.283 371.055 QUADTO
-234.619 371.594 233.588 371.594 QUADTO
-closepath
-241.783 371.454 M
-241.783 362.782 lineto
-242.986 362.782 lineto
-247.346 369.485 lineto
-247.346 362.782 lineto
-248.408 362.782 lineto
-248.408 371.454 lineto
-247.205 371.454 lineto
-242.83 364.751 lineto
-242.83 371.454 lineto
-241.783 371.454 lineto
-closepath
-250.82 369.501 M
-250.82 368.641 lineto
-257.758 368.641 lineto
-257.758 369.501 lineto
-250.82 369.501 lineto
-closepath
-250.82 367.329 M
-250.82 366.469 lineto
-257.758 366.469 lineto
-257.758 367.329 lineto
-250.82 367.329 lineto
-closepath
-260.875 371.454 M
-260.875 370.579 lineto
-262.609 370.579 lineto
-262.609 363.735 lineto
-260.875 364.172 lineto
-260.875 363.282 lineto
-263.766 362.563 lineto
-263.766 370.579 lineto
-265.5 370.579 lineto
-265.5 371.454 lineto
-260.875 371.454 lineto
-closepath
-270.416 371.672 M
-269.072 371.672 268.244 370.407 QUADTO
-267.416 369.141 267.416 367.11 QUADTO
-267.416 365.063 268.252 363.813 QUADTO
-269.088 362.563 270.447 362.563 QUADTO
-271.807 362.563 272.643 363.813 QUADTO
-273.479 365.063 273.479 367.094 QUADTO
-273.479 369.172 272.643 370.422 QUADTO
-271.807 371.672 270.416 371.672 QUADTO
-closepath
-270.432 370.797 M
-272.26 370.797 272.26 367.079 QUADTO
-272.26 363.438 270.447 363.438 QUADTO
-268.65 363.438 268.65 367.11 QUADTO
-268.65 370.797 270.432 370.797 QUADTO
-closepath
-278.004 371.672 M
-276.66 371.672 275.832 370.407 QUADTO
-275.004 369.141 275.004 367.11 QUADTO
-275.004 365.063 275.84 363.813 QUADTO
-276.676 362.563 278.035 362.563 QUADTO
-279.395 362.563 280.23 363.813 QUADTO
-281.066 365.063 281.066 367.094 QUADTO
-281.066 369.172 280.23 370.422 QUADTO
-279.395 371.672 278.004 371.672 QUADTO
-closepath
-278.02 370.797 M
-279.848 370.797 279.848 367.079 QUADTO
-279.848 363.438 278.035 363.438 QUADTO
-276.238 363.438 276.238 367.11 QUADTO
-276.238 370.797 278.02 370.797 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-5 387.726 M
-19 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-9 384.726 M
-15 384.726 lineto
-12 390.726 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-9 384.726 M
-15 384.726 lineto
-12 390.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-26.484 392.002 M
-23.219 383.33 lineto
-24.438 383.33 lineto
-27.125 390.424 lineto
-29.719 383.33 lineto
-30.797 383.33 lineto
-27.641 392.002 lineto
-26.484 392.002 lineto
-closepath
-36.658 391.799 M
-35.502 392.142 34.674 392.142 QUADTO
-33.268 392.142 32.385 391.213 QUADTO
-31.502 390.283 31.502 388.783 QUADTO
-31.502 387.345 32.283 386.416 QUADTO
-33.064 385.486 34.283 385.486 QUADTO
-35.439 385.486 36.064 386.306 QUADTO
-36.689 387.127 36.689 388.642 QUADTO
-36.689 389.002 lineto
-32.674 389.002 lineto
-32.924 391.267 34.893 391.267 QUADTO
-35.611 391.267 36.658 390.877 QUADTO
-36.658 391.799 lineto
-closepath
-32.721 388.127 M
-35.533 388.127 lineto
-35.533 386.361 34.205 386.361 QUADTO
-32.877 386.361 32.721 388.127 QUADTO
-closepath
-38.688 392.002 M
-38.688 385.642 lineto
-39.844 385.642 lineto
-39.844 386.83 lineto
-40.531 385.502 41.828 385.502 QUADTO
-42.016 385.502 42.203 385.533 QUADTO
-42.203 386.611 lineto
-41.906 386.502 41.672 386.502 QUADTO
-40.578 386.502 39.844 387.799 QUADTO
-39.844 392.002 lineto
-38.688 392.002 lineto
-closepath
-45.504 392.142 M
-44.629 392.142 44.137 391.642 QUADTO
-43.645 391.142 43.645 390.236 QUADTO
-43.645 386.502 lineto
-42.848 386.502 lineto
-42.848 385.642 lineto
-43.645 385.642 lineto
-43.645 384.486 lineto
-44.801 384.377 lineto
-44.801 385.642 lineto
-46.457 385.642 lineto
-46.457 386.502 lineto
-44.801 386.502 lineto
-44.801 390.033 lineto
-44.801 391.283 45.879 391.283 QUADTO
-46.098 391.283 46.426 391.205 QUADTO
-46.426 392.002 lineto
-45.895 392.142 45.504 392.142 QUADTO
-closepath
-52.742 391.799 M
-51.586 392.142 50.758 392.142 QUADTO
-49.352 392.142 48.469 391.213 QUADTO
-47.586 390.283 47.586 388.783 QUADTO
-47.586 387.345 48.367 386.416 QUADTO
-49.148 385.486 50.367 385.486 QUADTO
-51.523 385.486 52.148 386.306 QUADTO
-52.773 387.127 52.773 388.642 QUADTO
-52.773 389.002 lineto
-48.758 389.002 lineto
-49.008 391.267 50.977 391.267 QUADTO
-51.695 391.267 52.742 390.877 QUADTO
-52.742 391.799 lineto
-closepath
-48.805 388.127 M
-51.617 388.127 lineto
-51.617 386.361 50.289 386.361 QUADTO
-48.961 386.361 48.805 388.127 QUADTO
-closepath
-54.131 392.002 M
-56.553 388.72 lineto
-54.209 385.642 lineto
-55.568 385.642 lineto
-57.428 388.08 lineto
-59.115 385.642 lineto
-60.24 385.642 lineto
-58.037 388.861 lineto
-60.428 392.002 lineto
-59.053 392.002 lineto
-57.146 389.486 lineto
-55.287 392.002 lineto
-54.131 392.002 lineto
-closepath
-72.412 391.767 M
-70.834 392.22 69.662 392.22 QUADTO
-67.584 392.22 66.482 391.041 QUADTO
-65.381 389.861 65.381 387.658 QUADTO
-65.381 385.502 66.498 384.306 QUADTO
-67.615 383.111 69.646 383.111 QUADTO
-70.959 383.111 72.396 383.502 QUADTO
-72.396 384.642 lineto
-70.6 384.033 69.646 384.033 QUADTO
-68.24 384.033 67.467 384.986 QUADTO
-66.693 385.939 66.693 387.674 QUADTO
-66.693 389.392 67.521 390.345 QUADTO
-68.35 391.299 69.85 391.299 QUADTO
-70.475 391.299 71.178 391.08 QUADTO
-71.178 388.252 lineto
-72.412 388.252 lineto
-72.412 391.767 lineto
-closepath
-74.6 392.002 M
-74.6 385.642 lineto
-75.756 385.642 lineto
-75.756 386.83 lineto
-76.443 385.502 77.74 385.502 QUADTO
-77.928 385.502 78.115 385.533 QUADTO
-78.115 386.611 lineto
-77.818 386.502 77.584 386.502 QUADTO
-76.49 386.502 75.756 387.799 QUADTO
-75.756 392.002 lineto
-74.6 392.002 lineto
-closepath
-81.994 392.142 M
-80.635 392.142 79.822 391.236 QUADTO
-79.01 390.33 79.01 388.814 QUADTO
-79.01 387.283 79.822 386.392 QUADTO
-80.635 385.502 82.041 385.502 QUADTO
-83.447 385.502 84.26 386.392 QUADTO
-85.072 387.283 85.072 388.814 QUADTO
-85.072 390.361 84.252 391.252 QUADTO
-83.432 392.142 81.994 392.142 QUADTO
-closepath
-82.01 391.283 M
-83.854 391.283 83.854 388.814 QUADTO
-83.854 386.361 82.041 386.361 QUADTO
-80.229 386.361 80.229 388.814 QUADTO
-80.229 391.283 82.01 391.283 QUADTO
-closepath
-90.865 392.002 M
-90.865 390.799 lineto
-89.943 392.142 88.631 392.142 QUADTO
-87.787 392.142 87.295 391.619 QUADTO
-86.803 391.095 86.803 390.205 QUADTO
-86.803 385.642 lineto
-87.959 385.642 lineto
-87.959 389.83 lineto
-87.959 390.549 88.17 390.853 QUADTO
-88.381 391.158 88.865 391.158 QUADTO
-89.928 391.158 90.865 389.767 QUADTO
-90.865 385.642 lineto
-92.006 385.642 lineto
-92.006 392.002 lineto
-90.865 392.002 lineto
-closepath
-94.328 394.314 M
-94.328 385.642 lineto
-95.484 385.642 lineto
-95.484 386.83 lineto
-96.188 385.502 97.609 385.502 QUADTO
-98.75 385.502 99.414 386.338 QUADTO
-100.078 387.174 100.078 388.627 QUADTO
-100.078 390.205 99.328 391.174 QUADTO
-98.578 392.142 97.359 392.142 QUADTO
-96.234 392.142 95.484 391.283 QUADTO
-95.484 394.314 lineto
-94.328 394.314 lineto
-closepath
-95.484 390.486 M
-96.375 391.283 97.188 391.283 QUADTO
-98.844 391.283 98.844 388.736 QUADTO
-98.844 386.502 97.375 386.502 QUADTO
-96.406 386.502 95.484 387.549 QUADTO
-95.484 390.486 lineto
-closepath
-103.568 392.142 M
-102.771 392.142 101.646 391.783 QUADTO
-101.646 390.72 lineto
-102.771 391.283 103.615 391.283 QUADTO
-104.115 391.283 104.443 391.009 QUADTO
-104.771 390.736 104.771 390.33 QUADTO
-104.771 389.752 103.85 389.361 QUADTO
-103.178 389.064 lineto
-101.678 388.455 101.678 387.283 QUADTO
-101.678 386.455 102.271 385.978 QUADTO
-102.865 385.502 103.881 385.502 QUADTO
-104.412 385.502 105.209 385.642 QUADTO
-105.443 385.689 lineto
-105.443 386.658 lineto
-104.475 386.361 103.912 386.361 QUADTO
-102.787 386.361 102.787 387.174 QUADTO
-102.787 387.689 103.631 388.049 QUADTO
-104.193 388.283 lineto
-105.131 388.689 105.529 389.127 QUADTO
-105.928 389.564 105.928 390.236 QUADTO
-105.928 391.064 105.264 391.603 QUADTO
-104.6 392.142 103.568 392.142 QUADTO
-closepath
-111.764 392.002 M
-111.764 383.33 lineto
-112.967 383.33 lineto
-117.326 390.033 lineto
-117.326 383.33 lineto
-118.389 383.33 lineto
-118.389 392.002 lineto
-117.186 392.002 lineto
-112.811 385.299 lineto
-112.811 392.002 lineto
-111.764 392.002 lineto
-closepath
-120.801 390.049 M
-120.801 389.189 lineto
-127.738 389.189 lineto
-127.738 390.049 lineto
-120.801 390.049 lineto
-closepath
-120.801 387.877 M
-120.801 387.017 lineto
-127.738 387.017 lineto
-127.738 387.877 lineto
-120.801 387.877 lineto
-closepath
-130.855 392.002 M
-130.855 391.127 lineto
-132.59 391.127 lineto
-132.59 384.283 lineto
-130.855 384.72 lineto
-130.855 383.83 lineto
-133.746 383.111 lineto
-133.746 391.127 lineto
-135.48 391.127 lineto
-135.48 392.002 lineto
-130.855 392.002 lineto
-closepath
-140.396 392.22 M
-139.053 392.22 138.225 390.955 QUADTO
-137.396 389.689 137.396 387.658 QUADTO
-137.396 385.611 138.232 384.361 QUADTO
-139.068 383.111 140.428 383.111 QUADTO
-141.787 383.111 142.623 384.361 QUADTO
-143.459 385.611 143.459 387.642 QUADTO
-143.459 389.72 142.623 390.97 QUADTO
-141.787 392.22 140.396 392.22 QUADTO
-closepath
-140.412 391.345 M
-142.24 391.345 142.24 387.627 QUADTO
-142.24 383.986 140.428 383.986 QUADTO
-138.631 383.986 138.631 387.658 QUADTO
-138.631 391.345 140.412 391.345 QUADTO
-closepath
-147.984 392.22 M
-146.641 392.22 145.812 390.955 QUADTO
-144.984 389.689 144.984 387.658 QUADTO
-144.984 385.611 145.82 384.361 QUADTO
-146.656 383.111 148.016 383.111 QUADTO
-149.375 383.111 150.211 384.361 QUADTO
-151.047 385.611 151.047 387.642 QUADTO
-151.047 389.72 150.211 390.97 QUADTO
-149.375 392.22 147.984 392.22 QUADTO
-closepath
-148 391.345 M
-149.828 391.345 149.828 387.627 QUADTO
-149.828 383.986 148.016 383.986 QUADTO
-146.219 383.986 146.219 387.658 QUADTO
-146.219 391.345 148 391.345 QUADTO
-closepath
-155.572 392.22 M
-154.229 392.22 153.4 390.955 QUADTO
-152.572 389.689 152.572 387.658 QUADTO
-152.572 385.611 153.408 384.361 QUADTO
-154.244 383.111 155.604 383.111 QUADTO
-156.963 383.111 157.799 384.361 QUADTO
-158.635 385.611 158.635 387.642 QUADTO
-158.635 389.72 157.799 390.97 QUADTO
-156.963 392.22 155.572 392.22 QUADTO
-closepath
-155.588 391.345 M
-157.416 391.345 157.416 387.627 QUADTO
-157.416 383.986 155.604 383.986 QUADTO
-153.807 383.986 153.807 387.658 QUADTO
-153.807 391.345 155.588 391.345 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-69.533 34.247 M
-388 34.247 lineto
-388 284.835 lineto
-69.533 284.835 lineto
-69.533 34.247 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.533 288.835 M
-388 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-69.505 304.604 M
-68.161 304.604 67.333 303.338 QUADTO
-66.505 302.072 66.505 300.041 QUADTO
-66.505 297.994 67.341 296.744 QUADTO
-68.177 295.494 69.536 295.494 QUADTO
-70.896 295.494 71.731 296.744 QUADTO
-72.567 297.994 72.567 300.026 QUADTO
-72.567 302.104 71.731 303.354 QUADTO
-70.896 304.604 69.505 304.604 QUADTO
-closepath
-69.521 303.729 M
-71.349 303.729 71.349 300.01 QUADTO
-71.349 296.369 69.536 296.369 QUADTO
-67.739 296.369 67.739 300.041 QUADTO
-67.739 303.729 69.521 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.533 290.835 M
-69.533 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-125.52 304.416 M
-125.52 303.385 lineto
-126.395 303.729 127.16 303.729 QUADTO
-128.02 303.729 128.512 303.229 QUADTO
-129.004 302.729 129.004 301.838 QUADTO
-129.004 299.885 126.317 299.885 QUADTO
-126.004 299.885 125.676 299.932 QUADTO
-125.676 295.713 lineto
-130.067 295.713 lineto
-130.067 296.713 lineto
-126.692 296.713 lineto
-126.692 299.01 lineto
-128.363 299.01 129.301 299.776 QUADTO
-130.238 300.541 130.238 301.901 QUADTO
-130.238 303.166 129.379 303.885 QUADTO
-128.52 304.604 127.02 304.604 QUADTO
-126.363 304.604 125.52 304.416 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.86 290.835 M
-127.86 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-180.412 304.385 M
-180.412 303.51 lineto
-182.147 303.51 lineto
-182.147 296.666 lineto
-180.412 297.104 lineto
-180.412 296.213 lineto
-183.303 295.494 lineto
-183.303 303.51 lineto
-185.037 303.51 lineto
-185.037 304.385 lineto
-180.412 304.385 lineto
-closepath
-189.953 304.604 M
-188.61 304.604 187.781 303.338 QUADTO
-186.953 302.072 186.953 300.041 QUADTO
-186.953 297.994 187.789 296.744 QUADTO
-188.625 295.494 189.985 295.494 QUADTO
-191.344 295.494 192.18 296.744 QUADTO
-193.016 297.994 193.016 300.026 QUADTO
-193.016 302.104 192.18 303.354 QUADTO
-191.344 304.604 189.953 304.604 QUADTO
-closepath
-189.969 303.729 M
-191.797 303.729 191.797 300.01 QUADTO
-191.797 296.369 189.985 296.369 QUADTO
-188.188 296.369 188.188 300.041 QUADTO
-188.188 303.729 189.969 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-186.188 290.835 M
-186.188 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-238.74 304.385 M
-238.74 303.51 lineto
-240.474 303.51 lineto
-240.474 296.666 lineto
-238.74 297.104 lineto
-238.74 296.213 lineto
-241.63 295.494 lineto
-241.63 303.51 lineto
-243.365 303.51 lineto
-243.365 304.385 lineto
-238.74 304.385 lineto
-closepath
-245.968 304.416 M
-245.968 303.385 lineto
-246.843 303.729 247.609 303.729 QUADTO
-248.468 303.729 248.96 303.229 QUADTO
-249.452 302.729 249.452 301.838 QUADTO
-249.452 299.885 246.765 299.885 QUADTO
-246.452 299.885 246.124 299.932 QUADTO
-246.124 295.713 lineto
-250.515 295.713 lineto
-250.515 296.713 lineto
-247.14 296.713 lineto
-247.14 299.01 lineto
-248.812 299.01 249.749 299.776 QUADTO
-250.687 300.541 250.687 301.901 QUADTO
-250.687 303.166 249.827 303.885 QUADTO
-248.968 304.604 247.468 304.604 QUADTO
-246.812 304.604 245.968 304.416 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-244.515 290.835 M
-244.515 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-296.254 304.385 M
-296.254 303.369 lineto
-296.754 302.197 298.286 300.807 QUADTO
-298.957 300.213 lineto
-300.223 299.057 300.223 297.916 QUADTO
-300.223 297.197 299.793 296.783 QUADTO
-299.364 296.369 298.598 296.369 QUADTO
-297.692 296.369 296.473 297.057 QUADTO
-296.473 296.041 lineto
-297.629 295.494 298.754 295.494 QUADTO
-299.973 295.494 300.715 296.151 QUADTO
-301.457 296.807 301.457 297.885 QUADTO
-301.457 298.666 301.082 299.276 QUADTO
-300.707 299.885 299.692 300.744 QUADTO
-299.254 301.119 lineto
-297.864 302.291 297.645 303.369 QUADTO
-301.411 303.369 lineto
-301.411 304.385 lineto
-296.254 304.385 lineto
-closepath
-306.608 304.604 M
-305.264 304.604 304.436 303.338 QUADTO
-303.608 302.072 303.608 300.041 QUADTO
-303.608 297.994 304.444 296.744 QUADTO
-305.28 295.494 306.639 295.494 QUADTO
-307.998 295.494 308.834 296.744 QUADTO
-309.67 297.994 309.67 300.026 QUADTO
-309.67 302.104 308.834 303.354 QUADTO
-307.998 304.604 306.608 304.604 QUADTO
-closepath
-306.623 303.729 M
-308.452 303.729 308.452 300.01 QUADTO
-308.452 296.369 306.639 296.369 QUADTO
-304.842 296.369 304.842 300.041 QUADTO
-304.842 303.729 306.623 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-302.842 290.835 M
-302.842 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-354.582 304.385 M
-354.582 303.369 lineto
-355.082 302.197 356.613 300.807 QUADTO
-357.285 300.213 lineto
-358.55 299.057 358.55 297.916 QUADTO
-358.55 297.197 358.121 296.783 QUADTO
-357.691 296.369 356.925 296.369 QUADTO
-356.019 296.369 354.8 297.057 QUADTO
-354.8 296.041 lineto
-355.957 295.494 357.082 295.494 QUADTO
-358.3 295.494 359.043 296.151 QUADTO
-359.785 296.807 359.785 297.885 QUADTO
-359.785 298.666 359.41 299.276 QUADTO
-359.035 299.885 358.019 300.744 QUADTO
-357.582 301.119 lineto
-356.191 302.291 355.972 303.369 QUADTO
-359.738 303.369 lineto
-359.738 304.385 lineto
-354.582 304.385 lineto
-closepath
-362.623 304.416 M
-362.623 303.385 lineto
-363.498 303.729 364.263 303.729 QUADTO
-365.123 303.729 365.615 303.229 QUADTO
-366.107 302.729 366.107 301.838 QUADTO
-366.107 299.885 363.419 299.885 QUADTO
-363.107 299.885 362.779 299.932 QUADTO
-362.779 295.713 lineto
-367.169 295.713 lineto
-367.169 296.713 lineto
-363.794 296.713 lineto
-363.794 299.01 lineto
-365.466 299.01 366.404 299.776 QUADTO
-367.341 300.541 367.341 301.901 QUADTO
-367.341 303.166 366.482 303.885 QUADTO
-365.623 304.604 364.123 304.604 QUADTO
-363.466 304.604 362.623 304.416 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-361.169 290.835 M
-361.169 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-175.293 323.858 M
-175.293 316.358 lineto
-177.309 316.358 lineto
-177.309 317.764 lineto
-178.309 316.186 179.872 316.186 QUADTO
-180.872 316.186 181.458 316.819 QUADTO
-182.043 317.452 182.043 318.545 QUADTO
-182.043 323.858 lineto
-180.012 323.858 lineto
-180.012 319.045 lineto
-180.012 317.78 179.168 317.78 QUADTO
-178.2 317.78 177.309 319.139 QUADTO
-177.309 323.858 lineto
-175.293 323.858 lineto
-closepath
-187.644 324.03 M
-185.878 324.03 184.847 322.967 QUADTO
-183.816 321.905 183.816 320.108 QUADTO
-183.816 318.28 184.855 317.233 QUADTO
-185.894 316.186 187.691 316.186 QUADTO
-189.488 316.186 190.527 317.233 QUADTO
-191.566 318.28 191.566 320.092 QUADTO
-191.566 321.936 190.519 322.983 QUADTO
-189.472 324.03 187.644 324.03 QUADTO
-closepath
-187.675 322.764 M
-189.41 322.764 189.41 320.092 QUADTO
-189.41 318.874 188.949 318.163 QUADTO
-188.488 317.452 187.691 317.452 QUADTO
-186.894 317.452 186.425 318.163 QUADTO
-185.957 318.874 185.957 320.108 QUADTO
-185.957 321.327 186.417 322.045 QUADTO
-186.878 322.764 187.675 322.764 QUADTO
-closepath
-198.148 323.858 M
-198.148 322.436 lineto
-197.367 324.03 195.695 324.03 QUADTO
-194.351 324.03 193.578 323.038 QUADTO
-192.804 322.045 192.804 320.311 QUADTO
-192.804 318.42 193.671 317.303 QUADTO
-194.539 316.186 196.007 316.186 QUADTO
-197.195 316.186 198.148 317.108 QUADTO
-198.148 313.061 lineto
-200.179 313.061 lineto
-200.179 323.858 lineto
-198.148 323.858 lineto
-closepath
-198.148 318.311 M
-197.414 317.499 196.585 317.499 QUADTO
-195.835 317.499 195.398 318.217 QUADTO
-194.96 318.936 194.96 320.139 QUADTO
-194.96 322.436 196.429 322.436 QUADTO
-197.335 322.436 198.148 321.28 QUADTO
-198.148 318.311 lineto
-closepath
-208.815 323.608 M
-207.377 324.03 206.081 324.03 QUADTO
-204.206 324.03 203.12 322.959 QUADTO
-202.034 321.889 202.034 320.045 QUADTO
-202.034 318.311 203.026 317.249 QUADTO
-204.018 316.186 205.659 316.186 QUADTO
-207.299 316.186 208.057 317.225 QUADTO
-208.815 318.264 208.815 320.514 QUADTO
-204.159 320.514 lineto
-204.362 322.655 206.518 322.655 QUADTO
-207.534 322.655 208.815 322.186 QUADTO
-208.815 323.608 lineto
-closepath
-204.127 319.374 M
-206.831 319.374 lineto
-206.831 317.452 205.596 317.452 QUADTO
-204.331 317.452 204.127 319.374 QUADTO
-closepath
-210.706 323.624 M
-210.706 322.139 lineto
-212.221 322.764 213.284 322.764 QUADTO
-214.518 322.764 214.518 321.92 QUADTO
-214.518 321.374 213.502 320.952 QUADTO
-212.815 320.686 lineto
-211.706 320.233 211.221 319.717 QUADTO
-210.737 319.202 210.737 318.436 QUADTO
-210.737 317.358 211.557 316.772 QUADTO
-212.377 316.186 213.831 316.186 QUADTO
-214.752 316.186 216.018 316.452 QUADTO
-216.018 317.874 lineto
-214.799 317.452 214.002 317.452 QUADTO
-212.737 317.452 212.737 318.217 QUADTO
-212.737 318.733 213.674 319.092 QUADTO
-214.252 319.311 lineto
-215.581 319.811 216.096 320.327 QUADTO
-216.612 320.842 216.612 321.655 QUADTO
-216.612 322.702 215.729 323.366 QUADTO
-214.846 324.03 213.44 324.03 QUADTO
-212.096 324.03 210.706 323.624 QUADTO
-closepath
-223.439 323.858 M
-223.439 316.358 lineto
-225.455 316.358 lineto
-225.455 323.858 lineto
-223.439 323.858 lineto
-closepath
-223.439 315.092 M
-223.439 313.405 lineto
-225.455 313.405 lineto
-225.455 315.092 lineto
-223.439 315.092 lineto
-closepath
-227.992 323.858 M
-227.992 316.358 lineto
-230.007 316.358 lineto
-230.007 317.764 lineto
-231.007 316.186 232.57 316.186 QUADTO
-233.57 316.186 234.156 316.819 QUADTO
-234.742 317.452 234.742 318.545 QUADTO
-234.742 323.858 lineto
-232.71 323.858 lineto
-232.71 319.045 lineto
-232.71 317.78 231.867 317.78 QUADTO
-230.898 317.78 230.007 319.139 QUADTO
-230.007 323.858 lineto
-227.992 323.858 lineto
-closepath
-239.045 323.858 M
-236.17 316.358 lineto
-238.311 316.358 lineto
-240.405 321.764 lineto
-242.483 316.358 lineto
-243.952 316.358 lineto
-241.061 323.858 lineto
-239.045 323.858 lineto
-closepath
-248.648 324.03 M
-246.882 324.03 245.851 322.967 QUADTO
-244.82 321.905 244.82 320.108 QUADTO
-244.82 318.28 245.859 317.233 QUADTO
-246.898 316.186 248.695 316.186 QUADTO
-250.492 316.186 251.531 317.233 QUADTO
-252.57 318.28 252.57 320.092 QUADTO
-252.57 321.936 251.523 322.983 QUADTO
-250.476 324.03 248.648 324.03 QUADTO
-closepath
-248.679 322.764 M
-250.414 322.764 250.414 320.092 QUADTO
-250.414 318.874 249.953 318.163 QUADTO
-249.492 317.452 248.695 317.452 QUADTO
-247.898 317.452 247.429 318.163 QUADTO
-246.96 318.874 246.96 320.108 QUADTO
-246.96 321.327 247.421 322.045 QUADTO
-247.882 322.764 248.679 322.764 QUADTO
-closepath
-254.433 323.858 M
-254.433 313.061 lineto
-256.449 313.061 lineto
-256.449 323.858 lineto
-254.433 323.858 lineto
-closepath
-260.845 323.858 M
-257.97 316.358 lineto
-260.111 316.358 lineto
-262.205 321.764 lineto
-264.283 316.358 lineto
-265.751 316.358 lineto
-262.861 323.858 lineto
-260.845 323.858 lineto
-closepath
-273.401 323.608 M
-271.963 324.03 270.667 324.03 QUADTO
-268.792 324.03 267.706 322.959 QUADTO
-266.62 321.889 266.62 320.045 QUADTO
-266.62 318.311 267.612 317.249 QUADTO
-268.604 316.186 270.245 316.186 QUADTO
-271.885 316.186 272.643 317.225 QUADTO
-273.401 318.264 273.401 320.514 QUADTO
-268.745 320.514 lineto
-268.948 322.655 271.104 322.655 QUADTO
-272.12 322.655 273.401 322.186 QUADTO
-273.401 323.608 lineto
-closepath
-268.713 319.374 M
-271.417 319.374 lineto
-271.417 317.452 270.182 317.452 QUADTO
-268.917 317.452 268.713 319.374 QUADTO
-closepath
-280.213 323.858 M
-280.213 322.436 lineto
-279.432 324.03 277.76 324.03 QUADTO
-276.417 324.03 275.643 323.038 QUADTO
-274.87 322.045 274.87 320.311 QUADTO
-274.87 318.42 275.737 317.303 QUADTO
-276.604 316.186 278.073 316.186 QUADTO
-279.26 316.186 280.213 317.108 QUADTO
-280.213 313.061 lineto
-282.245 313.061 lineto
-282.245 323.858 lineto
-280.213 323.858 lineto
-closepath
-280.213 318.311 M
-279.479 317.499 278.651 317.499 QUADTO
-277.901 317.499 277.463 318.217 QUADTO
-277.026 318.936 277.026 320.139 QUADTO
-277.026 322.436 278.495 322.436 QUADTO
-279.401 322.436 280.213 321.28 QUADTO
-280.213 318.311 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-65.533 34.247 M
-65.533 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-55.711 289.33 M
-54.367 289.33 53.539 288.064 QUADTO
-52.711 286.798 52.711 284.767 QUADTO
-52.711 282.72 53.547 281.47 QUADTO
-54.383 280.22 55.742 280.22 QUADTO
-57.102 280.22 57.938 281.47 QUADTO
-58.773 282.72 58.773 284.752 QUADTO
-58.773 286.83 57.938 288.08 QUADTO
-57.102 289.33 55.711 289.33 QUADTO
-closepath
-55.727 288.455 M
-57.555 288.455 57.555 284.736 QUADTO
-57.555 281.095 55.742 281.095 QUADTO
-53.945 281.095 53.945 284.767 QUADTO
-53.945 288.455 55.727 288.455 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 284.835 M
-65.533 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-53.398 257.781 M
-53.398 256.75 lineto
-54.273 257.094 55.039 257.094 QUADTO
-55.898 257.094 56.391 256.594 QUADTO
-56.883 256.094 56.883 255.203 QUADTO
-56.883 253.25 54.195 253.25 QUADTO
-53.883 253.25 53.555 253.297 QUADTO
-53.555 249.078 lineto
-57.945 249.078 lineto
-57.945 250.078 lineto
-54.57 250.078 lineto
-54.57 252.375 lineto
-56.242 252.375 57.18 253.141 QUADTO
-58.117 253.906 58.117 255.266 QUADTO
-58.117 256.531 57.258 257.25 QUADTO
-56.398 257.969 54.898 257.969 QUADTO
-54.242 257.969 53.398 257.781 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 253.474 M
-65.533 253.474 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-46.17 226.389 M
-46.17 225.514 lineto
-47.904 225.514 lineto
-47.904 218.671 lineto
-46.17 219.108 lineto
-46.17 218.217 lineto
-49.061 217.499 lineto
-49.061 225.514 lineto
-50.795 225.514 lineto
-50.795 226.389 lineto
-46.17 226.389 lineto
-closepath
-55.711 226.608 M
-54.367 226.608 53.539 225.342 QUADTO
-52.711 224.077 52.711 222.046 QUADTO
-52.711 219.999 53.547 218.749 QUADTO
-54.383 217.499 55.742 217.499 QUADTO
-57.102 217.499 57.938 218.749 QUADTO
-58.773 219.999 58.773 222.03 QUADTO
-58.773 224.108 57.938 225.358 QUADTO
-57.102 226.608 55.711 226.608 QUADTO
-closepath
-55.727 225.733 M
-57.555 225.733 57.555 222.014 QUADTO
-57.555 218.374 55.742 218.374 QUADTO
-53.945 218.374 53.945 222.046 QUADTO
-53.945 225.733 55.727 225.733 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 222.114 M
-65.533 222.114 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-46.17 195.028 M
-46.17 194.153 lineto
-47.904 194.153 lineto
-47.904 187.31 lineto
-46.17 187.747 lineto
-46.17 186.857 lineto
-49.061 186.138 lineto
-49.061 194.153 lineto
-50.795 194.153 lineto
-50.795 195.028 lineto
-46.17 195.028 lineto
-closepath
-53.398 195.06 M
-53.398 194.028 lineto
-54.273 194.372 55.039 194.372 QUADTO
-55.898 194.372 56.391 193.872 QUADTO
-56.883 193.372 56.883 192.482 QUADTO
-56.883 190.528 54.195 190.528 QUADTO
-53.883 190.528 53.555 190.575 QUADTO
-53.555 186.357 lineto
-57.945 186.357 lineto
-57.945 187.357 lineto
-54.57 187.357 lineto
-54.57 189.653 lineto
-56.242 189.653 57.18 190.419 QUADTO
-58.117 191.185 58.117 192.544 QUADTO
-58.117 193.81 57.258 194.528 QUADTO
-56.398 195.247 54.898 195.247 QUADTO
-54.242 195.247 53.398 195.06 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 190.753 M
-65.533 190.753 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.357 163.668 M
-45.357 162.652 lineto
-45.857 161.48 47.389 160.089 QUADTO
-48.061 159.496 lineto
-49.326 158.339 49.326 157.199 QUADTO
-49.326 156.48 48.896 156.066 QUADTO
-48.467 155.652 47.701 155.652 QUADTO
-46.795 155.652 45.576 156.339 QUADTO
-45.576 155.324 lineto
-46.732 154.777 47.857 154.777 QUADTO
-49.076 154.777 49.818 155.433 QUADTO
-50.561 156.089 50.561 157.168 QUADTO
-50.561 157.949 50.186 158.558 QUADTO
-49.811 159.168 48.795 160.027 QUADTO
-48.357 160.402 lineto
-46.967 161.574 46.748 162.652 QUADTO
-50.514 162.652 lineto
-50.514 163.668 lineto
-45.357 163.668 lineto
-closepath
-55.711 163.886 M
-54.367 163.886 53.539 162.621 QUADTO
-52.711 161.355 52.711 159.324 QUADTO
-52.711 157.277 53.547 156.027 QUADTO
-54.383 154.777 55.742 154.777 QUADTO
-57.102 154.777 57.938 156.027 QUADTO
-58.773 157.277 58.773 159.308 QUADTO
-58.773 161.386 57.938 162.636 QUADTO
-57.102 163.886 55.711 163.886 QUADTO
-closepath
-55.727 163.011 M
-57.555 163.011 57.555 159.293 QUADTO
-57.555 155.652 55.742 155.652 QUADTO
-53.945 155.652 53.945 159.324 QUADTO
-53.945 163.011 55.727 163.011 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 159.392 M
-65.533 159.392 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.357 132.307 M
-45.357 131.291 lineto
-45.857 130.119 47.389 128.729 QUADTO
-48.061 128.135 lineto
-49.326 126.979 49.326 125.838 QUADTO
-49.326 125.119 48.896 124.705 QUADTO
-48.467 124.291 47.701 124.291 QUADTO
-46.795 124.291 45.576 124.979 QUADTO
-45.576 123.963 lineto
-46.732 123.416 47.857 123.416 QUADTO
-49.076 123.416 49.818 124.072 QUADTO
-50.561 124.729 50.561 125.807 QUADTO
-50.561 126.588 50.186 127.197 QUADTO
-49.811 127.807 48.795 128.666 QUADTO
-48.357 129.041 lineto
-46.967 130.213 46.748 131.291 QUADTO
-50.514 131.291 lineto
-50.514 132.307 lineto
-45.357 132.307 lineto
-closepath
-53.398 132.338 M
-53.398 131.307 lineto
-54.273 131.65 55.039 131.65 QUADTO
-55.898 131.65 56.391 131.15 QUADTO
-56.883 130.65 56.883 129.76 QUADTO
-56.883 127.807 54.195 127.807 QUADTO
-53.883 127.807 53.555 127.854 QUADTO
-53.555 123.635 lineto
-57.945 123.635 lineto
-57.945 124.635 lineto
-54.57 124.635 lineto
-54.57 126.932 lineto
-56.242 126.932 57.18 127.697 QUADTO
-58.117 128.463 58.117 129.822 QUADTO
-58.117 131.088 57.258 131.807 QUADTO
-56.398 132.525 54.898 132.525 QUADTO
-54.242 132.525 53.398 132.338 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 128.031 M
-65.533 128.031 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.576 100.883 M
-45.576 99.805 lineto
-46.826 100.29 47.529 100.29 QUADTO
-48.357 100.29 48.881 99.805 QUADTO
-49.404 99.321 49.404 98.555 QUADTO
-49.404 96.727 46.842 96.727 QUADTO
-46.373 96.727 lineto
-46.373 95.946 lineto
-46.779 95.946 lineto
-49.186 95.946 49.186 94.258 QUADTO
-49.186 92.93 47.607 92.93 QUADTO
-46.732 92.93 45.701 93.415 QUADTO
-45.701 92.399 lineto
-46.717 92.055 47.686 92.055 QUADTO
-50.342 92.055 50.342 94.071 QUADTO
-50.342 95.602 48.529 96.243 QUADTO
-50.639 96.727 50.639 98.54 QUADTO
-50.639 99.774 49.826 100.469 QUADTO
-49.014 101.165 47.607 101.165 QUADTO
-46.795 101.165 45.576 100.883 QUADTO
-closepath
-55.711 101.165 M
-54.367 101.165 53.539 99.899 QUADTO
-52.711 98.633 52.711 96.602 QUADTO
-52.711 94.555 53.547 93.305 QUADTO
-54.383 92.055 55.742 92.055 QUADTO
-57.102 92.055 57.938 93.305 QUADTO
-58.773 94.555 58.773 96.586 QUADTO
-58.773 98.665 57.938 99.915 QUADTO
-57.102 101.165 55.711 101.165 QUADTO
-closepath
-55.727 100.29 M
-57.555 100.29 57.555 96.571 QUADTO
-57.555 92.93 55.742 92.93 QUADTO
-53.945 92.93 53.945 96.602 QUADTO
-53.945 100.29 55.727 100.29 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 96.67 M
-65.533 96.67 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.576 69.523 M
-45.576 68.444 lineto
-46.826 68.929 47.529 68.929 QUADTO
-48.357 68.929 48.881 68.444 QUADTO
-49.404 67.96 49.404 67.194 QUADTO
-49.404 65.366 46.842 65.366 QUADTO
-46.373 65.366 lineto
-46.373 64.585 lineto
-46.779 64.585 lineto
-49.186 64.585 49.186 62.898 QUADTO
-49.186 61.569 47.607 61.569 QUADTO
-46.732 61.569 45.701 62.054 QUADTO
-45.701 61.038 lineto
-46.717 60.694 47.686 60.694 QUADTO
-50.342 60.694 50.342 62.71 QUADTO
-50.342 64.241 48.529 64.882 QUADTO
-50.639 65.366 50.639 67.179 QUADTO
-50.639 68.413 49.826 69.108 QUADTO
-49.014 69.804 47.607 69.804 QUADTO
-46.795 69.804 45.576 69.523 QUADTO
-closepath
-53.398 69.616 M
-53.398 68.585 lineto
-54.273 68.929 55.039 68.929 QUADTO
-55.898 68.929 56.391 68.429 QUADTO
-56.883 67.929 56.883 67.038 QUADTO
-56.883 65.085 54.195 65.085 QUADTO
-53.883 65.085 53.555 65.132 QUADTO
-53.555 60.913 lineto
-57.945 60.913 lineto
-57.945 61.913 lineto
-54.57 61.913 lineto
-54.57 64.21 lineto
-56.242 64.21 57.18 64.976 QUADTO
-58.117 65.741 58.117 67.101 QUADTO
-58.117 68.366 57.258 69.085 QUADTO
-56.398 69.804 54.898 69.804 QUADTO
-54.242 69.804 53.398 69.616 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 65.309 M
-65.533 65.309 lineto
-stroke
-grestore
-gsave
-[0 -1 1 0 -128.66988 190.41209] concat
-newpath
-190.412 128.67 M
-190.412 528.67 lineto
--209.588 528.67 lineto
--209.588 128.67 lineto
-190.412 128.67 lineto
-closepath
-clip
-0.251 setgray
-newpath
--24.448 164.529 M
--24.448 153.732 lineto
--22.432 153.732 lineto
--22.432 164.529 lineto
--24.448 164.529 lineto
-closepath
--16.739 164.701 M
--18.504 164.701 -19.536 163.639 QUADTO
--20.567 162.576 -20.567 160.779 QUADTO
--20.567 158.951 -19.528 157.904 QUADTO
--18.489 156.857 -16.692 156.857 QUADTO
--14.895 156.857 -13.856 157.904 QUADTO
--12.817 158.951 -12.817 160.764 QUADTO
--12.817 162.607 -13.864 163.654 QUADTO
--14.911 164.701 -16.739 164.701 QUADTO
-closepath
--16.708 163.435 M
--14.973 163.435 -14.973 160.764 QUADTO
--14.973 159.545 -15.434 158.834 QUADTO
--15.895 158.123 -16.692 158.123 QUADTO
--17.489 158.123 -17.958 158.834 QUADTO
--18.426 159.545 -18.426 160.779 QUADTO
--18.426 161.998 -17.965 162.717 QUADTO
--17.504 163.435 -16.708 163.435 QUADTO
-closepath
--7.282 163.717 M
--8.282 164.701 -9.438 164.701 QUADTO
--10.422 164.701 -11.04 164.1 QUADTO
--11.657 163.498 -11.657 162.545 QUADTO
--11.657 161.295 -10.665 160.623 QUADTO
--9.672 159.951 -7.813 159.951 QUADTO
--7.282 159.951 lineto
--7.282 159.264 lineto
--7.282 158.092 -8.61 158.092 QUADTO
--9.797 158.092 -11 158.764 QUADTO
--11 157.373 lineto
--9.625 156.857 -8.282 156.857 QUADTO
--5.329 156.857 -5.329 159.201 QUADTO
--5.329 162.514 lineto
--5.329 163.404 -4.766 163.404 QUADTO
--4.672 163.404 -4.5 163.373 QUADTO
--4.454 164.514 lineto
--5.094 164.701 -5.594 164.701 QUADTO
--6.829 164.701 -7.188 163.717 QUADTO
--7.282 163.717 lineto
-closepath
--7.282 162.639 M
--7.282 161.107 lineto
--7.75 161.107 lineto
--9.719 161.107 -9.719 162.342 QUADTO
--9.719 162.764 -9.438 163.045 QUADTO
--9.157 163.326 -8.735 163.326 QUADTO
--8.016 163.326 -7.282 162.639 QUADTO
-closepath
-1.996 164.529 M
-1.996 163.107 lineto
-1.214 164.701 -0.458 164.701 QUADTO
--1.801 164.701 -2.575 163.709 QUADTO
--3.348 162.717 -3.348 160.982 QUADTO
--3.348 159.092 -2.481 157.975 QUADTO
--1.614 156.857 -0.145 156.857 QUADTO
-1.042 156.857 1.996 157.779 QUADTO
-1.996 153.732 lineto
-4.027 153.732 lineto
-4.027 164.529 lineto
-1.996 164.529 lineto
-closepath
-1.996 158.982 M
-1.261 158.17 0.433 158.17 QUADTO
--0.317 158.17 -0.754 158.889 QUADTO
--1.192 159.607 -1.192 160.81 QUADTO
--1.192 163.107 0.277 163.107 QUADTO
-1.183 163.107 1.996 161.951 QUADTO
-1.996 158.982 lineto
-closepath
-11.386 164.529 M
-11.386 158.295 lineto
-10.339 158.295 lineto
-10.339 157.029 lineto
-11.386 157.029 lineto
-11.386 156.482 lineto
-11.386 153.56 14.152 153.56 QUADTO
-15.042 153.56 15.996 153.826 QUADTO
-15.996 155.185 lineto
-15.136 154.826 14.449 154.826 QUADTO
-13.402 154.826 13.402 156.404 QUADTO
-13.402 157.029 lineto
-15.308 157.029 lineto
-15.308 158.295 lineto
-13.402 158.295 lineto
-13.402 164.529 lineto
-11.386 164.529 lineto
-closepath
-16.971 164.529 M
-16.971 157.029 lineto
-18.987 157.029 lineto
-18.987 158.435 lineto
-19.784 156.857 21.393 156.857 QUADTO
-21.581 156.857 21.768 156.889 QUADTO
-21.768 158.701 lineto
-21.331 158.545 20.956 158.545 QUADTO
-19.752 158.545 18.987 159.764 QUADTO
-18.987 164.529 lineto
-16.971 164.529 lineto
-closepath
-27.007 163.717 M
-26.007 164.701 24.851 164.701 QUADTO
-23.867 164.701 23.25 164.1 QUADTO
-22.632 163.498 22.632 162.545 QUADTO
-22.632 161.295 23.625 160.623 QUADTO
-24.617 159.951 26.476 159.951 QUADTO
-27.007 159.951 lineto
-27.007 159.264 lineto
-27.007 158.092 25.679 158.092 QUADTO
-24.492 158.092 23.289 158.764 QUADTO
-23.289 157.373 lineto
-24.664 156.857 26.007 156.857 QUADTO
-28.96 156.857 28.96 159.201 QUADTO
-28.96 162.514 lineto
-28.96 163.404 29.523 163.404 QUADTO
-29.617 163.404 29.789 163.373 QUADTO
-29.835 164.514 lineto
-29.195 164.701 28.695 164.701 QUADTO
-27.46 164.701 27.101 163.717 QUADTO
-27.007 163.717 lineto
-closepath
-27.007 162.639 M
-27.007 161.107 lineto
-26.539 161.107 lineto
-24.57 161.107 24.57 162.342 QUADTO
-24.57 162.764 24.851 163.045 QUADTO
-25.132 163.326 25.554 163.326 QUADTO
-26.273 163.326 27.007 162.639 QUADTO
-closepath
-37.097 164.357 M
-35.847 164.701 34.769 164.701 QUADTO
-32.972 164.701 31.933 163.646 QUADTO
-30.894 162.592 30.894 160.764 QUADTO
-30.894 158.935 31.964 157.896 QUADTO
-33.035 156.857 34.925 156.857 QUADTO
-35.847 156.857 37.035 157.139 QUADTO
-37.035 158.607 lineto
-35.8 158.201 35.05 158.201 QUADTO
-34.144 158.201 33.589 158.904 QUADTO
-33.035 159.607 33.035 160.748 QUADTO
-33.035 161.935 33.636 162.646 QUADTO
-34.238 163.357 35.222 163.357 QUADTO
-36.144 163.357 37.097 162.967 QUADTO
-37.097 164.357 lineto
-closepath
-42.892 164.482 M
-42.158 164.701 41.751 164.701 QUADTO
-39.111 164.701 39.111 162.232 QUADTO
-39.111 158.295 lineto
-38.267 158.295 lineto
-38.267 157.029 lineto
-39.111 157.029 lineto
-39.111 155.764 lineto
-41.142 155.529 lineto
-41.142 157.029 lineto
-42.736 157.029 lineto
-42.736 158.295 lineto
-41.142 158.295 lineto
-41.142 161.967 lineto
-41.142 163.357 42.267 163.357 QUADTO
-42.517 163.357 42.892 163.264 QUADTO
-42.892 164.482 lineto
-closepath
-44.691 164.529 M
-44.691 157.029 lineto
-46.707 157.029 lineto
-46.707 164.529 lineto
-44.691 164.529 lineto
-closepath
-44.691 155.764 M
-44.691 154.076 lineto
-46.707 154.076 lineto
-46.707 155.764 lineto
-44.691 155.764 lineto
-closepath
-52.4 164.701 M
-50.634 164.701 49.603 163.639 QUADTO
-48.572 162.576 48.572 160.779 QUADTO
-48.572 158.951 49.611 157.904 QUADTO
-50.65 156.857 52.447 156.857 QUADTO
-54.244 156.857 55.283 157.904 QUADTO
-56.322 158.951 56.322 160.764 QUADTO
-56.322 162.607 55.275 163.654 QUADTO
-54.228 164.701 52.4 164.701 QUADTO
-closepath
-52.431 163.435 M
-54.166 163.435 54.166 160.764 QUADTO
-54.166 159.545 53.705 158.834 QUADTO
-53.244 158.123 52.447 158.123 QUADTO
-51.65 158.123 51.181 158.834 QUADTO
-50.712 159.545 50.712 160.779 QUADTO
-50.712 161.998 51.173 162.717 QUADTO
-51.634 163.435 52.431 163.435 QUADTO
-closepath
-58.185 164.529 M
-58.185 157.029 lineto
-60.201 157.029 lineto
-60.201 158.435 lineto
-61.201 156.857 62.763 156.857 QUADTO
-63.763 156.857 64.349 157.49 QUADTO
-64.935 158.123 64.935 159.217 QUADTO
-64.935 164.529 lineto
-62.904 164.529 lineto
-62.904 159.717 lineto
-62.904 158.451 62.06 158.451 QUADTO
-61.091 158.451 60.201 159.81 QUADTO
-60.201 164.529 lineto
-58.185 164.529 lineto
-closepath
-70.629 153.654 M
-70.629 154.951 lineto
-68.801 156.795 68.801 160.139 QUADTO
-68.801 163.498 70.629 165.326 QUADTO
-70.629 166.639 lineto
-68.958 165.732 67.958 163.959 QUADTO
-66.958 162.185 66.958 160.139 QUADTO
-66.958 158.092 67.942 156.342 QUADTO
-68.926 154.592 70.629 153.654 QUADTO
-closepath
-72.13 164.779 M
-80.084 154.154 lineto
-81.443 154.154 lineto
-73.49 164.779 lineto
-72.13 164.779 lineto
-closepath
-73.849 159.467 M
-72.755 159.467 72.115 158.787 QUADTO
-71.474 158.107 71.474 156.935 QUADTO
-71.474 155.764 72.115 155.084 QUADTO
-72.755 154.404 73.88 154.404 QUADTO
-74.99 154.404 75.638 155.084 QUADTO
-76.287 155.764 76.287 156.935 QUADTO
-76.287 158.123 75.638 158.795 QUADTO
-74.99 159.467 73.849 159.467 QUADTO
-closepath
-73.865 158.451 M
-74.755 158.451 74.755 156.935 QUADTO
-74.755 155.42 73.88 155.42 QUADTO
-72.99 155.42 72.99 156.935 QUADTO
-72.99 158.451 73.865 158.451 QUADTO
-closepath
-79.677 164.529 M
-78.568 164.529 77.927 163.85 QUADTO
-77.287 163.17 77.287 161.998 QUADTO
-77.287 160.81 77.935 160.139 QUADTO
-78.584 159.467 79.693 159.467 QUADTO
-80.818 159.467 81.459 160.139 QUADTO
-82.099 160.81 82.099 161.998 QUADTO
-82.099 163.185 81.459 163.857 QUADTO
-80.818 164.529 79.677 164.529 QUADTO
-closepath
-79.677 163.514 M
-80.584 163.514 80.584 161.998 QUADTO
-80.584 160.482 79.693 160.482 QUADTO
-78.802 160.482 78.802 161.998 QUADTO
-78.802 163.514 79.677 163.514 QUADTO
-closepath
-82.751 153.654 M
-82.751 154.951 lineto
-84.58 156.795 84.58 160.139 QUADTO
-84.58 163.498 82.751 165.326 QUADTO
-82.751 166.639 lineto
-84.423 165.732 85.423 163.959 QUADTO
-86.423 162.185 86.423 160.139 QUADTO
-86.423 158.092 85.439 156.342 QUADTO
-84.455 154.592 82.751 153.654 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-127.86 34.247 M
-127.86 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-186.188 34.247 M
-186.188 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-244.515 34.247 M
-244.515 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-302.842 34.247 M
-302.842 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-361.169 34.247 M
-361.169 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 284.835 M
-388 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 253.474 M
-388 253.474 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 222.114 M
-388 222.114 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 190.753 M
-388 190.753 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 159.392 M
-388 159.392 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 128.031 M
-388 128.031 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 96.67 M
-388 96.67 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 65.309 M
-388 65.309 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.533 133.399 M
-81.199 225.551 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-81.199 225.551 M
-92.864 235.662 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-92.864 235.662 M
-104.53 239.812 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-104.53 239.812 M
-116.195 244.196 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-116.195 244.196 M
-127.86 247.974 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-127.86 247.974 M
-139.526 250.37 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-139.526 250.37 M
-151.191 252.77 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-151.191 252.77 M
-162.857 255.452 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-162.857 255.452 M
-174.522 257.641 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-174.522 257.641 M
-186.188 259.241 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-186.188 259.241 M
-197.853 261.667 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-197.853 261.667 M
-209.519 263.913 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-209.519 263.913 M
-221.184 266.414 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-221.184 266.414 M
-232.85 268.655 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-232.85 268.655 M
-244.515 272.808 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-244.515 272.808 M
-256.18 284.118 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-256.18 284.118 M
-267.846 284.118 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-267.846 284.118 M
-279.511 284.118 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-279.511 284.118 M
-291.177 284.298 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-291.177 284.298 M
-302.842 284.298 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-302.842 284.298 M
-314.508 284.387 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-314.508 284.387 M
-326.173 284.387 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-326.173 284.387 M
-337.839 284.387 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-337.839 284.387 M
-349.504 284.387 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-349.504 284.387 M
-361.169 284.477 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.533 144.564 M
-81.199 231.035 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-81.199 231.035 M
-92.864 240.592 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-92.864 240.592 M
-104.53 243.854 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-104.53 243.854 M
-116.195 246.036 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-116.195 246.036 M
-127.86 249.53 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-127.86 249.53 M
-139.526 252.688 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-139.526 252.688 M
-151.191 254.261 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-151.191 254.261 M
-162.857 256.478 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-162.857 256.478 M
-174.522 257.925 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-174.522 257.925 M
-186.188 258.945 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-186.188 258.945 M
-197.853 260.447 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-197.853 260.447 M
-209.519 262.09 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-209.519 262.09 M
-221.184 263.612 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-221.184 263.612 M
-232.85 265.47 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-232.85 265.47 M
-244.515 267.233 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-244.515 267.233 M
-256.18 281.871 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-256.18 281.871 M
-267.846 282.053 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-267.846 282.053 M
-279.511 282.13 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-279.511 282.13 M
-291.177 282.185 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-291.177 282.185 M
-302.842 282.331 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-302.842 282.331 M
-314.508 282.42 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-314.508 282.42 M
-326.173 282.476 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-326.173 282.476 M
-337.839 282.642 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-337.839 282.642 M
-349.504 282.852 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-349.504 282.852 M
-361.169 283.724 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-361.169 283.724 M
-372.835 283.891 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.533 46.179 M
-81.199 77.405 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-81.199 77.405 M
-92.864 125.198 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-92.864 125.198 M
-104.53 276.317 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-104.53 276.317 M
-116.195 277.674 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-116.195 277.674 M
-127.86 279.021 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.533 103.375 M
-81.199 115.127 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-81.199 115.127 M
-92.864 134.77 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-92.864 134.77 M
-104.53 222.917 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-104.53 222.917 M
-116.195 228.133 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-116.195 228.133 M
-127.86 277.473 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.533 130.864 M
-81.199 143.311 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-81.199 143.311 M
-92.864 162.041 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-92.864 162.041 M
-104.53 180.969 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-104.53 180.969 M
-116.195 221.612 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-116.195 221.612 M
-127.86 242.998 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.533 142.374 M
-81.199 147.749 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-81.199 147.749 M
-92.864 160.25 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-92.864 160.25 M
-104.53 167.016 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-104.53 167.016 M
-116.195 229.962 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-116.195 229.962 M
-127.86 234.444 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-66.533 130.399 M
-72.533 130.399 lineto
-69.533 136.399 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.533 130.399 M
-72.533 130.399 lineto
-69.533 136.399 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-78.199 222.551 M
-84.199 222.551 lineto
-81.199 228.551 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-78.199 222.551 M
-84.199 222.551 lineto
-81.199 228.551 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-89.864 232.662 M
-95.864 232.662 lineto
-92.864 238.662 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-89.864 232.662 M
-95.864 232.662 lineto
-92.864 238.662 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-101.53 236.812 M
-107.53 236.812 lineto
-104.53 242.812 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-101.53 236.812 M
-107.53 236.812 lineto
-104.53 242.812 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-113.195 241.196 M
-119.195 241.196 lineto
-116.195 247.196 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-113.195 241.196 M
-119.195 241.196 lineto
-116.195 247.196 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-124.86 244.974 M
-130.86 244.974 lineto
-127.86 250.974 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.86 244.974 M
-130.86 244.974 lineto
-127.86 250.974 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-136.526 247.37 M
-142.526 247.37 lineto
-139.526 253.37 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-136.526 247.37 M
-142.526 247.37 lineto
-139.526 253.37 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-148.191 249.77 M
-154.191 249.77 lineto
-151.191 255.77 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-148.191 249.77 M
-154.191 249.77 lineto
-151.191 255.77 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-159.857 252.452 M
-165.857 252.452 lineto
-162.857 258.452 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-159.857 252.452 M
-165.857 252.452 lineto
-162.857 258.452 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-171.522 254.641 M
-177.522 254.641 lineto
-174.522 260.641 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-171.522 254.641 M
-177.522 254.641 lineto
-174.522 260.641 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-183.188 256.241 M
-189.188 256.241 lineto
-186.188 262.241 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-183.188 256.241 M
-189.188 256.241 lineto
-186.188 262.241 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-194.853 258.667 M
-200.853 258.667 lineto
-197.853 264.667 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-194.853 258.667 M
-200.853 258.667 lineto
-197.853 264.667 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-206.519 260.913 M
-212.519 260.913 lineto
-209.519 266.913 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-206.519 260.913 M
-212.519 260.913 lineto
-209.519 266.913 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-218.184 263.414 M
-224.184 263.414 lineto
-221.184 269.414 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-218.184 263.414 M
-224.184 263.414 lineto
-221.184 269.414 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-229.85 265.655 M
-235.85 265.655 lineto
-232.85 271.655 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-229.85 265.655 M
-235.85 265.655 lineto
-232.85 271.655 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-241.515 269.808 M
-247.515 269.808 lineto
-244.515 275.808 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-241.515 269.808 M
-247.515 269.808 lineto
-244.515 275.808 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-253.18 281.118 M
-259.18 281.118 lineto
-256.18 287.118 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-253.18 281.118 M
-259.18 281.118 lineto
-256.18 287.118 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-264.846 281.118 M
-270.846 281.118 lineto
-267.846 287.118 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-264.846 281.118 M
-270.846 281.118 lineto
-267.846 287.118 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-276.511 281.118 M
-282.511 281.118 lineto
-279.511 287.118 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-276.511 281.118 M
-282.511 281.118 lineto
-279.511 287.118 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-288.177 281.298 M
-294.177 281.298 lineto
-291.177 287.298 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-288.177 281.298 M
-294.177 281.298 lineto
-291.177 287.298 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-299.842 281.298 M
-305.842 281.298 lineto
-302.842 287.298 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-299.842 281.298 M
-305.842 281.298 lineto
-302.842 287.298 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-311.508 281.387 M
-317.508 281.387 lineto
-314.508 287.387 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-311.508 281.387 M
-317.508 281.387 lineto
-314.508 287.387 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-323.173 281.387 M
-329.173 281.387 lineto
-326.173 287.387 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-323.173 281.387 M
-329.173 281.387 lineto
-326.173 287.387 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-334.839 281.387 M
-340.839 281.387 lineto
-337.839 287.387 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-334.839 281.387 M
-340.839 281.387 lineto
-337.839 287.387 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-346.504 281.387 M
-352.504 281.387 lineto
-349.504 287.387 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-346.504 281.387 M
-352.504 281.387 lineto
-349.504 287.387 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-358.169 281.477 M
-364.169 281.477 lineto
-361.169 287.477 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-358.169 281.477 M
-364.169 281.477 lineto
-361.169 287.477 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-66.533 143.064 M
-72.533 143.064 lineto
-72.533 146.064 lineto
-66.533 146.064 lineto
-66.533 143.064 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.533 143.064 M
-72.533 143.064 lineto
-72.533 146.064 lineto
-66.533 146.064 lineto
-66.533 143.064 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-78.199 229.535 M
-84.199 229.535 lineto
-84.199 232.535 lineto
-78.199 232.535 lineto
-78.199 229.535 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-78.199 229.535 M
-84.199 229.535 lineto
-84.199 232.535 lineto
-78.199 232.535 lineto
-78.199 229.535 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-89.864 239.092 M
-95.864 239.092 lineto
-95.864 242.092 lineto
-89.864 242.092 lineto
-89.864 239.092 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-89.864 239.092 M
-95.864 239.092 lineto
-95.864 242.092 lineto
-89.864 242.092 lineto
-89.864 239.092 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-101.53 242.354 M
-107.53 242.354 lineto
-107.53 245.354 lineto
-101.53 245.354 lineto
-101.53 242.354 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-101.53 242.354 M
-107.53 242.354 lineto
-107.53 245.354 lineto
-101.53 245.354 lineto
-101.53 242.354 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-113.195 244.536 M
-119.195 244.536 lineto
-119.195 247.536 lineto
-113.195 247.536 lineto
-113.195 244.536 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-113.195 244.536 M
-119.195 244.536 lineto
-119.195 247.536 lineto
-113.195 247.536 lineto
-113.195 244.536 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-124.86 248.03 M
-130.86 248.03 lineto
-130.86 251.03 lineto
-124.86 251.03 lineto
-124.86 248.03 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.86 248.03 M
-130.86 248.03 lineto
-130.86 251.03 lineto
-124.86 251.03 lineto
-124.86 248.03 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-136.526 251.188 M
-142.526 251.188 lineto
-142.526 254.188 lineto
-136.526 254.188 lineto
-136.526 251.188 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-136.526 251.188 M
-142.526 251.188 lineto
-142.526 254.188 lineto
-136.526 254.188 lineto
-136.526 251.188 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-148.191 252.761 M
-154.191 252.761 lineto
-154.191 255.761 lineto
-148.191 255.761 lineto
-148.191 252.761 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-148.191 252.761 M
-154.191 252.761 lineto
-154.191 255.761 lineto
-148.191 255.761 lineto
-148.191 252.761 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-159.857 254.978 M
-165.857 254.978 lineto
-165.857 257.978 lineto
-159.857 257.978 lineto
-159.857 254.978 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-159.857 254.978 M
-165.857 254.978 lineto
-165.857 257.978 lineto
-159.857 257.978 lineto
-159.857 254.978 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-171.522 256.425 M
-177.522 256.425 lineto
-177.522 259.425 lineto
-171.522 259.425 lineto
-171.522 256.425 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-171.522 256.425 M
-177.522 256.425 lineto
-177.522 259.425 lineto
-171.522 259.425 lineto
-171.522 256.425 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-183.188 257.445 M
-189.188 257.445 lineto
-189.188 260.445 lineto
-183.188 260.445 lineto
-183.188 257.445 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-183.188 257.445 M
-189.188 257.445 lineto
-189.188 260.445 lineto
-183.188 260.445 lineto
-183.188 257.445 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-194.853 258.947 M
-200.853 258.947 lineto
-200.853 261.947 lineto
-194.853 261.947 lineto
-194.853 258.947 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-194.853 258.947 M
-200.853 258.947 lineto
-200.853 261.947 lineto
-194.853 261.947 lineto
-194.853 258.947 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-206.519 260.59 M
-212.519 260.59 lineto
-212.519 263.59 lineto
-206.519 263.59 lineto
-206.519 260.59 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-206.519 260.59 M
-212.519 260.59 lineto
-212.519 263.59 lineto
-206.519 263.59 lineto
-206.519 260.59 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-218.184 262.112 M
-224.184 262.112 lineto
-224.184 265.112 lineto
-218.184 265.112 lineto
-218.184 262.112 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-218.184 262.112 M
-224.184 262.112 lineto
-224.184 265.112 lineto
-218.184 265.112 lineto
-218.184 262.112 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-229.85 263.97 M
-235.85 263.97 lineto
-235.85 266.97 lineto
-229.85 266.97 lineto
-229.85 263.97 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-229.85 263.97 M
-235.85 263.97 lineto
-235.85 266.97 lineto
-229.85 266.97 lineto
-229.85 263.97 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-241.515 265.733 M
-247.515 265.733 lineto
-247.515 268.733 lineto
-241.515 268.733 lineto
-241.515 265.733 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-241.515 265.733 M
-247.515 265.733 lineto
-247.515 268.733 lineto
-241.515 268.733 lineto
-241.515 265.733 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-253.18 280.371 M
-259.18 280.371 lineto
-259.18 283.371 lineto
-253.18 283.371 lineto
-253.18 280.371 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-253.18 280.371 M
-259.18 280.371 lineto
-259.18 283.371 lineto
-253.18 283.371 lineto
-253.18 280.371 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-264.846 280.553 M
-270.846 280.553 lineto
-270.846 283.553 lineto
-264.846 283.553 lineto
-264.846 280.553 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-264.846 280.553 M
-270.846 280.553 lineto
-270.846 283.553 lineto
-264.846 283.553 lineto
-264.846 280.553 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-276.511 280.63 M
-282.511 280.63 lineto
-282.511 283.63 lineto
-276.511 283.63 lineto
-276.511 280.63 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-276.511 280.63 M
-282.511 280.63 lineto
-282.511 283.63 lineto
-276.511 283.63 lineto
-276.511 280.63 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-288.177 280.685 M
-294.177 280.685 lineto
-294.177 283.685 lineto
-288.177 283.685 lineto
-288.177 280.685 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-288.177 280.685 M
-294.177 280.685 lineto
-294.177 283.685 lineto
-288.177 283.685 lineto
-288.177 280.685 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-299.842 280.831 M
-305.842 280.831 lineto
-305.842 283.831 lineto
-299.842 283.831 lineto
-299.842 280.831 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-299.842 280.831 M
-305.842 280.831 lineto
-305.842 283.831 lineto
-299.842 283.831 lineto
-299.842 280.831 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-311.508 280.92 M
-317.508 280.92 lineto
-317.508 283.92 lineto
-311.508 283.92 lineto
-311.508 280.92 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-311.508 280.92 M
-317.508 280.92 lineto
-317.508 283.92 lineto
-311.508 283.92 lineto
-311.508 280.92 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-323.173 280.976 M
-329.173 280.976 lineto
-329.173 283.976 lineto
-323.173 283.976 lineto
-323.173 280.976 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-323.173 280.976 M
-329.173 280.976 lineto
-329.173 283.976 lineto
-323.173 283.976 lineto
-323.173 280.976 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-334.839 281.142 M
-340.839 281.142 lineto
-340.839 284.142 lineto
-334.839 284.142 lineto
-334.839 281.142 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-334.839 281.142 M
-340.839 281.142 lineto
-340.839 284.142 lineto
-334.839 284.142 lineto
-334.839 281.142 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-346.504 281.352 M
-352.504 281.352 lineto
-352.504 284.352 lineto
-346.504 284.352 lineto
-346.504 281.352 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-346.504 281.352 M
-352.504 281.352 lineto
-352.504 284.352 lineto
-346.504 284.352 lineto
-346.504 281.352 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-358.169 282.224 M
-364.169 282.224 lineto
-364.169 285.224 lineto
-358.169 285.224 lineto
-358.169 282.224 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-358.169 282.224 M
-364.169 282.224 lineto
-364.169 285.224 lineto
-358.169 285.224 lineto
-358.169 282.224 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-369.835 282.391 M
-375.835 282.391 lineto
-375.835 285.391 lineto
-369.835 285.391 lineto
-369.835 282.391 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-369.835 282.391 M
-375.835 282.391 lineto
-375.835 285.391 lineto
-369.835 285.391 lineto
-369.835 282.391 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-69.533 43.179 M
-72.533 46.179 lineto
-69.533 49.179 lineto
-66.533 46.179 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.533 43.179 M
-72.533 46.179 lineto
-69.533 49.179 lineto
-66.533 46.179 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-81.199 74.405 M
-84.199 77.405 lineto
-81.199 80.405 lineto
-78.199 77.405 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-81.199 74.405 M
-84.199 77.405 lineto
-81.199 80.405 lineto
-78.199 77.405 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-92.864 122.198 M
-95.864 125.198 lineto
-92.864 128.198 lineto
-89.864 125.198 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-92.864 122.198 M
-95.864 125.198 lineto
-92.864 128.198 lineto
-89.864 125.198 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-104.53 273.317 M
-107.53 276.317 lineto
-104.53 279.317 lineto
-101.53 276.317 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-104.53 273.317 M
-107.53 276.317 lineto
-104.53 279.317 lineto
-101.53 276.317 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-116.195 274.674 M
-119.195 277.674 lineto
-116.195 280.674 lineto
-113.195 277.674 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-116.195 274.674 M
-119.195 277.674 lineto
-116.195 280.674 lineto
-113.195 277.674 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-127.86 276.021 M
-130.86 279.021 lineto
-127.86 282.021 lineto
-124.86 279.021 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.86 276.021 M
-130.86 279.021 lineto
-127.86 282.021 lineto
-124.86 279.021 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-69.533 100.375 M
-72.533 106.375 lineto
-66.533 106.375 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.533 100.375 M
-72.533 106.375 lineto
-66.533 106.375 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-81.199 112.127 M
-84.199 118.127 lineto
-78.199 118.127 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-81.199 112.127 M
-84.199 118.127 lineto
-78.199 118.127 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-92.864 131.77 M
-95.864 137.77 lineto
-89.864 137.77 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-92.864 131.77 M
-95.864 137.77 lineto
-89.864 137.77 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-104.53 219.917 M
-107.53 225.917 lineto
-101.53 225.917 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-104.53 219.917 M
-107.53 225.917 lineto
-101.53 225.917 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-116.195 225.133 M
-119.195 231.133 lineto
-113.195 231.133 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-116.195 225.133 M
-119.195 231.133 lineto
-113.195 231.133 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-127.86 274.473 M
-130.86 280.473 lineto
-124.86 280.473 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.86 274.473 M
-130.86 280.473 lineto
-124.86 280.473 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-72.533 130.864 M
-72.533 132.521 71.19 133.864 69.533 133.864 curveto
-67.876 133.864 66.533 132.521 66.533 130.864 curveto
-66.533 129.207 67.876 127.864 69.533 127.864 curveto
-71.19 127.864 72.533 129.207 72.533 130.864 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.533 130.864 M
-72.533 132.521 71.19 133.864 69.533 133.864 curveto
-67.876 133.864 66.533 132.521 66.533 130.864 curveto
-66.533 129.207 67.876 127.864 69.533 127.864 curveto
-71.19 127.864 72.533 129.207 72.533 130.864 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-84.199 143.311 M
-84.199 144.968 82.856 146.311 81.199 146.311 curveto
-79.542 146.311 78.199 144.968 78.199 143.311 curveto
-78.199 141.655 79.542 140.311 81.199 140.311 curveto
-82.856 140.311 84.199 141.655 84.199 143.311 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-84.199 143.311 M
-84.199 144.968 82.856 146.311 81.199 146.311 curveto
-79.542 146.311 78.199 144.968 78.199 143.311 curveto
-78.199 141.655 79.542 140.311 81.199 140.311 curveto
-82.856 140.311 84.199 141.655 84.199 143.311 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-95.864 162.041 M
-95.864 163.697 94.521 165.041 92.864 165.041 curveto
-91.207 165.041 89.864 163.697 89.864 162.041 curveto
-89.864 160.384 91.207 159.041 92.864 159.041 curveto
-94.521 159.041 95.864 160.384 95.864 162.041 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-95.864 162.041 M
-95.864 163.697 94.521 165.041 92.864 165.041 curveto
-91.207 165.041 89.864 163.697 89.864 162.041 curveto
-89.864 160.384 91.207 159.041 92.864 159.041 curveto
-94.521 159.041 95.864 160.384 95.864 162.041 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-107.53 180.969 M
-107.53 182.626 106.186 183.969 104.53 183.969 curveto
-102.873 183.969 101.53 182.626 101.53 180.969 curveto
-101.53 179.313 102.873 177.969 104.53 177.969 curveto
-106.186 177.969 107.53 179.313 107.53 180.969 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-107.53 180.969 M
-107.53 182.626 106.186 183.969 104.53 183.969 curveto
-102.873 183.969 101.53 182.626 101.53 180.969 curveto
-101.53 179.313 102.873 177.969 104.53 177.969 curveto
-106.186 177.969 107.53 179.313 107.53 180.969 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-119.195 221.612 M
-119.195 223.269 117.852 224.612 116.195 224.612 curveto
-114.538 224.612 113.195 223.269 113.195 221.612 curveto
-113.195 219.955 114.538 218.612 116.195 218.612 curveto
-117.852 218.612 119.195 219.955 119.195 221.612 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-119.195 221.612 M
-119.195 223.269 117.852 224.612 116.195 224.612 curveto
-114.538 224.612 113.195 223.269 113.195 221.612 curveto
-113.195 219.955 114.538 218.612 116.195 218.612 curveto
-117.852 218.612 119.195 219.955 119.195 221.612 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-130.86 242.998 M
-130.86 244.654 129.517 245.998 127.86 245.998 curveto
-126.204 245.998 124.86 244.654 124.86 242.998 curveto
-124.86 241.341 126.204 239.998 127.86 239.998 curveto
-129.517 239.998 130.86 241.341 130.86 242.998 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.86 242.998 M
-130.86 244.654 129.517 245.998 127.86 245.998 curveto
-126.204 245.998 124.86 244.654 124.86 242.998 curveto
-124.86 241.341 126.204 239.998 127.86 239.998 curveto
-129.517 239.998 130.86 241.341 130.86 242.998 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-66.533 139.374 M
-72.533 139.374 lineto
-72.533 145.374 lineto
-66.533 145.374 lineto
-66.533 139.374 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.533 139.374 M
-72.533 139.374 lineto
-72.533 145.374 lineto
-66.533 145.374 lineto
-66.533 139.374 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-78.199 144.749 M
-84.199 144.749 lineto
-84.199 150.749 lineto
-78.199 150.749 lineto
-78.199 144.749 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-78.199 144.749 M
-84.199 144.749 lineto
-84.199 150.749 lineto
-78.199 150.749 lineto
-78.199 144.749 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-89.864 157.25 M
-95.864 157.25 lineto
-95.864 163.25 lineto
-89.864 163.25 lineto
-89.864 157.25 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-89.864 157.25 M
-95.864 157.25 lineto
-95.864 163.25 lineto
-89.864 163.25 lineto
-89.864 157.25 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-101.53 164.016 M
-107.53 164.016 lineto
-107.53 170.016 lineto
-101.53 170.016 lineto
-101.53 164.016 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-101.53 164.016 M
-107.53 164.016 lineto
-107.53 170.016 lineto
-101.53 170.016 lineto
-101.53 164.016 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-113.195 226.962 M
-119.195 226.962 lineto
-119.195 232.962 lineto
-113.195 232.962 lineto
-113.195 226.962 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-113.195 226.962 M
-119.195 226.962 lineto
-119.195 232.962 lineto
-113.195 232.962 lineto
-113.195 226.962 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-124.86 231.444 M
-130.86 231.444 lineto
-130.86 237.444 lineto
-124.86 237.444 lineto
-124.86 231.444 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.86 231.444 M
-130.86 231.444 lineto
-130.86 237.444 lineto
-124.86 237.444 lineto
-124.86 231.444 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-0.5 setlinewidth
-newpath
-69.533 34.247 M
-388 34.247 lineto
-388 284.835 lineto
-69.533 284.835 lineto
-69.533 34.247 lineto
-closepath
-stroke
-grestore
-%%Trailer
-%%Pages: 1
-%%EOF
diff --git a/sim/gobs/wiki/dc04kpv04.cfg b/sim/gobs/wiki/dc04kpv04.cfg
deleted file mode 100644
index 5678cf6..0000000
--- a/sim/gobs/wiki/dc04kpv04.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv04.cfg system_size_100_1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/wiki/dc04kpv04.eps b/sim/gobs/wiki/dc04kpv04.eps
deleted file mode 100644
index ef771da..0000000
--- a/sim/gobs/wiki/dc04kpv04.eps
+++ /dev/null
@@ -1,12504 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (Apache XML Graphics Commons: EPS Generator for Java2D)
-%%CreationDate: 2009-10-05T12:47:52
-%%Pages: (atend)
-%%BoundingBox: 0 0 400 400
-%%LanguageLevel: 3
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset (Apache XML Graphics Std ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2001-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (Basic set of procedures used by the XML Graphics project \(Batik and FOP\))
-/bd{bind def}bind def
-/ld{load def}bd
-/M/moveto ld
-/RM/rmoveto ld
-/t/show ld
-/A/ashow ld
-/cp/closepath ld
-/re {4 2 roll M
-1 index 0 rlineto
-0 exch rlineto
-neg 0 rlineto
-cp } bd
-/_ctm matrix def
-/_tm matrix def
-/BT { _ctm currentmatrix pop matrix _tm copy pop 0 0 moveto } bd
-/ET { _ctm setmatrix } bd
-/iTm { _ctm setmatrix _tm concat } bd
-/Tm { _tm astore pop iTm 0 0 moveto } bd
-/ux 0.0 def
-/uy 0.0 def
-/F {
- /Tp exch def
- /Tf exch def
- Tf findfont Tp scalefont setfont
- /cf Tf def /cs Tp def /cw ( ) stringwidth pop def
-} bd
-/ULS {currentpoint /uy exch def /ux exch def} bd
-/ULE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add moveto Tcx uy To add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/OLE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs add moveto Tcx uy To add cs add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/SOE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs 10 mul 26 idiv add moveto Tcx uy To add cs 10 mul 26 idiv add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/QUADTO {
-/Y22 exch store
-/X22 exch store
-/Y21 exch store
-/X21 exch store
-currentpoint
-/Y21 load 2 mul add 3 div exch
-/X21 load 2 mul add 3 div exch
-/X21 load 2 mul /X22 load add 3 div
-/Y21 load 2 mul /Y22 load add 3 div
-/X22 load /Y22 load curveto
-} bd
-/SSPD {
-dup length /d exch dict def
-{
-/v exch def
-/k exch def
-currentpagedevice k known {
-/cpdv currentpagedevice k get def
-v cpdv ne {
-/upd false def
-/nullv v type /nulltype eq def
-/nullcpdv cpdv type /nulltype eq def
-nullv nullcpdv or
-{
-/upd true def
-} {
-/sametype v type cpdv type eq def
-sametype {
-v type /arraytype eq {
-/vlen v length def
-/cpdvlen cpdv length def
-vlen cpdvlen eq {
-0 1 vlen 1 sub {
-/i exch def
-/obj v i get def
-/cpdobj cpdv i get def
-obj cpdobj ne {
-/upd true def
-exit
-} if
-} for
-} {
-/upd true def
-} ifelse
-} {
-v type /dicttype eq {
-v {
-/dv exch def
-/dk exch def
-/cpddv cpdv dk get def
-dv cpddv ne {
-/upd true def
-exit
-} if
-} forall
-} {
-/upd true def
-} ifelse
-} ifelse
-} if
-} ifelse
-upd true eq {
-d k v put
-} if
-} if
-} if
-} forall
-d length 0 gt {
-d setpagedevice
-} if
-} bd
-%%EndResource
-%%BeginResource: procset (Apache XML Graphics EPS ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2002-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (EPS procedures used by the Apache XML Graphics project \(Batik and FOP\))
-/BeginEPSF { %def
-/b4_Inc_state save def % Save state for cleanup
-/dict_count countdictstack def % Count objects on dict stack
-/op_count count 1 sub def % Count objects on operand stack
-userdict begin % Push userdict on dict stack
-/showpage { } def % Redefine showpage, { } = null proc
-0 setgray 0 setlinecap % Prepare graphics state
-1 setlinewidth 0 setlinejoin
-10 setmiterlimit [ ] 0 setdash newpath
-/languagelevel where % If level not equal to 1 then
-{pop languagelevel % set strokeadjust and
-1 ne % overprint to their defaults.
-{false setstrokeadjust false setoverprint
-} if
-} if
-} bd
-/EndEPSF { %def
-count op_count sub {pop} repeat % Clean up stacks
-countdictstack dict_count sub {end} repeat
-b4_Inc_state restore
-} bd
-%%EndResource
-%%EndProlog
-%%Page: 1 1
-%%PageBoundingBox: 0 0 400 400
-%%BeginPageSetup
-[1 0 0 -1 0 400] concat
-%%EndPageSetup
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-69.293 20.249 M
-69.293 5.796 lineto
-74.699 5.796 lineto
-79.105 5.796 79.105 9.374 QUADTO
-79.105 10.718 78.355 11.82 QUADTO
-77.605 12.921 76.293 13.499 QUADTO
-81.027 20.249 lineto
-77.371 20.249 lineto
-73.777 14.343 lineto
-72.121 14.343 lineto
-72.121 20.249 lineto
-69.293 20.249 lineto
-closepath
-72.121 12.359 M
-72.809 12.359 lineto
-76.09 12.359 76.09 9.718 QUADTO
-76.09 7.781 73.168 7.781 QUADTO
-72.121 7.781 lineto
-72.121 12.359 lineto
-closepath
-91.811 19.89 M
-89.764 20.499 87.904 20.499 QUADTO
-85.232 20.499 83.678 18.976 QUADTO
-82.123 17.453 82.123 14.812 QUADTO
-82.123 12.312 83.545 10.796 QUADTO
-84.967 9.281 87.295 9.281 QUADTO
-89.654 9.281 90.732 10.765 QUADTO
-91.811 12.249 91.811 15.468 QUADTO
-85.17 15.468 lineto
-85.467 18.531 88.529 18.531 QUADTO
-89.998 18.531 91.811 17.859 QUADTO
-91.811 19.89 lineto
-closepath
-85.123 13.828 M
-88.982 13.828 lineto
-88.982 11.093 87.201 11.093 QUADTO
-85.404 11.093 85.123 13.828 QUADTO
-closepath
-94.811 20.249 M
-94.811 4.828 lineto
-97.701 4.828 lineto
-97.701 11.546 lineto
-98.811 9.281 101.201 9.281 QUADTO
-103.139 9.281 104.248 10.695 QUADTO
-105.357 12.109 105.357 14.593 QUADTO
-105.357 17.281 104.107 18.89 QUADTO
-102.857 20.499 100.764 20.499 QUADTO
-98.967 20.499 97.701 19.171 QUADTO
-97.154 20.249 lineto
-94.811 20.249 lineto
-closepath
-97.701 17.453 M
-98.748 18.624 99.936 18.624 QUADTO
-101.014 18.624 101.646 17.593 QUADTO
-102.279 16.562 102.279 14.843 QUADTO
-102.279 11.546 100.154 11.546 QUADTO
-98.873 11.546 97.701 13.203 QUADTO
-97.701 17.453 lineto
-closepath
-114.688 20.249 M
-114.688 18.234 lineto
-113.281 20.499 111.031 20.499 QUADTO
-109.594 20.499 108.766 19.585 QUADTO
-107.938 18.671 107.938 17.109 QUADTO
-107.938 9.531 lineto
-110.828 9.531 lineto
-110.828 16.39 lineto
-110.828 18.218 112.047 18.218 QUADTO
-113.422 18.218 114.688 16.281 QUADTO
-114.688 9.531 lineto
-117.578 9.531 lineto
-117.578 20.249 lineto
-114.688 20.249 lineto
-closepath
-121.197 20.249 M
-121.197 9.531 lineto
-124.088 9.531 lineto
-124.088 20.249 lineto
-121.197 20.249 lineto
-closepath
-121.197 7.718 M
-121.197 5.312 lineto
-124.088 5.312 lineto
-124.088 7.718 lineto
-121.197 7.718 lineto
-closepath
-127.701 20.249 M
-127.701 4.828 lineto
-130.592 4.828 lineto
-130.592 20.249 lineto
-127.701 20.249 lineto
-closepath
-140.955 20.249 M
-140.955 18.234 lineto
-139.83 20.499 137.439 20.499 QUADTO
-135.502 20.499 134.4 19.078 QUADTO
-133.299 17.656 133.299 15.187 QUADTO
-133.299 12.484 134.549 10.882 QUADTO
-135.799 9.281 137.893 9.281 QUADTO
-139.564 9.281 140.955 10.609 QUADTO
-140.955 4.828 lineto
-143.846 4.828 lineto
-143.846 20.249 lineto
-140.955 20.249 lineto
-closepath
-140.955 12.328 M
-139.908 11.156 138.705 11.156 QUADTO
-137.643 11.156 137.01 12.179 QUADTO
-136.377 13.203 136.377 14.937 QUADTO
-136.377 18.234 138.486 18.234 QUADTO
-139.783 18.234 140.955 16.578 QUADTO
-140.955 12.328 lineto
-closepath
-154.049 20.249 M
-154.049 5.796 lineto
-157.049 5.796 lineto
-157.049 18.203 lineto
-163.564 18.203 lineto
-163.564 20.249 lineto
-154.049 20.249 lineto
-closepath
-170.18 20.499 M
-167.664 20.499 166.188 18.976 QUADTO
-164.711 17.453 164.711 14.89 QUADTO
-164.711 12.296 166.195 10.788 QUADTO
-167.68 9.281 170.242 9.281 QUADTO
-172.82 9.281 174.305 10.788 QUADTO
-175.789 12.296 175.789 14.874 QUADTO
-175.789 17.499 174.297 18.999 QUADTO
-172.805 20.499 170.18 20.499 QUADTO
-closepath
-170.227 18.687 M
-172.711 18.687 172.711 14.874 QUADTO
-172.711 13.124 172.055 12.109 QUADTO
-171.398 11.093 170.242 11.093 QUADTO
-169.102 11.093 168.445 12.109 QUADTO
-167.789 13.124 167.789 14.89 QUADTO
-167.789 16.64 168.438 17.663 QUADTO
-169.086 18.687 170.227 18.687 QUADTO
-closepath
-183.703 19.093 M
-182.25 20.499 180.609 20.499 QUADTO
-179.203 20.499 178.32 19.64 QUADTO
-177.438 18.781 177.438 17.406 QUADTO
-177.438 15.624 178.859 14.663 QUADTO
-180.281 13.703 182.938 13.703 QUADTO
-183.703 13.703 lineto
-183.703 12.734 lineto
-183.703 11.062 181.797 11.062 QUADTO
-180.109 11.062 178.375 12.015 QUADTO
-178.375 10.031 lineto
-180.344 9.281 182.266 9.281 QUADTO
-186.469 9.281 186.469 12.624 QUADTO
-186.469 17.374 lineto
-186.469 18.64 187.281 18.64 QUADTO
-187.438 18.64 187.672 18.593 QUADTO
-187.734 20.218 lineto
-186.812 20.499 186.109 20.499 QUADTO
-184.344 20.499 183.828 19.093 QUADTO
-183.703 19.093 lineto
-closepath
-183.703 17.546 M
-183.703 15.359 lineto
-183.016 15.359 lineto
-180.219 15.359 180.219 17.124 QUADTO
-180.219 17.718 180.625 18.124 QUADTO
-181.031 18.531 181.625 18.531 QUADTO
-182.641 18.531 183.703 17.546 QUADTO
-closepath
-196.961 20.249 M
-196.961 18.234 lineto
-195.836 20.499 193.445 20.499 QUADTO
-191.508 20.499 190.406 19.078 QUADTO
-189.305 17.656 189.305 15.187 QUADTO
-189.305 12.484 190.555 10.882 QUADTO
-191.805 9.281 193.898 9.281 QUADTO
-195.57 9.281 196.961 10.609 QUADTO
-196.961 4.828 lineto
-199.852 4.828 lineto
-199.852 20.249 lineto
-196.961 20.249 lineto
-closepath
-196.961 12.328 M
-195.914 11.156 194.711 11.156 QUADTO
-193.648 11.156 193.016 12.179 QUADTO
-192.383 13.203 192.383 14.937 QUADTO
-192.383 18.234 194.492 18.234 QUADTO
-195.789 18.234 196.961 16.578 QUADTO
-196.961 12.328 lineto
-closepath
-210.055 20.249 M
-210.055 5.796 lineto
-216.273 5.796 lineto
-219.633 5.796 221.422 7.578 QUADTO
-223.211 9.359 223.211 12.718 QUADTO
-223.211 16.296 221.312 18.273 QUADTO
-219.414 20.249 216.008 20.249 QUADTO
-210.055 20.249 lineto
-closepath
-213.055 18.203 M
-215.305 18.203 lineto
-217.68 18.203 218.844 16.89 QUADTO
-220.008 15.578 220.008 12.89 QUADTO
-220.008 10.828 219.07 9.453 QUADTO
-218.43 8.499 217.523 8.14 QUADTO
-216.617 7.781 214.867 7.781 QUADTO
-213.055 7.781 lineto
-213.055 18.203 lineto
-closepath
-225.914 20.249 M
-225.914 9.531 lineto
-228.805 9.531 lineto
-228.805 20.249 lineto
-225.914 20.249 lineto
-closepath
-225.914 7.718 M
-225.914 5.312 lineto
-228.805 5.312 lineto
-228.805 7.718 lineto
-225.914 7.718 lineto
-closepath
-232.137 19.906 M
-232.137 17.781 lineto
-234.277 18.687 235.809 18.687 QUADTO
-237.574 18.687 237.574 17.468 QUADTO
-237.574 16.687 236.121 16.109 QUADTO
-235.137 15.718 lineto
-233.543 15.078 232.863 14.335 QUADTO
-232.184 13.593 232.184 12.499 QUADTO
-232.184 10.968 233.34 10.124 QUADTO
-234.496 9.281 236.59 9.281 QUADTO
-237.902 9.281 239.715 9.656 QUADTO
-239.715 11.687 lineto
-237.965 11.093 236.824 11.093 QUADTO
-235.027 11.093 235.027 12.203 QUADTO
-235.027 12.937 236.355 13.437 QUADTO
-237.199 13.765 lineto
-239.09 14.484 239.824 15.21 QUADTO
-240.559 15.937 240.559 17.093 QUADTO
-240.559 18.609 239.301 19.554 QUADTO
-238.043 20.499 236.043 20.499 QUADTO
-234.105 20.499 232.137 19.906 QUADTO
-closepath
-249.242 20.187 M
-248.211 20.499 247.617 20.499 QUADTO
-243.852 20.499 243.852 16.984 QUADTO
-243.852 11.328 lineto
-242.664 11.328 lineto
-242.664 9.531 lineto
-243.852 9.531 lineto
-243.852 7.718 lineto
-246.742 7.39 lineto
-246.742 9.531 lineto
-249.039 9.531 lineto
-249.039 11.328 lineto
-246.742 11.328 lineto
-246.742 16.593 lineto
-246.742 18.562 248.367 18.562 QUADTO
-248.727 18.562 249.242 18.437 QUADTO
-249.242 20.187 lineto
-closepath
-251.832 20.249 M
-251.832 9.531 lineto
-254.723 9.531 lineto
-254.723 11.546 lineto
-255.848 9.281 258.129 9.281 QUADTO
-258.41 9.281 258.676 9.343 QUADTO
-258.676 11.921 lineto
-258.051 11.687 257.535 11.687 QUADTO
-255.801 11.687 254.723 13.437 QUADTO
-254.723 20.249 lineto
-251.832 20.249 lineto
-closepath
-260.924 20.249 M
-260.924 9.531 lineto
-263.814 9.531 lineto
-263.814 20.249 lineto
-260.924 20.249 lineto
-closepath
-260.924 7.718 M
-260.924 5.312 lineto
-263.814 5.312 lineto
-263.814 7.718 lineto
-260.924 7.718 lineto
-closepath
-267.428 20.249 M
-267.428 4.828 lineto
-270.318 4.828 lineto
-270.318 11.546 lineto
-271.428 9.281 273.818 9.281 QUADTO
-275.756 9.281 276.865 10.695 QUADTO
-277.975 12.109 277.975 14.593 QUADTO
-277.975 17.281 276.725 18.89 QUADTO
-275.475 20.499 273.381 20.499 QUADTO
-271.584 20.499 270.318 19.171 QUADTO
-269.771 20.249 lineto
-267.428 20.249 lineto
-closepath
-270.318 17.453 M
-271.365 18.624 272.553 18.624 QUADTO
-273.631 18.624 274.264 17.593 QUADTO
-274.896 16.562 274.896 14.843 QUADTO
-274.896 11.546 272.771 11.546 QUADTO
-271.49 11.546 270.318 13.203 QUADTO
-270.318 17.453 lineto
-closepath
-287.305 20.249 M
-287.305 18.234 lineto
-285.898 20.499 283.648 20.499 QUADTO
-282.211 20.499 281.383 19.585 QUADTO
-280.555 18.671 280.555 17.109 QUADTO
-280.555 9.531 lineto
-283.445 9.531 lineto
-283.445 16.39 lineto
-283.445 18.218 284.664 18.218 QUADTO
-286.039 18.218 287.305 16.281 QUADTO
-287.305 9.531 lineto
-290.195 9.531 lineto
-290.195 20.249 lineto
-287.305 20.249 lineto
-closepath
-299.33 20.187 M
-298.299 20.499 297.705 20.499 QUADTO
-293.939 20.499 293.939 16.984 QUADTO
-293.939 11.328 lineto
-292.752 11.328 lineto
-292.752 9.531 lineto
-293.939 9.531 lineto
-293.939 7.718 lineto
-296.83 7.39 lineto
-296.83 9.531 lineto
-299.127 9.531 lineto
-299.127 11.328 lineto
-296.83 11.328 lineto
-296.83 16.593 lineto
-296.83 18.562 298.455 18.562 QUADTO
-298.814 18.562 299.33 18.437 QUADTO
-299.33 20.187 lineto
-closepath
-301.92 20.249 M
-301.92 9.531 lineto
-304.811 9.531 lineto
-304.811 20.249 lineto
-301.92 20.249 lineto
-closepath
-301.92 7.718 M
-301.92 5.312 lineto
-304.811 5.312 lineto
-304.811 7.718 lineto
-301.92 7.718 lineto
-closepath
-312.924 20.499 M
-310.408 20.499 308.932 18.976 QUADTO
-307.455 17.453 307.455 14.89 QUADTO
-307.455 12.296 308.939 10.788 QUADTO
-310.424 9.281 312.986 9.281 QUADTO
-315.564 9.281 317.049 10.788 QUADTO
-318.533 12.296 318.533 14.874 QUADTO
-318.533 17.499 317.041 18.999 QUADTO
-315.549 20.499 312.924 20.499 QUADTO
-closepath
-312.971 18.687 M
-315.455 18.687 315.455 14.874 QUADTO
-315.455 13.124 314.799 12.109 QUADTO
-314.143 11.093 312.986 11.093 QUADTO
-311.846 11.093 311.189 12.109 QUADTO
-310.533 13.124 310.533 14.89 QUADTO
-310.533 16.64 311.182 17.663 QUADTO
-311.83 18.687 312.971 18.687 QUADTO
-closepath
-321.197 20.249 M
-321.197 9.531 lineto
-324.088 9.531 lineto
-324.088 11.546 lineto
-325.494 9.281 327.729 9.281 QUADTO
-329.166 9.281 330.002 10.187 QUADTO
-330.838 11.093 330.838 12.671 QUADTO
-330.838 20.249 lineto
-327.947 20.249 lineto
-327.947 13.39 lineto
-327.947 11.562 326.729 11.562 QUADTO
-325.354 11.562 324.088 13.499 QUADTO
-324.088 20.249 lineto
-321.197 20.249 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-1 335.356 M
-399 335.356 lineto
-399 399 lineto
-1 399 lineto
-1 335.356 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-1.5 335.856 M
-398.5 335.856 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-1.5 398.5 M
-398.5 398.5 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-1.5 398.5 M
-1.5 335.856 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-398.5 398.5 M
-398.5 335.856 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-5 346.63 M
-19 346.63 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-9 343.63 M
-15 343.63 lineto
-15 349.63 lineto
-9 349.63 lineto
-9 343.63 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-9 343.63 M
-15 343.63 lineto
-15 349.63 lineto
-9 349.63 lineto
-9 343.63 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-24.125 350.906 M
-24.125 342.234 lineto
-26.484 342.234 lineto
-28.047 342.234 28.734 342.765 QUADTO
-29.422 343.296 29.422 344.499 QUADTO
-29.422 345.89 28.484 346.671 QUADTO
-27.547 347.453 25.891 347.453 QUADTO
-25.344 347.453 lineto
-25.344 350.906 lineto
-24.125 350.906 lineto
-closepath
-25.344 346.531 M
-25.844 346.531 lineto
-26.938 346.531 27.531 346.023 QUADTO
-28.125 345.515 28.125 344.593 QUADTO
-28.125 343.828 27.656 343.492 QUADTO
-27.188 343.156 26.094 343.156 QUADTO
-25.344 343.156 lineto
-25.344 346.531 lineto
-closepath
-35.148 347.593 M
-33.664 343.843 lineto
-32.195 347.593 lineto
-35.148 347.593 lineto
-closepath
-36.445 350.906 M
-35.508 348.499 lineto
-31.836 348.499 lineto
-30.883 350.906 lineto
-29.727 350.906 lineto
-33.18 342.234 lineto
-34.398 342.234 lineto
-37.773 350.906 lineto
-36.445 350.906 lineto
-closepath
-40.725 351.124 M
-39.865 351.124 38.506 350.734 QUADTO
-38.506 349.515 lineto
-39.959 350.203 40.912 350.203 QUADTO
-41.631 350.203 42.076 349.82 QUADTO
-42.521 349.437 42.521 348.812 QUADTO
-42.521 348.312 42.232 347.953 QUADTO
-41.943 347.593 41.162 347.156 QUADTO
-40.568 346.812 lineto
-39.459 346.171 39.006 345.617 QUADTO
-38.553 345.062 38.553 344.312 QUADTO
-38.553 343.312 39.279 342.663 QUADTO
-40.006 342.015 41.131 342.015 QUADTO
-42.131 342.015 43.24 342.343 QUADTO
-43.24 343.468 lineto
-41.865 342.937 41.193 342.937 QUADTO
-40.553 342.937 40.139 343.273 QUADTO
-39.725 343.609 39.725 344.124 QUADTO
-39.725 344.562 40.029 344.898 QUADTO
-40.334 345.234 41.146 345.703 QUADTO
-41.756 346.046 lineto
-42.881 346.687 43.326 347.257 QUADTO
-43.771 347.828 43.771 348.624 QUADTO
-43.771 349.749 42.943 350.437 QUADTO
-42.115 351.124 40.725 351.124 QUADTO
-closepath
-47.562 350.906 M
-47.562 343.156 lineto
-44.484 343.156 lineto
-44.484 342.234 lineto
-51.859 342.234 lineto
-51.859 343.156 lineto
-48.781 343.156 lineto
-48.781 350.906 lineto
-47.562 350.906 lineto
-closepath
-56.885 350.906 M
-56.885 342.234 lineto
-58.088 342.234 lineto
-62.447 348.937 lineto
-62.447 342.234 lineto
-63.51 342.234 lineto
-63.51 350.906 lineto
-62.307 350.906 lineto
-57.932 344.203 lineto
-57.932 350.906 lineto
-56.885 350.906 lineto
-closepath
-65.922 348.953 M
-65.922 348.093 lineto
-72.859 348.093 lineto
-72.859 348.953 lineto
-65.922 348.953 lineto
-closepath
-65.922 346.781 M
-65.922 345.921 lineto
-72.859 345.921 lineto
-72.859 346.781 lineto
-65.922 346.781 lineto
-closepath
-75.977 350.906 M
-75.977 350.031 lineto
-77.711 350.031 lineto
-77.711 343.187 lineto
-75.977 343.624 lineto
-75.977 342.734 lineto
-78.867 342.015 lineto
-78.867 350.031 lineto
-80.602 350.031 lineto
-80.602 350.906 lineto
-75.977 350.906 lineto
-closepath
-85.518 351.124 M
-84.174 351.124 83.346 349.859 QUADTO
-82.518 348.593 82.518 346.562 QUADTO
-82.518 344.515 83.354 343.265 QUADTO
-84.189 342.015 85.549 342.015 QUADTO
-86.908 342.015 87.744 343.265 QUADTO
-88.58 344.515 88.58 346.546 QUADTO
-88.58 348.624 87.744 349.874 QUADTO
-86.908 351.124 85.518 351.124 QUADTO
-closepath
-85.533 350.249 M
-87.361 350.249 87.361 346.531 QUADTO
-87.361 342.89 85.549 342.89 QUADTO
-83.752 342.89 83.752 346.562 QUADTO
-83.752 350.249 85.533 350.249 QUADTO
-closepath
-93.105 351.124 M
-91.762 351.124 90.934 349.859 QUADTO
-90.105 348.593 90.105 346.562 QUADTO
-90.105 344.515 90.941 343.265 QUADTO
-91.777 342.015 93.137 342.015 QUADTO
-94.496 342.015 95.332 343.265 QUADTO
-96.168 344.515 96.168 346.546 QUADTO
-96.168 348.624 95.332 349.874 QUADTO
-94.496 351.124 93.105 351.124 QUADTO
-closepath
-93.121 350.249 M
-94.949 350.249 94.949 346.531 QUADTO
-94.949 342.89 93.137 342.89 QUADTO
-91.34 342.89 91.34 346.562 QUADTO
-91.34 350.249 93.121 350.249 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-102.928 346.63 M
-116.928 346.63 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-112.928 346.63 M
-112.928 348.287 111.585 349.63 109.928 349.63 curveto
-108.271 349.63 106.928 348.287 106.928 346.63 curveto
-106.928 344.973 108.271 343.63 109.928 343.63 curveto
-111.585 343.63 112.928 344.973 112.928 346.63 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-112.928 346.63 M
-112.928 348.287 111.585 349.63 109.928 349.63 curveto
-108.271 349.63 106.928 348.287 106.928 346.63 curveto
-106.928 344.973 108.271 343.63 109.928 343.63 curveto
-111.585 343.63 112.928 344.973 112.928 346.63 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-122.053 350.906 M
-122.053 342.234 lineto
-124.412 342.234 lineto
-125.975 342.234 126.662 342.765 QUADTO
-127.35 343.296 127.35 344.499 QUADTO
-127.35 345.89 126.412 346.671 QUADTO
-125.475 347.453 123.818 347.453 QUADTO
-123.271 347.453 lineto
-123.271 350.906 lineto
-122.053 350.906 lineto
-closepath
-123.271 346.531 M
-123.771 346.531 lineto
-124.865 346.531 125.459 346.023 QUADTO
-126.053 345.515 126.053 344.593 QUADTO
-126.053 343.828 125.584 343.492 QUADTO
-125.115 343.156 124.021 343.156 QUADTO
-123.271 343.156 lineto
-123.271 346.531 lineto
-closepath
-133.076 347.593 M
-131.592 343.843 lineto
-130.123 347.593 lineto
-133.076 347.593 lineto
-closepath
-134.373 350.906 M
-133.436 348.499 lineto
-129.764 348.499 lineto
-128.811 350.906 lineto
-127.654 350.906 lineto
-131.107 342.234 lineto
-132.326 342.234 lineto
-135.701 350.906 lineto
-134.373 350.906 lineto
-closepath
-138.652 351.124 M
-137.793 351.124 136.434 350.734 QUADTO
-136.434 349.515 lineto
-137.887 350.203 138.84 350.203 QUADTO
-139.559 350.203 140.004 349.82 QUADTO
-140.449 349.437 140.449 348.812 QUADTO
-140.449 348.312 140.16 347.953 QUADTO
-139.871 347.593 139.09 347.156 QUADTO
-138.496 346.812 lineto
-137.387 346.171 136.934 345.617 QUADTO
-136.48 345.062 136.48 344.312 QUADTO
-136.48 343.312 137.207 342.663 QUADTO
-137.934 342.015 139.059 342.015 QUADTO
-140.059 342.015 141.168 342.343 QUADTO
-141.168 343.468 lineto
-139.793 342.937 139.121 342.937 QUADTO
-138.48 342.937 138.066 343.273 QUADTO
-137.652 343.609 137.652 344.124 QUADTO
-137.652 344.562 137.957 344.898 QUADTO
-138.262 345.234 139.074 345.703 QUADTO
-139.684 346.046 lineto
-140.809 346.687 141.254 347.257 QUADTO
-141.699 347.828 141.699 348.624 QUADTO
-141.699 349.749 140.871 350.437 QUADTO
-140.043 351.124 138.652 351.124 QUADTO
-closepath
-145.49 350.906 M
-145.49 343.156 lineto
-142.412 343.156 lineto
-142.412 342.234 lineto
-149.787 342.234 lineto
-149.787 343.156 lineto
-146.709 343.156 lineto
-146.709 350.906 lineto
-145.49 350.906 lineto
-closepath
-154.812 350.906 M
-154.812 342.234 lineto
-156.016 342.234 lineto
-160.375 348.937 lineto
-160.375 342.234 lineto
-161.438 342.234 lineto
-161.438 350.906 lineto
-160.234 350.906 lineto
-155.859 344.203 lineto
-155.859 350.906 lineto
-154.812 350.906 lineto
-closepath
-163.85 348.953 M
-163.85 348.093 lineto
-170.787 348.093 lineto
-170.787 348.953 lineto
-163.85 348.953 lineto
-closepath
-163.85 346.781 M
-163.85 345.921 lineto
-170.787 345.921 lineto
-170.787 346.781 lineto
-163.85 346.781 lineto
-closepath
-173.904 350.906 M
-173.904 350.031 lineto
-175.639 350.031 lineto
-175.639 343.187 lineto
-173.904 343.624 lineto
-173.904 342.734 lineto
-176.795 342.015 lineto
-176.795 350.031 lineto
-178.529 350.031 lineto
-178.529 350.906 lineto
-173.904 350.906 lineto
-closepath
-183.445 351.124 M
-182.102 351.124 181.273 349.859 QUADTO
-180.445 348.593 180.445 346.562 QUADTO
-180.445 344.515 181.281 343.265 QUADTO
-182.117 342.015 183.477 342.015 QUADTO
-184.836 342.015 185.672 343.265 QUADTO
-186.508 344.515 186.508 346.546 QUADTO
-186.508 348.624 185.672 349.874 QUADTO
-184.836 351.124 183.445 351.124 QUADTO
-closepath
-183.461 350.249 M
-185.289 350.249 185.289 346.531 QUADTO
-185.289 342.89 183.477 342.89 QUADTO
-181.68 342.89 181.68 346.562 QUADTO
-181.68 350.249 183.461 350.249 QUADTO
-closepath
-191.033 351.124 M
-189.689 351.124 188.861 349.859 QUADTO
-188.033 348.593 188.033 346.562 QUADTO
-188.033 344.515 188.869 343.265 QUADTO
-189.705 342.015 191.064 342.015 QUADTO
-192.424 342.015 193.26 343.265 QUADTO
-194.096 344.515 194.096 346.546 QUADTO
-194.096 348.624 193.26 349.874 QUADTO
-192.424 351.124 191.033 351.124 QUADTO
-closepath
-191.049 350.249 M
-192.877 350.249 192.877 346.531 QUADTO
-192.877 342.89 191.064 342.89 QUADTO
-189.268 342.89 189.268 346.562 QUADTO
-189.268 350.249 191.049 350.249 QUADTO
-closepath
-198.621 351.124 M
-197.277 351.124 196.449 349.859 QUADTO
-195.621 348.593 195.621 346.562 QUADTO
-195.621 344.515 196.457 343.265 QUADTO
-197.293 342.015 198.652 342.015 QUADTO
-200.012 342.015 200.848 343.265 QUADTO
-201.684 344.515 201.684 346.546 QUADTO
-201.684 348.624 200.848 349.874 QUADTO
-200.012 351.124 198.621 351.124 QUADTO
-closepath
-198.637 350.249 M
-200.465 350.249 200.465 346.531 QUADTO
-200.465 342.89 198.652 342.89 QUADTO
-196.855 342.89 196.855 346.562 QUADTO
-196.855 350.249 198.637 350.249 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-208.443 346.63 M
-222.443 346.63 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-215.443 343.63 M
-218.443 349.63 lineto
-212.443 349.63 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-215.443 343.63 M
-218.443 349.63 lineto
-212.443 349.63 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-227.568 350.906 M
-227.568 342.234 lineto
-228.725 342.234 lineto
-228.725 346.499 lineto
-232.225 342.234 lineto
-233.459 342.234 lineto
-230.068 346.374 lineto
-234.068 350.906 lineto
-232.506 350.906 lineto
-228.725 346.515 lineto
-228.725 350.906 lineto
-227.568 350.906 lineto
-closepath
-238.715 350.093 M
-237.684 351.046 236.715 351.046 QUADTO
-235.918 351.046 235.402 350.554 QUADTO
-234.887 350.062 234.887 349.312 QUADTO
-234.887 348.265 235.762 347.703 QUADTO
-236.637 347.14 238.262 347.14 QUADTO
-238.543 347.14 lineto
-238.543 346.374 lineto
-238.543 345.265 237.402 345.265 QUADTO
-236.496 345.265 235.434 345.828 QUADTO
-235.434 344.874 lineto
-236.605 344.406 237.621 344.406 QUADTO
-238.684 344.406 239.191 344.882 QUADTO
-239.699 345.359 239.699 346.374 QUADTO
-239.699 349.265 lineto
-239.699 350.249 240.309 350.249 QUADTO
-240.387 350.249 240.527 350.218 QUADTO
-240.605 350.859 lineto
-240.215 351.046 239.746 351.046 QUADTO
-238.934 351.046 238.715 350.093 QUADTO
-closepath
-238.543 349.468 M
-238.543 347.828 lineto
-238.152 347.812 lineto
-237.215 347.812 236.629 348.171 QUADTO
-236.043 348.531 236.043 349.124 QUADTO
-236.043 349.531 236.332 349.82 QUADTO
-236.621 350.109 237.043 350.109 QUADTO
-237.762 350.109 238.543 349.468 QUADTO
-closepath
-246.139 350.906 M
-246.139 349.703 lineto
-245.436 351.046 244.029 351.046 QUADTO
-242.873 351.046 242.217 350.21 QUADTO
-241.561 349.374 241.561 347.921 QUADTO
-241.561 346.328 242.303 345.367 QUADTO
-243.045 344.406 244.264 344.406 QUADTO
-245.404 344.406 246.139 345.265 QUADTO
-246.139 341.656 lineto
-247.311 341.656 lineto
-247.311 350.906 lineto
-246.139 350.906 lineto
-closepath
-246.139 346.062 M
-245.248 345.265 244.451 345.265 QUADTO
-242.779 345.265 242.779 347.812 QUADTO
-242.779 350.031 244.264 350.031 QUADTO
-245.217 350.031 246.139 348.984 QUADTO
-246.139 346.062 lineto
-closepath
-254.27 350.703 M
-253.113 351.046 252.285 351.046 QUADTO
-250.879 351.046 249.996 350.117 QUADTO
-249.113 349.187 249.113 347.687 QUADTO
-249.113 346.249 249.895 345.32 QUADTO
-250.676 344.39 251.895 344.39 QUADTO
-253.051 344.39 253.676 345.21 QUADTO
-254.301 346.031 254.301 347.546 QUADTO
-254.301 347.906 lineto
-250.285 347.906 lineto
-250.535 350.171 252.504 350.171 QUADTO
-253.223 350.171 254.27 349.781 QUADTO
-254.27 350.703 lineto
-closepath
-250.332 347.031 M
-253.145 347.031 lineto
-253.145 345.265 251.816 345.265 QUADTO
-250.488 345.265 250.332 347.031 QUADTO
-closepath
-256.299 350.906 M
-256.299 344.546 lineto
-257.455 344.546 lineto
-257.455 345.734 lineto
-258.299 344.406 259.627 344.406 QUADTO
-260.893 344.406 261.361 345.734 QUADTO
-262.174 344.39 263.486 344.39 QUADTO
-264.33 344.39 264.799 344.89 QUADTO
-265.268 345.39 265.268 346.281 QUADTO
-265.268 350.906 lineto
-264.096 350.906 lineto
-264.096 346.453 lineto
-264.096 345.374 263.236 345.374 QUADTO
-262.346 345.374 261.361 346.64 QUADTO
-261.361 350.906 lineto
-260.205 350.906 lineto
-260.205 346.453 lineto
-260.205 345.359 259.314 345.359 QUADTO
-258.455 345.359 257.455 346.64 QUADTO
-257.455 350.906 lineto
-256.299 350.906 lineto
-closepath
-267.502 350.906 M
-267.502 341.656 lineto
-268.658 341.656 lineto
-268.658 350.906 lineto
-267.502 350.906 lineto
-closepath
-270.971 350.906 M
-270.971 344.546 lineto
-272.127 344.546 lineto
-272.127 350.906 lineto
-270.971 350.906 lineto
-closepath
-270.971 343.39 M
-270.971 342.234 lineto
-272.127 342.234 lineto
-272.127 343.39 lineto
-270.971 343.39 lineto
-closepath
-277.721 350.093 M
-276.689 351.046 275.721 351.046 QUADTO
-274.924 351.046 274.408 350.554 QUADTO
-273.893 350.062 273.893 349.312 QUADTO
-273.893 348.265 274.768 347.703 QUADTO
-275.643 347.14 277.268 347.14 QUADTO
-277.549 347.14 lineto
-277.549 346.374 lineto
-277.549 345.265 276.408 345.265 QUADTO
-275.502 345.265 274.439 345.828 QUADTO
-274.439 344.874 lineto
-275.611 344.406 276.627 344.406 QUADTO
-277.689 344.406 278.197 344.882 QUADTO
-278.705 345.359 278.705 346.374 QUADTO
-278.705 349.265 lineto
-278.705 350.249 279.314 350.249 QUADTO
-279.393 350.249 279.533 350.218 QUADTO
-279.611 350.859 lineto
-279.221 351.046 278.752 351.046 QUADTO
-277.939 351.046 277.721 350.093 QUADTO
-closepath
-277.549 349.468 M
-277.549 347.828 lineto
-277.158 347.812 lineto
-276.221 347.812 275.635 348.171 QUADTO
-275.049 348.531 275.049 349.124 QUADTO
-275.049 349.531 275.338 349.82 QUADTO
-275.627 350.109 276.049 350.109 QUADTO
-276.768 350.109 277.549 349.468 QUADTO
-closepath
-284.832 350.906 M
-284.832 342.234 lineto
-286.035 342.234 lineto
-290.395 348.937 lineto
-290.395 342.234 lineto
-291.457 342.234 lineto
-291.457 350.906 lineto
-290.254 350.906 lineto
-285.879 344.203 lineto
-285.879 350.906 lineto
-284.832 350.906 lineto
-closepath
-293.869 348.953 M
-293.869 348.093 lineto
-300.807 348.093 lineto
-300.807 348.953 lineto
-293.869 348.953 lineto
-closepath
-293.869 346.781 M
-293.869 345.921 lineto
-300.807 345.921 lineto
-300.807 346.781 lineto
-293.869 346.781 lineto
-closepath
-303.924 350.906 M
-303.924 350.031 lineto
-305.658 350.031 lineto
-305.658 343.187 lineto
-303.924 343.624 lineto
-303.924 342.734 lineto
-306.814 342.015 lineto
-306.814 350.031 lineto
-308.549 350.031 lineto
-308.549 350.906 lineto
-303.924 350.906 lineto
-closepath
-313.465 351.124 M
-312.121 351.124 311.293 349.859 QUADTO
-310.465 348.593 310.465 346.562 QUADTO
-310.465 344.515 311.301 343.265 QUADTO
-312.137 342.015 313.496 342.015 QUADTO
-314.855 342.015 315.691 343.265 QUADTO
-316.527 344.515 316.527 346.546 QUADTO
-316.527 348.624 315.691 349.874 QUADTO
-314.855 351.124 313.465 351.124 QUADTO
-closepath
-313.48 350.249 M
-315.309 350.249 315.309 346.531 QUADTO
-315.309 342.89 313.496 342.89 QUADTO
-311.699 342.89 311.699 346.562 QUADTO
-311.699 350.249 313.48 350.249 QUADTO
-closepath
-321.053 351.124 M
-319.709 351.124 318.881 349.859 QUADTO
-318.053 348.593 318.053 346.562 QUADTO
-318.053 344.515 318.889 343.265 QUADTO
-319.725 342.015 321.084 342.015 QUADTO
-322.443 342.015 323.279 343.265 QUADTO
-324.115 344.515 324.115 346.546 QUADTO
-324.115 348.624 323.279 349.874 QUADTO
-322.443 351.124 321.053 351.124 QUADTO
-closepath
-321.068 350.249 M
-322.896 350.249 322.896 346.531 QUADTO
-322.896 342.89 321.084 342.89 QUADTO
-319.287 342.89 319.287 346.562 QUADTO
-319.287 350.249 321.068 350.249 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-5 367.178 M
-19 367.178 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-12 364.178 M
-15 367.178 lineto
-12 370.178 lineto
-9 367.178 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-12 364.178 M
-15 367.178 lineto
-12 370.178 lineto
-9 367.178 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-24.125 371.454 M
-24.125 362.782 lineto
-25.281 362.782 lineto
-25.281 367.047 lineto
-28.781 362.782 lineto
-30.016 362.782 lineto
-26.625 366.922 lineto
-30.625 371.454 lineto
-29.062 371.454 lineto
-25.281 367.063 lineto
-25.281 371.454 lineto
-24.125 371.454 lineto
-closepath
-35.271 370.641 M
-34.24 371.594 33.271 371.594 QUADTO
-32.475 371.594 31.959 371.102 QUADTO
-31.443 370.61 31.443 369.86 QUADTO
-31.443 368.813 32.318 368.251 QUADTO
-33.193 367.688 34.818 367.688 QUADTO
-35.1 367.688 lineto
-35.1 366.922 lineto
-35.1 365.813 33.959 365.813 QUADTO
-33.053 365.813 31.99 366.376 QUADTO
-31.99 365.422 lineto
-33.162 364.954 34.178 364.954 QUADTO
-35.24 364.954 35.748 365.43 QUADTO
-36.256 365.907 36.256 366.922 QUADTO
-36.256 369.813 lineto
-36.256 370.797 36.865 370.797 QUADTO
-36.943 370.797 37.084 370.766 QUADTO
-37.162 371.407 lineto
-36.771 371.594 36.303 371.594 QUADTO
-35.49 371.594 35.271 370.641 QUADTO
-closepath
-35.1 370.016 M
-35.1 368.376 lineto
-34.709 368.36 lineto
-33.771 368.36 33.186 368.719 QUADTO
-32.6 369.079 32.6 369.672 QUADTO
-32.6 370.079 32.889 370.368 QUADTO
-33.178 370.657 33.6 370.657 QUADTO
-34.318 370.657 35.1 370.016 QUADTO
-closepath
-42.695 371.454 M
-42.695 370.251 lineto
-41.992 371.594 40.586 371.594 QUADTO
-39.43 371.594 38.773 370.758 QUADTO
-38.117 369.922 38.117 368.469 QUADTO
-38.117 366.876 38.859 365.915 QUADTO
-39.602 364.954 40.82 364.954 QUADTO
-41.961 364.954 42.695 365.813 QUADTO
-42.695 362.204 lineto
-43.867 362.204 lineto
-43.867 371.454 lineto
-42.695 371.454 lineto
-closepath
-42.695 366.61 M
-41.805 365.813 41.008 365.813 QUADTO
-39.336 365.813 39.336 368.36 QUADTO
-39.336 370.579 40.82 370.579 QUADTO
-41.773 370.579 42.695 369.532 QUADTO
-42.695 366.61 lineto
-closepath
-50.826 371.251 M
-49.67 371.594 48.842 371.594 QUADTO
-47.436 371.594 46.553 370.665 QUADTO
-45.67 369.735 45.67 368.235 QUADTO
-45.67 366.797 46.451 365.868 QUADTO
-47.232 364.938 48.451 364.938 QUADTO
-49.607 364.938 50.232 365.758 QUADTO
-50.857 366.579 50.857 368.094 QUADTO
-50.857 368.454 lineto
-46.842 368.454 lineto
-47.092 370.719 49.061 370.719 QUADTO
-49.779 370.719 50.826 370.329 QUADTO
-50.826 371.251 lineto
-closepath
-46.889 367.579 M
-49.701 367.579 lineto
-49.701 365.813 48.373 365.813 QUADTO
-47.045 365.813 46.889 367.579 QUADTO
-closepath
-52.855 371.454 M
-52.855 365.094 lineto
-54.012 365.094 lineto
-54.012 366.282 lineto
-54.855 364.954 56.184 364.954 QUADTO
-57.449 364.954 57.918 366.282 QUADTO
-58.73 364.938 60.043 364.938 QUADTO
-60.887 364.938 61.355 365.438 QUADTO
-61.824 365.938 61.824 366.829 QUADTO
-61.824 371.454 lineto
-60.652 371.454 lineto
-60.652 367.001 lineto
-60.652 365.922 59.793 365.922 QUADTO
-58.902 365.922 57.918 367.188 QUADTO
-57.918 371.454 lineto
-56.762 371.454 lineto
-56.762 367.001 lineto
-56.762 365.907 55.871 365.907 QUADTO
-55.012 365.907 54.012 367.188 QUADTO
-54.012 371.454 lineto
-52.855 371.454 lineto
-closepath
-64.059 371.454 M
-64.059 362.204 lineto
-65.215 362.204 lineto
-65.215 371.454 lineto
-64.059 371.454 lineto
-closepath
-67.527 371.454 M
-67.527 365.094 lineto
-68.684 365.094 lineto
-68.684 371.454 lineto
-67.527 371.454 lineto
-closepath
-67.527 363.938 M
-67.527 362.782 lineto
-68.684 362.782 lineto
-68.684 363.938 lineto
-67.527 363.938 lineto
-closepath
-74.277 370.641 M
-73.246 371.594 72.277 371.594 QUADTO
-71.48 371.594 70.965 371.102 QUADTO
-70.449 370.61 70.449 369.86 QUADTO
-70.449 368.813 71.324 368.251 QUADTO
-72.199 367.688 73.824 367.688 QUADTO
-74.105 367.688 lineto
-74.105 366.922 lineto
-74.105 365.813 72.965 365.813 QUADTO
-72.059 365.813 70.996 366.376 QUADTO
-70.996 365.422 lineto
-72.168 364.954 73.184 364.954 QUADTO
-74.246 364.954 74.754 365.43 QUADTO
-75.262 365.907 75.262 366.922 QUADTO
-75.262 369.813 lineto
-75.262 370.797 75.871 370.797 QUADTO
-75.949 370.797 76.09 370.766 QUADTO
-76.168 371.407 lineto
-75.777 371.594 75.309 371.594 QUADTO
-74.496 371.594 74.277 370.641 QUADTO
-closepath
-74.105 370.016 M
-74.105 368.376 lineto
-73.715 368.36 lineto
-72.777 368.36 72.191 368.719 QUADTO
-71.605 369.079 71.605 369.672 QUADTO
-71.605 370.079 71.895 370.368 QUADTO
-72.184 370.657 72.605 370.657 QUADTO
-73.324 370.657 74.105 370.016 QUADTO
-closepath
-81.389 371.454 M
-81.389 362.782 lineto
-82.592 362.782 lineto
-86.951 369.485 lineto
-86.951 362.782 lineto
-88.014 362.782 lineto
-88.014 371.454 lineto
-86.811 371.454 lineto
-82.436 364.751 lineto
-82.436 371.454 lineto
-81.389 371.454 lineto
-closepath
-90.426 369.501 M
-90.426 368.641 lineto
-97.363 368.641 lineto
-97.363 369.501 lineto
-90.426 369.501 lineto
-closepath
-90.426 367.329 M
-90.426 366.469 lineto
-97.363 366.469 lineto
-97.363 367.329 lineto
-90.426 367.329 lineto
-closepath
-100.48 371.454 M
-100.48 370.579 lineto
-102.215 370.579 lineto
-102.215 363.735 lineto
-100.48 364.172 lineto
-100.48 363.282 lineto
-103.371 362.563 lineto
-103.371 370.579 lineto
-105.105 370.579 lineto
-105.105 371.454 lineto
-100.48 371.454 lineto
-closepath
-110.021 371.672 M
-108.678 371.672 107.85 370.407 QUADTO
-107.021 369.141 107.021 367.11 QUADTO
-107.021 365.063 107.857 363.813 QUADTO
-108.693 362.563 110.053 362.563 QUADTO
-111.412 362.563 112.248 363.813 QUADTO
-113.084 365.063 113.084 367.094 QUADTO
-113.084 369.172 112.248 370.422 QUADTO
-111.412 371.672 110.021 371.672 QUADTO
-closepath
-110.037 370.797 M
-111.865 370.797 111.865 367.079 QUADTO
-111.865 363.438 110.053 363.438 QUADTO
-108.256 363.438 108.256 367.11 QUADTO
-108.256 370.797 110.037 370.797 QUADTO
-closepath
-117.609 371.672 M
-116.266 371.672 115.438 370.407 QUADTO
-114.609 369.141 114.609 367.11 QUADTO
-114.609 365.063 115.445 363.813 QUADTO
-116.281 362.563 117.641 362.563 QUADTO
-119 362.563 119.836 363.813 QUADTO
-120.672 365.063 120.672 367.094 QUADTO
-120.672 369.172 119.836 370.422 QUADTO
-119 371.672 117.609 371.672 QUADTO
-closepath
-117.625 370.797 M
-119.453 370.797 119.453 367.079 QUADTO
-119.453 363.438 117.641 363.438 QUADTO
-115.844 363.438 115.844 367.11 QUADTO
-115.844 370.797 117.625 370.797 QUADTO
-closepath
-125.197 371.672 M
-123.854 371.672 123.025 370.407 QUADTO
-122.197 369.141 122.197 367.11 QUADTO
-122.197 365.063 123.033 363.813 QUADTO
-123.869 362.563 125.229 362.563 QUADTO
-126.588 362.563 127.424 363.813 QUADTO
-128.26 365.063 128.26 367.094 QUADTO
-128.26 369.172 127.424 370.422 QUADTO
-126.588 371.672 125.197 371.672 QUADTO
-closepath
-125.213 370.797 M
-127.041 370.797 127.041 367.079 QUADTO
-127.041 363.438 125.229 363.438 QUADTO
-123.432 363.438 123.432 367.11 QUADTO
-123.432 370.797 125.213 370.797 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-135.02 367.178 M
-149.02 367.178 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-139.02 365.678 M
-145.02 365.678 lineto
-145.02 368.678 lineto
-139.02 368.678 lineto
-139.02 365.678 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-139.02 365.678 M
-145.02 365.678 lineto
-145.02 368.678 lineto
-139.02 368.678 lineto
-139.02 365.678 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-156.504 371.454 M
-153.238 362.782 lineto
-154.457 362.782 lineto
-157.145 369.876 lineto
-159.738 362.782 lineto
-160.816 362.782 lineto
-157.66 371.454 lineto
-156.504 371.454 lineto
-closepath
-166.678 371.251 M
-165.521 371.594 164.693 371.594 QUADTO
-163.287 371.594 162.404 370.665 QUADTO
-161.521 369.735 161.521 368.235 QUADTO
-161.521 366.797 162.303 365.868 QUADTO
-163.084 364.938 164.303 364.938 QUADTO
-165.459 364.938 166.084 365.758 QUADTO
-166.709 366.579 166.709 368.094 QUADTO
-166.709 368.454 lineto
-162.693 368.454 lineto
-162.943 370.719 164.912 370.719 QUADTO
-165.631 370.719 166.678 370.329 QUADTO
-166.678 371.251 lineto
-closepath
-162.74 367.579 M
-165.553 367.579 lineto
-165.553 365.813 164.225 365.813 QUADTO
-162.896 365.813 162.74 367.579 QUADTO
-closepath
-168.707 371.454 M
-168.707 365.094 lineto
-169.863 365.094 lineto
-169.863 366.282 lineto
-170.551 364.954 171.848 364.954 QUADTO
-172.035 364.954 172.223 364.985 QUADTO
-172.223 366.063 lineto
-171.926 365.954 171.691 365.954 QUADTO
-170.598 365.954 169.863 367.251 QUADTO
-169.863 371.454 lineto
-168.707 371.454 lineto
-closepath
-175.523 371.594 M
-174.648 371.594 174.156 371.094 QUADTO
-173.664 370.594 173.664 369.688 QUADTO
-173.664 365.954 lineto
-172.867 365.954 lineto
-172.867 365.094 lineto
-173.664 365.094 lineto
-173.664 363.938 lineto
-174.82 363.829 lineto
-174.82 365.094 lineto
-176.477 365.094 lineto
-176.477 365.954 lineto
-174.82 365.954 lineto
-174.82 369.485 lineto
-174.82 370.735 175.898 370.735 QUADTO
-176.117 370.735 176.445 370.657 QUADTO
-176.445 371.454 lineto
-175.914 371.594 175.523 371.594 QUADTO
-closepath
-182.762 371.251 M
-181.605 371.594 180.777 371.594 QUADTO
-179.371 371.594 178.488 370.665 QUADTO
-177.605 369.735 177.605 368.235 QUADTO
-177.605 366.797 178.387 365.868 QUADTO
-179.168 364.938 180.387 364.938 QUADTO
-181.543 364.938 182.168 365.758 QUADTO
-182.793 366.579 182.793 368.094 QUADTO
-182.793 368.454 lineto
-178.777 368.454 lineto
-179.027 370.719 180.996 370.719 QUADTO
-181.715 370.719 182.762 370.329 QUADTO
-182.762 371.251 lineto
-closepath
-178.824 367.579 M
-181.637 367.579 lineto
-181.637 365.813 180.309 365.813 QUADTO
-178.98 365.813 178.824 367.579 QUADTO
-closepath
-184.15 371.454 M
-186.572 368.172 lineto
-184.229 365.094 lineto
-185.588 365.094 lineto
-187.447 367.532 lineto
-189.135 365.094 lineto
-190.26 365.094 lineto
-188.057 368.313 lineto
-190.447 371.454 lineto
-189.072 371.454 lineto
-187.166 368.938 lineto
-185.307 371.454 lineto
-184.15 371.454 lineto
-closepath
-202.432 371.219 M
-200.854 371.672 199.682 371.672 QUADTO
-197.604 371.672 196.502 370.493 QUADTO
-195.4 369.313 195.4 367.11 QUADTO
-195.4 364.954 196.518 363.758 QUADTO
-197.635 362.563 199.666 362.563 QUADTO
-200.979 362.563 202.416 362.954 QUADTO
-202.416 364.094 lineto
-200.619 363.485 199.666 363.485 QUADTO
-198.26 363.485 197.486 364.438 QUADTO
-196.713 365.391 196.713 367.126 QUADTO
-196.713 368.844 197.541 369.797 QUADTO
-198.369 370.751 199.869 370.751 QUADTO
-200.494 370.751 201.197 370.532 QUADTO
-201.197 367.704 lineto
-202.432 367.704 lineto
-202.432 371.219 lineto
-closepath
-204.619 371.454 M
-204.619 365.094 lineto
-205.775 365.094 lineto
-205.775 366.282 lineto
-206.463 364.954 207.76 364.954 QUADTO
-207.947 364.954 208.135 364.985 QUADTO
-208.135 366.063 lineto
-207.838 365.954 207.604 365.954 QUADTO
-206.51 365.954 205.775 367.251 QUADTO
-205.775 371.454 lineto
-204.619 371.454 lineto
-closepath
-212.014 371.594 M
-210.654 371.594 209.842 370.688 QUADTO
-209.029 369.782 209.029 368.266 QUADTO
-209.029 366.735 209.842 365.844 QUADTO
-210.654 364.954 212.061 364.954 QUADTO
-213.467 364.954 214.279 365.844 QUADTO
-215.092 366.735 215.092 368.266 QUADTO
-215.092 369.813 214.271 370.704 QUADTO
-213.451 371.594 212.014 371.594 QUADTO
-closepath
-212.029 370.735 M
-213.873 370.735 213.873 368.266 QUADTO
-213.873 365.813 212.061 365.813 QUADTO
-210.248 365.813 210.248 368.266 QUADTO
-210.248 370.735 212.029 370.735 QUADTO
-closepath
-220.885 371.454 M
-220.885 370.251 lineto
-219.963 371.594 218.65 371.594 QUADTO
-217.807 371.594 217.314 371.071 QUADTO
-216.822 370.547 216.822 369.657 QUADTO
-216.822 365.094 lineto
-217.979 365.094 lineto
-217.979 369.282 lineto
-217.979 370.001 218.189 370.305 QUADTO
-218.4 370.61 218.885 370.61 QUADTO
-219.947 370.61 220.885 369.219 QUADTO
-220.885 365.094 lineto
-222.025 365.094 lineto
-222.025 371.454 lineto
-220.885 371.454 lineto
-closepath
-224.348 373.766 M
-224.348 365.094 lineto
-225.504 365.094 lineto
-225.504 366.282 lineto
-226.207 364.954 227.629 364.954 QUADTO
-228.77 364.954 229.434 365.79 QUADTO
-230.098 366.626 230.098 368.079 QUADTO
-230.098 369.657 229.348 370.626 QUADTO
-228.598 371.594 227.379 371.594 QUADTO
-226.254 371.594 225.504 370.735 QUADTO
-225.504 373.766 lineto
-224.348 373.766 lineto
-closepath
-225.504 369.938 M
-226.395 370.735 227.207 370.735 QUADTO
-228.863 370.735 228.863 368.188 QUADTO
-228.863 365.954 227.395 365.954 QUADTO
-226.426 365.954 225.504 367.001 QUADTO
-225.504 369.938 lineto
-closepath
-233.588 371.594 M
-232.791 371.594 231.666 371.235 QUADTO
-231.666 370.172 lineto
-232.791 370.735 233.635 370.735 QUADTO
-234.135 370.735 234.463 370.461 QUADTO
-234.791 370.188 234.791 369.782 QUADTO
-234.791 369.204 233.869 368.813 QUADTO
-233.197 368.516 lineto
-231.697 367.907 231.697 366.735 QUADTO
-231.697 365.907 232.291 365.43 QUADTO
-232.885 364.954 233.9 364.954 QUADTO
-234.432 364.954 235.229 365.094 QUADTO
-235.463 365.141 lineto
-235.463 366.11 lineto
-234.494 365.813 233.932 365.813 QUADTO
-232.807 365.813 232.807 366.626 QUADTO
-232.807 367.141 233.65 367.501 QUADTO
-234.213 367.735 lineto
-235.15 368.141 235.549 368.579 QUADTO
-235.947 369.016 235.947 369.688 QUADTO
-235.947 370.516 235.283 371.055 QUADTO
-234.619 371.594 233.588 371.594 QUADTO
-closepath
-241.783 371.454 M
-241.783 362.782 lineto
-242.986 362.782 lineto
-247.346 369.485 lineto
-247.346 362.782 lineto
-248.408 362.782 lineto
-248.408 371.454 lineto
-247.205 371.454 lineto
-242.83 364.751 lineto
-242.83 371.454 lineto
-241.783 371.454 lineto
-closepath
-250.82 369.501 M
-250.82 368.641 lineto
-257.758 368.641 lineto
-257.758 369.501 lineto
-250.82 369.501 lineto
-closepath
-250.82 367.329 M
-250.82 366.469 lineto
-257.758 366.469 lineto
-257.758 367.329 lineto
-250.82 367.329 lineto
-closepath
-260.875 371.454 M
-260.875 370.579 lineto
-262.609 370.579 lineto
-262.609 363.735 lineto
-260.875 364.172 lineto
-260.875 363.282 lineto
-263.766 362.563 lineto
-263.766 370.579 lineto
-265.5 370.579 lineto
-265.5 371.454 lineto
-260.875 371.454 lineto
-closepath
-270.416 371.672 M
-269.072 371.672 268.244 370.407 QUADTO
-267.416 369.141 267.416 367.11 QUADTO
-267.416 365.063 268.252 363.813 QUADTO
-269.088 362.563 270.447 362.563 QUADTO
-271.807 362.563 272.643 363.813 QUADTO
-273.479 365.063 273.479 367.094 QUADTO
-273.479 369.172 272.643 370.422 QUADTO
-271.807 371.672 270.416 371.672 QUADTO
-closepath
-270.432 370.797 M
-272.26 370.797 272.26 367.079 QUADTO
-272.26 363.438 270.447 363.438 QUADTO
-268.65 363.438 268.65 367.11 QUADTO
-268.65 370.797 270.432 370.797 QUADTO
-closepath
-278.004 371.672 M
-276.66 371.672 275.832 370.407 QUADTO
-275.004 369.141 275.004 367.11 QUADTO
-275.004 365.063 275.84 363.813 QUADTO
-276.676 362.563 278.035 362.563 QUADTO
-279.395 362.563 280.23 363.813 QUADTO
-281.066 365.063 281.066 367.094 QUADTO
-281.066 369.172 280.23 370.422 QUADTO
-279.395 371.672 278.004 371.672 QUADTO
-closepath
-278.02 370.797 M
-279.848 370.797 279.848 367.079 QUADTO
-279.848 363.438 278.035 363.438 QUADTO
-276.238 363.438 276.238 367.11 QUADTO
-276.238 370.797 278.02 370.797 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-5 387.726 M
-19 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-9 384.726 M
-15 384.726 lineto
-12 390.726 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-9 384.726 M
-15 384.726 lineto
-12 390.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-26.484 392.002 M
-23.219 383.33 lineto
-24.438 383.33 lineto
-27.125 390.424 lineto
-29.719 383.33 lineto
-30.797 383.33 lineto
-27.641 392.002 lineto
-26.484 392.002 lineto
-closepath
-36.658 391.799 M
-35.502 392.142 34.674 392.142 QUADTO
-33.268 392.142 32.385 391.213 QUADTO
-31.502 390.283 31.502 388.783 QUADTO
-31.502 387.345 32.283 386.416 QUADTO
-33.064 385.486 34.283 385.486 QUADTO
-35.439 385.486 36.064 386.306 QUADTO
-36.689 387.127 36.689 388.642 QUADTO
-36.689 389.002 lineto
-32.674 389.002 lineto
-32.924 391.267 34.893 391.267 QUADTO
-35.611 391.267 36.658 390.877 QUADTO
-36.658 391.799 lineto
-closepath
-32.721 388.127 M
-35.533 388.127 lineto
-35.533 386.361 34.205 386.361 QUADTO
-32.877 386.361 32.721 388.127 QUADTO
-closepath
-38.688 392.002 M
-38.688 385.642 lineto
-39.844 385.642 lineto
-39.844 386.83 lineto
-40.531 385.502 41.828 385.502 QUADTO
-42.016 385.502 42.203 385.533 QUADTO
-42.203 386.611 lineto
-41.906 386.502 41.672 386.502 QUADTO
-40.578 386.502 39.844 387.799 QUADTO
-39.844 392.002 lineto
-38.688 392.002 lineto
-closepath
-45.504 392.142 M
-44.629 392.142 44.137 391.642 QUADTO
-43.645 391.142 43.645 390.236 QUADTO
-43.645 386.502 lineto
-42.848 386.502 lineto
-42.848 385.642 lineto
-43.645 385.642 lineto
-43.645 384.486 lineto
-44.801 384.377 lineto
-44.801 385.642 lineto
-46.457 385.642 lineto
-46.457 386.502 lineto
-44.801 386.502 lineto
-44.801 390.033 lineto
-44.801 391.283 45.879 391.283 QUADTO
-46.098 391.283 46.426 391.205 QUADTO
-46.426 392.002 lineto
-45.895 392.142 45.504 392.142 QUADTO
-closepath
-52.742 391.799 M
-51.586 392.142 50.758 392.142 QUADTO
-49.352 392.142 48.469 391.213 QUADTO
-47.586 390.283 47.586 388.783 QUADTO
-47.586 387.345 48.367 386.416 QUADTO
-49.148 385.486 50.367 385.486 QUADTO
-51.523 385.486 52.148 386.306 QUADTO
-52.773 387.127 52.773 388.642 QUADTO
-52.773 389.002 lineto
-48.758 389.002 lineto
-49.008 391.267 50.977 391.267 QUADTO
-51.695 391.267 52.742 390.877 QUADTO
-52.742 391.799 lineto
-closepath
-48.805 388.127 M
-51.617 388.127 lineto
-51.617 386.361 50.289 386.361 QUADTO
-48.961 386.361 48.805 388.127 QUADTO
-closepath
-54.131 392.002 M
-56.553 388.72 lineto
-54.209 385.642 lineto
-55.568 385.642 lineto
-57.428 388.08 lineto
-59.115 385.642 lineto
-60.24 385.642 lineto
-58.037 388.861 lineto
-60.428 392.002 lineto
-59.053 392.002 lineto
-57.146 389.486 lineto
-55.287 392.002 lineto
-54.131 392.002 lineto
-closepath
-72.412 391.767 M
-70.834 392.22 69.662 392.22 QUADTO
-67.584 392.22 66.482 391.041 QUADTO
-65.381 389.861 65.381 387.658 QUADTO
-65.381 385.502 66.498 384.306 QUADTO
-67.615 383.111 69.646 383.111 QUADTO
-70.959 383.111 72.396 383.502 QUADTO
-72.396 384.642 lineto
-70.6 384.033 69.646 384.033 QUADTO
-68.24 384.033 67.467 384.986 QUADTO
-66.693 385.939 66.693 387.674 QUADTO
-66.693 389.392 67.521 390.345 QUADTO
-68.35 391.299 69.85 391.299 QUADTO
-70.475 391.299 71.178 391.08 QUADTO
-71.178 388.252 lineto
-72.412 388.252 lineto
-72.412 391.767 lineto
-closepath
-74.6 392.002 M
-74.6 385.642 lineto
-75.756 385.642 lineto
-75.756 386.83 lineto
-76.443 385.502 77.74 385.502 QUADTO
-77.928 385.502 78.115 385.533 QUADTO
-78.115 386.611 lineto
-77.818 386.502 77.584 386.502 QUADTO
-76.49 386.502 75.756 387.799 QUADTO
-75.756 392.002 lineto
-74.6 392.002 lineto
-closepath
-81.994 392.142 M
-80.635 392.142 79.822 391.236 QUADTO
-79.01 390.33 79.01 388.814 QUADTO
-79.01 387.283 79.822 386.392 QUADTO
-80.635 385.502 82.041 385.502 QUADTO
-83.447 385.502 84.26 386.392 QUADTO
-85.072 387.283 85.072 388.814 QUADTO
-85.072 390.361 84.252 391.252 QUADTO
-83.432 392.142 81.994 392.142 QUADTO
-closepath
-82.01 391.283 M
-83.854 391.283 83.854 388.814 QUADTO
-83.854 386.361 82.041 386.361 QUADTO
-80.229 386.361 80.229 388.814 QUADTO
-80.229 391.283 82.01 391.283 QUADTO
-closepath
-90.865 392.002 M
-90.865 390.799 lineto
-89.943 392.142 88.631 392.142 QUADTO
-87.787 392.142 87.295 391.619 QUADTO
-86.803 391.095 86.803 390.205 QUADTO
-86.803 385.642 lineto
-87.959 385.642 lineto
-87.959 389.83 lineto
-87.959 390.549 88.17 390.853 QUADTO
-88.381 391.158 88.865 391.158 QUADTO
-89.928 391.158 90.865 389.767 QUADTO
-90.865 385.642 lineto
-92.006 385.642 lineto
-92.006 392.002 lineto
-90.865 392.002 lineto
-closepath
-94.328 394.314 M
-94.328 385.642 lineto
-95.484 385.642 lineto
-95.484 386.83 lineto
-96.188 385.502 97.609 385.502 QUADTO
-98.75 385.502 99.414 386.338 QUADTO
-100.078 387.174 100.078 388.627 QUADTO
-100.078 390.205 99.328 391.174 QUADTO
-98.578 392.142 97.359 392.142 QUADTO
-96.234 392.142 95.484 391.283 QUADTO
-95.484 394.314 lineto
-94.328 394.314 lineto
-closepath
-95.484 390.486 M
-96.375 391.283 97.188 391.283 QUADTO
-98.844 391.283 98.844 388.736 QUADTO
-98.844 386.502 97.375 386.502 QUADTO
-96.406 386.502 95.484 387.549 QUADTO
-95.484 390.486 lineto
-closepath
-103.568 392.142 M
-102.771 392.142 101.646 391.783 QUADTO
-101.646 390.72 lineto
-102.771 391.283 103.615 391.283 QUADTO
-104.115 391.283 104.443 391.009 QUADTO
-104.771 390.736 104.771 390.33 QUADTO
-104.771 389.752 103.85 389.361 QUADTO
-103.178 389.064 lineto
-101.678 388.455 101.678 387.283 QUADTO
-101.678 386.455 102.271 385.978 QUADTO
-102.865 385.502 103.881 385.502 QUADTO
-104.412 385.502 105.209 385.642 QUADTO
-105.443 385.689 lineto
-105.443 386.658 lineto
-104.475 386.361 103.912 386.361 QUADTO
-102.787 386.361 102.787 387.174 QUADTO
-102.787 387.689 103.631 388.049 QUADTO
-104.193 388.283 lineto
-105.131 388.689 105.529 389.127 QUADTO
-105.928 389.564 105.928 390.236 QUADTO
-105.928 391.064 105.264 391.603 QUADTO
-104.6 392.142 103.568 392.142 QUADTO
-closepath
-111.764 392.002 M
-111.764 383.33 lineto
-112.967 383.33 lineto
-117.326 390.033 lineto
-117.326 383.33 lineto
-118.389 383.33 lineto
-118.389 392.002 lineto
-117.186 392.002 lineto
-112.811 385.299 lineto
-112.811 392.002 lineto
-111.764 392.002 lineto
-closepath
-120.801 390.049 M
-120.801 389.189 lineto
-127.738 389.189 lineto
-127.738 390.049 lineto
-120.801 390.049 lineto
-closepath
-120.801 387.877 M
-120.801 387.017 lineto
-127.738 387.017 lineto
-127.738 387.877 lineto
-120.801 387.877 lineto
-closepath
-130.855 392.002 M
-130.855 391.127 lineto
-132.59 391.127 lineto
-132.59 384.283 lineto
-130.855 384.72 lineto
-130.855 383.83 lineto
-133.746 383.111 lineto
-133.746 391.127 lineto
-135.48 391.127 lineto
-135.48 392.002 lineto
-130.855 392.002 lineto
-closepath
-140.396 392.22 M
-139.053 392.22 138.225 390.955 QUADTO
-137.396 389.689 137.396 387.658 QUADTO
-137.396 385.611 138.232 384.361 QUADTO
-139.068 383.111 140.428 383.111 QUADTO
-141.787 383.111 142.623 384.361 QUADTO
-143.459 385.611 143.459 387.642 QUADTO
-143.459 389.72 142.623 390.97 QUADTO
-141.787 392.22 140.396 392.22 QUADTO
-closepath
-140.412 391.345 M
-142.24 391.345 142.24 387.627 QUADTO
-142.24 383.986 140.428 383.986 QUADTO
-138.631 383.986 138.631 387.658 QUADTO
-138.631 391.345 140.412 391.345 QUADTO
-closepath
-147.984 392.22 M
-146.641 392.22 145.812 390.955 QUADTO
-144.984 389.689 144.984 387.658 QUADTO
-144.984 385.611 145.82 384.361 QUADTO
-146.656 383.111 148.016 383.111 QUADTO
-149.375 383.111 150.211 384.361 QUADTO
-151.047 385.611 151.047 387.642 QUADTO
-151.047 389.72 150.211 390.97 QUADTO
-149.375 392.22 147.984 392.22 QUADTO
-closepath
-148 391.345 M
-149.828 391.345 149.828 387.627 QUADTO
-149.828 383.986 148.016 383.986 QUADTO
-146.219 383.986 146.219 387.658 QUADTO
-146.219 391.345 148 391.345 QUADTO
-closepath
-155.572 392.22 M
-154.229 392.22 153.4 390.955 QUADTO
-152.572 389.689 152.572 387.658 QUADTO
-152.572 385.611 153.408 384.361 QUADTO
-154.244 383.111 155.604 383.111 QUADTO
-156.963 383.111 157.799 384.361 QUADTO
-158.635 385.611 158.635 387.642 QUADTO
-158.635 389.72 157.799 390.97 QUADTO
-156.963 392.22 155.572 392.22 QUADTO
-closepath
-155.588 391.345 M
-157.416 391.345 157.416 387.627 QUADTO
-157.416 383.986 155.604 383.986 QUADTO
-153.807 383.986 153.807 387.658 QUADTO
-153.807 391.345 155.588 391.345 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-69.533 34.247 M
-388 34.247 lineto
-388 284.835 lineto
-69.533 284.835 lineto
-69.533 34.247 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.533 288.835 M
-388 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-69.505 304.604 M
-68.161 304.604 67.333 303.338 QUADTO
-66.505 302.072 66.505 300.041 QUADTO
-66.505 297.994 67.341 296.744 QUADTO
-68.177 295.494 69.536 295.494 QUADTO
-70.896 295.494 71.731 296.744 QUADTO
-72.567 297.994 72.567 300.026 QUADTO
-72.567 302.104 71.731 303.354 QUADTO
-70.896 304.604 69.505 304.604 QUADTO
-closepath
-69.521 303.729 M
-71.349 303.729 71.349 300.01 QUADTO
-71.349 296.369 69.536 296.369 QUADTO
-67.739 296.369 67.739 300.041 QUADTO
-67.739 303.729 69.521 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.533 290.835 M
-69.533 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-109.713 304.385 M
-109.713 303.51 lineto
-111.447 303.51 lineto
-111.447 296.666 lineto
-109.713 297.104 lineto
-109.713 296.213 lineto
-112.603 295.494 lineto
-112.603 303.51 lineto
-114.338 303.51 lineto
-114.338 304.385 lineto
-109.713 304.385 lineto
-closepath
-119.254 304.604 M
-117.91 304.604 117.082 303.338 QUADTO
-116.254 302.072 116.254 300.041 QUADTO
-116.254 297.994 117.09 296.744 QUADTO
-117.926 295.494 119.285 295.494 QUADTO
-120.644 295.494 121.48 296.744 QUADTO
-122.316 297.994 122.316 300.026 QUADTO
-122.316 302.104 121.48 303.354 QUADTO
-120.644 304.604 119.254 304.604 QUADTO
-closepath
-119.269 303.729 M
-121.097 303.729 121.097 300.01 QUADTO
-121.097 296.369 119.285 296.369 QUADTO
-117.488 296.369 117.488 300.041 QUADTO
-117.488 303.729 119.269 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-115.488 290.835 M
-115.488 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-154.855 304.385 M
-154.855 303.369 lineto
-155.355 302.197 156.886 300.807 QUADTO
-157.558 300.213 lineto
-158.824 299.057 158.824 297.916 QUADTO
-158.824 297.197 158.394 296.783 QUADTO
-157.964 296.369 157.199 296.369 QUADTO
-156.292 296.369 155.074 297.057 QUADTO
-155.074 296.041 lineto
-156.23 295.494 157.355 295.494 QUADTO
-158.574 295.494 159.316 296.151 QUADTO
-160.058 296.807 160.058 297.885 QUADTO
-160.058 298.666 159.683 299.276 QUADTO
-159.308 299.885 158.292 300.744 QUADTO
-157.855 301.119 lineto
-156.464 302.291 156.246 303.369 QUADTO
-160.011 303.369 lineto
-160.011 304.385 lineto
-154.855 304.385 lineto
-closepath
-165.208 304.604 M
-163.865 304.604 163.037 303.338 QUADTO
-162.208 302.072 162.208 300.041 QUADTO
-162.208 297.994 163.044 296.744 QUADTO
-163.88 295.494 165.24 295.494 QUADTO
-166.599 295.494 167.435 296.744 QUADTO
-168.271 297.994 168.271 300.026 QUADTO
-168.271 302.104 167.435 303.354 QUADTO
-166.599 304.604 165.208 304.604 QUADTO
-closepath
-165.224 303.729 M
-167.052 303.729 167.052 300.01 QUADTO
-167.052 296.369 165.24 296.369 QUADTO
-163.443 296.369 163.443 300.041 QUADTO
-163.443 303.729 165.224 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-161.443 290.835 M
-161.443 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-201.028 304.322 M
-201.028 303.244 lineto
-202.278 303.729 202.982 303.729 QUADTO
-203.81 303.729 204.333 303.244 QUADTO
-204.857 302.76 204.857 301.994 QUADTO
-204.857 300.166 202.294 300.166 QUADTO
-201.825 300.166 lineto
-201.825 299.385 lineto
-202.232 299.385 lineto
-204.638 299.385 204.638 297.697 QUADTO
-204.638 296.369 203.06 296.369 QUADTO
-202.185 296.369 201.153 296.854 QUADTO
-201.153 295.838 lineto
-202.169 295.494 203.138 295.494 QUADTO
-205.794 295.494 205.794 297.51 QUADTO
-205.794 299.041 203.982 299.682 QUADTO
-206.091 300.166 206.091 301.979 QUADTO
-206.091 303.213 205.278 303.908 QUADTO
-204.466 304.604 203.06 304.604 QUADTO
-202.247 304.604 201.028 304.322 QUADTO
-closepath
-211.163 304.604 M
-209.82 304.604 208.991 303.338 QUADTO
-208.163 302.072 208.163 300.041 QUADTO
-208.163 297.994 208.999 296.744 QUADTO
-209.835 295.494 211.195 295.494 QUADTO
-212.554 295.494 213.39 296.744 QUADTO
-214.226 297.994 214.226 300.026 QUADTO
-214.226 302.104 213.39 303.354 QUADTO
-212.554 304.604 211.163 304.604 QUADTO
-closepath
-211.179 303.729 M
-213.007 303.729 213.007 300.01 QUADTO
-213.007 296.369 211.195 296.369 QUADTO
-209.398 296.369 209.398 300.041 QUADTO
-209.398 303.729 211.179 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-207.398 290.835 M
-207.398 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-250.28 304.385 M
-250.28 301.932 lineto
-246.374 301.932 lineto
-246.374 301.057 lineto
-250.28 295.713 lineto
-251.374 295.713 lineto
-251.374 300.979 lineto
-252.53 300.979 lineto
-252.53 301.932 lineto
-251.374 301.932 lineto
-251.374 304.385 lineto
-250.28 304.385 lineto
-closepath
-247.515 300.979 M
-250.358 300.979 lineto
-250.358 297.135 lineto
-247.515 300.979 lineto
-closepath
-257.118 304.604 M
-255.774 304.604 254.946 303.338 QUADTO
-254.118 302.072 254.118 300.041 QUADTO
-254.118 297.994 254.954 296.744 QUADTO
-255.79 295.494 257.149 295.494 QUADTO
-258.509 295.494 259.345 296.744 QUADTO
-260.181 297.994 260.181 300.026 QUADTO
-260.181 302.104 259.345 303.354 QUADTO
-258.509 304.604 257.118 304.604 QUADTO
-closepath
-257.134 303.729 M
-258.962 303.729 258.962 300.01 QUADTO
-258.962 296.369 257.149 296.369 QUADTO
-255.352 296.369 255.352 300.041 QUADTO
-255.352 303.729 257.134 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-253.352 290.835 M
-253.352 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-293.172 304.416 M
-293.172 303.385 lineto
-294.047 303.729 294.813 303.729 QUADTO
-295.672 303.729 296.165 303.229 QUADTO
-296.657 302.729 296.657 301.838 QUADTO
-296.657 299.885 293.969 299.885 QUADTO
-293.657 299.885 293.329 299.932 QUADTO
-293.329 295.713 lineto
-297.719 295.713 lineto
-297.719 296.713 lineto
-294.344 296.713 lineto
-294.344 299.01 lineto
-296.016 299.01 296.954 299.776 QUADTO
-297.891 300.541 297.891 301.901 QUADTO
-297.891 303.166 297.032 303.885 QUADTO
-296.172 304.604 294.672 304.604 QUADTO
-294.016 304.604 293.172 304.416 QUADTO
-closepath
-303.073 304.604 M
-301.729 304.604 300.901 303.338 QUADTO
-300.073 302.072 300.073 300.041 QUADTO
-300.073 297.994 300.909 296.744 QUADTO
-301.745 295.494 303.104 295.494 QUADTO
-304.463 295.494 305.299 296.744 QUADTO
-306.135 297.994 306.135 300.026 QUADTO
-306.135 302.104 305.299 303.354 QUADTO
-304.463 304.604 303.073 304.604 QUADTO
-closepath
-303.088 303.729 M
-304.917 303.729 304.917 300.01 QUADTO
-304.917 296.369 303.104 296.369 QUADTO
-301.307 296.369 301.307 300.041 QUADTO
-301.307 303.729 303.088 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-299.307 290.835 M
-299.307 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-339.737 299.885 M
-340.565 298.822 341.815 298.822 QUADTO
-342.955 298.822 343.682 299.572 QUADTO
-344.409 300.322 344.409 301.494 QUADTO
-344.409 302.854 343.596 303.729 QUADTO
-342.784 304.604 341.534 304.604 QUADTO
-340.096 304.604 339.284 303.447 QUADTO
-338.471 302.291 338.471 300.244 QUADTO
-338.471 297.979 339.401 296.737 QUADTO
-340.33 295.494 342.018 295.494 QUADTO
-342.799 295.494 343.955 295.822 QUADTO
-343.955 296.822 lineto
-342.737 296.354 341.955 296.354 QUADTO
-339.737 296.354 339.737 299.885 QUADTO
-closepath
-343.237 301.76 M
-343.237 300.776 342.799 300.213 QUADTO
-342.362 299.651 341.565 299.651 QUADTO
-340.846 299.651 340.315 300.143 QUADTO
-339.784 300.635 339.784 301.322 QUADTO
-339.784 302.416 340.284 303.072 QUADTO
-340.784 303.729 341.612 303.729 QUADTO
-342.362 303.729 342.799 303.197 QUADTO
-343.237 302.666 343.237 301.76 QUADTO
-closepath
-349.028 304.604 M
-347.684 304.604 346.856 303.338 QUADTO
-346.028 302.072 346.028 300.041 QUADTO
-346.028 297.994 346.864 296.744 QUADTO
-347.7 295.494 349.059 295.494 QUADTO
-350.418 295.494 351.254 296.744 QUADTO
-352.09 297.994 352.09 300.026 QUADTO
-352.09 302.104 351.254 303.354 QUADTO
-350.418 304.604 349.028 304.604 QUADTO
-closepath
-349.043 303.729 M
-350.871 303.729 350.871 300.01 QUADTO
-350.871 296.369 349.059 296.369 QUADTO
-347.262 296.369 347.262 300.041 QUADTO
-347.262 303.729 349.043 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-345.262 290.835 M
-345.262 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-175.293 323.858 M
-175.293 316.358 lineto
-177.309 316.358 lineto
-177.309 317.764 lineto
-178.309 316.186 179.872 316.186 QUADTO
-180.872 316.186 181.458 316.819 QUADTO
-182.043 317.452 182.043 318.545 QUADTO
-182.043 323.858 lineto
-180.012 323.858 lineto
-180.012 319.045 lineto
-180.012 317.78 179.168 317.78 QUADTO
-178.2 317.78 177.309 319.139 QUADTO
-177.309 323.858 lineto
-175.293 323.858 lineto
-closepath
-187.644 324.03 M
-185.878 324.03 184.847 322.967 QUADTO
-183.816 321.905 183.816 320.108 QUADTO
-183.816 318.28 184.855 317.233 QUADTO
-185.894 316.186 187.691 316.186 QUADTO
-189.488 316.186 190.527 317.233 QUADTO
-191.566 318.28 191.566 320.092 QUADTO
-191.566 321.936 190.519 322.983 QUADTO
-189.472 324.03 187.644 324.03 QUADTO
-closepath
-187.675 322.764 M
-189.41 322.764 189.41 320.092 QUADTO
-189.41 318.874 188.949 318.163 QUADTO
-188.488 317.452 187.691 317.452 QUADTO
-186.894 317.452 186.425 318.163 QUADTO
-185.957 318.874 185.957 320.108 QUADTO
-185.957 321.327 186.417 322.045 QUADTO
-186.878 322.764 187.675 322.764 QUADTO
-closepath
-198.148 323.858 M
-198.148 322.436 lineto
-197.367 324.03 195.695 324.03 QUADTO
-194.351 324.03 193.578 323.038 QUADTO
-192.804 322.045 192.804 320.311 QUADTO
-192.804 318.42 193.671 317.303 QUADTO
-194.539 316.186 196.007 316.186 QUADTO
-197.195 316.186 198.148 317.108 QUADTO
-198.148 313.061 lineto
-200.179 313.061 lineto
-200.179 323.858 lineto
-198.148 323.858 lineto
-closepath
-198.148 318.311 M
-197.414 317.499 196.585 317.499 QUADTO
-195.835 317.499 195.398 318.217 QUADTO
-194.96 318.936 194.96 320.139 QUADTO
-194.96 322.436 196.429 322.436 QUADTO
-197.335 322.436 198.148 321.28 QUADTO
-198.148 318.311 lineto
-closepath
-208.815 323.608 M
-207.377 324.03 206.081 324.03 QUADTO
-204.206 324.03 203.12 322.959 QUADTO
-202.034 321.889 202.034 320.045 QUADTO
-202.034 318.311 203.026 317.249 QUADTO
-204.018 316.186 205.659 316.186 QUADTO
-207.299 316.186 208.057 317.225 QUADTO
-208.815 318.264 208.815 320.514 QUADTO
-204.159 320.514 lineto
-204.362 322.655 206.518 322.655 QUADTO
-207.534 322.655 208.815 322.186 QUADTO
-208.815 323.608 lineto
-closepath
-204.127 319.374 M
-206.831 319.374 lineto
-206.831 317.452 205.596 317.452 QUADTO
-204.331 317.452 204.127 319.374 QUADTO
-closepath
-210.706 323.624 M
-210.706 322.139 lineto
-212.221 322.764 213.284 322.764 QUADTO
-214.518 322.764 214.518 321.92 QUADTO
-214.518 321.374 213.502 320.952 QUADTO
-212.815 320.686 lineto
-211.706 320.233 211.221 319.717 QUADTO
-210.737 319.202 210.737 318.436 QUADTO
-210.737 317.358 211.557 316.772 QUADTO
-212.377 316.186 213.831 316.186 QUADTO
-214.752 316.186 216.018 316.452 QUADTO
-216.018 317.874 lineto
-214.799 317.452 214.002 317.452 QUADTO
-212.737 317.452 212.737 318.217 QUADTO
-212.737 318.733 213.674 319.092 QUADTO
-214.252 319.311 lineto
-215.581 319.811 216.096 320.327 QUADTO
-216.612 320.842 216.612 321.655 QUADTO
-216.612 322.702 215.729 323.366 QUADTO
-214.846 324.03 213.44 324.03 QUADTO
-212.096 324.03 210.706 323.624 QUADTO
-closepath
-223.439 323.858 M
-223.439 316.358 lineto
-225.455 316.358 lineto
-225.455 323.858 lineto
-223.439 323.858 lineto
-closepath
-223.439 315.092 M
-223.439 313.405 lineto
-225.455 313.405 lineto
-225.455 315.092 lineto
-223.439 315.092 lineto
-closepath
-227.992 323.858 M
-227.992 316.358 lineto
-230.007 316.358 lineto
-230.007 317.764 lineto
-231.007 316.186 232.57 316.186 QUADTO
-233.57 316.186 234.156 316.819 QUADTO
-234.742 317.452 234.742 318.545 QUADTO
-234.742 323.858 lineto
-232.71 323.858 lineto
-232.71 319.045 lineto
-232.71 317.78 231.867 317.78 QUADTO
-230.898 317.78 230.007 319.139 QUADTO
-230.007 323.858 lineto
-227.992 323.858 lineto
-closepath
-239.045 323.858 M
-236.17 316.358 lineto
-238.311 316.358 lineto
-240.405 321.764 lineto
-242.483 316.358 lineto
-243.952 316.358 lineto
-241.061 323.858 lineto
-239.045 323.858 lineto
-closepath
-248.648 324.03 M
-246.882 324.03 245.851 322.967 QUADTO
-244.82 321.905 244.82 320.108 QUADTO
-244.82 318.28 245.859 317.233 QUADTO
-246.898 316.186 248.695 316.186 QUADTO
-250.492 316.186 251.531 317.233 QUADTO
-252.57 318.28 252.57 320.092 QUADTO
-252.57 321.936 251.523 322.983 QUADTO
-250.476 324.03 248.648 324.03 QUADTO
-closepath
-248.679 322.764 M
-250.414 322.764 250.414 320.092 QUADTO
-250.414 318.874 249.953 318.163 QUADTO
-249.492 317.452 248.695 317.452 QUADTO
-247.898 317.452 247.429 318.163 QUADTO
-246.96 318.874 246.96 320.108 QUADTO
-246.96 321.327 247.421 322.045 QUADTO
-247.882 322.764 248.679 322.764 QUADTO
-closepath
-254.433 323.858 M
-254.433 313.061 lineto
-256.449 313.061 lineto
-256.449 323.858 lineto
-254.433 323.858 lineto
-closepath
-260.845 323.858 M
-257.97 316.358 lineto
-260.111 316.358 lineto
-262.205 321.764 lineto
-264.283 316.358 lineto
-265.751 316.358 lineto
-262.861 323.858 lineto
-260.845 323.858 lineto
-closepath
-273.401 323.608 M
-271.963 324.03 270.667 324.03 QUADTO
-268.792 324.03 267.706 322.959 QUADTO
-266.62 321.889 266.62 320.045 QUADTO
-266.62 318.311 267.612 317.249 QUADTO
-268.604 316.186 270.245 316.186 QUADTO
-271.885 316.186 272.643 317.225 QUADTO
-273.401 318.264 273.401 320.514 QUADTO
-268.745 320.514 lineto
-268.948 322.655 271.104 322.655 QUADTO
-272.12 322.655 273.401 322.186 QUADTO
-273.401 323.608 lineto
-closepath
-268.713 319.374 M
-271.417 319.374 lineto
-271.417 317.452 270.182 317.452 QUADTO
-268.917 317.452 268.713 319.374 QUADTO
-closepath
-280.213 323.858 M
-280.213 322.436 lineto
-279.432 324.03 277.76 324.03 QUADTO
-276.417 324.03 275.643 323.038 QUADTO
-274.87 322.045 274.87 320.311 QUADTO
-274.87 318.42 275.737 317.303 QUADTO
-276.604 316.186 278.073 316.186 QUADTO
-279.26 316.186 280.213 317.108 QUADTO
-280.213 313.061 lineto
-282.245 313.061 lineto
-282.245 323.858 lineto
-280.213 323.858 lineto
-closepath
-280.213 318.311 M
-279.479 317.499 278.651 317.499 QUADTO
-277.901 317.499 277.463 318.217 QUADTO
-277.026 318.936 277.026 320.139 QUADTO
-277.026 322.436 278.495 322.436 QUADTO
-279.401 322.436 280.213 321.28 QUADTO
-280.213 318.311 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-65.533 34.247 M
-65.533 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-44.326 289.33 M
-42.982 289.33 42.154 288.064 QUADTO
-41.326 286.798 41.326 284.767 QUADTO
-41.326 282.72 42.162 281.47 QUADTO
-42.998 280.22 44.357 280.22 QUADTO
-45.717 280.22 46.553 281.47 QUADTO
-47.389 282.72 47.389 284.752 QUADTO
-47.389 286.83 46.553 288.08 QUADTO
-45.717 289.33 44.326 289.33 QUADTO
-closepath
-44.342 288.455 M
-46.17 288.455 46.17 284.736 QUADTO
-46.17 281.095 44.357 281.095 QUADTO
-42.561 281.095 42.561 284.767 QUADTO
-42.561 288.455 44.342 288.455 QUADTO
-closepath
-49.32 289.111 M
-49.32 287.658 lineto
-50.773 287.658 lineto
-50.773 289.111 lineto
-49.32 289.111 lineto
-closepath
-55.711 289.33 M
-54.367 289.33 53.539 288.064 QUADTO
-52.711 286.798 52.711 284.767 QUADTO
-52.711 282.72 53.547 281.47 QUADTO
-54.383 280.22 55.742 280.22 QUADTO
-57.102 280.22 57.938 281.47 QUADTO
-58.773 282.72 58.773 284.752 QUADTO
-58.773 286.83 57.938 288.08 QUADTO
-57.102 289.33 55.711 289.33 QUADTO
-closepath
-55.727 288.455 M
-57.555 288.455 57.555 284.736 QUADTO
-57.555 281.095 55.742 281.095 QUADTO
-53.945 281.095 53.945 284.767 QUADTO
-53.945 288.455 55.727 288.455 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 284.835 M
-65.533 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-41.561 269.969 M
-41.561 268.954 lineto
-42.061 267.782 43.592 266.391 QUADTO
-44.264 265.798 lineto
-45.529 264.641 45.529 263.501 QUADTO
-45.529 262.782 45.1 262.368 QUADTO
-44.67 261.954 43.904 261.954 QUADTO
-42.998 261.954 41.779 262.641 QUADTO
-41.779 261.626 lineto
-42.936 261.079 44.061 261.079 QUADTO
-45.279 261.079 46.021 261.735 QUADTO
-46.764 262.391 46.764 263.469 QUADTO
-46.764 264.251 46.389 264.86 QUADTO
-46.014 265.469 44.998 266.329 QUADTO
-44.561 266.704 lineto
-43.17 267.876 42.951 268.954 QUADTO
-46.717 268.954 lineto
-46.717 269.969 lineto
-41.561 269.969 lineto
-closepath
-49.32 269.969 M
-49.32 268.516 lineto
-50.773 268.516 lineto
-50.773 269.969 lineto
-49.32 269.969 lineto
-closepath
-53.398 270.001 M
-53.398 268.969 lineto
-54.273 269.313 55.039 269.313 QUADTO
-55.898 269.313 56.391 268.813 QUADTO
-56.883 268.313 56.883 267.423 QUADTO
-56.883 265.469 54.195 265.469 QUADTO
-53.883 265.469 53.555 265.516 QUADTO
-53.555 261.298 lineto
-57.945 261.298 lineto
-57.945 262.298 lineto
-54.57 262.298 lineto
-54.57 264.594 lineto
-56.242 264.594 57.18 265.36 QUADTO
-58.117 266.126 58.117 267.485 QUADTO
-58.117 268.751 57.258 269.469 QUADTO
-56.398 270.188 54.898 270.188 QUADTO
-54.242 270.188 53.398 270.001 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 265.694 M
-65.533 265.694 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-42.014 250.859 M
-42.014 249.828 lineto
-42.889 250.172 43.654 250.172 QUADTO
-44.514 250.172 45.006 249.672 QUADTO
-45.498 249.172 45.498 248.281 QUADTO
-45.498 246.328 42.811 246.328 QUADTO
-42.498 246.328 42.17 246.375 QUADTO
-42.17 242.156 lineto
-46.561 242.156 lineto
-46.561 243.156 lineto
-43.186 243.156 lineto
-43.186 245.453 lineto
-44.857 245.453 45.795 246.219 QUADTO
-46.732 246.984 46.732 248.344 QUADTO
-46.732 249.609 45.873 250.328 QUADTO
-45.014 251.047 43.514 251.047 QUADTO
-42.857 251.047 42.014 250.859 QUADTO
-closepath
-49.32 250.828 M
-49.32 249.375 lineto
-50.773 249.375 lineto
-50.773 250.828 lineto
-49.32 250.828 lineto
-closepath
-55.711 251.047 M
-54.367 251.047 53.539 249.781 QUADTO
-52.711 248.515 52.711 246.484 QUADTO
-52.711 244.437 53.547 243.187 QUADTO
-54.383 241.937 55.742 241.937 QUADTO
-57.102 241.937 57.938 243.187 QUADTO
-58.773 244.437 58.773 246.469 QUADTO
-58.773 248.547 57.938 249.797 QUADTO
-57.102 251.047 55.711 251.047 QUADTO
-closepath
-55.727 250.172 M
-57.555 250.172 57.555 246.453 QUADTO
-57.555 242.812 55.742 242.812 QUADTO
-53.945 242.812 53.945 246.484 QUADTO
-53.945 250.172 55.727 250.172 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 246.552 M
-65.533 246.552 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-42.373 231.686 M
-42.529 230.671 42.85 229.936 QUADTO
-43.17 229.202 43.967 227.905 QUADTO
-46.326 224.093 lineto
-41.857 224.093 lineto
-41.857 223.015 lineto
-47.436 223.015 lineto
-47.436 224.093 lineto
-44.092 229.015 43.701 231.686 QUADTO
-42.373 231.686 lineto
-closepath
-49.32 231.686 M
-49.32 230.233 lineto
-50.773 230.233 lineto
-50.773 231.686 lineto
-49.32 231.686 lineto
-closepath
-53.398 231.718 M
-53.398 230.686 lineto
-54.273 231.03 55.039 231.03 QUADTO
-55.898 231.03 56.391 230.53 QUADTO
-56.883 230.03 56.883 229.14 QUADTO
-56.883 227.186 54.195 227.186 QUADTO
-53.883 227.186 53.555 227.233 QUADTO
-53.555 223.015 lineto
-57.945 223.015 lineto
-57.945 224.015 lineto
-54.57 224.015 lineto
-54.57 226.311 lineto
-56.242 226.311 57.18 227.077 QUADTO
-58.117 227.843 58.117 229.202 QUADTO
-58.117 230.468 57.258 231.186 QUADTO
-56.398 231.905 54.898 231.905 QUADTO
-54.242 231.905 53.398 231.718 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 227.411 M
-65.533 227.411 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 212.545 M
-34.785 211.67 lineto
-36.52 211.67 lineto
-36.52 204.826 lineto
-34.785 205.264 lineto
-34.785 204.373 lineto
-37.676 203.654 lineto
-37.676 211.67 lineto
-39.41 211.67 lineto
-39.41 212.545 lineto
-34.785 212.545 lineto
-closepath
-44.326 212.764 M
-42.982 212.764 42.154 211.498 QUADTO
-41.326 210.233 41.326 208.201 QUADTO
-41.326 206.154 42.162 204.904 QUADTO
-42.998 203.654 44.357 203.654 QUADTO
-45.717 203.654 46.553 204.904 QUADTO
-47.389 206.154 47.389 208.186 QUADTO
-47.389 210.264 46.553 211.514 QUADTO
-45.717 212.764 44.326 212.764 QUADTO
-closepath
-44.342 211.889 M
-46.17 211.889 46.17 208.17 QUADTO
-46.17 204.529 44.357 204.529 QUADTO
-42.561 204.529 42.561 208.201 QUADTO
-42.561 211.889 44.342 211.889 QUADTO
-closepath
-49.32 212.545 M
-49.32 211.092 lineto
-50.773 211.092 lineto
-50.773 212.545 lineto
-49.32 212.545 lineto
-closepath
-55.711 212.764 M
-54.367 212.764 53.539 211.498 QUADTO
-52.711 210.233 52.711 208.201 QUADTO
-52.711 206.154 53.547 204.904 QUADTO
-54.383 203.654 55.742 203.654 QUADTO
-57.102 203.654 57.938 204.904 QUADTO
-58.773 206.154 58.773 208.186 QUADTO
-58.773 210.264 57.938 211.514 QUADTO
-57.102 212.764 55.711 212.764 QUADTO
-closepath
-55.727 211.889 M
-57.555 211.889 57.555 208.17 QUADTO
-57.555 204.529 55.742 204.529 QUADTO
-53.945 204.529 53.945 208.201 QUADTO
-53.945 211.889 55.727 211.889 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 208.269 M
-65.533 208.269 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 193.404 M
-34.785 192.529 lineto
-36.52 192.529 lineto
-36.52 185.685 lineto
-34.785 186.122 lineto
-34.785 185.232 lineto
-37.676 184.513 lineto
-37.676 192.529 lineto
-39.41 192.529 lineto
-39.41 193.404 lineto
-34.785 193.404 lineto
-closepath
-41.561 193.404 M
-41.561 192.388 lineto
-42.061 191.216 43.592 189.825 QUADTO
-44.264 189.232 lineto
-45.529 188.075 45.529 186.935 QUADTO
-45.529 186.216 45.1 185.802 QUADTO
-44.67 185.388 43.904 185.388 QUADTO
-42.998 185.388 41.779 186.075 QUADTO
-41.779 185.06 lineto
-42.936 184.513 44.061 184.513 QUADTO
-45.279 184.513 46.021 185.169 QUADTO
-46.764 185.825 46.764 186.904 QUADTO
-46.764 187.685 46.389 188.294 QUADTO
-46.014 188.904 44.998 189.763 QUADTO
-44.561 190.138 lineto
-43.17 191.31 42.951 192.388 QUADTO
-46.717 192.388 lineto
-46.717 193.404 lineto
-41.561 193.404 lineto
-closepath
-49.32 193.404 M
-49.32 191.95 lineto
-50.773 191.95 lineto
-50.773 193.404 lineto
-49.32 193.404 lineto
-closepath
-53.398 193.435 M
-53.398 192.404 lineto
-54.273 192.747 55.039 192.747 QUADTO
-55.898 192.747 56.391 192.247 QUADTO
-56.883 191.747 56.883 190.857 QUADTO
-56.883 188.904 54.195 188.904 QUADTO
-53.883 188.904 53.555 188.95 QUADTO
-53.555 184.732 lineto
-57.945 184.732 lineto
-57.945 185.732 lineto
-54.57 185.732 lineto
-54.57 188.029 lineto
-56.242 188.029 57.18 188.794 QUADTO
-58.117 189.56 58.117 190.919 QUADTO
-58.117 192.185 57.258 192.904 QUADTO
-56.398 193.622 54.898 193.622 QUADTO
-54.242 193.622 53.398 193.435 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 189.128 M
-65.533 189.128 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 174.262 M
-34.785 173.387 lineto
-36.52 173.387 lineto
-36.52 166.543 lineto
-34.785 166.981 lineto
-34.785 166.09 lineto
-37.676 165.371 lineto
-37.676 173.387 lineto
-39.41 173.387 lineto
-39.41 174.262 lineto
-34.785 174.262 lineto
-closepath
-42.014 174.293 M
-42.014 173.262 lineto
-42.889 173.606 43.654 173.606 QUADTO
-44.514 173.606 45.006 173.106 QUADTO
-45.498 172.606 45.498 171.715 QUADTO
-45.498 169.762 42.811 169.762 QUADTO
-42.498 169.762 42.17 169.809 QUADTO
-42.17 165.59 lineto
-46.561 165.59 lineto
-46.561 166.59 lineto
-43.186 166.59 lineto
-43.186 168.887 lineto
-44.857 168.887 45.795 169.653 QUADTO
-46.732 170.418 46.732 171.778 QUADTO
-46.732 173.043 45.873 173.762 QUADTO
-45.014 174.481 43.514 174.481 QUADTO
-42.857 174.481 42.014 174.293 QUADTO
-closepath
-49.32 174.262 M
-49.32 172.809 lineto
-50.773 172.809 lineto
-50.773 174.262 lineto
-49.32 174.262 lineto
-closepath
-55.711 174.481 M
-54.367 174.481 53.539 173.215 QUADTO
-52.711 171.95 52.711 169.918 QUADTO
-52.711 167.871 53.547 166.621 QUADTO
-54.383 165.371 55.742 165.371 QUADTO
-57.102 165.371 57.938 166.621 QUADTO
-58.773 167.871 58.773 169.903 QUADTO
-58.773 171.981 57.938 173.231 QUADTO
-57.102 174.481 55.711 174.481 QUADTO
-closepath
-55.727 173.606 M
-57.555 173.606 57.555 169.887 QUADTO
-57.555 166.246 55.742 166.246 QUADTO
-53.945 166.246 53.945 169.918 QUADTO
-53.945 173.606 55.727 173.606 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 169.986 M
-65.533 169.986 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 155.121 M
-34.785 154.246 lineto
-36.52 154.246 lineto
-36.52 147.402 lineto
-34.785 147.839 lineto
-34.785 146.949 lineto
-37.676 146.23 lineto
-37.676 154.246 lineto
-39.41 154.246 lineto
-39.41 155.121 lineto
-34.785 155.121 lineto
-closepath
-42.373 155.121 M
-42.529 154.105 42.85 153.371 QUADTO
-43.17 152.636 43.967 151.339 QUADTO
-46.326 147.527 lineto
-41.857 147.527 lineto
-41.857 146.449 lineto
-47.436 146.449 lineto
-47.436 147.527 lineto
-44.092 152.449 43.701 155.121 QUADTO
-42.373 155.121 lineto
-closepath
-49.32 155.121 M
-49.32 153.667 lineto
-50.773 153.667 lineto
-50.773 155.121 lineto
-49.32 155.121 lineto
-closepath
-53.398 155.152 M
-53.398 154.121 lineto
-54.273 154.464 55.039 154.464 QUADTO
-55.898 154.464 56.391 153.964 QUADTO
-56.883 153.464 56.883 152.574 QUADTO
-56.883 150.621 54.195 150.621 QUADTO
-53.883 150.621 53.555 150.667 QUADTO
-53.555 146.449 lineto
-57.945 146.449 lineto
-57.945 147.449 lineto
-54.57 147.449 lineto
-54.57 149.746 lineto
-56.242 149.746 57.18 150.511 QUADTO
-58.117 151.277 58.117 152.636 QUADTO
-58.117 153.902 57.258 154.621 QUADTO
-56.398 155.339 54.898 155.339 QUADTO
-54.242 155.339 53.398 155.152 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 150.845 M
-65.533 150.845 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 135.979 M
-33.973 134.963 lineto
-34.473 133.792 36.004 132.401 QUADTO
-36.676 131.807 lineto
-37.941 130.651 37.941 129.51 QUADTO
-37.941 128.792 37.512 128.377 QUADTO
-37.082 127.963 36.316 127.963 QUADTO
-35.41 127.963 34.191 128.651 QUADTO
-34.191 127.635 lineto
-35.348 127.088 36.473 127.088 QUADTO
-37.691 127.088 38.434 127.745 QUADTO
-39.176 128.401 39.176 129.479 QUADTO
-39.176 130.26 38.801 130.87 QUADTO
-38.426 131.479 37.41 132.338 QUADTO
-36.973 132.713 lineto
-35.582 133.885 35.363 134.963 QUADTO
-39.129 134.963 lineto
-39.129 135.979 lineto
-33.973 135.979 lineto
-closepath
-44.326 136.198 M
-42.982 136.198 42.154 134.932 QUADTO
-41.326 133.667 41.326 131.635 QUADTO
-41.326 129.588 42.162 128.338 QUADTO
-42.998 127.088 44.357 127.088 QUADTO
-45.717 127.088 46.553 128.338 QUADTO
-47.389 129.588 47.389 131.62 QUADTO
-47.389 133.698 46.553 134.948 QUADTO
-45.717 136.198 44.326 136.198 QUADTO
-closepath
-44.342 135.323 M
-46.17 135.323 46.17 131.604 QUADTO
-46.17 127.963 44.357 127.963 QUADTO
-42.561 127.963 42.561 131.635 QUADTO
-42.561 135.323 44.342 135.323 QUADTO
-closepath
-49.32 135.979 M
-49.32 134.526 lineto
-50.773 134.526 lineto
-50.773 135.979 lineto
-49.32 135.979 lineto
-closepath
-55.711 136.198 M
-54.367 136.198 53.539 134.932 QUADTO
-52.711 133.667 52.711 131.635 QUADTO
-52.711 129.588 53.547 128.338 QUADTO
-54.383 127.088 55.742 127.088 QUADTO
-57.102 127.088 57.938 128.338 QUADTO
-58.773 129.588 58.773 131.62 QUADTO
-58.773 133.698 57.938 134.948 QUADTO
-57.102 136.198 55.711 136.198 QUADTO
-closepath
-55.727 135.323 M
-57.555 135.323 57.555 131.604 QUADTO
-57.555 127.963 55.742 127.963 QUADTO
-53.945 127.963 53.945 131.635 QUADTO
-53.945 135.323 55.727 135.323 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 131.703 M
-65.533 131.703 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 116.838 M
-33.973 115.822 lineto
-34.473 114.65 36.004 113.259 QUADTO
-36.676 112.666 lineto
-37.941 111.509 37.941 110.369 QUADTO
-37.941 109.65 37.512 109.236 QUADTO
-37.082 108.822 36.316 108.822 QUADTO
-35.41 108.822 34.191 109.509 QUADTO
-34.191 108.494 lineto
-35.348 107.947 36.473 107.947 QUADTO
-37.691 107.947 38.434 108.603 QUADTO
-39.176 109.259 39.176 110.338 QUADTO
-39.176 111.119 38.801 111.728 QUADTO
-38.426 112.338 37.41 113.197 QUADTO
-36.973 113.572 lineto
-35.582 114.744 35.363 115.822 QUADTO
-39.129 115.822 lineto
-39.129 116.838 lineto
-33.973 116.838 lineto
-closepath
-41.561 116.838 M
-41.561 115.822 lineto
-42.061 114.65 43.592 113.259 QUADTO
-44.264 112.666 lineto
-45.529 111.509 45.529 110.369 QUADTO
-45.529 109.65 45.1 109.236 QUADTO
-44.67 108.822 43.904 108.822 QUADTO
-42.998 108.822 41.779 109.509 QUADTO
-41.779 108.494 lineto
-42.936 107.947 44.061 107.947 QUADTO
-45.279 107.947 46.021 108.603 QUADTO
-46.764 109.259 46.764 110.338 QUADTO
-46.764 111.119 46.389 111.728 QUADTO
-46.014 112.338 44.998 113.197 QUADTO
-44.561 113.572 lineto
-43.17 114.744 42.951 115.822 QUADTO
-46.717 115.822 lineto
-46.717 116.838 lineto
-41.561 116.838 lineto
-closepath
-49.32 116.838 M
-49.32 115.384 lineto
-50.773 115.384 lineto
-50.773 116.838 lineto
-49.32 116.838 lineto
-closepath
-53.398 116.869 M
-53.398 115.838 lineto
-54.273 116.181 55.039 116.181 QUADTO
-55.898 116.181 56.391 115.681 QUADTO
-56.883 115.181 56.883 114.291 QUADTO
-56.883 112.338 54.195 112.338 QUADTO
-53.883 112.338 53.555 112.384 QUADTO
-53.555 108.166 lineto
-57.945 108.166 lineto
-57.945 109.166 lineto
-54.57 109.166 lineto
-54.57 111.463 lineto
-56.242 111.463 57.18 112.228 QUADTO
-58.117 112.994 58.117 114.353 QUADTO
-58.117 115.619 57.258 116.338 QUADTO
-56.398 117.056 54.898 117.056 QUADTO
-54.242 117.056 53.398 116.869 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 112.562 M
-65.533 112.562 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 97.696 M
-33.973 96.68 lineto
-34.473 95.509 36.004 94.118 QUADTO
-36.676 93.524 lineto
-37.941 92.368 37.941 91.227 QUADTO
-37.941 90.509 37.512 90.095 QUADTO
-37.082 89.68 36.316 89.68 QUADTO
-35.41 89.68 34.191 90.368 QUADTO
-34.191 89.352 lineto
-35.348 88.805 36.473 88.805 QUADTO
-37.691 88.805 38.434 89.462 QUADTO
-39.176 90.118 39.176 91.196 QUADTO
-39.176 91.977 38.801 92.587 QUADTO
-38.426 93.196 37.41 94.055 QUADTO
-36.973 94.43 lineto
-35.582 95.602 35.363 96.68 QUADTO
-39.129 96.68 lineto
-39.129 97.696 lineto
-33.973 97.696 lineto
-closepath
-42.014 97.727 M
-42.014 96.696 lineto
-42.889 97.04 43.654 97.04 QUADTO
-44.514 97.04 45.006 96.54 QUADTO
-45.498 96.04 45.498 95.149 QUADTO
-45.498 93.196 42.811 93.196 QUADTO
-42.498 93.196 42.17 93.243 QUADTO
-42.17 89.024 lineto
-46.561 89.024 lineto
-46.561 90.024 lineto
-43.186 90.024 lineto
-43.186 92.321 lineto
-44.857 92.321 45.795 93.087 QUADTO
-46.732 93.852 46.732 95.212 QUADTO
-46.732 96.477 45.873 97.196 QUADTO
-45.014 97.915 43.514 97.915 QUADTO
-42.857 97.915 42.014 97.727 QUADTO
-closepath
-49.32 97.696 M
-49.32 96.243 lineto
-50.773 96.243 lineto
-50.773 97.696 lineto
-49.32 97.696 lineto
-closepath
-55.711 97.915 M
-54.367 97.915 53.539 96.649 QUADTO
-52.711 95.384 52.711 93.352 QUADTO
-52.711 91.305 53.547 90.055 QUADTO
-54.383 88.805 55.742 88.805 QUADTO
-57.102 88.805 57.938 90.055 QUADTO
-58.773 91.305 58.773 93.337 QUADTO
-58.773 95.415 57.938 96.665 QUADTO
-57.102 97.915 55.711 97.915 QUADTO
-closepath
-55.727 97.04 M
-57.555 97.04 57.555 93.321 QUADTO
-57.555 89.68 55.742 89.68 QUADTO
-53.945 89.68 53.945 93.352 QUADTO
-53.945 97.04 55.727 97.04 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 93.42 M
-65.533 93.42 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 78.555 M
-33.973 77.539 lineto
-34.473 76.367 36.004 74.976 QUADTO
-36.676 74.383 lineto
-37.941 73.226 37.941 72.086 QUADTO
-37.941 71.367 37.512 70.953 QUADTO
-37.082 70.539 36.316 70.539 QUADTO
-35.41 70.539 34.191 71.226 QUADTO
-34.191 70.211 lineto
-35.348 69.664 36.473 69.664 QUADTO
-37.691 69.664 38.434 70.32 QUADTO
-39.176 70.976 39.176 72.055 QUADTO
-39.176 72.836 38.801 73.445 QUADTO
-38.426 74.055 37.41 74.914 QUADTO
-36.973 75.289 lineto
-35.582 76.461 35.363 77.539 QUADTO
-39.129 77.539 lineto
-39.129 78.555 lineto
-33.973 78.555 lineto
-closepath
-42.373 78.555 M
-42.529 77.539 42.85 76.805 QUADTO
-43.17 76.07 43.967 74.773 QUADTO
-46.326 70.961 lineto
-41.857 70.961 lineto
-41.857 69.883 lineto
-47.436 69.883 lineto
-47.436 70.961 lineto
-44.092 75.883 43.701 78.555 QUADTO
-42.373 78.555 lineto
-closepath
-49.32 78.555 M
-49.32 77.101 lineto
-50.773 77.101 lineto
-50.773 78.555 lineto
-49.32 78.555 lineto
-closepath
-53.398 78.586 M
-53.398 77.555 lineto
-54.273 77.898 55.039 77.898 QUADTO
-55.898 77.898 56.391 77.398 QUADTO
-56.883 76.898 56.883 76.008 QUADTO
-56.883 74.055 54.195 74.055 QUADTO
-53.883 74.055 53.555 74.101 QUADTO
-53.555 69.883 lineto
-57.945 69.883 lineto
-57.945 70.883 lineto
-54.57 70.883 lineto
-54.57 73.18 lineto
-56.242 73.18 57.18 73.945 QUADTO
-58.117 74.711 58.117 76.07 QUADTO
-58.117 77.336 57.258 78.055 QUADTO
-56.398 78.773 54.898 78.773 QUADTO
-54.242 78.773 53.398 78.586 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 74.279 M
-65.533 74.279 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 59.351 M
-34.191 58.272 lineto
-35.441 58.757 36.145 58.757 QUADTO
-36.973 58.757 37.496 58.272 QUADTO
-38.02 57.788 38.02 57.022 QUADTO
-38.02 55.194 35.457 55.194 QUADTO
-34.988 55.194 lineto
-34.988 54.413 lineto
-35.395 54.413 lineto
-37.801 54.413 37.801 52.726 QUADTO
-37.801 51.397 36.223 51.397 QUADTO
-35.348 51.397 34.316 51.882 QUADTO
-34.316 50.866 lineto
-35.332 50.522 36.301 50.522 QUADTO
-38.957 50.522 38.957 52.538 QUADTO
-38.957 54.069 37.145 54.71 QUADTO
-39.254 55.194 39.254 57.007 QUADTO
-39.254 58.241 38.441 58.937 QUADTO
-37.629 59.632 36.223 59.632 QUADTO
-35.41 59.632 34.191 59.351 QUADTO
-closepath
-44.326 59.632 M
-42.982 59.632 42.154 58.366 QUADTO
-41.326 57.101 41.326 55.069 QUADTO
-41.326 53.022 42.162 51.772 QUADTO
-42.998 50.522 44.357 50.522 QUADTO
-45.717 50.522 46.553 51.772 QUADTO
-47.389 53.022 47.389 55.054 QUADTO
-47.389 57.132 46.553 58.382 QUADTO
-45.717 59.632 44.326 59.632 QUADTO
-closepath
-44.342 58.757 M
-46.17 58.757 46.17 55.038 QUADTO
-46.17 51.397 44.357 51.397 QUADTO
-42.561 51.397 42.561 55.069 QUADTO
-42.561 58.757 44.342 58.757 QUADTO
-closepath
-49.32 59.413 M
-49.32 57.96 lineto
-50.773 57.96 lineto
-50.773 59.413 lineto
-49.32 59.413 lineto
-closepath
-55.711 59.632 M
-54.367 59.632 53.539 58.366 QUADTO
-52.711 57.101 52.711 55.069 QUADTO
-52.711 53.022 53.547 51.772 QUADTO
-54.383 50.522 55.742 50.522 QUADTO
-57.102 50.522 57.938 51.772 QUADTO
-58.773 53.022 58.773 55.054 QUADTO
-58.773 57.132 57.938 58.382 QUADTO
-57.102 59.632 55.711 59.632 QUADTO
-closepath
-55.727 58.757 M
-57.555 58.757 57.555 55.038 QUADTO
-57.555 51.397 55.742 51.397 QUADTO
-53.945 51.397 53.945 55.069 QUADTO
-53.945 58.757 55.727 58.757 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 55.137 M
-65.533 55.137 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 40.209 M
-34.191 39.131 lineto
-35.441 39.615 36.145 39.615 QUADTO
-36.973 39.615 37.496 39.131 QUADTO
-38.02 38.647 38.02 37.881 QUADTO
-38.02 36.053 35.457 36.053 QUADTO
-34.988 36.053 lineto
-34.988 35.272 lineto
-35.395 35.272 lineto
-37.801 35.272 37.801 33.584 QUADTO
-37.801 32.256 36.223 32.256 QUADTO
-35.348 32.256 34.316 32.74 QUADTO
-34.316 31.725 lineto
-35.332 31.381 36.301 31.381 QUADTO
-38.957 31.381 38.957 33.397 QUADTO
-38.957 34.928 37.145 35.568 QUADTO
-39.254 36.053 39.254 37.865 QUADTO
-39.254 39.1 38.441 39.795 QUADTO
-37.629 40.49 36.223 40.49 QUADTO
-35.41 40.49 34.191 40.209 QUADTO
-closepath
-41.561 40.272 M
-41.561 39.256 lineto
-42.061 38.084 43.592 36.693 QUADTO
-44.264 36.1 lineto
-45.529 34.943 45.529 33.803 QUADTO
-45.529 33.084 45.1 32.67 QUADTO
-44.67 32.256 43.904 32.256 QUADTO
-42.998 32.256 41.779 32.943 QUADTO
-41.779 31.928 lineto
-42.936 31.381 44.061 31.381 QUADTO
-45.279 31.381 46.021 32.037 QUADTO
-46.764 32.693 46.764 33.772 QUADTO
-46.764 34.553 46.389 35.162 QUADTO
-46.014 35.772 44.998 36.631 QUADTO
-44.561 37.006 lineto
-43.17 38.178 42.951 39.256 QUADTO
-46.717 39.256 lineto
-46.717 40.272 lineto
-41.561 40.272 lineto
-closepath
-49.32 40.272 M
-49.32 38.818 lineto
-50.773 38.818 lineto
-50.773 40.272 lineto
-49.32 40.272 lineto
-closepath
-53.398 40.303 M
-53.398 39.272 lineto
-54.273 39.615 55.039 39.615 QUADTO
-55.898 39.615 56.391 39.115 QUADTO
-56.883 38.615 56.883 37.725 QUADTO
-56.883 35.772 54.195 35.772 QUADTO
-53.883 35.772 53.555 35.818 QUADTO
-53.555 31.6 lineto
-57.945 31.6 lineto
-57.945 32.6 lineto
-54.57 32.6 lineto
-54.57 34.897 lineto
-56.242 34.897 57.18 35.662 QUADTO
-58.117 36.428 58.117 37.787 QUADTO
-58.117 39.053 57.258 39.772 QUADTO
-56.398 40.49 54.898 40.49 QUADTO
-54.242 40.49 53.398 40.303 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 35.996 M
-65.533 35.996 lineto
-stroke
-grestore
-gsave
-[0 -1 1 0 -140.05465 179.02732] concat
-newpath
-179.027 140.055 M
-179.027 540.055 lineto
--220.973 540.055 lineto
--220.973 140.055 lineto
-179.027 140.055 lineto
-closepath
-clip
-0.251 setgray
-newpath
--35.833 164.529 M
--35.833 153.732 lineto
--33.817 153.732 lineto
--33.817 164.529 lineto
--35.833 164.529 lineto
-closepath
--28.124 164.701 M
--29.889 164.701 -30.92 163.639 QUADTO
--31.952 162.576 -31.952 160.779 QUADTO
--31.952 158.951 -30.913 157.904 QUADTO
--29.874 156.857 -28.077 156.857 QUADTO
--26.28 156.857 -25.241 157.904 QUADTO
--24.202 158.951 -24.202 160.764 QUADTO
--24.202 162.607 -25.249 163.654 QUADTO
--26.295 164.701 -28.124 164.701 QUADTO
-closepath
--28.092 163.435 M
--26.358 163.435 -26.358 160.764 QUADTO
--26.358 159.545 -26.819 158.834 QUADTO
--27.28 158.123 -28.077 158.123 QUADTO
--28.874 158.123 -29.342 158.834 QUADTO
--29.811 159.545 -29.811 160.779 QUADTO
--29.811 161.998 -29.35 162.717 QUADTO
--28.889 163.435 -28.092 163.435 QUADTO
-closepath
--18.666 163.717 M
--19.666 164.701 -20.823 164.701 QUADTO
--21.807 164.701 -22.424 164.1 QUADTO
--23.041 163.498 -23.041 162.545 QUADTO
--23.041 161.295 -22.049 160.623 QUADTO
--21.057 159.951 -19.198 159.951 QUADTO
--18.666 159.951 lineto
--18.666 159.264 lineto
--18.666 158.092 -19.995 158.092 QUADTO
--21.182 158.092 -22.385 158.764 QUADTO
--22.385 157.373 lineto
--21.01 156.857 -19.666 156.857 QUADTO
--16.713 156.857 -16.713 159.201 QUADTO
--16.713 162.514 lineto
--16.713 163.404 -16.151 163.404 QUADTO
--16.057 163.404 -15.885 163.373 QUADTO
--15.838 164.514 lineto
--16.479 164.701 -16.979 164.701 QUADTO
--18.213 164.701 -18.573 163.717 QUADTO
--18.666 163.717 lineto
-closepath
--18.666 162.639 M
--18.666 161.107 lineto
--19.135 161.107 lineto
--21.104 161.107 -21.104 162.342 QUADTO
--21.104 162.764 -20.823 163.045 QUADTO
--20.541 163.326 -20.12 163.326 QUADTO
--19.401 163.326 -18.666 162.639 QUADTO
-closepath
--9.389 164.529 M
--9.389 163.107 lineto
--10.17 164.701 -11.842 164.701 QUADTO
--13.186 164.701 -13.959 163.709 QUADTO
--14.733 162.717 -14.733 160.982 QUADTO
--14.733 159.092 -13.866 157.975 QUADTO
--12.999 156.857 -11.53 156.857 QUADTO
--10.342 156.857 -9.389 157.779 QUADTO
--9.389 153.732 lineto
--7.358 153.732 lineto
--7.358 164.529 lineto
--9.389 164.529 lineto
-closepath
--9.389 158.982 M
--10.124 158.17 -10.952 158.17 QUADTO
--11.702 158.17 -12.139 158.889 QUADTO
--12.577 159.607 -12.577 160.81 QUADTO
--12.577 163.107 -11.108 163.107 QUADTO
--10.202 163.107 -9.389 161.951 QUADTO
--9.389 158.982 lineto
-closepath
-0.001 164.529 M
-0.001 158.295 lineto
--1.045 158.295 lineto
--1.045 157.029 lineto
-0.001 157.029 lineto
-0.001 156.482 lineto
-0.001 153.56 2.767 153.56 QUADTO
-3.658 153.56 4.611 153.826 QUADTO
-4.611 155.185 lineto
-3.751 154.826 3.064 154.826 QUADTO
-2.017 154.826 2.017 156.404 QUADTO
-2.017 157.029 lineto
-3.923 157.029 lineto
-3.923 158.295 lineto
-2.017 158.295 lineto
-2.017 164.529 lineto
-0.001 164.529 lineto
-closepath
-5.586 164.529 M
-5.586 157.029 lineto
-7.602 157.029 lineto
-7.602 158.435 lineto
-8.399 156.857 10.008 156.857 QUADTO
-10.196 156.857 10.383 156.889 QUADTO
-10.383 158.701 lineto
-9.946 158.545 9.571 158.545 QUADTO
-8.368 158.545 7.602 159.764 QUADTO
-7.602 164.529 lineto
-5.586 164.529 lineto
-closepath
-15.623 163.717 M
-14.623 164.701 13.466 164.701 QUADTO
-12.482 164.701 11.865 164.1 QUADTO
-11.248 163.498 11.248 162.545 QUADTO
-11.248 161.295 12.24 160.623 QUADTO
-13.232 159.951 15.091 159.951 QUADTO
-15.623 159.951 lineto
-15.623 159.264 lineto
-15.623 158.092 14.294 158.092 QUADTO
-13.107 158.092 11.904 158.764 QUADTO
-11.904 157.373 lineto
-13.279 156.857 14.623 156.857 QUADTO
-17.576 156.857 17.576 159.201 QUADTO
-17.576 162.514 lineto
-17.576 163.404 18.138 163.404 QUADTO
-18.232 163.404 18.404 163.373 QUADTO
-18.451 164.514 lineto
-17.81 164.701 17.31 164.701 QUADTO
-16.076 164.701 15.716 163.717 QUADTO
-15.623 163.717 lineto
-closepath
-15.623 162.639 M
-15.623 161.107 lineto
-15.154 161.107 lineto
-13.185 161.107 13.185 162.342 QUADTO
-13.185 162.764 13.466 163.045 QUADTO
-13.748 163.326 14.169 163.326 QUADTO
-14.888 163.326 15.623 162.639 QUADTO
-closepath
-25.712 164.357 M
-24.462 164.701 23.384 164.701 QUADTO
-21.587 164.701 20.548 163.646 QUADTO
-19.509 162.592 19.509 160.764 QUADTO
-19.509 158.935 20.58 157.896 QUADTO
-21.65 156.857 23.541 156.857 QUADTO
-24.462 156.857 25.65 157.139 QUADTO
-25.65 158.607 lineto
-24.416 158.201 23.666 158.201 QUADTO
-22.759 158.201 22.205 158.904 QUADTO
-21.65 159.607 21.65 160.748 QUADTO
-21.65 161.935 22.251 162.646 QUADTO
-22.853 163.357 23.837 163.357 QUADTO
-24.759 163.357 25.712 162.967 QUADTO
-25.712 164.357 lineto
-closepath
-31.507 164.482 M
-30.773 164.701 30.367 164.701 QUADTO
-27.726 164.701 27.726 162.232 QUADTO
-27.726 158.295 lineto
-26.882 158.295 lineto
-26.882 157.029 lineto
-27.726 157.029 lineto
-27.726 155.764 lineto
-29.757 155.529 lineto
-29.757 157.029 lineto
-31.351 157.029 lineto
-31.351 158.295 lineto
-29.757 158.295 lineto
-29.757 161.967 lineto
-29.757 163.357 30.882 163.357 QUADTO
-31.132 163.357 31.507 163.264 QUADTO
-31.507 164.482 lineto
-closepath
-33.306 164.529 M
-33.306 157.029 lineto
-35.322 157.029 lineto
-35.322 164.529 lineto
-33.306 164.529 lineto
-closepath
-33.306 155.764 M
-33.306 154.076 lineto
-35.322 154.076 lineto
-35.322 155.764 lineto
-33.306 155.764 lineto
-closepath
-41.015 164.701 M
-39.25 164.701 38.218 163.639 QUADTO
-37.187 162.576 37.187 160.779 QUADTO
-37.187 158.951 38.226 157.904 QUADTO
-39.265 156.857 41.062 156.857 QUADTO
-42.859 156.857 43.898 157.904 QUADTO
-44.937 158.951 44.937 160.764 QUADTO
-44.937 162.607 43.89 163.654 QUADTO
-42.843 164.701 41.015 164.701 QUADTO
-closepath
-41.046 163.435 M
-42.781 163.435 42.781 160.764 QUADTO
-42.781 159.545 42.32 158.834 QUADTO
-41.859 158.123 41.062 158.123 QUADTO
-40.265 158.123 39.796 158.834 QUADTO
-39.328 159.545 39.328 160.779 QUADTO
-39.328 161.998 39.789 162.717 QUADTO
-40.25 163.435 41.046 163.435 QUADTO
-closepath
-46.8 164.529 M
-46.8 157.029 lineto
-48.816 157.029 lineto
-48.816 158.435 lineto
-49.816 156.857 51.378 156.857 QUADTO
-52.378 156.857 52.964 157.49 QUADTO
-53.55 158.123 53.55 159.217 QUADTO
-53.55 164.529 lineto
-51.519 164.529 lineto
-51.519 159.717 lineto
-51.519 158.451 50.675 158.451 QUADTO
-49.707 158.451 48.816 159.81 QUADTO
-48.816 164.529 lineto
-46.8 164.529 lineto
-closepath
-59.245 153.654 M
-59.245 154.951 lineto
-57.417 156.795 57.417 160.139 QUADTO
-57.417 163.498 59.245 165.326 QUADTO
-59.245 166.639 lineto
-57.573 165.732 56.573 163.959 QUADTO
-55.573 162.185 55.573 160.139 QUADTO
-55.573 158.092 56.557 156.342 QUADTO
-57.542 154.592 59.245 153.654 QUADTO
-closepath
-60.746 164.779 M
-68.699 154.154 lineto
-70.058 154.154 lineto
-62.105 164.779 lineto
-60.746 164.779 lineto
-closepath
-62.464 159.467 M
-61.371 159.467 60.73 158.787 QUADTO
-60.089 158.107 60.089 156.935 QUADTO
-60.089 155.764 60.73 155.084 QUADTO
-61.371 154.404 62.496 154.404 QUADTO
-63.605 154.404 64.253 155.084 QUADTO
-64.902 155.764 64.902 156.935 QUADTO
-64.902 158.123 64.253 158.795 QUADTO
-63.605 159.467 62.464 159.467 QUADTO
-closepath
-62.48 158.451 M
-63.371 158.451 63.371 156.935 QUADTO
-63.371 155.42 62.496 155.42 QUADTO
-61.605 155.42 61.605 156.935 QUADTO
-61.605 158.451 62.48 158.451 QUADTO
-closepath
-68.292 164.529 M
-67.183 164.529 66.542 163.85 QUADTO
-65.902 163.17 65.902 161.998 QUADTO
-65.902 160.81 66.55 160.139 QUADTO
-67.199 159.467 68.308 159.467 QUADTO
-69.433 159.467 70.074 160.139 QUADTO
-70.714 160.81 70.714 161.998 QUADTO
-70.714 163.185 70.074 163.857 QUADTO
-69.433 164.529 68.292 164.529 QUADTO
-closepath
-68.292 163.514 M
-69.199 163.514 69.199 161.998 QUADTO
-69.199 160.482 68.308 160.482 QUADTO
-67.417 160.482 67.417 161.998 QUADTO
-67.417 163.514 68.292 163.514 QUADTO
-closepath
-71.367 153.654 M
-71.367 154.951 lineto
-73.195 156.795 73.195 160.139 QUADTO
-73.195 163.498 71.367 165.326 QUADTO
-71.367 166.639 lineto
-73.039 165.732 74.039 163.959 QUADTO
-75.039 162.185 75.039 160.139 QUADTO
-75.039 158.092 74.054 156.342 QUADTO
-73.07 154.592 71.367 153.654 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-115.488 34.247 M
-115.488 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-161.443 34.247 M
-161.443 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-207.398 34.247 M
-207.398 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-253.352 34.247 M
-253.352 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-299.307 34.247 M
-299.307 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-345.262 34.247 M
-345.262 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 284.835 M
-388 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 265.694 M
-388 265.694 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 246.552 M
-388 246.552 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 227.411 M
-388 227.411 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 208.269 M
-388 208.269 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 189.128 M
-388 189.128 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 169.986 M
-388 169.986 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 150.845 M
-388 150.845 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 131.703 M
-388 131.703 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 112.562 M
-388 112.562 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 93.42 M
-388 93.42 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 74.279 M
-388 74.279 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 55.137 M
-388 55.137 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 35.996 M
-388 35.996 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.533 114.189 M
-74.129 220.6 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-74.129 220.6 M
-78.724 233.396 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-78.724 233.396 M
-83.32 238.539 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.32 238.539 M
-87.915 243.024 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-87.915 243.024 M
-92.511 247.678 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-92.511 247.678 M
-97.106 249.21 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-97.106 249.21 M
-101.702 252.557 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-101.702 252.557 M
-106.297 255.432 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-106.297 255.432 M
-110.893 258.222 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-110.893 258.222 M
-115.488 261.123 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-115.488 261.123 M
-120.084 262.679 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-120.084 262.679 M
-124.679 265.43 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-124.679 265.43 M
-129.274 266.524 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-129.274 266.524 M
-133.87 268.088 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-133.87 268.088 M
-138.465 269.081 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-138.465 269.081 M
-143.061 270.682 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-143.061 270.682 M
-147.656 272.007 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-147.656 272.007 M
-152.252 273.635 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-152.252 273.635 M
-156.847 275.321 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-156.847 275.321 M
-161.443 275.964 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-161.443 275.964 M
-166.038 276.744 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-166.038 276.744 M
-170.634 278.574 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-170.634 278.574 M
-175.229 278.69 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-175.229 278.69 M
-179.825 279.991 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-179.825 279.991 M
-184.42 280.199 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-184.42 280.199 M
-189.016 281.176 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-189.016 281.176 M
-193.611 281.586 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-193.611 281.586 M
-198.207 282.015 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-198.207 282.015 M
-202.802 282.263 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-202.802 282.263 M
-207.398 282.685 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-207.398 282.685 M
-211.993 282.898 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-211.993 282.898 M
-216.589 282.898 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-216.589 282.898 M
-221.184 283.014 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-221.184 283.014 M
-225.78 283.014 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-225.78 283.014 M
-230.375 283.517 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.375 283.517 M
-234.971 283.633 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-234.971 283.633 M
-239.566 284.202 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-239.566 284.202 M
-244.161 284.31 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-244.161 284.31 M
-248.757 284.415 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-248.757 284.415 M
-253.352 284.524 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-253.352 284.524 M
-257.948 284.524 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-257.948 284.524 M
-262.543 284.628 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-262.543 284.628 M
-267.139 284.628 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-267.139 284.628 M
-271.734 284.732 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-271.734 284.732 M
-276.33 284.732 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.33 284.732 M
-280.925 284.732 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-280.925 284.732 M
-285.521 284.732 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.533 114.756 M
-74.129 224.732 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-74.129 224.732 M
-78.724 234.67 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-78.724 234.67 M
-83.32 239.798 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.32 239.798 M
-87.915 243.302 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-87.915 243.302 M
-92.511 247.983 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-92.511 247.983 M
-97.106 250.342 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-97.106 250.342 M
-101.702 252.519 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-101.702 252.519 M
-106.297 254.795 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-106.297 254.795 M
-110.893 257.348 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-110.893 257.348 M
-115.488 259.201 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-115.488 259.201 M
-120.084 261.393 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-120.084 261.393 M
-124.679 263.723 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-124.679 263.723 M
-129.274 264.888 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-129.274 264.888 M
-133.87 266.239 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-133.87 266.239 M
-138.465 268.526 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-138.465 268.526 M
-143.061 269.83 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-143.061 269.83 M
-147.656 271.294 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-147.656 271.294 M
-152.252 272.789 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-152.252 272.789 M
-156.847 273.838 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-156.847 273.838 M
-161.443 275.608 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-161.443 275.608 M
-166.038 277.959 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-166.038 277.959 M
-170.634 279.697 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-170.634 279.697 M
-175.229 280.681 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-175.229 280.681 M
-179.825 281.641 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-179.825 281.641 M
-184.42 281.843 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-184.42 281.843 M
-189.016 281.908 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-189.016 281.908 M
-193.611 282.015 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-193.611 282.015 M
-198.207 282.228 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-198.207 282.228 M
-202.802 282.421 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-202.802 282.421 M
-207.398 282.947 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-207.398 282.947 M
-211.993 283.252 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-211.993 283.252 M
-216.589 283.357 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-216.589 283.357 M
-221.184 283.439 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-221.184 283.439 M
-225.78 283.474 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-225.78 283.474 M
-230.375 283.545 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.375 283.545 M
-234.971 284.044 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-234.971 284.044 M
-239.566 284.068 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-239.566 284.068 M
-244.161 284.119 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-244.161 284.119 M
-248.757 284.137 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-248.757 284.137 M
-253.352 284.173 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-253.352 284.173 M
-257.948 284.18 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-257.948 284.18 M
-262.543 284.211 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-262.543 284.211 M
-267.139 284.315 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-267.139 284.315 M
-271.734 284.337 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-271.734 284.337 M
-276.33 284.423 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.33 284.423 M
-280.925 284.451 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-280.925 284.451 M
-285.521 284.508 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-285.521 284.508 M
-290.116 284.545 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-290.116 284.545 M
-294.712 284.57 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-294.712 284.57 M
-299.307 284.654 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-299.307 284.654 M
-303.903 284.665 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-303.903 284.665 M
-308.498 284.669 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-308.498 284.669 M
-313.094 284.692 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-313.094 284.692 M
-317.689 284.699 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-317.689 284.699 M
-322.285 284.699 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-322.285 284.699 M
-326.88 284.699 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-326.88 284.699 M
-331.476 284.699 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-331.476 284.699 M
-336.071 284.711 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-336.071 284.711 M
-340.667 284.714 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-340.667 284.714 M
-345.262 284.73 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-345.262 284.73 M
-349.858 284.733 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-349.858 284.733 M
-354.453 284.737 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-354.453 284.737 M
-359.048 284.771 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-359.048 284.771 M
-363.644 284.771 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-363.644 284.771 M
-368.239 284.786 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-368.239 284.786 M
-372.835 284.813 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.533 49.222 M
-74.129 79.948 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-74.129 79.948 M
-78.724 110.249 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-78.724 110.249 M
-83.32 196.574 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.32 196.574 M
-87.915 245.798 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-87.915 245.798 M
-92.511 268.168 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-92.511 268.168 M
-97.106 279.926 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-97.106 279.926 M
-101.702 283.755 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-101.702 283.755 M
-106.297 284.218 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.533 46.179 M
-74.129 64.943 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-74.129 64.943 M
-78.724 102.682 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-78.724 102.682 M
-83.32 210.851 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.32 210.851 M
-87.915 247.013 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-87.915 247.013 M
-92.511 277.884 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-92.511 277.884 M
-97.106 280.653 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-97.106 280.653 M
-101.702 282.818 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.533 55.642 M
-74.129 95.319 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-74.129 95.319 M
-78.724 139.683 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-78.724 139.683 M
-83.32 179.134 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.32 179.134 M
-87.915 218.967 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-87.915 218.967 M
-92.511 254.608 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.533 65.984 M
-74.129 92.545 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-74.129 92.545 M
-78.724 131.294 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-78.724 131.294 M
-83.32 182.084 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.32 182.084 M
-87.915 218.071 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-87.915 218.071 M
-92.511 253.375 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-66.533 111.189 M
-72.533 111.189 lineto
-69.533 117.189 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.533 111.189 M
-72.533 111.189 lineto
-69.533 117.189 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-71.129 217.6 M
-77.129 217.6 lineto
-74.129 223.6 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-71.129 217.6 M
-77.129 217.6 lineto
-74.129 223.6 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-75.724 230.396 M
-81.724 230.396 lineto
-78.724 236.396 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-75.724 230.396 M
-81.724 230.396 lineto
-78.724 236.396 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-80.32 235.539 M
-86.32 235.539 lineto
-83.32 241.539 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.32 235.539 M
-86.32 235.539 lineto
-83.32 241.539 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-84.915 240.024 M
-90.915 240.024 lineto
-87.915 246.024 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-84.915 240.024 M
-90.915 240.024 lineto
-87.915 246.024 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-89.511 244.678 M
-95.511 244.678 lineto
-92.511 250.678 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-89.511 244.678 M
-95.511 244.678 lineto
-92.511 250.678 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-94.106 246.21 M
-100.106 246.21 lineto
-97.106 252.21 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-94.106 246.21 M
-100.106 246.21 lineto
-97.106 252.21 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-98.702 249.557 M
-104.702 249.557 lineto
-101.702 255.557 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-98.702 249.557 M
-104.702 249.557 lineto
-101.702 255.557 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-103.297 252.432 M
-109.297 252.432 lineto
-106.297 258.432 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-103.297 252.432 M
-109.297 252.432 lineto
-106.297 258.432 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-107.893 255.222 M
-113.893 255.222 lineto
-110.893 261.222 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-107.893 255.222 M
-113.893 255.222 lineto
-110.893 261.222 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-112.488 258.123 M
-118.488 258.123 lineto
-115.488 264.123 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-112.488 258.123 M
-118.488 258.123 lineto
-115.488 264.123 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-117.084 259.679 M
-123.084 259.679 lineto
-120.084 265.679 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-117.084 259.679 M
-123.084 259.679 lineto
-120.084 265.679 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-121.679 262.43 M
-127.679 262.43 lineto
-124.679 268.43 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.679 262.43 M
-127.679 262.43 lineto
-124.679 268.43 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-126.274 263.524 M
-132.274 263.524 lineto
-129.274 269.524 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-126.274 263.524 M
-132.274 263.524 lineto
-129.274 269.524 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-130.87 265.088 M
-136.87 265.088 lineto
-133.87 271.088 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.87 265.088 M
-136.87 265.088 lineto
-133.87 271.088 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-135.465 266.081 M
-141.465 266.081 lineto
-138.465 272.081 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-135.465 266.081 M
-141.465 266.081 lineto
-138.465 272.081 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-140.061 267.682 M
-146.061 267.682 lineto
-143.061 273.682 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-140.061 267.682 M
-146.061 267.682 lineto
-143.061 273.682 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-144.656 269.007 M
-150.656 269.007 lineto
-147.656 275.007 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-144.656 269.007 M
-150.656 269.007 lineto
-147.656 275.007 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-149.252 270.635 M
-155.252 270.635 lineto
-152.252 276.635 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-149.252 270.635 M
-155.252 270.635 lineto
-152.252 276.635 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-153.847 272.321 M
-159.847 272.321 lineto
-156.847 278.321 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-153.847 272.321 M
-159.847 272.321 lineto
-156.847 278.321 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-158.443 272.964 M
-164.443 272.964 lineto
-161.443 278.964 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-158.443 272.964 M
-164.443 272.964 lineto
-161.443 278.964 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-163.038 273.744 M
-169.038 273.744 lineto
-166.038 279.744 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-163.038 273.744 M
-169.038 273.744 lineto
-166.038 279.744 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-167.634 275.574 M
-173.634 275.574 lineto
-170.634 281.574 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-167.634 275.574 M
-173.634 275.574 lineto
-170.634 281.574 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-172.229 275.69 M
-178.229 275.69 lineto
-175.229 281.69 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-172.229 275.69 M
-178.229 275.69 lineto
-175.229 281.69 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-176.825 276.991 M
-182.825 276.991 lineto
-179.825 282.991 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-176.825 276.991 M
-182.825 276.991 lineto
-179.825 282.991 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-181.42 277.199 M
-187.42 277.199 lineto
-184.42 283.199 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-181.42 277.199 M
-187.42 277.199 lineto
-184.42 283.199 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-186.016 278.176 M
-192.016 278.176 lineto
-189.016 284.176 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-186.016 278.176 M
-192.016 278.176 lineto
-189.016 284.176 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-190.611 278.586 M
-196.611 278.586 lineto
-193.611 284.586 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-190.611 278.586 M
-196.611 278.586 lineto
-193.611 284.586 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-195.207 279.015 M
-201.207 279.015 lineto
-198.207 285.015 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-195.207 279.015 M
-201.207 279.015 lineto
-198.207 285.015 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-199.802 279.263 M
-205.802 279.263 lineto
-202.802 285.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-199.802 279.263 M
-205.802 279.263 lineto
-202.802 285.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-204.398 279.685 M
-210.398 279.685 lineto
-207.398 285.685 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-204.398 279.685 M
-210.398 279.685 lineto
-207.398 285.685 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-208.993 279.898 M
-214.993 279.898 lineto
-211.993 285.898 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-208.993 279.898 M
-214.993 279.898 lineto
-211.993 285.898 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-213.589 279.898 M
-219.589 279.898 lineto
-216.589 285.898 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-213.589 279.898 M
-219.589 279.898 lineto
-216.589 285.898 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-218.184 280.014 M
-224.184 280.014 lineto
-221.184 286.014 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-218.184 280.014 M
-224.184 280.014 lineto
-221.184 286.014 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-222.78 280.014 M
-228.78 280.014 lineto
-225.78 286.014 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-222.78 280.014 M
-228.78 280.014 lineto
-225.78 286.014 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-227.375 280.517 M
-233.375 280.517 lineto
-230.375 286.517 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.375 280.517 M
-233.375 280.517 lineto
-230.375 286.517 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-231.971 280.633 M
-237.971 280.633 lineto
-234.971 286.633 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-231.971 280.633 M
-237.971 280.633 lineto
-234.971 286.633 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-236.566 281.202 M
-242.566 281.202 lineto
-239.566 287.202 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-236.566 281.202 M
-242.566 281.202 lineto
-239.566 287.202 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-241.161 281.31 M
-247.161 281.31 lineto
-244.161 287.31 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-241.161 281.31 M
-247.161 281.31 lineto
-244.161 287.31 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-245.757 281.415 M
-251.757 281.415 lineto
-248.757 287.415 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-245.757 281.415 M
-251.757 281.415 lineto
-248.757 287.415 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-250.352 281.524 M
-256.352 281.524 lineto
-253.352 287.524 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-250.352 281.524 M
-256.352 281.524 lineto
-253.352 287.524 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-254.948 281.524 M
-260.948 281.524 lineto
-257.948 287.524 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-254.948 281.524 M
-260.948 281.524 lineto
-257.948 287.524 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-259.543 281.628 M
-265.543 281.628 lineto
-262.543 287.628 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-259.543 281.628 M
-265.543 281.628 lineto
-262.543 287.628 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-264.139 281.628 M
-270.139 281.628 lineto
-267.139 287.628 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-264.139 281.628 M
-270.139 281.628 lineto
-267.139 287.628 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-268.734 281.732 M
-274.734 281.732 lineto
-271.734 287.732 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-268.734 281.732 M
-274.734 281.732 lineto
-271.734 287.732 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-273.33 281.732 M
-279.33 281.732 lineto
-276.33 287.732 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-273.33 281.732 M
-279.33 281.732 lineto
-276.33 287.732 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-277.925 281.732 M
-283.925 281.732 lineto
-280.925 287.732 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-277.925 281.732 M
-283.925 281.732 lineto
-280.925 287.732 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-282.521 281.732 M
-288.521 281.732 lineto
-285.521 287.732 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-282.521 281.732 M
-288.521 281.732 lineto
-285.521 287.732 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-66.533 113.256 M
-72.533 113.256 lineto
-72.533 116.256 lineto
-66.533 116.256 lineto
-66.533 113.256 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.533 113.256 M
-72.533 113.256 lineto
-72.533 116.256 lineto
-66.533 116.256 lineto
-66.533 113.256 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-71.129 223.232 M
-77.129 223.232 lineto
-77.129 226.232 lineto
-71.129 226.232 lineto
-71.129 223.232 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-71.129 223.232 M
-77.129 223.232 lineto
-77.129 226.232 lineto
-71.129 226.232 lineto
-71.129 223.232 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-75.724 233.17 M
-81.724 233.17 lineto
-81.724 236.17 lineto
-75.724 236.17 lineto
-75.724 233.17 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-75.724 233.17 M
-81.724 233.17 lineto
-81.724 236.17 lineto
-75.724 236.17 lineto
-75.724 233.17 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-80.32 238.298 M
-86.32 238.298 lineto
-86.32 241.298 lineto
-80.32 241.298 lineto
-80.32 238.298 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.32 238.298 M
-86.32 238.298 lineto
-86.32 241.298 lineto
-80.32 241.298 lineto
-80.32 238.298 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-84.915 241.802 M
-90.915 241.802 lineto
-90.915 244.802 lineto
-84.915 244.802 lineto
-84.915 241.802 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-84.915 241.802 M
-90.915 241.802 lineto
-90.915 244.802 lineto
-84.915 244.802 lineto
-84.915 241.802 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-89.511 246.483 M
-95.511 246.483 lineto
-95.511 249.483 lineto
-89.511 249.483 lineto
-89.511 246.483 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-89.511 246.483 M
-95.511 246.483 lineto
-95.511 249.483 lineto
-89.511 249.483 lineto
-89.511 246.483 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-94.106 248.842 M
-100.106 248.842 lineto
-100.106 251.842 lineto
-94.106 251.842 lineto
-94.106 248.842 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-94.106 248.842 M
-100.106 248.842 lineto
-100.106 251.842 lineto
-94.106 251.842 lineto
-94.106 248.842 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-98.702 251.019 M
-104.702 251.019 lineto
-104.702 254.019 lineto
-98.702 254.019 lineto
-98.702 251.019 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-98.702 251.019 M
-104.702 251.019 lineto
-104.702 254.019 lineto
-98.702 254.019 lineto
-98.702 251.019 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-103.297 253.295 M
-109.297 253.295 lineto
-109.297 256.295 lineto
-103.297 256.295 lineto
-103.297 253.295 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-103.297 253.295 M
-109.297 253.295 lineto
-109.297 256.295 lineto
-103.297 256.295 lineto
-103.297 253.295 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-107.893 255.848 M
-113.893 255.848 lineto
-113.893 258.848 lineto
-107.893 258.848 lineto
-107.893 255.848 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-107.893 255.848 M
-113.893 255.848 lineto
-113.893 258.848 lineto
-107.893 258.848 lineto
-107.893 255.848 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-112.488 257.701 M
-118.488 257.701 lineto
-118.488 260.701 lineto
-112.488 260.701 lineto
-112.488 257.701 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-112.488 257.701 M
-118.488 257.701 lineto
-118.488 260.701 lineto
-112.488 260.701 lineto
-112.488 257.701 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-117.084 259.893 M
-123.084 259.893 lineto
-123.084 262.893 lineto
-117.084 262.893 lineto
-117.084 259.893 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-117.084 259.893 M
-123.084 259.893 lineto
-123.084 262.893 lineto
-117.084 262.893 lineto
-117.084 259.893 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-121.679 262.223 M
-127.679 262.223 lineto
-127.679 265.223 lineto
-121.679 265.223 lineto
-121.679 262.223 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.679 262.223 M
-127.679 262.223 lineto
-127.679 265.223 lineto
-121.679 265.223 lineto
-121.679 262.223 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-126.274 263.388 M
-132.274 263.388 lineto
-132.274 266.388 lineto
-126.274 266.388 lineto
-126.274 263.388 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-126.274 263.388 M
-132.274 263.388 lineto
-132.274 266.388 lineto
-126.274 266.388 lineto
-126.274 263.388 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-130.87 264.739 M
-136.87 264.739 lineto
-136.87 267.739 lineto
-130.87 267.739 lineto
-130.87 264.739 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.87 264.739 M
-136.87 264.739 lineto
-136.87 267.739 lineto
-130.87 267.739 lineto
-130.87 264.739 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-135.465 267.026 M
-141.465 267.026 lineto
-141.465 270.026 lineto
-135.465 270.026 lineto
-135.465 267.026 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-135.465 267.026 M
-141.465 267.026 lineto
-141.465 270.026 lineto
-135.465 270.026 lineto
-135.465 267.026 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-140.061 268.33 M
-146.061 268.33 lineto
-146.061 271.33 lineto
-140.061 271.33 lineto
-140.061 268.33 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-140.061 268.33 M
-146.061 268.33 lineto
-146.061 271.33 lineto
-140.061 271.33 lineto
-140.061 268.33 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-144.656 269.794 M
-150.656 269.794 lineto
-150.656 272.794 lineto
-144.656 272.794 lineto
-144.656 269.794 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-144.656 269.794 M
-150.656 269.794 lineto
-150.656 272.794 lineto
-144.656 272.794 lineto
-144.656 269.794 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-149.252 271.289 M
-155.252 271.289 lineto
-155.252 274.289 lineto
-149.252 274.289 lineto
-149.252 271.289 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-149.252 271.289 M
-155.252 271.289 lineto
-155.252 274.289 lineto
-149.252 274.289 lineto
-149.252 271.289 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-153.847 272.338 M
-159.847 272.338 lineto
-159.847 275.338 lineto
-153.847 275.338 lineto
-153.847 272.338 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-153.847 272.338 M
-159.847 272.338 lineto
-159.847 275.338 lineto
-153.847 275.338 lineto
-153.847 272.338 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-158.443 274.108 M
-164.443 274.108 lineto
-164.443 277.108 lineto
-158.443 277.108 lineto
-158.443 274.108 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-158.443 274.108 M
-164.443 274.108 lineto
-164.443 277.108 lineto
-158.443 277.108 lineto
-158.443 274.108 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-163.038 276.459 M
-169.038 276.459 lineto
-169.038 279.459 lineto
-163.038 279.459 lineto
-163.038 276.459 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-163.038 276.459 M
-169.038 276.459 lineto
-169.038 279.459 lineto
-163.038 279.459 lineto
-163.038 276.459 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-167.634 278.197 M
-173.634 278.197 lineto
-173.634 281.197 lineto
-167.634 281.197 lineto
-167.634 278.197 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-167.634 278.197 M
-173.634 278.197 lineto
-173.634 281.197 lineto
-167.634 281.197 lineto
-167.634 278.197 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-172.229 279.181 M
-178.229 279.181 lineto
-178.229 282.181 lineto
-172.229 282.181 lineto
-172.229 279.181 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-172.229 279.181 M
-178.229 279.181 lineto
-178.229 282.181 lineto
-172.229 282.181 lineto
-172.229 279.181 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-176.825 280.141 M
-182.825 280.141 lineto
-182.825 283.141 lineto
-176.825 283.141 lineto
-176.825 280.141 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-176.825 280.141 M
-182.825 280.141 lineto
-182.825 283.141 lineto
-176.825 283.141 lineto
-176.825 280.141 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-181.42 280.343 M
-187.42 280.343 lineto
-187.42 283.343 lineto
-181.42 283.343 lineto
-181.42 280.343 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-181.42 280.343 M
-187.42 280.343 lineto
-187.42 283.343 lineto
-181.42 283.343 lineto
-181.42 280.343 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-186.016 280.408 M
-192.016 280.408 lineto
-192.016 283.408 lineto
-186.016 283.408 lineto
-186.016 280.408 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-186.016 280.408 M
-192.016 280.408 lineto
-192.016 283.408 lineto
-186.016 283.408 lineto
-186.016 280.408 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-190.611 280.515 M
-196.611 280.515 lineto
-196.611 283.515 lineto
-190.611 283.515 lineto
-190.611 280.515 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-190.611 280.515 M
-196.611 280.515 lineto
-196.611 283.515 lineto
-190.611 283.515 lineto
-190.611 280.515 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-195.207 280.728 M
-201.207 280.728 lineto
-201.207 283.728 lineto
-195.207 283.728 lineto
-195.207 280.728 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-195.207 280.728 M
-201.207 280.728 lineto
-201.207 283.728 lineto
-195.207 283.728 lineto
-195.207 280.728 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-199.802 280.921 M
-205.802 280.921 lineto
-205.802 283.921 lineto
-199.802 283.921 lineto
-199.802 280.921 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-199.802 280.921 M
-205.802 280.921 lineto
-205.802 283.921 lineto
-199.802 283.921 lineto
-199.802 280.921 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-204.398 281.447 M
-210.398 281.447 lineto
-210.398 284.447 lineto
-204.398 284.447 lineto
-204.398 281.447 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-204.398 281.447 M
-210.398 281.447 lineto
-210.398 284.447 lineto
-204.398 284.447 lineto
-204.398 281.447 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-208.993 281.752 M
-214.993 281.752 lineto
-214.993 284.752 lineto
-208.993 284.752 lineto
-208.993 281.752 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-208.993 281.752 M
-214.993 281.752 lineto
-214.993 284.752 lineto
-208.993 284.752 lineto
-208.993 281.752 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-213.589 281.857 M
-219.589 281.857 lineto
-219.589 284.857 lineto
-213.589 284.857 lineto
-213.589 281.857 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-213.589 281.857 M
-219.589 281.857 lineto
-219.589 284.857 lineto
-213.589 284.857 lineto
-213.589 281.857 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-218.184 281.939 M
-224.184 281.939 lineto
-224.184 284.939 lineto
-218.184 284.939 lineto
-218.184 281.939 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-218.184 281.939 M
-224.184 281.939 lineto
-224.184 284.939 lineto
-218.184 284.939 lineto
-218.184 281.939 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-222.78 281.974 M
-228.78 281.974 lineto
-228.78 284.974 lineto
-222.78 284.974 lineto
-222.78 281.974 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-222.78 281.974 M
-228.78 281.974 lineto
-228.78 284.974 lineto
-222.78 284.974 lineto
-222.78 281.974 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-227.375 282.045 M
-233.375 282.045 lineto
-233.375 285.045 lineto
-227.375 285.045 lineto
-227.375 282.045 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.375 282.045 M
-233.375 282.045 lineto
-233.375 285.045 lineto
-227.375 285.045 lineto
-227.375 282.045 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-231.971 282.544 M
-237.971 282.544 lineto
-237.971 285.544 lineto
-231.971 285.544 lineto
-231.971 282.544 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-231.971 282.544 M
-237.971 282.544 lineto
-237.971 285.544 lineto
-231.971 285.544 lineto
-231.971 282.544 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-236.566 282.568 M
-242.566 282.568 lineto
-242.566 285.568 lineto
-236.566 285.568 lineto
-236.566 282.568 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-236.566 282.568 M
-242.566 282.568 lineto
-242.566 285.568 lineto
-236.566 285.568 lineto
-236.566 282.568 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-241.161 282.619 M
-247.161 282.619 lineto
-247.161 285.619 lineto
-241.161 285.619 lineto
-241.161 282.619 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-241.161 282.619 M
-247.161 282.619 lineto
-247.161 285.619 lineto
-241.161 285.619 lineto
-241.161 282.619 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-245.757 282.637 M
-251.757 282.637 lineto
-251.757 285.637 lineto
-245.757 285.637 lineto
-245.757 282.637 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-245.757 282.637 M
-251.757 282.637 lineto
-251.757 285.637 lineto
-245.757 285.637 lineto
-245.757 282.637 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-250.352 282.673 M
-256.352 282.673 lineto
-256.352 285.673 lineto
-250.352 285.673 lineto
-250.352 282.673 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-250.352 282.673 M
-256.352 282.673 lineto
-256.352 285.673 lineto
-250.352 285.673 lineto
-250.352 282.673 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-254.948 282.68 M
-260.948 282.68 lineto
-260.948 285.68 lineto
-254.948 285.68 lineto
-254.948 282.68 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-254.948 282.68 M
-260.948 282.68 lineto
-260.948 285.68 lineto
-254.948 285.68 lineto
-254.948 282.68 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-259.543 282.711 M
-265.543 282.711 lineto
-265.543 285.711 lineto
-259.543 285.711 lineto
-259.543 282.711 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-259.543 282.711 M
-265.543 282.711 lineto
-265.543 285.711 lineto
-259.543 285.711 lineto
-259.543 282.711 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-264.139 282.815 M
-270.139 282.815 lineto
-270.139 285.815 lineto
-264.139 285.815 lineto
-264.139 282.815 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-264.139 282.815 M
-270.139 282.815 lineto
-270.139 285.815 lineto
-264.139 285.815 lineto
-264.139 282.815 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-268.734 282.837 M
-274.734 282.837 lineto
-274.734 285.837 lineto
-268.734 285.837 lineto
-268.734 282.837 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-268.734 282.837 M
-274.734 282.837 lineto
-274.734 285.837 lineto
-268.734 285.837 lineto
-268.734 282.837 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-273.33 282.923 M
-279.33 282.923 lineto
-279.33 285.923 lineto
-273.33 285.923 lineto
-273.33 282.923 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-273.33 282.923 M
-279.33 282.923 lineto
-279.33 285.923 lineto
-273.33 285.923 lineto
-273.33 282.923 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-277.925 282.951 M
-283.925 282.951 lineto
-283.925 285.951 lineto
-277.925 285.951 lineto
-277.925 282.951 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-277.925 282.951 M
-283.925 282.951 lineto
-283.925 285.951 lineto
-277.925 285.951 lineto
-277.925 282.951 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-282.521 283.008 M
-288.521 283.008 lineto
-288.521 286.008 lineto
-282.521 286.008 lineto
-282.521 283.008 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-282.521 283.008 M
-288.521 283.008 lineto
-288.521 286.008 lineto
-282.521 286.008 lineto
-282.521 283.008 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-287.116 283.045 M
-293.116 283.045 lineto
-293.116 286.045 lineto
-287.116 286.045 lineto
-287.116 283.045 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-287.116 283.045 M
-293.116 283.045 lineto
-293.116 286.045 lineto
-287.116 286.045 lineto
-287.116 283.045 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-291.712 283.07 M
-297.712 283.07 lineto
-297.712 286.07 lineto
-291.712 286.07 lineto
-291.712 283.07 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-291.712 283.07 M
-297.712 283.07 lineto
-297.712 286.07 lineto
-291.712 286.07 lineto
-291.712 283.07 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-296.307 283.154 M
-302.307 283.154 lineto
-302.307 286.154 lineto
-296.307 286.154 lineto
-296.307 283.154 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-296.307 283.154 M
-302.307 283.154 lineto
-302.307 286.154 lineto
-296.307 286.154 lineto
-296.307 283.154 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-300.903 283.165 M
-306.903 283.165 lineto
-306.903 286.165 lineto
-300.903 286.165 lineto
-300.903 283.165 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-300.903 283.165 M
-306.903 283.165 lineto
-306.903 286.165 lineto
-300.903 286.165 lineto
-300.903 283.165 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-305.498 283.169 M
-311.498 283.169 lineto
-311.498 286.169 lineto
-305.498 286.169 lineto
-305.498 283.169 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-305.498 283.169 M
-311.498 283.169 lineto
-311.498 286.169 lineto
-305.498 286.169 lineto
-305.498 283.169 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-310.094 283.192 M
-316.094 283.192 lineto
-316.094 286.192 lineto
-310.094 286.192 lineto
-310.094 283.192 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-310.094 283.192 M
-316.094 283.192 lineto
-316.094 286.192 lineto
-310.094 286.192 lineto
-310.094 283.192 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-314.689 283.199 M
-320.689 283.199 lineto
-320.689 286.199 lineto
-314.689 286.199 lineto
-314.689 283.199 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-314.689 283.199 M
-320.689 283.199 lineto
-320.689 286.199 lineto
-314.689 286.199 lineto
-314.689 283.199 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-319.285 283.199 M
-325.285 283.199 lineto
-325.285 286.199 lineto
-319.285 286.199 lineto
-319.285 283.199 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.285 283.199 M
-325.285 283.199 lineto
-325.285 286.199 lineto
-319.285 286.199 lineto
-319.285 283.199 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-323.88 283.199 M
-329.88 283.199 lineto
-329.88 286.199 lineto
-323.88 286.199 lineto
-323.88 283.199 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-323.88 283.199 M
-329.88 283.199 lineto
-329.88 286.199 lineto
-323.88 286.199 lineto
-323.88 283.199 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-328.476 283.199 M
-334.476 283.199 lineto
-334.476 286.199 lineto
-328.476 286.199 lineto
-328.476 283.199 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-328.476 283.199 M
-334.476 283.199 lineto
-334.476 286.199 lineto
-328.476 286.199 lineto
-328.476 283.199 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-333.071 283.211 M
-339.071 283.211 lineto
-339.071 286.211 lineto
-333.071 286.211 lineto
-333.071 283.211 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-333.071 283.211 M
-339.071 283.211 lineto
-339.071 286.211 lineto
-333.071 286.211 lineto
-333.071 283.211 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-337.667 283.214 M
-343.667 283.214 lineto
-343.667 286.214 lineto
-337.667 286.214 lineto
-337.667 283.214 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-337.667 283.214 M
-343.667 283.214 lineto
-343.667 286.214 lineto
-337.667 286.214 lineto
-337.667 283.214 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-342.262 283.23 M
-348.262 283.23 lineto
-348.262 286.23 lineto
-342.262 286.23 lineto
-342.262 283.23 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-342.262 283.23 M
-348.262 283.23 lineto
-348.262 286.23 lineto
-342.262 286.23 lineto
-342.262 283.23 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-346.858 283.233 M
-352.858 283.233 lineto
-352.858 286.233 lineto
-346.858 286.233 lineto
-346.858 283.233 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-346.858 283.233 M
-352.858 283.233 lineto
-352.858 286.233 lineto
-346.858 286.233 lineto
-346.858 283.233 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-351.453 283.237 M
-357.453 283.237 lineto
-357.453 286.237 lineto
-351.453 286.237 lineto
-351.453 283.237 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-351.453 283.237 M
-357.453 283.237 lineto
-357.453 286.237 lineto
-351.453 286.237 lineto
-351.453 283.237 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-356.048 283.271 M
-362.048 283.271 lineto
-362.048 286.271 lineto
-356.048 286.271 lineto
-356.048 283.271 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-356.048 283.271 M
-362.048 283.271 lineto
-362.048 286.271 lineto
-356.048 286.271 lineto
-356.048 283.271 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-360.644 283.271 M
-366.644 283.271 lineto
-366.644 286.271 lineto
-360.644 286.271 lineto
-360.644 283.271 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-360.644 283.271 M
-366.644 283.271 lineto
-366.644 286.271 lineto
-360.644 286.271 lineto
-360.644 283.271 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-365.239 283.286 M
-371.239 283.286 lineto
-371.239 286.286 lineto
-365.239 286.286 lineto
-365.239 283.286 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-365.239 283.286 M
-371.239 283.286 lineto
-371.239 286.286 lineto
-365.239 286.286 lineto
-365.239 283.286 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-369.835 283.313 M
-375.835 283.313 lineto
-375.835 286.313 lineto
-369.835 286.313 lineto
-369.835 283.313 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-369.835 283.313 M
-375.835 283.313 lineto
-375.835 286.313 lineto
-369.835 286.313 lineto
-369.835 283.313 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-69.533 46.222 M
-72.533 49.222 lineto
-69.533 52.222 lineto
-66.533 49.222 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.533 46.222 M
-72.533 49.222 lineto
-69.533 52.222 lineto
-66.533 49.222 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-74.129 76.948 M
-77.129 79.948 lineto
-74.129 82.948 lineto
-71.129 79.948 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-74.129 76.948 M
-77.129 79.948 lineto
-74.129 82.948 lineto
-71.129 79.948 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-78.724 107.249 M
-81.724 110.249 lineto
-78.724 113.249 lineto
-75.724 110.249 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-78.724 107.249 M
-81.724 110.249 lineto
-78.724 113.249 lineto
-75.724 110.249 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-83.32 193.574 M
-86.32 196.574 lineto
-83.32 199.574 lineto
-80.32 196.574 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.32 193.574 M
-86.32 196.574 lineto
-83.32 199.574 lineto
-80.32 196.574 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-87.915 242.798 M
-90.915 245.798 lineto
-87.915 248.798 lineto
-84.915 245.798 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.915 242.798 M
-90.915 245.798 lineto
-87.915 248.798 lineto
-84.915 245.798 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-92.511 265.168 M
-95.511 268.168 lineto
-92.511 271.168 lineto
-89.511 268.168 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-92.511 265.168 M
-95.511 268.168 lineto
-92.511 271.168 lineto
-89.511 268.168 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-97.106 276.926 M
-100.106 279.926 lineto
-97.106 282.926 lineto
-94.106 279.926 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-97.106 276.926 M
-100.106 279.926 lineto
-97.106 282.926 lineto
-94.106 279.926 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-101.702 280.755 M
-104.702 283.755 lineto
-101.702 286.755 lineto
-98.702 283.755 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-101.702 280.755 M
-104.702 283.755 lineto
-101.702 286.755 lineto
-98.702 283.755 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-106.297 281.218 M
-109.297 284.218 lineto
-106.297 287.218 lineto
-103.297 284.218 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-106.297 281.218 M
-109.297 284.218 lineto
-106.297 287.218 lineto
-103.297 284.218 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-69.533 43.179 M
-72.533 49.179 lineto
-66.533 49.179 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.533 43.179 M
-72.533 49.179 lineto
-66.533 49.179 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-74.129 61.943 M
-77.129 67.943 lineto
-71.129 67.943 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-74.129 61.943 M
-77.129 67.943 lineto
-71.129 67.943 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-78.724 99.682 M
-81.724 105.682 lineto
-75.724 105.682 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-78.724 99.682 M
-81.724 105.682 lineto
-75.724 105.682 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-83.32 207.851 M
-86.32 213.851 lineto
-80.32 213.851 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.32 207.851 M
-86.32 213.851 lineto
-80.32 213.851 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-87.915 244.013 M
-90.915 250.013 lineto
-84.915 250.013 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.915 244.013 M
-90.915 250.013 lineto
-84.915 250.013 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-92.511 274.884 M
-95.511 280.884 lineto
-89.511 280.884 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-92.511 274.884 M
-95.511 280.884 lineto
-89.511 280.884 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-97.106 277.653 M
-100.106 283.653 lineto
-94.106 283.653 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-97.106 277.653 M
-100.106 283.653 lineto
-94.106 283.653 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-101.702 279.818 M
-104.702 285.818 lineto
-98.702 285.818 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-101.702 279.818 M
-104.702 285.818 lineto
-98.702 285.818 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-72.533 55.642 M
-72.533 57.299 71.19 58.642 69.533 58.642 curveto
-67.876 58.642 66.533 57.299 66.533 55.642 curveto
-66.533 53.985 67.876 52.642 69.533 52.642 curveto
-71.19 52.642 72.533 53.985 72.533 55.642 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.533 55.642 M
-72.533 57.299 71.19 58.642 69.533 58.642 curveto
-67.876 58.642 66.533 57.299 66.533 55.642 curveto
-66.533 53.985 67.876 52.642 69.533 52.642 curveto
-71.19 52.642 72.533 53.985 72.533 55.642 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-77.129 95.319 M
-77.129 96.976 75.786 98.319 74.129 98.319 curveto
-72.472 98.319 71.129 96.976 71.129 95.319 curveto
-71.129 93.662 72.472 92.319 74.129 92.319 curveto
-75.786 92.319 77.129 93.662 77.129 95.319 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-77.129 95.319 M
-77.129 96.976 75.786 98.319 74.129 98.319 curveto
-72.472 98.319 71.129 96.976 71.129 95.319 curveto
-71.129 93.662 72.472 92.319 74.129 92.319 curveto
-75.786 92.319 77.129 93.662 77.129 95.319 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-81.724 139.683 M
-81.724 141.34 80.381 142.683 78.724 142.683 curveto
-77.067 142.683 75.724 141.34 75.724 139.683 curveto
-75.724 138.026 77.067 136.683 78.724 136.683 curveto
-80.381 136.683 81.724 138.026 81.724 139.683 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-81.724 139.683 M
-81.724 141.34 80.381 142.683 78.724 142.683 curveto
-77.067 142.683 75.724 141.34 75.724 139.683 curveto
-75.724 138.026 77.067 136.683 78.724 136.683 curveto
-80.381 136.683 81.724 138.026 81.724 139.683 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-86.32 179.134 M
-86.32 180.791 84.977 182.134 83.32 182.134 curveto
-81.663 182.134 80.32 180.791 80.32 179.134 curveto
-80.32 177.477 81.663 176.134 83.32 176.134 curveto
-84.977 176.134 86.32 177.477 86.32 179.134 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-86.32 179.134 M
-86.32 180.791 84.977 182.134 83.32 182.134 curveto
-81.663 182.134 80.32 180.791 80.32 179.134 curveto
-80.32 177.477 81.663 176.134 83.32 176.134 curveto
-84.977 176.134 86.32 177.477 86.32 179.134 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-90.915 218.967 M
-90.915 220.623 89.572 221.967 87.915 221.967 curveto
-86.258 221.967 84.915 220.623 84.915 218.967 curveto
-84.915 217.31 86.258 215.967 87.915 215.967 curveto
-89.572 215.967 90.915 217.31 90.915 218.967 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-90.915 218.967 M
-90.915 220.623 89.572 221.967 87.915 221.967 curveto
-86.258 221.967 84.915 220.623 84.915 218.967 curveto
-84.915 217.31 86.258 215.967 87.915 215.967 curveto
-89.572 215.967 90.915 217.31 90.915 218.967 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-95.511 254.608 M
-95.511 256.264 94.167 257.608 92.511 257.608 curveto
-90.854 257.608 89.511 256.264 89.511 254.608 curveto
-89.511 252.951 90.854 251.608 92.511 251.608 curveto
-94.167 251.608 95.511 252.951 95.511 254.608 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-95.511 254.608 M
-95.511 256.264 94.167 257.608 92.511 257.608 curveto
-90.854 257.608 89.511 256.264 89.511 254.608 curveto
-89.511 252.951 90.854 251.608 92.511 251.608 curveto
-94.167 251.608 95.511 252.951 95.511 254.608 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-66.533 62.984 M
-72.533 62.984 lineto
-72.533 68.984 lineto
-66.533 68.984 lineto
-66.533 62.984 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.533 62.984 M
-72.533 62.984 lineto
-72.533 68.984 lineto
-66.533 68.984 lineto
-66.533 62.984 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-71.129 89.545 M
-77.129 89.545 lineto
-77.129 95.545 lineto
-71.129 95.545 lineto
-71.129 89.545 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-71.129 89.545 M
-77.129 89.545 lineto
-77.129 95.545 lineto
-71.129 95.545 lineto
-71.129 89.545 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-75.724 128.294 M
-81.724 128.294 lineto
-81.724 134.294 lineto
-75.724 134.294 lineto
-75.724 128.294 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-75.724 128.294 M
-81.724 128.294 lineto
-81.724 134.294 lineto
-75.724 134.294 lineto
-75.724 128.294 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-80.32 179.084 M
-86.32 179.084 lineto
-86.32 185.084 lineto
-80.32 185.084 lineto
-80.32 179.084 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.32 179.084 M
-86.32 179.084 lineto
-86.32 185.084 lineto
-80.32 185.084 lineto
-80.32 179.084 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-84.915 215.071 M
-90.915 215.071 lineto
-90.915 221.071 lineto
-84.915 221.071 lineto
-84.915 215.071 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-84.915 215.071 M
-90.915 215.071 lineto
-90.915 221.071 lineto
-84.915 221.071 lineto
-84.915 215.071 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-89.511 250.375 M
-95.511 250.375 lineto
-95.511 256.375 lineto
-89.511 256.375 lineto
-89.511 250.375 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-89.511 250.375 M
-95.511 250.375 lineto
-95.511 256.375 lineto
-89.511 256.375 lineto
-89.511 250.375 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-0.5 setlinewidth
-newpath
-69.533 34.247 M
-388 34.247 lineto
-388 284.835 lineto
-69.533 284.835 lineto
-69.533 34.247 lineto
-closepath
-stroke
-grestore
-%%Trailer
-%%Pages: 1
-%%EOF
diff --git a/sim/gobs/wiki/dc04kpv05.cfg b/sim/gobs/wiki/dc04kpv05.cfg
deleted file mode 100644
index f7143ce..0000000
--- a/sim/gobs/wiki/dc04kpv05.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv05.cfg system_size_100_1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/wiki/dc04kpv05.eps b/sim/gobs/wiki/dc04kpv05.eps
deleted file mode 100644
index 6210177..0000000
--- a/sim/gobs/wiki/dc04kpv05.eps
+++ /dev/null
@@ -1,8186 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (Apache XML Graphics Commons: EPS Generator for Java2D)
-%%CreationDate: 2009-10-05T12:47:51
-%%Pages: (atend)
-%%BoundingBox: 0 0 400 400
-%%LanguageLevel: 3
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset (Apache XML Graphics Std ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2001-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (Basic set of procedures used by the XML Graphics project \(Batik and FOP\))
-/bd{bind def}bind def
-/ld{load def}bd
-/M/moveto ld
-/RM/rmoveto ld
-/t/show ld
-/A/ashow ld
-/cp/closepath ld
-/re {4 2 roll M
-1 index 0 rlineto
-0 exch rlineto
-neg 0 rlineto
-cp } bd
-/_ctm matrix def
-/_tm matrix def
-/BT { _ctm currentmatrix pop matrix _tm copy pop 0 0 moveto } bd
-/ET { _ctm setmatrix } bd
-/iTm { _ctm setmatrix _tm concat } bd
-/Tm { _tm astore pop iTm 0 0 moveto } bd
-/ux 0.0 def
-/uy 0.0 def
-/F {
- /Tp exch def
- /Tf exch def
- Tf findfont Tp scalefont setfont
- /cf Tf def /cs Tp def /cw ( ) stringwidth pop def
-} bd
-/ULS {currentpoint /uy exch def /ux exch def} bd
-/ULE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add moveto Tcx uy To add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/OLE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs add moveto Tcx uy To add cs add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/SOE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs 10 mul 26 idiv add moveto Tcx uy To add cs 10 mul 26 idiv add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/QUADTO {
-/Y22 exch store
-/X22 exch store
-/Y21 exch store
-/X21 exch store
-currentpoint
-/Y21 load 2 mul add 3 div exch
-/X21 load 2 mul add 3 div exch
-/X21 load 2 mul /X22 load add 3 div
-/Y21 load 2 mul /Y22 load add 3 div
-/X22 load /Y22 load curveto
-} bd
-/SSPD {
-dup length /d exch dict def
-{
-/v exch def
-/k exch def
-currentpagedevice k known {
-/cpdv currentpagedevice k get def
-v cpdv ne {
-/upd false def
-/nullv v type /nulltype eq def
-/nullcpdv cpdv type /nulltype eq def
-nullv nullcpdv or
-{
-/upd true def
-} {
-/sametype v type cpdv type eq def
-sametype {
-v type /arraytype eq {
-/vlen v length def
-/cpdvlen cpdv length def
-vlen cpdvlen eq {
-0 1 vlen 1 sub {
-/i exch def
-/obj v i get def
-/cpdobj cpdv i get def
-obj cpdobj ne {
-/upd true def
-exit
-} if
-} for
-} {
-/upd true def
-} ifelse
-} {
-v type /dicttype eq {
-v {
-/dv exch def
-/dk exch def
-/cpddv cpdv dk get def
-dv cpddv ne {
-/upd true def
-exit
-} if
-} forall
-} {
-/upd true def
-} ifelse
-} ifelse
-} if
-} ifelse
-upd true eq {
-d k v put
-} if
-} if
-} if
-} forall
-d length 0 gt {
-d setpagedevice
-} if
-} bd
-%%EndResource
-%%BeginResource: procset (Apache XML Graphics EPS ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2002-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (EPS procedures used by the Apache XML Graphics project \(Batik and FOP\))
-/BeginEPSF { %def
-/b4_Inc_state save def % Save state for cleanup
-/dict_count countdictstack def % Count objects on dict stack
-/op_count count 1 sub def % Count objects on operand stack
-userdict begin % Push userdict on dict stack
-/showpage { } def % Redefine showpage, { } = null proc
-0 setgray 0 setlinecap % Prepare graphics state
-1 setlinewidth 0 setlinejoin
-10 setmiterlimit [ ] 0 setdash newpath
-/languagelevel where % If level not equal to 1 then
-{pop languagelevel % set strokeadjust and
-1 ne % overprint to their defaults.
-{false setstrokeadjust false setoverprint
-} if
-} if
-} bd
-/EndEPSF { %def
-count op_count sub {pop} repeat % Clean up stacks
-countdictstack dict_count sub {end} repeat
-b4_Inc_state restore
-} bd
-%%EndResource
-%%EndProlog
-%%Page: 1 1
-%%PageBoundingBox: 0 0 400 400
-%%BeginPageSetup
-[1 0 0 -1 0 400] concat
-%%EndPageSetup
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-69.293 20.249 M
-69.293 5.796 lineto
-74.699 5.796 lineto
-79.105 5.796 79.105 9.374 QUADTO
-79.105 10.718 78.355 11.82 QUADTO
-77.605 12.921 76.293 13.499 QUADTO
-81.027 20.249 lineto
-77.371 20.249 lineto
-73.777 14.343 lineto
-72.121 14.343 lineto
-72.121 20.249 lineto
-69.293 20.249 lineto
-closepath
-72.121 12.359 M
-72.809 12.359 lineto
-76.09 12.359 76.09 9.718 QUADTO
-76.09 7.781 73.168 7.781 QUADTO
-72.121 7.781 lineto
-72.121 12.359 lineto
-closepath
-91.811 19.89 M
-89.764 20.499 87.904 20.499 QUADTO
-85.232 20.499 83.678 18.976 QUADTO
-82.123 17.453 82.123 14.812 QUADTO
-82.123 12.312 83.545 10.796 QUADTO
-84.967 9.281 87.295 9.281 QUADTO
-89.654 9.281 90.732 10.765 QUADTO
-91.811 12.249 91.811 15.468 QUADTO
-85.17 15.468 lineto
-85.467 18.531 88.529 18.531 QUADTO
-89.998 18.531 91.811 17.859 QUADTO
-91.811 19.89 lineto
-closepath
-85.123 13.828 M
-88.982 13.828 lineto
-88.982 11.093 87.201 11.093 QUADTO
-85.404 11.093 85.123 13.828 QUADTO
-closepath
-94.811 20.249 M
-94.811 4.828 lineto
-97.701 4.828 lineto
-97.701 11.546 lineto
-98.811 9.281 101.201 9.281 QUADTO
-103.139 9.281 104.248 10.695 QUADTO
-105.357 12.109 105.357 14.593 QUADTO
-105.357 17.281 104.107 18.89 QUADTO
-102.857 20.499 100.764 20.499 QUADTO
-98.967 20.499 97.701 19.171 QUADTO
-97.154 20.249 lineto
-94.811 20.249 lineto
-closepath
-97.701 17.453 M
-98.748 18.624 99.936 18.624 QUADTO
-101.014 18.624 101.646 17.593 QUADTO
-102.279 16.562 102.279 14.843 QUADTO
-102.279 11.546 100.154 11.546 QUADTO
-98.873 11.546 97.701 13.203 QUADTO
-97.701 17.453 lineto
-closepath
-114.688 20.249 M
-114.688 18.234 lineto
-113.281 20.499 111.031 20.499 QUADTO
-109.594 20.499 108.766 19.585 QUADTO
-107.938 18.671 107.938 17.109 QUADTO
-107.938 9.531 lineto
-110.828 9.531 lineto
-110.828 16.39 lineto
-110.828 18.218 112.047 18.218 QUADTO
-113.422 18.218 114.688 16.281 QUADTO
-114.688 9.531 lineto
-117.578 9.531 lineto
-117.578 20.249 lineto
-114.688 20.249 lineto
-closepath
-121.197 20.249 M
-121.197 9.531 lineto
-124.088 9.531 lineto
-124.088 20.249 lineto
-121.197 20.249 lineto
-closepath
-121.197 7.718 M
-121.197 5.312 lineto
-124.088 5.312 lineto
-124.088 7.718 lineto
-121.197 7.718 lineto
-closepath
-127.701 20.249 M
-127.701 4.828 lineto
-130.592 4.828 lineto
-130.592 20.249 lineto
-127.701 20.249 lineto
-closepath
-140.955 20.249 M
-140.955 18.234 lineto
-139.83 20.499 137.439 20.499 QUADTO
-135.502 20.499 134.4 19.078 QUADTO
-133.299 17.656 133.299 15.187 QUADTO
-133.299 12.484 134.549 10.882 QUADTO
-135.799 9.281 137.893 9.281 QUADTO
-139.564 9.281 140.955 10.609 QUADTO
-140.955 4.828 lineto
-143.846 4.828 lineto
-143.846 20.249 lineto
-140.955 20.249 lineto
-closepath
-140.955 12.328 M
-139.908 11.156 138.705 11.156 QUADTO
-137.643 11.156 137.01 12.179 QUADTO
-136.377 13.203 136.377 14.937 QUADTO
-136.377 18.234 138.486 18.234 QUADTO
-139.783 18.234 140.955 16.578 QUADTO
-140.955 12.328 lineto
-closepath
-154.049 20.249 M
-154.049 5.796 lineto
-157.049 5.796 lineto
-157.049 18.203 lineto
-163.564 18.203 lineto
-163.564 20.249 lineto
-154.049 20.249 lineto
-closepath
-170.18 20.499 M
-167.664 20.499 166.188 18.976 QUADTO
-164.711 17.453 164.711 14.89 QUADTO
-164.711 12.296 166.195 10.788 QUADTO
-167.68 9.281 170.242 9.281 QUADTO
-172.82 9.281 174.305 10.788 QUADTO
-175.789 12.296 175.789 14.874 QUADTO
-175.789 17.499 174.297 18.999 QUADTO
-172.805 20.499 170.18 20.499 QUADTO
-closepath
-170.227 18.687 M
-172.711 18.687 172.711 14.874 QUADTO
-172.711 13.124 172.055 12.109 QUADTO
-171.398 11.093 170.242 11.093 QUADTO
-169.102 11.093 168.445 12.109 QUADTO
-167.789 13.124 167.789 14.89 QUADTO
-167.789 16.64 168.438 17.663 QUADTO
-169.086 18.687 170.227 18.687 QUADTO
-closepath
-183.703 19.093 M
-182.25 20.499 180.609 20.499 QUADTO
-179.203 20.499 178.32 19.64 QUADTO
-177.438 18.781 177.438 17.406 QUADTO
-177.438 15.624 178.859 14.663 QUADTO
-180.281 13.703 182.938 13.703 QUADTO
-183.703 13.703 lineto
-183.703 12.734 lineto
-183.703 11.062 181.797 11.062 QUADTO
-180.109 11.062 178.375 12.015 QUADTO
-178.375 10.031 lineto
-180.344 9.281 182.266 9.281 QUADTO
-186.469 9.281 186.469 12.624 QUADTO
-186.469 17.374 lineto
-186.469 18.64 187.281 18.64 QUADTO
-187.438 18.64 187.672 18.593 QUADTO
-187.734 20.218 lineto
-186.812 20.499 186.109 20.499 QUADTO
-184.344 20.499 183.828 19.093 QUADTO
-183.703 19.093 lineto
-closepath
-183.703 17.546 M
-183.703 15.359 lineto
-183.016 15.359 lineto
-180.219 15.359 180.219 17.124 QUADTO
-180.219 17.718 180.625 18.124 QUADTO
-181.031 18.531 181.625 18.531 QUADTO
-182.641 18.531 183.703 17.546 QUADTO
-closepath
-196.961 20.249 M
-196.961 18.234 lineto
-195.836 20.499 193.445 20.499 QUADTO
-191.508 20.499 190.406 19.078 QUADTO
-189.305 17.656 189.305 15.187 QUADTO
-189.305 12.484 190.555 10.882 QUADTO
-191.805 9.281 193.898 9.281 QUADTO
-195.57 9.281 196.961 10.609 QUADTO
-196.961 4.828 lineto
-199.852 4.828 lineto
-199.852 20.249 lineto
-196.961 20.249 lineto
-closepath
-196.961 12.328 M
-195.914 11.156 194.711 11.156 QUADTO
-193.648 11.156 193.016 12.179 QUADTO
-192.383 13.203 192.383 14.937 QUADTO
-192.383 18.234 194.492 18.234 QUADTO
-195.789 18.234 196.961 16.578 QUADTO
-196.961 12.328 lineto
-closepath
-210.055 20.249 M
-210.055 5.796 lineto
-216.273 5.796 lineto
-219.633 5.796 221.422 7.578 QUADTO
-223.211 9.359 223.211 12.718 QUADTO
-223.211 16.296 221.312 18.273 QUADTO
-219.414 20.249 216.008 20.249 QUADTO
-210.055 20.249 lineto
-closepath
-213.055 18.203 M
-215.305 18.203 lineto
-217.68 18.203 218.844 16.89 QUADTO
-220.008 15.578 220.008 12.89 QUADTO
-220.008 10.828 219.07 9.453 QUADTO
-218.43 8.499 217.523 8.14 QUADTO
-216.617 7.781 214.867 7.781 QUADTO
-213.055 7.781 lineto
-213.055 18.203 lineto
-closepath
-225.914 20.249 M
-225.914 9.531 lineto
-228.805 9.531 lineto
-228.805 20.249 lineto
-225.914 20.249 lineto
-closepath
-225.914 7.718 M
-225.914 5.312 lineto
-228.805 5.312 lineto
-228.805 7.718 lineto
-225.914 7.718 lineto
-closepath
-232.137 19.906 M
-232.137 17.781 lineto
-234.277 18.687 235.809 18.687 QUADTO
-237.574 18.687 237.574 17.468 QUADTO
-237.574 16.687 236.121 16.109 QUADTO
-235.137 15.718 lineto
-233.543 15.078 232.863 14.335 QUADTO
-232.184 13.593 232.184 12.499 QUADTO
-232.184 10.968 233.34 10.124 QUADTO
-234.496 9.281 236.59 9.281 QUADTO
-237.902 9.281 239.715 9.656 QUADTO
-239.715 11.687 lineto
-237.965 11.093 236.824 11.093 QUADTO
-235.027 11.093 235.027 12.203 QUADTO
-235.027 12.937 236.355 13.437 QUADTO
-237.199 13.765 lineto
-239.09 14.484 239.824 15.21 QUADTO
-240.559 15.937 240.559 17.093 QUADTO
-240.559 18.609 239.301 19.554 QUADTO
-238.043 20.499 236.043 20.499 QUADTO
-234.105 20.499 232.137 19.906 QUADTO
-closepath
-249.242 20.187 M
-248.211 20.499 247.617 20.499 QUADTO
-243.852 20.499 243.852 16.984 QUADTO
-243.852 11.328 lineto
-242.664 11.328 lineto
-242.664 9.531 lineto
-243.852 9.531 lineto
-243.852 7.718 lineto
-246.742 7.39 lineto
-246.742 9.531 lineto
-249.039 9.531 lineto
-249.039 11.328 lineto
-246.742 11.328 lineto
-246.742 16.593 lineto
-246.742 18.562 248.367 18.562 QUADTO
-248.727 18.562 249.242 18.437 QUADTO
-249.242 20.187 lineto
-closepath
-251.832 20.249 M
-251.832 9.531 lineto
-254.723 9.531 lineto
-254.723 11.546 lineto
-255.848 9.281 258.129 9.281 QUADTO
-258.41 9.281 258.676 9.343 QUADTO
-258.676 11.921 lineto
-258.051 11.687 257.535 11.687 QUADTO
-255.801 11.687 254.723 13.437 QUADTO
-254.723 20.249 lineto
-251.832 20.249 lineto
-closepath
-260.924 20.249 M
-260.924 9.531 lineto
-263.814 9.531 lineto
-263.814 20.249 lineto
-260.924 20.249 lineto
-closepath
-260.924 7.718 M
-260.924 5.312 lineto
-263.814 5.312 lineto
-263.814 7.718 lineto
-260.924 7.718 lineto
-closepath
-267.428 20.249 M
-267.428 4.828 lineto
-270.318 4.828 lineto
-270.318 11.546 lineto
-271.428 9.281 273.818 9.281 QUADTO
-275.756 9.281 276.865 10.695 QUADTO
-277.975 12.109 277.975 14.593 QUADTO
-277.975 17.281 276.725 18.89 QUADTO
-275.475 20.499 273.381 20.499 QUADTO
-271.584 20.499 270.318 19.171 QUADTO
-269.771 20.249 lineto
-267.428 20.249 lineto
-closepath
-270.318 17.453 M
-271.365 18.624 272.553 18.624 QUADTO
-273.631 18.624 274.264 17.593 QUADTO
-274.896 16.562 274.896 14.843 QUADTO
-274.896 11.546 272.771 11.546 QUADTO
-271.49 11.546 270.318 13.203 QUADTO
-270.318 17.453 lineto
-closepath
-287.305 20.249 M
-287.305 18.234 lineto
-285.898 20.499 283.648 20.499 QUADTO
-282.211 20.499 281.383 19.585 QUADTO
-280.555 18.671 280.555 17.109 QUADTO
-280.555 9.531 lineto
-283.445 9.531 lineto
-283.445 16.39 lineto
-283.445 18.218 284.664 18.218 QUADTO
-286.039 18.218 287.305 16.281 QUADTO
-287.305 9.531 lineto
-290.195 9.531 lineto
-290.195 20.249 lineto
-287.305 20.249 lineto
-closepath
-299.33 20.187 M
-298.299 20.499 297.705 20.499 QUADTO
-293.939 20.499 293.939 16.984 QUADTO
-293.939 11.328 lineto
-292.752 11.328 lineto
-292.752 9.531 lineto
-293.939 9.531 lineto
-293.939 7.718 lineto
-296.83 7.39 lineto
-296.83 9.531 lineto
-299.127 9.531 lineto
-299.127 11.328 lineto
-296.83 11.328 lineto
-296.83 16.593 lineto
-296.83 18.562 298.455 18.562 QUADTO
-298.814 18.562 299.33 18.437 QUADTO
-299.33 20.187 lineto
-closepath
-301.92 20.249 M
-301.92 9.531 lineto
-304.811 9.531 lineto
-304.811 20.249 lineto
-301.92 20.249 lineto
-closepath
-301.92 7.718 M
-301.92 5.312 lineto
-304.811 5.312 lineto
-304.811 7.718 lineto
-301.92 7.718 lineto
-closepath
-312.924 20.499 M
-310.408 20.499 308.932 18.976 QUADTO
-307.455 17.453 307.455 14.89 QUADTO
-307.455 12.296 308.939 10.788 QUADTO
-310.424 9.281 312.986 9.281 QUADTO
-315.564 9.281 317.049 10.788 QUADTO
-318.533 12.296 318.533 14.874 QUADTO
-318.533 17.499 317.041 18.999 QUADTO
-315.549 20.499 312.924 20.499 QUADTO
-closepath
-312.971 18.687 M
-315.455 18.687 315.455 14.874 QUADTO
-315.455 13.124 314.799 12.109 QUADTO
-314.143 11.093 312.986 11.093 QUADTO
-311.846 11.093 311.189 12.109 QUADTO
-310.533 13.124 310.533 14.89 QUADTO
-310.533 16.64 311.182 17.663 QUADTO
-311.83 18.687 312.971 18.687 QUADTO
-closepath
-321.197 20.249 M
-321.197 9.531 lineto
-324.088 9.531 lineto
-324.088 11.546 lineto
-325.494 9.281 327.729 9.281 QUADTO
-329.166 9.281 330.002 10.187 QUADTO
-330.838 11.093 330.838 12.671 QUADTO
-330.838 20.249 lineto
-327.947 20.249 lineto
-327.947 13.39 lineto
-327.947 11.562 326.729 11.562 QUADTO
-325.354 11.562 324.088 13.499 QUADTO
-324.088 20.249 lineto
-321.197 20.249 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-1 335.356 M
-399 335.356 lineto
-399 399 lineto
-1 399 lineto
-1 335.356 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-1.5 335.856 M
-398.5 335.856 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-1.5 398.5 M
-398.5 398.5 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-1.5 398.5 M
-1.5 335.856 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-398.5 398.5 M
-398.5 335.856 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-5 346.63 M
-19 346.63 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-9 343.63 M
-15 343.63 lineto
-15 349.63 lineto
-9 349.63 lineto
-9 343.63 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-9 343.63 M
-15 343.63 lineto
-15 349.63 lineto
-9 349.63 lineto
-9 343.63 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-24.125 350.906 M
-24.125 342.234 lineto
-26.484 342.234 lineto
-28.047 342.234 28.734 342.765 QUADTO
-29.422 343.296 29.422 344.499 QUADTO
-29.422 345.89 28.484 346.671 QUADTO
-27.547 347.453 25.891 347.453 QUADTO
-25.344 347.453 lineto
-25.344 350.906 lineto
-24.125 350.906 lineto
-closepath
-25.344 346.531 M
-25.844 346.531 lineto
-26.938 346.531 27.531 346.023 QUADTO
-28.125 345.515 28.125 344.593 QUADTO
-28.125 343.828 27.656 343.492 QUADTO
-27.188 343.156 26.094 343.156 QUADTO
-25.344 343.156 lineto
-25.344 346.531 lineto
-closepath
-35.148 347.593 M
-33.664 343.843 lineto
-32.195 347.593 lineto
-35.148 347.593 lineto
-closepath
-36.445 350.906 M
-35.508 348.499 lineto
-31.836 348.499 lineto
-30.883 350.906 lineto
-29.727 350.906 lineto
-33.18 342.234 lineto
-34.398 342.234 lineto
-37.773 350.906 lineto
-36.445 350.906 lineto
-closepath
-40.725 351.124 M
-39.865 351.124 38.506 350.734 QUADTO
-38.506 349.515 lineto
-39.959 350.203 40.912 350.203 QUADTO
-41.631 350.203 42.076 349.82 QUADTO
-42.521 349.437 42.521 348.812 QUADTO
-42.521 348.312 42.232 347.953 QUADTO
-41.943 347.593 41.162 347.156 QUADTO
-40.568 346.812 lineto
-39.459 346.171 39.006 345.617 QUADTO
-38.553 345.062 38.553 344.312 QUADTO
-38.553 343.312 39.279 342.663 QUADTO
-40.006 342.015 41.131 342.015 QUADTO
-42.131 342.015 43.24 342.343 QUADTO
-43.24 343.468 lineto
-41.865 342.937 41.193 342.937 QUADTO
-40.553 342.937 40.139 343.273 QUADTO
-39.725 343.609 39.725 344.124 QUADTO
-39.725 344.562 40.029 344.898 QUADTO
-40.334 345.234 41.146 345.703 QUADTO
-41.756 346.046 lineto
-42.881 346.687 43.326 347.257 QUADTO
-43.771 347.828 43.771 348.624 QUADTO
-43.771 349.749 42.943 350.437 QUADTO
-42.115 351.124 40.725 351.124 QUADTO
-closepath
-47.562 350.906 M
-47.562 343.156 lineto
-44.484 343.156 lineto
-44.484 342.234 lineto
-51.859 342.234 lineto
-51.859 343.156 lineto
-48.781 343.156 lineto
-48.781 350.906 lineto
-47.562 350.906 lineto
-closepath
-56.885 350.906 M
-56.885 342.234 lineto
-58.088 342.234 lineto
-62.447 348.937 lineto
-62.447 342.234 lineto
-63.51 342.234 lineto
-63.51 350.906 lineto
-62.307 350.906 lineto
-57.932 344.203 lineto
-57.932 350.906 lineto
-56.885 350.906 lineto
-closepath
-65.922 348.953 M
-65.922 348.093 lineto
-72.859 348.093 lineto
-72.859 348.953 lineto
-65.922 348.953 lineto
-closepath
-65.922 346.781 M
-65.922 345.921 lineto
-72.859 345.921 lineto
-72.859 346.781 lineto
-65.922 346.781 lineto
-closepath
-75.977 350.906 M
-75.977 350.031 lineto
-77.711 350.031 lineto
-77.711 343.187 lineto
-75.977 343.624 lineto
-75.977 342.734 lineto
-78.867 342.015 lineto
-78.867 350.031 lineto
-80.602 350.031 lineto
-80.602 350.906 lineto
-75.977 350.906 lineto
-closepath
-85.518 351.124 M
-84.174 351.124 83.346 349.859 QUADTO
-82.518 348.593 82.518 346.562 QUADTO
-82.518 344.515 83.354 343.265 QUADTO
-84.189 342.015 85.549 342.015 QUADTO
-86.908 342.015 87.744 343.265 QUADTO
-88.58 344.515 88.58 346.546 QUADTO
-88.58 348.624 87.744 349.874 QUADTO
-86.908 351.124 85.518 351.124 QUADTO
-closepath
-85.533 350.249 M
-87.361 350.249 87.361 346.531 QUADTO
-87.361 342.89 85.549 342.89 QUADTO
-83.752 342.89 83.752 346.562 QUADTO
-83.752 350.249 85.533 350.249 QUADTO
-closepath
-93.105 351.124 M
-91.762 351.124 90.934 349.859 QUADTO
-90.105 348.593 90.105 346.562 QUADTO
-90.105 344.515 90.941 343.265 QUADTO
-91.777 342.015 93.137 342.015 QUADTO
-94.496 342.015 95.332 343.265 QUADTO
-96.168 344.515 96.168 346.546 QUADTO
-96.168 348.624 95.332 349.874 QUADTO
-94.496 351.124 93.105 351.124 QUADTO
-closepath
-93.121 350.249 M
-94.949 350.249 94.949 346.531 QUADTO
-94.949 342.89 93.137 342.89 QUADTO
-91.34 342.89 91.34 346.562 QUADTO
-91.34 350.249 93.121 350.249 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-102.928 346.63 M
-116.928 346.63 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-112.928 346.63 M
-112.928 348.287 111.585 349.63 109.928 349.63 curveto
-108.271 349.63 106.928 348.287 106.928 346.63 curveto
-106.928 344.973 108.271 343.63 109.928 343.63 curveto
-111.585 343.63 112.928 344.973 112.928 346.63 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-112.928 346.63 M
-112.928 348.287 111.585 349.63 109.928 349.63 curveto
-108.271 349.63 106.928 348.287 106.928 346.63 curveto
-106.928 344.973 108.271 343.63 109.928 343.63 curveto
-111.585 343.63 112.928 344.973 112.928 346.63 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-122.053 350.906 M
-122.053 342.234 lineto
-124.412 342.234 lineto
-125.975 342.234 126.662 342.765 QUADTO
-127.35 343.296 127.35 344.499 QUADTO
-127.35 345.89 126.412 346.671 QUADTO
-125.475 347.453 123.818 347.453 QUADTO
-123.271 347.453 lineto
-123.271 350.906 lineto
-122.053 350.906 lineto
-closepath
-123.271 346.531 M
-123.771 346.531 lineto
-124.865 346.531 125.459 346.023 QUADTO
-126.053 345.515 126.053 344.593 QUADTO
-126.053 343.828 125.584 343.492 QUADTO
-125.115 343.156 124.021 343.156 QUADTO
-123.271 343.156 lineto
-123.271 346.531 lineto
-closepath
-133.076 347.593 M
-131.592 343.843 lineto
-130.123 347.593 lineto
-133.076 347.593 lineto
-closepath
-134.373 350.906 M
-133.436 348.499 lineto
-129.764 348.499 lineto
-128.811 350.906 lineto
-127.654 350.906 lineto
-131.107 342.234 lineto
-132.326 342.234 lineto
-135.701 350.906 lineto
-134.373 350.906 lineto
-closepath
-138.652 351.124 M
-137.793 351.124 136.434 350.734 QUADTO
-136.434 349.515 lineto
-137.887 350.203 138.84 350.203 QUADTO
-139.559 350.203 140.004 349.82 QUADTO
-140.449 349.437 140.449 348.812 QUADTO
-140.449 348.312 140.16 347.953 QUADTO
-139.871 347.593 139.09 347.156 QUADTO
-138.496 346.812 lineto
-137.387 346.171 136.934 345.617 QUADTO
-136.48 345.062 136.48 344.312 QUADTO
-136.48 343.312 137.207 342.663 QUADTO
-137.934 342.015 139.059 342.015 QUADTO
-140.059 342.015 141.168 342.343 QUADTO
-141.168 343.468 lineto
-139.793 342.937 139.121 342.937 QUADTO
-138.48 342.937 138.066 343.273 QUADTO
-137.652 343.609 137.652 344.124 QUADTO
-137.652 344.562 137.957 344.898 QUADTO
-138.262 345.234 139.074 345.703 QUADTO
-139.684 346.046 lineto
-140.809 346.687 141.254 347.257 QUADTO
-141.699 347.828 141.699 348.624 QUADTO
-141.699 349.749 140.871 350.437 QUADTO
-140.043 351.124 138.652 351.124 QUADTO
-closepath
-145.49 350.906 M
-145.49 343.156 lineto
-142.412 343.156 lineto
-142.412 342.234 lineto
-149.787 342.234 lineto
-149.787 343.156 lineto
-146.709 343.156 lineto
-146.709 350.906 lineto
-145.49 350.906 lineto
-closepath
-154.812 350.906 M
-154.812 342.234 lineto
-156.016 342.234 lineto
-160.375 348.937 lineto
-160.375 342.234 lineto
-161.438 342.234 lineto
-161.438 350.906 lineto
-160.234 350.906 lineto
-155.859 344.203 lineto
-155.859 350.906 lineto
-154.812 350.906 lineto
-closepath
-163.85 348.953 M
-163.85 348.093 lineto
-170.787 348.093 lineto
-170.787 348.953 lineto
-163.85 348.953 lineto
-closepath
-163.85 346.781 M
-163.85 345.921 lineto
-170.787 345.921 lineto
-170.787 346.781 lineto
-163.85 346.781 lineto
-closepath
-173.904 350.906 M
-173.904 350.031 lineto
-175.639 350.031 lineto
-175.639 343.187 lineto
-173.904 343.624 lineto
-173.904 342.734 lineto
-176.795 342.015 lineto
-176.795 350.031 lineto
-178.529 350.031 lineto
-178.529 350.906 lineto
-173.904 350.906 lineto
-closepath
-183.445 351.124 M
-182.102 351.124 181.273 349.859 QUADTO
-180.445 348.593 180.445 346.562 QUADTO
-180.445 344.515 181.281 343.265 QUADTO
-182.117 342.015 183.477 342.015 QUADTO
-184.836 342.015 185.672 343.265 QUADTO
-186.508 344.515 186.508 346.546 QUADTO
-186.508 348.624 185.672 349.874 QUADTO
-184.836 351.124 183.445 351.124 QUADTO
-closepath
-183.461 350.249 M
-185.289 350.249 185.289 346.531 QUADTO
-185.289 342.89 183.477 342.89 QUADTO
-181.68 342.89 181.68 346.562 QUADTO
-181.68 350.249 183.461 350.249 QUADTO
-closepath
-191.033 351.124 M
-189.689 351.124 188.861 349.859 QUADTO
-188.033 348.593 188.033 346.562 QUADTO
-188.033 344.515 188.869 343.265 QUADTO
-189.705 342.015 191.064 342.015 QUADTO
-192.424 342.015 193.26 343.265 QUADTO
-194.096 344.515 194.096 346.546 QUADTO
-194.096 348.624 193.26 349.874 QUADTO
-192.424 351.124 191.033 351.124 QUADTO
-closepath
-191.049 350.249 M
-192.877 350.249 192.877 346.531 QUADTO
-192.877 342.89 191.064 342.89 QUADTO
-189.268 342.89 189.268 346.562 QUADTO
-189.268 350.249 191.049 350.249 QUADTO
-closepath
-198.621 351.124 M
-197.277 351.124 196.449 349.859 QUADTO
-195.621 348.593 195.621 346.562 QUADTO
-195.621 344.515 196.457 343.265 QUADTO
-197.293 342.015 198.652 342.015 QUADTO
-200.012 342.015 200.848 343.265 QUADTO
-201.684 344.515 201.684 346.546 QUADTO
-201.684 348.624 200.848 349.874 QUADTO
-200.012 351.124 198.621 351.124 QUADTO
-closepath
-198.637 350.249 M
-200.465 350.249 200.465 346.531 QUADTO
-200.465 342.89 198.652 342.89 QUADTO
-196.855 342.89 196.855 346.562 QUADTO
-196.855 350.249 198.637 350.249 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-208.443 346.63 M
-222.443 346.63 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-215.443 343.63 M
-218.443 349.63 lineto
-212.443 349.63 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-215.443 343.63 M
-218.443 349.63 lineto
-212.443 349.63 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-227.568 350.906 M
-227.568 342.234 lineto
-228.725 342.234 lineto
-228.725 346.499 lineto
-232.225 342.234 lineto
-233.459 342.234 lineto
-230.068 346.374 lineto
-234.068 350.906 lineto
-232.506 350.906 lineto
-228.725 346.515 lineto
-228.725 350.906 lineto
-227.568 350.906 lineto
-closepath
-238.715 350.093 M
-237.684 351.046 236.715 351.046 QUADTO
-235.918 351.046 235.402 350.554 QUADTO
-234.887 350.062 234.887 349.312 QUADTO
-234.887 348.265 235.762 347.703 QUADTO
-236.637 347.14 238.262 347.14 QUADTO
-238.543 347.14 lineto
-238.543 346.374 lineto
-238.543 345.265 237.402 345.265 QUADTO
-236.496 345.265 235.434 345.828 QUADTO
-235.434 344.874 lineto
-236.605 344.406 237.621 344.406 QUADTO
-238.684 344.406 239.191 344.882 QUADTO
-239.699 345.359 239.699 346.374 QUADTO
-239.699 349.265 lineto
-239.699 350.249 240.309 350.249 QUADTO
-240.387 350.249 240.527 350.218 QUADTO
-240.605 350.859 lineto
-240.215 351.046 239.746 351.046 QUADTO
-238.934 351.046 238.715 350.093 QUADTO
-closepath
-238.543 349.468 M
-238.543 347.828 lineto
-238.152 347.812 lineto
-237.215 347.812 236.629 348.171 QUADTO
-236.043 348.531 236.043 349.124 QUADTO
-236.043 349.531 236.332 349.82 QUADTO
-236.621 350.109 237.043 350.109 QUADTO
-237.762 350.109 238.543 349.468 QUADTO
-closepath
-246.139 350.906 M
-246.139 349.703 lineto
-245.436 351.046 244.029 351.046 QUADTO
-242.873 351.046 242.217 350.21 QUADTO
-241.561 349.374 241.561 347.921 QUADTO
-241.561 346.328 242.303 345.367 QUADTO
-243.045 344.406 244.264 344.406 QUADTO
-245.404 344.406 246.139 345.265 QUADTO
-246.139 341.656 lineto
-247.311 341.656 lineto
-247.311 350.906 lineto
-246.139 350.906 lineto
-closepath
-246.139 346.062 M
-245.248 345.265 244.451 345.265 QUADTO
-242.779 345.265 242.779 347.812 QUADTO
-242.779 350.031 244.264 350.031 QUADTO
-245.217 350.031 246.139 348.984 QUADTO
-246.139 346.062 lineto
-closepath
-254.27 350.703 M
-253.113 351.046 252.285 351.046 QUADTO
-250.879 351.046 249.996 350.117 QUADTO
-249.113 349.187 249.113 347.687 QUADTO
-249.113 346.249 249.895 345.32 QUADTO
-250.676 344.39 251.895 344.39 QUADTO
-253.051 344.39 253.676 345.21 QUADTO
-254.301 346.031 254.301 347.546 QUADTO
-254.301 347.906 lineto
-250.285 347.906 lineto
-250.535 350.171 252.504 350.171 QUADTO
-253.223 350.171 254.27 349.781 QUADTO
-254.27 350.703 lineto
-closepath
-250.332 347.031 M
-253.145 347.031 lineto
-253.145 345.265 251.816 345.265 QUADTO
-250.488 345.265 250.332 347.031 QUADTO
-closepath
-256.299 350.906 M
-256.299 344.546 lineto
-257.455 344.546 lineto
-257.455 345.734 lineto
-258.299 344.406 259.627 344.406 QUADTO
-260.893 344.406 261.361 345.734 QUADTO
-262.174 344.39 263.486 344.39 QUADTO
-264.33 344.39 264.799 344.89 QUADTO
-265.268 345.39 265.268 346.281 QUADTO
-265.268 350.906 lineto
-264.096 350.906 lineto
-264.096 346.453 lineto
-264.096 345.374 263.236 345.374 QUADTO
-262.346 345.374 261.361 346.64 QUADTO
-261.361 350.906 lineto
-260.205 350.906 lineto
-260.205 346.453 lineto
-260.205 345.359 259.314 345.359 QUADTO
-258.455 345.359 257.455 346.64 QUADTO
-257.455 350.906 lineto
-256.299 350.906 lineto
-closepath
-267.502 350.906 M
-267.502 341.656 lineto
-268.658 341.656 lineto
-268.658 350.906 lineto
-267.502 350.906 lineto
-closepath
-270.971 350.906 M
-270.971 344.546 lineto
-272.127 344.546 lineto
-272.127 350.906 lineto
-270.971 350.906 lineto
-closepath
-270.971 343.39 M
-270.971 342.234 lineto
-272.127 342.234 lineto
-272.127 343.39 lineto
-270.971 343.39 lineto
-closepath
-277.721 350.093 M
-276.689 351.046 275.721 351.046 QUADTO
-274.924 351.046 274.408 350.554 QUADTO
-273.893 350.062 273.893 349.312 QUADTO
-273.893 348.265 274.768 347.703 QUADTO
-275.643 347.14 277.268 347.14 QUADTO
-277.549 347.14 lineto
-277.549 346.374 lineto
-277.549 345.265 276.408 345.265 QUADTO
-275.502 345.265 274.439 345.828 QUADTO
-274.439 344.874 lineto
-275.611 344.406 276.627 344.406 QUADTO
-277.689 344.406 278.197 344.882 QUADTO
-278.705 345.359 278.705 346.374 QUADTO
-278.705 349.265 lineto
-278.705 350.249 279.314 350.249 QUADTO
-279.393 350.249 279.533 350.218 QUADTO
-279.611 350.859 lineto
-279.221 351.046 278.752 351.046 QUADTO
-277.939 351.046 277.721 350.093 QUADTO
-closepath
-277.549 349.468 M
-277.549 347.828 lineto
-277.158 347.812 lineto
-276.221 347.812 275.635 348.171 QUADTO
-275.049 348.531 275.049 349.124 QUADTO
-275.049 349.531 275.338 349.82 QUADTO
-275.627 350.109 276.049 350.109 QUADTO
-276.768 350.109 277.549 349.468 QUADTO
-closepath
-284.832 350.906 M
-284.832 342.234 lineto
-286.035 342.234 lineto
-290.395 348.937 lineto
-290.395 342.234 lineto
-291.457 342.234 lineto
-291.457 350.906 lineto
-290.254 350.906 lineto
-285.879 344.203 lineto
-285.879 350.906 lineto
-284.832 350.906 lineto
-closepath
-293.869 348.953 M
-293.869 348.093 lineto
-300.807 348.093 lineto
-300.807 348.953 lineto
-293.869 348.953 lineto
-closepath
-293.869 346.781 M
-293.869 345.921 lineto
-300.807 345.921 lineto
-300.807 346.781 lineto
-293.869 346.781 lineto
-closepath
-303.924 350.906 M
-303.924 350.031 lineto
-305.658 350.031 lineto
-305.658 343.187 lineto
-303.924 343.624 lineto
-303.924 342.734 lineto
-306.814 342.015 lineto
-306.814 350.031 lineto
-308.549 350.031 lineto
-308.549 350.906 lineto
-303.924 350.906 lineto
-closepath
-313.465 351.124 M
-312.121 351.124 311.293 349.859 QUADTO
-310.465 348.593 310.465 346.562 QUADTO
-310.465 344.515 311.301 343.265 QUADTO
-312.137 342.015 313.496 342.015 QUADTO
-314.855 342.015 315.691 343.265 QUADTO
-316.527 344.515 316.527 346.546 QUADTO
-316.527 348.624 315.691 349.874 QUADTO
-314.855 351.124 313.465 351.124 QUADTO
-closepath
-313.48 350.249 M
-315.309 350.249 315.309 346.531 QUADTO
-315.309 342.89 313.496 342.89 QUADTO
-311.699 342.89 311.699 346.562 QUADTO
-311.699 350.249 313.48 350.249 QUADTO
-closepath
-321.053 351.124 M
-319.709 351.124 318.881 349.859 QUADTO
-318.053 348.593 318.053 346.562 QUADTO
-318.053 344.515 318.889 343.265 QUADTO
-319.725 342.015 321.084 342.015 QUADTO
-322.443 342.015 323.279 343.265 QUADTO
-324.115 344.515 324.115 346.546 QUADTO
-324.115 348.624 323.279 349.874 QUADTO
-322.443 351.124 321.053 351.124 QUADTO
-closepath
-321.068 350.249 M
-322.896 350.249 322.896 346.531 QUADTO
-322.896 342.89 321.084 342.89 QUADTO
-319.287 342.89 319.287 346.562 QUADTO
-319.287 350.249 321.068 350.249 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-5 367.178 M
-19 367.178 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-12 364.178 M
-15 367.178 lineto
-12 370.178 lineto
-9 367.178 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-12 364.178 M
-15 367.178 lineto
-12 370.178 lineto
-9 367.178 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-24.125 371.454 M
-24.125 362.782 lineto
-25.281 362.782 lineto
-25.281 367.047 lineto
-28.781 362.782 lineto
-30.016 362.782 lineto
-26.625 366.922 lineto
-30.625 371.454 lineto
-29.062 371.454 lineto
-25.281 367.063 lineto
-25.281 371.454 lineto
-24.125 371.454 lineto
-closepath
-35.271 370.641 M
-34.24 371.594 33.271 371.594 QUADTO
-32.475 371.594 31.959 371.102 QUADTO
-31.443 370.61 31.443 369.86 QUADTO
-31.443 368.813 32.318 368.251 QUADTO
-33.193 367.688 34.818 367.688 QUADTO
-35.1 367.688 lineto
-35.1 366.922 lineto
-35.1 365.813 33.959 365.813 QUADTO
-33.053 365.813 31.99 366.376 QUADTO
-31.99 365.422 lineto
-33.162 364.954 34.178 364.954 QUADTO
-35.24 364.954 35.748 365.43 QUADTO
-36.256 365.907 36.256 366.922 QUADTO
-36.256 369.813 lineto
-36.256 370.797 36.865 370.797 QUADTO
-36.943 370.797 37.084 370.766 QUADTO
-37.162 371.407 lineto
-36.771 371.594 36.303 371.594 QUADTO
-35.49 371.594 35.271 370.641 QUADTO
-closepath
-35.1 370.016 M
-35.1 368.376 lineto
-34.709 368.36 lineto
-33.771 368.36 33.186 368.719 QUADTO
-32.6 369.079 32.6 369.672 QUADTO
-32.6 370.079 32.889 370.368 QUADTO
-33.178 370.657 33.6 370.657 QUADTO
-34.318 370.657 35.1 370.016 QUADTO
-closepath
-42.695 371.454 M
-42.695 370.251 lineto
-41.992 371.594 40.586 371.594 QUADTO
-39.43 371.594 38.773 370.758 QUADTO
-38.117 369.922 38.117 368.469 QUADTO
-38.117 366.876 38.859 365.915 QUADTO
-39.602 364.954 40.82 364.954 QUADTO
-41.961 364.954 42.695 365.813 QUADTO
-42.695 362.204 lineto
-43.867 362.204 lineto
-43.867 371.454 lineto
-42.695 371.454 lineto
-closepath
-42.695 366.61 M
-41.805 365.813 41.008 365.813 QUADTO
-39.336 365.813 39.336 368.36 QUADTO
-39.336 370.579 40.82 370.579 QUADTO
-41.773 370.579 42.695 369.532 QUADTO
-42.695 366.61 lineto
-closepath
-50.826 371.251 M
-49.67 371.594 48.842 371.594 QUADTO
-47.436 371.594 46.553 370.665 QUADTO
-45.67 369.735 45.67 368.235 QUADTO
-45.67 366.797 46.451 365.868 QUADTO
-47.232 364.938 48.451 364.938 QUADTO
-49.607 364.938 50.232 365.758 QUADTO
-50.857 366.579 50.857 368.094 QUADTO
-50.857 368.454 lineto
-46.842 368.454 lineto
-47.092 370.719 49.061 370.719 QUADTO
-49.779 370.719 50.826 370.329 QUADTO
-50.826 371.251 lineto
-closepath
-46.889 367.579 M
-49.701 367.579 lineto
-49.701 365.813 48.373 365.813 QUADTO
-47.045 365.813 46.889 367.579 QUADTO
-closepath
-52.855 371.454 M
-52.855 365.094 lineto
-54.012 365.094 lineto
-54.012 366.282 lineto
-54.855 364.954 56.184 364.954 QUADTO
-57.449 364.954 57.918 366.282 QUADTO
-58.73 364.938 60.043 364.938 QUADTO
-60.887 364.938 61.355 365.438 QUADTO
-61.824 365.938 61.824 366.829 QUADTO
-61.824 371.454 lineto
-60.652 371.454 lineto
-60.652 367.001 lineto
-60.652 365.922 59.793 365.922 QUADTO
-58.902 365.922 57.918 367.188 QUADTO
-57.918 371.454 lineto
-56.762 371.454 lineto
-56.762 367.001 lineto
-56.762 365.907 55.871 365.907 QUADTO
-55.012 365.907 54.012 367.188 QUADTO
-54.012 371.454 lineto
-52.855 371.454 lineto
-closepath
-64.059 371.454 M
-64.059 362.204 lineto
-65.215 362.204 lineto
-65.215 371.454 lineto
-64.059 371.454 lineto
-closepath
-67.527 371.454 M
-67.527 365.094 lineto
-68.684 365.094 lineto
-68.684 371.454 lineto
-67.527 371.454 lineto
-closepath
-67.527 363.938 M
-67.527 362.782 lineto
-68.684 362.782 lineto
-68.684 363.938 lineto
-67.527 363.938 lineto
-closepath
-74.277 370.641 M
-73.246 371.594 72.277 371.594 QUADTO
-71.48 371.594 70.965 371.102 QUADTO
-70.449 370.61 70.449 369.86 QUADTO
-70.449 368.813 71.324 368.251 QUADTO
-72.199 367.688 73.824 367.688 QUADTO
-74.105 367.688 lineto
-74.105 366.922 lineto
-74.105 365.813 72.965 365.813 QUADTO
-72.059 365.813 70.996 366.376 QUADTO
-70.996 365.422 lineto
-72.168 364.954 73.184 364.954 QUADTO
-74.246 364.954 74.754 365.43 QUADTO
-75.262 365.907 75.262 366.922 QUADTO
-75.262 369.813 lineto
-75.262 370.797 75.871 370.797 QUADTO
-75.949 370.797 76.09 370.766 QUADTO
-76.168 371.407 lineto
-75.777 371.594 75.309 371.594 QUADTO
-74.496 371.594 74.277 370.641 QUADTO
-closepath
-74.105 370.016 M
-74.105 368.376 lineto
-73.715 368.36 lineto
-72.777 368.36 72.191 368.719 QUADTO
-71.605 369.079 71.605 369.672 QUADTO
-71.605 370.079 71.895 370.368 QUADTO
-72.184 370.657 72.605 370.657 QUADTO
-73.324 370.657 74.105 370.016 QUADTO
-closepath
-81.389 371.454 M
-81.389 362.782 lineto
-82.592 362.782 lineto
-86.951 369.485 lineto
-86.951 362.782 lineto
-88.014 362.782 lineto
-88.014 371.454 lineto
-86.811 371.454 lineto
-82.436 364.751 lineto
-82.436 371.454 lineto
-81.389 371.454 lineto
-closepath
-90.426 369.501 M
-90.426 368.641 lineto
-97.363 368.641 lineto
-97.363 369.501 lineto
-90.426 369.501 lineto
-closepath
-90.426 367.329 M
-90.426 366.469 lineto
-97.363 366.469 lineto
-97.363 367.329 lineto
-90.426 367.329 lineto
-closepath
-100.48 371.454 M
-100.48 370.579 lineto
-102.215 370.579 lineto
-102.215 363.735 lineto
-100.48 364.172 lineto
-100.48 363.282 lineto
-103.371 362.563 lineto
-103.371 370.579 lineto
-105.105 370.579 lineto
-105.105 371.454 lineto
-100.48 371.454 lineto
-closepath
-110.021 371.672 M
-108.678 371.672 107.85 370.407 QUADTO
-107.021 369.141 107.021 367.11 QUADTO
-107.021 365.063 107.857 363.813 QUADTO
-108.693 362.563 110.053 362.563 QUADTO
-111.412 362.563 112.248 363.813 QUADTO
-113.084 365.063 113.084 367.094 QUADTO
-113.084 369.172 112.248 370.422 QUADTO
-111.412 371.672 110.021 371.672 QUADTO
-closepath
-110.037 370.797 M
-111.865 370.797 111.865 367.079 QUADTO
-111.865 363.438 110.053 363.438 QUADTO
-108.256 363.438 108.256 367.11 QUADTO
-108.256 370.797 110.037 370.797 QUADTO
-closepath
-117.609 371.672 M
-116.266 371.672 115.438 370.407 QUADTO
-114.609 369.141 114.609 367.11 QUADTO
-114.609 365.063 115.445 363.813 QUADTO
-116.281 362.563 117.641 362.563 QUADTO
-119 362.563 119.836 363.813 QUADTO
-120.672 365.063 120.672 367.094 QUADTO
-120.672 369.172 119.836 370.422 QUADTO
-119 371.672 117.609 371.672 QUADTO
-closepath
-117.625 370.797 M
-119.453 370.797 119.453 367.079 QUADTO
-119.453 363.438 117.641 363.438 QUADTO
-115.844 363.438 115.844 367.11 QUADTO
-115.844 370.797 117.625 370.797 QUADTO
-closepath
-125.197 371.672 M
-123.854 371.672 123.025 370.407 QUADTO
-122.197 369.141 122.197 367.11 QUADTO
-122.197 365.063 123.033 363.813 QUADTO
-123.869 362.563 125.229 362.563 QUADTO
-126.588 362.563 127.424 363.813 QUADTO
-128.26 365.063 128.26 367.094 QUADTO
-128.26 369.172 127.424 370.422 QUADTO
-126.588 371.672 125.197 371.672 QUADTO
-closepath
-125.213 370.797 M
-127.041 370.797 127.041 367.079 QUADTO
-127.041 363.438 125.229 363.438 QUADTO
-123.432 363.438 123.432 367.11 QUADTO
-123.432 370.797 125.213 370.797 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-135.02 367.178 M
-149.02 367.178 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-139.02 365.678 M
-145.02 365.678 lineto
-145.02 368.678 lineto
-139.02 368.678 lineto
-139.02 365.678 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-139.02 365.678 M
-145.02 365.678 lineto
-145.02 368.678 lineto
-139.02 368.678 lineto
-139.02 365.678 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-156.504 371.454 M
-153.238 362.782 lineto
-154.457 362.782 lineto
-157.145 369.876 lineto
-159.738 362.782 lineto
-160.816 362.782 lineto
-157.66 371.454 lineto
-156.504 371.454 lineto
-closepath
-166.678 371.251 M
-165.521 371.594 164.693 371.594 QUADTO
-163.287 371.594 162.404 370.665 QUADTO
-161.521 369.735 161.521 368.235 QUADTO
-161.521 366.797 162.303 365.868 QUADTO
-163.084 364.938 164.303 364.938 QUADTO
-165.459 364.938 166.084 365.758 QUADTO
-166.709 366.579 166.709 368.094 QUADTO
-166.709 368.454 lineto
-162.693 368.454 lineto
-162.943 370.719 164.912 370.719 QUADTO
-165.631 370.719 166.678 370.329 QUADTO
-166.678 371.251 lineto
-closepath
-162.74 367.579 M
-165.553 367.579 lineto
-165.553 365.813 164.225 365.813 QUADTO
-162.896 365.813 162.74 367.579 QUADTO
-closepath
-168.707 371.454 M
-168.707 365.094 lineto
-169.863 365.094 lineto
-169.863 366.282 lineto
-170.551 364.954 171.848 364.954 QUADTO
-172.035 364.954 172.223 364.985 QUADTO
-172.223 366.063 lineto
-171.926 365.954 171.691 365.954 QUADTO
-170.598 365.954 169.863 367.251 QUADTO
-169.863 371.454 lineto
-168.707 371.454 lineto
-closepath
-175.523 371.594 M
-174.648 371.594 174.156 371.094 QUADTO
-173.664 370.594 173.664 369.688 QUADTO
-173.664 365.954 lineto
-172.867 365.954 lineto
-172.867 365.094 lineto
-173.664 365.094 lineto
-173.664 363.938 lineto
-174.82 363.829 lineto
-174.82 365.094 lineto
-176.477 365.094 lineto
-176.477 365.954 lineto
-174.82 365.954 lineto
-174.82 369.485 lineto
-174.82 370.735 175.898 370.735 QUADTO
-176.117 370.735 176.445 370.657 QUADTO
-176.445 371.454 lineto
-175.914 371.594 175.523 371.594 QUADTO
-closepath
-182.762 371.251 M
-181.605 371.594 180.777 371.594 QUADTO
-179.371 371.594 178.488 370.665 QUADTO
-177.605 369.735 177.605 368.235 QUADTO
-177.605 366.797 178.387 365.868 QUADTO
-179.168 364.938 180.387 364.938 QUADTO
-181.543 364.938 182.168 365.758 QUADTO
-182.793 366.579 182.793 368.094 QUADTO
-182.793 368.454 lineto
-178.777 368.454 lineto
-179.027 370.719 180.996 370.719 QUADTO
-181.715 370.719 182.762 370.329 QUADTO
-182.762 371.251 lineto
-closepath
-178.824 367.579 M
-181.637 367.579 lineto
-181.637 365.813 180.309 365.813 QUADTO
-178.98 365.813 178.824 367.579 QUADTO
-closepath
-184.15 371.454 M
-186.572 368.172 lineto
-184.229 365.094 lineto
-185.588 365.094 lineto
-187.447 367.532 lineto
-189.135 365.094 lineto
-190.26 365.094 lineto
-188.057 368.313 lineto
-190.447 371.454 lineto
-189.072 371.454 lineto
-187.166 368.938 lineto
-185.307 371.454 lineto
-184.15 371.454 lineto
-closepath
-202.432 371.219 M
-200.854 371.672 199.682 371.672 QUADTO
-197.604 371.672 196.502 370.493 QUADTO
-195.4 369.313 195.4 367.11 QUADTO
-195.4 364.954 196.518 363.758 QUADTO
-197.635 362.563 199.666 362.563 QUADTO
-200.979 362.563 202.416 362.954 QUADTO
-202.416 364.094 lineto
-200.619 363.485 199.666 363.485 QUADTO
-198.26 363.485 197.486 364.438 QUADTO
-196.713 365.391 196.713 367.126 QUADTO
-196.713 368.844 197.541 369.797 QUADTO
-198.369 370.751 199.869 370.751 QUADTO
-200.494 370.751 201.197 370.532 QUADTO
-201.197 367.704 lineto
-202.432 367.704 lineto
-202.432 371.219 lineto
-closepath
-204.619 371.454 M
-204.619 365.094 lineto
-205.775 365.094 lineto
-205.775 366.282 lineto
-206.463 364.954 207.76 364.954 QUADTO
-207.947 364.954 208.135 364.985 QUADTO
-208.135 366.063 lineto
-207.838 365.954 207.604 365.954 QUADTO
-206.51 365.954 205.775 367.251 QUADTO
-205.775 371.454 lineto
-204.619 371.454 lineto
-closepath
-212.014 371.594 M
-210.654 371.594 209.842 370.688 QUADTO
-209.029 369.782 209.029 368.266 QUADTO
-209.029 366.735 209.842 365.844 QUADTO
-210.654 364.954 212.061 364.954 QUADTO
-213.467 364.954 214.279 365.844 QUADTO
-215.092 366.735 215.092 368.266 QUADTO
-215.092 369.813 214.271 370.704 QUADTO
-213.451 371.594 212.014 371.594 QUADTO
-closepath
-212.029 370.735 M
-213.873 370.735 213.873 368.266 QUADTO
-213.873 365.813 212.061 365.813 QUADTO
-210.248 365.813 210.248 368.266 QUADTO
-210.248 370.735 212.029 370.735 QUADTO
-closepath
-220.885 371.454 M
-220.885 370.251 lineto
-219.963 371.594 218.65 371.594 QUADTO
-217.807 371.594 217.314 371.071 QUADTO
-216.822 370.547 216.822 369.657 QUADTO
-216.822 365.094 lineto
-217.979 365.094 lineto
-217.979 369.282 lineto
-217.979 370.001 218.189 370.305 QUADTO
-218.4 370.61 218.885 370.61 QUADTO
-219.947 370.61 220.885 369.219 QUADTO
-220.885 365.094 lineto
-222.025 365.094 lineto
-222.025 371.454 lineto
-220.885 371.454 lineto
-closepath
-224.348 373.766 M
-224.348 365.094 lineto
-225.504 365.094 lineto
-225.504 366.282 lineto
-226.207 364.954 227.629 364.954 QUADTO
-228.77 364.954 229.434 365.79 QUADTO
-230.098 366.626 230.098 368.079 QUADTO
-230.098 369.657 229.348 370.626 QUADTO
-228.598 371.594 227.379 371.594 QUADTO
-226.254 371.594 225.504 370.735 QUADTO
-225.504 373.766 lineto
-224.348 373.766 lineto
-closepath
-225.504 369.938 M
-226.395 370.735 227.207 370.735 QUADTO
-228.863 370.735 228.863 368.188 QUADTO
-228.863 365.954 227.395 365.954 QUADTO
-226.426 365.954 225.504 367.001 QUADTO
-225.504 369.938 lineto
-closepath
-233.588 371.594 M
-232.791 371.594 231.666 371.235 QUADTO
-231.666 370.172 lineto
-232.791 370.735 233.635 370.735 QUADTO
-234.135 370.735 234.463 370.461 QUADTO
-234.791 370.188 234.791 369.782 QUADTO
-234.791 369.204 233.869 368.813 QUADTO
-233.197 368.516 lineto
-231.697 367.907 231.697 366.735 QUADTO
-231.697 365.907 232.291 365.43 QUADTO
-232.885 364.954 233.9 364.954 QUADTO
-234.432 364.954 235.229 365.094 QUADTO
-235.463 365.141 lineto
-235.463 366.11 lineto
-234.494 365.813 233.932 365.813 QUADTO
-232.807 365.813 232.807 366.626 QUADTO
-232.807 367.141 233.65 367.501 QUADTO
-234.213 367.735 lineto
-235.15 368.141 235.549 368.579 QUADTO
-235.947 369.016 235.947 369.688 QUADTO
-235.947 370.516 235.283 371.055 QUADTO
-234.619 371.594 233.588 371.594 QUADTO
-closepath
-241.783 371.454 M
-241.783 362.782 lineto
-242.986 362.782 lineto
-247.346 369.485 lineto
-247.346 362.782 lineto
-248.408 362.782 lineto
-248.408 371.454 lineto
-247.205 371.454 lineto
-242.83 364.751 lineto
-242.83 371.454 lineto
-241.783 371.454 lineto
-closepath
-250.82 369.501 M
-250.82 368.641 lineto
-257.758 368.641 lineto
-257.758 369.501 lineto
-250.82 369.501 lineto
-closepath
-250.82 367.329 M
-250.82 366.469 lineto
-257.758 366.469 lineto
-257.758 367.329 lineto
-250.82 367.329 lineto
-closepath
-260.875 371.454 M
-260.875 370.579 lineto
-262.609 370.579 lineto
-262.609 363.735 lineto
-260.875 364.172 lineto
-260.875 363.282 lineto
-263.766 362.563 lineto
-263.766 370.579 lineto
-265.5 370.579 lineto
-265.5 371.454 lineto
-260.875 371.454 lineto
-closepath
-270.416 371.672 M
-269.072 371.672 268.244 370.407 QUADTO
-267.416 369.141 267.416 367.11 QUADTO
-267.416 365.063 268.252 363.813 QUADTO
-269.088 362.563 270.447 362.563 QUADTO
-271.807 362.563 272.643 363.813 QUADTO
-273.479 365.063 273.479 367.094 QUADTO
-273.479 369.172 272.643 370.422 QUADTO
-271.807 371.672 270.416 371.672 QUADTO
-closepath
-270.432 370.797 M
-272.26 370.797 272.26 367.079 QUADTO
-272.26 363.438 270.447 363.438 QUADTO
-268.65 363.438 268.65 367.11 QUADTO
-268.65 370.797 270.432 370.797 QUADTO
-closepath
-278.004 371.672 M
-276.66 371.672 275.832 370.407 QUADTO
-275.004 369.141 275.004 367.11 QUADTO
-275.004 365.063 275.84 363.813 QUADTO
-276.676 362.563 278.035 362.563 QUADTO
-279.395 362.563 280.23 363.813 QUADTO
-281.066 365.063 281.066 367.094 QUADTO
-281.066 369.172 280.23 370.422 QUADTO
-279.395 371.672 278.004 371.672 QUADTO
-closepath
-278.02 370.797 M
-279.848 370.797 279.848 367.079 QUADTO
-279.848 363.438 278.035 363.438 QUADTO
-276.238 363.438 276.238 367.11 QUADTO
-276.238 370.797 278.02 370.797 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-5 387.726 M
-19 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-9 384.726 M
-15 384.726 lineto
-12 390.726 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-9 384.726 M
-15 384.726 lineto
-12 390.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-26.484 392.002 M
-23.219 383.33 lineto
-24.438 383.33 lineto
-27.125 390.424 lineto
-29.719 383.33 lineto
-30.797 383.33 lineto
-27.641 392.002 lineto
-26.484 392.002 lineto
-closepath
-36.658 391.799 M
-35.502 392.142 34.674 392.142 QUADTO
-33.268 392.142 32.385 391.213 QUADTO
-31.502 390.283 31.502 388.783 QUADTO
-31.502 387.345 32.283 386.416 QUADTO
-33.064 385.486 34.283 385.486 QUADTO
-35.439 385.486 36.064 386.306 QUADTO
-36.689 387.127 36.689 388.642 QUADTO
-36.689 389.002 lineto
-32.674 389.002 lineto
-32.924 391.267 34.893 391.267 QUADTO
-35.611 391.267 36.658 390.877 QUADTO
-36.658 391.799 lineto
-closepath
-32.721 388.127 M
-35.533 388.127 lineto
-35.533 386.361 34.205 386.361 QUADTO
-32.877 386.361 32.721 388.127 QUADTO
-closepath
-38.688 392.002 M
-38.688 385.642 lineto
-39.844 385.642 lineto
-39.844 386.83 lineto
-40.531 385.502 41.828 385.502 QUADTO
-42.016 385.502 42.203 385.533 QUADTO
-42.203 386.611 lineto
-41.906 386.502 41.672 386.502 QUADTO
-40.578 386.502 39.844 387.799 QUADTO
-39.844 392.002 lineto
-38.688 392.002 lineto
-closepath
-45.504 392.142 M
-44.629 392.142 44.137 391.642 QUADTO
-43.645 391.142 43.645 390.236 QUADTO
-43.645 386.502 lineto
-42.848 386.502 lineto
-42.848 385.642 lineto
-43.645 385.642 lineto
-43.645 384.486 lineto
-44.801 384.377 lineto
-44.801 385.642 lineto
-46.457 385.642 lineto
-46.457 386.502 lineto
-44.801 386.502 lineto
-44.801 390.033 lineto
-44.801 391.283 45.879 391.283 QUADTO
-46.098 391.283 46.426 391.205 QUADTO
-46.426 392.002 lineto
-45.895 392.142 45.504 392.142 QUADTO
-closepath
-52.742 391.799 M
-51.586 392.142 50.758 392.142 QUADTO
-49.352 392.142 48.469 391.213 QUADTO
-47.586 390.283 47.586 388.783 QUADTO
-47.586 387.345 48.367 386.416 QUADTO
-49.148 385.486 50.367 385.486 QUADTO
-51.523 385.486 52.148 386.306 QUADTO
-52.773 387.127 52.773 388.642 QUADTO
-52.773 389.002 lineto
-48.758 389.002 lineto
-49.008 391.267 50.977 391.267 QUADTO
-51.695 391.267 52.742 390.877 QUADTO
-52.742 391.799 lineto
-closepath
-48.805 388.127 M
-51.617 388.127 lineto
-51.617 386.361 50.289 386.361 QUADTO
-48.961 386.361 48.805 388.127 QUADTO
-closepath
-54.131 392.002 M
-56.553 388.72 lineto
-54.209 385.642 lineto
-55.568 385.642 lineto
-57.428 388.08 lineto
-59.115 385.642 lineto
-60.24 385.642 lineto
-58.037 388.861 lineto
-60.428 392.002 lineto
-59.053 392.002 lineto
-57.146 389.486 lineto
-55.287 392.002 lineto
-54.131 392.002 lineto
-closepath
-72.412 391.767 M
-70.834 392.22 69.662 392.22 QUADTO
-67.584 392.22 66.482 391.041 QUADTO
-65.381 389.861 65.381 387.658 QUADTO
-65.381 385.502 66.498 384.306 QUADTO
-67.615 383.111 69.646 383.111 QUADTO
-70.959 383.111 72.396 383.502 QUADTO
-72.396 384.642 lineto
-70.6 384.033 69.646 384.033 QUADTO
-68.24 384.033 67.467 384.986 QUADTO
-66.693 385.939 66.693 387.674 QUADTO
-66.693 389.392 67.521 390.345 QUADTO
-68.35 391.299 69.85 391.299 QUADTO
-70.475 391.299 71.178 391.08 QUADTO
-71.178 388.252 lineto
-72.412 388.252 lineto
-72.412 391.767 lineto
-closepath
-74.6 392.002 M
-74.6 385.642 lineto
-75.756 385.642 lineto
-75.756 386.83 lineto
-76.443 385.502 77.74 385.502 QUADTO
-77.928 385.502 78.115 385.533 QUADTO
-78.115 386.611 lineto
-77.818 386.502 77.584 386.502 QUADTO
-76.49 386.502 75.756 387.799 QUADTO
-75.756 392.002 lineto
-74.6 392.002 lineto
-closepath
-81.994 392.142 M
-80.635 392.142 79.822 391.236 QUADTO
-79.01 390.33 79.01 388.814 QUADTO
-79.01 387.283 79.822 386.392 QUADTO
-80.635 385.502 82.041 385.502 QUADTO
-83.447 385.502 84.26 386.392 QUADTO
-85.072 387.283 85.072 388.814 QUADTO
-85.072 390.361 84.252 391.252 QUADTO
-83.432 392.142 81.994 392.142 QUADTO
-closepath
-82.01 391.283 M
-83.854 391.283 83.854 388.814 QUADTO
-83.854 386.361 82.041 386.361 QUADTO
-80.229 386.361 80.229 388.814 QUADTO
-80.229 391.283 82.01 391.283 QUADTO
-closepath
-90.865 392.002 M
-90.865 390.799 lineto
-89.943 392.142 88.631 392.142 QUADTO
-87.787 392.142 87.295 391.619 QUADTO
-86.803 391.095 86.803 390.205 QUADTO
-86.803 385.642 lineto
-87.959 385.642 lineto
-87.959 389.83 lineto
-87.959 390.549 88.17 390.853 QUADTO
-88.381 391.158 88.865 391.158 QUADTO
-89.928 391.158 90.865 389.767 QUADTO
-90.865 385.642 lineto
-92.006 385.642 lineto
-92.006 392.002 lineto
-90.865 392.002 lineto
-closepath
-94.328 394.314 M
-94.328 385.642 lineto
-95.484 385.642 lineto
-95.484 386.83 lineto
-96.188 385.502 97.609 385.502 QUADTO
-98.75 385.502 99.414 386.338 QUADTO
-100.078 387.174 100.078 388.627 QUADTO
-100.078 390.205 99.328 391.174 QUADTO
-98.578 392.142 97.359 392.142 QUADTO
-96.234 392.142 95.484 391.283 QUADTO
-95.484 394.314 lineto
-94.328 394.314 lineto
-closepath
-95.484 390.486 M
-96.375 391.283 97.188 391.283 QUADTO
-98.844 391.283 98.844 388.736 QUADTO
-98.844 386.502 97.375 386.502 QUADTO
-96.406 386.502 95.484 387.549 QUADTO
-95.484 390.486 lineto
-closepath
-103.568 392.142 M
-102.771 392.142 101.646 391.783 QUADTO
-101.646 390.72 lineto
-102.771 391.283 103.615 391.283 QUADTO
-104.115 391.283 104.443 391.009 QUADTO
-104.771 390.736 104.771 390.33 QUADTO
-104.771 389.752 103.85 389.361 QUADTO
-103.178 389.064 lineto
-101.678 388.455 101.678 387.283 QUADTO
-101.678 386.455 102.271 385.978 QUADTO
-102.865 385.502 103.881 385.502 QUADTO
-104.412 385.502 105.209 385.642 QUADTO
-105.443 385.689 lineto
-105.443 386.658 lineto
-104.475 386.361 103.912 386.361 QUADTO
-102.787 386.361 102.787 387.174 QUADTO
-102.787 387.689 103.631 388.049 QUADTO
-104.193 388.283 lineto
-105.131 388.689 105.529 389.127 QUADTO
-105.928 389.564 105.928 390.236 QUADTO
-105.928 391.064 105.264 391.603 QUADTO
-104.6 392.142 103.568 392.142 QUADTO
-closepath
-111.764 392.002 M
-111.764 383.33 lineto
-112.967 383.33 lineto
-117.326 390.033 lineto
-117.326 383.33 lineto
-118.389 383.33 lineto
-118.389 392.002 lineto
-117.186 392.002 lineto
-112.811 385.299 lineto
-112.811 392.002 lineto
-111.764 392.002 lineto
-closepath
-120.801 390.049 M
-120.801 389.189 lineto
-127.738 389.189 lineto
-127.738 390.049 lineto
-120.801 390.049 lineto
-closepath
-120.801 387.877 M
-120.801 387.017 lineto
-127.738 387.017 lineto
-127.738 387.877 lineto
-120.801 387.877 lineto
-closepath
-130.855 392.002 M
-130.855 391.127 lineto
-132.59 391.127 lineto
-132.59 384.283 lineto
-130.855 384.72 lineto
-130.855 383.83 lineto
-133.746 383.111 lineto
-133.746 391.127 lineto
-135.48 391.127 lineto
-135.48 392.002 lineto
-130.855 392.002 lineto
-closepath
-140.396 392.22 M
-139.053 392.22 138.225 390.955 QUADTO
-137.396 389.689 137.396 387.658 QUADTO
-137.396 385.611 138.232 384.361 QUADTO
-139.068 383.111 140.428 383.111 QUADTO
-141.787 383.111 142.623 384.361 QUADTO
-143.459 385.611 143.459 387.642 QUADTO
-143.459 389.72 142.623 390.97 QUADTO
-141.787 392.22 140.396 392.22 QUADTO
-closepath
-140.412 391.345 M
-142.24 391.345 142.24 387.627 QUADTO
-142.24 383.986 140.428 383.986 QUADTO
-138.631 383.986 138.631 387.658 QUADTO
-138.631 391.345 140.412 391.345 QUADTO
-closepath
-147.984 392.22 M
-146.641 392.22 145.812 390.955 QUADTO
-144.984 389.689 144.984 387.658 QUADTO
-144.984 385.611 145.82 384.361 QUADTO
-146.656 383.111 148.016 383.111 QUADTO
-149.375 383.111 150.211 384.361 QUADTO
-151.047 385.611 151.047 387.642 QUADTO
-151.047 389.72 150.211 390.97 QUADTO
-149.375 392.22 147.984 392.22 QUADTO
-closepath
-148 391.345 M
-149.828 391.345 149.828 387.627 QUADTO
-149.828 383.986 148.016 383.986 QUADTO
-146.219 383.986 146.219 387.658 QUADTO
-146.219 391.345 148 391.345 QUADTO
-closepath
-155.572 392.22 M
-154.229 392.22 153.4 390.955 QUADTO
-152.572 389.689 152.572 387.658 QUADTO
-152.572 385.611 153.408 384.361 QUADTO
-154.244 383.111 155.604 383.111 QUADTO
-156.963 383.111 157.799 384.361 QUADTO
-158.635 385.611 158.635 387.642 QUADTO
-158.635 389.72 157.799 390.97 QUADTO
-156.963 392.22 155.572 392.22 QUADTO
-closepath
-155.588 391.345 M
-157.416 391.345 157.416 387.627 QUADTO
-157.416 383.986 155.604 383.986 QUADTO
-153.807 383.986 153.807 387.658 QUADTO
-153.807 391.345 155.588 391.345 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-58.148 34.247 M
-388 34.247 lineto
-388 284.835 lineto
-58.148 284.835 lineto
-58.148 34.247 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-58.148 288.835 M
-388 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-58.12 304.604 M
-56.776 304.604 55.948 303.338 QUADTO
-55.12 302.072 55.12 300.041 QUADTO
-55.12 297.994 55.956 296.744 QUADTO
-56.792 295.494 58.151 295.494 QUADTO
-59.511 295.494 60.347 296.744 QUADTO
-61.183 297.994 61.183 300.026 QUADTO
-61.183 302.104 60.347 303.354 QUADTO
-59.511 304.604 58.12 304.604 QUADTO
-closepath
-58.136 303.729 M
-59.964 303.729 59.964 300.01 QUADTO
-59.964 296.369 58.151 296.369 QUADTO
-56.355 296.369 56.355 300.041 QUADTO
-56.355 303.729 58.136 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-58.148 290.835 M
-58.148 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-118.636 304.416 M
-118.636 303.385 lineto
-119.511 303.729 120.277 303.729 QUADTO
-121.136 303.729 121.629 303.229 QUADTO
-122.121 302.729 122.121 301.838 QUADTO
-122.121 299.885 119.433 299.885 QUADTO
-119.121 299.885 118.793 299.932 QUADTO
-118.793 295.713 lineto
-123.183 295.713 lineto
-123.183 296.713 lineto
-119.808 296.713 lineto
-119.808 299.01 lineto
-121.48 299.01 122.418 299.776 QUADTO
-123.355 300.541 123.355 301.901 QUADTO
-123.355 303.166 122.496 303.885 QUADTO
-121.636 304.604 120.136 304.604 QUADTO
-119.48 304.604 118.636 304.416 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-120.977 290.835 M
-120.977 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-178.031 304.385 M
-178.031 303.51 lineto
-179.765 303.51 lineto
-179.765 296.666 lineto
-178.031 297.104 lineto
-178.031 296.213 lineto
-180.921 295.494 lineto
-180.921 303.51 lineto
-182.656 303.51 lineto
-182.656 304.385 lineto
-178.031 304.385 lineto
-closepath
-187.572 304.604 M
-186.228 304.604 185.4 303.338 QUADTO
-184.572 302.072 184.572 300.041 QUADTO
-184.572 297.994 185.408 296.744 QUADTO
-186.244 295.494 187.603 295.494 QUADTO
-188.962 295.494 189.798 296.744 QUADTO
-190.634 297.994 190.634 300.026 QUADTO
-190.634 302.104 189.798 303.354 QUADTO
-188.962 304.604 187.572 304.604 QUADTO
-closepath
-187.587 303.729 M
-189.416 303.729 189.416 300.01 QUADTO
-189.416 296.369 187.603 296.369 QUADTO
-185.806 296.369 185.806 300.041 QUADTO
-185.806 303.729 187.587 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-183.806 290.835 M
-183.806 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-240.86 304.385 M
-240.86 303.51 lineto
-242.594 303.51 lineto
-242.594 296.666 lineto
-240.86 297.104 lineto
-240.86 296.213 lineto
-243.75 295.494 lineto
-243.75 303.51 lineto
-245.485 303.51 lineto
-245.485 304.385 lineto
-240.86 304.385 lineto
-closepath
-248.088 304.416 M
-248.088 303.385 lineto
-248.963 303.729 249.729 303.729 QUADTO
-250.588 303.729 251.08 303.229 QUADTO
-251.573 302.729 251.573 301.838 QUADTO
-251.573 299.885 248.885 299.885 QUADTO
-248.573 299.885 248.244 299.932 QUADTO
-248.244 295.713 lineto
-252.635 295.713 lineto
-252.635 296.713 lineto
-249.26 296.713 lineto
-249.26 299.01 lineto
-250.932 299.01 251.869 299.776 QUADTO
-252.807 300.541 252.807 301.901 QUADTO
-252.807 303.166 251.948 303.885 QUADTO
-251.088 304.604 249.588 304.604 QUADTO
-248.932 304.604 248.088 304.416 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-246.635 290.835 M
-246.635 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-302.876 304.385 M
-302.876 303.369 lineto
-303.376 302.197 304.907 300.807 QUADTO
-305.579 300.213 lineto
-306.845 299.057 306.845 297.916 QUADTO
-306.845 297.197 306.415 296.783 QUADTO
-305.985 296.369 305.22 296.369 QUADTO
-304.314 296.369 303.095 297.057 QUADTO
-303.095 296.041 lineto
-304.251 295.494 305.376 295.494 QUADTO
-306.595 295.494 307.337 296.151 QUADTO
-308.079 296.807 308.079 297.885 QUADTO
-308.079 298.666 307.704 299.276 QUADTO
-307.329 299.885 306.314 300.744 QUADTO
-305.876 301.119 lineto
-304.485 302.291 304.267 303.369 QUADTO
-308.032 303.369 lineto
-308.032 304.385 lineto
-302.876 304.385 lineto
-closepath
-313.23 304.604 M
-311.886 304.604 311.058 303.338 QUADTO
-310.23 302.072 310.23 300.041 QUADTO
-310.23 297.994 311.065 296.744 QUADTO
-311.901 295.494 313.261 295.494 QUADTO
-314.62 295.494 315.456 296.744 QUADTO
-316.292 297.994 316.292 300.026 QUADTO
-316.292 302.104 315.456 303.354 QUADTO
-314.62 304.604 313.23 304.604 QUADTO
-closepath
-313.245 303.729 M
-315.073 303.729 315.073 300.01 QUADTO
-315.073 296.369 313.261 296.369 QUADTO
-311.464 296.369 311.464 300.041 QUADTO
-311.464 303.729 313.245 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-309.464 290.835 M
-309.464 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-365.705 304.385 M
-365.705 303.369 lineto
-366.205 302.197 367.736 300.807 QUADTO
-368.408 300.213 lineto
-369.674 299.057 369.674 297.916 QUADTO
-369.674 297.197 369.244 296.783 QUADTO
-368.814 296.369 368.049 296.369 QUADTO
-367.142 296.369 365.924 297.057 QUADTO
-365.924 296.041 lineto
-367.08 295.494 368.205 295.494 QUADTO
-369.424 295.494 370.166 296.151 QUADTO
-370.908 296.807 370.908 297.885 QUADTO
-370.908 298.666 370.533 299.276 QUADTO
-370.158 299.885 369.142 300.744 QUADTO
-368.705 301.119 lineto
-367.314 302.291 367.096 303.369 QUADTO
-370.861 303.369 lineto
-370.861 304.385 lineto
-365.705 304.385 lineto
-closepath
-373.746 304.416 M
-373.746 303.385 lineto
-374.621 303.729 375.387 303.729 QUADTO
-376.246 303.729 376.738 303.229 QUADTO
-377.23 302.729 377.23 301.838 QUADTO
-377.23 299.885 374.543 299.885 QUADTO
-374.23 299.885 373.902 299.932 QUADTO
-373.902 295.713 lineto
-378.293 295.713 lineto
-378.293 296.713 lineto
-374.918 296.713 lineto
-374.918 299.01 lineto
-376.59 299.01 377.527 299.776 QUADTO
-378.465 300.541 378.465 301.901 QUADTO
-378.465 303.166 377.605 303.885 QUADTO
-376.746 304.604 375.246 304.604 QUADTO
-374.59 304.604 373.746 304.416 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-372.293 290.835 M
-372.293 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-169.601 323.858 M
-169.601 316.358 lineto
-171.617 316.358 lineto
-171.617 317.764 lineto
-172.617 316.186 174.179 316.186 QUADTO
-175.179 316.186 175.765 316.819 QUADTO
-176.351 317.452 176.351 318.545 QUADTO
-176.351 323.858 lineto
-174.32 323.858 lineto
-174.32 319.045 lineto
-174.32 317.78 173.476 317.78 QUADTO
-172.507 317.78 171.617 319.139 QUADTO
-171.617 323.858 lineto
-169.601 323.858 lineto
-closepath
-181.952 324.03 M
-180.186 324.03 179.155 322.967 QUADTO
-178.124 321.905 178.124 320.108 QUADTO
-178.124 318.28 179.163 317.233 QUADTO
-180.202 316.186 181.999 316.186 QUADTO
-183.795 316.186 184.834 317.233 QUADTO
-185.874 318.28 185.874 320.092 QUADTO
-185.874 321.936 184.827 322.983 QUADTO
-183.78 324.03 181.952 324.03 QUADTO
-closepath
-181.983 322.764 M
-183.717 322.764 183.717 320.092 QUADTO
-183.717 318.874 183.256 318.163 QUADTO
-182.795 317.452 181.999 317.452 QUADTO
-181.202 317.452 180.733 318.163 QUADTO
-180.264 318.874 180.264 320.108 QUADTO
-180.264 321.327 180.725 322.045 QUADTO
-181.186 322.764 181.983 322.764 QUADTO
-closepath
-192.456 323.858 M
-192.456 322.436 lineto
-191.674 324.03 190.002 324.03 QUADTO
-188.659 324.03 187.885 323.038 QUADTO
-187.112 322.045 187.112 320.311 QUADTO
-187.112 318.42 187.979 317.303 QUADTO
-188.846 316.186 190.315 316.186 QUADTO
-191.502 316.186 192.456 317.108 QUADTO
-192.456 313.061 lineto
-194.487 313.061 lineto
-194.487 323.858 lineto
-192.456 323.858 lineto
-closepath
-192.456 318.311 M
-191.721 317.499 190.893 317.499 QUADTO
-190.143 317.499 189.706 318.217 QUADTO
-189.268 318.936 189.268 320.139 QUADTO
-189.268 322.436 190.737 322.436 QUADTO
-191.643 322.436 192.456 321.28 QUADTO
-192.456 318.311 lineto
-closepath
-203.123 323.608 M
-201.685 324.03 200.388 324.03 QUADTO
-198.513 324.03 197.427 322.959 QUADTO
-196.341 321.889 196.341 320.045 QUADTO
-196.341 318.311 197.333 317.249 QUADTO
-198.326 316.186 199.966 316.186 QUADTO
-201.607 316.186 202.365 317.225 QUADTO
-203.123 318.264 203.123 320.514 QUADTO
-198.466 320.514 lineto
-198.669 322.655 200.826 322.655 QUADTO
-201.841 322.655 203.123 322.186 QUADTO
-203.123 323.608 lineto
-closepath
-198.435 319.374 M
-201.138 319.374 lineto
-201.138 317.452 199.904 317.452 QUADTO
-198.638 317.452 198.435 319.374 QUADTO
-closepath
-205.013 323.624 M
-205.013 322.139 lineto
-206.529 322.764 207.591 322.764 QUADTO
-208.826 322.764 208.826 321.92 QUADTO
-208.826 321.374 207.81 320.952 QUADTO
-207.123 320.686 lineto
-206.013 320.233 205.529 319.717 QUADTO
-205.044 319.202 205.044 318.436 QUADTO
-205.044 317.358 205.865 316.772 QUADTO
-206.685 316.186 208.138 316.186 QUADTO
-209.06 316.186 210.326 316.452 QUADTO
-210.326 317.874 lineto
-209.107 317.452 208.31 317.452 QUADTO
-207.044 317.452 207.044 318.217 QUADTO
-207.044 318.733 207.982 319.092 QUADTO
-208.56 319.311 lineto
-209.888 319.811 210.404 320.327 QUADTO
-210.919 320.842 210.919 321.655 QUADTO
-210.919 322.702 210.037 323.366 QUADTO
-209.154 324.03 207.748 324.03 QUADTO
-206.404 324.03 205.013 323.624 QUADTO
-closepath
-217.747 323.858 M
-217.747 316.358 lineto
-219.762 316.358 lineto
-219.762 323.858 lineto
-217.747 323.858 lineto
-closepath
-217.747 315.092 M
-217.747 313.405 lineto
-219.762 313.405 lineto
-219.762 315.092 lineto
-217.747 315.092 lineto
-closepath
-222.299 323.858 M
-222.299 316.358 lineto
-224.315 316.358 lineto
-224.315 317.764 lineto
-225.315 316.186 226.877 316.186 QUADTO
-227.877 316.186 228.463 316.819 QUADTO
-229.049 317.452 229.049 318.545 QUADTO
-229.049 323.858 lineto
-227.018 323.858 lineto
-227.018 319.045 lineto
-227.018 317.78 226.174 317.78 QUADTO
-225.206 317.78 224.315 319.139 QUADTO
-224.315 323.858 lineto
-222.299 323.858 lineto
-closepath
-233.353 323.858 M
-230.478 316.358 lineto
-232.619 316.358 lineto
-234.712 321.764 lineto
-236.791 316.358 lineto
-238.259 316.358 lineto
-235.369 323.858 lineto
-233.353 323.858 lineto
-closepath
-242.956 324.03 M
-241.19 324.03 240.159 322.967 QUADTO
-239.127 321.905 239.127 320.108 QUADTO
-239.127 318.28 240.167 317.233 QUADTO
-241.206 316.186 243.002 316.186 QUADTO
-244.799 316.186 245.838 317.233 QUADTO
-246.877 318.28 246.877 320.092 QUADTO
-246.877 321.936 245.831 322.983 QUADTO
-244.784 324.03 242.956 324.03 QUADTO
-closepath
-242.987 322.764 M
-244.721 322.764 244.721 320.092 QUADTO
-244.721 318.874 244.26 318.163 QUADTO
-243.799 317.452 243.002 317.452 QUADTO
-242.206 317.452 241.737 318.163 QUADTO
-241.268 318.874 241.268 320.108 QUADTO
-241.268 321.327 241.729 322.045 QUADTO
-242.19 322.764 242.987 322.764 QUADTO
-closepath
-248.741 323.858 M
-248.741 313.061 lineto
-250.756 313.061 lineto
-250.756 323.858 lineto
-248.741 323.858 lineto
-closepath
-255.153 323.858 M
-252.278 316.358 lineto
-254.418 316.358 lineto
-256.512 321.764 lineto
-258.59 316.358 lineto
-260.059 316.358 lineto
-257.168 323.858 lineto
-255.153 323.858 lineto
-closepath
-267.708 323.608 M
-266.271 324.03 264.974 324.03 QUADTO
-263.099 324.03 262.013 322.959 QUADTO
-260.927 321.889 260.927 320.045 QUADTO
-260.927 318.311 261.919 317.249 QUADTO
-262.912 316.186 264.552 316.186 QUADTO
-266.193 316.186 266.951 317.225 QUADTO
-267.708 318.264 267.708 320.514 QUADTO
-263.052 320.514 lineto
-263.255 322.655 265.412 322.655 QUADTO
-266.427 322.655 267.708 322.186 QUADTO
-267.708 323.608 lineto
-closepath
-263.021 319.374 M
-265.724 319.374 lineto
-265.724 317.452 264.49 317.452 QUADTO
-263.224 317.452 263.021 319.374 QUADTO
-closepath
-274.521 323.858 M
-274.521 322.436 lineto
-273.74 324.03 272.068 324.03 QUADTO
-270.724 324.03 269.951 323.038 QUADTO
-269.177 322.045 269.177 320.311 QUADTO
-269.177 318.42 270.044 317.303 QUADTO
-270.912 316.186 272.38 316.186 QUADTO
-273.568 316.186 274.521 317.108 QUADTO
-274.521 313.061 lineto
-276.552 313.061 lineto
-276.552 323.858 lineto
-274.521 323.858 lineto
-closepath
-274.521 318.311 M
-273.787 317.499 272.958 317.499 QUADTO
-272.208 317.499 271.771 318.217 QUADTO
-271.333 318.936 271.333 320.139 QUADTO
-271.333 322.436 272.802 322.436 QUADTO
-273.708 322.436 274.521 321.28 QUADTO
-274.521 318.311 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-54.148 34.247 M
-54.148 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-44.326 289.33 M
-42.982 289.33 42.154 288.064 QUADTO
-41.326 286.798 41.326 284.767 QUADTO
-41.326 282.72 42.162 281.47 QUADTO
-42.998 280.22 44.357 280.22 QUADTO
-45.717 280.22 46.553 281.47 QUADTO
-47.389 282.72 47.389 284.752 QUADTO
-47.389 286.83 46.553 288.08 QUADTO
-45.717 289.33 44.326 289.33 QUADTO
-closepath
-44.342 288.455 M
-46.17 288.455 46.17 284.736 QUADTO
-46.17 281.095 44.357 281.095 QUADTO
-42.561 281.095 42.561 284.767 QUADTO
-42.561 288.455 44.342 288.455 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 284.835 M
-54.148 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-42.014 264.722 M
-42.014 263.691 lineto
-42.889 264.035 43.654 264.035 QUADTO
-44.514 264.035 45.006 263.535 QUADTO
-45.498 263.035 45.498 262.144 QUADTO
-45.498 260.191 42.811 260.191 QUADTO
-42.498 260.191 42.17 260.238 QUADTO
-42.17 256.019 lineto
-46.561 256.019 lineto
-46.561 257.019 lineto
-43.186 257.019 lineto
-43.186 259.316 lineto
-44.857 259.316 45.795 260.082 QUADTO
-46.732 260.847 46.732 262.207 QUADTO
-46.732 263.472 45.873 264.191 QUADTO
-45.014 264.91 43.514 264.91 QUADTO
-42.857 264.91 42.014 264.722 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 260.416 M
-54.148 260.416 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 240.272 M
-34.785 239.397 lineto
-36.52 239.397 lineto
-36.52 232.553 lineto
-34.785 232.99 lineto
-34.785 232.1 lineto
-37.676 231.381 lineto
-37.676 239.397 lineto
-39.41 239.397 lineto
-39.41 240.272 lineto
-34.785 240.272 lineto
-closepath
-44.326 240.49 M
-42.982 240.49 42.154 239.225 QUADTO
-41.326 237.959 41.326 235.928 QUADTO
-41.326 233.881 42.162 232.631 QUADTO
-42.998 231.381 44.357 231.381 QUADTO
-45.717 231.381 46.553 232.631 QUADTO
-47.389 233.881 47.389 235.912 QUADTO
-47.389 237.99 46.553 239.24 QUADTO
-45.717 240.49 44.326 240.49 QUADTO
-closepath
-44.342 239.615 M
-46.17 239.615 46.17 235.897 QUADTO
-46.17 232.256 44.357 232.256 QUADTO
-42.561 232.256 42.561 235.928 QUADTO
-42.561 239.615 44.342 239.615 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 235.996 M
-54.148 235.996 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.785 215.852 M
-34.785 214.977 lineto
-36.52 214.977 lineto
-36.52 208.133 lineto
-34.785 208.571 lineto
-34.785 207.68 lineto
-37.676 206.961 lineto
-37.676 214.977 lineto
-39.41 214.977 lineto
-39.41 215.852 lineto
-34.785 215.852 lineto
-closepath
-42.014 215.883 M
-42.014 214.852 lineto
-42.889 215.196 43.654 215.196 QUADTO
-44.514 215.196 45.006 214.696 QUADTO
-45.498 214.196 45.498 213.305 QUADTO
-45.498 211.352 42.811 211.352 QUADTO
-42.498 211.352 42.17 211.399 QUADTO
-42.17 207.18 lineto
-46.561 207.18 lineto
-46.561 208.18 lineto
-43.186 208.18 lineto
-43.186 210.477 lineto
-44.857 210.477 45.795 211.242 QUADTO
-46.732 212.008 46.732 213.367 QUADTO
-46.732 214.633 45.873 215.352 QUADTO
-45.014 216.071 43.514 216.071 QUADTO
-42.857 216.071 42.014 215.883 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 211.576 M
-54.148 211.576 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 191.432 M
-33.973 190.416 lineto
-34.473 189.245 36.004 187.854 QUADTO
-36.676 187.26 lineto
-37.941 186.104 37.941 184.963 QUADTO
-37.941 184.245 37.512 183.831 QUADTO
-37.082 183.416 36.316 183.416 QUADTO
-35.41 183.416 34.191 184.104 QUADTO
-34.191 183.088 lineto
-35.348 182.541 36.473 182.541 QUADTO
-37.691 182.541 38.434 183.198 QUADTO
-39.176 183.854 39.176 184.932 QUADTO
-39.176 185.713 38.801 186.323 QUADTO
-38.426 186.932 37.41 187.791 QUADTO
-36.973 188.166 lineto
-35.582 189.338 35.363 190.416 QUADTO
-39.129 190.416 lineto
-39.129 191.432 lineto
-33.973 191.432 lineto
-closepath
-44.326 191.651 M
-42.982 191.651 42.154 190.385 QUADTO
-41.326 189.12 41.326 187.088 QUADTO
-41.326 185.041 42.162 183.791 QUADTO
-42.998 182.541 44.357 182.541 QUADTO
-45.717 182.541 46.553 183.791 QUADTO
-47.389 185.041 47.389 187.073 QUADTO
-47.389 189.151 46.553 190.401 QUADTO
-45.717 191.651 44.326 191.651 QUADTO
-closepath
-44.342 190.776 M
-46.17 190.776 46.17 187.057 QUADTO
-46.17 183.416 44.357 183.416 QUADTO
-42.561 183.416 42.561 187.088 QUADTO
-42.561 190.776 44.342 190.776 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 187.156 M
-54.148 187.156 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-33.973 167.012 M
-33.973 165.997 lineto
-34.473 164.825 36.004 163.434 QUADTO
-36.676 162.84 lineto
-37.941 161.684 37.941 160.544 QUADTO
-37.941 159.825 37.512 159.411 QUADTO
-37.082 158.997 36.316 158.997 QUADTO
-35.41 158.997 34.191 159.684 QUADTO
-34.191 158.669 lineto
-35.348 158.122 36.473 158.122 QUADTO
-37.691 158.122 38.434 158.778 QUADTO
-39.176 159.434 39.176 160.512 QUADTO
-39.176 161.294 38.801 161.903 QUADTO
-38.426 162.512 37.41 163.372 QUADTO
-36.973 163.747 lineto
-35.582 164.919 35.363 165.997 QUADTO
-39.129 165.997 lineto
-39.129 167.012 lineto
-33.973 167.012 lineto
-closepath
-42.014 167.044 M
-42.014 166.012 lineto
-42.889 166.356 43.654 166.356 QUADTO
-44.514 166.356 45.006 165.856 QUADTO
-45.498 165.356 45.498 164.465 QUADTO
-45.498 162.512 42.811 162.512 QUADTO
-42.498 162.512 42.17 162.559 QUADTO
-42.17 158.34 lineto
-46.561 158.34 lineto
-46.561 159.34 lineto
-43.186 159.34 lineto
-43.186 161.637 lineto
-44.857 161.637 45.795 162.403 QUADTO
-46.732 163.169 46.732 164.528 QUADTO
-46.732 165.794 45.873 166.512 QUADTO
-45.014 167.231 43.514 167.231 QUADTO
-42.857 167.231 42.014 167.044 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 162.737 M
-54.148 162.737 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 142.53 M
-34.191 141.452 lineto
-35.441 141.936 36.145 141.936 QUADTO
-36.973 141.936 37.496 141.452 QUADTO
-38.02 140.968 38.02 140.202 QUADTO
-38.02 138.374 35.457 138.374 QUADTO
-34.988 138.374 lineto
-34.988 137.593 lineto
-35.395 137.593 lineto
-37.801 137.593 37.801 135.905 QUADTO
-37.801 134.577 36.223 134.577 QUADTO
-35.348 134.577 34.316 135.061 QUADTO
-34.316 134.046 lineto
-35.332 133.702 36.301 133.702 QUADTO
-38.957 133.702 38.957 135.718 QUADTO
-38.957 137.249 37.145 137.889 QUADTO
-39.254 138.374 39.254 140.186 QUADTO
-39.254 141.421 38.441 142.116 QUADTO
-37.629 142.811 36.223 142.811 QUADTO
-35.41 142.811 34.191 142.53 QUADTO
-closepath
-44.326 142.811 M
-42.982 142.811 42.154 141.546 QUADTO
-41.326 140.28 41.326 138.249 QUADTO
-41.326 136.202 42.162 134.952 QUADTO
-42.998 133.702 44.357 133.702 QUADTO
-45.717 133.702 46.553 134.952 QUADTO
-47.389 136.202 47.389 138.233 QUADTO
-47.389 140.311 46.553 141.561 QUADTO
-45.717 142.811 44.326 142.811 QUADTO
-closepath
-44.342 141.936 M
-46.17 141.936 46.17 138.218 QUADTO
-46.17 134.577 44.357 134.577 QUADTO
-42.561 134.577 42.561 138.249 QUADTO
-42.561 141.936 44.342 141.936 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 138.317 M
-54.148 138.317 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.191 118.11 M
-34.191 117.032 lineto
-35.441 117.517 36.145 117.517 QUADTO
-36.973 117.517 37.496 117.032 QUADTO
-38.02 116.548 38.02 115.782 QUADTO
-38.02 113.954 35.457 113.954 QUADTO
-34.988 113.954 lineto
-34.988 113.173 lineto
-35.395 113.173 lineto
-37.801 113.173 37.801 111.485 QUADTO
-37.801 110.157 36.223 110.157 QUADTO
-35.348 110.157 34.316 110.642 QUADTO
-34.316 109.626 lineto
-35.332 109.282 36.301 109.282 QUADTO
-38.957 109.282 38.957 111.298 QUADTO
-38.957 112.829 37.145 113.47 QUADTO
-39.254 113.954 39.254 115.767 QUADTO
-39.254 117.001 38.441 117.696 QUADTO
-37.629 118.392 36.223 118.392 QUADTO
-35.41 118.392 34.191 118.11 QUADTO
-closepath
-42.014 118.204 M
-42.014 117.173 lineto
-42.889 117.517 43.654 117.517 QUADTO
-44.514 117.517 45.006 117.017 QUADTO
-45.498 116.517 45.498 115.626 QUADTO
-45.498 113.673 42.811 113.673 QUADTO
-42.498 113.673 42.17 113.72 QUADTO
-42.17 109.501 lineto
-46.561 109.501 lineto
-46.561 110.501 lineto
-43.186 110.501 lineto
-43.186 112.798 lineto
-44.857 112.798 45.795 113.564 QUADTO
-46.732 114.329 46.732 115.689 QUADTO
-46.732 116.954 45.873 117.673 QUADTO
-45.014 118.392 43.514 118.392 QUADTO
-42.857 118.392 42.014 118.204 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 113.897 M
-54.148 113.897 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-37.488 93.753 M
-37.488 91.3 lineto
-33.582 91.3 lineto
-33.582 90.425 lineto
-37.488 85.081 lineto
-38.582 85.081 lineto
-38.582 90.347 lineto
-39.738 90.347 lineto
-39.738 91.3 lineto
-38.582 91.3 lineto
-38.582 93.753 lineto
-37.488 93.753 lineto
-closepath
-34.723 90.347 M
-37.566 90.347 lineto
-37.566 86.503 lineto
-34.723 90.347 lineto
-closepath
-44.326 93.972 M
-42.982 93.972 42.154 92.706 QUADTO
-41.326 91.441 41.326 89.409 QUADTO
-41.326 87.363 42.162 86.113 QUADTO
-42.998 84.863 44.357 84.863 QUADTO
-45.717 84.863 46.553 86.113 QUADTO
-47.389 87.363 47.389 89.394 QUADTO
-47.389 91.472 46.553 92.722 QUADTO
-45.717 93.972 44.326 93.972 QUADTO
-closepath
-44.342 93.097 M
-46.17 93.097 46.17 89.378 QUADTO
-46.17 85.738 44.357 85.738 QUADTO
-42.561 85.738 42.561 89.409 QUADTO
-42.561 93.097 44.342 93.097 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 89.478 M
-54.148 89.478 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-37.488 69.333 M
-37.488 66.88 lineto
-33.582 66.88 lineto
-33.582 66.005 lineto
-37.488 60.662 lineto
-38.582 60.662 lineto
-38.582 65.927 lineto
-39.738 65.927 lineto
-39.738 66.88 lineto
-38.582 66.88 lineto
-38.582 69.333 lineto
-37.488 69.333 lineto
-closepath
-34.723 65.927 M
-37.566 65.927 lineto
-37.566 62.083 lineto
-34.723 65.927 lineto
-closepath
-42.014 69.365 M
-42.014 68.333 lineto
-42.889 68.677 43.654 68.677 QUADTO
-44.514 68.677 45.006 68.177 QUADTO
-45.498 67.677 45.498 66.787 QUADTO
-45.498 64.833 42.811 64.833 QUADTO
-42.498 64.833 42.17 64.88 QUADTO
-42.17 60.662 lineto
-46.561 60.662 lineto
-46.561 61.662 lineto
-43.186 61.662 lineto
-43.186 63.958 lineto
-44.857 63.958 45.795 64.724 QUADTO
-46.732 65.49 46.732 66.849 QUADTO
-46.732 68.115 45.873 68.833 QUADTO
-45.014 69.552 43.514 69.552 QUADTO
-42.857 69.552 42.014 69.365 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 65.058 M
-54.148 65.058 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-34.426 44.945 M
-34.426 43.914 lineto
-35.301 44.257 36.066 44.257 QUADTO
-36.926 44.257 37.418 43.757 QUADTO
-37.91 43.257 37.91 42.367 QUADTO
-37.91 40.414 35.223 40.414 QUADTO
-34.91 40.414 34.582 40.461 QUADTO
-34.582 36.242 lineto
-38.973 36.242 lineto
-38.973 37.242 lineto
-35.598 37.242 lineto
-35.598 39.539 lineto
-37.27 39.539 38.207 40.304 QUADTO
-39.145 41.07 39.145 42.429 QUADTO
-39.145 43.695 38.285 44.414 QUADTO
-37.426 45.132 35.926 45.132 QUADTO
-35.27 45.132 34.426 44.945 QUADTO
-closepath
-44.326 45.132 M
-42.982 45.132 42.154 43.867 QUADTO
-41.326 42.601 41.326 40.57 QUADTO
-41.326 38.523 42.162 37.273 QUADTO
-42.998 36.023 44.357 36.023 QUADTO
-45.717 36.023 46.553 37.273 QUADTO
-47.389 38.523 47.389 40.554 QUADTO
-47.389 42.632 46.553 43.882 QUADTO
-45.717 45.132 44.326 45.132 QUADTO
-closepath
-44.342 44.257 M
-46.17 44.257 46.17 40.539 QUADTO
-46.17 36.898 44.357 36.898 QUADTO
-42.561 36.898 42.561 40.57 QUADTO
-42.561 44.257 44.342 44.257 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52.148 40.638 M
-54.148 40.638 lineto
-stroke
-grestore
-gsave
-[0 -1 1 0 -140.05465 179.02732] concat
-newpath
-179.027 140.055 M
-179.027 540.055 lineto
--220.973 540.055 lineto
--220.973 140.055 lineto
-179.027 140.055 lineto
-closepath
-clip
-0.251 setgray
-newpath
--35.833 164.529 M
--35.833 153.732 lineto
--33.817 153.732 lineto
--33.817 164.529 lineto
--35.833 164.529 lineto
-closepath
--28.124 164.701 M
--29.889 164.701 -30.92 163.639 QUADTO
--31.952 162.576 -31.952 160.779 QUADTO
--31.952 158.951 -30.913 157.904 QUADTO
--29.874 156.857 -28.077 156.857 QUADTO
--26.28 156.857 -25.241 157.904 QUADTO
--24.202 158.951 -24.202 160.764 QUADTO
--24.202 162.607 -25.249 163.654 QUADTO
--26.295 164.701 -28.124 164.701 QUADTO
-closepath
--28.092 163.435 M
--26.358 163.435 -26.358 160.764 QUADTO
--26.358 159.545 -26.819 158.834 QUADTO
--27.28 158.123 -28.077 158.123 QUADTO
--28.874 158.123 -29.342 158.834 QUADTO
--29.811 159.545 -29.811 160.779 QUADTO
--29.811 161.998 -29.35 162.717 QUADTO
--28.889 163.435 -28.092 163.435 QUADTO
-closepath
--18.666 163.717 M
--19.666 164.701 -20.823 164.701 QUADTO
--21.807 164.701 -22.424 164.1 QUADTO
--23.041 163.498 -23.041 162.545 QUADTO
--23.041 161.295 -22.049 160.623 QUADTO
--21.057 159.951 -19.198 159.951 QUADTO
--18.666 159.951 lineto
--18.666 159.264 lineto
--18.666 158.092 -19.995 158.092 QUADTO
--21.182 158.092 -22.385 158.764 QUADTO
--22.385 157.373 lineto
--21.01 156.857 -19.666 156.857 QUADTO
--16.713 156.857 -16.713 159.201 QUADTO
--16.713 162.514 lineto
--16.713 163.404 -16.151 163.404 QUADTO
--16.057 163.404 -15.885 163.373 QUADTO
--15.838 164.514 lineto
--16.479 164.701 -16.979 164.701 QUADTO
--18.213 164.701 -18.573 163.717 QUADTO
--18.666 163.717 lineto
-closepath
--18.666 162.639 M
--18.666 161.107 lineto
--19.135 161.107 lineto
--21.104 161.107 -21.104 162.342 QUADTO
--21.104 162.764 -20.823 163.045 QUADTO
--20.541 163.326 -20.12 163.326 QUADTO
--19.401 163.326 -18.666 162.639 QUADTO
-closepath
--9.389 164.529 M
--9.389 163.107 lineto
--10.17 164.701 -11.842 164.701 QUADTO
--13.186 164.701 -13.959 163.709 QUADTO
--14.733 162.717 -14.733 160.982 QUADTO
--14.733 159.092 -13.866 157.975 QUADTO
--12.999 156.857 -11.53 156.857 QUADTO
--10.342 156.857 -9.389 157.779 QUADTO
--9.389 153.732 lineto
--7.358 153.732 lineto
--7.358 164.529 lineto
--9.389 164.529 lineto
-closepath
--9.389 158.982 M
--10.124 158.17 -10.952 158.17 QUADTO
--11.702 158.17 -12.139 158.889 QUADTO
--12.577 159.607 -12.577 160.81 QUADTO
--12.577 163.107 -11.108 163.107 QUADTO
--10.202 163.107 -9.389 161.951 QUADTO
--9.389 158.982 lineto
-closepath
-0.001 164.529 M
-0.001 158.295 lineto
--1.045 158.295 lineto
--1.045 157.029 lineto
-0.001 157.029 lineto
-0.001 156.482 lineto
-0.001 153.56 2.767 153.56 QUADTO
-3.658 153.56 4.611 153.826 QUADTO
-4.611 155.185 lineto
-3.751 154.826 3.064 154.826 QUADTO
-2.017 154.826 2.017 156.404 QUADTO
-2.017 157.029 lineto
-3.923 157.029 lineto
-3.923 158.295 lineto
-2.017 158.295 lineto
-2.017 164.529 lineto
-0.001 164.529 lineto
-closepath
-5.586 164.529 M
-5.586 157.029 lineto
-7.602 157.029 lineto
-7.602 158.435 lineto
-8.399 156.857 10.008 156.857 QUADTO
-10.196 156.857 10.383 156.889 QUADTO
-10.383 158.701 lineto
-9.946 158.545 9.571 158.545 QUADTO
-8.368 158.545 7.602 159.764 QUADTO
-7.602 164.529 lineto
-5.586 164.529 lineto
-closepath
-15.623 163.717 M
-14.623 164.701 13.466 164.701 QUADTO
-12.482 164.701 11.865 164.1 QUADTO
-11.248 163.498 11.248 162.545 QUADTO
-11.248 161.295 12.24 160.623 QUADTO
-13.232 159.951 15.091 159.951 QUADTO
-15.623 159.951 lineto
-15.623 159.264 lineto
-15.623 158.092 14.294 158.092 QUADTO
-13.107 158.092 11.904 158.764 QUADTO
-11.904 157.373 lineto
-13.279 156.857 14.623 156.857 QUADTO
-17.576 156.857 17.576 159.201 QUADTO
-17.576 162.514 lineto
-17.576 163.404 18.138 163.404 QUADTO
-18.232 163.404 18.404 163.373 QUADTO
-18.451 164.514 lineto
-17.81 164.701 17.31 164.701 QUADTO
-16.076 164.701 15.716 163.717 QUADTO
-15.623 163.717 lineto
-closepath
-15.623 162.639 M
-15.623 161.107 lineto
-15.154 161.107 lineto
-13.185 161.107 13.185 162.342 QUADTO
-13.185 162.764 13.466 163.045 QUADTO
-13.748 163.326 14.169 163.326 QUADTO
-14.888 163.326 15.623 162.639 QUADTO
-closepath
-25.712 164.357 M
-24.462 164.701 23.384 164.701 QUADTO
-21.587 164.701 20.548 163.646 QUADTO
-19.509 162.592 19.509 160.764 QUADTO
-19.509 158.935 20.58 157.896 QUADTO
-21.65 156.857 23.541 156.857 QUADTO
-24.462 156.857 25.65 157.139 QUADTO
-25.65 158.607 lineto
-24.416 158.201 23.666 158.201 QUADTO
-22.759 158.201 22.205 158.904 QUADTO
-21.65 159.607 21.65 160.748 QUADTO
-21.65 161.935 22.251 162.646 QUADTO
-22.853 163.357 23.837 163.357 QUADTO
-24.759 163.357 25.712 162.967 QUADTO
-25.712 164.357 lineto
-closepath
-31.507 164.482 M
-30.773 164.701 30.367 164.701 QUADTO
-27.726 164.701 27.726 162.232 QUADTO
-27.726 158.295 lineto
-26.882 158.295 lineto
-26.882 157.029 lineto
-27.726 157.029 lineto
-27.726 155.764 lineto
-29.757 155.529 lineto
-29.757 157.029 lineto
-31.351 157.029 lineto
-31.351 158.295 lineto
-29.757 158.295 lineto
-29.757 161.967 lineto
-29.757 163.357 30.882 163.357 QUADTO
-31.132 163.357 31.507 163.264 QUADTO
-31.507 164.482 lineto
-closepath
-33.306 164.529 M
-33.306 157.029 lineto
-35.322 157.029 lineto
-35.322 164.529 lineto
-33.306 164.529 lineto
-closepath
-33.306 155.764 M
-33.306 154.076 lineto
-35.322 154.076 lineto
-35.322 155.764 lineto
-33.306 155.764 lineto
-closepath
-41.015 164.701 M
-39.25 164.701 38.218 163.639 QUADTO
-37.187 162.576 37.187 160.779 QUADTO
-37.187 158.951 38.226 157.904 QUADTO
-39.265 156.857 41.062 156.857 QUADTO
-42.859 156.857 43.898 157.904 QUADTO
-44.937 158.951 44.937 160.764 QUADTO
-44.937 162.607 43.89 163.654 QUADTO
-42.843 164.701 41.015 164.701 QUADTO
-closepath
-41.046 163.435 M
-42.781 163.435 42.781 160.764 QUADTO
-42.781 159.545 42.32 158.834 QUADTO
-41.859 158.123 41.062 158.123 QUADTO
-40.265 158.123 39.796 158.834 QUADTO
-39.328 159.545 39.328 160.779 QUADTO
-39.328 161.998 39.789 162.717 QUADTO
-40.25 163.435 41.046 163.435 QUADTO
-closepath
-46.8 164.529 M
-46.8 157.029 lineto
-48.816 157.029 lineto
-48.816 158.435 lineto
-49.816 156.857 51.378 156.857 QUADTO
-52.378 156.857 52.964 157.49 QUADTO
-53.55 158.123 53.55 159.217 QUADTO
-53.55 164.529 lineto
-51.519 164.529 lineto
-51.519 159.717 lineto
-51.519 158.451 50.675 158.451 QUADTO
-49.707 158.451 48.816 159.81 QUADTO
-48.816 164.529 lineto
-46.8 164.529 lineto
-closepath
-59.245 153.654 M
-59.245 154.951 lineto
-57.417 156.795 57.417 160.139 QUADTO
-57.417 163.498 59.245 165.326 QUADTO
-59.245 166.639 lineto
-57.573 165.732 56.573 163.959 QUADTO
-55.573 162.185 55.573 160.139 QUADTO
-55.573 158.092 56.557 156.342 QUADTO
-57.542 154.592 59.245 153.654 QUADTO
-closepath
-60.746 164.779 M
-68.699 154.154 lineto
-70.058 154.154 lineto
-62.105 164.779 lineto
-60.746 164.779 lineto
-closepath
-62.464 159.467 M
-61.371 159.467 60.73 158.787 QUADTO
-60.089 158.107 60.089 156.935 QUADTO
-60.089 155.764 60.73 155.084 QUADTO
-61.371 154.404 62.496 154.404 QUADTO
-63.605 154.404 64.253 155.084 QUADTO
-64.902 155.764 64.902 156.935 QUADTO
-64.902 158.123 64.253 158.795 QUADTO
-63.605 159.467 62.464 159.467 QUADTO
-closepath
-62.48 158.451 M
-63.371 158.451 63.371 156.935 QUADTO
-63.371 155.42 62.496 155.42 QUADTO
-61.605 155.42 61.605 156.935 QUADTO
-61.605 158.451 62.48 158.451 QUADTO
-closepath
-68.292 164.529 M
-67.183 164.529 66.542 163.85 QUADTO
-65.902 163.17 65.902 161.998 QUADTO
-65.902 160.81 66.55 160.139 QUADTO
-67.199 159.467 68.308 159.467 QUADTO
-69.433 159.467 70.074 160.139 QUADTO
-70.714 160.81 70.714 161.998 QUADTO
-70.714 163.185 70.074 163.857 QUADTO
-69.433 164.529 68.292 164.529 QUADTO
-closepath
-68.292 163.514 M
-69.199 163.514 69.199 161.998 QUADTO
-69.199 160.482 68.308 160.482 QUADTO
-67.417 160.482 67.417 161.998 QUADTO
-67.417 163.514 68.292 163.514 QUADTO
-closepath
-71.367 153.654 M
-71.367 154.951 lineto
-73.195 156.795 73.195 160.139 QUADTO
-73.195 163.498 71.367 165.326 QUADTO
-71.367 166.639 lineto
-73.039 165.732 74.039 163.959 QUADTO
-75.039 162.185 75.039 160.139 QUADTO
-75.039 158.092 74.054 156.342 QUADTO
-73.07 154.592 71.367 153.654 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-120.977 34.247 M
-120.977 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-183.806 34.247 M
-183.806 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-246.635 34.247 M
-246.635 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-309.464 34.247 M
-309.464 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-372.293 34.247 M
-372.293 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 284.835 M
-388 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 260.416 M
-388 260.416 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 235.996 M
-388 235.996 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 211.576 M
-388 211.576 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 187.156 M
-388 187.156 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 162.737 M
-388 162.737 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 138.317 M
-388 138.317 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 113.897 M
-388 113.897 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 89.478 M
-388 89.478 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 65.058 M
-388 65.058 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-58.148 40.638 M
-388 40.638 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-58.148 160.718 M
-70.714 242.054 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-70.714 242.054 M
-83.28 247.719 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.28 247.719 M
-95.846 250.82 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-95.846 250.82 M
-108.412 252.776 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-108.412 252.776 M
-120.977 255.465 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-120.977 255.465 M
-133.543 256.278 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-133.543 256.278 M
-146.109 257.711 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-146.109 257.711 M
-158.675 259.596 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-158.675 259.596 M
-171.24 261.846 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-171.24 261.846 M
-183.806 263.104 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-183.806 263.104 M
-196.372 265.047 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-196.372 265.047 M
-208.938 267.644 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-208.938 267.644 M
-221.504 271.21 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-221.504 271.21 M
-234.069 277.362 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-234.069 277.362 M
-246.635 284.149 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-246.635 284.149 M
-259.201 284.218 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-259.201 284.218 M
-271.767 284.218 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-271.767 284.218 M
-284.332 284.218 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-284.332 284.218 M
-296.898 284.287 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-296.898 284.287 M
-309.464 284.355 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-309.464 284.355 M
-322.03 284.355 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-322.03 284.355 M
-334.595 284.355 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-334.595 284.355 M
-347.161 284.355 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-347.161 284.355 M
-359.727 284.63 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-58.148 168.143 M
-70.714 248.066 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-70.714 248.066 M
-83.28 253.241 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.28 253.241 M
-95.846 254.086 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-95.846 254.086 M
-108.412 254.833 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-108.412 254.833 M
-120.977 255.863 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-120.977 255.863 M
-133.543 256.743 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-133.543 256.743 M
-146.109 257.527 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-146.109 257.527 M
-158.675 258.225 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-158.675 258.225 M
-171.24 259.484 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-171.24 259.484 M
-183.806 260.125 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-183.806 260.125 M
-196.372 261.014 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-196.372 261.014 M
-208.938 262.883 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-208.938 262.883 M
-221.504 268.225 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-221.504 268.225 M
-234.069 276.169 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-234.069 276.169 M
-246.635 283.432 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-246.635 283.432 M
-259.201 283.449 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-259.201 283.449 M
-271.767 283.509 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-271.767 283.509 M
-284.332 283.569 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-284.332 283.569 M
-296.898 283.612 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-296.898 283.612 M
-309.464 283.621 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-309.464 283.621 M
-322.03 283.882 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-322.03 283.882 M
-334.595 284.073 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-334.595 284.073 M
-347.161 284.21 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-347.161 284.21 M
-359.727 284.665 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-359.727 284.665 M
-372.293 284.673 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-58.148 46.179 M
-70.714 124.558 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-70.714 124.558 M
-83.28 204.109 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.28 204.109 M
-95.846 281.642 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-95.846 281.642 M
-108.412 281.924 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-108.412 281.924 M
-120.977 282.205 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-58.148 147.938 M
-70.714 158.942 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-70.714 158.942 M
-83.28 174.48 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.28 174.48 M
-95.846 227.259 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-95.846 227.259 M
-108.412 232.9 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-108.412 232.9 M
-120.977 279.1 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-58.148 154.534 M
-70.714 170.94 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-70.714 170.94 M
-83.28 195.568 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.28 195.568 M
-95.846 210.019 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-95.846 210.019 M
-108.412 238.519 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-108.412 238.519 M
-120.977 251.038 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-58.148 159.2 M
-70.714 166.273 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-70.714 166.273 M
-83.28 201.094 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.28 201.094 M
-95.846 206.387 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-95.846 206.387 M
-108.412 241.314 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-108.412 241.314 M
-120.977 246.348 lineto
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-55.148 157.718 M
-61.148 157.718 lineto
-58.148 163.718 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-55.148 157.718 M
-61.148 157.718 lineto
-58.148 163.718 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-67.714 239.054 M
-73.714 239.054 lineto
-70.714 245.054 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-67.714 239.054 M
-73.714 239.054 lineto
-70.714 245.054 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-80.28 244.719 M
-86.28 244.719 lineto
-83.28 250.719 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.28 244.719 M
-86.28 244.719 lineto
-83.28 250.719 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-92.846 247.82 M
-98.846 247.82 lineto
-95.846 253.82 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-92.846 247.82 M
-98.846 247.82 lineto
-95.846 253.82 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-105.412 249.776 M
-111.412 249.776 lineto
-108.412 255.776 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-105.412 249.776 M
-111.412 249.776 lineto
-108.412 255.776 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-117.977 252.465 M
-123.977 252.465 lineto
-120.977 258.465 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-117.977 252.465 M
-123.977 252.465 lineto
-120.977 258.465 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-130.543 253.278 M
-136.543 253.278 lineto
-133.543 259.278 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.543 253.278 M
-136.543 253.278 lineto
-133.543 259.278 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-143.109 254.711 M
-149.109 254.711 lineto
-146.109 260.711 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-143.109 254.711 M
-149.109 254.711 lineto
-146.109 260.711 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-155.675 256.596 M
-161.675 256.596 lineto
-158.675 262.596 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-155.675 256.596 M
-161.675 256.596 lineto
-158.675 262.596 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-168.24 258.846 M
-174.24 258.846 lineto
-171.24 264.846 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-168.24 258.846 M
-174.24 258.846 lineto
-171.24 264.846 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-180.806 260.104 M
-186.806 260.104 lineto
-183.806 266.104 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-180.806 260.104 M
-186.806 260.104 lineto
-183.806 266.104 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-193.372 262.047 M
-199.372 262.047 lineto
-196.372 268.047 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-193.372 262.047 M
-199.372 262.047 lineto
-196.372 268.047 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-205.938 264.644 M
-211.938 264.644 lineto
-208.938 270.644 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-205.938 264.644 M
-211.938 264.644 lineto
-208.938 270.644 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-218.504 268.21 M
-224.504 268.21 lineto
-221.504 274.21 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-218.504 268.21 M
-224.504 268.21 lineto
-221.504 274.21 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-231.069 274.362 M
-237.069 274.362 lineto
-234.069 280.362 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-231.069 274.362 M
-237.069 274.362 lineto
-234.069 280.362 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-243.635 281.149 M
-249.635 281.149 lineto
-246.635 287.149 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-243.635 281.149 M
-249.635 281.149 lineto
-246.635 287.149 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-256.201 281.218 M
-262.201 281.218 lineto
-259.201 287.218 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-256.201 281.218 M
-262.201 281.218 lineto
-259.201 287.218 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-268.767 281.218 M
-274.767 281.218 lineto
-271.767 287.218 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-268.767 281.218 M
-274.767 281.218 lineto
-271.767 287.218 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-281.332 281.218 M
-287.332 281.218 lineto
-284.332 287.218 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-281.332 281.218 M
-287.332 281.218 lineto
-284.332 287.218 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-293.898 281.287 M
-299.898 281.287 lineto
-296.898 287.287 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-293.898 281.287 M
-299.898 281.287 lineto
-296.898 287.287 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-306.464 281.355 M
-312.464 281.355 lineto
-309.464 287.355 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-306.464 281.355 M
-312.464 281.355 lineto
-309.464 287.355 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-319.03 281.355 M
-325.03 281.355 lineto
-322.03 287.355 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.03 281.355 M
-325.03 281.355 lineto
-322.03 287.355 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-331.595 281.355 M
-337.595 281.355 lineto
-334.595 287.355 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-331.595 281.355 M
-337.595 281.355 lineto
-334.595 287.355 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-344.161 281.355 M
-350.161 281.355 lineto
-347.161 287.355 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-344.161 281.355 M
-350.161 281.355 lineto
-347.161 287.355 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-356.727 281.63 M
-362.727 281.63 lineto
-359.727 287.63 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-356.727 281.63 M
-362.727 281.63 lineto
-359.727 287.63 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-55.148 166.643 M
-61.148 166.643 lineto
-61.148 169.643 lineto
-55.148 169.643 lineto
-55.148 166.643 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-55.148 166.643 M
-61.148 166.643 lineto
-61.148 169.643 lineto
-55.148 169.643 lineto
-55.148 166.643 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-67.714 246.566 M
-73.714 246.566 lineto
-73.714 249.566 lineto
-67.714 249.566 lineto
-67.714 246.566 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-67.714 246.566 M
-73.714 246.566 lineto
-73.714 249.566 lineto
-67.714 249.566 lineto
-67.714 246.566 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-80.28 251.741 M
-86.28 251.741 lineto
-86.28 254.741 lineto
-80.28 254.741 lineto
-80.28 251.741 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.28 251.741 M
-86.28 251.741 lineto
-86.28 254.741 lineto
-80.28 254.741 lineto
-80.28 251.741 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-92.846 252.586 M
-98.846 252.586 lineto
-98.846 255.586 lineto
-92.846 255.586 lineto
-92.846 252.586 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-92.846 252.586 M
-98.846 252.586 lineto
-98.846 255.586 lineto
-92.846 255.586 lineto
-92.846 252.586 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-105.412 253.333 M
-111.412 253.333 lineto
-111.412 256.333 lineto
-105.412 256.333 lineto
-105.412 253.333 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-105.412 253.333 M
-111.412 253.333 lineto
-111.412 256.333 lineto
-105.412 256.333 lineto
-105.412 253.333 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-117.977 254.363 M
-123.977 254.363 lineto
-123.977 257.363 lineto
-117.977 257.363 lineto
-117.977 254.363 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-117.977 254.363 M
-123.977 254.363 lineto
-123.977 257.363 lineto
-117.977 257.363 lineto
-117.977 254.363 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-130.543 255.243 M
-136.543 255.243 lineto
-136.543 258.243 lineto
-130.543 258.243 lineto
-130.543 255.243 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.543 255.243 M
-136.543 255.243 lineto
-136.543 258.243 lineto
-130.543 258.243 lineto
-130.543 255.243 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-143.109 256.027 M
-149.109 256.027 lineto
-149.109 259.027 lineto
-143.109 259.027 lineto
-143.109 256.027 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-143.109 256.027 M
-149.109 256.027 lineto
-149.109 259.027 lineto
-143.109 259.027 lineto
-143.109 256.027 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-155.675 256.725 M
-161.675 256.725 lineto
-161.675 259.725 lineto
-155.675 259.725 lineto
-155.675 256.725 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-155.675 256.725 M
-161.675 256.725 lineto
-161.675 259.725 lineto
-155.675 259.725 lineto
-155.675 256.725 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-168.24 257.984 M
-174.24 257.984 lineto
-174.24 260.984 lineto
-168.24 260.984 lineto
-168.24 257.984 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-168.24 257.984 M
-174.24 257.984 lineto
-174.24 260.984 lineto
-168.24 260.984 lineto
-168.24 257.984 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-180.806 258.625 M
-186.806 258.625 lineto
-186.806 261.625 lineto
-180.806 261.625 lineto
-180.806 258.625 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-180.806 258.625 M
-186.806 258.625 lineto
-186.806 261.625 lineto
-180.806 261.625 lineto
-180.806 258.625 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-193.372 259.514 M
-199.372 259.514 lineto
-199.372 262.514 lineto
-193.372 262.514 lineto
-193.372 259.514 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-193.372 259.514 M
-199.372 259.514 lineto
-199.372 262.514 lineto
-193.372 262.514 lineto
-193.372 259.514 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-205.938 261.383 M
-211.938 261.383 lineto
-211.938 264.383 lineto
-205.938 264.383 lineto
-205.938 261.383 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-205.938 261.383 M
-211.938 261.383 lineto
-211.938 264.383 lineto
-205.938 264.383 lineto
-205.938 261.383 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-218.504 266.725 M
-224.504 266.725 lineto
-224.504 269.725 lineto
-218.504 269.725 lineto
-218.504 266.725 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-218.504 266.725 M
-224.504 266.725 lineto
-224.504 269.725 lineto
-218.504 269.725 lineto
-218.504 266.725 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-231.069 274.669 M
-237.069 274.669 lineto
-237.069 277.669 lineto
-231.069 277.669 lineto
-231.069 274.669 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-231.069 274.669 M
-237.069 274.669 lineto
-237.069 277.669 lineto
-231.069 277.669 lineto
-231.069 274.669 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-243.635 281.932 M
-249.635 281.932 lineto
-249.635 284.932 lineto
-243.635 284.932 lineto
-243.635 281.932 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-243.635 281.932 M
-249.635 281.932 lineto
-249.635 284.932 lineto
-243.635 284.932 lineto
-243.635 281.932 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-256.201 281.949 M
-262.201 281.949 lineto
-262.201 284.949 lineto
-256.201 284.949 lineto
-256.201 281.949 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-256.201 281.949 M
-262.201 281.949 lineto
-262.201 284.949 lineto
-256.201 284.949 lineto
-256.201 281.949 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-268.767 282.009 M
-274.767 282.009 lineto
-274.767 285.009 lineto
-268.767 285.009 lineto
-268.767 282.009 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-268.767 282.009 M
-274.767 282.009 lineto
-274.767 285.009 lineto
-268.767 285.009 lineto
-268.767 282.009 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-281.332 282.069 M
-287.332 282.069 lineto
-287.332 285.069 lineto
-281.332 285.069 lineto
-281.332 282.069 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-281.332 282.069 M
-287.332 282.069 lineto
-287.332 285.069 lineto
-281.332 285.069 lineto
-281.332 282.069 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-293.898 282.112 M
-299.898 282.112 lineto
-299.898 285.112 lineto
-293.898 285.112 lineto
-293.898 282.112 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-293.898 282.112 M
-299.898 282.112 lineto
-299.898 285.112 lineto
-293.898 285.112 lineto
-293.898 282.112 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-306.464 282.121 M
-312.464 282.121 lineto
-312.464 285.121 lineto
-306.464 285.121 lineto
-306.464 282.121 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-306.464 282.121 M
-312.464 282.121 lineto
-312.464 285.121 lineto
-306.464 285.121 lineto
-306.464 282.121 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-319.03 282.382 M
-325.03 282.382 lineto
-325.03 285.382 lineto
-319.03 285.382 lineto
-319.03 282.382 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.03 282.382 M
-325.03 282.382 lineto
-325.03 285.382 lineto
-319.03 285.382 lineto
-319.03 282.382 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-331.595 282.573 M
-337.595 282.573 lineto
-337.595 285.573 lineto
-331.595 285.573 lineto
-331.595 282.573 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-331.595 282.573 M
-337.595 282.573 lineto
-337.595 285.573 lineto
-331.595 285.573 lineto
-331.595 282.573 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-344.161 282.71 M
-350.161 282.71 lineto
-350.161 285.71 lineto
-344.161 285.71 lineto
-344.161 282.71 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-344.161 282.71 M
-350.161 282.71 lineto
-350.161 285.71 lineto
-344.161 285.71 lineto
-344.161 282.71 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-356.727 283.165 M
-362.727 283.165 lineto
-362.727 286.165 lineto
-356.727 286.165 lineto
-356.727 283.165 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-356.727 283.165 M
-362.727 283.165 lineto
-362.727 286.165 lineto
-356.727 286.165 lineto
-356.727 283.165 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-369.293 283.173 M
-375.293 283.173 lineto
-375.293 286.173 lineto
-369.293 286.173 lineto
-369.293 283.173 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-369.293 283.173 M
-375.293 283.173 lineto
-375.293 286.173 lineto
-369.293 286.173 lineto
-369.293 283.173 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-58.148 43.179 M
-61.148 46.179 lineto
-58.148 49.179 lineto
-55.148 46.179 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-58.148 43.179 M
-61.148 46.179 lineto
-58.148 49.179 lineto
-55.148 46.179 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-70.714 121.558 M
-73.714 124.558 lineto
-70.714 127.558 lineto
-67.714 124.558 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-70.714 121.558 M
-73.714 124.558 lineto
-70.714 127.558 lineto
-67.714 124.558 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-83.28 201.109 M
-86.28 204.109 lineto
-83.28 207.109 lineto
-80.28 204.109 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.28 201.109 M
-86.28 204.109 lineto
-83.28 207.109 lineto
-80.28 204.109 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-95.846 278.642 M
-98.846 281.642 lineto
-95.846 284.642 lineto
-92.846 281.642 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-95.846 278.642 M
-98.846 281.642 lineto
-95.846 284.642 lineto
-92.846 281.642 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-108.412 278.924 M
-111.412 281.924 lineto
-108.412 284.924 lineto
-105.412 281.924 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-108.412 278.924 M
-111.412 281.924 lineto
-108.412 284.924 lineto
-105.412 281.924 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-120.977 279.205 M
-123.977 282.205 lineto
-120.977 285.205 lineto
-117.977 282.205 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-120.977 279.205 M
-123.977 282.205 lineto
-120.977 285.205 lineto
-117.977 282.205 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-58.148 144.938 M
-61.148 150.938 lineto
-55.148 150.938 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-58.148 144.938 M
-61.148 150.938 lineto
-55.148 150.938 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-70.714 155.942 M
-73.714 161.942 lineto
-67.714 161.942 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-70.714 155.942 M
-73.714 161.942 lineto
-67.714 161.942 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-83.28 171.48 M
-86.28 177.48 lineto
-80.28 177.48 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.28 171.48 M
-86.28 177.48 lineto
-80.28 177.48 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-95.846 224.259 M
-98.846 230.259 lineto
-92.846 230.259 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-95.846 224.259 M
-98.846 230.259 lineto
-92.846 230.259 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-108.412 229.9 M
-111.412 235.9 lineto
-105.412 235.9 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-108.412 229.9 M
-111.412 235.9 lineto
-105.412 235.9 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-120.977 276.1 M
-123.977 282.1 lineto
-117.977 282.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-120.977 276.1 M
-123.977 282.1 lineto
-117.977 282.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-61.148 154.534 M
-61.148 156.19 59.805 157.534 58.148 157.534 curveto
-56.492 157.534 55.148 156.19 55.148 154.534 curveto
-55.148 152.877 56.492 151.534 58.148 151.534 curveto
-59.805 151.534 61.148 152.877 61.148 154.534 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-61.148 154.534 M
-61.148 156.19 59.805 157.534 58.148 157.534 curveto
-56.492 157.534 55.148 156.19 55.148 154.534 curveto
-55.148 152.877 56.492 151.534 58.148 151.534 curveto
-59.805 151.534 61.148 152.877 61.148 154.534 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-73.714 170.94 M
-73.714 172.597 72.371 173.94 70.714 173.94 curveto
-69.057 173.94 67.714 172.597 67.714 170.94 curveto
-67.714 169.283 69.057 167.94 70.714 167.94 curveto
-72.371 167.94 73.714 169.283 73.714 170.94 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-73.714 170.94 M
-73.714 172.597 72.371 173.94 70.714 173.94 curveto
-69.057 173.94 67.714 172.597 67.714 170.94 curveto
-67.714 169.283 69.057 167.94 70.714 167.94 curveto
-72.371 167.94 73.714 169.283 73.714 170.94 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-86.28 195.568 M
-86.28 197.225 84.937 198.568 83.28 198.568 curveto
-81.623 198.568 80.28 197.225 80.28 195.568 curveto
-80.28 193.911 81.623 192.568 83.28 192.568 curveto
-84.937 192.568 86.28 193.911 86.28 195.568 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-86.28 195.568 M
-86.28 197.225 84.937 198.568 83.28 198.568 curveto
-81.623 198.568 80.28 197.225 80.28 195.568 curveto
-80.28 193.911 81.623 192.568 83.28 192.568 curveto
-84.937 192.568 86.28 193.911 86.28 195.568 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-98.846 210.019 M
-98.846 211.676 97.503 213.019 95.846 213.019 curveto
-94.189 213.019 92.846 211.676 92.846 210.019 curveto
-92.846 208.362 94.189 207.019 95.846 207.019 curveto
-97.503 207.019 98.846 208.362 98.846 210.019 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-98.846 210.019 M
-98.846 211.676 97.503 213.019 95.846 213.019 curveto
-94.189 213.019 92.846 211.676 92.846 210.019 curveto
-92.846 208.362 94.189 207.019 95.846 207.019 curveto
-97.503 207.019 98.846 208.362 98.846 210.019 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-111.412 238.519 M
-111.412 240.176 110.068 241.519 108.412 241.519 curveto
-106.755 241.519 105.412 240.176 105.412 238.519 curveto
-105.412 236.862 106.755 235.519 108.412 235.519 curveto
-110.068 235.519 111.412 236.862 111.412 238.519 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-111.412 238.519 M
-111.412 240.176 110.068 241.519 108.412 241.519 curveto
-106.755 241.519 105.412 240.176 105.412 238.519 curveto
-105.412 236.862 106.755 235.519 108.412 235.519 curveto
-110.068 235.519 111.412 236.862 111.412 238.519 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-123.977 251.038 M
-123.977 252.695 122.634 254.038 120.977 254.038 curveto
-119.32 254.038 117.977 252.695 117.977 251.038 curveto
-117.977 249.382 119.32 248.038 120.977 248.038 curveto
-122.634 248.038 123.977 249.382 123.977 251.038 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-123.977 251.038 M
-123.977 252.695 122.634 254.038 120.977 254.038 curveto
-119.32 254.038 117.977 252.695 117.977 251.038 curveto
-117.977 249.382 119.32 248.038 120.977 248.038 curveto
-122.634 248.038 123.977 249.382 123.977 251.038 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-55.148 156.2 M
-61.148 156.2 lineto
-61.148 162.2 lineto
-55.148 162.2 lineto
-55.148 156.2 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-55.148 156.2 M
-61.148 156.2 lineto
-61.148 162.2 lineto
-55.148 162.2 lineto
-55.148 156.2 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-67.714 163.273 M
-73.714 163.273 lineto
-73.714 169.273 lineto
-67.714 169.273 lineto
-67.714 163.273 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-67.714 163.273 M
-73.714 163.273 lineto
-73.714 169.273 lineto
-67.714 169.273 lineto
-67.714 163.273 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-80.28 198.094 M
-86.28 198.094 lineto
-86.28 204.094 lineto
-80.28 204.094 lineto
-80.28 198.094 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.28 198.094 M
-86.28 198.094 lineto
-86.28 204.094 lineto
-80.28 204.094 lineto
-80.28 198.094 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-92.846 203.387 M
-98.846 203.387 lineto
-98.846 209.387 lineto
-92.846 209.387 lineto
-92.846 203.387 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-92.846 203.387 M
-98.846 203.387 lineto
-98.846 209.387 lineto
-92.846 209.387 lineto
-92.846 203.387 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-105.412 238.314 M
-111.412 238.314 lineto
-111.412 244.314 lineto
-105.412 244.314 lineto
-105.412 238.314 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-105.412 238.314 M
-111.412 238.314 lineto
-111.412 244.314 lineto
-105.412 244.314 lineto
-105.412 238.314 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-117.977 243.348 M
-123.977 243.348 lineto
-123.977 249.348 lineto
-117.977 249.348 lineto
-117.977 243.348 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-58.148 34.247 M
-58.148 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-117.977 243.348 M
-123.977 243.348 lineto
-123.977 249.348 lineto
-117.977 249.348 lineto
-117.977 243.348 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-0.5 setlinewidth
-newpath
-58.148 34.247 M
-388 34.247 lineto
-388 284.835 lineto
-58.148 284.835 lineto
-58.148 34.247 lineto
-closepath
-stroke
-grestore
-%%Trailer
-%%Pages: 1
-%%EOF
diff --git a/sim/gobs/wiki/dc04kpv06.cfg b/sim/gobs/wiki/dc04kpv06.cfg
deleted file mode 100644
index e872579..0000000
--- a/sim/gobs/wiki/dc04kpv06.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-include = kpv06.cfg system_size_100_1000.cfg
-
-# This declustering test has no user accesses:
-
-reads = 0
-writes = 0
diff --git a/sim/gobs/wiki/dc04kpv06.eps b/sim/gobs/wiki/dc04kpv06.eps
deleted file mode 100644
index d06307a..0000000
--- a/sim/gobs/wiki/dc04kpv06.eps
+++ /dev/null
@@ -1,10606 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (Apache XML Graphics Commons: EPS Generator for Java2D)
-%%CreationDate: 2009-10-05T12:48:14
-%%Pages: (atend)
-%%BoundingBox: 0 0 400 400
-%%LanguageLevel: 3
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset (Apache XML Graphics Std ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2001-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (Basic set of procedures used by the XML Graphics project \(Batik and FOP\))
-/bd{bind def}bind def
-/ld{load def}bd
-/M/moveto ld
-/RM/rmoveto ld
-/t/show ld
-/A/ashow ld
-/cp/closepath ld
-/re {4 2 roll M
-1 index 0 rlineto
-0 exch rlineto
-neg 0 rlineto
-cp } bd
-/_ctm matrix def
-/_tm matrix def
-/BT { _ctm currentmatrix pop matrix _tm copy pop 0 0 moveto } bd
-/ET { _ctm setmatrix } bd
-/iTm { _ctm setmatrix _tm concat } bd
-/Tm { _tm astore pop iTm 0 0 moveto } bd
-/ux 0.0 def
-/uy 0.0 def
-/F {
- /Tp exch def
- /Tf exch def
- Tf findfont Tp scalefont setfont
- /cf Tf def /cs Tp def /cw ( ) stringwidth pop def
-} bd
-/ULS {currentpoint /uy exch def /ux exch def} bd
-/ULE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add moveto Tcx uy To add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/OLE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs add moveto Tcx uy To add cs add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/SOE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs 10 mul 26 idiv add moveto Tcx uy To add cs 10 mul 26 idiv add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/QUADTO {
-/Y22 exch store
-/X22 exch store
-/Y21 exch store
-/X21 exch store
-currentpoint
-/Y21 load 2 mul add 3 div exch
-/X21 load 2 mul add 3 div exch
-/X21 load 2 mul /X22 load add 3 div
-/Y21 load 2 mul /Y22 load add 3 div
-/X22 load /Y22 load curveto
-} bd
-/SSPD {
-dup length /d exch dict def
-{
-/v exch def
-/k exch def
-currentpagedevice k known {
-/cpdv currentpagedevice k get def
-v cpdv ne {
-/upd false def
-/nullv v type /nulltype eq def
-/nullcpdv cpdv type /nulltype eq def
-nullv nullcpdv or
-{
-/upd true def
-} {
-/sametype v type cpdv type eq def
-sametype {
-v type /arraytype eq {
-/vlen v length def
-/cpdvlen cpdv length def
-vlen cpdvlen eq {
-0 1 vlen 1 sub {
-/i exch def
-/obj v i get def
-/cpdobj cpdv i get def
-obj cpdobj ne {
-/upd true def
-exit
-} if
-} for
-} {
-/upd true def
-} ifelse
-} {
-v type /dicttype eq {
-v {
-/dv exch def
-/dk exch def
-/cpddv cpdv dk get def
-dv cpddv ne {
-/upd true def
-exit
-} if
-} forall
-} {
-/upd true def
-} ifelse
-} ifelse
-} if
-} ifelse
-upd true eq {
-d k v put
-} if
-} if
-} if
-} forall
-d length 0 gt {
-d setpagedevice
-} if
-} bd
-%%EndResource
-%%BeginResource: procset (Apache XML Graphics EPS ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2002-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (EPS procedures used by the Apache XML Graphics project \(Batik and FOP\))
-/BeginEPSF { %def
-/b4_Inc_state save def % Save state for cleanup
-/dict_count countdictstack def % Count objects on dict stack
-/op_count count 1 sub def % Count objects on operand stack
-userdict begin % Push userdict on dict stack
-/showpage { } def % Redefine showpage, { } = null proc
-0 setgray 0 setlinecap % Prepare graphics state
-1 setlinewidth 0 setlinejoin
-10 setmiterlimit [ ] 0 setdash newpath
-/languagelevel where % If level not equal to 1 then
-{pop languagelevel % set strokeadjust and
-1 ne % overprint to their defaults.
-{false setstrokeadjust false setoverprint
-} if
-} if
-} bd
-/EndEPSF { %def
-count op_count sub {pop} repeat % Clean up stacks
-countdictstack dict_count sub {end} repeat
-b4_Inc_state restore
-} bd
-%%EndResource
-%%EndProlog
-%%Page: 1 1
-%%PageBoundingBox: 0 0 400 400
-%%BeginPageSetup
-[1 0 0 -1 0 400] concat
-%%EndPageSetup
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-69.293 20.249 M
-69.293 5.796 lineto
-74.699 5.796 lineto
-79.105 5.796 79.105 9.374 QUADTO
-79.105 10.718 78.355 11.82 QUADTO
-77.605 12.921 76.293 13.499 QUADTO
-81.027 20.249 lineto
-77.371 20.249 lineto
-73.777 14.343 lineto
-72.121 14.343 lineto
-72.121 20.249 lineto
-69.293 20.249 lineto
-closepath
-72.121 12.359 M
-72.809 12.359 lineto
-76.09 12.359 76.09 9.718 QUADTO
-76.09 7.781 73.168 7.781 QUADTO
-72.121 7.781 lineto
-72.121 12.359 lineto
-closepath
-91.811 19.89 M
-89.764 20.499 87.904 20.499 QUADTO
-85.232 20.499 83.678 18.976 QUADTO
-82.123 17.453 82.123 14.812 QUADTO
-82.123 12.312 83.545 10.796 QUADTO
-84.967 9.281 87.295 9.281 QUADTO
-89.654 9.281 90.732 10.765 QUADTO
-91.811 12.249 91.811 15.468 QUADTO
-85.17 15.468 lineto
-85.467 18.531 88.529 18.531 QUADTO
-89.998 18.531 91.811 17.859 QUADTO
-91.811 19.89 lineto
-closepath
-85.123 13.828 M
-88.982 13.828 lineto
-88.982 11.093 87.201 11.093 QUADTO
-85.404 11.093 85.123 13.828 QUADTO
-closepath
-94.811 20.249 M
-94.811 4.828 lineto
-97.701 4.828 lineto
-97.701 11.546 lineto
-98.811 9.281 101.201 9.281 QUADTO
-103.139 9.281 104.248 10.695 QUADTO
-105.357 12.109 105.357 14.593 QUADTO
-105.357 17.281 104.107 18.89 QUADTO
-102.857 20.499 100.764 20.499 QUADTO
-98.967 20.499 97.701 19.171 QUADTO
-97.154 20.249 lineto
-94.811 20.249 lineto
-closepath
-97.701 17.453 M
-98.748 18.624 99.936 18.624 QUADTO
-101.014 18.624 101.646 17.593 QUADTO
-102.279 16.562 102.279 14.843 QUADTO
-102.279 11.546 100.154 11.546 QUADTO
-98.873 11.546 97.701 13.203 QUADTO
-97.701 17.453 lineto
-closepath
-114.688 20.249 M
-114.688 18.234 lineto
-113.281 20.499 111.031 20.499 QUADTO
-109.594 20.499 108.766 19.585 QUADTO
-107.938 18.671 107.938 17.109 QUADTO
-107.938 9.531 lineto
-110.828 9.531 lineto
-110.828 16.39 lineto
-110.828 18.218 112.047 18.218 QUADTO
-113.422 18.218 114.688 16.281 QUADTO
-114.688 9.531 lineto
-117.578 9.531 lineto
-117.578 20.249 lineto
-114.688 20.249 lineto
-closepath
-121.197 20.249 M
-121.197 9.531 lineto
-124.088 9.531 lineto
-124.088 20.249 lineto
-121.197 20.249 lineto
-closepath
-121.197 7.718 M
-121.197 5.312 lineto
-124.088 5.312 lineto
-124.088 7.718 lineto
-121.197 7.718 lineto
-closepath
-127.701 20.249 M
-127.701 4.828 lineto
-130.592 4.828 lineto
-130.592 20.249 lineto
-127.701 20.249 lineto
-closepath
-140.955 20.249 M
-140.955 18.234 lineto
-139.83 20.499 137.439 20.499 QUADTO
-135.502 20.499 134.4 19.078 QUADTO
-133.299 17.656 133.299 15.187 QUADTO
-133.299 12.484 134.549 10.882 QUADTO
-135.799 9.281 137.893 9.281 QUADTO
-139.564 9.281 140.955 10.609 QUADTO
-140.955 4.828 lineto
-143.846 4.828 lineto
-143.846 20.249 lineto
-140.955 20.249 lineto
-closepath
-140.955 12.328 M
-139.908 11.156 138.705 11.156 QUADTO
-137.643 11.156 137.01 12.179 QUADTO
-136.377 13.203 136.377 14.937 QUADTO
-136.377 18.234 138.486 18.234 QUADTO
-139.783 18.234 140.955 16.578 QUADTO
-140.955 12.328 lineto
-closepath
-154.049 20.249 M
-154.049 5.796 lineto
-157.049 5.796 lineto
-157.049 18.203 lineto
-163.564 18.203 lineto
-163.564 20.249 lineto
-154.049 20.249 lineto
-closepath
-170.18 20.499 M
-167.664 20.499 166.188 18.976 QUADTO
-164.711 17.453 164.711 14.89 QUADTO
-164.711 12.296 166.195 10.788 QUADTO
-167.68 9.281 170.242 9.281 QUADTO
-172.82 9.281 174.305 10.788 QUADTO
-175.789 12.296 175.789 14.874 QUADTO
-175.789 17.499 174.297 18.999 QUADTO
-172.805 20.499 170.18 20.499 QUADTO
-closepath
-170.227 18.687 M
-172.711 18.687 172.711 14.874 QUADTO
-172.711 13.124 172.055 12.109 QUADTO
-171.398 11.093 170.242 11.093 QUADTO
-169.102 11.093 168.445 12.109 QUADTO
-167.789 13.124 167.789 14.89 QUADTO
-167.789 16.64 168.438 17.663 QUADTO
-169.086 18.687 170.227 18.687 QUADTO
-closepath
-183.703 19.093 M
-182.25 20.499 180.609 20.499 QUADTO
-179.203 20.499 178.32 19.64 QUADTO
-177.438 18.781 177.438 17.406 QUADTO
-177.438 15.624 178.859 14.663 QUADTO
-180.281 13.703 182.938 13.703 QUADTO
-183.703 13.703 lineto
-183.703 12.734 lineto
-183.703 11.062 181.797 11.062 QUADTO
-180.109 11.062 178.375 12.015 QUADTO
-178.375 10.031 lineto
-180.344 9.281 182.266 9.281 QUADTO
-186.469 9.281 186.469 12.624 QUADTO
-186.469 17.374 lineto
-186.469 18.64 187.281 18.64 QUADTO
-187.438 18.64 187.672 18.593 QUADTO
-187.734 20.218 lineto
-186.812 20.499 186.109 20.499 QUADTO
-184.344 20.499 183.828 19.093 QUADTO
-183.703 19.093 lineto
-closepath
-183.703 17.546 M
-183.703 15.359 lineto
-183.016 15.359 lineto
-180.219 15.359 180.219 17.124 QUADTO
-180.219 17.718 180.625 18.124 QUADTO
-181.031 18.531 181.625 18.531 QUADTO
-182.641 18.531 183.703 17.546 QUADTO
-closepath
-196.961 20.249 M
-196.961 18.234 lineto
-195.836 20.499 193.445 20.499 QUADTO
-191.508 20.499 190.406 19.078 QUADTO
-189.305 17.656 189.305 15.187 QUADTO
-189.305 12.484 190.555 10.882 QUADTO
-191.805 9.281 193.898 9.281 QUADTO
-195.57 9.281 196.961 10.609 QUADTO
-196.961 4.828 lineto
-199.852 4.828 lineto
-199.852 20.249 lineto
-196.961 20.249 lineto
-closepath
-196.961 12.328 M
-195.914 11.156 194.711 11.156 QUADTO
-193.648 11.156 193.016 12.179 QUADTO
-192.383 13.203 192.383 14.937 QUADTO
-192.383 18.234 194.492 18.234 QUADTO
-195.789 18.234 196.961 16.578 QUADTO
-196.961 12.328 lineto
-closepath
-210.055 20.249 M
-210.055 5.796 lineto
-216.273 5.796 lineto
-219.633 5.796 221.422 7.578 QUADTO
-223.211 9.359 223.211 12.718 QUADTO
-223.211 16.296 221.312 18.273 QUADTO
-219.414 20.249 216.008 20.249 QUADTO
-210.055 20.249 lineto
-closepath
-213.055 18.203 M
-215.305 18.203 lineto
-217.68 18.203 218.844 16.89 QUADTO
-220.008 15.578 220.008 12.89 QUADTO
-220.008 10.828 219.07 9.453 QUADTO
-218.43 8.499 217.523 8.14 QUADTO
-216.617 7.781 214.867 7.781 QUADTO
-213.055 7.781 lineto
-213.055 18.203 lineto
-closepath
-225.914 20.249 M
-225.914 9.531 lineto
-228.805 9.531 lineto
-228.805 20.249 lineto
-225.914 20.249 lineto
-closepath
-225.914 7.718 M
-225.914 5.312 lineto
-228.805 5.312 lineto
-228.805 7.718 lineto
-225.914 7.718 lineto
-closepath
-232.137 19.906 M
-232.137 17.781 lineto
-234.277 18.687 235.809 18.687 QUADTO
-237.574 18.687 237.574 17.468 QUADTO
-237.574 16.687 236.121 16.109 QUADTO
-235.137 15.718 lineto
-233.543 15.078 232.863 14.335 QUADTO
-232.184 13.593 232.184 12.499 QUADTO
-232.184 10.968 233.34 10.124 QUADTO
-234.496 9.281 236.59 9.281 QUADTO
-237.902 9.281 239.715 9.656 QUADTO
-239.715 11.687 lineto
-237.965 11.093 236.824 11.093 QUADTO
-235.027 11.093 235.027 12.203 QUADTO
-235.027 12.937 236.355 13.437 QUADTO
-237.199 13.765 lineto
-239.09 14.484 239.824 15.21 QUADTO
-240.559 15.937 240.559 17.093 QUADTO
-240.559 18.609 239.301 19.554 QUADTO
-238.043 20.499 236.043 20.499 QUADTO
-234.105 20.499 232.137 19.906 QUADTO
-closepath
-249.242 20.187 M
-248.211 20.499 247.617 20.499 QUADTO
-243.852 20.499 243.852 16.984 QUADTO
-243.852 11.328 lineto
-242.664 11.328 lineto
-242.664 9.531 lineto
-243.852 9.531 lineto
-243.852 7.718 lineto
-246.742 7.39 lineto
-246.742 9.531 lineto
-249.039 9.531 lineto
-249.039 11.328 lineto
-246.742 11.328 lineto
-246.742 16.593 lineto
-246.742 18.562 248.367 18.562 QUADTO
-248.727 18.562 249.242 18.437 QUADTO
-249.242 20.187 lineto
-closepath
-251.832 20.249 M
-251.832 9.531 lineto
-254.723 9.531 lineto
-254.723 11.546 lineto
-255.848 9.281 258.129 9.281 QUADTO
-258.41 9.281 258.676 9.343 QUADTO
-258.676 11.921 lineto
-258.051 11.687 257.535 11.687 QUADTO
-255.801 11.687 254.723 13.437 QUADTO
-254.723 20.249 lineto
-251.832 20.249 lineto
-closepath
-260.924 20.249 M
-260.924 9.531 lineto
-263.814 9.531 lineto
-263.814 20.249 lineto
-260.924 20.249 lineto
-closepath
-260.924 7.718 M
-260.924 5.312 lineto
-263.814 5.312 lineto
-263.814 7.718 lineto
-260.924 7.718 lineto
-closepath
-267.428 20.249 M
-267.428 4.828 lineto
-270.318 4.828 lineto
-270.318 11.546 lineto
-271.428 9.281 273.818 9.281 QUADTO
-275.756 9.281 276.865 10.695 QUADTO
-277.975 12.109 277.975 14.593 QUADTO
-277.975 17.281 276.725 18.89 QUADTO
-275.475 20.499 273.381 20.499 QUADTO
-271.584 20.499 270.318 19.171 QUADTO
-269.771 20.249 lineto
-267.428 20.249 lineto
-closepath
-270.318 17.453 M
-271.365 18.624 272.553 18.624 QUADTO
-273.631 18.624 274.264 17.593 QUADTO
-274.896 16.562 274.896 14.843 QUADTO
-274.896 11.546 272.771 11.546 QUADTO
-271.49 11.546 270.318 13.203 QUADTO
-270.318 17.453 lineto
-closepath
-287.305 20.249 M
-287.305 18.234 lineto
-285.898 20.499 283.648 20.499 QUADTO
-282.211 20.499 281.383 19.585 QUADTO
-280.555 18.671 280.555 17.109 QUADTO
-280.555 9.531 lineto
-283.445 9.531 lineto
-283.445 16.39 lineto
-283.445 18.218 284.664 18.218 QUADTO
-286.039 18.218 287.305 16.281 QUADTO
-287.305 9.531 lineto
-290.195 9.531 lineto
-290.195 20.249 lineto
-287.305 20.249 lineto
-closepath
-299.33 20.187 M
-298.299 20.499 297.705 20.499 QUADTO
-293.939 20.499 293.939 16.984 QUADTO
-293.939 11.328 lineto
-292.752 11.328 lineto
-292.752 9.531 lineto
-293.939 9.531 lineto
-293.939 7.718 lineto
-296.83 7.39 lineto
-296.83 9.531 lineto
-299.127 9.531 lineto
-299.127 11.328 lineto
-296.83 11.328 lineto
-296.83 16.593 lineto
-296.83 18.562 298.455 18.562 QUADTO
-298.814 18.562 299.33 18.437 QUADTO
-299.33 20.187 lineto
-closepath
-301.92 20.249 M
-301.92 9.531 lineto
-304.811 9.531 lineto
-304.811 20.249 lineto
-301.92 20.249 lineto
-closepath
-301.92 7.718 M
-301.92 5.312 lineto
-304.811 5.312 lineto
-304.811 7.718 lineto
-301.92 7.718 lineto
-closepath
-312.924 20.499 M
-310.408 20.499 308.932 18.976 QUADTO
-307.455 17.453 307.455 14.89 QUADTO
-307.455 12.296 308.939 10.788 QUADTO
-310.424 9.281 312.986 9.281 QUADTO
-315.564 9.281 317.049 10.788 QUADTO
-318.533 12.296 318.533 14.874 QUADTO
-318.533 17.499 317.041 18.999 QUADTO
-315.549 20.499 312.924 20.499 QUADTO
-closepath
-312.971 18.687 M
-315.455 18.687 315.455 14.874 QUADTO
-315.455 13.124 314.799 12.109 QUADTO
-314.143 11.093 312.986 11.093 QUADTO
-311.846 11.093 311.189 12.109 QUADTO
-310.533 13.124 310.533 14.89 QUADTO
-310.533 16.64 311.182 17.663 QUADTO
-311.83 18.687 312.971 18.687 QUADTO
-closepath
-321.197 20.249 M
-321.197 9.531 lineto
-324.088 9.531 lineto
-324.088 11.546 lineto
-325.494 9.281 327.729 9.281 QUADTO
-329.166 9.281 330.002 10.187 QUADTO
-330.838 11.093 330.838 12.671 QUADTO
-330.838 20.249 lineto
-327.947 20.249 lineto
-327.947 13.39 lineto
-327.947 11.562 326.729 11.562 QUADTO
-325.354 11.562 324.088 13.499 QUADTO
-324.088 20.249 lineto
-321.197 20.249 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-1 335.356 M
-399 335.356 lineto
-399 399 lineto
-1 399 lineto
-1 335.356 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-1.5 335.856 M
-398.5 335.856 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-1.5 398.5 M
-398.5 398.5 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-1.5 398.5 M
-1.5 335.856 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-398.5 398.5 M
-398.5 335.856 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-5 346.63 M
-19 346.63 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-9 343.63 M
-15 343.63 lineto
-15 349.63 lineto
-9 349.63 lineto
-9 343.63 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-9 343.63 M
-15 343.63 lineto
-15 349.63 lineto
-9 349.63 lineto
-9 343.63 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-24.125 350.906 M
-24.125 342.234 lineto
-26.484 342.234 lineto
-28.047 342.234 28.734 342.765 QUADTO
-29.422 343.296 29.422 344.499 QUADTO
-29.422 345.89 28.484 346.671 QUADTO
-27.547 347.453 25.891 347.453 QUADTO
-25.344 347.453 lineto
-25.344 350.906 lineto
-24.125 350.906 lineto
-closepath
-25.344 346.531 M
-25.844 346.531 lineto
-26.938 346.531 27.531 346.023 QUADTO
-28.125 345.515 28.125 344.593 QUADTO
-28.125 343.828 27.656 343.492 QUADTO
-27.188 343.156 26.094 343.156 QUADTO
-25.344 343.156 lineto
-25.344 346.531 lineto
-closepath
-35.148 347.593 M
-33.664 343.843 lineto
-32.195 347.593 lineto
-35.148 347.593 lineto
-closepath
-36.445 350.906 M
-35.508 348.499 lineto
-31.836 348.499 lineto
-30.883 350.906 lineto
-29.727 350.906 lineto
-33.18 342.234 lineto
-34.398 342.234 lineto
-37.773 350.906 lineto
-36.445 350.906 lineto
-closepath
-40.725 351.124 M
-39.865 351.124 38.506 350.734 QUADTO
-38.506 349.515 lineto
-39.959 350.203 40.912 350.203 QUADTO
-41.631 350.203 42.076 349.82 QUADTO
-42.521 349.437 42.521 348.812 QUADTO
-42.521 348.312 42.232 347.953 QUADTO
-41.943 347.593 41.162 347.156 QUADTO
-40.568 346.812 lineto
-39.459 346.171 39.006 345.617 QUADTO
-38.553 345.062 38.553 344.312 QUADTO
-38.553 343.312 39.279 342.663 QUADTO
-40.006 342.015 41.131 342.015 QUADTO
-42.131 342.015 43.24 342.343 QUADTO
-43.24 343.468 lineto
-41.865 342.937 41.193 342.937 QUADTO
-40.553 342.937 40.139 343.273 QUADTO
-39.725 343.609 39.725 344.124 QUADTO
-39.725 344.562 40.029 344.898 QUADTO
-40.334 345.234 41.146 345.703 QUADTO
-41.756 346.046 lineto
-42.881 346.687 43.326 347.257 QUADTO
-43.771 347.828 43.771 348.624 QUADTO
-43.771 349.749 42.943 350.437 QUADTO
-42.115 351.124 40.725 351.124 QUADTO
-closepath
-47.562 350.906 M
-47.562 343.156 lineto
-44.484 343.156 lineto
-44.484 342.234 lineto
-51.859 342.234 lineto
-51.859 343.156 lineto
-48.781 343.156 lineto
-48.781 350.906 lineto
-47.562 350.906 lineto
-closepath
-56.885 350.906 M
-56.885 342.234 lineto
-58.088 342.234 lineto
-62.447 348.937 lineto
-62.447 342.234 lineto
-63.51 342.234 lineto
-63.51 350.906 lineto
-62.307 350.906 lineto
-57.932 344.203 lineto
-57.932 350.906 lineto
-56.885 350.906 lineto
-closepath
-65.922 348.953 M
-65.922 348.093 lineto
-72.859 348.093 lineto
-72.859 348.953 lineto
-65.922 348.953 lineto
-closepath
-65.922 346.781 M
-65.922 345.921 lineto
-72.859 345.921 lineto
-72.859 346.781 lineto
-65.922 346.781 lineto
-closepath
-75.977 350.906 M
-75.977 350.031 lineto
-77.711 350.031 lineto
-77.711 343.187 lineto
-75.977 343.624 lineto
-75.977 342.734 lineto
-78.867 342.015 lineto
-78.867 350.031 lineto
-80.602 350.031 lineto
-80.602 350.906 lineto
-75.977 350.906 lineto
-closepath
-85.518 351.124 M
-84.174 351.124 83.346 349.859 QUADTO
-82.518 348.593 82.518 346.562 QUADTO
-82.518 344.515 83.354 343.265 QUADTO
-84.189 342.015 85.549 342.015 QUADTO
-86.908 342.015 87.744 343.265 QUADTO
-88.58 344.515 88.58 346.546 QUADTO
-88.58 348.624 87.744 349.874 QUADTO
-86.908 351.124 85.518 351.124 QUADTO
-closepath
-85.533 350.249 M
-87.361 350.249 87.361 346.531 QUADTO
-87.361 342.89 85.549 342.89 QUADTO
-83.752 342.89 83.752 346.562 QUADTO
-83.752 350.249 85.533 350.249 QUADTO
-closepath
-93.105 351.124 M
-91.762 351.124 90.934 349.859 QUADTO
-90.105 348.593 90.105 346.562 QUADTO
-90.105 344.515 90.941 343.265 QUADTO
-91.777 342.015 93.137 342.015 QUADTO
-94.496 342.015 95.332 343.265 QUADTO
-96.168 344.515 96.168 346.546 QUADTO
-96.168 348.624 95.332 349.874 QUADTO
-94.496 351.124 93.105 351.124 QUADTO
-closepath
-93.121 350.249 M
-94.949 350.249 94.949 346.531 QUADTO
-94.949 342.89 93.137 342.89 QUADTO
-91.34 342.89 91.34 346.562 QUADTO
-91.34 350.249 93.121 350.249 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-102.928 346.63 M
-116.928 346.63 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-112.928 346.63 M
-112.928 348.287 111.585 349.63 109.928 349.63 curveto
-108.271 349.63 106.928 348.287 106.928 346.63 curveto
-106.928 344.973 108.271 343.63 109.928 343.63 curveto
-111.585 343.63 112.928 344.973 112.928 346.63 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-112.928 346.63 M
-112.928 348.287 111.585 349.63 109.928 349.63 curveto
-108.271 349.63 106.928 348.287 106.928 346.63 curveto
-106.928 344.973 108.271 343.63 109.928 343.63 curveto
-111.585 343.63 112.928 344.973 112.928 346.63 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-122.053 350.906 M
-122.053 342.234 lineto
-124.412 342.234 lineto
-125.975 342.234 126.662 342.765 QUADTO
-127.35 343.296 127.35 344.499 QUADTO
-127.35 345.89 126.412 346.671 QUADTO
-125.475 347.453 123.818 347.453 QUADTO
-123.271 347.453 lineto
-123.271 350.906 lineto
-122.053 350.906 lineto
-closepath
-123.271 346.531 M
-123.771 346.531 lineto
-124.865 346.531 125.459 346.023 QUADTO
-126.053 345.515 126.053 344.593 QUADTO
-126.053 343.828 125.584 343.492 QUADTO
-125.115 343.156 124.021 343.156 QUADTO
-123.271 343.156 lineto
-123.271 346.531 lineto
-closepath
-133.076 347.593 M
-131.592 343.843 lineto
-130.123 347.593 lineto
-133.076 347.593 lineto
-closepath
-134.373 350.906 M
-133.436 348.499 lineto
-129.764 348.499 lineto
-128.811 350.906 lineto
-127.654 350.906 lineto
-131.107 342.234 lineto
-132.326 342.234 lineto
-135.701 350.906 lineto
-134.373 350.906 lineto
-closepath
-138.652 351.124 M
-137.793 351.124 136.434 350.734 QUADTO
-136.434 349.515 lineto
-137.887 350.203 138.84 350.203 QUADTO
-139.559 350.203 140.004 349.82 QUADTO
-140.449 349.437 140.449 348.812 QUADTO
-140.449 348.312 140.16 347.953 QUADTO
-139.871 347.593 139.09 347.156 QUADTO
-138.496 346.812 lineto
-137.387 346.171 136.934 345.617 QUADTO
-136.48 345.062 136.48 344.312 QUADTO
-136.48 343.312 137.207 342.663 QUADTO
-137.934 342.015 139.059 342.015 QUADTO
-140.059 342.015 141.168 342.343 QUADTO
-141.168 343.468 lineto
-139.793 342.937 139.121 342.937 QUADTO
-138.48 342.937 138.066 343.273 QUADTO
-137.652 343.609 137.652 344.124 QUADTO
-137.652 344.562 137.957 344.898 QUADTO
-138.262 345.234 139.074 345.703 QUADTO
-139.684 346.046 lineto
-140.809 346.687 141.254 347.257 QUADTO
-141.699 347.828 141.699 348.624 QUADTO
-141.699 349.749 140.871 350.437 QUADTO
-140.043 351.124 138.652 351.124 QUADTO
-closepath
-145.49 350.906 M
-145.49 343.156 lineto
-142.412 343.156 lineto
-142.412 342.234 lineto
-149.787 342.234 lineto
-149.787 343.156 lineto
-146.709 343.156 lineto
-146.709 350.906 lineto
-145.49 350.906 lineto
-closepath
-154.812 350.906 M
-154.812 342.234 lineto
-156.016 342.234 lineto
-160.375 348.937 lineto
-160.375 342.234 lineto
-161.438 342.234 lineto
-161.438 350.906 lineto
-160.234 350.906 lineto
-155.859 344.203 lineto
-155.859 350.906 lineto
-154.812 350.906 lineto
-closepath
-163.85 348.953 M
-163.85 348.093 lineto
-170.787 348.093 lineto
-170.787 348.953 lineto
-163.85 348.953 lineto
-closepath
-163.85 346.781 M
-163.85 345.921 lineto
-170.787 345.921 lineto
-170.787 346.781 lineto
-163.85 346.781 lineto
-closepath
-173.904 350.906 M
-173.904 350.031 lineto
-175.639 350.031 lineto
-175.639 343.187 lineto
-173.904 343.624 lineto
-173.904 342.734 lineto
-176.795 342.015 lineto
-176.795 350.031 lineto
-178.529 350.031 lineto
-178.529 350.906 lineto
-173.904 350.906 lineto
-closepath
-183.445 351.124 M
-182.102 351.124 181.273 349.859 QUADTO
-180.445 348.593 180.445 346.562 QUADTO
-180.445 344.515 181.281 343.265 QUADTO
-182.117 342.015 183.477 342.015 QUADTO
-184.836 342.015 185.672 343.265 QUADTO
-186.508 344.515 186.508 346.546 QUADTO
-186.508 348.624 185.672 349.874 QUADTO
-184.836 351.124 183.445 351.124 QUADTO
-closepath
-183.461 350.249 M
-185.289 350.249 185.289 346.531 QUADTO
-185.289 342.89 183.477 342.89 QUADTO
-181.68 342.89 181.68 346.562 QUADTO
-181.68 350.249 183.461 350.249 QUADTO
-closepath
-191.033 351.124 M
-189.689 351.124 188.861 349.859 QUADTO
-188.033 348.593 188.033 346.562 QUADTO
-188.033 344.515 188.869 343.265 QUADTO
-189.705 342.015 191.064 342.015 QUADTO
-192.424 342.015 193.26 343.265 QUADTO
-194.096 344.515 194.096 346.546 QUADTO
-194.096 348.624 193.26 349.874 QUADTO
-192.424 351.124 191.033 351.124 QUADTO
-closepath
-191.049 350.249 M
-192.877 350.249 192.877 346.531 QUADTO
-192.877 342.89 191.064 342.89 QUADTO
-189.268 342.89 189.268 346.562 QUADTO
-189.268 350.249 191.049 350.249 QUADTO
-closepath
-198.621 351.124 M
-197.277 351.124 196.449 349.859 QUADTO
-195.621 348.593 195.621 346.562 QUADTO
-195.621 344.515 196.457 343.265 QUADTO
-197.293 342.015 198.652 342.015 QUADTO
-200.012 342.015 200.848 343.265 QUADTO
-201.684 344.515 201.684 346.546 QUADTO
-201.684 348.624 200.848 349.874 QUADTO
-200.012 351.124 198.621 351.124 QUADTO
-closepath
-198.637 350.249 M
-200.465 350.249 200.465 346.531 QUADTO
-200.465 342.89 198.652 342.89 QUADTO
-196.855 342.89 196.855 346.562 QUADTO
-196.855 350.249 198.637 350.249 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-208.443 346.63 M
-222.443 346.63 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-215.443 343.63 M
-218.443 349.63 lineto
-212.443 349.63 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-215.443 343.63 M
-218.443 349.63 lineto
-212.443 349.63 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-227.568 350.906 M
-227.568 342.234 lineto
-228.725 342.234 lineto
-228.725 346.499 lineto
-232.225 342.234 lineto
-233.459 342.234 lineto
-230.068 346.374 lineto
-234.068 350.906 lineto
-232.506 350.906 lineto
-228.725 346.515 lineto
-228.725 350.906 lineto
-227.568 350.906 lineto
-closepath
-238.715 350.093 M
-237.684 351.046 236.715 351.046 QUADTO
-235.918 351.046 235.402 350.554 QUADTO
-234.887 350.062 234.887 349.312 QUADTO
-234.887 348.265 235.762 347.703 QUADTO
-236.637 347.14 238.262 347.14 QUADTO
-238.543 347.14 lineto
-238.543 346.374 lineto
-238.543 345.265 237.402 345.265 QUADTO
-236.496 345.265 235.434 345.828 QUADTO
-235.434 344.874 lineto
-236.605 344.406 237.621 344.406 QUADTO
-238.684 344.406 239.191 344.882 QUADTO
-239.699 345.359 239.699 346.374 QUADTO
-239.699 349.265 lineto
-239.699 350.249 240.309 350.249 QUADTO
-240.387 350.249 240.527 350.218 QUADTO
-240.605 350.859 lineto
-240.215 351.046 239.746 351.046 QUADTO
-238.934 351.046 238.715 350.093 QUADTO
-closepath
-238.543 349.468 M
-238.543 347.828 lineto
-238.152 347.812 lineto
-237.215 347.812 236.629 348.171 QUADTO
-236.043 348.531 236.043 349.124 QUADTO
-236.043 349.531 236.332 349.82 QUADTO
-236.621 350.109 237.043 350.109 QUADTO
-237.762 350.109 238.543 349.468 QUADTO
-closepath
-246.139 350.906 M
-246.139 349.703 lineto
-245.436 351.046 244.029 351.046 QUADTO
-242.873 351.046 242.217 350.21 QUADTO
-241.561 349.374 241.561 347.921 QUADTO
-241.561 346.328 242.303 345.367 QUADTO
-243.045 344.406 244.264 344.406 QUADTO
-245.404 344.406 246.139 345.265 QUADTO
-246.139 341.656 lineto
-247.311 341.656 lineto
-247.311 350.906 lineto
-246.139 350.906 lineto
-closepath
-246.139 346.062 M
-245.248 345.265 244.451 345.265 QUADTO
-242.779 345.265 242.779 347.812 QUADTO
-242.779 350.031 244.264 350.031 QUADTO
-245.217 350.031 246.139 348.984 QUADTO
-246.139 346.062 lineto
-closepath
-254.27 350.703 M
-253.113 351.046 252.285 351.046 QUADTO
-250.879 351.046 249.996 350.117 QUADTO
-249.113 349.187 249.113 347.687 QUADTO
-249.113 346.249 249.895 345.32 QUADTO
-250.676 344.39 251.895 344.39 QUADTO
-253.051 344.39 253.676 345.21 QUADTO
-254.301 346.031 254.301 347.546 QUADTO
-254.301 347.906 lineto
-250.285 347.906 lineto
-250.535 350.171 252.504 350.171 QUADTO
-253.223 350.171 254.27 349.781 QUADTO
-254.27 350.703 lineto
-closepath
-250.332 347.031 M
-253.145 347.031 lineto
-253.145 345.265 251.816 345.265 QUADTO
-250.488 345.265 250.332 347.031 QUADTO
-closepath
-256.299 350.906 M
-256.299 344.546 lineto
-257.455 344.546 lineto
-257.455 345.734 lineto
-258.299 344.406 259.627 344.406 QUADTO
-260.893 344.406 261.361 345.734 QUADTO
-262.174 344.39 263.486 344.39 QUADTO
-264.33 344.39 264.799 344.89 QUADTO
-265.268 345.39 265.268 346.281 QUADTO
-265.268 350.906 lineto
-264.096 350.906 lineto
-264.096 346.453 lineto
-264.096 345.374 263.236 345.374 QUADTO
-262.346 345.374 261.361 346.64 QUADTO
-261.361 350.906 lineto
-260.205 350.906 lineto
-260.205 346.453 lineto
-260.205 345.359 259.314 345.359 QUADTO
-258.455 345.359 257.455 346.64 QUADTO
-257.455 350.906 lineto
-256.299 350.906 lineto
-closepath
-267.502 350.906 M
-267.502 341.656 lineto
-268.658 341.656 lineto
-268.658 350.906 lineto
-267.502 350.906 lineto
-closepath
-270.971 350.906 M
-270.971 344.546 lineto
-272.127 344.546 lineto
-272.127 350.906 lineto
-270.971 350.906 lineto
-closepath
-270.971 343.39 M
-270.971 342.234 lineto
-272.127 342.234 lineto
-272.127 343.39 lineto
-270.971 343.39 lineto
-closepath
-277.721 350.093 M
-276.689 351.046 275.721 351.046 QUADTO
-274.924 351.046 274.408 350.554 QUADTO
-273.893 350.062 273.893 349.312 QUADTO
-273.893 348.265 274.768 347.703 QUADTO
-275.643 347.14 277.268 347.14 QUADTO
-277.549 347.14 lineto
-277.549 346.374 lineto
-277.549 345.265 276.408 345.265 QUADTO
-275.502 345.265 274.439 345.828 QUADTO
-274.439 344.874 lineto
-275.611 344.406 276.627 344.406 QUADTO
-277.689 344.406 278.197 344.882 QUADTO
-278.705 345.359 278.705 346.374 QUADTO
-278.705 349.265 lineto
-278.705 350.249 279.314 350.249 QUADTO
-279.393 350.249 279.533 350.218 QUADTO
-279.611 350.859 lineto
-279.221 351.046 278.752 351.046 QUADTO
-277.939 351.046 277.721 350.093 QUADTO
-closepath
-277.549 349.468 M
-277.549 347.828 lineto
-277.158 347.812 lineto
-276.221 347.812 275.635 348.171 QUADTO
-275.049 348.531 275.049 349.124 QUADTO
-275.049 349.531 275.338 349.82 QUADTO
-275.627 350.109 276.049 350.109 QUADTO
-276.768 350.109 277.549 349.468 QUADTO
-closepath
-284.832 350.906 M
-284.832 342.234 lineto
-286.035 342.234 lineto
-290.395 348.937 lineto
-290.395 342.234 lineto
-291.457 342.234 lineto
-291.457 350.906 lineto
-290.254 350.906 lineto
-285.879 344.203 lineto
-285.879 350.906 lineto
-284.832 350.906 lineto
-closepath
-293.869 348.953 M
-293.869 348.093 lineto
-300.807 348.093 lineto
-300.807 348.953 lineto
-293.869 348.953 lineto
-closepath
-293.869 346.781 M
-293.869 345.921 lineto
-300.807 345.921 lineto
-300.807 346.781 lineto
-293.869 346.781 lineto
-closepath
-303.924 350.906 M
-303.924 350.031 lineto
-305.658 350.031 lineto
-305.658 343.187 lineto
-303.924 343.624 lineto
-303.924 342.734 lineto
-306.814 342.015 lineto
-306.814 350.031 lineto
-308.549 350.031 lineto
-308.549 350.906 lineto
-303.924 350.906 lineto
-closepath
-313.465 351.124 M
-312.121 351.124 311.293 349.859 QUADTO
-310.465 348.593 310.465 346.562 QUADTO
-310.465 344.515 311.301 343.265 QUADTO
-312.137 342.015 313.496 342.015 QUADTO
-314.855 342.015 315.691 343.265 QUADTO
-316.527 344.515 316.527 346.546 QUADTO
-316.527 348.624 315.691 349.874 QUADTO
-314.855 351.124 313.465 351.124 QUADTO
-closepath
-313.48 350.249 M
-315.309 350.249 315.309 346.531 QUADTO
-315.309 342.89 313.496 342.89 QUADTO
-311.699 342.89 311.699 346.562 QUADTO
-311.699 350.249 313.48 350.249 QUADTO
-closepath
-321.053 351.124 M
-319.709 351.124 318.881 349.859 QUADTO
-318.053 348.593 318.053 346.562 QUADTO
-318.053 344.515 318.889 343.265 QUADTO
-319.725 342.015 321.084 342.015 QUADTO
-322.443 342.015 323.279 343.265 QUADTO
-324.115 344.515 324.115 346.546 QUADTO
-324.115 348.624 323.279 349.874 QUADTO
-322.443 351.124 321.053 351.124 QUADTO
-closepath
-321.068 350.249 M
-322.896 350.249 322.896 346.531 QUADTO
-322.896 342.89 321.084 342.89 QUADTO
-319.287 342.89 319.287 346.562 QUADTO
-319.287 350.249 321.068 350.249 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-5 367.178 M
-19 367.178 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-12 364.178 M
-15 367.178 lineto
-12 370.178 lineto
-9 367.178 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-12 364.178 M
-15 367.178 lineto
-12 370.178 lineto
-9 367.178 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-24.125 371.454 M
-24.125 362.782 lineto
-25.281 362.782 lineto
-25.281 367.047 lineto
-28.781 362.782 lineto
-30.016 362.782 lineto
-26.625 366.922 lineto
-30.625 371.454 lineto
-29.062 371.454 lineto
-25.281 367.063 lineto
-25.281 371.454 lineto
-24.125 371.454 lineto
-closepath
-35.271 370.641 M
-34.24 371.594 33.271 371.594 QUADTO
-32.475 371.594 31.959 371.102 QUADTO
-31.443 370.61 31.443 369.86 QUADTO
-31.443 368.813 32.318 368.251 QUADTO
-33.193 367.688 34.818 367.688 QUADTO
-35.1 367.688 lineto
-35.1 366.922 lineto
-35.1 365.813 33.959 365.813 QUADTO
-33.053 365.813 31.99 366.376 QUADTO
-31.99 365.422 lineto
-33.162 364.954 34.178 364.954 QUADTO
-35.24 364.954 35.748 365.43 QUADTO
-36.256 365.907 36.256 366.922 QUADTO
-36.256 369.813 lineto
-36.256 370.797 36.865 370.797 QUADTO
-36.943 370.797 37.084 370.766 QUADTO
-37.162 371.407 lineto
-36.771 371.594 36.303 371.594 QUADTO
-35.49 371.594 35.271 370.641 QUADTO
-closepath
-35.1 370.016 M
-35.1 368.376 lineto
-34.709 368.36 lineto
-33.771 368.36 33.186 368.719 QUADTO
-32.6 369.079 32.6 369.672 QUADTO
-32.6 370.079 32.889 370.368 QUADTO
-33.178 370.657 33.6 370.657 QUADTO
-34.318 370.657 35.1 370.016 QUADTO
-closepath
-42.695 371.454 M
-42.695 370.251 lineto
-41.992 371.594 40.586 371.594 QUADTO
-39.43 371.594 38.773 370.758 QUADTO
-38.117 369.922 38.117 368.469 QUADTO
-38.117 366.876 38.859 365.915 QUADTO
-39.602 364.954 40.82 364.954 QUADTO
-41.961 364.954 42.695 365.813 QUADTO
-42.695 362.204 lineto
-43.867 362.204 lineto
-43.867 371.454 lineto
-42.695 371.454 lineto
-closepath
-42.695 366.61 M
-41.805 365.813 41.008 365.813 QUADTO
-39.336 365.813 39.336 368.36 QUADTO
-39.336 370.579 40.82 370.579 QUADTO
-41.773 370.579 42.695 369.532 QUADTO
-42.695 366.61 lineto
-closepath
-50.826 371.251 M
-49.67 371.594 48.842 371.594 QUADTO
-47.436 371.594 46.553 370.665 QUADTO
-45.67 369.735 45.67 368.235 QUADTO
-45.67 366.797 46.451 365.868 QUADTO
-47.232 364.938 48.451 364.938 QUADTO
-49.607 364.938 50.232 365.758 QUADTO
-50.857 366.579 50.857 368.094 QUADTO
-50.857 368.454 lineto
-46.842 368.454 lineto
-47.092 370.719 49.061 370.719 QUADTO
-49.779 370.719 50.826 370.329 QUADTO
-50.826 371.251 lineto
-closepath
-46.889 367.579 M
-49.701 367.579 lineto
-49.701 365.813 48.373 365.813 QUADTO
-47.045 365.813 46.889 367.579 QUADTO
-closepath
-52.855 371.454 M
-52.855 365.094 lineto
-54.012 365.094 lineto
-54.012 366.282 lineto
-54.855 364.954 56.184 364.954 QUADTO
-57.449 364.954 57.918 366.282 QUADTO
-58.73 364.938 60.043 364.938 QUADTO
-60.887 364.938 61.355 365.438 QUADTO
-61.824 365.938 61.824 366.829 QUADTO
-61.824 371.454 lineto
-60.652 371.454 lineto
-60.652 367.001 lineto
-60.652 365.922 59.793 365.922 QUADTO
-58.902 365.922 57.918 367.188 QUADTO
-57.918 371.454 lineto
-56.762 371.454 lineto
-56.762 367.001 lineto
-56.762 365.907 55.871 365.907 QUADTO
-55.012 365.907 54.012 367.188 QUADTO
-54.012 371.454 lineto
-52.855 371.454 lineto
-closepath
-64.059 371.454 M
-64.059 362.204 lineto
-65.215 362.204 lineto
-65.215 371.454 lineto
-64.059 371.454 lineto
-closepath
-67.527 371.454 M
-67.527 365.094 lineto
-68.684 365.094 lineto
-68.684 371.454 lineto
-67.527 371.454 lineto
-closepath
-67.527 363.938 M
-67.527 362.782 lineto
-68.684 362.782 lineto
-68.684 363.938 lineto
-67.527 363.938 lineto
-closepath
-74.277 370.641 M
-73.246 371.594 72.277 371.594 QUADTO
-71.48 371.594 70.965 371.102 QUADTO
-70.449 370.61 70.449 369.86 QUADTO
-70.449 368.813 71.324 368.251 QUADTO
-72.199 367.688 73.824 367.688 QUADTO
-74.105 367.688 lineto
-74.105 366.922 lineto
-74.105 365.813 72.965 365.813 QUADTO
-72.059 365.813 70.996 366.376 QUADTO
-70.996 365.422 lineto
-72.168 364.954 73.184 364.954 QUADTO
-74.246 364.954 74.754 365.43 QUADTO
-75.262 365.907 75.262 366.922 QUADTO
-75.262 369.813 lineto
-75.262 370.797 75.871 370.797 QUADTO
-75.949 370.797 76.09 370.766 QUADTO
-76.168 371.407 lineto
-75.777 371.594 75.309 371.594 QUADTO
-74.496 371.594 74.277 370.641 QUADTO
-closepath
-74.105 370.016 M
-74.105 368.376 lineto
-73.715 368.36 lineto
-72.777 368.36 72.191 368.719 QUADTO
-71.605 369.079 71.605 369.672 QUADTO
-71.605 370.079 71.895 370.368 QUADTO
-72.184 370.657 72.605 370.657 QUADTO
-73.324 370.657 74.105 370.016 QUADTO
-closepath
-81.389 371.454 M
-81.389 362.782 lineto
-82.592 362.782 lineto
-86.951 369.485 lineto
-86.951 362.782 lineto
-88.014 362.782 lineto
-88.014 371.454 lineto
-86.811 371.454 lineto
-82.436 364.751 lineto
-82.436 371.454 lineto
-81.389 371.454 lineto
-closepath
-90.426 369.501 M
-90.426 368.641 lineto
-97.363 368.641 lineto
-97.363 369.501 lineto
-90.426 369.501 lineto
-closepath
-90.426 367.329 M
-90.426 366.469 lineto
-97.363 366.469 lineto
-97.363 367.329 lineto
-90.426 367.329 lineto
-closepath
-100.48 371.454 M
-100.48 370.579 lineto
-102.215 370.579 lineto
-102.215 363.735 lineto
-100.48 364.172 lineto
-100.48 363.282 lineto
-103.371 362.563 lineto
-103.371 370.579 lineto
-105.105 370.579 lineto
-105.105 371.454 lineto
-100.48 371.454 lineto
-closepath
-110.021 371.672 M
-108.678 371.672 107.85 370.407 QUADTO
-107.021 369.141 107.021 367.11 QUADTO
-107.021 365.063 107.857 363.813 QUADTO
-108.693 362.563 110.053 362.563 QUADTO
-111.412 362.563 112.248 363.813 QUADTO
-113.084 365.063 113.084 367.094 QUADTO
-113.084 369.172 112.248 370.422 QUADTO
-111.412 371.672 110.021 371.672 QUADTO
-closepath
-110.037 370.797 M
-111.865 370.797 111.865 367.079 QUADTO
-111.865 363.438 110.053 363.438 QUADTO
-108.256 363.438 108.256 367.11 QUADTO
-108.256 370.797 110.037 370.797 QUADTO
-closepath
-117.609 371.672 M
-116.266 371.672 115.438 370.407 QUADTO
-114.609 369.141 114.609 367.11 QUADTO
-114.609 365.063 115.445 363.813 QUADTO
-116.281 362.563 117.641 362.563 QUADTO
-119 362.563 119.836 363.813 QUADTO
-120.672 365.063 120.672 367.094 QUADTO
-120.672 369.172 119.836 370.422 QUADTO
-119 371.672 117.609 371.672 QUADTO
-closepath
-117.625 370.797 M
-119.453 370.797 119.453 367.079 QUADTO
-119.453 363.438 117.641 363.438 QUADTO
-115.844 363.438 115.844 367.11 QUADTO
-115.844 370.797 117.625 370.797 QUADTO
-closepath
-125.197 371.672 M
-123.854 371.672 123.025 370.407 QUADTO
-122.197 369.141 122.197 367.11 QUADTO
-122.197 365.063 123.033 363.813 QUADTO
-123.869 362.563 125.229 362.563 QUADTO
-126.588 362.563 127.424 363.813 QUADTO
-128.26 365.063 128.26 367.094 QUADTO
-128.26 369.172 127.424 370.422 QUADTO
-126.588 371.672 125.197 371.672 QUADTO
-closepath
-125.213 370.797 M
-127.041 370.797 127.041 367.079 QUADTO
-127.041 363.438 125.229 363.438 QUADTO
-123.432 363.438 123.432 367.11 QUADTO
-123.432 370.797 125.213 370.797 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-135.02 367.178 M
-149.02 367.178 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-139.02 365.678 M
-145.02 365.678 lineto
-145.02 368.678 lineto
-139.02 368.678 lineto
-139.02 365.678 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-139.02 365.678 M
-145.02 365.678 lineto
-145.02 368.678 lineto
-139.02 368.678 lineto
-139.02 365.678 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-156.504 371.454 M
-153.238 362.782 lineto
-154.457 362.782 lineto
-157.145 369.876 lineto
-159.738 362.782 lineto
-160.816 362.782 lineto
-157.66 371.454 lineto
-156.504 371.454 lineto
-closepath
-166.678 371.251 M
-165.521 371.594 164.693 371.594 QUADTO
-163.287 371.594 162.404 370.665 QUADTO
-161.521 369.735 161.521 368.235 QUADTO
-161.521 366.797 162.303 365.868 QUADTO
-163.084 364.938 164.303 364.938 QUADTO
-165.459 364.938 166.084 365.758 QUADTO
-166.709 366.579 166.709 368.094 QUADTO
-166.709 368.454 lineto
-162.693 368.454 lineto
-162.943 370.719 164.912 370.719 QUADTO
-165.631 370.719 166.678 370.329 QUADTO
-166.678 371.251 lineto
-closepath
-162.74 367.579 M
-165.553 367.579 lineto
-165.553 365.813 164.225 365.813 QUADTO
-162.896 365.813 162.74 367.579 QUADTO
-closepath
-168.707 371.454 M
-168.707 365.094 lineto
-169.863 365.094 lineto
-169.863 366.282 lineto
-170.551 364.954 171.848 364.954 QUADTO
-172.035 364.954 172.223 364.985 QUADTO
-172.223 366.063 lineto
-171.926 365.954 171.691 365.954 QUADTO
-170.598 365.954 169.863 367.251 QUADTO
-169.863 371.454 lineto
-168.707 371.454 lineto
-closepath
-175.523 371.594 M
-174.648 371.594 174.156 371.094 QUADTO
-173.664 370.594 173.664 369.688 QUADTO
-173.664 365.954 lineto
-172.867 365.954 lineto
-172.867 365.094 lineto
-173.664 365.094 lineto
-173.664 363.938 lineto
-174.82 363.829 lineto
-174.82 365.094 lineto
-176.477 365.094 lineto
-176.477 365.954 lineto
-174.82 365.954 lineto
-174.82 369.485 lineto
-174.82 370.735 175.898 370.735 QUADTO
-176.117 370.735 176.445 370.657 QUADTO
-176.445 371.454 lineto
-175.914 371.594 175.523 371.594 QUADTO
-closepath
-182.762 371.251 M
-181.605 371.594 180.777 371.594 QUADTO
-179.371 371.594 178.488 370.665 QUADTO
-177.605 369.735 177.605 368.235 QUADTO
-177.605 366.797 178.387 365.868 QUADTO
-179.168 364.938 180.387 364.938 QUADTO
-181.543 364.938 182.168 365.758 QUADTO
-182.793 366.579 182.793 368.094 QUADTO
-182.793 368.454 lineto
-178.777 368.454 lineto
-179.027 370.719 180.996 370.719 QUADTO
-181.715 370.719 182.762 370.329 QUADTO
-182.762 371.251 lineto
-closepath
-178.824 367.579 M
-181.637 367.579 lineto
-181.637 365.813 180.309 365.813 QUADTO
-178.98 365.813 178.824 367.579 QUADTO
-closepath
-184.15 371.454 M
-186.572 368.172 lineto
-184.229 365.094 lineto
-185.588 365.094 lineto
-187.447 367.532 lineto
-189.135 365.094 lineto
-190.26 365.094 lineto
-188.057 368.313 lineto
-190.447 371.454 lineto
-189.072 371.454 lineto
-187.166 368.938 lineto
-185.307 371.454 lineto
-184.15 371.454 lineto
-closepath
-202.432 371.219 M
-200.854 371.672 199.682 371.672 QUADTO
-197.604 371.672 196.502 370.493 QUADTO
-195.4 369.313 195.4 367.11 QUADTO
-195.4 364.954 196.518 363.758 QUADTO
-197.635 362.563 199.666 362.563 QUADTO
-200.979 362.563 202.416 362.954 QUADTO
-202.416 364.094 lineto
-200.619 363.485 199.666 363.485 QUADTO
-198.26 363.485 197.486 364.438 QUADTO
-196.713 365.391 196.713 367.126 QUADTO
-196.713 368.844 197.541 369.797 QUADTO
-198.369 370.751 199.869 370.751 QUADTO
-200.494 370.751 201.197 370.532 QUADTO
-201.197 367.704 lineto
-202.432 367.704 lineto
-202.432 371.219 lineto
-closepath
-204.619 371.454 M
-204.619 365.094 lineto
-205.775 365.094 lineto
-205.775 366.282 lineto
-206.463 364.954 207.76 364.954 QUADTO
-207.947 364.954 208.135 364.985 QUADTO
-208.135 366.063 lineto
-207.838 365.954 207.604 365.954 QUADTO
-206.51 365.954 205.775 367.251 QUADTO
-205.775 371.454 lineto
-204.619 371.454 lineto
-closepath
-212.014 371.594 M
-210.654 371.594 209.842 370.688 QUADTO
-209.029 369.782 209.029 368.266 QUADTO
-209.029 366.735 209.842 365.844 QUADTO
-210.654 364.954 212.061 364.954 QUADTO
-213.467 364.954 214.279 365.844 QUADTO
-215.092 366.735 215.092 368.266 QUADTO
-215.092 369.813 214.271 370.704 QUADTO
-213.451 371.594 212.014 371.594 QUADTO
-closepath
-212.029 370.735 M
-213.873 370.735 213.873 368.266 QUADTO
-213.873 365.813 212.061 365.813 QUADTO
-210.248 365.813 210.248 368.266 QUADTO
-210.248 370.735 212.029 370.735 QUADTO
-closepath
-220.885 371.454 M
-220.885 370.251 lineto
-219.963 371.594 218.65 371.594 QUADTO
-217.807 371.594 217.314 371.071 QUADTO
-216.822 370.547 216.822 369.657 QUADTO
-216.822 365.094 lineto
-217.979 365.094 lineto
-217.979 369.282 lineto
-217.979 370.001 218.189 370.305 QUADTO
-218.4 370.61 218.885 370.61 QUADTO
-219.947 370.61 220.885 369.219 QUADTO
-220.885 365.094 lineto
-222.025 365.094 lineto
-222.025 371.454 lineto
-220.885 371.454 lineto
-closepath
-224.348 373.766 M
-224.348 365.094 lineto
-225.504 365.094 lineto
-225.504 366.282 lineto
-226.207 364.954 227.629 364.954 QUADTO
-228.77 364.954 229.434 365.79 QUADTO
-230.098 366.626 230.098 368.079 QUADTO
-230.098 369.657 229.348 370.626 QUADTO
-228.598 371.594 227.379 371.594 QUADTO
-226.254 371.594 225.504 370.735 QUADTO
-225.504 373.766 lineto
-224.348 373.766 lineto
-closepath
-225.504 369.938 M
-226.395 370.735 227.207 370.735 QUADTO
-228.863 370.735 228.863 368.188 QUADTO
-228.863 365.954 227.395 365.954 QUADTO
-226.426 365.954 225.504 367.001 QUADTO
-225.504 369.938 lineto
-closepath
-233.588 371.594 M
-232.791 371.594 231.666 371.235 QUADTO
-231.666 370.172 lineto
-232.791 370.735 233.635 370.735 QUADTO
-234.135 370.735 234.463 370.461 QUADTO
-234.791 370.188 234.791 369.782 QUADTO
-234.791 369.204 233.869 368.813 QUADTO
-233.197 368.516 lineto
-231.697 367.907 231.697 366.735 QUADTO
-231.697 365.907 232.291 365.43 QUADTO
-232.885 364.954 233.9 364.954 QUADTO
-234.432 364.954 235.229 365.094 QUADTO
-235.463 365.141 lineto
-235.463 366.11 lineto
-234.494 365.813 233.932 365.813 QUADTO
-232.807 365.813 232.807 366.626 QUADTO
-232.807 367.141 233.65 367.501 QUADTO
-234.213 367.735 lineto
-235.15 368.141 235.549 368.579 QUADTO
-235.947 369.016 235.947 369.688 QUADTO
-235.947 370.516 235.283 371.055 QUADTO
-234.619 371.594 233.588 371.594 QUADTO
-closepath
-241.783 371.454 M
-241.783 362.782 lineto
-242.986 362.782 lineto
-247.346 369.485 lineto
-247.346 362.782 lineto
-248.408 362.782 lineto
-248.408 371.454 lineto
-247.205 371.454 lineto
-242.83 364.751 lineto
-242.83 371.454 lineto
-241.783 371.454 lineto
-closepath
-250.82 369.501 M
-250.82 368.641 lineto
-257.758 368.641 lineto
-257.758 369.501 lineto
-250.82 369.501 lineto
-closepath
-250.82 367.329 M
-250.82 366.469 lineto
-257.758 366.469 lineto
-257.758 367.329 lineto
-250.82 367.329 lineto
-closepath
-260.875 371.454 M
-260.875 370.579 lineto
-262.609 370.579 lineto
-262.609 363.735 lineto
-260.875 364.172 lineto
-260.875 363.282 lineto
-263.766 362.563 lineto
-263.766 370.579 lineto
-265.5 370.579 lineto
-265.5 371.454 lineto
-260.875 371.454 lineto
-closepath
-270.416 371.672 M
-269.072 371.672 268.244 370.407 QUADTO
-267.416 369.141 267.416 367.11 QUADTO
-267.416 365.063 268.252 363.813 QUADTO
-269.088 362.563 270.447 362.563 QUADTO
-271.807 362.563 272.643 363.813 QUADTO
-273.479 365.063 273.479 367.094 QUADTO
-273.479 369.172 272.643 370.422 QUADTO
-271.807 371.672 270.416 371.672 QUADTO
-closepath
-270.432 370.797 M
-272.26 370.797 272.26 367.079 QUADTO
-272.26 363.438 270.447 363.438 QUADTO
-268.65 363.438 268.65 367.11 QUADTO
-268.65 370.797 270.432 370.797 QUADTO
-closepath
-278.004 371.672 M
-276.66 371.672 275.832 370.407 QUADTO
-275.004 369.141 275.004 367.11 QUADTO
-275.004 365.063 275.84 363.813 QUADTO
-276.676 362.563 278.035 362.563 QUADTO
-279.395 362.563 280.23 363.813 QUADTO
-281.066 365.063 281.066 367.094 QUADTO
-281.066 369.172 280.23 370.422 QUADTO
-279.395 371.672 278.004 371.672 QUADTO
-closepath
-278.02 370.797 M
-279.848 370.797 279.848 367.079 QUADTO
-279.848 363.438 278.035 363.438 QUADTO
-276.238 363.438 276.238 367.11 QUADTO
-276.238 370.797 278.02 370.797 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-5 387.726 M
-19 387.726 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-9 384.726 M
-15 384.726 lineto
-12 390.726 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-9 384.726 M
-15 384.726 lineto
-12 390.726 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-26.484 392.002 M
-23.219 383.33 lineto
-24.438 383.33 lineto
-27.125 390.424 lineto
-29.719 383.33 lineto
-30.797 383.33 lineto
-27.641 392.002 lineto
-26.484 392.002 lineto
-closepath
-36.658 391.799 M
-35.502 392.142 34.674 392.142 QUADTO
-33.268 392.142 32.385 391.213 QUADTO
-31.502 390.283 31.502 388.783 QUADTO
-31.502 387.345 32.283 386.416 QUADTO
-33.064 385.486 34.283 385.486 QUADTO
-35.439 385.486 36.064 386.306 QUADTO
-36.689 387.127 36.689 388.642 QUADTO
-36.689 389.002 lineto
-32.674 389.002 lineto
-32.924 391.267 34.893 391.267 QUADTO
-35.611 391.267 36.658 390.877 QUADTO
-36.658 391.799 lineto
-closepath
-32.721 388.127 M
-35.533 388.127 lineto
-35.533 386.361 34.205 386.361 QUADTO
-32.877 386.361 32.721 388.127 QUADTO
-closepath
-38.688 392.002 M
-38.688 385.642 lineto
-39.844 385.642 lineto
-39.844 386.83 lineto
-40.531 385.502 41.828 385.502 QUADTO
-42.016 385.502 42.203 385.533 QUADTO
-42.203 386.611 lineto
-41.906 386.502 41.672 386.502 QUADTO
-40.578 386.502 39.844 387.799 QUADTO
-39.844 392.002 lineto
-38.688 392.002 lineto
-closepath
-45.504 392.142 M
-44.629 392.142 44.137 391.642 QUADTO
-43.645 391.142 43.645 390.236 QUADTO
-43.645 386.502 lineto
-42.848 386.502 lineto
-42.848 385.642 lineto
-43.645 385.642 lineto
-43.645 384.486 lineto
-44.801 384.377 lineto
-44.801 385.642 lineto
-46.457 385.642 lineto
-46.457 386.502 lineto
-44.801 386.502 lineto
-44.801 390.033 lineto
-44.801 391.283 45.879 391.283 QUADTO
-46.098 391.283 46.426 391.205 QUADTO
-46.426 392.002 lineto
-45.895 392.142 45.504 392.142 QUADTO
-closepath
-52.742 391.799 M
-51.586 392.142 50.758 392.142 QUADTO
-49.352 392.142 48.469 391.213 QUADTO
-47.586 390.283 47.586 388.783 QUADTO
-47.586 387.345 48.367 386.416 QUADTO
-49.148 385.486 50.367 385.486 QUADTO
-51.523 385.486 52.148 386.306 QUADTO
-52.773 387.127 52.773 388.642 QUADTO
-52.773 389.002 lineto
-48.758 389.002 lineto
-49.008 391.267 50.977 391.267 QUADTO
-51.695 391.267 52.742 390.877 QUADTO
-52.742 391.799 lineto
-closepath
-48.805 388.127 M
-51.617 388.127 lineto
-51.617 386.361 50.289 386.361 QUADTO
-48.961 386.361 48.805 388.127 QUADTO
-closepath
-54.131 392.002 M
-56.553 388.72 lineto
-54.209 385.642 lineto
-55.568 385.642 lineto
-57.428 388.08 lineto
-59.115 385.642 lineto
-60.24 385.642 lineto
-58.037 388.861 lineto
-60.428 392.002 lineto
-59.053 392.002 lineto
-57.146 389.486 lineto
-55.287 392.002 lineto
-54.131 392.002 lineto
-closepath
-72.412 391.767 M
-70.834 392.22 69.662 392.22 QUADTO
-67.584 392.22 66.482 391.041 QUADTO
-65.381 389.861 65.381 387.658 QUADTO
-65.381 385.502 66.498 384.306 QUADTO
-67.615 383.111 69.646 383.111 QUADTO
-70.959 383.111 72.396 383.502 QUADTO
-72.396 384.642 lineto
-70.6 384.033 69.646 384.033 QUADTO
-68.24 384.033 67.467 384.986 QUADTO
-66.693 385.939 66.693 387.674 QUADTO
-66.693 389.392 67.521 390.345 QUADTO
-68.35 391.299 69.85 391.299 QUADTO
-70.475 391.299 71.178 391.08 QUADTO
-71.178 388.252 lineto
-72.412 388.252 lineto
-72.412 391.767 lineto
-closepath
-74.6 392.002 M
-74.6 385.642 lineto
-75.756 385.642 lineto
-75.756 386.83 lineto
-76.443 385.502 77.74 385.502 QUADTO
-77.928 385.502 78.115 385.533 QUADTO
-78.115 386.611 lineto
-77.818 386.502 77.584 386.502 QUADTO
-76.49 386.502 75.756 387.799 QUADTO
-75.756 392.002 lineto
-74.6 392.002 lineto
-closepath
-81.994 392.142 M
-80.635 392.142 79.822 391.236 QUADTO
-79.01 390.33 79.01 388.814 QUADTO
-79.01 387.283 79.822 386.392 QUADTO
-80.635 385.502 82.041 385.502 QUADTO
-83.447 385.502 84.26 386.392 QUADTO
-85.072 387.283 85.072 388.814 QUADTO
-85.072 390.361 84.252 391.252 QUADTO
-83.432 392.142 81.994 392.142 QUADTO
-closepath
-82.01 391.283 M
-83.854 391.283 83.854 388.814 QUADTO
-83.854 386.361 82.041 386.361 QUADTO
-80.229 386.361 80.229 388.814 QUADTO
-80.229 391.283 82.01 391.283 QUADTO
-closepath
-90.865 392.002 M
-90.865 390.799 lineto
-89.943 392.142 88.631 392.142 QUADTO
-87.787 392.142 87.295 391.619 QUADTO
-86.803 391.095 86.803 390.205 QUADTO
-86.803 385.642 lineto
-87.959 385.642 lineto
-87.959 389.83 lineto
-87.959 390.549 88.17 390.853 QUADTO
-88.381 391.158 88.865 391.158 QUADTO
-89.928 391.158 90.865 389.767 QUADTO
-90.865 385.642 lineto
-92.006 385.642 lineto
-92.006 392.002 lineto
-90.865 392.002 lineto
-closepath
-94.328 394.314 M
-94.328 385.642 lineto
-95.484 385.642 lineto
-95.484 386.83 lineto
-96.188 385.502 97.609 385.502 QUADTO
-98.75 385.502 99.414 386.338 QUADTO
-100.078 387.174 100.078 388.627 QUADTO
-100.078 390.205 99.328 391.174 QUADTO
-98.578 392.142 97.359 392.142 QUADTO
-96.234 392.142 95.484 391.283 QUADTO
-95.484 394.314 lineto
-94.328 394.314 lineto
-closepath
-95.484 390.486 M
-96.375 391.283 97.188 391.283 QUADTO
-98.844 391.283 98.844 388.736 QUADTO
-98.844 386.502 97.375 386.502 QUADTO
-96.406 386.502 95.484 387.549 QUADTO
-95.484 390.486 lineto
-closepath
-103.568 392.142 M
-102.771 392.142 101.646 391.783 QUADTO
-101.646 390.72 lineto
-102.771 391.283 103.615 391.283 QUADTO
-104.115 391.283 104.443 391.009 QUADTO
-104.771 390.736 104.771 390.33 QUADTO
-104.771 389.752 103.85 389.361 QUADTO
-103.178 389.064 lineto
-101.678 388.455 101.678 387.283 QUADTO
-101.678 386.455 102.271 385.978 QUADTO
-102.865 385.502 103.881 385.502 QUADTO
-104.412 385.502 105.209 385.642 QUADTO
-105.443 385.689 lineto
-105.443 386.658 lineto
-104.475 386.361 103.912 386.361 QUADTO
-102.787 386.361 102.787 387.174 QUADTO
-102.787 387.689 103.631 388.049 QUADTO
-104.193 388.283 lineto
-105.131 388.689 105.529 389.127 QUADTO
-105.928 389.564 105.928 390.236 QUADTO
-105.928 391.064 105.264 391.603 QUADTO
-104.6 392.142 103.568 392.142 QUADTO
-closepath
-111.764 392.002 M
-111.764 383.33 lineto
-112.967 383.33 lineto
-117.326 390.033 lineto
-117.326 383.33 lineto
-118.389 383.33 lineto
-118.389 392.002 lineto
-117.186 392.002 lineto
-112.811 385.299 lineto
-112.811 392.002 lineto
-111.764 392.002 lineto
-closepath
-120.801 390.049 M
-120.801 389.189 lineto
-127.738 389.189 lineto
-127.738 390.049 lineto
-120.801 390.049 lineto
-closepath
-120.801 387.877 M
-120.801 387.017 lineto
-127.738 387.017 lineto
-127.738 387.877 lineto
-120.801 387.877 lineto
-closepath
-130.855 392.002 M
-130.855 391.127 lineto
-132.59 391.127 lineto
-132.59 384.283 lineto
-130.855 384.72 lineto
-130.855 383.83 lineto
-133.746 383.111 lineto
-133.746 391.127 lineto
-135.48 391.127 lineto
-135.48 392.002 lineto
-130.855 392.002 lineto
-closepath
-140.396 392.22 M
-139.053 392.22 138.225 390.955 QUADTO
-137.396 389.689 137.396 387.658 QUADTO
-137.396 385.611 138.232 384.361 QUADTO
-139.068 383.111 140.428 383.111 QUADTO
-141.787 383.111 142.623 384.361 QUADTO
-143.459 385.611 143.459 387.642 QUADTO
-143.459 389.72 142.623 390.97 QUADTO
-141.787 392.22 140.396 392.22 QUADTO
-closepath
-140.412 391.345 M
-142.24 391.345 142.24 387.627 QUADTO
-142.24 383.986 140.428 383.986 QUADTO
-138.631 383.986 138.631 387.658 QUADTO
-138.631 391.345 140.412 391.345 QUADTO
-closepath
-147.984 392.22 M
-146.641 392.22 145.812 390.955 QUADTO
-144.984 389.689 144.984 387.658 QUADTO
-144.984 385.611 145.82 384.361 QUADTO
-146.656 383.111 148.016 383.111 QUADTO
-149.375 383.111 150.211 384.361 QUADTO
-151.047 385.611 151.047 387.642 QUADTO
-151.047 389.72 150.211 390.97 QUADTO
-149.375 392.22 147.984 392.22 QUADTO
-closepath
-148 391.345 M
-149.828 391.345 149.828 387.627 QUADTO
-149.828 383.986 148.016 383.986 QUADTO
-146.219 383.986 146.219 387.658 QUADTO
-146.219 391.345 148 391.345 QUADTO
-closepath
-155.572 392.22 M
-154.229 392.22 153.4 390.955 QUADTO
-152.572 389.689 152.572 387.658 QUADTO
-152.572 385.611 153.408 384.361 QUADTO
-154.244 383.111 155.604 383.111 QUADTO
-156.963 383.111 157.799 384.361 QUADTO
-158.635 385.611 158.635 387.642 QUADTO
-158.635 389.72 157.799 390.97 QUADTO
-156.963 392.22 155.572 392.22 QUADTO
-closepath
-155.588 391.345 M
-157.416 391.345 157.416 387.627 QUADTO
-157.416 383.986 155.604 383.986 QUADTO
-153.807 383.986 153.807 387.658 QUADTO
-153.807 391.345 155.588 391.345 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-69.533 34.247 M
-388 34.247 lineto
-388 284.835 lineto
-69.533 284.835 lineto
-69.533 34.247 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.533 288.835 M
-388 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-69.505 304.604 M
-68.161 304.604 67.333 303.338 QUADTO
-66.505 302.072 66.505 300.041 QUADTO
-66.505 297.994 67.341 296.744 QUADTO
-68.177 295.494 69.536 295.494 QUADTO
-70.896 295.494 71.731 296.744 QUADTO
-72.567 297.994 72.567 300.026 QUADTO
-72.567 302.104 71.731 303.354 QUADTO
-70.896 304.604 69.505 304.604 QUADTO
-closepath
-69.521 303.729 M
-71.349 303.729 71.349 300.01 QUADTO
-71.349 296.369 69.536 296.369 QUADTO
-67.739 296.369 67.739 300.041 QUADTO
-67.739 303.729 69.521 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.533 290.835 M
-69.533 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-97.523 304.416 M
-97.523 303.385 lineto
-98.398 303.729 99.163 303.729 QUADTO
-100.023 303.729 100.515 303.229 QUADTO
-101.007 302.729 101.007 301.838 QUADTO
-101.007 299.885 98.319 299.885 QUADTO
-98.007 299.885 97.679 299.932 QUADTO
-97.679 295.713 lineto
-102.069 295.713 lineto
-102.069 296.713 lineto
-98.694 296.713 lineto
-98.694 299.01 lineto
-100.366 299.01 101.304 299.776 QUADTO
-102.241 300.541 102.241 301.901 QUADTO
-102.241 303.166 101.382 303.885 QUADTO
-100.523 304.604 99.023 304.604 QUADTO
-98.366 304.604 97.523 304.416 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-99.863 290.835 M
-99.863 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-124.418 304.385 M
-124.418 303.51 lineto
-126.153 303.51 lineto
-126.153 296.666 lineto
-124.418 297.104 lineto
-124.418 296.213 lineto
-127.309 295.494 lineto
-127.309 303.51 lineto
-129.043 303.51 lineto
-129.043 304.385 lineto
-124.418 304.385 lineto
-closepath
-133.959 304.604 M
-132.615 304.604 131.787 303.338 QUADTO
-130.959 302.072 130.959 300.041 QUADTO
-130.959 297.994 131.795 296.744 QUADTO
-132.631 295.494 133.99 295.494 QUADTO
-135.35 295.494 136.186 296.744 QUADTO
-137.022 297.994 137.022 300.026 QUADTO
-137.022 302.104 136.186 303.354 QUADTO
-135.35 304.604 133.959 304.604 QUADTO
-closepath
-133.975 303.729 M
-135.803 303.729 135.803 300.01 QUADTO
-135.803 296.369 133.99 296.369 QUADTO
-132.194 296.369 132.194 300.041 QUADTO
-132.194 303.729 133.975 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.194 290.835 M
-130.194 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-154.748 304.385 M
-154.748 303.51 lineto
-156.483 303.51 lineto
-156.483 296.666 lineto
-154.748 297.104 lineto
-154.748 296.213 lineto
-157.639 295.494 lineto
-157.639 303.51 lineto
-159.373 303.51 lineto
-159.373 304.385 lineto
-154.748 304.385 lineto
-closepath
-161.977 304.416 M
-161.977 303.385 lineto
-162.852 303.729 163.617 303.729 QUADTO
-164.477 303.729 164.969 303.229 QUADTO
-165.461 302.729 165.461 301.838 QUADTO
-165.461 299.885 162.774 299.885 QUADTO
-162.461 299.885 162.133 299.932 QUADTO
-162.133 295.713 lineto
-166.524 295.713 lineto
-166.524 296.713 lineto
-163.149 296.713 lineto
-163.149 299.01 lineto
-164.821 299.01 165.758 299.776 QUADTO
-166.696 300.541 166.696 301.901 QUADTO
-166.696 303.166 165.836 303.885 QUADTO
-164.977 304.604 163.477 304.604 QUADTO
-162.821 304.604 161.977 304.416 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-160.524 290.835 M
-160.524 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-184.266 304.385 M
-184.266 303.369 lineto
-184.766 302.197 186.297 300.807 QUADTO
-186.969 300.213 lineto
-188.235 299.057 188.235 297.916 QUADTO
-188.235 297.197 187.805 296.783 QUADTO
-187.375 296.369 186.61 296.369 QUADTO
-185.704 296.369 184.485 297.057 QUADTO
-184.485 296.041 lineto
-185.641 295.494 186.766 295.494 QUADTO
-187.985 295.494 188.727 296.151 QUADTO
-189.469 296.807 189.469 297.885 QUADTO
-189.469 298.666 189.094 299.276 QUADTO
-188.719 299.885 187.704 300.744 QUADTO
-187.266 301.119 lineto
-185.875 302.291 185.657 303.369 QUADTO
-189.422 303.369 lineto
-189.422 304.385 lineto
-184.266 304.385 lineto
-closepath
-194.62 304.604 M
-193.276 304.604 192.448 303.338 QUADTO
-191.62 302.072 191.62 300.041 QUADTO
-191.62 297.994 192.455 296.744 QUADTO
-193.291 295.494 194.651 295.494 QUADTO
-196.01 295.494 196.846 296.744 QUADTO
-197.682 297.994 197.682 300.026 QUADTO
-197.682 302.104 196.846 303.354 QUADTO
-196.01 304.604 194.62 304.604 QUADTO
-closepath
-194.635 303.729 M
-196.463 303.729 196.463 300.01 QUADTO
-196.463 296.369 194.651 296.369 QUADTO
-192.854 296.369 192.854 300.041 QUADTO
-192.854 303.729 194.635 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-190.854 290.835 M
-190.854 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-214.596 304.385 M
-214.596 303.369 lineto
-215.096 302.197 216.627 300.807 QUADTO
-217.299 300.213 lineto
-218.565 299.057 218.565 297.916 QUADTO
-218.565 297.197 218.135 296.783 QUADTO
-217.706 296.369 216.94 296.369 QUADTO
-216.034 296.369 214.815 297.057 QUADTO
-214.815 296.041 lineto
-215.971 295.494 217.096 295.494 QUADTO
-218.315 295.494 219.057 296.151 QUADTO
-219.799 296.807 219.799 297.885 QUADTO
-219.799 298.666 219.424 299.276 QUADTO
-219.049 299.885 218.034 300.744 QUADTO
-217.596 301.119 lineto
-216.206 302.291 215.987 303.369 QUADTO
-219.752 303.369 lineto
-219.752 304.385 lineto
-214.596 304.385 lineto
-closepath
-222.637 304.416 M
-222.637 303.385 lineto
-223.512 303.729 224.278 303.729 QUADTO
-225.137 303.729 225.629 303.229 QUADTO
-226.122 302.729 226.122 301.838 QUADTO
-226.122 299.885 223.434 299.885 QUADTO
-223.122 299.885 222.793 299.932 QUADTO
-222.793 295.713 lineto
-227.184 295.713 lineto
-227.184 296.713 lineto
-223.809 296.713 lineto
-223.809 299.01 lineto
-225.481 299.01 226.418 299.776 QUADTO
-227.356 300.541 227.356 301.901 QUADTO
-227.356 303.166 226.497 303.885 QUADTO
-225.637 304.604 224.137 304.604 QUADTO
-223.481 304.604 222.637 304.416 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.184 290.835 M
-221.184 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-245.145 304.322 M
-245.145 303.244 lineto
-246.395 303.729 247.098 303.729 QUADTO
-247.926 303.729 248.45 303.244 QUADTO
-248.973 302.76 248.973 301.994 QUADTO
-248.973 300.166 246.411 300.166 QUADTO
-245.942 300.166 lineto
-245.942 299.385 lineto
-246.348 299.385 lineto
-248.754 299.385 248.754 297.697 QUADTO
-248.754 296.369 247.176 296.369 QUADTO
-246.301 296.369 245.27 296.854 QUADTO
-245.27 295.838 lineto
-246.286 295.494 247.254 295.494 QUADTO
-249.911 295.494 249.911 297.51 QUADTO
-249.911 299.041 248.098 299.682 QUADTO
-250.208 300.166 250.208 301.979 QUADTO
-250.208 303.213 249.395 303.908 QUADTO
-248.583 304.604 247.176 304.604 QUADTO
-246.364 304.604 245.145 304.322 QUADTO
-closepath
-255.28 304.604 M
-253.936 304.604 253.108 303.338 QUADTO
-252.28 302.072 252.28 300.041 QUADTO
-252.28 297.994 253.116 296.744 QUADTO
-253.952 295.494 255.311 295.494 QUADTO
-256.67 295.494 257.506 296.744 QUADTO
-258.342 297.994 258.342 300.026 QUADTO
-258.342 302.104 257.506 303.354 QUADTO
-256.67 304.604 255.28 304.604 QUADTO
-closepath
-255.295 303.729 M
-257.124 303.729 257.124 300.01 QUADTO
-257.124 296.369 255.311 296.369 QUADTO
-253.514 296.369 253.514 300.041 QUADTO
-253.514 303.729 255.295 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-251.514 290.835 M
-251.514 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-275.475 304.322 M
-275.475 303.244 lineto
-276.725 303.729 277.428 303.729 QUADTO
-278.257 303.729 278.78 303.244 QUADTO
-279.303 302.76 279.303 301.994 QUADTO
-279.303 300.166 276.741 300.166 QUADTO
-276.272 300.166 lineto
-276.272 299.385 lineto
-276.678 299.385 lineto
-279.085 299.385 279.085 297.697 QUADTO
-279.085 296.369 277.507 296.369 QUADTO
-276.632 296.369 275.6 296.854 QUADTO
-275.6 295.838 lineto
-276.616 295.494 277.585 295.494 QUADTO
-280.241 295.494 280.241 297.51 QUADTO
-280.241 299.041 278.428 299.682 QUADTO
-280.538 300.166 280.538 301.979 QUADTO
-280.538 303.213 279.725 303.908 QUADTO
-278.913 304.604 277.507 304.604 QUADTO
-276.694 304.604 275.475 304.322 QUADTO
-closepath
-283.298 304.416 M
-283.298 303.385 lineto
-284.173 303.729 284.938 303.729 QUADTO
-285.798 303.729 286.29 303.229 QUADTO
-286.782 302.729 286.782 301.838 QUADTO
-286.782 299.885 284.094 299.885 QUADTO
-283.782 299.885 283.454 299.932 QUADTO
-283.454 295.713 lineto
-287.844 295.713 lineto
-287.844 296.713 lineto
-284.469 296.713 lineto
-284.469 299.01 lineto
-286.141 299.01 287.079 299.776 QUADTO
-288.016 300.541 288.016 301.901 QUADTO
-288.016 303.166 287.157 303.885 QUADTO
-286.298 304.604 284.798 304.604 QUADTO
-284.141 304.604 283.298 304.416 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-281.844 290.835 M
-281.844 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-309.102 304.385 M
-309.102 301.932 lineto
-305.196 301.932 lineto
-305.196 301.057 lineto
-309.102 295.713 lineto
-310.196 295.713 lineto
-310.196 300.979 lineto
-311.352 300.979 lineto
-311.352 301.932 lineto
-310.196 301.932 lineto
-310.196 304.385 lineto
-309.102 304.385 lineto
-closepath
-306.337 300.979 M
-309.18 300.979 lineto
-309.18 297.135 lineto
-306.337 300.979 lineto
-closepath
-315.94 304.604 M
-314.596 304.604 313.768 303.338 QUADTO
-312.94 302.072 312.94 300.041 QUADTO
-312.94 297.994 313.776 296.744 QUADTO
-314.612 295.494 315.971 295.494 QUADTO
-317.331 295.494 318.167 296.744 QUADTO
-319.003 297.994 319.003 300.026 QUADTO
-319.003 302.104 318.167 303.354 QUADTO
-317.331 304.604 315.94 304.604 QUADTO
-closepath
-315.956 303.729 M
-317.784 303.729 317.784 300.01 QUADTO
-317.784 296.369 315.971 296.369 QUADTO
-314.175 296.369 314.175 300.041 QUADTO
-314.175 303.729 315.956 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-312.175 290.835 M
-312.175 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-339.432 304.385 M
-339.432 301.932 lineto
-335.526 301.932 lineto
-335.526 301.057 lineto
-339.432 295.713 lineto
-340.526 295.713 lineto
-340.526 300.979 lineto
-341.682 300.979 lineto
-341.682 301.932 lineto
-340.526 301.932 lineto
-340.526 304.385 lineto
-339.432 304.385 lineto
-closepath
-336.667 300.979 M
-339.511 300.979 lineto
-339.511 297.135 lineto
-336.667 300.979 lineto
-closepath
-343.958 304.416 M
-343.958 303.385 lineto
-344.833 303.729 345.599 303.729 QUADTO
-346.458 303.729 346.95 303.229 QUADTO
-347.442 302.729 347.442 301.838 QUADTO
-347.442 299.885 344.755 299.885 QUADTO
-344.442 299.885 344.114 299.932 QUADTO
-344.114 295.713 lineto
-348.505 295.713 lineto
-348.505 296.713 lineto
-345.13 296.713 lineto
-345.13 299.01 lineto
-346.802 299.01 347.739 299.776 QUADTO
-348.677 300.541 348.677 301.901 QUADTO
-348.677 303.166 347.817 303.885 QUADTO
-346.958 304.604 345.458 304.604 QUADTO
-344.802 304.604 343.958 304.416 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-342.505 290.835 M
-342.505 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-366.7 304.416 M
-366.7 303.385 lineto
-367.575 303.729 368.341 303.729 QUADTO
-369.2 303.729 369.692 303.229 QUADTO
-370.185 302.729 370.185 301.838 QUADTO
-370.185 299.885 367.497 299.885 QUADTO
-367.185 299.885 366.856 299.932 QUADTO
-366.856 295.713 lineto
-371.247 295.713 lineto
-371.247 296.713 lineto
-367.872 296.713 lineto
-367.872 299.01 lineto
-369.544 299.01 370.481 299.776 QUADTO
-371.419 300.541 371.419 301.901 QUADTO
-371.419 303.166 370.56 303.885 QUADTO
-369.7 304.604 368.2 304.604 QUADTO
-367.544 304.604 366.7 304.416 QUADTO
-closepath
-376.601 304.604 M
-375.257 304.604 374.429 303.338 QUADTO
-373.601 302.072 373.601 300.041 QUADTO
-373.601 297.994 374.436 296.744 QUADTO
-375.272 295.494 376.632 295.494 QUADTO
-377.991 295.494 378.827 296.744 QUADTO
-379.663 297.994 379.663 300.026 QUADTO
-379.663 302.104 378.827 303.354 QUADTO
-377.991 304.604 376.601 304.604 QUADTO
-closepath
-376.616 303.729 M
-378.444 303.729 378.444 300.01 QUADTO
-378.444 296.369 376.632 296.369 QUADTO
-374.835 296.369 374.835 300.041 QUADTO
-374.835 303.729 376.616 303.729 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-372.835 290.835 M
-372.835 288.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-175.293 323.858 M
-175.293 316.358 lineto
-177.309 316.358 lineto
-177.309 317.764 lineto
-178.309 316.186 179.872 316.186 QUADTO
-180.872 316.186 181.458 316.819 QUADTO
-182.043 317.452 182.043 318.545 QUADTO
-182.043 323.858 lineto
-180.012 323.858 lineto
-180.012 319.045 lineto
-180.012 317.78 179.168 317.78 QUADTO
-178.2 317.78 177.309 319.139 QUADTO
-177.309 323.858 lineto
-175.293 323.858 lineto
-closepath
-187.644 324.03 M
-185.878 324.03 184.847 322.967 QUADTO
-183.816 321.905 183.816 320.108 QUADTO
-183.816 318.28 184.855 317.233 QUADTO
-185.894 316.186 187.691 316.186 QUADTO
-189.488 316.186 190.527 317.233 QUADTO
-191.566 318.28 191.566 320.092 QUADTO
-191.566 321.936 190.519 322.983 QUADTO
-189.472 324.03 187.644 324.03 QUADTO
-closepath
-187.675 322.764 M
-189.41 322.764 189.41 320.092 QUADTO
-189.41 318.874 188.949 318.163 QUADTO
-188.488 317.452 187.691 317.452 QUADTO
-186.894 317.452 186.425 318.163 QUADTO
-185.957 318.874 185.957 320.108 QUADTO
-185.957 321.327 186.417 322.045 QUADTO
-186.878 322.764 187.675 322.764 QUADTO
-closepath
-198.148 323.858 M
-198.148 322.436 lineto
-197.367 324.03 195.695 324.03 QUADTO
-194.351 324.03 193.578 323.038 QUADTO
-192.804 322.045 192.804 320.311 QUADTO
-192.804 318.42 193.671 317.303 QUADTO
-194.539 316.186 196.007 316.186 QUADTO
-197.195 316.186 198.148 317.108 QUADTO
-198.148 313.061 lineto
-200.179 313.061 lineto
-200.179 323.858 lineto
-198.148 323.858 lineto
-closepath
-198.148 318.311 M
-197.414 317.499 196.585 317.499 QUADTO
-195.835 317.499 195.398 318.217 QUADTO
-194.96 318.936 194.96 320.139 QUADTO
-194.96 322.436 196.429 322.436 QUADTO
-197.335 322.436 198.148 321.28 QUADTO
-198.148 318.311 lineto
-closepath
-208.815 323.608 M
-207.377 324.03 206.081 324.03 QUADTO
-204.206 324.03 203.12 322.959 QUADTO
-202.034 321.889 202.034 320.045 QUADTO
-202.034 318.311 203.026 317.249 QUADTO
-204.018 316.186 205.659 316.186 QUADTO
-207.299 316.186 208.057 317.225 QUADTO
-208.815 318.264 208.815 320.514 QUADTO
-204.159 320.514 lineto
-204.362 322.655 206.518 322.655 QUADTO
-207.534 322.655 208.815 322.186 QUADTO
-208.815 323.608 lineto
-closepath
-204.127 319.374 M
-206.831 319.374 lineto
-206.831 317.452 205.596 317.452 QUADTO
-204.331 317.452 204.127 319.374 QUADTO
-closepath
-210.706 323.624 M
-210.706 322.139 lineto
-212.221 322.764 213.284 322.764 QUADTO
-214.518 322.764 214.518 321.92 QUADTO
-214.518 321.374 213.502 320.952 QUADTO
-212.815 320.686 lineto
-211.706 320.233 211.221 319.717 QUADTO
-210.737 319.202 210.737 318.436 QUADTO
-210.737 317.358 211.557 316.772 QUADTO
-212.377 316.186 213.831 316.186 QUADTO
-214.752 316.186 216.018 316.452 QUADTO
-216.018 317.874 lineto
-214.799 317.452 214.002 317.452 QUADTO
-212.737 317.452 212.737 318.217 QUADTO
-212.737 318.733 213.674 319.092 QUADTO
-214.252 319.311 lineto
-215.581 319.811 216.096 320.327 QUADTO
-216.612 320.842 216.612 321.655 QUADTO
-216.612 322.702 215.729 323.366 QUADTO
-214.846 324.03 213.44 324.03 QUADTO
-212.096 324.03 210.706 323.624 QUADTO
-closepath
-223.439 323.858 M
-223.439 316.358 lineto
-225.455 316.358 lineto
-225.455 323.858 lineto
-223.439 323.858 lineto
-closepath
-223.439 315.092 M
-223.439 313.405 lineto
-225.455 313.405 lineto
-225.455 315.092 lineto
-223.439 315.092 lineto
-closepath
-227.992 323.858 M
-227.992 316.358 lineto
-230.007 316.358 lineto
-230.007 317.764 lineto
-231.007 316.186 232.57 316.186 QUADTO
-233.57 316.186 234.156 316.819 QUADTO
-234.742 317.452 234.742 318.545 QUADTO
-234.742 323.858 lineto
-232.71 323.858 lineto
-232.71 319.045 lineto
-232.71 317.78 231.867 317.78 QUADTO
-230.898 317.78 230.007 319.139 QUADTO
-230.007 323.858 lineto
-227.992 323.858 lineto
-closepath
-239.045 323.858 M
-236.17 316.358 lineto
-238.311 316.358 lineto
-240.405 321.764 lineto
-242.483 316.358 lineto
-243.952 316.358 lineto
-241.061 323.858 lineto
-239.045 323.858 lineto
-closepath
-248.648 324.03 M
-246.882 324.03 245.851 322.967 QUADTO
-244.82 321.905 244.82 320.108 QUADTO
-244.82 318.28 245.859 317.233 QUADTO
-246.898 316.186 248.695 316.186 QUADTO
-250.492 316.186 251.531 317.233 QUADTO
-252.57 318.28 252.57 320.092 QUADTO
-252.57 321.936 251.523 322.983 QUADTO
-250.476 324.03 248.648 324.03 QUADTO
-closepath
-248.679 322.764 M
-250.414 322.764 250.414 320.092 QUADTO
-250.414 318.874 249.953 318.163 QUADTO
-249.492 317.452 248.695 317.452 QUADTO
-247.898 317.452 247.429 318.163 QUADTO
-246.96 318.874 246.96 320.108 QUADTO
-246.96 321.327 247.421 322.045 QUADTO
-247.882 322.764 248.679 322.764 QUADTO
-closepath
-254.433 323.858 M
-254.433 313.061 lineto
-256.449 313.061 lineto
-256.449 323.858 lineto
-254.433 323.858 lineto
-closepath
-260.845 323.858 M
-257.97 316.358 lineto
-260.111 316.358 lineto
-262.205 321.764 lineto
-264.283 316.358 lineto
-265.751 316.358 lineto
-262.861 323.858 lineto
-260.845 323.858 lineto
-closepath
-273.401 323.608 M
-271.963 324.03 270.667 324.03 QUADTO
-268.792 324.03 267.706 322.959 QUADTO
-266.62 321.889 266.62 320.045 QUADTO
-266.62 318.311 267.612 317.249 QUADTO
-268.604 316.186 270.245 316.186 QUADTO
-271.885 316.186 272.643 317.225 QUADTO
-273.401 318.264 273.401 320.514 QUADTO
-268.745 320.514 lineto
-268.948 322.655 271.104 322.655 QUADTO
-272.12 322.655 273.401 322.186 QUADTO
-273.401 323.608 lineto
-closepath
-268.713 319.374 M
-271.417 319.374 lineto
-271.417 317.452 270.182 317.452 QUADTO
-268.917 317.452 268.713 319.374 QUADTO
-closepath
-280.213 323.858 M
-280.213 322.436 lineto
-279.432 324.03 277.76 324.03 QUADTO
-276.417 324.03 275.643 323.038 QUADTO
-274.87 322.045 274.87 320.311 QUADTO
-274.87 318.42 275.737 317.303 QUADTO
-276.604 316.186 278.073 316.186 QUADTO
-279.26 316.186 280.213 317.108 QUADTO
-280.213 313.061 lineto
-282.245 313.061 lineto
-282.245 323.858 lineto
-280.213 323.858 lineto
-closepath
-280.213 318.311 M
-279.479 317.499 278.651 317.499 QUADTO
-277.901 317.499 277.463 318.217 QUADTO
-277.026 318.936 277.026 320.139 QUADTO
-277.026 322.436 278.495 322.436 QUADTO
-279.401 322.436 280.213 321.28 QUADTO
-280.213 318.311 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-65.533 34.247 M
-65.533 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-55.711 289.33 M
-54.367 289.33 53.539 288.064 QUADTO
-52.711 286.798 52.711 284.767 QUADTO
-52.711 282.72 53.547 281.47 QUADTO
-54.383 280.22 55.742 280.22 QUADTO
-57.102 280.22 57.938 281.47 QUADTO
-58.773 282.72 58.773 284.752 QUADTO
-58.773 286.83 57.938 288.08 QUADTO
-57.102 289.33 55.711 289.33 QUADTO
-closepath
-55.727 288.455 M
-57.555 288.455 57.555 284.736 QUADTO
-57.555 281.095 55.742 281.095 QUADTO
-53.945 281.095 53.945 284.767 QUADTO
-53.945 288.455 55.727 288.455 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 284.835 M
-65.533 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-53.398 253.41 M
-53.398 252.379 lineto
-54.273 252.723 55.039 252.723 QUADTO
-55.898 252.723 56.391 252.223 QUADTO
-56.883 251.723 56.883 250.832 QUADTO
-56.883 248.879 54.195 248.879 QUADTO
-53.883 248.879 53.555 248.926 QUADTO
-53.555 244.707 lineto
-57.945 244.707 lineto
-57.945 245.707 lineto
-54.57 245.707 lineto
-54.57 248.004 lineto
-56.242 248.004 57.18 248.77 QUADTO
-58.117 249.535 58.117 250.895 QUADTO
-58.117 252.16 57.258 252.879 QUADTO
-56.398 253.598 54.898 253.598 QUADTO
-54.242 253.598 53.398 253.41 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 249.104 M
-65.533 249.104 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-46.17 217.647 M
-46.17 216.772 lineto
-47.904 216.772 lineto
-47.904 209.929 lineto
-46.17 210.366 lineto
-46.17 209.475 lineto
-49.061 208.757 lineto
-49.061 216.772 lineto
-50.795 216.772 lineto
-50.795 217.647 lineto
-46.17 217.647 lineto
-closepath
-55.711 217.866 M
-54.367 217.866 53.539 216.6 QUADTO
-52.711 215.335 52.711 213.304 QUADTO
-52.711 211.257 53.547 210.007 QUADTO
-54.383 208.757 55.742 208.757 QUADTO
-57.102 208.757 57.938 210.007 QUADTO
-58.773 211.257 58.773 213.288 QUADTO
-58.773 215.366 57.938 216.616 QUADTO
-57.102 217.866 55.711 217.866 QUADTO
-closepath
-55.727 216.991 M
-57.555 216.991 57.555 213.272 QUADTO
-57.555 209.632 55.742 209.632 QUADTO
-53.945 209.632 53.945 213.304 QUADTO
-53.945 216.991 55.727 216.991 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 213.372 M
-65.533 213.372 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-46.17 181.916 M
-46.17 181.041 lineto
-47.904 181.041 lineto
-47.904 174.197 lineto
-46.17 174.634 lineto
-46.17 173.744 lineto
-49.061 173.025 lineto
-49.061 181.041 lineto
-50.795 181.041 lineto
-50.795 181.916 lineto
-46.17 181.916 lineto
-closepath
-53.398 181.947 M
-53.398 180.916 lineto
-54.273 181.259 55.039 181.259 QUADTO
-55.898 181.259 56.391 180.759 QUADTO
-56.883 180.259 56.883 179.369 QUADTO
-56.883 177.416 54.195 177.416 QUADTO
-53.883 177.416 53.555 177.462 QUADTO
-53.555 173.244 lineto
-57.945 173.244 lineto
-57.945 174.244 lineto
-54.57 174.244 lineto
-54.57 176.541 lineto
-56.242 176.541 57.18 177.306 QUADTO
-58.117 178.072 58.117 179.431 QUADTO
-58.117 180.697 57.258 181.416 QUADTO
-56.398 182.134 54.898 182.134 QUADTO
-54.242 182.134 53.398 181.947 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 177.64 M
-65.533 177.64 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.357 146.184 M
-45.357 145.168 lineto
-45.857 143.996 47.389 142.606 QUADTO
-48.061 142.012 lineto
-49.326 140.856 49.326 139.715 QUADTO
-49.326 138.996 48.896 138.582 QUADTO
-48.467 138.168 47.701 138.168 QUADTO
-46.795 138.168 45.576 138.856 QUADTO
-45.576 137.84 lineto
-46.732 137.293 47.857 137.293 QUADTO
-49.076 137.293 49.818 137.949 QUADTO
-50.561 138.606 50.561 139.684 QUADTO
-50.561 140.465 50.186 141.074 QUADTO
-49.811 141.684 48.795 142.543 QUADTO
-48.357 142.918 lineto
-46.967 144.09 46.748 145.168 QUADTO
-50.514 145.168 lineto
-50.514 146.184 lineto
-45.357 146.184 lineto
-closepath
-55.711 146.402 M
-54.367 146.402 53.539 145.137 QUADTO
-52.711 143.871 52.711 141.84 QUADTO
-52.711 139.793 53.547 138.543 QUADTO
-54.383 137.293 55.742 137.293 QUADTO
-57.102 137.293 57.938 138.543 QUADTO
-58.773 139.793 58.773 141.824 QUADTO
-58.773 143.902 57.938 145.152 QUADTO
-57.102 146.402 55.711 146.402 QUADTO
-closepath
-55.727 145.527 M
-57.555 145.527 57.555 141.809 QUADTO
-57.555 138.168 55.742 138.168 QUADTO
-53.945 138.168 53.945 141.84 QUADTO
-53.945 145.527 55.727 145.527 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 141.908 M
-65.533 141.908 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.357 110.452 M
-45.357 109.436 lineto
-45.857 108.264 47.389 106.874 QUADTO
-48.061 106.28 lineto
-49.326 105.124 49.326 103.983 QUADTO
-49.326 103.264 48.896 102.85 QUADTO
-48.467 102.436 47.701 102.436 QUADTO
-46.795 102.436 45.576 103.124 QUADTO
-45.576 102.108 lineto
-46.732 101.561 47.857 101.561 QUADTO
-49.076 101.561 49.818 102.218 QUADTO
-50.561 102.874 50.561 103.952 QUADTO
-50.561 104.733 50.186 105.343 QUADTO
-49.811 105.952 48.795 106.811 QUADTO
-48.357 107.186 lineto
-46.967 108.358 46.748 109.436 QUADTO
-50.514 109.436 lineto
-50.514 110.452 lineto
-45.357 110.452 lineto
-closepath
-53.398 110.483 M
-53.398 109.452 lineto
-54.273 109.796 55.039 109.796 QUADTO
-55.898 109.796 56.391 109.296 QUADTO
-56.883 108.796 56.883 107.905 QUADTO
-56.883 105.952 54.195 105.952 QUADTO
-53.883 105.952 53.555 105.999 QUADTO
-53.555 101.78 lineto
-57.945 101.78 lineto
-57.945 102.78 lineto
-54.57 102.78 lineto
-54.57 105.077 lineto
-56.242 105.077 57.18 105.843 QUADTO
-58.117 106.608 58.117 107.968 QUADTO
-58.117 109.233 57.258 109.952 QUADTO
-56.398 110.671 54.898 110.671 QUADTO
-54.242 110.671 53.398 110.483 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 106.176 M
-65.533 106.176 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.576 74.658 M
-45.576 73.579 lineto
-46.826 74.064 47.529 74.064 QUADTO
-48.357 74.064 48.881 73.579 QUADTO
-49.404 73.095 49.404 72.329 QUADTO
-49.404 70.501 46.842 70.501 QUADTO
-46.373 70.501 lineto
-46.373 69.72 lineto
-46.779 69.72 lineto
-49.186 69.72 49.186 68.033 QUADTO
-49.186 66.704 47.607 66.704 QUADTO
-46.732 66.704 45.701 67.189 QUADTO
-45.701 66.173 lineto
-46.717 65.829 47.686 65.829 QUADTO
-50.342 65.829 50.342 67.845 QUADTO
-50.342 69.376 48.529 70.017 QUADTO
-50.639 70.501 50.639 72.314 QUADTO
-50.639 73.548 49.826 74.244 QUADTO
-49.014 74.939 47.607 74.939 QUADTO
-46.795 74.939 45.576 74.658 QUADTO
-closepath
-55.711 74.939 M
-54.367 74.939 53.539 73.673 QUADTO
-52.711 72.408 52.711 70.376 QUADTO
-52.711 68.329 53.547 67.079 QUADTO
-54.383 65.829 55.742 65.829 QUADTO
-57.102 65.829 57.938 67.079 QUADTO
-58.773 68.329 58.773 70.361 QUADTO
-58.773 72.439 57.938 73.689 QUADTO
-57.102 74.939 55.711 74.939 QUADTO
-closepath
-55.727 74.064 M
-57.555 74.064 57.555 70.345 QUADTO
-57.555 66.704 55.742 66.704 QUADTO
-53.945 66.704 53.945 70.376 QUADTO
-53.945 74.064 55.727 74.064 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 70.444 M
-65.533 70.444 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.576 38.926 M
-45.576 37.848 lineto
-46.826 38.332 47.529 38.332 QUADTO
-48.357 38.332 48.881 37.848 QUADTO
-49.404 37.363 49.404 36.598 QUADTO
-49.404 34.77 46.842 34.77 QUADTO
-46.373 34.77 lineto
-46.373 33.988 lineto
-46.779 33.988 lineto
-49.186 33.988 49.186 32.301 QUADTO
-49.186 30.973 47.607 30.973 QUADTO
-46.732 30.973 45.701 31.457 QUADTO
-45.701 30.441 lineto
-46.717 30.098 47.686 30.098 QUADTO
-50.342 30.098 50.342 32.113 QUADTO
-50.342 33.645 48.529 34.285 QUADTO
-50.639 34.77 50.639 36.582 QUADTO
-50.639 37.816 49.826 38.512 QUADTO
-49.014 39.207 47.607 39.207 QUADTO
-46.795 39.207 45.576 38.926 QUADTO
-closepath
-53.398 39.02 M
-53.398 37.988 lineto
-54.273 38.332 55.039 38.332 QUADTO
-55.898 38.332 56.391 37.832 QUADTO
-56.883 37.332 56.883 36.441 QUADTO
-56.883 34.488 54.195 34.488 QUADTO
-53.883 34.488 53.555 34.535 QUADTO
-53.555 30.316 lineto
-57.945 30.316 lineto
-57.945 31.316 lineto
-54.57 31.316 lineto
-54.57 33.613 lineto
-56.242 33.613 57.18 34.379 QUADTO
-58.117 35.145 58.117 36.504 QUADTO
-58.117 37.77 57.258 38.488 QUADTO
-56.398 39.207 54.898 39.207 QUADTO
-54.242 39.207 53.398 39.02 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.533 34.713 M
-65.533 34.713 lineto
-stroke
-grestore
-gsave
-[0 -1 1 0 -128.66988 190.41209] concat
-newpath
-190.412 128.67 M
-190.412 528.67 lineto
--209.588 528.67 lineto
--209.588 128.67 lineto
-190.412 128.67 lineto
-closepath
-clip
-0.251 setgray
-newpath
--24.448 164.529 M
--24.448 153.732 lineto
--22.432 153.732 lineto
--22.432 164.529 lineto
--24.448 164.529 lineto
-closepath
--16.739 164.701 M
--18.504 164.701 -19.536 163.639 QUADTO
--20.567 162.576 -20.567 160.779 QUADTO
--20.567 158.951 -19.528 157.904 QUADTO
--18.489 156.857 -16.692 156.857 QUADTO
--14.895 156.857 -13.856 157.904 QUADTO
--12.817 158.951 -12.817 160.764 QUADTO
--12.817 162.607 -13.864 163.654 QUADTO
--14.911 164.701 -16.739 164.701 QUADTO
-closepath
--16.708 163.435 M
--14.973 163.435 -14.973 160.764 QUADTO
--14.973 159.545 -15.434 158.834 QUADTO
--15.895 158.123 -16.692 158.123 QUADTO
--17.489 158.123 -17.958 158.834 QUADTO
--18.426 159.545 -18.426 160.779 QUADTO
--18.426 161.998 -17.965 162.717 QUADTO
--17.504 163.435 -16.708 163.435 QUADTO
-closepath
--7.282 163.717 M
--8.282 164.701 -9.438 164.701 QUADTO
--10.422 164.701 -11.04 164.1 QUADTO
--11.657 163.498 -11.657 162.545 QUADTO
--11.657 161.295 -10.665 160.623 QUADTO
--9.672 159.951 -7.813 159.951 QUADTO
--7.282 159.951 lineto
--7.282 159.264 lineto
--7.282 158.092 -8.61 158.092 QUADTO
--9.797 158.092 -11 158.764 QUADTO
--11 157.373 lineto
--9.625 156.857 -8.282 156.857 QUADTO
--5.329 156.857 -5.329 159.201 QUADTO
--5.329 162.514 lineto
--5.329 163.404 -4.766 163.404 QUADTO
--4.672 163.404 -4.5 163.373 QUADTO
--4.454 164.514 lineto
--5.094 164.701 -5.594 164.701 QUADTO
--6.829 164.701 -7.188 163.717 QUADTO
--7.282 163.717 lineto
-closepath
--7.282 162.639 M
--7.282 161.107 lineto
--7.75 161.107 lineto
--9.719 161.107 -9.719 162.342 QUADTO
--9.719 162.764 -9.438 163.045 QUADTO
--9.157 163.326 -8.735 163.326 QUADTO
--8.016 163.326 -7.282 162.639 QUADTO
-closepath
-1.996 164.529 M
-1.996 163.107 lineto
-1.214 164.701 -0.458 164.701 QUADTO
--1.801 164.701 -2.575 163.709 QUADTO
--3.348 162.717 -3.348 160.982 QUADTO
--3.348 159.092 -2.481 157.975 QUADTO
--1.614 156.857 -0.145 156.857 QUADTO
-1.042 156.857 1.996 157.779 QUADTO
-1.996 153.732 lineto
-4.027 153.732 lineto
-4.027 164.529 lineto
-1.996 164.529 lineto
-closepath
-1.996 158.982 M
-1.261 158.17 0.433 158.17 QUADTO
--0.317 158.17 -0.754 158.889 QUADTO
--1.192 159.607 -1.192 160.81 QUADTO
--1.192 163.107 0.277 163.107 QUADTO
-1.183 163.107 1.996 161.951 QUADTO
-1.996 158.982 lineto
-closepath
-11.386 164.529 M
-11.386 158.295 lineto
-10.339 158.295 lineto
-10.339 157.029 lineto
-11.386 157.029 lineto
-11.386 156.482 lineto
-11.386 153.56 14.152 153.56 QUADTO
-15.042 153.56 15.996 153.826 QUADTO
-15.996 155.185 lineto
-15.136 154.826 14.449 154.826 QUADTO
-13.402 154.826 13.402 156.404 QUADTO
-13.402 157.029 lineto
-15.308 157.029 lineto
-15.308 158.295 lineto
-13.402 158.295 lineto
-13.402 164.529 lineto
-11.386 164.529 lineto
-closepath
-16.971 164.529 M
-16.971 157.029 lineto
-18.987 157.029 lineto
-18.987 158.435 lineto
-19.784 156.857 21.393 156.857 QUADTO
-21.581 156.857 21.768 156.889 QUADTO
-21.768 158.701 lineto
-21.331 158.545 20.956 158.545 QUADTO
-19.752 158.545 18.987 159.764 QUADTO
-18.987 164.529 lineto
-16.971 164.529 lineto
-closepath
-27.007 163.717 M
-26.007 164.701 24.851 164.701 QUADTO
-23.867 164.701 23.25 164.1 QUADTO
-22.632 163.498 22.632 162.545 QUADTO
-22.632 161.295 23.625 160.623 QUADTO
-24.617 159.951 26.476 159.951 QUADTO
-27.007 159.951 lineto
-27.007 159.264 lineto
-27.007 158.092 25.679 158.092 QUADTO
-24.492 158.092 23.289 158.764 QUADTO
-23.289 157.373 lineto
-24.664 156.857 26.007 156.857 QUADTO
-28.96 156.857 28.96 159.201 QUADTO
-28.96 162.514 lineto
-28.96 163.404 29.523 163.404 QUADTO
-29.617 163.404 29.789 163.373 QUADTO
-29.835 164.514 lineto
-29.195 164.701 28.695 164.701 QUADTO
-27.46 164.701 27.101 163.717 QUADTO
-27.007 163.717 lineto
-closepath
-27.007 162.639 M
-27.007 161.107 lineto
-26.539 161.107 lineto
-24.57 161.107 24.57 162.342 QUADTO
-24.57 162.764 24.851 163.045 QUADTO
-25.132 163.326 25.554 163.326 QUADTO
-26.273 163.326 27.007 162.639 QUADTO
-closepath
-37.097 164.357 M
-35.847 164.701 34.769 164.701 QUADTO
-32.972 164.701 31.933 163.646 QUADTO
-30.894 162.592 30.894 160.764 QUADTO
-30.894 158.935 31.964 157.896 QUADTO
-33.035 156.857 34.925 156.857 QUADTO
-35.847 156.857 37.035 157.139 QUADTO
-37.035 158.607 lineto
-35.8 158.201 35.05 158.201 QUADTO
-34.144 158.201 33.589 158.904 QUADTO
-33.035 159.607 33.035 160.748 QUADTO
-33.035 161.935 33.636 162.646 QUADTO
-34.238 163.357 35.222 163.357 QUADTO
-36.144 163.357 37.097 162.967 QUADTO
-37.097 164.357 lineto
-closepath
-42.892 164.482 M
-42.158 164.701 41.751 164.701 QUADTO
-39.111 164.701 39.111 162.232 QUADTO
-39.111 158.295 lineto
-38.267 158.295 lineto
-38.267 157.029 lineto
-39.111 157.029 lineto
-39.111 155.764 lineto
-41.142 155.529 lineto
-41.142 157.029 lineto
-42.736 157.029 lineto
-42.736 158.295 lineto
-41.142 158.295 lineto
-41.142 161.967 lineto
-41.142 163.357 42.267 163.357 QUADTO
-42.517 163.357 42.892 163.264 QUADTO
-42.892 164.482 lineto
-closepath
-44.691 164.529 M
-44.691 157.029 lineto
-46.707 157.029 lineto
-46.707 164.529 lineto
-44.691 164.529 lineto
-closepath
-44.691 155.764 M
-44.691 154.076 lineto
-46.707 154.076 lineto
-46.707 155.764 lineto
-44.691 155.764 lineto
-closepath
-52.4 164.701 M
-50.634 164.701 49.603 163.639 QUADTO
-48.572 162.576 48.572 160.779 QUADTO
-48.572 158.951 49.611 157.904 QUADTO
-50.65 156.857 52.447 156.857 QUADTO
-54.244 156.857 55.283 157.904 QUADTO
-56.322 158.951 56.322 160.764 QUADTO
-56.322 162.607 55.275 163.654 QUADTO
-54.228 164.701 52.4 164.701 QUADTO
-closepath
-52.431 163.435 M
-54.166 163.435 54.166 160.764 QUADTO
-54.166 159.545 53.705 158.834 QUADTO
-53.244 158.123 52.447 158.123 QUADTO
-51.65 158.123 51.181 158.834 QUADTO
-50.712 159.545 50.712 160.779 QUADTO
-50.712 161.998 51.173 162.717 QUADTO
-51.634 163.435 52.431 163.435 QUADTO
-closepath
-58.185 164.529 M
-58.185 157.029 lineto
-60.201 157.029 lineto
-60.201 158.435 lineto
-61.201 156.857 62.763 156.857 QUADTO
-63.763 156.857 64.349 157.49 QUADTO
-64.935 158.123 64.935 159.217 QUADTO
-64.935 164.529 lineto
-62.904 164.529 lineto
-62.904 159.717 lineto
-62.904 158.451 62.06 158.451 QUADTO
-61.091 158.451 60.201 159.81 QUADTO
-60.201 164.529 lineto
-58.185 164.529 lineto
-closepath
-70.629 153.654 M
-70.629 154.951 lineto
-68.801 156.795 68.801 160.139 QUADTO
-68.801 163.498 70.629 165.326 QUADTO
-70.629 166.639 lineto
-68.958 165.732 67.958 163.959 QUADTO
-66.958 162.185 66.958 160.139 QUADTO
-66.958 158.092 67.942 156.342 QUADTO
-68.926 154.592 70.629 153.654 QUADTO
-closepath
-72.13 164.779 M
-80.084 154.154 lineto
-81.443 154.154 lineto
-73.49 164.779 lineto
-72.13 164.779 lineto
-closepath
-73.849 159.467 M
-72.755 159.467 72.115 158.787 QUADTO
-71.474 158.107 71.474 156.935 QUADTO
-71.474 155.764 72.115 155.084 QUADTO
-72.755 154.404 73.88 154.404 QUADTO
-74.99 154.404 75.638 155.084 QUADTO
-76.287 155.764 76.287 156.935 QUADTO
-76.287 158.123 75.638 158.795 QUADTO
-74.99 159.467 73.849 159.467 QUADTO
-closepath
-73.865 158.451 M
-74.755 158.451 74.755 156.935 QUADTO
-74.755 155.42 73.88 155.42 QUADTO
-72.99 155.42 72.99 156.935 QUADTO
-72.99 158.451 73.865 158.451 QUADTO
-closepath
-79.677 164.529 M
-78.568 164.529 77.927 163.85 QUADTO
-77.287 163.17 77.287 161.998 QUADTO
-77.287 160.81 77.935 160.139 QUADTO
-78.584 159.467 79.693 159.467 QUADTO
-80.818 159.467 81.459 160.139 QUADTO
-82.099 160.81 82.099 161.998 QUADTO
-82.099 163.185 81.459 163.857 QUADTO
-80.818 164.529 79.677 164.529 QUADTO
-closepath
-79.677 163.514 M
-80.584 163.514 80.584 161.998 QUADTO
-80.584 160.482 79.693 160.482 QUADTO
-78.802 160.482 78.802 161.998 QUADTO
-78.802 163.514 79.677 163.514 QUADTO
-closepath
-82.751 153.654 M
-82.751 154.951 lineto
-84.58 156.795 84.58 160.139 QUADTO
-84.58 163.498 82.751 165.326 QUADTO
-82.751 166.639 lineto
-84.423 165.732 85.423 163.959 QUADTO
-86.423 162.185 86.423 160.139 QUADTO
-86.423 158.092 85.439 156.342 QUADTO
-84.455 154.592 82.751 153.654 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-99.863 34.247 M
-99.863 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-130.194 34.247 M
-130.194 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-160.524 34.247 M
-160.524 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-190.854 34.247 M
-190.854 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-221.184 34.247 M
-221.184 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-251.514 34.247 M
-251.514 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-281.844 34.247 M
-281.844 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-312.175 34.247 M
-312.175 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-342.505 34.247 M
-342.505 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-372.835 34.247 M
-372.835 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 284.835 M
-388 284.835 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 249.104 M
-388 249.104 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 213.372 M
-388 213.372 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 177.64 M
-388 177.64 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 141.908 M
-388 141.908 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 106.176 M
-388 106.176 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 70.444 M
-388 70.444 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-69.533 34.713 M
-388 34.713 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.533 122.739 M
-75.599 218.463 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-75.599 218.463 M
-81.665 227.088 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-81.665 227.088 M
-87.731 234.946 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-87.731 234.946 M
-93.797 242.46 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-93.797 242.46 M
-99.863 247.378 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-99.863 247.378 M
-105.929 250.809 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-105.929 250.809 M
-111.995 252.596 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-111.995 252.596 M
-118.061 254.678 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-118.061 254.678 M
-124.128 257.68 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-124.128 257.68 M
-130.194 260.279 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-130.194 260.279 M
-136.26 261.619 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-136.26 261.619 M
-142.326 263.811 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-142.326 263.811 M
-148.392 266.928 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-148.392 266.928 M
-154.458 268.683 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-154.458 268.683 M
-160.524 271.352 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-160.524 271.352 M
-166.59 273.953 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-166.59 273.953 M
-172.656 274.914 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-172.656 274.914 M
-178.722 276.85 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-178.722 276.85 M
-184.788 278.028 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-184.788 278.028 M
-190.854 279.86 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-190.854 279.86 M
-196.92 280.585 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-196.92 280.585 M
-202.986 281.713 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-202.986 281.713 M
-209.052 282.704 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-209.052 282.704 M
-215.118 282.898 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-215.118 282.898 M
-221.184 282.898 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-221.184 282.898 M
-227.25 283.946 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-227.25 283.946 M
-233.316 284.141 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-233.316 284.141 M
-239.382 284.141 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-239.382 284.141 M
-245.448 284.325 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-245.448 284.325 M
-251.514 284.427 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-251.514 284.427 M
-257.58 284.427 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-257.58 284.427 M
-263.646 284.427 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-263.646 284.427 M
-269.712 284.529 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-269.712 284.529 M
-275.778 284.529 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-275.778 284.529 M
-281.844 284.631 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.533 122.653 M
-75.599 230.394 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-75.599 230.394 M
-81.665 238.034 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-81.665 238.034 M
-87.731 242.505 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-87.731 242.505 M
-93.797 245.348 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-93.797 245.348 M
-99.863 248.011 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-99.863 248.011 M
-105.929 251.702 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-105.929 251.702 M
-111.995 253.593 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-111.995 253.593 M
-118.061 255.878 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-118.061 255.878 M
-124.128 257.741 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-124.128 257.741 M
-130.194 259.39 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-130.194 259.39 M
-136.26 261.461 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-136.26 261.461 M
-142.326 263.027 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-142.326 263.027 M
-148.392 264.873 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-148.392 264.873 M
-154.458 266.854 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-154.458 266.854 M
-160.524 269.239 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-160.524 269.239 M
-166.59 272.077 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-166.59 272.077 M
-172.656 273.619 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-172.656 273.619 M
-178.722 275.619 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-178.722 275.619 M
-184.788 278.056 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-184.788 278.056 M
-190.854 278.809 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-190.854 278.809 M
-196.92 279.332 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-196.92 279.332 M
-202.986 279.737 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-202.986 279.737 M
-209.052 280.014 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-209.052 280.014 M
-215.118 280.878 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-215.118 280.878 M
-221.184 281.421 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-221.184 281.421 M
-227.25 281.752 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-227.25 281.752 M
-233.316 282.49 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-233.316 282.49 M
-239.382 282.733 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-239.382 282.733 M
-245.448 282.933 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-245.448 282.933 M
-251.514 283.051 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-251.514 283.051 M
-257.58 283.584 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-257.58 283.584 M
-263.646 283.842 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-263.646 283.842 M
-269.712 284.151 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-269.712 284.151 M
-275.778 284.187 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-275.778 284.187 M
-281.844 284.451 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-281.844 284.451 M
-287.91 284.477 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-287.91 284.477 M
-293.976 284.51 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-293.976 284.51 M
-300.043 284.516 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-300.043 284.516 M
-306.109 284.529 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-306.109 284.529 M
-312.175 284.555 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-312.175 284.555 M
-318.241 284.555 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-318.241 284.555 M
-324.307 284.562 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-324.307 284.562 M
-330.373 284.562 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-330.373 284.562 M
-336.439 284.568 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-336.439 284.568 M
-342.505 284.568 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-342.505 284.568 M
-348.571 284.575 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-348.571 284.575 M
-354.637 284.607 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-354.637 284.607 M
-360.703 284.607 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-360.703 284.607 M
-366.769 284.62 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-366.769 284.62 M
-372.835 284.718 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.533 46.179 M
-75.599 73.771 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-75.599 73.771 M
-81.665 124.986 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-81.665 124.986 M
-87.731 222.932 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-87.731 222.932 M
-93.797 261.269 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-93.797 261.269 M
-99.863 275.085 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-99.863 275.085 M
-105.929 280.482 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-105.929 280.482 M
-111.995 281.305 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-111.995 281.305 M
-118.061 282.872 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.533 53.604 M
-75.599 70.234 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-75.599 70.234 M
-81.665 131.251 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-81.665 131.251 M
-87.731 212.546 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-87.731 212.546 M
-93.797 261.307 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-93.797 261.307 M
-99.863 273.158 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-99.863 273.158 M
-105.929 280.814 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-105.929 280.814 M
-111.995 282.403 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-111.995 282.403 M
-118.061 283.564 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.533 74.739 M
-75.599 117.839 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-75.599 117.839 M
-81.665 152 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-81.665 152 M
-87.731 182.781 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-87.731 182.781 M
-93.797 222.616 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-93.797 222.616 M
-99.863 244.401 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.533 62.393 M
-75.599 102.345 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-75.599 102.345 M
-81.665 157.851 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-81.665 157.851 M
-87.731 186.27 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-87.731 186.27 M
-93.797 225.023 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-93.797 225.023 M
-99.863 260.494 lineto
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-66.533 119.739 M
-72.533 119.739 lineto
-69.533 125.739 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.533 119.739 M
-72.533 119.739 lineto
-69.533 125.739 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-72.599 215.463 M
-78.599 215.463 lineto
-75.599 221.463 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.599 215.463 M
-78.599 215.463 lineto
-75.599 221.463 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-78.665 224.088 M
-84.665 224.088 lineto
-81.665 230.088 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-78.665 224.088 M
-84.665 224.088 lineto
-81.665 230.088 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-84.731 231.946 M
-90.731 231.946 lineto
-87.731 237.946 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-84.731 231.946 M
-90.731 231.946 lineto
-87.731 237.946 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-90.797 239.46 M
-96.797 239.46 lineto
-93.797 245.46 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-90.797 239.46 M
-96.797 239.46 lineto
-93.797 245.46 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-96.863 244.378 M
-102.863 244.378 lineto
-99.863 250.378 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-96.863 244.378 M
-102.863 244.378 lineto
-99.863 250.378 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-102.929 247.809 M
-108.929 247.809 lineto
-105.929 253.809 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-102.929 247.809 M
-108.929 247.809 lineto
-105.929 253.809 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-108.995 249.596 M
-114.995 249.596 lineto
-111.995 255.596 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-108.995 249.596 M
-114.995 249.596 lineto
-111.995 255.596 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-115.061 251.678 M
-121.061 251.678 lineto
-118.061 257.678 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-115.061 251.678 M
-121.061 251.678 lineto
-118.061 257.678 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-121.128 254.68 M
-127.128 254.68 lineto
-124.128 260.68 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.128 254.68 M
-127.128 254.68 lineto
-124.128 260.68 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-127.194 257.279 M
-133.194 257.279 lineto
-130.194 263.279 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.194 257.279 M
-133.194 257.279 lineto
-130.194 263.279 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-133.26 258.619 M
-139.26 258.619 lineto
-136.26 264.619 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-133.26 258.619 M
-139.26 258.619 lineto
-136.26 264.619 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-139.326 260.811 M
-145.326 260.811 lineto
-142.326 266.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-139.326 260.811 M
-145.326 260.811 lineto
-142.326 266.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-145.392 263.928 M
-151.392 263.928 lineto
-148.392 269.928 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-145.392 263.928 M
-151.392 263.928 lineto
-148.392 269.928 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-151.458 265.683 M
-157.458 265.683 lineto
-154.458 271.683 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-151.458 265.683 M
-157.458 265.683 lineto
-154.458 271.683 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-157.524 268.352 M
-163.524 268.352 lineto
-160.524 274.352 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-157.524 268.352 M
-163.524 268.352 lineto
-160.524 274.352 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-163.59 270.953 M
-169.59 270.953 lineto
-166.59 276.953 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-163.59 270.953 M
-169.59 270.953 lineto
-166.59 276.953 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-169.656 271.914 M
-175.656 271.914 lineto
-172.656 277.914 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-169.656 271.914 M
-175.656 271.914 lineto
-172.656 277.914 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-175.722 273.85 M
-181.722 273.85 lineto
-178.722 279.85 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-175.722 273.85 M
-181.722 273.85 lineto
-178.722 279.85 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-181.788 275.028 M
-187.788 275.028 lineto
-184.788 281.028 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-181.788 275.028 M
-187.788 275.028 lineto
-184.788 281.028 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-187.854 276.86 M
-193.854 276.86 lineto
-190.854 282.86 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-187.854 276.86 M
-193.854 276.86 lineto
-190.854 282.86 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-193.92 277.585 M
-199.92 277.585 lineto
-196.92 283.585 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-193.92 277.585 M
-199.92 277.585 lineto
-196.92 283.585 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-199.986 278.713 M
-205.986 278.713 lineto
-202.986 284.713 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-199.986 278.713 M
-205.986 278.713 lineto
-202.986 284.713 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-206.052 279.704 M
-212.052 279.704 lineto
-209.052 285.704 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-206.052 279.704 M
-212.052 279.704 lineto
-209.052 285.704 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-212.118 279.898 M
-218.118 279.898 lineto
-215.118 285.898 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-212.118 279.898 M
-218.118 279.898 lineto
-215.118 285.898 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-218.184 279.898 M
-224.184 279.898 lineto
-221.184 285.898 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-218.184 279.898 M
-224.184 279.898 lineto
-221.184 285.898 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-224.25 280.946 M
-230.25 280.946 lineto
-227.25 286.946 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-224.25 280.946 M
-230.25 280.946 lineto
-227.25 286.946 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-230.316 281.141 M
-236.316 281.141 lineto
-233.316 287.141 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-230.316 281.141 M
-236.316 281.141 lineto
-233.316 287.141 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-236.382 281.141 M
-242.382 281.141 lineto
-239.382 287.141 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-236.382 281.141 M
-242.382 281.141 lineto
-239.382 287.141 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-242.448 281.325 M
-248.448 281.325 lineto
-245.448 287.325 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-242.448 281.325 M
-248.448 281.325 lineto
-245.448 287.325 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-248.514 281.427 M
-254.514 281.427 lineto
-251.514 287.427 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-248.514 281.427 M
-254.514 281.427 lineto
-251.514 287.427 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-254.58 281.427 M
-260.58 281.427 lineto
-257.58 287.427 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-254.58 281.427 M
-260.58 281.427 lineto
-257.58 287.427 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-260.646 281.427 M
-266.646 281.427 lineto
-263.646 287.427 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-260.646 281.427 M
-266.646 281.427 lineto
-263.646 287.427 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-266.712 281.529 M
-272.712 281.529 lineto
-269.712 287.529 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-266.712 281.529 M
-272.712 281.529 lineto
-269.712 287.529 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-272.778 281.529 M
-278.778 281.529 lineto
-275.778 287.529 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-272.778 281.529 M
-278.778 281.529 lineto
-275.778 287.529 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-newpath
-278.844 281.631 M
-284.844 281.631 lineto
-281.844 287.631 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-278.844 281.631 M
-284.844 281.631 lineto
-281.844 287.631 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-66.533 121.153 M
-72.533 121.153 lineto
-72.533 124.153 lineto
-66.533 124.153 lineto
-66.533 121.153 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.533 121.153 M
-72.533 121.153 lineto
-72.533 124.153 lineto
-66.533 124.153 lineto
-66.533 121.153 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-72.599 228.894 M
-78.599 228.894 lineto
-78.599 231.894 lineto
-72.599 231.894 lineto
-72.599 228.894 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.599 228.894 M
-78.599 228.894 lineto
-78.599 231.894 lineto
-72.599 231.894 lineto
-72.599 228.894 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-78.665 236.534 M
-84.665 236.534 lineto
-84.665 239.534 lineto
-78.665 239.534 lineto
-78.665 236.534 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-78.665 236.534 M
-84.665 236.534 lineto
-84.665 239.534 lineto
-78.665 239.534 lineto
-78.665 236.534 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-84.731 241.005 M
-90.731 241.005 lineto
-90.731 244.005 lineto
-84.731 244.005 lineto
-84.731 241.005 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-84.731 241.005 M
-90.731 241.005 lineto
-90.731 244.005 lineto
-84.731 244.005 lineto
-84.731 241.005 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-90.797 243.848 M
-96.797 243.848 lineto
-96.797 246.848 lineto
-90.797 246.848 lineto
-90.797 243.848 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-90.797 243.848 M
-96.797 243.848 lineto
-96.797 246.848 lineto
-90.797 246.848 lineto
-90.797 243.848 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-96.863 246.511 M
-102.863 246.511 lineto
-102.863 249.511 lineto
-96.863 249.511 lineto
-96.863 246.511 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-96.863 246.511 M
-102.863 246.511 lineto
-102.863 249.511 lineto
-96.863 249.511 lineto
-96.863 246.511 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-102.929 250.202 M
-108.929 250.202 lineto
-108.929 253.202 lineto
-102.929 253.202 lineto
-102.929 250.202 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-102.929 250.202 M
-108.929 250.202 lineto
-108.929 253.202 lineto
-102.929 253.202 lineto
-102.929 250.202 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-108.995 252.093 M
-114.995 252.093 lineto
-114.995 255.093 lineto
-108.995 255.093 lineto
-108.995 252.093 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-108.995 252.093 M
-114.995 252.093 lineto
-114.995 255.093 lineto
-108.995 255.093 lineto
-108.995 252.093 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-115.061 254.378 M
-121.061 254.378 lineto
-121.061 257.378 lineto
-115.061 257.378 lineto
-115.061 254.378 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-115.061 254.378 M
-121.061 254.378 lineto
-121.061 257.378 lineto
-115.061 257.378 lineto
-115.061 254.378 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-121.128 256.241 M
-127.128 256.241 lineto
-127.128 259.241 lineto
-121.128 259.241 lineto
-121.128 256.241 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.128 256.241 M
-127.128 256.241 lineto
-127.128 259.241 lineto
-121.128 259.241 lineto
-121.128 256.241 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-127.194 257.89 M
-133.194 257.89 lineto
-133.194 260.89 lineto
-127.194 260.89 lineto
-127.194 257.89 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.194 257.89 M
-133.194 257.89 lineto
-133.194 260.89 lineto
-127.194 260.89 lineto
-127.194 257.89 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-133.26 259.961 M
-139.26 259.961 lineto
-139.26 262.961 lineto
-133.26 262.961 lineto
-133.26 259.961 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-133.26 259.961 M
-139.26 259.961 lineto
-139.26 262.961 lineto
-133.26 262.961 lineto
-133.26 259.961 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-139.326 261.527 M
-145.326 261.527 lineto
-145.326 264.527 lineto
-139.326 264.527 lineto
-139.326 261.527 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-139.326 261.527 M
-145.326 261.527 lineto
-145.326 264.527 lineto
-139.326 264.527 lineto
-139.326 261.527 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-145.392 263.373 M
-151.392 263.373 lineto
-151.392 266.373 lineto
-145.392 266.373 lineto
-145.392 263.373 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-145.392 263.373 M
-151.392 263.373 lineto
-151.392 266.373 lineto
-145.392 266.373 lineto
-145.392 263.373 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-151.458 265.354 M
-157.458 265.354 lineto
-157.458 268.354 lineto
-151.458 268.354 lineto
-151.458 265.354 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-151.458 265.354 M
-157.458 265.354 lineto
-157.458 268.354 lineto
-151.458 268.354 lineto
-151.458 265.354 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-157.524 267.739 M
-163.524 267.739 lineto
-163.524 270.739 lineto
-157.524 270.739 lineto
-157.524 267.739 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-157.524 267.739 M
-163.524 267.739 lineto
-163.524 270.739 lineto
-157.524 270.739 lineto
-157.524 267.739 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-163.59 270.577 M
-169.59 270.577 lineto
-169.59 273.577 lineto
-163.59 273.577 lineto
-163.59 270.577 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-163.59 270.577 M
-169.59 270.577 lineto
-169.59 273.577 lineto
-163.59 273.577 lineto
-163.59 270.577 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-169.656 272.119 M
-175.656 272.119 lineto
-175.656 275.119 lineto
-169.656 275.119 lineto
-169.656 272.119 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-169.656 272.119 M
-175.656 272.119 lineto
-175.656 275.119 lineto
-169.656 275.119 lineto
-169.656 272.119 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-175.722 274.119 M
-181.722 274.119 lineto
-181.722 277.119 lineto
-175.722 277.119 lineto
-175.722 274.119 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-175.722 274.119 M
-181.722 274.119 lineto
-181.722 277.119 lineto
-175.722 277.119 lineto
-175.722 274.119 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-181.788 276.556 M
-187.788 276.556 lineto
-187.788 279.556 lineto
-181.788 279.556 lineto
-181.788 276.556 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-181.788 276.556 M
-187.788 276.556 lineto
-187.788 279.556 lineto
-181.788 279.556 lineto
-181.788 276.556 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-187.854 277.309 M
-193.854 277.309 lineto
-193.854 280.309 lineto
-187.854 280.309 lineto
-187.854 277.309 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-187.854 277.309 M
-193.854 277.309 lineto
-193.854 280.309 lineto
-187.854 280.309 lineto
-187.854 277.309 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-193.92 277.832 M
-199.92 277.832 lineto
-199.92 280.832 lineto
-193.92 280.832 lineto
-193.92 277.832 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-193.92 277.832 M
-199.92 277.832 lineto
-199.92 280.832 lineto
-193.92 280.832 lineto
-193.92 277.832 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-199.986 278.237 M
-205.986 278.237 lineto
-205.986 281.237 lineto
-199.986 281.237 lineto
-199.986 278.237 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-199.986 278.237 M
-205.986 278.237 lineto
-205.986 281.237 lineto
-199.986 281.237 lineto
-199.986 278.237 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-206.052 278.514 M
-212.052 278.514 lineto
-212.052 281.514 lineto
-206.052 281.514 lineto
-206.052 278.514 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-206.052 278.514 M
-212.052 278.514 lineto
-212.052 281.514 lineto
-206.052 281.514 lineto
-206.052 278.514 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-212.118 279.378 M
-218.118 279.378 lineto
-218.118 282.378 lineto
-212.118 282.378 lineto
-212.118 279.378 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-212.118 279.378 M
-218.118 279.378 lineto
-218.118 282.378 lineto
-212.118 282.378 lineto
-212.118 279.378 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-218.184 279.921 M
-224.184 279.921 lineto
-224.184 282.921 lineto
-218.184 282.921 lineto
-218.184 279.921 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-218.184 279.921 M
-224.184 279.921 lineto
-224.184 282.921 lineto
-218.184 282.921 lineto
-218.184 279.921 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-224.25 280.252 M
-230.25 280.252 lineto
-230.25 283.252 lineto
-224.25 283.252 lineto
-224.25 280.252 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-224.25 280.252 M
-230.25 280.252 lineto
-230.25 283.252 lineto
-224.25 283.252 lineto
-224.25 280.252 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-230.316 280.99 M
-236.316 280.99 lineto
-236.316 283.99 lineto
-230.316 283.99 lineto
-230.316 280.99 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-230.316 280.99 M
-236.316 280.99 lineto
-236.316 283.99 lineto
-230.316 283.99 lineto
-230.316 280.99 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-236.382 281.233 M
-242.382 281.233 lineto
-242.382 284.233 lineto
-236.382 284.233 lineto
-236.382 281.233 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-236.382 281.233 M
-242.382 281.233 lineto
-242.382 284.233 lineto
-236.382 284.233 lineto
-236.382 281.233 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-242.448 281.433 M
-248.448 281.433 lineto
-248.448 284.433 lineto
-242.448 284.433 lineto
-242.448 281.433 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-242.448 281.433 M
-248.448 281.433 lineto
-248.448 284.433 lineto
-242.448 284.433 lineto
-242.448 281.433 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-248.514 281.551 M
-254.514 281.551 lineto
-254.514 284.551 lineto
-248.514 284.551 lineto
-248.514 281.551 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-248.514 281.551 M
-254.514 281.551 lineto
-254.514 284.551 lineto
-248.514 284.551 lineto
-248.514 281.551 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-254.58 282.084 M
-260.58 282.084 lineto
-260.58 285.084 lineto
-254.58 285.084 lineto
-254.58 282.084 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-254.58 282.084 M
-260.58 282.084 lineto
-260.58 285.084 lineto
-254.58 285.084 lineto
-254.58 282.084 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-260.646 282.342 M
-266.646 282.342 lineto
-266.646 285.342 lineto
-260.646 285.342 lineto
-260.646 282.342 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-260.646 282.342 M
-266.646 282.342 lineto
-266.646 285.342 lineto
-260.646 285.342 lineto
-260.646 282.342 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-266.712 282.651 M
-272.712 282.651 lineto
-272.712 285.651 lineto
-266.712 285.651 lineto
-266.712 282.651 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-266.712 282.651 M
-272.712 282.651 lineto
-272.712 285.651 lineto
-266.712 285.651 lineto
-266.712 282.651 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-272.778 282.687 M
-278.778 282.687 lineto
-278.778 285.687 lineto
-272.778 285.687 lineto
-272.778 282.687 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-272.778 282.687 M
-278.778 282.687 lineto
-278.778 285.687 lineto
-272.778 285.687 lineto
-272.778 282.687 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-278.844 282.951 M
-284.844 282.951 lineto
-284.844 285.951 lineto
-278.844 285.951 lineto
-278.844 282.951 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-278.844 282.951 M
-284.844 282.951 lineto
-284.844 285.951 lineto
-278.844 285.951 lineto
-278.844 282.951 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-284.91 282.977 M
-290.91 282.977 lineto
-290.91 285.977 lineto
-284.91 285.977 lineto
-284.91 282.977 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-284.91 282.977 M
-290.91 282.977 lineto
-290.91 285.977 lineto
-284.91 285.977 lineto
-284.91 282.977 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-290.976 283.01 M
-296.976 283.01 lineto
-296.976 286.01 lineto
-290.976 286.01 lineto
-290.976 283.01 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-290.976 283.01 M
-296.976 283.01 lineto
-296.976 286.01 lineto
-290.976 286.01 lineto
-290.976 283.01 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-297.043 283.016 M
-303.043 283.016 lineto
-303.043 286.016 lineto
-297.043 286.016 lineto
-297.043 283.016 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-297.043 283.016 M
-303.043 283.016 lineto
-303.043 286.016 lineto
-297.043 286.016 lineto
-297.043 283.016 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-303.109 283.029 M
-309.109 283.029 lineto
-309.109 286.029 lineto
-303.109 286.029 lineto
-303.109 283.029 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-303.109 283.029 M
-309.109 283.029 lineto
-309.109 286.029 lineto
-303.109 286.029 lineto
-303.109 283.029 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-309.175 283.055 M
-315.175 283.055 lineto
-315.175 286.055 lineto
-309.175 286.055 lineto
-309.175 283.055 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-309.175 283.055 M
-315.175 283.055 lineto
-315.175 286.055 lineto
-309.175 286.055 lineto
-309.175 283.055 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-315.241 283.055 M
-321.241 283.055 lineto
-321.241 286.055 lineto
-315.241 286.055 lineto
-315.241 283.055 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-315.241 283.055 M
-321.241 283.055 lineto
-321.241 286.055 lineto
-315.241 286.055 lineto
-315.241 283.055 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-321.307 283.062 M
-327.307 283.062 lineto
-327.307 286.062 lineto
-321.307 286.062 lineto
-321.307 283.062 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-321.307 283.062 M
-327.307 283.062 lineto
-327.307 286.062 lineto
-321.307 286.062 lineto
-321.307 283.062 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-327.373 283.062 M
-333.373 283.062 lineto
-333.373 286.062 lineto
-327.373 286.062 lineto
-327.373 283.062 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-327.373 283.062 M
-333.373 283.062 lineto
-333.373 286.062 lineto
-327.373 286.062 lineto
-327.373 283.062 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-333.439 283.068 M
-339.439 283.068 lineto
-339.439 286.068 lineto
-333.439 286.068 lineto
-333.439 283.068 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-333.439 283.068 M
-339.439 283.068 lineto
-339.439 286.068 lineto
-333.439 286.068 lineto
-333.439 283.068 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-339.505 283.068 M
-345.505 283.068 lineto
-345.505 286.068 lineto
-339.505 286.068 lineto
-339.505 283.068 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-339.505 283.068 M
-345.505 283.068 lineto
-345.505 286.068 lineto
-339.505 286.068 lineto
-339.505 283.068 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-345.571 283.075 M
-351.571 283.075 lineto
-351.571 286.075 lineto
-345.571 286.075 lineto
-345.571 283.075 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-345.571 283.075 M
-351.571 283.075 lineto
-351.571 286.075 lineto
-345.571 286.075 lineto
-345.571 283.075 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-351.637 283.107 M
-357.637 283.107 lineto
-357.637 286.107 lineto
-351.637 286.107 lineto
-351.637 283.107 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-351.637 283.107 M
-357.637 283.107 lineto
-357.637 286.107 lineto
-351.637 286.107 lineto
-351.637 283.107 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-357.703 283.107 M
-363.703 283.107 lineto
-363.703 286.107 lineto
-357.703 286.107 lineto
-357.703 283.107 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-357.703 283.107 M
-363.703 283.107 lineto
-363.703 286.107 lineto
-357.703 286.107 lineto
-357.703 283.107 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-363.769 283.12 M
-369.769 283.12 lineto
-369.769 286.12 lineto
-363.769 286.12 lineto
-363.769 283.12 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-363.769 283.12 M
-369.769 283.12 lineto
-369.769 286.12 lineto
-363.769 286.12 lineto
-363.769 283.12 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-newpath
-369.835 283.218 M
-375.835 283.218 lineto
-375.835 286.218 lineto
-369.835 286.218 lineto
-369.835 283.218 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-369.835 283.218 M
-375.835 283.218 lineto
-375.835 286.218 lineto
-369.835 286.218 lineto
-369.835 283.218 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-69.533 43.179 M
-72.533 46.179 lineto
-69.533 49.179 lineto
-66.533 46.179 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.533 43.179 M
-72.533 46.179 lineto
-69.533 49.179 lineto
-66.533 46.179 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-75.599 70.771 M
-78.599 73.771 lineto
-75.599 76.771 lineto
-72.599 73.771 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-75.599 70.771 M
-78.599 73.771 lineto
-75.599 76.771 lineto
-72.599 73.771 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-81.665 121.986 M
-84.665 124.986 lineto
-81.665 127.986 lineto
-78.665 124.986 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-81.665 121.986 M
-84.665 124.986 lineto
-81.665 127.986 lineto
-78.665 124.986 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-87.731 219.932 M
-90.731 222.932 lineto
-87.731 225.932 lineto
-84.731 222.932 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.731 219.932 M
-90.731 222.932 lineto
-87.731 225.932 lineto
-84.731 222.932 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-93.797 258.269 M
-96.797 261.269 lineto
-93.797 264.269 lineto
-90.797 261.269 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-93.797 258.269 M
-96.797 261.269 lineto
-93.797 264.269 lineto
-90.797 261.269 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-99.863 272.085 M
-102.863 275.085 lineto
-99.863 278.085 lineto
-96.863 275.085 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-99.863 272.085 M
-102.863 275.085 lineto
-99.863 278.085 lineto
-96.863 275.085 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-105.929 277.482 M
-108.929 280.482 lineto
-105.929 283.482 lineto
-102.929 280.482 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-105.929 277.482 M
-108.929 280.482 lineto
-105.929 283.482 lineto
-102.929 280.482 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-111.995 278.305 M
-114.995 281.305 lineto
-111.995 284.305 lineto
-108.995 281.305 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-111.995 278.305 M
-114.995 281.305 lineto
-111.995 284.305 lineto
-108.995 281.305 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-118.061 279.872 M
-121.061 282.872 lineto
-118.061 285.872 lineto
-115.061 282.872 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-118.061 279.872 M
-121.061 282.872 lineto
-118.061 285.872 lineto
-115.061 282.872 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-69.533 50.604 M
-72.533 56.604 lineto
-66.533 56.604 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.533 50.604 M
-72.533 56.604 lineto
-66.533 56.604 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-75.599 67.234 M
-78.599 73.234 lineto
-72.599 73.234 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-75.599 67.234 M
-78.599 73.234 lineto
-72.599 73.234 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-81.665 128.251 M
-84.665 134.251 lineto
-78.665 134.251 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-81.665 128.251 M
-84.665 134.251 lineto
-78.665 134.251 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-87.731 209.546 M
-90.731 215.546 lineto
-84.731 215.546 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.731 209.546 M
-90.731 215.546 lineto
-84.731 215.546 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-93.797 258.307 M
-96.797 264.307 lineto
-90.797 264.307 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-93.797 258.307 M
-96.797 264.307 lineto
-90.797 264.307 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-99.863 270.158 M
-102.863 276.158 lineto
-96.863 276.158 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-99.863 270.158 M
-102.863 276.158 lineto
-96.863 276.158 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-105.929 277.814 M
-108.929 283.814 lineto
-102.929 283.814 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-105.929 277.814 M
-108.929 283.814 lineto
-102.929 283.814 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-111.995 279.403 M
-114.995 285.403 lineto
-108.995 285.403 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-111.995 279.403 M
-114.995 285.403 lineto
-108.995 285.403 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-118.061 280.564 M
-121.061 286.564 lineto
-115.061 286.564 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-118.061 280.564 M
-121.061 286.564 lineto
-115.061 286.564 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-72.533 74.739 M
-72.533 76.395 71.19 77.739 69.533 77.739 curveto
-67.876 77.739 66.533 76.395 66.533 74.739 curveto
-66.533 73.082 67.876 71.739 69.533 71.739 curveto
-71.19 71.739 72.533 73.082 72.533 74.739 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.533 74.739 M
-72.533 76.395 71.19 77.739 69.533 77.739 curveto
-67.876 77.739 66.533 76.395 66.533 74.739 curveto
-66.533 73.082 67.876 71.739 69.533 71.739 curveto
-71.19 71.739 72.533 73.082 72.533 74.739 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-78.599 117.839 M
-78.599 119.496 77.256 120.839 75.599 120.839 curveto
-73.942 120.839 72.599 119.496 72.599 117.839 curveto
-72.599 116.183 73.942 114.839 75.599 114.839 curveto
-77.256 114.839 78.599 116.183 78.599 117.839 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-78.599 117.839 M
-78.599 119.496 77.256 120.839 75.599 120.839 curveto
-73.942 120.839 72.599 119.496 72.599 117.839 curveto
-72.599 116.183 73.942 114.839 75.599 114.839 curveto
-77.256 114.839 78.599 116.183 78.599 117.839 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-84.665 152 M
-84.665 153.657 83.322 155 81.665 155 curveto
-80.008 155 78.665 153.657 78.665 152 curveto
-78.665 150.343 80.008 149 81.665 149 curveto
-83.322 149 84.665 150.343 84.665 152 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-84.665 152 M
-84.665 153.657 83.322 155 81.665 155 curveto
-80.008 155 78.665 153.657 78.665 152 curveto
-78.665 150.343 80.008 149 81.665 149 curveto
-83.322 149 84.665 150.343 84.665 152 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-90.731 182.781 M
-90.731 184.438 89.388 185.781 87.731 185.781 curveto
-86.074 185.781 84.731 184.438 84.731 182.781 curveto
-84.731 181.124 86.074 179.781 87.731 179.781 curveto
-89.388 179.781 90.731 181.124 90.731 182.781 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-90.731 182.781 M
-90.731 184.438 89.388 185.781 87.731 185.781 curveto
-86.074 185.781 84.731 184.438 84.731 182.781 curveto
-84.731 181.124 86.074 179.781 87.731 179.781 curveto
-89.388 179.781 90.731 181.124 90.731 182.781 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-96.797 222.616 M
-96.797 224.273 95.454 225.616 93.797 225.616 curveto
-92.14 225.616 90.797 224.273 90.797 222.616 curveto
-90.797 220.96 92.14 219.616 93.797 219.616 curveto
-95.454 219.616 96.797 220.96 96.797 222.616 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-96.797 222.616 M
-96.797 224.273 95.454 225.616 93.797 225.616 curveto
-92.14 225.616 90.797 224.273 90.797 222.616 curveto
-90.797 220.96 92.14 219.616 93.797 219.616 curveto
-95.454 219.616 96.797 220.96 96.797 222.616 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-102.863 244.401 M
-102.863 246.058 101.52 247.401 99.863 247.401 curveto
-98.207 247.401 96.863 246.058 96.863 244.401 curveto
-96.863 242.744 98.207 241.401 99.863 241.401 curveto
-101.52 241.401 102.863 242.744 102.863 244.401 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-102.863 244.401 M
-102.863 246.058 101.52 247.401 99.863 247.401 curveto
-98.207 247.401 96.863 246.058 96.863 244.401 curveto
-96.863 242.744 98.207 241.401 99.863 241.401 curveto
-101.52 241.401 102.863 242.744 102.863 244.401 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-66.533 59.393 M
-72.533 59.393 lineto
-72.533 65.393 lineto
-66.533 65.393 lineto
-66.533 59.393 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.533 59.393 M
-72.533 59.393 lineto
-72.533 65.393 lineto
-66.533 65.393 lineto
-66.533 59.393 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-72.599 99.345 M
-78.599 99.345 lineto
-78.599 105.345 lineto
-72.599 105.345 lineto
-72.599 99.345 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.599 99.345 M
-78.599 99.345 lineto
-78.599 105.345 lineto
-72.599 105.345 lineto
-72.599 99.345 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-78.665 154.851 M
-84.665 154.851 lineto
-84.665 160.851 lineto
-78.665 160.851 lineto
-78.665 154.851 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-78.665 154.851 M
-84.665 154.851 lineto
-84.665 160.851 lineto
-78.665 160.851 lineto
-78.665 154.851 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-84.731 183.27 M
-90.731 183.27 lineto
-90.731 189.27 lineto
-84.731 189.27 lineto
-84.731 183.27 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-84.731 183.27 M
-90.731 183.27 lineto
-90.731 189.27 lineto
-84.731 189.27 lineto
-84.731 183.27 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-90.797 222.023 M
-96.797 222.023 lineto
-96.797 228.023 lineto
-90.797 228.023 lineto
-90.797 222.023 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-90.797 222.023 M
-96.797 222.023 lineto
-96.797 228.023 lineto
-90.797 228.023 lineto
-90.797 222.023 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-96.863 257.494 M
-102.863 257.494 lineto
-102.863 263.494 lineto
-96.863 263.494 lineto
-96.863 257.494 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-69.533 34.247 M
-69.533 284.835 lineto
-388 284.835 lineto
-388 34.247 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-96.863 257.494 M
-102.863 257.494 lineto
-102.863 263.494 lineto
-96.863 263.494 lineto
-96.863 257.494 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-0.5 setlinewidth
-newpath
-69.533 34.247 M
-388 34.247 lineto
-388 284.835 lineto
-69.533 284.835 lineto
-69.533 34.247 lineto
-closepath
-stroke
-grestore
-%%Trailer
-%%Pages: 1
-%%EOF
diff --git a/sim/gobs/wiki/decluster02.zsh b/sim/gobs/wiki/decluster02.zsh
deleted file mode 100755
index e6c1f5d..0000000
--- a/sim/gobs/wiki/decluster02.zsh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/zsh
-
-NAME=$1
-
-[[ ${NAME} == "" ]] && print "No NAME!" && exit 1
-
-NAME="dc02${NAME}"
-
-CFG="${NAME}.cfg"
-EPS="${NAME}.eps"
-OUT="${NAME}.out"
-
-java gobs.sweep.Decluster02 -p sweeps -n 20 -o ${EPS} ${CFG} >& ${OUT}
-ERR=$?
-
-[[ ${ERR} != 0 ]] && print "Crashed: ${NAME} ERR: ${ERR}" && exit 1
-
-exit 0
diff --git a/sim/gobs/wiki/decluster03.zsh b/sim/gobs/wiki/decluster03.zsh
deleted file mode 100755
index bf93ae6..0000000
--- a/sim/gobs/wiki/decluster03.zsh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/zsh
-
-NAME=$1
-
-[[ ${NAME} == "" ]] && print "No NAME!" && exit 1
-
-NAME="dc03${NAME}"
-
-CFG="${NAME}.cfg"
-EPS="${NAME}.eps"
-OUT="${NAME}.out"
-
-java gobs.sweep.Decluster03 -p sweeps -n 20 -o ${EPS} ${CFG} >& ${OUT}
-ERR=$?
-
-[[ ${ERR} != 0 ]] && print "Crashed: ${NAME}" && exit 1
-
-exit 0
diff --git a/sim/gobs/wiki/decluster04.zsh b/sim/gobs/wiki/decluster04.zsh
deleted file mode 100755
index 862cfdf..0000000
--- a/sim/gobs/wiki/decluster04.zsh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/zsh
-
-NAME=$1
-
-[[ ${NAME} == "" ]] && print "No NAME!" && exit 1
-
-NAME="dc04${NAME}"
-
-CFG="${NAME}.cfg"
-EPS="${NAME}.eps"
-OUT="${NAME}.out"
-
-java gobs.sweep.Decluster04 -p sweeps -n 20 -o ${EPS} ${CFG} >& ${OUT}
-ERR=$?
-
-[[ ${ERR} != 0 ]] && print "Crashed: ${NAME} ERR: ${ERR}" && exit 1
-
-exit 0
diff --git a/sim/gobs/wiki/dl01-small.cfg b/sim/gobs/wiki/dl01-small.cfg
deleted file mode 100644
index 3d78181..0000000
--- a/sim/gobs/wiki/dl01-small.cfg
+++ /dev/null
@@ -1,79 +0,0 @@
-
-# Simulator configuration
-
-# Basics:
-
-include = rb_output.cfg
-
-# Statistics:
-
-# Rebuild traffic over time analysis:
-plot.traffic.interval = 10
-
-### Parameters for GOBS Simulator run
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 16
-# Number of servers:
-nodes.min = 12
-nodes.max = 16
-# Step through nodes: See AbstractSweep.values()
-nodes.step = literal_14,16,18
-# Number of files:
-files = 6
-# Number of faults:
-faults = 2
-# Number of accesses:
-reads = 0
-writes = 0
-
-# Step through MTTF values: See AbstractSweep.values()
-mttf.min = 150
-mttf.max = 600
-mttf.step = exps
-
-### Choose a PlacementScheme implementation:
-
-#impl.placement = Kademlia
-impl.placement = Nearest
-#impl.placement = VertexGroups
-
-vertexgroups.prefix = 6
-# Replica selection: See Replicated.locateSource()
-replica.source = primary
-
-### Choose a NodeScheme implementation:
-
-# impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
-
-### Choose one of the following FileFactory sections:
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PlainFiles
-# File size:
-file.size = 140
-# Strip size:
-file.strip = 4
-# File/object replicas:
-file.replicas = 3
-# Number of objects per file:
-file.width = 3
-
-# FileFactory implementation TraceFiles
-#impl.filefactory = TraceFiles
-# Trace filename:
-#filetrace = traces/test01.trace
-
-# FileFactory implementation RandomFiles
-#impl.filefactory = RandomFiles
-# Max size of big files:
-#filebigmax = 100
-# Min size of big files:
-#filebigmin = 50
-# Max size of small files:
-#filesmallmax = 20
-# Min size of small files:
-#filesmallmin = 0
diff --git a/sim/gobs/wiki/dl01-small.eps b/sim/gobs/wiki/dl01-small.eps
deleted file mode 100644
index 01043d9..0000000
--- a/sim/gobs/wiki/dl01-small.eps
+++ /dev/null
@@ -1,3771 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (Apache XML Graphics Commons: EPS Generator for Java2D)
-%%CreationDate: 2009-12-05T15:30:00
-%%Pages: (atend)
-%%BoundingBox: 0 0 400 400
-%%LanguageLevel: 3
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset (Apache XML Graphics Std ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2001-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (Basic set of procedures used by the XML Graphics project \(Batik and FOP\))
-/bd{bind def}bind def
-/ld{load def}bd
-/M/moveto ld
-/RM/rmoveto ld
-/t/show ld
-/A/ashow ld
-/cp/closepath ld
-/re {4 2 roll M
-1 index 0 rlineto
-0 exch rlineto
-neg 0 rlineto
-cp } bd
-/_ctm matrix def
-/_tm matrix def
-/BT { _ctm currentmatrix pop matrix _tm copy pop 0 0 moveto } bd
-/ET { _ctm setmatrix } bd
-/iTm { _ctm setmatrix _tm concat } bd
-/Tm { _tm astore pop iTm 0 0 moveto } bd
-/ux 0.0 def
-/uy 0.0 def
-/F {
- /Tp exch def
- /Tf exch def
- Tf findfont Tp scalefont setfont
- /cf Tf def /cs Tp def /cw ( ) stringwidth pop def
-} bd
-/ULS {currentpoint /uy exch def /ux exch def} bd
-/ULE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add moveto Tcx uy To add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/OLE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs add moveto Tcx uy To add cs add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/SOE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs 10 mul 26 idiv add moveto Tcx uy To add cs 10 mul 26 idiv add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/QUADTO {
-/Y22 exch store
-/X22 exch store
-/Y21 exch store
-/X21 exch store
-currentpoint
-/Y21 load 2 mul add 3 div exch
-/X21 load 2 mul add 3 div exch
-/X21 load 2 mul /X22 load add 3 div
-/Y21 load 2 mul /Y22 load add 3 div
-/X22 load /Y22 load curveto
-} bd
-/SSPD {
-dup length /d exch dict def
-{
-/v exch def
-/k exch def
-currentpagedevice k known {
-/cpdv currentpagedevice k get def
-v cpdv ne {
-/upd false def
-/nullv v type /nulltype eq def
-/nullcpdv cpdv type /nulltype eq def
-nullv nullcpdv or
-{
-/upd true def
-} {
-/sametype v type cpdv type eq def
-sametype {
-v type /arraytype eq {
-/vlen v length def
-/cpdvlen cpdv length def
-vlen cpdvlen eq {
-0 1 vlen 1 sub {
-/i exch def
-/obj v i get def
-/cpdobj cpdv i get def
-obj cpdobj ne {
-/upd true def
-exit
-} if
-} for
-} {
-/upd true def
-} ifelse
-} {
-v type /dicttype eq {
-v {
-/dv exch def
-/dk exch def
-/cpddv cpdv dk get def
-dv cpddv ne {
-/upd true def
-exit
-} if
-} forall
-} {
-/upd true def
-} ifelse
-} ifelse
-} if
-} ifelse
-upd true eq {
-d k v put
-} if
-} if
-} if
-} forall
-d length 0 gt {
-d setpagedevice
-} if
-} bd
-%%EndResource
-%%BeginResource: procset (Apache XML Graphics EPS ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2002-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (EPS procedures used by the Apache XML Graphics project \(Batik and FOP\))
-/BeginEPSF { %def
-/b4_Inc_state save def % Save state for cleanup
-/dict_count countdictstack def % Count objects on dict stack
-/op_count count 1 sub def % Count objects on operand stack
-userdict begin % Push userdict on dict stack
-/showpage { } def % Redefine showpage, { } = null proc
-0 setgray 0 setlinecap % Prepare graphics state
-1 setlinewidth 0 setlinejoin
-10 setmiterlimit [ ] 0 setdash newpath
-/languagelevel where % If level not equal to 1 then
-{pop languagelevel % set strokeadjust and
-1 ne % overprint to their defaults.
-{false setstrokeadjust false setoverprint
-} if
-} if
-} bd
-/EndEPSF { %def
-count op_count sub {pop} repeat % Clean up stacks
-countdictstack dict_count sub {end} repeat
-b4_Inc_state restore
-} bd
-%%EndResource
-%%EndProlog
-%%Page: 1 1
-%%PageBoundingBox: 0 0 400 400
-%%BeginPageSetup
-[1 0 0 -1 0 400] concat
-%%EndPageSetup
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-152.465 13.744 M
-152.465 17.275 150.582 19.291 QUADTO
-148.699 21.307 145.418 21.307 QUADTO
-142.121 21.307 140.246 19.26 QUADTO
-138.371 17.213 138.371 13.744 QUADTO
-138.371 10.244 140.246 8.205 QUADTO
-142.121 6.166 145.418 6.166 QUADTO
-148.699 6.166 150.582 8.189 QUADTO
-152.465 10.213 152.465 13.744 QUADTO
-closepath
-148.699 13.729 M
-148.699 12.432 148.426 11.518 QUADTO
-148.152 10.604 147.699 10.025 QUADTO
-147.23 9.432 146.645 9.174 QUADTO
-146.059 8.916 145.418 8.916 QUADTO
-144.746 8.916 144.199 9.15 QUADTO
-143.652 9.385 143.152 10.01 QUADTO
-142.699 10.572 142.418 11.51 QUADTO
-142.137 12.447 142.137 13.744 QUADTO
-142.137 15.088 142.402 15.971 QUADTO
-142.668 16.854 143.121 17.447 QUADTO
-143.59 18.057 144.191 18.314 QUADTO
-144.793 18.572 145.418 18.572 QUADTO
-146.059 18.572 146.668 18.291 QUADTO
-147.277 18.01 147.715 17.432 QUADTO
-148.184 16.791 148.441 15.947 QUADTO
-148.699 15.104 148.699 13.729 QUADTO
-closepath
-161.678 15.447 M
-161.678 13.807 161.178 13.104 QUADTO
-160.678 12.4 159.646 12.4 QUADTO
-159.193 12.4 158.74 12.541 QUADTO
-158.287 12.682 157.85 12.979 QUADTO
-157.85 18.494 lineto
-158.178 18.619 158.529 18.674 QUADTO
-158.881 18.729 159.225 18.729 QUADTO
-160.459 18.729 161.068 17.908 QUADTO
-161.678 17.088 161.678 15.447 QUADTO
-closepath
-165.178 15.369 M
-165.178 17.994 163.85 19.611 QUADTO
-162.521 21.229 160.553 21.229 QUADTO
-159.74 21.229 159.131 21.041 QUADTO
-158.521 20.854 157.85 20.463 QUADTO
-157.693 21.01 lineto
-154.428 21.01 lineto
-154.428 5.807 lineto
-157.85 5.807 lineto
-157.85 11.182 lineto
-158.6 10.541 159.381 10.143 QUADTO
-160.162 9.744 161.178 9.744 QUADTO
-163.1 9.744 164.139 11.236 QUADTO
-165.178 12.729 165.178 15.369 QUADTO
-closepath
-171.705 21.213 M
-171.705 23.057 170.596 24.096 QUADTO
-169.486 25.135 167.752 25.135 QUADTO
-166.814 25.135 166.049 25.057 QUADTO
-165.283 24.979 164.924 24.885 QUADTO
-164.924 22.369 lineto
-165.189 22.369 lineto
-165.533 22.479 165.939 22.541 QUADTO
-166.346 22.604 166.58 22.604 QUADTO
-167.564 22.604 167.924 21.994 QUADTO
-168.283 21.385 168.283 20.01 QUADTO
-168.283 12.432 lineto
-166.314 12.432 lineto
-166.314 10.041 lineto
-171.705 10.041 lineto
-171.705 21.213 lineto
-closepath
-171.705 8.479 M
-168.064 8.479 lineto
-168.064 5.807 lineto
-171.705 5.807 lineto
-171.705 8.479 lineto
-closepath
-179.93 21.307 M
-176.82 21.307 175.172 19.822 QUADTO
-173.523 18.338 173.523 15.588 QUADTO
-173.523 12.9 175.062 11.299 QUADTO
-176.602 9.697 179.383 9.697 QUADTO
-181.898 9.697 183.164 11.057 QUADTO
-184.43 12.416 184.43 14.947 QUADTO
-184.43 16.182 lineto
-176.945 16.182 lineto
-176.992 16.932 177.266 17.447 QUADTO
-177.539 17.963 177.992 18.26 QUADTO
-178.43 18.572 179.016 18.705 QUADTO
-179.602 18.838 180.289 18.838 QUADTO
-180.883 18.838 181.461 18.705 QUADTO
-182.039 18.572 182.523 18.354 QUADTO
-182.945 18.166 183.297 17.955 QUADTO
-183.648 17.744 183.883 17.572 QUADTO
-184.242 17.572 lineto
-184.242 20.4 lineto
-183.82 20.557 183.477 20.697 QUADTO
-183.133 20.838 182.523 20.994 QUADTO
-181.961 21.135 181.375 21.221 QUADTO
-180.789 21.307 179.93 21.307 QUADTO
-closepath
-181.07 14.119 M
-181.039 13.025 180.562 12.463 QUADTO
-180.086 11.9 179.117 11.9 QUADTO
-178.117 11.9 177.555 12.494 QUADTO
-176.992 13.088 176.93 14.119 QUADTO
-181.07 14.119 lineto
-closepath
-191.57 21.307 M
-190.211 21.307 189.086 20.963 QUADTO
-187.961 20.619 187.133 19.9 QUADTO
-186.305 19.197 185.852 18.119 QUADTO
-185.398 17.041 185.398 15.572 QUADTO
-185.398 13.994 185.891 12.893 QUADTO
-186.383 11.791 187.242 11.072 QUADTO
-188.055 10.4 189.164 10.072 QUADTO
-190.273 9.744 191.477 9.744 QUADTO
-192.383 9.744 193.289 9.955 QUADTO
-194.195 10.166 195.117 10.619 QUADTO
-195.117 13.541 lineto
-194.68 13.541 lineto
-194.477 13.354 194.18 13.119 QUADTO
-193.883 12.885 193.523 12.682 QUADTO
-193.148 12.479 192.68 12.338 QUADTO
-192.211 12.197 191.648 12.197 QUADTO
-190.336 12.197 189.617 13.111 QUADTO
-188.898 14.025 188.898 15.572 QUADTO
-188.898 17.213 189.664 18.025 QUADTO
-190.43 18.838 191.695 18.838 QUADTO
-192.352 18.838 192.836 18.689 QUADTO
-193.32 18.541 193.68 18.338 QUADTO
-194.008 18.135 194.258 17.916 QUADTO
-194.508 17.697 194.68 17.525 QUADTO
-195.117 17.525 lineto
-195.117 20.447 lineto
-194.82 20.572 194.438 20.744 QUADTO
-194.055 20.916 193.648 21.025 QUADTO
-193.148 21.15 192.719 21.229 QUADTO
-192.289 21.307 191.57 21.307 QUADTO
-closepath
-200.945 21.229 M
-198.852 21.229 197.898 20.369 QUADTO
-196.945 19.51 196.945 17.557 QUADTO
-196.945 12.432 lineto
-195.633 12.432 lineto
-195.633 10.041 lineto
-196.945 10.041 lineto
-196.945 6.9 lineto
-200.367 6.9 lineto
-200.367 10.041 lineto
-203.648 10.041 lineto
-203.648 12.432 lineto
-200.367 12.432 lineto
-200.367 16.307 lineto
-200.367 16.885 200.375 17.314 QUADTO
-200.383 17.744 200.523 18.088 QUADTO
-200.664 18.432 201.008 18.635 QUADTO
-201.352 18.838 202.023 18.838 QUADTO
-202.289 18.838 202.734 18.721 QUADTO
-203.18 18.604 203.367 18.494 QUADTO
-203.648 18.494 lineto
-203.648 20.916 lineto
-203.102 21.057 202.477 21.143 QUADTO
-201.852 21.229 200.945 21.229 QUADTO
-closepath
-208.396 21.307 M
-207.178 21.307 206.1 21.049 QUADTO
-205.021 20.791 204.318 20.432 QUADTO
-204.318 17.541 lineto
-204.6 17.541 lineto
-204.85 17.729 205.162 17.955 QUADTO
-205.475 18.182 206.021 18.416 QUADTO
-206.506 18.65 207.107 18.807 QUADTO
-207.709 18.963 208.412 18.963 QUADTO
-209.131 18.963 209.686 18.744 QUADTO
-210.24 18.525 210.24 18.025 QUADTO
-210.24 17.65 209.982 17.455 QUADTO
-209.725 17.26 208.99 17.088 QUADTO
-208.6 16.979 208.006 16.869 QUADTO
-207.412 16.76 206.959 16.619 QUADTO
-205.662 16.213 205.014 15.424 QUADTO
-204.365 14.635 204.365 13.369 QUADTO
-204.365 12.635 204.701 11.986 QUADTO
-205.037 11.338 205.693 10.822 QUADTO
-206.35 10.322 207.311 10.033 QUADTO
-208.271 9.744 209.49 9.744 QUADTO
-210.631 9.744 211.6 9.971 QUADTO
-212.568 10.197 213.24 10.525 QUADTO
-213.24 13.291 lineto
-212.959 13.291 lineto
-212.787 13.15 212.404 12.924 QUADTO
-212.021 12.697 211.662 12.525 QUADTO
-211.225 12.338 210.693 12.213 QUADTO
-210.162 12.088 209.615 12.088 QUADTO
-208.865 12.088 208.357 12.338 QUADTO
-207.85 12.588 207.85 13.01 QUADTO
-207.85 13.385 208.1 13.596 QUADTO
-208.35 13.807 209.193 14.01 QUADTO
-209.646 14.119 210.217 14.221 QUADTO
-210.787 14.322 211.303 14.51 QUADTO
-212.49 14.885 213.1 15.619 QUADTO
-213.709 16.354 213.709 17.588 QUADTO
-213.709 18.354 213.35 19.049 QUADTO
-212.99 19.744 212.318 20.229 QUADTO
-211.615 20.744 210.67 21.025 QUADTO
-209.725 21.307 208.396 21.307 QUADTO
-closepath
-231.111 21.01 M
-221.393 21.01 lineto
-221.393 6.463 lineto
-225.049 6.463 lineto
-225.049 18.229 lineto
-231.111 18.229 lineto
-231.111 21.01 lineto
-closepath
-243.182 15.525 M
-243.182 18.229 241.697 19.791 QUADTO
-240.213 21.354 237.51 21.354 QUADTO
-234.822 21.354 233.338 19.791 QUADTO
-231.854 18.229 231.854 15.525 QUADTO
-231.854 12.791 233.338 11.244 QUADTO
-234.822 9.697 237.51 9.697 QUADTO
-240.213 9.697 241.697 11.26 QUADTO
-243.182 12.822 243.182 15.525 QUADTO
-closepath
-239.666 15.557 M
-239.666 14.572 239.51 13.924 QUADTO
-239.354 13.275 239.057 12.885 QUADTO
-238.76 12.479 238.377 12.314 QUADTO
-237.994 12.15 237.51 12.15 QUADTO
-237.057 12.15 236.682 12.291 QUADTO
-236.307 12.432 235.994 12.838 QUADTO
-235.697 13.213 235.525 13.877 QUADTO
-235.354 14.541 235.354 15.557 QUADTO
-235.354 16.557 235.518 17.174 QUADTO
-235.682 17.791 235.947 18.166 QUADTO
-236.229 18.541 236.635 18.721 QUADTO
-237.041 18.9 237.541 18.9 QUADTO
-237.947 18.9 238.377 18.721 QUADTO
-238.807 18.541 239.057 18.197 QUADTO
-239.354 17.775 239.51 17.182 QUADTO
-239.666 16.588 239.666 15.557 QUADTO
-closepath
-248.338 21.307 M
-247.119 21.307 246.041 21.049 QUADTO
-244.963 20.791 244.26 20.432 QUADTO
-244.26 17.541 lineto
-244.541 17.541 lineto
-244.791 17.729 245.104 17.955 QUADTO
-245.416 18.182 245.963 18.416 QUADTO
-246.447 18.65 247.049 18.807 QUADTO
-247.65 18.963 248.354 18.963 QUADTO
-249.072 18.963 249.627 18.744 QUADTO
-250.182 18.525 250.182 18.025 QUADTO
-250.182 17.65 249.924 17.455 QUADTO
-249.666 17.26 248.932 17.088 QUADTO
-248.541 16.979 247.947 16.869 QUADTO
-247.354 16.76 246.9 16.619 QUADTO
-245.604 16.213 244.955 15.424 QUADTO
-244.307 14.635 244.307 13.369 QUADTO
-244.307 12.635 244.643 11.986 QUADTO
-244.979 11.338 245.635 10.822 QUADTO
-246.291 10.322 247.252 10.033 QUADTO
-248.213 9.744 249.432 9.744 QUADTO
-250.572 9.744 251.541 9.971 QUADTO
-252.51 10.197 253.182 10.525 QUADTO
-253.182 13.291 lineto
-252.9 13.291 lineto
-252.729 13.15 252.346 12.924 QUADTO
-251.963 12.697 251.604 12.525 QUADTO
-251.166 12.338 250.635 12.213 QUADTO
-250.104 12.088 249.557 12.088 QUADTO
-248.807 12.088 248.299 12.338 QUADTO
-247.791 12.588 247.791 13.01 QUADTO
-247.791 13.385 248.041 13.596 QUADTO
-248.291 13.807 249.135 14.01 QUADTO
-249.588 14.119 250.158 14.221 QUADTO
-250.729 14.322 251.244 14.51 QUADTO
-252.432 14.885 253.041 15.619 QUADTO
-253.65 16.354 253.65 17.588 QUADTO
-253.65 18.354 253.291 19.049 QUADTO
-252.932 19.744 252.26 20.229 QUADTO
-251.557 20.744 250.611 21.025 QUADTO
-249.666 21.307 248.338 21.307 QUADTO
-closepath
-259.49 21.229 M
-257.396 21.229 256.443 20.369 QUADTO
-255.49 19.51 255.49 17.557 QUADTO
-255.49 12.432 lineto
-254.178 12.432 lineto
-254.178 10.041 lineto
-255.49 10.041 lineto
-255.49 6.9 lineto
-258.912 6.9 lineto
-258.912 10.041 lineto
-262.193 10.041 lineto
-262.193 12.432 lineto
-258.912 12.432 lineto
-258.912 16.307 lineto
-258.912 16.885 258.92 17.314 QUADTO
-258.928 17.744 259.068 18.088 QUADTO
-259.209 18.432 259.553 18.635 QUADTO
-259.896 18.838 260.568 18.838 QUADTO
-260.834 18.838 261.279 18.721 QUADTO
-261.725 18.604 261.912 18.494 QUADTO
-262.193 18.494 lineto
-262.193 20.916 lineto
-261.646 21.057 261.021 21.143 QUADTO
-260.396 21.229 259.49 21.229 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-71.356 376.516 M
-328.644 376.516 lineto
-328.644 399 lineto
-71.356 399 lineto
-71.356 376.516 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-71.856 377.016 M
-328.144 377.016 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-71.856 398.5 M
-328.144 398.5 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-71.856 398.5 M
-71.856 377.016 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-328.144 398.5 M
-328.144 377.016 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-75.356 387.758 M
-89.356 387.758 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-79.356 384.758 M
-85.356 384.758 lineto
-85.356 390.758 lineto
-79.356 390.758 lineto
-79.356 384.758 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-79.356 384.758 M
-85.356 384.758 lineto
-85.356 390.758 lineto
-79.356 390.758 lineto
-79.356 384.758 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-99.747 386.428 M
-99.747 386.99 99.544 387.498 QUADTO
-99.341 388.006 98.981 388.365 QUADTO
-98.544 388.818 97.935 389.045 QUADTO
-97.325 389.271 96.388 389.271 QUADTO
-95.403 389.271 lineto
-95.403 392.521 lineto
-94.247 392.521 lineto
-94.247 383.803 lineto
-96.435 383.803 lineto
-97.2 383.803 97.747 383.928 QUADTO
-98.294 384.053 98.716 384.334 QUADTO
-99.2 384.678 99.474 385.186 QUADTO
-99.747 385.693 99.747 386.428 QUADTO
-closepath
-98.544 386.459 M
-98.544 386.006 98.388 385.67 QUADTO
-98.231 385.334 97.919 385.131 QUADTO
-97.638 384.943 97.271 384.865 QUADTO
-96.903 384.787 96.356 384.787 QUADTO
-95.403 384.787 lineto
-95.403 388.271 lineto
-96.2 388.271 lineto
-96.903 388.271 97.333 388.162 QUADTO
-97.763 388.053 98.044 387.756 QUADTO
-98.31 387.49 98.427 387.178 QUADTO
-98.544 386.865 98.544 386.459 QUADTO
-closepath
-99.909 392.521 M
-102.862 383.803 lineto
-104.284 383.803 lineto
-107.222 392.521 lineto
-106.003 392.521 lineto
-105.206 390.084 lineto
-101.878 390.084 lineto
-101.081 392.521 lineto
-99.909 392.521 lineto
-closepath
-104.894 389.1 M
-103.534 384.975 lineto
-102.206 389.1 lineto
-104.894 389.1 lineto
-closepath
-110.479 392.678 M
-109.542 392.678 108.87 392.482 QUADTO
-108.198 392.287 107.62 392.006 QUADTO
-107.62 390.553 lineto
-107.698 390.553 lineto
-108.276 391.084 109.003 391.381 QUADTO
-109.729 391.678 110.401 391.678 QUADTO
-111.37 391.678 111.862 391.279 QUADTO
-112.354 390.881 112.354 390.225 QUADTO
-112.354 389.693 112.097 389.365 QUADTO
-111.839 389.037 111.276 388.881 QUADTO
-110.87 388.771 110.534 388.693 QUADTO
-110.198 388.615 109.698 388.49 QUADTO
-109.245 388.365 108.886 388.186 QUADTO
-108.526 388.006 108.245 387.709 QUADTO
-107.979 387.428 107.831 387.037 QUADTO
-107.683 386.646 107.683 386.131 QUADTO
-107.683 385.068 108.511 384.35 QUADTO
-109.339 383.631 110.62 383.631 QUADTO
-111.354 383.631 112.003 383.779 QUADTO
-112.651 383.928 113.214 384.193 QUADTO
-113.214 385.584 lineto
-113.12 385.584 lineto
-112.714 385.209 112.065 384.928 QUADTO
-111.417 384.646 110.698 384.646 QUADTO
-109.886 384.646 109.386 385.021 QUADTO
-108.886 385.396 108.886 386.006 QUADTO
-108.886 386.568 109.183 386.896 QUADTO
-109.479 387.225 110.026 387.381 QUADTO
-110.401 387.475 110.933 387.6 QUADTO
-111.464 387.725 111.823 387.834 QUADTO
-112.729 388.115 113.144 388.67 QUADTO
-113.558 389.225 113.558 390.037 QUADTO
-113.558 390.553 113.347 391.045 QUADTO
-113.136 391.537 112.761 391.881 QUADTO
-112.339 392.271 111.808 392.475 QUADTO
-111.276 392.678 110.479 392.678 QUADTO
-closepath
-116.774 392.521 M
-116.774 384.834 lineto
-113.853 384.834 lineto
-113.853 383.803 lineto
-120.868 383.803 lineto
-120.868 384.834 lineto
-117.931 384.834 lineto
-117.931 392.521 lineto
-116.774 392.521 lineto
-closepath
-131.735 392.521 M
-130.438 392.521 lineto
-126.579 384.99 lineto
-126.579 392.521 lineto
-125.501 392.521 lineto
-125.501 383.803 lineto
-127.142 383.803 lineto
-130.657 390.709 lineto
-130.657 383.803 lineto
-131.735 383.803 lineto
-131.735 392.521 lineto
-closepath
-140.229 387.943 M
-133.745 387.943 lineto
-133.745 387.006 lineto
-140.229 387.006 lineto
-140.229 387.943 lineto
-closepath
-140.229 390.396 M
-133.745 390.396 lineto
-133.745 389.459 lineto
-140.229 389.459 lineto
-140.229 390.396 lineto
-closepath
-146.929 392.521 M
-142.679 392.521 lineto
-142.679 391.631 lineto
-144.257 391.631 lineto
-144.257 385.787 lineto
-142.679 385.787 lineto
-142.679 384.99 lineto
-143.569 384.99 143.999 384.732 QUADTO
-144.429 384.475 144.476 383.771 QUADTO
-145.382 383.771 lineto
-145.382 391.631 lineto
-146.929 391.631 lineto
-146.929 392.521 lineto
-closepath
-154.151 389.521 M
-153.12 389.521 lineto
-153.12 392.521 lineto
-151.995 392.521 lineto
-151.995 389.521 lineto
-148.136 389.521 lineto
-148.136 388.287 lineto
-152.042 383.803 lineto
-153.12 383.803 lineto
-153.12 388.584 lineto
-154.151 388.584 lineto
-154.151 389.521 lineto
-closepath
-151.995 388.584 M
-151.995 385.178 lineto
-149.058 388.584 lineto
-151.995 388.584 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-160.452 387.758 M
-174.452 387.758 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-170.452 387.758 M
-170.452 389.415 169.109 390.758 167.452 390.758 curveto
-165.795 390.758 164.452 389.415 164.452 387.758 curveto
-164.452 386.101 165.795 384.758 167.452 384.758 curveto
-169.109 384.758 170.452 386.101 170.452 387.758 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.452 387.758 M
-170.452 389.415 169.109 390.758 167.452 390.758 curveto
-165.795 390.758 164.452 389.415 164.452 387.758 curveto
-164.452 386.101 165.795 384.758 167.452 384.758 curveto
-169.109 384.758 170.452 386.101 170.452 387.758 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-184.843 386.428 M
-184.843 386.99 184.64 387.498 QUADTO
-184.437 388.006 184.077 388.365 QUADTO
-183.64 388.818 183.03 389.045 QUADTO
-182.421 389.271 181.483 389.271 QUADTO
-180.499 389.271 lineto
-180.499 392.521 lineto
-179.343 392.521 lineto
-179.343 383.803 lineto
-181.53 383.803 lineto
-182.296 383.803 182.843 383.928 QUADTO
-183.39 384.053 183.812 384.334 QUADTO
-184.296 384.678 184.569 385.186 QUADTO
-184.843 385.693 184.843 386.428 QUADTO
-closepath
-183.64 386.459 M
-183.64 386.006 183.483 385.67 QUADTO
-183.327 385.334 183.015 385.131 QUADTO
-182.733 384.943 182.366 384.865 QUADTO
-181.999 384.787 181.452 384.787 QUADTO
-180.499 384.787 lineto
-180.499 388.271 lineto
-181.296 388.271 lineto
-181.999 388.271 182.429 388.162 QUADTO
-182.858 388.053 183.14 387.756 QUADTO
-183.405 387.49 183.522 387.178 QUADTO
-183.64 386.865 183.64 386.459 QUADTO
-closepath
-185.005 392.521 M
-187.958 383.803 lineto
-189.38 383.803 lineto
-192.317 392.521 lineto
-191.099 392.521 lineto
-190.302 390.084 lineto
-186.974 390.084 lineto
-186.177 392.521 lineto
-185.005 392.521 lineto
-closepath
-189.989 389.1 M
-188.63 384.975 lineto
-187.302 389.1 lineto
-189.989 389.1 lineto
-closepath
-195.575 392.678 M
-194.638 392.678 193.966 392.482 QUADTO
-193.294 392.287 192.716 392.006 QUADTO
-192.716 390.553 lineto
-192.794 390.553 lineto
-193.372 391.084 194.099 391.381 QUADTO
-194.825 391.678 195.497 391.678 QUADTO
-196.466 391.678 196.958 391.279 QUADTO
-197.45 390.881 197.45 390.225 QUADTO
-197.45 389.693 197.192 389.365 QUADTO
-196.935 389.037 196.372 388.881 QUADTO
-195.966 388.771 195.63 388.693 QUADTO
-195.294 388.615 194.794 388.49 QUADTO
-194.341 388.365 193.981 388.186 QUADTO
-193.622 388.006 193.341 387.709 QUADTO
-193.075 387.428 192.927 387.037 QUADTO
-192.778 386.646 192.778 386.131 QUADTO
-192.778 385.068 193.606 384.35 QUADTO
-194.435 383.631 195.716 383.631 QUADTO
-196.45 383.631 197.099 383.779 QUADTO
-197.747 383.928 198.31 384.193 QUADTO
-198.31 385.584 lineto
-198.216 385.584 lineto
-197.81 385.209 197.161 384.928 QUADTO
-196.513 384.646 195.794 384.646 QUADTO
-194.981 384.646 194.481 385.021 QUADTO
-193.981 385.396 193.981 386.006 QUADTO
-193.981 386.568 194.278 386.896 QUADTO
-194.575 387.225 195.122 387.381 QUADTO
-195.497 387.475 196.028 387.6 QUADTO
-196.56 387.725 196.919 387.834 QUADTO
-197.825 388.115 198.239 388.67 QUADTO
-198.653 389.225 198.653 390.037 QUADTO
-198.653 390.553 198.442 391.045 QUADTO
-198.231 391.537 197.856 391.881 QUADTO
-197.435 392.271 196.903 392.475 QUADTO
-196.372 392.678 195.575 392.678 QUADTO
-closepath
-201.87 392.521 M
-201.87 384.834 lineto
-198.948 384.834 lineto
-198.948 383.803 lineto
-205.964 383.803 lineto
-205.964 384.834 lineto
-203.026 384.834 lineto
-203.026 392.521 lineto
-201.87 392.521 lineto
-closepath
-216.831 392.521 M
-215.534 392.521 lineto
-211.675 384.99 lineto
-211.675 392.521 lineto
-210.597 392.521 lineto
-210.597 383.803 lineto
-212.237 383.803 lineto
-215.753 390.709 lineto
-215.753 383.803 lineto
-216.831 383.803 lineto
-216.831 392.521 lineto
-closepath
-225.325 387.943 M
-218.841 387.943 lineto
-218.841 387.006 lineto
-225.325 387.006 lineto
-225.325 387.943 lineto
-closepath
-225.325 390.396 M
-218.841 390.396 lineto
-218.841 389.459 lineto
-225.325 389.459 lineto
-225.325 390.396 lineto
-closepath
-232.024 392.521 M
-227.774 392.521 lineto
-227.774 391.631 lineto
-229.353 391.631 lineto
-229.353 385.787 lineto
-227.774 385.787 lineto
-227.774 384.99 lineto
-228.665 384.99 229.095 384.732 QUADTO
-229.524 384.475 229.571 383.771 QUADTO
-230.478 383.771 lineto
-230.478 391.631 lineto
-232.024 391.631 lineto
-232.024 392.521 lineto
-closepath
-239.153 389.693 M
-239.153 390.365 238.935 390.936 QUADTO
-238.716 391.506 238.341 391.881 QUADTO
-237.95 392.287 237.458 392.498 QUADTO
-236.966 392.709 236.388 392.709 QUADTO
-235.794 392.709 235.31 392.506 QUADTO
-234.825 392.303 234.45 391.912 QUADTO
-234.013 391.443 233.755 390.646 QUADTO
-233.497 389.85 233.497 388.693 QUADTO
-233.497 387.553 233.731 386.639 QUADTO
-233.966 385.725 234.45 385.037 QUADTO
-234.919 384.381 235.669 384.006 QUADTO
-236.419 383.631 237.403 383.631 QUADTO
-237.7 383.631 237.95 383.662 QUADTO
-238.2 383.693 238.403 383.756 QUADTO
-238.403 384.881 lineto
-238.341 384.881 lineto
-238.185 384.787 237.888 384.717 QUADTO
-237.591 384.646 237.247 384.646 QUADTO
-236.169 384.646 235.497 385.381 QUADTO
-234.825 386.115 234.7 387.553 QUADTO
-235.106 387.271 235.552 387.107 QUADTO
-235.997 386.943 236.513 386.943 QUADTO
-237.028 386.943 237.411 387.045 QUADTO
-237.794 387.146 238.2 387.459 QUADTO
-238.685 387.834 238.919 388.389 QUADTO
-239.153 388.943 239.153 389.693 QUADTO
-closepath
-237.966 389.74 M
-237.966 389.193 237.825 388.834 QUADTO
-237.685 388.475 237.372 388.209 QUADTO
-237.138 388.021 236.849 387.967 QUADTO
-236.56 387.912 236.263 387.912 QUADTO
-235.841 387.912 235.458 388.037 QUADTO
-235.075 388.162 234.7 388.396 QUADTO
-234.685 388.521 234.677 388.639 QUADTO
-234.669 388.756 234.669 388.943 QUADTO
-234.669 389.85 234.849 390.404 QUADTO
-235.028 390.959 235.294 391.256 QUADTO
-235.544 391.521 235.81 391.631 QUADTO
-236.075 391.74 236.388 391.74 QUADTO
-237.091 391.74 237.528 391.24 QUADTO
-237.966 390.74 237.966 389.74 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-245.548 387.758 M
-259.548 387.758 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-252.548 384.758 M
-255.548 390.758 lineto
-249.548 390.758 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-252.548 384.758 M
-255.548 390.758 lineto
-249.548 390.758 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-269.938 386.428 M
-269.938 386.99 269.735 387.498 QUADTO
-269.532 388.006 269.173 388.365 QUADTO
-268.735 388.818 268.126 389.045 QUADTO
-267.517 389.271 266.579 389.271 QUADTO
-265.595 389.271 lineto
-265.595 392.521 lineto
-264.438 392.521 lineto
-264.438 383.803 lineto
-266.626 383.803 lineto
-267.392 383.803 267.938 383.928 QUADTO
-268.485 384.053 268.907 384.334 QUADTO
-269.392 384.678 269.665 385.186 QUADTO
-269.938 385.693 269.938 386.428 QUADTO
-closepath
-268.735 386.459 M
-268.735 386.006 268.579 385.67 QUADTO
-268.423 385.334 268.11 385.131 QUADTO
-267.829 384.943 267.462 384.865 QUADTO
-267.095 384.787 266.548 384.787 QUADTO
-265.595 384.787 lineto
-265.595 388.271 lineto
-266.392 388.271 lineto
-267.095 388.271 267.524 388.162 QUADTO
-267.954 388.053 268.235 387.756 QUADTO
-268.501 387.49 268.618 387.178 QUADTO
-268.735 386.865 268.735 386.459 QUADTO
-closepath
-270.101 392.521 M
-273.054 383.803 lineto
-274.476 383.803 lineto
-277.413 392.521 lineto
-276.194 392.521 lineto
-275.397 390.084 lineto
-272.069 390.084 lineto
-271.272 392.521 lineto
-270.101 392.521 lineto
-closepath
-275.085 389.1 M
-273.726 384.975 lineto
-272.397 389.1 lineto
-275.085 389.1 lineto
-closepath
-280.671 392.678 M
-279.733 392.678 279.062 392.482 QUADTO
-278.39 392.287 277.812 392.006 QUADTO
-277.812 390.553 lineto
-277.89 390.553 lineto
-278.468 391.084 279.194 391.381 QUADTO
-279.921 391.678 280.593 391.678 QUADTO
-281.562 391.678 282.054 391.279 QUADTO
-282.546 390.881 282.546 390.225 QUADTO
-282.546 389.693 282.288 389.365 QUADTO
-282.03 389.037 281.468 388.881 QUADTO
-281.062 388.771 280.726 388.693 QUADTO
-280.39 388.615 279.89 388.49 QUADTO
-279.437 388.365 279.077 388.186 QUADTO
-278.718 388.006 278.437 387.709 QUADTO
-278.171 387.428 278.022 387.037 QUADTO
-277.874 386.646 277.874 386.131 QUADTO
-277.874 385.068 278.702 384.35 QUADTO
-279.53 383.631 280.812 383.631 QUADTO
-281.546 383.631 282.194 383.779 QUADTO
-282.843 383.928 283.405 384.193 QUADTO
-283.405 385.584 lineto
-283.312 385.584 lineto
-282.905 385.209 282.257 384.928 QUADTO
-281.608 384.646 280.89 384.646 QUADTO
-280.077 384.646 279.577 385.021 QUADTO
-279.077 385.396 279.077 386.006 QUADTO
-279.077 386.568 279.374 386.896 QUADTO
-279.671 387.225 280.218 387.381 QUADTO
-280.593 387.475 281.124 387.6 QUADTO
-281.655 387.725 282.015 387.834 QUADTO
-282.921 388.115 283.335 388.67 QUADTO
-283.749 389.225 283.749 390.037 QUADTO
-283.749 390.553 283.538 391.045 QUADTO
-283.327 391.537 282.952 391.881 QUADTO
-282.53 392.271 281.999 392.475 QUADTO
-281.468 392.678 280.671 392.678 QUADTO
-closepath
-286.966 392.521 M
-286.966 384.834 lineto
-284.044 384.834 lineto
-284.044 383.803 lineto
-291.06 383.803 lineto
-291.06 384.834 lineto
-288.122 384.834 lineto
-288.122 392.521 lineto
-286.966 392.521 lineto
-closepath
-301.927 392.521 M
-300.63 392.521 lineto
-296.771 384.99 lineto
-296.771 392.521 lineto
-295.692 392.521 lineto
-295.692 383.803 lineto
-297.333 383.803 lineto
-300.849 390.709 lineto
-300.849 383.803 lineto
-301.927 383.803 lineto
-301.927 392.521 lineto
-closepath
-310.421 387.943 M
-303.937 387.943 lineto
-303.937 387.006 lineto
-310.421 387.006 lineto
-310.421 387.943 lineto
-closepath
-310.421 390.396 M
-303.937 390.396 lineto
-303.937 389.459 lineto
-310.421 389.459 lineto
-310.421 390.396 lineto
-closepath
-317.12 392.521 M
-312.87 392.521 lineto
-312.87 391.631 lineto
-314.448 391.631 lineto
-314.448 385.787 lineto
-312.87 385.787 lineto
-312.87 384.99 lineto
-313.761 384.99 314.19 384.732 QUADTO
-314.62 384.475 314.667 383.771 QUADTO
-315.573 383.771 lineto
-315.573 391.631 lineto
-317.12 391.631 lineto
-317.12 392.521 lineto
-closepath
-322.843 385.834 M
-322.843 385.24 322.452 384.85 QUADTO
-322.062 384.459 321.358 384.459 QUADTO
-320.718 384.459 320.312 384.811 QUADTO
-319.905 385.162 319.905 385.756 QUADTO
-319.905 386.193 320.116 386.49 QUADTO
-320.327 386.787 320.749 387.037 QUADTO
-320.921 387.131 321.296 387.303 QUADTO
-321.671 387.475 321.968 387.584 QUADTO
-322.483 387.193 322.663 386.779 QUADTO
-322.843 386.365 322.843 385.834 QUADTO
-closepath
-323.015 390.193 M
-323.015 389.662 322.804 389.342 QUADTO
-322.593 389.021 321.983 388.693 QUADTO
-321.78 388.584 321.452 388.459 QUADTO
-321.124 388.334 320.702 388.162 QUADTO
-320.218 388.475 319.96 388.951 QUADTO
-319.702 389.428 319.702 390.021 QUADTO
-319.702 390.818 320.179 391.334 QUADTO
-320.655 391.85 321.374 391.85 QUADTO
-322.124 391.85 322.569 391.404 QUADTO
-323.015 390.959 323.015 390.193 QUADTO
-closepath
-321.374 392.725 M
-320.718 392.725 320.187 392.529 QUADTO
-319.655 392.334 319.28 391.975 QUADTO
-318.905 391.615 318.718 391.131 QUADTO
-318.53 390.646 318.53 390.115 QUADTO
-318.53 389.396 318.905 388.803 QUADTO
-319.28 388.209 319.999 387.865 QUADTO
-319.999 387.834 lineto
-319.358 387.459 319.046 387.014 QUADTO
-318.733 386.568 318.733 385.896 QUADTO
-318.733 384.912 319.483 384.256 QUADTO
-320.233 383.6 321.374 383.6 QUADTO
-322.562 383.6 323.28 384.225 QUADTO
-323.999 384.85 323.999 385.818 QUADTO
-323.999 386.396 323.655 386.975 QUADTO
-323.312 387.553 322.671 387.881 QUADTO
-322.671 387.912 lineto
-323.421 388.271 323.819 388.779 QUADTO
-324.218 389.287 324.218 390.084 QUADTO
-324.218 391.209 323.405 391.967 QUADTO
-322.593 392.725 321.374 392.725 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-98.938 34.141 M
-388 34.141 lineto
-388 326.133 lineto
-98.938 326.133 lineto
-98.938 34.141 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-98.938 330.133 M
-388 330.133 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-107.829 346.139 M
-103.579 346.139 lineto
-103.579 345.248 lineto
-105.157 345.248 lineto
-105.157 339.404 lineto
-103.579 339.404 lineto
-103.579 338.607 lineto
-104.469 338.607 104.899 338.35 QUADTO
-105.329 338.092 105.376 337.389 QUADTO
-106.282 337.389 lineto
-106.282 345.248 lineto
-107.829 345.248 lineto
-107.829 346.139 lineto
-closepath
-114.723 343.357 M
-114.723 343.998 114.52 344.537 QUADTO
-114.317 345.076 113.958 345.467 QUADTO
-113.583 345.857 113.036 346.092 QUADTO
-112.489 346.326 111.817 346.326 QUADTO
-111.192 346.326 110.583 346.186 QUADTO
-109.973 346.045 109.536 345.826 QUADTO
-109.536 344.592 lineto
-109.614 344.592 lineto
-109.739 344.686 109.997 344.811 QUADTO
-110.254 344.936 110.551 345.045 QUADTO
-110.895 345.17 111.184 345.24 QUADTO
-111.473 345.311 111.833 345.311 QUADTO
-112.176 345.311 112.512 345.186 QUADTO
-112.848 345.061 113.098 344.779 QUADTO
-113.301 344.514 113.419 344.17 QUADTO
-113.536 343.826 113.536 343.357 QUADTO
-113.536 342.889 113.411 342.592 QUADTO
-113.286 342.295 113.051 342.107 QUADTO
-112.786 341.873 112.426 341.787 QUADTO
-112.067 341.701 111.614 341.701 QUADTO
-111.129 341.701 110.653 341.771 QUADTO
-110.176 341.842 109.879 341.904 QUADTO
-109.879 337.42 lineto
-114.676 337.42 lineto
-114.676 338.436 lineto
-111.02 338.436 lineto
-111.02 340.764 lineto
-111.223 340.732 111.434 340.725 QUADTO
-111.645 340.717 111.801 340.717 QUADTO
-112.473 340.717 112.934 340.826 QUADTO
-113.395 340.936 113.833 341.264 QUADTO
-114.27 341.592 114.497 342.084 QUADTO
-114.723 342.576 114.723 343.357 QUADTO
-closepath
-121.415 341.779 M
-121.415 344.123 120.735 345.225 QUADTO
-120.055 346.326 118.633 346.326 QUADTO
-117.18 346.326 116.508 345.201 QUADTO
-115.836 344.076 115.836 341.779 QUADTO
-115.836 339.42 116.524 338.326 QUADTO
-117.211 337.232 118.633 337.232 QUADTO
-120.071 337.232 120.743 338.365 QUADTO
-121.415 339.498 121.415 341.779 QUADTO
-closepath
-119.915 344.436 M
-120.086 343.998 120.157 343.334 QUADTO
-120.227 342.67 120.227 341.779 QUADTO
-120.227 340.873 120.157 340.209 QUADTO
-120.086 339.545 119.915 339.107 QUADTO
-119.743 338.67 119.43 338.436 QUADTO
-119.118 338.201 118.633 338.201 QUADTO
-118.149 338.201 117.829 338.436 QUADTO
-117.508 338.67 117.336 339.123 QUADTO
-117.165 339.576 117.094 340.256 QUADTO
-117.024 340.936 117.024 341.779 QUADTO
-117.024 342.701 117.079 343.318 QUADTO
-117.133 343.936 117.321 344.42 QUADTO
-117.493 344.873 117.805 345.115 QUADTO
-118.118 345.357 118.633 345.357 QUADTO
-119.118 345.357 119.43 345.123 QUADTO
-119.743 344.889 119.915 344.436 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-112.077 332.133 M
-112.077 330.133 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-137.48 346.139 M
-132.089 346.139 lineto
-132.089 344.92 lineto
-132.668 344.357 133.183 343.857 QUADTO
-133.699 343.357 134.199 342.811 QUADTO
-135.183 341.717 135.55 341.053 QUADTO
-135.918 340.389 135.918 339.686 QUADTO
-135.918 339.326 135.8 339.053 QUADTO
-135.683 338.779 135.48 338.592 QUADTO
-135.277 338.42 135.011 338.334 QUADTO
-134.746 338.248 134.418 338.248 QUADTO
-134.105 338.248 133.785 338.326 QUADTO
-133.464 338.404 133.183 338.514 QUADTO
-132.933 338.623 132.707 338.764 QUADTO
-132.48 338.904 132.339 338.998 QUADTO
-132.277 338.998 lineto
-132.277 337.764 lineto
-132.636 337.576 133.285 337.404 QUADTO
-133.933 337.232 134.511 337.232 QUADTO
-135.73 337.232 136.418 337.881 QUADTO
-137.105 338.529 137.105 339.639 QUADTO
-137.105 340.139 136.988 340.576 QUADTO
-136.871 341.014 136.652 341.373 QUADTO
-136.449 341.764 136.144 342.139 QUADTO
-135.839 342.514 135.496 342.873 QUADTO
-134.949 343.467 134.269 344.115 QUADTO
-133.589 344.764 133.183 345.139 QUADTO
-137.48 345.139 lineto
-137.48 346.139 lineto
-closepath
-144.062 341.779 M
-144.062 344.123 143.382 345.225 QUADTO
-142.703 346.326 141.281 346.326 QUADTO
-139.828 346.326 139.156 345.201 QUADTO
-138.484 344.076 138.484 341.779 QUADTO
-138.484 339.42 139.171 338.326 QUADTO
-139.859 337.232 141.281 337.232 QUADTO
-142.718 337.232 143.39 338.365 QUADTO
-144.062 339.498 144.062 341.779 QUADTO
-closepath
-142.562 344.436 M
-142.734 343.998 142.804 343.334 QUADTO
-142.875 342.67 142.875 341.779 QUADTO
-142.875 340.873 142.804 340.209 QUADTO
-142.734 339.545 142.562 339.107 QUADTO
-142.39 338.67 142.078 338.436 QUADTO
-141.765 338.201 141.281 338.201 QUADTO
-140.796 338.201 140.476 338.436 QUADTO
-140.156 338.67 139.984 339.123 QUADTO
-139.812 339.576 139.742 340.256 QUADTO
-139.671 340.936 139.671 341.779 QUADTO
-139.671 342.701 139.726 343.318 QUADTO
-139.781 343.936 139.968 344.42 QUADTO
-140.14 344.873 140.453 345.115 QUADTO
-140.765 345.357 141.281 345.357 QUADTO
-141.765 345.357 142.078 345.123 QUADTO
-142.39 344.889 142.562 344.436 QUADTO
-closepath
-150.613 341.779 M
-150.613 344.123 149.933 345.225 QUADTO
-149.253 346.326 147.832 346.326 QUADTO
-146.378 346.326 145.707 345.201 QUADTO
-145.035 344.076 145.035 341.779 QUADTO
-145.035 339.42 145.722 338.326 QUADTO
-146.41 337.232 147.832 337.232 QUADTO
-149.269 337.232 149.941 338.365 QUADTO
-150.613 339.498 150.613 341.779 QUADTO
-closepath
-149.113 344.436 M
-149.285 343.998 149.355 343.334 QUADTO
-149.425 342.67 149.425 341.779 QUADTO
-149.425 340.873 149.355 340.209 QUADTO
-149.285 339.545 149.113 339.107 QUADTO
-148.941 338.67 148.628 338.436 QUADTO
-148.316 338.201 147.832 338.201 QUADTO
-147.347 338.201 147.027 338.436 QUADTO
-146.707 338.67 146.535 339.123 QUADTO
-146.363 339.576 146.293 340.256 QUADTO
-146.222 340.936 146.222 341.779 QUADTO
-146.222 342.701 146.277 343.318 QUADTO
-146.332 343.936 146.519 344.42 QUADTO
-146.691 344.873 147.003 345.115 QUADTO
-147.316 345.357 147.832 345.357 QUADTO
-148.316 345.357 148.628 345.123 QUADTO
-148.941 344.889 149.113 344.436 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-141.275 332.133 M
-141.275 330.133 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-166.678 346.139 M
-161.288 346.139 lineto
-161.288 344.92 lineto
-161.866 344.357 162.381 343.857 QUADTO
-162.897 343.357 163.397 342.811 QUADTO
-164.381 341.717 164.749 341.053 QUADTO
-165.116 340.389 165.116 339.686 QUADTO
-165.116 339.326 164.999 339.053 QUADTO
-164.881 338.779 164.678 338.592 QUADTO
-164.475 338.42 164.21 338.334 QUADTO
-163.944 338.248 163.616 338.248 QUADTO
-163.303 338.248 162.983 338.326 QUADTO
-162.663 338.404 162.381 338.514 QUADTO
-162.131 338.623 161.905 338.764 QUADTO
-161.678 338.904 161.538 338.998 QUADTO
-161.475 338.998 lineto
-161.475 337.764 lineto
-161.835 337.576 162.483 337.404 QUADTO
-163.131 337.232 163.71 337.232 QUADTO
-164.928 337.232 165.616 337.881 QUADTO
-166.303 338.529 166.303 339.639 QUADTO
-166.303 340.139 166.186 340.576 QUADTO
-166.069 341.014 165.85 341.373 QUADTO
-165.647 341.764 165.342 342.139 QUADTO
-165.038 342.514 164.694 342.873 QUADTO
-164.147 343.467 163.467 344.115 QUADTO
-162.788 344.764 162.381 345.139 QUADTO
-166.678 345.139 lineto
-166.678 346.139 lineto
-closepath
-173.12 343.357 M
-173.12 343.998 172.917 344.537 QUADTO
-172.713 345.076 172.354 345.467 QUADTO
-171.979 345.857 171.432 346.092 QUADTO
-170.885 346.326 170.213 346.326 QUADTO
-169.588 346.326 168.979 346.186 QUADTO
-168.37 346.045 167.932 345.826 QUADTO
-167.932 344.592 lineto
-168.01 344.592 lineto
-168.135 344.686 168.393 344.811 QUADTO
-168.651 344.936 168.948 345.045 QUADTO
-169.292 345.17 169.581 345.24 QUADTO
-169.87 345.311 170.229 345.311 QUADTO
-170.573 345.311 170.909 345.186 QUADTO
-171.245 345.061 171.495 344.779 QUADTO
-171.698 344.514 171.815 344.17 QUADTO
-171.932 343.826 171.932 343.357 QUADTO
-171.932 342.889 171.807 342.592 QUADTO
-171.682 342.295 171.448 342.107 QUADTO
-171.182 341.873 170.823 341.787 QUADTO
-170.463 341.701 170.01 341.701 QUADTO
-169.526 341.701 169.049 341.771 QUADTO
-168.573 341.842 168.276 341.904 QUADTO
-168.276 337.42 lineto
-173.073 337.42 lineto
-173.073 338.436 lineto
-169.417 338.436 lineto
-169.417 340.764 lineto
-169.62 340.732 169.831 340.725 QUADTO
-170.042 340.717 170.198 340.717 QUADTO
-170.87 340.717 171.331 340.826 QUADTO
-171.792 340.936 172.229 341.264 QUADTO
-172.667 341.592 172.893 342.084 QUADTO
-173.12 342.576 173.12 343.357 QUADTO
-closepath
-179.811 341.779 M
-179.811 344.123 179.131 345.225 QUADTO
-178.452 346.326 177.03 346.326 QUADTO
-175.577 346.326 174.905 345.201 QUADTO
-174.233 344.076 174.233 341.779 QUADTO
-174.233 339.42 174.92 338.326 QUADTO
-175.608 337.232 177.03 337.232 QUADTO
-178.467 337.232 179.139 338.365 QUADTO
-179.811 339.498 179.811 341.779 QUADTO
-closepath
-178.311 344.436 M
-178.483 343.998 178.553 343.334 QUADTO
-178.624 342.67 178.624 341.779 QUADTO
-178.624 340.873 178.553 340.209 QUADTO
-178.483 339.545 178.311 339.107 QUADTO
-178.139 338.67 177.827 338.436 QUADTO
-177.514 338.201 177.03 338.201 QUADTO
-176.545 338.201 176.225 338.436 QUADTO
-175.905 338.67 175.733 339.123 QUADTO
-175.561 339.576 175.491 340.256 QUADTO
-175.42 340.936 175.42 341.779 QUADTO
-175.42 342.701 175.475 343.318 QUADTO
-175.53 343.936 175.717 344.42 QUADTO
-175.889 344.873 176.202 345.115 QUADTO
-176.514 345.357 177.03 345.357 QUADTO
-177.514 345.357 177.827 345.123 QUADTO
-178.139 344.889 178.311 344.436 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.473 332.133 M
-170.473 330.133 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-192.845 338.248 M
-192.517 338.248 192.205 338.326 QUADTO
-191.892 338.404 191.58 338.514 QUADTO
-191.298 338.639 191.095 338.764 QUADTO
-190.892 338.889 190.72 339.014 QUADTO
-190.658 339.014 lineto
-190.658 337.764 lineto
-191.033 337.561 191.689 337.396 QUADTO
-192.345 337.232 192.939 337.232 QUADTO
-193.533 337.232 193.97 337.35 QUADTO
-194.408 337.467 194.767 337.717 QUADTO
-195.158 337.998 195.353 338.396 QUADTO
-195.548 338.795 195.548 339.342 QUADTO
-195.548 340.061 195.072 340.6 QUADTO
-194.595 341.139 193.939 341.295 QUADTO
-193.939 341.373 lineto
-194.205 341.42 194.525 341.553 QUADTO
-194.845 341.686 195.111 341.936 QUADTO
-195.376 342.186 195.548 342.584 QUADTO
-195.72 342.982 195.72 343.545 QUADTO
-195.72 344.139 195.517 344.631 QUADTO
-195.314 345.123 194.939 345.514 QUADTO
-194.564 345.904 194.025 346.115 QUADTO
-193.486 346.326 192.798 346.326 QUADTO
-192.142 346.326 191.501 346.162 QUADTO
-190.861 345.998 190.408 345.779 QUADTO
-190.408 344.545 lineto
-190.501 344.545 lineto
-190.861 344.811 191.486 345.061 QUADTO
-192.111 345.311 192.736 345.311 QUADTO
-193.08 345.311 193.447 345.193 QUADTO
-193.814 345.076 194.048 344.826 QUADTO
-194.283 344.561 194.408 344.248 QUADTO
-194.533 343.936 194.533 343.467 QUADTO
-194.533 342.998 194.392 342.693 QUADTO
-194.251 342.389 194.001 342.201 QUADTO
-193.767 342.029 193.423 341.959 QUADTO
-193.08 341.889 192.689 341.889 QUADTO
-192.189 341.889 lineto
-192.189 340.92 lineto
-192.58 340.92 lineto
-193.376 340.92 193.869 340.545 QUADTO
-194.361 340.17 194.361 339.451 QUADTO
-194.361 339.123 194.236 338.889 QUADTO
-194.111 338.654 193.908 338.514 QUADTO
-193.689 338.357 193.416 338.303 QUADTO
-193.142 338.248 192.845 338.248 QUADTO
-closepath
-202.459 341.779 M
-202.459 344.123 201.779 345.225 QUADTO
-201.099 346.326 199.677 346.326 QUADTO
-198.224 346.326 197.552 345.201 QUADTO
-196.88 344.076 196.88 341.779 QUADTO
-196.88 339.42 197.568 338.326 QUADTO
-198.255 337.232 199.677 337.232 QUADTO
-201.115 337.232 201.787 338.365 QUADTO
-202.459 339.498 202.459 341.779 QUADTO
-closepath
-200.959 344.436 M
-201.13 343.998 201.201 343.334 QUADTO
-201.271 342.67 201.271 341.779 QUADTO
-201.271 340.873 201.201 340.209 QUADTO
-201.13 339.545 200.959 339.107 QUADTO
-200.787 338.67 200.474 338.436 QUADTO
-200.162 338.201 199.677 338.201 QUADTO
-199.193 338.201 198.873 338.436 QUADTO
-198.552 338.67 198.38 339.123 QUADTO
-198.209 339.576 198.138 340.256 QUADTO
-198.068 340.936 198.068 341.779 QUADTO
-198.068 342.701 198.123 343.318 QUADTO
-198.177 343.936 198.365 344.42 QUADTO
-198.537 344.873 198.849 345.115 QUADTO
-199.162 345.357 199.677 345.357 QUADTO
-200.162 345.357 200.474 345.123 QUADTO
-200.787 344.889 200.959 344.436 QUADTO
-closepath
-209.009 341.779 M
-209.009 344.123 208.33 345.225 QUADTO
-207.65 346.326 206.228 346.326 QUADTO
-204.775 346.326 204.103 345.201 QUADTO
-203.431 344.076 203.431 341.779 QUADTO
-203.431 339.42 204.119 338.326 QUADTO
-204.806 337.232 206.228 337.232 QUADTO
-207.666 337.232 208.337 338.365 QUADTO
-209.009 339.498 209.009 341.779 QUADTO
-closepath
-207.509 344.436 M
-207.681 343.998 207.751 343.334 QUADTO
-207.822 342.67 207.822 341.779 QUADTO
-207.822 340.873 207.751 340.209 QUADTO
-207.681 339.545 207.509 339.107 QUADTO
-207.337 338.67 207.025 338.436 QUADTO
-206.712 338.201 206.228 338.201 QUADTO
-205.744 338.201 205.423 338.436 QUADTO
-205.103 338.67 204.931 339.123 QUADTO
-204.759 339.576 204.689 340.256 QUADTO
-204.619 340.936 204.619 341.779 QUADTO
-204.619 342.701 204.673 343.318 QUADTO
-204.728 343.936 204.916 344.42 QUADTO
-205.087 344.873 205.4 345.115 QUADTO
-205.712 345.357 206.228 345.357 QUADTO
-206.712 345.357 207.025 345.123 QUADTO
-207.337 344.889 207.509 344.436 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-199.671 332.133 M
-199.671 330.133 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-222.043 338.248 M
-221.715 338.248 221.403 338.326 QUADTO
-221.09 338.404 220.778 338.514 QUADTO
-220.497 338.639 220.293 338.764 QUADTO
-220.09 338.889 219.918 339.014 QUADTO
-219.856 339.014 lineto
-219.856 337.764 lineto
-220.231 337.561 220.887 337.396 QUADTO
-221.543 337.232 222.137 337.232 QUADTO
-222.731 337.232 223.168 337.35 QUADTO
-223.606 337.467 223.965 337.717 QUADTO
-224.356 337.998 224.551 338.396 QUADTO
-224.747 338.795 224.747 339.342 QUADTO
-224.747 340.061 224.27 340.6 QUADTO
-223.793 341.139 223.137 341.295 QUADTO
-223.137 341.373 lineto
-223.403 341.42 223.723 341.553 QUADTO
-224.043 341.686 224.309 341.936 QUADTO
-224.575 342.186 224.747 342.584 QUADTO
-224.918 342.982 224.918 343.545 QUADTO
-224.918 344.139 224.715 344.631 QUADTO
-224.512 345.123 224.137 345.514 QUADTO
-223.762 345.904 223.223 346.115 QUADTO
-222.684 346.326 221.997 346.326 QUADTO
-221.34 346.326 220.7 346.162 QUADTO
-220.059 345.998 219.606 345.779 QUADTO
-219.606 344.545 lineto
-219.7 344.545 lineto
-220.059 344.811 220.684 345.061 QUADTO
-221.309 345.311 221.934 345.311 QUADTO
-222.278 345.311 222.645 345.193 QUADTO
-223.012 345.076 223.247 344.826 QUADTO
-223.481 344.561 223.606 344.248 QUADTO
-223.731 343.936 223.731 343.467 QUADTO
-223.731 342.998 223.59 342.693 QUADTO
-223.45 342.389 223.2 342.201 QUADTO
-222.965 342.029 222.622 341.959 QUADTO
-222.278 341.889 221.887 341.889 QUADTO
-221.387 341.889 lineto
-221.387 340.92 lineto
-221.778 340.92 lineto
-222.575 340.92 223.067 340.545 QUADTO
-223.559 340.17 223.559 339.451 QUADTO
-223.559 339.123 223.434 338.889 QUADTO
-223.309 338.654 223.106 338.514 QUADTO
-222.887 338.357 222.614 338.303 QUADTO
-222.34 338.248 222.043 338.248 QUADTO
-closepath
-231.516 343.357 M
-231.516 343.998 231.313 344.537 QUADTO
-231.11 345.076 230.75 345.467 QUADTO
-230.375 345.857 229.829 346.092 QUADTO
-229.282 346.326 228.61 346.326 QUADTO
-227.985 346.326 227.375 346.186 QUADTO
-226.766 346.045 226.329 345.826 QUADTO
-226.329 344.592 lineto
-226.407 344.592 lineto
-226.532 344.686 226.79 344.811 QUADTO
-227.047 344.936 227.344 345.045 QUADTO
-227.688 345.17 227.977 345.24 QUADTO
-228.266 345.311 228.625 345.311 QUADTO
-228.969 345.311 229.305 345.186 QUADTO
-229.641 345.061 229.891 344.779 QUADTO
-230.094 344.514 230.211 344.17 QUADTO
-230.329 343.826 230.329 343.357 QUADTO
-230.329 342.889 230.204 342.592 QUADTO
-230.079 342.295 229.844 342.107 QUADTO
-229.579 341.873 229.219 341.787 QUADTO
-228.86 341.701 228.407 341.701 QUADTO
-227.922 341.701 227.446 341.771 QUADTO
-226.969 341.842 226.672 341.904 QUADTO
-226.672 337.42 lineto
-231.469 337.42 lineto
-231.469 338.436 lineto
-227.813 338.436 lineto
-227.813 340.764 lineto
-228.016 340.732 228.227 340.725 QUADTO
-228.438 340.717 228.594 340.717 QUADTO
-229.266 340.717 229.727 340.826 QUADTO
-230.188 340.936 230.625 341.264 QUADTO
-231.063 341.592 231.29 342.084 QUADTO
-231.516 342.576 231.516 343.357 QUADTO
-closepath
-238.208 341.779 M
-238.208 344.123 237.528 345.225 QUADTO
-236.848 346.326 235.426 346.326 QUADTO
-233.973 346.326 233.301 345.201 QUADTO
-232.629 344.076 232.629 341.779 QUADTO
-232.629 339.42 233.317 338.326 QUADTO
-234.004 337.232 235.426 337.232 QUADTO
-236.864 337.232 237.536 338.365 QUADTO
-238.208 339.498 238.208 341.779 QUADTO
-closepath
-236.708 344.436 M
-236.879 343.998 236.95 343.334 QUADTO
-237.02 342.67 237.02 341.779 QUADTO
-237.02 340.873 236.95 340.209 QUADTO
-236.879 339.545 236.708 339.107 QUADTO
-236.536 338.67 236.223 338.436 QUADTO
-235.911 338.201 235.426 338.201 QUADTO
-234.942 338.201 234.622 338.436 QUADTO
-234.301 338.67 234.129 339.123 QUADTO
-233.958 339.576 233.887 340.256 QUADTO
-233.817 340.936 233.817 341.779 QUADTO
-233.817 342.701 233.872 343.318 QUADTO
-233.926 343.936 234.114 344.42 QUADTO
-234.286 344.873 234.598 345.115 QUADTO
-234.911 345.357 235.426 345.357 QUADTO
-235.911 345.357 236.223 345.123 QUADTO
-236.536 344.889 236.708 344.436 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-228.87 332.133 M
-228.87 330.133 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-254.492 343.139 M
-253.46 343.139 lineto
-253.46 346.139 lineto
-252.335 346.139 lineto
-252.335 343.139 lineto
-248.476 343.139 lineto
-248.476 341.904 lineto
-252.382 337.42 lineto
-253.46 337.42 lineto
-253.46 342.201 lineto
-254.492 342.201 lineto
-254.492 343.139 lineto
-closepath
-252.335 342.201 M
-252.335 338.795 lineto
-249.398 342.201 lineto
-252.335 342.201 lineto
-closepath
-260.855 341.779 M
-260.855 344.123 260.175 345.225 QUADTO
-259.496 346.326 258.074 346.326 QUADTO
-256.621 346.326 255.949 345.201 QUADTO
-255.277 344.076 255.277 341.779 QUADTO
-255.277 339.42 255.964 338.326 QUADTO
-256.652 337.232 258.074 337.232 QUADTO
-259.511 337.232 260.183 338.365 QUADTO
-260.855 339.498 260.855 341.779 QUADTO
-closepath
-259.355 344.436 M
-259.527 343.998 259.597 343.334 QUADTO
-259.667 342.67 259.667 341.779 QUADTO
-259.667 340.873 259.597 340.209 QUADTO
-259.527 339.545 259.355 339.107 QUADTO
-259.183 338.67 258.871 338.436 QUADTO
-258.558 338.201 258.074 338.201 QUADTO
-257.589 338.201 257.269 338.436 QUADTO
-256.949 338.67 256.777 339.123 QUADTO
-256.605 339.576 256.535 340.256 QUADTO
-256.464 340.936 256.464 341.779 QUADTO
-256.464 342.701 256.519 343.318 QUADTO
-256.574 343.936 256.761 344.42 QUADTO
-256.933 344.873 257.246 345.115 QUADTO
-257.558 345.357 258.074 345.357 QUADTO
-258.558 345.357 258.871 345.123 QUADTO
-259.183 344.889 259.355 344.436 QUADTO
-closepath
-267.406 341.779 M
-267.406 344.123 266.726 345.225 QUADTO
-266.046 346.326 264.625 346.326 QUADTO
-263.171 346.326 262.5 345.201 QUADTO
-261.828 344.076 261.828 341.779 QUADTO
-261.828 339.42 262.515 338.326 QUADTO
-263.203 337.232 264.625 337.232 QUADTO
-266.062 337.232 266.734 338.365 QUADTO
-267.406 339.498 267.406 341.779 QUADTO
-closepath
-265.906 344.436 M
-266.078 343.998 266.148 343.334 QUADTO
-266.218 342.67 266.218 341.779 QUADTO
-266.218 340.873 266.148 340.209 QUADTO
-266.078 339.545 265.906 339.107 QUADTO
-265.734 338.67 265.421 338.436 QUADTO
-265.109 338.201 264.625 338.201 QUADTO
-264.14 338.201 263.82 338.436 QUADTO
-263.5 338.67 263.328 339.123 QUADTO
-263.156 339.576 263.085 340.256 QUADTO
-263.015 340.936 263.015 341.779 QUADTO
-263.015 342.701 263.07 343.318 QUADTO
-263.125 343.936 263.312 344.42 QUADTO
-263.484 344.873 263.796 345.115 QUADTO
-264.109 345.357 264.625 345.357 QUADTO
-265.109 345.357 265.421 345.123 QUADTO
-265.734 344.889 265.906 344.436 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-258.068 332.133 M
-258.068 330.133 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-283.69 343.139 M
-282.659 343.139 lineto
-282.659 346.139 lineto
-281.534 346.139 lineto
-281.534 343.139 lineto
-277.674 343.139 lineto
-277.674 341.904 lineto
-281.581 337.42 lineto
-282.659 337.42 lineto
-282.659 342.201 lineto
-283.69 342.201 lineto
-283.69 343.139 lineto
-closepath
-281.534 342.201 M
-281.534 338.795 lineto
-278.596 342.201 lineto
-281.534 342.201 lineto
-closepath
-289.913 343.357 M
-289.913 343.998 289.709 344.537 QUADTO
-289.506 345.076 289.147 345.467 QUADTO
-288.772 345.857 288.225 346.092 QUADTO
-287.678 346.326 287.006 346.326 QUADTO
-286.381 346.326 285.772 346.186 QUADTO
-285.163 346.045 284.725 345.826 QUADTO
-284.725 344.592 lineto
-284.803 344.592 lineto
-284.928 344.686 285.186 344.811 QUADTO
-285.444 344.936 285.741 345.045 QUADTO
-286.084 345.17 286.374 345.24 QUADTO
-286.663 345.311 287.022 345.311 QUADTO
-287.366 345.311 287.702 345.186 QUADTO
-288.038 345.061 288.288 344.779 QUADTO
-288.491 344.514 288.608 344.17 QUADTO
-288.725 343.826 288.725 343.357 QUADTO
-288.725 342.889 288.6 342.592 QUADTO
-288.475 342.295 288.241 342.107 QUADTO
-287.975 341.873 287.616 341.787 QUADTO
-287.256 341.701 286.803 341.701 QUADTO
-286.319 341.701 285.842 341.771 QUADTO
-285.366 341.842 285.069 341.904 QUADTO
-285.069 337.42 lineto
-289.866 337.42 lineto
-289.866 338.436 lineto
-286.209 338.436 lineto
-286.209 340.764 lineto
-286.413 340.732 286.624 340.725 QUADTO
-286.834 340.717 286.991 340.717 QUADTO
-287.663 340.717 288.124 340.826 QUADTO
-288.584 340.936 289.022 341.264 QUADTO
-289.459 341.592 289.686 342.084 QUADTO
-289.913 342.576 289.913 343.357 QUADTO
-closepath
-296.604 341.779 M
-296.604 344.123 295.924 345.225 QUADTO
-295.245 346.326 293.823 346.326 QUADTO
-292.37 346.326 291.698 345.201 QUADTO
-291.026 344.076 291.026 341.779 QUADTO
-291.026 339.42 291.713 338.326 QUADTO
-292.401 337.232 293.823 337.232 QUADTO
-295.26 337.232 295.932 338.365 QUADTO
-296.604 339.498 296.604 341.779 QUADTO
-closepath
-295.104 344.436 M
-295.276 343.998 295.346 343.334 QUADTO
-295.417 342.67 295.417 341.779 QUADTO
-295.417 340.873 295.346 340.209 QUADTO
-295.276 339.545 295.104 339.107 QUADTO
-294.932 338.67 294.62 338.436 QUADTO
-294.307 338.201 293.823 338.201 QUADTO
-293.338 338.201 293.018 338.436 QUADTO
-292.698 338.67 292.526 339.123 QUADTO
-292.354 339.576 292.284 340.256 QUADTO
-292.213 340.936 292.213 341.779 QUADTO
-292.213 342.701 292.268 343.318 QUADTO
-292.323 343.936 292.51 344.42 QUADTO
-292.682 344.873 292.995 345.115 QUADTO
-293.307 345.357 293.823 345.357 QUADTO
-294.307 345.357 294.62 345.123 QUADTO
-294.932 344.889 295.104 344.436 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-287.266 332.133 M
-287.266 330.133 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-312.56 343.357 M
-312.56 343.998 312.357 344.537 QUADTO
-312.154 345.076 311.794 345.467 QUADTO
-311.419 345.857 310.873 346.092 QUADTO
-310.326 346.326 309.654 346.326 QUADTO
-309.029 346.326 308.419 346.186 QUADTO
-307.81 346.045 307.373 345.826 QUADTO
-307.373 344.592 lineto
-307.451 344.592 lineto
-307.576 344.686 307.833 344.811 QUADTO
-308.091 344.936 308.388 345.045 QUADTO
-308.732 345.17 309.021 345.24 QUADTO
-309.31 345.311 309.669 345.311 QUADTO
-310.013 345.311 310.349 345.186 QUADTO
-310.685 345.061 310.935 344.779 QUADTO
-311.138 344.514 311.255 344.17 QUADTO
-311.373 343.826 311.373 343.357 QUADTO
-311.373 342.889 311.248 342.592 QUADTO
-311.123 342.295 310.888 342.107 QUADTO
-310.623 341.873 310.263 341.787 QUADTO
-309.904 341.701 309.451 341.701 QUADTO
-308.966 341.701 308.49 341.771 QUADTO
-308.013 341.842 307.716 341.904 QUADTO
-307.716 337.42 lineto
-312.513 337.42 lineto
-312.513 338.436 lineto
-308.857 338.436 lineto
-308.857 340.764 lineto
-309.06 340.732 309.271 340.725 QUADTO
-309.482 340.717 309.638 340.717 QUADTO
-310.31 340.717 310.771 340.826 QUADTO
-311.232 340.936 311.669 341.264 QUADTO
-312.107 341.592 312.333 342.084 QUADTO
-312.56 342.576 312.56 343.357 QUADTO
-closepath
-319.251 341.779 M
-319.251 344.123 318.572 345.225 QUADTO
-317.892 346.326 316.47 346.326 QUADTO
-315.017 346.326 314.345 345.201 QUADTO
-313.673 344.076 313.673 341.779 QUADTO
-313.673 339.42 314.361 338.326 QUADTO
-315.048 337.232 316.47 337.232 QUADTO
-317.908 337.232 318.58 338.365 QUADTO
-319.251 339.498 319.251 341.779 QUADTO
-closepath
-317.751 344.436 M
-317.923 343.998 317.994 343.334 QUADTO
-318.064 342.67 318.064 341.779 QUADTO
-318.064 340.873 317.994 340.209 QUADTO
-317.923 339.545 317.751 339.107 QUADTO
-317.58 338.67 317.267 338.436 QUADTO
-316.955 338.201 316.47 338.201 QUADTO
-315.986 338.201 315.665 338.436 QUADTO
-315.345 338.67 315.173 339.123 QUADTO
-315.001 339.576 314.931 340.256 QUADTO
-314.861 340.936 314.861 341.779 QUADTO
-314.861 342.701 314.915 343.318 QUADTO
-314.97 343.936 315.158 344.42 QUADTO
-315.33 344.873 315.642 345.115 QUADTO
-315.955 345.357 316.47 345.357 QUADTO
-316.955 345.357 317.267 345.123 QUADTO
-317.58 344.889 317.751 344.436 QUADTO
-closepath
-325.802 341.779 M
-325.802 344.123 325.123 345.225 QUADTO
-324.443 346.326 323.021 346.326 QUADTO
-321.568 346.326 320.896 345.201 QUADTO
-320.224 344.076 320.224 341.779 QUADTO
-320.224 339.42 320.912 338.326 QUADTO
-321.599 337.232 323.021 337.232 QUADTO
-324.458 337.232 325.13 338.365 QUADTO
-325.802 339.498 325.802 341.779 QUADTO
-closepath
-324.302 344.436 M
-324.474 343.998 324.544 343.334 QUADTO
-324.615 342.67 324.615 341.779 QUADTO
-324.615 340.873 324.544 340.209 QUADTO
-324.474 339.545 324.302 339.107 QUADTO
-324.13 338.67 323.818 338.436 QUADTO
-323.505 338.201 323.021 338.201 QUADTO
-322.537 338.201 322.216 338.436 QUADTO
-321.896 338.67 321.724 339.123 QUADTO
-321.552 339.576 321.482 340.256 QUADTO
-321.412 340.936 321.412 341.779 QUADTO
-321.412 342.701 321.466 343.318 QUADTO
-321.521 343.936 321.708 344.42 QUADTO
-321.88 344.873 322.193 345.115 QUADTO
-322.505 345.357 323.021 345.357 QUADTO
-323.505 345.357 323.818 345.123 QUADTO
-324.13 344.889 324.302 344.436 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-316.464 332.133 M
-316.464 330.133 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-341.758 343.357 M
-341.758 343.998 341.555 344.537 QUADTO
-341.352 345.076 340.993 345.467 QUADTO
-340.618 345.857 340.071 346.092 QUADTO
-339.524 346.326 338.852 346.326 QUADTO
-338.227 346.326 337.618 346.186 QUADTO
-337.008 346.045 336.571 345.826 QUADTO
-336.571 344.592 lineto
-336.649 344.592 lineto
-336.774 344.686 337.032 344.811 QUADTO
-337.29 344.936 337.586 345.045 QUADTO
-337.93 345.17 338.219 345.24 QUADTO
-338.508 345.311 338.868 345.311 QUADTO
-339.211 345.311 339.547 345.186 QUADTO
-339.883 345.061 340.133 344.779 QUADTO
-340.336 344.514 340.454 344.17 QUADTO
-340.571 343.826 340.571 343.357 QUADTO
-340.571 342.889 340.446 342.592 QUADTO
-340.321 342.295 340.086 342.107 QUADTO
-339.821 341.873 339.461 341.787 QUADTO
-339.102 341.701 338.649 341.701 QUADTO
-338.165 341.701 337.688 341.771 QUADTO
-337.211 341.842 336.915 341.904 QUADTO
-336.915 337.42 lineto
-341.711 337.42 lineto
-341.711 338.436 lineto
-338.055 338.436 lineto
-338.055 340.764 lineto
-338.258 340.732 338.469 340.725 QUADTO
-338.68 340.717 338.836 340.717 QUADTO
-339.508 340.717 339.969 340.826 QUADTO
-340.43 340.936 340.868 341.264 QUADTO
-341.305 341.592 341.532 342.084 QUADTO
-341.758 342.576 341.758 343.357 QUADTO
-closepath
-348.309 343.357 M
-348.309 343.998 348.106 344.537 QUADTO
-347.903 345.076 347.543 345.467 QUADTO
-347.168 345.857 346.622 346.092 QUADTO
-346.075 346.326 345.403 346.326 QUADTO
-344.778 346.326 344.168 346.186 QUADTO
-343.559 346.045 343.122 345.826 QUADTO
-343.122 344.592 lineto
-343.2 344.592 lineto
-343.325 344.686 343.582 344.811 QUADTO
-343.84 344.936 344.137 345.045 QUADTO
-344.481 345.17 344.77 345.24 QUADTO
-345.059 345.311 345.418 345.311 QUADTO
-345.762 345.311 346.098 345.186 QUADTO
-346.434 345.061 346.684 344.779 QUADTO
-346.887 344.514 347.004 344.17 QUADTO
-347.122 343.826 347.122 343.357 QUADTO
-347.122 342.889 346.997 342.592 QUADTO
-346.872 342.295 346.637 342.107 QUADTO
-346.372 341.873 346.012 341.787 QUADTO
-345.653 341.701 345.2 341.701 QUADTO
-344.715 341.701 344.239 341.771 QUADTO
-343.762 341.842 343.465 341.904 QUADTO
-343.465 337.42 lineto
-348.262 337.42 lineto
-348.262 338.436 lineto
-344.606 338.436 lineto
-344.606 340.764 lineto
-344.809 340.732 345.02 340.725 QUADTO
-345.231 340.717 345.387 340.717 QUADTO
-346.059 340.717 346.52 340.826 QUADTO
-346.981 340.936 347.418 341.264 QUADTO
-347.856 341.592 348.082 342.084 QUADTO
-348.309 342.576 348.309 343.357 QUADTO
-closepath
-355 341.779 M
-355 344.123 354.321 345.225 QUADTO
-353.641 346.326 352.219 346.326 QUADTO
-350.766 346.326 350.094 345.201 QUADTO
-349.422 344.076 349.422 341.779 QUADTO
-349.422 339.42 350.11 338.326 QUADTO
-350.797 337.232 352.219 337.232 QUADTO
-353.657 337.232 354.329 338.365 QUADTO
-355 339.498 355 341.779 QUADTO
-closepath
-353.5 344.436 M
-353.672 343.998 353.743 343.334 QUADTO
-353.813 342.67 353.813 341.779 QUADTO
-353.813 340.873 353.743 340.209 QUADTO
-353.672 339.545 353.5 339.107 QUADTO
-353.329 338.67 353.016 338.436 QUADTO
-352.704 338.201 352.219 338.201 QUADTO
-351.735 338.201 351.415 338.436 QUADTO
-351.094 338.67 350.922 339.123 QUADTO
-350.75 339.576 350.68 340.256 QUADTO
-350.61 340.936 350.61 341.779 QUADTO
-350.61 342.701 350.665 343.318 QUADTO
-350.719 343.936 350.907 344.42 QUADTO
-351.079 344.873 351.391 345.115 QUADTO
-351.704 345.357 352.219 345.357 QUADTO
-352.704 345.357 353.016 345.123 QUADTO
-353.329 344.889 353.5 344.436 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-345.663 332.133 M
-345.663 330.133 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-371.191 343.311 M
-371.191 343.982 370.972 344.553 QUADTO
-370.753 345.123 370.378 345.498 QUADTO
-369.988 345.904 369.496 346.115 QUADTO
-369.003 346.326 368.425 346.326 QUADTO
-367.832 346.326 367.347 346.123 QUADTO
-366.863 345.92 366.488 345.529 QUADTO
-366.05 345.061 365.792 344.264 QUADTO
-365.535 343.467 365.535 342.311 QUADTO
-365.535 341.17 365.769 340.256 QUADTO
-366.003 339.342 366.488 338.654 QUADTO
-366.957 337.998 367.707 337.623 QUADTO
-368.457 337.248 369.441 337.248 QUADTO
-369.738 337.248 369.988 337.279 QUADTO
-370.238 337.311 370.441 337.373 QUADTO
-370.441 338.498 lineto
-370.378 338.498 lineto
-370.222 338.404 369.925 338.334 QUADTO
-369.628 338.264 369.285 338.264 QUADTO
-368.207 338.264 367.535 338.998 QUADTO
-366.863 339.732 366.738 341.17 QUADTO
-367.144 340.889 367.589 340.725 QUADTO
-368.035 340.561 368.55 340.561 QUADTO
-369.066 340.561 369.449 340.662 QUADTO
-369.832 340.764 370.238 341.076 QUADTO
-370.722 341.451 370.957 342.006 QUADTO
-371.191 342.561 371.191 343.311 QUADTO
-closepath
-370.003 343.357 M
-370.003 342.811 369.863 342.451 QUADTO
-369.722 342.092 369.41 341.826 QUADTO
-369.175 341.639 368.886 341.584 QUADTO
-368.597 341.529 368.3 341.529 QUADTO
-367.878 341.529 367.496 341.654 QUADTO
-367.113 341.779 366.738 342.014 QUADTO
-366.722 342.139 366.714 342.256 QUADTO
-366.707 342.373 366.707 342.561 QUADTO
-366.707 343.467 366.886 344.021 QUADTO
-367.066 344.576 367.332 344.873 QUADTO
-367.582 345.139 367.847 345.248 QUADTO
-368.113 345.357 368.425 345.357 QUADTO
-369.128 345.357 369.566 344.857 QUADTO
-370.003 344.357 370.003 343.357 QUADTO
-closepath
-377.648 341.779 M
-377.648 344.123 376.968 345.225 QUADTO
-376.289 346.326 374.867 346.326 QUADTO
-373.414 346.326 372.742 345.201 QUADTO
-372.07 344.076 372.07 341.779 QUADTO
-372.07 339.42 372.757 338.326 QUADTO
-373.445 337.232 374.867 337.232 QUADTO
-376.304 337.232 376.976 338.365 QUADTO
-377.648 339.498 377.648 341.779 QUADTO
-closepath
-376.148 344.436 M
-376.32 343.998 376.39 343.334 QUADTO
-376.46 342.67 376.46 341.779 QUADTO
-376.46 340.873 376.39 340.209 QUADTO
-376.32 339.545 376.148 339.107 QUADTO
-375.976 338.67 375.664 338.436 QUADTO
-375.351 338.201 374.867 338.201 QUADTO
-374.382 338.201 374.062 338.436 QUADTO
-373.742 338.67 373.57 339.123 QUADTO
-373.398 339.576 373.328 340.256 QUADTO
-373.257 340.936 373.257 341.779 QUADTO
-373.257 342.701 373.312 343.318 QUADTO
-373.367 343.936 373.554 344.42 QUADTO
-373.726 344.873 374.039 345.115 QUADTO
-374.351 345.357 374.867 345.357 QUADTO
-375.351 345.357 375.664 345.123 QUADTO
-375.976 344.889 376.148 344.436 QUADTO
-closepath
-384.199 341.779 M
-384.199 344.123 383.519 345.225 QUADTO
-382.839 346.326 381.417 346.326 QUADTO
-379.964 346.326 379.292 345.201 QUADTO
-378.621 344.076 378.621 341.779 QUADTO
-378.621 339.42 379.308 338.326 QUADTO
-379.996 337.232 381.417 337.232 QUADTO
-382.855 337.232 383.527 338.365 QUADTO
-384.199 339.498 384.199 341.779 QUADTO
-closepath
-382.699 344.436 M
-382.871 343.998 382.941 343.334 QUADTO
-383.011 342.67 383.011 341.779 QUADTO
-383.011 340.873 382.941 340.209 QUADTO
-382.871 339.545 382.699 339.107 QUADTO
-382.527 338.67 382.214 338.436 QUADTO
-381.902 338.201 381.417 338.201 QUADTO
-380.933 338.201 380.613 338.436 QUADTO
-380.292 338.67 380.121 339.123 QUADTO
-379.949 339.576 379.878 340.256 QUADTO
-379.808 340.936 379.808 341.779 QUADTO
-379.808 342.701 379.863 343.318 QUADTO
-379.917 343.936 380.105 344.42 QUADTO
-380.277 344.873 380.589 345.115 QUADTO
-380.902 345.357 381.417 345.357 QUADTO
-381.902 345.357 382.214 345.123 QUADTO
-382.527 344.889 382.699 344.436 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-374.861 332.133 M
-374.861 330.133 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-236.031 365.624 M
-233.484 365.624 lineto
-233.484 358.874 lineto
-231.64 363.233 lineto
-229.89 363.233 lineto
-228.031 358.874 lineto
-228.031 365.624 lineto
-225.625 365.624 lineto
-225.625 355.452 lineto
-228.578 355.452 lineto
-230.828 360.468 lineto
-233.078 355.452 lineto
-236.031 355.452 lineto
-236.031 365.624 lineto
-closepath
-240.096 365.624 M
-240.096 357.39 lineto
-237.081 357.39 lineto
-237.081 355.452 lineto
-245.659 355.452 lineto
-245.659 357.39 lineto
-242.643 357.39 lineto
-242.643 365.624 lineto
-240.096 365.624 lineto
-closepath
-248.668 365.624 M
-248.668 357.39 lineto
-245.653 357.39 lineto
-245.653 355.452 lineto
-254.231 355.452 lineto
-254.231 357.39 lineto
-251.215 357.39 lineto
-251.215 365.624 lineto
-248.668 365.624 lineto
-closepath
-262.1 357.39 M
-257.819 357.39 lineto
-257.819 359.312 lineto
-261.756 359.312 lineto
-261.756 361.249 lineto
-257.819 361.249 lineto
-257.819 365.624 lineto
-255.272 365.624 lineto
-255.272 355.452 lineto
-262.1 355.452 lineto
-262.1 357.39 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-94.938 34.141 M
-94.938 326.133 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-38.961 180.541 M
-38.961 182.885 38.281 183.986 QUADTO
-37.602 185.088 36.18 185.088 QUADTO
-34.727 185.088 34.055 183.963 QUADTO
-33.383 182.838 33.383 180.541 QUADTO
-33.383 178.182 34.07 177.088 QUADTO
-34.758 175.994 36.18 175.994 QUADTO
-37.617 175.994 38.289 177.127 QUADTO
-38.961 178.26 38.961 180.541 QUADTO
-closepath
-37.461 183.197 M
-37.633 182.76 37.703 182.096 QUADTO
-37.773 181.432 37.773 180.541 QUADTO
-37.773 179.635 37.703 178.971 QUADTO
-37.633 178.307 37.461 177.869 QUADTO
-37.289 177.432 36.977 177.197 QUADTO
-36.664 176.963 36.18 176.963 QUADTO
-35.695 176.963 35.375 177.197 QUADTO
-35.055 177.432 34.883 177.885 QUADTO
-34.711 178.338 34.641 179.018 QUADTO
-34.57 179.697 34.57 180.541 QUADTO
-34.57 181.463 34.625 182.08 QUADTO
-34.68 182.697 34.867 183.182 QUADTO
-35.039 183.635 35.352 183.877 QUADTO
-35.664 184.119 36.18 184.119 QUADTO
-36.664 184.119 36.977 183.885 QUADTO
-37.289 183.65 37.461 183.197 QUADTO
-closepath
-41.965 184.9 M
-40.559 184.9 lineto
-40.559 183.229 lineto
-41.965 183.229 lineto
-41.965 184.9 lineto
-closepath
-49.145 180.541 M
-49.145 182.885 48.465 183.986 QUADTO
-47.785 185.088 46.363 185.088 QUADTO
-44.91 185.088 44.238 183.963 QUADTO
-43.566 182.838 43.566 180.541 QUADTO
-43.566 178.182 44.254 177.088 QUADTO
-44.941 175.994 46.363 175.994 QUADTO
-47.801 175.994 48.473 177.127 QUADTO
-49.145 178.26 49.145 180.541 QUADTO
-closepath
-47.645 183.197 M
-47.816 182.76 47.887 182.096 QUADTO
-47.957 181.432 47.957 180.541 QUADTO
-47.957 179.635 47.887 178.971 QUADTO
-47.816 178.307 47.645 177.869 QUADTO
-47.473 177.432 47.16 177.197 QUADTO
-46.848 176.963 46.363 176.963 QUADTO
-45.879 176.963 45.559 177.197 QUADTO
-45.238 177.432 45.066 177.885 QUADTO
-44.895 178.338 44.824 179.018 QUADTO
-44.754 179.697 44.754 180.541 QUADTO
-44.754 181.463 44.809 182.08 QUADTO
-44.863 182.697 45.051 183.182 QUADTO
-45.223 183.635 45.535 183.877 QUADTO
-45.848 184.119 46.363 184.119 QUADTO
-46.848 184.119 47.16 183.885 QUADTO
-47.473 183.65 47.645 183.197 QUADTO
-closepath
-55.695 180.541 M
-55.695 182.885 55.016 183.986 QUADTO
-54.336 185.088 52.914 185.088 QUADTO
-51.461 185.088 50.789 183.963 QUADTO
-50.117 182.838 50.117 180.541 QUADTO
-50.117 178.182 50.805 177.088 QUADTO
-51.492 175.994 52.914 175.994 QUADTO
-54.352 175.994 55.023 177.127 QUADTO
-55.695 178.26 55.695 180.541 QUADTO
-closepath
-54.195 183.197 M
-54.367 182.76 54.438 182.096 QUADTO
-54.508 181.432 54.508 180.541 QUADTO
-54.508 179.635 54.438 178.971 QUADTO
-54.367 178.307 54.195 177.869 QUADTO
-54.023 177.432 53.711 177.197 QUADTO
-53.398 176.963 52.914 176.963 QUADTO
-52.43 176.963 52.109 177.197 QUADTO
-51.789 177.432 51.617 177.885 QUADTO
-51.445 178.338 51.375 179.018 QUADTO
-51.305 179.697 51.305 180.541 QUADTO
-51.305 181.463 51.359 182.08 QUADTO
-51.414 182.697 51.602 183.182 QUADTO
-51.773 183.635 52.086 183.877 QUADTO
-52.398 184.119 52.914 184.119 QUADTO
-53.398 184.119 53.711 183.885 QUADTO
-54.023 183.65 54.195 183.197 QUADTO
-closepath
-62.246 180.541 M
-62.246 182.885 61.566 183.986 QUADTO
-60.887 185.088 59.465 185.088 QUADTO
-58.012 185.088 57.34 183.963 QUADTO
-56.668 182.838 56.668 180.541 QUADTO
-56.668 178.182 57.355 177.088 QUADTO
-58.043 175.994 59.465 175.994 QUADTO
-60.902 175.994 61.574 177.127 QUADTO
-62.246 178.26 62.246 180.541 QUADTO
-closepath
-60.746 183.197 M
-60.918 182.76 60.988 182.096 QUADTO
-61.059 181.432 61.059 180.541 QUADTO
-61.059 179.635 60.988 178.971 QUADTO
-60.918 178.307 60.746 177.869 QUADTO
-60.574 177.432 60.262 177.197 QUADTO
-59.949 176.963 59.465 176.963 QUADTO
-58.98 176.963 58.66 177.197 QUADTO
-58.34 177.432 58.168 177.885 QUADTO
-57.996 178.338 57.926 179.018 QUADTO
-57.855 179.697 57.855 180.541 QUADTO
-57.855 181.463 57.91 182.08 QUADTO
-57.965 182.697 58.152 183.182 QUADTO
-58.324 183.635 58.637 183.877 QUADTO
-58.949 184.119 59.465 184.119 QUADTO
-59.949 184.119 60.262 183.885 QUADTO
-60.574 183.65 60.746 183.197 QUADTO
-closepath
-68.797 180.541 M
-68.797 182.885 68.117 183.986 QUADTO
-67.438 185.088 66.016 185.088 QUADTO
-64.562 185.088 63.891 183.963 QUADTO
-63.219 182.838 63.219 180.541 QUADTO
-63.219 178.182 63.906 177.088 QUADTO
-64.594 175.994 66.016 175.994 QUADTO
-67.453 175.994 68.125 177.127 QUADTO
-68.797 178.26 68.797 180.541 QUADTO
-closepath
-67.297 183.197 M
-67.469 182.76 67.539 182.096 QUADTO
-67.609 181.432 67.609 180.541 QUADTO
-67.609 179.635 67.539 178.971 QUADTO
-67.469 178.307 67.297 177.869 QUADTO
-67.125 177.432 66.812 177.197 QUADTO
-66.5 176.963 66.016 176.963 QUADTO
-65.531 176.963 65.211 177.197 QUADTO
-64.891 177.432 64.719 177.885 QUADTO
-64.547 178.338 64.477 179.018 QUADTO
-64.406 179.697 64.406 180.541 QUADTO
-64.406 181.463 64.461 182.08 QUADTO
-64.516 182.697 64.703 183.182 QUADTO
-64.875 183.635 65.188 183.877 QUADTO
-65.5 184.119 66.016 184.119 QUADTO
-66.5 184.119 66.812 183.885 QUADTO
-67.125 183.65 67.297 183.197 QUADTO
-closepath
-75.348 180.541 M
-75.348 182.885 74.668 183.986 QUADTO
-73.988 185.088 72.566 185.088 QUADTO
-71.113 185.088 70.441 183.963 QUADTO
-69.77 182.838 69.77 180.541 QUADTO
-69.77 178.182 70.457 177.088 QUADTO
-71.145 175.994 72.566 175.994 QUADTO
-74.004 175.994 74.676 177.127 QUADTO
-75.348 178.26 75.348 180.541 QUADTO
-closepath
-73.848 183.197 M
-74.02 182.76 74.09 182.096 QUADTO
-74.16 181.432 74.16 180.541 QUADTO
-74.16 179.635 74.09 178.971 QUADTO
-74.02 178.307 73.848 177.869 QUADTO
-73.676 177.432 73.363 177.197 QUADTO
-73.051 176.963 72.566 176.963 QUADTO
-72.082 176.963 71.762 177.197 QUADTO
-71.441 177.432 71.27 177.885 QUADTO
-71.098 178.338 71.027 179.018 QUADTO
-70.957 179.697 70.957 180.541 QUADTO
-70.957 181.463 71.012 182.08 QUADTO
-71.066 182.697 71.254 183.182 QUADTO
-71.426 183.635 71.738 183.877 QUADTO
-72.051 184.119 72.566 184.119 QUADTO
-73.051 184.119 73.363 183.885 QUADTO
-73.676 183.65 73.848 183.197 QUADTO
-closepath
-81.898 180.541 M
-81.898 182.885 81.219 183.986 QUADTO
-80.539 185.088 79.117 185.088 QUADTO
-77.664 185.088 76.992 183.963 QUADTO
-76.32 182.838 76.32 180.541 QUADTO
-76.32 178.182 77.008 177.088 QUADTO
-77.695 175.994 79.117 175.994 QUADTO
-80.555 175.994 81.227 177.127 QUADTO
-81.898 178.26 81.898 180.541 QUADTO
-closepath
-80.398 183.197 M
-80.57 182.76 80.641 182.096 QUADTO
-80.711 181.432 80.711 180.541 QUADTO
-80.711 179.635 80.641 178.971 QUADTO
-80.57 178.307 80.398 177.869 QUADTO
-80.227 177.432 79.914 177.197 QUADTO
-79.602 176.963 79.117 176.963 QUADTO
-78.633 176.963 78.312 177.197 QUADTO
-77.992 177.432 77.82 177.885 QUADTO
-77.648 178.338 77.578 179.018 QUADTO
-77.508 179.697 77.508 180.541 QUADTO
-77.508 181.463 77.562 182.08 QUADTO
-77.617 182.697 77.805 183.182 QUADTO
-77.977 183.635 78.289 183.877 QUADTO
-78.602 184.119 79.117 184.119 QUADTO
-79.602 184.119 79.914 183.885 QUADTO
-80.227 183.65 80.398 183.197 QUADTO
-closepath
-88.449 180.541 M
-88.449 182.885 87.77 183.986 QUADTO
-87.09 185.088 85.668 185.088 QUADTO
-84.215 185.088 83.543 183.963 QUADTO
-82.871 182.838 82.871 180.541 QUADTO
-82.871 178.182 83.559 177.088 QUADTO
-84.246 175.994 85.668 175.994 QUADTO
-87.105 175.994 87.777 177.127 QUADTO
-88.449 178.26 88.449 180.541 QUADTO
-closepath
-86.949 183.197 M
-87.121 182.76 87.191 182.096 QUADTO
-87.262 181.432 87.262 180.541 QUADTO
-87.262 179.635 87.191 178.971 QUADTO
-87.121 178.307 86.949 177.869 QUADTO
-86.777 177.432 86.465 177.197 QUADTO
-86.152 176.963 85.668 176.963 QUADTO
-85.184 176.963 84.863 177.197 QUADTO
-84.543 177.432 84.371 177.885 QUADTO
-84.199 178.338 84.129 179.018 QUADTO
-84.059 179.697 84.059 180.541 QUADTO
-84.059 181.463 84.113 182.08 QUADTO
-84.168 182.697 84.355 183.182 QUADTO
-84.527 183.635 84.84 183.877 QUADTO
-85.152 184.119 85.668 184.119 QUADTO
-86.152 184.119 86.465 183.885 QUADTO
-86.777 183.65 86.949 183.197 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-92.938 180.137 M
-94.938 180.137 lineto
-stroke
-grestore
-gsave
-[0 -1 1 0 -160.6875 199.58594] concat
-newpath
-199.586 160.688 M
-199.586 560.688 lineto
--200.414 560.688 lineto
--200.414 160.688 lineto
-199.586 160.688 lineto
-closepath
-clip
-0.251 setgray
-newpath
-2.089 181.866 M
-2.089 183.757 1.058 184.843 QUADTO
-0.026 185.929 -1.864 185.929 QUADTO
--3.755 185.929 -4.794 184.843 QUADTO
--5.833 183.757 -5.833 181.866 QUADTO
--5.833 179.944 -4.794 178.858 QUADTO
--3.755 177.772 -1.864 177.772 QUADTO
-0.011 177.772 1.05 178.866 QUADTO
-2.089 179.96 2.089 181.866 QUADTO
-closepath
--0.364 181.866 M
--0.364 181.194 -0.474 180.733 QUADTO
--0.583 180.272 -0.786 180.007 QUADTO
--0.989 179.726 -1.263 179.608 QUADTO
--1.536 179.491 -1.864 179.491 QUADTO
--2.192 179.491 -2.45 179.593 QUADTO
--2.708 179.694 -2.927 179.976 QUADTO
--3.13 180.241 -3.255 180.702 QUADTO
--3.38 181.163 -3.38 181.866 QUADTO
--3.38 182.569 -3.263 183.007 QUADTO
--3.146 183.444 -2.958 183.71 QUADTO
--2.771 183.976 -2.481 184.093 QUADTO
--2.192 184.21 -1.849 184.21 QUADTO
--1.567 184.21 -1.271 184.093 QUADTO
--0.974 183.976 -0.786 183.726 QUADTO
--0.583 183.429 -0.474 183.015 QUADTO
--0.364 182.601 -0.364 181.866 QUADTO
-closepath
-8.448 181.804 M
-8.448 180.647 8.097 180.155 QUADTO
-7.745 179.663 7.026 179.663 QUADTO
-6.698 179.663 6.378 179.765 QUADTO
-6.058 179.866 5.761 180.069 QUADTO
-5.761 183.929 lineto
-5.995 184.022 6.237 184.062 QUADTO
-6.479 184.101 6.714 184.101 QUADTO
-7.589 184.101 8.019 183.522 QUADTO
-8.448 182.944 8.448 181.804 QUADTO
-closepath
-10.886 181.757 M
-10.886 183.585 9.956 184.718 QUADTO
-9.026 185.851 7.651 185.851 QUADTO
-7.089 185.851 6.659 185.718 QUADTO
-6.229 185.585 5.761 185.304 QUADTO
-5.651 185.694 lineto
-3.37 185.694 lineto
-3.37 175.054 lineto
-5.761 175.054 lineto
-5.761 178.819 lineto
-6.276 178.366 6.823 178.085 QUADTO
-7.37 177.804 8.089 177.804 QUADTO
-9.433 177.804 10.159 178.851 QUADTO
-10.886 179.897 10.886 181.757 QUADTO
-closepath
-15.45 185.835 M
-15.45 187.132 14.685 187.858 QUADTO
-13.919 188.585 12.685 188.585 QUADTO
-12.028 188.585 11.497 188.53 QUADTO
-10.966 188.476 10.716 188.413 QUADTO
-10.716 186.647 lineto
-10.903 186.647 lineto
-11.138 186.726 11.419 186.765 QUADTO
-11.7 186.804 11.872 186.804 QUADTO
-12.56 186.804 12.81 186.382 QUADTO
-13.06 185.96 13.06 184.991 QUADTO
-13.06 179.679 lineto
-11.685 179.679 lineto
-11.685 178.022 lineto
-15.45 178.022 lineto
-15.45 185.835 lineto
-closepath
-15.45 176.929 M
-12.903 176.929 lineto
-12.903 175.054 lineto
-15.45 175.054 lineto
-15.45 176.929 lineto
-closepath
-21.217 185.897 M
-19.045 185.897 17.889 184.858 QUADTO
-16.732 183.819 16.732 181.897 QUADTO
-16.732 180.022 17.811 178.897 QUADTO
-18.889 177.772 20.826 177.772 QUADTO
-22.592 177.772 23.482 178.726 QUADTO
-24.373 179.679 24.373 181.444 QUADTO
-24.373 182.304 lineto
-19.123 182.304 lineto
-19.17 182.851 19.357 183.202 QUADTO
-19.545 183.554 19.857 183.772 QUADTO
-20.17 183.991 20.576 184.077 QUADTO
-20.982 184.163 21.467 184.163 QUADTO
-21.889 184.163 22.295 184.077 QUADTO
-22.701 183.991 23.029 183.835 QUADTO
-23.326 183.71 23.576 183.554 QUADTO
-23.826 183.397 23.982 183.288 QUADTO
-24.232 183.288 lineto
-24.232 185.257 lineto
-23.936 185.382 23.693 185.483 QUADTO
-23.451 185.585 23.029 185.679 QUADTO
-22.639 185.788 22.225 185.843 QUADTO
-21.811 185.897 21.217 185.897 QUADTO
-closepath
-22.014 180.866 M
-21.998 180.116 21.662 179.718 QUADTO
-21.326 179.319 20.639 179.319 QUADTO
-19.951 179.319 19.561 179.733 QUADTO
-19.17 180.147 19.123 180.866 QUADTO
-22.014 180.866 lineto
-closepath
-29.373 185.897 M
-28.42 185.897 27.631 185.655 QUADTO
-26.842 185.413 26.264 184.929 QUADTO
-25.686 184.429 25.365 183.671 QUADTO
-25.045 182.913 25.045 181.882 QUADTO
-25.045 180.788 25.389 180.015 QUADTO
-25.732 179.241 26.326 178.741 QUADTO
-26.904 178.257 27.686 178.03 QUADTO
-28.467 177.804 29.295 177.804 QUADTO
-29.936 177.804 30.568 177.952 QUADTO
-31.201 178.101 31.857 178.413 QUADTO
-31.857 180.476 lineto
-31.545 180.476 lineto
-31.404 180.335 31.193 180.171 QUADTO
-30.982 180.007 30.732 179.866 QUADTO
-30.482 179.726 30.154 179.624 QUADTO
-29.826 179.522 29.42 179.522 QUADTO
-28.498 179.522 27.998 180.163 QUADTO
-27.498 180.804 27.498 181.882 QUADTO
-27.498 183.038 28.037 183.608 QUADTO
-28.576 184.179 29.451 184.179 QUADTO
-29.904 184.179 30.248 184.077 QUADTO
-30.592 183.976 30.842 183.835 QUADTO
-31.076 183.679 31.248 183.53 QUADTO
-31.42 183.382 31.545 183.257 QUADTO
-31.857 183.257 lineto
-31.857 185.304 lineto
-31.639 185.397 31.373 185.515 QUADTO
-31.107 185.632 30.826 185.694 QUADTO
-30.482 185.804 30.178 185.851 QUADTO
-29.873 185.897 29.373 185.897 QUADTO
-closepath
-35.928 185.851 M
-34.459 185.851 33.795 185.249 QUADTO
-33.131 184.647 33.131 183.272 QUADTO
-33.131 179.679 lineto
-32.209 179.679 lineto
-32.209 178.022 lineto
-33.131 178.022 lineto
-33.131 175.819 lineto
-35.521 175.819 lineto
-35.521 178.022 lineto
-37.818 178.022 lineto
-37.818 179.679 lineto
-35.521 179.679 lineto
-35.521 182.413 lineto
-35.521 182.804 35.529 183.108 QUADTO
-35.537 183.413 35.631 183.647 QUADTO
-35.74 183.882 35.982 184.022 QUADTO
-36.225 184.163 36.678 184.163 QUADTO
-36.881 184.163 37.186 184.085 QUADTO
-37.49 184.007 37.615 183.944 QUADTO
-37.818 183.944 lineto
-37.818 185.632 lineto
-37.428 185.726 36.99 185.788 QUADTO
-36.553 185.851 35.928 185.851 QUADTO
-closepath
-41.136 185.913 M
-40.292 185.913 39.534 185.726 QUADTO
-38.776 185.538 38.292 185.288 QUADTO
-38.292 183.272 lineto
-38.495 183.272 lineto
-38.651 183.397 38.87 183.554 QUADTO
-39.089 183.71 39.479 183.882 QUADTO
-39.823 184.038 40.245 184.155 QUADTO
-40.667 184.272 41.151 184.272 QUADTO
-41.667 184.272 42.05 184.108 QUADTO
-42.433 183.944 42.433 183.616 QUADTO
-42.433 183.335 42.253 183.202 QUADTO
-42.073 183.069 41.558 182.944 QUADTO
-41.292 182.882 40.878 182.804 QUADTO
-40.464 182.726 40.136 182.616 QUADTO
-39.229 182.335 38.776 181.788 QUADTO
-38.323 181.241 38.323 180.335 QUADTO
-38.323 179.835 38.558 179.374 QUADTO
-38.792 178.913 39.261 178.569 QUADTO
-39.714 178.21 40.386 178.007 QUADTO
-41.058 177.804 41.901 177.804 QUADTO
-42.714 177.804 43.394 177.968 QUADTO
-44.073 178.132 44.526 178.351 QUADTO
-44.526 180.288 lineto
-44.339 180.288 lineto
-44.214 180.194 43.948 180.038 QUADTO
-43.683 179.882 43.433 179.757 QUADTO
-43.136 179.616 42.761 179.53 QUADTO
-42.386 179.444 41.995 179.444 QUADTO
-41.479 179.444 41.12 179.624 QUADTO
-40.761 179.804 40.761 180.101 QUADTO
-40.761 180.351 40.94 180.507 QUADTO
-41.12 180.663 41.714 180.804 QUADTO
-42.011 180.882 42.409 180.952 QUADTO
-42.808 181.022 43.183 181.147 QUADTO
-44.011 181.413 44.44 181.929 QUADTO
-44.87 182.444 44.87 183.288 QUADTO
-44.87 183.835 44.612 184.327 QUADTO
-44.354 184.819 43.901 185.147 QUADTO
-43.401 185.507 42.737 185.71 QUADTO
-42.073 185.913 41.136 185.913 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-112.077 34.141 M
-112.077 326.133 lineto
-stroke
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-141.275 34.141 M
-141.275 326.133 lineto
-stroke
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-170.473 34.141 M
-170.473 326.133 lineto
-stroke
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-199.671 34.141 M
-199.671 326.133 lineto
-stroke
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-228.87 34.141 M
-228.87 326.133 lineto
-stroke
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-258.068 34.141 M
-258.068 326.133 lineto
-stroke
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-287.266 34.141 M
-287.266 326.133 lineto
-stroke
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-316.464 34.141 M
-316.464 326.133 lineto
-stroke
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-345.663 34.141 M
-345.663 326.133 lineto
-stroke
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-374.861 34.141 M
-374.861 326.133 lineto
-stroke
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-98.938 180.137 M
-388 180.137 lineto
-stroke
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-112.077 180.137 M
-199.671 180.137 lineto
-stroke
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-199.671 180.137 M
-374.861 180.137 lineto
-stroke
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-112.077 180.137 M
-199.671 180.137 lineto
-stroke
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-199.671 180.137 M
-374.861 180.137 lineto
-stroke
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-112.077 180.137 M
-199.671 180.137 lineto
-stroke
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-199.671 180.137 M
-374.861 180.137 lineto
-stroke
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-112.077 177.137 M
-115.077 183.137 lineto
-109.077 183.137 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-112.077 177.137 M
-115.077 183.137 lineto
-109.077 183.137 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-199.671 177.137 M
-202.671 183.137 lineto
-196.671 183.137 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-199.671 177.137 M
-202.671 183.137 lineto
-196.671 183.137 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-374.861 177.137 M
-377.861 183.137 lineto
-371.861 183.137 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-374.861 177.137 M
-377.861 183.137 lineto
-371.861 183.137 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-115.077 180.137 M
-115.077 181.794 113.734 183.137 112.077 183.137 curveto
-110.42 183.137 109.077 181.794 109.077 180.137 curveto
-109.077 178.48 110.42 177.137 112.077 177.137 curveto
-113.734 177.137 115.077 178.48 115.077 180.137 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-115.077 180.137 M
-115.077 181.794 113.734 183.137 112.077 183.137 curveto
-110.42 183.137 109.077 181.794 109.077 180.137 curveto
-109.077 178.48 110.42 177.137 112.077 177.137 curveto
-113.734 177.137 115.077 178.48 115.077 180.137 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-202.671 180.137 M
-202.671 181.794 201.328 183.137 199.671 183.137 curveto
-198.015 183.137 196.671 181.794 196.671 180.137 curveto
-196.671 178.48 198.015 177.137 199.671 177.137 curveto
-201.328 177.137 202.671 178.48 202.671 180.137 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-202.671 180.137 M
-202.671 181.794 201.328 183.137 199.671 183.137 curveto
-198.015 183.137 196.671 181.794 196.671 180.137 curveto
-196.671 178.48 198.015 177.137 199.671 177.137 curveto
-201.328 177.137 202.671 178.48 202.671 180.137 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-377.861 180.137 M
-377.861 181.794 376.518 183.137 374.861 183.137 curveto
-373.204 183.137 371.861 181.794 371.861 180.137 curveto
-371.861 178.48 373.204 177.137 374.861 177.137 curveto
-376.518 177.137 377.861 178.48 377.861 180.137 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-377.861 180.137 M
-377.861 181.794 376.518 183.137 374.861 183.137 curveto
-373.204 183.137 371.861 181.794 371.861 180.137 curveto
-371.861 178.48 373.204 177.137 374.861 177.137 curveto
-376.518 177.137 377.861 178.48 377.861 180.137 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-109.077 177.137 M
-115.077 177.137 lineto
-115.077 183.137 lineto
-109.077 183.137 lineto
-109.077 177.137 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-109.077 177.137 M
-115.077 177.137 lineto
-115.077 183.137 lineto
-109.077 183.137 lineto
-109.077 177.137 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-196.671 177.137 M
-202.671 177.137 lineto
-202.671 183.137 lineto
-196.671 183.137 lineto
-196.671 177.137 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-196.671 177.137 M
-202.671 177.137 lineto
-202.671 183.137 lineto
-196.671 183.137 lineto
-196.671 177.137 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-371.861 177.137 M
-377.861 177.137 lineto
-377.861 183.137 lineto
-371.861 183.137 lineto
-371.861 177.137 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-98.938 34.141 M
-98.938 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-371.861 177.137 M
-377.861 177.137 lineto
-377.861 183.137 lineto
-371.861 183.137 lineto
-371.861 177.137 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-0.5 setlinewidth
-newpath
-98.938 34.141 M
-388 34.141 lineto
-388 326.133 lineto
-98.938 326.133 lineto
-98.938 34.141 lineto
-closepath
-stroke
-grestore
-%%Trailer
-%%Pages: 1
-%%EOF
diff --git a/sim/gobs/wiki/kpv01.cfg b/sim/gobs/wiki/kpv01.cfg
deleted file mode 100644
index a68a6f8..0000000
--- a/sim/gobs/wiki/kpv01.cfg
+++ /dev/null
@@ -1,16 +0,0 @@
-
-### Kademlia vs. PAST vs. Vertex Groups 01
-
-include = kpv_output.cfg kpv_lit_big.cfg
-
-### Choose a PlacementScheme implementation:
-
-# Chosen by sweep driver.
-
-replica.source = primary
-VertexGroupPrefix = 5
-
-### Choose a NodeScheme implementation:
-
-# impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
diff --git a/sim/gobs/wiki/kpv02.cfg b/sim/gobs/wiki/kpv02.cfg
deleted file mode 100644
index ccc00a6..0000000
--- a/sim/gobs/wiki/kpv02.cfg
+++ /dev/null
@@ -1,18 +0,0 @@
-
-### Kademlia vs. PAST vs. Vertex Groups 02
-
-include = kpv_output.cfg kpv_lit_big.cfg
-#kpv_scenario.cfg
-
-### Choose a PlacementScheme implementation:
-
-# Chosen by sweep driver.
-
-replica.source = primary
-VertexGroupPrefix = 5
-
-### Choose a NodeScheme implementation:
-
-impl.nodefactory = RandomNodes
-# impl.nodefactory = SimpleNodes
-
diff --git a/sim/gobs/wiki/kpv03.cfg b/sim/gobs/wiki/kpv03.cfg
deleted file mode 100644
index 23b4ef5..0000000
--- a/sim/gobs/wiki/kpv03.cfg
+++ /dev/null
@@ -1,18 +0,0 @@
-
-### Kademlia vs. PAST vs. Vertex Groups 03
-
-include = kpv_output.cfg kpv_lit_big.cfg
-# kpv_scenario.cfg
-
-### Choose a PlacementScheme implementation:
-
-# Chosen by sweep driver.
-
-replica.source = random
-VertexGroupPrefix = 5
-
-### Choose a NodeScheme implementation:
-
-#impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
-
diff --git a/sim/gobs/wiki/kpv04.cfg b/sim/gobs/wiki/kpv04.cfg
deleted file mode 100644
index 5a82198..0000000
--- a/sim/gobs/wiki/kpv04.cfg
+++ /dev/null
@@ -1,17 +0,0 @@
-
-### Kademlia vs. PAST vs. Vertex Groups 04
-
-include = kpv_output.cfg kpv_lit_big.cfg
-# kpv_scenario.cfg
-
-### Choose a PlacementScheme implementation:
-
-# Chosen by sweep driver.
-
-replica.source = random
-VertexGroupPrefix = 5
-
-### Choose a NodeScheme implementation:
-
-impl.nodefactory = RandomNodes
-# impl.nodefactory = SimpleNodes
diff --git a/sim/gobs/wiki/kpv05.cfg b/sim/gobs/wiki/kpv05.cfg
deleted file mode 100644
index 6fa55d1..0000000
--- a/sim/gobs/wiki/kpv05.cfg
+++ /dev/null
@@ -1,18 +0,0 @@
-
-### Kademlia vs. PAST vs. Vertex Groups 05
-
-include = kpv_output.cfg kpv_lit_big.cfg
-# kpv_scenario.cfg
-
-### Choose a PlacementScheme implementation:
-
-# Chosen by sweep driver.
-
-replica.source = last
-VertexGroupPrefix = 5
-
-### Choose a NodeScheme implementation:
-
-#impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
-
diff --git a/sim/gobs/wiki/kpv06.cfg b/sim/gobs/wiki/kpv06.cfg
deleted file mode 100644
index 396119e..0000000
--- a/sim/gobs/wiki/kpv06.cfg
+++ /dev/null
@@ -1,17 +0,0 @@
-
-### Kademlia vs. PAST vs. Vertex Groups 06
-
-include = kpv_output.cfg kpv_lit_big.cfg
-# kpv_scenario.cfg
-
-### Choose a PlacementScheme implementation:
-
-# Chosen by sweep driver.
-
-replica.source = last
-VertexGroupPrefix = 5
-
-### Choose a NodeScheme implementation:
-
-impl.nodefactory = RandomNodes
-
diff --git a/sim/gobs/wiki/kpv_lit_big.cfg b/sim/gobs/wiki/kpv_lit_big.cfg
deleted file mode 100644
index a2ca98d..0000000
--- a/sim/gobs/wiki/kpv_lit_big.cfg
+++ /dev/null
@@ -1,25 +0,0 @@
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 32
-# Number of files:
-files = 3000
-# Number of faults:
-faults = 1
-
-# Number of servers:
-step = literal_100,1000
-minNodes = 0
-maxNodes = 0
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PlainFiles
-# File size:
-file.size = 14
-# Strip size:
-file.strip = 4
-# File/object replicas:
-file.replicas = 3
-# Number of objects per file:
-file.width = 10
diff --git a/sim/gobs/wiki/kpv_lit_small.cfg b/sim/gobs/wiki/kpv_lit_small.cfg
deleted file mode 100644
index a2cd9a4..0000000
--- a/sim/gobs/wiki/kpv_lit_small.cfg
+++ /dev/null
@@ -1,25 +0,0 @@
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 32
-# Number of files:
-files = 100
-# Number of faults:
-faults = 1
-
-# Number of servers:
-step = literal_30,50
-minNodes = 0
-maxNodes = 0
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PlainFiles
-# File size:
-file.size = 14
-# Strip size:
-file.strip = 4
-# File/object replicas:
-file.replicas = 3
-# Number of objects per file:
-file.width = 10
diff --git a/sim/gobs/wiki/kpv_output.cfg b/sim/gobs/wiki/kpv_output.cfg
deleted file mode 100644
index f3afc38..0000000
--- a/sim/gobs/wiki/kpv_output.cfg
+++ /dev/null
@@ -1,15 +0,0 @@
-
-### Simulator output configuration
-
-# Dump properties for each Simulator execution
-print.properties = true
-# Print nodes and objects at startup (true/false)
-print.initialnodes = false
-# Print nodes and objects after each rebuild (true/false)
-print.nodes = false
-# Print object tranfers during rebuilds (true/false)
-print.rebuilds = false
-# Print file information (true/false)
-print.files = false
-# Print load change statistics (true/false)
-print.loaddiffs = false
diff --git a/sim/gobs/wiki/kpv_scenario.cfg b/sim/gobs/wiki/kpv_scenario.cfg
deleted file mode 100644
index 2172cf9..0000000
--- a/sim/gobs/wiki/kpv_scenario.cfg
+++ /dev/null
@@ -1,26 +0,0 @@
-
-step = exps
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 32
-# Number of files:
-files = 3000
-# Number of faults:
-faults = 1
-
-# Number of servers:
-minNodes = 20
-maxNodes = 1000
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PlainFiles
-# File size:
-file.size = 14
-# Strip size:
-file.strip = 4
-# File/object replicas:
-file.replicas = 3
-# Number of objects per file:
-file.width = 10
diff --git a/sim/gobs/wiki/kpv_small.cfg b/sim/gobs/wiki/kpv_small.cfg
deleted file mode 100644
index 88d2db4..0000000
--- a/sim/gobs/wiki/kpv_small.cfg
+++ /dev/null
@@ -1,26 +0,0 @@
-
-step = exps
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 32
-# Number of files:
-files = 1
-# Number of faults:
-faults = 1
-
-# Number of servers:
-minNodes = 20
-maxNodes = 1000
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PlainFiles
-# File size:
-file.size = 14
-# Strip size:
-file.strip = 4
-# File/object replicas:
-file.replicas = 3
-# Number of objects per file:
-file.width = 10
diff --git a/sim/gobs/wiki/rb01-small.cfg b/sim/gobs/wiki/rb01-small.cfg
deleted file mode 100644
index bff05e4..0000000
--- a/sim/gobs/wiki/rb01-small.cfg
+++ /dev/null
@@ -1,32 +0,0 @@
-
-# Simulator configuration
-
-# Basics:
-
-include = disks-small.cfg user00.cfg \
- fs_pdsi_small.cfg rb_output.cfg
-
-# Statistics:
-
-# Rebuild traffic over time analysis:
-plot.traffic.interval = 10
-
-### Parameters for GOBS Simulator run
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 16
-
-# Number of faults:
-simulator.duration = 10000
-fault.dataloss = 0.5
-
-vertexgroups.prefix = 6
-# Replica selection: See Replicated.locateSource()
-replica.source = primary
-
-### Choose a NodeScheme implementation:
-
-# impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
diff --git a/sim/gobs/wiki/rb01-small.eps b/sim/gobs/wiki/rb01-small.eps
deleted file mode 100755
index 24a01f6..0000000
--- a/sim/gobs/wiki/rb01-small.eps
+++ /dev/null
@@ -1,222960 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (Apache XML Graphics Commons: EPS Generator for Java2D)
-%%CreationDate: 2010-02-26T22:01:38
-%%Pages: (atend)
-%%BoundingBox: 0 0 400 400
-%%LanguageLevel: 3
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset (Apache XML Graphics Std ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2001-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (Basic set of procedures used by the XML Graphics project \(Batik and FOP\))
-/bd{bind def}bind def
-/ld{load def}bd
-/M/moveto ld
-/RM/rmoveto ld
-/t/show ld
-/A/ashow ld
-/cp/closepath ld
-/re {4 2 roll M
-1 index 0 rlineto
-0 exch rlineto
-neg 0 rlineto
-cp } bd
-/_ctm matrix def
-/_tm matrix def
-/BT { _ctm currentmatrix pop matrix _tm copy pop 0 0 moveto } bd
-/ET { _ctm setmatrix } bd
-/iTm { _ctm setmatrix _tm concat } bd
-/Tm { _tm astore pop iTm 0 0 moveto } bd
-/ux 0.0 def
-/uy 0.0 def
-/F {
- /Tp exch def
- /Tf exch def
- Tf findfont Tp scalefont setfont
- /cf Tf def /cs Tp def /cw ( ) stringwidth pop def
-} bd
-/ULS {currentpoint /uy exch def /ux exch def} bd
-/ULE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add moveto Tcx uy To add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/OLE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs add moveto Tcx uy To add cs add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/SOE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs 10 mul 26 idiv add moveto Tcx uy To add cs 10 mul 26 idiv add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/QUADTO {
-/Y22 exch store
-/X22 exch store
-/Y21 exch store
-/X21 exch store
-currentpoint
-/Y21 load 2 mul add 3 div exch
-/X21 load 2 mul add 3 div exch
-/X21 load 2 mul /X22 load add 3 div
-/Y21 load 2 mul /Y22 load add 3 div
-/X22 load /Y22 load curveto
-} bd
-/SSPD {
-dup length /d exch dict def
-{
-/v exch def
-/k exch def
-currentpagedevice k known {
-/cpdv currentpagedevice k get def
-v cpdv ne {
-/upd false def
-/nullv v type /nulltype eq def
-/nullcpdv cpdv type /nulltype eq def
-nullv nullcpdv or
-{
-/upd true def
-} {
-/sametype v type cpdv type eq def
-sametype {
-v type /arraytype eq {
-/vlen v length def
-/cpdvlen cpdv length def
-vlen cpdvlen eq {
-0 1 vlen 1 sub {
-/i exch def
-/obj v i get def
-/cpdobj cpdv i get def
-obj cpdobj ne {
-/upd true def
-exit
-} if
-} for
-} {
-/upd true def
-} ifelse
-} {
-v type /dicttype eq {
-v {
-/dv exch def
-/dk exch def
-/cpddv cpdv dk get def
-dv cpddv ne {
-/upd true def
-exit
-} if
-} forall
-} {
-/upd true def
-} ifelse
-} ifelse
-} if
-} ifelse
-upd true eq {
-d k v put
-} if
-} if
-} if
-} forall
-d length 0 gt {
-d setpagedevice
-} if
-} bd
-%%EndResource
-%%BeginResource: procset (Apache XML Graphics EPS ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2002-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (EPS procedures used by the Apache XML Graphics project \(Batik and FOP\))
-/BeginEPSF { %def
-/b4_Inc_state save def % Save state for cleanup
-/dict_count countdictstack def % Count objects on dict stack
-/op_count count 1 sub def % Count objects on operand stack
-userdict begin % Push userdict on dict stack
-/showpage { } def % Redefine showpage, { } = null proc
-0 setgray 0 setlinecap % Prepare graphics state
-1 setlinewidth 0 setlinejoin
-10 setmiterlimit [ ] 0 setdash newpath
-/languagelevel where % If level not equal to 1 then
-{pop languagelevel % set strokeadjust and
-1 ne % overprint to their defaults.
-{false setstrokeadjust false setoverprint
-} if
-} if
-} bd
-/EndEPSF { %def
-count op_count sub {pop} repeat % Clean up stacks
-countdictstack dict_count sub {end} repeat
-b4_Inc_state restore
-} bd
-%%EndResource
-%%EndProlog
-%%Page: 1 1
-%%PageBoundingBox: 0 0 400 400
-%%BeginPageSetup
-[1 0 0 -1 0 400] concat
-%%EndPageSetup
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-141.394 21.01 M
-136.94 21.01 lineto
-132.894 15.682 lineto
-131.581 15.682 lineto
-131.581 21.01 lineto
-127.94 21.01 lineto
-127.94 6.463 lineto
-133.8 6.463 lineto
-135.003 6.463 135.901 6.619 QUADTO
-136.8 6.775 137.565 7.244 QUADTO
-138.347 7.744 138.808 8.51 QUADTO
-139.269 9.275 139.269 10.463 QUADTO
-139.269 12.135 138.511 13.174 QUADTO
-137.753 14.213 136.503 14.822 QUADTO
-141.394 21.01 lineto
-closepath
-135.519 10.916 M
-135.519 10.369 135.308 9.979 QUADTO
-135.097 9.588 134.612 9.369 QUADTO
-134.269 9.229 133.847 9.189 QUADTO
-133.425 9.15 132.8 9.15 QUADTO
-131.581 9.15 lineto
-131.581 13.057 lineto
-132.628 13.057 lineto
-133.378 13.057 133.917 12.963 QUADTO
-134.456 12.869 134.815 12.572 QUADTO
-135.175 12.291 135.347 11.916 QUADTO
-135.519 11.541 135.519 10.916 QUADTO
-closepath
-147.884 21.307 M
-144.774 21.307 143.126 19.822 QUADTO
-141.478 18.338 141.478 15.588 QUADTO
-141.478 12.9 143.017 11.299 QUADTO
-144.556 9.697 147.337 9.697 QUADTO
-149.853 9.697 151.118 11.057 QUADTO
-152.384 12.416 152.384 14.947 QUADTO
-152.384 16.182 lineto
-144.899 16.182 lineto
-144.946 16.932 145.22 17.447 QUADTO
-145.493 17.963 145.946 18.26 QUADTO
-146.384 18.572 146.97 18.705 QUADTO
-147.556 18.838 148.243 18.838 QUADTO
-148.837 18.838 149.415 18.705 QUADTO
-149.993 18.572 150.478 18.354 QUADTO
-150.899 18.166 151.251 17.955 QUADTO
-151.603 17.744 151.837 17.572 QUADTO
-152.196 17.572 lineto
-152.196 20.4 lineto
-151.774 20.557 151.431 20.697 QUADTO
-151.087 20.838 150.478 20.994 QUADTO
-149.915 21.135 149.329 21.221 QUADTO
-148.743 21.307 147.884 21.307 QUADTO
-closepath
-149.024 14.119 M
-148.993 13.025 148.517 12.463 QUADTO
-148.04 11.9 147.071 11.9 QUADTO
-146.071 11.9 145.509 12.494 QUADTO
-144.946 13.088 144.884 14.119 QUADTO
-149.024 14.119 lineto
-closepath
-161.399 15.447 M
-161.399 13.807 160.899 13.104 QUADTO
-160.399 12.4 159.368 12.4 QUADTO
-158.915 12.4 158.462 12.541 QUADTO
-158.009 12.682 157.571 12.979 QUADTO
-157.571 18.494 lineto
-157.899 18.619 158.251 18.674 QUADTO
-158.603 18.729 158.946 18.729 QUADTO
-160.181 18.729 160.79 17.908 QUADTO
-161.399 17.088 161.399 15.447 QUADTO
-closepath
-164.899 15.369 M
-164.899 17.994 163.571 19.611 QUADTO
-162.243 21.229 160.274 21.229 QUADTO
-159.462 21.229 158.853 21.041 QUADTO
-158.243 20.854 157.571 20.463 QUADTO
-157.415 21.01 lineto
-154.149 21.01 lineto
-154.149 5.807 lineto
-157.571 5.807 lineto
-157.571 11.182 lineto
-158.321 10.541 159.103 10.143 QUADTO
-159.884 9.744 160.899 9.744 QUADTO
-162.821 9.744 163.86 11.236 QUADTO
-164.899 12.729 164.899 15.369 QUADTO
-closepath
-176.974 21.01 M
-173.552 21.01 lineto
-173.552 19.791 lineto
-172.661 20.541 171.919 20.924 QUADTO
-171.177 21.307 170.146 21.307 QUADTO
-168.521 21.307 167.606 20.275 QUADTO
-166.692 19.244 166.692 17.182 QUADTO
-166.692 10.041 lineto
-170.13 10.041 lineto
-170.13 15.479 lineto
-170.13 16.338 170.177 16.869 QUADTO
-170.224 17.4 170.38 17.775 QUADTO
-170.536 18.119 170.864 18.291 QUADTO
-171.192 18.463 171.786 18.463 QUADTO
-172.146 18.463 172.638 18.291 QUADTO
-173.13 18.119 173.552 17.822 QUADTO
-173.552 10.041 lineto
-176.974 10.041 lineto
-176.974 21.01 lineto
-closepath
-183.011 21.01 M
-179.589 21.01 lineto
-179.589 10.041 lineto
-183.011 10.041 lineto
-183.011 21.01 lineto
-closepath
-183.104 8.479 M
-179.495 8.479 lineto
-179.495 5.807 lineto
-183.104 5.807 lineto
-183.104 8.479 lineto
-closepath
-189.046 21.01 M
-185.624 21.01 lineto
-185.624 5.807 lineto
-189.046 5.807 lineto
-189.046 21.01 lineto
-closepath
-201.628 21.01 M
-198.206 21.01 lineto
-198.206 19.869 lineto
-197.878 20.135 197.456 20.447 QUADTO
-197.034 20.76 196.706 20.916 QUADTO
-196.3 21.119 195.894 21.213 QUADTO
-195.487 21.307 194.94 21.307 QUADTO
-193.065 21.307 191.972 19.76 QUADTO
-190.878 18.213 190.878 15.604 QUADTO
-190.878 14.166 191.245 13.111 QUADTO
-191.612 12.057 192.269 11.275 QUADTO
-192.862 10.572 193.714 10.158 QUADTO
-194.565 9.744 195.519 9.744 QUADTO
-196.378 9.744 196.925 9.924 QUADTO
-197.472 10.104 198.206 10.479 QUADTO
-198.206 5.807 lineto
-201.628 5.807 lineto
-201.628 21.01 lineto
-closepath
-198.206 17.979 M
-198.206 12.604 lineto
-197.956 12.479 197.542 12.393 QUADTO
-197.128 12.307 196.847 12.307 QUADTO
-195.612 12.307 194.995 13.166 QUADTO
-194.378 14.025 194.378 15.572 QUADTO
-194.378 17.197 194.87 17.916 QUADTO
-195.362 18.635 196.456 18.635 QUADTO
-196.909 18.635 197.37 18.463 QUADTO
-197.831 18.291 198.206 17.979 QUADTO
-closepath
-213.091 21.01 M
-213.091 9.244 lineto
-208.794 9.244 lineto
-208.794 6.463 lineto
-221.044 6.463 lineto
-221.044 9.244 lineto
-216.747 9.244 lineto
-216.747 21.01 lineto
-213.091 21.01 lineto
-closepath
-229.712 13.275 M
-229.431 13.275 lineto
-229.228 13.213 228.86 13.174 QUADTO
-228.493 13.135 228.04 13.135 QUADTO
-227.509 13.135 226.915 13.291 QUADTO
-226.321 13.447 225.774 13.666 QUADTO
-225.774 21.01 lineto
-222.353 21.01 lineto
-222.353 10.041 lineto
-225.774 10.041 lineto
-225.774 11.619 lineto
-226.009 11.4 226.423 11.072 QUADTO
-226.837 10.744 227.181 10.557 QUADTO
-227.54 10.322 228.032 10.166 QUADTO
-228.524 10.01 228.978 10.01 QUADTO
-229.134 10.01 229.337 10.018 QUADTO
-229.54 10.025 229.712 10.041 QUADTO
-229.712 13.275 lineto
-closepath
-237.071 18.15 M
-237.071 15.869 lineto
-236.196 15.947 235.657 16.01 QUADTO
-235.118 16.072 234.603 16.26 QUADTO
-234.149 16.416 233.907 16.736 QUADTO
-233.665 17.057 233.665 17.588 QUADTO
-233.665 18.354 234.079 18.643 QUADTO
-234.493 18.932 235.306 18.932 QUADTO
-235.743 18.932 236.212 18.729 QUADTO
-236.681 18.525 237.071 18.15 QUADTO
-closepath
-237.071 19.854 M
-236.712 20.135 236.438 20.369 QUADTO
-236.165 20.604 235.696 20.838 QUADTO
-235.228 21.072 234.798 21.189 QUADTO
-234.368 21.307 233.587 21.307 QUADTO
-232.118 21.307 231.157 20.33 QUADTO
-230.196 19.354 230.196 17.869 QUADTO
-230.196 16.65 230.688 15.893 QUADTO
-231.181 15.135 232.103 14.697 QUADTO
-233.024 14.244 234.313 14.072 QUADTO
-235.603 13.9 237.087 13.807 QUADTO
-237.087 13.744 lineto
-237.087 12.838 236.415 12.486 QUADTO
-235.743 12.135 234.415 12.135 QUADTO
-233.806 12.135 232.993 12.361 QUADTO
-232.181 12.588 231.415 12.916 QUADTO
-231.118 12.916 lineto
-231.118 10.275 lineto
-231.634 10.135 232.767 9.932 QUADTO
-233.899 9.729 235.04 9.729 QUADTO
-237.884 9.729 239.173 10.674 QUADTO
-240.462 11.619 240.462 13.541 QUADTO
-240.462 21.01 lineto
-237.071 21.01 lineto
-237.071 19.854 lineto
-closepath
-250.013 8.385 M
-249.747 8.385 lineto
-249.544 8.338 249.13 8.244 QUADTO
-248.716 8.15 248.341 8.15 QUADTO
-247.31 8.15 246.935 8.533 QUADTO
-246.56 8.916 246.56 9.947 QUADTO
-246.56 10.041 lineto
-249.278 10.041 lineto
-249.278 12.432 lineto
-246.669 12.432 lineto
-246.669 21.01 lineto
-243.263 21.01 lineto
-243.263 12.432 lineto
-241.888 12.432 lineto
-241.888 10.041 lineto
-243.263 10.041 lineto
-243.263 9.744 lineto
-243.263 7.729 244.317 6.721 QUADTO
-245.372 5.713 247.513 5.713 QUADTO
-248.247 5.713 248.896 5.768 QUADTO
-249.544 5.822 250.013 5.916 QUADTO
-250.013 8.385 lineto
-closepath
-257.659 8.385 M
-257.394 8.385 lineto
-257.19 8.338 256.776 8.244 QUADTO
-256.362 8.15 255.987 8.15 QUADTO
-254.956 8.15 254.581 8.533 QUADTO
-254.206 8.916 254.206 9.947 QUADTO
-254.206 10.041 lineto
-256.925 10.041 lineto
-256.925 12.432 lineto
-254.315 12.432 lineto
-254.315 21.01 lineto
-250.909 21.01 lineto
-250.909 12.432 lineto
-249.534 12.432 lineto
-249.534 10.041 lineto
-250.909 10.041 lineto
-250.909 9.744 lineto
-250.909 7.729 251.964 6.721 QUADTO
-253.019 5.713 255.159 5.713 QUADTO
-255.894 5.713 256.542 5.768 QUADTO
-257.19 5.822 257.659 5.916 QUADTO
-257.659 8.385 lineto
-closepath
-261.712 21.01 M
-258.29 21.01 lineto
-258.29 10.041 lineto
-261.712 10.041 lineto
-261.712 21.01 lineto
-closepath
-261.806 8.479 M
-258.196 8.479 lineto
-258.196 5.807 lineto
-261.806 5.807 lineto
-261.806 8.479 lineto
-closepath
-269.7 21.307 M
-268.341 21.307 267.216 20.963 QUADTO
-266.091 20.619 265.263 19.9 QUADTO
-264.435 19.197 263.981 18.119 QUADTO
-263.528 17.041 263.528 15.572 QUADTO
-263.528 13.994 264.021 12.893 QUADTO
-264.513 11.791 265.372 11.072 QUADTO
-266.185 10.4 267.294 10.072 QUADTO
-268.403 9.744 269.606 9.744 QUADTO
-270.513 9.744 271.419 9.955 QUADTO
-272.325 10.166 273.247 10.619 QUADTO
-273.247 13.541 lineto
-272.81 13.541 lineto
-272.606 13.354 272.31 13.119 QUADTO
-272.013 12.885 271.653 12.682 QUADTO
-271.278 12.479 270.81 12.338 QUADTO
-270.341 12.197 269.778 12.197 QUADTO
-268.466 12.197 267.747 13.111 QUADTO
-267.028 14.025 267.028 15.572 QUADTO
-267.028 17.213 267.794 18.025 QUADTO
-268.56 18.838 269.825 18.838 QUADTO
-270.481 18.838 270.966 18.689 QUADTO
-271.45 18.541 271.81 18.338 QUADTO
-272.138 18.135 272.388 17.916 QUADTO
-272.638 17.697 272.81 17.525 QUADTO
-273.247 17.525 lineto
-273.247 20.447 lineto
-272.95 20.572 272.567 20.744 QUADTO
-272.185 20.916 271.778 21.025 QUADTO
-271.278 21.15 270.849 21.229 QUADTO
-270.419 21.307 269.7 21.307 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-1 356.031 M
-399 356.031 lineto
-399 399 lineto
-1 399 lineto
-1 356.031 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-1.5 356.531 M
-398.5 356.531 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-1.5 398.5 M
-398.5 398.5 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-1.5 398.5 M
-1.5 356.531 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-398.5 398.5 M
-398.5 356.531 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-5 367.273 M
-19 367.273 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-9 364.273 M
-15 364.273 lineto
-15 370.273 lineto
-9 370.273 lineto
-9 364.273 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-9 364.273 M
-15 364.273 lineto
-15 370.273 lineto
-9 370.273 lineto
-9 364.273 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-29.391 365.943 M
-29.391 366.506 29.188 367.014 QUADTO
-28.984 367.521 28.625 367.881 QUADTO
-28.188 368.334 27.578 368.561 QUADTO
-26.969 368.787 26.031 368.787 QUADTO
-25.047 368.787 lineto
-25.047 372.037 lineto
-23.891 372.037 lineto
-23.891 363.318 lineto
-26.078 363.318 lineto
-26.844 363.318 27.391 363.443 QUADTO
-27.938 363.568 28.359 363.85 QUADTO
-28.844 364.193 29.117 364.701 QUADTO
-29.391 365.209 29.391 365.943 QUADTO
-closepath
-28.188 365.975 M
-28.188 365.521 28.031 365.186 QUADTO
-27.875 364.85 27.562 364.646 QUADTO
-27.281 364.459 26.914 364.381 QUADTO
-26.547 364.303 26 364.303 QUADTO
-25.047 364.303 lineto
-25.047 367.787 lineto
-25.844 367.787 lineto
-26.547 367.787 26.977 367.678 QUADTO
-27.406 367.568 27.688 367.271 QUADTO
-27.953 367.006 28.07 366.693 QUADTO
-28.188 366.381 28.188 365.975 QUADTO
-closepath
-29.553 372.037 M
-32.506 363.318 lineto
-33.928 363.318 lineto
-36.865 372.037 lineto
-35.646 372.037 lineto
-34.85 369.6 lineto
-31.521 369.6 lineto
-30.725 372.037 lineto
-29.553 372.037 lineto
-closepath
-34.537 368.615 M
-33.178 364.49 lineto
-31.85 368.615 lineto
-34.537 368.615 lineto
-closepath
-40.123 372.193 M
-39.186 372.193 38.514 371.998 QUADTO
-37.842 371.803 37.264 371.521 QUADTO
-37.264 370.068 lineto
-37.342 370.068 lineto
-37.92 370.6 38.646 370.896 QUADTO
-39.373 371.193 40.045 371.193 QUADTO
-41.014 371.193 41.506 370.795 QUADTO
-41.998 370.396 41.998 369.74 QUADTO
-41.998 369.209 41.74 368.881 QUADTO
-41.482 368.553 40.92 368.396 QUADTO
-40.514 368.287 40.178 368.209 QUADTO
-39.842 368.131 39.342 368.006 QUADTO
-38.889 367.881 38.529 367.701 QUADTO
-38.17 367.521 37.889 367.225 QUADTO
-37.623 366.943 37.475 366.553 QUADTO
-37.326 366.162 37.326 365.646 QUADTO
-37.326 364.584 38.154 363.865 QUADTO
-38.982 363.146 40.264 363.146 QUADTO
-40.998 363.146 41.646 363.295 QUADTO
-42.295 363.443 42.857 363.709 QUADTO
-42.857 365.1 lineto
-42.764 365.1 lineto
-42.357 364.725 41.709 364.443 QUADTO
-41.061 364.162 40.342 364.162 QUADTO
-39.529 364.162 39.029 364.537 QUADTO
-38.529 364.912 38.529 365.521 QUADTO
-38.529 366.084 38.826 366.412 QUADTO
-39.123 366.74 39.67 366.896 QUADTO
-40.045 366.99 40.576 367.115 QUADTO
-41.107 367.24 41.467 367.35 QUADTO
-42.373 367.631 42.787 368.186 QUADTO
-43.201 368.74 43.201 369.553 QUADTO
-43.201 370.068 42.99 370.561 QUADTO
-42.779 371.053 42.404 371.396 QUADTO
-41.982 371.787 41.451 371.99 QUADTO
-40.92 372.193 40.123 372.193 QUADTO
-closepath
-46.418 372.037 M
-46.418 364.35 lineto
-43.496 364.35 lineto
-43.496 363.318 lineto
-50.512 363.318 lineto
-50.512 364.35 lineto
-47.574 364.35 lineto
-47.574 372.037 lineto
-46.418 372.037 lineto
-closepath
-54.332 368.756 M
-51.035 368.756 lineto
-51.035 367.693 lineto
-54.332 367.693 lineto
-54.332 368.756 lineto
-closepath
-57.426 372.193 M
-56.77 372.193 56.199 372.021 QUADTO
-55.629 371.85 55.254 371.646 QUADTO
-55.254 370.412 lineto
-55.316 370.412 lineto
-55.457 370.521 55.645 370.654 QUADTO
-55.832 370.787 56.16 370.928 QUADTO
-56.441 371.068 56.777 371.162 QUADTO
-57.113 371.256 57.473 371.256 QUADTO
-57.738 371.256 58.035 371.201 QUADTO
-58.332 371.146 58.473 371.053 QUADTO
-58.691 370.912 58.777 370.756 QUADTO
-58.863 370.6 58.863 370.303 QUADTO
-58.863 369.912 58.652 369.709 QUADTO
-58.441 369.506 57.895 369.381 QUADTO
-57.676 369.318 57.34 369.248 QUADTO
-57.004 369.178 56.723 369.1 QUADTO
-55.973 368.881 55.629 368.428 QUADTO
-55.285 367.975 55.285 367.334 QUADTO
-55.285 366.443 55.957 365.889 QUADTO
-56.629 365.334 57.723 365.334 QUADTO
-58.27 365.334 58.824 365.467 QUADTO
-59.379 365.6 59.754 365.803 QUADTO
-59.754 366.99 lineto
-59.691 366.99 lineto
-59.27 366.646 58.754 366.459 QUADTO
-58.238 366.271 57.707 366.271 QUADTO
-57.16 366.271 56.785 366.498 QUADTO
-56.41 366.725 56.41 367.178 QUADTO
-56.41 367.6 56.637 367.803 QUADTO
-56.863 368.006 57.348 368.131 QUADTO
-57.598 368.193 57.895 368.256 QUADTO
-58.191 368.318 58.535 368.396 QUADTO
-59.254 368.584 59.621 369.006 QUADTO
-59.988 369.428 59.988 370.146 QUADTO
-59.988 370.568 59.824 370.951 QUADTO
-59.66 371.334 59.332 371.6 QUADTO
-58.988 371.896 58.543 372.045 QUADTO
-58.098 372.193 57.426 372.193 QUADTO
-closepath
-64.672 370.428 M
-64.672 368.615 lineto
-64.281 368.646 63.68 368.709 QUADTO
-63.078 368.771 62.703 368.881 QUADTO
-62.266 369.006 61.984 369.287 QUADTO
-61.703 369.568 61.703 370.068 QUADTO
-61.703 370.631 62.016 370.92 QUADTO
-62.328 371.209 62.938 371.209 QUADTO
-63.453 371.209 63.875 370.982 QUADTO
-64.297 370.756 64.672 370.428 QUADTO
-closepath
-64.672 371.334 M
-64.531 371.443 64.312 371.623 QUADTO
-64.094 371.803 63.875 371.896 QUADTO
-63.578 372.053 63.305 372.139 QUADTO
-63.031 372.225 62.547 372.225 QUADTO
-62.141 372.225 61.781 372.068 QUADTO
-61.422 371.912 61.141 371.631 QUADTO
-60.875 371.365 60.719 370.975 QUADTO
-60.562 370.584 60.562 370.131 QUADTO
-60.562 369.459 60.852 368.982 QUADTO
-61.141 368.506 61.75 368.225 QUADTO
-62.312 367.975 63.062 367.873 QUADTO
-63.812 367.771 64.672 367.725 QUADTO
-64.672 367.521 lineto
-64.672 367.131 64.555 366.896 QUADTO
-64.438 366.662 64.234 366.521 QUADTO
-64.016 366.396 63.711 366.35 QUADTO
-63.406 366.303 63.078 366.303 QUADTO
-62.703 366.303 62.188 366.42 QUADTO
-61.672 366.537 61.156 366.756 QUADTO
-61.094 366.756 lineto
-61.094 365.631 lineto
-61.391 365.537 61.961 365.436 QUADTO
-62.531 365.334 63.094 365.334 QUADTO
-63.766 365.334 64.227 365.436 QUADTO
-64.688 365.537 65.062 365.818 QUADTO
-65.422 366.084 65.594 366.514 QUADTO
-65.766 366.943 65.766 367.553 QUADTO
-65.766 372.037 lineto
-64.672 372.037 lineto
-64.672 371.334 lineto
-closepath
-72.455 372.037 M
-71.361 372.037 lineto
-71.361 368.303 lineto
-71.361 367.865 71.314 367.475 QUADTO
-71.268 367.084 71.143 366.85 QUADTO
-71.018 366.6 70.775 366.482 QUADTO
-70.533 366.365 70.111 366.365 QUADTO
-69.705 366.365 69.268 366.584 QUADTO
-68.83 366.803 68.424 367.146 QUADTO
-68.424 372.037 lineto
-67.314 372.037 lineto
-67.314 365.49 lineto
-68.424 365.49 lineto
-68.424 366.225 lineto
-68.908 365.771 69.393 365.537 QUADTO
-69.877 365.303 70.408 365.303 QUADTO
-71.377 365.303 71.916 365.943 QUADTO
-72.455 366.584 72.455 367.787 QUADTO
-72.455 372.037 lineto
-closepath
-82.803 372.037 M
-81.693 372.037 lineto
-81.693 371.365 lineto
-81.443 371.584 81.256 371.725 QUADTO
-81.068 371.865 80.803 371.99 QUADTO
-80.568 372.1 80.318 372.162 QUADTO
-80.068 372.225 79.74 372.225 QUADTO
-79.209 372.225 78.756 371.998 QUADTO
-78.303 371.771 77.975 371.35 QUADTO
-77.662 370.912 77.482 370.279 QUADTO
-77.303 369.646 77.303 368.818 QUADTO
-77.303 367.959 77.529 367.326 QUADTO
-77.756 366.693 78.146 366.225 QUADTO
-78.506 365.803 79.014 365.553 QUADTO
-79.521 365.303 80.068 365.303 QUADTO
-80.568 365.303 80.928 365.412 QUADTO
-81.287 365.521 81.693 365.756 QUADTO
-81.693 362.912 lineto
-82.803 362.912 lineto
-82.803 372.037 lineto
-closepath
-81.693 370.443 M
-81.693 366.662 lineto
-81.287 366.475 80.959 366.396 QUADTO
-80.631 366.318 80.256 366.318 QUADTO
-79.396 366.318 78.92 366.951 QUADTO
-78.443 367.584 78.443 368.787 QUADTO
-78.443 369.943 78.811 370.553 QUADTO
-79.178 371.162 79.99 371.162 QUADTO
-80.428 371.162 80.865 370.967 QUADTO
-81.303 370.771 81.693 370.443 QUADTO
-closepath
-85.514 372.037 M
-84.42 372.037 lineto
-84.42 365.49 lineto
-85.514 365.49 lineto
-85.514 372.037 lineto
-closepath
-85.592 364.396 M
-84.342 364.396 lineto
-84.342 363.256 lineto
-85.592 363.256 lineto
-85.592 364.396 lineto
-closepath
-88.896 372.193 M
-88.24 372.193 87.67 372.021 QUADTO
-87.1 371.85 86.725 371.646 QUADTO
-86.725 370.412 lineto
-86.787 370.412 lineto
-86.928 370.521 87.115 370.654 QUADTO
-87.303 370.787 87.631 370.928 QUADTO
-87.912 371.068 88.248 371.162 QUADTO
-88.584 371.256 88.943 371.256 QUADTO
-89.209 371.256 89.506 371.201 QUADTO
-89.803 371.146 89.943 371.053 QUADTO
-90.162 370.912 90.248 370.756 QUADTO
-90.334 370.6 90.334 370.303 QUADTO
-90.334 369.912 90.123 369.709 QUADTO
-89.912 369.506 89.365 369.381 QUADTO
-89.146 369.318 88.811 369.248 QUADTO
-88.475 369.178 88.193 369.1 QUADTO
-87.443 368.881 87.1 368.428 QUADTO
-86.756 367.975 86.756 367.334 QUADTO
-86.756 366.443 87.428 365.889 QUADTO
-88.1 365.334 89.193 365.334 QUADTO
-89.74 365.334 90.295 365.467 QUADTO
-90.85 365.6 91.225 365.803 QUADTO
-91.225 366.99 lineto
-91.162 366.99 lineto
-90.74 366.646 90.225 366.459 QUADTO
-89.709 366.271 89.178 366.271 QUADTO
-88.631 366.271 88.256 366.498 QUADTO
-87.881 366.725 87.881 367.178 QUADTO
-87.881 367.6 88.107 367.803 QUADTO
-88.334 368.006 88.818 368.131 QUADTO
-89.068 368.193 89.365 368.256 QUADTO
-89.662 368.318 90.006 368.396 QUADTO
-90.725 368.584 91.092 369.006 QUADTO
-91.459 369.428 91.459 370.146 QUADTO
-91.459 370.568 91.295 370.951 QUADTO
-91.131 371.334 90.803 371.6 QUADTO
-90.459 371.896 90.014 372.045 QUADTO
-89.568 372.193 88.896 372.193 QUADTO
-closepath
-97.908 372.037 M
-96.471 372.037 lineto
-94.018 368.881 lineto
-93.596 369.303 lineto
-93.596 372.037 lineto
-92.486 372.037 lineto
-92.486 362.912 lineto
-93.596 362.912 lineto
-93.596 368.256 lineto
-96.174 365.49 lineto
-97.549 365.49 lineto
-94.861 368.225 lineto
-97.908 372.037 lineto
-closepath
-100.182 372.037 M
-98.775 372.037 lineto
-98.775 370.365 lineto
-100.182 370.365 lineto
-100.182 372.037 lineto
-closepath
-109.533 372.037 M
-109.533 368.256 lineto
-109.533 367.803 109.494 367.42 QUADTO
-109.455 367.037 109.346 366.818 QUADTO
-109.221 366.584 109.01 366.475 QUADTO
-108.799 366.365 108.424 366.365 QUADTO
-108.08 366.365 107.689 366.568 QUADTO
-107.299 366.771 106.893 367.162 QUADTO
-106.893 367.271 106.9 367.404 QUADTO
-106.908 367.537 106.908 367.725 QUADTO
-106.908 372.037 lineto
-105.814 372.037 lineto
-105.814 368.256 lineto
-105.814 367.803 105.775 367.42 QUADTO
-105.736 367.037 105.627 366.818 QUADTO
-105.518 366.584 105.299 366.475 QUADTO
-105.08 366.365 104.705 366.365 QUADTO
-104.346 366.365 103.955 366.584 QUADTO
-103.564 366.803 103.205 367.146 QUADTO
-103.205 372.037 lineto
-102.096 372.037 lineto
-102.096 365.49 lineto
-103.205 365.49 lineto
-103.205 366.225 lineto
-103.627 365.787 104.057 365.545 QUADTO
-104.486 365.303 104.986 365.303 QUADTO
-105.564 365.303 106.018 365.568 QUADTO
-106.471 365.834 106.705 366.443 QUADTO
-107.205 365.881 107.674 365.592 QUADTO
-108.143 365.303 108.705 365.303 QUADTO
-109.127 365.303 109.471 365.436 QUADTO
-109.814 365.568 110.08 365.865 QUADTO
-110.346 366.162 110.486 366.607 QUADTO
-110.627 367.053 110.627 367.725 QUADTO
-110.627 372.037 lineto
-109.533 372.037 lineto
-closepath
-114.158 372.162 M
-113.252 372.162 112.752 371.654 QUADTO
-112.252 371.146 112.252 370.037 QUADTO
-112.252 366.412 lineto
-111.502 366.412 lineto
-111.502 365.49 lineto
-112.252 365.49 lineto
-112.252 363.615 lineto
-113.346 363.615 lineto
-113.346 365.49 lineto
-115.377 365.49 lineto
-115.377 366.412 lineto
-113.346 366.412 lineto
-113.346 369.521 lineto
-113.346 370.021 113.361 370.287 QUADTO
-113.377 370.553 113.502 370.787 QUADTO
-113.596 370.99 113.822 371.092 QUADTO
-114.049 371.193 114.424 371.193 QUADTO
-114.689 371.193 114.947 371.115 QUADTO
-115.205 371.037 115.314 370.99 QUADTO
-115.377 370.99 lineto
-115.377 371.975 lineto
-115.064 372.068 114.744 372.115 QUADTO
-114.424 372.162 114.158 372.162 QUADTO
-closepath
-118.172 372.162 M
-117.266 372.162 116.766 371.654 QUADTO
-116.266 371.146 116.266 370.037 QUADTO
-116.266 366.412 lineto
-115.516 366.412 lineto
-115.516 365.49 lineto
-116.266 365.49 lineto
-116.266 363.615 lineto
-117.359 363.615 lineto
-117.359 365.49 lineto
-119.391 365.49 lineto
-119.391 366.412 lineto
-117.359 366.412 lineto
-117.359 369.521 lineto
-117.359 370.021 117.375 370.287 QUADTO
-117.391 370.553 117.516 370.787 QUADTO
-117.609 370.99 117.836 371.092 QUADTO
-118.062 371.193 118.438 371.193 QUADTO
-118.703 371.193 118.961 371.115 QUADTO
-119.219 371.037 119.328 370.99 QUADTO
-119.391 370.99 lineto
-119.391 371.975 lineto
-119.078 372.068 118.758 372.115 QUADTO
-118.438 372.162 118.172 372.162 QUADTO
-closepath
-123.654 363.975 M
-123.592 363.975 lineto
-123.436 363.928 123.162 363.873 QUADTO
-122.889 363.818 122.67 363.818 QUADTO
-121.982 363.818 121.686 364.131 QUADTO
-121.389 364.443 121.389 365.271 QUADTO
-121.389 365.49 lineto
-123.201 365.49 lineto
-123.201 366.412 lineto
-121.42 366.412 lineto
-121.42 372.037 lineto
-120.326 372.037 lineto
-120.326 366.412 lineto
-119.576 366.412 lineto
-119.576 365.49 lineto
-120.326 365.49 lineto
-120.326 365.271 lineto
-120.326 364.084 120.889 363.475 QUADTO
-121.451 362.865 122.514 362.865 QUADTO
-122.826 362.865 123.115 362.896 QUADTO
-123.404 362.928 123.654 362.959 QUADTO
-123.654 363.975 lineto
-closepath
-130.834 367.459 M
-124.35 367.459 lineto
-124.35 366.521 lineto
-130.834 366.521 lineto
-130.834 367.459 lineto
-closepath
-130.834 369.912 M
-124.35 369.912 lineto
-124.35 368.975 lineto
-130.834 368.975 lineto
-130.834 369.912 lineto
-closepath
-137.986 372.037 M
-132.596 372.037 lineto
-132.596 370.818 lineto
-133.174 370.256 133.689 369.756 QUADTO
-134.205 369.256 134.705 368.709 QUADTO
-135.689 367.615 136.057 366.951 QUADTO
-136.424 366.287 136.424 365.584 QUADTO
-136.424 365.225 136.307 364.951 QUADTO
-136.189 364.678 135.986 364.49 QUADTO
-135.783 364.318 135.518 364.232 QUADTO
-135.252 364.146 134.924 364.146 QUADTO
-134.611 364.146 134.291 364.225 QUADTO
-133.971 364.303 133.689 364.412 QUADTO
-133.439 364.521 133.213 364.662 QUADTO
-132.986 364.803 132.846 364.896 QUADTO
-132.783 364.896 lineto
-132.783 363.662 lineto
-133.143 363.475 133.791 363.303 QUADTO
-134.439 363.131 135.018 363.131 QUADTO
-136.236 363.131 136.924 363.779 QUADTO
-137.611 364.428 137.611 365.537 QUADTO
-137.611 366.037 137.494 366.475 QUADTO
-137.377 366.912 137.158 367.271 QUADTO
-136.955 367.662 136.65 368.037 QUADTO
-136.346 368.412 136.002 368.771 QUADTO
-135.455 369.365 134.775 370.014 QUADTO
-134.096 370.662 133.689 371.037 QUADTO
-137.986 371.037 lineto
-137.986 372.037 lineto
-closepath
-144.568 367.678 M
-144.568 370.021 143.889 371.123 QUADTO
-143.209 372.225 141.787 372.225 QUADTO
-140.334 372.225 139.662 371.1 QUADTO
-138.99 369.975 138.99 367.678 QUADTO
-138.99 365.318 139.678 364.225 QUADTO
-140.365 363.131 141.787 363.131 QUADTO
-143.225 363.131 143.896 364.264 QUADTO
-144.568 365.396 144.568 367.678 QUADTO
-closepath
-143.068 370.334 M
-143.24 369.896 143.311 369.232 QUADTO
-143.381 368.568 143.381 367.678 QUADTO
-143.381 366.771 143.311 366.107 QUADTO
-143.24 365.443 143.068 365.006 QUADTO
-142.896 364.568 142.584 364.334 QUADTO
-142.271 364.1 141.787 364.1 QUADTO
-141.303 364.1 140.982 364.334 QUADTO
-140.662 364.568 140.49 365.021 QUADTO
-140.318 365.475 140.248 366.154 QUADTO
-140.178 366.834 140.178 367.678 QUADTO
-140.178 368.6 140.232 369.217 QUADTO
-140.287 369.834 140.475 370.318 QUADTO
-140.646 370.771 140.959 371.014 QUADTO
-141.271 371.256 141.787 371.256 QUADTO
-142.271 371.256 142.584 371.021 QUADTO
-142.896 370.787 143.068 370.334 QUADTO
-closepath
-151.119 367.678 M
-151.119 370.021 150.439 371.123 QUADTO
-149.76 372.225 148.338 372.225 QUADTO
-146.885 372.225 146.213 371.1 QUADTO
-145.541 369.975 145.541 367.678 QUADTO
-145.541 365.318 146.229 364.225 QUADTO
-146.916 363.131 148.338 363.131 QUADTO
-149.775 363.131 150.447 364.264 QUADTO
-151.119 365.396 151.119 367.678 QUADTO
-closepath
-149.619 370.334 M
-149.791 369.896 149.861 369.232 QUADTO
-149.932 368.568 149.932 367.678 QUADTO
-149.932 366.771 149.861 366.107 QUADTO
-149.791 365.443 149.619 365.006 QUADTO
-149.447 364.568 149.135 364.334 QUADTO
-148.822 364.1 148.338 364.1 QUADTO
-147.854 364.1 147.533 364.334 QUADTO
-147.213 364.568 147.041 365.021 QUADTO
-146.869 365.475 146.799 366.154 QUADTO
-146.729 366.834 146.729 367.678 QUADTO
-146.729 368.6 146.783 369.217 QUADTO
-146.838 369.834 147.025 370.318 QUADTO
-147.197 370.771 147.51 371.014 QUADTO
-147.822 371.256 148.338 371.256 QUADTO
-148.822 371.256 149.135 371.021 QUADTO
-149.447 370.787 149.619 370.334 QUADTO
-closepath
-157.67 367.678 M
-157.67 370.021 156.99 371.123 QUADTO
-156.311 372.225 154.889 372.225 QUADTO
-153.436 372.225 152.764 371.1 QUADTO
-152.092 369.975 152.092 367.678 QUADTO
-152.092 365.318 152.779 364.225 QUADTO
-153.467 363.131 154.889 363.131 QUADTO
-156.326 363.131 156.998 364.264 QUADTO
-157.67 365.396 157.67 367.678 QUADTO
-closepath
-156.17 370.334 M
-156.342 369.896 156.412 369.232 QUADTO
-156.482 368.568 156.482 367.678 QUADTO
-156.482 366.771 156.412 366.107 QUADTO
-156.342 365.443 156.17 365.006 QUADTO
-155.998 364.568 155.686 364.334 QUADTO
-155.373 364.1 154.889 364.1 QUADTO
-154.404 364.1 154.084 364.334 QUADTO
-153.764 364.568 153.592 365.021 QUADTO
-153.42 365.475 153.35 366.154 QUADTO
-153.279 366.834 153.279 367.678 QUADTO
-153.279 368.6 153.334 369.217 QUADTO
-153.389 369.834 153.576 370.318 QUADTO
-153.748 370.771 154.061 371.014 QUADTO
-154.373 371.256 154.889 371.256 QUADTO
-155.373 371.256 155.686 371.021 QUADTO
-155.998 370.787 156.17 370.334 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-164.158 367.273 M
-178.158 367.273 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-174.158 367.273 M
-174.158 368.93 172.815 370.273 171.158 370.273 curveto
-169.501 370.273 168.158 368.93 168.158 367.273 curveto
-168.158 365.617 169.501 364.273 171.158 364.273 curveto
-172.815 364.273 174.158 365.617 174.158 367.273 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-174.158 367.273 M
-174.158 368.93 172.815 370.273 171.158 370.273 curveto
-169.501 370.273 168.158 368.93 168.158 367.273 curveto
-168.158 365.617 169.501 364.273 171.158 364.273 curveto
-172.815 364.273 174.158 365.617 174.158 367.273 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-188.549 365.943 M
-188.549 366.506 188.346 367.014 QUADTO
-188.143 367.521 187.783 367.881 QUADTO
-187.346 368.334 186.736 368.561 QUADTO
-186.127 368.787 185.189 368.787 QUADTO
-184.205 368.787 lineto
-184.205 372.037 lineto
-183.049 372.037 lineto
-183.049 363.318 lineto
-185.236 363.318 lineto
-186.002 363.318 186.549 363.443 QUADTO
-187.096 363.568 187.518 363.85 QUADTO
-188.002 364.193 188.275 364.701 QUADTO
-188.549 365.209 188.549 365.943 QUADTO
-closepath
-187.346 365.975 M
-187.346 365.521 187.189 365.186 QUADTO
-187.033 364.85 186.721 364.646 QUADTO
-186.439 364.459 186.072 364.381 QUADTO
-185.705 364.303 185.158 364.303 QUADTO
-184.205 364.303 lineto
-184.205 367.787 lineto
-185.002 367.787 lineto
-185.705 367.787 186.135 367.678 QUADTO
-186.564 367.568 186.846 367.271 QUADTO
-187.111 367.006 187.229 366.693 QUADTO
-187.346 366.381 187.346 365.975 QUADTO
-closepath
-188.711 372.037 M
-191.664 363.318 lineto
-193.086 363.318 lineto
-196.023 372.037 lineto
-194.805 372.037 lineto
-194.008 369.6 lineto
-190.68 369.6 lineto
-189.883 372.037 lineto
-188.711 372.037 lineto
-closepath
-193.695 368.615 M
-192.336 364.49 lineto
-191.008 368.615 lineto
-193.695 368.615 lineto
-closepath
-199.281 372.193 M
-198.344 372.193 197.672 371.998 QUADTO
-197 371.803 196.422 371.521 QUADTO
-196.422 370.068 lineto
-196.5 370.068 lineto
-197.078 370.6 197.805 370.896 QUADTO
-198.531 371.193 199.203 371.193 QUADTO
-200.172 371.193 200.664 370.795 QUADTO
-201.156 370.396 201.156 369.74 QUADTO
-201.156 369.209 200.898 368.881 QUADTO
-200.641 368.553 200.078 368.396 QUADTO
-199.672 368.287 199.336 368.209 QUADTO
-199 368.131 198.5 368.006 QUADTO
-198.047 367.881 197.688 367.701 QUADTO
-197.328 367.521 197.047 367.225 QUADTO
-196.781 366.943 196.633 366.553 QUADTO
-196.484 366.162 196.484 365.646 QUADTO
-196.484 364.584 197.312 363.865 QUADTO
-198.141 363.146 199.422 363.146 QUADTO
-200.156 363.146 200.805 363.295 QUADTO
-201.453 363.443 202.016 363.709 QUADTO
-202.016 365.1 lineto
-201.922 365.1 lineto
-201.516 364.725 200.867 364.443 QUADTO
-200.219 364.162 199.5 364.162 QUADTO
-198.688 364.162 198.188 364.537 QUADTO
-197.688 364.912 197.688 365.521 QUADTO
-197.688 366.084 197.984 366.412 QUADTO
-198.281 366.74 198.828 366.896 QUADTO
-199.203 366.99 199.734 367.115 QUADTO
-200.266 367.24 200.625 367.35 QUADTO
-201.531 367.631 201.945 368.186 QUADTO
-202.359 368.74 202.359 369.553 QUADTO
-202.359 370.068 202.148 370.561 QUADTO
-201.938 371.053 201.562 371.396 QUADTO
-201.141 371.787 200.609 371.99 QUADTO
-200.078 372.193 199.281 372.193 QUADTO
-closepath
-205.576 372.037 M
-205.576 364.35 lineto
-202.654 364.35 lineto
-202.654 363.318 lineto
-209.67 363.318 lineto
-209.67 364.35 lineto
-206.732 364.35 lineto
-206.732 372.037 lineto
-205.576 372.037 lineto
-closepath
-213.49 368.756 M
-210.193 368.756 lineto
-210.193 367.693 lineto
-213.49 367.693 lineto
-213.49 368.756 lineto
-closepath
-216.584 372.193 M
-215.928 372.193 215.357 372.021 QUADTO
-214.787 371.85 214.412 371.646 QUADTO
-214.412 370.412 lineto
-214.475 370.412 lineto
-214.615 370.521 214.803 370.654 QUADTO
-214.99 370.787 215.318 370.928 QUADTO
-215.6 371.068 215.936 371.162 QUADTO
-216.271 371.256 216.631 371.256 QUADTO
-216.896 371.256 217.193 371.201 QUADTO
-217.49 371.146 217.631 371.053 QUADTO
-217.85 370.912 217.936 370.756 QUADTO
-218.021 370.6 218.021 370.303 QUADTO
-218.021 369.912 217.811 369.709 QUADTO
-217.6 369.506 217.053 369.381 QUADTO
-216.834 369.318 216.498 369.248 QUADTO
-216.162 369.178 215.881 369.1 QUADTO
-215.131 368.881 214.787 368.428 QUADTO
-214.443 367.975 214.443 367.334 QUADTO
-214.443 366.443 215.115 365.889 QUADTO
-215.787 365.334 216.881 365.334 QUADTO
-217.428 365.334 217.982 365.467 QUADTO
-218.537 365.6 218.912 365.803 QUADTO
-218.912 366.99 lineto
-218.85 366.99 lineto
-218.428 366.646 217.912 366.459 QUADTO
-217.396 366.271 216.865 366.271 QUADTO
-216.318 366.271 215.943 366.498 QUADTO
-215.568 366.725 215.568 367.178 QUADTO
-215.568 367.6 215.795 367.803 QUADTO
-216.021 368.006 216.506 368.131 QUADTO
-216.756 368.193 217.053 368.256 QUADTO
-217.35 368.318 217.693 368.396 QUADTO
-218.412 368.584 218.779 369.006 QUADTO
-219.146 369.428 219.146 370.146 QUADTO
-219.146 370.568 218.982 370.951 QUADTO
-218.818 371.334 218.49 371.6 QUADTO
-218.146 371.896 217.701 372.045 QUADTO
-217.256 372.193 216.584 372.193 QUADTO
-closepath
-223.83 370.428 M
-223.83 368.615 lineto
-223.439 368.646 222.838 368.709 QUADTO
-222.236 368.771 221.861 368.881 QUADTO
-221.424 369.006 221.143 369.287 QUADTO
-220.861 369.568 220.861 370.068 QUADTO
-220.861 370.631 221.174 370.92 QUADTO
-221.486 371.209 222.096 371.209 QUADTO
-222.611 371.209 223.033 370.982 QUADTO
-223.455 370.756 223.83 370.428 QUADTO
-closepath
-223.83 371.334 M
-223.689 371.443 223.471 371.623 QUADTO
-223.252 371.803 223.033 371.896 QUADTO
-222.736 372.053 222.463 372.139 QUADTO
-222.189 372.225 221.705 372.225 QUADTO
-221.299 372.225 220.939 372.068 QUADTO
-220.58 371.912 220.299 371.631 QUADTO
-220.033 371.365 219.877 370.975 QUADTO
-219.721 370.584 219.721 370.131 QUADTO
-219.721 369.459 220.01 368.982 QUADTO
-220.299 368.506 220.908 368.225 QUADTO
-221.471 367.975 222.221 367.873 QUADTO
-222.971 367.771 223.83 367.725 QUADTO
-223.83 367.521 lineto
-223.83 367.131 223.713 366.896 QUADTO
-223.596 366.662 223.393 366.521 QUADTO
-223.174 366.396 222.869 366.35 QUADTO
-222.564 366.303 222.236 366.303 QUADTO
-221.861 366.303 221.346 366.42 QUADTO
-220.83 366.537 220.314 366.756 QUADTO
-220.252 366.756 lineto
-220.252 365.631 lineto
-220.549 365.537 221.119 365.436 QUADTO
-221.689 365.334 222.252 365.334 QUADTO
-222.924 365.334 223.385 365.436 QUADTO
-223.846 365.537 224.221 365.818 QUADTO
-224.58 366.084 224.752 366.514 QUADTO
-224.924 366.943 224.924 367.553 QUADTO
-224.924 372.037 lineto
-223.83 372.037 lineto
-223.83 371.334 lineto
-closepath
-231.613 372.037 M
-230.52 372.037 lineto
-230.52 368.303 lineto
-230.52 367.865 230.473 367.475 QUADTO
-230.426 367.084 230.301 366.85 QUADTO
-230.176 366.6 229.934 366.482 QUADTO
-229.691 366.365 229.27 366.365 QUADTO
-228.863 366.365 228.426 366.584 QUADTO
-227.988 366.803 227.582 367.146 QUADTO
-227.582 372.037 lineto
-226.473 372.037 lineto
-226.473 365.49 lineto
-227.582 365.49 lineto
-227.582 366.225 lineto
-228.066 365.771 228.551 365.537 QUADTO
-229.035 365.303 229.566 365.303 QUADTO
-230.535 365.303 231.074 365.943 QUADTO
-231.613 366.584 231.613 367.787 QUADTO
-231.613 372.037 lineto
-closepath
-241.961 372.037 M
-240.852 372.037 lineto
-240.852 371.365 lineto
-240.602 371.584 240.414 371.725 QUADTO
-240.227 371.865 239.961 371.99 QUADTO
-239.727 372.1 239.477 372.162 QUADTO
-239.227 372.225 238.898 372.225 QUADTO
-238.367 372.225 237.914 371.998 QUADTO
-237.461 371.771 237.133 371.35 QUADTO
-236.82 370.912 236.641 370.279 QUADTO
-236.461 369.646 236.461 368.818 QUADTO
-236.461 367.959 236.688 367.326 QUADTO
-236.914 366.693 237.305 366.225 QUADTO
-237.664 365.803 238.172 365.553 QUADTO
-238.68 365.303 239.227 365.303 QUADTO
-239.727 365.303 240.086 365.412 QUADTO
-240.445 365.521 240.852 365.756 QUADTO
-240.852 362.912 lineto
-241.961 362.912 lineto
-241.961 372.037 lineto
-closepath
-240.852 370.443 M
-240.852 366.662 lineto
-240.445 366.475 240.117 366.396 QUADTO
-239.789 366.318 239.414 366.318 QUADTO
-238.555 366.318 238.078 366.951 QUADTO
-237.602 367.584 237.602 368.787 QUADTO
-237.602 369.943 237.969 370.553 QUADTO
-238.336 371.162 239.148 371.162 QUADTO
-239.586 371.162 240.023 370.967 QUADTO
-240.461 370.771 240.852 370.443 QUADTO
-closepath
-244.672 372.037 M
-243.578 372.037 lineto
-243.578 365.49 lineto
-244.672 365.49 lineto
-244.672 372.037 lineto
-closepath
-244.75 364.396 M
-243.5 364.396 lineto
-243.5 363.256 lineto
-244.75 363.256 lineto
-244.75 364.396 lineto
-closepath
-248.055 372.193 M
-247.398 372.193 246.828 372.021 QUADTO
-246.258 371.85 245.883 371.646 QUADTO
-245.883 370.412 lineto
-245.945 370.412 lineto
-246.086 370.521 246.273 370.654 QUADTO
-246.461 370.787 246.789 370.928 QUADTO
-247.07 371.068 247.406 371.162 QUADTO
-247.742 371.256 248.102 371.256 QUADTO
-248.367 371.256 248.664 371.201 QUADTO
-248.961 371.146 249.102 371.053 QUADTO
-249.32 370.912 249.406 370.756 QUADTO
-249.492 370.6 249.492 370.303 QUADTO
-249.492 369.912 249.281 369.709 QUADTO
-249.07 369.506 248.523 369.381 QUADTO
-248.305 369.318 247.969 369.248 QUADTO
-247.633 369.178 247.352 369.1 QUADTO
-246.602 368.881 246.258 368.428 QUADTO
-245.914 367.975 245.914 367.334 QUADTO
-245.914 366.443 246.586 365.889 QUADTO
-247.258 365.334 248.352 365.334 QUADTO
-248.898 365.334 249.453 365.467 QUADTO
-250.008 365.6 250.383 365.803 QUADTO
-250.383 366.99 lineto
-250.32 366.99 lineto
-249.898 366.646 249.383 366.459 QUADTO
-248.867 366.271 248.336 366.271 QUADTO
-247.789 366.271 247.414 366.498 QUADTO
-247.039 366.725 247.039 367.178 QUADTO
-247.039 367.6 247.266 367.803 QUADTO
-247.492 368.006 247.977 368.131 QUADTO
-248.227 368.193 248.523 368.256 QUADTO
-248.82 368.318 249.164 368.396 QUADTO
-249.883 368.584 250.25 369.006 QUADTO
-250.617 369.428 250.617 370.146 QUADTO
-250.617 370.568 250.453 370.951 QUADTO
-250.289 371.334 249.961 371.6 QUADTO
-249.617 371.896 249.172 372.045 QUADTO
-248.727 372.193 248.055 372.193 QUADTO
-closepath
-257.066 372.037 M
-255.629 372.037 lineto
-253.176 368.881 lineto
-252.754 369.303 lineto
-252.754 372.037 lineto
-251.645 372.037 lineto
-251.645 362.912 lineto
-252.754 362.912 lineto
-252.754 368.256 lineto
-255.332 365.49 lineto
-256.707 365.49 lineto
-254.02 368.225 lineto
-257.066 372.037 lineto
-closepath
-259.34 372.037 M
-257.934 372.037 lineto
-257.934 370.365 lineto
-259.34 370.365 lineto
-259.34 372.037 lineto
-closepath
-268.691 372.037 M
-268.691 368.256 lineto
-268.691 367.803 268.652 367.42 QUADTO
-268.613 367.037 268.504 366.818 QUADTO
-268.379 366.584 268.168 366.475 QUADTO
-267.957 366.365 267.582 366.365 QUADTO
-267.238 366.365 266.848 366.568 QUADTO
-266.457 366.771 266.051 367.162 QUADTO
-266.051 367.271 266.059 367.404 QUADTO
-266.066 367.537 266.066 367.725 QUADTO
-266.066 372.037 lineto
-264.973 372.037 lineto
-264.973 368.256 lineto
-264.973 367.803 264.934 367.42 QUADTO
-264.895 367.037 264.785 366.818 QUADTO
-264.676 366.584 264.457 366.475 QUADTO
-264.238 366.365 263.863 366.365 QUADTO
-263.504 366.365 263.113 366.584 QUADTO
-262.723 366.803 262.363 367.146 QUADTO
-262.363 372.037 lineto
-261.254 372.037 lineto
-261.254 365.49 lineto
-262.363 365.49 lineto
-262.363 366.225 lineto
-262.785 365.787 263.215 365.545 QUADTO
-263.645 365.303 264.145 365.303 QUADTO
-264.723 365.303 265.176 365.568 QUADTO
-265.629 365.834 265.863 366.443 QUADTO
-266.363 365.881 266.832 365.592 QUADTO
-267.301 365.303 267.863 365.303 QUADTO
-268.285 365.303 268.629 365.436 QUADTO
-268.973 365.568 269.238 365.865 QUADTO
-269.504 366.162 269.645 366.607 QUADTO
-269.785 367.053 269.785 367.725 QUADTO
-269.785 372.037 lineto
-268.691 372.037 lineto
-closepath
-273.316 372.162 M
-272.41 372.162 271.91 371.654 QUADTO
-271.41 371.146 271.41 370.037 QUADTO
-271.41 366.412 lineto
-270.66 366.412 lineto
-270.66 365.49 lineto
-271.41 365.49 lineto
-271.41 363.615 lineto
-272.504 363.615 lineto
-272.504 365.49 lineto
-274.535 365.49 lineto
-274.535 366.412 lineto
-272.504 366.412 lineto
-272.504 369.521 lineto
-272.504 370.021 272.52 370.287 QUADTO
-272.535 370.553 272.66 370.787 QUADTO
-272.754 370.99 272.98 371.092 QUADTO
-273.207 371.193 273.582 371.193 QUADTO
-273.848 371.193 274.105 371.115 QUADTO
-274.363 371.037 274.473 370.99 QUADTO
-274.535 370.99 lineto
-274.535 371.975 lineto
-274.223 372.068 273.902 372.115 QUADTO
-273.582 372.162 273.316 372.162 QUADTO
-closepath
-277.33 372.162 M
-276.424 372.162 275.924 371.654 QUADTO
-275.424 371.146 275.424 370.037 QUADTO
-275.424 366.412 lineto
-274.674 366.412 lineto
-274.674 365.49 lineto
-275.424 365.49 lineto
-275.424 363.615 lineto
-276.518 363.615 lineto
-276.518 365.49 lineto
-278.549 365.49 lineto
-278.549 366.412 lineto
-276.518 366.412 lineto
-276.518 369.521 lineto
-276.518 370.021 276.533 370.287 QUADTO
-276.549 370.553 276.674 370.787 QUADTO
-276.768 370.99 276.994 371.092 QUADTO
-277.221 371.193 277.596 371.193 QUADTO
-277.861 371.193 278.119 371.115 QUADTO
-278.377 371.037 278.486 370.99 QUADTO
-278.549 370.99 lineto
-278.549 371.975 lineto
-278.236 372.068 277.916 372.115 QUADTO
-277.596 372.162 277.33 372.162 QUADTO
-closepath
-282.812 363.975 M
-282.75 363.975 lineto
-282.594 363.928 282.32 363.873 QUADTO
-282.047 363.818 281.828 363.818 QUADTO
-281.141 363.818 280.844 364.131 QUADTO
-280.547 364.443 280.547 365.271 QUADTO
-280.547 365.49 lineto
-282.359 365.49 lineto
-282.359 366.412 lineto
-280.578 366.412 lineto
-280.578 372.037 lineto
-279.484 372.037 lineto
-279.484 366.412 lineto
-278.734 366.412 lineto
-278.734 365.49 lineto
-279.484 365.49 lineto
-279.484 365.271 lineto
-279.484 364.084 280.047 363.475 QUADTO
-280.609 362.865 281.672 362.865 QUADTO
-281.984 362.865 282.273 362.896 QUADTO
-282.562 362.928 282.812 362.959 QUADTO
-282.812 363.975 lineto
-closepath
-289.992 367.459 M
-283.508 367.459 lineto
-283.508 366.521 lineto
-289.992 366.521 lineto
-289.992 367.459 lineto
-closepath
-289.992 369.912 M
-283.508 369.912 lineto
-283.508 368.975 lineto
-289.992 368.975 lineto
-289.992 369.912 lineto
-closepath
-294.113 364.146 M
-293.785 364.146 293.473 364.225 QUADTO
-293.16 364.303 292.848 364.412 QUADTO
-292.566 364.537 292.363 364.662 QUADTO
-292.16 364.787 291.988 364.912 QUADTO
-291.926 364.912 lineto
-291.926 363.662 lineto
-292.301 363.459 292.957 363.295 QUADTO
-293.613 363.131 294.207 363.131 QUADTO
-294.801 363.131 295.238 363.248 QUADTO
-295.676 363.365 296.035 363.615 QUADTO
-296.426 363.896 296.621 364.295 QUADTO
-296.816 364.693 296.816 365.24 QUADTO
-296.816 365.959 296.34 366.498 QUADTO
-295.863 367.037 295.207 367.193 QUADTO
-295.207 367.271 lineto
-295.473 367.318 295.793 367.451 QUADTO
-296.113 367.584 296.379 367.834 QUADTO
-296.645 368.084 296.816 368.482 QUADTO
-296.988 368.881 296.988 369.443 QUADTO
-296.988 370.037 296.785 370.529 QUADTO
-296.582 371.021 296.207 371.412 QUADTO
-295.832 371.803 295.293 372.014 QUADTO
-294.754 372.225 294.066 372.225 QUADTO
-293.41 372.225 292.77 372.061 QUADTO
-292.129 371.896 291.676 371.678 QUADTO
-291.676 370.443 lineto
-291.77 370.443 lineto
-292.129 370.709 292.754 370.959 QUADTO
-293.379 371.209 294.004 371.209 QUADTO
-294.348 371.209 294.715 371.092 QUADTO
-295.082 370.975 295.316 370.725 QUADTO
-295.551 370.459 295.676 370.146 QUADTO
-295.801 369.834 295.801 369.365 QUADTO
-295.801 368.896 295.66 368.592 QUADTO
-295.52 368.287 295.27 368.1 QUADTO
-295.035 367.928 294.691 367.857 QUADTO
-294.348 367.787 293.957 367.787 QUADTO
-293.457 367.787 lineto
-293.457 366.818 lineto
-293.848 366.818 lineto
-294.645 366.818 295.137 366.443 QUADTO
-295.629 366.068 295.629 365.35 QUADTO
-295.629 365.021 295.504 364.787 QUADTO
-295.379 364.553 295.176 364.412 QUADTO
-294.957 364.256 294.684 364.201 QUADTO
-294.41 364.146 294.113 364.146 QUADTO
-closepath
-303.727 367.678 M
-303.727 370.021 303.047 371.123 QUADTO
-302.367 372.225 300.945 372.225 QUADTO
-299.492 372.225 298.82 371.1 QUADTO
-298.148 369.975 298.148 367.678 QUADTO
-298.148 365.318 298.836 364.225 QUADTO
-299.523 363.131 300.945 363.131 QUADTO
-302.383 363.131 303.055 364.264 QUADTO
-303.727 365.396 303.727 367.678 QUADTO
-closepath
-302.227 370.334 M
-302.398 369.896 302.469 369.232 QUADTO
-302.539 368.568 302.539 367.678 QUADTO
-302.539 366.771 302.469 366.107 QUADTO
-302.398 365.443 302.227 365.006 QUADTO
-302.055 364.568 301.742 364.334 QUADTO
-301.43 364.1 300.945 364.1 QUADTO
-300.461 364.1 300.141 364.334 QUADTO
-299.82 364.568 299.648 365.021 QUADTO
-299.477 365.475 299.406 366.154 QUADTO
-299.336 366.834 299.336 367.678 QUADTO
-299.336 368.6 299.391 369.217 QUADTO
-299.445 369.834 299.633 370.318 QUADTO
-299.805 370.771 300.117 371.014 QUADTO
-300.43 371.256 300.945 371.256 QUADTO
-301.43 371.256 301.742 371.021 QUADTO
-302.055 370.787 302.227 370.334 QUADTO
-closepath
-310.277 367.678 M
-310.277 370.021 309.598 371.123 QUADTO
-308.918 372.225 307.496 372.225 QUADTO
-306.043 372.225 305.371 371.1 QUADTO
-304.699 369.975 304.699 367.678 QUADTO
-304.699 365.318 305.387 364.225 QUADTO
-306.074 363.131 307.496 363.131 QUADTO
-308.934 363.131 309.605 364.264 QUADTO
-310.277 365.396 310.277 367.678 QUADTO
-closepath
-308.777 370.334 M
-308.949 369.896 309.02 369.232 QUADTO
-309.09 368.568 309.09 367.678 QUADTO
-309.09 366.771 309.02 366.107 QUADTO
-308.949 365.443 308.777 365.006 QUADTO
-308.605 364.568 308.293 364.334 QUADTO
-307.98 364.1 307.496 364.1 QUADTO
-307.012 364.1 306.691 364.334 QUADTO
-306.371 364.568 306.199 365.021 QUADTO
-306.027 365.475 305.957 366.154 QUADTO
-305.887 366.834 305.887 367.678 QUADTO
-305.887 368.6 305.941 369.217 QUADTO
-305.996 369.834 306.184 370.318 QUADTO
-306.355 370.771 306.668 371.014 QUADTO
-306.98 371.256 307.496 371.256 QUADTO
-307.98 371.256 308.293 371.021 QUADTO
-308.605 370.787 308.777 370.334 QUADTO
-closepath
-316.828 367.678 M
-316.828 370.021 316.148 371.123 QUADTO
-315.469 372.225 314.047 372.225 QUADTO
-312.594 372.225 311.922 371.1 QUADTO
-311.25 369.975 311.25 367.678 QUADTO
-311.25 365.318 311.938 364.225 QUADTO
-312.625 363.131 314.047 363.131 QUADTO
-315.484 363.131 316.156 364.264 QUADTO
-316.828 365.396 316.828 367.678 QUADTO
-closepath
-315.328 370.334 M
-315.5 369.896 315.57 369.232 QUADTO
-315.641 368.568 315.641 367.678 QUADTO
-315.641 366.771 315.57 366.107 QUADTO
-315.5 365.443 315.328 365.006 QUADTO
-315.156 364.568 314.844 364.334 QUADTO
-314.531 364.1 314.047 364.1 QUADTO
-313.562 364.1 313.242 364.334 QUADTO
-312.922 364.568 312.75 365.021 QUADTO
-312.578 365.475 312.508 366.154 QUADTO
-312.438 366.834 312.438 367.678 QUADTO
-312.438 368.6 312.492 369.217 QUADTO
-312.547 369.834 312.734 370.318 QUADTO
-312.906 370.771 313.219 371.014 QUADTO
-313.531 371.256 314.047 371.256 QUADTO
-314.531 371.256 314.844 371.021 QUADTO
-315.156 370.787 315.328 370.334 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-5 387.758 M
-19 387.758 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-12 384.758 M
-15 390.758 lineto
-9 390.758 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-12 384.758 M
-15 390.758 lineto
-9 390.758 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-29.391 386.428 M
-29.391 386.99 29.188 387.498 QUADTO
-28.984 388.006 28.625 388.365 QUADTO
-28.188 388.818 27.578 389.045 QUADTO
-26.969 389.271 26.031 389.271 QUADTO
-25.047 389.271 lineto
-25.047 392.521 lineto
-23.891 392.521 lineto
-23.891 383.803 lineto
-26.078 383.803 lineto
-26.844 383.803 27.391 383.928 QUADTO
-27.938 384.053 28.359 384.334 QUADTO
-28.844 384.678 29.117 385.186 QUADTO
-29.391 385.693 29.391 386.428 QUADTO
-closepath
-28.188 386.459 M
-28.188 386.006 28.031 385.67 QUADTO
-27.875 385.334 27.562 385.131 QUADTO
-27.281 384.943 26.914 384.865 QUADTO
-26.547 384.787 26 384.787 QUADTO
-25.047 384.787 lineto
-25.047 388.271 lineto
-25.844 388.271 lineto
-26.547 388.271 26.977 388.162 QUADTO
-27.406 388.053 27.688 387.756 QUADTO
-27.953 387.49 28.07 387.178 QUADTO
-28.188 386.865 28.188 386.459 QUADTO
-closepath
-29.553 392.521 M
-32.506 383.803 lineto
-33.928 383.803 lineto
-36.865 392.521 lineto
-35.646 392.521 lineto
-34.85 390.084 lineto
-31.521 390.084 lineto
-30.725 392.521 lineto
-29.553 392.521 lineto
-closepath
-34.537 389.1 M
-33.178 384.975 lineto
-31.85 389.1 lineto
-34.537 389.1 lineto
-closepath
-40.123 392.678 M
-39.186 392.678 38.514 392.482 QUADTO
-37.842 392.287 37.264 392.006 QUADTO
-37.264 390.553 lineto
-37.342 390.553 lineto
-37.92 391.084 38.646 391.381 QUADTO
-39.373 391.678 40.045 391.678 QUADTO
-41.014 391.678 41.506 391.279 QUADTO
-41.998 390.881 41.998 390.225 QUADTO
-41.998 389.693 41.74 389.365 QUADTO
-41.482 389.037 40.92 388.881 QUADTO
-40.514 388.771 40.178 388.693 QUADTO
-39.842 388.615 39.342 388.49 QUADTO
-38.889 388.365 38.529 388.186 QUADTO
-38.17 388.006 37.889 387.709 QUADTO
-37.623 387.428 37.475 387.037 QUADTO
-37.326 386.646 37.326 386.131 QUADTO
-37.326 385.068 38.154 384.35 QUADTO
-38.982 383.631 40.264 383.631 QUADTO
-40.998 383.631 41.646 383.779 QUADTO
-42.295 383.928 42.857 384.193 QUADTO
-42.857 385.584 lineto
-42.764 385.584 lineto
-42.357 385.209 41.709 384.928 QUADTO
-41.061 384.646 40.342 384.646 QUADTO
-39.529 384.646 39.029 385.021 QUADTO
-38.529 385.396 38.529 386.006 QUADTO
-38.529 386.568 38.826 386.896 QUADTO
-39.123 387.225 39.67 387.381 QUADTO
-40.045 387.475 40.576 387.6 QUADTO
-41.107 387.725 41.467 387.834 QUADTO
-42.373 388.115 42.787 388.67 QUADTO
-43.201 389.225 43.201 390.037 QUADTO
-43.201 390.553 42.99 391.045 QUADTO
-42.779 391.537 42.404 391.881 QUADTO
-41.982 392.271 41.451 392.475 QUADTO
-40.92 392.678 40.123 392.678 QUADTO
-closepath
-46.418 392.521 M
-46.418 384.834 lineto
-43.496 384.834 lineto
-43.496 383.803 lineto
-50.512 383.803 lineto
-50.512 384.834 lineto
-47.574 384.834 lineto
-47.574 392.521 lineto
-46.418 392.521 lineto
-closepath
-54.332 389.24 M
-51.035 389.24 lineto
-51.035 388.178 lineto
-54.332 388.178 lineto
-54.332 389.24 lineto
-closepath
-57.645 392.646 M
-56.738 392.646 56.238 392.139 QUADTO
-55.738 391.631 55.738 390.521 QUADTO
-55.738 386.896 lineto
-54.988 386.896 lineto
-54.988 385.975 lineto
-55.738 385.975 lineto
-55.738 384.1 lineto
-56.832 384.1 lineto
-56.832 385.975 lineto
-58.863 385.975 lineto
-58.863 386.896 lineto
-56.832 386.896 lineto
-56.832 390.006 lineto
-56.832 390.506 56.848 390.771 QUADTO
-56.863 391.037 56.988 391.271 QUADTO
-57.082 391.475 57.309 391.576 QUADTO
-57.535 391.678 57.91 391.678 QUADTO
-58.176 391.678 58.434 391.6 QUADTO
-58.691 391.521 58.801 391.475 QUADTO
-58.863 391.475 lineto
-58.863 392.459 lineto
-58.551 392.553 58.23 392.6 QUADTO
-57.91 392.646 57.645 392.646 QUADTO
-closepath
-63.33 390.912 M
-63.33 389.1 lineto
-62.939 389.131 62.338 389.193 QUADTO
-61.736 389.256 61.361 389.365 QUADTO
-60.924 389.49 60.643 389.771 QUADTO
-60.361 390.053 60.361 390.553 QUADTO
-60.361 391.115 60.674 391.404 QUADTO
-60.986 391.693 61.596 391.693 QUADTO
-62.111 391.693 62.533 391.467 QUADTO
-62.955 391.24 63.33 390.912 QUADTO
-closepath
-63.33 391.818 M
-63.189 391.928 62.971 392.107 QUADTO
-62.752 392.287 62.533 392.381 QUADTO
-62.236 392.537 61.963 392.623 QUADTO
-61.689 392.709 61.205 392.709 QUADTO
-60.799 392.709 60.439 392.553 QUADTO
-60.08 392.396 59.799 392.115 QUADTO
-59.533 391.85 59.377 391.459 QUADTO
-59.221 391.068 59.221 390.615 QUADTO
-59.221 389.943 59.51 389.467 QUADTO
-59.799 388.99 60.408 388.709 QUADTO
-60.971 388.459 61.721 388.357 QUADTO
-62.471 388.256 63.33 388.209 QUADTO
-63.33 388.006 lineto
-63.33 387.615 63.213 387.381 QUADTO
-63.096 387.146 62.893 387.006 QUADTO
-62.674 386.881 62.369 386.834 QUADTO
-62.064 386.787 61.736 386.787 QUADTO
-61.361 386.787 60.846 386.904 QUADTO
-60.33 387.021 59.814 387.24 QUADTO
-59.752 387.24 lineto
-59.752 386.115 lineto
-60.049 386.021 60.619 385.92 QUADTO
-61.189 385.818 61.752 385.818 QUADTO
-62.424 385.818 62.885 385.92 QUADTO
-63.346 386.021 63.721 386.303 QUADTO
-64.08 386.568 64.252 386.998 QUADTO
-64.424 387.428 64.424 388.037 QUADTO
-64.424 392.521 lineto
-63.33 392.521 lineto
-63.33 391.818 lineto
-closepath
-69.441 387.162 M
-69.379 387.162 lineto
-69.254 387.131 69.121 387.115 QUADTO
-68.988 387.1 68.785 387.1 QUADTO
-68.348 387.1 67.91 387.295 QUADTO
-67.473 387.49 67.082 387.881 QUADTO
-67.082 392.521 lineto
-65.973 392.521 lineto
-65.973 385.975 lineto
-67.082 385.975 lineto
-67.082 386.943 lineto
-67.676 386.412 68.129 386.193 QUADTO
-68.582 385.975 69.004 385.975 QUADTO
-69.16 385.975 69.246 385.982 QUADTO
-69.332 385.99 69.441 386.006 QUADTO
-69.441 387.162 lineto
-closepath
-74.234 390.74 M
-74.234 387.146 lineto
-73.828 386.959 73.477 386.873 QUADTO
-73.125 386.787 72.781 386.787 QUADTO
-71.938 386.787 71.461 387.404 QUADTO
-70.984 388.021 70.984 389.162 QUADTO
-70.984 390.256 71.352 390.826 QUADTO
-71.719 391.396 72.531 391.396 QUADTO
-72.969 391.396 73.422 391.225 QUADTO
-73.875 391.053 74.234 390.74 QUADTO
-closepath
-70.531 393.568 M
-70.641 393.615 70.859 393.693 QUADTO
-71.078 393.771 71.359 393.85 QUADTO
-71.656 393.928 71.914 393.975 QUADTO
-72.172 394.021 72.484 394.021 QUADTO
-72.984 394.021 73.344 393.881 QUADTO
-73.703 393.74 73.891 393.506 QUADTO
-74.078 393.271 74.156 392.951 QUADTO
-74.234 392.631 74.234 392.225 QUADTO
-74.234 391.646 lineto
-73.797 392.037 73.367 392.225 QUADTO
-72.938 392.412 72.297 392.412 QUADTO
-71.172 392.412 70.508 391.576 QUADTO
-69.844 390.74 69.844 389.193 QUADTO
-69.844 388.365 70.07 387.74 QUADTO
-70.297 387.115 70.688 386.678 QUADTO
-71.062 386.256 71.562 386.021 QUADTO
-72.062 385.787 72.609 385.787 QUADTO
-73.109 385.787 73.484 385.912 QUADTO
-73.859 386.037 74.234 386.256 QUADTO
-74.297 385.975 lineto
-75.344 385.975 lineto
-75.344 391.771 lineto
-75.344 393.443 74.617 394.225 QUADTO
-73.891 395.006 72.391 395.006 QUADTO
-71.906 395.006 71.406 394.928 QUADTO
-70.906 394.85 70.469 394.725 QUADTO
-70.469 393.568 lineto
-70.531 393.568 lineto
-closepath
-79.773 392.678 M
-78.211 392.678 77.344 391.795 QUADTO
-76.477 390.912 76.477 389.287 QUADTO
-76.477 387.693 77.312 386.74 QUADTO
-78.148 385.787 79.508 385.787 QUADTO
-80.117 385.787 80.586 385.967 QUADTO
-81.055 386.146 81.414 386.521 QUADTO
-81.758 386.896 81.945 387.436 QUADTO
-82.133 387.975 82.133 388.771 QUADTO
-82.133 389.365 lineto
-77.602 389.365 lineto
-77.602 390.506 78.172 391.107 QUADTO
-78.742 391.709 79.758 391.709 QUADTO
-80.117 391.709 80.469 391.631 QUADTO
-80.82 391.553 81.102 391.412 QUADTO
-81.398 391.287 81.602 391.162 QUADTO
-81.805 391.037 81.945 390.928 QUADTO
-82.008 390.928 lineto
-82.008 392.115 lineto
-81.82 392.193 81.531 392.311 QUADTO
-81.242 392.428 81.008 392.49 QUADTO
-80.695 392.584 80.43 392.631 QUADTO
-80.164 392.678 79.773 392.678 QUADTO
-closepath
-81.055 388.521 M
-81.055 388.068 80.961 387.748 QUADTO
-80.867 387.428 80.68 387.209 QUADTO
-80.492 386.959 80.188 386.834 QUADTO
-79.883 386.709 79.445 386.709 QUADTO
-79.008 386.709 78.695 386.834 QUADTO
-78.383 386.959 78.133 387.225 QUADTO
-77.898 387.475 77.766 387.787 QUADTO
-77.633 388.1 77.602 388.521 QUADTO
-81.055 388.521 lineto
-closepath
-85.23 392.646 M
-84.324 392.646 83.824 392.139 QUADTO
-83.324 391.631 83.324 390.521 QUADTO
-83.324 386.896 lineto
-82.574 386.896 lineto
-82.574 385.975 lineto
-83.324 385.975 lineto
-83.324 384.1 lineto
-84.418 384.1 lineto
-84.418 385.975 lineto
-86.449 385.975 lineto
-86.449 386.896 lineto
-84.418 386.896 lineto
-84.418 390.006 lineto
-84.418 390.506 84.434 390.771 QUADTO
-84.449 391.037 84.574 391.271 QUADTO
-84.668 391.475 84.895 391.576 QUADTO
-85.121 391.678 85.496 391.678 QUADTO
-85.762 391.678 86.02 391.6 QUADTO
-86.277 391.521 86.387 391.475 QUADTO
-86.449 391.475 lineto
-86.449 392.459 lineto
-86.137 392.553 85.816 392.6 QUADTO
-85.496 392.646 85.23 392.646 QUADTO
-closepath
-96.057 392.521 M
-94.947 392.521 lineto
-94.947 391.85 lineto
-94.697 392.068 94.51 392.209 QUADTO
-94.322 392.35 94.057 392.475 QUADTO
-93.822 392.584 93.572 392.646 QUADTO
-93.322 392.709 92.994 392.709 QUADTO
-92.463 392.709 92.01 392.482 QUADTO
-91.557 392.256 91.229 391.834 QUADTO
-90.916 391.396 90.736 390.764 QUADTO
-90.557 390.131 90.557 389.303 QUADTO
-90.557 388.443 90.783 387.811 QUADTO
-91.01 387.178 91.4 386.709 QUADTO
-91.76 386.287 92.268 386.037 QUADTO
-92.775 385.787 93.322 385.787 QUADTO
-93.822 385.787 94.182 385.896 QUADTO
-94.541 386.006 94.947 386.24 QUADTO
-94.947 383.396 lineto
-96.057 383.396 lineto
-96.057 392.521 lineto
-closepath
-94.947 390.928 M
-94.947 387.146 lineto
-94.541 386.959 94.213 386.881 QUADTO
-93.885 386.803 93.51 386.803 QUADTO
-92.65 386.803 92.174 387.436 QUADTO
-91.697 388.068 91.697 389.271 QUADTO
-91.697 390.428 92.064 391.037 QUADTO
-92.432 391.646 93.244 391.646 QUADTO
-93.682 391.646 94.119 391.451 QUADTO
-94.557 391.256 94.947 390.928 QUADTO
-closepath
-98.768 392.521 M
-97.674 392.521 lineto
-97.674 385.975 lineto
-98.768 385.975 lineto
-98.768 392.521 lineto
-closepath
-98.846 384.881 M
-97.596 384.881 lineto
-97.596 383.74 lineto
-98.846 383.74 lineto
-98.846 384.881 lineto
-closepath
-102.15 392.678 M
-101.494 392.678 100.924 392.506 QUADTO
-100.354 392.334 99.979 392.131 QUADTO
-99.979 390.896 lineto
-100.041 390.896 lineto
-100.182 391.006 100.369 391.139 QUADTO
-100.557 391.271 100.885 391.412 QUADTO
-101.166 391.553 101.502 391.646 QUADTO
-101.838 391.74 102.197 391.74 QUADTO
-102.463 391.74 102.76 391.686 QUADTO
-103.057 391.631 103.197 391.537 QUADTO
-103.416 391.396 103.502 391.24 QUADTO
-103.588 391.084 103.588 390.787 QUADTO
-103.588 390.396 103.377 390.193 QUADTO
-103.166 389.99 102.619 389.865 QUADTO
-102.4 389.803 102.064 389.732 QUADTO
-101.729 389.662 101.447 389.584 QUADTO
-100.697 389.365 100.354 388.912 QUADTO
-100.01 388.459 100.01 387.818 QUADTO
-100.01 386.928 100.682 386.373 QUADTO
-101.354 385.818 102.447 385.818 QUADTO
-102.994 385.818 103.549 385.951 QUADTO
-104.104 386.084 104.479 386.287 QUADTO
-104.479 387.475 lineto
-104.416 387.475 lineto
-103.994 387.131 103.479 386.943 QUADTO
-102.963 386.756 102.432 386.756 QUADTO
-101.885 386.756 101.51 386.982 QUADTO
-101.135 387.209 101.135 387.662 QUADTO
-101.135 388.084 101.361 388.287 QUADTO
-101.588 388.49 102.072 388.615 QUADTO
-102.322 388.678 102.619 388.74 QUADTO
-102.916 388.803 103.26 388.881 QUADTO
-103.979 389.068 104.346 389.49 QUADTO
-104.713 389.912 104.713 390.631 QUADTO
-104.713 391.053 104.549 391.436 QUADTO
-104.385 391.818 104.057 392.084 QUADTO
-103.713 392.381 103.268 392.529 QUADTO
-102.822 392.678 102.15 392.678 QUADTO
-closepath
-111.162 392.521 M
-109.725 392.521 lineto
-107.271 389.365 lineto
-106.85 389.787 lineto
-106.85 392.521 lineto
-105.74 392.521 lineto
-105.74 383.396 lineto
-106.85 383.396 lineto
-106.85 388.74 lineto
-109.428 385.975 lineto
-110.803 385.975 lineto
-108.115 388.709 lineto
-111.162 392.521 lineto
-closepath
-113.436 392.521 M
-112.029 392.521 lineto
-112.029 390.85 lineto
-113.436 390.85 lineto
-113.436 392.521 lineto
-closepath
-122.787 392.521 M
-122.787 388.74 lineto
-122.787 388.287 122.748 387.904 QUADTO
-122.709 387.521 122.6 387.303 QUADTO
-122.475 387.068 122.264 386.959 QUADTO
-122.053 386.85 121.678 386.85 QUADTO
-121.334 386.85 120.943 387.053 QUADTO
-120.553 387.256 120.146 387.646 QUADTO
-120.146 387.756 120.154 387.889 QUADTO
-120.162 388.021 120.162 388.209 QUADTO
-120.162 392.521 lineto
-119.068 392.521 lineto
-119.068 388.74 lineto
-119.068 388.287 119.029 387.904 QUADTO
-118.99 387.521 118.881 387.303 QUADTO
-118.771 387.068 118.553 386.959 QUADTO
-118.334 386.85 117.959 386.85 QUADTO
-117.6 386.85 117.209 387.068 QUADTO
-116.818 387.287 116.459 387.631 QUADTO
-116.459 392.521 lineto
-115.35 392.521 lineto
-115.35 385.975 lineto
-116.459 385.975 lineto
-116.459 386.709 lineto
-116.881 386.271 117.311 386.029 QUADTO
-117.74 385.787 118.24 385.787 QUADTO
-118.818 385.787 119.271 386.053 QUADTO
-119.725 386.318 119.959 386.928 QUADTO
-120.459 386.365 120.928 386.076 QUADTO
-121.396 385.787 121.959 385.787 QUADTO
-122.381 385.787 122.725 385.92 QUADTO
-123.068 386.053 123.334 386.35 QUADTO
-123.6 386.646 123.74 387.092 QUADTO
-123.881 387.537 123.881 388.209 QUADTO
-123.881 392.521 lineto
-122.787 392.521 lineto
-closepath
-127.412 392.646 M
-126.506 392.646 126.006 392.139 QUADTO
-125.506 391.631 125.506 390.521 QUADTO
-125.506 386.896 lineto
-124.756 386.896 lineto
-124.756 385.975 lineto
-125.506 385.975 lineto
-125.506 384.1 lineto
-126.6 384.1 lineto
-126.6 385.975 lineto
-128.631 385.975 lineto
-128.631 386.896 lineto
-126.6 386.896 lineto
-126.6 390.006 lineto
-126.6 390.506 126.615 390.771 QUADTO
-126.631 391.037 126.756 391.271 QUADTO
-126.85 391.475 127.076 391.576 QUADTO
-127.303 391.678 127.678 391.678 QUADTO
-127.943 391.678 128.201 391.6 QUADTO
-128.459 391.521 128.568 391.475 QUADTO
-128.631 391.475 lineto
-128.631 392.459 lineto
-128.318 392.553 127.998 392.6 QUADTO
-127.678 392.646 127.412 392.646 QUADTO
-closepath
-131.426 392.646 M
-130.52 392.646 130.02 392.139 QUADTO
-129.52 391.631 129.52 390.521 QUADTO
-129.52 386.896 lineto
-128.77 386.896 lineto
-128.77 385.975 lineto
-129.52 385.975 lineto
-129.52 384.1 lineto
-130.613 384.1 lineto
-130.613 385.975 lineto
-132.645 385.975 lineto
-132.645 386.896 lineto
-130.613 386.896 lineto
-130.613 390.006 lineto
-130.613 390.506 130.629 390.771 QUADTO
-130.645 391.037 130.77 391.271 QUADTO
-130.863 391.475 131.09 391.576 QUADTO
-131.316 391.678 131.691 391.678 QUADTO
-131.957 391.678 132.215 391.6 QUADTO
-132.473 391.521 132.582 391.475 QUADTO
-132.645 391.475 lineto
-132.645 392.459 lineto
-132.332 392.553 132.012 392.6 QUADTO
-131.691 392.646 131.426 392.646 QUADTO
-closepath
-136.908 384.459 M
-136.846 384.459 lineto
-136.689 384.412 136.416 384.357 QUADTO
-136.143 384.303 135.924 384.303 QUADTO
-135.236 384.303 134.939 384.615 QUADTO
-134.643 384.928 134.643 385.756 QUADTO
-134.643 385.975 lineto
-136.455 385.975 lineto
-136.455 386.896 lineto
-134.674 386.896 lineto
-134.674 392.521 lineto
-133.58 392.521 lineto
-133.58 386.896 lineto
-132.83 386.896 lineto
-132.83 385.975 lineto
-133.58 385.975 lineto
-133.58 385.756 lineto
-133.58 384.568 134.143 383.959 QUADTO
-134.705 383.35 135.768 383.35 QUADTO
-136.08 383.35 136.369 383.381 QUADTO
-136.658 383.412 136.908 383.443 QUADTO
-136.908 384.459 lineto
-closepath
-144.088 387.943 M
-137.604 387.943 lineto
-137.604 387.006 lineto
-144.088 387.006 lineto
-144.088 387.943 lineto
-closepath
-144.088 390.396 M
-137.604 390.396 lineto
-137.604 389.459 lineto
-144.088 389.459 lineto
-144.088 390.396 lineto
-closepath
-151.24 392.521 M
-145.85 392.521 lineto
-145.85 391.303 lineto
-146.428 390.74 146.943 390.24 QUADTO
-147.459 389.74 147.959 389.193 QUADTO
-148.943 388.1 149.311 387.436 QUADTO
-149.678 386.771 149.678 386.068 QUADTO
-149.678 385.709 149.561 385.436 QUADTO
-149.443 385.162 149.24 384.975 QUADTO
-149.037 384.803 148.771 384.717 QUADTO
-148.506 384.631 148.178 384.631 QUADTO
-147.865 384.631 147.545 384.709 QUADTO
-147.225 384.787 146.943 384.896 QUADTO
-146.693 385.006 146.467 385.146 QUADTO
-146.24 385.287 146.1 385.381 QUADTO
-146.037 385.381 lineto
-146.037 384.146 lineto
-146.396 383.959 147.045 383.787 QUADTO
-147.693 383.615 148.271 383.615 QUADTO
-149.49 383.615 150.178 384.264 QUADTO
-150.865 384.912 150.865 386.021 QUADTO
-150.865 386.521 150.748 386.959 QUADTO
-150.631 387.396 150.412 387.756 QUADTO
-150.209 388.146 149.904 388.521 QUADTO
-149.6 388.896 149.256 389.256 QUADTO
-148.709 389.85 148.029 390.498 QUADTO
-147.35 391.146 146.943 391.521 QUADTO
-151.24 391.521 lineto
-151.24 392.521 lineto
-closepath
-157.822 388.162 M
-157.822 390.506 157.143 391.607 QUADTO
-156.463 392.709 155.041 392.709 QUADTO
-153.588 392.709 152.916 391.584 QUADTO
-152.244 390.459 152.244 388.162 QUADTO
-152.244 385.803 152.932 384.709 QUADTO
-153.619 383.615 155.041 383.615 QUADTO
-156.479 383.615 157.15 384.748 QUADTO
-157.822 385.881 157.822 388.162 QUADTO
-closepath
-156.322 390.818 M
-156.494 390.381 156.564 389.717 QUADTO
-156.635 389.053 156.635 388.162 QUADTO
-156.635 387.256 156.564 386.592 QUADTO
-156.494 385.928 156.322 385.49 QUADTO
-156.15 385.053 155.838 384.818 QUADTO
-155.525 384.584 155.041 384.584 QUADTO
-154.557 384.584 154.236 384.818 QUADTO
-153.916 385.053 153.744 385.506 QUADTO
-153.572 385.959 153.502 386.639 QUADTO
-153.432 387.318 153.432 388.162 QUADTO
-153.432 389.084 153.486 389.701 QUADTO
-153.541 390.318 153.729 390.803 QUADTO
-153.9 391.256 154.213 391.498 QUADTO
-154.525 391.74 155.041 391.74 QUADTO
-155.525 391.74 155.838 391.506 QUADTO
-156.15 391.271 156.322 390.818 QUADTO
-closepath
-164.373 388.162 M
-164.373 390.506 163.693 391.607 QUADTO
-163.014 392.709 161.592 392.709 QUADTO
-160.139 392.709 159.467 391.584 QUADTO
-158.795 390.459 158.795 388.162 QUADTO
-158.795 385.803 159.482 384.709 QUADTO
-160.17 383.615 161.592 383.615 QUADTO
-163.029 383.615 163.701 384.748 QUADTO
-164.373 385.881 164.373 388.162 QUADTO
-closepath
-162.873 390.818 M
-163.045 390.381 163.115 389.717 QUADTO
-163.186 389.053 163.186 388.162 QUADTO
-163.186 387.256 163.115 386.592 QUADTO
-163.045 385.928 162.873 385.49 QUADTO
-162.701 385.053 162.389 384.818 QUADTO
-162.076 384.584 161.592 384.584 QUADTO
-161.107 384.584 160.787 384.818 QUADTO
-160.467 385.053 160.295 385.506 QUADTO
-160.123 385.959 160.053 386.639 QUADTO
-159.982 387.318 159.982 388.162 QUADTO
-159.982 389.084 160.037 389.701 QUADTO
-160.092 390.318 160.279 390.803 QUADTO
-160.451 391.256 160.764 391.498 QUADTO
-161.076 391.74 161.592 391.74 QUADTO
-162.076 391.74 162.389 391.506 QUADTO
-162.701 391.271 162.873 390.818 QUADTO
-closepath
-170.924 388.162 M
-170.924 390.506 170.244 391.607 QUADTO
-169.564 392.709 168.143 392.709 QUADTO
-166.689 392.709 166.018 391.584 QUADTO
-165.346 390.459 165.346 388.162 QUADTO
-165.346 385.803 166.033 384.709 QUADTO
-166.721 383.615 168.143 383.615 QUADTO
-169.58 383.615 170.252 384.748 QUADTO
-170.924 385.881 170.924 388.162 QUADTO
-closepath
-169.424 390.818 M
-169.596 390.381 169.666 389.717 QUADTO
-169.736 389.053 169.736 388.162 QUADTO
-169.736 387.256 169.666 386.592 QUADTO
-169.596 385.928 169.424 385.49 QUADTO
-169.252 385.053 168.939 384.818 QUADTO
-168.627 384.584 168.143 384.584 QUADTO
-167.658 384.584 167.338 384.818 QUADTO
-167.018 385.053 166.846 385.506 QUADTO
-166.674 385.959 166.604 386.639 QUADTO
-166.533 387.318 166.533 388.162 QUADTO
-166.533 389.084 166.588 389.701 QUADTO
-166.643 390.318 166.83 390.803 QUADTO
-167.002 391.256 167.314 391.498 QUADTO
-167.627 391.74 168.143 391.74 QUADTO
-168.627 391.74 168.939 391.506 QUADTO
-169.252 391.271 169.424 390.818 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-177.412 387.758 M
-191.412 387.758 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-184.412 384.758 M
-187.412 387.758 lineto
-184.412 390.758 lineto
-181.412 387.758 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-184.412 384.758 M
-187.412 387.758 lineto
-184.412 390.758 lineto
-181.412 387.758 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-201.803 386.428 M
-201.803 386.99 201.6 387.498 QUADTO
-201.396 388.006 201.037 388.365 QUADTO
-200.6 388.818 199.99 389.045 QUADTO
-199.381 389.271 198.443 389.271 QUADTO
-197.459 389.271 lineto
-197.459 392.521 lineto
-196.303 392.521 lineto
-196.303 383.803 lineto
-198.49 383.803 lineto
-199.256 383.803 199.803 383.928 QUADTO
-200.35 384.053 200.771 384.334 QUADTO
-201.256 384.678 201.529 385.186 QUADTO
-201.803 385.693 201.803 386.428 QUADTO
-closepath
-200.6 386.459 M
-200.6 386.006 200.443 385.67 QUADTO
-200.287 385.334 199.975 385.131 QUADTO
-199.693 384.943 199.326 384.865 QUADTO
-198.959 384.787 198.412 384.787 QUADTO
-197.459 384.787 lineto
-197.459 388.271 lineto
-198.256 388.271 lineto
-198.959 388.271 199.389 388.162 QUADTO
-199.818 388.053 200.1 387.756 QUADTO
-200.365 387.49 200.482 387.178 QUADTO
-200.6 386.865 200.6 386.459 QUADTO
-closepath
-201.965 392.521 M
-204.918 383.803 lineto
-206.34 383.803 lineto
-209.277 392.521 lineto
-208.059 392.521 lineto
-207.262 390.084 lineto
-203.934 390.084 lineto
-203.137 392.521 lineto
-201.965 392.521 lineto
-closepath
-206.949 389.1 M
-205.59 384.975 lineto
-204.262 389.1 lineto
-206.949 389.1 lineto
-closepath
-212.535 392.678 M
-211.598 392.678 210.926 392.482 QUADTO
-210.254 392.287 209.676 392.006 QUADTO
-209.676 390.553 lineto
-209.754 390.553 lineto
-210.332 391.084 211.059 391.381 QUADTO
-211.785 391.678 212.457 391.678 QUADTO
-213.426 391.678 213.918 391.279 QUADTO
-214.41 390.881 214.41 390.225 QUADTO
-214.41 389.693 214.152 389.365 QUADTO
-213.895 389.037 213.332 388.881 QUADTO
-212.926 388.771 212.59 388.693 QUADTO
-212.254 388.615 211.754 388.49 QUADTO
-211.301 388.365 210.941 388.186 QUADTO
-210.582 388.006 210.301 387.709 QUADTO
-210.035 387.428 209.887 387.037 QUADTO
-209.738 386.646 209.738 386.131 QUADTO
-209.738 385.068 210.566 384.35 QUADTO
-211.395 383.631 212.676 383.631 QUADTO
-213.41 383.631 214.059 383.779 QUADTO
-214.707 383.928 215.27 384.193 QUADTO
-215.27 385.584 lineto
-215.176 385.584 lineto
-214.77 385.209 214.121 384.928 QUADTO
-213.473 384.646 212.754 384.646 QUADTO
-211.941 384.646 211.441 385.021 QUADTO
-210.941 385.396 210.941 386.006 QUADTO
-210.941 386.568 211.238 386.896 QUADTO
-211.535 387.225 212.082 387.381 QUADTO
-212.457 387.475 212.988 387.6 QUADTO
-213.52 387.725 213.879 387.834 QUADTO
-214.785 388.115 215.199 388.67 QUADTO
-215.613 389.225 215.613 390.037 QUADTO
-215.613 390.553 215.402 391.045 QUADTO
-215.191 391.537 214.816 391.881 QUADTO
-214.395 392.271 213.863 392.475 QUADTO
-213.332 392.678 212.535 392.678 QUADTO
-closepath
-218.83 392.521 M
-218.83 384.834 lineto
-215.908 384.834 lineto
-215.908 383.803 lineto
-222.924 383.803 lineto
-222.924 384.834 lineto
-219.986 384.834 lineto
-219.986 392.521 lineto
-218.83 392.521 lineto
-closepath
-226.744 389.24 M
-223.447 389.24 lineto
-223.447 388.178 lineto
-226.744 388.178 lineto
-226.744 389.24 lineto
-closepath
-230.057 392.646 M
-229.15 392.646 228.65 392.139 QUADTO
-228.15 391.631 228.15 390.521 QUADTO
-228.15 386.896 lineto
-227.4 386.896 lineto
-227.4 385.975 lineto
-228.15 385.975 lineto
-228.15 384.1 lineto
-229.244 384.1 lineto
-229.244 385.975 lineto
-231.275 385.975 lineto
-231.275 386.896 lineto
-229.244 386.896 lineto
-229.244 390.006 lineto
-229.244 390.506 229.26 390.771 QUADTO
-229.275 391.037 229.4 391.271 QUADTO
-229.494 391.475 229.721 391.576 QUADTO
-229.947 391.678 230.322 391.678 QUADTO
-230.588 391.678 230.846 391.6 QUADTO
-231.104 391.521 231.213 391.475 QUADTO
-231.275 391.475 lineto
-231.275 392.459 lineto
-230.963 392.553 230.643 392.6 QUADTO
-230.322 392.646 230.057 392.646 QUADTO
-closepath
-235.742 390.912 M
-235.742 389.1 lineto
-235.352 389.131 234.75 389.193 QUADTO
-234.148 389.256 233.773 389.365 QUADTO
-233.336 389.49 233.055 389.771 QUADTO
-232.773 390.053 232.773 390.553 QUADTO
-232.773 391.115 233.086 391.404 QUADTO
-233.398 391.693 234.008 391.693 QUADTO
-234.523 391.693 234.945 391.467 QUADTO
-235.367 391.24 235.742 390.912 QUADTO
-closepath
-235.742 391.818 M
-235.602 391.928 235.383 392.107 QUADTO
-235.164 392.287 234.945 392.381 QUADTO
-234.648 392.537 234.375 392.623 QUADTO
-234.102 392.709 233.617 392.709 QUADTO
-233.211 392.709 232.852 392.553 QUADTO
-232.492 392.396 232.211 392.115 QUADTO
-231.945 391.85 231.789 391.459 QUADTO
-231.633 391.068 231.633 390.615 QUADTO
-231.633 389.943 231.922 389.467 QUADTO
-232.211 388.99 232.82 388.709 QUADTO
-233.383 388.459 234.133 388.357 QUADTO
-234.883 388.256 235.742 388.209 QUADTO
-235.742 388.006 lineto
-235.742 387.615 235.625 387.381 QUADTO
-235.508 387.146 235.305 387.006 QUADTO
-235.086 386.881 234.781 386.834 QUADTO
-234.477 386.787 234.148 386.787 QUADTO
-233.773 386.787 233.258 386.904 QUADTO
-232.742 387.021 232.227 387.24 QUADTO
-232.164 387.24 lineto
-232.164 386.115 lineto
-232.461 386.021 233.031 385.92 QUADTO
-233.602 385.818 234.164 385.818 QUADTO
-234.836 385.818 235.297 385.92 QUADTO
-235.758 386.021 236.133 386.303 QUADTO
-236.492 386.568 236.664 386.998 QUADTO
-236.836 387.428 236.836 388.037 QUADTO
-236.836 392.521 lineto
-235.742 392.521 lineto
-235.742 391.818 lineto
-closepath
-241.854 387.162 M
-241.791 387.162 lineto
-241.666 387.131 241.533 387.115 QUADTO
-241.4 387.1 241.197 387.1 QUADTO
-240.76 387.1 240.322 387.295 QUADTO
-239.885 387.49 239.494 387.881 QUADTO
-239.494 392.521 lineto
-238.385 392.521 lineto
-238.385 385.975 lineto
-239.494 385.975 lineto
-239.494 386.943 lineto
-240.088 386.412 240.541 386.193 QUADTO
-240.994 385.975 241.416 385.975 QUADTO
-241.572 385.975 241.658 385.982 QUADTO
-241.744 385.99 241.854 386.006 QUADTO
-241.854 387.162 lineto
-closepath
-246.646 390.74 M
-246.646 387.146 lineto
-246.24 386.959 245.889 386.873 QUADTO
-245.537 386.787 245.193 386.787 QUADTO
-244.35 386.787 243.873 387.404 QUADTO
-243.396 388.021 243.396 389.162 QUADTO
-243.396 390.256 243.764 390.826 QUADTO
-244.131 391.396 244.943 391.396 QUADTO
-245.381 391.396 245.834 391.225 QUADTO
-246.287 391.053 246.646 390.74 QUADTO
-closepath
-242.943 393.568 M
-243.053 393.615 243.271 393.693 QUADTO
-243.49 393.771 243.771 393.85 QUADTO
-244.068 393.928 244.326 393.975 QUADTO
-244.584 394.021 244.896 394.021 QUADTO
-245.396 394.021 245.756 393.881 QUADTO
-246.115 393.74 246.303 393.506 QUADTO
-246.49 393.271 246.568 392.951 QUADTO
-246.646 392.631 246.646 392.225 QUADTO
-246.646 391.646 lineto
-246.209 392.037 245.779 392.225 QUADTO
-245.35 392.412 244.709 392.412 QUADTO
-243.584 392.412 242.92 391.576 QUADTO
-242.256 390.74 242.256 389.193 QUADTO
-242.256 388.365 242.482 387.74 QUADTO
-242.709 387.115 243.1 386.678 QUADTO
-243.475 386.256 243.975 386.021 QUADTO
-244.475 385.787 245.021 385.787 QUADTO
-245.521 385.787 245.896 385.912 QUADTO
-246.271 386.037 246.646 386.256 QUADTO
-246.709 385.975 lineto
-247.756 385.975 lineto
-247.756 391.771 lineto
-247.756 393.443 247.029 394.225 QUADTO
-246.303 395.006 244.803 395.006 QUADTO
-244.318 395.006 243.818 394.928 QUADTO
-243.318 394.85 242.881 394.725 QUADTO
-242.881 393.568 lineto
-242.943 393.568 lineto
-closepath
-252.186 392.678 M
-250.623 392.678 249.756 391.795 QUADTO
-248.889 390.912 248.889 389.287 QUADTO
-248.889 387.693 249.725 386.74 QUADTO
-250.561 385.787 251.92 385.787 QUADTO
-252.529 385.787 252.998 385.967 QUADTO
-253.467 386.146 253.826 386.521 QUADTO
-254.17 386.896 254.357 387.436 QUADTO
-254.545 387.975 254.545 388.771 QUADTO
-254.545 389.365 lineto
-250.014 389.365 lineto
-250.014 390.506 250.584 391.107 QUADTO
-251.154 391.709 252.17 391.709 QUADTO
-252.529 391.709 252.881 391.631 QUADTO
-253.232 391.553 253.514 391.412 QUADTO
-253.811 391.287 254.014 391.162 QUADTO
-254.217 391.037 254.357 390.928 QUADTO
-254.42 390.928 lineto
-254.42 392.115 lineto
-254.232 392.193 253.943 392.311 QUADTO
-253.654 392.428 253.42 392.49 QUADTO
-253.107 392.584 252.842 392.631 QUADTO
-252.576 392.678 252.186 392.678 QUADTO
-closepath
-253.467 388.521 M
-253.467 388.068 253.373 387.748 QUADTO
-253.279 387.428 253.092 387.209 QUADTO
-252.904 386.959 252.6 386.834 QUADTO
-252.295 386.709 251.857 386.709 QUADTO
-251.42 386.709 251.107 386.834 QUADTO
-250.795 386.959 250.545 387.225 QUADTO
-250.311 387.475 250.178 387.787 QUADTO
-250.045 388.1 250.014 388.521 QUADTO
-253.467 388.521 lineto
-closepath
-257.643 392.646 M
-256.736 392.646 256.236 392.139 QUADTO
-255.736 391.631 255.736 390.521 QUADTO
-255.736 386.896 lineto
-254.986 386.896 lineto
-254.986 385.975 lineto
-255.736 385.975 lineto
-255.736 384.1 lineto
-256.83 384.1 lineto
-256.83 385.975 lineto
-258.861 385.975 lineto
-258.861 386.896 lineto
-256.83 386.896 lineto
-256.83 390.006 lineto
-256.83 390.506 256.846 390.771 QUADTO
-256.861 391.037 256.986 391.271 QUADTO
-257.08 391.475 257.307 391.576 QUADTO
-257.533 391.678 257.908 391.678 QUADTO
-258.174 391.678 258.432 391.6 QUADTO
-258.689 391.521 258.799 391.475 QUADTO
-258.861 391.475 lineto
-258.861 392.459 lineto
-258.549 392.553 258.229 392.6 QUADTO
-257.908 392.646 257.643 392.646 QUADTO
-closepath
-268.469 392.521 M
-267.359 392.521 lineto
-267.359 391.85 lineto
-267.109 392.068 266.922 392.209 QUADTO
-266.734 392.35 266.469 392.475 QUADTO
-266.234 392.584 265.984 392.646 QUADTO
-265.734 392.709 265.406 392.709 QUADTO
-264.875 392.709 264.422 392.482 QUADTO
-263.969 392.256 263.641 391.834 QUADTO
-263.328 391.396 263.148 390.764 QUADTO
-262.969 390.131 262.969 389.303 QUADTO
-262.969 388.443 263.195 387.811 QUADTO
-263.422 387.178 263.812 386.709 QUADTO
-264.172 386.287 264.68 386.037 QUADTO
-265.188 385.787 265.734 385.787 QUADTO
-266.234 385.787 266.594 385.896 QUADTO
-266.953 386.006 267.359 386.24 QUADTO
-267.359 383.396 lineto
-268.469 383.396 lineto
-268.469 392.521 lineto
-closepath
-267.359 390.928 M
-267.359 387.146 lineto
-266.953 386.959 266.625 386.881 QUADTO
-266.297 386.803 265.922 386.803 QUADTO
-265.062 386.803 264.586 387.436 QUADTO
-264.109 388.068 264.109 389.271 QUADTO
-264.109 390.428 264.477 391.037 QUADTO
-264.844 391.646 265.656 391.646 QUADTO
-266.094 391.646 266.531 391.451 QUADTO
-266.969 391.256 267.359 390.928 QUADTO
-closepath
-271.18 392.521 M
-270.086 392.521 lineto
-270.086 385.975 lineto
-271.18 385.975 lineto
-271.18 392.521 lineto
-closepath
-271.258 384.881 M
-270.008 384.881 lineto
-270.008 383.74 lineto
-271.258 383.74 lineto
-271.258 384.881 lineto
-closepath
-274.562 392.678 M
-273.906 392.678 273.336 392.506 QUADTO
-272.766 392.334 272.391 392.131 QUADTO
-272.391 390.896 lineto
-272.453 390.896 lineto
-272.594 391.006 272.781 391.139 QUADTO
-272.969 391.271 273.297 391.412 QUADTO
-273.578 391.553 273.914 391.646 QUADTO
-274.25 391.74 274.609 391.74 QUADTO
-274.875 391.74 275.172 391.686 QUADTO
-275.469 391.631 275.609 391.537 QUADTO
-275.828 391.396 275.914 391.24 QUADTO
-276 391.084 276 390.787 QUADTO
-276 390.396 275.789 390.193 QUADTO
-275.578 389.99 275.031 389.865 QUADTO
-274.812 389.803 274.477 389.732 QUADTO
-274.141 389.662 273.859 389.584 QUADTO
-273.109 389.365 272.766 388.912 QUADTO
-272.422 388.459 272.422 387.818 QUADTO
-272.422 386.928 273.094 386.373 QUADTO
-273.766 385.818 274.859 385.818 QUADTO
-275.406 385.818 275.961 385.951 QUADTO
-276.516 386.084 276.891 386.287 QUADTO
-276.891 387.475 lineto
-276.828 387.475 lineto
-276.406 387.131 275.891 386.943 QUADTO
-275.375 386.756 274.844 386.756 QUADTO
-274.297 386.756 273.922 386.982 QUADTO
-273.547 387.209 273.547 387.662 QUADTO
-273.547 388.084 273.773 388.287 QUADTO
-274 388.49 274.484 388.615 QUADTO
-274.734 388.678 275.031 388.74 QUADTO
-275.328 388.803 275.672 388.881 QUADTO
-276.391 389.068 276.758 389.49 QUADTO
-277.125 389.912 277.125 390.631 QUADTO
-277.125 391.053 276.961 391.436 QUADTO
-276.797 391.818 276.469 392.084 QUADTO
-276.125 392.381 275.68 392.529 QUADTO
-275.234 392.678 274.562 392.678 QUADTO
-closepath
-283.574 392.521 M
-282.137 392.521 lineto
-279.684 389.365 lineto
-279.262 389.787 lineto
-279.262 392.521 lineto
-278.152 392.521 lineto
-278.152 383.396 lineto
-279.262 383.396 lineto
-279.262 388.74 lineto
-281.84 385.975 lineto
-283.215 385.975 lineto
-280.527 388.709 lineto
-283.574 392.521 lineto
-closepath
-285.848 392.521 M
-284.441 392.521 lineto
-284.441 390.85 lineto
-285.848 390.85 lineto
-285.848 392.521 lineto
-closepath
-295.199 392.521 M
-295.199 388.74 lineto
-295.199 388.287 295.16 387.904 QUADTO
-295.121 387.521 295.012 387.303 QUADTO
-294.887 387.068 294.676 386.959 QUADTO
-294.465 386.85 294.09 386.85 QUADTO
-293.746 386.85 293.355 387.053 QUADTO
-292.965 387.256 292.559 387.646 QUADTO
-292.559 387.756 292.566 387.889 QUADTO
-292.574 388.021 292.574 388.209 QUADTO
-292.574 392.521 lineto
-291.48 392.521 lineto
-291.48 388.74 lineto
-291.48 388.287 291.441 387.904 QUADTO
-291.402 387.521 291.293 387.303 QUADTO
-291.184 387.068 290.965 386.959 QUADTO
-290.746 386.85 290.371 386.85 QUADTO
-290.012 386.85 289.621 387.068 QUADTO
-289.23 387.287 288.871 387.631 QUADTO
-288.871 392.521 lineto
-287.762 392.521 lineto
-287.762 385.975 lineto
-288.871 385.975 lineto
-288.871 386.709 lineto
-289.293 386.271 289.723 386.029 QUADTO
-290.152 385.787 290.652 385.787 QUADTO
-291.23 385.787 291.684 386.053 QUADTO
-292.137 386.318 292.371 386.928 QUADTO
-292.871 386.365 293.34 386.076 QUADTO
-293.809 385.787 294.371 385.787 QUADTO
-294.793 385.787 295.137 385.92 QUADTO
-295.48 386.053 295.746 386.35 QUADTO
-296.012 386.646 296.152 387.092 QUADTO
-296.293 387.537 296.293 388.209 QUADTO
-296.293 392.521 lineto
-295.199 392.521 lineto
-closepath
-299.824 392.646 M
-298.918 392.646 298.418 392.139 QUADTO
-297.918 391.631 297.918 390.521 QUADTO
-297.918 386.896 lineto
-297.168 386.896 lineto
-297.168 385.975 lineto
-297.918 385.975 lineto
-297.918 384.1 lineto
-299.012 384.1 lineto
-299.012 385.975 lineto
-301.043 385.975 lineto
-301.043 386.896 lineto
-299.012 386.896 lineto
-299.012 390.006 lineto
-299.012 390.506 299.027 390.771 QUADTO
-299.043 391.037 299.168 391.271 QUADTO
-299.262 391.475 299.488 391.576 QUADTO
-299.715 391.678 300.09 391.678 QUADTO
-300.355 391.678 300.613 391.6 QUADTO
-300.871 391.521 300.98 391.475 QUADTO
-301.043 391.475 lineto
-301.043 392.459 lineto
-300.73 392.553 300.41 392.6 QUADTO
-300.09 392.646 299.824 392.646 QUADTO
-closepath
-303.838 392.646 M
-302.932 392.646 302.432 392.139 QUADTO
-301.932 391.631 301.932 390.521 QUADTO
-301.932 386.896 lineto
-301.182 386.896 lineto
-301.182 385.975 lineto
-301.932 385.975 lineto
-301.932 384.1 lineto
-303.025 384.1 lineto
-303.025 385.975 lineto
-305.057 385.975 lineto
-305.057 386.896 lineto
-303.025 386.896 lineto
-303.025 390.006 lineto
-303.025 390.506 303.041 390.771 QUADTO
-303.057 391.037 303.182 391.271 QUADTO
-303.275 391.475 303.502 391.576 QUADTO
-303.729 391.678 304.104 391.678 QUADTO
-304.369 391.678 304.627 391.6 QUADTO
-304.885 391.521 304.994 391.475 QUADTO
-305.057 391.475 lineto
-305.057 392.459 lineto
-304.744 392.553 304.424 392.6 QUADTO
-304.104 392.646 303.838 392.646 QUADTO
-closepath
-309.32 384.459 M
-309.258 384.459 lineto
-309.102 384.412 308.828 384.357 QUADTO
-308.555 384.303 308.336 384.303 QUADTO
-307.648 384.303 307.352 384.615 QUADTO
-307.055 384.928 307.055 385.756 QUADTO
-307.055 385.975 lineto
-308.867 385.975 lineto
-308.867 386.896 lineto
-307.086 386.896 lineto
-307.086 392.521 lineto
-305.992 392.521 lineto
-305.992 386.896 lineto
-305.242 386.896 lineto
-305.242 385.975 lineto
-305.992 385.975 lineto
-305.992 385.756 lineto
-305.992 384.568 306.555 383.959 QUADTO
-307.117 383.35 308.18 383.35 QUADTO
-308.492 383.35 308.781 383.381 QUADTO
-309.07 383.412 309.32 383.443 QUADTO
-309.32 384.459 lineto
-closepath
-316.5 387.943 M
-310.016 387.943 lineto
-310.016 387.006 lineto
-316.5 387.006 lineto
-316.5 387.943 lineto
-closepath
-316.5 390.396 M
-310.016 390.396 lineto
-310.016 389.459 lineto
-316.5 389.459 lineto
-316.5 390.396 lineto
-closepath
-320.621 384.631 M
-320.293 384.631 319.98 384.709 QUADTO
-319.668 384.787 319.355 384.896 QUADTO
-319.074 385.021 318.871 385.146 QUADTO
-318.668 385.271 318.496 385.396 QUADTO
-318.434 385.396 lineto
-318.434 384.146 lineto
-318.809 383.943 319.465 383.779 QUADTO
-320.121 383.615 320.715 383.615 QUADTO
-321.309 383.615 321.746 383.732 QUADTO
-322.184 383.85 322.543 384.1 QUADTO
-322.934 384.381 323.129 384.779 QUADTO
-323.324 385.178 323.324 385.725 QUADTO
-323.324 386.443 322.848 386.982 QUADTO
-322.371 387.521 321.715 387.678 QUADTO
-321.715 387.756 lineto
-321.98 387.803 322.301 387.936 QUADTO
-322.621 388.068 322.887 388.318 QUADTO
-323.152 388.568 323.324 388.967 QUADTO
-323.496 389.365 323.496 389.928 QUADTO
-323.496 390.521 323.293 391.014 QUADTO
-323.09 391.506 322.715 391.896 QUADTO
-322.34 392.287 321.801 392.498 QUADTO
-321.262 392.709 320.574 392.709 QUADTO
-319.918 392.709 319.277 392.545 QUADTO
-318.637 392.381 318.184 392.162 QUADTO
-318.184 390.928 lineto
-318.277 390.928 lineto
-318.637 391.193 319.262 391.443 QUADTO
-319.887 391.693 320.512 391.693 QUADTO
-320.855 391.693 321.223 391.576 QUADTO
-321.59 391.459 321.824 391.209 QUADTO
-322.059 390.943 322.184 390.631 QUADTO
-322.309 390.318 322.309 389.85 QUADTO
-322.309 389.381 322.168 389.076 QUADTO
-322.027 388.771 321.777 388.584 QUADTO
-321.543 388.412 321.199 388.342 QUADTO
-320.855 388.271 320.465 388.271 QUADTO
-319.965 388.271 lineto
-319.965 387.303 lineto
-320.355 387.303 lineto
-321.152 387.303 321.645 386.928 QUADTO
-322.137 386.553 322.137 385.834 QUADTO
-322.137 385.506 322.012 385.271 QUADTO
-321.887 385.037 321.684 384.896 QUADTO
-321.465 384.74 321.191 384.686 QUADTO
-320.918 384.631 320.621 384.631 QUADTO
-closepath
-330.234 388.162 M
-330.234 390.506 329.555 391.607 QUADTO
-328.875 392.709 327.453 392.709 QUADTO
-326 392.709 325.328 391.584 QUADTO
-324.656 390.459 324.656 388.162 QUADTO
-324.656 385.803 325.344 384.709 QUADTO
-326.031 383.615 327.453 383.615 QUADTO
-328.891 383.615 329.562 384.748 QUADTO
-330.234 385.881 330.234 388.162 QUADTO
-closepath
-328.734 390.818 M
-328.906 390.381 328.977 389.717 QUADTO
-329.047 389.053 329.047 388.162 QUADTO
-329.047 387.256 328.977 386.592 QUADTO
-328.906 385.928 328.734 385.49 QUADTO
-328.562 385.053 328.25 384.818 QUADTO
-327.938 384.584 327.453 384.584 QUADTO
-326.969 384.584 326.648 384.818 QUADTO
-326.328 385.053 326.156 385.506 QUADTO
-325.984 385.959 325.914 386.639 QUADTO
-325.844 387.318 325.844 388.162 QUADTO
-325.844 389.084 325.898 389.701 QUADTO
-325.953 390.318 326.141 390.803 QUADTO
-326.312 391.256 326.625 391.498 QUADTO
-326.938 391.74 327.453 391.74 QUADTO
-327.938 391.74 328.25 391.506 QUADTO
-328.562 391.271 328.734 390.818 QUADTO
-closepath
-336.785 388.162 M
-336.785 390.506 336.105 391.607 QUADTO
-335.426 392.709 334.004 392.709 QUADTO
-332.551 392.709 331.879 391.584 QUADTO
-331.207 390.459 331.207 388.162 QUADTO
-331.207 385.803 331.895 384.709 QUADTO
-332.582 383.615 334.004 383.615 QUADTO
-335.441 383.615 336.113 384.748 QUADTO
-336.785 385.881 336.785 388.162 QUADTO
-closepath
-335.285 390.818 M
-335.457 390.381 335.527 389.717 QUADTO
-335.598 389.053 335.598 388.162 QUADTO
-335.598 387.256 335.527 386.592 QUADTO
-335.457 385.928 335.285 385.49 QUADTO
-335.113 385.053 334.801 384.818 QUADTO
-334.488 384.584 334.004 384.584 QUADTO
-333.52 384.584 333.199 384.818 QUADTO
-332.879 385.053 332.707 385.506 QUADTO
-332.535 385.959 332.465 386.639 QUADTO
-332.395 387.318 332.395 388.162 QUADTO
-332.395 389.084 332.449 389.701 QUADTO
-332.504 390.318 332.691 390.803 QUADTO
-332.863 391.256 333.176 391.498 QUADTO
-333.488 391.74 334.004 391.74 QUADTO
-334.488 391.74 334.801 391.506 QUADTO
-335.113 391.271 335.285 390.818 QUADTO
-closepath
-343.336 388.162 M
-343.336 390.506 342.656 391.607 QUADTO
-341.977 392.709 340.555 392.709 QUADTO
-339.102 392.709 338.43 391.584 QUADTO
-337.758 390.459 337.758 388.162 QUADTO
-337.758 385.803 338.445 384.709 QUADTO
-339.133 383.615 340.555 383.615 QUADTO
-341.992 383.615 342.664 384.748 QUADTO
-343.336 385.881 343.336 388.162 QUADTO
-closepath
-341.836 390.818 M
-342.008 390.381 342.078 389.717 QUADTO
-342.148 389.053 342.148 388.162 QUADTO
-342.148 387.256 342.078 386.592 QUADTO
-342.008 385.928 341.836 385.49 QUADTO
-341.664 385.053 341.352 384.818 QUADTO
-341.039 384.584 340.555 384.584 QUADTO
-340.07 384.584 339.75 384.818 QUADTO
-339.43 385.053 339.258 385.506 QUADTO
-339.086 385.959 339.016 386.639 QUADTO
-338.945 387.318 338.945 388.162 QUADTO
-338.945 389.084 339 389.701 QUADTO
-339.055 390.318 339.242 390.803 QUADTO
-339.414 391.256 339.727 391.498 QUADTO
-340.039 391.74 340.555 391.74 QUADTO
-341.039 391.74 341.352 391.506 QUADTO
-341.664 391.271 341.836 390.818 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-56 34.141 M
-388 34.141 lineto
-388 305.648 lineto
-56 305.648 lineto
-56 34.141 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-56 309.648 M
-388 309.648 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-58.787 321.295 M
-58.787 323.639 58.107 324.74 QUADTO
-57.428 325.842 56.006 325.842 QUADTO
-54.553 325.842 53.881 324.717 QUADTO
-53.209 323.592 53.209 321.295 QUADTO
-53.209 318.936 53.896 317.842 QUADTO
-54.584 316.748 56.006 316.748 QUADTO
-57.443 316.748 58.115 317.881 QUADTO
-58.787 319.014 58.787 321.295 QUADTO
-closepath
-57.287 323.951 M
-57.459 323.514 57.529 322.85 QUADTO
-57.6 322.186 57.6 321.295 QUADTO
-57.6 320.389 57.529 319.725 QUADTO
-57.459 319.061 57.287 318.623 QUADTO
-57.115 318.186 56.803 317.951 QUADTO
-56.49 317.717 56.006 317.717 QUADTO
-55.521 317.717 55.201 317.951 QUADTO
-54.881 318.186 54.709 318.639 QUADTO
-54.537 319.092 54.467 319.771 QUADTO
-54.396 320.451 54.396 321.295 QUADTO
-54.396 322.217 54.451 322.834 QUADTO
-54.506 323.451 54.693 323.936 QUADTO
-54.865 324.389 55.178 324.631 QUADTO
-55.49 324.873 56.006 324.873 QUADTO
-56.49 324.873 56.803 324.639 QUADTO
-57.115 324.404 57.287 323.951 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-56 311.648 M
-56 309.648 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-123.048 325.654 M
-117.657 325.654 lineto
-117.657 324.436 lineto
-118.235 323.873 118.751 323.373 QUADTO
-119.266 322.873 119.766 322.326 QUADTO
-120.751 321.232 121.118 320.568 QUADTO
-121.485 319.904 121.485 319.201 QUADTO
-121.485 318.842 121.368 318.568 QUADTO
-121.251 318.295 121.048 318.107 QUADTO
-120.844 317.936 120.579 317.85 QUADTO
-120.313 317.764 119.985 317.764 QUADTO
-119.673 317.764 119.352 317.842 QUADTO
-119.032 317.92 118.751 318.029 QUADTO
-118.501 318.139 118.274 318.279 QUADTO
-118.048 318.42 117.907 318.514 QUADTO
-117.844 318.514 lineto
-117.844 317.279 lineto
-118.204 317.092 118.852 316.92 QUADTO
-119.501 316.748 120.079 316.748 QUADTO
-121.298 316.748 121.985 317.396 QUADTO
-122.673 318.045 122.673 319.154 QUADTO
-122.673 319.654 122.555 320.092 QUADTO
-122.438 320.529 122.219 320.889 QUADTO
-122.016 321.279 121.712 321.654 QUADTO
-121.407 322.029 121.063 322.389 QUADTO
-120.516 322.982 119.837 323.631 QUADTO
-119.157 324.279 118.751 324.654 QUADTO
-123.048 324.654 lineto
-123.048 325.654 lineto
-closepath
-126.505 323.982 M
-124.864 327.826 lineto
-124.005 327.826 lineto
-125.036 323.982 lineto
-126.505 323.982 lineto
-closepath
-133.122 322.873 M
-133.122 323.514 132.919 324.053 QUADTO
-132.716 324.592 132.356 324.982 QUADTO
-131.981 325.373 131.434 325.607 QUADTO
-130.887 325.842 130.216 325.842 QUADTO
-129.591 325.842 128.981 325.701 QUADTO
-128.372 325.561 127.934 325.342 QUADTO
-127.934 324.107 lineto
-128.012 324.107 lineto
-128.137 324.201 128.395 324.326 QUADTO
-128.653 324.451 128.95 324.561 QUADTO
-129.294 324.686 129.583 324.756 QUADTO
-129.872 324.826 130.231 324.826 QUADTO
-130.575 324.826 130.911 324.701 QUADTO
-131.247 324.576 131.497 324.295 QUADTO
-131.7 324.029 131.817 323.686 QUADTO
-131.934 323.342 131.934 322.873 QUADTO
-131.934 322.404 131.809 322.107 QUADTO
-131.684 321.811 131.45 321.623 QUADTO
-131.184 321.389 130.825 321.303 QUADTO
-130.466 321.217 130.012 321.217 QUADTO
-129.528 321.217 129.051 321.287 QUADTO
-128.575 321.357 128.278 321.42 QUADTO
-128.278 316.936 lineto
-133.075 316.936 lineto
-133.075 317.951 lineto
-129.419 317.951 lineto
-129.419 320.279 lineto
-129.622 320.248 129.833 320.24 QUADTO
-130.044 320.232 130.2 320.232 QUADTO
-130.872 320.232 131.333 320.342 QUADTO
-131.794 320.451 132.231 320.779 QUADTO
-132.669 321.107 132.895 321.6 QUADTO
-133.122 322.092 133.122 322.873 QUADTO
-closepath
-139.813 321.295 M
-139.813 323.639 139.134 324.74 QUADTO
-138.454 325.842 137.032 325.842 QUADTO
-135.579 325.842 134.907 324.717 QUADTO
-134.235 323.592 134.235 321.295 QUADTO
-134.235 318.936 134.923 317.842 QUADTO
-135.61 316.748 137.032 316.748 QUADTO
-138.469 316.748 139.141 317.881 QUADTO
-139.813 319.014 139.813 321.295 QUADTO
-closepath
-138.313 323.951 M
-138.485 323.514 138.555 322.85 QUADTO
-138.626 322.186 138.626 321.295 QUADTO
-138.626 320.389 138.555 319.725 QUADTO
-138.485 319.061 138.313 318.623 QUADTO
-138.141 318.186 137.829 317.951 QUADTO
-137.516 317.717 137.032 317.717 QUADTO
-136.548 317.717 136.227 317.951 QUADTO
-135.907 318.186 135.735 318.639 QUADTO
-135.563 319.092 135.493 319.771 QUADTO
-135.423 320.451 135.423 321.295 QUADTO
-135.423 322.217 135.477 322.834 QUADTO
-135.532 323.451 135.719 323.936 QUADTO
-135.891 324.389 136.204 324.631 QUADTO
-136.516 324.873 137.032 324.873 QUADTO
-137.516 324.873 137.829 324.639 QUADTO
-138.141 324.404 138.313 323.951 QUADTO
-closepath
-146.364 321.295 M
-146.364 323.639 145.684 324.74 QUADTO
-145.005 325.842 143.583 325.842 QUADTO
-142.13 325.842 141.458 324.717 QUADTO
-140.786 323.592 140.786 321.295 QUADTO
-140.786 318.936 141.473 317.842 QUADTO
-142.161 316.748 143.583 316.748 QUADTO
-145.02 316.748 145.692 317.881 QUADTO
-146.364 319.014 146.364 321.295 QUADTO
-closepath
-144.864 323.951 M
-145.036 323.514 145.106 322.85 QUADTO
-145.176 322.186 145.176 321.295 QUADTO
-145.176 320.389 145.106 319.725 QUADTO
-145.036 319.061 144.864 318.623 QUADTO
-144.692 318.186 144.38 317.951 QUADTO
-144.067 317.717 143.583 317.717 QUADTO
-143.098 317.717 142.778 317.951 QUADTO
-142.458 318.186 142.286 318.639 QUADTO
-142.114 319.092 142.044 319.771 QUADTO
-141.973 320.451 141.973 321.295 QUADTO
-141.973 322.217 142.028 322.834 QUADTO
-142.083 323.451 142.27 323.936 QUADTO
-142.442 324.389 142.755 324.631 QUADTO
-143.067 324.873 143.583 324.873 QUADTO
-144.067 324.873 144.38 324.639 QUADTO
-144.692 324.404 144.864 323.951 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-131.934 311.648 M
-131.934 309.648 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-198.873 322.873 M
-198.873 323.514 198.669 324.053 QUADTO
-198.466 324.592 198.107 324.982 QUADTO
-197.732 325.373 197.185 325.607 QUADTO
-196.638 325.842 195.966 325.842 QUADTO
-195.341 325.842 194.732 325.701 QUADTO
-194.123 325.561 193.685 325.342 QUADTO
-193.685 324.107 lineto
-193.763 324.107 lineto
-193.888 324.201 194.146 324.326 QUADTO
-194.404 324.451 194.701 324.561 QUADTO
-195.044 324.686 195.333 324.756 QUADTO
-195.623 324.826 195.982 324.826 QUADTO
-196.326 324.826 196.662 324.701 QUADTO
-196.998 324.576 197.248 324.295 QUADTO
-197.451 324.029 197.568 323.686 QUADTO
-197.685 323.342 197.685 322.873 QUADTO
-197.685 322.404 197.56 322.107 QUADTO
-197.435 321.811 197.201 321.623 QUADTO
-196.935 321.389 196.576 321.303 QUADTO
-196.216 321.217 195.763 321.217 QUADTO
-195.279 321.217 194.802 321.287 QUADTO
-194.326 321.357 194.029 321.42 QUADTO
-194.029 316.936 lineto
-198.826 316.936 lineto
-198.826 317.951 lineto
-195.169 317.951 lineto
-195.169 320.279 lineto
-195.373 320.248 195.583 320.24 QUADTO
-195.794 320.232 195.951 320.232 QUADTO
-196.623 320.232 197.083 320.342 QUADTO
-197.544 320.451 197.982 320.779 QUADTO
-198.419 321.107 198.646 321.6 QUADTO
-198.873 322.092 198.873 322.873 QUADTO
-closepath
-202.439 323.982 M
-200.798 327.826 lineto
-199.939 327.826 lineto
-200.97 323.982 lineto
-202.439 323.982 lineto
-closepath
-209.197 321.295 M
-209.197 323.639 208.517 324.74 QUADTO
-207.837 325.842 206.415 325.842 QUADTO
-204.962 325.842 204.29 324.717 QUADTO
-203.619 323.592 203.619 321.295 QUADTO
-203.619 318.936 204.306 317.842 QUADTO
-204.994 316.748 206.415 316.748 QUADTO
-207.853 316.748 208.525 317.881 QUADTO
-209.197 319.014 209.197 321.295 QUADTO
-closepath
-207.697 323.951 M
-207.869 323.514 207.939 322.85 QUADTO
-208.009 322.186 208.009 321.295 QUADTO
-208.009 320.389 207.939 319.725 QUADTO
-207.869 319.061 207.697 318.623 QUADTO
-207.525 318.186 207.212 317.951 QUADTO
-206.9 317.717 206.415 317.717 QUADTO
-205.931 317.717 205.611 317.951 QUADTO
-205.29 318.186 205.119 318.639 QUADTO
-204.947 319.092 204.876 319.771 QUADTO
-204.806 320.451 204.806 321.295 QUADTO
-204.806 322.217 204.861 322.834 QUADTO
-204.915 323.451 205.103 323.936 QUADTO
-205.275 324.389 205.587 324.631 QUADTO
-205.9 324.873 206.415 324.873 QUADTO
-206.9 324.873 207.212 324.639 QUADTO
-207.525 324.404 207.697 323.951 QUADTO
-closepath
-215.748 321.295 M
-215.748 323.639 215.068 324.74 QUADTO
-214.388 325.842 212.966 325.842 QUADTO
-211.513 325.842 210.841 324.717 QUADTO
-210.169 323.592 210.169 321.295 QUADTO
-210.169 318.936 210.857 317.842 QUADTO
-211.544 316.748 212.966 316.748 QUADTO
-214.404 316.748 215.076 317.881 QUADTO
-215.748 319.014 215.748 321.295 QUADTO
-closepath
-214.248 323.951 M
-214.419 323.514 214.49 322.85 QUADTO
-214.56 322.186 214.56 321.295 QUADTO
-214.56 320.389 214.49 319.725 QUADTO
-214.419 319.061 214.248 318.623 QUADTO
-214.076 318.186 213.763 317.951 QUADTO
-213.451 317.717 212.966 317.717 QUADTO
-212.482 317.717 212.162 317.951 QUADTO
-211.841 318.186 211.669 318.639 QUADTO
-211.498 319.092 211.427 319.771 QUADTO
-211.357 320.451 211.357 321.295 QUADTO
-211.357 322.217 211.412 322.834 QUADTO
-211.466 323.451 211.654 323.936 QUADTO
-211.826 324.389 212.138 324.631 QUADTO
-212.451 324.873 212.966 324.873 QUADTO
-213.451 324.873 213.763 324.639 QUADTO
-214.076 324.404 214.248 323.951 QUADTO
-closepath
-222.298 321.295 M
-222.298 323.639 221.619 324.74 QUADTO
-220.939 325.842 219.517 325.842 QUADTO
-218.064 325.842 217.392 324.717 QUADTO
-216.72 323.592 216.72 321.295 QUADTO
-216.72 318.936 217.408 317.842 QUADTO
-218.095 316.748 219.517 316.748 QUADTO
-220.955 316.748 221.626 317.881 QUADTO
-222.298 319.014 222.298 321.295 QUADTO
-closepath
-220.798 323.951 M
-220.97 323.514 221.04 322.85 QUADTO
-221.111 322.186 221.111 321.295 QUADTO
-221.111 320.389 221.04 319.725 QUADTO
-220.97 319.061 220.798 318.623 QUADTO
-220.626 318.186 220.314 317.951 QUADTO
-220.001 317.717 219.517 317.717 QUADTO
-219.033 317.717 218.712 317.951 QUADTO
-218.392 318.186 218.22 318.639 QUADTO
-218.048 319.092 217.978 319.771 QUADTO
-217.908 320.451 217.908 321.295 QUADTO
-217.908 322.217 217.962 322.834 QUADTO
-218.017 323.451 218.205 323.936 QUADTO
-218.376 324.389 218.689 324.631 QUADTO
-219.001 324.873 219.517 324.873 QUADTO
-220.001 324.873 220.314 324.639 QUADTO
-220.626 324.404 220.798 323.951 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-207.869 311.648 M
-207.869 309.648 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-275.01 318.232 M
-271.229 325.654 lineto
-269.979 325.654 lineto
-273.979 317.951 lineto
-269.463 317.951 lineto
-269.463 316.936 lineto
-275.01 316.936 lineto
-275.01 318.232 lineto
-closepath
-278.373 323.982 M
-276.733 327.826 lineto
-275.873 327.826 lineto
-276.905 323.982 lineto
-278.373 323.982 lineto
-closepath
-284.99 322.873 M
-284.99 323.514 284.787 324.053 QUADTO
-284.584 324.592 284.225 324.982 QUADTO
-283.85 325.373 283.303 325.607 QUADTO
-282.756 325.842 282.084 325.842 QUADTO
-281.459 325.842 280.85 325.701 QUADTO
-280.24 325.561 279.803 325.342 QUADTO
-279.803 324.107 lineto
-279.881 324.107 lineto
-280.006 324.201 280.264 324.326 QUADTO
-280.522 324.451 280.819 324.561 QUADTO
-281.162 324.686 281.451 324.756 QUADTO
-281.74 324.826 282.1 324.826 QUADTO
-282.444 324.826 282.78 324.701 QUADTO
-283.115 324.576 283.365 324.295 QUADTO
-283.569 324.029 283.686 323.686 QUADTO
-283.803 323.342 283.803 322.873 QUADTO
-283.803 322.404 283.678 322.107 QUADTO
-283.553 321.811 283.319 321.623 QUADTO
-283.053 321.389 282.694 321.303 QUADTO
-282.334 321.217 281.881 321.217 QUADTO
-281.397 321.217 280.92 321.287 QUADTO
-280.444 321.357 280.147 321.42 QUADTO
-280.147 316.936 lineto
-284.944 316.936 lineto
-284.944 317.951 lineto
-281.287 317.951 lineto
-281.287 320.279 lineto
-281.49 320.248 281.701 320.24 QUADTO
-281.912 320.232 282.069 320.232 QUADTO
-282.74 320.232 283.201 320.342 QUADTO
-283.662 320.451 284.1 320.779 QUADTO
-284.537 321.107 284.764 321.6 QUADTO
-284.99 322.092 284.99 322.873 QUADTO
-closepath
-291.682 321.295 M
-291.682 323.639 291.002 324.74 QUADTO
-290.322 325.842 288.901 325.842 QUADTO
-287.447 325.842 286.776 324.717 QUADTO
-286.104 323.592 286.104 321.295 QUADTO
-286.104 318.936 286.791 317.842 QUADTO
-287.479 316.748 288.901 316.748 QUADTO
-290.338 316.748 291.01 317.881 QUADTO
-291.682 319.014 291.682 321.295 QUADTO
-closepath
-290.182 323.951 M
-290.354 323.514 290.424 322.85 QUADTO
-290.494 322.186 290.494 321.295 QUADTO
-290.494 320.389 290.424 319.725 QUADTO
-290.354 319.061 290.182 318.623 QUADTO
-290.01 318.186 289.697 317.951 QUADTO
-289.385 317.717 288.901 317.717 QUADTO
-288.416 317.717 288.096 317.951 QUADTO
-287.776 318.186 287.604 318.639 QUADTO
-287.432 319.092 287.362 319.771 QUADTO
-287.291 320.451 287.291 321.295 QUADTO
-287.291 322.217 287.346 322.834 QUADTO
-287.401 323.451 287.588 323.936 QUADTO
-287.76 324.389 288.072 324.631 QUADTO
-288.385 324.873 288.901 324.873 QUADTO
-289.385 324.873 289.697 324.639 QUADTO
-290.01 324.404 290.182 323.951 QUADTO
-closepath
-298.233 321.295 M
-298.233 323.639 297.553 324.74 QUADTO
-296.873 325.842 295.451 325.842 QUADTO
-293.998 325.842 293.326 324.717 QUADTO
-292.655 323.592 292.655 321.295 QUADTO
-292.655 318.936 293.342 317.842 QUADTO
-294.03 316.748 295.451 316.748 QUADTO
-296.889 316.748 297.561 317.881 QUADTO
-298.233 319.014 298.233 321.295 QUADTO
-closepath
-296.733 323.951 M
-296.905 323.514 296.975 322.85 QUADTO
-297.045 322.186 297.045 321.295 QUADTO
-297.045 320.389 296.975 319.725 QUADTO
-296.905 319.061 296.733 318.623 QUADTO
-296.561 318.186 296.248 317.951 QUADTO
-295.936 317.717 295.451 317.717 QUADTO
-294.967 317.717 294.647 317.951 QUADTO
-294.326 318.186 294.155 318.639 QUADTO
-293.983 319.092 293.912 319.771 QUADTO
-293.842 320.451 293.842 321.295 QUADTO
-293.842 322.217 293.897 322.834 QUADTO
-293.951 323.451 294.139 323.936 QUADTO
-294.311 324.389 294.623 324.631 QUADTO
-294.936 324.873 295.451 324.873 QUADTO
-295.936 324.873 296.248 324.639 QUADTO
-296.561 324.404 296.733 323.951 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-283.803 311.648 M
-283.803 309.648 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-347.122 325.654 M
-342.872 325.654 lineto
-342.872 324.764 lineto
-344.45 324.764 lineto
-344.45 318.92 lineto
-342.872 318.92 lineto
-342.872 318.123 lineto
-343.763 318.123 344.192 317.865 QUADTO
-344.622 317.607 344.669 316.904 QUADTO
-345.575 316.904 lineto
-345.575 324.764 lineto
-347.122 324.764 lineto
-347.122 325.654 lineto
-closepath
-354.157 321.295 M
-354.157 323.639 353.477 324.74 QUADTO
-352.798 325.842 351.376 325.842 QUADTO
-349.923 325.842 349.251 324.717 QUADTO
-348.579 323.592 348.579 321.295 QUADTO
-348.579 318.936 349.267 317.842 QUADTO
-349.954 316.748 351.376 316.748 QUADTO
-352.813 316.748 353.485 317.881 QUADTO
-354.157 319.014 354.157 321.295 QUADTO
-closepath
-352.657 323.951 M
-352.829 323.514 352.899 322.85 QUADTO
-352.97 322.186 352.97 321.295 QUADTO
-352.97 320.389 352.899 319.725 QUADTO
-352.829 319.061 352.657 318.623 QUADTO
-352.485 318.186 352.173 317.951 QUADTO
-351.86 317.717 351.376 317.717 QUADTO
-350.892 317.717 350.571 317.951 QUADTO
-350.251 318.186 350.079 318.639 QUADTO
-349.907 319.092 349.837 319.771 QUADTO
-349.767 320.451 349.767 321.295 QUADTO
-349.767 322.217 349.821 322.834 QUADTO
-349.876 323.451 350.063 323.936 QUADTO
-350.235 324.389 350.548 324.631 QUADTO
-350.86 324.873 351.376 324.873 QUADTO
-351.86 324.873 352.173 324.639 QUADTO
-352.485 324.404 352.657 323.951 QUADTO
-closepath
-357.583 323.982 M
-355.942 327.826 lineto
-355.083 327.826 lineto
-356.114 323.982 lineto
-357.583 323.982 lineto
-closepath
-364.341 321.295 M
-364.341 323.639 363.661 324.74 QUADTO
-362.981 325.842 361.56 325.842 QUADTO
-360.106 325.842 359.435 324.717 QUADTO
-358.763 323.592 358.763 321.295 QUADTO
-358.763 318.936 359.45 317.842 QUADTO
-360.138 316.748 361.56 316.748 QUADTO
-362.997 316.748 363.669 317.881 QUADTO
-364.341 319.014 364.341 321.295 QUADTO
-closepath
-362.841 323.951 M
-363.013 323.514 363.083 322.85 QUADTO
-363.153 322.186 363.153 321.295 QUADTO
-363.153 320.389 363.083 319.725 QUADTO
-363.013 319.061 362.841 318.623 QUADTO
-362.669 318.186 362.356 317.951 QUADTO
-362.044 317.717 361.56 317.717 QUADTO
-361.075 317.717 360.755 317.951 QUADTO
-360.435 318.186 360.263 318.639 QUADTO
-360.091 319.092 360.02 319.771 QUADTO
-359.95 320.451 359.95 321.295 QUADTO
-359.95 322.217 360.005 322.834 QUADTO
-360.06 323.451 360.247 323.936 QUADTO
-360.419 324.389 360.731 324.631 QUADTO
-361.044 324.873 361.56 324.873 QUADTO
-362.044 324.873 362.356 324.639 QUADTO
-362.669 324.404 362.841 323.951 QUADTO
-closepath
-370.892 321.295 M
-370.892 323.639 370.212 324.74 QUADTO
-369.532 325.842 368.11 325.842 QUADTO
-366.657 325.842 365.985 324.717 QUADTO
-365.313 323.592 365.313 321.295 QUADTO
-365.313 318.936 366.001 317.842 QUADTO
-366.688 316.748 368.11 316.748 QUADTO
-369.548 316.748 370.22 317.881 QUADTO
-370.892 319.014 370.892 321.295 QUADTO
-closepath
-369.392 323.951 M
-369.563 323.514 369.634 322.85 QUADTO
-369.704 322.186 369.704 321.295 QUADTO
-369.704 320.389 369.634 319.725 QUADTO
-369.563 319.061 369.392 318.623 QUADTO
-369.22 318.186 368.907 317.951 QUADTO
-368.595 317.717 368.11 317.717 QUADTO
-367.626 317.717 367.306 317.951 QUADTO
-366.985 318.186 366.813 318.639 QUADTO
-366.642 319.092 366.571 319.771 QUADTO
-366.501 320.451 366.501 321.295 QUADTO
-366.501 322.217 366.556 322.834 QUADTO
-366.61 323.451 366.798 323.936 QUADTO
-366.97 324.389 367.282 324.631 QUADTO
-367.595 324.873 368.11 324.873 QUADTO
-368.595 324.873 368.907 324.639 QUADTO
-369.22 324.404 369.392 323.951 QUADTO
-closepath
-377.442 321.295 M
-377.442 323.639 376.763 324.74 QUADTO
-376.083 325.842 374.661 325.842 QUADTO
-373.208 325.842 372.536 324.717 QUADTO
-371.864 323.592 371.864 321.295 QUADTO
-371.864 318.936 372.552 317.842 QUADTO
-373.239 316.748 374.661 316.748 QUADTO
-376.099 316.748 376.77 317.881 QUADTO
-377.442 319.014 377.442 321.295 QUADTO
-closepath
-375.942 323.951 M
-376.114 323.514 376.185 322.85 QUADTO
-376.255 322.186 376.255 321.295 QUADTO
-376.255 320.389 376.185 319.725 QUADTO
-376.114 319.061 375.942 318.623 QUADTO
-375.77 318.186 375.458 317.951 QUADTO
-375.145 317.717 374.661 317.717 QUADTO
-374.177 317.717 373.856 317.951 QUADTO
-373.536 318.186 373.364 318.639 QUADTO
-373.192 319.092 373.122 319.771 QUADTO
-373.052 320.451 373.052 321.295 QUADTO
-373.052 322.217 373.106 322.834 QUADTO
-373.161 323.451 373.349 323.936 QUADTO
-373.52 324.389 373.833 324.631 QUADTO
-374.145 324.873 374.661 324.873 QUADTO
-375.145 324.873 375.458 324.639 QUADTO
-375.77 324.404 375.942 323.951 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-359.737 311.648 M
-359.737 309.648 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-210.007 345.296 M
-208.538 345.296 207.874 344.694 QUADTO
-207.21 344.093 207.21 342.718 QUADTO
-207.21 339.124 lineto
-206.288 339.124 lineto
-206.288 337.468 lineto
-207.21 337.468 lineto
-207.21 335.265 lineto
-209.601 335.265 lineto
-209.601 337.468 lineto
-211.897 337.468 lineto
-211.897 339.124 lineto
-209.601 339.124 lineto
-209.601 341.858 lineto
-209.601 342.249 209.608 342.554 QUADTO
-209.616 342.858 209.71 343.093 QUADTO
-209.819 343.327 210.062 343.468 QUADTO
-210.304 343.608 210.757 343.608 QUADTO
-210.96 343.608 211.265 343.53 QUADTO
-211.569 343.452 211.694 343.39 QUADTO
-211.897 343.39 lineto
-211.897 345.077 lineto
-211.507 345.171 211.069 345.233 QUADTO
-210.632 345.296 210.007 345.296 QUADTO
-closepath
-215.277 345.14 M
-212.887 345.14 lineto
-212.887 337.468 lineto
-215.277 337.468 lineto
-215.277 345.14 lineto
-closepath
-215.34 336.374 M
-212.809 336.374 lineto
-212.809 334.499 lineto
-215.34 334.499 lineto
-215.34 336.374 lineto
-closepath
-226.283 345.14 M
-226.283 341.312 lineto
-226.283 340.733 226.26 340.343 QUADTO
-226.236 339.952 226.143 339.718 QUADTO
-226.033 339.468 225.814 339.351 QUADTO
-225.596 339.233 225.221 339.233 QUADTO
-224.939 339.233 224.674 339.358 QUADTO
-224.408 339.483 224.096 339.702 QUADTO
-224.096 345.14 lineto
-221.689 345.14 lineto
-221.689 341.312 lineto
-221.689 340.749 221.666 340.351 QUADTO
-221.643 339.952 221.533 339.718 QUADTO
-221.439 339.468 221.221 339.351 QUADTO
-221.002 339.233 220.627 339.233 QUADTO
-220.33 339.233 220.049 339.374 QUADTO
-219.768 339.515 219.502 339.702 QUADTO
-219.502 345.14 lineto
-217.111 345.14 lineto
-217.111 337.468 lineto
-219.502 337.468 lineto
-219.502 338.312 lineto
-220.08 337.812 220.604 337.53 QUADTO
-221.127 337.249 221.768 337.249 QUADTO
-222.486 337.249 223.018 337.585 QUADTO
-223.549 337.921 223.83 338.577 QUADTO
-224.518 337.937 225.127 337.593 QUADTO
-225.736 337.249 226.361 337.249 QUADTO
-226.908 337.249 227.33 337.421 QUADTO
-227.752 337.593 228.049 337.937 QUADTO
-228.361 338.296 228.525 338.812 QUADTO
-228.689 339.327 228.689 340.14 QUADTO
-228.689 345.14 lineto
-226.283 345.14 lineto
-closepath
-234.384 345.343 M
-232.212 345.343 231.056 344.304 QUADTO
-229.899 343.265 229.899 341.343 QUADTO
-229.899 339.468 230.978 338.343 QUADTO
-232.056 337.218 233.993 337.218 QUADTO
-235.759 337.218 236.649 338.171 QUADTO
-237.54 339.124 237.54 340.89 QUADTO
-237.54 341.749 lineto
-232.29 341.749 lineto
-232.337 342.296 232.524 342.647 QUADTO
-232.712 342.999 233.024 343.218 QUADTO
-233.337 343.437 233.743 343.522 QUADTO
-234.149 343.608 234.634 343.608 QUADTO
-235.056 343.608 235.462 343.522 QUADTO
-235.868 343.437 236.196 343.28 QUADTO
-236.493 343.155 236.743 342.999 QUADTO
-236.993 342.843 237.149 342.733 QUADTO
-237.399 342.733 lineto
-237.399 344.702 lineto
-237.103 344.827 236.86 344.929 QUADTO
-236.618 345.03 236.196 345.124 QUADTO
-235.806 345.233 235.392 345.288 QUADTO
-234.978 345.343 234.384 345.343 QUADTO
-closepath
-235.181 340.312 M
-235.165 339.562 234.829 339.163 QUADTO
-234.493 338.765 233.806 338.765 QUADTO
-233.118 338.765 232.728 339.179 QUADTO
-232.337 339.593 232.29 340.312 QUADTO
-235.181 340.312 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-52 34.141 M
-52 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.512 306.053 M
-45.512 308.396 44.832 309.498 QUADTO
-44.152 310.6 42.73 310.6 QUADTO
-41.277 310.6 40.605 309.475 QUADTO
-39.934 308.35 39.934 306.053 QUADTO
-39.934 303.693 40.621 302.6 QUADTO
-41.309 301.506 42.73 301.506 QUADTO
-44.168 301.506 44.84 302.639 QUADTO
-45.512 303.771 45.512 306.053 QUADTO
-closepath
-44.012 308.709 M
-44.184 308.271 44.254 307.607 QUADTO
-44.324 306.943 44.324 306.053 QUADTO
-44.324 305.146 44.254 304.482 QUADTO
-44.184 303.818 44.012 303.381 QUADTO
-43.84 302.943 43.527 302.709 QUADTO
-43.215 302.475 42.73 302.475 QUADTO
-42.246 302.475 41.926 302.709 QUADTO
-41.605 302.943 41.434 303.396 QUADTO
-41.262 303.85 41.191 304.529 QUADTO
-41.121 305.209 41.121 306.053 QUADTO
-41.121 306.975 41.176 307.592 QUADTO
-41.23 308.209 41.418 308.693 QUADTO
-41.59 309.146 41.902 309.389 QUADTO
-42.215 309.631 42.73 309.631 QUADTO
-43.215 309.631 43.527 309.396 QUADTO
-43.84 309.162 44.012 308.709 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-50 305.648 M
-52 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.027 288.864 M
-40.777 288.864 lineto
-40.777 287.973 lineto
-42.355 287.973 lineto
-42.355 282.129 lineto
-40.777 282.129 lineto
-40.777 281.333 lineto
-41.668 281.333 42.098 281.075 QUADTO
-42.527 280.817 42.574 280.114 QUADTO
-43.48 280.114 lineto
-43.48 287.973 lineto
-45.027 287.973 lineto
-45.027 288.864 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-50 284.1 M
-52 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.48 267.316 M
-40.09 267.316 lineto
-40.09 266.097 lineto
-40.668 265.534 41.184 265.034 QUADTO
-41.699 264.534 42.199 263.988 QUADTO
-43.184 262.894 43.551 262.23 QUADTO
-43.918 261.566 43.918 260.863 QUADTO
-43.918 260.503 43.801 260.23 QUADTO
-43.684 259.956 43.48 259.769 QUADTO
-43.277 259.597 43.012 259.511 QUADTO
-42.746 259.425 42.418 259.425 QUADTO
-42.105 259.425 41.785 259.503 QUADTO
-41.465 259.581 41.184 259.691 QUADTO
-40.934 259.8 40.707 259.941 QUADTO
-40.48 260.081 40.34 260.175 QUADTO
-40.277 260.175 lineto
-40.277 258.941 lineto
-40.637 258.753 41.285 258.581 QUADTO
-41.934 258.409 42.512 258.409 QUADTO
-43.73 258.409 44.418 259.058 QUADTO
-45.105 259.706 45.105 260.816 QUADTO
-45.105 261.316 44.988 261.753 QUADTO
-44.871 262.191 44.652 262.55 QUADTO
-44.449 262.941 44.145 263.316 QUADTO
-43.84 263.691 43.496 264.05 QUADTO
-42.949 264.644 42.27 265.292 QUADTO
-41.59 265.941 41.184 266.316 QUADTO
-45.48 266.316 lineto
-45.48 267.316 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-50 262.552 M
-52 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-42.449 237.877 M
-42.121 237.877 41.809 237.955 QUADTO
-41.496 238.033 41.184 238.142 QUADTO
-40.902 238.267 40.699 238.392 QUADTO
-40.496 238.517 40.324 238.642 QUADTO
-40.262 238.642 lineto
-40.262 237.392 lineto
-40.637 237.189 41.293 237.025 QUADTO
-41.949 236.861 42.543 236.861 QUADTO
-43.137 236.861 43.574 236.978 QUADTO
-44.012 237.096 44.371 237.346 QUADTO
-44.762 237.627 44.957 238.025 QUADTO
-45.152 238.424 45.152 238.971 QUADTO
-45.152 239.689 44.676 240.228 QUADTO
-44.199 240.767 43.543 240.924 QUADTO
-43.543 241.002 lineto
-43.809 241.049 44.129 241.181 QUADTO
-44.449 241.314 44.715 241.564 QUADTO
-44.98 241.814 45.152 242.213 QUADTO
-45.324 242.611 45.324 243.174 QUADTO
-45.324 243.767 45.121 244.26 QUADTO
-44.918 244.752 44.543 245.142 QUADTO
-44.168 245.533 43.629 245.744 QUADTO
-43.09 245.955 42.402 245.955 QUADTO
-41.746 245.955 41.105 245.791 QUADTO
-40.465 245.627 40.012 245.408 QUADTO
-40.012 244.174 lineto
-40.105 244.174 lineto
-40.465 244.439 41.09 244.689 QUADTO
-41.715 244.939 42.34 244.939 QUADTO
-42.684 244.939 43.051 244.822 QUADTO
-43.418 244.705 43.652 244.455 QUADTO
-43.887 244.189 44.012 243.877 QUADTO
-44.137 243.564 44.137 243.096 QUADTO
-44.137 242.627 43.996 242.322 QUADTO
-43.855 242.017 43.605 241.83 QUADTO
-43.371 241.658 43.027 241.588 QUADTO
-42.684 241.517 42.293 241.517 QUADTO
-41.793 241.517 lineto
-41.793 240.549 lineto
-42.184 240.549 lineto
-42.98 240.549 43.473 240.174 QUADTO
-43.965 239.799 43.965 239.08 QUADTO
-43.965 238.752 43.84 238.517 QUADTO
-43.715 238.283 43.512 238.142 QUADTO
-43.293 237.986 43.02 237.931 QUADTO
-42.746 237.877 42.449 237.877 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-50 241.004 M
-52 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.699 221.219 M
-44.668 221.219 lineto
-44.668 224.219 lineto
-43.543 224.219 lineto
-43.543 221.219 lineto
-39.684 221.219 lineto
-39.684 219.985 lineto
-43.59 215.5 lineto
-44.668 215.5 lineto
-44.668 220.282 lineto
-45.699 220.282 lineto
-45.699 221.219 lineto
-closepath
-43.543 220.282 M
-43.543 216.875 lineto
-40.605 220.282 lineto
-43.543 220.282 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-50 219.455 M
-52 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.371 199.89 M
-45.371 200.53 45.168 201.069 QUADTO
-44.965 201.608 44.605 201.999 QUADTO
-44.23 202.39 43.684 202.624 QUADTO
-43.137 202.858 42.465 202.858 QUADTO
-41.84 202.858 41.23 202.718 QUADTO
-40.621 202.577 40.184 202.358 QUADTO
-40.184 201.124 lineto
-40.262 201.124 lineto
-40.387 201.218 40.645 201.343 QUADTO
-40.902 201.468 41.199 201.577 QUADTO
-41.543 201.702 41.832 201.772 QUADTO
-42.121 201.843 42.48 201.843 QUADTO
-42.824 201.843 43.16 201.718 QUADTO
-43.496 201.593 43.746 201.312 QUADTO
-43.949 201.046 44.066 200.702 QUADTO
-44.184 200.358 44.184 199.89 QUADTO
-44.184 199.421 44.059 199.124 QUADTO
-43.934 198.827 43.699 198.64 QUADTO
-43.434 198.405 43.074 198.319 QUADTO
-42.715 198.233 42.262 198.233 QUADTO
-41.777 198.233 41.301 198.304 QUADTO
-40.824 198.374 40.527 198.437 QUADTO
-40.527 193.952 lineto
-45.324 193.952 lineto
-45.324 194.968 lineto
-41.668 194.968 lineto
-41.668 197.296 lineto
-41.871 197.265 42.082 197.257 QUADTO
-42.293 197.249 42.449 197.249 QUADTO
-43.121 197.249 43.582 197.358 QUADTO
-44.043 197.468 44.48 197.796 QUADTO
-44.918 198.124 45.145 198.616 QUADTO
-45.371 199.108 45.371 199.89 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-50 197.907 M
-52 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.605 178.295 M
-45.605 178.966 45.387 179.537 QUADTO
-45.168 180.107 44.793 180.482 QUADTO
-44.402 180.888 43.91 181.099 QUADTO
-43.418 181.31 42.84 181.31 QUADTO
-42.246 181.31 41.762 181.107 QUADTO
-41.277 180.904 40.902 180.513 QUADTO
-40.465 180.045 40.207 179.248 QUADTO
-39.949 178.451 39.949 177.295 QUADTO
-39.949 176.154 40.184 175.24 QUADTO
-40.418 174.326 40.902 173.638 QUADTO
-41.371 172.982 42.121 172.607 QUADTO
-42.871 172.232 43.855 172.232 QUADTO
-44.152 172.232 44.402 172.263 QUADTO
-44.652 172.295 44.855 172.357 QUADTO
-44.855 173.482 lineto
-44.793 173.482 lineto
-44.637 173.388 44.34 173.318 QUADTO
-44.043 173.248 43.699 173.248 QUADTO
-42.621 173.248 41.949 173.982 QUADTO
-41.277 174.716 41.152 176.154 QUADTO
-41.559 175.873 42.004 175.709 QUADTO
-42.449 175.545 42.965 175.545 QUADTO
-43.48 175.545 43.863 175.646 QUADTO
-44.246 175.748 44.652 176.06 QUADTO
-45.137 176.435 45.371 176.99 QUADTO
-45.605 177.545 45.605 178.295 QUADTO
-closepath
-44.418 178.341 M
-44.418 177.795 44.277 177.435 QUADTO
-44.137 177.076 43.824 176.81 QUADTO
-43.59 176.623 43.301 176.568 QUADTO
-43.012 176.513 42.715 176.513 QUADTO
-42.293 176.513 41.91 176.638 QUADTO
-41.527 176.763 41.152 176.998 QUADTO
-41.137 177.123 41.129 177.24 QUADTO
-41.121 177.357 41.121 177.545 QUADTO
-41.121 178.451 41.301 179.005 QUADTO
-41.48 179.56 41.746 179.857 QUADTO
-41.996 180.123 42.262 180.232 QUADTO
-42.527 180.341 42.84 180.341 QUADTO
-43.543 180.341 43.98 179.841 QUADTO
-44.418 179.341 44.418 178.341 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-50 176.359 M
-52 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-45.574 152.153 M
-41.793 159.574 lineto
-40.543 159.574 lineto
-44.543 151.871 lineto
-40.027 151.871 lineto
-40.027 150.856 lineto
-45.574 150.856 lineto
-45.574 152.153 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-50 154.811 M
-52 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-44.199 131.339 M
-44.199 130.745 43.809 130.354 QUADTO
-43.418 129.964 42.715 129.964 QUADTO
-42.074 129.964 41.668 130.315 QUADTO
-41.262 130.667 41.262 131.261 QUADTO
-41.262 131.698 41.473 131.995 QUADTO
-41.684 132.292 42.105 132.542 QUADTO
-42.277 132.636 42.652 132.807 QUADTO
-43.027 132.979 43.324 133.089 QUADTO
-43.84 132.698 44.02 132.284 QUADTO
-44.199 131.87 44.199 131.339 QUADTO
-closepath
-44.371 135.698 M
-44.371 135.167 44.16 134.847 QUADTO
-43.949 134.526 43.34 134.198 QUADTO
-43.137 134.089 42.809 133.964 QUADTO
-42.48 133.839 42.059 133.667 QUADTO
-41.574 133.979 41.316 134.456 QUADTO
-41.059 134.932 41.059 135.526 QUADTO
-41.059 136.323 41.535 136.839 QUADTO
-42.012 137.354 42.73 137.354 QUADTO
-43.48 137.354 43.926 136.909 QUADTO
-44.371 136.464 44.371 135.698 QUADTO
-closepath
-42.73 138.229 M
-42.074 138.229 41.543 138.034 QUADTO
-41.012 137.839 40.637 137.479 QUADTO
-40.262 137.12 40.074 136.636 QUADTO
-39.887 136.151 39.887 135.62 QUADTO
-39.887 134.901 40.262 134.307 QUADTO
-40.637 133.714 41.355 133.37 QUADTO
-41.355 133.339 lineto
-40.715 132.964 40.402 132.518 QUADTO
-40.09 132.073 40.09 131.401 QUADTO
-40.09 130.417 40.84 129.761 QUADTO
-41.59 129.104 42.73 129.104 QUADTO
-43.918 129.104 44.637 129.729 QUADTO
-45.355 130.354 45.355 131.323 QUADTO
-45.355 131.901 45.012 132.479 QUADTO
-44.668 133.057 44.027 133.386 QUADTO
-44.027 133.417 lineto
-44.777 133.776 45.176 134.284 QUADTO
-45.574 134.792 45.574 135.589 QUADTO
-45.574 136.714 44.762 137.472 QUADTO
-43.949 138.229 42.73 138.229 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-50 133.263 M
-52 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-44.324 111.337 M
-44.324 110.447 44.16 109.884 QUADTO
-43.996 109.322 43.715 109.025 QUADTO
-43.449 108.744 43.184 108.634 QUADTO
-42.918 108.525 42.605 108.525 QUADTO
-41.887 108.525 41.457 109.04 QUADTO
-41.027 109.556 41.027 110.54 QUADTO
-41.027 111.087 41.168 111.447 QUADTO
-41.309 111.806 41.637 112.072 QUADTO
-41.855 112.244 42.137 112.306 QUADTO
-42.418 112.369 42.73 112.369 QUADTO
-43.105 112.369 43.543 112.236 QUADTO
-43.98 112.103 44.309 111.884 QUADTO
-44.309 111.806 44.316 111.658 QUADTO
-44.324 111.509 44.324 111.337 QUADTO
-closepath
-39.84 110.587 M
-39.84 109.915 40.059 109.361 QUADTO
-40.277 108.806 40.668 108.4 QUADTO
-41.027 108.009 41.551 107.79 QUADTO
-42.074 107.572 42.621 107.572 QUADTO
-43.215 107.572 43.707 107.775 QUADTO
-44.199 107.978 44.559 108.369 QUADTO
-45.012 108.837 45.254 109.619 QUADTO
-45.496 110.4 45.496 111.587 QUADTO
-45.496 112.681 45.254 113.65 QUADTO
-45.012 114.619 44.543 115.259 QUADTO
-44.043 115.931 43.332 116.29 QUADTO
-42.621 116.65 41.59 116.65 QUADTO
-41.355 116.65 41.09 116.626 QUADTO
-40.824 116.603 40.605 116.525 QUADTO
-40.605 115.4 lineto
-40.652 115.4 lineto
-40.809 115.494 41.113 115.564 QUADTO
-41.418 115.634 41.746 115.634 QUADTO
-42.902 115.634 43.559 114.884 QUADTO
-44.215 114.134 44.293 112.728 QUADTO
-43.824 113.04 43.402 113.189 QUADTO
-42.98 113.337 42.48 113.337 QUADTO
-41.996 113.337 41.598 113.228 QUADTO
-41.199 113.119 40.793 112.822 QUADTO
-40.324 112.462 40.082 111.915 QUADTO
-39.84 111.369 39.84 110.587 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-50 111.714 M
-52 111.714 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-38.477 94.93 M
-34.227 94.93 lineto
-34.227 94.039 lineto
-35.805 94.039 lineto
-35.805 88.195 lineto
-34.227 88.195 lineto
-34.227 87.398 lineto
-35.117 87.398 35.547 87.141 QUADTO
-35.977 86.883 36.023 86.18 QUADTO
-36.93 86.18 lineto
-36.93 94.039 lineto
-38.477 94.039 lineto
-38.477 94.93 lineto
-closepath
-45.512 90.57 M
-45.512 92.914 44.832 94.016 QUADTO
-44.152 95.117 42.73 95.117 QUADTO
-41.277 95.117 40.605 93.992 QUADTO
-39.934 92.867 39.934 90.57 QUADTO
-39.934 88.211 40.621 87.117 QUADTO
-41.309 86.023 42.73 86.023 QUADTO
-44.168 86.023 44.84 87.156 QUADTO
-45.512 88.289 45.512 90.57 QUADTO
-closepath
-44.012 93.227 M
-44.184 92.789 44.254 92.125 QUADTO
-44.324 91.461 44.324 90.57 QUADTO
-44.324 89.664 44.254 89 QUADTO
-44.184 88.336 44.012 87.898 QUADTO
-43.84 87.461 43.527 87.227 QUADTO
-43.215 86.992 42.73 86.992 QUADTO
-42.246 86.992 41.926 87.227 QUADTO
-41.605 87.461 41.434 87.914 QUADTO
-41.262 88.367 41.191 89.047 QUADTO
-41.121 89.727 41.121 90.57 QUADTO
-41.121 91.492 41.176 92.109 QUADTO
-41.23 92.727 41.418 93.211 QUADTO
-41.59 93.664 41.902 93.906 QUADTO
-42.215 94.148 42.73 94.148 QUADTO
-43.215 94.148 43.527 93.914 QUADTO
-43.84 93.68 44.012 93.227 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-50 90.166 M
-52 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-38.477 73.381 M
-34.227 73.381 lineto
-34.227 72.491 lineto
-35.805 72.491 lineto
-35.805 66.647 lineto
-34.227 66.647 lineto
-34.227 65.85 lineto
-35.117 65.85 35.547 65.592 QUADTO
-35.977 65.335 36.023 64.631 QUADTO
-36.93 64.631 lineto
-36.93 72.491 lineto
-38.477 72.491 lineto
-38.477 73.381 lineto
-closepath
-45.027 73.381 M
-40.777 73.381 lineto
-40.777 72.491 lineto
-42.355 72.491 lineto
-42.355 66.647 lineto
-40.777 66.647 lineto
-40.777 65.85 lineto
-41.668 65.85 42.098 65.592 QUADTO
-42.527 65.335 42.574 64.631 QUADTO
-43.48 64.631 lineto
-43.48 72.491 lineto
-45.027 72.491 lineto
-45.027 73.381 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-50 68.618 M
-52 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-38.477 51.833 M
-34.227 51.833 lineto
-34.227 50.943 lineto
-35.805 50.943 lineto
-35.805 45.099 lineto
-34.227 45.099 lineto
-34.227 44.302 lineto
-35.117 44.302 35.547 44.044 QUADTO
-35.977 43.786 36.023 43.083 QUADTO
-36.93 43.083 lineto
-36.93 50.943 lineto
-38.477 50.943 lineto
-38.477 51.833 lineto
-closepath
-45.48 51.833 M
-40.09 51.833 lineto
-40.09 50.614 lineto
-40.668 50.052 41.184 49.552 QUADTO
-41.699 49.052 42.199 48.505 QUADTO
-43.184 47.411 43.551 46.747 QUADTO
-43.918 46.083 43.918 45.38 QUADTO
-43.918 45.021 43.801 44.747 QUADTO
-43.684 44.474 43.48 44.286 QUADTO
-43.277 44.114 43.012 44.029 QUADTO
-42.746 43.943 42.418 43.943 QUADTO
-42.105 43.943 41.785 44.021 QUADTO
-41.465 44.099 41.184 44.208 QUADTO
-40.934 44.318 40.707 44.458 QUADTO
-40.48 44.599 40.34 44.693 QUADTO
-40.277 44.693 lineto
-40.277 43.458 lineto
-40.637 43.271 41.285 43.099 QUADTO
-41.934 42.927 42.512 42.927 QUADTO
-43.73 42.927 44.418 43.575 QUADTO
-45.105 44.224 45.105 45.333 QUADTO
-45.105 45.833 44.988 46.271 QUADTO
-44.871 46.708 44.652 47.068 QUADTO
-44.449 47.458 44.145 47.833 QUADTO
-43.84 48.208 43.496 48.568 QUADTO
-42.949 49.161 42.27 49.81 QUADTO
-41.59 50.458 41.184 50.833 QUADTO
-45.48 50.833 lineto
-45.48 51.833 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-50 47.07 M
-52 47.07 lineto
-stroke
-grestore
-gsave
-[0 -1 1 0 -150.44531 189.34375] concat
-newpath
-189.344 150.445 M
-189.344 550.445 lineto
--210.656 550.445 lineto
--210.656 150.445 lineto
-189.344 150.445 lineto
-closepath
-clip
-0.251 setgray
-newpath
--27.543 175.655 M
--28.496 175.655 -29.285 175.413 QUADTO
--30.074 175.171 -30.652 174.687 QUADTO
--31.23 174.187 -31.551 173.429 QUADTO
--31.871 172.671 -31.871 171.64 QUADTO
--31.871 170.546 -31.527 169.772 QUADTO
--31.184 168.999 -30.59 168.499 QUADTO
--30.012 168.015 -29.23 167.788 QUADTO
--28.449 167.562 -27.621 167.562 QUADTO
--26.98 167.562 -26.348 167.71 QUADTO
--25.715 167.858 -25.059 168.171 QUADTO
--25.059 170.233 lineto
--25.371 170.233 lineto
--25.512 170.093 -25.723 169.929 QUADTO
--25.934 169.765 -26.184 169.624 QUADTO
--26.434 169.483 -26.762 169.382 QUADTO
--27.09 169.28 -27.496 169.28 QUADTO
--28.418 169.28 -28.918 169.921 QUADTO
--29.418 170.562 -29.418 171.64 QUADTO
--29.418 172.796 -28.879 173.366 QUADTO
--28.34 173.937 -27.465 173.937 QUADTO
--27.012 173.937 -26.668 173.835 QUADTO
--26.324 173.733 -26.074 173.593 QUADTO
--25.84 173.437 -25.668 173.288 QUADTO
--25.496 173.14 -25.371 173.015 QUADTO
--25.059 173.015 lineto
--25.059 175.062 lineto
--25.277 175.155 -25.543 175.272 QUADTO
--25.809 175.39 -26.09 175.452 QUADTO
--26.434 175.562 -26.738 175.608 QUADTO
--27.043 175.655 -27.543 175.655 QUADTO
-closepath
--16.566 171.624 M
--16.566 173.515 -17.598 174.601 QUADTO
--18.629 175.687 -20.52 175.687 QUADTO
--22.41 175.687 -23.449 174.601 QUADTO
--24.488 173.515 -24.488 171.624 QUADTO
--24.488 169.702 -23.449 168.616 QUADTO
--22.41 167.53 -20.52 167.53 QUADTO
--18.645 167.53 -17.605 168.624 QUADTO
--16.566 169.718 -16.566 171.624 QUADTO
-closepath
--19.02 171.624 M
--19.02 170.952 -19.129 170.491 QUADTO
--19.238 170.03 -19.441 169.765 QUADTO
--19.645 169.483 -19.918 169.366 QUADTO
--20.191 169.249 -20.52 169.249 QUADTO
--20.848 169.249 -21.105 169.351 QUADTO
--21.363 169.452 -21.582 169.733 QUADTO
--21.785 169.999 -21.91 170.46 QUADTO
--22.035 170.921 -22.035 171.624 QUADTO
--22.035 172.327 -21.918 172.765 QUADTO
--21.801 173.202 -21.613 173.468 QUADTO
--21.426 173.733 -21.137 173.851 QUADTO
--20.848 173.968 -20.504 173.968 QUADTO
--20.223 173.968 -19.926 173.851 QUADTO
--19.629 173.733 -19.441 173.483 QUADTO
--19.238 173.187 -19.129 172.772 QUADTO
--19.02 172.358 -19.02 171.624 QUADTO
-closepath
--7.77 171.515 M
--7.77 173.343 -8.699 174.476 QUADTO
--9.629 175.608 -11.004 175.608 QUADTO
--11.566 175.608 -11.996 175.476 QUADTO
--12.426 175.343 -12.895 175.062 QUADTO
--12.895 178.265 lineto
--15.285 178.265 lineto
--15.285 167.78 lineto
--12.895 167.78 lineto
--12.895 168.577 lineto
--12.379 168.124 -11.832 167.843 QUADTO
--11.285 167.562 -10.566 167.562 QUADTO
--9.223 167.562 -8.496 168.624 QUADTO
--7.77 169.687 -7.77 171.515 QUADTO
-closepath
--10.207 171.562 M
--10.207 170.437 -10.551 169.929 QUADTO
--10.895 169.421 -11.629 169.421 QUADTO
--11.957 169.421 -12.277 169.522 QUADTO
--12.598 169.624 -12.895 169.827 QUADTO
--12.895 173.702 lineto
--12.707 173.78 -12.48 173.812 QUADTO
--12.254 173.843 -11.941 173.843 QUADTO
--11.066 173.843 -10.637 173.272 QUADTO
--10.207 172.702 -10.207 171.562 QUADTO
-closepath
--4.083 175.452 M
--6.474 175.452 lineto
--6.474 167.78 lineto
--4.083 167.78 lineto
--4.083 175.452 lineto
-closepath
--4.021 166.687 M
--6.552 166.687 lineto
--6.552 164.812 lineto
--4.021 164.812 lineto
--4.021 166.687 lineto
-closepath
-1.673 175.655 M
--0.499 175.655 -1.655 174.616 QUADTO
--2.812 173.577 -2.812 171.655 QUADTO
--2.812 169.78 -1.733 168.655 QUADTO
--0.655 167.53 1.282 167.53 QUADTO
-3.048 167.53 3.938 168.483 QUADTO
-4.829 169.437 4.829 171.202 QUADTO
-4.829 172.062 lineto
--0.421 172.062 lineto
--0.374 172.608 -0.187 172.96 QUADTO
-0.001 173.312 0.313 173.53 QUADTO
-0.626 173.749 1.032 173.835 QUADTO
-1.438 173.921 1.923 173.921 QUADTO
-2.345 173.921 2.751 173.835 QUADTO
-3.157 173.749 3.485 173.593 QUADTO
-3.782 173.468 4.032 173.312 QUADTO
-4.282 173.155 4.438 173.046 QUADTO
-4.688 173.046 lineto
-4.688 175.015 lineto
-4.392 175.14 4.149 175.241 QUADTO
-3.907 175.343 3.485 175.437 QUADTO
-3.095 175.546 2.681 175.601 QUADTO
-2.267 175.655 1.673 175.655 QUADTO
-closepath
-2.47 170.624 M
-2.454 169.874 2.118 169.476 QUADTO
-1.782 169.077 1.095 169.077 QUADTO
-0.407 169.077 0.017 169.491 QUADTO
--0.374 169.905 -0.421 170.624 QUADTO
-2.47 170.624 lineto
-closepath
-8.392 175.671 M
-7.548 175.671 6.79 175.483 QUADTO
-6.032 175.296 5.548 175.046 QUADTO
-5.548 173.03 lineto
-5.751 173.03 lineto
-5.907 173.155 6.126 173.312 QUADTO
-6.345 173.468 6.735 173.64 QUADTO
-7.079 173.796 7.501 173.913 QUADTO
-7.923 174.03 8.407 174.03 QUADTO
-8.923 174.03 9.306 173.866 QUADTO
-9.688 173.702 9.688 173.374 QUADTO
-9.688 173.093 9.509 172.96 QUADTO
-9.329 172.827 8.813 172.702 QUADTO
-8.548 172.64 8.134 172.562 QUADTO
-7.72 172.483 7.392 172.374 QUADTO
-6.485 172.093 6.032 171.546 QUADTO
-5.579 170.999 5.579 170.093 QUADTO
-5.579 169.593 5.813 169.132 QUADTO
-6.048 168.671 6.517 168.327 QUADTO
-6.97 167.968 7.642 167.765 QUADTO
-8.313 167.562 9.157 167.562 QUADTO
-9.97 167.562 10.649 167.726 QUADTO
-11.329 167.89 11.782 168.108 QUADTO
-11.782 170.046 lineto
-11.595 170.046 lineto
-11.47 169.952 11.204 169.796 QUADTO
-10.938 169.64 10.688 169.515 QUADTO
-10.392 169.374 10.017 169.288 QUADTO
-9.642 169.202 9.251 169.202 QUADTO
-8.735 169.202 8.376 169.382 QUADTO
-8.017 169.562 8.017 169.858 QUADTO
-8.017 170.108 8.196 170.265 QUADTO
-8.376 170.421 8.97 170.562 QUADTO
-9.267 170.64 9.665 170.71 QUADTO
-10.063 170.78 10.438 170.905 QUADTO
-11.267 171.171 11.696 171.687 QUADTO
-12.126 172.202 12.126 173.046 QUADTO
-12.126 173.593 11.868 174.085 QUADTO
-11.61 174.577 11.157 174.905 QUADTO
-10.657 175.265 9.993 175.468 QUADTO
-9.329 175.671 8.392 175.671 QUADTO
-closepath
-19.761 175.452 M
-17.37 175.452 lineto
-17.37 167.78 lineto
-19.761 167.78 lineto
-19.761 175.452 lineto
-closepath
-19.823 166.687 M
-17.292 166.687 lineto
-17.292 164.812 lineto
-19.823 164.812 lineto
-19.823 166.687 lineto
-closepath
-28.782 175.452 M
-26.376 175.452 lineto
-26.376 171.64 lineto
-26.376 171.187 26.337 170.718 QUADTO
-26.298 170.249 26.204 170.03 QUADTO
-26.079 169.78 25.845 169.663 QUADTO
-25.61 169.546 25.22 169.546 QUADTO
-24.923 169.546 24.626 169.655 QUADTO
-24.329 169.765 23.985 170.015 QUADTO
-23.985 175.452 lineto
-21.595 175.452 lineto
-21.595 167.78 lineto
-23.985 167.78 lineto
-23.985 168.624 lineto
-24.563 168.124 25.126 167.843 QUADTO
-25.688 167.562 26.36 167.562 QUADTO
-27.532 167.562 28.157 168.304 QUADTO
-28.782 169.046 28.782 170.452 QUADTO
-28.782 175.452 lineto
-closepath
-39.564 166.624 M
-39.377 166.624 lineto
-39.236 166.577 38.947 166.515 QUADTO
-38.658 166.452 38.393 166.452 QUADTO
-37.674 166.452 37.408 166.718 QUADTO
-37.143 166.983 37.143 167.718 QUADTO
-37.143 167.78 lineto
-39.049 167.78 lineto
-39.049 169.437 lineto
-37.236 169.437 lineto
-37.236 175.452 lineto
-34.83 175.452 lineto
-34.83 169.437 lineto
-33.877 169.437 lineto
-33.877 167.78 lineto
-34.83 167.78 lineto
-34.83 167.562 lineto
-34.83 166.155 35.572 165.452 QUADTO
-36.314 164.749 37.814 164.749 QUADTO
-38.33 164.749 38.783 164.788 QUADTO
-39.236 164.827 39.564 164.89 QUADTO
-39.564 166.624 lineto
-closepath
-42.401 175.452 M
-40.011 175.452 lineto
-40.011 164.812 lineto
-42.401 164.812 lineto
-42.401 175.452 lineto
-closepath
-46.626 175.452 M
-44.235 175.452 lineto
-44.235 167.78 lineto
-46.626 167.78 lineto
-46.626 175.452 lineto
-closepath
-46.688 166.687 M
-44.157 166.687 lineto
-44.157 164.812 lineto
-46.688 164.812 lineto
-46.688 166.687 lineto
-closepath
-53.038 173.03 M
-53.038 169.546 lineto
-52.866 169.468 52.608 169.413 QUADTO
-52.351 169.358 52.085 169.358 QUADTO
-51.226 169.358 50.788 169.913 QUADTO
-50.351 170.468 50.351 171.468 QUADTO
-50.351 171.968 50.421 172.312 QUADTO
-50.491 172.655 50.663 172.937 QUADTO
-50.835 173.187 51.108 173.319 QUADTO
-51.382 173.452 51.819 173.452 QUADTO
-52.132 173.452 52.444 173.343 QUADTO
-52.757 173.233 53.038 173.03 QUADTO
-closepath
-55.429 174.577 M
-55.429 175.64 55.124 176.382 QUADTO
-54.819 177.124 54.288 177.546 QUADTO
-53.757 177.968 53.007 178.155 QUADTO
-52.257 178.343 51.351 178.343 QUADTO
-50.585 178.343 49.897 178.241 QUADTO
-49.21 178.14 48.71 178.015 QUADTO
-48.71 176.093 lineto
-48.991 176.093 lineto
-49.163 176.171 49.405 176.249 QUADTO
-49.647 176.327 49.897 176.39 QUADTO
-50.194 176.468 50.476 176.515 QUADTO
-50.757 176.562 51.038 176.562 QUADTO
-51.647 176.562 52.054 176.437 QUADTO
-52.46 176.312 52.679 176.077 QUADTO
-52.882 175.843 52.96 175.515 QUADTO
-53.038 175.187 53.038 174.702 QUADTO
-53.038 174.562 lineto
-52.632 174.905 52.108 175.124 QUADTO
-51.585 175.343 51.022 175.343 QUADTO
-49.522 175.343 48.718 174.374 QUADTO
-47.913 173.405 47.913 171.421 QUADTO
-47.913 170.515 48.163 169.796 QUADTO
-48.413 169.077 48.851 168.577 QUADTO
-49.272 168.093 49.874 167.827 QUADTO
-50.476 167.562 51.132 167.562 QUADTO
-51.71 167.562 52.179 167.71 QUADTO
-52.647 167.858 53.022 168.124 QUADTO
-53.116 167.78 lineto
-55.429 167.78 lineto
-55.429 174.577 lineto
-closepath
-64.459 175.452 M
-62.053 175.452 lineto
-62.053 171.64 lineto
-62.053 171.187 62.014 170.718 QUADTO
-61.975 170.249 61.881 170.03 QUADTO
-61.756 169.78 61.521 169.663 QUADTO
-61.287 169.546 60.896 169.546 QUADTO
-60.6 169.546 60.303 169.655 QUADTO
-60.006 169.765 59.662 170.015 QUADTO
-59.662 175.452 lineto
-57.271 175.452 lineto
-57.271 164.812 lineto
-59.662 164.812 lineto
-59.662 168.624 lineto
-60.24 168.124 60.803 167.843 QUADTO
-61.365 167.562 62.037 167.562 QUADTO
-63.209 167.562 63.834 168.304 QUADTO
-64.459 169.046 64.459 170.452 QUADTO
-64.459 175.452 lineto
-closepath
-69.171 175.608 M
-67.702 175.608 67.038 175.007 QUADTO
-66.374 174.405 66.374 173.03 QUADTO
-66.374 169.437 lineto
-65.452 169.437 lineto
-65.452 167.78 lineto
-66.374 167.78 lineto
-66.374 165.577 lineto
-68.765 165.577 lineto
-68.765 167.78 lineto
-71.062 167.78 lineto
-71.062 169.437 lineto
-68.765 169.437 lineto
-68.765 172.171 lineto
-68.765 172.562 68.772 172.866 QUADTO
-68.78 173.171 68.874 173.405 QUADTO
-68.983 173.64 69.226 173.78 QUADTO
-69.468 173.921 69.921 173.921 QUADTO
-70.124 173.921 70.429 173.843 QUADTO
-70.733 173.765 70.858 173.702 QUADTO
-71.062 173.702 lineto
-71.062 175.39 lineto
-70.671 175.483 70.233 175.546 QUADTO
-69.796 175.608 69.171 175.608 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-56 34.141 M
-56 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-131.934 34.141 M
-131.934 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-207.869 34.141 M
-207.869 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-283.803 34.141 M
-283.803 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-359.737 34.141 M
-359.737 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-56 305.648 M
-388 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-56 284.1 M
-388 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-56 262.552 M
-388 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-56 241.004 M
-388 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-56 219.455 M
-388 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-56 197.907 M
-388 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-56 176.359 M
-388 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-56 154.811 M
-388 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-56 133.263 M
-388 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-56 111.714 M
-388 111.714 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-56 90.166 M
-388 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-56 68.618 M
-388 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-56 47.07 M
-388 47.07 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-56 305.648 M
-56.304 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-56.304 305.648 M
-56.607 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-56.607 305.648 M
-56.911 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-56.911 305.648 M
-57.215 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-57.215 305.648 M
-57.519 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-57.519 305.648 M
-57.822 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-57.822 305.648 M
-58.126 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-58.126 305.648 M
-58.43 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-58.43 305.648 M
-58.734 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-58.734 305.648 M
-59.037 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-59.037 305.648 M
-59.341 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-59.341 305.648 M
-59.645 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-59.645 305.648 M
-59.949 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-59.949 305.648 M
-60.252 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-60.252 305.648 M
-60.556 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-60.556 305.648 M
-60.86 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-60.86 305.648 M
-61.164 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-61.164 305.648 M
-61.467 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-61.467 305.648 M
-61.771 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-61.771 305.648 M
-62.075 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-62.075 305.648 M
-62.378 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-62.378 305.648 M
-62.682 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-62.682 305.648 M
-62.986 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-62.986 305.648 M
-63.29 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-63.29 305.648 M
-63.593 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-63.593 305.648 M
-63.897 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-63.897 305.648 M
-64.201 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-64.201 305.648 M
-64.505 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-64.505 262.552 M
-64.808 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-64.808 262.552 M
-65.112 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-65.112 241.004 M
-65.416 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-65.416 241.004 M
-65.72 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-65.72 241.004 M
-66.023 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-66.023 241.004 M
-66.327 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-66.327 241.004 M
-66.631 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-66.631 241.004 M
-66.935 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-66.935 176.359 M
-67.238 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-67.238 176.359 M
-67.542 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-67.542 176.359 M
-67.846 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-67.846 176.359 M
-68.149 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-68.149 176.359 M
-68.453 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-68.453 176.359 M
-68.757 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-68.757 176.359 M
-69.061 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.061 154.811 M
-69.364 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.364 154.811 M
-69.668 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.668 154.811 M
-69.972 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.972 154.811 M
-70.276 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-70.276 154.811 M
-70.579 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-70.579 154.811 M
-70.883 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-70.883 154.811 M
-71.187 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-71.187 154.811 M
-71.491 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-71.491 154.811 M
-71.794 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-71.794 154.811 M
-72.098 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-72.098 154.811 M
-72.402 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-72.402 154.811 M
-72.706 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-72.706 154.811 M
-73.009 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-73.009 154.811 M
-73.313 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-73.313 154.811 M
-73.617 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-73.617 154.811 M
-73.92 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-73.92 90.166 M
-74.224 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-74.224 90.166 M
-74.528 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-74.528 90.166 M
-74.832 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-74.832 90.166 M
-75.135 111.714 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-75.135 111.714 M
-75.439 111.714 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-75.439 111.714 M
-75.743 111.714 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-75.743 111.714 M
-76.047 111.714 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-76.047 111.714 M
-76.35 111.714 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-76.35 111.714 M
-76.654 111.714 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-76.654 111.714 M
-76.958 111.714 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-76.958 111.714 M
-77.262 111.714 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-77.262 111.714 M
-77.565 111.714 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-77.565 111.714 M
-77.869 111.714 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-77.869 111.714 M
-78.173 111.714 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-78.173 111.714 M
-78.477 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-78.477 133.263 M
-78.78 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-78.78 133.263 M
-79.084 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-79.084 133.263 M
-79.388 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-79.388 133.263 M
-79.692 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-79.692 133.263 M
-79.995 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-79.995 133.263 M
-80.299 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-80.299 133.263 M
-80.603 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-80.603 133.263 M
-80.906 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-80.906 154.811 M
-81.21 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-81.21 197.907 M
-81.514 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-81.514 197.907 M
-81.818 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-81.818 197.907 M
-82.121 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-82.121 197.907 M
-82.425 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-82.425 197.907 M
-82.729 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-82.729 197.907 M
-83.033 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.033 197.907 M
-83.336 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.336 197.907 M
-83.64 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.64 197.907 M
-83.944 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.944 197.907 M
-84.248 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-84.248 197.907 M
-84.551 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-84.551 197.907 M
-84.855 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-84.855 197.907 M
-85.159 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-85.159 197.907 M
-85.463 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-85.463 197.907 M
-85.766 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-85.766 197.907 M
-86.07 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-86.07 197.907 M
-86.374 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-86.374 197.907 M
-86.677 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-86.677 197.907 M
-86.981 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-86.981 197.907 M
-87.285 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-87.285 197.907 M
-87.589 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-87.589 197.907 M
-87.892 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-87.892 197.907 M
-88.196 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-88.196 219.455 M
-88.5 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-88.5 219.455 M
-88.804 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-88.804 219.455 M
-89.107 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-89.107 219.455 M
-89.411 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-89.411 219.455 M
-89.715 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-89.715 219.455 M
-90.019 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-90.019 219.455 M
-90.322 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-90.322 219.455 M
-90.626 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-90.626 219.455 M
-90.93 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-90.93 219.455 M
-91.234 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-91.234 219.455 M
-91.537 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-91.537 154.811 M
-91.841 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-91.841 176.359 M
-92.145 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-92.145 176.359 M
-92.448 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-92.448 176.359 M
-92.752 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-92.752 197.907 M
-93.056 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-93.056 197.907 M
-93.36 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-93.36 219.455 M
-93.663 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-93.663 219.455 M
-93.967 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-93.967 219.455 M
-94.271 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-94.271 219.455 M
-94.575 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-94.575 219.455 M
-94.878 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-94.878 219.455 M
-95.182 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-95.182 219.455 M
-95.486 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-95.486 219.455 M
-95.79 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-95.79 219.455 M
-96.093 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-96.093 219.455 M
-96.397 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-96.397 219.455 M
-96.701 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-96.701 219.455 M
-97.005 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-97.005 219.455 M
-97.308 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-97.308 219.455 M
-97.612 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-97.612 219.455 M
-97.916 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-97.916 219.455 M
-98.219 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-98.219 219.455 M
-98.523 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-98.523 219.455 M
-98.827 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-98.827 219.455 M
-99.131 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-99.131 219.455 M
-99.434 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-99.434 219.455 M
-99.738 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-99.738 219.455 M
-100.042 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-100.042 219.455 M
-100.346 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-100.346 219.455 M
-100.649 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-100.649 219.455 M
-100.953 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-100.953 219.455 M
-101.257 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-101.257 219.455 M
-101.561 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-101.561 219.455 M
-101.864 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-101.864 219.455 M
-102.168 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-102.168 219.455 M
-102.472 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-102.472 197.907 M
-102.776 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-102.776 197.907 M
-103.079 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-103.079 197.907 M
-103.383 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-103.383 197.907 M
-103.687 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-103.687 197.907 M
-103.99 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-103.99 197.907 M
-104.294 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-104.294 197.907 M
-104.598 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-104.598 197.907 M
-104.902 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-104.902 197.907 M
-105.205 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-105.205 197.907 M
-105.509 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-105.509 197.907 M
-105.813 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-105.813 241.004 M
-106.117 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-106.117 241.004 M
-106.42 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-106.42 241.004 M
-106.724 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-106.724 241.004 M
-107.028 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-107.028 241.004 M
-107.332 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-107.332 241.004 M
-107.635 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-107.635 241.004 M
-107.939 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-107.939 241.004 M
-108.243 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-108.243 197.907 M
-108.547 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-108.547 197.907 M
-108.85 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-108.85 197.907 M
-109.154 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-109.154 197.907 M
-109.458 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-109.458 197.907 M
-109.761 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-109.761 197.907 M
-110.065 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-110.065 197.907 M
-110.369 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-110.369 197.907 M
-110.673 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-110.673 197.907 M
-110.976 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-110.976 197.907 M
-111.28 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-111.28 197.907 M
-111.584 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-111.584 219.455 M
-111.888 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-111.888 219.455 M
-112.191 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-112.191 219.455 M
-112.495 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-112.495 219.455 M
-112.799 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-112.799 219.455 M
-113.103 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-113.103 219.455 M
-113.406 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-113.406 219.455 M
-113.71 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-113.71 219.455 M
-114.014 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-114.014 219.455 M
-114.318 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-114.318 219.455 M
-114.621 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-114.621 219.455 M
-114.925 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-114.925 219.455 M
-115.229 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-115.229 219.455 M
-115.533 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-115.533 219.455 M
-115.836 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-115.836 219.455 M
-116.14 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-116.14 219.455 M
-116.444 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-116.444 262.552 M
-116.747 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-116.747 262.552 M
-117.051 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-117.051 262.552 M
-117.355 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-117.355 262.552 M
-117.659 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-117.659 262.552 M
-117.962 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-117.962 262.552 M
-118.266 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-118.266 262.552 M
-118.57 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-118.57 262.552 M
-118.874 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-118.874 262.552 M
-119.177 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-119.177 262.552 M
-119.481 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-119.481 262.552 M
-119.785 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-119.785 262.552 M
-120.089 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-120.089 262.552 M
-120.392 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-120.392 262.552 M
-120.696 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-120.696 262.552 M
-121 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121 262.552 M
-121.304 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.304 262.552 M
-121.607 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.607 262.552 M
-121.911 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.911 262.552 M
-122.215 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-122.215 241.004 M
-122.518 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-122.518 241.004 M
-122.822 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-122.822 241.004 M
-123.126 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-123.126 219.455 M
-123.43 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-123.43 219.455 M
-123.733 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-123.733 219.455 M
-124.037 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-124.037 219.455 M
-124.341 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-124.341 219.455 M
-124.645 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-124.645 219.455 M
-124.948 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-124.948 219.455 M
-125.252 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-125.252 219.455 M
-125.556 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-125.556 219.455 M
-125.86 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-125.86 219.455 M
-126.163 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-126.163 219.455 M
-126.467 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-126.467 219.455 M
-126.771 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-126.771 219.455 M
-127.075 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-127.075 219.455 M
-127.378 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-127.378 219.455 M
-127.682 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-127.682 219.455 M
-127.986 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-127.986 219.455 M
-128.289 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-128.289 219.455 M
-128.593 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-128.593 219.455 M
-128.897 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-128.897 219.455 M
-129.201 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-129.201 219.455 M
-129.504 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-129.504 219.455 M
-129.808 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-129.808 219.455 M
-130.112 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-130.112 219.455 M
-130.416 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-130.416 219.455 M
-130.719 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-130.719 197.907 M
-131.023 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-131.023 197.907 M
-131.327 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-131.327 197.907 M
-131.631 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-131.631 197.907 M
-131.934 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-131.934 197.907 M
-132.238 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-132.238 197.907 M
-132.542 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-132.542 197.907 M
-132.846 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-132.846 197.907 M
-133.149 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-133.149 197.907 M
-133.453 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-133.453 197.907 M
-133.757 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-133.757 197.907 M
-134.06 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-134.06 197.907 M
-134.364 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-134.364 197.907 M
-134.668 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-134.668 197.907 M
-134.972 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-134.972 197.907 M
-135.275 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-135.275 197.907 M
-135.579 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-135.579 197.907 M
-135.883 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-135.883 197.907 M
-136.187 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-136.187 197.907 M
-136.49 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-136.49 241.004 M
-136.794 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-136.794 241.004 M
-137.098 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-137.098 241.004 M
-137.402 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-137.402 262.552 M
-137.705 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-137.705 219.455 M
-138.009 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-138.009 219.455 M
-138.313 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-138.313 219.455 M
-138.617 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-138.617 241.004 M
-138.92 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-138.92 241.004 M
-139.224 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-139.224 241.004 M
-139.528 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-139.528 241.004 M
-139.831 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-139.831 241.004 M
-140.135 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-140.135 241.004 M
-140.439 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-140.439 241.004 M
-140.743 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-140.743 241.004 M
-141.046 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-141.046 241.004 M
-141.35 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-141.35 241.004 M
-141.654 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-141.654 241.004 M
-141.958 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-141.958 241.004 M
-142.261 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-142.261 241.004 M
-142.565 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-142.565 241.004 M
-142.869 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-142.869 241.004 M
-143.173 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-143.173 241.004 M
-143.476 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-143.476 241.004 M
-143.78 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-143.78 241.004 M
-144.084 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-144.084 241.004 M
-144.388 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-144.388 241.004 M
-144.691 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-144.691 241.004 M
-144.995 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-144.995 262.552 M
-145.299 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-145.299 262.552 M
-145.602 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-145.602 262.552 M
-145.906 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-145.906 262.552 M
-146.21 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-146.21 262.552 M
-146.514 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-146.514 262.552 M
-146.817 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-146.817 262.552 M
-147.121 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-147.121 262.552 M
-147.425 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-147.425 262.552 M
-147.729 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-147.729 262.552 M
-148.032 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-148.032 262.552 M
-148.336 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-148.336 262.552 M
-148.64 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-148.64 262.552 M
-148.944 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-148.944 262.552 M
-149.247 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-149.247 262.552 M
-149.551 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-149.551 262.552 M
-149.855 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-149.855 262.552 M
-150.159 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-150.159 219.455 M
-150.462 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-150.462 241.004 M
-150.766 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-150.766 262.552 M
-151.07 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-151.07 262.552 M
-151.373 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-151.373 219.455 M
-151.677 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-151.677 262.552 M
-151.981 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-151.981 262.552 M
-152.285 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-152.285 262.552 M
-152.588 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-152.588 262.552 M
-152.892 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-152.892 262.552 M
-153.196 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-153.196 262.552 M
-153.5 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-153.5 262.552 M
-153.803 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-153.803 262.552 M
-154.107 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-154.107 262.552 M
-154.411 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-154.411 262.552 M
-154.715 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-154.715 262.552 M
-155.018 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-155.018 262.552 M
-155.322 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-155.322 262.552 M
-155.626 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-155.626 262.552 M
-155.93 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-155.93 262.552 M
-156.233 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-156.233 262.552 M
-156.537 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-156.537 262.552 M
-156.841 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-156.841 262.552 M
-157.145 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-157.145 262.552 M
-157.448 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-157.448 262.552 M
-157.752 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-157.752 262.552 M
-158.056 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-158.056 262.552 M
-158.359 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-158.359 262.552 M
-158.663 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-158.663 262.552 M
-158.967 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-158.967 262.552 M
-159.271 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-159.271 262.552 M
-159.574 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-159.574 262.552 M
-159.878 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-159.878 262.552 M
-160.182 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-160.182 262.552 M
-160.486 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-160.486 262.552 M
-160.789 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-160.789 262.552 M
-161.093 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-161.093 262.552 M
-161.397 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-161.397 262.552 M
-161.701 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-161.701 262.552 M
-162.004 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-162.004 262.552 M
-162.308 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-162.308 262.552 M
-162.612 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-162.612 262.552 M
-162.916 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-162.916 262.552 M
-163.219 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-163.219 262.552 M
-163.523 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-163.523 262.552 M
-163.827 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-163.827 262.552 M
-164.13 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-164.13 262.552 M
-164.434 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-164.434 262.552 M
-164.738 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-164.738 262.552 M
-165.042 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-165.042 262.552 M
-165.345 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-165.345 262.552 M
-165.649 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-165.649 284.1 M
-165.953 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-165.953 284.1 M
-166.257 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-166.257 284.1 M
-166.56 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-166.56 284.1 M
-166.864 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-166.864 284.1 M
-167.168 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-167.168 284.1 M
-167.472 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-167.472 284.1 M
-167.775 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-167.775 284.1 M
-168.079 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-168.079 284.1 M
-168.383 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-168.383 284.1 M
-168.687 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-168.687 284.1 M
-168.99 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-168.99 284.1 M
-169.294 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-169.294 284.1 M
-169.598 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-169.598 284.1 M
-169.901 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-169.901 284.1 M
-170.205 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-170.205 284.1 M
-170.509 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-170.509 284.1 M
-170.813 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-170.813 284.1 M
-171.116 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-171.116 284.1 M
-171.42 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-171.42 284.1 M
-171.724 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-171.724 284.1 M
-172.028 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-172.028 284.1 M
-172.331 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-172.331 284.1 M
-172.635 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-172.635 284.1 M
-172.939 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-172.939 284.1 M
-173.243 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.243 241.004 M
-173.546 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.546 241.004 M
-173.85 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.85 241.004 M
-174.154 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-174.154 241.004 M
-174.458 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-174.458 241.004 M
-174.761 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-174.761 241.004 M
-175.065 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-175.065 241.004 M
-175.369 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-175.369 241.004 M
-175.672 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-175.672 241.004 M
-175.976 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-175.976 241.004 M
-176.28 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-176.28 241.004 M
-176.584 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-176.584 241.004 M
-176.887 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-176.887 241.004 M
-177.191 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-177.191 241.004 M
-177.495 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-177.495 241.004 M
-177.799 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-177.799 241.004 M
-178.102 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-178.102 241.004 M
-178.406 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-178.406 219.455 M
-178.71 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-178.71 219.455 M
-179.014 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-179.014 219.455 M
-179.317 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-179.317 241.004 M
-179.621 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-179.621 241.004 M
-179.925 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-179.925 219.455 M
-180.229 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-180.229 219.455 M
-180.532 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-180.532 219.455 M
-180.836 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-180.836 219.455 M
-181.14 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-181.14 219.455 M
-181.443 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-181.443 197.907 M
-181.747 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-181.747 197.907 M
-182.051 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-182.051 197.907 M
-182.355 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-182.355 219.455 M
-182.658 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-182.658 219.455 M
-182.962 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-182.962 219.455 M
-183.266 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-183.266 219.455 M
-183.57 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-183.57 219.455 M
-183.873 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-183.873 219.455 M
-184.177 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-184.177 219.455 M
-184.481 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-184.481 219.455 M
-184.785 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-184.785 219.455 M
-185.088 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-185.088 176.359 M
-185.392 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-185.392 197.907 M
-185.696 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-185.696 197.907 M
-186 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-186 197.907 M
-186.303 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-186.303 197.907 M
-186.607 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-186.607 197.907 M
-186.911 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-186.911 197.907 M
-187.214 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-187.214 197.907 M
-187.518 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-187.518 219.455 M
-187.822 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-187.822 219.455 M
-188.126 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-188.126 219.455 M
-188.429 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-188.429 219.455 M
-188.733 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-188.733 219.455 M
-189.037 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-189.037 219.455 M
-189.341 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-189.341 219.455 M
-189.644 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-189.644 219.455 M
-189.948 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-189.948 176.359 M
-190.252 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-190.252 176.359 M
-190.556 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-190.556 176.359 M
-190.859 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-190.859 176.359 M
-191.163 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-191.163 176.359 M
-191.467 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-191.467 176.359 M
-191.771 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-191.771 176.359 M
-192.074 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-192.074 176.359 M
-192.378 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-192.378 176.359 M
-192.682 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-192.682 133.263 M
-192.985 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-192.985 154.811 M
-193.289 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-193.289 154.811 M
-193.593 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-193.593 154.811 M
-193.897 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-193.897 154.811 M
-194.2 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-194.2 176.359 M
-194.504 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-194.504 176.359 M
-194.808 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-194.808 176.359 M
-195.112 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-195.112 176.359 M
-195.415 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-195.415 176.359 M
-195.719 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-195.719 176.359 M
-196.023 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-196.023 176.359 M
-196.327 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-196.327 176.359 M
-196.63 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-196.63 176.359 M
-196.934 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-196.934 176.359 M
-197.238 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-197.238 176.359 M
-197.542 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-197.542 176.359 M
-197.845 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-197.845 176.359 M
-198.149 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-198.149 176.359 M
-198.453 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-198.453 176.359 M
-198.757 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-198.757 176.359 M
-199.06 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-199.06 176.359 M
-199.364 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-199.364 176.359 M
-199.668 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-199.668 176.359 M
-199.971 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-199.971 176.359 M
-200.275 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-200.275 176.359 M
-200.579 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-200.579 176.359 M
-200.883 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-200.883 176.359 M
-201.186 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-201.186 176.359 M
-201.49 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-201.49 176.359 M
-201.794 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-201.794 176.359 M
-202.098 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-202.098 176.359 M
-202.401 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-202.401 176.359 M
-202.705 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-202.705 176.359 M
-203.009 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-203.009 176.359 M
-203.313 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-203.313 176.359 M
-203.616 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-203.616 176.359 M
-203.92 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-203.92 176.359 M
-204.224 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-204.224 176.359 M
-204.528 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-204.528 176.359 M
-204.831 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-204.831 176.359 M
-205.135 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-205.135 176.359 M
-205.439 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-205.439 176.359 M
-205.742 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-205.742 176.359 M
-206.046 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-206.046 176.359 M
-206.35 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-206.35 176.359 M
-206.654 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-206.654 219.455 M
-206.957 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-206.957 219.455 M
-207.261 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-207.261 219.455 M
-207.565 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-207.565 219.455 M
-207.869 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-207.869 219.455 M
-208.172 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-208.172 219.455 M
-208.476 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-208.476 219.455 M
-208.78 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-208.78 219.455 M
-209.084 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-209.084 219.455 M
-209.387 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-209.387 219.455 M
-209.691 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-209.691 219.455 M
-209.995 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-209.995 219.455 M
-210.299 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-210.299 219.455 M
-210.602 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-210.602 219.455 M
-210.906 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-210.906 219.455 M
-211.21 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-211.21 219.455 M
-211.513 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-211.513 219.455 M
-211.817 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-211.817 219.455 M
-212.121 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-212.121 219.455 M
-212.425 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-212.425 219.455 M
-212.728 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-212.728 219.455 M
-213.032 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-213.032 219.455 M
-213.336 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-213.336 219.455 M
-213.64 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-213.64 219.455 M
-213.943 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-213.943 241.004 M
-214.247 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-214.247 241.004 M
-214.551 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-214.551 241.004 M
-214.855 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-214.855 241.004 M
-215.158 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-215.158 241.004 M
-215.462 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-215.462 241.004 M
-215.766 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-215.766 262.552 M
-216.07 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-216.07 262.552 M
-216.373 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-216.373 262.552 M
-216.677 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-216.677 262.552 M
-216.981 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-216.981 262.552 M
-217.284 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-217.284 262.552 M
-217.588 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-217.588 262.552 M
-217.892 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-217.892 262.552 M
-218.196 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-218.196 262.552 M
-218.499 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-218.499 262.552 M
-218.803 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-218.803 262.552 M
-219.107 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-219.107 262.552 M
-219.411 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-219.411 262.552 M
-219.714 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-219.714 262.552 M
-220.018 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-220.018 262.552 M
-220.322 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-220.322 262.552 M
-220.626 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-220.626 262.552 M
-220.929 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-220.929 262.552 M
-221.233 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-221.233 262.552 M
-221.537 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-221.537 262.552 M
-221.841 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-221.841 262.552 M
-222.144 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-222.144 262.552 M
-222.448 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-222.448 262.552 M
-222.752 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-222.752 262.552 M
-223.055 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-223.055 262.552 M
-223.359 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-223.359 262.552 M
-223.663 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-223.663 262.552 M
-223.967 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-223.967 262.552 M
-224.27 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.27 262.552 M
-224.574 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.574 262.552 M
-224.878 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.878 262.552 M
-225.182 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-225.182 262.552 M
-225.485 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-225.485 262.552 M
-225.789 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-225.789 262.552 M
-226.093 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-226.093 262.552 M
-226.397 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-226.397 262.552 M
-226.7 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-226.7 262.552 M
-227.004 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-227.004 262.552 M
-227.308 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-227.308 262.552 M
-227.612 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-227.612 262.552 M
-227.915 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-227.915 241.004 M
-228.219 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-228.219 241.004 M
-228.523 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-228.523 241.004 M
-228.826 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-228.826 241.004 M
-229.13 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-229.13 241.004 M
-229.434 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-229.434 241.004 M
-229.738 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-229.738 241.004 M
-230.041 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.041 241.004 M
-230.345 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.345 241.004 M
-230.649 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.649 241.004 M
-230.953 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.953 241.004 M
-231.256 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-231.256 241.004 M
-231.56 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-231.56 241.004 M
-231.864 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-231.864 241.004 M
-232.168 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-232.168 241.004 M
-232.471 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-232.471 241.004 M
-232.775 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-232.775 241.004 M
-233.079 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-233.079 241.004 M
-233.383 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-233.383 241.004 M
-233.686 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-233.686 241.004 M
-233.99 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-233.99 241.004 M
-234.294 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-234.294 241.004 M
-234.598 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-234.598 241.004 M
-234.901 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-234.901 241.004 M
-235.205 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-235.205 241.004 M
-235.509 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-235.509 241.004 M
-235.812 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-235.812 241.004 M
-236.116 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-236.116 241.004 M
-236.42 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-236.42 241.004 M
-236.724 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-236.724 241.004 M
-237.027 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-237.027 241.004 M
-237.331 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-237.331 241.004 M
-237.635 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-237.635 241.004 M
-237.939 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-237.939 241.004 M
-238.242 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-238.242 241.004 M
-238.546 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-238.546 241.004 M
-238.85 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-238.85 241.004 M
-239.154 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-239.154 241.004 M
-239.457 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-239.457 241.004 M
-239.761 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-239.761 241.004 M
-240.065 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-240.065 241.004 M
-240.369 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-240.369 241.004 M
-240.672 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-240.672 241.004 M
-240.976 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-240.976 241.004 M
-241.28 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-241.28 241.004 M
-241.583 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-241.583 241.004 M
-241.887 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-241.887 262.552 M
-242.191 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-242.191 262.552 M
-242.495 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-242.495 262.552 M
-242.798 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-242.798 262.552 M
-243.102 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-243.102 262.552 M
-243.406 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-243.406 241.004 M
-243.71 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-243.71 241.004 M
-244.013 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-244.013 241.004 M
-244.317 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-244.317 241.004 M
-244.621 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-244.621 241.004 M
-244.925 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-244.925 241.004 M
-245.228 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-245.228 241.004 M
-245.532 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-245.532 241.004 M
-245.836 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-245.836 241.004 M
-246.14 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-246.14 241.004 M
-246.443 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-246.443 262.552 M
-246.747 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-246.747 262.552 M
-247.051 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-247.051 284.1 M
-247.354 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-247.354 284.1 M
-247.658 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-247.658 284.1 M
-247.962 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-247.962 284.1 M
-248.266 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-248.266 284.1 M
-248.569 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-248.569 284.1 M
-248.873 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-248.873 284.1 M
-249.177 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-249.177 284.1 M
-249.481 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-249.481 284.1 M
-249.784 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-249.784 284.1 M
-250.088 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-250.088 284.1 M
-250.392 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-250.392 284.1 M
-250.696 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-250.696 284.1 M
-250.999 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-250.999 284.1 M
-251.303 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-251.303 284.1 M
-251.607 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-251.607 284.1 M
-251.911 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-251.911 284.1 M
-252.214 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-252.214 284.1 M
-252.518 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-252.518 284.1 M
-252.822 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-252.822 284.1 M
-253.125 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-253.125 284.1 M
-253.429 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-253.429 284.1 M
-253.733 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-253.733 284.1 M
-254.037 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-254.037 284.1 M
-254.34 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-254.34 284.1 M
-254.644 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-254.644 284.1 M
-254.948 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-254.948 284.1 M
-255.252 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-255.252 284.1 M
-255.555 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-255.555 284.1 M
-255.859 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-255.859 284.1 M
-256.163 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-256.163 284.1 M
-256.467 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-256.467 284.1 M
-256.77 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-256.77 284.1 M
-257.074 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-257.074 284.1 M
-257.378 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-257.378 284.1 M
-257.682 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-257.682 284.1 M
-257.985 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-257.985 284.1 M
-258.289 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-258.289 284.1 M
-258.593 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-258.593 284.1 M
-258.896 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-258.896 284.1 M
-259.2 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-259.2 284.1 M
-259.504 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-259.504 284.1 M
-259.808 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-259.808 284.1 M
-260.111 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-260.111 284.1 M
-260.415 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-260.415 284.1 M
-260.719 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-260.719 284.1 M
-261.023 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-261.023 284.1 M
-261.326 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-261.326 284.1 M
-261.63 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-261.63 284.1 M
-261.934 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-261.934 284.1 M
-262.238 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-262.238 284.1 M
-262.541 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-262.541 284.1 M
-262.845 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-262.845 284.1 M
-263.149 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-263.149 284.1 M
-263.453 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-263.453 284.1 M
-263.756 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-263.756 284.1 M
-264.06 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-264.06 284.1 M
-264.364 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-264.364 284.1 M
-264.667 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-264.667 284.1 M
-264.971 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-264.971 284.1 M
-265.275 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-265.275 284.1 M
-265.579 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-265.579 284.1 M
-265.882 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-265.882 284.1 M
-266.186 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-266.186 284.1 M
-266.49 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-266.49 284.1 M
-266.794 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-266.794 284.1 M
-267.097 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-267.097 284.1 M
-267.401 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-267.401 284.1 M
-267.705 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-267.705 284.1 M
-268.009 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-268.009 284.1 M
-268.312 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-268.312 284.1 M
-268.616 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-268.616 284.1 M
-268.92 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-268.92 284.1 M
-269.224 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-269.224 284.1 M
-269.527 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-269.527 284.1 M
-269.831 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-269.831 284.1 M
-270.135 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-270.135 284.1 M
-270.438 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-270.438 284.1 M
-270.742 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-270.742 284.1 M
-271.046 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-271.046 262.552 M
-271.35 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-271.35 262.552 M
-271.653 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-271.653 284.1 M
-271.957 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-271.957 284.1 M
-272.261 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-272.261 284.1 M
-272.565 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-272.565 284.1 M
-272.868 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-272.868 284.1 M
-273.172 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-273.172 284.1 M
-273.476 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-273.476 284.1 M
-273.78 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-273.78 284.1 M
-274.083 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-274.083 284.1 M
-274.387 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-274.387 284.1 M
-274.691 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-274.691 241.004 M
-274.995 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-274.995 241.004 M
-275.298 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-275.298 241.004 M
-275.602 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-275.602 241.004 M
-275.906 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-275.906 241.004 M
-276.21 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.21 241.004 M
-276.513 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.513 241.004 M
-276.817 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.817 241.004 M
-277.121 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-277.121 241.004 M
-277.424 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-277.424 241.004 M
-277.728 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-277.728 241.004 M
-278.032 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-278.032 241.004 M
-278.336 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-278.336 219.455 M
-278.639 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-278.639 219.455 M
-278.943 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-278.943 219.455 M
-279.247 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-279.247 219.455 M
-279.551 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-279.551 219.455 M
-279.854 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-279.854 219.455 M
-280.158 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-280.158 219.455 M
-280.462 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-280.462 219.455 M
-280.766 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-280.766 219.455 M
-281.069 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-281.069 219.455 M
-281.373 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-281.373 219.455 M
-281.677 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-281.677 219.455 M
-281.981 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-281.981 219.455 M
-282.284 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-282.284 219.455 M
-282.588 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-282.588 219.455 M
-282.892 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-282.892 219.455 M
-283.195 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-283.195 219.455 M
-283.499 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-283.499 219.455 M
-283.803 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-283.803 219.455 M
-284.107 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-284.107 219.455 M
-284.41 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-284.41 219.455 M
-284.714 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-284.714 219.455 M
-285.018 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-285.018 219.455 M
-285.322 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-285.322 241.004 M
-285.625 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-285.625 241.004 M
-285.929 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-285.929 241.004 M
-286.233 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-286.233 241.004 M
-286.537 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-286.537 241.004 M
-286.84 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-286.84 241.004 M
-287.144 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-287.144 241.004 M
-287.448 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-287.448 241.004 M
-287.752 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-287.752 241.004 M
-288.055 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-288.055 241.004 M
-288.359 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-288.359 241.004 M
-288.663 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-288.663 284.1 M
-288.966 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-288.966 284.1 M
-289.27 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-289.27 284.1 M
-289.574 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-289.574 284.1 M
-289.878 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-289.878 284.1 M
-290.181 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-290.181 284.1 M
-290.485 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-290.485 284.1 M
-290.789 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-290.789 284.1 M
-291.093 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-291.093 284.1 M
-291.396 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-291.396 284.1 M
-291.7 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-291.7 284.1 M
-292.004 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-292.004 284.1 M
-292.308 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-292.308 284.1 M
-292.611 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-292.611 305.648 M
-292.915 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-292.915 241.004 M
-293.219 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-293.219 241.004 M
-293.523 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-293.523 241.004 M
-293.826 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-293.826 241.004 M
-294.13 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-294.13 241.004 M
-294.434 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-294.434 241.004 M
-294.737 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-294.737 241.004 M
-295.041 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-295.041 241.004 M
-295.345 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-295.345 241.004 M
-295.649 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-295.649 241.004 M
-295.952 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-295.952 241.004 M
-296.256 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-296.256 241.004 M
-296.56 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-296.56 241.004 M
-296.864 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-296.864 241.004 M
-297.167 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-297.167 241.004 M
-297.471 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-297.471 241.004 M
-297.775 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-297.775 241.004 M
-298.079 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-298.079 241.004 M
-298.382 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-298.382 241.004 M
-298.686 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-298.686 241.004 M
-298.99 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-298.99 241.004 M
-299.294 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-299.294 241.004 M
-299.597 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-299.597 241.004 M
-299.901 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-299.901 241.004 M
-300.205 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-300.205 241.004 M
-300.508 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-300.508 241.004 M
-300.812 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-300.812 241.004 M
-301.116 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-301.116 241.004 M
-301.42 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-301.42 241.004 M
-301.723 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-301.723 241.004 M
-302.027 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-302.027 241.004 M
-302.331 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-302.331 241.004 M
-302.635 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-302.635 241.004 M
-302.938 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-302.938 241.004 M
-303.242 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-303.242 241.004 M
-303.546 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-303.546 241.004 M
-303.85 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-303.85 241.004 M
-304.153 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-304.153 241.004 M
-304.457 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-304.457 241.004 M
-304.761 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-304.761 241.004 M
-305.065 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-305.065 241.004 M
-305.368 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-305.368 241.004 M
-305.672 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-305.672 241.004 M
-305.976 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-305.976 241.004 M
-306.279 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-306.279 241.004 M
-306.583 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-306.583 241.004 M
-306.887 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-306.887 241.004 M
-307.191 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-307.191 305.648 M
-307.494 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-307.494 305.648 M
-307.798 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-307.798 305.648 M
-308.102 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-308.102 305.648 M
-308.406 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-308.406 305.648 M
-308.709 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-308.709 305.648 M
-309.013 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-309.013 305.648 M
-309.317 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-309.317 305.648 M
-309.621 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-309.621 305.648 M
-309.924 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-309.924 305.648 M
-310.228 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-310.228 305.648 M
-310.532 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-310.532 305.648 M
-310.836 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-310.836 305.648 M
-311.139 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-311.139 305.648 M
-311.443 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-311.443 305.648 M
-311.747 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-311.747 305.648 M
-312.051 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-312.051 305.648 M
-312.354 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-312.354 305.648 M
-312.658 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-312.658 305.648 M
-312.962 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-312.962 305.648 M
-313.265 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-313.265 305.648 M
-313.569 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-313.569 305.648 M
-313.873 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-313.873 305.648 M
-314.177 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-314.177 305.648 M
-314.48 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-314.48 305.648 M
-314.784 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-314.784 305.648 M
-315.088 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-315.088 305.648 M
-315.392 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-315.392 305.648 M
-315.695 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-315.695 284.1 M
-315.999 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-315.999 284.1 M
-316.303 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-316.303 284.1 M
-316.607 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-316.607 284.1 M
-316.91 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-316.91 284.1 M
-317.214 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-317.214 284.1 M
-317.518 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-317.518 284.1 M
-317.822 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-317.822 284.1 M
-318.125 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-318.125 284.1 M
-318.429 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-318.429 284.1 M
-318.733 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-318.733 284.1 M
-319.036 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-319.036 284.1 M
-319.34 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-319.34 284.1 M
-319.644 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-319.644 284.1 M
-319.948 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-319.948 284.1 M
-320.251 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-320.251 284.1 M
-320.555 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-320.555 284.1 M
-320.859 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-320.859 284.1 M
-321.163 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-321.163 284.1 M
-321.466 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-321.466 284.1 M
-321.77 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-321.77 284.1 M
-322.074 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-322.074 284.1 M
-322.378 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-322.378 284.1 M
-322.681 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-322.681 284.1 M
-322.985 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-322.985 284.1 M
-323.289 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-323.289 284.1 M
-323.593 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-323.593 284.1 M
-323.896 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-323.896 284.1 M
-324.2 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-324.2 284.1 M
-324.504 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-324.504 284.1 M
-324.807 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-324.807 284.1 M
-325.111 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-325.111 284.1 M
-325.415 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-325.415 284.1 M
-325.719 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-325.719 284.1 M
-326.022 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-326.022 284.1 M
-326.326 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-326.326 284.1 M
-326.63 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-326.63 284.1 M
-326.934 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-326.934 284.1 M
-327.237 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-327.237 284.1 M
-327.541 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-327.541 284.1 M
-327.845 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-327.845 284.1 M
-328.149 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.149 284.1 M
-328.452 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.452 284.1 M
-328.756 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.756 284.1 M
-329.06 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-329.06 284.1 M
-329.364 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-329.364 284.1 M
-329.667 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-329.667 305.648 M
-329.971 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-329.971 305.648 M
-330.275 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-330.275 305.648 M
-330.578 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-330.578 305.648 M
-330.882 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-330.882 305.648 M
-331.186 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-331.186 305.648 M
-331.49 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-331.49 305.648 M
-331.793 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-331.793 305.648 M
-332.097 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-332.097 305.648 M
-332.401 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-332.401 305.648 M
-332.705 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-332.705 305.648 M
-333.008 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-333.008 305.648 M
-333.312 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-333.312 305.648 M
-333.616 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-333.616 305.648 M
-333.92 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-333.92 305.648 M
-334.223 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-334.223 305.648 M
-334.527 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-334.527 305.648 M
-334.831 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-334.831 305.648 M
-335.135 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-335.135 305.648 M
-335.438 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-335.438 305.648 M
-335.742 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-335.742 284.1 M
-336.046 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-336.046 284.1 M
-336.349 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-336.349 284.1 M
-336.653 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-336.653 284.1 M
-336.957 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-336.957 284.1 M
-337.261 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-337.261 284.1 M
-337.564 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-337.564 284.1 M
-337.868 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-337.868 284.1 M
-338.172 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-338.172 284.1 M
-338.476 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-338.476 284.1 M
-338.779 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-338.779 284.1 M
-339.083 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-339.083 284.1 M
-339.387 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-339.387 284.1 M
-339.691 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-339.691 284.1 M
-339.994 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-339.994 284.1 M
-340.298 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-340.298 284.1 M
-340.602 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-340.602 284.1 M
-340.906 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-340.906 284.1 M
-341.209 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-341.209 284.1 M
-341.513 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-341.513 284.1 M
-341.817 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-341.817 284.1 M
-342.12 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-342.12 284.1 M
-342.424 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-342.424 284.1 M
-342.728 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-342.728 284.1 M
-343.032 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-343.032 284.1 M
-343.335 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-343.335 284.1 M
-343.639 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-343.639 284.1 M
-343.943 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-343.943 284.1 M
-344.247 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-344.247 284.1 M
-344.55 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-344.55 284.1 M
-344.854 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-344.854 284.1 M
-345.158 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-345.158 284.1 M
-345.462 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-345.462 284.1 M
-345.765 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-345.765 284.1 M
-346.069 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-346.069 284.1 M
-346.373 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-346.373 284.1 M
-346.677 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-346.677 284.1 M
-346.98 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-346.98 284.1 M
-347.284 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-347.284 284.1 M
-347.588 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-347.588 284.1 M
-347.891 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-347.891 284.1 M
-348.195 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-348.195 284.1 M
-348.499 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-348.499 284.1 M
-348.803 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-348.803 284.1 M
-349.106 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-349.106 284.1 M
-349.41 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-349.41 284.1 M
-349.714 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-349.714 284.1 M
-350.018 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-350.018 284.1 M
-350.321 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-350.321 284.1 M
-350.625 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-350.625 284.1 M
-350.929 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-350.929 284.1 M
-351.233 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-351.233 284.1 M
-351.536 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-351.536 284.1 M
-351.84 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-351.84 284.1 M
-352.144 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-352.144 284.1 M
-352.448 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-352.448 284.1 M
-352.751 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-352.751 284.1 M
-353.055 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-353.055 284.1 M
-353.359 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-353.359 284.1 M
-353.663 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-353.663 284.1 M
-353.966 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-353.966 284.1 M
-354.27 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-354.27 284.1 M
-354.574 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-354.574 284.1 M
-354.877 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-354.877 284.1 M
-355.181 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-355.181 284.1 M
-355.485 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-355.485 284.1 M
-355.789 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-355.789 284.1 M
-356.092 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-356.092 284.1 M
-356.396 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-356.396 284.1 M
-356.7 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-356.7 284.1 M
-357.004 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-357.004 284.1 M
-357.307 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-357.307 284.1 M
-357.611 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-357.611 284.1 M
-357.915 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-357.915 284.1 M
-358.219 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-358.219 284.1 M
-358.522 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-358.522 284.1 M
-358.826 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-358.826 284.1 M
-359.13 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-359.13 284.1 M
-359.434 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-359.434 284.1 M
-359.737 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-359.737 284.1 M
-360.041 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-360.041 284.1 M
-360.345 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-360.345 284.1 M
-360.648 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-360.648 284.1 M
-360.952 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-360.952 284.1 M
-361.256 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-361.256 284.1 M
-361.56 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-361.56 284.1 M
-361.863 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-361.863 284.1 M
-362.167 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-362.167 284.1 M
-362.471 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-362.471 284.1 M
-362.775 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-362.775 284.1 M
-363.078 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-363.078 284.1 M
-363.382 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-363.382 284.1 M
-363.686 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-363.686 284.1 M
-363.99 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-363.99 284.1 M
-364.293 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-364.293 284.1 M
-364.597 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-364.597 284.1 M
-364.901 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-364.901 284.1 M
-365.205 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-365.205 284.1 M
-365.508 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-365.508 284.1 M
-365.812 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-365.812 284.1 M
-366.116 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-366.116 284.1 M
-366.419 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-366.419 284.1 M
-366.723 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-366.723 284.1 M
-367.027 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-367.027 284.1 M
-367.331 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-367.331 284.1 M
-367.634 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-367.634 284.1 M
-367.938 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-367.938 284.1 M
-368.242 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-368.242 284.1 M
-368.546 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-368.546 284.1 M
-368.849 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-368.849 284.1 M
-369.153 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-369.153 284.1 M
-369.457 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-369.457 284.1 M
-369.761 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-369.761 284.1 M
-370.064 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-370.064 284.1 M
-370.368 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-370.368 284.1 M
-370.672 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-370.672 284.1 M
-370.976 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-370.976 284.1 M
-371.279 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-371.279 284.1 M
-371.583 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-371.583 284.1 M
-371.887 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-371.887 284.1 M
-372.19 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-56 305.648 M
-56.304 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-56.304 305.648 M
-56.607 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-56.607 305.648 M
-56.911 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-56.911 305.648 M
-57.215 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-57.215 305.648 M
-57.519 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-57.519 305.648 M
-57.822 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-57.822 305.648 M
-58.126 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-58.126 241.004 M
-58.43 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-58.43 262.552 M
-58.734 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-58.734 262.552 M
-59.037 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-59.037 262.552 M
-59.341 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-59.341 241.004 M
-59.645 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-59.645 262.552 M
-59.949 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-59.949 262.552 M
-60.252 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-60.252 262.552 M
-60.556 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-60.556 262.552 M
-60.86 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-60.86 262.552 M
-61.164 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-61.164 262.552 M
-61.467 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-61.467 262.552 M
-61.771 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-61.771 262.552 M
-62.075 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-62.075 284.1 M
-62.378 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-62.378 284.1 M
-62.682 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-62.682 284.1 M
-62.986 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-62.986 241.004 M
-63.29 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-63.29 241.004 M
-63.593 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-63.593 241.004 M
-63.897 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-63.897 241.004 M
-64.201 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-64.201 241.004 M
-64.505 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-64.505 241.004 M
-64.808 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-64.808 241.004 M
-65.112 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-65.112 241.004 M
-65.416 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-65.416 197.907 M
-65.72 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-65.72 197.907 M
-66.023 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-66.023 197.907 M
-66.327 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-66.327 197.907 M
-66.631 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-66.631 197.907 M
-66.935 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-66.935 197.907 M
-67.238 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-67.238 154.811 M
-67.542 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-67.542 154.811 M
-67.846 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-67.846 154.811 M
-68.149 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-68.149 154.811 M
-68.453 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-68.453 154.811 M
-68.757 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-68.757 133.263 M
-69.061 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.061 133.263 M
-69.364 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.364 133.263 M
-69.668 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.668 133.263 M
-69.972 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.972 133.263 M
-70.276 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-70.276 133.263 M
-70.579 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-70.579 133.263 M
-70.883 111.714 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-70.883 111.714 M
-71.187 47.07 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-71.187 47.07 M
-71.491 47.07 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-71.491 47.07 M
-71.794 47.07 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-71.794 47.07 M
-72.098 47.07 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-72.098 47.07 M
-72.402 47.07 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-72.402 47.07 M
-72.706 47.07 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-72.706 47.07 M
-73.009 47.07 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-73.009 47.07 M
-73.313 47.07 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-73.313 47.07 M
-73.617 47.07 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-73.617 47.07 M
-73.92 47.07 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-73.92 47.07 M
-74.224 47.07 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-74.224 47.07 M
-74.528 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-74.528 68.618 M
-74.832 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-74.832 68.618 M
-75.135 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-75.135 68.618 M
-75.439 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-75.439 68.618 M
-75.743 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-75.743 68.618 M
-76.047 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-76.047 68.618 M
-76.35 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-76.35 68.618 M
-76.654 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-76.654 68.618 M
-76.958 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-76.958 68.618 M
-77.262 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-77.262 90.166 M
-77.565 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-77.565 90.166 M
-77.869 111.714 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-77.869 111.714 M
-78.173 111.714 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-78.173 111.714 M
-78.477 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-78.477 90.166 M
-78.78 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-78.78 90.166 M
-79.084 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-79.084 90.166 M
-79.388 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-79.388 90.166 M
-79.692 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-79.692 68.618 M
-79.995 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-79.995 68.618 M
-80.299 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-80.299 68.618 M
-80.603 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-80.603 68.618 M
-80.906 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-80.906 68.618 M
-81.21 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-81.21 68.618 M
-81.514 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-81.514 90.166 M
-81.818 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-81.818 68.618 M
-82.121 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-82.121 68.618 M
-82.425 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-82.425 68.618 M
-82.729 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-82.729 68.618 M
-83.033 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.033 90.166 M
-83.336 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.336 90.166 M
-83.64 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.64 90.166 M
-83.944 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.944 90.166 M
-84.248 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-84.248 90.166 M
-84.551 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-84.551 90.166 M
-84.855 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-84.855 90.166 M
-85.159 111.714 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-85.159 111.714 M
-85.463 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-85.463 133.263 M
-85.766 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-85.766 133.263 M
-86.07 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-86.07 133.263 M
-86.374 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-86.374 154.811 M
-86.677 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-86.677 154.811 M
-86.981 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-86.981 154.811 M
-87.285 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-87.285 154.811 M
-87.589 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-87.589 154.811 M
-87.892 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-87.892 154.811 M
-88.196 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-88.196 154.811 M
-88.5 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-88.5 154.811 M
-88.804 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-88.804 133.263 M
-89.107 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-89.107 133.263 M
-89.411 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-89.411 133.263 M
-89.715 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-89.715 133.263 M
-90.019 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-90.019 133.263 M
-90.322 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-90.322 133.263 M
-90.626 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-90.626 133.263 M
-90.93 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-90.93 133.263 M
-91.234 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-91.234 133.263 M
-91.537 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-91.537 133.263 M
-91.841 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-91.841 133.263 M
-92.145 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-92.145 133.263 M
-92.448 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-92.448 154.811 M
-92.752 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-92.752 154.811 M
-93.056 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-93.056 154.811 M
-93.36 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-93.36 154.811 M
-93.663 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-93.663 154.811 M
-93.967 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-93.967 197.907 M
-94.271 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-94.271 197.907 M
-94.575 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-94.575 154.811 M
-94.878 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-94.878 154.811 M
-95.182 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-95.182 154.811 M
-95.486 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-95.486 154.811 M
-95.79 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-95.79 154.811 M
-96.093 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-96.093 154.811 M
-96.397 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-96.397 154.811 M
-96.701 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-96.701 154.811 M
-97.005 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-97.005 154.811 M
-97.308 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-97.308 154.811 M
-97.612 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-97.612 154.811 M
-97.916 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-97.916 154.811 M
-98.219 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-98.219 154.811 M
-98.523 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-98.523 154.811 M
-98.827 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-98.827 154.811 M
-99.131 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-99.131 154.811 M
-99.434 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-99.434 154.811 M
-99.738 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-99.738 154.811 M
-100.042 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-100.042 154.811 M
-100.346 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-100.346 154.811 M
-100.649 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-100.649 154.811 M
-100.953 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-100.953 154.811 M
-101.257 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-101.257 154.811 M
-101.561 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-101.561 154.811 M
-101.864 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-101.864 154.811 M
-102.168 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-102.168 154.811 M
-102.472 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-102.472 154.811 M
-102.776 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-102.776 176.359 M
-103.079 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-103.079 176.359 M
-103.383 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-103.383 154.811 M
-103.687 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-103.687 154.811 M
-103.99 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-103.99 154.811 M
-104.294 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-104.294 154.811 M
-104.598 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-104.598 133.263 M
-104.902 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-104.902 133.263 M
-105.205 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-105.205 133.263 M
-105.509 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-105.509 133.263 M
-105.813 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-105.813 133.263 M
-106.117 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-106.117 133.263 M
-106.42 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-106.42 133.263 M
-106.724 111.714 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-106.724 111.714 M
-107.028 111.714 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-107.028 111.714 M
-107.332 111.714 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-107.332 111.714 M
-107.635 111.714 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-107.635 111.714 M
-107.939 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-107.939 133.263 M
-108.243 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-108.243 133.263 M
-108.547 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-108.547 133.263 M
-108.85 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-108.85 176.359 M
-109.154 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-109.154 176.359 M
-109.458 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-109.458 176.359 M
-109.761 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-109.761 176.359 M
-110.065 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-110.065 197.907 M
-110.369 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-110.369 197.907 M
-110.673 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-110.673 219.455 M
-110.976 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-110.976 219.455 M
-111.28 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-111.28 219.455 M
-111.584 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-111.584 219.455 M
-111.888 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-111.888 219.455 M
-112.191 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-112.191 219.455 M
-112.495 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-112.495 219.455 M
-112.799 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-112.799 219.455 M
-113.103 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-113.103 219.455 M
-113.406 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-113.406 219.455 M
-113.71 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-113.71 241.004 M
-114.014 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-114.014 241.004 M
-114.318 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-114.318 241.004 M
-114.621 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-114.621 241.004 M
-114.925 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-114.925 241.004 M
-115.229 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-115.229 241.004 M
-115.533 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-115.533 241.004 M
-115.836 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-115.836 241.004 M
-116.14 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-116.14 219.455 M
-116.444 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-116.444 219.455 M
-116.747 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-116.747 219.455 M
-117.051 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-117.051 219.455 M
-117.355 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-117.355 241.004 M
-117.659 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-117.659 241.004 M
-117.962 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-117.962 241.004 M
-118.266 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-118.266 241.004 M
-118.57 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-118.57 241.004 M
-118.874 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-118.874 241.004 M
-119.177 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-119.177 241.004 M
-119.481 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-119.481 262.552 M
-119.785 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-119.785 262.552 M
-120.089 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-120.089 262.552 M
-120.392 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-120.392 262.552 M
-120.696 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-120.696 284.1 M
-121 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121 284.1 M
-121.304 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.304 284.1 M
-121.607 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.607 284.1 M
-121.911 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.911 284.1 M
-122.215 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-122.215 284.1 M
-122.518 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-122.518 284.1 M
-122.822 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-122.822 284.1 M
-123.126 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-123.126 284.1 M
-123.43 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-123.43 284.1 M
-123.733 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-123.733 284.1 M
-124.037 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-124.037 284.1 M
-124.341 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-124.341 284.1 M
-124.645 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-124.645 284.1 M
-124.948 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-124.948 284.1 M
-125.252 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-125.252 284.1 M
-125.556 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-125.556 284.1 M
-125.86 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-125.86 284.1 M
-126.163 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-126.163 284.1 M
-126.467 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-126.467 284.1 M
-126.771 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-126.771 284.1 M
-127.075 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-127.075 284.1 M
-127.378 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-127.378 284.1 M
-127.682 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-127.682 284.1 M
-127.986 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-127.986 284.1 M
-128.289 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-128.289 284.1 M
-128.593 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-128.593 284.1 M
-128.897 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-128.897 284.1 M
-129.201 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-129.201 284.1 M
-129.504 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-129.504 284.1 M
-129.808 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-129.808 284.1 M
-130.112 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-130.112 305.648 M
-130.416 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-130.416 305.648 M
-130.719 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-130.719 305.648 M
-131.023 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-131.023 305.648 M
-131.327 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-131.327 305.648 M
-131.631 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-131.631 284.1 M
-131.934 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-131.934 284.1 M
-132.238 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-132.238 305.648 M
-132.542 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-132.542 284.1 M
-132.846 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-132.846 284.1 M
-133.149 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-133.149 284.1 M
-133.453 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-133.453 284.1 M
-133.757 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-133.757 284.1 M
-134.06 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-134.06 284.1 M
-134.364 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-134.364 284.1 M
-134.668 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-134.668 284.1 M
-134.972 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-134.972 284.1 M
-135.275 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-135.275 284.1 M
-135.579 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-135.579 284.1 M
-135.883 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-135.883 284.1 M
-136.187 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-136.187 284.1 M
-136.49 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-136.49 284.1 M
-136.794 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-136.794 284.1 M
-137.098 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-137.098 284.1 M
-137.402 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-137.402 284.1 M
-137.705 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-137.705 284.1 M
-138.009 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-138.009 262.552 M
-138.313 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-138.313 262.552 M
-138.617 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-138.617 262.552 M
-138.92 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-138.92 262.552 M
-139.224 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-139.224 262.552 M
-139.528 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-139.528 262.552 M
-139.831 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-139.831 262.552 M
-140.135 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-140.135 262.552 M
-140.439 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-140.439 262.552 M
-140.743 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-140.743 262.552 M
-141.046 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-141.046 262.552 M
-141.35 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-141.35 262.552 M
-141.654 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-141.654 262.552 M
-141.958 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-141.958 262.552 M
-142.261 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-142.261 262.552 M
-142.565 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-142.565 262.552 M
-142.869 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-142.869 262.552 M
-143.173 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-143.173 262.552 M
-143.476 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-143.476 262.552 M
-143.78 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-143.78 262.552 M
-144.084 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-144.084 262.552 M
-144.388 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-144.388 262.552 M
-144.691 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-144.691 262.552 M
-144.995 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-144.995 262.552 M
-145.299 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-145.299 262.552 M
-145.602 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-145.602 262.552 M
-145.906 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-145.906 262.552 M
-146.21 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-146.21 262.552 M
-146.514 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-146.514 262.552 M
-146.817 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-146.817 262.552 M
-147.121 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-147.121 262.552 M
-147.425 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-147.425 262.552 M
-147.729 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-147.729 262.552 M
-148.032 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-148.032 262.552 M
-148.336 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-148.336 262.552 M
-148.64 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-148.64 262.552 M
-148.944 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-148.944 262.552 M
-149.247 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-149.247 262.552 M
-149.551 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-149.551 262.552 M
-149.855 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-149.855 262.552 M
-150.159 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-150.159 262.552 M
-150.462 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-150.462 262.552 M
-150.766 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-150.766 262.552 M
-151.07 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-151.07 262.552 M
-151.373 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-151.373 262.552 M
-151.677 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-151.677 262.552 M
-151.981 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-151.981 262.552 M
-152.285 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-152.285 284.1 M
-152.588 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-152.588 284.1 M
-152.892 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-152.892 284.1 M
-153.196 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-153.196 284.1 M
-153.5 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-153.5 284.1 M
-153.803 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-153.803 284.1 M
-154.107 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-154.107 284.1 M
-154.411 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-154.411 284.1 M
-154.715 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-154.715 284.1 M
-155.018 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-155.018 284.1 M
-155.322 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-155.322 284.1 M
-155.626 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-155.626 284.1 M
-155.93 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-155.93 284.1 M
-156.233 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-156.233 284.1 M
-156.537 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-156.537 284.1 M
-156.841 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-156.841 284.1 M
-157.145 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-157.145 284.1 M
-157.448 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-157.448 284.1 M
-157.752 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-157.752 284.1 M
-158.056 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-158.056 284.1 M
-158.359 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-158.359 284.1 M
-158.663 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-158.663 284.1 M
-158.967 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-158.967 284.1 M
-159.271 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-159.271 284.1 M
-159.574 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-159.574 284.1 M
-159.878 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-159.878 284.1 M
-160.182 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-160.182 284.1 M
-160.486 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-160.486 284.1 M
-160.789 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-160.789 305.648 M
-161.093 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-161.093 305.648 M
-161.397 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-161.397 305.648 M
-161.701 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-161.701 305.648 M
-162.004 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-162.004 305.648 M
-162.308 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-162.308 305.648 M
-162.612 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-162.612 305.648 M
-162.916 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-162.916 305.648 M
-163.219 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-163.219 305.648 M
-163.523 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-163.523 305.648 M
-163.827 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-163.827 305.648 M
-164.13 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-164.13 305.648 M
-164.434 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-164.434 305.648 M
-164.738 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-164.738 284.1 M
-165.042 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-165.042 262.552 M
-165.345 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-165.345 262.552 M
-165.649 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-165.649 262.552 M
-165.953 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-165.953 262.552 M
-166.257 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-166.257 262.552 M
-166.56 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-166.56 262.552 M
-166.864 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-166.864 262.552 M
-167.168 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-167.168 262.552 M
-167.472 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-167.472 262.552 M
-167.775 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-167.775 262.552 M
-168.079 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-168.079 262.552 M
-168.383 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-168.383 262.552 M
-168.687 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-168.687 262.552 M
-168.99 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-168.99 262.552 M
-169.294 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-169.294 241.004 M
-169.598 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-169.598 241.004 M
-169.901 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-169.901 241.004 M
-170.205 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-170.205 262.552 M
-170.509 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-170.509 262.552 M
-170.813 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-170.813 262.552 M
-171.116 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-171.116 262.552 M
-171.42 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-171.42 262.552 M
-171.724 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-171.724 262.552 M
-172.028 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-172.028 262.552 M
-172.331 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-172.331 262.552 M
-172.635 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-172.635 262.552 M
-172.939 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-172.939 241.004 M
-173.243 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.243 241.004 M
-173.546 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.546 241.004 M
-173.85 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.85 241.004 M
-174.154 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-174.154 241.004 M
-174.458 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-174.458 241.004 M
-174.761 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-174.761 241.004 M
-175.065 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-175.065 241.004 M
-175.369 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-175.369 241.004 M
-175.672 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-175.672 241.004 M
-175.976 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-175.976 241.004 M
-176.28 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-176.28 241.004 M
-176.584 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-176.584 241.004 M
-176.887 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-176.887 241.004 M
-177.191 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-177.191 241.004 M
-177.495 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-177.495 241.004 M
-177.799 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-177.799 241.004 M
-178.102 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-178.102 241.004 M
-178.406 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-178.406 241.004 M
-178.71 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-178.71 262.552 M
-179.014 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-179.014 284.1 M
-179.317 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-179.317 284.1 M
-179.621 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-179.621 284.1 M
-179.925 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-179.925 284.1 M
-180.229 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-180.229 284.1 M
-180.532 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-180.532 262.552 M
-180.836 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-180.836 262.552 M
-181.14 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-181.14 262.552 M
-181.443 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-181.443 262.552 M
-181.747 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-181.747 262.552 M
-182.051 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-182.051 262.552 M
-182.355 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-182.355 262.552 M
-182.658 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-182.658 262.552 M
-182.962 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-182.962 262.552 M
-183.266 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-183.266 262.552 M
-183.57 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-183.57 262.552 M
-183.873 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-183.873 262.552 M
-184.177 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-184.177 262.552 M
-184.481 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-184.481 262.552 M
-184.785 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-184.785 262.552 M
-185.088 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-185.088 262.552 M
-185.392 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-185.392 262.552 M
-185.696 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-185.696 262.552 M
-186 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-186 262.552 M
-186.303 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-186.303 262.552 M
-186.607 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-186.607 262.552 M
-186.911 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-186.911 284.1 M
-187.214 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-187.214 284.1 M
-187.518 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-187.518 284.1 M
-187.822 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-187.822 284.1 M
-188.126 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-188.126 284.1 M
-188.429 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-188.429 262.552 M
-188.733 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-188.733 262.552 M
-189.037 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-189.037 262.552 M
-189.341 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-189.341 284.1 M
-189.644 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-189.644 284.1 M
-189.948 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-189.948 284.1 M
-190.252 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-190.252 284.1 M
-190.556 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-190.556 284.1 M
-190.859 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-190.859 284.1 M
-191.163 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-191.163 284.1 M
-191.467 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-191.467 284.1 M
-191.771 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-191.771 284.1 M
-192.074 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-192.074 284.1 M
-192.378 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-192.378 284.1 M
-192.682 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-192.682 284.1 M
-192.985 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-192.985 284.1 M
-193.289 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-193.289 284.1 M
-193.593 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-193.593 284.1 M
-193.897 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-193.897 284.1 M
-194.2 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-194.2 284.1 M
-194.504 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-194.504 305.648 M
-194.808 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-194.808 305.648 M
-195.112 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-195.112 305.648 M
-195.415 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-195.415 305.648 M
-195.719 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-195.719 305.648 M
-196.023 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-196.023 305.648 M
-196.327 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-196.327 305.648 M
-196.63 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-196.63 305.648 M
-196.934 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-196.934 305.648 M
-197.238 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-197.238 284.1 M
-197.542 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-197.542 284.1 M
-197.845 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-197.845 284.1 M
-198.149 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-198.149 284.1 M
-198.453 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-198.453 284.1 M
-198.757 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-198.757 262.552 M
-199.06 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-199.06 262.552 M
-199.364 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-199.364 262.552 M
-199.668 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-199.668 284.1 M
-199.971 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-199.971 284.1 M
-200.275 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-200.275 284.1 M
-200.579 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-200.579 284.1 M
-200.883 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-200.883 284.1 M
-201.186 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-201.186 284.1 M
-201.49 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-201.49 284.1 M
-201.794 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-201.794 284.1 M
-202.098 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-202.098 284.1 M
-202.401 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-202.401 284.1 M
-202.705 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-202.705 284.1 M
-203.009 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-203.009 284.1 M
-203.313 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-203.313 284.1 M
-203.616 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-203.616 284.1 M
-203.92 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-203.92 284.1 M
-204.224 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-204.224 284.1 M
-204.528 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-204.528 284.1 M
-204.831 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-204.831 284.1 M
-205.135 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-205.135 284.1 M
-205.439 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-205.439 284.1 M
-205.742 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-205.742 284.1 M
-206.046 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-206.046 284.1 M
-206.35 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-206.35 284.1 M
-206.654 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-206.654 284.1 M
-206.957 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-206.957 284.1 M
-207.261 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-207.261 284.1 M
-207.565 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-207.565 284.1 M
-207.869 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-207.869 284.1 M
-208.172 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-208.172 284.1 M
-208.476 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-208.476 284.1 M
-208.78 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-208.78 284.1 M
-209.084 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-209.084 284.1 M
-209.387 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-209.387 284.1 M
-209.691 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-209.691 284.1 M
-209.995 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-209.995 284.1 M
-210.299 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-210.299 284.1 M
-210.602 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-210.602 284.1 M
-210.906 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-210.906 284.1 M
-211.21 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-211.21 284.1 M
-211.513 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-211.513 284.1 M
-211.817 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-211.817 305.648 M
-212.121 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-212.121 305.648 M
-212.425 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-212.425 305.648 M
-212.728 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-212.728 305.648 M
-213.032 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-213.032 305.648 M
-213.336 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-213.336 305.648 M
-213.64 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-213.64 305.648 M
-213.943 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-213.943 305.648 M
-214.247 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-214.247 305.648 M
-214.551 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-214.551 305.648 M
-214.855 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-214.855 305.648 M
-215.158 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-215.158 305.648 M
-215.462 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-215.462 305.648 M
-215.766 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-215.766 305.648 M
-216.07 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-216.07 305.648 M
-216.373 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-216.373 305.648 M
-216.677 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-216.677 305.648 M
-216.981 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-216.981 305.648 M
-217.284 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-217.284 305.648 M
-217.588 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-217.588 305.648 M
-217.892 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-217.892 305.648 M
-218.196 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-218.196 305.648 M
-218.499 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-218.499 305.648 M
-218.803 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-218.803 305.648 M
-219.107 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-219.107 305.648 M
-219.411 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-219.411 305.648 M
-219.714 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-219.714 305.648 M
-220.018 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-220.018 305.648 M
-220.322 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-220.322 305.648 M
-220.626 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-220.626 305.648 M
-220.929 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-220.929 305.648 M
-221.233 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-221.233 305.648 M
-221.537 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-221.537 305.648 M
-221.841 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-221.841 305.648 M
-222.144 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-222.144 305.648 M
-222.448 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-222.448 305.648 M
-222.752 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-222.752 305.648 M
-223.055 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-223.055 305.648 M
-223.359 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-223.359 305.648 M
-223.663 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-223.663 305.648 M
-223.967 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-223.967 305.648 M
-224.27 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.27 305.648 M
-224.574 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.574 305.648 M
-224.878 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.878 305.648 M
-225.182 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-225.182 305.648 M
-225.485 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-225.485 305.648 M
-225.789 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-225.789 305.648 M
-226.093 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-226.093 305.648 M
-226.397 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-226.397 305.648 M
-226.7 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-226.7 305.648 M
-227.004 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-227.004 305.648 M
-227.308 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-227.308 305.648 M
-227.612 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-227.612 305.648 M
-227.915 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-227.915 305.648 M
-228.219 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-228.219 305.648 M
-228.523 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-228.523 305.648 M
-228.826 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-228.826 305.648 M
-229.13 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-229.13 305.648 M
-229.434 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-229.434 305.648 M
-229.738 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-229.738 305.648 M
-230.041 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.041 305.648 M
-230.345 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.345 305.648 M
-230.649 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.649 305.648 M
-230.953 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.953 305.648 M
-231.256 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-231.256 305.648 M
-231.56 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-231.56 305.648 M
-231.864 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-231.864 305.648 M
-232.168 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-232.168 305.648 M
-232.471 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-232.471 305.648 M
-232.775 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-232.775 305.648 M
-233.079 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-233.079 305.648 M
-233.383 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-233.383 305.648 M
-233.686 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-233.686 305.648 M
-233.99 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-233.99 305.648 M
-234.294 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-234.294 305.648 M
-234.598 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-234.598 305.648 M
-234.901 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-234.901 305.648 M
-235.205 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-235.205 305.648 M
-235.509 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-235.509 305.648 M
-235.812 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-235.812 305.648 M
-236.116 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-236.116 305.648 M
-236.42 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-236.42 305.648 M
-236.724 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-236.724 305.648 M
-237.027 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-237.027 305.648 M
-237.331 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-237.331 305.648 M
-237.635 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-237.635 305.648 M
-237.939 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-237.939 305.648 M
-238.242 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-238.242 305.648 M
-238.546 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-238.546 305.648 M
-238.85 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-238.85 305.648 M
-239.154 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-239.154 305.648 M
-239.457 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-239.457 305.648 M
-239.761 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-239.761 305.648 M
-240.065 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-240.065 305.648 M
-240.369 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-240.369 305.648 M
-240.672 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-240.672 305.648 M
-240.976 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-240.976 305.648 M
-241.28 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-241.28 305.648 M
-241.583 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-241.583 305.648 M
-241.887 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-241.887 305.648 M
-242.191 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-242.191 305.648 M
-242.495 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-242.495 305.648 M
-242.798 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-242.798 305.648 M
-243.102 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-243.102 305.648 M
-243.406 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-243.406 305.648 M
-243.71 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-243.71 305.648 M
-244.013 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-244.013 305.648 M
-244.317 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-244.317 305.648 M
-244.621 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-244.621 305.648 M
-244.925 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-244.925 305.648 M
-245.228 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-245.228 305.648 M
-245.532 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-245.532 305.648 M
-245.836 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-245.836 305.648 M
-246.14 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-246.14 305.648 M
-246.443 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-246.443 305.648 M
-246.747 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-246.747 305.648 M
-247.051 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-247.051 305.648 M
-247.354 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-247.354 305.648 M
-247.658 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-247.658 305.648 M
-247.962 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-247.962 305.648 M
-248.266 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-248.266 305.648 M
-248.569 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-248.569 305.648 M
-248.873 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-248.873 305.648 M
-249.177 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-249.177 305.648 M
-249.481 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-249.481 305.648 M
-249.784 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-249.784 305.648 M
-250.088 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-250.088 305.648 M
-250.392 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-250.392 305.648 M
-250.696 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-250.696 305.648 M
-250.999 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-250.999 305.648 M
-251.303 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-251.303 305.648 M
-251.607 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-251.607 305.648 M
-251.911 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-251.911 284.1 M
-252.214 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-252.214 284.1 M
-252.518 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-252.518 284.1 M
-252.822 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-252.822 284.1 M
-253.125 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-253.125 284.1 M
-253.429 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-253.429 284.1 M
-253.733 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-253.733 284.1 M
-254.037 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-254.037 284.1 M
-254.34 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-254.34 284.1 M
-254.644 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-254.644 284.1 M
-254.948 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-254.948 284.1 M
-255.252 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-255.252 284.1 M
-255.555 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-255.555 284.1 M
-255.859 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-255.859 284.1 M
-256.163 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-256.163 284.1 M
-256.467 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-256.467 284.1 M
-256.77 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-256.77 284.1 M
-257.074 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-257.074 284.1 M
-257.378 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-257.378 284.1 M
-257.682 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-257.682 284.1 M
-257.985 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-257.985 284.1 M
-258.289 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-258.289 284.1 M
-258.593 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-258.593 284.1 M
-258.896 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-258.896 284.1 M
-259.2 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-259.2 284.1 M
-259.504 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-259.504 284.1 M
-259.808 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-259.808 284.1 M
-260.111 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-260.111 284.1 M
-260.415 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-260.415 284.1 M
-260.719 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-260.719 284.1 M
-261.023 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-261.023 284.1 M
-261.326 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-261.326 284.1 M
-261.63 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-261.63 284.1 M
-261.934 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-261.934 284.1 M
-262.238 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-262.238 284.1 M
-262.541 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-262.541 284.1 M
-262.845 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-262.845 284.1 M
-263.149 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-263.149 284.1 M
-263.453 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-263.453 284.1 M
-263.756 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-263.756 284.1 M
-264.06 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-264.06 284.1 M
-264.364 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-264.364 284.1 M
-264.667 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-264.667 284.1 M
-264.971 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-264.971 284.1 M
-265.275 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-265.275 284.1 M
-265.579 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-265.579 284.1 M
-265.882 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-265.882 305.648 M
-266.186 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-266.186 305.648 M
-266.49 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-266.49 305.648 M
-266.794 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-266.794 305.648 M
-267.097 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-267.097 305.648 M
-267.401 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-267.401 305.648 M
-267.705 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-267.705 305.648 M
-268.009 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-268.009 305.648 M
-268.312 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-268.312 305.648 M
-268.616 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-268.616 305.648 M
-268.92 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-268.92 305.648 M
-269.224 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-269.224 305.648 M
-269.527 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-269.527 305.648 M
-269.831 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-269.831 305.648 M
-270.135 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-270.135 305.648 M
-270.438 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-270.438 305.648 M
-270.742 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-270.742 305.648 M
-271.046 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-271.046 305.648 M
-271.35 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-271.35 305.648 M
-271.653 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-271.653 305.648 M
-271.957 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-271.957 305.648 M
-272.261 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-272.261 305.648 M
-272.565 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-272.565 305.648 M
-272.868 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-272.868 305.648 M
-273.172 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-273.172 305.648 M
-273.476 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-273.476 305.648 M
-273.78 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-273.78 305.648 M
-274.083 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-274.083 305.648 M
-274.387 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-274.387 305.648 M
-274.691 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-274.691 305.648 M
-274.995 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-274.995 305.648 M
-275.298 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-275.298 305.648 M
-275.602 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-275.602 305.648 M
-275.906 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-275.906 305.648 M
-276.21 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.21 305.648 M
-276.513 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.513 305.648 M
-276.817 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.817 305.648 M
-277.121 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-277.121 305.648 M
-277.424 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-277.424 305.648 M
-277.728 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-277.728 305.648 M
-278.032 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-278.032 305.648 M
-278.336 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-278.336 305.648 M
-278.639 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-278.639 305.648 M
-278.943 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-278.943 305.648 M
-279.247 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-279.247 305.648 M
-279.551 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-279.551 305.648 M
-279.854 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-279.854 305.648 M
-280.158 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-280.158 305.648 M
-280.462 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-280.462 305.648 M
-280.766 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-280.766 305.648 M
-281.069 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-281.069 305.648 M
-281.373 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-281.373 305.648 M
-281.677 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-281.677 305.648 M
-281.981 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-281.981 305.648 M
-282.284 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-282.284 305.648 M
-282.588 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-282.588 305.648 M
-282.892 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-282.892 305.648 M
-283.195 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-283.195 305.648 M
-283.499 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-283.499 305.648 M
-283.803 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-283.803 305.648 M
-284.107 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-284.107 305.648 M
-284.41 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-284.41 305.648 M
-284.714 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-284.714 305.648 M
-285.018 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-285.018 305.648 M
-285.322 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-285.322 305.648 M
-285.625 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-285.625 305.648 M
-285.929 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-285.929 305.648 M
-286.233 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-286.233 305.648 M
-286.537 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-286.537 305.648 M
-286.84 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-286.84 305.648 M
-287.144 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-287.144 305.648 M
-287.448 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-287.448 305.648 M
-287.752 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-287.752 305.648 M
-288.055 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-288.055 305.648 M
-288.359 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-288.359 305.648 M
-288.663 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-288.663 305.648 M
-288.966 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-288.966 305.648 M
-289.27 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-289.27 305.648 M
-289.574 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-289.574 305.648 M
-289.878 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-289.878 305.648 M
-290.181 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-290.181 305.648 M
-290.485 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-290.485 305.648 M
-290.789 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-290.789 305.648 M
-291.093 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-291.093 305.648 M
-291.396 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-291.396 305.648 M
-291.7 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-291.7 305.648 M
-292.004 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-292.004 305.648 M
-292.308 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-292.308 305.648 M
-292.611 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-292.611 305.648 M
-292.915 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-292.915 305.648 M
-293.219 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-293.219 305.648 M
-293.523 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-293.523 305.648 M
-293.826 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-293.826 305.648 M
-294.13 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-294.13 305.648 M
-294.434 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-294.434 305.648 M
-294.737 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-294.737 305.648 M
-295.041 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-295.041 305.648 M
-295.345 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-295.345 305.648 M
-295.649 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-295.649 305.648 M
-295.952 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-295.952 305.648 M
-296.256 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-296.256 305.648 M
-296.56 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-296.56 305.648 M
-296.864 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-296.864 305.648 M
-297.167 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-297.167 305.648 M
-297.471 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-297.471 305.648 M
-297.775 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-297.775 305.648 M
-298.079 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-298.079 305.648 M
-298.382 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-298.382 305.648 M
-298.686 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-298.686 305.648 M
-298.99 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-298.99 305.648 M
-299.294 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-299.294 305.648 M
-299.597 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-299.597 305.648 M
-299.901 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-299.901 305.648 M
-300.205 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-300.205 305.648 M
-300.508 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-300.508 305.648 M
-300.812 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-300.812 305.648 M
-301.116 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-301.116 305.648 M
-301.42 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-301.42 305.648 M
-301.723 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-301.723 305.648 M
-302.027 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-302.027 305.648 M
-302.331 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-302.331 305.648 M
-302.635 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-302.635 305.648 M
-302.938 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-302.938 305.648 M
-303.242 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-303.242 305.648 M
-303.546 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-303.546 284.1 M
-303.85 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-303.85 284.1 M
-304.153 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-304.153 284.1 M
-304.457 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-304.457 284.1 M
-304.761 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-304.761 284.1 M
-305.065 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-305.065 284.1 M
-305.368 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-305.368 284.1 M
-305.672 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-305.672 284.1 M
-305.976 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-305.976 284.1 M
-306.279 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-306.279 284.1 M
-306.583 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-306.583 284.1 M
-306.887 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-306.887 284.1 M
-307.191 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-307.191 284.1 M
-307.494 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-307.494 284.1 M
-307.798 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-307.798 284.1 M
-308.102 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-308.102 284.1 M
-308.406 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-308.406 284.1 M
-308.709 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-308.709 284.1 M
-309.013 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-309.013 284.1 M
-309.317 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-309.317 284.1 M
-309.621 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-309.621 284.1 M
-309.924 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-309.924 284.1 M
-310.228 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-310.228 284.1 M
-310.532 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-310.532 284.1 M
-310.836 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-310.836 284.1 M
-311.139 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-311.139 284.1 M
-311.443 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-311.443 284.1 M
-311.747 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-311.747 284.1 M
-312.051 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-312.051 284.1 M
-312.354 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-312.354 284.1 M
-312.658 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-312.658 284.1 M
-312.962 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-312.962 284.1 M
-313.265 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-313.265 284.1 M
-313.569 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-313.569 284.1 M
-313.873 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-313.873 284.1 M
-314.177 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-314.177 284.1 M
-314.48 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-314.48 284.1 M
-314.784 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-314.784 284.1 M
-315.088 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-315.088 284.1 M
-315.392 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-315.392 284.1 M
-315.695 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-315.695 284.1 M
-315.999 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-315.999 284.1 M
-316.303 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-316.303 284.1 M
-316.607 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-316.607 284.1 M
-316.91 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-316.91 284.1 M
-317.214 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-317.214 284.1 M
-317.518 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-317.518 284.1 M
-317.822 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-317.822 284.1 M
-318.125 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-318.125 284.1 M
-318.429 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-318.429 284.1 M
-318.733 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-318.733 284.1 M
-319.036 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-319.036 284.1 M
-319.34 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-319.34 284.1 M
-319.644 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-319.644 284.1 M
-319.948 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-319.948 284.1 M
-320.251 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-320.251 284.1 M
-320.555 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-320.555 284.1 M
-320.859 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-320.859 284.1 M
-321.163 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-321.163 284.1 M
-321.466 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-321.466 284.1 M
-321.77 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-321.77 284.1 M
-322.074 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-322.074 284.1 M
-322.378 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-322.378 284.1 M
-322.681 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-322.681 284.1 M
-322.985 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-322.985 284.1 M
-323.289 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-323.289 284.1 M
-323.593 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-323.593 284.1 M
-323.896 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-323.896 284.1 M
-324.2 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-324.2 284.1 M
-324.504 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-324.504 284.1 M
-324.807 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-324.807 284.1 M
-325.111 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-325.111 284.1 M
-325.415 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-325.415 284.1 M
-325.719 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-325.719 284.1 M
-326.022 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-326.022 284.1 M
-326.326 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-326.326 284.1 M
-326.63 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-326.63 284.1 M
-326.934 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-326.934 284.1 M
-327.237 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-327.237 284.1 M
-327.541 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-327.541 284.1 M
-327.845 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-327.845 284.1 M
-328.149 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.149 284.1 M
-328.452 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.452 284.1 M
-328.756 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.756 284.1 M
-329.06 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-329.06 284.1 M
-329.364 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-329.364 284.1 M
-329.667 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-329.667 284.1 M
-329.971 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-329.971 284.1 M
-330.275 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-330.275 284.1 M
-330.578 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-330.578 284.1 M
-330.882 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-330.882 284.1 M
-331.186 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-331.186 284.1 M
-331.49 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-331.49 284.1 M
-331.793 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-331.793 305.648 M
-332.097 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-332.097 305.648 M
-332.401 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-332.401 305.648 M
-332.705 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-332.705 305.648 M
-333.008 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-333.008 305.648 M
-333.312 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-333.312 305.648 M
-333.616 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-333.616 305.648 M
-333.92 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-333.92 305.648 M
-334.223 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-334.223 305.648 M
-334.527 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-334.527 305.648 M
-334.831 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-334.831 305.648 M
-335.135 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-335.135 305.648 M
-335.438 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-335.438 305.648 M
-335.742 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-335.742 305.648 M
-336.046 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-336.046 305.648 M
-336.349 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-336.349 305.648 M
-336.653 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-336.653 305.648 M
-336.957 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-336.957 305.648 M
-337.261 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-337.261 305.648 M
-337.564 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-337.564 305.648 M
-337.868 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-337.868 305.648 M
-338.172 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-338.172 305.648 M
-338.476 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-338.476 305.648 M
-338.779 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-338.779 305.648 M
-339.083 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-339.083 305.648 M
-339.387 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-339.387 305.648 M
-339.691 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-339.691 305.648 M
-339.994 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-339.994 305.648 M
-340.298 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-340.298 305.648 M
-340.602 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-340.602 305.648 M
-340.906 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-340.906 305.648 M
-341.209 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-341.209 305.648 M
-341.513 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-341.513 305.648 M
-341.817 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-341.817 305.648 M
-342.12 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-342.12 305.648 M
-342.424 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-342.424 305.648 M
-342.728 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-342.728 305.648 M
-343.032 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-343.032 305.648 M
-343.335 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-343.335 305.648 M
-343.639 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-343.639 305.648 M
-343.943 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-343.943 305.648 M
-344.247 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-344.247 305.648 M
-344.55 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-344.55 305.648 M
-344.854 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-344.854 305.648 M
-345.158 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-345.158 305.648 M
-345.462 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-345.462 305.648 M
-345.765 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-345.765 305.648 M
-346.069 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-346.069 305.648 M
-346.373 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-346.373 305.648 M
-346.677 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-346.677 305.648 M
-346.98 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-346.98 305.648 M
-347.284 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-347.284 305.648 M
-347.588 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-347.588 305.648 M
-347.891 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-347.891 305.648 M
-348.195 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-348.195 305.648 M
-348.499 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-348.499 305.648 M
-348.803 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-348.803 305.648 M
-349.106 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-349.106 305.648 M
-349.41 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-349.41 305.648 M
-349.714 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-349.714 305.648 M
-350.018 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-350.018 305.648 M
-350.321 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-350.321 305.648 M
-350.625 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-350.625 305.648 M
-350.929 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-350.929 305.648 M
-351.233 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-351.233 305.648 M
-351.536 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-351.536 305.648 M
-351.84 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-351.84 305.648 M
-352.144 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-352.144 305.648 M
-352.448 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-352.448 305.648 M
-352.751 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-352.751 305.648 M
-353.055 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-353.055 305.648 M
-353.359 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-353.359 305.648 M
-353.663 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-353.663 305.648 M
-353.966 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-353.966 305.648 M
-354.27 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-354.27 305.648 M
-354.574 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-354.574 305.648 M
-354.877 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-354.877 305.648 M
-355.181 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-355.181 305.648 M
-355.485 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-355.485 305.648 M
-355.789 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-355.789 305.648 M
-356.092 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-356.092 305.648 M
-356.396 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-356.396 305.648 M
-356.7 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-356.7 284.1 M
-357.004 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-357.004 284.1 M
-357.307 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-357.307 284.1 M
-357.611 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-357.611 284.1 M
-357.915 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-357.915 284.1 M
-358.219 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-358.219 284.1 M
-358.522 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-358.522 284.1 M
-358.826 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-358.826 284.1 M
-359.13 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-359.13 284.1 M
-359.434 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-359.434 284.1 M
-359.737 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-359.737 284.1 M
-360.041 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-360.041 284.1 M
-360.345 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-360.345 284.1 M
-360.648 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-360.648 284.1 M
-360.952 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-360.952 284.1 M
-361.256 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-361.256 284.1 M
-361.56 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-361.56 284.1 M
-361.863 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-361.863 284.1 M
-362.167 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-362.167 284.1 M
-362.471 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-362.471 284.1 M
-362.775 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-362.775 284.1 M
-363.078 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-363.078 284.1 M
-363.382 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-363.382 284.1 M
-363.686 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-363.686 284.1 M
-363.99 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-56 305.648 M
-56.304 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-56.304 305.648 M
-56.607 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-56.607 305.648 M
-56.911 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-56.911 305.648 M
-57.215 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-57.215 305.648 M
-57.519 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-57.519 305.648 M
-57.822 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-57.822 305.648 M
-58.126 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-58.126 305.648 M
-58.43 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-58.43 305.648 M
-58.734 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-58.734 197.907 M
-59.037 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-59.037 197.907 M
-59.341 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-59.341 197.907 M
-59.645 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-59.645 197.907 M
-59.949 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-59.949 197.907 M
-60.252 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-60.252 197.907 M
-60.556 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-60.556 197.907 M
-60.86 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-60.86 197.907 M
-61.164 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-61.164 197.907 M
-61.467 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-61.467 197.907 M
-61.771 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-61.771 197.907 M
-62.075 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-62.075 197.907 M
-62.378 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-62.378 197.907 M
-62.682 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-62.682 197.907 M
-62.986 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-62.986 197.907 M
-63.29 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-63.29 197.907 M
-63.593 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-63.593 197.907 M
-63.897 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-63.897 133.263 M
-64.201 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-64.201 133.263 M
-64.505 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-64.505 133.263 M
-64.808 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-64.808 133.263 M
-65.112 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-65.112 133.263 M
-65.416 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-65.416 133.263 M
-65.72 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-65.72 133.263 M
-66.023 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-66.023 133.263 M
-66.327 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-66.327 133.263 M
-66.631 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-66.631 133.263 M
-66.935 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-66.935 133.263 M
-67.238 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-67.238 133.263 M
-67.542 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-67.542 133.263 M
-67.846 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-67.846 133.263 M
-68.149 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-68.149 133.263 M
-68.453 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-68.453 133.263 M
-68.757 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-68.757 133.263 M
-69.061 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.061 133.263 M
-69.364 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.364 197.907 M
-69.668 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.668 197.907 M
-69.972 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.972 219.455 M
-70.276 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-70.276 219.455 M
-70.579 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-70.579 219.455 M
-70.883 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-70.883 219.455 M
-71.187 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-71.187 219.455 M
-71.491 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-71.491 219.455 M
-71.794 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-71.794 219.455 M
-72.098 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-72.098 219.455 M
-72.402 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-72.402 219.455 M
-72.706 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-72.706 219.455 M
-73.009 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-73.009 219.455 M
-73.313 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-73.313 219.455 M
-73.617 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-73.617 219.455 M
-73.92 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-73.92 219.455 M
-74.224 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-74.224 219.455 M
-74.528 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-74.528 219.455 M
-74.832 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-74.832 219.455 M
-75.135 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-75.135 219.455 M
-75.439 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-75.439 219.455 M
-75.743 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-75.743 219.455 M
-76.047 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-76.047 219.455 M
-76.35 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-76.35 241.004 M
-76.654 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-76.654 241.004 M
-76.958 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-76.958 241.004 M
-77.262 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-77.262 241.004 M
-77.565 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-77.565 241.004 M
-77.869 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-77.869 241.004 M
-78.173 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-78.173 241.004 M
-78.477 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-78.477 241.004 M
-78.78 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-78.78 241.004 M
-79.084 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-79.084 241.004 M
-79.388 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-79.388 241.004 M
-79.692 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-79.692 241.004 M
-79.995 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-79.995 262.552 M
-80.299 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-80.299 262.552 M
-80.603 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-80.603 262.552 M
-80.906 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-80.906 262.552 M
-81.21 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-81.21 262.552 M
-81.514 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-81.514 262.552 M
-81.818 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-81.818 262.552 M
-82.121 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-82.121 262.552 M
-82.425 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-82.425 262.552 M
-82.729 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-82.729 262.552 M
-83.033 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.033 262.552 M
-83.336 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.336 262.552 M
-83.64 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.64 262.552 M
-83.944 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.944 262.552 M
-84.248 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-84.248 262.552 M
-84.551 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-84.551 262.552 M
-84.855 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-84.855 262.552 M
-85.159 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-85.159 305.648 M
-85.463 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-85.463 305.648 M
-85.766 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-85.766 305.648 M
-86.07 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-86.07 305.648 M
-86.374 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-86.374 305.648 M
-86.677 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-86.677 305.648 M
-86.981 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-86.981 305.648 M
-87.285 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-87.285 305.648 M
-87.589 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-87.589 305.648 M
-87.892 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-87.892 305.648 M
-88.196 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-88.196 305.648 M
-88.5 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-88.5 305.648 M
-88.804 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-88.804 305.648 M
-89.107 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-89.107 305.648 M
-89.411 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-89.411 305.648 M
-89.715 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-89.715 305.648 M
-90.019 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-90.019 305.648 M
-90.322 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-90.322 305.648 M
-90.626 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-90.626 305.648 M
-90.93 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-90.93 305.648 M
-91.234 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-91.234 305.648 M
-91.537 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-91.537 305.648 M
-91.841 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-91.841 305.648 M
-92.145 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-92.145 305.648 M
-92.448 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-92.448 305.648 M
-92.752 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-92.752 305.648 M
-93.056 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-93.056 305.648 M
-93.36 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-93.36 305.648 M
-93.663 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-93.663 305.648 M
-93.967 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-93.967 305.648 M
-94.271 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-94.271 305.648 M
-94.575 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-94.575 305.648 M
-94.878 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-94.878 305.648 M
-95.182 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-95.182 305.648 M
-95.486 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-95.486 305.648 M
-95.79 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-95.79 305.648 M
-96.093 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-96.093 305.648 M
-96.397 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-96.397 305.648 M
-96.701 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-96.701 197.907 M
-97.005 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-97.005 219.455 M
-97.308 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-97.308 219.455 M
-97.612 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-97.612 219.455 M
-97.916 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-97.916 219.455 M
-98.219 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-98.219 219.455 M
-98.523 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-98.523 219.455 M
-98.827 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-98.827 219.455 M
-99.131 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-99.131 219.455 M
-99.434 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-99.434 219.455 M
-99.738 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-99.738 219.455 M
-100.042 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-100.042 219.455 M
-100.346 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-100.346 219.455 M
-100.649 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-100.649 219.455 M
-100.953 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-100.953 219.455 M
-101.257 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-101.257 219.455 M
-101.561 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-101.561 219.455 M
-101.864 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-101.864 219.455 M
-102.168 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-102.168 219.455 M
-102.472 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-102.472 219.455 M
-102.776 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-102.776 219.455 M
-103.079 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-103.079 219.455 M
-103.383 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-103.383 219.455 M
-103.687 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-103.687 219.455 M
-103.99 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-103.99 219.455 M
-104.294 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-104.294 219.455 M
-104.598 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-104.598 219.455 M
-104.902 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-104.902 219.455 M
-105.205 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-105.205 219.455 M
-105.509 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-105.509 219.455 M
-105.813 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-105.813 219.455 M
-106.117 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-106.117 219.455 M
-106.42 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-106.42 219.455 M
-106.724 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-106.724 219.455 M
-107.028 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-107.028 219.455 M
-107.332 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-107.332 241.004 M
-107.635 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-107.635 241.004 M
-107.939 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-107.939 241.004 M
-108.243 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-108.243 241.004 M
-108.547 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-108.547 241.004 M
-108.85 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-108.85 241.004 M
-109.154 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-109.154 241.004 M
-109.458 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-109.458 241.004 M
-109.761 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-109.761 241.004 M
-110.065 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-110.065 241.004 M
-110.369 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-110.369 241.004 M
-110.673 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-110.673 241.004 M
-110.976 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-110.976 241.004 M
-111.28 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-111.28 241.004 M
-111.584 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-111.584 241.004 M
-111.888 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-111.888 241.004 M
-112.191 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-112.191 241.004 M
-112.495 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-112.495 241.004 M
-112.799 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-112.799 241.004 M
-113.103 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-113.103 241.004 M
-113.406 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-113.406 241.004 M
-113.71 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-113.71 241.004 M
-114.014 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-114.014 241.004 M
-114.318 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-114.318 241.004 M
-114.621 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-114.621 197.907 M
-114.925 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-114.925 197.907 M
-115.229 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-115.229 197.907 M
-115.533 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-115.533 197.907 M
-115.836 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-115.836 197.907 M
-116.14 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-116.14 197.907 M
-116.444 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-116.444 197.907 M
-116.747 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-116.747 197.907 M
-117.051 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-117.051 197.907 M
-117.355 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-117.355 197.907 M
-117.659 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-117.659 197.907 M
-117.962 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-117.962 197.907 M
-118.266 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-118.266 197.907 M
-118.57 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-118.57 219.455 M
-118.874 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-118.874 219.455 M
-119.177 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-119.177 219.455 M
-119.481 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-119.481 219.455 M
-119.785 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-119.785 219.455 M
-120.089 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-120.089 219.455 M
-120.392 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-120.392 219.455 M
-120.696 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-120.696 219.455 M
-121 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121 219.455 M
-121.304 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.304 219.455 M
-121.607 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.607 219.455 M
-121.911 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.911 219.455 M
-122.215 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-122.215 219.455 M
-122.518 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-122.518 219.455 M
-122.822 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-122.822 219.455 M
-123.126 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-123.126 219.455 M
-123.43 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-123.43 219.455 M
-123.733 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-123.733 219.455 M
-124.037 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-124.037 219.455 M
-124.341 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-124.341 219.455 M
-124.645 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-124.645 219.455 M
-124.948 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-124.948 219.455 M
-125.252 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-125.252 219.455 M
-125.556 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-125.556 219.455 M
-125.86 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-125.86 219.455 M
-126.163 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-126.163 219.455 M
-126.467 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-126.467 219.455 M
-126.771 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-126.771 219.455 M
-127.075 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-127.075 219.455 M
-127.378 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-127.378 219.455 M
-127.682 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-127.682 219.455 M
-127.986 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-127.986 219.455 M
-128.289 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-128.289 219.455 M
-128.593 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-128.593 241.004 M
-128.897 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-128.897 241.004 M
-129.201 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-129.201 241.004 M
-129.504 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-129.504 241.004 M
-129.808 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-129.808 241.004 M
-130.112 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-130.112 241.004 M
-130.416 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-130.416 241.004 M
-130.719 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-130.719 241.004 M
-131.023 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-131.023 241.004 M
-131.327 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-131.327 241.004 M
-131.631 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-131.631 241.004 M
-131.934 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-131.934 241.004 M
-132.238 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-132.238 241.004 M
-132.542 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-132.542 241.004 M
-132.846 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-132.846 241.004 M
-133.149 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-133.149 241.004 M
-133.453 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-133.453 241.004 M
-133.757 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-133.757 241.004 M
-134.06 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-134.06 241.004 M
-134.364 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-134.364 241.004 M
-134.668 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-134.668 241.004 M
-134.972 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-134.972 241.004 M
-135.275 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-135.275 241.004 M
-135.579 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-135.579 241.004 M
-135.883 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-135.883 262.552 M
-136.187 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-136.187 284.1 M
-136.49 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-136.49 284.1 M
-136.794 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-136.794 284.1 M
-137.098 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-137.098 284.1 M
-137.402 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-137.402 284.1 M
-137.705 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-137.705 284.1 M
-138.009 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-138.009 284.1 M
-138.313 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-138.313 284.1 M
-138.617 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-138.617 284.1 M
-138.92 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-138.92 284.1 M
-139.224 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-139.224 284.1 M
-139.528 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-139.528 284.1 M
-139.831 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-139.831 284.1 M
-140.135 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-140.135 284.1 M
-140.439 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-140.439 284.1 M
-140.743 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-140.743 284.1 M
-141.046 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-141.046 197.907 M
-141.35 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-141.35 176.359 M
-141.654 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-141.654 197.907 M
-141.958 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-141.958 176.359 M
-142.261 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-142.261 176.359 M
-142.565 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-142.565 176.359 M
-142.869 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-142.869 176.359 M
-143.173 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-143.173 176.359 M
-143.476 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-143.476 176.359 M
-143.78 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-143.78 176.359 M
-144.084 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-144.084 176.359 M
-144.388 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-144.388 176.359 M
-144.691 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-144.691 176.359 M
-144.995 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-144.995 176.359 M
-145.299 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-145.299 176.359 M
-145.602 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-145.602 176.359 M
-145.906 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-145.906 176.359 M
-146.21 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-146.21 176.359 M
-146.514 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-146.514 176.359 M
-146.817 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-146.817 176.359 M
-147.121 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-147.121 176.359 M
-147.425 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-147.425 176.359 M
-147.729 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-147.729 176.359 M
-148.032 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-148.032 176.359 M
-148.336 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-148.336 176.359 M
-148.64 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-148.64 176.359 M
-148.944 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-148.944 176.359 M
-149.247 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-149.247 176.359 M
-149.551 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-149.551 176.359 M
-149.855 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-149.855 176.359 M
-150.159 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-150.159 176.359 M
-150.462 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-150.462 176.359 M
-150.766 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-150.766 176.359 M
-151.07 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-151.07 176.359 M
-151.373 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-151.373 176.359 M
-151.677 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-151.677 197.907 M
-151.981 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-151.981 219.455 M
-152.285 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-152.285 219.455 M
-152.588 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-152.588 219.455 M
-152.892 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-152.892 219.455 M
-153.196 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-153.196 241.004 M
-153.5 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-153.5 241.004 M
-153.803 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-153.803 241.004 M
-154.107 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-154.107 241.004 M
-154.411 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-154.411 241.004 M
-154.715 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-154.715 241.004 M
-155.018 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-155.018 241.004 M
-155.322 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-155.322 241.004 M
-155.626 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-155.626 241.004 M
-155.93 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-155.93 241.004 M
-156.233 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-156.233 241.004 M
-156.537 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-156.537 241.004 M
-156.841 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-156.841 241.004 M
-157.145 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-157.145 241.004 M
-157.448 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-157.448 241.004 M
-157.752 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-157.752 241.004 M
-158.056 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-158.056 241.004 M
-158.359 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-158.359 241.004 M
-158.663 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-158.663 241.004 M
-158.967 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-158.967 241.004 M
-159.271 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-159.271 241.004 M
-159.574 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-159.574 241.004 M
-159.878 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-159.878 241.004 M
-160.182 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-160.182 241.004 M
-160.486 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-160.486 262.552 M
-160.789 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-160.789 262.552 M
-161.093 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-161.093 262.552 M
-161.397 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-161.397 262.552 M
-161.701 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-161.701 262.552 M
-162.004 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-162.004 262.552 M
-162.308 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-162.308 284.1 M
-162.612 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-162.612 284.1 M
-162.916 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-162.916 284.1 M
-163.219 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-163.219 284.1 M
-163.523 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-163.523 284.1 M
-163.827 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-163.827 284.1 M
-164.13 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-164.13 284.1 M
-164.434 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-164.434 284.1 M
-164.738 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-164.738 284.1 M
-165.042 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-165.042 284.1 M
-165.345 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-165.345 284.1 M
-165.649 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-165.649 284.1 M
-165.953 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-165.953 284.1 M
-166.257 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-166.257 284.1 M
-166.56 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-166.56 284.1 M
-166.864 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-166.864 284.1 M
-167.168 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-167.168 284.1 M
-167.472 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-167.472 284.1 M
-167.775 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-167.775 219.455 M
-168.079 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-168.079 219.455 M
-168.383 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-168.383 219.455 M
-168.687 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-168.687 219.455 M
-168.99 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-168.99 219.455 M
-169.294 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-169.294 219.455 M
-169.598 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-169.598 219.455 M
-169.901 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-169.901 219.455 M
-170.205 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-170.205 219.455 M
-170.509 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-170.509 219.455 M
-170.813 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-170.813 219.455 M
-171.116 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-171.116 219.455 M
-171.42 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-171.42 219.455 M
-171.724 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-171.724 219.455 M
-172.028 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-172.028 219.455 M
-172.331 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-172.331 219.455 M
-172.635 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-172.635 133.263 M
-172.939 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-172.939 176.359 M
-173.243 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.243 176.359 M
-173.546 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.546 176.359 M
-173.85 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.85 176.359 M
-174.154 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-174.154 176.359 M
-174.458 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-174.458 176.359 M
-174.761 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-174.761 176.359 M
-175.065 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-175.065 176.359 M
-175.369 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-175.369 176.359 M
-175.672 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-175.672 176.359 M
-175.976 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-175.976 176.359 M
-176.28 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-176.28 176.359 M
-176.584 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-176.584 176.359 M
-176.887 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-176.887 176.359 M
-177.191 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-177.191 176.359 M
-177.495 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-177.495 176.359 M
-177.799 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-177.799 176.359 M
-178.102 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-178.102 176.359 M
-178.406 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-178.406 176.359 M
-178.71 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-178.71 176.359 M
-179.014 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-179.014 176.359 M
-179.317 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-179.317 176.359 M
-179.621 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-179.621 176.359 M
-179.925 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-179.925 176.359 M
-180.229 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-180.229 176.359 M
-180.532 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-180.532 176.359 M
-180.836 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-180.836 176.359 M
-181.14 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-181.14 176.359 M
-181.443 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-181.443 176.359 M
-181.747 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-181.747 176.359 M
-182.051 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-182.051 176.359 M
-182.355 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-182.355 176.359 M
-182.658 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-182.658 176.359 M
-182.962 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-182.962 176.359 M
-183.266 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-183.266 219.455 M
-183.57 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-183.57 219.455 M
-183.873 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-183.873 219.455 M
-184.177 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-184.177 219.455 M
-184.481 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-184.481 219.455 M
-184.785 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-184.785 219.455 M
-185.088 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-185.088 219.455 M
-185.392 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-185.392 219.455 M
-185.696 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-185.696 219.455 M
-186 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-186 219.455 M
-186.303 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-186.303 219.455 M
-186.607 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-186.607 219.455 M
-186.911 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-186.911 219.455 M
-187.214 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-187.214 219.455 M
-187.518 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-187.518 219.455 M
-187.822 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-187.822 219.455 M
-188.126 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-188.126 219.455 M
-188.429 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-188.429 219.455 M
-188.733 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-188.733 219.455 M
-189.037 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-189.037 262.552 M
-189.341 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-189.341 262.552 M
-189.644 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-189.644 262.552 M
-189.948 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-189.948 262.552 M
-190.252 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-190.252 262.552 M
-190.556 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-190.556 262.552 M
-190.859 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-190.859 262.552 M
-191.163 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-191.163 262.552 M
-191.467 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-191.467 262.552 M
-191.771 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-191.771 262.552 M
-192.074 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-192.074 262.552 M
-192.378 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-192.378 262.552 M
-192.682 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-192.682 262.552 M
-192.985 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-192.985 262.552 M
-193.289 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-193.289 262.552 M
-193.593 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-193.593 262.552 M
-193.897 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-193.897 262.552 M
-194.2 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-194.2 262.552 M
-194.504 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-194.504 262.552 M
-194.808 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-194.808 262.552 M
-195.112 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-195.112 262.552 M
-195.415 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-195.415 262.552 M
-195.719 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-195.719 262.552 M
-196.023 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-196.023 262.552 M
-196.327 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-196.327 262.552 M
-196.63 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-196.63 262.552 M
-196.934 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-196.934 262.552 M
-197.238 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-197.238 262.552 M
-197.542 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-197.542 262.552 M
-197.845 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-197.845 262.552 M
-198.149 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-198.149 262.552 M
-198.453 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-198.453 262.552 M
-198.757 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-198.757 262.552 M
-199.06 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-199.06 262.552 M
-199.364 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-199.364 262.552 M
-199.668 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-199.668 284.1 M
-199.971 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-199.971 284.1 M
-200.275 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-200.275 284.1 M
-200.579 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-200.579 284.1 M
-200.883 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-200.883 284.1 M
-201.186 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-201.186 284.1 M
-201.49 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-201.49 284.1 M
-201.794 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-201.794 284.1 M
-202.098 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-202.098 284.1 M
-202.401 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-202.401 284.1 M
-202.705 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-202.705 284.1 M
-203.009 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-203.009 284.1 M
-203.313 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-203.313 284.1 M
-203.616 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-203.616 284.1 M
-203.92 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-203.92 284.1 M
-204.224 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-204.224 305.648 M
-204.528 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-204.528 305.648 M
-204.831 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-204.831 305.648 M
-205.135 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-205.135 305.648 M
-205.439 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-205.439 305.648 M
-205.742 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-205.742 305.648 M
-206.046 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-206.046 305.648 M
-206.35 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-206.35 305.648 M
-206.654 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-206.654 305.648 M
-206.957 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-206.957 305.648 M
-207.261 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-207.261 305.648 M
-207.565 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-207.565 305.648 M
-207.869 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-207.869 305.648 M
-208.172 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-208.172 305.648 M
-208.476 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-208.476 305.648 M
-208.78 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-208.78 305.648 M
-209.084 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-209.084 305.648 M
-209.387 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-209.387 305.648 M
-209.691 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-209.691 305.648 M
-209.995 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-209.995 305.648 M
-210.299 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-210.299 305.648 M
-210.602 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-210.602 305.648 M
-210.906 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-210.906 305.648 M
-211.21 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-211.21 305.648 M
-211.513 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-211.513 305.648 M
-211.817 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-211.817 305.648 M
-212.121 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-212.121 305.648 M
-212.425 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-212.425 305.648 M
-212.728 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-212.728 305.648 M
-213.032 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-213.032 305.648 M
-213.336 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-213.336 305.648 M
-213.64 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-213.64 305.648 M
-213.943 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-213.943 305.648 M
-214.247 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-214.247 305.648 M
-214.551 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-214.551 305.648 M
-214.855 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-214.855 305.648 M
-215.158 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-215.158 305.648 M
-215.462 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-215.462 305.648 M
-215.766 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-215.766 305.648 M
-216.07 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-216.07 219.455 M
-216.373 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-216.373 219.455 M
-216.677 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-216.677 219.455 M
-216.981 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-216.981 219.455 M
-217.284 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-217.284 219.455 M
-217.588 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-217.588 219.455 M
-217.892 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-217.892 219.455 M
-218.196 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-218.196 219.455 M
-218.499 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-218.499 219.455 M
-218.803 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-218.803 219.455 M
-219.107 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-219.107 219.455 M
-219.411 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-219.411 219.455 M
-219.714 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-219.714 219.455 M
-220.018 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-220.018 219.455 M
-220.322 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-220.322 219.455 M
-220.626 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-220.626 219.455 M
-220.929 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-220.929 219.455 M
-221.233 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-221.233 219.455 M
-221.537 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-221.537 219.455 M
-221.841 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-221.841 219.455 M
-222.144 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-222.144 219.455 M
-222.448 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-222.448 219.455 M
-222.752 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-222.752 219.455 M
-223.055 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-223.055 219.455 M
-223.359 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-223.359 219.455 M
-223.663 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-223.663 219.455 M
-223.967 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-223.967 219.455 M
-224.27 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.27 219.455 M
-224.574 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.574 219.455 M
-224.878 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.878 219.455 M
-225.182 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-225.182 219.455 M
-225.485 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-225.485 219.455 M
-225.789 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-225.789 219.455 M
-226.093 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-226.093 219.455 M
-226.397 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-226.397 219.455 M
-226.7 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-226.7 219.455 M
-227.004 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-227.004 219.455 M
-227.308 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-227.308 219.455 M
-227.612 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-227.612 219.455 M
-227.915 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-227.915 219.455 M
-228.219 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-228.219 219.455 M
-228.523 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-228.523 219.455 M
-228.826 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-228.826 219.455 M
-229.13 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-229.13 219.455 M
-229.434 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-229.434 219.455 M
-229.738 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-229.738 219.455 M
-230.041 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.041 219.455 M
-230.345 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.345 219.455 M
-230.649 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.649 219.455 M
-230.953 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.953 219.455 M
-231.256 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-231.256 219.455 M
-231.56 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-231.56 219.455 M
-231.864 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-231.864 219.455 M
-232.168 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-232.168 219.455 M
-232.471 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-232.471 219.455 M
-232.775 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-232.775 219.455 M
-233.079 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-233.079 219.455 M
-233.383 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-233.383 219.455 M
-233.686 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-233.686 219.455 M
-233.99 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-233.99 219.455 M
-234.294 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-234.294 219.455 M
-234.598 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-234.598 219.455 M
-234.901 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-234.901 219.455 M
-235.205 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-235.205 219.455 M
-235.509 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-235.509 219.455 M
-235.812 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-235.812 219.455 M
-236.116 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-236.116 219.455 M
-236.42 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-236.42 219.455 M
-236.724 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-236.724 219.455 M
-237.027 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-237.027 219.455 M
-237.331 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-237.331 262.552 M
-237.635 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-237.635 262.552 M
-237.939 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-237.939 262.552 M
-238.242 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-238.242 262.552 M
-238.546 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-238.546 262.552 M
-238.85 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-238.85 262.552 M
-239.154 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-239.154 284.1 M
-239.457 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-239.457 284.1 M
-239.761 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-239.761 284.1 M
-240.065 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-240.065 284.1 M
-240.369 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-240.369 284.1 M
-240.672 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-240.672 284.1 M
-240.976 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-240.976 284.1 M
-241.28 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-241.28 284.1 M
-241.583 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-241.583 284.1 M
-241.887 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-241.887 284.1 M
-242.191 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-242.191 284.1 M
-242.495 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-242.495 284.1 M
-242.798 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-242.798 284.1 M
-243.102 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-243.102 284.1 M
-243.406 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-243.406 284.1 M
-243.71 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-243.71 284.1 M
-244.013 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-244.013 284.1 M
-244.317 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-244.317 284.1 M
-244.621 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-244.621 284.1 M
-244.925 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-244.925 284.1 M
-245.228 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-245.228 284.1 M
-245.532 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-245.532 284.1 M
-245.836 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-245.836 284.1 M
-246.14 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-246.14 284.1 M
-246.443 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-246.443 284.1 M
-246.747 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-246.747 284.1 M
-247.051 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-247.051 284.1 M
-247.354 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-247.354 284.1 M
-247.658 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-247.658 284.1 M
-247.962 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-247.962 305.648 M
-248.266 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-248.266 305.648 M
-248.569 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-248.569 305.648 M
-248.873 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-248.873 305.648 M
-249.177 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-249.177 305.648 M
-249.481 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-249.481 305.648 M
-249.784 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-249.784 305.648 M
-250.088 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-250.088 305.648 M
-250.392 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-250.392 305.648 M
-250.696 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-250.696 305.648 M
-250.999 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-250.999 305.648 M
-251.303 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-251.303 305.648 M
-251.607 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-251.607 305.648 M
-251.911 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-251.911 305.648 M
-252.214 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-252.214 305.648 M
-252.518 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-252.518 305.648 M
-252.822 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-252.822 305.648 M
-253.125 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-253.125 305.648 M
-253.429 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-253.429 305.648 M
-253.733 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-253.733 305.648 M
-254.037 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-254.037 305.648 M
-254.34 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-254.34 305.648 M
-254.644 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-254.644 305.648 M
-254.948 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-254.948 305.648 M
-255.252 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-255.252 305.648 M
-255.555 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-255.555 305.648 M
-255.859 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-255.859 305.648 M
-256.163 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-256.163 305.648 M
-256.467 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-256.467 305.648 M
-256.77 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-256.77 305.648 M
-257.074 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-257.074 305.648 M
-257.378 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-257.378 305.648 M
-257.682 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-257.682 305.648 M
-257.985 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-257.985 305.648 M
-258.289 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-258.289 305.648 M
-258.593 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-258.593 305.648 M
-258.896 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-258.896 305.648 M
-259.2 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-259.2 305.648 M
-259.504 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-259.504 305.648 M
-259.808 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-259.808 305.648 M
-260.111 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-260.111 241.004 M
-260.415 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-260.415 241.004 M
-260.719 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-260.719 241.004 M
-261.023 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-261.023 241.004 M
-261.326 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-261.326 154.811 M
-261.63 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-261.63 154.811 M
-261.934 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-261.934 176.359 M
-262.238 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-262.238 176.359 M
-262.541 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-262.541 176.359 M
-262.845 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-262.845 176.359 M
-263.149 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-263.149 176.359 M
-263.453 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-263.453 176.359 M
-263.756 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-263.756 176.359 M
-264.06 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-264.06 176.359 M
-264.364 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-264.364 176.359 M
-264.667 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-264.667 176.359 M
-264.971 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-264.971 176.359 M
-265.275 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-265.275 176.359 M
-265.579 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-265.579 176.359 M
-265.882 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-265.882 176.359 M
-266.186 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-266.186 176.359 M
-266.49 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-266.49 176.359 M
-266.794 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-266.794 176.359 M
-267.097 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-267.097 176.359 M
-267.401 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-267.401 176.359 M
-267.705 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-267.705 176.359 M
-268.009 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-268.009 176.359 M
-268.312 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-268.312 176.359 M
-268.616 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-268.616 176.359 M
-268.92 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-268.92 176.359 M
-269.224 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-269.224 176.359 M
-269.527 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-269.527 176.359 M
-269.831 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-269.831 176.359 M
-270.135 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-270.135 176.359 M
-270.438 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-270.438 176.359 M
-270.742 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-270.742 197.907 M
-271.046 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-271.046 219.455 M
-271.35 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-271.35 219.455 M
-271.653 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-271.653 219.455 M
-271.957 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-271.957 241.004 M
-272.261 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-272.261 262.552 M
-272.565 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-272.565 262.552 M
-272.868 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-272.868 262.552 M
-273.172 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-273.172 262.552 M
-273.476 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-273.476 262.552 M
-273.78 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-273.78 262.552 M
-274.083 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-274.083 262.552 M
-274.387 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-274.387 262.552 M
-274.691 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-274.691 262.552 M
-274.995 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-274.995 262.552 M
-275.298 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-275.298 262.552 M
-275.602 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-275.602 262.552 M
-275.906 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-275.906 262.552 M
-276.21 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.21 262.552 M
-276.513 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.513 262.552 M
-276.817 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.817 262.552 M
-277.121 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-277.121 262.552 M
-277.424 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-277.424 262.552 M
-277.728 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-277.728 262.552 M
-278.032 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-278.032 262.552 M
-278.336 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-278.336 262.552 M
-278.639 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-278.639 262.552 M
-278.943 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-278.943 262.552 M
-279.247 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-279.247 262.552 M
-279.551 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-279.551 262.552 M
-279.854 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-279.854 262.552 M
-280.158 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-280.158 262.552 M
-280.462 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-280.462 262.552 M
-280.766 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-280.766 262.552 M
-281.069 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-281.069 262.552 M
-281.373 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-281.373 262.552 M
-281.677 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-281.677 262.552 M
-281.981 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-281.981 262.552 M
-282.284 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-282.284 262.552 M
-282.588 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-282.588 262.552 M
-282.892 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-282.892 262.552 M
-283.195 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-283.195 241.004 M
-283.499 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-283.499 262.552 M
-283.803 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-283.803 262.552 M
-284.107 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-284.107 241.004 M
-284.41 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-284.41 241.004 M
-284.714 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-284.714 241.004 M
-285.018 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-285.018 241.004 M
-285.322 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-285.322 241.004 M
-285.625 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-285.625 241.004 M
-285.929 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-285.929 241.004 M
-286.233 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-286.233 241.004 M
-286.537 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-286.537 241.004 M
-286.84 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-286.84 241.004 M
-287.144 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-287.144 241.004 M
-287.448 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-287.448 219.455 M
-287.752 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-287.752 219.455 M
-288.055 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-288.055 219.455 M
-288.359 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-288.359 219.455 M
-288.663 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-288.663 219.455 M
-288.966 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-288.966 219.455 M
-289.27 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-289.27 219.455 M
-289.574 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-289.574 219.455 M
-289.878 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-289.878 219.455 M
-290.181 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-290.181 219.455 M
-290.485 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-290.485 219.455 M
-290.789 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-290.789 219.455 M
-291.093 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-291.093 219.455 M
-291.396 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-291.396 219.455 M
-291.7 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-291.7 219.455 M
-292.004 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-292.004 241.004 M
-292.308 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-292.308 241.004 M
-292.611 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-292.611 241.004 M
-292.915 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-292.915 241.004 M
-293.219 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-293.219 262.552 M
-293.523 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-293.523 262.552 M
-293.826 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-293.826 219.455 M
-294.13 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-294.13 219.455 M
-294.434 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-294.434 219.455 M
-294.737 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-294.737 241.004 M
-295.041 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-295.041 241.004 M
-295.345 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-295.345 241.004 M
-295.649 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-295.649 241.004 M
-295.952 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-295.952 241.004 M
-296.256 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-296.256 241.004 M
-296.56 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-296.56 241.004 M
-296.864 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-296.864 241.004 M
-297.167 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-297.167 241.004 M
-297.471 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-297.471 241.004 M
-297.775 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-297.775 241.004 M
-298.079 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-298.079 197.907 M
-298.382 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-298.382 197.907 M
-298.686 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-298.686 197.907 M
-298.99 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-298.99 197.907 M
-299.294 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-299.294 197.907 M
-299.597 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-299.597 197.907 M
-299.901 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-299.901 197.907 M
-300.205 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-300.205 197.907 M
-300.508 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-300.508 197.907 M
-300.812 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-300.812 197.907 M
-301.116 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-301.116 197.907 M
-301.42 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-301.42 197.907 M
-301.723 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-301.723 197.907 M
-302.027 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-302.027 197.907 M
-302.331 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-302.331 197.907 M
-302.635 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-302.635 197.907 M
-302.938 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-302.938 197.907 M
-303.242 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-303.242 197.907 M
-303.546 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-303.546 197.907 M
-303.85 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-303.85 197.907 M
-304.153 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-304.153 197.907 M
-304.457 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-304.457 219.455 M
-304.761 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-304.761 241.004 M
-305.065 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-305.065 241.004 M
-305.368 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-305.368 241.004 M
-305.672 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-305.672 241.004 M
-305.976 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-305.976 241.004 M
-306.279 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-306.279 241.004 M
-306.583 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-306.583 241.004 M
-306.887 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-306.887 219.455 M
-307.191 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-307.191 219.455 M
-307.494 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-307.494 219.455 M
-307.798 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-307.798 219.455 M
-308.102 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-308.102 219.455 M
-308.406 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-308.406 219.455 M
-308.709 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-308.709 219.455 M
-309.013 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-309.013 219.455 M
-309.317 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-309.317 219.455 M
-309.621 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-309.621 219.455 M
-309.924 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-309.924 219.455 M
-310.228 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-310.228 219.455 M
-310.532 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-310.532 219.455 M
-310.836 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-310.836 219.455 M
-311.139 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-311.139 219.455 M
-311.443 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-311.443 219.455 M
-311.747 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-311.747 219.455 M
-312.051 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-312.051 219.455 M
-312.354 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-312.354 219.455 M
-312.658 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-312.658 219.455 M
-312.962 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-312.962 219.455 M
-313.265 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-313.265 219.455 M
-313.569 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-313.569 219.455 M
-313.873 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-313.873 219.455 M
-314.177 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-314.177 219.455 M
-314.48 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-314.48 219.455 M
-314.784 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-314.784 219.455 M
-315.088 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-315.088 219.455 M
-315.392 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-315.392 219.455 M
-315.695 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-315.695 219.455 M
-315.999 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-315.999 219.455 M
-316.303 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-316.303 219.455 M
-316.607 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-316.607 219.455 M
-316.91 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-316.91 219.455 M
-317.214 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-317.214 219.455 M
-317.518 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-317.518 241.004 M
-317.822 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-317.822 241.004 M
-318.125 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-318.125 241.004 M
-318.429 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-318.429 241.004 M
-318.733 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-318.733 241.004 M
-319.036 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-319.036 241.004 M
-319.34 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-319.34 262.552 M
-319.644 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-319.644 284.1 M
-319.948 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-319.948 284.1 M
-320.251 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-320.251 284.1 M
-320.555 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-320.555 284.1 M
-320.859 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-320.859 284.1 M
-321.163 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-321.163 284.1 M
-321.466 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-321.466 284.1 M
-321.77 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-321.77 284.1 M
-322.074 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-322.074 284.1 M
-322.378 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-322.378 284.1 M
-322.681 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-322.681 284.1 M
-322.985 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-322.985 284.1 M
-323.289 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-323.289 284.1 M
-323.593 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-323.593 284.1 M
-323.896 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-323.896 219.455 M
-324.2 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-324.2 219.455 M
-324.504 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-324.504 219.455 M
-324.807 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-324.807 219.455 M
-325.111 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-325.111 219.455 M
-325.415 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-325.415 219.455 M
-325.719 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-325.719 219.455 M
-326.022 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-326.022 219.455 M
-326.326 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-326.326 219.455 M
-326.63 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-326.63 219.455 M
-326.934 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-326.934 219.455 M
-327.237 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-327.237 219.455 M
-327.541 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-327.541 219.455 M
-327.845 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-327.845 176.359 M
-328.149 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.149 176.359 M
-328.452 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.452 197.907 M
-328.756 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.756 197.907 M
-329.06 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-329.06 197.907 M
-329.364 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-329.364 197.907 M
-329.667 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-329.667 197.907 M
-329.971 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-329.971 197.907 M
-330.275 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-330.275 219.455 M
-330.578 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-330.578 219.455 M
-330.882 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-330.882 219.455 M
-331.186 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-331.186 219.455 M
-331.49 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-331.49 219.455 M
-331.793 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-331.793 219.455 M
-332.097 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-332.097 219.455 M
-332.401 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-332.401 219.455 M
-332.705 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-332.705 219.455 M
-333.008 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-333.008 219.455 M
-333.312 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-333.312 219.455 M
-333.616 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-333.616 219.455 M
-333.92 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-333.92 219.455 M
-334.223 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-334.223 219.455 M
-334.527 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-334.527 262.552 M
-334.831 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-334.831 262.552 M
-335.135 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-335.135 262.552 M
-335.438 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-335.438 262.552 M
-335.742 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-335.742 262.552 M
-336.046 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-336.046 262.552 M
-336.349 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-336.349 262.552 M
-336.653 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-336.653 262.552 M
-336.957 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-336.957 262.552 M
-337.261 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-337.261 262.552 M
-337.564 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-337.564 262.552 M
-337.868 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-337.868 262.552 M
-338.172 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-338.172 262.552 M
-338.476 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-338.476 284.1 M
-338.779 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-338.779 262.552 M
-339.083 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-339.083 262.552 M
-339.387 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-339.387 262.552 M
-339.691 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-339.691 262.552 M
-339.994 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-339.994 219.455 M
-340.298 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-340.298 197.907 M
-340.602 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-340.602 197.907 M
-340.906 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-340.906 197.907 M
-341.209 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-341.209 197.907 M
-341.513 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-341.513 197.907 M
-341.817 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-341.817 197.907 M
-342.12 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-342.12 197.907 M
-342.424 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-342.424 197.907 M
-342.728 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-342.728 197.907 M
-343.032 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-343.032 197.907 M
-343.335 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-343.335 197.907 M
-343.639 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-343.639 197.907 M
-343.943 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-343.943 197.907 M
-344.247 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-344.247 197.907 M
-344.55 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-344.55 197.907 M
-344.854 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-344.854 197.907 M
-345.158 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-345.158 219.455 M
-345.462 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-345.462 219.455 M
-345.765 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-345.765 176.359 M
-346.069 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-346.069 176.359 M
-346.373 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-346.373 176.359 M
-346.677 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-346.677 176.359 M
-346.98 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-346.98 176.359 M
-347.284 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-347.284 176.359 M
-347.588 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-347.588 176.359 M
-347.891 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-347.891 176.359 M
-348.195 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-348.195 176.359 M
-348.499 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-348.499 176.359 M
-348.803 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-348.803 176.359 M
-349.106 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-349.106 176.359 M
-349.41 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-349.41 197.907 M
-349.714 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-349.714 197.907 M
-350.018 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-350.018 197.907 M
-350.321 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-350.321 197.907 M
-350.625 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-350.625 219.455 M
-350.929 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-350.929 262.552 M
-351.233 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-351.233 262.552 M
-351.536 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-351.536 262.552 M
-351.84 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-351.84 262.552 M
-352.144 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-352.144 262.552 M
-352.448 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-352.448 262.552 M
-352.751 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-352.751 262.552 M
-353.055 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-353.055 262.552 M
-353.359 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-353.359 262.552 M
-353.663 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-353.663 262.552 M
-353.966 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-353.966 262.552 M
-354.27 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-354.27 262.552 M
-354.574 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-354.574 262.552 M
-354.877 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-354.877 262.552 M
-355.181 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-355.181 262.552 M
-355.485 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-355.485 262.552 M
-355.789 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-355.789 262.552 M
-356.092 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-356.092 262.552 M
-356.396 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-356.396 284.1 M
-356.7 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-356.7 284.1 M
-357.004 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-357.004 284.1 M
-357.307 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-357.307 284.1 M
-357.611 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-357.611 284.1 M
-357.915 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-357.915 284.1 M
-358.219 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-358.219 284.1 M
-358.522 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-358.522 284.1 M
-358.826 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-358.826 284.1 M
-359.13 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-359.13 284.1 M
-359.434 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-359.434 284.1 M
-359.737 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-359.737 284.1 M
-360.041 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-56 305.648 M
-56.304 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-56.304 305.648 M
-56.607 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-56.607 305.648 M
-56.911 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-56.911 305.648 M
-57.215 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-57.215 305.648 M
-57.519 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-57.519 305.648 M
-57.822 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-57.822 305.648 M
-58.126 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-58.126 305.648 M
-58.43 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-58.43 305.648 M
-58.734 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-58.734 305.648 M
-59.037 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-59.037 305.648 M
-59.341 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-59.341 305.648 M
-59.645 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-59.645 305.648 M
-59.949 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-59.949 305.648 M
-60.252 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-60.252 305.648 M
-60.556 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-60.556 305.648 M
-60.86 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-60.86 305.648 M
-61.164 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-61.164 305.648 M
-61.467 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-61.467 305.648 M
-61.771 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-61.771 305.648 M
-62.075 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-62.075 305.648 M
-62.378 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-62.378 305.648 M
-62.682 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-62.682 219.455 M
-62.986 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-62.986 154.811 M
-63.29 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-63.29 154.811 M
-63.593 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-63.593 154.811 M
-63.897 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-63.897 154.811 M
-64.201 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-64.201 154.811 M
-64.505 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-64.505 154.811 M
-64.808 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-64.808 154.811 M
-65.112 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-65.112 154.811 M
-65.416 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-65.416 154.811 M
-65.72 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-65.72 154.811 M
-66.023 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-66.023 154.811 M
-66.327 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-66.327 154.811 M
-66.631 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-66.631 154.811 M
-66.935 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-66.935 154.811 M
-67.238 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-67.238 154.811 M
-67.542 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-67.542 154.811 M
-67.846 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-67.846 154.811 M
-68.149 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-68.149 154.811 M
-68.453 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-68.453 154.811 M
-68.757 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-68.757 154.811 M
-69.061 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.061 154.811 M
-69.364 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.364 154.811 M
-69.668 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.668 154.811 M
-69.972 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-69.972 133.263 M
-70.276 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-70.276 133.263 M
-70.579 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-70.579 133.263 M
-70.883 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-70.883 133.263 M
-71.187 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-71.187 133.263 M
-71.491 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-71.491 133.263 M
-71.794 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-71.794 133.263 M
-72.098 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-72.098 133.263 M
-72.402 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-72.402 133.263 M
-72.706 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-72.706 133.263 M
-73.009 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-73.009 133.263 M
-73.313 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-73.313 90.166 M
-73.617 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-73.617 133.263 M
-73.92 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-73.92 133.263 M
-74.224 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-74.224 133.263 M
-74.528 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-74.528 133.263 M
-74.832 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-74.832 133.263 M
-75.135 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-75.135 133.263 M
-75.439 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-75.439 133.263 M
-75.743 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-75.743 133.263 M
-76.047 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-76.047 133.263 M
-76.35 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-76.35 133.263 M
-76.654 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-76.654 90.166 M
-76.958 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-76.958 90.166 M
-77.262 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-77.262 90.166 M
-77.565 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-77.565 90.166 M
-77.869 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-77.869 90.166 M
-78.173 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-78.173 90.166 M
-78.477 90.166 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-78.477 90.166 M
-78.78 47.07 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-78.78 47.07 M
-79.084 47.07 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-79.084 47.07 M
-79.388 47.07 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-79.388 47.07 M
-79.692 47.07 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-79.692 47.07 M
-79.995 47.07 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-79.995 47.07 M
-80.299 47.07 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-80.299 47.07 M
-80.603 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-80.603 68.618 M
-80.906 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-80.906 68.618 M
-81.21 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-81.21 68.618 M
-81.514 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-81.514 68.618 M
-81.818 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-81.818 68.618 M
-82.121 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-82.121 68.618 M
-82.425 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-82.425 68.618 M
-82.729 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-82.729 68.618 M
-83.033 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.033 68.618 M
-83.336 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.336 68.618 M
-83.64 68.618 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.64 68.618 M
-83.944 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-83.944 197.907 M
-84.248 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-84.248 219.455 M
-84.551 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-84.551 219.455 M
-84.855 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-84.855 219.455 M
-85.159 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-85.159 219.455 M
-85.463 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-85.463 219.455 M
-85.766 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-85.766 219.455 M
-86.07 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-86.07 219.455 M
-86.374 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-86.374 219.455 M
-86.677 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-86.677 219.455 M
-86.981 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-86.981 219.455 M
-87.285 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-87.285 176.359 M
-87.589 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-87.589 176.359 M
-87.892 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-87.892 176.359 M
-88.196 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-88.196 176.359 M
-88.5 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-88.5 176.359 M
-88.804 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-88.804 176.359 M
-89.107 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-89.107 176.359 M
-89.411 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-89.411 176.359 M
-89.715 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-89.715 176.359 M
-90.019 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-90.019 176.359 M
-90.322 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-90.322 176.359 M
-90.626 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-90.626 176.359 M
-90.93 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-90.93 176.359 M
-91.234 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-91.234 176.359 M
-91.537 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-91.537 176.359 M
-91.841 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-91.841 176.359 M
-92.145 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-92.145 176.359 M
-92.448 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-92.448 176.359 M
-92.752 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-92.752 176.359 M
-93.056 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-93.056 176.359 M
-93.36 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-93.36 176.359 M
-93.663 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-93.663 176.359 M
-93.967 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-93.967 176.359 M
-94.271 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-94.271 176.359 M
-94.575 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-94.575 176.359 M
-94.878 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-94.878 176.359 M
-95.182 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-95.182 176.359 M
-95.486 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-95.486 176.359 M
-95.79 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-95.79 176.359 M
-96.093 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-96.093 176.359 M
-96.397 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-96.397 176.359 M
-96.701 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-96.701 176.359 M
-97.005 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-97.005 176.359 M
-97.308 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-97.308 176.359 M
-97.612 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-97.612 176.359 M
-97.916 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-97.916 219.455 M
-98.219 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-98.219 219.455 M
-98.523 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-98.523 219.455 M
-98.827 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-98.827 219.455 M
-99.131 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-99.131 219.455 M
-99.434 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-99.434 219.455 M
-99.738 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-99.738 219.455 M
-100.042 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-100.042 219.455 M
-100.346 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-100.346 219.455 M
-100.649 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-100.649 197.907 M
-100.953 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-100.953 197.907 M
-101.257 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-101.257 197.907 M
-101.561 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-101.561 197.907 M
-101.864 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-101.864 197.907 M
-102.168 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-102.168 197.907 M
-102.472 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-102.472 176.359 M
-102.776 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-102.776 176.359 M
-103.079 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-103.079 176.359 M
-103.383 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-103.383 176.359 M
-103.687 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-103.687 176.359 M
-103.99 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-103.99 176.359 M
-104.294 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-104.294 176.359 M
-104.598 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-104.598 176.359 M
-104.902 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-104.902 176.359 M
-105.205 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-105.205 176.359 M
-105.509 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-105.509 176.359 M
-105.813 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-105.813 176.359 M
-106.117 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-106.117 176.359 M
-106.42 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-106.42 176.359 M
-106.724 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-106.724 176.359 M
-107.028 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-107.028 176.359 M
-107.332 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-107.332 176.359 M
-107.635 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-107.635 176.359 M
-107.939 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-107.939 176.359 M
-108.243 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-108.243 176.359 M
-108.547 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-108.547 197.907 M
-108.85 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-108.85 197.907 M
-109.154 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-109.154 197.907 M
-109.458 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-109.458 197.907 M
-109.761 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-109.761 197.907 M
-110.065 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-110.065 197.907 M
-110.369 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-110.369 197.907 M
-110.673 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-110.673 241.004 M
-110.976 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-110.976 241.004 M
-111.28 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-111.28 219.455 M
-111.584 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-111.584 219.455 M
-111.888 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-111.888 219.455 M
-112.191 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-112.191 219.455 M
-112.495 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-112.495 219.455 M
-112.799 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-112.799 219.455 M
-113.103 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-113.103 241.004 M
-113.406 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-113.406 241.004 M
-113.71 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-113.71 241.004 M
-114.014 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-114.014 241.004 M
-114.318 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-114.318 241.004 M
-114.621 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-114.621 241.004 M
-114.925 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-114.925 241.004 M
-115.229 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-115.229 241.004 M
-115.533 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-115.533 241.004 M
-115.836 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-115.836 241.004 M
-116.14 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-116.14 197.907 M
-116.444 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-116.444 197.907 M
-116.747 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-116.747 197.907 M
-117.051 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-117.051 197.907 M
-117.355 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-117.355 197.907 M
-117.659 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-117.659 197.907 M
-117.962 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-117.962 197.907 M
-118.266 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-118.266 197.907 M
-118.57 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-118.57 197.907 M
-118.874 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-118.874 197.907 M
-119.177 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-119.177 219.455 M
-119.481 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-119.481 219.455 M
-119.785 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-119.785 219.455 M
-120.089 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-120.089 219.455 M
-120.392 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-120.392 219.455 M
-120.696 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-120.696 219.455 M
-121 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121 219.455 M
-121.304 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.304 219.455 M
-121.607 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.607 219.455 M
-121.911 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-121.911 197.907 M
-122.215 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-122.215 197.907 M
-122.518 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-122.518 197.907 M
-122.822 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-122.822 197.907 M
-123.126 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-123.126 197.907 M
-123.43 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-123.43 197.907 M
-123.733 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-123.733 197.907 M
-124.037 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-124.037 197.907 M
-124.341 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-124.341 197.907 M
-124.645 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-124.645 197.907 M
-124.948 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-124.948 197.907 M
-125.252 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-125.252 197.907 M
-125.556 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-125.556 197.907 M
-125.86 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-125.86 197.907 M
-126.163 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-126.163 197.907 M
-126.467 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-126.467 197.907 M
-126.771 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-126.771 176.359 M
-127.075 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-127.075 176.359 M
-127.378 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-127.378 176.359 M
-127.682 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-127.682 176.359 M
-127.986 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-127.986 176.359 M
-128.289 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-128.289 176.359 M
-128.593 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-128.593 176.359 M
-128.897 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-128.897 176.359 M
-129.201 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-129.201 176.359 M
-129.504 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-129.504 176.359 M
-129.808 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-129.808 176.359 M
-130.112 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-130.112 176.359 M
-130.416 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-130.416 176.359 M
-130.719 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-130.719 176.359 M
-131.023 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-131.023 176.359 M
-131.327 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-131.327 176.359 M
-131.631 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-131.631 176.359 M
-131.934 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-131.934 176.359 M
-132.238 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-132.238 176.359 M
-132.542 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-132.542 197.907 M
-132.846 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-132.846 197.907 M
-133.149 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-133.149 197.907 M
-133.453 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-133.453 197.907 M
-133.757 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-133.757 197.907 M
-134.06 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-134.06 197.907 M
-134.364 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-134.364 197.907 M
-134.668 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-134.668 197.907 M
-134.972 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-134.972 197.907 M
-135.275 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-135.275 197.907 M
-135.579 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-135.579 197.907 M
-135.883 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-135.883 197.907 M
-136.187 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-136.187 197.907 M
-136.49 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-136.49 197.907 M
-136.794 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-136.794 197.907 M
-137.098 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-137.098 241.004 M
-137.402 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-137.402 241.004 M
-137.705 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-137.705 241.004 M
-138.009 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-138.009 241.004 M
-138.313 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-138.313 241.004 M
-138.617 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-138.617 241.004 M
-138.92 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-138.92 241.004 M
-139.224 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-139.224 241.004 M
-139.528 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-139.528 241.004 M
-139.831 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-139.831 241.004 M
-140.135 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-140.135 241.004 M
-140.439 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-140.439 241.004 M
-140.743 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-140.743 241.004 M
-141.046 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-141.046 241.004 M
-141.35 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-141.35 241.004 M
-141.654 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-141.654 241.004 M
-141.958 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-141.958 241.004 M
-142.261 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-142.261 241.004 M
-142.565 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-142.565 241.004 M
-142.869 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-142.869 241.004 M
-143.173 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-143.173 241.004 M
-143.476 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-143.476 241.004 M
-143.78 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-143.78 241.004 M
-144.084 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-144.084 241.004 M
-144.388 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-144.388 241.004 M
-144.691 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-144.691 241.004 M
-144.995 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-144.995 241.004 M
-145.299 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-145.299 241.004 M
-145.602 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-145.602 262.552 M
-145.906 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-145.906 262.552 M
-146.21 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-146.21 262.552 M
-146.514 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-146.514 262.552 M
-146.817 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-146.817 262.552 M
-147.121 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-147.121 262.552 M
-147.425 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-147.425 262.552 M
-147.729 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-147.729 262.552 M
-148.032 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-148.032 262.552 M
-148.336 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-148.336 262.552 M
-148.64 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-148.64 262.552 M
-148.944 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-148.944 262.552 M
-149.247 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-149.247 262.552 M
-149.551 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-149.551 262.552 M
-149.855 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-149.855 262.552 M
-150.159 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-150.159 262.552 M
-150.462 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-150.462 262.552 M
-150.766 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-150.766 262.552 M
-151.07 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-151.07 262.552 M
-151.373 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-151.373 262.552 M
-151.677 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-151.677 262.552 M
-151.981 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-151.981 262.552 M
-152.285 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-152.285 262.552 M
-152.588 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-152.588 262.552 M
-152.892 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-152.892 262.552 M
-153.196 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-153.196 262.552 M
-153.5 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-153.5 262.552 M
-153.803 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-153.803 262.552 M
-154.107 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-154.107 262.552 M
-154.411 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-154.411 262.552 M
-154.715 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-154.715 262.552 M
-155.018 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-155.018 262.552 M
-155.322 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-155.322 262.552 M
-155.626 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-155.626 262.552 M
-155.93 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-155.93 262.552 M
-156.233 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-156.233 262.552 M
-156.537 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-156.537 262.552 M
-156.841 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-156.841 262.552 M
-157.145 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-157.145 262.552 M
-157.448 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-157.448 262.552 M
-157.752 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-157.752 262.552 M
-158.056 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-158.056 262.552 M
-158.359 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-158.359 284.1 M
-158.663 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-158.663 284.1 M
-158.967 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-158.967 284.1 M
-159.271 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-159.271 284.1 M
-159.574 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-159.574 284.1 M
-159.878 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-159.878 284.1 M
-160.182 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-160.182 284.1 M
-160.486 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-160.486 284.1 M
-160.789 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-160.789 284.1 M
-161.093 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-161.093 284.1 M
-161.397 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-161.397 284.1 M
-161.701 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-161.701 284.1 M
-162.004 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-162.004 284.1 M
-162.308 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-162.308 284.1 M
-162.612 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-162.612 284.1 M
-162.916 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-162.916 284.1 M
-163.219 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-163.219 284.1 M
-163.523 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-163.523 284.1 M
-163.827 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-163.827 284.1 M
-164.13 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-164.13 284.1 M
-164.434 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-164.434 284.1 M
-164.738 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-164.738 284.1 M
-165.042 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-165.042 284.1 M
-165.345 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-165.345 284.1 M
-165.649 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-165.649 284.1 M
-165.953 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-165.953 284.1 M
-166.257 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-166.257 284.1 M
-166.56 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-166.56 284.1 M
-166.864 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-166.864 284.1 M
-167.168 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-167.168 284.1 M
-167.472 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-167.472 284.1 M
-167.775 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-167.775 284.1 M
-168.079 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-168.079 284.1 M
-168.383 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-168.383 284.1 M
-168.687 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-168.687 284.1 M
-168.99 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-168.99 284.1 M
-169.294 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-169.294 284.1 M
-169.598 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-169.598 284.1 M
-169.901 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-169.901 284.1 M
-170.205 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-170.205 284.1 M
-170.509 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-170.509 284.1 M
-170.813 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-170.813 284.1 M
-171.116 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-171.116 284.1 M
-171.42 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-171.42 284.1 M
-171.724 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-171.724 284.1 M
-172.028 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-172.028 284.1 M
-172.331 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-172.331 284.1 M
-172.635 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-172.635 284.1 M
-172.939 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-172.939 284.1 M
-173.243 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.243 284.1 M
-173.546 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.546 284.1 M
-173.85 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-173.85 284.1 M
-174.154 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-174.154 284.1 M
-174.458 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-174.458 284.1 M
-174.761 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-174.761 284.1 M
-175.065 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-175.065 284.1 M
-175.369 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-175.369 284.1 M
-175.672 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-175.672 284.1 M
-175.976 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-175.976 284.1 M
-176.28 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-176.28 284.1 M
-176.584 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-176.584 284.1 M
-176.887 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-176.887 284.1 M
-177.191 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-177.191 284.1 M
-177.495 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-177.495 241.004 M
-177.799 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-177.799 241.004 M
-178.102 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-178.102 241.004 M
-178.406 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-178.406 154.811 M
-178.71 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-178.71 154.811 M
-179.014 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-179.014 154.811 M
-179.317 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-179.317 154.811 M
-179.621 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-179.621 154.811 M
-179.925 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-179.925 154.811 M
-180.229 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-180.229 154.811 M
-180.532 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-180.532 133.263 M
-180.836 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-180.836 133.263 M
-181.14 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-181.14 133.263 M
-181.443 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-181.443 133.263 M
-181.747 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-181.747 133.263 M
-182.051 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-182.051 133.263 M
-182.355 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-182.355 133.263 M
-182.658 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-182.658 133.263 M
-182.962 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-182.962 133.263 M
-183.266 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-183.266 133.263 M
-183.57 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-183.57 133.263 M
-183.873 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-183.873 133.263 M
-184.177 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-184.177 133.263 M
-184.481 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-184.481 133.263 M
-184.785 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-184.785 133.263 M
-185.088 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-185.088 133.263 M
-185.392 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-185.392 133.263 M
-185.696 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-185.696 133.263 M
-186 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-186 133.263 M
-186.303 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-186.303 133.263 M
-186.607 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-186.607 133.263 M
-186.911 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-186.911 133.263 M
-187.214 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-187.214 133.263 M
-187.518 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-187.518 133.263 M
-187.822 133.263 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-187.822 133.263 M
-188.126 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-188.126 154.811 M
-188.429 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-188.429 154.811 M
-188.733 154.811 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-188.733 154.811 M
-189.037 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-189.037 176.359 M
-189.341 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-189.341 176.359 M
-189.644 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-189.644 176.359 M
-189.948 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-189.948 176.359 M
-190.252 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-190.252 176.359 M
-190.556 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-190.556 176.359 M
-190.859 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-190.859 176.359 M
-191.163 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-191.163 176.359 M
-191.467 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-191.467 176.359 M
-191.771 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-191.771 176.359 M
-192.074 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-192.074 176.359 M
-192.378 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-192.378 176.359 M
-192.682 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-192.682 176.359 M
-192.985 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-192.985 176.359 M
-193.289 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-193.289 176.359 M
-193.593 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-193.593 176.359 M
-193.897 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-193.897 176.359 M
-194.2 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-194.2 176.359 M
-194.504 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-194.504 176.359 M
-194.808 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-194.808 176.359 M
-195.112 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-195.112 176.359 M
-195.415 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-195.415 176.359 M
-195.719 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-195.719 176.359 M
-196.023 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-196.023 176.359 M
-196.327 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-196.327 176.359 M
-196.63 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-196.63 176.359 M
-196.934 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-196.934 176.359 M
-197.238 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-197.238 176.359 M
-197.542 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-197.542 176.359 M
-197.845 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-197.845 176.359 M
-198.149 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-198.149 176.359 M
-198.453 176.359 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-198.453 176.359 M
-198.757 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-198.757 219.455 M
-199.06 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-199.06 219.455 M
-199.364 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-199.364 219.455 M
-199.668 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-199.668 241.004 M
-199.971 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-199.971 241.004 M
-200.275 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-200.275 241.004 M
-200.579 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-200.579 241.004 M
-200.883 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-200.883 241.004 M
-201.186 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-201.186 241.004 M
-201.49 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-201.49 241.004 M
-201.794 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-201.794 241.004 M
-202.098 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-202.098 241.004 M
-202.401 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-202.401 241.004 M
-202.705 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-202.705 241.004 M
-203.009 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-203.009 241.004 M
-203.313 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-203.313 241.004 M
-203.616 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-203.616 241.004 M
-203.92 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-203.92 241.004 M
-204.224 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-204.224 241.004 M
-204.528 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-204.528 241.004 M
-204.831 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-204.831 241.004 M
-205.135 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-205.135 241.004 M
-205.439 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-205.439 241.004 M
-205.742 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-205.742 241.004 M
-206.046 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-206.046 241.004 M
-206.35 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-206.35 241.004 M
-206.654 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-206.654 241.004 M
-206.957 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-206.957 241.004 M
-207.261 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-207.261 241.004 M
-207.565 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-207.565 241.004 M
-207.869 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-207.869 241.004 M
-208.172 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-208.172 241.004 M
-208.476 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-208.476 241.004 M
-208.78 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-208.78 241.004 M
-209.084 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-209.084 241.004 M
-209.387 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-209.387 241.004 M
-209.691 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-209.691 241.004 M
-209.995 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-209.995 241.004 M
-210.299 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-210.299 241.004 M
-210.602 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-210.602 241.004 M
-210.906 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-210.906 241.004 M
-211.21 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-211.21 241.004 M
-211.513 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-211.513 241.004 M
-211.817 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-211.817 241.004 M
-212.121 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-212.121 241.004 M
-212.425 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-212.425 262.552 M
-212.728 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-212.728 262.552 M
-213.032 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-213.032 262.552 M
-213.336 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-213.336 262.552 M
-213.64 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-213.64 262.552 M
-213.943 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-213.943 262.552 M
-214.247 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-214.247 262.552 M
-214.551 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-214.551 262.552 M
-214.855 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-214.855 262.552 M
-215.158 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-215.158 262.552 M
-215.462 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-215.462 262.552 M
-215.766 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-215.766 262.552 M
-216.07 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-216.07 262.552 M
-216.373 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-216.373 262.552 M
-216.677 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-216.677 262.552 M
-216.981 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-216.981 262.552 M
-217.284 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-217.284 262.552 M
-217.588 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-217.588 262.552 M
-217.892 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-217.892 262.552 M
-218.196 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-218.196 197.907 M
-218.499 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-218.499 197.907 M
-218.803 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-218.803 197.907 M
-219.107 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-219.107 197.907 M
-219.411 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-219.411 197.907 M
-219.714 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-219.714 197.907 M
-220.018 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-220.018 197.907 M
-220.322 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-220.322 197.907 M
-220.626 197.907 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-220.626 197.907 M
-220.929 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-220.929 241.004 M
-221.233 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-221.233 241.004 M
-221.537 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-221.537 241.004 M
-221.841 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-221.841 241.004 M
-222.144 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-222.144 241.004 M
-222.448 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-222.448 241.004 M
-222.752 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-222.752 241.004 M
-223.055 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-223.055 241.004 M
-223.359 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-223.359 241.004 M
-223.663 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-223.663 241.004 M
-223.967 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-223.967 241.004 M
-224.27 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.27 241.004 M
-224.574 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.574 241.004 M
-224.878 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-224.878 241.004 M
-225.182 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-225.182 241.004 M
-225.485 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-225.485 241.004 M
-225.789 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-225.789 241.004 M
-226.093 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-226.093 241.004 M
-226.397 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-226.397 241.004 M
-226.7 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-226.7 241.004 M
-227.004 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-227.004 241.004 M
-227.308 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-227.308 241.004 M
-227.612 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-227.612 241.004 M
-227.915 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-227.915 241.004 M
-228.219 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-228.219 241.004 M
-228.523 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-228.523 241.004 M
-228.826 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-228.826 262.552 M
-229.13 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-229.13 262.552 M
-229.434 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-229.434 262.552 M
-229.738 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-229.738 262.552 M
-230.041 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.041 262.552 M
-230.345 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.345 262.552 M
-230.649 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.649 262.552 M
-230.953 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-230.953 262.552 M
-231.256 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-231.256 262.552 M
-231.56 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-231.56 262.552 M
-231.864 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-231.864 262.552 M
-232.168 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-232.168 262.552 M
-232.471 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-232.471 262.552 M
-232.775 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-232.775 262.552 M
-233.079 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-233.079 262.552 M
-233.383 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-233.383 262.552 M
-233.686 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-233.686 262.552 M
-233.99 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-233.99 241.004 M
-234.294 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-234.294 241.004 M
-234.598 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-234.598 241.004 M
-234.901 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-234.901 241.004 M
-235.205 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-235.205 241.004 M
-235.509 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-235.509 241.004 M
-235.812 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-235.812 241.004 M
-236.116 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-236.116 241.004 M
-236.42 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-236.42 241.004 M
-236.724 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-236.724 241.004 M
-237.027 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-237.027 241.004 M
-237.331 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-237.331 241.004 M
-237.635 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-237.635 241.004 M
-237.939 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-237.939 241.004 M
-238.242 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-238.242 241.004 M
-238.546 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-238.546 241.004 M
-238.85 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-238.85 241.004 M
-239.154 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-239.154 241.004 M
-239.457 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-239.457 241.004 M
-239.761 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-239.761 241.004 M
-240.065 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-240.065 241.004 M
-240.369 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-240.369 241.004 M
-240.672 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-240.672 241.004 M
-240.976 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-240.976 241.004 M
-241.28 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-241.28 241.004 M
-241.583 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-241.583 241.004 M
-241.887 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-241.887 241.004 M
-242.191 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-242.191 241.004 M
-242.495 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-242.495 241.004 M
-242.798 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-242.798 241.004 M
-243.102 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-243.102 241.004 M
-243.406 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-243.406 241.004 M
-243.71 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-243.71 241.004 M
-244.013 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-244.013 241.004 M
-244.317 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-244.317 241.004 M
-244.621 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-244.621 219.455 M
-244.925 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-244.925 219.455 M
-245.228 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-245.228 219.455 M
-245.532 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-245.532 219.455 M
-245.836 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-245.836 219.455 M
-246.14 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-246.14 219.455 M
-246.443 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-246.443 219.455 M
-246.747 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-246.747 219.455 M
-247.051 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-247.051 219.455 M
-247.354 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-247.354 219.455 M
-247.658 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-247.658 219.455 M
-247.962 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-247.962 219.455 M
-248.266 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-248.266 219.455 M
-248.569 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-248.569 219.455 M
-248.873 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-248.873 219.455 M
-249.177 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-249.177 219.455 M
-249.481 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-249.481 219.455 M
-249.784 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-249.784 219.455 M
-250.088 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-250.088 241.004 M
-250.392 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-250.392 241.004 M
-250.696 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-250.696 241.004 M
-250.999 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-250.999 241.004 M
-251.303 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-251.303 241.004 M
-251.607 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-251.607 241.004 M
-251.911 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-251.911 241.004 M
-252.214 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-252.214 241.004 M
-252.518 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-252.518 241.004 M
-252.822 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-252.822 241.004 M
-253.125 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-253.125 241.004 M
-253.429 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-253.429 241.004 M
-253.733 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-253.733 241.004 M
-254.037 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-254.037 241.004 M
-254.34 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-254.34 219.455 M
-254.644 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-254.644 219.455 M
-254.948 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-254.948 219.455 M
-255.252 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-255.252 241.004 M
-255.555 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-255.555 262.552 M
-255.859 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-255.859 262.552 M
-256.163 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-256.163 262.552 M
-256.467 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-256.467 262.552 M
-256.77 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-256.77 262.552 M
-257.074 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-257.074 262.552 M
-257.378 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-257.378 262.552 M
-257.682 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-257.682 262.552 M
-257.985 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-257.985 262.552 M
-258.289 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-258.289 262.552 M
-258.593 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-258.593 262.552 M
-258.896 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-258.896 262.552 M
-259.2 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-259.2 262.552 M
-259.504 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-259.504 262.552 M
-259.808 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-259.808 262.552 M
-260.111 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-260.111 262.552 M
-260.415 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-260.415 262.552 M
-260.719 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-260.719 284.1 M
-261.023 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-261.023 284.1 M
-261.326 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-261.326 284.1 M
-261.63 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-261.63 284.1 M
-261.934 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-261.934 284.1 M
-262.238 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-262.238 284.1 M
-262.541 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-262.541 284.1 M
-262.845 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-262.845 284.1 M
-263.149 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-263.149 284.1 M
-263.453 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-263.453 284.1 M
-263.756 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-263.756 284.1 M
-264.06 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-264.06 284.1 M
-264.364 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-264.364 284.1 M
-264.667 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-264.667 284.1 M
-264.971 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-264.971 262.552 M
-265.275 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-265.275 262.552 M
-265.579 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-265.579 262.552 M
-265.882 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-265.882 262.552 M
-266.186 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-266.186 262.552 M
-266.49 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-266.49 262.552 M
-266.794 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-266.794 262.552 M
-267.097 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-267.097 262.552 M
-267.401 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-267.401 262.552 M
-267.705 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-267.705 262.552 M
-268.009 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-268.009 262.552 M
-268.312 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-268.312 262.552 M
-268.616 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-268.616 262.552 M
-268.92 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-268.92 262.552 M
-269.224 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-269.224 262.552 M
-269.527 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-269.527 262.552 M
-269.831 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-269.831 262.552 M
-270.135 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-270.135 262.552 M
-270.438 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-270.438 262.552 M
-270.742 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-270.742 262.552 M
-271.046 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-271.046 262.552 M
-271.35 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-271.35 262.552 M
-271.653 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-271.653 262.552 M
-271.957 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-271.957 262.552 M
-272.261 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-272.261 262.552 M
-272.565 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-272.565 262.552 M
-272.868 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-272.868 262.552 M
-273.172 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-273.172 262.552 M
-273.476 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-273.476 262.552 M
-273.78 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-273.78 262.552 M
-274.083 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-274.083 262.552 M
-274.387 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-274.387 262.552 M
-274.691 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-274.691 262.552 M
-274.995 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-274.995 262.552 M
-275.298 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-275.298 262.552 M
-275.602 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-275.602 284.1 M
-275.906 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-275.906 284.1 M
-276.21 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.21 284.1 M
-276.513 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.513 284.1 M
-276.817 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-276.817 284.1 M
-277.121 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-277.121 284.1 M
-277.424 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-277.424 284.1 M
-277.728 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-277.728 284.1 M
-278.032 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-278.032 284.1 M
-278.336 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-278.336 284.1 M
-278.639 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-278.639 284.1 M
-278.943 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-278.943 284.1 M
-279.247 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-279.247 284.1 M
-279.551 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-279.551 284.1 M
-279.854 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-279.854 284.1 M
-280.158 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-280.158 284.1 M
-280.462 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-280.462 284.1 M
-280.766 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-280.766 284.1 M
-281.069 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-281.069 284.1 M
-281.373 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-281.373 284.1 M
-281.677 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-281.677 284.1 M
-281.981 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-281.981 284.1 M
-282.284 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-282.284 284.1 M
-282.588 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-282.588 284.1 M
-282.892 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-282.892 284.1 M
-283.195 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-283.195 284.1 M
-283.499 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-283.499 284.1 M
-283.803 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-283.803 284.1 M
-284.107 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-284.107 284.1 M
-284.41 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-284.41 284.1 M
-284.714 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-284.714 284.1 M
-285.018 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-285.018 284.1 M
-285.322 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-285.322 284.1 M
-285.625 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-285.625 284.1 M
-285.929 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-285.929 284.1 M
-286.233 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-286.233 219.455 M
-286.537 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-286.537 219.455 M
-286.84 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-286.84 219.455 M
-287.144 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-287.144 219.455 M
-287.448 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-287.448 219.455 M
-287.752 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-287.752 219.455 M
-288.055 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-288.055 219.455 M
-288.359 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-288.359 219.455 M
-288.663 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-288.663 219.455 M
-288.966 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-288.966 219.455 M
-289.27 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-289.27 219.455 M
-289.574 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-289.574 219.455 M
-289.878 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-289.878 219.455 M
-290.181 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-290.181 219.455 M
-290.485 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-290.485 219.455 M
-290.789 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-290.789 219.455 M
-291.093 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-291.093 219.455 M
-291.396 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-291.396 219.455 M
-291.7 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-291.7 219.455 M
-292.004 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-292.004 219.455 M
-292.308 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-292.308 219.455 M
-292.611 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-292.611 219.455 M
-292.915 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-292.915 219.455 M
-293.219 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-293.219 219.455 M
-293.523 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-293.523 219.455 M
-293.826 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-293.826 219.455 M
-294.13 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-294.13 219.455 M
-294.434 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-294.434 219.455 M
-294.737 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-294.737 219.455 M
-295.041 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-295.041 219.455 M
-295.345 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-295.345 219.455 M
-295.649 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-295.649 219.455 M
-295.952 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-295.952 219.455 M
-296.256 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-296.256 219.455 M
-296.56 219.455 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-296.56 219.455 M
-296.864 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-296.864 241.004 M
-297.167 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-297.167 241.004 M
-297.471 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-297.471 241.004 M
-297.775 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-297.775 241.004 M
-298.079 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-298.079 241.004 M
-298.382 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-298.382 241.004 M
-298.686 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-298.686 241.004 M
-298.99 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-298.99 241.004 M
-299.294 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-299.294 241.004 M
-299.597 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-299.597 241.004 M
-299.901 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-299.901 241.004 M
-300.205 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-300.205 241.004 M
-300.508 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-300.508 241.004 M
-300.812 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-300.812 241.004 M
-301.116 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-301.116 241.004 M
-301.42 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-301.42 241.004 M
-301.723 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-301.723 241.004 M
-302.027 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-302.027 241.004 M
-302.331 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-302.331 241.004 M
-302.635 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-302.635 241.004 M
-302.938 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-302.938 241.004 M
-303.242 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-303.242 241.004 M
-303.546 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-303.546 241.004 M
-303.85 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-303.85 241.004 M
-304.153 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-304.153 241.004 M
-304.457 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-304.457 241.004 M
-304.761 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-304.761 241.004 M
-305.065 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-305.065 241.004 M
-305.368 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-305.368 241.004 M
-305.672 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-305.672 241.004 M
-305.976 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-305.976 241.004 M
-306.279 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-306.279 241.004 M
-306.583 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-306.583 241.004 M
-306.887 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-306.887 241.004 M
-307.191 241.004 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-307.191 241.004 M
-307.494 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-307.494 262.552 M
-307.798 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-307.798 262.552 M
-308.102 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-308.102 262.552 M
-308.406 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-308.406 262.552 M
-308.709 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-308.709 262.552 M
-309.013 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-309.013 262.552 M
-309.317 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-309.317 262.552 M
-309.621 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-309.621 262.552 M
-309.924 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-309.924 262.552 M
-310.228 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-310.228 262.552 M
-310.532 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-310.532 262.552 M
-310.836 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-310.836 262.552 M
-311.139 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-311.139 262.552 M
-311.443 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-311.443 262.552 M
-311.747 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-311.747 262.552 M
-312.051 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-312.051 262.552 M
-312.354 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-312.354 262.552 M
-312.658 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-312.658 262.552 M
-312.962 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-312.962 262.552 M
-313.265 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-313.265 262.552 M
-313.569 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-313.569 262.552 M
-313.873 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-313.873 262.552 M
-314.177 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-314.177 262.552 M
-314.48 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-314.48 262.552 M
-314.784 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-314.784 262.552 M
-315.088 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-315.088 262.552 M
-315.392 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-315.392 262.552 M
-315.695 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-315.695 262.552 M
-315.999 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-315.999 262.552 M
-316.303 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-316.303 262.552 M
-316.607 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-316.607 262.552 M
-316.91 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-316.91 262.552 M
-317.214 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-317.214 262.552 M
-317.518 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-317.518 262.552 M
-317.822 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-317.822 262.552 M
-318.125 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-318.125 262.552 M
-318.429 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-318.429 262.552 M
-318.733 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-318.733 262.552 M
-319.036 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-319.036 262.552 M
-319.34 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-319.34 262.552 M
-319.644 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-319.644 262.552 M
-319.948 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-319.948 262.552 M
-320.251 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-320.251 262.552 M
-320.555 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-320.555 262.552 M
-320.859 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-320.859 262.552 M
-321.163 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-321.163 262.552 M
-321.466 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-321.466 262.552 M
-321.77 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-321.77 262.552 M
-322.074 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-322.074 262.552 M
-322.378 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-322.378 262.552 M
-322.681 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-322.681 262.552 M
-322.985 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-322.985 262.552 M
-323.289 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-323.289 262.552 M
-323.593 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-323.593 262.552 M
-323.896 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-323.896 262.552 M
-324.2 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-324.2 262.552 M
-324.504 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-324.504 262.552 M
-324.807 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-324.807 262.552 M
-325.111 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-325.111 262.552 M
-325.415 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-325.415 262.552 M
-325.719 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-325.719 262.552 M
-326.022 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-326.022 262.552 M
-326.326 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-326.326 262.552 M
-326.63 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-326.63 262.552 M
-326.934 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-326.934 262.552 M
-327.237 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-327.237 262.552 M
-327.541 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-327.541 262.552 M
-327.845 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-327.845 262.552 M
-328.149 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.149 262.552 M
-328.452 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.452 262.552 M
-328.756 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-328.756 284.1 M
-329.06 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-329.06 284.1 M
-329.364 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-329.364 284.1 M
-329.667 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-329.667 284.1 M
-329.971 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-329.971 284.1 M
-330.275 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-330.275 284.1 M
-330.578 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-330.578 284.1 M
-330.882 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-330.882 284.1 M
-331.186 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-331.186 284.1 M
-331.49 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-331.49 284.1 M
-331.793 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-331.793 262.552 M
-332.097 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-332.097 262.552 M
-332.401 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-332.401 262.552 M
-332.705 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-332.705 262.552 M
-333.008 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-333.008 262.552 M
-333.312 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-333.312 262.552 M
-333.616 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-333.616 262.552 M
-333.92 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-333.92 262.552 M
-334.223 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-334.223 262.552 M
-334.527 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-334.527 262.552 M
-334.831 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-334.831 262.552 M
-335.135 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-335.135 262.552 M
-335.438 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-335.438 262.552 M
-335.742 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-335.742 262.552 M
-336.046 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-336.046 262.552 M
-336.349 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-336.349 262.552 M
-336.653 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-336.653 262.552 M
-336.957 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-336.957 262.552 M
-337.261 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-337.261 262.552 M
-337.564 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-337.564 262.552 M
-337.868 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-337.868 262.552 M
-338.172 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-338.172 262.552 M
-338.476 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-338.476 262.552 M
-338.779 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-338.779 262.552 M
-339.083 262.552 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-339.083 262.552 M
-339.387 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-339.387 284.1 M
-339.691 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-339.691 284.1 M
-339.994 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-339.994 284.1 M
-340.298 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-340.298 284.1 M
-340.602 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-340.602 284.1 M
-340.906 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-340.906 284.1 M
-341.209 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-341.209 284.1 M
-341.513 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-341.513 284.1 M
-341.817 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-341.817 284.1 M
-342.12 284.1 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-342.12 284.1 M
-342.424 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-342.424 305.648 M
-342.728 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-342.728 305.648 M
-343.032 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-343.032 305.648 M
-343.335 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-343.335 305.648 M
-343.639 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-343.639 305.648 M
-343.943 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-343.943 305.648 M
-344.247 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-344.247 305.648 M
-344.55 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-344.55 305.648 M
-344.854 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-344.854 305.648 M
-345.158 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-345.158 305.648 M
-345.462 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-345.462 305.648 M
-345.765 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-345.765 305.648 M
-346.069 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-346.069 305.648 M
-346.373 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-346.373 305.648 M
-346.677 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-346.677 305.648 M
-346.98 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-346.98 305.648 M
-347.284 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-347.284 305.648 M
-347.588 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-347.588 305.648 M
-347.891 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-347.891 305.648 M
-348.195 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-348.195 305.648 M
-348.499 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-348.499 305.648 M
-348.803 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-348.803 305.648 M
-349.106 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-349.106 305.648 M
-349.41 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-349.41 305.648 M
-349.714 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-349.714 305.648 M
-350.018 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-350.018 305.648 M
-350.321 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-350.321 305.648 M
-350.625 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-350.625 305.648 M
-350.929 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-350.929 305.648 M
-351.233 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-351.233 305.648 M
-351.536 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-351.536 305.648 M
-351.84 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-351.84 305.648 M
-352.144 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-352.144 305.648 M
-352.448 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-352.448 305.648 M
-352.751 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-352.751 305.648 M
-353.055 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-353.055 305.648 M
-353.359 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-353.359 305.648 M
-353.663 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-353.663 305.648 M
-353.966 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-353.966 305.648 M
-354.27 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-354.27 305.648 M
-354.574 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-354.574 305.648 M
-354.877 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-354.877 305.648 M
-355.181 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-355.181 305.648 M
-355.485 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-355.485 305.648 M
-355.789 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-355.789 305.648 M
-356.092 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-356.092 305.648 M
-356.396 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-356.396 305.648 M
-356.7 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-356.7 305.648 M
-357.004 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-357.004 305.648 M
-357.307 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-357.307 305.648 M
-357.611 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-357.611 305.648 M
-357.915 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-357.915 305.648 M
-358.219 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-358.219 305.648 M
-358.522 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-358.522 305.648 M
-358.826 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-358.826 305.648 M
-359.13 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-359.13 305.648 M
-359.434 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-359.434 305.648 M
-359.737 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-359.737 305.648 M
-360.041 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-360.041 305.648 M
-360.345 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-360.345 305.648 M
-360.648 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-360.648 305.648 M
-360.952 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-360.952 305.648 M
-361.256 305.648 lineto
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-56 302.648 M
-59 305.648 lineto
-56 308.648 lineto
-53 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-56 302.648 M
-59 305.648 lineto
-56 308.648 lineto
-53 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-56.304 302.648 M
-59.304 305.648 lineto
-56.304 308.648 lineto
-53.304 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-56.304 302.648 M
-59.304 305.648 lineto
-56.304 308.648 lineto
-53.304 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-56.607 302.648 M
-59.607 305.648 lineto
-56.607 308.648 lineto
-53.607 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-56.607 302.648 M
-59.607 305.648 lineto
-56.607 308.648 lineto
-53.607 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-56.911 302.648 M
-59.911 305.648 lineto
-56.911 308.648 lineto
-53.911 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-56.911 302.648 M
-59.911 305.648 lineto
-56.911 308.648 lineto
-53.911 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-57.215 302.648 M
-60.215 305.648 lineto
-57.215 308.648 lineto
-54.215 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-57.215 302.648 M
-60.215 305.648 lineto
-57.215 308.648 lineto
-54.215 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-57.519 302.648 M
-60.519 305.648 lineto
-57.519 308.648 lineto
-54.519 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-57.519 302.648 M
-60.519 305.648 lineto
-57.519 308.648 lineto
-54.519 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-57.822 302.648 M
-60.822 305.648 lineto
-57.822 308.648 lineto
-54.822 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-57.822 302.648 M
-60.822 305.648 lineto
-57.822 308.648 lineto
-54.822 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-58.126 302.648 M
-61.126 305.648 lineto
-58.126 308.648 lineto
-55.126 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-58.126 302.648 M
-61.126 305.648 lineto
-58.126 308.648 lineto
-55.126 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-58.43 302.648 M
-61.43 305.648 lineto
-58.43 308.648 lineto
-55.43 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-58.43 302.648 M
-61.43 305.648 lineto
-58.43 308.648 lineto
-55.43 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-58.734 302.648 M
-61.734 305.648 lineto
-58.734 308.648 lineto
-55.734 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-58.734 302.648 M
-61.734 305.648 lineto
-58.734 308.648 lineto
-55.734 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-59.037 302.648 M
-62.037 305.648 lineto
-59.037 308.648 lineto
-56.037 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-59.037 302.648 M
-62.037 305.648 lineto
-59.037 308.648 lineto
-56.037 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-59.341 302.648 M
-62.341 305.648 lineto
-59.341 308.648 lineto
-56.341 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-59.341 302.648 M
-62.341 305.648 lineto
-59.341 308.648 lineto
-56.341 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-59.645 302.648 M
-62.645 305.648 lineto
-59.645 308.648 lineto
-56.645 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-59.645 302.648 M
-62.645 305.648 lineto
-59.645 308.648 lineto
-56.645 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-59.949 302.648 M
-62.949 305.648 lineto
-59.949 308.648 lineto
-56.949 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-59.949 302.648 M
-62.949 305.648 lineto
-59.949 308.648 lineto
-56.949 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-60.252 302.648 M
-63.252 305.648 lineto
-60.252 308.648 lineto
-57.252 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-60.252 302.648 M
-63.252 305.648 lineto
-60.252 308.648 lineto
-57.252 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-60.556 302.648 M
-63.556 305.648 lineto
-60.556 308.648 lineto
-57.556 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-60.556 302.648 M
-63.556 305.648 lineto
-60.556 308.648 lineto
-57.556 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-60.86 302.648 M
-63.86 305.648 lineto
-60.86 308.648 lineto
-57.86 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-60.86 302.648 M
-63.86 305.648 lineto
-60.86 308.648 lineto
-57.86 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-61.164 302.648 M
-64.164 305.648 lineto
-61.164 308.648 lineto
-58.164 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-61.164 302.648 M
-64.164 305.648 lineto
-61.164 308.648 lineto
-58.164 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-61.467 302.648 M
-64.467 305.648 lineto
-61.467 308.648 lineto
-58.467 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-61.467 302.648 M
-64.467 305.648 lineto
-61.467 308.648 lineto
-58.467 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-61.771 302.648 M
-64.771 305.648 lineto
-61.771 308.648 lineto
-58.771 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-61.771 302.648 M
-64.771 305.648 lineto
-61.771 308.648 lineto
-58.771 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-62.075 302.648 M
-65.075 305.648 lineto
-62.075 308.648 lineto
-59.075 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-62.075 302.648 M
-65.075 305.648 lineto
-62.075 308.648 lineto
-59.075 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-62.378 302.648 M
-65.378 305.648 lineto
-62.378 308.648 lineto
-59.378 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-62.378 302.648 M
-65.378 305.648 lineto
-62.378 308.648 lineto
-59.378 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-62.682 302.648 M
-65.682 305.648 lineto
-62.682 308.648 lineto
-59.682 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-62.682 302.648 M
-65.682 305.648 lineto
-62.682 308.648 lineto
-59.682 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-62.986 302.648 M
-65.986 305.648 lineto
-62.986 308.648 lineto
-59.986 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-62.986 302.648 M
-65.986 305.648 lineto
-62.986 308.648 lineto
-59.986 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-63.29 302.648 M
-66.29 305.648 lineto
-63.29 308.648 lineto
-60.29 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.29 302.648 M
-66.29 305.648 lineto
-63.29 308.648 lineto
-60.29 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-63.593 302.648 M
-66.593 305.648 lineto
-63.593 308.648 lineto
-60.593 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.593 302.648 M
-66.593 305.648 lineto
-63.593 308.648 lineto
-60.593 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-63.897 302.648 M
-66.897 305.648 lineto
-63.897 308.648 lineto
-60.897 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.897 302.648 M
-66.897 305.648 lineto
-63.897 308.648 lineto
-60.897 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-64.201 302.648 M
-67.201 305.648 lineto
-64.201 308.648 lineto
-61.201 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-64.201 302.648 M
-67.201 305.648 lineto
-64.201 308.648 lineto
-61.201 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-64.505 259.552 M
-67.505 262.552 lineto
-64.505 265.552 lineto
-61.505 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-64.505 259.552 M
-67.505 262.552 lineto
-64.505 265.552 lineto
-61.505 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-64.808 259.552 M
-67.808 262.552 lineto
-64.808 265.552 lineto
-61.808 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-64.808 259.552 M
-67.808 262.552 lineto
-64.808 265.552 lineto
-61.808 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-65.112 238.004 M
-68.112 241.004 lineto
-65.112 244.004 lineto
-62.112 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-65.112 238.004 M
-68.112 241.004 lineto
-65.112 244.004 lineto
-62.112 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-65.416 238.004 M
-68.416 241.004 lineto
-65.416 244.004 lineto
-62.416 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-65.416 238.004 M
-68.416 241.004 lineto
-65.416 244.004 lineto
-62.416 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-65.72 238.004 M
-68.72 241.004 lineto
-65.72 244.004 lineto
-62.72 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-65.72 238.004 M
-68.72 241.004 lineto
-65.72 244.004 lineto
-62.72 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-66.023 238.004 M
-69.023 241.004 lineto
-66.023 244.004 lineto
-63.023 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.023 238.004 M
-69.023 241.004 lineto
-66.023 244.004 lineto
-63.023 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-66.327 238.004 M
-69.327 241.004 lineto
-66.327 244.004 lineto
-63.327 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.327 238.004 M
-69.327 241.004 lineto
-66.327 244.004 lineto
-63.327 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-66.631 238.004 M
-69.631 241.004 lineto
-66.631 244.004 lineto
-63.631 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.631 238.004 M
-69.631 241.004 lineto
-66.631 244.004 lineto
-63.631 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-66.935 173.359 M
-69.935 176.359 lineto
-66.935 179.359 lineto
-63.935 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.935 173.359 M
-69.935 176.359 lineto
-66.935 179.359 lineto
-63.935 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-67.238 173.359 M
-70.238 176.359 lineto
-67.238 179.359 lineto
-64.238 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-67.238 173.359 M
-70.238 176.359 lineto
-67.238 179.359 lineto
-64.238 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-67.542 173.359 M
-70.542 176.359 lineto
-67.542 179.359 lineto
-64.542 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-67.542 173.359 M
-70.542 176.359 lineto
-67.542 179.359 lineto
-64.542 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-67.846 173.359 M
-70.846 176.359 lineto
-67.846 179.359 lineto
-64.846 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-67.846 173.359 M
-70.846 176.359 lineto
-67.846 179.359 lineto
-64.846 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-68.149 173.359 M
-71.149 176.359 lineto
-68.149 179.359 lineto
-65.149 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-68.149 173.359 M
-71.149 176.359 lineto
-68.149 179.359 lineto
-65.149 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-68.453 173.359 M
-71.453 176.359 lineto
-68.453 179.359 lineto
-65.453 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-68.453 173.359 M
-71.453 176.359 lineto
-68.453 179.359 lineto
-65.453 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-68.757 173.359 M
-71.757 176.359 lineto
-68.757 179.359 lineto
-65.757 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-68.757 173.359 M
-71.757 176.359 lineto
-68.757 179.359 lineto
-65.757 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-69.061 151.811 M
-72.061 154.811 lineto
-69.061 157.811 lineto
-66.061 154.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.061 151.811 M
-72.061 154.811 lineto
-69.061 157.811 lineto
-66.061 154.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-69.364 151.811 M
-72.364 154.811 lineto
-69.364 157.811 lineto
-66.364 154.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.364 151.811 M
-72.364 154.811 lineto
-69.364 157.811 lineto
-66.364 154.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-69.668 151.811 M
-72.668 154.811 lineto
-69.668 157.811 lineto
-66.668 154.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.668 151.811 M
-72.668 154.811 lineto
-69.668 157.811 lineto
-66.668 154.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-69.972 151.811 M
-72.972 154.811 lineto
-69.972 157.811 lineto
-66.972 154.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.972 151.811 M
-72.972 154.811 lineto
-69.972 157.811 lineto
-66.972 154.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-70.276 151.811 M
-73.276 154.811 lineto
-70.276 157.811 lineto
-67.276 154.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-70.276 151.811 M
-73.276 154.811 lineto
-70.276 157.811 lineto
-67.276 154.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-70.579 151.811 M
-73.579 154.811 lineto
-70.579 157.811 lineto
-67.579 154.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-70.579 151.811 M
-73.579 154.811 lineto
-70.579 157.811 lineto
-67.579 154.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-70.883 151.811 M
-73.883 154.811 lineto
-70.883 157.811 lineto
-67.883 154.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-70.883 151.811 M
-73.883 154.811 lineto
-70.883 157.811 lineto
-67.883 154.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-71.187 151.811 M
-74.187 154.811 lineto
-71.187 157.811 lineto
-68.187 154.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-71.187 151.811 M
-74.187 154.811 lineto
-71.187 157.811 lineto
-68.187 154.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-71.491 151.811 M
-74.491 154.811 lineto
-71.491 157.811 lineto
-68.491 154.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-71.491 151.811 M
-74.491 154.811 lineto
-71.491 157.811 lineto
-68.491 154.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-71.794 151.811 M
-74.794 154.811 lineto
-71.794 157.811 lineto
-68.794 154.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-71.794 151.811 M
-74.794 154.811 lineto
-71.794 157.811 lineto
-68.794 154.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-72.098 151.811 M
-75.098 154.811 lineto
-72.098 157.811 lineto
-69.098 154.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.098 151.811 M
-75.098 154.811 lineto
-72.098 157.811 lineto
-69.098 154.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-72.402 151.811 M
-75.402 154.811 lineto
-72.402 157.811 lineto
-69.402 154.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.402 151.811 M
-75.402 154.811 lineto
-72.402 157.811 lineto
-69.402 154.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-72.706 151.811 M
-75.706 154.811 lineto
-72.706 157.811 lineto
-69.706 154.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.706 151.811 M
-75.706 154.811 lineto
-72.706 157.811 lineto
-69.706 154.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-73.009 151.811 M
-76.009 154.811 lineto
-73.009 157.811 lineto
-70.009 154.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-73.009 151.811 M
-76.009 154.811 lineto
-73.009 157.811 lineto
-70.009 154.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-73.313 151.811 M
-76.313 154.811 lineto
-73.313 157.811 lineto
-70.313 154.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-73.313 151.811 M
-76.313 154.811 lineto
-73.313 157.811 lineto
-70.313 154.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-73.617 151.811 M
-76.617 154.811 lineto
-73.617 157.811 lineto
-70.617 154.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-73.617 151.811 M
-76.617 154.811 lineto
-73.617 157.811 lineto
-70.617 154.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-73.92 87.166 M
-76.92 90.166 lineto
-73.92 93.166 lineto
-70.92 90.166 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-73.92 87.166 M
-76.92 90.166 lineto
-73.92 93.166 lineto
-70.92 90.166 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-74.224 87.166 M
-77.224 90.166 lineto
-74.224 93.166 lineto
-71.224 90.166 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-74.224 87.166 M
-77.224 90.166 lineto
-74.224 93.166 lineto
-71.224 90.166 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-74.528 87.166 M
-77.528 90.166 lineto
-74.528 93.166 lineto
-71.528 90.166 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-74.528 87.166 M
-77.528 90.166 lineto
-74.528 93.166 lineto
-71.528 90.166 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-74.832 87.166 M
-77.832 90.166 lineto
-74.832 93.166 lineto
-71.832 90.166 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-74.832 87.166 M
-77.832 90.166 lineto
-74.832 93.166 lineto
-71.832 90.166 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-75.135 108.714 M
-78.135 111.714 lineto
-75.135 114.714 lineto
-72.135 111.714 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-75.135 108.714 M
-78.135 111.714 lineto
-75.135 114.714 lineto
-72.135 111.714 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-75.439 108.714 M
-78.439 111.714 lineto
-75.439 114.714 lineto
-72.439 111.714 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-75.439 108.714 M
-78.439 111.714 lineto
-75.439 114.714 lineto
-72.439 111.714 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-75.743 108.714 M
-78.743 111.714 lineto
-75.743 114.714 lineto
-72.743 111.714 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-75.743 108.714 M
-78.743 111.714 lineto
-75.743 114.714 lineto
-72.743 111.714 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-76.047 108.714 M
-79.047 111.714 lineto
-76.047 114.714 lineto
-73.047 111.714 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-76.047 108.714 M
-79.047 111.714 lineto
-76.047 114.714 lineto
-73.047 111.714 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-76.35 108.714 M
-79.35 111.714 lineto
-76.35 114.714 lineto
-73.35 111.714 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-76.35 108.714 M
-79.35 111.714 lineto
-76.35 114.714 lineto
-73.35 111.714 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-76.654 108.714 M
-79.654 111.714 lineto
-76.654 114.714 lineto
-73.654 111.714 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-76.654 108.714 M
-79.654 111.714 lineto
-76.654 114.714 lineto
-73.654 111.714 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-76.958 108.714 M
-79.958 111.714 lineto
-76.958 114.714 lineto
-73.958 111.714 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-76.958 108.714 M
-79.958 111.714 lineto
-76.958 114.714 lineto
-73.958 111.714 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-77.262 108.714 M
-80.262 111.714 lineto
-77.262 114.714 lineto
-74.262 111.714 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-77.262 108.714 M
-80.262 111.714 lineto
-77.262 114.714 lineto
-74.262 111.714 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-77.565 108.714 M
-80.565 111.714 lineto
-77.565 114.714 lineto
-74.565 111.714 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-77.565 108.714 M
-80.565 111.714 lineto
-77.565 114.714 lineto
-74.565 111.714 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-77.869 108.714 M
-80.869 111.714 lineto
-77.869 114.714 lineto
-74.869 111.714 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-77.869 108.714 M
-80.869 111.714 lineto
-77.869 114.714 lineto
-74.869 111.714 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-78.173 108.714 M
-81.173 111.714 lineto
-78.173 114.714 lineto
-75.173 111.714 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-78.173 108.714 M
-81.173 111.714 lineto
-78.173 114.714 lineto
-75.173 111.714 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-78.477 130.263 M
-81.477 133.263 lineto
-78.477 136.263 lineto
-75.477 133.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-78.477 130.263 M
-81.477 133.263 lineto
-78.477 136.263 lineto
-75.477 133.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-78.78 130.263 M
-81.78 133.263 lineto
-78.78 136.263 lineto
-75.78 133.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-78.78 130.263 M
-81.78 133.263 lineto
-78.78 136.263 lineto
-75.78 133.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-79.084 130.263 M
-82.084 133.263 lineto
-79.084 136.263 lineto
-76.084 133.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-79.084 130.263 M
-82.084 133.263 lineto
-79.084 136.263 lineto
-76.084 133.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-79.388 130.263 M
-82.388 133.263 lineto
-79.388 136.263 lineto
-76.388 133.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-79.388 130.263 M
-82.388 133.263 lineto
-79.388 136.263 lineto
-76.388 133.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-79.692 130.263 M
-82.692 133.263 lineto
-79.692 136.263 lineto
-76.692 133.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-79.692 130.263 M
-82.692 133.263 lineto
-79.692 136.263 lineto
-76.692 133.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-79.995 130.263 M
-82.995 133.263 lineto
-79.995 136.263 lineto
-76.995 133.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-79.995 130.263 M
-82.995 133.263 lineto
-79.995 136.263 lineto
-76.995 133.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-80.299 130.263 M
-83.299 133.263 lineto
-80.299 136.263 lineto
-77.299 133.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.299 130.263 M
-83.299 133.263 lineto
-80.299 136.263 lineto
-77.299 133.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-80.603 130.263 M
-83.603 133.263 lineto
-80.603 136.263 lineto
-77.603 133.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.603 130.263 M
-83.603 133.263 lineto
-80.603 136.263 lineto
-77.603 133.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-80.906 151.811 M
-83.906 154.811 lineto
-80.906 157.811 lineto
-77.906 154.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.906 151.811 M
-83.906 154.811 lineto
-80.906 157.811 lineto
-77.906 154.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-81.21 194.907 M
-84.21 197.907 lineto
-81.21 200.907 lineto
-78.21 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-81.21 194.907 M
-84.21 197.907 lineto
-81.21 200.907 lineto
-78.21 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-81.514 194.907 M
-84.514 197.907 lineto
-81.514 200.907 lineto
-78.514 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-81.514 194.907 M
-84.514 197.907 lineto
-81.514 200.907 lineto
-78.514 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-81.818 194.907 M
-84.818 197.907 lineto
-81.818 200.907 lineto
-78.818 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-81.818 194.907 M
-84.818 197.907 lineto
-81.818 200.907 lineto
-78.818 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-82.121 194.907 M
-85.121 197.907 lineto
-82.121 200.907 lineto
-79.121 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-82.121 194.907 M
-85.121 197.907 lineto
-82.121 200.907 lineto
-79.121 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-82.425 194.907 M
-85.425 197.907 lineto
-82.425 200.907 lineto
-79.425 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-82.425 194.907 M
-85.425 197.907 lineto
-82.425 200.907 lineto
-79.425 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-82.729 194.907 M
-85.729 197.907 lineto
-82.729 200.907 lineto
-79.729 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-82.729 194.907 M
-85.729 197.907 lineto
-82.729 200.907 lineto
-79.729 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-83.033 194.907 M
-86.033 197.907 lineto
-83.033 200.907 lineto
-80.033 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.033 194.907 M
-86.033 197.907 lineto
-83.033 200.907 lineto
-80.033 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-83.336 194.907 M
-86.336 197.907 lineto
-83.336 200.907 lineto
-80.336 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.336 194.907 M
-86.336 197.907 lineto
-83.336 200.907 lineto
-80.336 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-83.64 194.907 M
-86.64 197.907 lineto
-83.64 200.907 lineto
-80.64 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.64 194.907 M
-86.64 197.907 lineto
-83.64 200.907 lineto
-80.64 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-83.944 194.907 M
-86.944 197.907 lineto
-83.944 200.907 lineto
-80.944 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.944 194.907 M
-86.944 197.907 lineto
-83.944 200.907 lineto
-80.944 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-84.248 194.907 M
-87.248 197.907 lineto
-84.248 200.907 lineto
-81.248 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-84.248 194.907 M
-87.248 197.907 lineto
-84.248 200.907 lineto
-81.248 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-84.551 194.907 M
-87.551 197.907 lineto
-84.551 200.907 lineto
-81.551 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-84.551 194.907 M
-87.551 197.907 lineto
-84.551 200.907 lineto
-81.551 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-84.855 194.907 M
-87.855 197.907 lineto
-84.855 200.907 lineto
-81.855 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-84.855 194.907 M
-87.855 197.907 lineto
-84.855 200.907 lineto
-81.855 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-85.159 194.907 M
-88.159 197.907 lineto
-85.159 200.907 lineto
-82.159 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-85.159 194.907 M
-88.159 197.907 lineto
-85.159 200.907 lineto
-82.159 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-85.463 194.907 M
-88.463 197.907 lineto
-85.463 200.907 lineto
-82.463 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-85.463 194.907 M
-88.463 197.907 lineto
-85.463 200.907 lineto
-82.463 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-85.766 194.907 M
-88.766 197.907 lineto
-85.766 200.907 lineto
-82.766 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-85.766 194.907 M
-88.766 197.907 lineto
-85.766 200.907 lineto
-82.766 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-86.07 194.907 M
-89.07 197.907 lineto
-86.07 200.907 lineto
-83.07 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-86.07 194.907 M
-89.07 197.907 lineto
-86.07 200.907 lineto
-83.07 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-86.374 194.907 M
-89.374 197.907 lineto
-86.374 200.907 lineto
-83.374 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-86.374 194.907 M
-89.374 197.907 lineto
-86.374 200.907 lineto
-83.374 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-86.677 194.907 M
-89.677 197.907 lineto
-86.677 200.907 lineto
-83.677 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-86.677 194.907 M
-89.677 197.907 lineto
-86.677 200.907 lineto
-83.677 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-86.981 194.907 M
-89.981 197.907 lineto
-86.981 200.907 lineto
-83.981 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-86.981 194.907 M
-89.981 197.907 lineto
-86.981 200.907 lineto
-83.981 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-87.285 194.907 M
-90.285 197.907 lineto
-87.285 200.907 lineto
-84.285 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.285 194.907 M
-90.285 197.907 lineto
-87.285 200.907 lineto
-84.285 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-87.589 194.907 M
-90.589 197.907 lineto
-87.589 200.907 lineto
-84.589 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.589 194.907 M
-90.589 197.907 lineto
-87.589 200.907 lineto
-84.589 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-87.892 194.907 M
-90.892 197.907 lineto
-87.892 200.907 lineto
-84.892 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.892 194.907 M
-90.892 197.907 lineto
-87.892 200.907 lineto
-84.892 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-88.196 216.455 M
-91.196 219.455 lineto
-88.196 222.455 lineto
-85.196 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-88.196 216.455 M
-91.196 219.455 lineto
-88.196 222.455 lineto
-85.196 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-88.5 216.455 M
-91.5 219.455 lineto
-88.5 222.455 lineto
-85.5 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-88.5 216.455 M
-91.5 219.455 lineto
-88.5 222.455 lineto
-85.5 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-88.804 216.455 M
-91.804 219.455 lineto
-88.804 222.455 lineto
-85.804 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-88.804 216.455 M
-91.804 219.455 lineto
-88.804 222.455 lineto
-85.804 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-89.107 216.455 M
-92.107 219.455 lineto
-89.107 222.455 lineto
-86.107 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-89.107 216.455 M
-92.107 219.455 lineto
-89.107 222.455 lineto
-86.107 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-89.411 216.455 M
-92.411 219.455 lineto
-89.411 222.455 lineto
-86.411 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-89.411 216.455 M
-92.411 219.455 lineto
-89.411 222.455 lineto
-86.411 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-89.715 216.455 M
-92.715 219.455 lineto
-89.715 222.455 lineto
-86.715 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-89.715 216.455 M
-92.715 219.455 lineto
-89.715 222.455 lineto
-86.715 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-90.019 216.455 M
-93.019 219.455 lineto
-90.019 222.455 lineto
-87.019 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-90.019 216.455 M
-93.019 219.455 lineto
-90.019 222.455 lineto
-87.019 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-90.322 216.455 M
-93.322 219.455 lineto
-90.322 222.455 lineto
-87.322 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-90.322 216.455 M
-93.322 219.455 lineto
-90.322 222.455 lineto
-87.322 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-90.626 216.455 M
-93.626 219.455 lineto
-90.626 222.455 lineto
-87.626 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-90.626 216.455 M
-93.626 219.455 lineto
-90.626 222.455 lineto
-87.626 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-90.93 216.455 M
-93.93 219.455 lineto
-90.93 222.455 lineto
-87.93 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-90.93 216.455 M
-93.93 219.455 lineto
-90.93 222.455 lineto
-87.93 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-91.234 216.455 M
-94.234 219.455 lineto
-91.234 222.455 lineto
-88.234 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-91.234 216.455 M
-94.234 219.455 lineto
-91.234 222.455 lineto
-88.234 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-91.537 151.811 M
-94.537 154.811 lineto
-91.537 157.811 lineto
-88.537 154.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-91.537 151.811 M
-94.537 154.811 lineto
-91.537 157.811 lineto
-88.537 154.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-91.841 173.359 M
-94.841 176.359 lineto
-91.841 179.359 lineto
-88.841 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-91.841 173.359 M
-94.841 176.359 lineto
-91.841 179.359 lineto
-88.841 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-92.145 173.359 M
-95.145 176.359 lineto
-92.145 179.359 lineto
-89.145 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-92.145 173.359 M
-95.145 176.359 lineto
-92.145 179.359 lineto
-89.145 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-92.448 173.359 M
-95.448 176.359 lineto
-92.448 179.359 lineto
-89.448 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-92.448 173.359 M
-95.448 176.359 lineto
-92.448 179.359 lineto
-89.448 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-92.752 194.907 M
-95.752 197.907 lineto
-92.752 200.907 lineto
-89.752 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-92.752 194.907 M
-95.752 197.907 lineto
-92.752 200.907 lineto
-89.752 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-93.056 194.907 M
-96.056 197.907 lineto
-93.056 200.907 lineto
-90.056 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-93.056 194.907 M
-96.056 197.907 lineto
-93.056 200.907 lineto
-90.056 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-93.36 216.455 M
-96.36 219.455 lineto
-93.36 222.455 lineto
-90.36 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-93.36 216.455 M
-96.36 219.455 lineto
-93.36 222.455 lineto
-90.36 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-93.663 216.455 M
-96.663 219.455 lineto
-93.663 222.455 lineto
-90.663 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-93.663 216.455 M
-96.663 219.455 lineto
-93.663 222.455 lineto
-90.663 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-93.967 216.455 M
-96.967 219.455 lineto
-93.967 222.455 lineto
-90.967 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-93.967 216.455 M
-96.967 219.455 lineto
-93.967 222.455 lineto
-90.967 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-94.271 216.455 M
-97.271 219.455 lineto
-94.271 222.455 lineto
-91.271 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-94.271 216.455 M
-97.271 219.455 lineto
-94.271 222.455 lineto
-91.271 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-94.575 216.455 M
-97.575 219.455 lineto
-94.575 222.455 lineto
-91.575 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-94.575 216.455 M
-97.575 219.455 lineto
-94.575 222.455 lineto
-91.575 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-94.878 216.455 M
-97.878 219.455 lineto
-94.878 222.455 lineto
-91.878 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-94.878 216.455 M
-97.878 219.455 lineto
-94.878 222.455 lineto
-91.878 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-95.182 216.455 M
-98.182 219.455 lineto
-95.182 222.455 lineto
-92.182 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-95.182 216.455 M
-98.182 219.455 lineto
-95.182 222.455 lineto
-92.182 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-95.486 216.455 M
-98.486 219.455 lineto
-95.486 222.455 lineto
-92.486 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-95.486 216.455 M
-98.486 219.455 lineto
-95.486 222.455 lineto
-92.486 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-95.79 216.455 M
-98.79 219.455 lineto
-95.79 222.455 lineto
-92.79 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-95.79 216.455 M
-98.79 219.455 lineto
-95.79 222.455 lineto
-92.79 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-96.093 216.455 M
-99.093 219.455 lineto
-96.093 222.455 lineto
-93.093 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-96.093 216.455 M
-99.093 219.455 lineto
-96.093 222.455 lineto
-93.093 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-96.397 216.455 M
-99.397 219.455 lineto
-96.397 222.455 lineto
-93.397 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-96.397 216.455 M
-99.397 219.455 lineto
-96.397 222.455 lineto
-93.397 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-96.701 216.455 M
-99.701 219.455 lineto
-96.701 222.455 lineto
-93.701 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-96.701 216.455 M
-99.701 219.455 lineto
-96.701 222.455 lineto
-93.701 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-97.005 216.455 M
-100.005 219.455 lineto
-97.005 222.455 lineto
-94.005 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-97.005 216.455 M
-100.005 219.455 lineto
-97.005 222.455 lineto
-94.005 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-97.308 216.455 M
-100.308 219.455 lineto
-97.308 222.455 lineto
-94.308 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-97.308 216.455 M
-100.308 219.455 lineto
-97.308 222.455 lineto
-94.308 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-97.612 216.455 M
-100.612 219.455 lineto
-97.612 222.455 lineto
-94.612 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-97.612 216.455 M
-100.612 219.455 lineto
-97.612 222.455 lineto
-94.612 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-97.916 216.455 M
-100.916 219.455 lineto
-97.916 222.455 lineto
-94.916 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-97.916 216.455 M
-100.916 219.455 lineto
-97.916 222.455 lineto
-94.916 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-98.219 216.455 M
-101.219 219.455 lineto
-98.219 222.455 lineto
-95.219 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-98.219 216.455 M
-101.219 219.455 lineto
-98.219 222.455 lineto
-95.219 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-98.523 216.455 M
-101.523 219.455 lineto
-98.523 222.455 lineto
-95.523 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-98.523 216.455 M
-101.523 219.455 lineto
-98.523 222.455 lineto
-95.523 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-98.827 216.455 M
-101.827 219.455 lineto
-98.827 222.455 lineto
-95.827 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-98.827 216.455 M
-101.827 219.455 lineto
-98.827 222.455 lineto
-95.827 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-99.131 216.455 M
-102.131 219.455 lineto
-99.131 222.455 lineto
-96.131 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-99.131 216.455 M
-102.131 219.455 lineto
-99.131 222.455 lineto
-96.131 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-99.434 216.455 M
-102.434 219.455 lineto
-99.434 222.455 lineto
-96.434 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-99.434 216.455 M
-102.434 219.455 lineto
-99.434 222.455 lineto
-96.434 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-99.738 216.455 M
-102.738 219.455 lineto
-99.738 222.455 lineto
-96.738 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-99.738 216.455 M
-102.738 219.455 lineto
-99.738 222.455 lineto
-96.738 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-100.042 216.455 M
-103.042 219.455 lineto
-100.042 222.455 lineto
-97.042 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-100.042 216.455 M
-103.042 219.455 lineto
-100.042 222.455 lineto
-97.042 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-100.346 216.455 M
-103.346 219.455 lineto
-100.346 222.455 lineto
-97.346 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-100.346 216.455 M
-103.346 219.455 lineto
-100.346 222.455 lineto
-97.346 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-100.649 216.455 M
-103.649 219.455 lineto
-100.649 222.455 lineto
-97.649 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-100.649 216.455 M
-103.649 219.455 lineto
-100.649 222.455 lineto
-97.649 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-100.953 216.455 M
-103.953 219.455 lineto
-100.953 222.455 lineto
-97.953 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-100.953 216.455 M
-103.953 219.455 lineto
-100.953 222.455 lineto
-97.953 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-101.257 216.455 M
-104.257 219.455 lineto
-101.257 222.455 lineto
-98.257 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-101.257 216.455 M
-104.257 219.455 lineto
-101.257 222.455 lineto
-98.257 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-101.561 216.455 M
-104.561 219.455 lineto
-101.561 222.455 lineto
-98.561 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-101.561 216.455 M
-104.561 219.455 lineto
-101.561 222.455 lineto
-98.561 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-101.864 216.455 M
-104.864 219.455 lineto
-101.864 222.455 lineto
-98.864 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-101.864 216.455 M
-104.864 219.455 lineto
-101.864 222.455 lineto
-98.864 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-102.168 216.455 M
-105.168 219.455 lineto
-102.168 222.455 lineto
-99.168 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-102.168 216.455 M
-105.168 219.455 lineto
-102.168 222.455 lineto
-99.168 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-102.472 194.907 M
-105.472 197.907 lineto
-102.472 200.907 lineto
-99.472 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-102.472 194.907 M
-105.472 197.907 lineto
-102.472 200.907 lineto
-99.472 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-102.776 194.907 M
-105.776 197.907 lineto
-102.776 200.907 lineto
-99.776 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-102.776 194.907 M
-105.776 197.907 lineto
-102.776 200.907 lineto
-99.776 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-103.079 194.907 M
-106.079 197.907 lineto
-103.079 200.907 lineto
-100.079 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-103.079 194.907 M
-106.079 197.907 lineto
-103.079 200.907 lineto
-100.079 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-103.383 194.907 M
-106.383 197.907 lineto
-103.383 200.907 lineto
-100.383 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-103.383 194.907 M
-106.383 197.907 lineto
-103.383 200.907 lineto
-100.383 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-103.687 194.907 M
-106.687 197.907 lineto
-103.687 200.907 lineto
-100.687 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-103.687 194.907 M
-106.687 197.907 lineto
-103.687 200.907 lineto
-100.687 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-103.99 194.907 M
-106.99 197.907 lineto
-103.99 200.907 lineto
-100.99 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-103.99 194.907 M
-106.99 197.907 lineto
-103.99 200.907 lineto
-100.99 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-104.294 194.907 M
-107.294 197.907 lineto
-104.294 200.907 lineto
-101.294 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-104.294 194.907 M
-107.294 197.907 lineto
-104.294 200.907 lineto
-101.294 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-104.598 194.907 M
-107.598 197.907 lineto
-104.598 200.907 lineto
-101.598 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-104.598 194.907 M
-107.598 197.907 lineto
-104.598 200.907 lineto
-101.598 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-104.902 194.907 M
-107.902 197.907 lineto
-104.902 200.907 lineto
-101.902 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-104.902 194.907 M
-107.902 197.907 lineto
-104.902 200.907 lineto
-101.902 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-105.205 194.907 M
-108.205 197.907 lineto
-105.205 200.907 lineto
-102.205 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-105.205 194.907 M
-108.205 197.907 lineto
-105.205 200.907 lineto
-102.205 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-105.509 194.907 M
-108.509 197.907 lineto
-105.509 200.907 lineto
-102.509 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-105.509 194.907 M
-108.509 197.907 lineto
-105.509 200.907 lineto
-102.509 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-105.813 238.004 M
-108.813 241.004 lineto
-105.813 244.004 lineto
-102.813 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-105.813 238.004 M
-108.813 241.004 lineto
-105.813 244.004 lineto
-102.813 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-106.117 238.004 M
-109.117 241.004 lineto
-106.117 244.004 lineto
-103.117 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-106.117 238.004 M
-109.117 241.004 lineto
-106.117 244.004 lineto
-103.117 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-106.42 238.004 M
-109.42 241.004 lineto
-106.42 244.004 lineto
-103.42 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-106.42 238.004 M
-109.42 241.004 lineto
-106.42 244.004 lineto
-103.42 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-106.724 238.004 M
-109.724 241.004 lineto
-106.724 244.004 lineto
-103.724 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-106.724 238.004 M
-109.724 241.004 lineto
-106.724 244.004 lineto
-103.724 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-107.028 238.004 M
-110.028 241.004 lineto
-107.028 244.004 lineto
-104.028 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-107.028 238.004 M
-110.028 241.004 lineto
-107.028 244.004 lineto
-104.028 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-107.332 238.004 M
-110.332 241.004 lineto
-107.332 244.004 lineto
-104.332 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-107.332 238.004 M
-110.332 241.004 lineto
-107.332 244.004 lineto
-104.332 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-107.635 238.004 M
-110.635 241.004 lineto
-107.635 244.004 lineto
-104.635 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-107.635 238.004 M
-110.635 241.004 lineto
-107.635 244.004 lineto
-104.635 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-107.939 238.004 M
-110.939 241.004 lineto
-107.939 244.004 lineto
-104.939 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-107.939 238.004 M
-110.939 241.004 lineto
-107.939 244.004 lineto
-104.939 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-108.243 194.907 M
-111.243 197.907 lineto
-108.243 200.907 lineto
-105.243 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-108.243 194.907 M
-111.243 197.907 lineto
-108.243 200.907 lineto
-105.243 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-108.547 194.907 M
-111.547 197.907 lineto
-108.547 200.907 lineto
-105.547 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-108.547 194.907 M
-111.547 197.907 lineto
-108.547 200.907 lineto
-105.547 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-108.85 194.907 M
-111.85 197.907 lineto
-108.85 200.907 lineto
-105.85 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-108.85 194.907 M
-111.85 197.907 lineto
-108.85 200.907 lineto
-105.85 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-109.154 194.907 M
-112.154 197.907 lineto
-109.154 200.907 lineto
-106.154 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-109.154 194.907 M
-112.154 197.907 lineto
-109.154 200.907 lineto
-106.154 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-109.458 194.907 M
-112.458 197.907 lineto
-109.458 200.907 lineto
-106.458 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-109.458 194.907 M
-112.458 197.907 lineto
-109.458 200.907 lineto
-106.458 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-109.761 194.907 M
-112.761 197.907 lineto
-109.761 200.907 lineto
-106.761 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-109.761 194.907 M
-112.761 197.907 lineto
-109.761 200.907 lineto
-106.761 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-110.065 194.907 M
-113.065 197.907 lineto
-110.065 200.907 lineto
-107.065 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-110.065 194.907 M
-113.065 197.907 lineto
-110.065 200.907 lineto
-107.065 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-110.369 194.907 M
-113.369 197.907 lineto
-110.369 200.907 lineto
-107.369 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-110.369 194.907 M
-113.369 197.907 lineto
-110.369 200.907 lineto
-107.369 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-110.673 194.907 M
-113.673 197.907 lineto
-110.673 200.907 lineto
-107.673 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-110.673 194.907 M
-113.673 197.907 lineto
-110.673 200.907 lineto
-107.673 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-110.976 194.907 M
-113.976 197.907 lineto
-110.976 200.907 lineto
-107.976 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-110.976 194.907 M
-113.976 197.907 lineto
-110.976 200.907 lineto
-107.976 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-111.28 194.907 M
-114.28 197.907 lineto
-111.28 200.907 lineto
-108.28 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-111.28 194.907 M
-114.28 197.907 lineto
-111.28 200.907 lineto
-108.28 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-111.584 216.455 M
-114.584 219.455 lineto
-111.584 222.455 lineto
-108.584 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-111.584 216.455 M
-114.584 219.455 lineto
-111.584 222.455 lineto
-108.584 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-111.888 216.455 M
-114.888 219.455 lineto
-111.888 222.455 lineto
-108.888 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-111.888 216.455 M
-114.888 219.455 lineto
-111.888 222.455 lineto
-108.888 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-112.191 216.455 M
-115.191 219.455 lineto
-112.191 222.455 lineto
-109.191 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-112.191 216.455 M
-115.191 219.455 lineto
-112.191 222.455 lineto
-109.191 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-112.495 216.455 M
-115.495 219.455 lineto
-112.495 222.455 lineto
-109.495 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-112.495 216.455 M
-115.495 219.455 lineto
-112.495 222.455 lineto
-109.495 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-112.799 216.455 M
-115.799 219.455 lineto
-112.799 222.455 lineto
-109.799 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-112.799 216.455 M
-115.799 219.455 lineto
-112.799 222.455 lineto
-109.799 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-113.103 216.455 M
-116.103 219.455 lineto
-113.103 222.455 lineto
-110.103 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-113.103 216.455 M
-116.103 219.455 lineto
-113.103 222.455 lineto
-110.103 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-113.406 216.455 M
-116.406 219.455 lineto
-113.406 222.455 lineto
-110.406 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-113.406 216.455 M
-116.406 219.455 lineto
-113.406 222.455 lineto
-110.406 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-113.71 216.455 M
-116.71 219.455 lineto
-113.71 222.455 lineto
-110.71 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-113.71 216.455 M
-116.71 219.455 lineto
-113.71 222.455 lineto
-110.71 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-114.014 216.455 M
-117.014 219.455 lineto
-114.014 222.455 lineto
-111.014 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-114.014 216.455 M
-117.014 219.455 lineto
-114.014 222.455 lineto
-111.014 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-114.318 216.455 M
-117.318 219.455 lineto
-114.318 222.455 lineto
-111.318 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-114.318 216.455 M
-117.318 219.455 lineto
-114.318 222.455 lineto
-111.318 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-114.621 216.455 M
-117.621 219.455 lineto
-114.621 222.455 lineto
-111.621 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-114.621 216.455 M
-117.621 219.455 lineto
-114.621 222.455 lineto
-111.621 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-114.925 216.455 M
-117.925 219.455 lineto
-114.925 222.455 lineto
-111.925 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-114.925 216.455 M
-117.925 219.455 lineto
-114.925 222.455 lineto
-111.925 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-115.229 216.455 M
-118.229 219.455 lineto
-115.229 222.455 lineto
-112.229 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-115.229 216.455 M
-118.229 219.455 lineto
-115.229 222.455 lineto
-112.229 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-115.533 216.455 M
-118.533 219.455 lineto
-115.533 222.455 lineto
-112.533 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-115.533 216.455 M
-118.533 219.455 lineto
-115.533 222.455 lineto
-112.533 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-115.836 216.455 M
-118.836 219.455 lineto
-115.836 222.455 lineto
-112.836 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-115.836 216.455 M
-118.836 219.455 lineto
-115.836 222.455 lineto
-112.836 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-116.14 216.455 M
-119.14 219.455 lineto
-116.14 222.455 lineto
-113.14 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-116.14 216.455 M
-119.14 219.455 lineto
-116.14 222.455 lineto
-113.14 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-116.444 259.552 M
-119.444 262.552 lineto
-116.444 265.552 lineto
-113.444 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-116.444 259.552 M
-119.444 262.552 lineto
-116.444 265.552 lineto
-113.444 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-116.747 259.552 M
-119.747 262.552 lineto
-116.747 265.552 lineto
-113.747 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-116.747 259.552 M
-119.747 262.552 lineto
-116.747 265.552 lineto
-113.747 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-117.051 259.552 M
-120.051 262.552 lineto
-117.051 265.552 lineto
-114.051 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-117.051 259.552 M
-120.051 262.552 lineto
-117.051 265.552 lineto
-114.051 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-117.355 259.552 M
-120.355 262.552 lineto
-117.355 265.552 lineto
-114.355 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-117.355 259.552 M
-120.355 262.552 lineto
-117.355 265.552 lineto
-114.355 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-117.659 259.552 M
-120.659 262.552 lineto
-117.659 265.552 lineto
-114.659 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-117.659 259.552 M
-120.659 262.552 lineto
-117.659 265.552 lineto
-114.659 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-117.962 259.552 M
-120.962 262.552 lineto
-117.962 265.552 lineto
-114.962 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-117.962 259.552 M
-120.962 262.552 lineto
-117.962 265.552 lineto
-114.962 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-118.266 259.552 M
-121.266 262.552 lineto
-118.266 265.552 lineto
-115.266 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-118.266 259.552 M
-121.266 262.552 lineto
-118.266 265.552 lineto
-115.266 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-118.57 259.552 M
-121.57 262.552 lineto
-118.57 265.552 lineto
-115.57 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-118.57 259.552 M
-121.57 262.552 lineto
-118.57 265.552 lineto
-115.57 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-118.874 259.552 M
-121.874 262.552 lineto
-118.874 265.552 lineto
-115.874 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-118.874 259.552 M
-121.874 262.552 lineto
-118.874 265.552 lineto
-115.874 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-119.177 259.552 M
-122.177 262.552 lineto
-119.177 265.552 lineto
-116.177 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-119.177 259.552 M
-122.177 262.552 lineto
-119.177 265.552 lineto
-116.177 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-119.481 259.552 M
-122.481 262.552 lineto
-119.481 265.552 lineto
-116.481 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-119.481 259.552 M
-122.481 262.552 lineto
-119.481 265.552 lineto
-116.481 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-119.785 259.552 M
-122.785 262.552 lineto
-119.785 265.552 lineto
-116.785 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-119.785 259.552 M
-122.785 262.552 lineto
-119.785 265.552 lineto
-116.785 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-120.089 259.552 M
-123.089 262.552 lineto
-120.089 265.552 lineto
-117.089 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-120.089 259.552 M
-123.089 262.552 lineto
-120.089 265.552 lineto
-117.089 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-120.392 259.552 M
-123.392 262.552 lineto
-120.392 265.552 lineto
-117.392 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-120.392 259.552 M
-123.392 262.552 lineto
-120.392 265.552 lineto
-117.392 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-120.696 259.552 M
-123.696 262.552 lineto
-120.696 265.552 lineto
-117.696 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-120.696 259.552 M
-123.696 262.552 lineto
-120.696 265.552 lineto
-117.696 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-121 259.552 M
-124 262.552 lineto
-121 265.552 lineto
-118 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121 259.552 M
-124 262.552 lineto
-121 265.552 lineto
-118 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-121.304 259.552 M
-124.304 262.552 lineto
-121.304 265.552 lineto
-118.304 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.304 259.552 M
-124.304 262.552 lineto
-121.304 265.552 lineto
-118.304 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-121.607 259.552 M
-124.607 262.552 lineto
-121.607 265.552 lineto
-118.607 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.607 259.552 M
-124.607 262.552 lineto
-121.607 265.552 lineto
-118.607 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-121.911 259.552 M
-124.911 262.552 lineto
-121.911 265.552 lineto
-118.911 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.911 259.552 M
-124.911 262.552 lineto
-121.911 265.552 lineto
-118.911 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-122.215 238.004 M
-125.215 241.004 lineto
-122.215 244.004 lineto
-119.215 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-122.215 238.004 M
-125.215 241.004 lineto
-122.215 244.004 lineto
-119.215 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-122.518 238.004 M
-125.518 241.004 lineto
-122.518 244.004 lineto
-119.518 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-122.518 238.004 M
-125.518 241.004 lineto
-122.518 244.004 lineto
-119.518 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-122.822 238.004 M
-125.822 241.004 lineto
-122.822 244.004 lineto
-119.822 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-122.822 238.004 M
-125.822 241.004 lineto
-122.822 244.004 lineto
-119.822 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-123.126 216.455 M
-126.126 219.455 lineto
-123.126 222.455 lineto
-120.126 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-123.126 216.455 M
-126.126 219.455 lineto
-123.126 222.455 lineto
-120.126 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-123.43 216.455 M
-126.43 219.455 lineto
-123.43 222.455 lineto
-120.43 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-123.43 216.455 M
-126.43 219.455 lineto
-123.43 222.455 lineto
-120.43 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-123.733 216.455 M
-126.733 219.455 lineto
-123.733 222.455 lineto
-120.733 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-123.733 216.455 M
-126.733 219.455 lineto
-123.733 222.455 lineto
-120.733 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-124.037 216.455 M
-127.037 219.455 lineto
-124.037 222.455 lineto
-121.037 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.037 216.455 M
-127.037 219.455 lineto
-124.037 222.455 lineto
-121.037 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-124.341 216.455 M
-127.341 219.455 lineto
-124.341 222.455 lineto
-121.341 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.341 216.455 M
-127.341 219.455 lineto
-124.341 222.455 lineto
-121.341 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-124.645 216.455 M
-127.645 219.455 lineto
-124.645 222.455 lineto
-121.645 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.645 216.455 M
-127.645 219.455 lineto
-124.645 222.455 lineto
-121.645 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-124.948 216.455 M
-127.948 219.455 lineto
-124.948 222.455 lineto
-121.948 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.948 216.455 M
-127.948 219.455 lineto
-124.948 222.455 lineto
-121.948 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-125.252 216.455 M
-128.252 219.455 lineto
-125.252 222.455 lineto
-122.252 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-125.252 216.455 M
-128.252 219.455 lineto
-125.252 222.455 lineto
-122.252 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-125.556 216.455 M
-128.556 219.455 lineto
-125.556 222.455 lineto
-122.556 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-125.556 216.455 M
-128.556 219.455 lineto
-125.556 222.455 lineto
-122.556 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-125.86 216.455 M
-128.86 219.455 lineto
-125.86 222.455 lineto
-122.86 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-125.86 216.455 M
-128.86 219.455 lineto
-125.86 222.455 lineto
-122.86 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-126.163 216.455 M
-129.163 219.455 lineto
-126.163 222.455 lineto
-123.163 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-126.163 216.455 M
-129.163 219.455 lineto
-126.163 222.455 lineto
-123.163 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-126.467 216.455 M
-129.467 219.455 lineto
-126.467 222.455 lineto
-123.467 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-126.467 216.455 M
-129.467 219.455 lineto
-126.467 222.455 lineto
-123.467 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-126.771 216.455 M
-129.771 219.455 lineto
-126.771 222.455 lineto
-123.771 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-126.771 216.455 M
-129.771 219.455 lineto
-126.771 222.455 lineto
-123.771 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-127.075 216.455 M
-130.075 219.455 lineto
-127.075 222.455 lineto
-124.075 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.075 216.455 M
-130.075 219.455 lineto
-127.075 222.455 lineto
-124.075 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-127.378 216.455 M
-130.378 219.455 lineto
-127.378 222.455 lineto
-124.378 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.378 216.455 M
-130.378 219.455 lineto
-127.378 222.455 lineto
-124.378 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-127.682 216.455 M
-130.682 219.455 lineto
-127.682 222.455 lineto
-124.682 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.682 216.455 M
-130.682 219.455 lineto
-127.682 222.455 lineto
-124.682 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-127.986 216.455 M
-130.986 219.455 lineto
-127.986 222.455 lineto
-124.986 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.986 216.455 M
-130.986 219.455 lineto
-127.986 222.455 lineto
-124.986 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-128.289 216.455 M
-131.289 219.455 lineto
-128.289 222.455 lineto
-125.289 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-128.289 216.455 M
-131.289 219.455 lineto
-128.289 222.455 lineto
-125.289 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-128.593 216.455 M
-131.593 219.455 lineto
-128.593 222.455 lineto
-125.593 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-128.593 216.455 M
-131.593 219.455 lineto
-128.593 222.455 lineto
-125.593 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-128.897 216.455 M
-131.897 219.455 lineto
-128.897 222.455 lineto
-125.897 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-128.897 216.455 M
-131.897 219.455 lineto
-128.897 222.455 lineto
-125.897 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-129.201 216.455 M
-132.201 219.455 lineto
-129.201 222.455 lineto
-126.201 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-129.201 216.455 M
-132.201 219.455 lineto
-129.201 222.455 lineto
-126.201 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-129.504 216.455 M
-132.504 219.455 lineto
-129.504 222.455 lineto
-126.504 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-129.504 216.455 M
-132.504 219.455 lineto
-129.504 222.455 lineto
-126.504 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-129.808 216.455 M
-132.808 219.455 lineto
-129.808 222.455 lineto
-126.808 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-129.808 216.455 M
-132.808 219.455 lineto
-129.808 222.455 lineto
-126.808 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-130.112 216.455 M
-133.112 219.455 lineto
-130.112 222.455 lineto
-127.112 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.112 216.455 M
-133.112 219.455 lineto
-130.112 222.455 lineto
-127.112 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-130.416 216.455 M
-133.416 219.455 lineto
-130.416 222.455 lineto
-127.416 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.416 216.455 M
-133.416 219.455 lineto
-130.416 222.455 lineto
-127.416 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-130.719 194.907 M
-133.719 197.907 lineto
-130.719 200.907 lineto
-127.719 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.719 194.907 M
-133.719 197.907 lineto
-130.719 200.907 lineto
-127.719 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-131.023 194.907 M
-134.023 197.907 lineto
-131.023 200.907 lineto
-128.023 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-131.023 194.907 M
-134.023 197.907 lineto
-131.023 200.907 lineto
-128.023 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-131.327 194.907 M
-134.327 197.907 lineto
-131.327 200.907 lineto
-128.327 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-131.327 194.907 M
-134.327 197.907 lineto
-131.327 200.907 lineto
-128.327 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-131.631 194.907 M
-134.631 197.907 lineto
-131.631 200.907 lineto
-128.631 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-131.631 194.907 M
-134.631 197.907 lineto
-131.631 200.907 lineto
-128.631 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-131.934 194.907 M
-134.934 197.907 lineto
-131.934 200.907 lineto
-128.934 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-131.934 194.907 M
-134.934 197.907 lineto
-131.934 200.907 lineto
-128.934 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-132.238 194.907 M
-135.238 197.907 lineto
-132.238 200.907 lineto
-129.238 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-132.238 194.907 M
-135.238 197.907 lineto
-132.238 200.907 lineto
-129.238 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-132.542 194.907 M
-135.542 197.907 lineto
-132.542 200.907 lineto
-129.542 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-132.542 194.907 M
-135.542 197.907 lineto
-132.542 200.907 lineto
-129.542 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-132.846 194.907 M
-135.846 197.907 lineto
-132.846 200.907 lineto
-129.846 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-132.846 194.907 M
-135.846 197.907 lineto
-132.846 200.907 lineto
-129.846 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-133.149 194.907 M
-136.149 197.907 lineto
-133.149 200.907 lineto
-130.149 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-133.149 194.907 M
-136.149 197.907 lineto
-133.149 200.907 lineto
-130.149 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-133.453 194.907 M
-136.453 197.907 lineto
-133.453 200.907 lineto
-130.453 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-133.453 194.907 M
-136.453 197.907 lineto
-133.453 200.907 lineto
-130.453 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-133.757 194.907 M
-136.757 197.907 lineto
-133.757 200.907 lineto
-130.757 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-133.757 194.907 M
-136.757 197.907 lineto
-133.757 200.907 lineto
-130.757 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-134.06 194.907 M
-137.06 197.907 lineto
-134.06 200.907 lineto
-131.06 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-134.06 194.907 M
-137.06 197.907 lineto
-134.06 200.907 lineto
-131.06 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-134.364 194.907 M
-137.364 197.907 lineto
-134.364 200.907 lineto
-131.364 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-134.364 194.907 M
-137.364 197.907 lineto
-134.364 200.907 lineto
-131.364 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-134.668 194.907 M
-137.668 197.907 lineto
-134.668 200.907 lineto
-131.668 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-134.668 194.907 M
-137.668 197.907 lineto
-134.668 200.907 lineto
-131.668 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-134.972 194.907 M
-137.972 197.907 lineto
-134.972 200.907 lineto
-131.972 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-134.972 194.907 M
-137.972 197.907 lineto
-134.972 200.907 lineto
-131.972 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-135.275 194.907 M
-138.275 197.907 lineto
-135.275 200.907 lineto
-132.275 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-135.275 194.907 M
-138.275 197.907 lineto
-135.275 200.907 lineto
-132.275 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-135.579 194.907 M
-138.579 197.907 lineto
-135.579 200.907 lineto
-132.579 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-135.579 194.907 M
-138.579 197.907 lineto
-135.579 200.907 lineto
-132.579 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-135.883 194.907 M
-138.883 197.907 lineto
-135.883 200.907 lineto
-132.883 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-135.883 194.907 M
-138.883 197.907 lineto
-135.883 200.907 lineto
-132.883 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-136.187 194.907 M
-139.187 197.907 lineto
-136.187 200.907 lineto
-133.187 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-136.187 194.907 M
-139.187 197.907 lineto
-136.187 200.907 lineto
-133.187 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-136.49 238.004 M
-139.49 241.004 lineto
-136.49 244.004 lineto
-133.49 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-136.49 238.004 M
-139.49 241.004 lineto
-136.49 244.004 lineto
-133.49 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-136.794 238.004 M
-139.794 241.004 lineto
-136.794 244.004 lineto
-133.794 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-136.794 238.004 M
-139.794 241.004 lineto
-136.794 244.004 lineto
-133.794 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-137.098 238.004 M
-140.098 241.004 lineto
-137.098 244.004 lineto
-134.098 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-137.098 238.004 M
-140.098 241.004 lineto
-137.098 244.004 lineto
-134.098 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-137.402 259.552 M
-140.402 262.552 lineto
-137.402 265.552 lineto
-134.402 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-137.402 259.552 M
-140.402 262.552 lineto
-137.402 265.552 lineto
-134.402 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-137.705 216.455 M
-140.705 219.455 lineto
-137.705 222.455 lineto
-134.705 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-137.705 216.455 M
-140.705 219.455 lineto
-137.705 222.455 lineto
-134.705 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-138.009 216.455 M
-141.009 219.455 lineto
-138.009 222.455 lineto
-135.009 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-138.009 216.455 M
-141.009 219.455 lineto
-138.009 222.455 lineto
-135.009 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-138.313 216.455 M
-141.313 219.455 lineto
-138.313 222.455 lineto
-135.313 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-138.313 216.455 M
-141.313 219.455 lineto
-138.313 222.455 lineto
-135.313 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-138.617 238.004 M
-141.617 241.004 lineto
-138.617 244.004 lineto
-135.617 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-138.617 238.004 M
-141.617 241.004 lineto
-138.617 244.004 lineto
-135.617 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-138.92 238.004 M
-141.92 241.004 lineto
-138.92 244.004 lineto
-135.92 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-138.92 238.004 M
-141.92 241.004 lineto
-138.92 244.004 lineto
-135.92 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-139.224 238.004 M
-142.224 241.004 lineto
-139.224 244.004 lineto
-136.224 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-139.224 238.004 M
-142.224 241.004 lineto
-139.224 244.004 lineto
-136.224 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-139.528 238.004 M
-142.528 241.004 lineto
-139.528 244.004 lineto
-136.528 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-139.528 238.004 M
-142.528 241.004 lineto
-139.528 244.004 lineto
-136.528 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-139.831 238.004 M
-142.831 241.004 lineto
-139.831 244.004 lineto
-136.831 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-139.831 238.004 M
-142.831 241.004 lineto
-139.831 244.004 lineto
-136.831 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-140.135 238.004 M
-143.135 241.004 lineto
-140.135 244.004 lineto
-137.135 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-140.135 238.004 M
-143.135 241.004 lineto
-140.135 244.004 lineto
-137.135 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-140.439 238.004 M
-143.439 241.004 lineto
-140.439 244.004 lineto
-137.439 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-140.439 238.004 M
-143.439 241.004 lineto
-140.439 244.004 lineto
-137.439 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-140.743 238.004 M
-143.743 241.004 lineto
-140.743 244.004 lineto
-137.743 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-140.743 238.004 M
-143.743 241.004 lineto
-140.743 244.004 lineto
-137.743 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-141.046 238.004 M
-144.046 241.004 lineto
-141.046 244.004 lineto
-138.046 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-141.046 238.004 M
-144.046 241.004 lineto
-141.046 244.004 lineto
-138.046 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-141.35 238.004 M
-144.35 241.004 lineto
-141.35 244.004 lineto
-138.35 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-141.35 238.004 M
-144.35 241.004 lineto
-141.35 244.004 lineto
-138.35 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-141.654 238.004 M
-144.654 241.004 lineto
-141.654 244.004 lineto
-138.654 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-141.654 238.004 M
-144.654 241.004 lineto
-141.654 244.004 lineto
-138.654 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-141.958 238.004 M
-144.958 241.004 lineto
-141.958 244.004 lineto
-138.958 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-141.958 238.004 M
-144.958 241.004 lineto
-141.958 244.004 lineto
-138.958 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-142.261 238.004 M
-145.261 241.004 lineto
-142.261 244.004 lineto
-139.261 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-142.261 238.004 M
-145.261 241.004 lineto
-142.261 244.004 lineto
-139.261 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-142.565 238.004 M
-145.565 241.004 lineto
-142.565 244.004 lineto
-139.565 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-142.565 238.004 M
-145.565 241.004 lineto
-142.565 244.004 lineto
-139.565 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-142.869 238.004 M
-145.869 241.004 lineto
-142.869 244.004 lineto
-139.869 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-142.869 238.004 M
-145.869 241.004 lineto
-142.869 244.004 lineto
-139.869 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-143.173 238.004 M
-146.173 241.004 lineto
-143.173 244.004 lineto
-140.173 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-143.173 238.004 M
-146.173 241.004 lineto
-143.173 244.004 lineto
-140.173 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-143.476 238.004 M
-146.476 241.004 lineto
-143.476 244.004 lineto
-140.476 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-143.476 238.004 M
-146.476 241.004 lineto
-143.476 244.004 lineto
-140.476 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-143.78 238.004 M
-146.78 241.004 lineto
-143.78 244.004 lineto
-140.78 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-143.78 238.004 M
-146.78 241.004 lineto
-143.78 244.004 lineto
-140.78 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-144.084 238.004 M
-147.084 241.004 lineto
-144.084 244.004 lineto
-141.084 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-144.084 238.004 M
-147.084 241.004 lineto
-144.084 244.004 lineto
-141.084 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-144.388 238.004 M
-147.388 241.004 lineto
-144.388 244.004 lineto
-141.388 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-144.388 238.004 M
-147.388 241.004 lineto
-144.388 244.004 lineto
-141.388 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-144.691 238.004 M
-147.691 241.004 lineto
-144.691 244.004 lineto
-141.691 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-144.691 238.004 M
-147.691 241.004 lineto
-144.691 244.004 lineto
-141.691 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-144.995 259.552 M
-147.995 262.552 lineto
-144.995 265.552 lineto
-141.995 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-144.995 259.552 M
-147.995 262.552 lineto
-144.995 265.552 lineto
-141.995 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-145.299 259.552 M
-148.299 262.552 lineto
-145.299 265.552 lineto
-142.299 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-145.299 259.552 M
-148.299 262.552 lineto
-145.299 265.552 lineto
-142.299 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-145.602 259.552 M
-148.602 262.552 lineto
-145.602 265.552 lineto
-142.602 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-145.602 259.552 M
-148.602 262.552 lineto
-145.602 265.552 lineto
-142.602 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-145.906 259.552 M
-148.906 262.552 lineto
-145.906 265.552 lineto
-142.906 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-145.906 259.552 M
-148.906 262.552 lineto
-145.906 265.552 lineto
-142.906 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-146.21 259.552 M
-149.21 262.552 lineto
-146.21 265.552 lineto
-143.21 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.21 259.552 M
-149.21 262.552 lineto
-146.21 265.552 lineto
-143.21 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-146.514 259.552 M
-149.514 262.552 lineto
-146.514 265.552 lineto
-143.514 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.514 259.552 M
-149.514 262.552 lineto
-146.514 265.552 lineto
-143.514 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-146.817 259.552 M
-149.817 262.552 lineto
-146.817 265.552 lineto
-143.817 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.817 259.552 M
-149.817 262.552 lineto
-146.817 265.552 lineto
-143.817 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-147.121 259.552 M
-150.121 262.552 lineto
-147.121 265.552 lineto
-144.121 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-147.121 259.552 M
-150.121 262.552 lineto
-147.121 265.552 lineto
-144.121 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-147.425 259.552 M
-150.425 262.552 lineto
-147.425 265.552 lineto
-144.425 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-147.425 259.552 M
-150.425 262.552 lineto
-147.425 265.552 lineto
-144.425 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-147.729 259.552 M
-150.729 262.552 lineto
-147.729 265.552 lineto
-144.729 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-147.729 259.552 M
-150.729 262.552 lineto
-147.729 265.552 lineto
-144.729 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-148.032 259.552 M
-151.032 262.552 lineto
-148.032 265.552 lineto
-145.032 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-148.032 259.552 M
-151.032 262.552 lineto
-148.032 265.552 lineto
-145.032 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-148.336 259.552 M
-151.336 262.552 lineto
-148.336 265.552 lineto
-145.336 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-148.336 259.552 M
-151.336 262.552 lineto
-148.336 265.552 lineto
-145.336 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-148.64 259.552 M
-151.64 262.552 lineto
-148.64 265.552 lineto
-145.64 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-148.64 259.552 M
-151.64 262.552 lineto
-148.64 265.552 lineto
-145.64 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-148.944 259.552 M
-151.944 262.552 lineto
-148.944 265.552 lineto
-145.944 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-148.944 259.552 M
-151.944 262.552 lineto
-148.944 265.552 lineto
-145.944 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-149.247 259.552 M
-152.247 262.552 lineto
-149.247 265.552 lineto
-146.247 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-149.247 259.552 M
-152.247 262.552 lineto
-149.247 265.552 lineto
-146.247 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-149.551 259.552 M
-152.551 262.552 lineto
-149.551 265.552 lineto
-146.551 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-149.551 259.552 M
-152.551 262.552 lineto
-149.551 265.552 lineto
-146.551 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-149.855 259.552 M
-152.855 262.552 lineto
-149.855 265.552 lineto
-146.855 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-149.855 259.552 M
-152.855 262.552 lineto
-149.855 265.552 lineto
-146.855 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-150.159 216.455 M
-153.159 219.455 lineto
-150.159 222.455 lineto
-147.159 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-150.159 216.455 M
-153.159 219.455 lineto
-150.159 222.455 lineto
-147.159 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-150.462 238.004 M
-153.462 241.004 lineto
-150.462 244.004 lineto
-147.462 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-150.462 238.004 M
-153.462 241.004 lineto
-150.462 244.004 lineto
-147.462 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-150.766 259.552 M
-153.766 262.552 lineto
-150.766 265.552 lineto
-147.766 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-150.766 259.552 M
-153.766 262.552 lineto
-150.766 265.552 lineto
-147.766 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-151.07 259.552 M
-154.07 262.552 lineto
-151.07 265.552 lineto
-148.07 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-151.07 259.552 M
-154.07 262.552 lineto
-151.07 265.552 lineto
-148.07 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-151.373 216.455 M
-154.373 219.455 lineto
-151.373 222.455 lineto
-148.373 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-151.373 216.455 M
-154.373 219.455 lineto
-151.373 222.455 lineto
-148.373 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-151.677 259.552 M
-154.677 262.552 lineto
-151.677 265.552 lineto
-148.677 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-151.677 259.552 M
-154.677 262.552 lineto
-151.677 265.552 lineto
-148.677 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-151.981 259.552 M
-154.981 262.552 lineto
-151.981 265.552 lineto
-148.981 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-151.981 259.552 M
-154.981 262.552 lineto
-151.981 265.552 lineto
-148.981 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-152.285 259.552 M
-155.285 262.552 lineto
-152.285 265.552 lineto
-149.285 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-152.285 259.552 M
-155.285 262.552 lineto
-152.285 265.552 lineto
-149.285 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-152.588 259.552 M
-155.588 262.552 lineto
-152.588 265.552 lineto
-149.588 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-152.588 259.552 M
-155.588 262.552 lineto
-152.588 265.552 lineto
-149.588 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-152.892 259.552 M
-155.892 262.552 lineto
-152.892 265.552 lineto
-149.892 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-152.892 259.552 M
-155.892 262.552 lineto
-152.892 265.552 lineto
-149.892 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-153.196 259.552 M
-156.196 262.552 lineto
-153.196 265.552 lineto
-150.196 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-153.196 259.552 M
-156.196 262.552 lineto
-153.196 265.552 lineto
-150.196 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-153.5 259.552 M
-156.5 262.552 lineto
-153.5 265.552 lineto
-150.5 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-153.5 259.552 M
-156.5 262.552 lineto
-153.5 265.552 lineto
-150.5 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-153.803 259.552 M
-156.803 262.552 lineto
-153.803 265.552 lineto
-150.803 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-153.803 259.552 M
-156.803 262.552 lineto
-153.803 265.552 lineto
-150.803 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-154.107 259.552 M
-157.107 262.552 lineto
-154.107 265.552 lineto
-151.107 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-154.107 259.552 M
-157.107 262.552 lineto
-154.107 265.552 lineto
-151.107 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-154.411 259.552 M
-157.411 262.552 lineto
-154.411 265.552 lineto
-151.411 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-154.411 259.552 M
-157.411 262.552 lineto
-154.411 265.552 lineto
-151.411 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-154.715 259.552 M
-157.715 262.552 lineto
-154.715 265.552 lineto
-151.715 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-154.715 259.552 M
-157.715 262.552 lineto
-154.715 265.552 lineto
-151.715 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-155.018 259.552 M
-158.018 262.552 lineto
-155.018 265.552 lineto
-152.018 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-155.018 259.552 M
-158.018 262.552 lineto
-155.018 265.552 lineto
-152.018 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-155.322 259.552 M
-158.322 262.552 lineto
-155.322 265.552 lineto
-152.322 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-155.322 259.552 M
-158.322 262.552 lineto
-155.322 265.552 lineto
-152.322 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-155.626 259.552 M
-158.626 262.552 lineto
-155.626 265.552 lineto
-152.626 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-155.626 259.552 M
-158.626 262.552 lineto
-155.626 265.552 lineto
-152.626 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-155.93 259.552 M
-158.93 262.552 lineto
-155.93 265.552 lineto
-152.93 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-155.93 259.552 M
-158.93 262.552 lineto
-155.93 265.552 lineto
-152.93 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-156.233 259.552 M
-159.233 262.552 lineto
-156.233 265.552 lineto
-153.233 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-156.233 259.552 M
-159.233 262.552 lineto
-156.233 265.552 lineto
-153.233 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-156.537 259.552 M
-159.537 262.552 lineto
-156.537 265.552 lineto
-153.537 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-156.537 259.552 M
-159.537 262.552 lineto
-156.537 265.552 lineto
-153.537 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-156.841 259.552 M
-159.841 262.552 lineto
-156.841 265.552 lineto
-153.841 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-156.841 259.552 M
-159.841 262.552 lineto
-156.841 265.552 lineto
-153.841 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-157.145 259.552 M
-160.145 262.552 lineto
-157.145 265.552 lineto
-154.145 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-157.145 259.552 M
-160.145 262.552 lineto
-157.145 265.552 lineto
-154.145 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-157.448 259.552 M
-160.448 262.552 lineto
-157.448 265.552 lineto
-154.448 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-157.448 259.552 M
-160.448 262.552 lineto
-157.448 265.552 lineto
-154.448 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-157.752 259.552 M
-160.752 262.552 lineto
-157.752 265.552 lineto
-154.752 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-157.752 259.552 M
-160.752 262.552 lineto
-157.752 265.552 lineto
-154.752 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-158.056 259.552 M
-161.056 262.552 lineto
-158.056 265.552 lineto
-155.056 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-158.056 259.552 M
-161.056 262.552 lineto
-158.056 265.552 lineto
-155.056 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-158.359 259.552 M
-161.359 262.552 lineto
-158.359 265.552 lineto
-155.359 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-158.359 259.552 M
-161.359 262.552 lineto
-158.359 265.552 lineto
-155.359 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-158.663 259.552 M
-161.663 262.552 lineto
-158.663 265.552 lineto
-155.663 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-158.663 259.552 M
-161.663 262.552 lineto
-158.663 265.552 lineto
-155.663 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-158.967 259.552 M
-161.967 262.552 lineto
-158.967 265.552 lineto
-155.967 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-158.967 259.552 M
-161.967 262.552 lineto
-158.967 265.552 lineto
-155.967 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-159.271 259.552 M
-162.271 262.552 lineto
-159.271 265.552 lineto
-156.271 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-159.271 259.552 M
-162.271 262.552 lineto
-159.271 265.552 lineto
-156.271 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-159.574 259.552 M
-162.574 262.552 lineto
-159.574 265.552 lineto
-156.574 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-159.574 259.552 M
-162.574 262.552 lineto
-159.574 265.552 lineto
-156.574 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-159.878 259.552 M
-162.878 262.552 lineto
-159.878 265.552 lineto
-156.878 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-159.878 259.552 M
-162.878 262.552 lineto
-159.878 265.552 lineto
-156.878 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-160.182 259.552 M
-163.182 262.552 lineto
-160.182 265.552 lineto
-157.182 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-160.182 259.552 M
-163.182 262.552 lineto
-160.182 265.552 lineto
-157.182 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-160.486 259.552 M
-163.486 262.552 lineto
-160.486 265.552 lineto
-157.486 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-160.486 259.552 M
-163.486 262.552 lineto
-160.486 265.552 lineto
-157.486 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-160.789 259.552 M
-163.789 262.552 lineto
-160.789 265.552 lineto
-157.789 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-160.789 259.552 M
-163.789 262.552 lineto
-160.789 265.552 lineto
-157.789 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-161.093 259.552 M
-164.093 262.552 lineto
-161.093 265.552 lineto
-158.093 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-161.093 259.552 M
-164.093 262.552 lineto
-161.093 265.552 lineto
-158.093 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-161.397 259.552 M
-164.397 262.552 lineto
-161.397 265.552 lineto
-158.397 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-161.397 259.552 M
-164.397 262.552 lineto
-161.397 265.552 lineto
-158.397 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-161.701 259.552 M
-164.701 262.552 lineto
-161.701 265.552 lineto
-158.701 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-161.701 259.552 M
-164.701 262.552 lineto
-161.701 265.552 lineto
-158.701 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-162.004 259.552 M
-165.004 262.552 lineto
-162.004 265.552 lineto
-159.004 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-162.004 259.552 M
-165.004 262.552 lineto
-162.004 265.552 lineto
-159.004 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-162.308 259.552 M
-165.308 262.552 lineto
-162.308 265.552 lineto
-159.308 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-162.308 259.552 M
-165.308 262.552 lineto
-162.308 265.552 lineto
-159.308 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-162.612 259.552 M
-165.612 262.552 lineto
-162.612 265.552 lineto
-159.612 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-162.612 259.552 M
-165.612 262.552 lineto
-162.612 265.552 lineto
-159.612 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-162.916 259.552 M
-165.916 262.552 lineto
-162.916 265.552 lineto
-159.916 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-162.916 259.552 M
-165.916 262.552 lineto
-162.916 265.552 lineto
-159.916 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-163.219 259.552 M
-166.219 262.552 lineto
-163.219 265.552 lineto
-160.219 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-163.219 259.552 M
-166.219 262.552 lineto
-163.219 265.552 lineto
-160.219 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-163.523 259.552 M
-166.523 262.552 lineto
-163.523 265.552 lineto
-160.523 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-163.523 259.552 M
-166.523 262.552 lineto
-163.523 265.552 lineto
-160.523 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-163.827 259.552 M
-166.827 262.552 lineto
-163.827 265.552 lineto
-160.827 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-163.827 259.552 M
-166.827 262.552 lineto
-163.827 265.552 lineto
-160.827 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-164.13 259.552 M
-167.13 262.552 lineto
-164.13 265.552 lineto
-161.13 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-164.13 259.552 M
-167.13 262.552 lineto
-164.13 265.552 lineto
-161.13 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-164.434 259.552 M
-167.434 262.552 lineto
-164.434 265.552 lineto
-161.434 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-164.434 259.552 M
-167.434 262.552 lineto
-164.434 265.552 lineto
-161.434 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-164.738 259.552 M
-167.738 262.552 lineto
-164.738 265.552 lineto
-161.738 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-164.738 259.552 M
-167.738 262.552 lineto
-164.738 265.552 lineto
-161.738 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-165.042 259.552 M
-168.042 262.552 lineto
-165.042 265.552 lineto
-162.042 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-165.042 259.552 M
-168.042 262.552 lineto
-165.042 265.552 lineto
-162.042 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-165.345 259.552 M
-168.345 262.552 lineto
-165.345 265.552 lineto
-162.345 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-165.345 259.552 M
-168.345 262.552 lineto
-165.345 265.552 lineto
-162.345 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-165.649 281.1 M
-168.649 284.1 lineto
-165.649 287.1 lineto
-162.649 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-165.649 281.1 M
-168.649 284.1 lineto
-165.649 287.1 lineto
-162.649 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-165.953 281.1 M
-168.953 284.1 lineto
-165.953 287.1 lineto
-162.953 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-165.953 281.1 M
-168.953 284.1 lineto
-165.953 287.1 lineto
-162.953 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-166.257 281.1 M
-169.257 284.1 lineto
-166.257 287.1 lineto
-163.257 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-166.257 281.1 M
-169.257 284.1 lineto
-166.257 287.1 lineto
-163.257 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-166.56 281.1 M
-169.56 284.1 lineto
-166.56 287.1 lineto
-163.56 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-166.56 281.1 M
-169.56 284.1 lineto
-166.56 287.1 lineto
-163.56 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-166.864 281.1 M
-169.864 284.1 lineto
-166.864 287.1 lineto
-163.864 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-166.864 281.1 M
-169.864 284.1 lineto
-166.864 287.1 lineto
-163.864 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-167.168 281.1 M
-170.168 284.1 lineto
-167.168 287.1 lineto
-164.168 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-167.168 281.1 M
-170.168 284.1 lineto
-167.168 287.1 lineto
-164.168 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-167.472 281.1 M
-170.472 284.1 lineto
-167.472 287.1 lineto
-164.472 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-167.472 281.1 M
-170.472 284.1 lineto
-167.472 287.1 lineto
-164.472 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-167.775 281.1 M
-170.775 284.1 lineto
-167.775 287.1 lineto
-164.775 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-167.775 281.1 M
-170.775 284.1 lineto
-167.775 287.1 lineto
-164.775 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-168.079 281.1 M
-171.079 284.1 lineto
-168.079 287.1 lineto
-165.079 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-168.079 281.1 M
-171.079 284.1 lineto
-168.079 287.1 lineto
-165.079 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-168.383 281.1 M
-171.383 284.1 lineto
-168.383 287.1 lineto
-165.383 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-168.383 281.1 M
-171.383 284.1 lineto
-168.383 287.1 lineto
-165.383 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-168.687 281.1 M
-171.687 284.1 lineto
-168.687 287.1 lineto
-165.687 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-168.687 281.1 M
-171.687 284.1 lineto
-168.687 287.1 lineto
-165.687 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-168.99 281.1 M
-171.99 284.1 lineto
-168.99 287.1 lineto
-165.99 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-168.99 281.1 M
-171.99 284.1 lineto
-168.99 287.1 lineto
-165.99 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-169.294 281.1 M
-172.294 284.1 lineto
-169.294 287.1 lineto
-166.294 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-169.294 281.1 M
-172.294 284.1 lineto
-169.294 287.1 lineto
-166.294 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-169.598 281.1 M
-172.598 284.1 lineto
-169.598 287.1 lineto
-166.598 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-169.598 281.1 M
-172.598 284.1 lineto
-169.598 287.1 lineto
-166.598 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-169.901 281.1 M
-172.901 284.1 lineto
-169.901 287.1 lineto
-166.901 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-169.901 281.1 M
-172.901 284.1 lineto
-169.901 287.1 lineto
-166.901 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-170.205 281.1 M
-173.205 284.1 lineto
-170.205 287.1 lineto
-167.205 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.205 281.1 M
-173.205 284.1 lineto
-170.205 287.1 lineto
-167.205 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-170.509 281.1 M
-173.509 284.1 lineto
-170.509 287.1 lineto
-167.509 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.509 281.1 M
-173.509 284.1 lineto
-170.509 287.1 lineto
-167.509 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-170.813 281.1 M
-173.813 284.1 lineto
-170.813 287.1 lineto
-167.813 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.813 281.1 M
-173.813 284.1 lineto
-170.813 287.1 lineto
-167.813 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-171.116 281.1 M
-174.116 284.1 lineto
-171.116 287.1 lineto
-168.116 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-171.116 281.1 M
-174.116 284.1 lineto
-171.116 287.1 lineto
-168.116 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-171.42 281.1 M
-174.42 284.1 lineto
-171.42 287.1 lineto
-168.42 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-171.42 281.1 M
-174.42 284.1 lineto
-171.42 287.1 lineto
-168.42 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-171.724 281.1 M
-174.724 284.1 lineto
-171.724 287.1 lineto
-168.724 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-171.724 281.1 M
-174.724 284.1 lineto
-171.724 287.1 lineto
-168.724 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-172.028 281.1 M
-175.028 284.1 lineto
-172.028 287.1 lineto
-169.028 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-172.028 281.1 M
-175.028 284.1 lineto
-172.028 287.1 lineto
-169.028 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-172.331 281.1 M
-175.331 284.1 lineto
-172.331 287.1 lineto
-169.331 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-172.331 281.1 M
-175.331 284.1 lineto
-172.331 287.1 lineto
-169.331 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-172.635 281.1 M
-175.635 284.1 lineto
-172.635 287.1 lineto
-169.635 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-172.635 281.1 M
-175.635 284.1 lineto
-172.635 287.1 lineto
-169.635 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-172.939 281.1 M
-175.939 284.1 lineto
-172.939 287.1 lineto
-169.939 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-172.939 281.1 M
-175.939 284.1 lineto
-172.939 287.1 lineto
-169.939 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-173.243 238.004 M
-176.243 241.004 lineto
-173.243 244.004 lineto
-170.243 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.243 238.004 M
-176.243 241.004 lineto
-173.243 244.004 lineto
-170.243 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-173.546 238.004 M
-176.546 241.004 lineto
-173.546 244.004 lineto
-170.546 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.546 238.004 M
-176.546 241.004 lineto
-173.546 244.004 lineto
-170.546 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-173.85 238.004 M
-176.85 241.004 lineto
-173.85 244.004 lineto
-170.85 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.85 238.004 M
-176.85 241.004 lineto
-173.85 244.004 lineto
-170.85 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-174.154 238.004 M
-177.154 241.004 lineto
-174.154 244.004 lineto
-171.154 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-174.154 238.004 M
-177.154 241.004 lineto
-174.154 244.004 lineto
-171.154 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-174.458 238.004 M
-177.458 241.004 lineto
-174.458 244.004 lineto
-171.458 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-174.458 238.004 M
-177.458 241.004 lineto
-174.458 244.004 lineto
-171.458 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-174.761 238.004 M
-177.761 241.004 lineto
-174.761 244.004 lineto
-171.761 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-174.761 238.004 M
-177.761 241.004 lineto
-174.761 244.004 lineto
-171.761 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-175.065 238.004 M
-178.065 241.004 lineto
-175.065 244.004 lineto
-172.065 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-175.065 238.004 M
-178.065 241.004 lineto
-175.065 244.004 lineto
-172.065 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-175.369 238.004 M
-178.369 241.004 lineto
-175.369 244.004 lineto
-172.369 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-175.369 238.004 M
-178.369 241.004 lineto
-175.369 244.004 lineto
-172.369 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-175.672 238.004 M
-178.672 241.004 lineto
-175.672 244.004 lineto
-172.672 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-175.672 238.004 M
-178.672 241.004 lineto
-175.672 244.004 lineto
-172.672 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-175.976 238.004 M
-178.976 241.004 lineto
-175.976 244.004 lineto
-172.976 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-175.976 238.004 M
-178.976 241.004 lineto
-175.976 244.004 lineto
-172.976 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-176.28 238.004 M
-179.28 241.004 lineto
-176.28 244.004 lineto
-173.28 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-176.28 238.004 M
-179.28 241.004 lineto
-176.28 244.004 lineto
-173.28 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-176.584 238.004 M
-179.584 241.004 lineto
-176.584 244.004 lineto
-173.584 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-176.584 238.004 M
-179.584 241.004 lineto
-176.584 244.004 lineto
-173.584 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-176.887 238.004 M
-179.887 241.004 lineto
-176.887 244.004 lineto
-173.887 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-176.887 238.004 M
-179.887 241.004 lineto
-176.887 244.004 lineto
-173.887 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-177.191 238.004 M
-180.191 241.004 lineto
-177.191 244.004 lineto
-174.191 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-177.191 238.004 M
-180.191 241.004 lineto
-177.191 244.004 lineto
-174.191 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-177.495 238.004 M
-180.495 241.004 lineto
-177.495 244.004 lineto
-174.495 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-177.495 238.004 M
-180.495 241.004 lineto
-177.495 244.004 lineto
-174.495 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-177.799 238.004 M
-180.799 241.004 lineto
-177.799 244.004 lineto
-174.799 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-177.799 238.004 M
-180.799 241.004 lineto
-177.799 244.004 lineto
-174.799 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-178.102 238.004 M
-181.102 241.004 lineto
-178.102 244.004 lineto
-175.102 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-178.102 238.004 M
-181.102 241.004 lineto
-178.102 244.004 lineto
-175.102 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-178.406 216.455 M
-181.406 219.455 lineto
-178.406 222.455 lineto
-175.406 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-178.406 216.455 M
-181.406 219.455 lineto
-178.406 222.455 lineto
-175.406 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-178.71 216.455 M
-181.71 219.455 lineto
-178.71 222.455 lineto
-175.71 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-178.71 216.455 M
-181.71 219.455 lineto
-178.71 222.455 lineto
-175.71 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-179.014 216.455 M
-182.014 219.455 lineto
-179.014 222.455 lineto
-176.014 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-179.014 216.455 M
-182.014 219.455 lineto
-179.014 222.455 lineto
-176.014 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-179.317 238.004 M
-182.317 241.004 lineto
-179.317 244.004 lineto
-176.317 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-179.317 238.004 M
-182.317 241.004 lineto
-179.317 244.004 lineto
-176.317 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-179.621 238.004 M
-182.621 241.004 lineto
-179.621 244.004 lineto
-176.621 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-179.621 238.004 M
-182.621 241.004 lineto
-179.621 244.004 lineto
-176.621 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-179.925 216.455 M
-182.925 219.455 lineto
-179.925 222.455 lineto
-176.925 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-179.925 216.455 M
-182.925 219.455 lineto
-179.925 222.455 lineto
-176.925 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-180.229 216.455 M
-183.229 219.455 lineto
-180.229 222.455 lineto
-177.229 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-180.229 216.455 M
-183.229 219.455 lineto
-180.229 222.455 lineto
-177.229 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-180.532 216.455 M
-183.532 219.455 lineto
-180.532 222.455 lineto
-177.532 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-180.532 216.455 M
-183.532 219.455 lineto
-180.532 222.455 lineto
-177.532 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-180.836 216.455 M
-183.836 219.455 lineto
-180.836 222.455 lineto
-177.836 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-180.836 216.455 M
-183.836 219.455 lineto
-180.836 222.455 lineto
-177.836 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-181.14 216.455 M
-184.14 219.455 lineto
-181.14 222.455 lineto
-178.14 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-181.14 216.455 M
-184.14 219.455 lineto
-181.14 222.455 lineto
-178.14 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-181.443 194.907 M
-184.443 197.907 lineto
-181.443 200.907 lineto
-178.443 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-181.443 194.907 M
-184.443 197.907 lineto
-181.443 200.907 lineto
-178.443 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-181.747 194.907 M
-184.747 197.907 lineto
-181.747 200.907 lineto
-178.747 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-181.747 194.907 M
-184.747 197.907 lineto
-181.747 200.907 lineto
-178.747 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-182.051 194.907 M
-185.051 197.907 lineto
-182.051 200.907 lineto
-179.051 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-182.051 194.907 M
-185.051 197.907 lineto
-182.051 200.907 lineto
-179.051 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-182.355 216.455 M
-185.355 219.455 lineto
-182.355 222.455 lineto
-179.355 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-182.355 216.455 M
-185.355 219.455 lineto
-182.355 222.455 lineto
-179.355 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-182.658 216.455 M
-185.658 219.455 lineto
-182.658 222.455 lineto
-179.658 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-182.658 216.455 M
-185.658 219.455 lineto
-182.658 222.455 lineto
-179.658 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-182.962 216.455 M
-185.962 219.455 lineto
-182.962 222.455 lineto
-179.962 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-182.962 216.455 M
-185.962 219.455 lineto
-182.962 222.455 lineto
-179.962 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-183.266 216.455 M
-186.266 219.455 lineto
-183.266 222.455 lineto
-180.266 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-183.266 216.455 M
-186.266 219.455 lineto
-183.266 222.455 lineto
-180.266 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-183.57 216.455 M
-186.57 219.455 lineto
-183.57 222.455 lineto
-180.57 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-183.57 216.455 M
-186.57 219.455 lineto
-183.57 222.455 lineto
-180.57 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-183.873 216.455 M
-186.873 219.455 lineto
-183.873 222.455 lineto
-180.873 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-183.873 216.455 M
-186.873 219.455 lineto
-183.873 222.455 lineto
-180.873 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-184.177 216.455 M
-187.177 219.455 lineto
-184.177 222.455 lineto
-181.177 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-184.177 216.455 M
-187.177 219.455 lineto
-184.177 222.455 lineto
-181.177 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-184.481 216.455 M
-187.481 219.455 lineto
-184.481 222.455 lineto
-181.481 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-184.481 216.455 M
-187.481 219.455 lineto
-184.481 222.455 lineto
-181.481 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-184.785 216.455 M
-187.785 219.455 lineto
-184.785 222.455 lineto
-181.785 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-184.785 216.455 M
-187.785 219.455 lineto
-184.785 222.455 lineto
-181.785 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-185.088 173.359 M
-188.088 176.359 lineto
-185.088 179.359 lineto
-182.088 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-185.088 173.359 M
-188.088 176.359 lineto
-185.088 179.359 lineto
-182.088 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-185.392 194.907 M
-188.392 197.907 lineto
-185.392 200.907 lineto
-182.392 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-185.392 194.907 M
-188.392 197.907 lineto
-185.392 200.907 lineto
-182.392 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-185.696 194.907 M
-188.696 197.907 lineto
-185.696 200.907 lineto
-182.696 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-185.696 194.907 M
-188.696 197.907 lineto
-185.696 200.907 lineto
-182.696 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-186 194.907 M
-189 197.907 lineto
-186 200.907 lineto
-183 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-186 194.907 M
-189 197.907 lineto
-186 200.907 lineto
-183 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-186.303 194.907 M
-189.303 197.907 lineto
-186.303 200.907 lineto
-183.303 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-186.303 194.907 M
-189.303 197.907 lineto
-186.303 200.907 lineto
-183.303 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-186.607 194.907 M
-189.607 197.907 lineto
-186.607 200.907 lineto
-183.607 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-186.607 194.907 M
-189.607 197.907 lineto
-186.607 200.907 lineto
-183.607 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-186.911 194.907 M
-189.911 197.907 lineto
-186.911 200.907 lineto
-183.911 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-186.911 194.907 M
-189.911 197.907 lineto
-186.911 200.907 lineto
-183.911 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-187.214 194.907 M
-190.214 197.907 lineto
-187.214 200.907 lineto
-184.214 197.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-187.214 194.907 M
-190.214 197.907 lineto
-187.214 200.907 lineto
-184.214 197.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-187.518 216.455 M
-190.518 219.455 lineto
-187.518 222.455 lineto
-184.518 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-187.518 216.455 M
-190.518 219.455 lineto
-187.518 222.455 lineto
-184.518 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-187.822 216.455 M
-190.822 219.455 lineto
-187.822 222.455 lineto
-184.822 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-187.822 216.455 M
-190.822 219.455 lineto
-187.822 222.455 lineto
-184.822 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-188.126 216.455 M
-191.126 219.455 lineto
-188.126 222.455 lineto
-185.126 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-188.126 216.455 M
-191.126 219.455 lineto
-188.126 222.455 lineto
-185.126 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-188.429 216.455 M
-191.429 219.455 lineto
-188.429 222.455 lineto
-185.429 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-188.429 216.455 M
-191.429 219.455 lineto
-188.429 222.455 lineto
-185.429 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-188.733 216.455 M
-191.733 219.455 lineto
-188.733 222.455 lineto
-185.733 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-188.733 216.455 M
-191.733 219.455 lineto
-188.733 222.455 lineto
-185.733 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-189.037 216.455 M
-192.037 219.455 lineto
-189.037 222.455 lineto
-186.037 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.037 216.455 M
-192.037 219.455 lineto
-189.037 222.455 lineto
-186.037 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-189.341 216.455 M
-192.341 219.455 lineto
-189.341 222.455 lineto
-186.341 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.341 216.455 M
-192.341 219.455 lineto
-189.341 222.455 lineto
-186.341 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-189.644 216.455 M
-192.644 219.455 lineto
-189.644 222.455 lineto
-186.644 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.644 216.455 M
-192.644 219.455 lineto
-189.644 222.455 lineto
-186.644 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-189.948 173.359 M
-192.948 176.359 lineto
-189.948 179.359 lineto
-186.948 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.948 173.359 M
-192.948 176.359 lineto
-189.948 179.359 lineto
-186.948 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-190.252 173.359 M
-193.252 176.359 lineto
-190.252 179.359 lineto
-187.252 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-190.252 173.359 M
-193.252 176.359 lineto
-190.252 179.359 lineto
-187.252 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-190.556 173.359 M
-193.556 176.359 lineto
-190.556 179.359 lineto
-187.556 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-190.556 173.359 M
-193.556 176.359 lineto
-190.556 179.359 lineto
-187.556 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-190.859 173.359 M
-193.859 176.359 lineto
-190.859 179.359 lineto
-187.859 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-190.859 173.359 M
-193.859 176.359 lineto
-190.859 179.359 lineto
-187.859 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-191.163 173.359 M
-194.163 176.359 lineto
-191.163 179.359 lineto
-188.163 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-191.163 173.359 M
-194.163 176.359 lineto
-191.163 179.359 lineto
-188.163 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-191.467 173.359 M
-194.467 176.359 lineto
-191.467 179.359 lineto
-188.467 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-191.467 173.359 M
-194.467 176.359 lineto
-191.467 179.359 lineto
-188.467 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-191.771 173.359 M
-194.771 176.359 lineto
-191.771 179.359 lineto
-188.771 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-191.771 173.359 M
-194.771 176.359 lineto
-191.771 179.359 lineto
-188.771 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-192.074 173.359 M
-195.074 176.359 lineto
-192.074 179.359 lineto
-189.074 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-192.074 173.359 M
-195.074 176.359 lineto
-192.074 179.359 lineto
-189.074 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-192.378 173.359 M
-195.378 176.359 lineto
-192.378 179.359 lineto
-189.378 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-192.378 173.359 M
-195.378 176.359 lineto
-192.378 179.359 lineto
-189.378 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-192.682 130.263 M
-195.682 133.263 lineto
-192.682 136.263 lineto
-189.682 133.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-192.682 130.263 M
-195.682 133.263 lineto
-192.682 136.263 lineto
-189.682 133.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-192.985 151.811 M
-195.985 154.811 lineto
-192.985 157.811 lineto
-189.985 154.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-192.985 151.811 M
-195.985 154.811 lineto
-192.985 157.811 lineto
-189.985 154.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-193.289 151.811 M
-196.289 154.811 lineto
-193.289 157.811 lineto
-190.289 154.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-193.289 151.811 M
-196.289 154.811 lineto
-193.289 157.811 lineto
-190.289 154.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-193.593 151.811 M
-196.593 154.811 lineto
-193.593 157.811 lineto
-190.593 154.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-193.593 151.811 M
-196.593 154.811 lineto
-193.593 157.811 lineto
-190.593 154.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-193.897 151.811 M
-196.897 154.811 lineto
-193.897 157.811 lineto
-190.897 154.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-193.897 151.811 M
-196.897 154.811 lineto
-193.897 157.811 lineto
-190.897 154.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-194.2 173.359 M
-197.2 176.359 lineto
-194.2 179.359 lineto
-191.2 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-194.2 173.359 M
-197.2 176.359 lineto
-194.2 179.359 lineto
-191.2 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-194.504 173.359 M
-197.504 176.359 lineto
-194.504 179.359 lineto
-191.504 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-194.504 173.359 M
-197.504 176.359 lineto
-194.504 179.359 lineto
-191.504 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-194.808 173.359 M
-197.808 176.359 lineto
-194.808 179.359 lineto
-191.808 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-194.808 173.359 M
-197.808 176.359 lineto
-194.808 179.359 lineto
-191.808 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-195.112 173.359 M
-198.112 176.359 lineto
-195.112 179.359 lineto
-192.112 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-195.112 173.359 M
-198.112 176.359 lineto
-195.112 179.359 lineto
-192.112 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-195.415 173.359 M
-198.415 176.359 lineto
-195.415 179.359 lineto
-192.415 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-195.415 173.359 M
-198.415 176.359 lineto
-195.415 179.359 lineto
-192.415 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-195.719 173.359 M
-198.719 176.359 lineto
-195.719 179.359 lineto
-192.719 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-195.719 173.359 M
-198.719 176.359 lineto
-195.719 179.359 lineto
-192.719 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-196.023 173.359 M
-199.023 176.359 lineto
-196.023 179.359 lineto
-193.023 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-196.023 173.359 M
-199.023 176.359 lineto
-196.023 179.359 lineto
-193.023 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-196.327 173.359 M
-199.327 176.359 lineto
-196.327 179.359 lineto
-193.327 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-196.327 173.359 M
-199.327 176.359 lineto
-196.327 179.359 lineto
-193.327 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-196.63 173.359 M
-199.63 176.359 lineto
-196.63 179.359 lineto
-193.63 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-196.63 173.359 M
-199.63 176.359 lineto
-196.63 179.359 lineto
-193.63 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-196.934 173.359 M
-199.934 176.359 lineto
-196.934 179.359 lineto
-193.934 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-196.934 173.359 M
-199.934 176.359 lineto
-196.934 179.359 lineto
-193.934 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-197.238 173.359 M
-200.238 176.359 lineto
-197.238 179.359 lineto
-194.238 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-197.238 173.359 M
-200.238 176.359 lineto
-197.238 179.359 lineto
-194.238 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-197.542 173.359 M
-200.542 176.359 lineto
-197.542 179.359 lineto
-194.542 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-197.542 173.359 M
-200.542 176.359 lineto
-197.542 179.359 lineto
-194.542 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-197.845 173.359 M
-200.845 176.359 lineto
-197.845 179.359 lineto
-194.845 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-197.845 173.359 M
-200.845 176.359 lineto
-197.845 179.359 lineto
-194.845 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-198.149 173.359 M
-201.149 176.359 lineto
-198.149 179.359 lineto
-195.149 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-198.149 173.359 M
-201.149 176.359 lineto
-198.149 179.359 lineto
-195.149 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-198.453 173.359 M
-201.453 176.359 lineto
-198.453 179.359 lineto
-195.453 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-198.453 173.359 M
-201.453 176.359 lineto
-198.453 179.359 lineto
-195.453 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-198.757 173.359 M
-201.757 176.359 lineto
-198.757 179.359 lineto
-195.757 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-198.757 173.359 M
-201.757 176.359 lineto
-198.757 179.359 lineto
-195.757 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-199.06 173.359 M
-202.06 176.359 lineto
-199.06 179.359 lineto
-196.06 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-199.06 173.359 M
-202.06 176.359 lineto
-199.06 179.359 lineto
-196.06 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-199.364 173.359 M
-202.364 176.359 lineto
-199.364 179.359 lineto
-196.364 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-199.364 173.359 M
-202.364 176.359 lineto
-199.364 179.359 lineto
-196.364 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-199.668 173.359 M
-202.668 176.359 lineto
-199.668 179.359 lineto
-196.668 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-199.668 173.359 M
-202.668 176.359 lineto
-199.668 179.359 lineto
-196.668 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-199.971 173.359 M
-202.971 176.359 lineto
-199.971 179.359 lineto
-196.971 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-199.971 173.359 M
-202.971 176.359 lineto
-199.971 179.359 lineto
-196.971 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-200.275 173.359 M
-203.275 176.359 lineto
-200.275 179.359 lineto
-197.275 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-200.275 173.359 M
-203.275 176.359 lineto
-200.275 179.359 lineto
-197.275 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-200.579 173.359 M
-203.579 176.359 lineto
-200.579 179.359 lineto
-197.579 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-200.579 173.359 M
-203.579 176.359 lineto
-200.579 179.359 lineto
-197.579 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-200.883 173.359 M
-203.883 176.359 lineto
-200.883 179.359 lineto
-197.883 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-200.883 173.359 M
-203.883 176.359 lineto
-200.883 179.359 lineto
-197.883 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-201.186 173.359 M
-204.186 176.359 lineto
-201.186 179.359 lineto
-198.186 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-201.186 173.359 M
-204.186 176.359 lineto
-201.186 179.359 lineto
-198.186 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-201.49 173.359 M
-204.49 176.359 lineto
-201.49 179.359 lineto
-198.49 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-201.49 173.359 M
-204.49 176.359 lineto
-201.49 179.359 lineto
-198.49 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-201.794 173.359 M
-204.794 176.359 lineto
-201.794 179.359 lineto
-198.794 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-201.794 173.359 M
-204.794 176.359 lineto
-201.794 179.359 lineto
-198.794 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-202.098 173.359 M
-205.098 176.359 lineto
-202.098 179.359 lineto
-199.098 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-202.098 173.359 M
-205.098 176.359 lineto
-202.098 179.359 lineto
-199.098 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-202.401 173.359 M
-205.401 176.359 lineto
-202.401 179.359 lineto
-199.401 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-202.401 173.359 M
-205.401 176.359 lineto
-202.401 179.359 lineto
-199.401 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-202.705 173.359 M
-205.705 176.359 lineto
-202.705 179.359 lineto
-199.705 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-202.705 173.359 M
-205.705 176.359 lineto
-202.705 179.359 lineto
-199.705 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-203.009 173.359 M
-206.009 176.359 lineto
-203.009 179.359 lineto
-200.009 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-203.009 173.359 M
-206.009 176.359 lineto
-203.009 179.359 lineto
-200.009 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-203.313 173.359 M
-206.313 176.359 lineto
-203.313 179.359 lineto
-200.313 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-203.313 173.359 M
-206.313 176.359 lineto
-203.313 179.359 lineto
-200.313 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-203.616 173.359 M
-206.616 176.359 lineto
-203.616 179.359 lineto
-200.616 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-203.616 173.359 M
-206.616 176.359 lineto
-203.616 179.359 lineto
-200.616 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-203.92 173.359 M
-206.92 176.359 lineto
-203.92 179.359 lineto
-200.92 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-203.92 173.359 M
-206.92 176.359 lineto
-203.92 179.359 lineto
-200.92 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-204.224 173.359 M
-207.224 176.359 lineto
-204.224 179.359 lineto
-201.224 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-204.224 173.359 M
-207.224 176.359 lineto
-204.224 179.359 lineto
-201.224 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-204.528 173.359 M
-207.528 176.359 lineto
-204.528 179.359 lineto
-201.528 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-204.528 173.359 M
-207.528 176.359 lineto
-204.528 179.359 lineto
-201.528 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-204.831 173.359 M
-207.831 176.359 lineto
-204.831 179.359 lineto
-201.831 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-204.831 173.359 M
-207.831 176.359 lineto
-204.831 179.359 lineto
-201.831 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-205.135 173.359 M
-208.135 176.359 lineto
-205.135 179.359 lineto
-202.135 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-205.135 173.359 M
-208.135 176.359 lineto
-205.135 179.359 lineto
-202.135 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-205.439 173.359 M
-208.439 176.359 lineto
-205.439 179.359 lineto
-202.439 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-205.439 173.359 M
-208.439 176.359 lineto
-205.439 179.359 lineto
-202.439 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-205.742 173.359 M
-208.742 176.359 lineto
-205.742 179.359 lineto
-202.742 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-205.742 173.359 M
-208.742 176.359 lineto
-205.742 179.359 lineto
-202.742 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-206.046 173.359 M
-209.046 176.359 lineto
-206.046 179.359 lineto
-203.046 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-206.046 173.359 M
-209.046 176.359 lineto
-206.046 179.359 lineto
-203.046 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-206.35 173.359 M
-209.35 176.359 lineto
-206.35 179.359 lineto
-203.35 176.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-206.35 173.359 M
-209.35 176.359 lineto
-206.35 179.359 lineto
-203.35 176.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-206.654 216.455 M
-209.654 219.455 lineto
-206.654 222.455 lineto
-203.654 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-206.654 216.455 M
-209.654 219.455 lineto
-206.654 222.455 lineto
-203.654 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-206.957 216.455 M
-209.957 219.455 lineto
-206.957 222.455 lineto
-203.957 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-206.957 216.455 M
-209.957 219.455 lineto
-206.957 222.455 lineto
-203.957 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-207.261 216.455 M
-210.261 219.455 lineto
-207.261 222.455 lineto
-204.261 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-207.261 216.455 M
-210.261 219.455 lineto
-207.261 222.455 lineto
-204.261 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-207.565 216.455 M
-210.565 219.455 lineto
-207.565 222.455 lineto
-204.565 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-207.565 216.455 M
-210.565 219.455 lineto
-207.565 222.455 lineto
-204.565 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-207.869 216.455 M
-210.869 219.455 lineto
-207.869 222.455 lineto
-204.869 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-207.869 216.455 M
-210.869 219.455 lineto
-207.869 222.455 lineto
-204.869 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-208.172 216.455 M
-211.172 219.455 lineto
-208.172 222.455 lineto
-205.172 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-208.172 216.455 M
-211.172 219.455 lineto
-208.172 222.455 lineto
-205.172 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-208.476 216.455 M
-211.476 219.455 lineto
-208.476 222.455 lineto
-205.476 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-208.476 216.455 M
-211.476 219.455 lineto
-208.476 222.455 lineto
-205.476 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-208.78 216.455 M
-211.78 219.455 lineto
-208.78 222.455 lineto
-205.78 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-208.78 216.455 M
-211.78 219.455 lineto
-208.78 222.455 lineto
-205.78 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-209.084 216.455 M
-212.084 219.455 lineto
-209.084 222.455 lineto
-206.084 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-209.084 216.455 M
-212.084 219.455 lineto
-209.084 222.455 lineto
-206.084 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-209.387 216.455 M
-212.387 219.455 lineto
-209.387 222.455 lineto
-206.387 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-209.387 216.455 M
-212.387 219.455 lineto
-209.387 222.455 lineto
-206.387 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-209.691 216.455 M
-212.691 219.455 lineto
-209.691 222.455 lineto
-206.691 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-209.691 216.455 M
-212.691 219.455 lineto
-209.691 222.455 lineto
-206.691 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-209.995 216.455 M
-212.995 219.455 lineto
-209.995 222.455 lineto
-206.995 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-209.995 216.455 M
-212.995 219.455 lineto
-209.995 222.455 lineto
-206.995 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-210.299 216.455 M
-213.299 219.455 lineto
-210.299 222.455 lineto
-207.299 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-210.299 216.455 M
-213.299 219.455 lineto
-210.299 222.455 lineto
-207.299 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-210.602 216.455 M
-213.602 219.455 lineto
-210.602 222.455 lineto
-207.602 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-210.602 216.455 M
-213.602 219.455 lineto
-210.602 222.455 lineto
-207.602 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-210.906 216.455 M
-213.906 219.455 lineto
-210.906 222.455 lineto
-207.906 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-210.906 216.455 M
-213.906 219.455 lineto
-210.906 222.455 lineto
-207.906 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-211.21 216.455 M
-214.21 219.455 lineto
-211.21 222.455 lineto
-208.21 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-211.21 216.455 M
-214.21 219.455 lineto
-211.21 222.455 lineto
-208.21 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-211.513 216.455 M
-214.513 219.455 lineto
-211.513 222.455 lineto
-208.513 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-211.513 216.455 M
-214.513 219.455 lineto
-211.513 222.455 lineto
-208.513 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-211.817 216.455 M
-214.817 219.455 lineto
-211.817 222.455 lineto
-208.817 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-211.817 216.455 M
-214.817 219.455 lineto
-211.817 222.455 lineto
-208.817 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-212.121 216.455 M
-215.121 219.455 lineto
-212.121 222.455 lineto
-209.121 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-212.121 216.455 M
-215.121 219.455 lineto
-212.121 222.455 lineto
-209.121 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-212.425 216.455 M
-215.425 219.455 lineto
-212.425 222.455 lineto
-209.425 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-212.425 216.455 M
-215.425 219.455 lineto
-212.425 222.455 lineto
-209.425 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-212.728 216.455 M
-215.728 219.455 lineto
-212.728 222.455 lineto
-209.728 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-212.728 216.455 M
-215.728 219.455 lineto
-212.728 222.455 lineto
-209.728 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-213.032 216.455 M
-216.032 219.455 lineto
-213.032 222.455 lineto
-210.032 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-213.032 216.455 M
-216.032 219.455 lineto
-213.032 222.455 lineto
-210.032 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-213.336 216.455 M
-216.336 219.455 lineto
-213.336 222.455 lineto
-210.336 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-213.336 216.455 M
-216.336 219.455 lineto
-213.336 222.455 lineto
-210.336 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-213.64 216.455 M
-216.64 219.455 lineto
-213.64 222.455 lineto
-210.64 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-213.64 216.455 M
-216.64 219.455 lineto
-213.64 222.455 lineto
-210.64 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-213.943 238.004 M
-216.943 241.004 lineto
-213.943 244.004 lineto
-210.943 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-213.943 238.004 M
-216.943 241.004 lineto
-213.943 244.004 lineto
-210.943 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-214.247 238.004 M
-217.247 241.004 lineto
-214.247 244.004 lineto
-211.247 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-214.247 238.004 M
-217.247 241.004 lineto
-214.247 244.004 lineto
-211.247 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-214.551 238.004 M
-217.551 241.004 lineto
-214.551 244.004 lineto
-211.551 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-214.551 238.004 M
-217.551 241.004 lineto
-214.551 244.004 lineto
-211.551 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-214.855 238.004 M
-217.855 241.004 lineto
-214.855 244.004 lineto
-211.855 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-214.855 238.004 M
-217.855 241.004 lineto
-214.855 244.004 lineto
-211.855 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-215.158 238.004 M
-218.158 241.004 lineto
-215.158 244.004 lineto
-212.158 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-215.158 238.004 M
-218.158 241.004 lineto
-215.158 244.004 lineto
-212.158 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-215.462 238.004 M
-218.462 241.004 lineto
-215.462 244.004 lineto
-212.462 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-215.462 238.004 M
-218.462 241.004 lineto
-215.462 244.004 lineto
-212.462 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-215.766 259.552 M
-218.766 262.552 lineto
-215.766 265.552 lineto
-212.766 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-215.766 259.552 M
-218.766 262.552 lineto
-215.766 265.552 lineto
-212.766 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-216.07 259.552 M
-219.07 262.552 lineto
-216.07 265.552 lineto
-213.07 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-216.07 259.552 M
-219.07 262.552 lineto
-216.07 265.552 lineto
-213.07 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-216.373 259.552 M
-219.373 262.552 lineto
-216.373 265.552 lineto
-213.373 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-216.373 259.552 M
-219.373 262.552 lineto
-216.373 265.552 lineto
-213.373 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-216.677 259.552 M
-219.677 262.552 lineto
-216.677 265.552 lineto
-213.677 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-216.677 259.552 M
-219.677 262.552 lineto
-216.677 265.552 lineto
-213.677 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-216.981 259.552 M
-219.981 262.552 lineto
-216.981 265.552 lineto
-213.981 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-216.981 259.552 M
-219.981 262.552 lineto
-216.981 265.552 lineto
-213.981 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-217.284 259.552 M
-220.284 262.552 lineto
-217.284 265.552 lineto
-214.284 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-217.284 259.552 M
-220.284 262.552 lineto
-217.284 265.552 lineto
-214.284 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-217.588 259.552 M
-220.588 262.552 lineto
-217.588 265.552 lineto
-214.588 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-217.588 259.552 M
-220.588 262.552 lineto
-217.588 265.552 lineto
-214.588 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-217.892 259.552 M
-220.892 262.552 lineto
-217.892 265.552 lineto
-214.892 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-217.892 259.552 M
-220.892 262.552 lineto
-217.892 265.552 lineto
-214.892 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-218.196 259.552 M
-221.196 262.552 lineto
-218.196 265.552 lineto
-215.196 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-218.196 259.552 M
-221.196 262.552 lineto
-218.196 265.552 lineto
-215.196 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-218.499 259.552 M
-221.499 262.552 lineto
-218.499 265.552 lineto
-215.499 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-218.499 259.552 M
-221.499 262.552 lineto
-218.499 265.552 lineto
-215.499 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-218.803 259.552 M
-221.803 262.552 lineto
-218.803 265.552 lineto
-215.803 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-218.803 259.552 M
-221.803 262.552 lineto
-218.803 265.552 lineto
-215.803 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-219.107 259.552 M
-222.107 262.552 lineto
-219.107 265.552 lineto
-216.107 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-219.107 259.552 M
-222.107 262.552 lineto
-219.107 265.552 lineto
-216.107 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-219.411 259.552 M
-222.411 262.552 lineto
-219.411 265.552 lineto
-216.411 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-219.411 259.552 M
-222.411 262.552 lineto
-219.411 265.552 lineto
-216.411 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-219.714 259.552 M
-222.714 262.552 lineto
-219.714 265.552 lineto
-216.714 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-219.714 259.552 M
-222.714 262.552 lineto
-219.714 265.552 lineto
-216.714 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-220.018 259.552 M
-223.018 262.552 lineto
-220.018 265.552 lineto
-217.018 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-220.018 259.552 M
-223.018 262.552 lineto
-220.018 265.552 lineto
-217.018 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-220.322 259.552 M
-223.322 262.552 lineto
-220.322 265.552 lineto
-217.322 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-220.322 259.552 M
-223.322 262.552 lineto
-220.322 265.552 lineto
-217.322 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-220.626 259.552 M
-223.626 262.552 lineto
-220.626 265.552 lineto
-217.626 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-220.626 259.552 M
-223.626 262.552 lineto
-220.626 265.552 lineto
-217.626 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-220.929 259.552 M
-223.929 262.552 lineto
-220.929 265.552 lineto
-217.929 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-220.929 259.552 M
-223.929 262.552 lineto
-220.929 265.552 lineto
-217.929 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-221.233 259.552 M
-224.233 262.552 lineto
-221.233 265.552 lineto
-218.233 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.233 259.552 M
-224.233 262.552 lineto
-221.233 265.552 lineto
-218.233 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-221.537 259.552 M
-224.537 262.552 lineto
-221.537 265.552 lineto
-218.537 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.537 259.552 M
-224.537 262.552 lineto
-221.537 265.552 lineto
-218.537 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-221.841 259.552 M
-224.841 262.552 lineto
-221.841 265.552 lineto
-218.841 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.841 259.552 M
-224.841 262.552 lineto
-221.841 265.552 lineto
-218.841 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-222.144 259.552 M
-225.144 262.552 lineto
-222.144 265.552 lineto
-219.144 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-222.144 259.552 M
-225.144 262.552 lineto
-222.144 265.552 lineto
-219.144 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-222.448 259.552 M
-225.448 262.552 lineto
-222.448 265.552 lineto
-219.448 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-222.448 259.552 M
-225.448 262.552 lineto
-222.448 265.552 lineto
-219.448 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-222.752 259.552 M
-225.752 262.552 lineto
-222.752 265.552 lineto
-219.752 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-222.752 259.552 M
-225.752 262.552 lineto
-222.752 265.552 lineto
-219.752 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-223.055 259.552 M
-226.055 262.552 lineto
-223.055 265.552 lineto
-220.055 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-223.055 259.552 M
-226.055 262.552 lineto
-223.055 265.552 lineto
-220.055 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-223.359 259.552 M
-226.359 262.552 lineto
-223.359 265.552 lineto
-220.359 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-223.359 259.552 M
-226.359 262.552 lineto
-223.359 265.552 lineto
-220.359 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-223.663 259.552 M
-226.663 262.552 lineto
-223.663 265.552 lineto
-220.663 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-223.663 259.552 M
-226.663 262.552 lineto
-223.663 265.552 lineto
-220.663 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-223.967 259.552 M
-226.967 262.552 lineto
-223.967 265.552 lineto
-220.967 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-223.967 259.552 M
-226.967 262.552 lineto
-223.967 265.552 lineto
-220.967 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-224.27 259.552 M
-227.27 262.552 lineto
-224.27 265.552 lineto
-221.27 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-224.27 259.552 M
-227.27 262.552 lineto
-224.27 265.552 lineto
-221.27 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-224.574 259.552 M
-227.574 262.552 lineto
-224.574 265.552 lineto
-221.574 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-224.574 259.552 M
-227.574 262.552 lineto
-224.574 265.552 lineto
-221.574 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-224.878 259.552 M
-227.878 262.552 lineto
-224.878 265.552 lineto
-221.878 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-224.878 259.552 M
-227.878 262.552 lineto
-224.878 265.552 lineto
-221.878 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-225.182 259.552 M
-228.182 262.552 lineto
-225.182 265.552 lineto
-222.182 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-225.182 259.552 M
-228.182 262.552 lineto
-225.182 265.552 lineto
-222.182 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-225.485 259.552 M
-228.485 262.552 lineto
-225.485 265.552 lineto
-222.485 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-225.485 259.552 M
-228.485 262.552 lineto
-225.485 265.552 lineto
-222.485 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-225.789 259.552 M
-228.789 262.552 lineto
-225.789 265.552 lineto
-222.789 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-225.789 259.552 M
-228.789 262.552 lineto
-225.789 265.552 lineto
-222.789 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-226.093 259.552 M
-229.093 262.552 lineto
-226.093 265.552 lineto
-223.093 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-226.093 259.552 M
-229.093 262.552 lineto
-226.093 265.552 lineto
-223.093 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-226.397 259.552 M
-229.397 262.552 lineto
-226.397 265.552 lineto
-223.397 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-226.397 259.552 M
-229.397 262.552 lineto
-226.397 265.552 lineto
-223.397 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-226.7 259.552 M
-229.7 262.552 lineto
-226.7 265.552 lineto
-223.7 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-226.7 259.552 M
-229.7 262.552 lineto
-226.7 265.552 lineto
-223.7 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-227.004 259.552 M
-230.004 262.552 lineto
-227.004 265.552 lineto
-224.004 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.004 259.552 M
-230.004 262.552 lineto
-227.004 265.552 lineto
-224.004 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-227.308 259.552 M
-230.308 262.552 lineto
-227.308 265.552 lineto
-224.308 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.308 259.552 M
-230.308 262.552 lineto
-227.308 265.552 lineto
-224.308 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-227.612 259.552 M
-230.612 262.552 lineto
-227.612 265.552 lineto
-224.612 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.612 259.552 M
-230.612 262.552 lineto
-227.612 265.552 lineto
-224.612 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-227.915 238.004 M
-230.915 241.004 lineto
-227.915 244.004 lineto
-224.915 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.915 238.004 M
-230.915 241.004 lineto
-227.915 244.004 lineto
-224.915 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-228.219 238.004 M
-231.219 241.004 lineto
-228.219 244.004 lineto
-225.219 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-228.219 238.004 M
-231.219 241.004 lineto
-228.219 244.004 lineto
-225.219 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-228.523 238.004 M
-231.523 241.004 lineto
-228.523 244.004 lineto
-225.523 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-228.523 238.004 M
-231.523 241.004 lineto
-228.523 244.004 lineto
-225.523 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-228.826 238.004 M
-231.826 241.004 lineto
-228.826 244.004 lineto
-225.826 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-228.826 238.004 M
-231.826 241.004 lineto
-228.826 244.004 lineto
-225.826 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-229.13 238.004 M
-232.13 241.004 lineto
-229.13 244.004 lineto
-226.13 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-229.13 238.004 M
-232.13 241.004 lineto
-229.13 244.004 lineto
-226.13 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-229.434 238.004 M
-232.434 241.004 lineto
-229.434 244.004 lineto
-226.434 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-229.434 238.004 M
-232.434 241.004 lineto
-229.434 244.004 lineto
-226.434 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-229.738 238.004 M
-232.738 241.004 lineto
-229.738 244.004 lineto
-226.738 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-229.738 238.004 M
-232.738 241.004 lineto
-229.738 244.004 lineto
-226.738 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-230.041 238.004 M
-233.041 241.004 lineto
-230.041 244.004 lineto
-227.041 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-230.041 238.004 M
-233.041 241.004 lineto
-230.041 244.004 lineto
-227.041 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-230.345 238.004 M
-233.345 241.004 lineto
-230.345 244.004 lineto
-227.345 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-230.345 238.004 M
-233.345 241.004 lineto
-230.345 244.004 lineto
-227.345 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-230.649 238.004 M
-233.649 241.004 lineto
-230.649 244.004 lineto
-227.649 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-230.649 238.004 M
-233.649 241.004 lineto
-230.649 244.004 lineto
-227.649 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-230.953 238.004 M
-233.953 241.004 lineto
-230.953 244.004 lineto
-227.953 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-230.953 238.004 M
-233.953 241.004 lineto
-230.953 244.004 lineto
-227.953 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-231.256 238.004 M
-234.256 241.004 lineto
-231.256 244.004 lineto
-228.256 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-231.256 238.004 M
-234.256 241.004 lineto
-231.256 244.004 lineto
-228.256 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-231.56 238.004 M
-234.56 241.004 lineto
-231.56 244.004 lineto
-228.56 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-231.56 238.004 M
-234.56 241.004 lineto
-231.56 244.004 lineto
-228.56 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-231.864 238.004 M
-234.864 241.004 lineto
-231.864 244.004 lineto
-228.864 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-231.864 238.004 M
-234.864 241.004 lineto
-231.864 244.004 lineto
-228.864 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-232.168 238.004 M
-235.168 241.004 lineto
-232.168 244.004 lineto
-229.168 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-232.168 238.004 M
-235.168 241.004 lineto
-232.168 244.004 lineto
-229.168 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-232.471 238.004 M
-235.471 241.004 lineto
-232.471 244.004 lineto
-229.471 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-232.471 238.004 M
-235.471 241.004 lineto
-232.471 244.004 lineto
-229.471 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-232.775 238.004 M
-235.775 241.004 lineto
-232.775 244.004 lineto
-229.775 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-232.775 238.004 M
-235.775 241.004 lineto
-232.775 244.004 lineto
-229.775 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-233.079 238.004 M
-236.079 241.004 lineto
-233.079 244.004 lineto
-230.079 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-233.079 238.004 M
-236.079 241.004 lineto
-233.079 244.004 lineto
-230.079 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-233.383 238.004 M
-236.383 241.004 lineto
-233.383 244.004 lineto
-230.383 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-233.383 238.004 M
-236.383 241.004 lineto
-233.383 244.004 lineto
-230.383 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-233.686 238.004 M
-236.686 241.004 lineto
-233.686 244.004 lineto
-230.686 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-233.686 238.004 M
-236.686 241.004 lineto
-233.686 244.004 lineto
-230.686 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-233.99 238.004 M
-236.99 241.004 lineto
-233.99 244.004 lineto
-230.99 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-233.99 238.004 M
-236.99 241.004 lineto
-233.99 244.004 lineto
-230.99 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-234.294 238.004 M
-237.294 241.004 lineto
-234.294 244.004 lineto
-231.294 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-234.294 238.004 M
-237.294 241.004 lineto
-234.294 244.004 lineto
-231.294 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-234.598 238.004 M
-237.598 241.004 lineto
-234.598 244.004 lineto
-231.598 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-234.598 238.004 M
-237.598 241.004 lineto
-234.598 244.004 lineto
-231.598 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-234.901 238.004 M
-237.901 241.004 lineto
-234.901 244.004 lineto
-231.901 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-234.901 238.004 M
-237.901 241.004 lineto
-234.901 244.004 lineto
-231.901 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-235.205 238.004 M
-238.205 241.004 lineto
-235.205 244.004 lineto
-232.205 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-235.205 238.004 M
-238.205 241.004 lineto
-235.205 244.004 lineto
-232.205 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-235.509 238.004 M
-238.509 241.004 lineto
-235.509 244.004 lineto
-232.509 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-235.509 238.004 M
-238.509 241.004 lineto
-235.509 244.004 lineto
-232.509 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-235.812 238.004 M
-238.812 241.004 lineto
-235.812 244.004 lineto
-232.812 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-235.812 238.004 M
-238.812 241.004 lineto
-235.812 244.004 lineto
-232.812 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-236.116 238.004 M
-239.116 241.004 lineto
-236.116 244.004 lineto
-233.116 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-236.116 238.004 M
-239.116 241.004 lineto
-236.116 244.004 lineto
-233.116 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-236.42 238.004 M
-239.42 241.004 lineto
-236.42 244.004 lineto
-233.42 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-236.42 238.004 M
-239.42 241.004 lineto
-236.42 244.004 lineto
-233.42 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-236.724 238.004 M
-239.724 241.004 lineto
-236.724 244.004 lineto
-233.724 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-236.724 238.004 M
-239.724 241.004 lineto
-236.724 244.004 lineto
-233.724 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-237.027 238.004 M
-240.027 241.004 lineto
-237.027 244.004 lineto
-234.027 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-237.027 238.004 M
-240.027 241.004 lineto
-237.027 244.004 lineto
-234.027 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-237.331 238.004 M
-240.331 241.004 lineto
-237.331 244.004 lineto
-234.331 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-237.331 238.004 M
-240.331 241.004 lineto
-237.331 244.004 lineto
-234.331 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-237.635 238.004 M
-240.635 241.004 lineto
-237.635 244.004 lineto
-234.635 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-237.635 238.004 M
-240.635 241.004 lineto
-237.635 244.004 lineto
-234.635 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-237.939 238.004 M
-240.939 241.004 lineto
-237.939 244.004 lineto
-234.939 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-237.939 238.004 M
-240.939 241.004 lineto
-237.939 244.004 lineto
-234.939 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-238.242 238.004 M
-241.242 241.004 lineto
-238.242 244.004 lineto
-235.242 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-238.242 238.004 M
-241.242 241.004 lineto
-238.242 244.004 lineto
-235.242 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-238.546 238.004 M
-241.546 241.004 lineto
-238.546 244.004 lineto
-235.546 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-238.546 238.004 M
-241.546 241.004 lineto
-238.546 244.004 lineto
-235.546 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-238.85 238.004 M
-241.85 241.004 lineto
-238.85 244.004 lineto
-235.85 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-238.85 238.004 M
-241.85 241.004 lineto
-238.85 244.004 lineto
-235.85 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-239.154 238.004 M
-242.154 241.004 lineto
-239.154 244.004 lineto
-236.154 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-239.154 238.004 M
-242.154 241.004 lineto
-239.154 244.004 lineto
-236.154 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-239.457 238.004 M
-242.457 241.004 lineto
-239.457 244.004 lineto
-236.457 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-239.457 238.004 M
-242.457 241.004 lineto
-239.457 244.004 lineto
-236.457 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-239.761 238.004 M
-242.761 241.004 lineto
-239.761 244.004 lineto
-236.761 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-239.761 238.004 M
-242.761 241.004 lineto
-239.761 244.004 lineto
-236.761 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-240.065 238.004 M
-243.065 241.004 lineto
-240.065 244.004 lineto
-237.065 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-240.065 238.004 M
-243.065 241.004 lineto
-240.065 244.004 lineto
-237.065 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-240.369 238.004 M
-243.369 241.004 lineto
-240.369 244.004 lineto
-237.369 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-240.369 238.004 M
-243.369 241.004 lineto
-240.369 244.004 lineto
-237.369 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-240.672 238.004 M
-243.672 241.004 lineto
-240.672 244.004 lineto
-237.672 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-240.672 238.004 M
-243.672 241.004 lineto
-240.672 244.004 lineto
-237.672 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-240.976 238.004 M
-243.976 241.004 lineto
-240.976 244.004 lineto
-237.976 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-240.976 238.004 M
-243.976 241.004 lineto
-240.976 244.004 lineto
-237.976 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-241.28 238.004 M
-244.28 241.004 lineto
-241.28 244.004 lineto
-238.28 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-241.28 238.004 M
-244.28 241.004 lineto
-241.28 244.004 lineto
-238.28 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-241.583 238.004 M
-244.583 241.004 lineto
-241.583 244.004 lineto
-238.583 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-241.583 238.004 M
-244.583 241.004 lineto
-241.583 244.004 lineto
-238.583 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-241.887 259.552 M
-244.887 262.552 lineto
-241.887 265.552 lineto
-238.887 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-241.887 259.552 M
-244.887 262.552 lineto
-241.887 265.552 lineto
-238.887 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-242.191 259.552 M
-245.191 262.552 lineto
-242.191 265.552 lineto
-239.191 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-242.191 259.552 M
-245.191 262.552 lineto
-242.191 265.552 lineto
-239.191 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-242.495 259.552 M
-245.495 262.552 lineto
-242.495 265.552 lineto
-239.495 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-242.495 259.552 M
-245.495 262.552 lineto
-242.495 265.552 lineto
-239.495 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-242.798 259.552 M
-245.798 262.552 lineto
-242.798 265.552 lineto
-239.798 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-242.798 259.552 M
-245.798 262.552 lineto
-242.798 265.552 lineto
-239.798 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-243.102 259.552 M
-246.102 262.552 lineto
-243.102 265.552 lineto
-240.102 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-243.102 259.552 M
-246.102 262.552 lineto
-243.102 265.552 lineto
-240.102 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-243.406 238.004 M
-246.406 241.004 lineto
-243.406 244.004 lineto
-240.406 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-243.406 238.004 M
-246.406 241.004 lineto
-243.406 244.004 lineto
-240.406 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-243.71 238.004 M
-246.71 241.004 lineto
-243.71 244.004 lineto
-240.71 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-243.71 238.004 M
-246.71 241.004 lineto
-243.71 244.004 lineto
-240.71 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-244.013 238.004 M
-247.013 241.004 lineto
-244.013 244.004 lineto
-241.013 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-244.013 238.004 M
-247.013 241.004 lineto
-244.013 244.004 lineto
-241.013 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-244.317 238.004 M
-247.317 241.004 lineto
-244.317 244.004 lineto
-241.317 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-244.317 238.004 M
-247.317 241.004 lineto
-244.317 244.004 lineto
-241.317 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-244.621 238.004 M
-247.621 241.004 lineto
-244.621 244.004 lineto
-241.621 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-244.621 238.004 M
-247.621 241.004 lineto
-244.621 244.004 lineto
-241.621 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-244.925 238.004 M
-247.925 241.004 lineto
-244.925 244.004 lineto
-241.925 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-244.925 238.004 M
-247.925 241.004 lineto
-244.925 244.004 lineto
-241.925 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-245.228 238.004 M
-248.228 241.004 lineto
-245.228 244.004 lineto
-242.228 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-245.228 238.004 M
-248.228 241.004 lineto
-245.228 244.004 lineto
-242.228 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-245.532 238.004 M
-248.532 241.004 lineto
-245.532 244.004 lineto
-242.532 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-245.532 238.004 M
-248.532 241.004 lineto
-245.532 244.004 lineto
-242.532 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-245.836 238.004 M
-248.836 241.004 lineto
-245.836 244.004 lineto
-242.836 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-245.836 238.004 M
-248.836 241.004 lineto
-245.836 244.004 lineto
-242.836 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-246.14 238.004 M
-249.14 241.004 lineto
-246.14 244.004 lineto
-243.14 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-246.14 238.004 M
-249.14 241.004 lineto
-246.14 244.004 lineto
-243.14 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-246.443 259.552 M
-249.443 262.552 lineto
-246.443 265.552 lineto
-243.443 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-246.443 259.552 M
-249.443 262.552 lineto
-246.443 265.552 lineto
-243.443 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-246.747 259.552 M
-249.747 262.552 lineto
-246.747 265.552 lineto
-243.747 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-246.747 259.552 M
-249.747 262.552 lineto
-246.747 265.552 lineto
-243.747 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-247.051 281.1 M
-250.051 284.1 lineto
-247.051 287.1 lineto
-244.051 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-247.051 281.1 M
-250.051 284.1 lineto
-247.051 287.1 lineto
-244.051 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-247.354 281.1 M
-250.354 284.1 lineto
-247.354 287.1 lineto
-244.354 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-247.354 281.1 M
-250.354 284.1 lineto
-247.354 287.1 lineto
-244.354 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-247.658 281.1 M
-250.658 284.1 lineto
-247.658 287.1 lineto
-244.658 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-247.658 281.1 M
-250.658 284.1 lineto
-247.658 287.1 lineto
-244.658 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-247.962 281.1 M
-250.962 284.1 lineto
-247.962 287.1 lineto
-244.962 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-247.962 281.1 M
-250.962 284.1 lineto
-247.962 287.1 lineto
-244.962 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-248.266 281.1 M
-251.266 284.1 lineto
-248.266 287.1 lineto
-245.266 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-248.266 281.1 M
-251.266 284.1 lineto
-248.266 287.1 lineto
-245.266 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-248.569 281.1 M
-251.569 284.1 lineto
-248.569 287.1 lineto
-245.569 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-248.569 281.1 M
-251.569 284.1 lineto
-248.569 287.1 lineto
-245.569 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-248.873 281.1 M
-251.873 284.1 lineto
-248.873 287.1 lineto
-245.873 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-248.873 281.1 M
-251.873 284.1 lineto
-248.873 287.1 lineto
-245.873 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-249.177 281.1 M
-252.177 284.1 lineto
-249.177 287.1 lineto
-246.177 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-249.177 281.1 M
-252.177 284.1 lineto
-249.177 287.1 lineto
-246.177 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-249.481 281.1 M
-252.481 284.1 lineto
-249.481 287.1 lineto
-246.481 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-249.481 281.1 M
-252.481 284.1 lineto
-249.481 287.1 lineto
-246.481 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-249.784 281.1 M
-252.784 284.1 lineto
-249.784 287.1 lineto
-246.784 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-249.784 281.1 M
-252.784 284.1 lineto
-249.784 287.1 lineto
-246.784 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-250.088 281.1 M
-253.088 284.1 lineto
-250.088 287.1 lineto
-247.088 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-250.088 281.1 M
-253.088 284.1 lineto
-250.088 287.1 lineto
-247.088 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-250.392 281.1 M
-253.392 284.1 lineto
-250.392 287.1 lineto
-247.392 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-250.392 281.1 M
-253.392 284.1 lineto
-250.392 287.1 lineto
-247.392 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-250.696 281.1 M
-253.696 284.1 lineto
-250.696 287.1 lineto
-247.696 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-250.696 281.1 M
-253.696 284.1 lineto
-250.696 287.1 lineto
-247.696 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-250.999 281.1 M
-253.999 284.1 lineto
-250.999 287.1 lineto
-247.999 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-250.999 281.1 M
-253.999 284.1 lineto
-250.999 287.1 lineto
-247.999 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-251.303 281.1 M
-254.303 284.1 lineto
-251.303 287.1 lineto
-248.303 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-251.303 281.1 M
-254.303 284.1 lineto
-251.303 287.1 lineto
-248.303 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-251.607 281.1 M
-254.607 284.1 lineto
-251.607 287.1 lineto
-248.607 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-251.607 281.1 M
-254.607 284.1 lineto
-251.607 287.1 lineto
-248.607 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-251.911 281.1 M
-254.911 284.1 lineto
-251.911 287.1 lineto
-248.911 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-251.911 281.1 M
-254.911 284.1 lineto
-251.911 287.1 lineto
-248.911 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-252.214 281.1 M
-255.214 284.1 lineto
-252.214 287.1 lineto
-249.214 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-252.214 281.1 M
-255.214 284.1 lineto
-252.214 287.1 lineto
-249.214 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-252.518 281.1 M
-255.518 284.1 lineto
-252.518 287.1 lineto
-249.518 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-252.518 281.1 M
-255.518 284.1 lineto
-252.518 287.1 lineto
-249.518 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-252.822 281.1 M
-255.822 284.1 lineto
-252.822 287.1 lineto
-249.822 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-252.822 281.1 M
-255.822 284.1 lineto
-252.822 287.1 lineto
-249.822 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-253.125 281.1 M
-256.125 284.1 lineto
-253.125 287.1 lineto
-250.125 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-253.125 281.1 M
-256.125 284.1 lineto
-253.125 287.1 lineto
-250.125 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-253.429 281.1 M
-256.429 284.1 lineto
-253.429 287.1 lineto
-250.429 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-253.429 281.1 M
-256.429 284.1 lineto
-253.429 287.1 lineto
-250.429 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-253.733 281.1 M
-256.733 284.1 lineto
-253.733 287.1 lineto
-250.733 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-253.733 281.1 M
-256.733 284.1 lineto
-253.733 287.1 lineto
-250.733 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-254.037 281.1 M
-257.037 284.1 lineto
-254.037 287.1 lineto
-251.037 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-254.037 281.1 M
-257.037 284.1 lineto
-254.037 287.1 lineto
-251.037 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-254.34 281.1 M
-257.34 284.1 lineto
-254.34 287.1 lineto
-251.34 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-254.34 281.1 M
-257.34 284.1 lineto
-254.34 287.1 lineto
-251.34 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-254.644 281.1 M
-257.644 284.1 lineto
-254.644 287.1 lineto
-251.644 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-254.644 281.1 M
-257.644 284.1 lineto
-254.644 287.1 lineto
-251.644 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-254.948 281.1 M
-257.948 284.1 lineto
-254.948 287.1 lineto
-251.948 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-254.948 281.1 M
-257.948 284.1 lineto
-254.948 287.1 lineto
-251.948 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-255.252 281.1 M
-258.252 284.1 lineto
-255.252 287.1 lineto
-252.252 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-255.252 281.1 M
-258.252 284.1 lineto
-255.252 287.1 lineto
-252.252 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-255.555 281.1 M
-258.555 284.1 lineto
-255.555 287.1 lineto
-252.555 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-255.555 281.1 M
-258.555 284.1 lineto
-255.555 287.1 lineto
-252.555 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-255.859 281.1 M
-258.859 284.1 lineto
-255.859 287.1 lineto
-252.859 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-255.859 281.1 M
-258.859 284.1 lineto
-255.859 287.1 lineto
-252.859 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-256.163 281.1 M
-259.163 284.1 lineto
-256.163 287.1 lineto
-253.163 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-256.163 281.1 M
-259.163 284.1 lineto
-256.163 287.1 lineto
-253.163 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-256.467 281.1 M
-259.467 284.1 lineto
-256.467 287.1 lineto
-253.467 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-256.467 281.1 M
-259.467 284.1 lineto
-256.467 287.1 lineto
-253.467 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-256.77 281.1 M
-259.77 284.1 lineto
-256.77 287.1 lineto
-253.77 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-256.77 281.1 M
-259.77 284.1 lineto
-256.77 287.1 lineto
-253.77 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-257.074 281.1 M
-260.074 284.1 lineto
-257.074 287.1 lineto
-254.074 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-257.074 281.1 M
-260.074 284.1 lineto
-257.074 287.1 lineto
-254.074 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-257.378 281.1 M
-260.378 284.1 lineto
-257.378 287.1 lineto
-254.378 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-257.378 281.1 M
-260.378 284.1 lineto
-257.378 287.1 lineto
-254.378 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-257.682 281.1 M
-260.682 284.1 lineto
-257.682 287.1 lineto
-254.682 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-257.682 281.1 M
-260.682 284.1 lineto
-257.682 287.1 lineto
-254.682 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-257.985 281.1 M
-260.985 284.1 lineto
-257.985 287.1 lineto
-254.985 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-257.985 281.1 M
-260.985 284.1 lineto
-257.985 287.1 lineto
-254.985 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-258.289 281.1 M
-261.289 284.1 lineto
-258.289 287.1 lineto
-255.289 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-258.289 281.1 M
-261.289 284.1 lineto
-258.289 287.1 lineto
-255.289 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-258.593 281.1 M
-261.593 284.1 lineto
-258.593 287.1 lineto
-255.593 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-258.593 281.1 M
-261.593 284.1 lineto
-258.593 287.1 lineto
-255.593 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-258.896 281.1 M
-261.896 284.1 lineto
-258.896 287.1 lineto
-255.896 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-258.896 281.1 M
-261.896 284.1 lineto
-258.896 287.1 lineto
-255.896 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-259.2 281.1 M
-262.2 284.1 lineto
-259.2 287.1 lineto
-256.2 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-259.2 281.1 M
-262.2 284.1 lineto
-259.2 287.1 lineto
-256.2 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-259.504 281.1 M
-262.504 284.1 lineto
-259.504 287.1 lineto
-256.504 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-259.504 281.1 M
-262.504 284.1 lineto
-259.504 287.1 lineto
-256.504 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-259.808 281.1 M
-262.808 284.1 lineto
-259.808 287.1 lineto
-256.808 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-259.808 281.1 M
-262.808 284.1 lineto
-259.808 287.1 lineto
-256.808 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-260.111 281.1 M
-263.111 284.1 lineto
-260.111 287.1 lineto
-257.111 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-260.111 281.1 M
-263.111 284.1 lineto
-260.111 287.1 lineto
-257.111 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-260.415 281.1 M
-263.415 284.1 lineto
-260.415 287.1 lineto
-257.415 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-260.415 281.1 M
-263.415 284.1 lineto
-260.415 287.1 lineto
-257.415 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-260.719 281.1 M
-263.719 284.1 lineto
-260.719 287.1 lineto
-257.719 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-260.719 281.1 M
-263.719 284.1 lineto
-260.719 287.1 lineto
-257.719 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-261.023 281.1 M
-264.023 284.1 lineto
-261.023 287.1 lineto
-258.023 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-261.023 281.1 M
-264.023 284.1 lineto
-261.023 287.1 lineto
-258.023 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-261.326 281.1 M
-264.326 284.1 lineto
-261.326 287.1 lineto
-258.326 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-261.326 281.1 M
-264.326 284.1 lineto
-261.326 287.1 lineto
-258.326 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-261.63 281.1 M
-264.63 284.1 lineto
-261.63 287.1 lineto
-258.63 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-261.63 281.1 M
-264.63 284.1 lineto
-261.63 287.1 lineto
-258.63 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-261.934 281.1 M
-264.934 284.1 lineto
-261.934 287.1 lineto
-258.934 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-261.934 281.1 M
-264.934 284.1 lineto
-261.934 287.1 lineto
-258.934 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-262.238 281.1 M
-265.238 284.1 lineto
-262.238 287.1 lineto
-259.238 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-262.238 281.1 M
-265.238 284.1 lineto
-262.238 287.1 lineto
-259.238 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-262.541 281.1 M
-265.541 284.1 lineto
-262.541 287.1 lineto
-259.541 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-262.541 281.1 M
-265.541 284.1 lineto
-262.541 287.1 lineto
-259.541 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-262.845 281.1 M
-265.845 284.1 lineto
-262.845 287.1 lineto
-259.845 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-262.845 281.1 M
-265.845 284.1 lineto
-262.845 287.1 lineto
-259.845 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-263.149 281.1 M
-266.149 284.1 lineto
-263.149 287.1 lineto
-260.149 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-263.149 281.1 M
-266.149 284.1 lineto
-263.149 287.1 lineto
-260.149 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-263.453 281.1 M
-266.453 284.1 lineto
-263.453 287.1 lineto
-260.453 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-263.453 281.1 M
-266.453 284.1 lineto
-263.453 287.1 lineto
-260.453 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-263.756 281.1 M
-266.756 284.1 lineto
-263.756 287.1 lineto
-260.756 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-263.756 281.1 M
-266.756 284.1 lineto
-263.756 287.1 lineto
-260.756 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-264.06 281.1 M
-267.06 284.1 lineto
-264.06 287.1 lineto
-261.06 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-264.06 281.1 M
-267.06 284.1 lineto
-264.06 287.1 lineto
-261.06 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-264.364 281.1 M
-267.364 284.1 lineto
-264.364 287.1 lineto
-261.364 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-264.364 281.1 M
-267.364 284.1 lineto
-264.364 287.1 lineto
-261.364 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-264.667 281.1 M
-267.667 284.1 lineto
-264.667 287.1 lineto
-261.667 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-264.667 281.1 M
-267.667 284.1 lineto
-264.667 287.1 lineto
-261.667 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-264.971 281.1 M
-267.971 284.1 lineto
-264.971 287.1 lineto
-261.971 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-264.971 281.1 M
-267.971 284.1 lineto
-264.971 287.1 lineto
-261.971 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-265.275 281.1 M
-268.275 284.1 lineto
-265.275 287.1 lineto
-262.275 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-265.275 281.1 M
-268.275 284.1 lineto
-265.275 287.1 lineto
-262.275 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-265.579 281.1 M
-268.579 284.1 lineto
-265.579 287.1 lineto
-262.579 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-265.579 281.1 M
-268.579 284.1 lineto
-265.579 287.1 lineto
-262.579 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-265.882 281.1 M
-268.882 284.1 lineto
-265.882 287.1 lineto
-262.882 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-265.882 281.1 M
-268.882 284.1 lineto
-265.882 287.1 lineto
-262.882 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-266.186 281.1 M
-269.186 284.1 lineto
-266.186 287.1 lineto
-263.186 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-266.186 281.1 M
-269.186 284.1 lineto
-266.186 287.1 lineto
-263.186 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-266.49 281.1 M
-269.49 284.1 lineto
-266.49 287.1 lineto
-263.49 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-266.49 281.1 M
-269.49 284.1 lineto
-266.49 287.1 lineto
-263.49 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-266.794 281.1 M
-269.794 284.1 lineto
-266.794 287.1 lineto
-263.794 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-266.794 281.1 M
-269.794 284.1 lineto
-266.794 287.1 lineto
-263.794 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-267.097 281.1 M
-270.097 284.1 lineto
-267.097 287.1 lineto
-264.097 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-267.097 281.1 M
-270.097 284.1 lineto
-267.097 287.1 lineto
-264.097 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-267.401 281.1 M
-270.401 284.1 lineto
-267.401 287.1 lineto
-264.401 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-267.401 281.1 M
-270.401 284.1 lineto
-267.401 287.1 lineto
-264.401 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-267.705 281.1 M
-270.705 284.1 lineto
-267.705 287.1 lineto
-264.705 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-267.705 281.1 M
-270.705 284.1 lineto
-267.705 287.1 lineto
-264.705 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-268.009 281.1 M
-271.009 284.1 lineto
-268.009 287.1 lineto
-265.009 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-268.009 281.1 M
-271.009 284.1 lineto
-268.009 287.1 lineto
-265.009 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-268.312 281.1 M
-271.312 284.1 lineto
-268.312 287.1 lineto
-265.312 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-268.312 281.1 M
-271.312 284.1 lineto
-268.312 287.1 lineto
-265.312 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-268.616 281.1 M
-271.616 284.1 lineto
-268.616 287.1 lineto
-265.616 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-268.616 281.1 M
-271.616 284.1 lineto
-268.616 287.1 lineto
-265.616 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-268.92 281.1 M
-271.92 284.1 lineto
-268.92 287.1 lineto
-265.92 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-268.92 281.1 M
-271.92 284.1 lineto
-268.92 287.1 lineto
-265.92 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-269.224 281.1 M
-272.224 284.1 lineto
-269.224 287.1 lineto
-266.224 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-269.224 281.1 M
-272.224 284.1 lineto
-269.224 287.1 lineto
-266.224 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-269.527 281.1 M
-272.527 284.1 lineto
-269.527 287.1 lineto
-266.527 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-269.527 281.1 M
-272.527 284.1 lineto
-269.527 287.1 lineto
-266.527 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-269.831 281.1 M
-272.831 284.1 lineto
-269.831 287.1 lineto
-266.831 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-269.831 281.1 M
-272.831 284.1 lineto
-269.831 287.1 lineto
-266.831 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-270.135 281.1 M
-273.135 284.1 lineto
-270.135 287.1 lineto
-267.135 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-270.135 281.1 M
-273.135 284.1 lineto
-270.135 287.1 lineto
-267.135 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-270.438 281.1 M
-273.438 284.1 lineto
-270.438 287.1 lineto
-267.438 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-270.438 281.1 M
-273.438 284.1 lineto
-270.438 287.1 lineto
-267.438 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-270.742 281.1 M
-273.742 284.1 lineto
-270.742 287.1 lineto
-267.742 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-270.742 281.1 M
-273.742 284.1 lineto
-270.742 287.1 lineto
-267.742 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-271.046 259.552 M
-274.046 262.552 lineto
-271.046 265.552 lineto
-268.046 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-271.046 259.552 M
-274.046 262.552 lineto
-271.046 265.552 lineto
-268.046 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-271.35 259.552 M
-274.35 262.552 lineto
-271.35 265.552 lineto
-268.35 262.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-271.35 259.552 M
-274.35 262.552 lineto
-271.35 265.552 lineto
-268.35 262.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-271.653 281.1 M
-274.653 284.1 lineto
-271.653 287.1 lineto
-268.653 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-271.653 281.1 M
-274.653 284.1 lineto
-271.653 287.1 lineto
-268.653 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-271.957 281.1 M
-274.957 284.1 lineto
-271.957 287.1 lineto
-268.957 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-271.957 281.1 M
-274.957 284.1 lineto
-271.957 287.1 lineto
-268.957 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-272.261 281.1 M
-275.261 284.1 lineto
-272.261 287.1 lineto
-269.261 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-272.261 281.1 M
-275.261 284.1 lineto
-272.261 287.1 lineto
-269.261 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-272.565 281.1 M
-275.565 284.1 lineto
-272.565 287.1 lineto
-269.565 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-272.565 281.1 M
-275.565 284.1 lineto
-272.565 287.1 lineto
-269.565 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-272.868 281.1 M
-275.868 284.1 lineto
-272.868 287.1 lineto
-269.868 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-272.868 281.1 M
-275.868 284.1 lineto
-272.868 287.1 lineto
-269.868 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-273.172 281.1 M
-276.172 284.1 lineto
-273.172 287.1 lineto
-270.172 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-273.172 281.1 M
-276.172 284.1 lineto
-273.172 287.1 lineto
-270.172 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-273.476 281.1 M
-276.476 284.1 lineto
-273.476 287.1 lineto
-270.476 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-273.476 281.1 M
-276.476 284.1 lineto
-273.476 287.1 lineto
-270.476 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-273.78 281.1 M
-276.78 284.1 lineto
-273.78 287.1 lineto
-270.78 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-273.78 281.1 M
-276.78 284.1 lineto
-273.78 287.1 lineto
-270.78 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-274.083 281.1 M
-277.083 284.1 lineto
-274.083 287.1 lineto
-271.083 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-274.083 281.1 M
-277.083 284.1 lineto
-274.083 287.1 lineto
-271.083 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-274.387 281.1 M
-277.387 284.1 lineto
-274.387 287.1 lineto
-271.387 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-274.387 281.1 M
-277.387 284.1 lineto
-274.387 287.1 lineto
-271.387 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-274.691 238.004 M
-277.691 241.004 lineto
-274.691 244.004 lineto
-271.691 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-274.691 238.004 M
-277.691 241.004 lineto
-274.691 244.004 lineto
-271.691 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-274.995 238.004 M
-277.995 241.004 lineto
-274.995 244.004 lineto
-271.995 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-274.995 238.004 M
-277.995 241.004 lineto
-274.995 244.004 lineto
-271.995 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-275.298 238.004 M
-278.298 241.004 lineto
-275.298 244.004 lineto
-272.298 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-275.298 238.004 M
-278.298 241.004 lineto
-275.298 244.004 lineto
-272.298 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-275.602 238.004 M
-278.602 241.004 lineto
-275.602 244.004 lineto
-272.602 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-275.602 238.004 M
-278.602 241.004 lineto
-275.602 244.004 lineto
-272.602 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-275.906 238.004 M
-278.906 241.004 lineto
-275.906 244.004 lineto
-272.906 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-275.906 238.004 M
-278.906 241.004 lineto
-275.906 244.004 lineto
-272.906 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-276.21 238.004 M
-279.21 241.004 lineto
-276.21 244.004 lineto
-273.21 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-276.21 238.004 M
-279.21 241.004 lineto
-276.21 244.004 lineto
-273.21 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-276.513 238.004 M
-279.513 241.004 lineto
-276.513 244.004 lineto
-273.513 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-276.513 238.004 M
-279.513 241.004 lineto
-276.513 244.004 lineto
-273.513 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-276.817 238.004 M
-279.817 241.004 lineto
-276.817 244.004 lineto
-273.817 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-276.817 238.004 M
-279.817 241.004 lineto
-276.817 244.004 lineto
-273.817 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-277.121 238.004 M
-280.121 241.004 lineto
-277.121 244.004 lineto
-274.121 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-277.121 238.004 M
-280.121 241.004 lineto
-277.121 244.004 lineto
-274.121 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-277.424 238.004 M
-280.424 241.004 lineto
-277.424 244.004 lineto
-274.424 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-277.424 238.004 M
-280.424 241.004 lineto
-277.424 244.004 lineto
-274.424 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-277.728 238.004 M
-280.728 241.004 lineto
-277.728 244.004 lineto
-274.728 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-277.728 238.004 M
-280.728 241.004 lineto
-277.728 244.004 lineto
-274.728 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-278.032 238.004 M
-281.032 241.004 lineto
-278.032 244.004 lineto
-275.032 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-278.032 238.004 M
-281.032 241.004 lineto
-278.032 244.004 lineto
-275.032 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-278.336 216.455 M
-281.336 219.455 lineto
-278.336 222.455 lineto
-275.336 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-278.336 216.455 M
-281.336 219.455 lineto
-278.336 222.455 lineto
-275.336 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-278.639 216.455 M
-281.639 219.455 lineto
-278.639 222.455 lineto
-275.639 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-278.639 216.455 M
-281.639 219.455 lineto
-278.639 222.455 lineto
-275.639 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-278.943 216.455 M
-281.943 219.455 lineto
-278.943 222.455 lineto
-275.943 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-278.943 216.455 M
-281.943 219.455 lineto
-278.943 222.455 lineto
-275.943 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-279.247 216.455 M
-282.247 219.455 lineto
-279.247 222.455 lineto
-276.247 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-279.247 216.455 M
-282.247 219.455 lineto
-279.247 222.455 lineto
-276.247 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-279.551 216.455 M
-282.551 219.455 lineto
-279.551 222.455 lineto
-276.551 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-279.551 216.455 M
-282.551 219.455 lineto
-279.551 222.455 lineto
-276.551 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-279.854 216.455 M
-282.854 219.455 lineto
-279.854 222.455 lineto
-276.854 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-279.854 216.455 M
-282.854 219.455 lineto
-279.854 222.455 lineto
-276.854 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-280.158 216.455 M
-283.158 219.455 lineto
-280.158 222.455 lineto
-277.158 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-280.158 216.455 M
-283.158 219.455 lineto
-280.158 222.455 lineto
-277.158 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-280.462 216.455 M
-283.462 219.455 lineto
-280.462 222.455 lineto
-277.462 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-280.462 216.455 M
-283.462 219.455 lineto
-280.462 222.455 lineto
-277.462 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-280.766 216.455 M
-283.766 219.455 lineto
-280.766 222.455 lineto
-277.766 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-280.766 216.455 M
-283.766 219.455 lineto
-280.766 222.455 lineto
-277.766 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-281.069 216.455 M
-284.069 219.455 lineto
-281.069 222.455 lineto
-278.069 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-281.069 216.455 M
-284.069 219.455 lineto
-281.069 222.455 lineto
-278.069 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-281.373 216.455 M
-284.373 219.455 lineto
-281.373 222.455 lineto
-278.373 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-281.373 216.455 M
-284.373 219.455 lineto
-281.373 222.455 lineto
-278.373 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-281.677 216.455 M
-284.677 219.455 lineto
-281.677 222.455 lineto
-278.677 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-281.677 216.455 M
-284.677 219.455 lineto
-281.677 222.455 lineto
-278.677 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-281.981 216.455 M
-284.981 219.455 lineto
-281.981 222.455 lineto
-278.981 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-281.981 216.455 M
-284.981 219.455 lineto
-281.981 222.455 lineto
-278.981 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-282.284 216.455 M
-285.284 219.455 lineto
-282.284 222.455 lineto
-279.284 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-282.284 216.455 M
-285.284 219.455 lineto
-282.284 222.455 lineto
-279.284 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-282.588 216.455 M
-285.588 219.455 lineto
-282.588 222.455 lineto
-279.588 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-282.588 216.455 M
-285.588 219.455 lineto
-282.588 222.455 lineto
-279.588 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-282.892 216.455 M
-285.892 219.455 lineto
-282.892 222.455 lineto
-279.892 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-282.892 216.455 M
-285.892 219.455 lineto
-282.892 222.455 lineto
-279.892 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-283.195 216.455 M
-286.195 219.455 lineto
-283.195 222.455 lineto
-280.195 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-283.195 216.455 M
-286.195 219.455 lineto
-283.195 222.455 lineto
-280.195 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-283.499 216.455 M
-286.499 219.455 lineto
-283.499 222.455 lineto
-280.499 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-283.499 216.455 M
-286.499 219.455 lineto
-283.499 222.455 lineto
-280.499 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-283.803 216.455 M
-286.803 219.455 lineto
-283.803 222.455 lineto
-280.803 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-283.803 216.455 M
-286.803 219.455 lineto
-283.803 222.455 lineto
-280.803 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-284.107 216.455 M
-287.107 219.455 lineto
-284.107 222.455 lineto
-281.107 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-284.107 216.455 M
-287.107 219.455 lineto
-284.107 222.455 lineto
-281.107 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-284.41 216.455 M
-287.41 219.455 lineto
-284.41 222.455 lineto
-281.41 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-284.41 216.455 M
-287.41 219.455 lineto
-284.41 222.455 lineto
-281.41 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-284.714 216.455 M
-287.714 219.455 lineto
-284.714 222.455 lineto
-281.714 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-284.714 216.455 M
-287.714 219.455 lineto
-284.714 222.455 lineto
-281.714 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-285.018 216.455 M
-288.018 219.455 lineto
-285.018 222.455 lineto
-282.018 219.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-285.018 216.455 M
-288.018 219.455 lineto
-285.018 222.455 lineto
-282.018 219.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-285.322 238.004 M
-288.322 241.004 lineto
-285.322 244.004 lineto
-282.322 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-285.322 238.004 M
-288.322 241.004 lineto
-285.322 244.004 lineto
-282.322 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-285.625 238.004 M
-288.625 241.004 lineto
-285.625 244.004 lineto
-282.625 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-285.625 238.004 M
-288.625 241.004 lineto
-285.625 244.004 lineto
-282.625 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-285.929 238.004 M
-288.929 241.004 lineto
-285.929 244.004 lineto
-282.929 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-285.929 238.004 M
-288.929 241.004 lineto
-285.929 244.004 lineto
-282.929 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-286.233 238.004 M
-289.233 241.004 lineto
-286.233 244.004 lineto
-283.233 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-286.233 238.004 M
-289.233 241.004 lineto
-286.233 244.004 lineto
-283.233 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-286.537 238.004 M
-289.537 241.004 lineto
-286.537 244.004 lineto
-283.537 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-286.537 238.004 M
-289.537 241.004 lineto
-286.537 244.004 lineto
-283.537 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-286.84 238.004 M
-289.84 241.004 lineto
-286.84 244.004 lineto
-283.84 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-286.84 238.004 M
-289.84 241.004 lineto
-286.84 244.004 lineto
-283.84 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-287.144 238.004 M
-290.144 241.004 lineto
-287.144 244.004 lineto
-284.144 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-287.144 238.004 M
-290.144 241.004 lineto
-287.144 244.004 lineto
-284.144 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-287.448 238.004 M
-290.448 241.004 lineto
-287.448 244.004 lineto
-284.448 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-287.448 238.004 M
-290.448 241.004 lineto
-287.448 244.004 lineto
-284.448 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-287.752 238.004 M
-290.752 241.004 lineto
-287.752 244.004 lineto
-284.752 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-287.752 238.004 M
-290.752 241.004 lineto
-287.752 244.004 lineto
-284.752 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-288.055 238.004 M
-291.055 241.004 lineto
-288.055 244.004 lineto
-285.055 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-288.055 238.004 M
-291.055 241.004 lineto
-288.055 244.004 lineto
-285.055 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-288.359 238.004 M
-291.359 241.004 lineto
-288.359 244.004 lineto
-285.359 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-288.359 238.004 M
-291.359 241.004 lineto
-288.359 244.004 lineto
-285.359 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-288.663 281.1 M
-291.663 284.1 lineto
-288.663 287.1 lineto
-285.663 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-288.663 281.1 M
-291.663 284.1 lineto
-288.663 287.1 lineto
-285.663 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-288.966 281.1 M
-291.966 284.1 lineto
-288.966 287.1 lineto
-285.966 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-288.966 281.1 M
-291.966 284.1 lineto
-288.966 287.1 lineto
-285.966 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-289.27 281.1 M
-292.27 284.1 lineto
-289.27 287.1 lineto
-286.27 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-289.27 281.1 M
-292.27 284.1 lineto
-289.27 287.1 lineto
-286.27 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-289.574 281.1 M
-292.574 284.1 lineto
-289.574 287.1 lineto
-286.574 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-289.574 281.1 M
-292.574 284.1 lineto
-289.574 287.1 lineto
-286.574 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-289.878 281.1 M
-292.878 284.1 lineto
-289.878 287.1 lineto
-286.878 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-289.878 281.1 M
-292.878 284.1 lineto
-289.878 287.1 lineto
-286.878 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-290.181 281.1 M
-293.181 284.1 lineto
-290.181 287.1 lineto
-287.181 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-290.181 281.1 M
-293.181 284.1 lineto
-290.181 287.1 lineto
-287.181 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-290.485 281.1 M
-293.485 284.1 lineto
-290.485 287.1 lineto
-287.485 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-290.485 281.1 M
-293.485 284.1 lineto
-290.485 287.1 lineto
-287.485 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-290.789 281.1 M
-293.789 284.1 lineto
-290.789 287.1 lineto
-287.789 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-290.789 281.1 M
-293.789 284.1 lineto
-290.789 287.1 lineto
-287.789 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-291.093 281.1 M
-294.093 284.1 lineto
-291.093 287.1 lineto
-288.093 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-291.093 281.1 M
-294.093 284.1 lineto
-291.093 287.1 lineto
-288.093 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-291.396 281.1 M
-294.396 284.1 lineto
-291.396 287.1 lineto
-288.396 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-291.396 281.1 M
-294.396 284.1 lineto
-291.396 287.1 lineto
-288.396 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-291.7 281.1 M
-294.7 284.1 lineto
-291.7 287.1 lineto
-288.7 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-291.7 281.1 M
-294.7 284.1 lineto
-291.7 287.1 lineto
-288.7 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-292.004 281.1 M
-295.004 284.1 lineto
-292.004 287.1 lineto
-289.004 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-292.004 281.1 M
-295.004 284.1 lineto
-292.004 287.1 lineto
-289.004 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-292.308 281.1 M
-295.308 284.1 lineto
-292.308 287.1 lineto
-289.308 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-292.308 281.1 M
-295.308 284.1 lineto
-292.308 287.1 lineto
-289.308 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-292.611 302.648 M
-295.611 305.648 lineto
-292.611 308.648 lineto
-289.611 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-292.611 302.648 M
-295.611 305.648 lineto
-292.611 308.648 lineto
-289.611 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-292.915 238.004 M
-295.915 241.004 lineto
-292.915 244.004 lineto
-289.915 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-292.915 238.004 M
-295.915 241.004 lineto
-292.915 244.004 lineto
-289.915 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-293.219 238.004 M
-296.219 241.004 lineto
-293.219 244.004 lineto
-290.219 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-293.219 238.004 M
-296.219 241.004 lineto
-293.219 244.004 lineto
-290.219 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-293.523 238.004 M
-296.523 241.004 lineto
-293.523 244.004 lineto
-290.523 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-293.523 238.004 M
-296.523 241.004 lineto
-293.523 244.004 lineto
-290.523 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-293.826 238.004 M
-296.826 241.004 lineto
-293.826 244.004 lineto
-290.826 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-293.826 238.004 M
-296.826 241.004 lineto
-293.826 244.004 lineto
-290.826 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-294.13 238.004 M
-297.13 241.004 lineto
-294.13 244.004 lineto
-291.13 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-294.13 238.004 M
-297.13 241.004 lineto
-294.13 244.004 lineto
-291.13 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-294.434 238.004 M
-297.434 241.004 lineto
-294.434 244.004 lineto
-291.434 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-294.434 238.004 M
-297.434 241.004 lineto
-294.434 244.004 lineto
-291.434 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-294.737 238.004 M
-297.737 241.004 lineto
-294.737 244.004 lineto
-291.737 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-294.737 238.004 M
-297.737 241.004 lineto
-294.737 244.004 lineto
-291.737 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-295.041 238.004 M
-298.041 241.004 lineto
-295.041 244.004 lineto
-292.041 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-295.041 238.004 M
-298.041 241.004 lineto
-295.041 244.004 lineto
-292.041 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-295.345 238.004 M
-298.345 241.004 lineto
-295.345 244.004 lineto
-292.345 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-295.345 238.004 M
-298.345 241.004 lineto
-295.345 244.004 lineto
-292.345 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-295.649 238.004 M
-298.649 241.004 lineto
-295.649 244.004 lineto
-292.649 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-295.649 238.004 M
-298.649 241.004 lineto
-295.649 244.004 lineto
-292.649 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-295.952 238.004 M
-298.952 241.004 lineto
-295.952 244.004 lineto
-292.952 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-295.952 238.004 M
-298.952 241.004 lineto
-295.952 244.004 lineto
-292.952 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-296.256 238.004 M
-299.256 241.004 lineto
-296.256 244.004 lineto
-293.256 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-296.256 238.004 M
-299.256 241.004 lineto
-296.256 244.004 lineto
-293.256 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-296.56 238.004 M
-299.56 241.004 lineto
-296.56 244.004 lineto
-293.56 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-296.56 238.004 M
-299.56 241.004 lineto
-296.56 244.004 lineto
-293.56 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-296.864 238.004 M
-299.864 241.004 lineto
-296.864 244.004 lineto
-293.864 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-296.864 238.004 M
-299.864 241.004 lineto
-296.864 244.004 lineto
-293.864 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-297.167 238.004 M
-300.167 241.004 lineto
-297.167 244.004 lineto
-294.167 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-297.167 238.004 M
-300.167 241.004 lineto
-297.167 244.004 lineto
-294.167 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-297.471 238.004 M
-300.471 241.004 lineto
-297.471 244.004 lineto
-294.471 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-297.471 238.004 M
-300.471 241.004 lineto
-297.471 244.004 lineto
-294.471 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-297.775 238.004 M
-300.775 241.004 lineto
-297.775 244.004 lineto
-294.775 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-297.775 238.004 M
-300.775 241.004 lineto
-297.775 244.004 lineto
-294.775 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-298.079 238.004 M
-301.079 241.004 lineto
-298.079 244.004 lineto
-295.079 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-298.079 238.004 M
-301.079 241.004 lineto
-298.079 244.004 lineto
-295.079 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-298.382 238.004 M
-301.382 241.004 lineto
-298.382 244.004 lineto
-295.382 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-298.382 238.004 M
-301.382 241.004 lineto
-298.382 244.004 lineto
-295.382 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-298.686 238.004 M
-301.686 241.004 lineto
-298.686 244.004 lineto
-295.686 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-298.686 238.004 M
-301.686 241.004 lineto
-298.686 244.004 lineto
-295.686 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-298.99 238.004 M
-301.99 241.004 lineto
-298.99 244.004 lineto
-295.99 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-298.99 238.004 M
-301.99 241.004 lineto
-298.99 244.004 lineto
-295.99 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-299.294 238.004 M
-302.294 241.004 lineto
-299.294 244.004 lineto
-296.294 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-299.294 238.004 M
-302.294 241.004 lineto
-299.294 244.004 lineto
-296.294 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-299.597 238.004 M
-302.597 241.004 lineto
-299.597 244.004 lineto
-296.597 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-299.597 238.004 M
-302.597 241.004 lineto
-299.597 244.004 lineto
-296.597 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-299.901 238.004 M
-302.901 241.004 lineto
-299.901 244.004 lineto
-296.901 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-299.901 238.004 M
-302.901 241.004 lineto
-299.901 244.004 lineto
-296.901 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-300.205 238.004 M
-303.205 241.004 lineto
-300.205 244.004 lineto
-297.205 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-300.205 238.004 M
-303.205 241.004 lineto
-300.205 244.004 lineto
-297.205 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-300.508 238.004 M
-303.508 241.004 lineto
-300.508 244.004 lineto
-297.508 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-300.508 238.004 M
-303.508 241.004 lineto
-300.508 244.004 lineto
-297.508 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-300.812 238.004 M
-303.812 241.004 lineto
-300.812 244.004 lineto
-297.812 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-300.812 238.004 M
-303.812 241.004 lineto
-300.812 244.004 lineto
-297.812 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-301.116 238.004 M
-304.116 241.004 lineto
-301.116 244.004 lineto
-298.116 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-301.116 238.004 M
-304.116 241.004 lineto
-301.116 244.004 lineto
-298.116 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-301.42 238.004 M
-304.42 241.004 lineto
-301.42 244.004 lineto
-298.42 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-301.42 238.004 M
-304.42 241.004 lineto
-301.42 244.004 lineto
-298.42 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-301.723 238.004 M
-304.723 241.004 lineto
-301.723 244.004 lineto
-298.723 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-301.723 238.004 M
-304.723 241.004 lineto
-301.723 244.004 lineto
-298.723 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-302.027 238.004 M
-305.027 241.004 lineto
-302.027 244.004 lineto
-299.027 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-302.027 238.004 M
-305.027 241.004 lineto
-302.027 244.004 lineto
-299.027 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-302.331 238.004 M
-305.331 241.004 lineto
-302.331 244.004 lineto
-299.331 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-302.331 238.004 M
-305.331 241.004 lineto
-302.331 244.004 lineto
-299.331 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-302.635 238.004 M
-305.635 241.004 lineto
-302.635 244.004 lineto
-299.635 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-302.635 238.004 M
-305.635 241.004 lineto
-302.635 244.004 lineto
-299.635 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-302.938 238.004 M
-305.938 241.004 lineto
-302.938 244.004 lineto
-299.938 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-302.938 238.004 M
-305.938 241.004 lineto
-302.938 244.004 lineto
-299.938 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-303.242 238.004 M
-306.242 241.004 lineto
-303.242 244.004 lineto
-300.242 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-303.242 238.004 M
-306.242 241.004 lineto
-303.242 244.004 lineto
-300.242 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-303.546 238.004 M
-306.546 241.004 lineto
-303.546 244.004 lineto
-300.546 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-303.546 238.004 M
-306.546 241.004 lineto
-303.546 244.004 lineto
-300.546 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-303.85 238.004 M
-306.85 241.004 lineto
-303.85 244.004 lineto
-300.85 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-303.85 238.004 M
-306.85 241.004 lineto
-303.85 244.004 lineto
-300.85 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-304.153 238.004 M
-307.153 241.004 lineto
-304.153 244.004 lineto
-301.153 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-304.153 238.004 M
-307.153 241.004 lineto
-304.153 244.004 lineto
-301.153 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-304.457 238.004 M
-307.457 241.004 lineto
-304.457 244.004 lineto
-301.457 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-304.457 238.004 M
-307.457 241.004 lineto
-304.457 244.004 lineto
-301.457 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-304.761 238.004 M
-307.761 241.004 lineto
-304.761 244.004 lineto
-301.761 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-304.761 238.004 M
-307.761 241.004 lineto
-304.761 244.004 lineto
-301.761 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-305.065 238.004 M
-308.065 241.004 lineto
-305.065 244.004 lineto
-302.065 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-305.065 238.004 M
-308.065 241.004 lineto
-305.065 244.004 lineto
-302.065 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-305.368 238.004 M
-308.368 241.004 lineto
-305.368 244.004 lineto
-302.368 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-305.368 238.004 M
-308.368 241.004 lineto
-305.368 244.004 lineto
-302.368 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-305.672 238.004 M
-308.672 241.004 lineto
-305.672 244.004 lineto
-302.672 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-305.672 238.004 M
-308.672 241.004 lineto
-305.672 244.004 lineto
-302.672 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-305.976 238.004 M
-308.976 241.004 lineto
-305.976 244.004 lineto
-302.976 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-305.976 238.004 M
-308.976 241.004 lineto
-305.976 244.004 lineto
-302.976 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-306.279 238.004 M
-309.279 241.004 lineto
-306.279 244.004 lineto
-303.279 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-306.279 238.004 M
-309.279 241.004 lineto
-306.279 244.004 lineto
-303.279 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-306.583 238.004 M
-309.583 241.004 lineto
-306.583 244.004 lineto
-303.583 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-306.583 238.004 M
-309.583 241.004 lineto
-306.583 244.004 lineto
-303.583 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-306.887 238.004 M
-309.887 241.004 lineto
-306.887 244.004 lineto
-303.887 241.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-306.887 238.004 M
-309.887 241.004 lineto
-306.887 244.004 lineto
-303.887 241.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-307.191 302.648 M
-310.191 305.648 lineto
-307.191 308.648 lineto
-304.191 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-307.191 302.648 M
-310.191 305.648 lineto
-307.191 308.648 lineto
-304.191 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-307.494 302.648 M
-310.494 305.648 lineto
-307.494 308.648 lineto
-304.494 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-307.494 302.648 M
-310.494 305.648 lineto
-307.494 308.648 lineto
-304.494 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-307.798 302.648 M
-310.798 305.648 lineto
-307.798 308.648 lineto
-304.798 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-307.798 302.648 M
-310.798 305.648 lineto
-307.798 308.648 lineto
-304.798 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-308.102 302.648 M
-311.102 305.648 lineto
-308.102 308.648 lineto
-305.102 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-308.102 302.648 M
-311.102 305.648 lineto
-308.102 308.648 lineto
-305.102 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-308.406 302.648 M
-311.406 305.648 lineto
-308.406 308.648 lineto
-305.406 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-308.406 302.648 M
-311.406 305.648 lineto
-308.406 308.648 lineto
-305.406 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-308.709 302.648 M
-311.709 305.648 lineto
-308.709 308.648 lineto
-305.709 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-308.709 302.648 M
-311.709 305.648 lineto
-308.709 308.648 lineto
-305.709 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-309.013 302.648 M
-312.013 305.648 lineto
-309.013 308.648 lineto
-306.013 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-309.013 302.648 M
-312.013 305.648 lineto
-309.013 308.648 lineto
-306.013 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-309.317 302.648 M
-312.317 305.648 lineto
-309.317 308.648 lineto
-306.317 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-309.317 302.648 M
-312.317 305.648 lineto
-309.317 308.648 lineto
-306.317 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-309.621 302.648 M
-312.621 305.648 lineto
-309.621 308.648 lineto
-306.621 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-309.621 302.648 M
-312.621 305.648 lineto
-309.621 308.648 lineto
-306.621 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-309.924 302.648 M
-312.924 305.648 lineto
-309.924 308.648 lineto
-306.924 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-309.924 302.648 M
-312.924 305.648 lineto
-309.924 308.648 lineto
-306.924 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-310.228 302.648 M
-313.228 305.648 lineto
-310.228 308.648 lineto
-307.228 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-310.228 302.648 M
-313.228 305.648 lineto
-310.228 308.648 lineto
-307.228 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-310.532 302.648 M
-313.532 305.648 lineto
-310.532 308.648 lineto
-307.532 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-310.532 302.648 M
-313.532 305.648 lineto
-310.532 308.648 lineto
-307.532 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-310.836 302.648 M
-313.836 305.648 lineto
-310.836 308.648 lineto
-307.836 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-310.836 302.648 M
-313.836 305.648 lineto
-310.836 308.648 lineto
-307.836 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-311.139 302.648 M
-314.139 305.648 lineto
-311.139 308.648 lineto
-308.139 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-311.139 302.648 M
-314.139 305.648 lineto
-311.139 308.648 lineto
-308.139 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-311.443 302.648 M
-314.443 305.648 lineto
-311.443 308.648 lineto
-308.443 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-311.443 302.648 M
-314.443 305.648 lineto
-311.443 308.648 lineto
-308.443 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-311.747 302.648 M
-314.747 305.648 lineto
-311.747 308.648 lineto
-308.747 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-311.747 302.648 M
-314.747 305.648 lineto
-311.747 308.648 lineto
-308.747 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-312.051 302.648 M
-315.051 305.648 lineto
-312.051 308.648 lineto
-309.051 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-312.051 302.648 M
-315.051 305.648 lineto
-312.051 308.648 lineto
-309.051 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-312.354 302.648 M
-315.354 305.648 lineto
-312.354 308.648 lineto
-309.354 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-312.354 302.648 M
-315.354 305.648 lineto
-312.354 308.648 lineto
-309.354 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-312.658 302.648 M
-315.658 305.648 lineto
-312.658 308.648 lineto
-309.658 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-312.658 302.648 M
-315.658 305.648 lineto
-312.658 308.648 lineto
-309.658 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-312.962 302.648 M
-315.962 305.648 lineto
-312.962 308.648 lineto
-309.962 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-312.962 302.648 M
-315.962 305.648 lineto
-312.962 308.648 lineto
-309.962 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-313.265 302.648 M
-316.265 305.648 lineto
-313.265 308.648 lineto
-310.265 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-313.265 302.648 M
-316.265 305.648 lineto
-313.265 308.648 lineto
-310.265 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-313.569 302.648 M
-316.569 305.648 lineto
-313.569 308.648 lineto
-310.569 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-313.569 302.648 M
-316.569 305.648 lineto
-313.569 308.648 lineto
-310.569 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-313.873 302.648 M
-316.873 305.648 lineto
-313.873 308.648 lineto
-310.873 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-313.873 302.648 M
-316.873 305.648 lineto
-313.873 308.648 lineto
-310.873 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-314.177 302.648 M
-317.177 305.648 lineto
-314.177 308.648 lineto
-311.177 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-314.177 302.648 M
-317.177 305.648 lineto
-314.177 308.648 lineto
-311.177 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-314.48 302.648 M
-317.48 305.648 lineto
-314.48 308.648 lineto
-311.48 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-314.48 302.648 M
-317.48 305.648 lineto
-314.48 308.648 lineto
-311.48 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-314.784 302.648 M
-317.784 305.648 lineto
-314.784 308.648 lineto
-311.784 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-314.784 302.648 M
-317.784 305.648 lineto
-314.784 308.648 lineto
-311.784 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-315.088 302.648 M
-318.088 305.648 lineto
-315.088 308.648 lineto
-312.088 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-315.088 302.648 M
-318.088 305.648 lineto
-315.088 308.648 lineto
-312.088 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-315.392 302.648 M
-318.392 305.648 lineto
-315.392 308.648 lineto
-312.392 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-315.392 302.648 M
-318.392 305.648 lineto
-315.392 308.648 lineto
-312.392 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-315.695 281.1 M
-318.695 284.1 lineto
-315.695 287.1 lineto
-312.695 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-315.695 281.1 M
-318.695 284.1 lineto
-315.695 287.1 lineto
-312.695 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-315.999 281.1 M
-318.999 284.1 lineto
-315.999 287.1 lineto
-312.999 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-315.999 281.1 M
-318.999 284.1 lineto
-315.999 287.1 lineto
-312.999 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-316.303 281.1 M
-319.303 284.1 lineto
-316.303 287.1 lineto
-313.303 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-316.303 281.1 M
-319.303 284.1 lineto
-316.303 287.1 lineto
-313.303 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-316.607 281.1 M
-319.607 284.1 lineto
-316.607 287.1 lineto
-313.607 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-316.607 281.1 M
-319.607 284.1 lineto
-316.607 287.1 lineto
-313.607 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-316.91 281.1 M
-319.91 284.1 lineto
-316.91 287.1 lineto
-313.91 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-316.91 281.1 M
-319.91 284.1 lineto
-316.91 287.1 lineto
-313.91 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-317.214 281.1 M
-320.214 284.1 lineto
-317.214 287.1 lineto
-314.214 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-317.214 281.1 M
-320.214 284.1 lineto
-317.214 287.1 lineto
-314.214 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-317.518 281.1 M
-320.518 284.1 lineto
-317.518 287.1 lineto
-314.518 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-317.518 281.1 M
-320.518 284.1 lineto
-317.518 287.1 lineto
-314.518 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-317.822 281.1 M
-320.822 284.1 lineto
-317.822 287.1 lineto
-314.822 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-317.822 281.1 M
-320.822 284.1 lineto
-317.822 287.1 lineto
-314.822 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-318.125 281.1 M
-321.125 284.1 lineto
-318.125 287.1 lineto
-315.125 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-318.125 281.1 M
-321.125 284.1 lineto
-318.125 287.1 lineto
-315.125 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-318.429 281.1 M
-321.429 284.1 lineto
-318.429 287.1 lineto
-315.429 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-318.429 281.1 M
-321.429 284.1 lineto
-318.429 287.1 lineto
-315.429 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-318.733 281.1 M
-321.733 284.1 lineto
-318.733 287.1 lineto
-315.733 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-318.733 281.1 M
-321.733 284.1 lineto
-318.733 287.1 lineto
-315.733 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-319.036 281.1 M
-322.036 284.1 lineto
-319.036 287.1 lineto
-316.036 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.036 281.1 M
-322.036 284.1 lineto
-319.036 287.1 lineto
-316.036 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-319.34 281.1 M
-322.34 284.1 lineto
-319.34 287.1 lineto
-316.34 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.34 281.1 M
-322.34 284.1 lineto
-319.34 287.1 lineto
-316.34 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-319.644 281.1 M
-322.644 284.1 lineto
-319.644 287.1 lineto
-316.644 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.644 281.1 M
-322.644 284.1 lineto
-319.644 287.1 lineto
-316.644 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-319.948 281.1 M
-322.948 284.1 lineto
-319.948 287.1 lineto
-316.948 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.948 281.1 M
-322.948 284.1 lineto
-319.948 287.1 lineto
-316.948 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-320.251 281.1 M
-323.251 284.1 lineto
-320.251 287.1 lineto
-317.251 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-320.251 281.1 M
-323.251 284.1 lineto
-320.251 287.1 lineto
-317.251 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-320.555 281.1 M
-323.555 284.1 lineto
-320.555 287.1 lineto
-317.555 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-320.555 281.1 M
-323.555 284.1 lineto
-320.555 287.1 lineto
-317.555 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-320.859 281.1 M
-323.859 284.1 lineto
-320.859 287.1 lineto
-317.859 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-320.859 281.1 M
-323.859 284.1 lineto
-320.859 287.1 lineto
-317.859 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-321.163 281.1 M
-324.163 284.1 lineto
-321.163 287.1 lineto
-318.163 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-321.163 281.1 M
-324.163 284.1 lineto
-321.163 287.1 lineto
-318.163 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-321.466 281.1 M
-324.466 284.1 lineto
-321.466 287.1 lineto
-318.466 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-321.466 281.1 M
-324.466 284.1 lineto
-321.466 287.1 lineto
-318.466 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-321.77 281.1 M
-324.77 284.1 lineto
-321.77 287.1 lineto
-318.77 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-321.77 281.1 M
-324.77 284.1 lineto
-321.77 287.1 lineto
-318.77 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-322.074 281.1 M
-325.074 284.1 lineto
-322.074 287.1 lineto
-319.074 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-322.074 281.1 M
-325.074 284.1 lineto
-322.074 287.1 lineto
-319.074 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-322.378 281.1 M
-325.378 284.1 lineto
-322.378 287.1 lineto
-319.378 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-322.378 281.1 M
-325.378 284.1 lineto
-322.378 287.1 lineto
-319.378 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-322.681 281.1 M
-325.681 284.1 lineto
-322.681 287.1 lineto
-319.681 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-322.681 281.1 M
-325.681 284.1 lineto
-322.681 287.1 lineto
-319.681 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-322.985 281.1 M
-325.985 284.1 lineto
-322.985 287.1 lineto
-319.985 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-322.985 281.1 M
-325.985 284.1 lineto
-322.985 287.1 lineto
-319.985 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-323.289 281.1 M
-326.289 284.1 lineto
-323.289 287.1 lineto
-320.289 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-323.289 281.1 M
-326.289 284.1 lineto
-323.289 287.1 lineto
-320.289 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-323.593 281.1 M
-326.593 284.1 lineto
-323.593 287.1 lineto
-320.593 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-323.593 281.1 M
-326.593 284.1 lineto
-323.593 287.1 lineto
-320.593 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-323.896 281.1 M
-326.896 284.1 lineto
-323.896 287.1 lineto
-320.896 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-323.896 281.1 M
-326.896 284.1 lineto
-323.896 287.1 lineto
-320.896 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-324.2 281.1 M
-327.2 284.1 lineto
-324.2 287.1 lineto
-321.2 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-324.2 281.1 M
-327.2 284.1 lineto
-324.2 287.1 lineto
-321.2 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-324.504 281.1 M
-327.504 284.1 lineto
-324.504 287.1 lineto
-321.504 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-324.504 281.1 M
-327.504 284.1 lineto
-324.504 287.1 lineto
-321.504 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-324.807 281.1 M
-327.807 284.1 lineto
-324.807 287.1 lineto
-321.807 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-324.807 281.1 M
-327.807 284.1 lineto
-324.807 287.1 lineto
-321.807 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-325.111 281.1 M
-328.111 284.1 lineto
-325.111 287.1 lineto
-322.111 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-325.111 281.1 M
-328.111 284.1 lineto
-325.111 287.1 lineto
-322.111 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-325.415 281.1 M
-328.415 284.1 lineto
-325.415 287.1 lineto
-322.415 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-325.415 281.1 M
-328.415 284.1 lineto
-325.415 287.1 lineto
-322.415 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-325.719 281.1 M
-328.719 284.1 lineto
-325.719 287.1 lineto
-322.719 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-325.719 281.1 M
-328.719 284.1 lineto
-325.719 287.1 lineto
-322.719 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-326.022 281.1 M
-329.022 284.1 lineto
-326.022 287.1 lineto
-323.022 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-326.022 281.1 M
-329.022 284.1 lineto
-326.022 287.1 lineto
-323.022 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-326.326 281.1 M
-329.326 284.1 lineto
-326.326 287.1 lineto
-323.326 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-326.326 281.1 M
-329.326 284.1 lineto
-326.326 287.1 lineto
-323.326 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-326.63 281.1 M
-329.63 284.1 lineto
-326.63 287.1 lineto
-323.63 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-326.63 281.1 M
-329.63 284.1 lineto
-326.63 287.1 lineto
-323.63 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-326.934 281.1 M
-329.934 284.1 lineto
-326.934 287.1 lineto
-323.934 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-326.934 281.1 M
-329.934 284.1 lineto
-326.934 287.1 lineto
-323.934 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-327.237 281.1 M
-330.237 284.1 lineto
-327.237 287.1 lineto
-324.237 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-327.237 281.1 M
-330.237 284.1 lineto
-327.237 287.1 lineto
-324.237 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-327.541 281.1 M
-330.541 284.1 lineto
-327.541 287.1 lineto
-324.541 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-327.541 281.1 M
-330.541 284.1 lineto
-327.541 287.1 lineto
-324.541 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-327.845 281.1 M
-330.845 284.1 lineto
-327.845 287.1 lineto
-324.845 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-327.845 281.1 M
-330.845 284.1 lineto
-327.845 287.1 lineto
-324.845 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-328.149 281.1 M
-331.149 284.1 lineto
-328.149 287.1 lineto
-325.149 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-328.149 281.1 M
-331.149 284.1 lineto
-328.149 287.1 lineto
-325.149 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-328.452 281.1 M
-331.452 284.1 lineto
-328.452 287.1 lineto
-325.452 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-328.452 281.1 M
-331.452 284.1 lineto
-328.452 287.1 lineto
-325.452 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-328.756 281.1 M
-331.756 284.1 lineto
-328.756 287.1 lineto
-325.756 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-328.756 281.1 M
-331.756 284.1 lineto
-328.756 287.1 lineto
-325.756 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-329.06 281.1 M
-332.06 284.1 lineto
-329.06 287.1 lineto
-326.06 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-329.06 281.1 M
-332.06 284.1 lineto
-329.06 287.1 lineto
-326.06 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-329.364 281.1 M
-332.364 284.1 lineto
-329.364 287.1 lineto
-326.364 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-329.364 281.1 M
-332.364 284.1 lineto
-329.364 287.1 lineto
-326.364 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-329.667 302.648 M
-332.667 305.648 lineto
-329.667 308.648 lineto
-326.667 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-329.667 302.648 M
-332.667 305.648 lineto
-329.667 308.648 lineto
-326.667 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-329.971 302.648 M
-332.971 305.648 lineto
-329.971 308.648 lineto
-326.971 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-329.971 302.648 M
-332.971 305.648 lineto
-329.971 308.648 lineto
-326.971 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-330.275 302.648 M
-333.275 305.648 lineto
-330.275 308.648 lineto
-327.275 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-330.275 302.648 M
-333.275 305.648 lineto
-330.275 308.648 lineto
-327.275 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-330.578 302.648 M
-333.578 305.648 lineto
-330.578 308.648 lineto
-327.578 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-330.578 302.648 M
-333.578 305.648 lineto
-330.578 308.648 lineto
-327.578 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-330.882 302.648 M
-333.882 305.648 lineto
-330.882 308.648 lineto
-327.882 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-330.882 302.648 M
-333.882 305.648 lineto
-330.882 308.648 lineto
-327.882 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-331.186 302.648 M
-334.186 305.648 lineto
-331.186 308.648 lineto
-328.186 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-331.186 302.648 M
-334.186 305.648 lineto
-331.186 308.648 lineto
-328.186 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-331.49 302.648 M
-334.49 305.648 lineto
-331.49 308.648 lineto
-328.49 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-331.49 302.648 M
-334.49 305.648 lineto
-331.49 308.648 lineto
-328.49 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-331.793 302.648 M
-334.793 305.648 lineto
-331.793 308.648 lineto
-328.793 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-331.793 302.648 M
-334.793 305.648 lineto
-331.793 308.648 lineto
-328.793 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-332.097 302.648 M
-335.097 305.648 lineto
-332.097 308.648 lineto
-329.097 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-332.097 302.648 M
-335.097 305.648 lineto
-332.097 308.648 lineto
-329.097 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-332.401 302.648 M
-335.401 305.648 lineto
-332.401 308.648 lineto
-329.401 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-332.401 302.648 M
-335.401 305.648 lineto
-332.401 308.648 lineto
-329.401 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-332.705 302.648 M
-335.705 305.648 lineto
-332.705 308.648 lineto
-329.705 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-332.705 302.648 M
-335.705 305.648 lineto
-332.705 308.648 lineto
-329.705 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-333.008 302.648 M
-336.008 305.648 lineto
-333.008 308.648 lineto
-330.008 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-333.008 302.648 M
-336.008 305.648 lineto
-333.008 308.648 lineto
-330.008 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-333.312 302.648 M
-336.312 305.648 lineto
-333.312 308.648 lineto
-330.312 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-333.312 302.648 M
-336.312 305.648 lineto
-333.312 308.648 lineto
-330.312 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-333.616 302.648 M
-336.616 305.648 lineto
-333.616 308.648 lineto
-330.616 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-333.616 302.648 M
-336.616 305.648 lineto
-333.616 308.648 lineto
-330.616 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-333.92 302.648 M
-336.92 305.648 lineto
-333.92 308.648 lineto
-330.92 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-333.92 302.648 M
-336.92 305.648 lineto
-333.92 308.648 lineto
-330.92 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-334.223 302.648 M
-337.223 305.648 lineto
-334.223 308.648 lineto
-331.223 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-334.223 302.648 M
-337.223 305.648 lineto
-334.223 308.648 lineto
-331.223 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-334.527 302.648 M
-337.527 305.648 lineto
-334.527 308.648 lineto
-331.527 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-334.527 302.648 M
-337.527 305.648 lineto
-334.527 308.648 lineto
-331.527 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-334.831 302.648 M
-337.831 305.648 lineto
-334.831 308.648 lineto
-331.831 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-334.831 302.648 M
-337.831 305.648 lineto
-334.831 308.648 lineto
-331.831 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-335.135 302.648 M
-338.135 305.648 lineto
-335.135 308.648 lineto
-332.135 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-335.135 302.648 M
-338.135 305.648 lineto
-335.135 308.648 lineto
-332.135 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-335.438 302.648 M
-338.438 305.648 lineto
-335.438 308.648 lineto
-332.438 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-335.438 302.648 M
-338.438 305.648 lineto
-335.438 308.648 lineto
-332.438 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-335.742 281.1 M
-338.742 284.1 lineto
-335.742 287.1 lineto
-332.742 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-335.742 281.1 M
-338.742 284.1 lineto
-335.742 287.1 lineto
-332.742 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-336.046 281.1 M
-339.046 284.1 lineto
-336.046 287.1 lineto
-333.046 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-336.046 281.1 M
-339.046 284.1 lineto
-336.046 287.1 lineto
-333.046 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-336.349 281.1 M
-339.349 284.1 lineto
-336.349 287.1 lineto
-333.349 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-336.349 281.1 M
-339.349 284.1 lineto
-336.349 287.1 lineto
-333.349 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-336.653 281.1 M
-339.653 284.1 lineto
-336.653 287.1 lineto
-333.653 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-336.653 281.1 M
-339.653 284.1 lineto
-336.653 287.1 lineto
-333.653 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-336.957 281.1 M
-339.957 284.1 lineto
-336.957 287.1 lineto
-333.957 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-336.957 281.1 M
-339.957 284.1 lineto
-336.957 287.1 lineto
-333.957 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-337.261 281.1 M
-340.261 284.1 lineto
-337.261 287.1 lineto
-334.261 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-337.261 281.1 M
-340.261 284.1 lineto
-337.261 287.1 lineto
-334.261 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-337.564 281.1 M
-340.564 284.1 lineto
-337.564 287.1 lineto
-334.564 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-337.564 281.1 M
-340.564 284.1 lineto
-337.564 287.1 lineto
-334.564 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-337.868 281.1 M
-340.868 284.1 lineto
-337.868 287.1 lineto
-334.868 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-337.868 281.1 M
-340.868 284.1 lineto
-337.868 287.1 lineto
-334.868 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-338.172 281.1 M
-341.172 284.1 lineto
-338.172 287.1 lineto
-335.172 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-338.172 281.1 M
-341.172 284.1 lineto
-338.172 287.1 lineto
-335.172 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-338.476 281.1 M
-341.476 284.1 lineto
-338.476 287.1 lineto
-335.476 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-338.476 281.1 M
-341.476 284.1 lineto
-338.476 287.1 lineto
-335.476 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-338.779 281.1 M
-341.779 284.1 lineto
-338.779 287.1 lineto
-335.779 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-338.779 281.1 M
-341.779 284.1 lineto
-338.779 287.1 lineto
-335.779 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-339.083 281.1 M
-342.083 284.1 lineto
-339.083 287.1 lineto
-336.083 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-339.083 281.1 M
-342.083 284.1 lineto
-339.083 287.1 lineto
-336.083 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-339.387 281.1 M
-342.387 284.1 lineto
-339.387 287.1 lineto
-336.387 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-339.387 281.1 M
-342.387 284.1 lineto
-339.387 287.1 lineto
-336.387 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-339.691 281.1 M
-342.691 284.1 lineto
-339.691 287.1 lineto
-336.691 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-339.691 281.1 M
-342.691 284.1 lineto
-339.691 287.1 lineto
-336.691 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-339.994 281.1 M
-342.994 284.1 lineto
-339.994 287.1 lineto
-336.994 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-339.994 281.1 M
-342.994 284.1 lineto
-339.994 287.1 lineto
-336.994 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-340.298 281.1 M
-343.298 284.1 lineto
-340.298 287.1 lineto
-337.298 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-340.298 281.1 M
-343.298 284.1 lineto
-340.298 287.1 lineto
-337.298 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-340.602 281.1 M
-343.602 284.1 lineto
-340.602 287.1 lineto
-337.602 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-340.602 281.1 M
-343.602 284.1 lineto
-340.602 287.1 lineto
-337.602 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-340.906 281.1 M
-343.906 284.1 lineto
-340.906 287.1 lineto
-337.906 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-340.906 281.1 M
-343.906 284.1 lineto
-340.906 287.1 lineto
-337.906 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-341.209 281.1 M
-344.209 284.1 lineto
-341.209 287.1 lineto
-338.209 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-341.209 281.1 M
-344.209 284.1 lineto
-341.209 287.1 lineto
-338.209 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-341.513 281.1 M
-344.513 284.1 lineto
-341.513 287.1 lineto
-338.513 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-341.513 281.1 M
-344.513 284.1 lineto
-341.513 287.1 lineto
-338.513 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-341.817 281.1 M
-344.817 284.1 lineto
-341.817 287.1 lineto
-338.817 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-341.817 281.1 M
-344.817 284.1 lineto
-341.817 287.1 lineto
-338.817 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-342.12 281.1 M
-345.12 284.1 lineto
-342.12 287.1 lineto
-339.12 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-342.12 281.1 M
-345.12 284.1 lineto
-342.12 287.1 lineto
-339.12 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-342.424 281.1 M
-345.424 284.1 lineto
-342.424 287.1 lineto
-339.424 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-342.424 281.1 M
-345.424 284.1 lineto
-342.424 287.1 lineto
-339.424 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-342.728 281.1 M
-345.728 284.1 lineto
-342.728 287.1 lineto
-339.728 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-342.728 281.1 M
-345.728 284.1 lineto
-342.728 287.1 lineto
-339.728 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-343.032 281.1 M
-346.032 284.1 lineto
-343.032 287.1 lineto
-340.032 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-343.032 281.1 M
-346.032 284.1 lineto
-343.032 287.1 lineto
-340.032 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-343.335 281.1 M
-346.335 284.1 lineto
-343.335 287.1 lineto
-340.335 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-343.335 281.1 M
-346.335 284.1 lineto
-343.335 287.1 lineto
-340.335 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-343.639 281.1 M
-346.639 284.1 lineto
-343.639 287.1 lineto
-340.639 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-343.639 281.1 M
-346.639 284.1 lineto
-343.639 287.1 lineto
-340.639 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-343.943 281.1 M
-346.943 284.1 lineto
-343.943 287.1 lineto
-340.943 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-343.943 281.1 M
-346.943 284.1 lineto
-343.943 287.1 lineto
-340.943 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-344.247 281.1 M
-347.247 284.1 lineto
-344.247 287.1 lineto
-341.247 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-344.247 281.1 M
-347.247 284.1 lineto
-344.247 287.1 lineto
-341.247 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-344.55 281.1 M
-347.55 284.1 lineto
-344.55 287.1 lineto
-341.55 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-344.55 281.1 M
-347.55 284.1 lineto
-344.55 287.1 lineto
-341.55 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-344.854 281.1 M
-347.854 284.1 lineto
-344.854 287.1 lineto
-341.854 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-344.854 281.1 M
-347.854 284.1 lineto
-344.854 287.1 lineto
-341.854 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-345.158 281.1 M
-348.158 284.1 lineto
-345.158 287.1 lineto
-342.158 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-345.158 281.1 M
-348.158 284.1 lineto
-345.158 287.1 lineto
-342.158 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-345.462 281.1 M
-348.462 284.1 lineto
-345.462 287.1 lineto
-342.462 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-345.462 281.1 M
-348.462 284.1 lineto
-345.462 287.1 lineto
-342.462 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-345.765 281.1 M
-348.765 284.1 lineto
-345.765 287.1 lineto
-342.765 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-345.765 281.1 M
-348.765 284.1 lineto
-345.765 287.1 lineto
-342.765 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-346.069 281.1 M
-349.069 284.1 lineto
-346.069 287.1 lineto
-343.069 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-346.069 281.1 M
-349.069 284.1 lineto
-346.069 287.1 lineto
-343.069 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-346.373 281.1 M
-349.373 284.1 lineto
-346.373 287.1 lineto
-343.373 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-346.373 281.1 M
-349.373 284.1 lineto
-346.373 287.1 lineto
-343.373 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-346.677 281.1 M
-349.677 284.1 lineto
-346.677 287.1 lineto
-343.677 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-346.677 281.1 M
-349.677 284.1 lineto
-346.677 287.1 lineto
-343.677 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-346.98 281.1 M
-349.98 284.1 lineto
-346.98 287.1 lineto
-343.98 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-346.98 281.1 M
-349.98 284.1 lineto
-346.98 287.1 lineto
-343.98 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-347.284 281.1 M
-350.284 284.1 lineto
-347.284 287.1 lineto
-344.284 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-347.284 281.1 M
-350.284 284.1 lineto
-347.284 287.1 lineto
-344.284 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-347.588 281.1 M
-350.588 284.1 lineto
-347.588 287.1 lineto
-344.588 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-347.588 281.1 M
-350.588 284.1 lineto
-347.588 287.1 lineto
-344.588 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-347.891 281.1 M
-350.891 284.1 lineto
-347.891 287.1 lineto
-344.891 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-347.891 281.1 M
-350.891 284.1 lineto
-347.891 287.1 lineto
-344.891 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-348.195 281.1 M
-351.195 284.1 lineto
-348.195 287.1 lineto
-345.195 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-348.195 281.1 M
-351.195 284.1 lineto
-348.195 287.1 lineto
-345.195 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-348.499 281.1 M
-351.499 284.1 lineto
-348.499 287.1 lineto
-345.499 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-348.499 281.1 M
-351.499 284.1 lineto
-348.499 287.1 lineto
-345.499 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-348.803 281.1 M
-351.803 284.1 lineto
-348.803 287.1 lineto
-345.803 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-348.803 281.1 M
-351.803 284.1 lineto
-348.803 287.1 lineto
-345.803 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-349.106 281.1 M
-352.106 284.1 lineto
-349.106 287.1 lineto
-346.106 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-349.106 281.1 M
-352.106 284.1 lineto
-349.106 287.1 lineto
-346.106 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-349.41 281.1 M
-352.41 284.1 lineto
-349.41 287.1 lineto
-346.41 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-349.41 281.1 M
-352.41 284.1 lineto
-349.41 287.1 lineto
-346.41 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-349.714 281.1 M
-352.714 284.1 lineto
-349.714 287.1 lineto
-346.714 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-349.714 281.1 M
-352.714 284.1 lineto
-349.714 287.1 lineto
-346.714 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-350.018 281.1 M
-353.018 284.1 lineto
-350.018 287.1 lineto
-347.018 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-350.018 281.1 M
-353.018 284.1 lineto
-350.018 287.1 lineto
-347.018 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-350.321 281.1 M
-353.321 284.1 lineto
-350.321 287.1 lineto
-347.321 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-350.321 281.1 M
-353.321 284.1 lineto
-350.321 287.1 lineto
-347.321 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-350.625 281.1 M
-353.625 284.1 lineto
-350.625 287.1 lineto
-347.625 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-350.625 281.1 M
-353.625 284.1 lineto
-350.625 287.1 lineto
-347.625 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-350.929 281.1 M
-353.929 284.1 lineto
-350.929 287.1 lineto
-347.929 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-350.929 281.1 M
-353.929 284.1 lineto
-350.929 287.1 lineto
-347.929 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-351.233 281.1 M
-354.233 284.1 lineto
-351.233 287.1 lineto
-348.233 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-351.233 281.1 M
-354.233 284.1 lineto
-351.233 287.1 lineto
-348.233 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-351.536 281.1 M
-354.536 284.1 lineto
-351.536 287.1 lineto
-348.536 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-351.536 281.1 M
-354.536 284.1 lineto
-351.536 287.1 lineto
-348.536 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-351.84 281.1 M
-354.84 284.1 lineto
-351.84 287.1 lineto
-348.84 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-351.84 281.1 M
-354.84 284.1 lineto
-351.84 287.1 lineto
-348.84 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-352.144 281.1 M
-355.144 284.1 lineto
-352.144 287.1 lineto
-349.144 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-352.144 281.1 M
-355.144 284.1 lineto
-352.144 287.1 lineto
-349.144 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-352.448 281.1 M
-355.448 284.1 lineto
-352.448 287.1 lineto
-349.448 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-352.448 281.1 M
-355.448 284.1 lineto
-352.448 287.1 lineto
-349.448 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-352.751 281.1 M
-355.751 284.1 lineto
-352.751 287.1 lineto
-349.751 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-352.751 281.1 M
-355.751 284.1 lineto
-352.751 287.1 lineto
-349.751 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-353.055 281.1 M
-356.055 284.1 lineto
-353.055 287.1 lineto
-350.055 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-353.055 281.1 M
-356.055 284.1 lineto
-353.055 287.1 lineto
-350.055 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-353.359 281.1 M
-356.359 284.1 lineto
-353.359 287.1 lineto
-350.359 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-353.359 281.1 M
-356.359 284.1 lineto
-353.359 287.1 lineto
-350.359 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-353.663 281.1 M
-356.663 284.1 lineto
-353.663 287.1 lineto
-350.663 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-353.663 281.1 M
-356.663 284.1 lineto
-353.663 287.1 lineto
-350.663 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-353.966 281.1 M
-356.966 284.1 lineto
-353.966 287.1 lineto
-350.966 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-353.966 281.1 M
-356.966 284.1 lineto
-353.966 287.1 lineto
-350.966 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-354.27 281.1 M
-357.27 284.1 lineto
-354.27 287.1 lineto
-351.27 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-354.27 281.1 M
-357.27 284.1 lineto
-354.27 287.1 lineto
-351.27 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-354.574 281.1 M
-357.574 284.1 lineto
-354.574 287.1 lineto
-351.574 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-354.574 281.1 M
-357.574 284.1 lineto
-354.574 287.1 lineto
-351.574 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-354.877 281.1 M
-357.877 284.1 lineto
-354.877 287.1 lineto
-351.877 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-354.877 281.1 M
-357.877 284.1 lineto
-354.877 287.1 lineto
-351.877 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-355.181 281.1 M
-358.181 284.1 lineto
-355.181 287.1 lineto
-352.181 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-355.181 281.1 M
-358.181 284.1 lineto
-355.181 287.1 lineto
-352.181 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-355.485 281.1 M
-358.485 284.1 lineto
-355.485 287.1 lineto
-352.485 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-355.485 281.1 M
-358.485 284.1 lineto
-355.485 287.1 lineto
-352.485 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-355.789 281.1 M
-358.789 284.1 lineto
-355.789 287.1 lineto
-352.789 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-355.789 281.1 M
-358.789 284.1 lineto
-355.789 287.1 lineto
-352.789 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-356.092 281.1 M
-359.092 284.1 lineto
-356.092 287.1 lineto
-353.092 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-356.092 281.1 M
-359.092 284.1 lineto
-356.092 287.1 lineto
-353.092 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-356.396 281.1 M
-359.396 284.1 lineto
-356.396 287.1 lineto
-353.396 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-356.396 281.1 M
-359.396 284.1 lineto
-356.396 287.1 lineto
-353.396 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-356.7 281.1 M
-359.7 284.1 lineto
-356.7 287.1 lineto
-353.7 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-356.7 281.1 M
-359.7 284.1 lineto
-356.7 287.1 lineto
-353.7 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-357.004 281.1 M
-360.004 284.1 lineto
-357.004 287.1 lineto
-354.004 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-357.004 281.1 M
-360.004 284.1 lineto
-357.004 287.1 lineto
-354.004 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-357.307 281.1 M
-360.307 284.1 lineto
-357.307 287.1 lineto
-354.307 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-357.307 281.1 M
-360.307 284.1 lineto
-357.307 287.1 lineto
-354.307 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-357.611 281.1 M
-360.611 284.1 lineto
-357.611 287.1 lineto
-354.611 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-357.611 281.1 M
-360.611 284.1 lineto
-357.611 287.1 lineto
-354.611 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-357.915 281.1 M
-360.915 284.1 lineto
-357.915 287.1 lineto
-354.915 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-357.915 281.1 M
-360.915 284.1 lineto
-357.915 287.1 lineto
-354.915 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-358.219 281.1 M
-361.219 284.1 lineto
-358.219 287.1 lineto
-355.219 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-358.219 281.1 M
-361.219 284.1 lineto
-358.219 287.1 lineto
-355.219 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-358.522 281.1 M
-361.522 284.1 lineto
-358.522 287.1 lineto
-355.522 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-358.522 281.1 M
-361.522 284.1 lineto
-358.522 287.1 lineto
-355.522 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-358.826 281.1 M
-361.826 284.1 lineto
-358.826 287.1 lineto
-355.826 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-358.826 281.1 M
-361.826 284.1 lineto
-358.826 287.1 lineto
-355.826 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-359.13 281.1 M
-362.13 284.1 lineto
-359.13 287.1 lineto
-356.13 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-359.13 281.1 M
-362.13 284.1 lineto
-359.13 287.1 lineto
-356.13 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-359.434 281.1 M
-362.434 284.1 lineto
-359.434 287.1 lineto
-356.434 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-359.434 281.1 M
-362.434 284.1 lineto
-359.434 287.1 lineto
-356.434 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-359.737 281.1 M
-362.737 284.1 lineto
-359.737 287.1 lineto
-356.737 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-359.737 281.1 M
-362.737 284.1 lineto
-359.737 287.1 lineto
-356.737 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-360.041 281.1 M
-363.041 284.1 lineto
-360.041 287.1 lineto
-357.041 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-360.041 281.1 M
-363.041 284.1 lineto
-360.041 287.1 lineto
-357.041 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-360.345 281.1 M
-363.345 284.1 lineto
-360.345 287.1 lineto
-357.345 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-360.345 281.1 M
-363.345 284.1 lineto
-360.345 287.1 lineto
-357.345 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-360.648 281.1 M
-363.648 284.1 lineto
-360.648 287.1 lineto
-357.648 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-360.648 281.1 M
-363.648 284.1 lineto
-360.648 287.1 lineto
-357.648 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-360.952 281.1 M
-363.952 284.1 lineto
-360.952 287.1 lineto
-357.952 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-360.952 281.1 M
-363.952 284.1 lineto
-360.952 287.1 lineto
-357.952 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-361.256 281.1 M
-364.256 284.1 lineto
-361.256 287.1 lineto
-358.256 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-361.256 281.1 M
-364.256 284.1 lineto
-361.256 287.1 lineto
-358.256 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-361.56 281.1 M
-364.56 284.1 lineto
-361.56 287.1 lineto
-358.56 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-361.56 281.1 M
-364.56 284.1 lineto
-361.56 287.1 lineto
-358.56 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-361.863 281.1 M
-364.863 284.1 lineto
-361.863 287.1 lineto
-358.863 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-361.863 281.1 M
-364.863 284.1 lineto
-361.863 287.1 lineto
-358.863 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-362.167 281.1 M
-365.167 284.1 lineto
-362.167 287.1 lineto
-359.167 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.167 281.1 M
-365.167 284.1 lineto
-362.167 287.1 lineto
-359.167 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-362.471 281.1 M
-365.471 284.1 lineto
-362.471 287.1 lineto
-359.471 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.471 281.1 M
-365.471 284.1 lineto
-362.471 287.1 lineto
-359.471 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-362.775 281.1 M
-365.775 284.1 lineto
-362.775 287.1 lineto
-359.775 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.775 281.1 M
-365.775 284.1 lineto
-362.775 287.1 lineto
-359.775 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-363.078 281.1 M
-366.078 284.1 lineto
-363.078 287.1 lineto
-360.078 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-363.078 281.1 M
-366.078 284.1 lineto
-363.078 287.1 lineto
-360.078 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-363.382 281.1 M
-366.382 284.1 lineto
-363.382 287.1 lineto
-360.382 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-363.382 281.1 M
-366.382 284.1 lineto
-363.382 287.1 lineto
-360.382 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-363.686 281.1 M
-366.686 284.1 lineto
-363.686 287.1 lineto
-360.686 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-363.686 281.1 M
-366.686 284.1 lineto
-363.686 287.1 lineto
-360.686 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-363.99 281.1 M
-366.99 284.1 lineto
-363.99 287.1 lineto
-360.99 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-363.99 281.1 M
-366.99 284.1 lineto
-363.99 287.1 lineto
-360.99 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-364.293 281.1 M
-367.293 284.1 lineto
-364.293 287.1 lineto
-361.293 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-364.293 281.1 M
-367.293 284.1 lineto
-364.293 287.1 lineto
-361.293 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-364.597 281.1 M
-367.597 284.1 lineto
-364.597 287.1 lineto
-361.597 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-364.597 281.1 M
-367.597 284.1 lineto
-364.597 287.1 lineto
-361.597 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-364.901 281.1 M
-367.901 284.1 lineto
-364.901 287.1 lineto
-361.901 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-364.901 281.1 M
-367.901 284.1 lineto
-364.901 287.1 lineto
-361.901 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-365.205 281.1 M
-368.205 284.1 lineto
-365.205 287.1 lineto
-362.205 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-365.205 281.1 M
-368.205 284.1 lineto
-365.205 287.1 lineto
-362.205 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-365.508 281.1 M
-368.508 284.1 lineto
-365.508 287.1 lineto
-362.508 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-365.508 281.1 M
-368.508 284.1 lineto
-365.508 287.1 lineto
-362.508 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-365.812 281.1 M
-368.812 284.1 lineto
-365.812 287.1 lineto
-362.812 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-365.812 281.1 M
-368.812 284.1 lineto
-365.812 287.1 lineto
-362.812 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-366.116 281.1 M
-369.116 284.1 lineto
-366.116 287.1 lineto
-363.116 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-366.116 281.1 M
-369.116 284.1 lineto
-366.116 287.1 lineto
-363.116 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-366.419 281.1 M
-369.419 284.1 lineto
-366.419 287.1 lineto
-363.419 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-366.419 281.1 M
-369.419 284.1 lineto
-366.419 287.1 lineto
-363.419 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-366.723 281.1 M
-369.723 284.1 lineto
-366.723 287.1 lineto
-363.723 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-366.723 281.1 M
-369.723 284.1 lineto
-366.723 287.1 lineto
-363.723 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-367.027 281.1 M
-370.027 284.1 lineto
-367.027 287.1 lineto
-364.027 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-367.027 281.1 M
-370.027 284.1 lineto
-367.027 287.1 lineto
-364.027 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-367.331 281.1 M
-370.331 284.1 lineto
-367.331 287.1 lineto
-364.331 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-367.331 281.1 M
-370.331 284.1 lineto
-367.331 287.1 lineto
-364.331 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-367.634 281.1 M
-370.634 284.1 lineto
-367.634 287.1 lineto
-364.634 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-367.634 281.1 M
-370.634 284.1 lineto
-367.634 287.1 lineto
-364.634 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-367.938 281.1 M
-370.938 284.1 lineto
-367.938 287.1 lineto
-364.938 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-367.938 281.1 M
-370.938 284.1 lineto
-367.938 287.1 lineto
-364.938 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-368.242 281.1 M
-371.242 284.1 lineto
-368.242 287.1 lineto
-365.242 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-368.242 281.1 M
-371.242 284.1 lineto
-368.242 287.1 lineto
-365.242 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-368.546 281.1 M
-371.546 284.1 lineto
-368.546 287.1 lineto
-365.546 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-368.546 281.1 M
-371.546 284.1 lineto
-368.546 287.1 lineto
-365.546 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-368.849 281.1 M
-371.849 284.1 lineto
-368.849 287.1 lineto
-365.849 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-368.849 281.1 M
-371.849 284.1 lineto
-368.849 287.1 lineto
-365.849 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-369.153 281.1 M
-372.153 284.1 lineto
-369.153 287.1 lineto
-366.153 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-369.153 281.1 M
-372.153 284.1 lineto
-369.153 287.1 lineto
-366.153 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-369.457 281.1 M
-372.457 284.1 lineto
-369.457 287.1 lineto
-366.457 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-369.457 281.1 M
-372.457 284.1 lineto
-369.457 287.1 lineto
-366.457 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-369.761 281.1 M
-372.761 284.1 lineto
-369.761 287.1 lineto
-366.761 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-369.761 281.1 M
-372.761 284.1 lineto
-369.761 287.1 lineto
-366.761 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-370.064 281.1 M
-373.064 284.1 lineto
-370.064 287.1 lineto
-367.064 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-370.064 281.1 M
-373.064 284.1 lineto
-370.064 287.1 lineto
-367.064 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-370.368 281.1 M
-373.368 284.1 lineto
-370.368 287.1 lineto
-367.368 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-370.368 281.1 M
-373.368 284.1 lineto
-370.368 287.1 lineto
-367.368 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-370.672 281.1 M
-373.672 284.1 lineto
-370.672 287.1 lineto
-367.672 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-370.672 281.1 M
-373.672 284.1 lineto
-370.672 287.1 lineto
-367.672 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-370.976 281.1 M
-373.976 284.1 lineto
-370.976 287.1 lineto
-367.976 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-370.976 281.1 M
-373.976 284.1 lineto
-370.976 287.1 lineto
-367.976 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-371.279 281.1 M
-374.279 284.1 lineto
-371.279 287.1 lineto
-368.279 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-371.279 281.1 M
-374.279 284.1 lineto
-371.279 287.1 lineto
-368.279 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-371.583 281.1 M
-374.583 284.1 lineto
-371.583 287.1 lineto
-368.583 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-371.583 281.1 M
-374.583 284.1 lineto
-371.583 287.1 lineto
-368.583 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-371.887 281.1 M
-374.887 284.1 lineto
-371.887 287.1 lineto
-368.887 284.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-371.887 281.1 M
-374.887 284.1 lineto
-371.887 287.1 lineto
-368.887 284.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-newpath
-372.19 302.648 M
-375.19 305.648 lineto
-372.19 308.648 lineto
-369.19 305.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-372.19 302.648 M
-375.19 305.648 lineto
-372.19 308.648 lineto
-369.19 305.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-56 302.648 M
-59 308.648 lineto
-53 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-56 302.648 M
-59 308.648 lineto
-53 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-56.304 302.648 M
-59.304 308.648 lineto
-53.304 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-56.304 302.648 M
-59.304 308.648 lineto
-53.304 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-56.607 302.648 M
-59.607 308.648 lineto
-53.607 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-56.607 302.648 M
-59.607 308.648 lineto
-53.607 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-56.911 302.648 M
-59.911 308.648 lineto
-53.911 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-56.911 302.648 M
-59.911 308.648 lineto
-53.911 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-57.215 302.648 M
-60.215 308.648 lineto
-54.215 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-57.215 302.648 M
-60.215 308.648 lineto
-54.215 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-57.519 302.648 M
-60.519 308.648 lineto
-54.519 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-57.519 302.648 M
-60.519 308.648 lineto
-54.519 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-57.822 302.648 M
-60.822 308.648 lineto
-54.822 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-57.822 302.648 M
-60.822 308.648 lineto
-54.822 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-58.126 238.004 M
-61.126 244.004 lineto
-55.126 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-58.126 238.004 M
-61.126 244.004 lineto
-55.126 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-58.43 259.552 M
-61.43 265.552 lineto
-55.43 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-58.43 259.552 M
-61.43 265.552 lineto
-55.43 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-58.734 259.552 M
-61.734 265.552 lineto
-55.734 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-58.734 259.552 M
-61.734 265.552 lineto
-55.734 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-59.037 259.552 M
-62.037 265.552 lineto
-56.037 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-59.037 259.552 M
-62.037 265.552 lineto
-56.037 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-59.341 238.004 M
-62.341 244.004 lineto
-56.341 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-59.341 238.004 M
-62.341 244.004 lineto
-56.341 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-59.645 259.552 M
-62.645 265.552 lineto
-56.645 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-59.645 259.552 M
-62.645 265.552 lineto
-56.645 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-59.949 259.552 M
-62.949 265.552 lineto
-56.949 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-59.949 259.552 M
-62.949 265.552 lineto
-56.949 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-60.252 259.552 M
-63.252 265.552 lineto
-57.252 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-60.252 259.552 M
-63.252 265.552 lineto
-57.252 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-60.556 259.552 M
-63.556 265.552 lineto
-57.556 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-60.556 259.552 M
-63.556 265.552 lineto
-57.556 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-60.86 259.552 M
-63.86 265.552 lineto
-57.86 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-60.86 259.552 M
-63.86 265.552 lineto
-57.86 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-61.164 259.552 M
-64.164 265.552 lineto
-58.164 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-61.164 259.552 M
-64.164 265.552 lineto
-58.164 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-61.467 259.552 M
-64.467 265.552 lineto
-58.467 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-61.467 259.552 M
-64.467 265.552 lineto
-58.467 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-61.771 259.552 M
-64.771 265.552 lineto
-58.771 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-61.771 259.552 M
-64.771 265.552 lineto
-58.771 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-62.075 281.1 M
-65.075 287.1 lineto
-59.075 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-62.075 281.1 M
-65.075 287.1 lineto
-59.075 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-62.378 281.1 M
-65.378 287.1 lineto
-59.378 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-62.378 281.1 M
-65.378 287.1 lineto
-59.378 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-62.682 281.1 M
-65.682 287.1 lineto
-59.682 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-62.682 281.1 M
-65.682 287.1 lineto
-59.682 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-62.986 238.004 M
-65.986 244.004 lineto
-59.986 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-62.986 238.004 M
-65.986 244.004 lineto
-59.986 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-63.29 238.004 M
-66.29 244.004 lineto
-60.29 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.29 238.004 M
-66.29 244.004 lineto
-60.29 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-63.593 238.004 M
-66.593 244.004 lineto
-60.593 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.593 238.004 M
-66.593 244.004 lineto
-60.593 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-63.897 238.004 M
-66.897 244.004 lineto
-60.897 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.897 238.004 M
-66.897 244.004 lineto
-60.897 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-64.201 238.004 M
-67.201 244.004 lineto
-61.201 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-64.201 238.004 M
-67.201 244.004 lineto
-61.201 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-64.505 238.004 M
-67.505 244.004 lineto
-61.505 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-64.505 238.004 M
-67.505 244.004 lineto
-61.505 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-64.808 238.004 M
-67.808 244.004 lineto
-61.808 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-64.808 238.004 M
-67.808 244.004 lineto
-61.808 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-65.112 238.004 M
-68.112 244.004 lineto
-62.112 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-65.112 238.004 M
-68.112 244.004 lineto
-62.112 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-65.416 194.907 M
-68.416 200.907 lineto
-62.416 200.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-65.416 194.907 M
-68.416 200.907 lineto
-62.416 200.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-65.72 194.907 M
-68.72 200.907 lineto
-62.72 200.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-65.72 194.907 M
-68.72 200.907 lineto
-62.72 200.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-66.023 194.907 M
-69.023 200.907 lineto
-63.023 200.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.023 194.907 M
-69.023 200.907 lineto
-63.023 200.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-66.327 194.907 M
-69.327 200.907 lineto
-63.327 200.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.327 194.907 M
-69.327 200.907 lineto
-63.327 200.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-66.631 194.907 M
-69.631 200.907 lineto
-63.631 200.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.631 194.907 M
-69.631 200.907 lineto
-63.631 200.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-66.935 194.907 M
-69.935 200.907 lineto
-63.935 200.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.935 194.907 M
-69.935 200.907 lineto
-63.935 200.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-67.238 151.811 M
-70.238 157.811 lineto
-64.238 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-67.238 151.811 M
-70.238 157.811 lineto
-64.238 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-67.542 151.811 M
-70.542 157.811 lineto
-64.542 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-67.542 151.811 M
-70.542 157.811 lineto
-64.542 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-67.846 151.811 M
-70.846 157.811 lineto
-64.846 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-67.846 151.811 M
-70.846 157.811 lineto
-64.846 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-68.149 151.811 M
-71.149 157.811 lineto
-65.149 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-68.149 151.811 M
-71.149 157.811 lineto
-65.149 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-68.453 151.811 M
-71.453 157.811 lineto
-65.453 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-68.453 151.811 M
-71.453 157.811 lineto
-65.453 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-68.757 130.263 M
-71.757 136.263 lineto
-65.757 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-68.757 130.263 M
-71.757 136.263 lineto
-65.757 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-69.061 130.263 M
-72.061 136.263 lineto
-66.061 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.061 130.263 M
-72.061 136.263 lineto
-66.061 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-69.364 130.263 M
-72.364 136.263 lineto
-66.364 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.364 130.263 M
-72.364 136.263 lineto
-66.364 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-69.668 130.263 M
-72.668 136.263 lineto
-66.668 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.668 130.263 M
-72.668 136.263 lineto
-66.668 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-69.972 130.263 M
-72.972 136.263 lineto
-66.972 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.972 130.263 M
-72.972 136.263 lineto
-66.972 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-70.276 130.263 M
-73.276 136.263 lineto
-67.276 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-70.276 130.263 M
-73.276 136.263 lineto
-67.276 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-70.579 130.263 M
-73.579 136.263 lineto
-67.579 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-70.579 130.263 M
-73.579 136.263 lineto
-67.579 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-70.883 108.714 M
-73.883 114.714 lineto
-67.883 114.714 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-70.883 108.714 M
-73.883 114.714 lineto
-67.883 114.714 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-71.187 44.07 M
-74.187 50.07 lineto
-68.187 50.07 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-71.187 44.07 M
-74.187 50.07 lineto
-68.187 50.07 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-71.491 44.07 M
-74.491 50.07 lineto
-68.491 50.07 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-71.491 44.07 M
-74.491 50.07 lineto
-68.491 50.07 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-71.794 44.07 M
-74.794 50.07 lineto
-68.794 50.07 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-71.794 44.07 M
-74.794 50.07 lineto
-68.794 50.07 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-72.098 44.07 M
-75.098 50.07 lineto
-69.098 50.07 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.098 44.07 M
-75.098 50.07 lineto
-69.098 50.07 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-72.402 44.07 M
-75.402 50.07 lineto
-69.402 50.07 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.402 44.07 M
-75.402 50.07 lineto
-69.402 50.07 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-72.706 44.07 M
-75.706 50.07 lineto
-69.706 50.07 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.706 44.07 M
-75.706 50.07 lineto
-69.706 50.07 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-73.009 44.07 M
-76.009 50.07 lineto
-70.009 50.07 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-73.009 44.07 M
-76.009 50.07 lineto
-70.009 50.07 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-73.313 44.07 M
-76.313 50.07 lineto
-70.313 50.07 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-73.313 44.07 M
-76.313 50.07 lineto
-70.313 50.07 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-73.617 44.07 M
-76.617 50.07 lineto
-70.617 50.07 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-73.617 44.07 M
-76.617 50.07 lineto
-70.617 50.07 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-73.92 44.07 M
-76.92 50.07 lineto
-70.92 50.07 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-73.92 44.07 M
-76.92 50.07 lineto
-70.92 50.07 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-74.224 44.07 M
-77.224 50.07 lineto
-71.224 50.07 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-74.224 44.07 M
-77.224 50.07 lineto
-71.224 50.07 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-74.528 65.618 M
-77.528 71.618 lineto
-71.528 71.618 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-74.528 65.618 M
-77.528 71.618 lineto
-71.528 71.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-74.832 65.618 M
-77.832 71.618 lineto
-71.832 71.618 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-74.832 65.618 M
-77.832 71.618 lineto
-71.832 71.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-75.135 65.618 M
-78.135 71.618 lineto
-72.135 71.618 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-75.135 65.618 M
-78.135 71.618 lineto
-72.135 71.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-75.439 65.618 M
-78.439 71.618 lineto
-72.439 71.618 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-75.439 65.618 M
-78.439 71.618 lineto
-72.439 71.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-75.743 65.618 M
-78.743 71.618 lineto
-72.743 71.618 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-75.743 65.618 M
-78.743 71.618 lineto
-72.743 71.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-76.047 65.618 M
-79.047 71.618 lineto
-73.047 71.618 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-76.047 65.618 M
-79.047 71.618 lineto
-73.047 71.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-76.35 65.618 M
-79.35 71.618 lineto
-73.35 71.618 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-76.35 65.618 M
-79.35 71.618 lineto
-73.35 71.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-76.654 65.618 M
-79.654 71.618 lineto
-73.654 71.618 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-76.654 65.618 M
-79.654 71.618 lineto
-73.654 71.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-76.958 65.618 M
-79.958 71.618 lineto
-73.958 71.618 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-76.958 65.618 M
-79.958 71.618 lineto
-73.958 71.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-77.262 87.166 M
-80.262 93.166 lineto
-74.262 93.166 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-77.262 87.166 M
-80.262 93.166 lineto
-74.262 93.166 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-77.565 87.166 M
-80.565 93.166 lineto
-74.565 93.166 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-77.565 87.166 M
-80.565 93.166 lineto
-74.565 93.166 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-77.869 108.714 M
-80.869 114.714 lineto
-74.869 114.714 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-77.869 108.714 M
-80.869 114.714 lineto
-74.869 114.714 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-78.173 108.714 M
-81.173 114.714 lineto
-75.173 114.714 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-78.173 108.714 M
-81.173 114.714 lineto
-75.173 114.714 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-78.477 87.166 M
-81.477 93.166 lineto
-75.477 93.166 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-78.477 87.166 M
-81.477 93.166 lineto
-75.477 93.166 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-78.78 87.166 M
-81.78 93.166 lineto
-75.78 93.166 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-78.78 87.166 M
-81.78 93.166 lineto
-75.78 93.166 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-79.084 87.166 M
-82.084 93.166 lineto
-76.084 93.166 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-79.084 87.166 M
-82.084 93.166 lineto
-76.084 93.166 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-79.388 87.166 M
-82.388 93.166 lineto
-76.388 93.166 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-79.388 87.166 M
-82.388 93.166 lineto
-76.388 93.166 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-79.692 65.618 M
-82.692 71.618 lineto
-76.692 71.618 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-79.692 65.618 M
-82.692 71.618 lineto
-76.692 71.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-79.995 65.618 M
-82.995 71.618 lineto
-76.995 71.618 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-79.995 65.618 M
-82.995 71.618 lineto
-76.995 71.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-80.299 65.618 M
-83.299 71.618 lineto
-77.299 71.618 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.299 65.618 M
-83.299 71.618 lineto
-77.299 71.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-80.603 65.618 M
-83.603 71.618 lineto
-77.603 71.618 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.603 65.618 M
-83.603 71.618 lineto
-77.603 71.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-80.906 65.618 M
-83.906 71.618 lineto
-77.906 71.618 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.906 65.618 M
-83.906 71.618 lineto
-77.906 71.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-81.21 65.618 M
-84.21 71.618 lineto
-78.21 71.618 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-81.21 65.618 M
-84.21 71.618 lineto
-78.21 71.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-81.514 87.166 M
-84.514 93.166 lineto
-78.514 93.166 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-81.514 87.166 M
-84.514 93.166 lineto
-78.514 93.166 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-81.818 65.618 M
-84.818 71.618 lineto
-78.818 71.618 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-81.818 65.618 M
-84.818 71.618 lineto
-78.818 71.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-82.121 65.618 M
-85.121 71.618 lineto
-79.121 71.618 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-82.121 65.618 M
-85.121 71.618 lineto
-79.121 71.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-82.425 65.618 M
-85.425 71.618 lineto
-79.425 71.618 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-82.425 65.618 M
-85.425 71.618 lineto
-79.425 71.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-82.729 65.618 M
-85.729 71.618 lineto
-79.729 71.618 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-82.729 65.618 M
-85.729 71.618 lineto
-79.729 71.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-83.033 87.166 M
-86.033 93.166 lineto
-80.033 93.166 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.033 87.166 M
-86.033 93.166 lineto
-80.033 93.166 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-83.336 87.166 M
-86.336 93.166 lineto
-80.336 93.166 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.336 87.166 M
-86.336 93.166 lineto
-80.336 93.166 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-83.64 87.166 M
-86.64 93.166 lineto
-80.64 93.166 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.64 87.166 M
-86.64 93.166 lineto
-80.64 93.166 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-83.944 87.166 M
-86.944 93.166 lineto
-80.944 93.166 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.944 87.166 M
-86.944 93.166 lineto
-80.944 93.166 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-84.248 87.166 M
-87.248 93.166 lineto
-81.248 93.166 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-84.248 87.166 M
-87.248 93.166 lineto
-81.248 93.166 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-84.551 87.166 M
-87.551 93.166 lineto
-81.551 93.166 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-84.551 87.166 M
-87.551 93.166 lineto
-81.551 93.166 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-84.855 87.166 M
-87.855 93.166 lineto
-81.855 93.166 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-84.855 87.166 M
-87.855 93.166 lineto
-81.855 93.166 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-85.159 108.714 M
-88.159 114.714 lineto
-82.159 114.714 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-85.159 108.714 M
-88.159 114.714 lineto
-82.159 114.714 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-85.463 130.263 M
-88.463 136.263 lineto
-82.463 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-85.463 130.263 M
-88.463 136.263 lineto
-82.463 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-85.766 130.263 M
-88.766 136.263 lineto
-82.766 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-85.766 130.263 M
-88.766 136.263 lineto
-82.766 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-86.07 130.263 M
-89.07 136.263 lineto
-83.07 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-86.07 130.263 M
-89.07 136.263 lineto
-83.07 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-86.374 151.811 M
-89.374 157.811 lineto
-83.374 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-86.374 151.811 M
-89.374 157.811 lineto
-83.374 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-86.677 151.811 M
-89.677 157.811 lineto
-83.677 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-86.677 151.811 M
-89.677 157.811 lineto
-83.677 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-86.981 151.811 M
-89.981 157.811 lineto
-83.981 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-86.981 151.811 M
-89.981 157.811 lineto
-83.981 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-87.285 151.811 M
-90.285 157.811 lineto
-84.285 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.285 151.811 M
-90.285 157.811 lineto
-84.285 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-87.589 151.811 M
-90.589 157.811 lineto
-84.589 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.589 151.811 M
-90.589 157.811 lineto
-84.589 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-87.892 151.811 M
-90.892 157.811 lineto
-84.892 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.892 151.811 M
-90.892 157.811 lineto
-84.892 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-88.196 151.811 M
-91.196 157.811 lineto
-85.196 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-88.196 151.811 M
-91.196 157.811 lineto
-85.196 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-88.5 151.811 M
-91.5 157.811 lineto
-85.5 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-88.5 151.811 M
-91.5 157.811 lineto
-85.5 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-88.804 130.263 M
-91.804 136.263 lineto
-85.804 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-88.804 130.263 M
-91.804 136.263 lineto
-85.804 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-89.107 130.263 M
-92.107 136.263 lineto
-86.107 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-89.107 130.263 M
-92.107 136.263 lineto
-86.107 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-89.411 130.263 M
-92.411 136.263 lineto
-86.411 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-89.411 130.263 M
-92.411 136.263 lineto
-86.411 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-89.715 130.263 M
-92.715 136.263 lineto
-86.715 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-89.715 130.263 M
-92.715 136.263 lineto
-86.715 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-90.019 130.263 M
-93.019 136.263 lineto
-87.019 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-90.019 130.263 M
-93.019 136.263 lineto
-87.019 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-90.322 130.263 M
-93.322 136.263 lineto
-87.322 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-90.322 130.263 M
-93.322 136.263 lineto
-87.322 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-90.626 130.263 M
-93.626 136.263 lineto
-87.626 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-90.626 130.263 M
-93.626 136.263 lineto
-87.626 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-90.93 130.263 M
-93.93 136.263 lineto
-87.93 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-90.93 130.263 M
-93.93 136.263 lineto
-87.93 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-91.234 130.263 M
-94.234 136.263 lineto
-88.234 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-91.234 130.263 M
-94.234 136.263 lineto
-88.234 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-91.537 130.263 M
-94.537 136.263 lineto
-88.537 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-91.537 130.263 M
-94.537 136.263 lineto
-88.537 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-91.841 130.263 M
-94.841 136.263 lineto
-88.841 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-91.841 130.263 M
-94.841 136.263 lineto
-88.841 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-92.145 130.263 M
-95.145 136.263 lineto
-89.145 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-92.145 130.263 M
-95.145 136.263 lineto
-89.145 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-92.448 151.811 M
-95.448 157.811 lineto
-89.448 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-92.448 151.811 M
-95.448 157.811 lineto
-89.448 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-92.752 151.811 M
-95.752 157.811 lineto
-89.752 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-92.752 151.811 M
-95.752 157.811 lineto
-89.752 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-93.056 151.811 M
-96.056 157.811 lineto
-90.056 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-93.056 151.811 M
-96.056 157.811 lineto
-90.056 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-93.36 151.811 M
-96.36 157.811 lineto
-90.36 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-93.36 151.811 M
-96.36 157.811 lineto
-90.36 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-93.663 151.811 M
-96.663 157.811 lineto
-90.663 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-93.663 151.811 M
-96.663 157.811 lineto
-90.663 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-93.967 194.907 M
-96.967 200.907 lineto
-90.967 200.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-93.967 194.907 M
-96.967 200.907 lineto
-90.967 200.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-94.271 194.907 M
-97.271 200.907 lineto
-91.271 200.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-94.271 194.907 M
-97.271 200.907 lineto
-91.271 200.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-94.575 151.811 M
-97.575 157.811 lineto
-91.575 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-94.575 151.811 M
-97.575 157.811 lineto
-91.575 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-94.878 151.811 M
-97.878 157.811 lineto
-91.878 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-94.878 151.811 M
-97.878 157.811 lineto
-91.878 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-95.182 151.811 M
-98.182 157.811 lineto
-92.182 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-95.182 151.811 M
-98.182 157.811 lineto
-92.182 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-95.486 151.811 M
-98.486 157.811 lineto
-92.486 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-95.486 151.811 M
-98.486 157.811 lineto
-92.486 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-95.79 151.811 M
-98.79 157.811 lineto
-92.79 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-95.79 151.811 M
-98.79 157.811 lineto
-92.79 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-96.093 151.811 M
-99.093 157.811 lineto
-93.093 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-96.093 151.811 M
-99.093 157.811 lineto
-93.093 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-96.397 151.811 M
-99.397 157.811 lineto
-93.397 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-96.397 151.811 M
-99.397 157.811 lineto
-93.397 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-96.701 151.811 M
-99.701 157.811 lineto
-93.701 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-96.701 151.811 M
-99.701 157.811 lineto
-93.701 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-97.005 151.811 M
-100.005 157.811 lineto
-94.005 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-97.005 151.811 M
-100.005 157.811 lineto
-94.005 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-97.308 151.811 M
-100.308 157.811 lineto
-94.308 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-97.308 151.811 M
-100.308 157.811 lineto
-94.308 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-97.612 151.811 M
-100.612 157.811 lineto
-94.612 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-97.612 151.811 M
-100.612 157.811 lineto
-94.612 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-97.916 151.811 M
-100.916 157.811 lineto
-94.916 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-97.916 151.811 M
-100.916 157.811 lineto
-94.916 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-98.219 151.811 M
-101.219 157.811 lineto
-95.219 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-98.219 151.811 M
-101.219 157.811 lineto
-95.219 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-98.523 151.811 M
-101.523 157.811 lineto
-95.523 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-98.523 151.811 M
-101.523 157.811 lineto
-95.523 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-98.827 151.811 M
-101.827 157.811 lineto
-95.827 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-98.827 151.811 M
-101.827 157.811 lineto
-95.827 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-99.131 151.811 M
-102.131 157.811 lineto
-96.131 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-99.131 151.811 M
-102.131 157.811 lineto
-96.131 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-99.434 151.811 M
-102.434 157.811 lineto
-96.434 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-99.434 151.811 M
-102.434 157.811 lineto
-96.434 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-99.738 151.811 M
-102.738 157.811 lineto
-96.738 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-99.738 151.811 M
-102.738 157.811 lineto
-96.738 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-100.042 151.811 M
-103.042 157.811 lineto
-97.042 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-100.042 151.811 M
-103.042 157.811 lineto
-97.042 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-100.346 151.811 M
-103.346 157.811 lineto
-97.346 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-100.346 151.811 M
-103.346 157.811 lineto
-97.346 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-100.649 151.811 M
-103.649 157.811 lineto
-97.649 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-100.649 151.811 M
-103.649 157.811 lineto
-97.649 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-100.953 151.811 M
-103.953 157.811 lineto
-97.953 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-100.953 151.811 M
-103.953 157.811 lineto
-97.953 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-101.257 151.811 M
-104.257 157.811 lineto
-98.257 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-101.257 151.811 M
-104.257 157.811 lineto
-98.257 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-101.561 151.811 M
-104.561 157.811 lineto
-98.561 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-101.561 151.811 M
-104.561 157.811 lineto
-98.561 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-101.864 151.811 M
-104.864 157.811 lineto
-98.864 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-101.864 151.811 M
-104.864 157.811 lineto
-98.864 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-102.168 151.811 M
-105.168 157.811 lineto
-99.168 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-102.168 151.811 M
-105.168 157.811 lineto
-99.168 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-102.472 151.811 M
-105.472 157.811 lineto
-99.472 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-102.472 151.811 M
-105.472 157.811 lineto
-99.472 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-102.776 173.359 M
-105.776 179.359 lineto
-99.776 179.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-102.776 173.359 M
-105.776 179.359 lineto
-99.776 179.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-103.079 173.359 M
-106.079 179.359 lineto
-100.079 179.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-103.079 173.359 M
-106.079 179.359 lineto
-100.079 179.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-103.383 151.811 M
-106.383 157.811 lineto
-100.383 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-103.383 151.811 M
-106.383 157.811 lineto
-100.383 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-103.687 151.811 M
-106.687 157.811 lineto
-100.687 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-103.687 151.811 M
-106.687 157.811 lineto
-100.687 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-103.99 151.811 M
-106.99 157.811 lineto
-100.99 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-103.99 151.811 M
-106.99 157.811 lineto
-100.99 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-104.294 151.811 M
-107.294 157.811 lineto
-101.294 157.811 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-104.294 151.811 M
-107.294 157.811 lineto
-101.294 157.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-104.598 130.263 M
-107.598 136.263 lineto
-101.598 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-104.598 130.263 M
-107.598 136.263 lineto
-101.598 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-104.902 130.263 M
-107.902 136.263 lineto
-101.902 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-104.902 130.263 M
-107.902 136.263 lineto
-101.902 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-105.205 130.263 M
-108.205 136.263 lineto
-102.205 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-105.205 130.263 M
-108.205 136.263 lineto
-102.205 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-105.509 130.263 M
-108.509 136.263 lineto
-102.509 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-105.509 130.263 M
-108.509 136.263 lineto
-102.509 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-105.813 130.263 M
-108.813 136.263 lineto
-102.813 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-105.813 130.263 M
-108.813 136.263 lineto
-102.813 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-106.117 130.263 M
-109.117 136.263 lineto
-103.117 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-106.117 130.263 M
-109.117 136.263 lineto
-103.117 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-106.42 130.263 M
-109.42 136.263 lineto
-103.42 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-106.42 130.263 M
-109.42 136.263 lineto
-103.42 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-106.724 108.714 M
-109.724 114.714 lineto
-103.724 114.714 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-106.724 108.714 M
-109.724 114.714 lineto
-103.724 114.714 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-107.028 108.714 M
-110.028 114.714 lineto
-104.028 114.714 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-107.028 108.714 M
-110.028 114.714 lineto
-104.028 114.714 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-107.332 108.714 M
-110.332 114.714 lineto
-104.332 114.714 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-107.332 108.714 M
-110.332 114.714 lineto
-104.332 114.714 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-107.635 108.714 M
-110.635 114.714 lineto
-104.635 114.714 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-107.635 108.714 M
-110.635 114.714 lineto
-104.635 114.714 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-107.939 130.263 M
-110.939 136.263 lineto
-104.939 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-107.939 130.263 M
-110.939 136.263 lineto
-104.939 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-108.243 130.263 M
-111.243 136.263 lineto
-105.243 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-108.243 130.263 M
-111.243 136.263 lineto
-105.243 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-108.547 130.263 M
-111.547 136.263 lineto
-105.547 136.263 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-108.547 130.263 M
-111.547 136.263 lineto
-105.547 136.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-108.85 173.359 M
-111.85 179.359 lineto
-105.85 179.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-108.85 173.359 M
-111.85 179.359 lineto
-105.85 179.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-109.154 173.359 M
-112.154 179.359 lineto
-106.154 179.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-109.154 173.359 M
-112.154 179.359 lineto
-106.154 179.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-109.458 173.359 M
-112.458 179.359 lineto
-106.458 179.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-109.458 173.359 M
-112.458 179.359 lineto
-106.458 179.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-109.761 173.359 M
-112.761 179.359 lineto
-106.761 179.359 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-109.761 173.359 M
-112.761 179.359 lineto
-106.761 179.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-110.065 194.907 M
-113.065 200.907 lineto
-107.065 200.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-110.065 194.907 M
-113.065 200.907 lineto
-107.065 200.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-110.369 194.907 M
-113.369 200.907 lineto
-107.369 200.907 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-110.369 194.907 M
-113.369 200.907 lineto
-107.369 200.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-110.673 216.455 M
-113.673 222.455 lineto
-107.673 222.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-110.673 216.455 M
-113.673 222.455 lineto
-107.673 222.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-110.976 216.455 M
-113.976 222.455 lineto
-107.976 222.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-110.976 216.455 M
-113.976 222.455 lineto
-107.976 222.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-111.28 216.455 M
-114.28 222.455 lineto
-108.28 222.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-111.28 216.455 M
-114.28 222.455 lineto
-108.28 222.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-111.584 216.455 M
-114.584 222.455 lineto
-108.584 222.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-111.584 216.455 M
-114.584 222.455 lineto
-108.584 222.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-111.888 216.455 M
-114.888 222.455 lineto
-108.888 222.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-111.888 216.455 M
-114.888 222.455 lineto
-108.888 222.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-112.191 216.455 M
-115.191 222.455 lineto
-109.191 222.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-112.191 216.455 M
-115.191 222.455 lineto
-109.191 222.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-112.495 216.455 M
-115.495 222.455 lineto
-109.495 222.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-112.495 216.455 M
-115.495 222.455 lineto
-109.495 222.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-112.799 216.455 M
-115.799 222.455 lineto
-109.799 222.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-112.799 216.455 M
-115.799 222.455 lineto
-109.799 222.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-113.103 216.455 M
-116.103 222.455 lineto
-110.103 222.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-113.103 216.455 M
-116.103 222.455 lineto
-110.103 222.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-113.406 216.455 M
-116.406 222.455 lineto
-110.406 222.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-113.406 216.455 M
-116.406 222.455 lineto
-110.406 222.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-113.71 238.004 M
-116.71 244.004 lineto
-110.71 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-113.71 238.004 M
-116.71 244.004 lineto
-110.71 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-114.014 238.004 M
-117.014 244.004 lineto
-111.014 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-114.014 238.004 M
-117.014 244.004 lineto
-111.014 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-114.318 238.004 M
-117.318 244.004 lineto
-111.318 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-114.318 238.004 M
-117.318 244.004 lineto
-111.318 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-114.621 238.004 M
-117.621 244.004 lineto
-111.621 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-114.621 238.004 M
-117.621 244.004 lineto
-111.621 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-114.925 238.004 M
-117.925 244.004 lineto
-111.925 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-114.925 238.004 M
-117.925 244.004 lineto
-111.925 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-115.229 238.004 M
-118.229 244.004 lineto
-112.229 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-115.229 238.004 M
-118.229 244.004 lineto
-112.229 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-115.533 238.004 M
-118.533 244.004 lineto
-112.533 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-115.533 238.004 M
-118.533 244.004 lineto
-112.533 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-115.836 238.004 M
-118.836 244.004 lineto
-112.836 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-115.836 238.004 M
-118.836 244.004 lineto
-112.836 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-116.14 216.455 M
-119.14 222.455 lineto
-113.14 222.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-116.14 216.455 M
-119.14 222.455 lineto
-113.14 222.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-116.444 216.455 M
-119.444 222.455 lineto
-113.444 222.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-116.444 216.455 M
-119.444 222.455 lineto
-113.444 222.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-116.747 216.455 M
-119.747 222.455 lineto
-113.747 222.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-116.747 216.455 M
-119.747 222.455 lineto
-113.747 222.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-117.051 216.455 M
-120.051 222.455 lineto
-114.051 222.455 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-117.051 216.455 M
-120.051 222.455 lineto
-114.051 222.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-117.355 238.004 M
-120.355 244.004 lineto
-114.355 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-117.355 238.004 M
-120.355 244.004 lineto
-114.355 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-117.659 238.004 M
-120.659 244.004 lineto
-114.659 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-117.659 238.004 M
-120.659 244.004 lineto
-114.659 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-117.962 238.004 M
-120.962 244.004 lineto
-114.962 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-117.962 238.004 M
-120.962 244.004 lineto
-114.962 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-118.266 238.004 M
-121.266 244.004 lineto
-115.266 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-118.266 238.004 M
-121.266 244.004 lineto
-115.266 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-118.57 238.004 M
-121.57 244.004 lineto
-115.57 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-118.57 238.004 M
-121.57 244.004 lineto
-115.57 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-118.874 238.004 M
-121.874 244.004 lineto
-115.874 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-118.874 238.004 M
-121.874 244.004 lineto
-115.874 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-119.177 238.004 M
-122.177 244.004 lineto
-116.177 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-119.177 238.004 M
-122.177 244.004 lineto
-116.177 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-119.481 259.552 M
-122.481 265.552 lineto
-116.481 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-119.481 259.552 M
-122.481 265.552 lineto
-116.481 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-119.785 259.552 M
-122.785 265.552 lineto
-116.785 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-119.785 259.552 M
-122.785 265.552 lineto
-116.785 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-120.089 259.552 M
-123.089 265.552 lineto
-117.089 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-120.089 259.552 M
-123.089 265.552 lineto
-117.089 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-120.392 259.552 M
-123.392 265.552 lineto
-117.392 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-120.392 259.552 M
-123.392 265.552 lineto
-117.392 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-120.696 281.1 M
-123.696 287.1 lineto
-117.696 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-120.696 281.1 M
-123.696 287.1 lineto
-117.696 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-121 281.1 M
-124 287.1 lineto
-118 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121 281.1 M
-124 287.1 lineto
-118 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-121.304 281.1 M
-124.304 287.1 lineto
-118.304 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.304 281.1 M
-124.304 287.1 lineto
-118.304 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-121.607 281.1 M
-124.607 287.1 lineto
-118.607 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.607 281.1 M
-124.607 287.1 lineto
-118.607 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-121.911 281.1 M
-124.911 287.1 lineto
-118.911 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.911 281.1 M
-124.911 287.1 lineto
-118.911 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-122.215 281.1 M
-125.215 287.1 lineto
-119.215 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-122.215 281.1 M
-125.215 287.1 lineto
-119.215 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-122.518 281.1 M
-125.518 287.1 lineto
-119.518 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-122.518 281.1 M
-125.518 287.1 lineto
-119.518 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-122.822 281.1 M
-125.822 287.1 lineto
-119.822 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-122.822 281.1 M
-125.822 287.1 lineto
-119.822 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-123.126 281.1 M
-126.126 287.1 lineto
-120.126 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-123.126 281.1 M
-126.126 287.1 lineto
-120.126 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-123.43 281.1 M
-126.43 287.1 lineto
-120.43 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-123.43 281.1 M
-126.43 287.1 lineto
-120.43 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-123.733 281.1 M
-126.733 287.1 lineto
-120.733 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-123.733 281.1 M
-126.733 287.1 lineto
-120.733 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-124.037 281.1 M
-127.037 287.1 lineto
-121.037 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.037 281.1 M
-127.037 287.1 lineto
-121.037 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-124.341 281.1 M
-127.341 287.1 lineto
-121.341 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.341 281.1 M
-127.341 287.1 lineto
-121.341 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-124.645 281.1 M
-127.645 287.1 lineto
-121.645 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.645 281.1 M
-127.645 287.1 lineto
-121.645 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-124.948 281.1 M
-127.948 287.1 lineto
-121.948 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.948 281.1 M
-127.948 287.1 lineto
-121.948 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-125.252 281.1 M
-128.252 287.1 lineto
-122.252 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-125.252 281.1 M
-128.252 287.1 lineto
-122.252 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-125.556 281.1 M
-128.556 287.1 lineto
-122.556 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-125.556 281.1 M
-128.556 287.1 lineto
-122.556 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-125.86 281.1 M
-128.86 287.1 lineto
-122.86 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-125.86 281.1 M
-128.86 287.1 lineto
-122.86 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-126.163 281.1 M
-129.163 287.1 lineto
-123.163 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-126.163 281.1 M
-129.163 287.1 lineto
-123.163 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-126.467 281.1 M
-129.467 287.1 lineto
-123.467 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-126.467 281.1 M
-129.467 287.1 lineto
-123.467 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-126.771 281.1 M
-129.771 287.1 lineto
-123.771 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-126.771 281.1 M
-129.771 287.1 lineto
-123.771 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-127.075 281.1 M
-130.075 287.1 lineto
-124.075 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.075 281.1 M
-130.075 287.1 lineto
-124.075 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-127.378 281.1 M
-130.378 287.1 lineto
-124.378 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.378 281.1 M
-130.378 287.1 lineto
-124.378 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-127.682 281.1 M
-130.682 287.1 lineto
-124.682 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.682 281.1 M
-130.682 287.1 lineto
-124.682 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-127.986 281.1 M
-130.986 287.1 lineto
-124.986 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.986 281.1 M
-130.986 287.1 lineto
-124.986 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-128.289 281.1 M
-131.289 287.1 lineto
-125.289 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-128.289 281.1 M
-131.289 287.1 lineto
-125.289 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-128.593 281.1 M
-131.593 287.1 lineto
-125.593 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-128.593 281.1 M
-131.593 287.1 lineto
-125.593 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-128.897 281.1 M
-131.897 287.1 lineto
-125.897 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-128.897 281.1 M
-131.897 287.1 lineto
-125.897 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-129.201 281.1 M
-132.201 287.1 lineto
-126.201 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-129.201 281.1 M
-132.201 287.1 lineto
-126.201 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-129.504 281.1 M
-132.504 287.1 lineto
-126.504 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-129.504 281.1 M
-132.504 287.1 lineto
-126.504 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-129.808 281.1 M
-132.808 287.1 lineto
-126.808 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-129.808 281.1 M
-132.808 287.1 lineto
-126.808 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-130.112 302.648 M
-133.112 308.648 lineto
-127.112 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.112 302.648 M
-133.112 308.648 lineto
-127.112 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-130.416 302.648 M
-133.416 308.648 lineto
-127.416 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.416 302.648 M
-133.416 308.648 lineto
-127.416 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-130.719 302.648 M
-133.719 308.648 lineto
-127.719 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.719 302.648 M
-133.719 308.648 lineto
-127.719 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-131.023 302.648 M
-134.023 308.648 lineto
-128.023 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-131.023 302.648 M
-134.023 308.648 lineto
-128.023 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-131.327 302.648 M
-134.327 308.648 lineto
-128.327 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-131.327 302.648 M
-134.327 308.648 lineto
-128.327 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-131.631 281.1 M
-134.631 287.1 lineto
-128.631 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-131.631 281.1 M
-134.631 287.1 lineto
-128.631 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-131.934 281.1 M
-134.934 287.1 lineto
-128.934 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-131.934 281.1 M
-134.934 287.1 lineto
-128.934 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-132.238 302.648 M
-135.238 308.648 lineto
-129.238 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-132.238 302.648 M
-135.238 308.648 lineto
-129.238 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-132.542 281.1 M
-135.542 287.1 lineto
-129.542 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-132.542 281.1 M
-135.542 287.1 lineto
-129.542 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-132.846 281.1 M
-135.846 287.1 lineto
-129.846 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-132.846 281.1 M
-135.846 287.1 lineto
-129.846 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-133.149 281.1 M
-136.149 287.1 lineto
-130.149 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-133.149 281.1 M
-136.149 287.1 lineto
-130.149 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-133.453 281.1 M
-136.453 287.1 lineto
-130.453 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-133.453 281.1 M
-136.453 287.1 lineto
-130.453 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-133.757 281.1 M
-136.757 287.1 lineto
-130.757 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-133.757 281.1 M
-136.757 287.1 lineto
-130.757 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-134.06 281.1 M
-137.06 287.1 lineto
-131.06 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-134.06 281.1 M
-137.06 287.1 lineto
-131.06 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-134.364 281.1 M
-137.364 287.1 lineto
-131.364 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-134.364 281.1 M
-137.364 287.1 lineto
-131.364 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-134.668 281.1 M
-137.668 287.1 lineto
-131.668 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-134.668 281.1 M
-137.668 287.1 lineto
-131.668 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-134.972 281.1 M
-137.972 287.1 lineto
-131.972 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-134.972 281.1 M
-137.972 287.1 lineto
-131.972 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-135.275 281.1 M
-138.275 287.1 lineto
-132.275 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-135.275 281.1 M
-138.275 287.1 lineto
-132.275 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-135.579 281.1 M
-138.579 287.1 lineto
-132.579 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-135.579 281.1 M
-138.579 287.1 lineto
-132.579 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-135.883 281.1 M
-138.883 287.1 lineto
-132.883 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-135.883 281.1 M
-138.883 287.1 lineto
-132.883 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-136.187 281.1 M
-139.187 287.1 lineto
-133.187 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-136.187 281.1 M
-139.187 287.1 lineto
-133.187 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-136.49 281.1 M
-139.49 287.1 lineto
-133.49 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-136.49 281.1 M
-139.49 287.1 lineto
-133.49 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-136.794 281.1 M
-139.794 287.1 lineto
-133.794 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-136.794 281.1 M
-139.794 287.1 lineto
-133.794 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-137.098 281.1 M
-140.098 287.1 lineto
-134.098 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-137.098 281.1 M
-140.098 287.1 lineto
-134.098 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-137.402 281.1 M
-140.402 287.1 lineto
-134.402 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-137.402 281.1 M
-140.402 287.1 lineto
-134.402 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-137.705 281.1 M
-140.705 287.1 lineto
-134.705 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-137.705 281.1 M
-140.705 287.1 lineto
-134.705 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-138.009 259.552 M
-141.009 265.552 lineto
-135.009 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-138.009 259.552 M
-141.009 265.552 lineto
-135.009 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-138.313 259.552 M
-141.313 265.552 lineto
-135.313 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-138.313 259.552 M
-141.313 265.552 lineto
-135.313 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-138.617 259.552 M
-141.617 265.552 lineto
-135.617 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-138.617 259.552 M
-141.617 265.552 lineto
-135.617 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-138.92 259.552 M
-141.92 265.552 lineto
-135.92 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-138.92 259.552 M
-141.92 265.552 lineto
-135.92 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-139.224 259.552 M
-142.224 265.552 lineto
-136.224 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-139.224 259.552 M
-142.224 265.552 lineto
-136.224 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-139.528 259.552 M
-142.528 265.552 lineto
-136.528 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-139.528 259.552 M
-142.528 265.552 lineto
-136.528 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-139.831 259.552 M
-142.831 265.552 lineto
-136.831 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-139.831 259.552 M
-142.831 265.552 lineto
-136.831 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-140.135 259.552 M
-143.135 265.552 lineto
-137.135 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-140.135 259.552 M
-143.135 265.552 lineto
-137.135 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-140.439 259.552 M
-143.439 265.552 lineto
-137.439 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-140.439 259.552 M
-143.439 265.552 lineto
-137.439 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-140.743 259.552 M
-143.743 265.552 lineto
-137.743 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-140.743 259.552 M
-143.743 265.552 lineto
-137.743 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-141.046 259.552 M
-144.046 265.552 lineto
-138.046 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-141.046 259.552 M
-144.046 265.552 lineto
-138.046 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-141.35 259.552 M
-144.35 265.552 lineto
-138.35 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-141.35 259.552 M
-144.35 265.552 lineto
-138.35 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-141.654 259.552 M
-144.654 265.552 lineto
-138.654 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-141.654 259.552 M
-144.654 265.552 lineto
-138.654 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-141.958 259.552 M
-144.958 265.552 lineto
-138.958 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-141.958 259.552 M
-144.958 265.552 lineto
-138.958 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-142.261 259.552 M
-145.261 265.552 lineto
-139.261 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-142.261 259.552 M
-145.261 265.552 lineto
-139.261 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-142.565 259.552 M
-145.565 265.552 lineto
-139.565 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-142.565 259.552 M
-145.565 265.552 lineto
-139.565 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-142.869 259.552 M
-145.869 265.552 lineto
-139.869 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-142.869 259.552 M
-145.869 265.552 lineto
-139.869 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-143.173 259.552 M
-146.173 265.552 lineto
-140.173 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-143.173 259.552 M
-146.173 265.552 lineto
-140.173 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-143.476 259.552 M
-146.476 265.552 lineto
-140.476 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-143.476 259.552 M
-146.476 265.552 lineto
-140.476 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-143.78 259.552 M
-146.78 265.552 lineto
-140.78 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-143.78 259.552 M
-146.78 265.552 lineto
-140.78 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-144.084 259.552 M
-147.084 265.552 lineto
-141.084 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-144.084 259.552 M
-147.084 265.552 lineto
-141.084 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-144.388 259.552 M
-147.388 265.552 lineto
-141.388 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-144.388 259.552 M
-147.388 265.552 lineto
-141.388 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-144.691 259.552 M
-147.691 265.552 lineto
-141.691 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-144.691 259.552 M
-147.691 265.552 lineto
-141.691 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-144.995 259.552 M
-147.995 265.552 lineto
-141.995 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-144.995 259.552 M
-147.995 265.552 lineto
-141.995 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-145.299 259.552 M
-148.299 265.552 lineto
-142.299 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-145.299 259.552 M
-148.299 265.552 lineto
-142.299 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-145.602 259.552 M
-148.602 265.552 lineto
-142.602 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-145.602 259.552 M
-148.602 265.552 lineto
-142.602 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-145.906 259.552 M
-148.906 265.552 lineto
-142.906 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-145.906 259.552 M
-148.906 265.552 lineto
-142.906 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-146.21 259.552 M
-149.21 265.552 lineto
-143.21 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.21 259.552 M
-149.21 265.552 lineto
-143.21 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-146.514 259.552 M
-149.514 265.552 lineto
-143.514 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.514 259.552 M
-149.514 265.552 lineto
-143.514 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-146.817 259.552 M
-149.817 265.552 lineto
-143.817 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.817 259.552 M
-149.817 265.552 lineto
-143.817 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-147.121 259.552 M
-150.121 265.552 lineto
-144.121 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-147.121 259.552 M
-150.121 265.552 lineto
-144.121 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-147.425 259.552 M
-150.425 265.552 lineto
-144.425 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-147.425 259.552 M
-150.425 265.552 lineto
-144.425 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-147.729 259.552 M
-150.729 265.552 lineto
-144.729 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-147.729 259.552 M
-150.729 265.552 lineto
-144.729 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-148.032 259.552 M
-151.032 265.552 lineto
-145.032 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-148.032 259.552 M
-151.032 265.552 lineto
-145.032 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-148.336 259.552 M
-151.336 265.552 lineto
-145.336 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-148.336 259.552 M
-151.336 265.552 lineto
-145.336 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-148.64 259.552 M
-151.64 265.552 lineto
-145.64 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-148.64 259.552 M
-151.64 265.552 lineto
-145.64 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-148.944 259.552 M
-151.944 265.552 lineto
-145.944 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-148.944 259.552 M
-151.944 265.552 lineto
-145.944 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-149.247 259.552 M
-152.247 265.552 lineto
-146.247 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-149.247 259.552 M
-152.247 265.552 lineto
-146.247 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-149.551 259.552 M
-152.551 265.552 lineto
-146.551 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-149.551 259.552 M
-152.551 265.552 lineto
-146.551 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-149.855 259.552 M
-152.855 265.552 lineto
-146.855 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-149.855 259.552 M
-152.855 265.552 lineto
-146.855 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-150.159 259.552 M
-153.159 265.552 lineto
-147.159 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-150.159 259.552 M
-153.159 265.552 lineto
-147.159 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-150.462 259.552 M
-153.462 265.552 lineto
-147.462 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-150.462 259.552 M
-153.462 265.552 lineto
-147.462 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-150.766 259.552 M
-153.766 265.552 lineto
-147.766 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-150.766 259.552 M
-153.766 265.552 lineto
-147.766 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-151.07 259.552 M
-154.07 265.552 lineto
-148.07 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-151.07 259.552 M
-154.07 265.552 lineto
-148.07 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-151.373 259.552 M
-154.373 265.552 lineto
-148.373 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-151.373 259.552 M
-154.373 265.552 lineto
-148.373 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-151.677 259.552 M
-154.677 265.552 lineto
-148.677 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-151.677 259.552 M
-154.677 265.552 lineto
-148.677 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-151.981 259.552 M
-154.981 265.552 lineto
-148.981 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-151.981 259.552 M
-154.981 265.552 lineto
-148.981 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-152.285 281.1 M
-155.285 287.1 lineto
-149.285 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-152.285 281.1 M
-155.285 287.1 lineto
-149.285 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-152.588 281.1 M
-155.588 287.1 lineto
-149.588 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-152.588 281.1 M
-155.588 287.1 lineto
-149.588 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-152.892 281.1 M
-155.892 287.1 lineto
-149.892 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-152.892 281.1 M
-155.892 287.1 lineto
-149.892 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-153.196 281.1 M
-156.196 287.1 lineto
-150.196 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-153.196 281.1 M
-156.196 287.1 lineto
-150.196 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-153.5 281.1 M
-156.5 287.1 lineto
-150.5 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-153.5 281.1 M
-156.5 287.1 lineto
-150.5 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-153.803 281.1 M
-156.803 287.1 lineto
-150.803 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-153.803 281.1 M
-156.803 287.1 lineto
-150.803 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-154.107 281.1 M
-157.107 287.1 lineto
-151.107 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-154.107 281.1 M
-157.107 287.1 lineto
-151.107 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-154.411 281.1 M
-157.411 287.1 lineto
-151.411 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-154.411 281.1 M
-157.411 287.1 lineto
-151.411 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-154.715 281.1 M
-157.715 287.1 lineto
-151.715 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-154.715 281.1 M
-157.715 287.1 lineto
-151.715 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-155.018 281.1 M
-158.018 287.1 lineto
-152.018 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-155.018 281.1 M
-158.018 287.1 lineto
-152.018 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-155.322 281.1 M
-158.322 287.1 lineto
-152.322 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-155.322 281.1 M
-158.322 287.1 lineto
-152.322 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-155.626 281.1 M
-158.626 287.1 lineto
-152.626 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-155.626 281.1 M
-158.626 287.1 lineto
-152.626 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-155.93 281.1 M
-158.93 287.1 lineto
-152.93 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-155.93 281.1 M
-158.93 287.1 lineto
-152.93 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-156.233 281.1 M
-159.233 287.1 lineto
-153.233 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-156.233 281.1 M
-159.233 287.1 lineto
-153.233 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-156.537 281.1 M
-159.537 287.1 lineto
-153.537 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-156.537 281.1 M
-159.537 287.1 lineto
-153.537 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-156.841 281.1 M
-159.841 287.1 lineto
-153.841 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-156.841 281.1 M
-159.841 287.1 lineto
-153.841 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-157.145 281.1 M
-160.145 287.1 lineto
-154.145 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-157.145 281.1 M
-160.145 287.1 lineto
-154.145 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-157.448 281.1 M
-160.448 287.1 lineto
-154.448 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-157.448 281.1 M
-160.448 287.1 lineto
-154.448 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-157.752 281.1 M
-160.752 287.1 lineto
-154.752 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-157.752 281.1 M
-160.752 287.1 lineto
-154.752 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-158.056 281.1 M
-161.056 287.1 lineto
-155.056 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-158.056 281.1 M
-161.056 287.1 lineto
-155.056 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-158.359 281.1 M
-161.359 287.1 lineto
-155.359 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-158.359 281.1 M
-161.359 287.1 lineto
-155.359 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-158.663 281.1 M
-161.663 287.1 lineto
-155.663 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-158.663 281.1 M
-161.663 287.1 lineto
-155.663 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-158.967 281.1 M
-161.967 287.1 lineto
-155.967 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-158.967 281.1 M
-161.967 287.1 lineto
-155.967 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-159.271 281.1 M
-162.271 287.1 lineto
-156.271 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-159.271 281.1 M
-162.271 287.1 lineto
-156.271 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-159.574 281.1 M
-162.574 287.1 lineto
-156.574 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-159.574 281.1 M
-162.574 287.1 lineto
-156.574 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-159.878 281.1 M
-162.878 287.1 lineto
-156.878 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-159.878 281.1 M
-162.878 287.1 lineto
-156.878 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-160.182 281.1 M
-163.182 287.1 lineto
-157.182 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-160.182 281.1 M
-163.182 287.1 lineto
-157.182 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-160.486 281.1 M
-163.486 287.1 lineto
-157.486 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-160.486 281.1 M
-163.486 287.1 lineto
-157.486 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-160.789 302.648 M
-163.789 308.648 lineto
-157.789 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-160.789 302.648 M
-163.789 308.648 lineto
-157.789 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-161.093 302.648 M
-164.093 308.648 lineto
-158.093 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-161.093 302.648 M
-164.093 308.648 lineto
-158.093 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-161.397 302.648 M
-164.397 308.648 lineto
-158.397 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-161.397 302.648 M
-164.397 308.648 lineto
-158.397 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-161.701 302.648 M
-164.701 308.648 lineto
-158.701 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-161.701 302.648 M
-164.701 308.648 lineto
-158.701 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-162.004 302.648 M
-165.004 308.648 lineto
-159.004 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-162.004 302.648 M
-165.004 308.648 lineto
-159.004 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-162.308 302.648 M
-165.308 308.648 lineto
-159.308 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-162.308 302.648 M
-165.308 308.648 lineto
-159.308 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-162.612 302.648 M
-165.612 308.648 lineto
-159.612 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-162.612 302.648 M
-165.612 308.648 lineto
-159.612 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-162.916 302.648 M
-165.916 308.648 lineto
-159.916 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-162.916 302.648 M
-165.916 308.648 lineto
-159.916 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-163.219 302.648 M
-166.219 308.648 lineto
-160.219 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-163.219 302.648 M
-166.219 308.648 lineto
-160.219 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-163.523 302.648 M
-166.523 308.648 lineto
-160.523 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-163.523 302.648 M
-166.523 308.648 lineto
-160.523 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-163.827 302.648 M
-166.827 308.648 lineto
-160.827 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-163.827 302.648 M
-166.827 308.648 lineto
-160.827 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-164.13 302.648 M
-167.13 308.648 lineto
-161.13 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-164.13 302.648 M
-167.13 308.648 lineto
-161.13 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-164.434 302.648 M
-167.434 308.648 lineto
-161.434 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-164.434 302.648 M
-167.434 308.648 lineto
-161.434 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-164.738 281.1 M
-167.738 287.1 lineto
-161.738 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-164.738 281.1 M
-167.738 287.1 lineto
-161.738 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-165.042 259.552 M
-168.042 265.552 lineto
-162.042 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-165.042 259.552 M
-168.042 265.552 lineto
-162.042 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-165.345 259.552 M
-168.345 265.552 lineto
-162.345 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-165.345 259.552 M
-168.345 265.552 lineto
-162.345 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-165.649 259.552 M
-168.649 265.552 lineto
-162.649 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-165.649 259.552 M
-168.649 265.552 lineto
-162.649 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-165.953 259.552 M
-168.953 265.552 lineto
-162.953 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-165.953 259.552 M
-168.953 265.552 lineto
-162.953 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-166.257 259.552 M
-169.257 265.552 lineto
-163.257 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-166.257 259.552 M
-169.257 265.552 lineto
-163.257 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-166.56 259.552 M
-169.56 265.552 lineto
-163.56 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-166.56 259.552 M
-169.56 265.552 lineto
-163.56 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-166.864 259.552 M
-169.864 265.552 lineto
-163.864 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-166.864 259.552 M
-169.864 265.552 lineto
-163.864 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-167.168 259.552 M
-170.168 265.552 lineto
-164.168 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-167.168 259.552 M
-170.168 265.552 lineto
-164.168 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-167.472 259.552 M
-170.472 265.552 lineto
-164.472 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-167.472 259.552 M
-170.472 265.552 lineto
-164.472 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-167.775 259.552 M
-170.775 265.552 lineto
-164.775 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-167.775 259.552 M
-170.775 265.552 lineto
-164.775 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-168.079 259.552 M
-171.079 265.552 lineto
-165.079 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-168.079 259.552 M
-171.079 265.552 lineto
-165.079 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-168.383 259.552 M
-171.383 265.552 lineto
-165.383 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-168.383 259.552 M
-171.383 265.552 lineto
-165.383 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-168.687 259.552 M
-171.687 265.552 lineto
-165.687 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-168.687 259.552 M
-171.687 265.552 lineto
-165.687 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-168.99 259.552 M
-171.99 265.552 lineto
-165.99 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-168.99 259.552 M
-171.99 265.552 lineto
-165.99 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-169.294 238.004 M
-172.294 244.004 lineto
-166.294 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-169.294 238.004 M
-172.294 244.004 lineto
-166.294 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-169.598 238.004 M
-172.598 244.004 lineto
-166.598 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-169.598 238.004 M
-172.598 244.004 lineto
-166.598 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-169.901 238.004 M
-172.901 244.004 lineto
-166.901 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-169.901 238.004 M
-172.901 244.004 lineto
-166.901 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-170.205 259.552 M
-173.205 265.552 lineto
-167.205 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.205 259.552 M
-173.205 265.552 lineto
-167.205 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-170.509 259.552 M
-173.509 265.552 lineto
-167.509 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.509 259.552 M
-173.509 265.552 lineto
-167.509 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-170.813 259.552 M
-173.813 265.552 lineto
-167.813 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.813 259.552 M
-173.813 265.552 lineto
-167.813 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-171.116 259.552 M
-174.116 265.552 lineto
-168.116 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-171.116 259.552 M
-174.116 265.552 lineto
-168.116 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-171.42 259.552 M
-174.42 265.552 lineto
-168.42 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-171.42 259.552 M
-174.42 265.552 lineto
-168.42 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-171.724 259.552 M
-174.724 265.552 lineto
-168.724 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-171.724 259.552 M
-174.724 265.552 lineto
-168.724 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-172.028 259.552 M
-175.028 265.552 lineto
-169.028 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-172.028 259.552 M
-175.028 265.552 lineto
-169.028 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-172.331 259.552 M
-175.331 265.552 lineto
-169.331 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-172.331 259.552 M
-175.331 265.552 lineto
-169.331 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-172.635 259.552 M
-175.635 265.552 lineto
-169.635 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-172.635 259.552 M
-175.635 265.552 lineto
-169.635 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-172.939 238.004 M
-175.939 244.004 lineto
-169.939 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-172.939 238.004 M
-175.939 244.004 lineto
-169.939 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-173.243 238.004 M
-176.243 244.004 lineto
-170.243 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.243 238.004 M
-176.243 244.004 lineto
-170.243 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-173.546 238.004 M
-176.546 244.004 lineto
-170.546 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.546 238.004 M
-176.546 244.004 lineto
-170.546 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-173.85 238.004 M
-176.85 244.004 lineto
-170.85 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.85 238.004 M
-176.85 244.004 lineto
-170.85 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-174.154 238.004 M
-177.154 244.004 lineto
-171.154 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-174.154 238.004 M
-177.154 244.004 lineto
-171.154 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-174.458 238.004 M
-177.458 244.004 lineto
-171.458 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-174.458 238.004 M
-177.458 244.004 lineto
-171.458 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-174.761 238.004 M
-177.761 244.004 lineto
-171.761 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-174.761 238.004 M
-177.761 244.004 lineto
-171.761 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-175.065 238.004 M
-178.065 244.004 lineto
-172.065 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-175.065 238.004 M
-178.065 244.004 lineto
-172.065 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-175.369 238.004 M
-178.369 244.004 lineto
-172.369 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-175.369 238.004 M
-178.369 244.004 lineto
-172.369 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-175.672 238.004 M
-178.672 244.004 lineto
-172.672 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-175.672 238.004 M
-178.672 244.004 lineto
-172.672 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-175.976 238.004 M
-178.976 244.004 lineto
-172.976 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-175.976 238.004 M
-178.976 244.004 lineto
-172.976 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-176.28 238.004 M
-179.28 244.004 lineto
-173.28 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-176.28 238.004 M
-179.28 244.004 lineto
-173.28 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-176.584 238.004 M
-179.584 244.004 lineto
-173.584 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-176.584 238.004 M
-179.584 244.004 lineto
-173.584 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-176.887 238.004 M
-179.887 244.004 lineto
-173.887 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-176.887 238.004 M
-179.887 244.004 lineto
-173.887 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-177.191 238.004 M
-180.191 244.004 lineto
-174.191 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-177.191 238.004 M
-180.191 244.004 lineto
-174.191 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-177.495 238.004 M
-180.495 244.004 lineto
-174.495 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-177.495 238.004 M
-180.495 244.004 lineto
-174.495 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-177.799 238.004 M
-180.799 244.004 lineto
-174.799 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-177.799 238.004 M
-180.799 244.004 lineto
-174.799 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-178.102 238.004 M
-181.102 244.004 lineto
-175.102 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-178.102 238.004 M
-181.102 244.004 lineto
-175.102 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-178.406 238.004 M
-181.406 244.004 lineto
-175.406 244.004 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-178.406 238.004 M
-181.406 244.004 lineto
-175.406 244.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-178.71 259.552 M
-181.71 265.552 lineto
-175.71 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-178.71 259.552 M
-181.71 265.552 lineto
-175.71 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-179.014 281.1 M
-182.014 287.1 lineto
-176.014 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-179.014 281.1 M
-182.014 287.1 lineto
-176.014 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-179.317 281.1 M
-182.317 287.1 lineto
-176.317 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-179.317 281.1 M
-182.317 287.1 lineto
-176.317 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-179.621 281.1 M
-182.621 287.1 lineto
-176.621 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-179.621 281.1 M
-182.621 287.1 lineto
-176.621 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-179.925 281.1 M
-182.925 287.1 lineto
-176.925 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-179.925 281.1 M
-182.925 287.1 lineto
-176.925 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-180.229 281.1 M
-183.229 287.1 lineto
-177.229 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-180.229 281.1 M
-183.229 287.1 lineto
-177.229 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-180.532 259.552 M
-183.532 265.552 lineto
-177.532 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-180.532 259.552 M
-183.532 265.552 lineto
-177.532 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-180.836 259.552 M
-183.836 265.552 lineto
-177.836 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-180.836 259.552 M
-183.836 265.552 lineto
-177.836 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-181.14 259.552 M
-184.14 265.552 lineto
-178.14 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-181.14 259.552 M
-184.14 265.552 lineto
-178.14 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-181.443 259.552 M
-184.443 265.552 lineto
-178.443 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-181.443 259.552 M
-184.443 265.552 lineto
-178.443 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-181.747 259.552 M
-184.747 265.552 lineto
-178.747 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-181.747 259.552 M
-184.747 265.552 lineto
-178.747 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-182.051 259.552 M
-185.051 265.552 lineto
-179.051 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-182.051 259.552 M
-185.051 265.552 lineto
-179.051 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-182.355 259.552 M
-185.355 265.552 lineto
-179.355 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-182.355 259.552 M
-185.355 265.552 lineto
-179.355 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-182.658 259.552 M
-185.658 265.552 lineto
-179.658 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-182.658 259.552 M
-185.658 265.552 lineto
-179.658 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-182.962 259.552 M
-185.962 265.552 lineto
-179.962 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-182.962 259.552 M
-185.962 265.552 lineto
-179.962 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-183.266 259.552 M
-186.266 265.552 lineto
-180.266 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-183.266 259.552 M
-186.266 265.552 lineto
-180.266 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-183.57 259.552 M
-186.57 265.552 lineto
-180.57 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-183.57 259.552 M
-186.57 265.552 lineto
-180.57 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-183.873 259.552 M
-186.873 265.552 lineto
-180.873 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-183.873 259.552 M
-186.873 265.552 lineto
-180.873 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-184.177 259.552 M
-187.177 265.552 lineto
-181.177 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-184.177 259.552 M
-187.177 265.552 lineto
-181.177 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-184.481 259.552 M
-187.481 265.552 lineto
-181.481 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-184.481 259.552 M
-187.481 265.552 lineto
-181.481 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-184.785 259.552 M
-187.785 265.552 lineto
-181.785 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-184.785 259.552 M
-187.785 265.552 lineto
-181.785 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-185.088 259.552 M
-188.088 265.552 lineto
-182.088 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-185.088 259.552 M
-188.088 265.552 lineto
-182.088 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-185.392 259.552 M
-188.392 265.552 lineto
-182.392 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-185.392 259.552 M
-188.392 265.552 lineto
-182.392 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-185.696 259.552 M
-188.696 265.552 lineto
-182.696 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-185.696 259.552 M
-188.696 265.552 lineto
-182.696 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-186 259.552 M
-189 265.552 lineto
-183 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-186 259.552 M
-189 265.552 lineto
-183 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-186.303 259.552 M
-189.303 265.552 lineto
-183.303 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-186.303 259.552 M
-189.303 265.552 lineto
-183.303 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-186.607 259.552 M
-189.607 265.552 lineto
-183.607 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-186.607 259.552 M
-189.607 265.552 lineto
-183.607 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-186.911 281.1 M
-189.911 287.1 lineto
-183.911 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-186.911 281.1 M
-189.911 287.1 lineto
-183.911 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-187.214 281.1 M
-190.214 287.1 lineto
-184.214 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-187.214 281.1 M
-190.214 287.1 lineto
-184.214 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-187.518 281.1 M
-190.518 287.1 lineto
-184.518 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-187.518 281.1 M
-190.518 287.1 lineto
-184.518 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-187.822 281.1 M
-190.822 287.1 lineto
-184.822 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-187.822 281.1 M
-190.822 287.1 lineto
-184.822 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-188.126 281.1 M
-191.126 287.1 lineto
-185.126 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-188.126 281.1 M
-191.126 287.1 lineto
-185.126 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-188.429 259.552 M
-191.429 265.552 lineto
-185.429 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-188.429 259.552 M
-191.429 265.552 lineto
-185.429 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-188.733 259.552 M
-191.733 265.552 lineto
-185.733 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-188.733 259.552 M
-191.733 265.552 lineto
-185.733 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-189.037 259.552 M
-192.037 265.552 lineto
-186.037 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.037 259.552 M
-192.037 265.552 lineto
-186.037 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-189.341 281.1 M
-192.341 287.1 lineto
-186.341 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.341 281.1 M
-192.341 287.1 lineto
-186.341 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-189.644 281.1 M
-192.644 287.1 lineto
-186.644 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.644 281.1 M
-192.644 287.1 lineto
-186.644 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-189.948 281.1 M
-192.948 287.1 lineto
-186.948 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.948 281.1 M
-192.948 287.1 lineto
-186.948 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-190.252 281.1 M
-193.252 287.1 lineto
-187.252 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-190.252 281.1 M
-193.252 287.1 lineto
-187.252 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-190.556 281.1 M
-193.556 287.1 lineto
-187.556 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-190.556 281.1 M
-193.556 287.1 lineto
-187.556 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-190.859 281.1 M
-193.859 287.1 lineto
-187.859 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-190.859 281.1 M
-193.859 287.1 lineto
-187.859 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-191.163 281.1 M
-194.163 287.1 lineto
-188.163 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-191.163 281.1 M
-194.163 287.1 lineto
-188.163 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-191.467 281.1 M
-194.467 287.1 lineto
-188.467 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-191.467 281.1 M
-194.467 287.1 lineto
-188.467 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-191.771 281.1 M
-194.771 287.1 lineto
-188.771 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-191.771 281.1 M
-194.771 287.1 lineto
-188.771 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-192.074 281.1 M
-195.074 287.1 lineto
-189.074 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-192.074 281.1 M
-195.074 287.1 lineto
-189.074 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-192.378 281.1 M
-195.378 287.1 lineto
-189.378 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-192.378 281.1 M
-195.378 287.1 lineto
-189.378 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-192.682 281.1 M
-195.682 287.1 lineto
-189.682 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-192.682 281.1 M
-195.682 287.1 lineto
-189.682 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-192.985 281.1 M
-195.985 287.1 lineto
-189.985 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-192.985 281.1 M
-195.985 287.1 lineto
-189.985 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-193.289 281.1 M
-196.289 287.1 lineto
-190.289 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-193.289 281.1 M
-196.289 287.1 lineto
-190.289 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-193.593 281.1 M
-196.593 287.1 lineto
-190.593 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-193.593 281.1 M
-196.593 287.1 lineto
-190.593 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-193.897 281.1 M
-196.897 287.1 lineto
-190.897 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-193.897 281.1 M
-196.897 287.1 lineto
-190.897 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-194.2 281.1 M
-197.2 287.1 lineto
-191.2 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-194.2 281.1 M
-197.2 287.1 lineto
-191.2 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-194.504 302.648 M
-197.504 308.648 lineto
-191.504 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-194.504 302.648 M
-197.504 308.648 lineto
-191.504 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-194.808 302.648 M
-197.808 308.648 lineto
-191.808 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-194.808 302.648 M
-197.808 308.648 lineto
-191.808 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-195.112 302.648 M
-198.112 308.648 lineto
-192.112 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-195.112 302.648 M
-198.112 308.648 lineto
-192.112 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-195.415 302.648 M
-198.415 308.648 lineto
-192.415 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-195.415 302.648 M
-198.415 308.648 lineto
-192.415 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-195.719 302.648 M
-198.719 308.648 lineto
-192.719 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-195.719 302.648 M
-198.719 308.648 lineto
-192.719 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-196.023 302.648 M
-199.023 308.648 lineto
-193.023 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-196.023 302.648 M
-199.023 308.648 lineto
-193.023 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-196.327 302.648 M
-199.327 308.648 lineto
-193.327 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-196.327 302.648 M
-199.327 308.648 lineto
-193.327 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-196.63 302.648 M
-199.63 308.648 lineto
-193.63 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-196.63 302.648 M
-199.63 308.648 lineto
-193.63 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-196.934 302.648 M
-199.934 308.648 lineto
-193.934 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-196.934 302.648 M
-199.934 308.648 lineto
-193.934 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-197.238 281.1 M
-200.238 287.1 lineto
-194.238 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-197.238 281.1 M
-200.238 287.1 lineto
-194.238 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-197.542 281.1 M
-200.542 287.1 lineto
-194.542 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-197.542 281.1 M
-200.542 287.1 lineto
-194.542 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-197.845 281.1 M
-200.845 287.1 lineto
-194.845 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-197.845 281.1 M
-200.845 287.1 lineto
-194.845 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-198.149 281.1 M
-201.149 287.1 lineto
-195.149 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-198.149 281.1 M
-201.149 287.1 lineto
-195.149 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-198.453 281.1 M
-201.453 287.1 lineto
-195.453 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-198.453 281.1 M
-201.453 287.1 lineto
-195.453 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-198.757 259.552 M
-201.757 265.552 lineto
-195.757 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-198.757 259.552 M
-201.757 265.552 lineto
-195.757 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-199.06 259.552 M
-202.06 265.552 lineto
-196.06 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-199.06 259.552 M
-202.06 265.552 lineto
-196.06 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-199.364 259.552 M
-202.364 265.552 lineto
-196.364 265.552 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-199.364 259.552 M
-202.364 265.552 lineto
-196.364 265.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-199.668 281.1 M
-202.668 287.1 lineto
-196.668 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-199.668 281.1 M
-202.668 287.1 lineto
-196.668 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-199.971 281.1 M
-202.971 287.1 lineto
-196.971 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-199.971 281.1 M
-202.971 287.1 lineto
-196.971 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-200.275 281.1 M
-203.275 287.1 lineto
-197.275 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-200.275 281.1 M
-203.275 287.1 lineto
-197.275 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-200.579 281.1 M
-203.579 287.1 lineto
-197.579 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-200.579 281.1 M
-203.579 287.1 lineto
-197.579 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-200.883 281.1 M
-203.883 287.1 lineto
-197.883 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-200.883 281.1 M
-203.883 287.1 lineto
-197.883 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-201.186 281.1 M
-204.186 287.1 lineto
-198.186 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-201.186 281.1 M
-204.186 287.1 lineto
-198.186 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-201.49 281.1 M
-204.49 287.1 lineto
-198.49 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-201.49 281.1 M
-204.49 287.1 lineto
-198.49 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-201.794 281.1 M
-204.794 287.1 lineto
-198.794 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-201.794 281.1 M
-204.794 287.1 lineto
-198.794 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-202.098 281.1 M
-205.098 287.1 lineto
-199.098 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-202.098 281.1 M
-205.098 287.1 lineto
-199.098 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-202.401 281.1 M
-205.401 287.1 lineto
-199.401 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-202.401 281.1 M
-205.401 287.1 lineto
-199.401 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-202.705 281.1 M
-205.705 287.1 lineto
-199.705 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-202.705 281.1 M
-205.705 287.1 lineto
-199.705 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-203.009 281.1 M
-206.009 287.1 lineto
-200.009 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-203.009 281.1 M
-206.009 287.1 lineto
-200.009 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-203.313 281.1 M
-206.313 287.1 lineto
-200.313 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-203.313 281.1 M
-206.313 287.1 lineto
-200.313 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-203.616 281.1 M
-206.616 287.1 lineto
-200.616 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-203.616 281.1 M
-206.616 287.1 lineto
-200.616 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-203.92 281.1 M
-206.92 287.1 lineto
-200.92 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-203.92 281.1 M
-206.92 287.1 lineto
-200.92 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-204.224 281.1 M
-207.224 287.1 lineto
-201.224 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-204.224 281.1 M
-207.224 287.1 lineto
-201.224 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-204.528 281.1 M
-207.528 287.1 lineto
-201.528 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-204.528 281.1 M
-207.528 287.1 lineto
-201.528 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-204.831 281.1 M
-207.831 287.1 lineto
-201.831 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-204.831 281.1 M
-207.831 287.1 lineto
-201.831 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-205.135 281.1 M
-208.135 287.1 lineto
-202.135 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-205.135 281.1 M
-208.135 287.1 lineto
-202.135 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-205.439 281.1 M
-208.439 287.1 lineto
-202.439 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-205.439 281.1 M
-208.439 287.1 lineto
-202.439 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-205.742 281.1 M
-208.742 287.1 lineto
-202.742 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-205.742 281.1 M
-208.742 287.1 lineto
-202.742 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-206.046 281.1 M
-209.046 287.1 lineto
-203.046 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-206.046 281.1 M
-209.046 287.1 lineto
-203.046 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-206.35 281.1 M
-209.35 287.1 lineto
-203.35 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-206.35 281.1 M
-209.35 287.1 lineto
-203.35 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-206.654 281.1 M
-209.654 287.1 lineto
-203.654 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-206.654 281.1 M
-209.654 287.1 lineto
-203.654 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-206.957 281.1 M
-209.957 287.1 lineto
-203.957 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-206.957 281.1 M
-209.957 287.1 lineto
-203.957 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-207.261 281.1 M
-210.261 287.1 lineto
-204.261 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-207.261 281.1 M
-210.261 287.1 lineto
-204.261 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-207.565 281.1 M
-210.565 287.1 lineto
-204.565 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-207.565 281.1 M
-210.565 287.1 lineto
-204.565 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-207.869 281.1 M
-210.869 287.1 lineto
-204.869 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-207.869 281.1 M
-210.869 287.1 lineto
-204.869 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-208.172 281.1 M
-211.172 287.1 lineto
-205.172 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-208.172 281.1 M
-211.172 287.1 lineto
-205.172 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-208.476 281.1 M
-211.476 287.1 lineto
-205.476 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-208.476 281.1 M
-211.476 287.1 lineto
-205.476 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-208.78 281.1 M
-211.78 287.1 lineto
-205.78 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-208.78 281.1 M
-211.78 287.1 lineto
-205.78 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-209.084 281.1 M
-212.084 287.1 lineto
-206.084 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-209.084 281.1 M
-212.084 287.1 lineto
-206.084 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-209.387 281.1 M
-212.387 287.1 lineto
-206.387 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-209.387 281.1 M
-212.387 287.1 lineto
-206.387 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-209.691 281.1 M
-212.691 287.1 lineto
-206.691 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-209.691 281.1 M
-212.691 287.1 lineto
-206.691 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-209.995 281.1 M
-212.995 287.1 lineto
-206.995 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-209.995 281.1 M
-212.995 287.1 lineto
-206.995 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-210.299 281.1 M
-213.299 287.1 lineto
-207.299 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-210.299 281.1 M
-213.299 287.1 lineto
-207.299 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-210.602 281.1 M
-213.602 287.1 lineto
-207.602 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-210.602 281.1 M
-213.602 287.1 lineto
-207.602 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-210.906 281.1 M
-213.906 287.1 lineto
-207.906 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-210.906 281.1 M
-213.906 287.1 lineto
-207.906 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-211.21 281.1 M
-214.21 287.1 lineto
-208.21 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-211.21 281.1 M
-214.21 287.1 lineto
-208.21 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-211.513 281.1 M
-214.513 287.1 lineto
-208.513 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-211.513 281.1 M
-214.513 287.1 lineto
-208.513 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-211.817 302.648 M
-214.817 308.648 lineto
-208.817 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-211.817 302.648 M
-214.817 308.648 lineto
-208.817 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-212.121 302.648 M
-215.121 308.648 lineto
-209.121 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-212.121 302.648 M
-215.121 308.648 lineto
-209.121 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-212.425 302.648 M
-215.425 308.648 lineto
-209.425 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-212.425 302.648 M
-215.425 308.648 lineto
-209.425 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-212.728 302.648 M
-215.728 308.648 lineto
-209.728 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-212.728 302.648 M
-215.728 308.648 lineto
-209.728 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-213.032 302.648 M
-216.032 308.648 lineto
-210.032 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-213.032 302.648 M
-216.032 308.648 lineto
-210.032 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-213.336 302.648 M
-216.336 308.648 lineto
-210.336 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-213.336 302.648 M
-216.336 308.648 lineto
-210.336 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-213.64 302.648 M
-216.64 308.648 lineto
-210.64 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-213.64 302.648 M
-216.64 308.648 lineto
-210.64 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-213.943 302.648 M
-216.943 308.648 lineto
-210.943 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-213.943 302.648 M
-216.943 308.648 lineto
-210.943 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-214.247 302.648 M
-217.247 308.648 lineto
-211.247 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-214.247 302.648 M
-217.247 308.648 lineto
-211.247 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-214.551 302.648 M
-217.551 308.648 lineto
-211.551 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-214.551 302.648 M
-217.551 308.648 lineto
-211.551 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-214.855 302.648 M
-217.855 308.648 lineto
-211.855 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-214.855 302.648 M
-217.855 308.648 lineto
-211.855 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-215.158 302.648 M
-218.158 308.648 lineto
-212.158 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-215.158 302.648 M
-218.158 308.648 lineto
-212.158 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-215.462 302.648 M
-218.462 308.648 lineto
-212.462 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-215.462 302.648 M
-218.462 308.648 lineto
-212.462 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-215.766 302.648 M
-218.766 308.648 lineto
-212.766 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-215.766 302.648 M
-218.766 308.648 lineto
-212.766 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-216.07 302.648 M
-219.07 308.648 lineto
-213.07 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-216.07 302.648 M
-219.07 308.648 lineto
-213.07 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-216.373 302.648 M
-219.373 308.648 lineto
-213.373 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-216.373 302.648 M
-219.373 308.648 lineto
-213.373 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-216.677 302.648 M
-219.677 308.648 lineto
-213.677 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-216.677 302.648 M
-219.677 308.648 lineto
-213.677 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-216.981 302.648 M
-219.981 308.648 lineto
-213.981 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-216.981 302.648 M
-219.981 308.648 lineto
-213.981 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-217.284 302.648 M
-220.284 308.648 lineto
-214.284 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-217.284 302.648 M
-220.284 308.648 lineto
-214.284 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-217.588 302.648 M
-220.588 308.648 lineto
-214.588 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-217.588 302.648 M
-220.588 308.648 lineto
-214.588 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-217.892 302.648 M
-220.892 308.648 lineto
-214.892 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-217.892 302.648 M
-220.892 308.648 lineto
-214.892 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-218.196 302.648 M
-221.196 308.648 lineto
-215.196 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-218.196 302.648 M
-221.196 308.648 lineto
-215.196 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-218.499 302.648 M
-221.499 308.648 lineto
-215.499 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-218.499 302.648 M
-221.499 308.648 lineto
-215.499 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-218.803 302.648 M
-221.803 308.648 lineto
-215.803 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-218.803 302.648 M
-221.803 308.648 lineto
-215.803 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-219.107 302.648 M
-222.107 308.648 lineto
-216.107 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-219.107 302.648 M
-222.107 308.648 lineto
-216.107 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-219.411 302.648 M
-222.411 308.648 lineto
-216.411 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-219.411 302.648 M
-222.411 308.648 lineto
-216.411 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-219.714 302.648 M
-222.714 308.648 lineto
-216.714 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-219.714 302.648 M
-222.714 308.648 lineto
-216.714 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-220.018 302.648 M
-223.018 308.648 lineto
-217.018 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-220.018 302.648 M
-223.018 308.648 lineto
-217.018 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-220.322 302.648 M
-223.322 308.648 lineto
-217.322 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-220.322 302.648 M
-223.322 308.648 lineto
-217.322 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-220.626 302.648 M
-223.626 308.648 lineto
-217.626 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-220.626 302.648 M
-223.626 308.648 lineto
-217.626 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-220.929 302.648 M
-223.929 308.648 lineto
-217.929 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-220.929 302.648 M
-223.929 308.648 lineto
-217.929 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-221.233 302.648 M
-224.233 308.648 lineto
-218.233 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.233 302.648 M
-224.233 308.648 lineto
-218.233 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-221.537 302.648 M
-224.537 308.648 lineto
-218.537 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.537 302.648 M
-224.537 308.648 lineto
-218.537 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-221.841 302.648 M
-224.841 308.648 lineto
-218.841 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.841 302.648 M
-224.841 308.648 lineto
-218.841 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-222.144 302.648 M
-225.144 308.648 lineto
-219.144 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-222.144 302.648 M
-225.144 308.648 lineto
-219.144 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-222.448 302.648 M
-225.448 308.648 lineto
-219.448 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-222.448 302.648 M
-225.448 308.648 lineto
-219.448 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-222.752 302.648 M
-225.752 308.648 lineto
-219.752 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-222.752 302.648 M
-225.752 308.648 lineto
-219.752 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-223.055 302.648 M
-226.055 308.648 lineto
-220.055 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-223.055 302.648 M
-226.055 308.648 lineto
-220.055 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-223.359 302.648 M
-226.359 308.648 lineto
-220.359 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-223.359 302.648 M
-226.359 308.648 lineto
-220.359 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-223.663 302.648 M
-226.663 308.648 lineto
-220.663 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-223.663 302.648 M
-226.663 308.648 lineto
-220.663 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-223.967 302.648 M
-226.967 308.648 lineto
-220.967 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-223.967 302.648 M
-226.967 308.648 lineto
-220.967 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-224.27 302.648 M
-227.27 308.648 lineto
-221.27 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-224.27 302.648 M
-227.27 308.648 lineto
-221.27 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-224.574 302.648 M
-227.574 308.648 lineto
-221.574 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-224.574 302.648 M
-227.574 308.648 lineto
-221.574 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-224.878 302.648 M
-227.878 308.648 lineto
-221.878 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-224.878 302.648 M
-227.878 308.648 lineto
-221.878 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-225.182 302.648 M
-228.182 308.648 lineto
-222.182 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-225.182 302.648 M
-228.182 308.648 lineto
-222.182 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-225.485 302.648 M
-228.485 308.648 lineto
-222.485 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-225.485 302.648 M
-228.485 308.648 lineto
-222.485 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-225.789 302.648 M
-228.789 308.648 lineto
-222.789 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-225.789 302.648 M
-228.789 308.648 lineto
-222.789 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-226.093 302.648 M
-229.093 308.648 lineto
-223.093 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-226.093 302.648 M
-229.093 308.648 lineto
-223.093 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-226.397 302.648 M
-229.397 308.648 lineto
-223.397 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-226.397 302.648 M
-229.397 308.648 lineto
-223.397 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-226.7 302.648 M
-229.7 308.648 lineto
-223.7 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-226.7 302.648 M
-229.7 308.648 lineto
-223.7 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-227.004 302.648 M
-230.004 308.648 lineto
-224.004 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.004 302.648 M
-230.004 308.648 lineto
-224.004 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-227.308 302.648 M
-230.308 308.648 lineto
-224.308 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.308 302.648 M
-230.308 308.648 lineto
-224.308 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-227.612 302.648 M
-230.612 308.648 lineto
-224.612 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.612 302.648 M
-230.612 308.648 lineto
-224.612 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-227.915 302.648 M
-230.915 308.648 lineto
-224.915 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.915 302.648 M
-230.915 308.648 lineto
-224.915 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-228.219 302.648 M
-231.219 308.648 lineto
-225.219 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-228.219 302.648 M
-231.219 308.648 lineto
-225.219 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-228.523 302.648 M
-231.523 308.648 lineto
-225.523 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-228.523 302.648 M
-231.523 308.648 lineto
-225.523 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-228.826 302.648 M
-231.826 308.648 lineto
-225.826 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-228.826 302.648 M
-231.826 308.648 lineto
-225.826 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-229.13 302.648 M
-232.13 308.648 lineto
-226.13 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-229.13 302.648 M
-232.13 308.648 lineto
-226.13 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-229.434 302.648 M
-232.434 308.648 lineto
-226.434 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-229.434 302.648 M
-232.434 308.648 lineto
-226.434 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-229.738 302.648 M
-232.738 308.648 lineto
-226.738 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-229.738 302.648 M
-232.738 308.648 lineto
-226.738 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-230.041 302.648 M
-233.041 308.648 lineto
-227.041 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-230.041 302.648 M
-233.041 308.648 lineto
-227.041 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-230.345 302.648 M
-233.345 308.648 lineto
-227.345 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-230.345 302.648 M
-233.345 308.648 lineto
-227.345 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-230.649 302.648 M
-233.649 308.648 lineto
-227.649 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-230.649 302.648 M
-233.649 308.648 lineto
-227.649 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-230.953 302.648 M
-233.953 308.648 lineto
-227.953 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-230.953 302.648 M
-233.953 308.648 lineto
-227.953 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-231.256 302.648 M
-234.256 308.648 lineto
-228.256 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-231.256 302.648 M
-234.256 308.648 lineto
-228.256 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-231.56 302.648 M
-234.56 308.648 lineto
-228.56 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-231.56 302.648 M
-234.56 308.648 lineto
-228.56 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-231.864 302.648 M
-234.864 308.648 lineto
-228.864 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-231.864 302.648 M
-234.864 308.648 lineto
-228.864 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-232.168 302.648 M
-235.168 308.648 lineto
-229.168 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-232.168 302.648 M
-235.168 308.648 lineto
-229.168 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-232.471 302.648 M
-235.471 308.648 lineto
-229.471 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-232.471 302.648 M
-235.471 308.648 lineto
-229.471 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-232.775 302.648 M
-235.775 308.648 lineto
-229.775 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-232.775 302.648 M
-235.775 308.648 lineto
-229.775 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-233.079 302.648 M
-236.079 308.648 lineto
-230.079 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-233.079 302.648 M
-236.079 308.648 lineto
-230.079 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-233.383 302.648 M
-236.383 308.648 lineto
-230.383 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-233.383 302.648 M
-236.383 308.648 lineto
-230.383 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-233.686 302.648 M
-236.686 308.648 lineto
-230.686 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-233.686 302.648 M
-236.686 308.648 lineto
-230.686 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-233.99 302.648 M
-236.99 308.648 lineto
-230.99 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-233.99 302.648 M
-236.99 308.648 lineto
-230.99 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-234.294 302.648 M
-237.294 308.648 lineto
-231.294 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-234.294 302.648 M
-237.294 308.648 lineto
-231.294 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-234.598 302.648 M
-237.598 308.648 lineto
-231.598 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-234.598 302.648 M
-237.598 308.648 lineto
-231.598 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-234.901 302.648 M
-237.901 308.648 lineto
-231.901 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-234.901 302.648 M
-237.901 308.648 lineto
-231.901 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-235.205 302.648 M
-238.205 308.648 lineto
-232.205 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-235.205 302.648 M
-238.205 308.648 lineto
-232.205 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-235.509 302.648 M
-238.509 308.648 lineto
-232.509 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-235.509 302.648 M
-238.509 308.648 lineto
-232.509 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-235.812 302.648 M
-238.812 308.648 lineto
-232.812 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-235.812 302.648 M
-238.812 308.648 lineto
-232.812 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-236.116 302.648 M
-239.116 308.648 lineto
-233.116 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-236.116 302.648 M
-239.116 308.648 lineto
-233.116 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-236.42 302.648 M
-239.42 308.648 lineto
-233.42 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-236.42 302.648 M
-239.42 308.648 lineto
-233.42 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-236.724 302.648 M
-239.724 308.648 lineto
-233.724 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-236.724 302.648 M
-239.724 308.648 lineto
-233.724 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-237.027 302.648 M
-240.027 308.648 lineto
-234.027 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-237.027 302.648 M
-240.027 308.648 lineto
-234.027 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-237.331 302.648 M
-240.331 308.648 lineto
-234.331 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-237.331 302.648 M
-240.331 308.648 lineto
-234.331 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-237.635 302.648 M
-240.635 308.648 lineto
-234.635 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-237.635 302.648 M
-240.635 308.648 lineto
-234.635 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-237.939 302.648 M
-240.939 308.648 lineto
-234.939 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-237.939 302.648 M
-240.939 308.648 lineto
-234.939 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-238.242 302.648 M
-241.242 308.648 lineto
-235.242 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-238.242 302.648 M
-241.242 308.648 lineto
-235.242 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-238.546 302.648 M
-241.546 308.648 lineto
-235.546 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-238.546 302.648 M
-241.546 308.648 lineto
-235.546 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-238.85 302.648 M
-241.85 308.648 lineto
-235.85 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-238.85 302.648 M
-241.85 308.648 lineto
-235.85 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-239.154 302.648 M
-242.154 308.648 lineto
-236.154 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-239.154 302.648 M
-242.154 308.648 lineto
-236.154 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-239.457 302.648 M
-242.457 308.648 lineto
-236.457 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-239.457 302.648 M
-242.457 308.648 lineto
-236.457 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-239.761 302.648 M
-242.761 308.648 lineto
-236.761 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-239.761 302.648 M
-242.761 308.648 lineto
-236.761 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-240.065 302.648 M
-243.065 308.648 lineto
-237.065 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-240.065 302.648 M
-243.065 308.648 lineto
-237.065 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-240.369 302.648 M
-243.369 308.648 lineto
-237.369 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-240.369 302.648 M
-243.369 308.648 lineto
-237.369 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-240.672 302.648 M
-243.672 308.648 lineto
-237.672 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-240.672 302.648 M
-243.672 308.648 lineto
-237.672 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-240.976 302.648 M
-243.976 308.648 lineto
-237.976 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-240.976 302.648 M
-243.976 308.648 lineto
-237.976 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-241.28 302.648 M
-244.28 308.648 lineto
-238.28 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-241.28 302.648 M
-244.28 308.648 lineto
-238.28 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-241.583 302.648 M
-244.583 308.648 lineto
-238.583 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-241.583 302.648 M
-244.583 308.648 lineto
-238.583 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-241.887 302.648 M
-244.887 308.648 lineto
-238.887 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-241.887 302.648 M
-244.887 308.648 lineto
-238.887 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-242.191 302.648 M
-245.191 308.648 lineto
-239.191 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-242.191 302.648 M
-245.191 308.648 lineto
-239.191 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-242.495 302.648 M
-245.495 308.648 lineto
-239.495 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-242.495 302.648 M
-245.495 308.648 lineto
-239.495 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-242.798 302.648 M
-245.798 308.648 lineto
-239.798 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-242.798 302.648 M
-245.798 308.648 lineto
-239.798 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-243.102 302.648 M
-246.102 308.648 lineto
-240.102 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-243.102 302.648 M
-246.102 308.648 lineto
-240.102 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-243.406 302.648 M
-246.406 308.648 lineto
-240.406 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-243.406 302.648 M
-246.406 308.648 lineto
-240.406 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-243.71 302.648 M
-246.71 308.648 lineto
-240.71 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-243.71 302.648 M
-246.71 308.648 lineto
-240.71 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-244.013 302.648 M
-247.013 308.648 lineto
-241.013 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-244.013 302.648 M
-247.013 308.648 lineto
-241.013 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-244.317 302.648 M
-247.317 308.648 lineto
-241.317 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-244.317 302.648 M
-247.317 308.648 lineto
-241.317 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-244.621 302.648 M
-247.621 308.648 lineto
-241.621 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-244.621 302.648 M
-247.621 308.648 lineto
-241.621 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-244.925 302.648 M
-247.925 308.648 lineto
-241.925 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-244.925 302.648 M
-247.925 308.648 lineto
-241.925 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-245.228 302.648 M
-248.228 308.648 lineto
-242.228 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-245.228 302.648 M
-248.228 308.648 lineto
-242.228 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-245.532 302.648 M
-248.532 308.648 lineto
-242.532 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-245.532 302.648 M
-248.532 308.648 lineto
-242.532 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-245.836 302.648 M
-248.836 308.648 lineto
-242.836 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-245.836 302.648 M
-248.836 308.648 lineto
-242.836 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-246.14 302.648 M
-249.14 308.648 lineto
-243.14 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-246.14 302.648 M
-249.14 308.648 lineto
-243.14 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-246.443 302.648 M
-249.443 308.648 lineto
-243.443 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-246.443 302.648 M
-249.443 308.648 lineto
-243.443 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-246.747 302.648 M
-249.747 308.648 lineto
-243.747 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-246.747 302.648 M
-249.747 308.648 lineto
-243.747 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-247.051 302.648 M
-250.051 308.648 lineto
-244.051 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-247.051 302.648 M
-250.051 308.648 lineto
-244.051 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-247.354 302.648 M
-250.354 308.648 lineto
-244.354 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-247.354 302.648 M
-250.354 308.648 lineto
-244.354 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-247.658 302.648 M
-250.658 308.648 lineto
-244.658 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-247.658 302.648 M
-250.658 308.648 lineto
-244.658 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-247.962 302.648 M
-250.962 308.648 lineto
-244.962 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-247.962 302.648 M
-250.962 308.648 lineto
-244.962 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-248.266 302.648 M
-251.266 308.648 lineto
-245.266 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-248.266 302.648 M
-251.266 308.648 lineto
-245.266 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-248.569 302.648 M
-251.569 308.648 lineto
-245.569 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-248.569 302.648 M
-251.569 308.648 lineto
-245.569 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-248.873 302.648 M
-251.873 308.648 lineto
-245.873 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-248.873 302.648 M
-251.873 308.648 lineto
-245.873 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-249.177 302.648 M
-252.177 308.648 lineto
-246.177 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-249.177 302.648 M
-252.177 308.648 lineto
-246.177 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-249.481 302.648 M
-252.481 308.648 lineto
-246.481 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-249.481 302.648 M
-252.481 308.648 lineto
-246.481 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-249.784 302.648 M
-252.784 308.648 lineto
-246.784 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-249.784 302.648 M
-252.784 308.648 lineto
-246.784 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-250.088 302.648 M
-253.088 308.648 lineto
-247.088 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-250.088 302.648 M
-253.088 308.648 lineto
-247.088 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-250.392 302.648 M
-253.392 308.648 lineto
-247.392 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-250.392 302.648 M
-253.392 308.648 lineto
-247.392 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-250.696 302.648 M
-253.696 308.648 lineto
-247.696 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-250.696 302.648 M
-253.696 308.648 lineto
-247.696 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-250.999 302.648 M
-253.999 308.648 lineto
-247.999 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-250.999 302.648 M
-253.999 308.648 lineto
-247.999 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-251.303 302.648 M
-254.303 308.648 lineto
-248.303 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-251.303 302.648 M
-254.303 308.648 lineto
-248.303 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-251.607 302.648 M
-254.607 308.648 lineto
-248.607 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-251.607 302.648 M
-254.607 308.648 lineto
-248.607 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-251.911 281.1 M
-254.911 287.1 lineto
-248.911 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-251.911 281.1 M
-254.911 287.1 lineto
-248.911 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-252.214 281.1 M
-255.214 287.1 lineto
-249.214 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-252.214 281.1 M
-255.214 287.1 lineto
-249.214 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-252.518 281.1 M
-255.518 287.1 lineto
-249.518 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-252.518 281.1 M
-255.518 287.1 lineto
-249.518 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-252.822 281.1 M
-255.822 287.1 lineto
-249.822 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-252.822 281.1 M
-255.822 287.1 lineto
-249.822 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-253.125 281.1 M
-256.125 287.1 lineto
-250.125 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-253.125 281.1 M
-256.125 287.1 lineto
-250.125 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-253.429 281.1 M
-256.429 287.1 lineto
-250.429 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-253.429 281.1 M
-256.429 287.1 lineto
-250.429 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-253.733 281.1 M
-256.733 287.1 lineto
-250.733 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-253.733 281.1 M
-256.733 287.1 lineto
-250.733 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-254.037 281.1 M
-257.037 287.1 lineto
-251.037 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-254.037 281.1 M
-257.037 287.1 lineto
-251.037 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-254.34 281.1 M
-257.34 287.1 lineto
-251.34 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-254.34 281.1 M
-257.34 287.1 lineto
-251.34 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-254.644 281.1 M
-257.644 287.1 lineto
-251.644 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-254.644 281.1 M
-257.644 287.1 lineto
-251.644 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-254.948 281.1 M
-257.948 287.1 lineto
-251.948 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-254.948 281.1 M
-257.948 287.1 lineto
-251.948 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-255.252 281.1 M
-258.252 287.1 lineto
-252.252 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-255.252 281.1 M
-258.252 287.1 lineto
-252.252 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-255.555 281.1 M
-258.555 287.1 lineto
-252.555 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-255.555 281.1 M
-258.555 287.1 lineto
-252.555 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-255.859 281.1 M
-258.859 287.1 lineto
-252.859 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-255.859 281.1 M
-258.859 287.1 lineto
-252.859 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-256.163 281.1 M
-259.163 287.1 lineto
-253.163 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-256.163 281.1 M
-259.163 287.1 lineto
-253.163 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-256.467 281.1 M
-259.467 287.1 lineto
-253.467 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-256.467 281.1 M
-259.467 287.1 lineto
-253.467 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-256.77 281.1 M
-259.77 287.1 lineto
-253.77 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-256.77 281.1 M
-259.77 287.1 lineto
-253.77 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-257.074 281.1 M
-260.074 287.1 lineto
-254.074 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-257.074 281.1 M
-260.074 287.1 lineto
-254.074 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-257.378 281.1 M
-260.378 287.1 lineto
-254.378 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-257.378 281.1 M
-260.378 287.1 lineto
-254.378 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-257.682 281.1 M
-260.682 287.1 lineto
-254.682 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-257.682 281.1 M
-260.682 287.1 lineto
-254.682 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-257.985 281.1 M
-260.985 287.1 lineto
-254.985 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-257.985 281.1 M
-260.985 287.1 lineto
-254.985 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-258.289 281.1 M
-261.289 287.1 lineto
-255.289 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-258.289 281.1 M
-261.289 287.1 lineto
-255.289 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-258.593 281.1 M
-261.593 287.1 lineto
-255.593 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-258.593 281.1 M
-261.593 287.1 lineto
-255.593 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-258.896 281.1 M
-261.896 287.1 lineto
-255.896 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-258.896 281.1 M
-261.896 287.1 lineto
-255.896 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-259.2 281.1 M
-262.2 287.1 lineto
-256.2 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-259.2 281.1 M
-262.2 287.1 lineto
-256.2 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-259.504 281.1 M
-262.504 287.1 lineto
-256.504 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-259.504 281.1 M
-262.504 287.1 lineto
-256.504 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-259.808 281.1 M
-262.808 287.1 lineto
-256.808 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-259.808 281.1 M
-262.808 287.1 lineto
-256.808 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-260.111 281.1 M
-263.111 287.1 lineto
-257.111 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-260.111 281.1 M
-263.111 287.1 lineto
-257.111 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-260.415 281.1 M
-263.415 287.1 lineto
-257.415 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-260.415 281.1 M
-263.415 287.1 lineto
-257.415 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-260.719 281.1 M
-263.719 287.1 lineto
-257.719 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-260.719 281.1 M
-263.719 287.1 lineto
-257.719 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-261.023 281.1 M
-264.023 287.1 lineto
-258.023 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-261.023 281.1 M
-264.023 287.1 lineto
-258.023 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-261.326 281.1 M
-264.326 287.1 lineto
-258.326 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-261.326 281.1 M
-264.326 287.1 lineto
-258.326 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-261.63 281.1 M
-264.63 287.1 lineto
-258.63 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-261.63 281.1 M
-264.63 287.1 lineto
-258.63 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-261.934 281.1 M
-264.934 287.1 lineto
-258.934 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-261.934 281.1 M
-264.934 287.1 lineto
-258.934 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-262.238 281.1 M
-265.238 287.1 lineto
-259.238 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-262.238 281.1 M
-265.238 287.1 lineto
-259.238 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-262.541 281.1 M
-265.541 287.1 lineto
-259.541 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-262.541 281.1 M
-265.541 287.1 lineto
-259.541 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-262.845 281.1 M
-265.845 287.1 lineto
-259.845 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-262.845 281.1 M
-265.845 287.1 lineto
-259.845 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-263.149 281.1 M
-266.149 287.1 lineto
-260.149 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-263.149 281.1 M
-266.149 287.1 lineto
-260.149 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-263.453 281.1 M
-266.453 287.1 lineto
-260.453 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-263.453 281.1 M
-266.453 287.1 lineto
-260.453 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-263.756 281.1 M
-266.756 287.1 lineto
-260.756 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-263.756 281.1 M
-266.756 287.1 lineto
-260.756 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-264.06 281.1 M
-267.06 287.1 lineto
-261.06 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-264.06 281.1 M
-267.06 287.1 lineto
-261.06 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-264.364 281.1 M
-267.364 287.1 lineto
-261.364 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-264.364 281.1 M
-267.364 287.1 lineto
-261.364 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-264.667 281.1 M
-267.667 287.1 lineto
-261.667 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-264.667 281.1 M
-267.667 287.1 lineto
-261.667 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-264.971 281.1 M
-267.971 287.1 lineto
-261.971 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-264.971 281.1 M
-267.971 287.1 lineto
-261.971 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-265.275 281.1 M
-268.275 287.1 lineto
-262.275 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-265.275 281.1 M
-268.275 287.1 lineto
-262.275 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-265.579 281.1 M
-268.579 287.1 lineto
-262.579 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-265.579 281.1 M
-268.579 287.1 lineto
-262.579 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-265.882 302.648 M
-268.882 308.648 lineto
-262.882 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-265.882 302.648 M
-268.882 308.648 lineto
-262.882 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-266.186 302.648 M
-269.186 308.648 lineto
-263.186 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-266.186 302.648 M
-269.186 308.648 lineto
-263.186 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-266.49 302.648 M
-269.49 308.648 lineto
-263.49 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-266.49 302.648 M
-269.49 308.648 lineto
-263.49 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-266.794 302.648 M
-269.794 308.648 lineto
-263.794 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-266.794 302.648 M
-269.794 308.648 lineto
-263.794 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-267.097 302.648 M
-270.097 308.648 lineto
-264.097 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-267.097 302.648 M
-270.097 308.648 lineto
-264.097 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-267.401 302.648 M
-270.401 308.648 lineto
-264.401 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-267.401 302.648 M
-270.401 308.648 lineto
-264.401 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-267.705 302.648 M
-270.705 308.648 lineto
-264.705 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-267.705 302.648 M
-270.705 308.648 lineto
-264.705 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-268.009 302.648 M
-271.009 308.648 lineto
-265.009 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-268.009 302.648 M
-271.009 308.648 lineto
-265.009 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-268.312 302.648 M
-271.312 308.648 lineto
-265.312 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-268.312 302.648 M
-271.312 308.648 lineto
-265.312 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-268.616 302.648 M
-271.616 308.648 lineto
-265.616 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-268.616 302.648 M
-271.616 308.648 lineto
-265.616 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-268.92 302.648 M
-271.92 308.648 lineto
-265.92 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-268.92 302.648 M
-271.92 308.648 lineto
-265.92 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-269.224 302.648 M
-272.224 308.648 lineto
-266.224 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-269.224 302.648 M
-272.224 308.648 lineto
-266.224 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-269.527 302.648 M
-272.527 308.648 lineto
-266.527 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-269.527 302.648 M
-272.527 308.648 lineto
-266.527 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-269.831 302.648 M
-272.831 308.648 lineto
-266.831 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-269.831 302.648 M
-272.831 308.648 lineto
-266.831 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-270.135 302.648 M
-273.135 308.648 lineto
-267.135 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-270.135 302.648 M
-273.135 308.648 lineto
-267.135 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-270.438 302.648 M
-273.438 308.648 lineto
-267.438 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-270.438 302.648 M
-273.438 308.648 lineto
-267.438 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-270.742 302.648 M
-273.742 308.648 lineto
-267.742 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-270.742 302.648 M
-273.742 308.648 lineto
-267.742 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-271.046 302.648 M
-274.046 308.648 lineto
-268.046 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-271.046 302.648 M
-274.046 308.648 lineto
-268.046 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-271.35 302.648 M
-274.35 308.648 lineto
-268.35 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-271.35 302.648 M
-274.35 308.648 lineto
-268.35 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-271.653 302.648 M
-274.653 308.648 lineto
-268.653 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-271.653 302.648 M
-274.653 308.648 lineto
-268.653 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-271.957 302.648 M
-274.957 308.648 lineto
-268.957 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-271.957 302.648 M
-274.957 308.648 lineto
-268.957 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-272.261 302.648 M
-275.261 308.648 lineto
-269.261 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-272.261 302.648 M
-275.261 308.648 lineto
-269.261 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-272.565 302.648 M
-275.565 308.648 lineto
-269.565 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-272.565 302.648 M
-275.565 308.648 lineto
-269.565 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-272.868 302.648 M
-275.868 308.648 lineto
-269.868 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-272.868 302.648 M
-275.868 308.648 lineto
-269.868 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-273.172 302.648 M
-276.172 308.648 lineto
-270.172 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-273.172 302.648 M
-276.172 308.648 lineto
-270.172 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-273.476 302.648 M
-276.476 308.648 lineto
-270.476 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-273.476 302.648 M
-276.476 308.648 lineto
-270.476 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-273.78 302.648 M
-276.78 308.648 lineto
-270.78 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-273.78 302.648 M
-276.78 308.648 lineto
-270.78 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-274.083 302.648 M
-277.083 308.648 lineto
-271.083 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-274.083 302.648 M
-277.083 308.648 lineto
-271.083 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-274.387 302.648 M
-277.387 308.648 lineto
-271.387 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-274.387 302.648 M
-277.387 308.648 lineto
-271.387 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-274.691 302.648 M
-277.691 308.648 lineto
-271.691 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-274.691 302.648 M
-277.691 308.648 lineto
-271.691 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-274.995 302.648 M
-277.995 308.648 lineto
-271.995 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-274.995 302.648 M
-277.995 308.648 lineto
-271.995 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-275.298 302.648 M
-278.298 308.648 lineto
-272.298 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-275.298 302.648 M
-278.298 308.648 lineto
-272.298 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-275.602 302.648 M
-278.602 308.648 lineto
-272.602 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-275.602 302.648 M
-278.602 308.648 lineto
-272.602 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-275.906 302.648 M
-278.906 308.648 lineto
-272.906 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-275.906 302.648 M
-278.906 308.648 lineto
-272.906 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-276.21 302.648 M
-279.21 308.648 lineto
-273.21 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-276.21 302.648 M
-279.21 308.648 lineto
-273.21 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-276.513 302.648 M
-279.513 308.648 lineto
-273.513 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-276.513 302.648 M
-279.513 308.648 lineto
-273.513 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-276.817 302.648 M
-279.817 308.648 lineto
-273.817 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-276.817 302.648 M
-279.817 308.648 lineto
-273.817 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-277.121 302.648 M
-280.121 308.648 lineto
-274.121 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-277.121 302.648 M
-280.121 308.648 lineto
-274.121 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-277.424 302.648 M
-280.424 308.648 lineto
-274.424 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-277.424 302.648 M
-280.424 308.648 lineto
-274.424 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-277.728 302.648 M
-280.728 308.648 lineto
-274.728 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-277.728 302.648 M
-280.728 308.648 lineto
-274.728 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-278.032 302.648 M
-281.032 308.648 lineto
-275.032 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-278.032 302.648 M
-281.032 308.648 lineto
-275.032 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-278.336 302.648 M
-281.336 308.648 lineto
-275.336 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-278.336 302.648 M
-281.336 308.648 lineto
-275.336 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-278.639 302.648 M
-281.639 308.648 lineto
-275.639 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-278.639 302.648 M
-281.639 308.648 lineto
-275.639 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-278.943 302.648 M
-281.943 308.648 lineto
-275.943 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-278.943 302.648 M
-281.943 308.648 lineto
-275.943 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-279.247 302.648 M
-282.247 308.648 lineto
-276.247 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-279.247 302.648 M
-282.247 308.648 lineto
-276.247 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-279.551 302.648 M
-282.551 308.648 lineto
-276.551 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-279.551 302.648 M
-282.551 308.648 lineto
-276.551 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-279.854 302.648 M
-282.854 308.648 lineto
-276.854 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-279.854 302.648 M
-282.854 308.648 lineto
-276.854 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-280.158 302.648 M
-283.158 308.648 lineto
-277.158 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-280.158 302.648 M
-283.158 308.648 lineto
-277.158 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-280.462 302.648 M
-283.462 308.648 lineto
-277.462 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-280.462 302.648 M
-283.462 308.648 lineto
-277.462 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-280.766 302.648 M
-283.766 308.648 lineto
-277.766 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-280.766 302.648 M
-283.766 308.648 lineto
-277.766 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-281.069 302.648 M
-284.069 308.648 lineto
-278.069 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-281.069 302.648 M
-284.069 308.648 lineto
-278.069 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-281.373 302.648 M
-284.373 308.648 lineto
-278.373 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-281.373 302.648 M
-284.373 308.648 lineto
-278.373 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-281.677 302.648 M
-284.677 308.648 lineto
-278.677 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-281.677 302.648 M
-284.677 308.648 lineto
-278.677 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-281.981 302.648 M
-284.981 308.648 lineto
-278.981 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-281.981 302.648 M
-284.981 308.648 lineto
-278.981 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-282.284 302.648 M
-285.284 308.648 lineto
-279.284 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-282.284 302.648 M
-285.284 308.648 lineto
-279.284 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-282.588 302.648 M
-285.588 308.648 lineto
-279.588 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-282.588 302.648 M
-285.588 308.648 lineto
-279.588 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-282.892 302.648 M
-285.892 308.648 lineto
-279.892 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-282.892 302.648 M
-285.892 308.648 lineto
-279.892 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-283.195 302.648 M
-286.195 308.648 lineto
-280.195 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-283.195 302.648 M
-286.195 308.648 lineto
-280.195 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-283.499 302.648 M
-286.499 308.648 lineto
-280.499 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-283.499 302.648 M
-286.499 308.648 lineto
-280.499 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-283.803 302.648 M
-286.803 308.648 lineto
-280.803 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-283.803 302.648 M
-286.803 308.648 lineto
-280.803 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-284.107 302.648 M
-287.107 308.648 lineto
-281.107 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-284.107 302.648 M
-287.107 308.648 lineto
-281.107 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-284.41 302.648 M
-287.41 308.648 lineto
-281.41 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-284.41 302.648 M
-287.41 308.648 lineto
-281.41 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-284.714 302.648 M
-287.714 308.648 lineto
-281.714 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-284.714 302.648 M
-287.714 308.648 lineto
-281.714 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-285.018 302.648 M
-288.018 308.648 lineto
-282.018 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-285.018 302.648 M
-288.018 308.648 lineto
-282.018 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-285.322 302.648 M
-288.322 308.648 lineto
-282.322 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-285.322 302.648 M
-288.322 308.648 lineto
-282.322 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-285.625 302.648 M
-288.625 308.648 lineto
-282.625 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-285.625 302.648 M
-288.625 308.648 lineto
-282.625 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-285.929 302.648 M
-288.929 308.648 lineto
-282.929 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-285.929 302.648 M
-288.929 308.648 lineto
-282.929 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-286.233 302.648 M
-289.233 308.648 lineto
-283.233 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-286.233 302.648 M
-289.233 308.648 lineto
-283.233 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-286.537 302.648 M
-289.537 308.648 lineto
-283.537 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-286.537 302.648 M
-289.537 308.648 lineto
-283.537 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-286.84 302.648 M
-289.84 308.648 lineto
-283.84 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-286.84 302.648 M
-289.84 308.648 lineto
-283.84 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-287.144 302.648 M
-290.144 308.648 lineto
-284.144 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-287.144 302.648 M
-290.144 308.648 lineto
-284.144 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-287.448 302.648 M
-290.448 308.648 lineto
-284.448 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-287.448 302.648 M
-290.448 308.648 lineto
-284.448 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-287.752 302.648 M
-290.752 308.648 lineto
-284.752 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-287.752 302.648 M
-290.752 308.648 lineto
-284.752 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-288.055 302.648 M
-291.055 308.648 lineto
-285.055 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-288.055 302.648 M
-291.055 308.648 lineto
-285.055 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-288.359 302.648 M
-291.359 308.648 lineto
-285.359 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-288.359 302.648 M
-291.359 308.648 lineto
-285.359 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-288.663 302.648 M
-291.663 308.648 lineto
-285.663 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-288.663 302.648 M
-291.663 308.648 lineto
-285.663 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-288.966 302.648 M
-291.966 308.648 lineto
-285.966 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-288.966 302.648 M
-291.966 308.648 lineto
-285.966 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-289.27 302.648 M
-292.27 308.648 lineto
-286.27 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-289.27 302.648 M
-292.27 308.648 lineto
-286.27 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-289.574 302.648 M
-292.574 308.648 lineto
-286.574 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-289.574 302.648 M
-292.574 308.648 lineto
-286.574 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-289.878 302.648 M
-292.878 308.648 lineto
-286.878 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-289.878 302.648 M
-292.878 308.648 lineto
-286.878 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-290.181 302.648 M
-293.181 308.648 lineto
-287.181 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-290.181 302.648 M
-293.181 308.648 lineto
-287.181 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-290.485 302.648 M
-293.485 308.648 lineto
-287.485 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-290.485 302.648 M
-293.485 308.648 lineto
-287.485 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-290.789 302.648 M
-293.789 308.648 lineto
-287.789 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-290.789 302.648 M
-293.789 308.648 lineto
-287.789 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-291.093 302.648 M
-294.093 308.648 lineto
-288.093 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-291.093 302.648 M
-294.093 308.648 lineto
-288.093 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-291.396 302.648 M
-294.396 308.648 lineto
-288.396 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-291.396 302.648 M
-294.396 308.648 lineto
-288.396 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-291.7 302.648 M
-294.7 308.648 lineto
-288.7 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-291.7 302.648 M
-294.7 308.648 lineto
-288.7 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-292.004 302.648 M
-295.004 308.648 lineto
-289.004 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-292.004 302.648 M
-295.004 308.648 lineto
-289.004 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-292.308 302.648 M
-295.308 308.648 lineto
-289.308 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-292.308 302.648 M
-295.308 308.648 lineto
-289.308 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-292.611 302.648 M
-295.611 308.648 lineto
-289.611 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-292.611 302.648 M
-295.611 308.648 lineto
-289.611 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-292.915 302.648 M
-295.915 308.648 lineto
-289.915 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-292.915 302.648 M
-295.915 308.648 lineto
-289.915 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-293.219 302.648 M
-296.219 308.648 lineto
-290.219 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-293.219 302.648 M
-296.219 308.648 lineto
-290.219 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-293.523 302.648 M
-296.523 308.648 lineto
-290.523 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-293.523 302.648 M
-296.523 308.648 lineto
-290.523 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-293.826 302.648 M
-296.826 308.648 lineto
-290.826 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-293.826 302.648 M
-296.826 308.648 lineto
-290.826 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-294.13 302.648 M
-297.13 308.648 lineto
-291.13 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-294.13 302.648 M
-297.13 308.648 lineto
-291.13 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-294.434 302.648 M
-297.434 308.648 lineto
-291.434 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-294.434 302.648 M
-297.434 308.648 lineto
-291.434 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-294.737 302.648 M
-297.737 308.648 lineto
-291.737 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-294.737 302.648 M
-297.737 308.648 lineto
-291.737 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-295.041 302.648 M
-298.041 308.648 lineto
-292.041 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-295.041 302.648 M
-298.041 308.648 lineto
-292.041 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-295.345 302.648 M
-298.345 308.648 lineto
-292.345 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-295.345 302.648 M
-298.345 308.648 lineto
-292.345 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-295.649 302.648 M
-298.649 308.648 lineto
-292.649 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-295.649 302.648 M
-298.649 308.648 lineto
-292.649 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-295.952 302.648 M
-298.952 308.648 lineto
-292.952 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-295.952 302.648 M
-298.952 308.648 lineto
-292.952 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-296.256 302.648 M
-299.256 308.648 lineto
-293.256 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-296.256 302.648 M
-299.256 308.648 lineto
-293.256 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-296.56 302.648 M
-299.56 308.648 lineto
-293.56 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-296.56 302.648 M
-299.56 308.648 lineto
-293.56 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-296.864 302.648 M
-299.864 308.648 lineto
-293.864 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-296.864 302.648 M
-299.864 308.648 lineto
-293.864 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-297.167 302.648 M
-300.167 308.648 lineto
-294.167 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-297.167 302.648 M
-300.167 308.648 lineto
-294.167 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-297.471 302.648 M
-300.471 308.648 lineto
-294.471 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-297.471 302.648 M
-300.471 308.648 lineto
-294.471 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-297.775 302.648 M
-300.775 308.648 lineto
-294.775 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-297.775 302.648 M
-300.775 308.648 lineto
-294.775 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-298.079 302.648 M
-301.079 308.648 lineto
-295.079 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-298.079 302.648 M
-301.079 308.648 lineto
-295.079 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-298.382 302.648 M
-301.382 308.648 lineto
-295.382 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-298.382 302.648 M
-301.382 308.648 lineto
-295.382 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-298.686 302.648 M
-301.686 308.648 lineto
-295.686 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-298.686 302.648 M
-301.686 308.648 lineto
-295.686 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-298.99 302.648 M
-301.99 308.648 lineto
-295.99 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-298.99 302.648 M
-301.99 308.648 lineto
-295.99 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-299.294 302.648 M
-302.294 308.648 lineto
-296.294 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-299.294 302.648 M
-302.294 308.648 lineto
-296.294 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-299.597 302.648 M
-302.597 308.648 lineto
-296.597 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-299.597 302.648 M
-302.597 308.648 lineto
-296.597 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-299.901 302.648 M
-302.901 308.648 lineto
-296.901 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-299.901 302.648 M
-302.901 308.648 lineto
-296.901 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-300.205 302.648 M
-303.205 308.648 lineto
-297.205 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-300.205 302.648 M
-303.205 308.648 lineto
-297.205 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-300.508 302.648 M
-303.508 308.648 lineto
-297.508 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-300.508 302.648 M
-303.508 308.648 lineto
-297.508 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-300.812 302.648 M
-303.812 308.648 lineto
-297.812 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-300.812 302.648 M
-303.812 308.648 lineto
-297.812 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-301.116 302.648 M
-304.116 308.648 lineto
-298.116 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-301.116 302.648 M
-304.116 308.648 lineto
-298.116 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-301.42 302.648 M
-304.42 308.648 lineto
-298.42 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-301.42 302.648 M
-304.42 308.648 lineto
-298.42 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-301.723 302.648 M
-304.723 308.648 lineto
-298.723 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-301.723 302.648 M
-304.723 308.648 lineto
-298.723 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-302.027 302.648 M
-305.027 308.648 lineto
-299.027 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-302.027 302.648 M
-305.027 308.648 lineto
-299.027 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-302.331 302.648 M
-305.331 308.648 lineto
-299.331 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-302.331 302.648 M
-305.331 308.648 lineto
-299.331 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-302.635 302.648 M
-305.635 308.648 lineto
-299.635 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-302.635 302.648 M
-305.635 308.648 lineto
-299.635 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-302.938 302.648 M
-305.938 308.648 lineto
-299.938 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-302.938 302.648 M
-305.938 308.648 lineto
-299.938 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-303.242 302.648 M
-306.242 308.648 lineto
-300.242 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-303.242 302.648 M
-306.242 308.648 lineto
-300.242 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-303.546 281.1 M
-306.546 287.1 lineto
-300.546 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-303.546 281.1 M
-306.546 287.1 lineto
-300.546 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-303.85 281.1 M
-306.85 287.1 lineto
-300.85 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-303.85 281.1 M
-306.85 287.1 lineto
-300.85 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-304.153 281.1 M
-307.153 287.1 lineto
-301.153 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-304.153 281.1 M
-307.153 287.1 lineto
-301.153 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-304.457 281.1 M
-307.457 287.1 lineto
-301.457 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-304.457 281.1 M
-307.457 287.1 lineto
-301.457 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-304.761 281.1 M
-307.761 287.1 lineto
-301.761 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-304.761 281.1 M
-307.761 287.1 lineto
-301.761 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-305.065 281.1 M
-308.065 287.1 lineto
-302.065 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-305.065 281.1 M
-308.065 287.1 lineto
-302.065 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-305.368 281.1 M
-308.368 287.1 lineto
-302.368 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-305.368 281.1 M
-308.368 287.1 lineto
-302.368 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-305.672 281.1 M
-308.672 287.1 lineto
-302.672 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-305.672 281.1 M
-308.672 287.1 lineto
-302.672 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-305.976 281.1 M
-308.976 287.1 lineto
-302.976 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-305.976 281.1 M
-308.976 287.1 lineto
-302.976 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-306.279 281.1 M
-309.279 287.1 lineto
-303.279 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-306.279 281.1 M
-309.279 287.1 lineto
-303.279 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-306.583 281.1 M
-309.583 287.1 lineto
-303.583 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-306.583 281.1 M
-309.583 287.1 lineto
-303.583 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-306.887 281.1 M
-309.887 287.1 lineto
-303.887 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-306.887 281.1 M
-309.887 287.1 lineto
-303.887 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-307.191 281.1 M
-310.191 287.1 lineto
-304.191 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-307.191 281.1 M
-310.191 287.1 lineto
-304.191 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-307.494 281.1 M
-310.494 287.1 lineto
-304.494 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-307.494 281.1 M
-310.494 287.1 lineto
-304.494 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-307.798 281.1 M
-310.798 287.1 lineto
-304.798 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-307.798 281.1 M
-310.798 287.1 lineto
-304.798 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-308.102 281.1 M
-311.102 287.1 lineto
-305.102 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-308.102 281.1 M
-311.102 287.1 lineto
-305.102 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-308.406 281.1 M
-311.406 287.1 lineto
-305.406 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-308.406 281.1 M
-311.406 287.1 lineto
-305.406 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-308.709 281.1 M
-311.709 287.1 lineto
-305.709 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-308.709 281.1 M
-311.709 287.1 lineto
-305.709 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-309.013 281.1 M
-312.013 287.1 lineto
-306.013 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-309.013 281.1 M
-312.013 287.1 lineto
-306.013 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-309.317 281.1 M
-312.317 287.1 lineto
-306.317 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-309.317 281.1 M
-312.317 287.1 lineto
-306.317 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-309.621 281.1 M
-312.621 287.1 lineto
-306.621 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-309.621 281.1 M
-312.621 287.1 lineto
-306.621 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-309.924 281.1 M
-312.924 287.1 lineto
-306.924 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-309.924 281.1 M
-312.924 287.1 lineto
-306.924 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-310.228 281.1 M
-313.228 287.1 lineto
-307.228 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-310.228 281.1 M
-313.228 287.1 lineto
-307.228 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-310.532 281.1 M
-313.532 287.1 lineto
-307.532 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-310.532 281.1 M
-313.532 287.1 lineto
-307.532 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-310.836 281.1 M
-313.836 287.1 lineto
-307.836 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-310.836 281.1 M
-313.836 287.1 lineto
-307.836 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-311.139 281.1 M
-314.139 287.1 lineto
-308.139 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-311.139 281.1 M
-314.139 287.1 lineto
-308.139 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-311.443 281.1 M
-314.443 287.1 lineto
-308.443 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-311.443 281.1 M
-314.443 287.1 lineto
-308.443 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-311.747 281.1 M
-314.747 287.1 lineto
-308.747 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-311.747 281.1 M
-314.747 287.1 lineto
-308.747 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-312.051 281.1 M
-315.051 287.1 lineto
-309.051 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-312.051 281.1 M
-315.051 287.1 lineto
-309.051 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-312.354 281.1 M
-315.354 287.1 lineto
-309.354 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-312.354 281.1 M
-315.354 287.1 lineto
-309.354 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-312.658 281.1 M
-315.658 287.1 lineto
-309.658 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-312.658 281.1 M
-315.658 287.1 lineto
-309.658 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-312.962 281.1 M
-315.962 287.1 lineto
-309.962 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-312.962 281.1 M
-315.962 287.1 lineto
-309.962 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-313.265 281.1 M
-316.265 287.1 lineto
-310.265 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-313.265 281.1 M
-316.265 287.1 lineto
-310.265 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-313.569 281.1 M
-316.569 287.1 lineto
-310.569 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-313.569 281.1 M
-316.569 287.1 lineto
-310.569 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-313.873 281.1 M
-316.873 287.1 lineto
-310.873 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-313.873 281.1 M
-316.873 287.1 lineto
-310.873 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-314.177 281.1 M
-317.177 287.1 lineto
-311.177 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-314.177 281.1 M
-317.177 287.1 lineto
-311.177 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-314.48 281.1 M
-317.48 287.1 lineto
-311.48 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-314.48 281.1 M
-317.48 287.1 lineto
-311.48 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-314.784 281.1 M
-317.784 287.1 lineto
-311.784 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-314.784 281.1 M
-317.784 287.1 lineto
-311.784 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-315.088 281.1 M
-318.088 287.1 lineto
-312.088 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-315.088 281.1 M
-318.088 287.1 lineto
-312.088 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-315.392 281.1 M
-318.392 287.1 lineto
-312.392 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-315.392 281.1 M
-318.392 287.1 lineto
-312.392 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-315.695 281.1 M
-318.695 287.1 lineto
-312.695 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-315.695 281.1 M
-318.695 287.1 lineto
-312.695 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-315.999 281.1 M
-318.999 287.1 lineto
-312.999 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-315.999 281.1 M
-318.999 287.1 lineto
-312.999 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-316.303 281.1 M
-319.303 287.1 lineto
-313.303 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-316.303 281.1 M
-319.303 287.1 lineto
-313.303 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-316.607 281.1 M
-319.607 287.1 lineto
-313.607 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-316.607 281.1 M
-319.607 287.1 lineto
-313.607 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-316.91 281.1 M
-319.91 287.1 lineto
-313.91 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-316.91 281.1 M
-319.91 287.1 lineto
-313.91 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-317.214 281.1 M
-320.214 287.1 lineto
-314.214 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-317.214 281.1 M
-320.214 287.1 lineto
-314.214 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-317.518 281.1 M
-320.518 287.1 lineto
-314.518 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-317.518 281.1 M
-320.518 287.1 lineto
-314.518 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-317.822 281.1 M
-320.822 287.1 lineto
-314.822 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-317.822 281.1 M
-320.822 287.1 lineto
-314.822 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-318.125 281.1 M
-321.125 287.1 lineto
-315.125 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-318.125 281.1 M
-321.125 287.1 lineto
-315.125 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-318.429 281.1 M
-321.429 287.1 lineto
-315.429 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-318.429 281.1 M
-321.429 287.1 lineto
-315.429 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-318.733 281.1 M
-321.733 287.1 lineto
-315.733 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-318.733 281.1 M
-321.733 287.1 lineto
-315.733 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-319.036 281.1 M
-322.036 287.1 lineto
-316.036 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.036 281.1 M
-322.036 287.1 lineto
-316.036 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-319.34 281.1 M
-322.34 287.1 lineto
-316.34 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.34 281.1 M
-322.34 287.1 lineto
-316.34 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-319.644 281.1 M
-322.644 287.1 lineto
-316.644 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.644 281.1 M
-322.644 287.1 lineto
-316.644 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-319.948 281.1 M
-322.948 287.1 lineto
-316.948 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.948 281.1 M
-322.948 287.1 lineto
-316.948 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-320.251 281.1 M
-323.251 287.1 lineto
-317.251 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-320.251 281.1 M
-323.251 287.1 lineto
-317.251 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-320.555 281.1 M
-323.555 287.1 lineto
-317.555 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-320.555 281.1 M
-323.555 287.1 lineto
-317.555 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-320.859 281.1 M
-323.859 287.1 lineto
-317.859 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-320.859 281.1 M
-323.859 287.1 lineto
-317.859 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-321.163 281.1 M
-324.163 287.1 lineto
-318.163 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-321.163 281.1 M
-324.163 287.1 lineto
-318.163 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-321.466 281.1 M
-324.466 287.1 lineto
-318.466 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-321.466 281.1 M
-324.466 287.1 lineto
-318.466 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-321.77 281.1 M
-324.77 287.1 lineto
-318.77 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-321.77 281.1 M
-324.77 287.1 lineto
-318.77 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-322.074 281.1 M
-325.074 287.1 lineto
-319.074 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-322.074 281.1 M
-325.074 287.1 lineto
-319.074 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-322.378 281.1 M
-325.378 287.1 lineto
-319.378 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-322.378 281.1 M
-325.378 287.1 lineto
-319.378 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-322.681 281.1 M
-325.681 287.1 lineto
-319.681 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-322.681 281.1 M
-325.681 287.1 lineto
-319.681 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-322.985 281.1 M
-325.985 287.1 lineto
-319.985 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-322.985 281.1 M
-325.985 287.1 lineto
-319.985 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-323.289 281.1 M
-326.289 287.1 lineto
-320.289 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-323.289 281.1 M
-326.289 287.1 lineto
-320.289 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-323.593 281.1 M
-326.593 287.1 lineto
-320.593 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-323.593 281.1 M
-326.593 287.1 lineto
-320.593 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-323.896 281.1 M
-326.896 287.1 lineto
-320.896 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-323.896 281.1 M
-326.896 287.1 lineto
-320.896 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-324.2 281.1 M
-327.2 287.1 lineto
-321.2 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-324.2 281.1 M
-327.2 287.1 lineto
-321.2 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-324.504 281.1 M
-327.504 287.1 lineto
-321.504 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-324.504 281.1 M
-327.504 287.1 lineto
-321.504 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-324.807 281.1 M
-327.807 287.1 lineto
-321.807 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-324.807 281.1 M
-327.807 287.1 lineto
-321.807 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-325.111 281.1 M
-328.111 287.1 lineto
-322.111 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-325.111 281.1 M
-328.111 287.1 lineto
-322.111 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-325.415 281.1 M
-328.415 287.1 lineto
-322.415 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-325.415 281.1 M
-328.415 287.1 lineto
-322.415 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-325.719 281.1 M
-328.719 287.1 lineto
-322.719 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-325.719 281.1 M
-328.719 287.1 lineto
-322.719 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-326.022 281.1 M
-329.022 287.1 lineto
-323.022 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-326.022 281.1 M
-329.022 287.1 lineto
-323.022 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-326.326 281.1 M
-329.326 287.1 lineto
-323.326 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-326.326 281.1 M
-329.326 287.1 lineto
-323.326 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-326.63 281.1 M
-329.63 287.1 lineto
-323.63 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-326.63 281.1 M
-329.63 287.1 lineto
-323.63 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-326.934 281.1 M
-329.934 287.1 lineto
-323.934 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-326.934 281.1 M
-329.934 287.1 lineto
-323.934 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-327.237 281.1 M
-330.237 287.1 lineto
-324.237 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-327.237 281.1 M
-330.237 287.1 lineto
-324.237 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-327.541 281.1 M
-330.541 287.1 lineto
-324.541 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-327.541 281.1 M
-330.541 287.1 lineto
-324.541 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-327.845 281.1 M
-330.845 287.1 lineto
-324.845 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-327.845 281.1 M
-330.845 287.1 lineto
-324.845 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-328.149 281.1 M
-331.149 287.1 lineto
-325.149 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-328.149 281.1 M
-331.149 287.1 lineto
-325.149 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-328.452 281.1 M
-331.452 287.1 lineto
-325.452 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-328.452 281.1 M
-331.452 287.1 lineto
-325.452 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-328.756 281.1 M
-331.756 287.1 lineto
-325.756 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-328.756 281.1 M
-331.756 287.1 lineto
-325.756 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-329.06 281.1 M
-332.06 287.1 lineto
-326.06 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-329.06 281.1 M
-332.06 287.1 lineto
-326.06 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-329.364 281.1 M
-332.364 287.1 lineto
-326.364 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-329.364 281.1 M
-332.364 287.1 lineto
-326.364 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-329.667 281.1 M
-332.667 287.1 lineto
-326.667 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-329.667 281.1 M
-332.667 287.1 lineto
-326.667 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-329.971 281.1 M
-332.971 287.1 lineto
-326.971 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-329.971 281.1 M
-332.971 287.1 lineto
-326.971 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-330.275 281.1 M
-333.275 287.1 lineto
-327.275 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-330.275 281.1 M
-333.275 287.1 lineto
-327.275 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-330.578 281.1 M
-333.578 287.1 lineto
-327.578 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-330.578 281.1 M
-333.578 287.1 lineto
-327.578 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-330.882 281.1 M
-333.882 287.1 lineto
-327.882 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-330.882 281.1 M
-333.882 287.1 lineto
-327.882 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-331.186 281.1 M
-334.186 287.1 lineto
-328.186 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-331.186 281.1 M
-334.186 287.1 lineto
-328.186 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-331.49 281.1 M
-334.49 287.1 lineto
-328.49 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-331.49 281.1 M
-334.49 287.1 lineto
-328.49 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-331.793 302.648 M
-334.793 308.648 lineto
-328.793 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-331.793 302.648 M
-334.793 308.648 lineto
-328.793 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-332.097 302.648 M
-335.097 308.648 lineto
-329.097 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-332.097 302.648 M
-335.097 308.648 lineto
-329.097 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-332.401 302.648 M
-335.401 308.648 lineto
-329.401 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-332.401 302.648 M
-335.401 308.648 lineto
-329.401 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-332.705 302.648 M
-335.705 308.648 lineto
-329.705 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-332.705 302.648 M
-335.705 308.648 lineto
-329.705 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-333.008 302.648 M
-336.008 308.648 lineto
-330.008 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-333.008 302.648 M
-336.008 308.648 lineto
-330.008 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-333.312 302.648 M
-336.312 308.648 lineto
-330.312 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-333.312 302.648 M
-336.312 308.648 lineto
-330.312 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-333.616 302.648 M
-336.616 308.648 lineto
-330.616 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-333.616 302.648 M
-336.616 308.648 lineto
-330.616 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-333.92 302.648 M
-336.92 308.648 lineto
-330.92 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-333.92 302.648 M
-336.92 308.648 lineto
-330.92 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-334.223 302.648 M
-337.223 308.648 lineto
-331.223 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-334.223 302.648 M
-337.223 308.648 lineto
-331.223 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-334.527 302.648 M
-337.527 308.648 lineto
-331.527 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-334.527 302.648 M
-337.527 308.648 lineto
-331.527 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-334.831 302.648 M
-337.831 308.648 lineto
-331.831 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-334.831 302.648 M
-337.831 308.648 lineto
-331.831 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-335.135 302.648 M
-338.135 308.648 lineto
-332.135 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-335.135 302.648 M
-338.135 308.648 lineto
-332.135 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-335.438 302.648 M
-338.438 308.648 lineto
-332.438 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-335.438 302.648 M
-338.438 308.648 lineto
-332.438 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-335.742 302.648 M
-338.742 308.648 lineto
-332.742 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-335.742 302.648 M
-338.742 308.648 lineto
-332.742 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-336.046 302.648 M
-339.046 308.648 lineto
-333.046 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-336.046 302.648 M
-339.046 308.648 lineto
-333.046 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-336.349 302.648 M
-339.349 308.648 lineto
-333.349 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-336.349 302.648 M
-339.349 308.648 lineto
-333.349 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-336.653 302.648 M
-339.653 308.648 lineto
-333.653 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-336.653 302.648 M
-339.653 308.648 lineto
-333.653 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-336.957 302.648 M
-339.957 308.648 lineto
-333.957 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-336.957 302.648 M
-339.957 308.648 lineto
-333.957 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-337.261 302.648 M
-340.261 308.648 lineto
-334.261 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-337.261 302.648 M
-340.261 308.648 lineto
-334.261 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-337.564 302.648 M
-340.564 308.648 lineto
-334.564 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-337.564 302.648 M
-340.564 308.648 lineto
-334.564 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-337.868 302.648 M
-340.868 308.648 lineto
-334.868 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-337.868 302.648 M
-340.868 308.648 lineto
-334.868 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-338.172 302.648 M
-341.172 308.648 lineto
-335.172 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-338.172 302.648 M
-341.172 308.648 lineto
-335.172 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-338.476 302.648 M
-341.476 308.648 lineto
-335.476 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-338.476 302.648 M
-341.476 308.648 lineto
-335.476 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-338.779 302.648 M
-341.779 308.648 lineto
-335.779 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-338.779 302.648 M
-341.779 308.648 lineto
-335.779 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-339.083 302.648 M
-342.083 308.648 lineto
-336.083 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-339.083 302.648 M
-342.083 308.648 lineto
-336.083 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-339.387 302.648 M
-342.387 308.648 lineto
-336.387 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-339.387 302.648 M
-342.387 308.648 lineto
-336.387 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-339.691 302.648 M
-342.691 308.648 lineto
-336.691 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-339.691 302.648 M
-342.691 308.648 lineto
-336.691 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-339.994 302.648 M
-342.994 308.648 lineto
-336.994 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-339.994 302.648 M
-342.994 308.648 lineto
-336.994 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-340.298 302.648 M
-343.298 308.648 lineto
-337.298 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-340.298 302.648 M
-343.298 308.648 lineto
-337.298 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-340.602 302.648 M
-343.602 308.648 lineto
-337.602 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-340.602 302.648 M
-343.602 308.648 lineto
-337.602 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-340.906 302.648 M
-343.906 308.648 lineto
-337.906 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-340.906 302.648 M
-343.906 308.648 lineto
-337.906 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-341.209 302.648 M
-344.209 308.648 lineto
-338.209 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-341.209 302.648 M
-344.209 308.648 lineto
-338.209 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-341.513 302.648 M
-344.513 308.648 lineto
-338.513 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-341.513 302.648 M
-344.513 308.648 lineto
-338.513 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-341.817 302.648 M
-344.817 308.648 lineto
-338.817 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-341.817 302.648 M
-344.817 308.648 lineto
-338.817 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-342.12 302.648 M
-345.12 308.648 lineto
-339.12 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-342.12 302.648 M
-345.12 308.648 lineto
-339.12 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-342.424 302.648 M
-345.424 308.648 lineto
-339.424 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-342.424 302.648 M
-345.424 308.648 lineto
-339.424 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-342.728 302.648 M
-345.728 308.648 lineto
-339.728 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-342.728 302.648 M
-345.728 308.648 lineto
-339.728 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-343.032 302.648 M
-346.032 308.648 lineto
-340.032 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-343.032 302.648 M
-346.032 308.648 lineto
-340.032 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-343.335 302.648 M
-346.335 308.648 lineto
-340.335 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-343.335 302.648 M
-346.335 308.648 lineto
-340.335 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-343.639 302.648 M
-346.639 308.648 lineto
-340.639 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-343.639 302.648 M
-346.639 308.648 lineto
-340.639 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-343.943 302.648 M
-346.943 308.648 lineto
-340.943 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-343.943 302.648 M
-346.943 308.648 lineto
-340.943 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-344.247 302.648 M
-347.247 308.648 lineto
-341.247 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-344.247 302.648 M
-347.247 308.648 lineto
-341.247 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-344.55 302.648 M
-347.55 308.648 lineto
-341.55 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-344.55 302.648 M
-347.55 308.648 lineto
-341.55 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-344.854 302.648 M
-347.854 308.648 lineto
-341.854 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-344.854 302.648 M
-347.854 308.648 lineto
-341.854 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-345.158 302.648 M
-348.158 308.648 lineto
-342.158 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-345.158 302.648 M
-348.158 308.648 lineto
-342.158 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-345.462 302.648 M
-348.462 308.648 lineto
-342.462 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-345.462 302.648 M
-348.462 308.648 lineto
-342.462 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-345.765 302.648 M
-348.765 308.648 lineto
-342.765 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-345.765 302.648 M
-348.765 308.648 lineto
-342.765 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-346.069 302.648 M
-349.069 308.648 lineto
-343.069 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-346.069 302.648 M
-349.069 308.648 lineto
-343.069 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-346.373 302.648 M
-349.373 308.648 lineto
-343.373 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-346.373 302.648 M
-349.373 308.648 lineto
-343.373 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-346.677 302.648 M
-349.677 308.648 lineto
-343.677 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-346.677 302.648 M
-349.677 308.648 lineto
-343.677 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-346.98 302.648 M
-349.98 308.648 lineto
-343.98 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-346.98 302.648 M
-349.98 308.648 lineto
-343.98 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-347.284 302.648 M
-350.284 308.648 lineto
-344.284 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-347.284 302.648 M
-350.284 308.648 lineto
-344.284 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-347.588 302.648 M
-350.588 308.648 lineto
-344.588 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-347.588 302.648 M
-350.588 308.648 lineto
-344.588 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-347.891 302.648 M
-350.891 308.648 lineto
-344.891 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-347.891 302.648 M
-350.891 308.648 lineto
-344.891 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-348.195 302.648 M
-351.195 308.648 lineto
-345.195 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-348.195 302.648 M
-351.195 308.648 lineto
-345.195 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-348.499 302.648 M
-351.499 308.648 lineto
-345.499 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-348.499 302.648 M
-351.499 308.648 lineto
-345.499 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-348.803 302.648 M
-351.803 308.648 lineto
-345.803 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-348.803 302.648 M
-351.803 308.648 lineto
-345.803 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-349.106 302.648 M
-352.106 308.648 lineto
-346.106 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-349.106 302.648 M
-352.106 308.648 lineto
-346.106 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-349.41 302.648 M
-352.41 308.648 lineto
-346.41 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-349.41 302.648 M
-352.41 308.648 lineto
-346.41 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-349.714 302.648 M
-352.714 308.648 lineto
-346.714 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-349.714 302.648 M
-352.714 308.648 lineto
-346.714 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-350.018 302.648 M
-353.018 308.648 lineto
-347.018 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-350.018 302.648 M
-353.018 308.648 lineto
-347.018 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-350.321 302.648 M
-353.321 308.648 lineto
-347.321 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-350.321 302.648 M
-353.321 308.648 lineto
-347.321 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-350.625 302.648 M
-353.625 308.648 lineto
-347.625 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-350.625 302.648 M
-353.625 308.648 lineto
-347.625 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-350.929 302.648 M
-353.929 308.648 lineto
-347.929 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-350.929 302.648 M
-353.929 308.648 lineto
-347.929 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-351.233 302.648 M
-354.233 308.648 lineto
-348.233 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-351.233 302.648 M
-354.233 308.648 lineto
-348.233 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-351.536 302.648 M
-354.536 308.648 lineto
-348.536 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-351.536 302.648 M
-354.536 308.648 lineto
-348.536 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-351.84 302.648 M
-354.84 308.648 lineto
-348.84 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-351.84 302.648 M
-354.84 308.648 lineto
-348.84 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-352.144 302.648 M
-355.144 308.648 lineto
-349.144 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-352.144 302.648 M
-355.144 308.648 lineto
-349.144 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-352.448 302.648 M
-355.448 308.648 lineto
-349.448 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-352.448 302.648 M
-355.448 308.648 lineto
-349.448 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-352.751 302.648 M
-355.751 308.648 lineto
-349.751 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-352.751 302.648 M
-355.751 308.648 lineto
-349.751 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-353.055 302.648 M
-356.055 308.648 lineto
-350.055 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-353.055 302.648 M
-356.055 308.648 lineto
-350.055 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-353.359 302.648 M
-356.359 308.648 lineto
-350.359 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-353.359 302.648 M
-356.359 308.648 lineto
-350.359 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-353.663 302.648 M
-356.663 308.648 lineto
-350.663 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-353.663 302.648 M
-356.663 308.648 lineto
-350.663 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-353.966 302.648 M
-356.966 308.648 lineto
-350.966 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-353.966 302.648 M
-356.966 308.648 lineto
-350.966 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-354.27 302.648 M
-357.27 308.648 lineto
-351.27 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-354.27 302.648 M
-357.27 308.648 lineto
-351.27 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-354.574 302.648 M
-357.574 308.648 lineto
-351.574 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-354.574 302.648 M
-357.574 308.648 lineto
-351.574 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-354.877 302.648 M
-357.877 308.648 lineto
-351.877 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-354.877 302.648 M
-357.877 308.648 lineto
-351.877 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-355.181 302.648 M
-358.181 308.648 lineto
-352.181 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-355.181 302.648 M
-358.181 308.648 lineto
-352.181 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-355.485 302.648 M
-358.485 308.648 lineto
-352.485 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-355.485 302.648 M
-358.485 308.648 lineto
-352.485 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-355.789 302.648 M
-358.789 308.648 lineto
-352.789 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-355.789 302.648 M
-358.789 308.648 lineto
-352.789 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-356.092 302.648 M
-359.092 308.648 lineto
-353.092 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-356.092 302.648 M
-359.092 308.648 lineto
-353.092 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-356.396 302.648 M
-359.396 308.648 lineto
-353.396 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-356.396 302.648 M
-359.396 308.648 lineto
-353.396 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-356.7 281.1 M
-359.7 287.1 lineto
-353.7 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-356.7 281.1 M
-359.7 287.1 lineto
-353.7 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-357.004 281.1 M
-360.004 287.1 lineto
-354.004 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-357.004 281.1 M
-360.004 287.1 lineto
-354.004 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-357.307 281.1 M
-360.307 287.1 lineto
-354.307 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-357.307 281.1 M
-360.307 287.1 lineto
-354.307 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-357.611 281.1 M
-360.611 287.1 lineto
-354.611 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-357.611 281.1 M
-360.611 287.1 lineto
-354.611 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-357.915 281.1 M
-360.915 287.1 lineto
-354.915 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-357.915 281.1 M
-360.915 287.1 lineto
-354.915 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-358.219 281.1 M
-361.219 287.1 lineto
-355.219 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-358.219 281.1 M
-361.219 287.1 lineto
-355.219 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-358.522 281.1 M
-361.522 287.1 lineto
-355.522 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-358.522 281.1 M
-361.522 287.1 lineto
-355.522 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-358.826 281.1 M
-361.826 287.1 lineto
-355.826 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-358.826 281.1 M
-361.826 287.1 lineto
-355.826 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-359.13 281.1 M
-362.13 287.1 lineto
-356.13 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-359.13 281.1 M
-362.13 287.1 lineto
-356.13 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-359.434 281.1 M
-362.434 287.1 lineto
-356.434 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-359.434 281.1 M
-362.434 287.1 lineto
-356.434 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-359.737 281.1 M
-362.737 287.1 lineto
-356.737 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-359.737 281.1 M
-362.737 287.1 lineto
-356.737 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-360.041 281.1 M
-363.041 287.1 lineto
-357.041 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-360.041 281.1 M
-363.041 287.1 lineto
-357.041 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-360.345 281.1 M
-363.345 287.1 lineto
-357.345 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-360.345 281.1 M
-363.345 287.1 lineto
-357.345 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-360.648 281.1 M
-363.648 287.1 lineto
-357.648 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-360.648 281.1 M
-363.648 287.1 lineto
-357.648 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-360.952 281.1 M
-363.952 287.1 lineto
-357.952 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-360.952 281.1 M
-363.952 287.1 lineto
-357.952 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-361.256 281.1 M
-364.256 287.1 lineto
-358.256 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-361.256 281.1 M
-364.256 287.1 lineto
-358.256 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-361.56 281.1 M
-364.56 287.1 lineto
-358.56 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-361.56 281.1 M
-364.56 287.1 lineto
-358.56 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-361.863 281.1 M
-364.863 287.1 lineto
-358.863 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-361.863 281.1 M
-364.863 287.1 lineto
-358.863 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-362.167 281.1 M
-365.167 287.1 lineto
-359.167 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.167 281.1 M
-365.167 287.1 lineto
-359.167 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-362.471 281.1 M
-365.471 287.1 lineto
-359.471 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.471 281.1 M
-365.471 287.1 lineto
-359.471 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-362.775 281.1 M
-365.775 287.1 lineto
-359.775 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.775 281.1 M
-365.775 287.1 lineto
-359.775 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-363.078 281.1 M
-366.078 287.1 lineto
-360.078 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-363.078 281.1 M
-366.078 287.1 lineto
-360.078 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-363.382 281.1 M
-366.382 287.1 lineto
-360.382 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-363.382 281.1 M
-366.382 287.1 lineto
-360.382 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-363.686 281.1 M
-366.686 287.1 lineto
-360.686 287.1 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-363.686 281.1 M
-366.686 287.1 lineto
-360.686 287.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-363.99 302.648 M
-366.99 308.648 lineto
-360.99 308.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-363.99 302.648 M
-366.99 308.648 lineto
-360.99 308.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-59 305.648 M
-59 307.305 57.657 308.648 56 308.648 curveto
-54.343 308.648 53 307.305 53 305.648 curveto
-53 303.992 54.343 302.648 56 302.648 curveto
-57.657 302.648 59 303.992 59 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-59 305.648 M
-59 307.305 57.657 308.648 56 308.648 curveto
-54.343 308.648 53 307.305 53 305.648 curveto
-53 303.992 54.343 302.648 56 302.648 curveto
-57.657 302.648 59 303.992 59 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-59.304 305.648 M
-59.304 307.305 57.961 308.648 56.304 308.648 curveto
-54.647 308.648 53.304 307.305 53.304 305.648 curveto
-53.304 303.992 54.647 302.648 56.304 302.648 curveto
-57.961 302.648 59.304 303.992 59.304 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-59.304 305.648 M
-59.304 307.305 57.961 308.648 56.304 308.648 curveto
-54.647 308.648 53.304 307.305 53.304 305.648 curveto
-53.304 303.992 54.647 302.648 56.304 302.648 curveto
-57.961 302.648 59.304 303.992 59.304 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-59.607 305.648 M
-59.607 307.305 58.264 308.648 56.607 308.648 curveto
-54.951 308.648 53.607 307.305 53.607 305.648 curveto
-53.607 303.992 54.951 302.648 56.607 302.648 curveto
-58.264 302.648 59.607 303.992 59.607 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-59.607 305.648 M
-59.607 307.305 58.264 308.648 56.607 308.648 curveto
-54.951 308.648 53.607 307.305 53.607 305.648 curveto
-53.607 303.992 54.951 302.648 56.607 302.648 curveto
-58.264 302.648 59.607 303.992 59.607 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-59.911 305.648 M
-59.911 307.305 58.568 308.648 56.911 308.648 curveto
-55.254 308.648 53.911 307.305 53.911 305.648 curveto
-53.911 303.992 55.254 302.648 56.911 302.648 curveto
-58.568 302.648 59.911 303.992 59.911 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-59.911 305.648 M
-59.911 307.305 58.568 308.648 56.911 308.648 curveto
-55.254 308.648 53.911 307.305 53.911 305.648 curveto
-53.911 303.992 55.254 302.648 56.911 302.648 curveto
-58.568 302.648 59.911 303.992 59.911 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-60.215 305.648 M
-60.215 307.305 58.872 308.648 57.215 308.648 curveto
-55.558 308.648 54.215 307.305 54.215 305.648 curveto
-54.215 303.992 55.558 302.648 57.215 302.648 curveto
-58.872 302.648 60.215 303.992 60.215 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-60.215 305.648 M
-60.215 307.305 58.872 308.648 57.215 308.648 curveto
-55.558 308.648 54.215 307.305 54.215 305.648 curveto
-54.215 303.992 55.558 302.648 57.215 302.648 curveto
-58.872 302.648 60.215 303.992 60.215 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-60.519 305.648 M
-60.519 307.305 59.176 308.648 57.519 308.648 curveto
-55.862 308.648 54.519 307.305 54.519 305.648 curveto
-54.519 303.992 55.862 302.648 57.519 302.648 curveto
-59.176 302.648 60.519 303.992 60.519 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-60.519 305.648 M
-60.519 307.305 59.176 308.648 57.519 308.648 curveto
-55.862 308.648 54.519 307.305 54.519 305.648 curveto
-54.519 303.992 55.862 302.648 57.519 302.648 curveto
-59.176 302.648 60.519 303.992 60.519 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-60.822 305.648 M
-60.822 307.305 59.479 308.648 57.822 308.648 curveto
-56.166 308.648 54.822 307.305 54.822 305.648 curveto
-54.822 303.992 56.166 302.648 57.822 302.648 curveto
-59.479 302.648 60.822 303.992 60.822 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-60.822 305.648 M
-60.822 307.305 59.479 308.648 57.822 308.648 curveto
-56.166 308.648 54.822 307.305 54.822 305.648 curveto
-54.822 303.992 56.166 302.648 57.822 302.648 curveto
-59.479 302.648 60.822 303.992 60.822 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-61.126 305.648 M
-61.126 307.305 59.783 308.648 58.126 308.648 curveto
-56.469 308.648 55.126 307.305 55.126 305.648 curveto
-55.126 303.992 56.469 302.648 58.126 302.648 curveto
-59.783 302.648 61.126 303.992 61.126 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-61.126 305.648 M
-61.126 307.305 59.783 308.648 58.126 308.648 curveto
-56.469 308.648 55.126 307.305 55.126 305.648 curveto
-55.126 303.992 56.469 302.648 58.126 302.648 curveto
-59.783 302.648 61.126 303.992 61.126 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-61.43 305.648 M
-61.43 307.305 60.087 308.648 58.43 308.648 curveto
-56.773 308.648 55.43 307.305 55.43 305.648 curveto
-55.43 303.992 56.773 302.648 58.43 302.648 curveto
-60.087 302.648 61.43 303.992 61.43 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-61.43 305.648 M
-61.43 307.305 60.087 308.648 58.43 308.648 curveto
-56.773 308.648 55.43 307.305 55.43 305.648 curveto
-55.43 303.992 56.773 302.648 58.43 302.648 curveto
-60.087 302.648 61.43 303.992 61.43 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-61.734 197.907 M
-61.734 199.564 60.39 200.907 58.734 200.907 curveto
-57.077 200.907 55.734 199.564 55.734 197.907 curveto
-55.734 196.25 57.077 194.907 58.734 194.907 curveto
-60.39 194.907 61.734 196.25 61.734 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-61.734 197.907 M
-61.734 199.564 60.39 200.907 58.734 200.907 curveto
-57.077 200.907 55.734 199.564 55.734 197.907 curveto
-55.734 196.25 57.077 194.907 58.734 194.907 curveto
-60.39 194.907 61.734 196.25 61.734 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-62.037 197.907 M
-62.037 199.564 60.694 200.907 59.037 200.907 curveto
-57.381 200.907 56.037 199.564 56.037 197.907 curveto
-56.037 196.25 57.381 194.907 59.037 194.907 curveto
-60.694 194.907 62.037 196.25 62.037 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-62.037 197.907 M
-62.037 199.564 60.694 200.907 59.037 200.907 curveto
-57.381 200.907 56.037 199.564 56.037 197.907 curveto
-56.037 196.25 57.381 194.907 59.037 194.907 curveto
-60.694 194.907 62.037 196.25 62.037 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-62.341 197.907 M
-62.341 199.564 60.998 200.907 59.341 200.907 curveto
-57.684 200.907 56.341 199.564 56.341 197.907 curveto
-56.341 196.25 57.684 194.907 59.341 194.907 curveto
-60.998 194.907 62.341 196.25 62.341 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-62.341 197.907 M
-62.341 199.564 60.998 200.907 59.341 200.907 curveto
-57.684 200.907 56.341 199.564 56.341 197.907 curveto
-56.341 196.25 57.684 194.907 59.341 194.907 curveto
-60.998 194.907 62.341 196.25 62.341 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-62.645 197.907 M
-62.645 199.564 61.302 200.907 59.645 200.907 curveto
-57.988 200.907 56.645 199.564 56.645 197.907 curveto
-56.645 196.25 57.988 194.907 59.645 194.907 curveto
-61.302 194.907 62.645 196.25 62.645 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-62.645 197.907 M
-62.645 199.564 61.302 200.907 59.645 200.907 curveto
-57.988 200.907 56.645 199.564 56.645 197.907 curveto
-56.645 196.25 57.988 194.907 59.645 194.907 curveto
-61.302 194.907 62.645 196.25 62.645 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-62.949 197.907 M
-62.949 199.564 61.605 200.907 59.949 200.907 curveto
-58.292 200.907 56.949 199.564 56.949 197.907 curveto
-56.949 196.25 58.292 194.907 59.949 194.907 curveto
-61.605 194.907 62.949 196.25 62.949 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-62.949 197.907 M
-62.949 199.564 61.605 200.907 59.949 200.907 curveto
-58.292 200.907 56.949 199.564 56.949 197.907 curveto
-56.949 196.25 58.292 194.907 59.949 194.907 curveto
-61.605 194.907 62.949 196.25 62.949 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-63.252 197.907 M
-63.252 199.564 61.909 200.907 60.252 200.907 curveto
-58.595 200.907 57.252 199.564 57.252 197.907 curveto
-57.252 196.25 58.595 194.907 60.252 194.907 curveto
-61.909 194.907 63.252 196.25 63.252 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.252 197.907 M
-63.252 199.564 61.909 200.907 60.252 200.907 curveto
-58.595 200.907 57.252 199.564 57.252 197.907 curveto
-57.252 196.25 58.595 194.907 60.252 194.907 curveto
-61.909 194.907 63.252 196.25 63.252 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-63.556 197.907 M
-63.556 199.564 62.213 200.907 60.556 200.907 curveto
-58.899 200.907 57.556 199.564 57.556 197.907 curveto
-57.556 196.25 58.899 194.907 60.556 194.907 curveto
-62.213 194.907 63.556 196.25 63.556 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.556 197.907 M
-63.556 199.564 62.213 200.907 60.556 200.907 curveto
-58.899 200.907 57.556 199.564 57.556 197.907 curveto
-57.556 196.25 58.899 194.907 60.556 194.907 curveto
-62.213 194.907 63.556 196.25 63.556 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-63.86 197.907 M
-63.86 199.564 62.517 200.907 60.86 200.907 curveto
-59.203 200.907 57.86 199.564 57.86 197.907 curveto
-57.86 196.25 59.203 194.907 60.86 194.907 curveto
-62.517 194.907 63.86 196.25 63.86 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.86 197.907 M
-63.86 199.564 62.517 200.907 60.86 200.907 curveto
-59.203 200.907 57.86 199.564 57.86 197.907 curveto
-57.86 196.25 59.203 194.907 60.86 194.907 curveto
-62.517 194.907 63.86 196.25 63.86 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-64.164 197.907 M
-64.164 199.564 62.82 200.907 61.164 200.907 curveto
-59.507 200.907 58.164 199.564 58.164 197.907 curveto
-58.164 196.25 59.507 194.907 61.164 194.907 curveto
-62.82 194.907 64.164 196.25 64.164 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-64.164 197.907 M
-64.164 199.564 62.82 200.907 61.164 200.907 curveto
-59.507 200.907 58.164 199.564 58.164 197.907 curveto
-58.164 196.25 59.507 194.907 61.164 194.907 curveto
-62.82 194.907 64.164 196.25 64.164 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-64.467 197.907 M
-64.467 199.564 63.124 200.907 61.467 200.907 curveto
-59.81 200.907 58.467 199.564 58.467 197.907 curveto
-58.467 196.25 59.81 194.907 61.467 194.907 curveto
-63.124 194.907 64.467 196.25 64.467 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-64.467 197.907 M
-64.467 199.564 63.124 200.907 61.467 200.907 curveto
-59.81 200.907 58.467 199.564 58.467 197.907 curveto
-58.467 196.25 59.81 194.907 61.467 194.907 curveto
-63.124 194.907 64.467 196.25 64.467 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-64.771 197.907 M
-64.771 199.564 63.428 200.907 61.771 200.907 curveto
-60.114 200.907 58.771 199.564 58.771 197.907 curveto
-58.771 196.25 60.114 194.907 61.771 194.907 curveto
-63.428 194.907 64.771 196.25 64.771 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-64.771 197.907 M
-64.771 199.564 63.428 200.907 61.771 200.907 curveto
-60.114 200.907 58.771 199.564 58.771 197.907 curveto
-58.771 196.25 60.114 194.907 61.771 194.907 curveto
-63.428 194.907 64.771 196.25 64.771 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-65.075 197.907 M
-65.075 199.564 63.732 200.907 62.075 200.907 curveto
-60.418 200.907 59.075 199.564 59.075 197.907 curveto
-59.075 196.25 60.418 194.907 62.075 194.907 curveto
-63.732 194.907 65.075 196.25 65.075 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-65.075 197.907 M
-65.075 199.564 63.732 200.907 62.075 200.907 curveto
-60.418 200.907 59.075 199.564 59.075 197.907 curveto
-59.075 196.25 60.418 194.907 62.075 194.907 curveto
-63.732 194.907 65.075 196.25 65.075 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-65.378 197.907 M
-65.378 199.564 64.035 200.907 62.378 200.907 curveto
-60.722 200.907 59.378 199.564 59.378 197.907 curveto
-59.378 196.25 60.722 194.907 62.378 194.907 curveto
-64.035 194.907 65.378 196.25 65.378 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-65.378 197.907 M
-65.378 199.564 64.035 200.907 62.378 200.907 curveto
-60.722 200.907 59.378 199.564 59.378 197.907 curveto
-59.378 196.25 60.722 194.907 62.378 194.907 curveto
-64.035 194.907 65.378 196.25 65.378 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-65.682 197.907 M
-65.682 199.564 64.339 200.907 62.682 200.907 curveto
-61.025 200.907 59.682 199.564 59.682 197.907 curveto
-59.682 196.25 61.025 194.907 62.682 194.907 curveto
-64.339 194.907 65.682 196.25 65.682 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-65.682 197.907 M
-65.682 199.564 64.339 200.907 62.682 200.907 curveto
-61.025 200.907 59.682 199.564 59.682 197.907 curveto
-59.682 196.25 61.025 194.907 62.682 194.907 curveto
-64.339 194.907 65.682 196.25 65.682 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-65.986 197.907 M
-65.986 199.564 64.643 200.907 62.986 200.907 curveto
-61.329 200.907 59.986 199.564 59.986 197.907 curveto
-59.986 196.25 61.329 194.907 62.986 194.907 curveto
-64.643 194.907 65.986 196.25 65.986 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-65.986 197.907 M
-65.986 199.564 64.643 200.907 62.986 200.907 curveto
-61.329 200.907 59.986 199.564 59.986 197.907 curveto
-59.986 196.25 61.329 194.907 62.986 194.907 curveto
-64.643 194.907 65.986 196.25 65.986 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-66.29 197.907 M
-66.29 199.564 64.947 200.907 63.29 200.907 curveto
-61.633 200.907 60.29 199.564 60.29 197.907 curveto
-60.29 196.25 61.633 194.907 63.29 194.907 curveto
-64.947 194.907 66.29 196.25 66.29 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.29 197.907 M
-66.29 199.564 64.947 200.907 63.29 200.907 curveto
-61.633 200.907 60.29 199.564 60.29 197.907 curveto
-60.29 196.25 61.633 194.907 63.29 194.907 curveto
-64.947 194.907 66.29 196.25 66.29 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-66.593 197.907 M
-66.593 199.564 65.25 200.907 63.593 200.907 curveto
-61.937 200.907 60.593 199.564 60.593 197.907 curveto
-60.593 196.25 61.937 194.907 63.593 194.907 curveto
-65.25 194.907 66.593 196.25 66.593 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.593 197.907 M
-66.593 199.564 65.25 200.907 63.593 200.907 curveto
-61.937 200.907 60.593 199.564 60.593 197.907 curveto
-60.593 196.25 61.937 194.907 63.593 194.907 curveto
-65.25 194.907 66.593 196.25 66.593 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-66.897 133.263 M
-66.897 134.919 65.554 136.263 63.897 136.263 curveto
-62.24 136.263 60.897 134.919 60.897 133.263 curveto
-60.897 131.606 62.24 130.263 63.897 130.263 curveto
-65.554 130.263 66.897 131.606 66.897 133.263 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.897 133.263 M
-66.897 134.919 65.554 136.263 63.897 136.263 curveto
-62.24 136.263 60.897 134.919 60.897 133.263 curveto
-60.897 131.606 62.24 130.263 63.897 130.263 curveto
-65.554 130.263 66.897 131.606 66.897 133.263 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-67.201 133.263 M
-67.201 134.919 65.858 136.263 64.201 136.263 curveto
-62.544 136.263 61.201 134.919 61.201 133.263 curveto
-61.201 131.606 62.544 130.263 64.201 130.263 curveto
-65.858 130.263 67.201 131.606 67.201 133.263 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-67.201 133.263 M
-67.201 134.919 65.858 136.263 64.201 136.263 curveto
-62.544 136.263 61.201 134.919 61.201 133.263 curveto
-61.201 131.606 62.544 130.263 64.201 130.263 curveto
-65.858 130.263 67.201 131.606 67.201 133.263 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-67.505 133.263 M
-67.505 134.919 66.161 136.263 64.505 136.263 curveto
-62.848 136.263 61.505 134.919 61.505 133.263 curveto
-61.505 131.606 62.848 130.263 64.505 130.263 curveto
-66.161 130.263 67.505 131.606 67.505 133.263 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-67.505 133.263 M
-67.505 134.919 66.161 136.263 64.505 136.263 curveto
-62.848 136.263 61.505 134.919 61.505 133.263 curveto
-61.505 131.606 62.848 130.263 64.505 130.263 curveto
-66.161 130.263 67.505 131.606 67.505 133.263 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-67.808 133.263 M
-67.808 134.919 66.465 136.263 64.808 136.263 curveto
-63.152 136.263 61.808 134.919 61.808 133.263 curveto
-61.808 131.606 63.152 130.263 64.808 130.263 curveto
-66.465 130.263 67.808 131.606 67.808 133.263 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-67.808 133.263 M
-67.808 134.919 66.465 136.263 64.808 136.263 curveto
-63.152 136.263 61.808 134.919 61.808 133.263 curveto
-61.808 131.606 63.152 130.263 64.808 130.263 curveto
-66.465 130.263 67.808 131.606 67.808 133.263 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-68.112 133.263 M
-68.112 134.919 66.769 136.263 65.112 136.263 curveto
-63.455 136.263 62.112 134.919 62.112 133.263 curveto
-62.112 131.606 63.455 130.263 65.112 130.263 curveto
-66.769 130.263 68.112 131.606 68.112 133.263 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-68.112 133.263 M
-68.112 134.919 66.769 136.263 65.112 136.263 curveto
-63.455 136.263 62.112 134.919 62.112 133.263 curveto
-62.112 131.606 63.455 130.263 65.112 130.263 curveto
-66.769 130.263 68.112 131.606 68.112 133.263 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-68.416 133.263 M
-68.416 134.919 67.073 136.263 65.416 136.263 curveto
-63.759 136.263 62.416 134.919 62.416 133.263 curveto
-62.416 131.606 63.759 130.263 65.416 130.263 curveto
-67.073 130.263 68.416 131.606 68.416 133.263 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-68.416 133.263 M
-68.416 134.919 67.073 136.263 65.416 136.263 curveto
-63.759 136.263 62.416 134.919 62.416 133.263 curveto
-62.416 131.606 63.759 130.263 65.416 130.263 curveto
-67.073 130.263 68.416 131.606 68.416 133.263 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-68.72 133.263 M
-68.72 134.919 67.376 136.263 65.72 136.263 curveto
-64.063 136.263 62.72 134.919 62.72 133.263 curveto
-62.72 131.606 64.063 130.263 65.72 130.263 curveto
-67.376 130.263 68.72 131.606 68.72 133.263 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-68.72 133.263 M
-68.72 134.919 67.376 136.263 65.72 136.263 curveto
-64.063 136.263 62.72 134.919 62.72 133.263 curveto
-62.72 131.606 64.063 130.263 65.72 130.263 curveto
-67.376 130.263 68.72 131.606 68.72 133.263 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-69.023 133.263 M
-69.023 134.919 67.68 136.263 66.023 136.263 curveto
-64.366 136.263 63.023 134.919 63.023 133.263 curveto
-63.023 131.606 64.366 130.263 66.023 130.263 curveto
-67.68 130.263 69.023 131.606 69.023 133.263 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.023 133.263 M
-69.023 134.919 67.68 136.263 66.023 136.263 curveto
-64.366 136.263 63.023 134.919 63.023 133.263 curveto
-63.023 131.606 64.366 130.263 66.023 130.263 curveto
-67.68 130.263 69.023 131.606 69.023 133.263 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-69.327 133.263 M
-69.327 134.919 67.984 136.263 66.327 136.263 curveto
-64.67 136.263 63.327 134.919 63.327 133.263 curveto
-63.327 131.606 64.67 130.263 66.327 130.263 curveto
-67.984 130.263 69.327 131.606 69.327 133.263 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.327 133.263 M
-69.327 134.919 67.984 136.263 66.327 136.263 curveto
-64.67 136.263 63.327 134.919 63.327 133.263 curveto
-63.327 131.606 64.67 130.263 66.327 130.263 curveto
-67.984 130.263 69.327 131.606 69.327 133.263 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-69.631 133.263 M
-69.631 134.919 68.288 136.263 66.631 136.263 curveto
-64.974 136.263 63.631 134.919 63.631 133.263 curveto
-63.631 131.606 64.974 130.263 66.631 130.263 curveto
-68.288 130.263 69.631 131.606 69.631 133.263 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.631 133.263 M
-69.631 134.919 68.288 136.263 66.631 136.263 curveto
-64.974 136.263 63.631 134.919 63.631 133.263 curveto
-63.631 131.606 64.974 130.263 66.631 130.263 curveto
-68.288 130.263 69.631 131.606 69.631 133.263 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-69.935 133.263 M
-69.935 134.919 68.591 136.263 66.935 136.263 curveto
-65.278 136.263 63.935 134.919 63.935 133.263 curveto
-63.935 131.606 65.278 130.263 66.935 130.263 curveto
-68.591 130.263 69.935 131.606 69.935 133.263 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.935 133.263 M
-69.935 134.919 68.591 136.263 66.935 136.263 curveto
-65.278 136.263 63.935 134.919 63.935 133.263 curveto
-63.935 131.606 65.278 130.263 66.935 130.263 curveto
-68.591 130.263 69.935 131.606 69.935 133.263 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-70.238 133.263 M
-70.238 134.919 68.895 136.263 67.238 136.263 curveto
-65.581 136.263 64.238 134.919 64.238 133.263 curveto
-64.238 131.606 65.581 130.263 67.238 130.263 curveto
-68.895 130.263 70.238 131.606 70.238 133.263 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-70.238 133.263 M
-70.238 134.919 68.895 136.263 67.238 136.263 curveto
-65.581 136.263 64.238 134.919 64.238 133.263 curveto
-64.238 131.606 65.581 130.263 67.238 130.263 curveto
-68.895 130.263 70.238 131.606 70.238 133.263 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-70.542 133.263 M
-70.542 134.919 69.199 136.263 67.542 136.263 curveto
-65.885 136.263 64.542 134.919 64.542 133.263 curveto
-64.542 131.606 65.885 130.263 67.542 130.263 curveto
-69.199 130.263 70.542 131.606 70.542 133.263 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-70.542 133.263 M
-70.542 134.919 69.199 136.263 67.542 136.263 curveto
-65.885 136.263 64.542 134.919 64.542 133.263 curveto
-64.542 131.606 65.885 130.263 67.542 130.263 curveto
-69.199 130.263 70.542 131.606 70.542 133.263 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-70.846 133.263 M
-70.846 134.919 69.503 136.263 67.846 136.263 curveto
-66.189 136.263 64.846 134.919 64.846 133.263 curveto
-64.846 131.606 66.189 130.263 67.846 130.263 curveto
-69.503 130.263 70.846 131.606 70.846 133.263 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-70.846 133.263 M
-70.846 134.919 69.503 136.263 67.846 136.263 curveto
-66.189 136.263 64.846 134.919 64.846 133.263 curveto
-64.846 131.606 66.189 130.263 67.846 130.263 curveto
-69.503 130.263 70.846 131.606 70.846 133.263 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-71.149 133.263 M
-71.149 134.919 69.806 136.263 68.149 136.263 curveto
-66.493 136.263 65.149 134.919 65.149 133.263 curveto
-65.149 131.606 66.493 130.263 68.149 130.263 curveto
-69.806 130.263 71.149 131.606 71.149 133.263 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-71.149 133.263 M
-71.149 134.919 69.806 136.263 68.149 136.263 curveto
-66.493 136.263 65.149 134.919 65.149 133.263 curveto
-65.149 131.606 66.493 130.263 68.149 130.263 curveto
-69.806 130.263 71.149 131.606 71.149 133.263 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-71.453 133.263 M
-71.453 134.919 70.11 136.263 68.453 136.263 curveto
-66.796 136.263 65.453 134.919 65.453 133.263 curveto
-65.453 131.606 66.796 130.263 68.453 130.263 curveto
-70.11 130.263 71.453 131.606 71.453 133.263 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-71.453 133.263 M
-71.453 134.919 70.11 136.263 68.453 136.263 curveto
-66.796 136.263 65.453 134.919 65.453 133.263 curveto
-65.453 131.606 66.796 130.263 68.453 130.263 curveto
-70.11 130.263 71.453 131.606 71.453 133.263 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-71.757 133.263 M
-71.757 134.919 70.414 136.263 68.757 136.263 curveto
-67.1 136.263 65.757 134.919 65.757 133.263 curveto
-65.757 131.606 67.1 130.263 68.757 130.263 curveto
-70.414 130.263 71.757 131.606 71.757 133.263 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-71.757 133.263 M
-71.757 134.919 70.414 136.263 68.757 136.263 curveto
-67.1 136.263 65.757 134.919 65.757 133.263 curveto
-65.757 131.606 67.1 130.263 68.757 130.263 curveto
-70.414 130.263 71.757 131.606 71.757 133.263 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-72.061 133.263 M
-72.061 134.919 70.718 136.263 69.061 136.263 curveto
-67.404 136.263 66.061 134.919 66.061 133.263 curveto
-66.061 131.606 67.404 130.263 69.061 130.263 curveto
-70.718 130.263 72.061 131.606 72.061 133.263 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.061 133.263 M
-72.061 134.919 70.718 136.263 69.061 136.263 curveto
-67.404 136.263 66.061 134.919 66.061 133.263 curveto
-66.061 131.606 67.404 130.263 69.061 130.263 curveto
-70.718 130.263 72.061 131.606 72.061 133.263 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-72.364 197.907 M
-72.364 199.564 71.021 200.907 69.364 200.907 curveto
-67.708 200.907 66.364 199.564 66.364 197.907 curveto
-66.364 196.25 67.708 194.907 69.364 194.907 curveto
-71.021 194.907 72.364 196.25 72.364 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.364 197.907 M
-72.364 199.564 71.021 200.907 69.364 200.907 curveto
-67.708 200.907 66.364 199.564 66.364 197.907 curveto
-66.364 196.25 67.708 194.907 69.364 194.907 curveto
-71.021 194.907 72.364 196.25 72.364 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-72.668 197.907 M
-72.668 199.564 71.325 200.907 69.668 200.907 curveto
-68.011 200.907 66.668 199.564 66.668 197.907 curveto
-66.668 196.25 68.011 194.907 69.668 194.907 curveto
-71.325 194.907 72.668 196.25 72.668 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.668 197.907 M
-72.668 199.564 71.325 200.907 69.668 200.907 curveto
-68.011 200.907 66.668 199.564 66.668 197.907 curveto
-66.668 196.25 68.011 194.907 69.668 194.907 curveto
-71.325 194.907 72.668 196.25 72.668 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-72.972 219.455 M
-72.972 221.112 71.629 222.455 69.972 222.455 curveto
-68.315 222.455 66.972 221.112 66.972 219.455 curveto
-66.972 217.799 68.315 216.455 69.972 216.455 curveto
-71.629 216.455 72.972 217.799 72.972 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.972 219.455 M
-72.972 221.112 71.629 222.455 69.972 222.455 curveto
-68.315 222.455 66.972 221.112 66.972 219.455 curveto
-66.972 217.799 68.315 216.455 69.972 216.455 curveto
-71.629 216.455 72.972 217.799 72.972 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-73.276 219.455 M
-73.276 221.112 71.933 222.455 70.276 222.455 curveto
-68.619 222.455 67.276 221.112 67.276 219.455 curveto
-67.276 217.799 68.619 216.455 70.276 216.455 curveto
-71.933 216.455 73.276 217.799 73.276 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-73.276 219.455 M
-73.276 221.112 71.933 222.455 70.276 222.455 curveto
-68.619 222.455 67.276 221.112 67.276 219.455 curveto
-67.276 217.799 68.619 216.455 70.276 216.455 curveto
-71.933 216.455 73.276 217.799 73.276 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-73.579 219.455 M
-73.579 221.112 72.236 222.455 70.579 222.455 curveto
-68.923 222.455 67.579 221.112 67.579 219.455 curveto
-67.579 217.799 68.923 216.455 70.579 216.455 curveto
-72.236 216.455 73.579 217.799 73.579 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-73.579 219.455 M
-73.579 221.112 72.236 222.455 70.579 222.455 curveto
-68.923 222.455 67.579 221.112 67.579 219.455 curveto
-67.579 217.799 68.923 216.455 70.579 216.455 curveto
-72.236 216.455 73.579 217.799 73.579 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-73.883 219.455 M
-73.883 221.112 72.54 222.455 70.883 222.455 curveto
-69.226 222.455 67.883 221.112 67.883 219.455 curveto
-67.883 217.799 69.226 216.455 70.883 216.455 curveto
-72.54 216.455 73.883 217.799 73.883 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-73.883 219.455 M
-73.883 221.112 72.54 222.455 70.883 222.455 curveto
-69.226 222.455 67.883 221.112 67.883 219.455 curveto
-67.883 217.799 69.226 216.455 70.883 216.455 curveto
-72.54 216.455 73.883 217.799 73.883 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-74.187 219.455 M
-74.187 221.112 72.844 222.455 71.187 222.455 curveto
-69.53 222.455 68.187 221.112 68.187 219.455 curveto
-68.187 217.799 69.53 216.455 71.187 216.455 curveto
-72.844 216.455 74.187 217.799 74.187 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-74.187 219.455 M
-74.187 221.112 72.844 222.455 71.187 222.455 curveto
-69.53 222.455 68.187 221.112 68.187 219.455 curveto
-68.187 217.799 69.53 216.455 71.187 216.455 curveto
-72.844 216.455 74.187 217.799 74.187 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-74.491 219.455 M
-74.491 221.112 73.147 222.455 71.491 222.455 curveto
-69.834 222.455 68.491 221.112 68.491 219.455 curveto
-68.491 217.799 69.834 216.455 71.491 216.455 curveto
-73.147 216.455 74.491 217.799 74.491 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-74.491 219.455 M
-74.491 221.112 73.147 222.455 71.491 222.455 curveto
-69.834 222.455 68.491 221.112 68.491 219.455 curveto
-68.491 217.799 69.834 216.455 71.491 216.455 curveto
-73.147 216.455 74.491 217.799 74.491 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-74.794 219.455 M
-74.794 221.112 73.451 222.455 71.794 222.455 curveto
-70.137 222.455 68.794 221.112 68.794 219.455 curveto
-68.794 217.799 70.137 216.455 71.794 216.455 curveto
-73.451 216.455 74.794 217.799 74.794 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-74.794 219.455 M
-74.794 221.112 73.451 222.455 71.794 222.455 curveto
-70.137 222.455 68.794 221.112 68.794 219.455 curveto
-68.794 217.799 70.137 216.455 71.794 216.455 curveto
-73.451 216.455 74.794 217.799 74.794 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-75.098 219.455 M
-75.098 221.112 73.755 222.455 72.098 222.455 curveto
-70.441 222.455 69.098 221.112 69.098 219.455 curveto
-69.098 217.799 70.441 216.455 72.098 216.455 curveto
-73.755 216.455 75.098 217.799 75.098 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-75.098 219.455 M
-75.098 221.112 73.755 222.455 72.098 222.455 curveto
-70.441 222.455 69.098 221.112 69.098 219.455 curveto
-69.098 217.799 70.441 216.455 72.098 216.455 curveto
-73.755 216.455 75.098 217.799 75.098 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-75.402 219.455 M
-75.402 221.112 74.059 222.455 72.402 222.455 curveto
-70.745 222.455 69.402 221.112 69.402 219.455 curveto
-69.402 217.799 70.745 216.455 72.402 216.455 curveto
-74.059 216.455 75.402 217.799 75.402 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-75.402 219.455 M
-75.402 221.112 74.059 222.455 72.402 222.455 curveto
-70.745 222.455 69.402 221.112 69.402 219.455 curveto
-69.402 217.799 70.745 216.455 72.402 216.455 curveto
-74.059 216.455 75.402 217.799 75.402 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-75.706 219.455 M
-75.706 221.112 74.362 222.455 72.706 222.455 curveto
-71.049 222.455 69.706 221.112 69.706 219.455 curveto
-69.706 217.799 71.049 216.455 72.706 216.455 curveto
-74.362 216.455 75.706 217.799 75.706 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-75.706 219.455 M
-75.706 221.112 74.362 222.455 72.706 222.455 curveto
-71.049 222.455 69.706 221.112 69.706 219.455 curveto
-69.706 217.799 71.049 216.455 72.706 216.455 curveto
-74.362 216.455 75.706 217.799 75.706 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-76.009 219.455 M
-76.009 221.112 74.666 222.455 73.009 222.455 curveto
-71.352 222.455 70.009 221.112 70.009 219.455 curveto
-70.009 217.799 71.352 216.455 73.009 216.455 curveto
-74.666 216.455 76.009 217.799 76.009 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-76.009 219.455 M
-76.009 221.112 74.666 222.455 73.009 222.455 curveto
-71.352 222.455 70.009 221.112 70.009 219.455 curveto
-70.009 217.799 71.352 216.455 73.009 216.455 curveto
-74.666 216.455 76.009 217.799 76.009 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-76.313 219.455 M
-76.313 221.112 74.97 222.455 73.313 222.455 curveto
-71.656 222.455 70.313 221.112 70.313 219.455 curveto
-70.313 217.799 71.656 216.455 73.313 216.455 curveto
-74.97 216.455 76.313 217.799 76.313 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-76.313 219.455 M
-76.313 221.112 74.97 222.455 73.313 222.455 curveto
-71.656 222.455 70.313 221.112 70.313 219.455 curveto
-70.313 217.799 71.656 216.455 73.313 216.455 curveto
-74.97 216.455 76.313 217.799 76.313 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-76.617 219.455 M
-76.617 221.112 75.274 222.455 73.617 222.455 curveto
-71.96 222.455 70.617 221.112 70.617 219.455 curveto
-70.617 217.799 71.96 216.455 73.617 216.455 curveto
-75.274 216.455 76.617 217.799 76.617 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-76.617 219.455 M
-76.617 221.112 75.274 222.455 73.617 222.455 curveto
-71.96 222.455 70.617 221.112 70.617 219.455 curveto
-70.617 217.799 71.96 216.455 73.617 216.455 curveto
-75.274 216.455 76.617 217.799 76.617 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-76.92 219.455 M
-76.92 221.112 75.577 222.455 73.92 222.455 curveto
-72.264 222.455 70.92 221.112 70.92 219.455 curveto
-70.92 217.799 72.264 216.455 73.92 216.455 curveto
-75.577 216.455 76.92 217.799 76.92 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-76.92 219.455 M
-76.92 221.112 75.577 222.455 73.92 222.455 curveto
-72.264 222.455 70.92 221.112 70.92 219.455 curveto
-70.92 217.799 72.264 216.455 73.92 216.455 curveto
-75.577 216.455 76.92 217.799 76.92 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-77.224 219.455 M
-77.224 221.112 75.881 222.455 74.224 222.455 curveto
-72.567 222.455 71.224 221.112 71.224 219.455 curveto
-71.224 217.799 72.567 216.455 74.224 216.455 curveto
-75.881 216.455 77.224 217.799 77.224 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-77.224 219.455 M
-77.224 221.112 75.881 222.455 74.224 222.455 curveto
-72.567 222.455 71.224 221.112 71.224 219.455 curveto
-71.224 217.799 72.567 216.455 74.224 216.455 curveto
-75.881 216.455 77.224 217.799 77.224 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-77.528 219.455 M
-77.528 221.112 76.185 222.455 74.528 222.455 curveto
-72.871 222.455 71.528 221.112 71.528 219.455 curveto
-71.528 217.799 72.871 216.455 74.528 216.455 curveto
-76.185 216.455 77.528 217.799 77.528 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-77.528 219.455 M
-77.528 221.112 76.185 222.455 74.528 222.455 curveto
-72.871 222.455 71.528 221.112 71.528 219.455 curveto
-71.528 217.799 72.871 216.455 74.528 216.455 curveto
-76.185 216.455 77.528 217.799 77.528 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-77.832 219.455 M
-77.832 221.112 76.489 222.455 74.832 222.455 curveto
-73.175 222.455 71.832 221.112 71.832 219.455 curveto
-71.832 217.799 73.175 216.455 74.832 216.455 curveto
-76.489 216.455 77.832 217.799 77.832 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-77.832 219.455 M
-77.832 221.112 76.489 222.455 74.832 222.455 curveto
-73.175 222.455 71.832 221.112 71.832 219.455 curveto
-71.832 217.799 73.175 216.455 74.832 216.455 curveto
-76.489 216.455 77.832 217.799 77.832 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-78.135 219.455 M
-78.135 221.112 76.792 222.455 75.135 222.455 curveto
-73.479 222.455 72.135 221.112 72.135 219.455 curveto
-72.135 217.799 73.479 216.455 75.135 216.455 curveto
-76.792 216.455 78.135 217.799 78.135 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-78.135 219.455 M
-78.135 221.112 76.792 222.455 75.135 222.455 curveto
-73.479 222.455 72.135 221.112 72.135 219.455 curveto
-72.135 217.799 73.479 216.455 75.135 216.455 curveto
-76.792 216.455 78.135 217.799 78.135 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-78.439 219.455 M
-78.439 221.112 77.096 222.455 75.439 222.455 curveto
-73.782 222.455 72.439 221.112 72.439 219.455 curveto
-72.439 217.799 73.782 216.455 75.439 216.455 curveto
-77.096 216.455 78.439 217.799 78.439 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-78.439 219.455 M
-78.439 221.112 77.096 222.455 75.439 222.455 curveto
-73.782 222.455 72.439 221.112 72.439 219.455 curveto
-72.439 217.799 73.782 216.455 75.439 216.455 curveto
-77.096 216.455 78.439 217.799 78.439 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-78.743 219.455 M
-78.743 221.112 77.4 222.455 75.743 222.455 curveto
-74.086 222.455 72.743 221.112 72.743 219.455 curveto
-72.743 217.799 74.086 216.455 75.743 216.455 curveto
-77.4 216.455 78.743 217.799 78.743 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-78.743 219.455 M
-78.743 221.112 77.4 222.455 75.743 222.455 curveto
-74.086 222.455 72.743 221.112 72.743 219.455 curveto
-72.743 217.799 74.086 216.455 75.743 216.455 curveto
-77.4 216.455 78.743 217.799 78.743 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-79.047 219.455 M
-79.047 221.112 77.704 222.455 76.047 222.455 curveto
-74.39 222.455 73.047 221.112 73.047 219.455 curveto
-73.047 217.799 74.39 216.455 76.047 216.455 curveto
-77.704 216.455 79.047 217.799 79.047 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-79.047 219.455 M
-79.047 221.112 77.704 222.455 76.047 222.455 curveto
-74.39 222.455 73.047 221.112 73.047 219.455 curveto
-73.047 217.799 74.39 216.455 76.047 216.455 curveto
-77.704 216.455 79.047 217.799 79.047 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-79.35 241.004 M
-79.35 242.661 78.007 244.004 76.35 244.004 curveto
-74.694 244.004 73.35 242.661 73.35 241.004 curveto
-73.35 239.347 74.694 238.004 76.35 238.004 curveto
-78.007 238.004 79.35 239.347 79.35 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-79.35 241.004 M
-79.35 242.661 78.007 244.004 76.35 244.004 curveto
-74.694 244.004 73.35 242.661 73.35 241.004 curveto
-73.35 239.347 74.694 238.004 76.35 238.004 curveto
-78.007 238.004 79.35 239.347 79.35 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-79.654 241.004 M
-79.654 242.661 78.311 244.004 76.654 244.004 curveto
-74.997 244.004 73.654 242.661 73.654 241.004 curveto
-73.654 239.347 74.997 238.004 76.654 238.004 curveto
-78.311 238.004 79.654 239.347 79.654 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-79.654 241.004 M
-79.654 242.661 78.311 244.004 76.654 244.004 curveto
-74.997 244.004 73.654 242.661 73.654 241.004 curveto
-73.654 239.347 74.997 238.004 76.654 238.004 curveto
-78.311 238.004 79.654 239.347 79.654 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-79.958 241.004 M
-79.958 242.661 78.615 244.004 76.958 244.004 curveto
-75.301 244.004 73.958 242.661 73.958 241.004 curveto
-73.958 239.347 75.301 238.004 76.958 238.004 curveto
-78.615 238.004 79.958 239.347 79.958 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-79.958 241.004 M
-79.958 242.661 78.615 244.004 76.958 244.004 curveto
-75.301 244.004 73.958 242.661 73.958 241.004 curveto
-73.958 239.347 75.301 238.004 76.958 238.004 curveto
-78.615 238.004 79.958 239.347 79.958 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-80.262 241.004 M
-80.262 242.661 78.918 244.004 77.262 244.004 curveto
-75.605 244.004 74.262 242.661 74.262 241.004 curveto
-74.262 239.347 75.605 238.004 77.262 238.004 curveto
-78.918 238.004 80.262 239.347 80.262 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.262 241.004 M
-80.262 242.661 78.918 244.004 77.262 244.004 curveto
-75.605 244.004 74.262 242.661 74.262 241.004 curveto
-74.262 239.347 75.605 238.004 77.262 238.004 curveto
-78.918 238.004 80.262 239.347 80.262 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-80.565 241.004 M
-80.565 242.661 79.222 244.004 77.565 244.004 curveto
-75.908 244.004 74.565 242.661 74.565 241.004 curveto
-74.565 239.347 75.908 238.004 77.565 238.004 curveto
-79.222 238.004 80.565 239.347 80.565 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.565 241.004 M
-80.565 242.661 79.222 244.004 77.565 244.004 curveto
-75.908 244.004 74.565 242.661 74.565 241.004 curveto
-74.565 239.347 75.908 238.004 77.565 238.004 curveto
-79.222 238.004 80.565 239.347 80.565 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-80.869 241.004 M
-80.869 242.661 79.526 244.004 77.869 244.004 curveto
-76.212 244.004 74.869 242.661 74.869 241.004 curveto
-74.869 239.347 76.212 238.004 77.869 238.004 curveto
-79.526 238.004 80.869 239.347 80.869 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.869 241.004 M
-80.869 242.661 79.526 244.004 77.869 244.004 curveto
-76.212 244.004 74.869 242.661 74.869 241.004 curveto
-74.869 239.347 76.212 238.004 77.869 238.004 curveto
-79.526 238.004 80.869 239.347 80.869 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-81.173 241.004 M
-81.173 242.661 79.83 244.004 78.173 244.004 curveto
-76.516 244.004 75.173 242.661 75.173 241.004 curveto
-75.173 239.347 76.516 238.004 78.173 238.004 curveto
-79.83 238.004 81.173 239.347 81.173 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-81.173 241.004 M
-81.173 242.661 79.83 244.004 78.173 244.004 curveto
-76.516 244.004 75.173 242.661 75.173 241.004 curveto
-75.173 239.347 76.516 238.004 78.173 238.004 curveto
-79.83 238.004 81.173 239.347 81.173 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-81.477 241.004 M
-81.477 242.661 80.133 244.004 78.477 244.004 curveto
-76.82 244.004 75.477 242.661 75.477 241.004 curveto
-75.477 239.347 76.82 238.004 78.477 238.004 curveto
-80.133 238.004 81.477 239.347 81.477 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-81.477 241.004 M
-81.477 242.661 80.133 244.004 78.477 244.004 curveto
-76.82 244.004 75.477 242.661 75.477 241.004 curveto
-75.477 239.347 76.82 238.004 78.477 238.004 curveto
-80.133 238.004 81.477 239.347 81.477 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-81.78 241.004 M
-81.78 242.661 80.437 244.004 78.78 244.004 curveto
-77.123 244.004 75.78 242.661 75.78 241.004 curveto
-75.78 239.347 77.123 238.004 78.78 238.004 curveto
-80.437 238.004 81.78 239.347 81.78 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-81.78 241.004 M
-81.78 242.661 80.437 244.004 78.78 244.004 curveto
-77.123 244.004 75.78 242.661 75.78 241.004 curveto
-75.78 239.347 77.123 238.004 78.78 238.004 curveto
-80.437 238.004 81.78 239.347 81.78 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-82.084 241.004 M
-82.084 242.661 80.741 244.004 79.084 244.004 curveto
-77.427 244.004 76.084 242.661 76.084 241.004 curveto
-76.084 239.347 77.427 238.004 79.084 238.004 curveto
-80.741 238.004 82.084 239.347 82.084 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-82.084 241.004 M
-82.084 242.661 80.741 244.004 79.084 244.004 curveto
-77.427 244.004 76.084 242.661 76.084 241.004 curveto
-76.084 239.347 77.427 238.004 79.084 238.004 curveto
-80.741 238.004 82.084 239.347 82.084 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-82.388 241.004 M
-82.388 242.661 81.045 244.004 79.388 244.004 curveto
-77.731 244.004 76.388 242.661 76.388 241.004 curveto
-76.388 239.347 77.731 238.004 79.388 238.004 curveto
-81.045 238.004 82.388 239.347 82.388 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-82.388 241.004 M
-82.388 242.661 81.045 244.004 79.388 244.004 curveto
-77.731 244.004 76.388 242.661 76.388 241.004 curveto
-76.388 239.347 77.731 238.004 79.388 238.004 curveto
-81.045 238.004 82.388 239.347 82.388 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-82.692 241.004 M
-82.692 242.661 81.348 244.004 79.692 244.004 curveto
-78.035 244.004 76.692 242.661 76.692 241.004 curveto
-76.692 239.347 78.035 238.004 79.692 238.004 curveto
-81.348 238.004 82.692 239.347 82.692 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-82.692 241.004 M
-82.692 242.661 81.348 244.004 79.692 244.004 curveto
-78.035 244.004 76.692 242.661 76.692 241.004 curveto
-76.692 239.347 78.035 238.004 79.692 238.004 curveto
-81.348 238.004 82.692 239.347 82.692 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-82.995 262.552 M
-82.995 264.209 81.652 265.552 79.995 265.552 curveto
-78.338 265.552 76.995 264.209 76.995 262.552 curveto
-76.995 260.895 78.338 259.552 79.995 259.552 curveto
-81.652 259.552 82.995 260.895 82.995 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-82.995 262.552 M
-82.995 264.209 81.652 265.552 79.995 265.552 curveto
-78.338 265.552 76.995 264.209 76.995 262.552 curveto
-76.995 260.895 78.338 259.552 79.995 259.552 curveto
-81.652 259.552 82.995 260.895 82.995 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-83.299 262.552 M
-83.299 264.209 81.956 265.552 80.299 265.552 curveto
-78.642 265.552 77.299 264.209 77.299 262.552 curveto
-77.299 260.895 78.642 259.552 80.299 259.552 curveto
-81.956 259.552 83.299 260.895 83.299 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.299 262.552 M
-83.299 264.209 81.956 265.552 80.299 265.552 curveto
-78.642 265.552 77.299 264.209 77.299 262.552 curveto
-77.299 260.895 78.642 259.552 80.299 259.552 curveto
-81.956 259.552 83.299 260.895 83.299 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-83.603 262.552 M
-83.603 264.209 82.26 265.552 80.603 265.552 curveto
-78.946 265.552 77.603 264.209 77.603 262.552 curveto
-77.603 260.895 78.946 259.552 80.603 259.552 curveto
-82.26 259.552 83.603 260.895 83.603 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.603 262.552 M
-83.603 264.209 82.26 265.552 80.603 265.552 curveto
-78.946 265.552 77.603 264.209 77.603 262.552 curveto
-77.603 260.895 78.946 259.552 80.603 259.552 curveto
-82.26 259.552 83.603 260.895 83.603 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-83.906 262.552 M
-83.906 264.209 82.563 265.552 80.906 265.552 curveto
-79.25 265.552 77.906 264.209 77.906 262.552 curveto
-77.906 260.895 79.25 259.552 80.906 259.552 curveto
-82.563 259.552 83.906 260.895 83.906 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.906 262.552 M
-83.906 264.209 82.563 265.552 80.906 265.552 curveto
-79.25 265.552 77.906 264.209 77.906 262.552 curveto
-77.906 260.895 79.25 259.552 80.906 259.552 curveto
-82.563 259.552 83.906 260.895 83.906 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-84.21 262.552 M
-84.21 264.209 82.867 265.552 81.21 265.552 curveto
-79.553 265.552 78.21 264.209 78.21 262.552 curveto
-78.21 260.895 79.553 259.552 81.21 259.552 curveto
-82.867 259.552 84.21 260.895 84.21 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-84.21 262.552 M
-84.21 264.209 82.867 265.552 81.21 265.552 curveto
-79.553 265.552 78.21 264.209 78.21 262.552 curveto
-78.21 260.895 79.553 259.552 81.21 259.552 curveto
-82.867 259.552 84.21 260.895 84.21 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-84.514 262.552 M
-84.514 264.209 83.171 265.552 81.514 265.552 curveto
-79.857 265.552 78.514 264.209 78.514 262.552 curveto
-78.514 260.895 79.857 259.552 81.514 259.552 curveto
-83.171 259.552 84.514 260.895 84.514 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-84.514 262.552 M
-84.514 264.209 83.171 265.552 81.514 265.552 curveto
-79.857 265.552 78.514 264.209 78.514 262.552 curveto
-78.514 260.895 79.857 259.552 81.514 259.552 curveto
-83.171 259.552 84.514 260.895 84.514 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-84.818 262.552 M
-84.818 264.209 83.475 265.552 81.818 265.552 curveto
-80.161 265.552 78.818 264.209 78.818 262.552 curveto
-78.818 260.895 80.161 259.552 81.818 259.552 curveto
-83.475 259.552 84.818 260.895 84.818 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-84.818 262.552 M
-84.818 264.209 83.475 265.552 81.818 265.552 curveto
-80.161 265.552 78.818 264.209 78.818 262.552 curveto
-78.818 260.895 80.161 259.552 81.818 259.552 curveto
-83.475 259.552 84.818 260.895 84.818 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-85.121 262.552 M
-85.121 264.209 83.778 265.552 82.121 265.552 curveto
-80.465 265.552 79.121 264.209 79.121 262.552 curveto
-79.121 260.895 80.465 259.552 82.121 259.552 curveto
-83.778 259.552 85.121 260.895 85.121 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-85.121 262.552 M
-85.121 264.209 83.778 265.552 82.121 265.552 curveto
-80.465 265.552 79.121 264.209 79.121 262.552 curveto
-79.121 260.895 80.465 259.552 82.121 259.552 curveto
-83.778 259.552 85.121 260.895 85.121 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-85.425 262.552 M
-85.425 264.209 84.082 265.552 82.425 265.552 curveto
-80.768 265.552 79.425 264.209 79.425 262.552 curveto
-79.425 260.895 80.768 259.552 82.425 259.552 curveto
-84.082 259.552 85.425 260.895 85.425 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-85.425 262.552 M
-85.425 264.209 84.082 265.552 82.425 265.552 curveto
-80.768 265.552 79.425 264.209 79.425 262.552 curveto
-79.425 260.895 80.768 259.552 82.425 259.552 curveto
-84.082 259.552 85.425 260.895 85.425 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-85.729 262.552 M
-85.729 264.209 84.386 265.552 82.729 265.552 curveto
-81.072 265.552 79.729 264.209 79.729 262.552 curveto
-79.729 260.895 81.072 259.552 82.729 259.552 curveto
-84.386 259.552 85.729 260.895 85.729 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-85.729 262.552 M
-85.729 264.209 84.386 265.552 82.729 265.552 curveto
-81.072 265.552 79.729 264.209 79.729 262.552 curveto
-79.729 260.895 81.072 259.552 82.729 259.552 curveto
-84.386 259.552 85.729 260.895 85.729 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-86.033 262.552 M
-86.033 264.209 84.689 265.552 83.033 265.552 curveto
-81.376 265.552 80.033 264.209 80.033 262.552 curveto
-80.033 260.895 81.376 259.552 83.033 259.552 curveto
-84.689 259.552 86.033 260.895 86.033 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-86.033 262.552 M
-86.033 264.209 84.689 265.552 83.033 265.552 curveto
-81.376 265.552 80.033 264.209 80.033 262.552 curveto
-80.033 260.895 81.376 259.552 83.033 259.552 curveto
-84.689 259.552 86.033 260.895 86.033 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-86.336 262.552 M
-86.336 264.209 84.993 265.552 83.336 265.552 curveto
-81.679 265.552 80.336 264.209 80.336 262.552 curveto
-80.336 260.895 81.679 259.552 83.336 259.552 curveto
-84.993 259.552 86.336 260.895 86.336 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-86.336 262.552 M
-86.336 264.209 84.993 265.552 83.336 265.552 curveto
-81.679 265.552 80.336 264.209 80.336 262.552 curveto
-80.336 260.895 81.679 259.552 83.336 259.552 curveto
-84.993 259.552 86.336 260.895 86.336 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-86.64 262.552 M
-86.64 264.209 85.297 265.552 83.64 265.552 curveto
-81.983 265.552 80.64 264.209 80.64 262.552 curveto
-80.64 260.895 81.983 259.552 83.64 259.552 curveto
-85.297 259.552 86.64 260.895 86.64 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-86.64 262.552 M
-86.64 264.209 85.297 265.552 83.64 265.552 curveto
-81.983 265.552 80.64 264.209 80.64 262.552 curveto
-80.64 260.895 81.983 259.552 83.64 259.552 curveto
-85.297 259.552 86.64 260.895 86.64 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-86.944 262.552 M
-86.944 264.209 85.601 265.552 83.944 265.552 curveto
-82.287 265.552 80.944 264.209 80.944 262.552 curveto
-80.944 260.895 82.287 259.552 83.944 259.552 curveto
-85.601 259.552 86.944 260.895 86.944 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-86.944 262.552 M
-86.944 264.209 85.601 265.552 83.944 265.552 curveto
-82.287 265.552 80.944 264.209 80.944 262.552 curveto
-80.944 260.895 82.287 259.552 83.944 259.552 curveto
-85.601 259.552 86.944 260.895 86.944 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-87.248 262.552 M
-87.248 264.209 85.904 265.552 84.248 265.552 curveto
-82.591 265.552 81.248 264.209 81.248 262.552 curveto
-81.248 260.895 82.591 259.552 84.248 259.552 curveto
-85.904 259.552 87.248 260.895 87.248 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.248 262.552 M
-87.248 264.209 85.904 265.552 84.248 265.552 curveto
-82.591 265.552 81.248 264.209 81.248 262.552 curveto
-81.248 260.895 82.591 259.552 84.248 259.552 curveto
-85.904 259.552 87.248 260.895 87.248 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-87.551 262.552 M
-87.551 264.209 86.208 265.552 84.551 265.552 curveto
-82.894 265.552 81.551 264.209 81.551 262.552 curveto
-81.551 260.895 82.894 259.552 84.551 259.552 curveto
-86.208 259.552 87.551 260.895 87.551 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.551 262.552 M
-87.551 264.209 86.208 265.552 84.551 265.552 curveto
-82.894 265.552 81.551 264.209 81.551 262.552 curveto
-81.551 260.895 82.894 259.552 84.551 259.552 curveto
-86.208 259.552 87.551 260.895 87.551 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-87.855 262.552 M
-87.855 264.209 86.512 265.552 84.855 265.552 curveto
-83.198 265.552 81.855 264.209 81.855 262.552 curveto
-81.855 260.895 83.198 259.552 84.855 259.552 curveto
-86.512 259.552 87.855 260.895 87.855 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.855 262.552 M
-87.855 264.209 86.512 265.552 84.855 265.552 curveto
-83.198 265.552 81.855 264.209 81.855 262.552 curveto
-81.855 260.895 83.198 259.552 84.855 259.552 curveto
-86.512 259.552 87.855 260.895 87.855 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-88.159 305.648 M
-88.159 307.305 86.816 308.648 85.159 308.648 curveto
-83.502 308.648 82.159 307.305 82.159 305.648 curveto
-82.159 303.992 83.502 302.648 85.159 302.648 curveto
-86.816 302.648 88.159 303.992 88.159 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-88.159 305.648 M
-88.159 307.305 86.816 308.648 85.159 308.648 curveto
-83.502 308.648 82.159 307.305 82.159 305.648 curveto
-82.159 303.992 83.502 302.648 85.159 302.648 curveto
-86.816 302.648 88.159 303.992 88.159 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-88.463 305.648 M
-88.463 307.305 87.119 308.648 85.463 308.648 curveto
-83.806 308.648 82.463 307.305 82.463 305.648 curveto
-82.463 303.992 83.806 302.648 85.463 302.648 curveto
-87.119 302.648 88.463 303.992 88.463 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-88.463 305.648 M
-88.463 307.305 87.119 308.648 85.463 308.648 curveto
-83.806 308.648 82.463 307.305 82.463 305.648 curveto
-82.463 303.992 83.806 302.648 85.463 302.648 curveto
-87.119 302.648 88.463 303.992 88.463 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-88.766 305.648 M
-88.766 307.305 87.423 308.648 85.766 308.648 curveto
-84.109 308.648 82.766 307.305 82.766 305.648 curveto
-82.766 303.992 84.109 302.648 85.766 302.648 curveto
-87.423 302.648 88.766 303.992 88.766 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-88.766 305.648 M
-88.766 307.305 87.423 308.648 85.766 308.648 curveto
-84.109 308.648 82.766 307.305 82.766 305.648 curveto
-82.766 303.992 84.109 302.648 85.766 302.648 curveto
-87.423 302.648 88.766 303.992 88.766 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-89.07 305.648 M
-89.07 307.305 87.727 308.648 86.07 308.648 curveto
-84.413 308.648 83.07 307.305 83.07 305.648 curveto
-83.07 303.992 84.413 302.648 86.07 302.648 curveto
-87.727 302.648 89.07 303.992 89.07 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-89.07 305.648 M
-89.07 307.305 87.727 308.648 86.07 308.648 curveto
-84.413 308.648 83.07 307.305 83.07 305.648 curveto
-83.07 303.992 84.413 302.648 86.07 302.648 curveto
-87.727 302.648 89.07 303.992 89.07 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-89.374 305.648 M
-89.374 307.305 88.031 308.648 86.374 308.648 curveto
-84.717 308.648 83.374 307.305 83.374 305.648 curveto
-83.374 303.992 84.717 302.648 86.374 302.648 curveto
-88.031 302.648 89.374 303.992 89.374 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-89.374 305.648 M
-89.374 307.305 88.031 308.648 86.374 308.648 curveto
-84.717 308.648 83.374 307.305 83.374 305.648 curveto
-83.374 303.992 84.717 302.648 86.374 302.648 curveto
-88.031 302.648 89.374 303.992 89.374 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-89.677 305.648 M
-89.677 307.305 88.334 308.648 86.677 308.648 curveto
-85.021 308.648 83.677 307.305 83.677 305.648 curveto
-83.677 303.992 85.021 302.648 86.677 302.648 curveto
-88.334 302.648 89.677 303.992 89.677 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-89.677 305.648 M
-89.677 307.305 88.334 308.648 86.677 308.648 curveto
-85.021 308.648 83.677 307.305 83.677 305.648 curveto
-83.677 303.992 85.021 302.648 86.677 302.648 curveto
-88.334 302.648 89.677 303.992 89.677 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-89.981 305.648 M
-89.981 307.305 88.638 308.648 86.981 308.648 curveto
-85.324 308.648 83.981 307.305 83.981 305.648 curveto
-83.981 303.992 85.324 302.648 86.981 302.648 curveto
-88.638 302.648 89.981 303.992 89.981 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-89.981 305.648 M
-89.981 307.305 88.638 308.648 86.981 308.648 curveto
-85.324 308.648 83.981 307.305 83.981 305.648 curveto
-83.981 303.992 85.324 302.648 86.981 302.648 curveto
-88.638 302.648 89.981 303.992 89.981 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-90.285 305.648 M
-90.285 307.305 88.942 308.648 87.285 308.648 curveto
-85.628 308.648 84.285 307.305 84.285 305.648 curveto
-84.285 303.992 85.628 302.648 87.285 302.648 curveto
-88.942 302.648 90.285 303.992 90.285 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-90.285 305.648 M
-90.285 307.305 88.942 308.648 87.285 308.648 curveto
-85.628 308.648 84.285 307.305 84.285 305.648 curveto
-84.285 303.992 85.628 302.648 87.285 302.648 curveto
-88.942 302.648 90.285 303.992 90.285 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-90.589 305.648 M
-90.589 307.305 89.246 308.648 87.589 308.648 curveto
-85.932 308.648 84.589 307.305 84.589 305.648 curveto
-84.589 303.992 85.932 302.648 87.589 302.648 curveto
-89.246 302.648 90.589 303.992 90.589 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-90.589 305.648 M
-90.589 307.305 89.246 308.648 87.589 308.648 curveto
-85.932 308.648 84.589 307.305 84.589 305.648 curveto
-84.589 303.992 85.932 302.648 87.589 302.648 curveto
-89.246 302.648 90.589 303.992 90.589 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-90.892 305.648 M
-90.892 307.305 89.549 308.648 87.892 308.648 curveto
-86.236 308.648 84.892 307.305 84.892 305.648 curveto
-84.892 303.992 86.236 302.648 87.892 302.648 curveto
-89.549 302.648 90.892 303.992 90.892 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-90.892 305.648 M
-90.892 307.305 89.549 308.648 87.892 308.648 curveto
-86.236 308.648 84.892 307.305 84.892 305.648 curveto
-84.892 303.992 86.236 302.648 87.892 302.648 curveto
-89.549 302.648 90.892 303.992 90.892 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-91.196 305.648 M
-91.196 307.305 89.853 308.648 88.196 308.648 curveto
-86.539 308.648 85.196 307.305 85.196 305.648 curveto
-85.196 303.992 86.539 302.648 88.196 302.648 curveto
-89.853 302.648 91.196 303.992 91.196 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-91.196 305.648 M
-91.196 307.305 89.853 308.648 88.196 308.648 curveto
-86.539 308.648 85.196 307.305 85.196 305.648 curveto
-85.196 303.992 86.539 302.648 88.196 302.648 curveto
-89.853 302.648 91.196 303.992 91.196 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-91.5 305.648 M
-91.5 307.305 90.157 308.648 88.5 308.648 curveto
-86.843 308.648 85.5 307.305 85.5 305.648 curveto
-85.5 303.992 86.843 302.648 88.5 302.648 curveto
-90.157 302.648 91.5 303.992 91.5 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-91.5 305.648 M
-91.5 307.305 90.157 308.648 88.5 308.648 curveto
-86.843 308.648 85.5 307.305 85.5 305.648 curveto
-85.5 303.992 86.843 302.648 88.5 302.648 curveto
-90.157 302.648 91.5 303.992 91.5 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-91.804 305.648 M
-91.804 307.305 90.46 308.648 88.804 308.648 curveto
-87.147 308.648 85.804 307.305 85.804 305.648 curveto
-85.804 303.992 87.147 302.648 88.804 302.648 curveto
-90.46 302.648 91.804 303.992 91.804 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-91.804 305.648 M
-91.804 307.305 90.46 308.648 88.804 308.648 curveto
-87.147 308.648 85.804 307.305 85.804 305.648 curveto
-85.804 303.992 87.147 302.648 88.804 302.648 curveto
-90.46 302.648 91.804 303.992 91.804 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-92.107 305.648 M
-92.107 307.305 90.764 308.648 89.107 308.648 curveto
-87.451 308.648 86.107 307.305 86.107 305.648 curveto
-86.107 303.992 87.451 302.648 89.107 302.648 curveto
-90.764 302.648 92.107 303.992 92.107 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-92.107 305.648 M
-92.107 307.305 90.764 308.648 89.107 308.648 curveto
-87.451 308.648 86.107 307.305 86.107 305.648 curveto
-86.107 303.992 87.451 302.648 89.107 302.648 curveto
-90.764 302.648 92.107 303.992 92.107 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-92.411 305.648 M
-92.411 307.305 91.068 308.648 89.411 308.648 curveto
-87.754 308.648 86.411 307.305 86.411 305.648 curveto
-86.411 303.992 87.754 302.648 89.411 302.648 curveto
-91.068 302.648 92.411 303.992 92.411 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-92.411 305.648 M
-92.411 307.305 91.068 308.648 89.411 308.648 curveto
-87.754 308.648 86.411 307.305 86.411 305.648 curveto
-86.411 303.992 87.754 302.648 89.411 302.648 curveto
-91.068 302.648 92.411 303.992 92.411 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-92.715 305.648 M
-92.715 307.305 91.372 308.648 89.715 308.648 curveto
-88.058 308.648 86.715 307.305 86.715 305.648 curveto
-86.715 303.992 88.058 302.648 89.715 302.648 curveto
-91.372 302.648 92.715 303.992 92.715 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-92.715 305.648 M
-92.715 307.305 91.372 308.648 89.715 308.648 curveto
-88.058 308.648 86.715 307.305 86.715 305.648 curveto
-86.715 303.992 88.058 302.648 89.715 302.648 curveto
-91.372 302.648 92.715 303.992 92.715 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-93.019 305.648 M
-93.019 307.305 91.675 308.648 90.019 308.648 curveto
-88.362 308.648 87.019 307.305 87.019 305.648 curveto
-87.019 303.992 88.362 302.648 90.019 302.648 curveto
-91.675 302.648 93.019 303.992 93.019 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-93.019 305.648 M
-93.019 307.305 91.675 308.648 90.019 308.648 curveto
-88.362 308.648 87.019 307.305 87.019 305.648 curveto
-87.019 303.992 88.362 302.648 90.019 302.648 curveto
-91.675 302.648 93.019 303.992 93.019 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-93.322 305.648 M
-93.322 307.305 91.979 308.648 90.322 308.648 curveto
-88.665 308.648 87.322 307.305 87.322 305.648 curveto
-87.322 303.992 88.665 302.648 90.322 302.648 curveto
-91.979 302.648 93.322 303.992 93.322 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-93.322 305.648 M
-93.322 307.305 91.979 308.648 90.322 308.648 curveto
-88.665 308.648 87.322 307.305 87.322 305.648 curveto
-87.322 303.992 88.665 302.648 90.322 302.648 curveto
-91.979 302.648 93.322 303.992 93.322 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-93.626 305.648 M
-93.626 307.305 92.283 308.648 90.626 308.648 curveto
-88.969 308.648 87.626 307.305 87.626 305.648 curveto
-87.626 303.992 88.969 302.648 90.626 302.648 curveto
-92.283 302.648 93.626 303.992 93.626 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-93.626 305.648 M
-93.626 307.305 92.283 308.648 90.626 308.648 curveto
-88.969 308.648 87.626 307.305 87.626 305.648 curveto
-87.626 303.992 88.969 302.648 90.626 302.648 curveto
-92.283 302.648 93.626 303.992 93.626 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-93.93 305.648 M
-93.93 307.305 92.587 308.648 90.93 308.648 curveto
-89.273 308.648 87.93 307.305 87.93 305.648 curveto
-87.93 303.992 89.273 302.648 90.93 302.648 curveto
-92.587 302.648 93.93 303.992 93.93 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-93.93 305.648 M
-93.93 307.305 92.587 308.648 90.93 308.648 curveto
-89.273 308.648 87.93 307.305 87.93 305.648 curveto
-87.93 303.992 89.273 302.648 90.93 302.648 curveto
-92.587 302.648 93.93 303.992 93.93 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-94.234 305.648 M
-94.234 307.305 92.89 308.648 91.234 308.648 curveto
-89.577 308.648 88.234 307.305 88.234 305.648 curveto
-88.234 303.992 89.577 302.648 91.234 302.648 curveto
-92.89 302.648 94.234 303.992 94.234 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-94.234 305.648 M
-94.234 307.305 92.89 308.648 91.234 308.648 curveto
-89.577 308.648 88.234 307.305 88.234 305.648 curveto
-88.234 303.992 89.577 302.648 91.234 302.648 curveto
-92.89 302.648 94.234 303.992 94.234 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-94.537 305.648 M
-94.537 307.305 93.194 308.648 91.537 308.648 curveto
-89.88 308.648 88.537 307.305 88.537 305.648 curveto
-88.537 303.992 89.88 302.648 91.537 302.648 curveto
-93.194 302.648 94.537 303.992 94.537 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-94.537 305.648 M
-94.537 307.305 93.194 308.648 91.537 308.648 curveto
-89.88 308.648 88.537 307.305 88.537 305.648 curveto
-88.537 303.992 89.88 302.648 91.537 302.648 curveto
-93.194 302.648 94.537 303.992 94.537 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-94.841 305.648 M
-94.841 307.305 93.498 308.648 91.841 308.648 curveto
-90.184 308.648 88.841 307.305 88.841 305.648 curveto
-88.841 303.992 90.184 302.648 91.841 302.648 curveto
-93.498 302.648 94.841 303.992 94.841 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-94.841 305.648 M
-94.841 307.305 93.498 308.648 91.841 308.648 curveto
-90.184 308.648 88.841 307.305 88.841 305.648 curveto
-88.841 303.992 90.184 302.648 91.841 302.648 curveto
-93.498 302.648 94.841 303.992 94.841 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-95.145 305.648 M
-95.145 307.305 93.802 308.648 92.145 308.648 curveto
-90.488 308.648 89.145 307.305 89.145 305.648 curveto
-89.145 303.992 90.488 302.648 92.145 302.648 curveto
-93.802 302.648 95.145 303.992 95.145 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-95.145 305.648 M
-95.145 307.305 93.802 308.648 92.145 308.648 curveto
-90.488 308.648 89.145 307.305 89.145 305.648 curveto
-89.145 303.992 90.488 302.648 92.145 302.648 curveto
-93.802 302.648 95.145 303.992 95.145 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-95.448 305.648 M
-95.448 307.305 94.105 308.648 92.448 308.648 curveto
-90.792 308.648 89.448 307.305 89.448 305.648 curveto
-89.448 303.992 90.792 302.648 92.448 302.648 curveto
-94.105 302.648 95.448 303.992 95.448 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-95.448 305.648 M
-95.448 307.305 94.105 308.648 92.448 308.648 curveto
-90.792 308.648 89.448 307.305 89.448 305.648 curveto
-89.448 303.992 90.792 302.648 92.448 302.648 curveto
-94.105 302.648 95.448 303.992 95.448 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-95.752 305.648 M
-95.752 307.305 94.409 308.648 92.752 308.648 curveto
-91.095 308.648 89.752 307.305 89.752 305.648 curveto
-89.752 303.992 91.095 302.648 92.752 302.648 curveto
-94.409 302.648 95.752 303.992 95.752 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-95.752 305.648 M
-95.752 307.305 94.409 308.648 92.752 308.648 curveto
-91.095 308.648 89.752 307.305 89.752 305.648 curveto
-89.752 303.992 91.095 302.648 92.752 302.648 curveto
-94.409 302.648 95.752 303.992 95.752 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-96.056 305.648 M
-96.056 307.305 94.713 308.648 93.056 308.648 curveto
-91.399 308.648 90.056 307.305 90.056 305.648 curveto
-90.056 303.992 91.399 302.648 93.056 302.648 curveto
-94.713 302.648 96.056 303.992 96.056 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-96.056 305.648 M
-96.056 307.305 94.713 308.648 93.056 308.648 curveto
-91.399 308.648 90.056 307.305 90.056 305.648 curveto
-90.056 303.992 91.399 302.648 93.056 302.648 curveto
-94.713 302.648 96.056 303.992 96.056 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-96.36 305.648 M
-96.36 307.305 95.017 308.648 93.36 308.648 curveto
-91.703 308.648 90.36 307.305 90.36 305.648 curveto
-90.36 303.992 91.703 302.648 93.36 302.648 curveto
-95.017 302.648 96.36 303.992 96.36 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-96.36 305.648 M
-96.36 307.305 95.017 308.648 93.36 308.648 curveto
-91.703 308.648 90.36 307.305 90.36 305.648 curveto
-90.36 303.992 91.703 302.648 93.36 302.648 curveto
-95.017 302.648 96.36 303.992 96.36 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-96.663 305.648 M
-96.663 307.305 95.32 308.648 93.663 308.648 curveto
-92.007 308.648 90.663 307.305 90.663 305.648 curveto
-90.663 303.992 92.007 302.648 93.663 302.648 curveto
-95.32 302.648 96.663 303.992 96.663 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-96.663 305.648 M
-96.663 307.305 95.32 308.648 93.663 308.648 curveto
-92.007 308.648 90.663 307.305 90.663 305.648 curveto
-90.663 303.992 92.007 302.648 93.663 302.648 curveto
-95.32 302.648 96.663 303.992 96.663 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-96.967 305.648 M
-96.967 307.305 95.624 308.648 93.967 308.648 curveto
-92.31 308.648 90.967 307.305 90.967 305.648 curveto
-90.967 303.992 92.31 302.648 93.967 302.648 curveto
-95.624 302.648 96.967 303.992 96.967 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-96.967 305.648 M
-96.967 307.305 95.624 308.648 93.967 308.648 curveto
-92.31 308.648 90.967 307.305 90.967 305.648 curveto
-90.967 303.992 92.31 302.648 93.967 302.648 curveto
-95.624 302.648 96.967 303.992 96.967 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-97.271 305.648 M
-97.271 307.305 95.928 308.648 94.271 308.648 curveto
-92.614 308.648 91.271 307.305 91.271 305.648 curveto
-91.271 303.992 92.614 302.648 94.271 302.648 curveto
-95.928 302.648 97.271 303.992 97.271 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-97.271 305.648 M
-97.271 307.305 95.928 308.648 94.271 308.648 curveto
-92.614 308.648 91.271 307.305 91.271 305.648 curveto
-91.271 303.992 92.614 302.648 94.271 302.648 curveto
-95.928 302.648 97.271 303.992 97.271 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-97.575 305.648 M
-97.575 307.305 96.231 308.648 94.575 308.648 curveto
-92.918 308.648 91.575 307.305 91.575 305.648 curveto
-91.575 303.992 92.918 302.648 94.575 302.648 curveto
-96.231 302.648 97.575 303.992 97.575 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-97.575 305.648 M
-97.575 307.305 96.231 308.648 94.575 308.648 curveto
-92.918 308.648 91.575 307.305 91.575 305.648 curveto
-91.575 303.992 92.918 302.648 94.575 302.648 curveto
-96.231 302.648 97.575 303.992 97.575 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-97.878 305.648 M
-97.878 307.305 96.535 308.648 94.878 308.648 curveto
-93.222 308.648 91.878 307.305 91.878 305.648 curveto
-91.878 303.992 93.222 302.648 94.878 302.648 curveto
-96.535 302.648 97.878 303.992 97.878 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-97.878 305.648 M
-97.878 307.305 96.535 308.648 94.878 308.648 curveto
-93.222 308.648 91.878 307.305 91.878 305.648 curveto
-91.878 303.992 93.222 302.648 94.878 302.648 curveto
-96.535 302.648 97.878 303.992 97.878 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-98.182 305.648 M
-98.182 307.305 96.839 308.648 95.182 308.648 curveto
-93.525 308.648 92.182 307.305 92.182 305.648 curveto
-92.182 303.992 93.525 302.648 95.182 302.648 curveto
-96.839 302.648 98.182 303.992 98.182 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-98.182 305.648 M
-98.182 307.305 96.839 308.648 95.182 308.648 curveto
-93.525 308.648 92.182 307.305 92.182 305.648 curveto
-92.182 303.992 93.525 302.648 95.182 302.648 curveto
-96.839 302.648 98.182 303.992 98.182 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-98.486 305.648 M
-98.486 307.305 97.143 308.648 95.486 308.648 curveto
-93.829 308.648 92.486 307.305 92.486 305.648 curveto
-92.486 303.992 93.829 302.648 95.486 302.648 curveto
-97.143 302.648 98.486 303.992 98.486 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-98.486 305.648 M
-98.486 307.305 97.143 308.648 95.486 308.648 curveto
-93.829 308.648 92.486 307.305 92.486 305.648 curveto
-92.486 303.992 93.829 302.648 95.486 302.648 curveto
-97.143 302.648 98.486 303.992 98.486 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-98.79 305.648 M
-98.79 307.305 97.446 308.648 95.79 308.648 curveto
-94.133 308.648 92.79 307.305 92.79 305.648 curveto
-92.79 303.992 94.133 302.648 95.79 302.648 curveto
-97.446 302.648 98.79 303.992 98.79 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-98.79 305.648 M
-98.79 307.305 97.446 308.648 95.79 308.648 curveto
-94.133 308.648 92.79 307.305 92.79 305.648 curveto
-92.79 303.992 94.133 302.648 95.79 302.648 curveto
-97.446 302.648 98.79 303.992 98.79 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-99.093 305.648 M
-99.093 307.305 97.75 308.648 96.093 308.648 curveto
-94.436 308.648 93.093 307.305 93.093 305.648 curveto
-93.093 303.992 94.436 302.648 96.093 302.648 curveto
-97.75 302.648 99.093 303.992 99.093 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-99.093 305.648 M
-99.093 307.305 97.75 308.648 96.093 308.648 curveto
-94.436 308.648 93.093 307.305 93.093 305.648 curveto
-93.093 303.992 94.436 302.648 96.093 302.648 curveto
-97.75 302.648 99.093 303.992 99.093 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-99.397 305.648 M
-99.397 307.305 98.054 308.648 96.397 308.648 curveto
-94.74 308.648 93.397 307.305 93.397 305.648 curveto
-93.397 303.992 94.74 302.648 96.397 302.648 curveto
-98.054 302.648 99.397 303.992 99.397 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-99.397 305.648 M
-99.397 307.305 98.054 308.648 96.397 308.648 curveto
-94.74 308.648 93.397 307.305 93.397 305.648 curveto
-93.397 303.992 94.74 302.648 96.397 302.648 curveto
-98.054 302.648 99.397 303.992 99.397 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-99.701 197.907 M
-99.701 199.564 98.358 200.907 96.701 200.907 curveto
-95.044 200.907 93.701 199.564 93.701 197.907 curveto
-93.701 196.25 95.044 194.907 96.701 194.907 curveto
-98.358 194.907 99.701 196.25 99.701 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-99.701 197.907 M
-99.701 199.564 98.358 200.907 96.701 200.907 curveto
-95.044 200.907 93.701 199.564 93.701 197.907 curveto
-93.701 196.25 95.044 194.907 96.701 194.907 curveto
-98.358 194.907 99.701 196.25 99.701 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-100.005 219.455 M
-100.005 221.112 98.661 222.455 97.005 222.455 curveto
-95.348 222.455 94.005 221.112 94.005 219.455 curveto
-94.005 217.799 95.348 216.455 97.005 216.455 curveto
-98.661 216.455 100.005 217.799 100.005 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-100.005 219.455 M
-100.005 221.112 98.661 222.455 97.005 222.455 curveto
-95.348 222.455 94.005 221.112 94.005 219.455 curveto
-94.005 217.799 95.348 216.455 97.005 216.455 curveto
-98.661 216.455 100.005 217.799 100.005 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-100.308 219.455 M
-100.308 221.112 98.965 222.455 97.308 222.455 curveto
-95.651 222.455 94.308 221.112 94.308 219.455 curveto
-94.308 217.799 95.651 216.455 97.308 216.455 curveto
-98.965 216.455 100.308 217.799 100.308 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-100.308 219.455 M
-100.308 221.112 98.965 222.455 97.308 222.455 curveto
-95.651 222.455 94.308 221.112 94.308 219.455 curveto
-94.308 217.799 95.651 216.455 97.308 216.455 curveto
-98.965 216.455 100.308 217.799 100.308 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-100.612 219.455 M
-100.612 221.112 99.269 222.455 97.612 222.455 curveto
-95.955 222.455 94.612 221.112 94.612 219.455 curveto
-94.612 217.799 95.955 216.455 97.612 216.455 curveto
-99.269 216.455 100.612 217.799 100.612 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-100.612 219.455 M
-100.612 221.112 99.269 222.455 97.612 222.455 curveto
-95.955 222.455 94.612 221.112 94.612 219.455 curveto
-94.612 217.799 95.955 216.455 97.612 216.455 curveto
-99.269 216.455 100.612 217.799 100.612 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-100.916 219.455 M
-100.916 221.112 99.573 222.455 97.916 222.455 curveto
-96.259 222.455 94.916 221.112 94.916 219.455 curveto
-94.916 217.799 96.259 216.455 97.916 216.455 curveto
-99.573 216.455 100.916 217.799 100.916 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-100.916 219.455 M
-100.916 221.112 99.573 222.455 97.916 222.455 curveto
-96.259 222.455 94.916 221.112 94.916 219.455 curveto
-94.916 217.799 96.259 216.455 97.916 216.455 curveto
-99.573 216.455 100.916 217.799 100.916 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-101.219 219.455 M
-101.219 221.112 99.876 222.455 98.219 222.455 curveto
-96.563 222.455 95.219 221.112 95.219 219.455 curveto
-95.219 217.799 96.563 216.455 98.219 216.455 curveto
-99.876 216.455 101.219 217.799 101.219 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-101.219 219.455 M
-101.219 221.112 99.876 222.455 98.219 222.455 curveto
-96.563 222.455 95.219 221.112 95.219 219.455 curveto
-95.219 217.799 96.563 216.455 98.219 216.455 curveto
-99.876 216.455 101.219 217.799 101.219 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-101.523 219.455 M
-101.523 221.112 100.18 222.455 98.523 222.455 curveto
-96.866 222.455 95.523 221.112 95.523 219.455 curveto
-95.523 217.799 96.866 216.455 98.523 216.455 curveto
-100.18 216.455 101.523 217.799 101.523 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-101.523 219.455 M
-101.523 221.112 100.18 222.455 98.523 222.455 curveto
-96.866 222.455 95.523 221.112 95.523 219.455 curveto
-95.523 217.799 96.866 216.455 98.523 216.455 curveto
-100.18 216.455 101.523 217.799 101.523 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-101.827 219.455 M
-101.827 221.112 100.484 222.455 98.827 222.455 curveto
-97.17 222.455 95.827 221.112 95.827 219.455 curveto
-95.827 217.799 97.17 216.455 98.827 216.455 curveto
-100.484 216.455 101.827 217.799 101.827 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-101.827 219.455 M
-101.827 221.112 100.484 222.455 98.827 222.455 curveto
-97.17 222.455 95.827 221.112 95.827 219.455 curveto
-95.827 217.799 97.17 216.455 98.827 216.455 curveto
-100.484 216.455 101.827 217.799 101.827 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-102.131 219.455 M
-102.131 221.112 100.788 222.455 99.131 222.455 curveto
-97.474 222.455 96.131 221.112 96.131 219.455 curveto
-96.131 217.799 97.474 216.455 99.131 216.455 curveto
-100.788 216.455 102.131 217.799 102.131 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-102.131 219.455 M
-102.131 221.112 100.788 222.455 99.131 222.455 curveto
-97.474 222.455 96.131 221.112 96.131 219.455 curveto
-96.131 217.799 97.474 216.455 99.131 216.455 curveto
-100.788 216.455 102.131 217.799 102.131 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-102.434 219.455 M
-102.434 221.112 101.091 222.455 99.434 222.455 curveto
-97.778 222.455 96.434 221.112 96.434 219.455 curveto
-96.434 217.799 97.778 216.455 99.434 216.455 curveto
-101.091 216.455 102.434 217.799 102.434 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-102.434 219.455 M
-102.434 221.112 101.091 222.455 99.434 222.455 curveto
-97.778 222.455 96.434 221.112 96.434 219.455 curveto
-96.434 217.799 97.778 216.455 99.434 216.455 curveto
-101.091 216.455 102.434 217.799 102.434 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-102.738 219.455 M
-102.738 221.112 101.395 222.455 99.738 222.455 curveto
-98.081 222.455 96.738 221.112 96.738 219.455 curveto
-96.738 217.799 98.081 216.455 99.738 216.455 curveto
-101.395 216.455 102.738 217.799 102.738 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-102.738 219.455 M
-102.738 221.112 101.395 222.455 99.738 222.455 curveto
-98.081 222.455 96.738 221.112 96.738 219.455 curveto
-96.738 217.799 98.081 216.455 99.738 216.455 curveto
-101.395 216.455 102.738 217.799 102.738 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-103.042 219.455 M
-103.042 221.112 101.699 222.455 100.042 222.455 curveto
-98.385 222.455 97.042 221.112 97.042 219.455 curveto
-97.042 217.799 98.385 216.455 100.042 216.455 curveto
-101.699 216.455 103.042 217.799 103.042 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-103.042 219.455 M
-103.042 221.112 101.699 222.455 100.042 222.455 curveto
-98.385 222.455 97.042 221.112 97.042 219.455 curveto
-97.042 217.799 98.385 216.455 100.042 216.455 curveto
-101.699 216.455 103.042 217.799 103.042 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-103.346 219.455 M
-103.346 221.112 102.002 222.455 100.346 222.455 curveto
-98.689 222.455 97.346 221.112 97.346 219.455 curveto
-97.346 217.799 98.689 216.455 100.346 216.455 curveto
-102.002 216.455 103.346 217.799 103.346 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-103.346 219.455 M
-103.346 221.112 102.002 222.455 100.346 222.455 curveto
-98.689 222.455 97.346 221.112 97.346 219.455 curveto
-97.346 217.799 98.689 216.455 100.346 216.455 curveto
-102.002 216.455 103.346 217.799 103.346 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-103.649 219.455 M
-103.649 221.112 102.306 222.455 100.649 222.455 curveto
-98.993 222.455 97.649 221.112 97.649 219.455 curveto
-97.649 217.799 98.993 216.455 100.649 216.455 curveto
-102.306 216.455 103.649 217.799 103.649 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-103.649 219.455 M
-103.649 221.112 102.306 222.455 100.649 222.455 curveto
-98.993 222.455 97.649 221.112 97.649 219.455 curveto
-97.649 217.799 98.993 216.455 100.649 216.455 curveto
-102.306 216.455 103.649 217.799 103.649 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-103.953 219.455 M
-103.953 221.112 102.61 222.455 100.953 222.455 curveto
-99.296 222.455 97.953 221.112 97.953 219.455 curveto
-97.953 217.799 99.296 216.455 100.953 216.455 curveto
-102.61 216.455 103.953 217.799 103.953 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-103.953 219.455 M
-103.953 221.112 102.61 222.455 100.953 222.455 curveto
-99.296 222.455 97.953 221.112 97.953 219.455 curveto
-97.953 217.799 99.296 216.455 100.953 216.455 curveto
-102.61 216.455 103.953 217.799 103.953 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-104.257 219.455 M
-104.257 221.112 102.914 222.455 101.257 222.455 curveto
-99.6 222.455 98.257 221.112 98.257 219.455 curveto
-98.257 217.799 99.6 216.455 101.257 216.455 curveto
-102.914 216.455 104.257 217.799 104.257 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-104.257 219.455 M
-104.257 221.112 102.914 222.455 101.257 222.455 curveto
-99.6 222.455 98.257 221.112 98.257 219.455 curveto
-98.257 217.799 99.6 216.455 101.257 216.455 curveto
-102.914 216.455 104.257 217.799 104.257 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-104.561 219.455 M
-104.561 221.112 103.217 222.455 101.561 222.455 curveto
-99.904 222.455 98.561 221.112 98.561 219.455 curveto
-98.561 217.799 99.904 216.455 101.561 216.455 curveto
-103.217 216.455 104.561 217.799 104.561 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-104.561 219.455 M
-104.561 221.112 103.217 222.455 101.561 222.455 curveto
-99.904 222.455 98.561 221.112 98.561 219.455 curveto
-98.561 217.799 99.904 216.455 101.561 216.455 curveto
-103.217 216.455 104.561 217.799 104.561 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-104.864 219.455 M
-104.864 221.112 103.521 222.455 101.864 222.455 curveto
-100.207 222.455 98.864 221.112 98.864 219.455 curveto
-98.864 217.799 100.207 216.455 101.864 216.455 curveto
-103.521 216.455 104.864 217.799 104.864 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-104.864 219.455 M
-104.864 221.112 103.521 222.455 101.864 222.455 curveto
-100.207 222.455 98.864 221.112 98.864 219.455 curveto
-98.864 217.799 100.207 216.455 101.864 216.455 curveto
-103.521 216.455 104.864 217.799 104.864 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-105.168 219.455 M
-105.168 221.112 103.825 222.455 102.168 222.455 curveto
-100.511 222.455 99.168 221.112 99.168 219.455 curveto
-99.168 217.799 100.511 216.455 102.168 216.455 curveto
-103.825 216.455 105.168 217.799 105.168 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-105.168 219.455 M
-105.168 221.112 103.825 222.455 102.168 222.455 curveto
-100.511 222.455 99.168 221.112 99.168 219.455 curveto
-99.168 217.799 100.511 216.455 102.168 216.455 curveto
-103.825 216.455 105.168 217.799 105.168 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-105.472 219.455 M
-105.472 221.112 104.129 222.455 102.472 222.455 curveto
-100.815 222.455 99.472 221.112 99.472 219.455 curveto
-99.472 217.799 100.815 216.455 102.472 216.455 curveto
-104.129 216.455 105.472 217.799 105.472 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-105.472 219.455 M
-105.472 221.112 104.129 222.455 102.472 222.455 curveto
-100.815 222.455 99.472 221.112 99.472 219.455 curveto
-99.472 217.799 100.815 216.455 102.472 216.455 curveto
-104.129 216.455 105.472 217.799 105.472 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-105.776 219.455 M
-105.776 221.112 104.432 222.455 102.776 222.455 curveto
-101.119 222.455 99.776 221.112 99.776 219.455 curveto
-99.776 217.799 101.119 216.455 102.776 216.455 curveto
-104.432 216.455 105.776 217.799 105.776 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-105.776 219.455 M
-105.776 221.112 104.432 222.455 102.776 222.455 curveto
-101.119 222.455 99.776 221.112 99.776 219.455 curveto
-99.776 217.799 101.119 216.455 102.776 216.455 curveto
-104.432 216.455 105.776 217.799 105.776 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-106.079 219.455 M
-106.079 221.112 104.736 222.455 103.079 222.455 curveto
-101.422 222.455 100.079 221.112 100.079 219.455 curveto
-100.079 217.799 101.422 216.455 103.079 216.455 curveto
-104.736 216.455 106.079 217.799 106.079 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-106.079 219.455 M
-106.079 221.112 104.736 222.455 103.079 222.455 curveto
-101.422 222.455 100.079 221.112 100.079 219.455 curveto
-100.079 217.799 101.422 216.455 103.079 216.455 curveto
-104.736 216.455 106.079 217.799 106.079 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-106.383 219.455 M
-106.383 221.112 105.04 222.455 103.383 222.455 curveto
-101.726 222.455 100.383 221.112 100.383 219.455 curveto
-100.383 217.799 101.726 216.455 103.383 216.455 curveto
-105.04 216.455 106.383 217.799 106.383 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-106.383 219.455 M
-106.383 221.112 105.04 222.455 103.383 222.455 curveto
-101.726 222.455 100.383 221.112 100.383 219.455 curveto
-100.383 217.799 101.726 216.455 103.383 216.455 curveto
-105.04 216.455 106.383 217.799 106.383 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-106.687 219.455 M
-106.687 221.112 105.344 222.455 103.687 222.455 curveto
-102.03 222.455 100.687 221.112 100.687 219.455 curveto
-100.687 217.799 102.03 216.455 103.687 216.455 curveto
-105.344 216.455 106.687 217.799 106.687 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-106.687 219.455 M
-106.687 221.112 105.344 222.455 103.687 222.455 curveto
-102.03 222.455 100.687 221.112 100.687 219.455 curveto
-100.687 217.799 102.03 216.455 103.687 216.455 curveto
-105.344 216.455 106.687 217.799 106.687 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-106.99 219.455 M
-106.99 221.112 105.647 222.455 103.99 222.455 curveto
-102.334 222.455 100.99 221.112 100.99 219.455 curveto
-100.99 217.799 102.334 216.455 103.99 216.455 curveto
-105.647 216.455 106.99 217.799 106.99 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-106.99 219.455 M
-106.99 221.112 105.647 222.455 103.99 222.455 curveto
-102.334 222.455 100.99 221.112 100.99 219.455 curveto
-100.99 217.799 102.334 216.455 103.99 216.455 curveto
-105.647 216.455 106.99 217.799 106.99 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-107.294 219.455 M
-107.294 221.112 105.951 222.455 104.294 222.455 curveto
-102.637 222.455 101.294 221.112 101.294 219.455 curveto
-101.294 217.799 102.637 216.455 104.294 216.455 curveto
-105.951 216.455 107.294 217.799 107.294 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-107.294 219.455 M
-107.294 221.112 105.951 222.455 104.294 222.455 curveto
-102.637 222.455 101.294 221.112 101.294 219.455 curveto
-101.294 217.799 102.637 216.455 104.294 216.455 curveto
-105.951 216.455 107.294 217.799 107.294 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-107.598 219.455 M
-107.598 221.112 106.255 222.455 104.598 222.455 curveto
-102.941 222.455 101.598 221.112 101.598 219.455 curveto
-101.598 217.799 102.941 216.455 104.598 216.455 curveto
-106.255 216.455 107.598 217.799 107.598 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-107.598 219.455 M
-107.598 221.112 106.255 222.455 104.598 222.455 curveto
-102.941 222.455 101.598 221.112 101.598 219.455 curveto
-101.598 217.799 102.941 216.455 104.598 216.455 curveto
-106.255 216.455 107.598 217.799 107.598 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-107.902 219.455 M
-107.902 221.112 106.559 222.455 104.902 222.455 curveto
-103.245 222.455 101.902 221.112 101.902 219.455 curveto
-101.902 217.799 103.245 216.455 104.902 216.455 curveto
-106.559 216.455 107.902 217.799 107.902 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-107.902 219.455 M
-107.902 221.112 106.559 222.455 104.902 222.455 curveto
-103.245 222.455 101.902 221.112 101.902 219.455 curveto
-101.902 217.799 103.245 216.455 104.902 216.455 curveto
-106.559 216.455 107.902 217.799 107.902 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-108.205 219.455 M
-108.205 221.112 106.862 222.455 105.205 222.455 curveto
-103.549 222.455 102.205 221.112 102.205 219.455 curveto
-102.205 217.799 103.549 216.455 105.205 216.455 curveto
-106.862 216.455 108.205 217.799 108.205 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-108.205 219.455 M
-108.205 221.112 106.862 222.455 105.205 222.455 curveto
-103.549 222.455 102.205 221.112 102.205 219.455 curveto
-102.205 217.799 103.549 216.455 105.205 216.455 curveto
-106.862 216.455 108.205 217.799 108.205 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-108.509 219.455 M
-108.509 221.112 107.166 222.455 105.509 222.455 curveto
-103.852 222.455 102.509 221.112 102.509 219.455 curveto
-102.509 217.799 103.852 216.455 105.509 216.455 curveto
-107.166 216.455 108.509 217.799 108.509 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-108.509 219.455 M
-108.509 221.112 107.166 222.455 105.509 222.455 curveto
-103.852 222.455 102.509 221.112 102.509 219.455 curveto
-102.509 217.799 103.852 216.455 105.509 216.455 curveto
-107.166 216.455 108.509 217.799 108.509 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-108.813 219.455 M
-108.813 221.112 107.47 222.455 105.813 222.455 curveto
-104.156 222.455 102.813 221.112 102.813 219.455 curveto
-102.813 217.799 104.156 216.455 105.813 216.455 curveto
-107.47 216.455 108.813 217.799 108.813 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-108.813 219.455 M
-108.813 221.112 107.47 222.455 105.813 222.455 curveto
-104.156 222.455 102.813 221.112 102.813 219.455 curveto
-102.813 217.799 104.156 216.455 105.813 216.455 curveto
-107.47 216.455 108.813 217.799 108.813 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-109.117 219.455 M
-109.117 221.112 107.774 222.455 106.117 222.455 curveto
-104.46 222.455 103.117 221.112 103.117 219.455 curveto
-103.117 217.799 104.46 216.455 106.117 216.455 curveto
-107.774 216.455 109.117 217.799 109.117 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-109.117 219.455 M
-109.117 221.112 107.774 222.455 106.117 222.455 curveto
-104.46 222.455 103.117 221.112 103.117 219.455 curveto
-103.117 217.799 104.46 216.455 106.117 216.455 curveto
-107.774 216.455 109.117 217.799 109.117 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-109.42 219.455 M
-109.42 221.112 108.077 222.455 106.42 222.455 curveto
-104.764 222.455 103.42 221.112 103.42 219.455 curveto
-103.42 217.799 104.764 216.455 106.42 216.455 curveto
-108.077 216.455 109.42 217.799 109.42 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-109.42 219.455 M
-109.42 221.112 108.077 222.455 106.42 222.455 curveto
-104.764 222.455 103.42 221.112 103.42 219.455 curveto
-103.42 217.799 104.764 216.455 106.42 216.455 curveto
-108.077 216.455 109.42 217.799 109.42 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-109.724 219.455 M
-109.724 221.112 108.381 222.455 106.724 222.455 curveto
-105.067 222.455 103.724 221.112 103.724 219.455 curveto
-103.724 217.799 105.067 216.455 106.724 216.455 curveto
-108.381 216.455 109.724 217.799 109.724 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-109.724 219.455 M
-109.724 221.112 108.381 222.455 106.724 222.455 curveto
-105.067 222.455 103.724 221.112 103.724 219.455 curveto
-103.724 217.799 105.067 216.455 106.724 216.455 curveto
-108.381 216.455 109.724 217.799 109.724 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-110.028 219.455 M
-110.028 221.112 108.685 222.455 107.028 222.455 curveto
-105.371 222.455 104.028 221.112 104.028 219.455 curveto
-104.028 217.799 105.371 216.455 107.028 216.455 curveto
-108.685 216.455 110.028 217.799 110.028 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-110.028 219.455 M
-110.028 221.112 108.685 222.455 107.028 222.455 curveto
-105.371 222.455 104.028 221.112 104.028 219.455 curveto
-104.028 217.799 105.371 216.455 107.028 216.455 curveto
-108.685 216.455 110.028 217.799 110.028 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-110.332 241.004 M
-110.332 242.661 108.988 244.004 107.332 244.004 curveto
-105.675 244.004 104.332 242.661 104.332 241.004 curveto
-104.332 239.347 105.675 238.004 107.332 238.004 curveto
-108.988 238.004 110.332 239.347 110.332 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-110.332 241.004 M
-110.332 242.661 108.988 244.004 107.332 244.004 curveto
-105.675 244.004 104.332 242.661 104.332 241.004 curveto
-104.332 239.347 105.675 238.004 107.332 238.004 curveto
-108.988 238.004 110.332 239.347 110.332 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-110.635 241.004 M
-110.635 242.661 109.292 244.004 107.635 244.004 curveto
-105.978 244.004 104.635 242.661 104.635 241.004 curveto
-104.635 239.347 105.978 238.004 107.635 238.004 curveto
-109.292 238.004 110.635 239.347 110.635 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-110.635 241.004 M
-110.635 242.661 109.292 244.004 107.635 244.004 curveto
-105.978 244.004 104.635 242.661 104.635 241.004 curveto
-104.635 239.347 105.978 238.004 107.635 238.004 curveto
-109.292 238.004 110.635 239.347 110.635 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-110.939 241.004 M
-110.939 242.661 109.596 244.004 107.939 244.004 curveto
-106.282 244.004 104.939 242.661 104.939 241.004 curveto
-104.939 239.347 106.282 238.004 107.939 238.004 curveto
-109.596 238.004 110.939 239.347 110.939 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-110.939 241.004 M
-110.939 242.661 109.596 244.004 107.939 244.004 curveto
-106.282 244.004 104.939 242.661 104.939 241.004 curveto
-104.939 239.347 106.282 238.004 107.939 238.004 curveto
-109.596 238.004 110.939 239.347 110.939 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-111.243 241.004 M
-111.243 242.661 109.9 244.004 108.243 244.004 curveto
-106.586 244.004 105.243 242.661 105.243 241.004 curveto
-105.243 239.347 106.586 238.004 108.243 238.004 curveto
-109.9 238.004 111.243 239.347 111.243 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-111.243 241.004 M
-111.243 242.661 109.9 244.004 108.243 244.004 curveto
-106.586 244.004 105.243 242.661 105.243 241.004 curveto
-105.243 239.347 106.586 238.004 108.243 238.004 curveto
-109.9 238.004 111.243 239.347 111.243 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-111.547 241.004 M
-111.547 242.661 110.203 244.004 108.547 244.004 curveto
-106.89 244.004 105.547 242.661 105.547 241.004 curveto
-105.547 239.347 106.89 238.004 108.547 238.004 curveto
-110.203 238.004 111.547 239.347 111.547 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-111.547 241.004 M
-111.547 242.661 110.203 244.004 108.547 244.004 curveto
-106.89 244.004 105.547 242.661 105.547 241.004 curveto
-105.547 239.347 106.89 238.004 108.547 238.004 curveto
-110.203 238.004 111.547 239.347 111.547 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-111.85 241.004 M
-111.85 242.661 110.507 244.004 108.85 244.004 curveto
-107.193 244.004 105.85 242.661 105.85 241.004 curveto
-105.85 239.347 107.193 238.004 108.85 238.004 curveto
-110.507 238.004 111.85 239.347 111.85 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-111.85 241.004 M
-111.85 242.661 110.507 244.004 108.85 244.004 curveto
-107.193 244.004 105.85 242.661 105.85 241.004 curveto
-105.85 239.347 107.193 238.004 108.85 238.004 curveto
-110.507 238.004 111.85 239.347 111.85 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-112.154 241.004 M
-112.154 242.661 110.811 244.004 109.154 244.004 curveto
-107.497 244.004 106.154 242.661 106.154 241.004 curveto
-106.154 239.347 107.497 238.004 109.154 238.004 curveto
-110.811 238.004 112.154 239.347 112.154 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-112.154 241.004 M
-112.154 242.661 110.811 244.004 109.154 244.004 curveto
-107.497 244.004 106.154 242.661 106.154 241.004 curveto
-106.154 239.347 107.497 238.004 109.154 238.004 curveto
-110.811 238.004 112.154 239.347 112.154 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-112.458 241.004 M
-112.458 242.661 111.115 244.004 109.458 244.004 curveto
-107.801 244.004 106.458 242.661 106.458 241.004 curveto
-106.458 239.347 107.801 238.004 109.458 238.004 curveto
-111.115 238.004 112.458 239.347 112.458 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-112.458 241.004 M
-112.458 242.661 111.115 244.004 109.458 244.004 curveto
-107.801 244.004 106.458 242.661 106.458 241.004 curveto
-106.458 239.347 107.801 238.004 109.458 238.004 curveto
-111.115 238.004 112.458 239.347 112.458 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-112.761 241.004 M
-112.761 242.661 111.418 244.004 109.761 244.004 curveto
-108.105 244.004 106.761 242.661 106.761 241.004 curveto
-106.761 239.347 108.105 238.004 109.761 238.004 curveto
-111.418 238.004 112.761 239.347 112.761 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-112.761 241.004 M
-112.761 242.661 111.418 244.004 109.761 244.004 curveto
-108.105 244.004 106.761 242.661 106.761 241.004 curveto
-106.761 239.347 108.105 238.004 109.761 238.004 curveto
-111.418 238.004 112.761 239.347 112.761 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-113.065 241.004 M
-113.065 242.661 111.722 244.004 110.065 244.004 curveto
-108.408 244.004 107.065 242.661 107.065 241.004 curveto
-107.065 239.347 108.408 238.004 110.065 238.004 curveto
-111.722 238.004 113.065 239.347 113.065 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-113.065 241.004 M
-113.065 242.661 111.722 244.004 110.065 244.004 curveto
-108.408 244.004 107.065 242.661 107.065 241.004 curveto
-107.065 239.347 108.408 238.004 110.065 238.004 curveto
-111.722 238.004 113.065 239.347 113.065 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-113.369 241.004 M
-113.369 242.661 112.026 244.004 110.369 244.004 curveto
-108.712 244.004 107.369 242.661 107.369 241.004 curveto
-107.369 239.347 108.712 238.004 110.369 238.004 curveto
-112.026 238.004 113.369 239.347 113.369 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-113.369 241.004 M
-113.369 242.661 112.026 244.004 110.369 244.004 curveto
-108.712 244.004 107.369 242.661 107.369 241.004 curveto
-107.369 239.347 108.712 238.004 110.369 238.004 curveto
-112.026 238.004 113.369 239.347 113.369 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-113.673 241.004 M
-113.673 242.661 112.33 244.004 110.673 244.004 curveto
-109.016 244.004 107.673 242.661 107.673 241.004 curveto
-107.673 239.347 109.016 238.004 110.673 238.004 curveto
-112.33 238.004 113.673 239.347 113.673 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-113.673 241.004 M
-113.673 242.661 112.33 244.004 110.673 244.004 curveto
-109.016 244.004 107.673 242.661 107.673 241.004 curveto
-107.673 239.347 109.016 238.004 110.673 238.004 curveto
-112.33 238.004 113.673 239.347 113.673 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-113.976 241.004 M
-113.976 242.661 112.633 244.004 110.976 244.004 curveto
-109.32 244.004 107.976 242.661 107.976 241.004 curveto
-107.976 239.347 109.32 238.004 110.976 238.004 curveto
-112.633 238.004 113.976 239.347 113.976 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-113.976 241.004 M
-113.976 242.661 112.633 244.004 110.976 244.004 curveto
-109.32 244.004 107.976 242.661 107.976 241.004 curveto
-107.976 239.347 109.32 238.004 110.976 238.004 curveto
-112.633 238.004 113.976 239.347 113.976 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-114.28 241.004 M
-114.28 242.661 112.937 244.004 111.28 244.004 curveto
-109.623 244.004 108.28 242.661 108.28 241.004 curveto
-108.28 239.347 109.623 238.004 111.28 238.004 curveto
-112.937 238.004 114.28 239.347 114.28 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-114.28 241.004 M
-114.28 242.661 112.937 244.004 111.28 244.004 curveto
-109.623 244.004 108.28 242.661 108.28 241.004 curveto
-108.28 239.347 109.623 238.004 111.28 238.004 curveto
-112.937 238.004 114.28 239.347 114.28 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-114.584 241.004 M
-114.584 242.661 113.241 244.004 111.584 244.004 curveto
-109.927 244.004 108.584 242.661 108.584 241.004 curveto
-108.584 239.347 109.927 238.004 111.584 238.004 curveto
-113.241 238.004 114.584 239.347 114.584 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-114.584 241.004 M
-114.584 242.661 113.241 244.004 111.584 244.004 curveto
-109.927 244.004 108.584 242.661 108.584 241.004 curveto
-108.584 239.347 109.927 238.004 111.584 238.004 curveto
-113.241 238.004 114.584 239.347 114.584 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-114.888 241.004 M
-114.888 242.661 113.545 244.004 111.888 244.004 curveto
-110.231 244.004 108.888 242.661 108.888 241.004 curveto
-108.888 239.347 110.231 238.004 111.888 238.004 curveto
-113.545 238.004 114.888 239.347 114.888 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-114.888 241.004 M
-114.888 242.661 113.545 244.004 111.888 244.004 curveto
-110.231 244.004 108.888 242.661 108.888 241.004 curveto
-108.888 239.347 110.231 238.004 111.888 238.004 curveto
-113.545 238.004 114.888 239.347 114.888 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-115.191 241.004 M
-115.191 242.661 113.848 244.004 112.191 244.004 curveto
-110.535 244.004 109.191 242.661 109.191 241.004 curveto
-109.191 239.347 110.535 238.004 112.191 238.004 curveto
-113.848 238.004 115.191 239.347 115.191 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-115.191 241.004 M
-115.191 242.661 113.848 244.004 112.191 244.004 curveto
-110.535 244.004 109.191 242.661 109.191 241.004 curveto
-109.191 239.347 110.535 238.004 112.191 238.004 curveto
-113.848 238.004 115.191 239.347 115.191 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-115.495 241.004 M
-115.495 242.661 114.152 244.004 112.495 244.004 curveto
-110.838 244.004 109.495 242.661 109.495 241.004 curveto
-109.495 239.347 110.838 238.004 112.495 238.004 curveto
-114.152 238.004 115.495 239.347 115.495 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-115.495 241.004 M
-115.495 242.661 114.152 244.004 112.495 244.004 curveto
-110.838 244.004 109.495 242.661 109.495 241.004 curveto
-109.495 239.347 110.838 238.004 112.495 238.004 curveto
-114.152 238.004 115.495 239.347 115.495 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-115.799 241.004 M
-115.799 242.661 114.456 244.004 112.799 244.004 curveto
-111.142 244.004 109.799 242.661 109.799 241.004 curveto
-109.799 239.347 111.142 238.004 112.799 238.004 curveto
-114.456 238.004 115.799 239.347 115.799 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-115.799 241.004 M
-115.799 242.661 114.456 244.004 112.799 244.004 curveto
-111.142 244.004 109.799 242.661 109.799 241.004 curveto
-109.799 239.347 111.142 238.004 112.799 238.004 curveto
-114.456 238.004 115.799 239.347 115.799 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-116.103 241.004 M
-116.103 242.661 114.759 244.004 113.103 244.004 curveto
-111.446 244.004 110.103 242.661 110.103 241.004 curveto
-110.103 239.347 111.446 238.004 113.103 238.004 curveto
-114.759 238.004 116.103 239.347 116.103 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-116.103 241.004 M
-116.103 242.661 114.759 244.004 113.103 244.004 curveto
-111.446 244.004 110.103 242.661 110.103 241.004 curveto
-110.103 239.347 111.446 238.004 113.103 238.004 curveto
-114.759 238.004 116.103 239.347 116.103 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-116.406 241.004 M
-116.406 242.661 115.063 244.004 113.406 244.004 curveto
-111.749 244.004 110.406 242.661 110.406 241.004 curveto
-110.406 239.347 111.749 238.004 113.406 238.004 curveto
-115.063 238.004 116.406 239.347 116.406 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-116.406 241.004 M
-116.406 242.661 115.063 244.004 113.406 244.004 curveto
-111.749 244.004 110.406 242.661 110.406 241.004 curveto
-110.406 239.347 111.749 238.004 113.406 238.004 curveto
-115.063 238.004 116.406 239.347 116.406 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-116.71 241.004 M
-116.71 242.661 115.367 244.004 113.71 244.004 curveto
-112.053 244.004 110.71 242.661 110.71 241.004 curveto
-110.71 239.347 112.053 238.004 113.71 238.004 curveto
-115.367 238.004 116.71 239.347 116.71 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-116.71 241.004 M
-116.71 242.661 115.367 244.004 113.71 244.004 curveto
-112.053 244.004 110.71 242.661 110.71 241.004 curveto
-110.71 239.347 112.053 238.004 113.71 238.004 curveto
-115.367 238.004 116.71 239.347 116.71 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-117.014 241.004 M
-117.014 242.661 115.671 244.004 114.014 244.004 curveto
-112.357 244.004 111.014 242.661 111.014 241.004 curveto
-111.014 239.347 112.357 238.004 114.014 238.004 curveto
-115.671 238.004 117.014 239.347 117.014 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-117.014 241.004 M
-117.014 242.661 115.671 244.004 114.014 244.004 curveto
-112.357 244.004 111.014 242.661 111.014 241.004 curveto
-111.014 239.347 112.357 238.004 114.014 238.004 curveto
-115.671 238.004 117.014 239.347 117.014 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-117.318 241.004 M
-117.318 242.661 115.974 244.004 114.318 244.004 curveto
-112.661 244.004 111.318 242.661 111.318 241.004 curveto
-111.318 239.347 112.661 238.004 114.318 238.004 curveto
-115.974 238.004 117.318 239.347 117.318 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-117.318 241.004 M
-117.318 242.661 115.974 244.004 114.318 244.004 curveto
-112.661 244.004 111.318 242.661 111.318 241.004 curveto
-111.318 239.347 112.661 238.004 114.318 238.004 curveto
-115.974 238.004 117.318 239.347 117.318 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-117.621 197.907 M
-117.621 199.564 116.278 200.907 114.621 200.907 curveto
-112.964 200.907 111.621 199.564 111.621 197.907 curveto
-111.621 196.25 112.964 194.907 114.621 194.907 curveto
-116.278 194.907 117.621 196.25 117.621 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-117.621 197.907 M
-117.621 199.564 116.278 200.907 114.621 200.907 curveto
-112.964 200.907 111.621 199.564 111.621 197.907 curveto
-111.621 196.25 112.964 194.907 114.621 194.907 curveto
-116.278 194.907 117.621 196.25 117.621 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-117.925 197.907 M
-117.925 199.564 116.582 200.907 114.925 200.907 curveto
-113.268 200.907 111.925 199.564 111.925 197.907 curveto
-111.925 196.25 113.268 194.907 114.925 194.907 curveto
-116.582 194.907 117.925 196.25 117.925 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-117.925 197.907 M
-117.925 199.564 116.582 200.907 114.925 200.907 curveto
-113.268 200.907 111.925 199.564 111.925 197.907 curveto
-111.925 196.25 113.268 194.907 114.925 194.907 curveto
-116.582 194.907 117.925 196.25 117.925 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-118.229 197.907 M
-118.229 199.564 116.886 200.907 115.229 200.907 curveto
-113.572 200.907 112.229 199.564 112.229 197.907 curveto
-112.229 196.25 113.572 194.907 115.229 194.907 curveto
-116.886 194.907 118.229 196.25 118.229 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-118.229 197.907 M
-118.229 199.564 116.886 200.907 115.229 200.907 curveto
-113.572 200.907 112.229 199.564 112.229 197.907 curveto
-112.229 196.25 113.572 194.907 115.229 194.907 curveto
-116.886 194.907 118.229 196.25 118.229 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-118.533 197.907 M
-118.533 199.564 117.189 200.907 115.533 200.907 curveto
-113.876 200.907 112.533 199.564 112.533 197.907 curveto
-112.533 196.25 113.876 194.907 115.533 194.907 curveto
-117.189 194.907 118.533 196.25 118.533 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-118.533 197.907 M
-118.533 199.564 117.189 200.907 115.533 200.907 curveto
-113.876 200.907 112.533 199.564 112.533 197.907 curveto
-112.533 196.25 113.876 194.907 115.533 194.907 curveto
-117.189 194.907 118.533 196.25 118.533 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-118.836 197.907 M
-118.836 199.564 117.493 200.907 115.836 200.907 curveto
-114.179 200.907 112.836 199.564 112.836 197.907 curveto
-112.836 196.25 114.179 194.907 115.836 194.907 curveto
-117.493 194.907 118.836 196.25 118.836 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-118.836 197.907 M
-118.836 199.564 117.493 200.907 115.836 200.907 curveto
-114.179 200.907 112.836 199.564 112.836 197.907 curveto
-112.836 196.25 114.179 194.907 115.836 194.907 curveto
-117.493 194.907 118.836 196.25 118.836 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-119.14 197.907 M
-119.14 199.564 117.797 200.907 116.14 200.907 curveto
-114.483 200.907 113.14 199.564 113.14 197.907 curveto
-113.14 196.25 114.483 194.907 116.14 194.907 curveto
-117.797 194.907 119.14 196.25 119.14 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-119.14 197.907 M
-119.14 199.564 117.797 200.907 116.14 200.907 curveto
-114.483 200.907 113.14 199.564 113.14 197.907 curveto
-113.14 196.25 114.483 194.907 116.14 194.907 curveto
-117.797 194.907 119.14 196.25 119.14 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-119.444 197.907 M
-119.444 199.564 118.101 200.907 116.444 200.907 curveto
-114.787 200.907 113.444 199.564 113.444 197.907 curveto
-113.444 196.25 114.787 194.907 116.444 194.907 curveto
-118.101 194.907 119.444 196.25 119.444 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-119.444 197.907 M
-119.444 199.564 118.101 200.907 116.444 200.907 curveto
-114.787 200.907 113.444 199.564 113.444 197.907 curveto
-113.444 196.25 114.787 194.907 116.444 194.907 curveto
-118.101 194.907 119.444 196.25 119.444 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-119.747 197.907 M
-119.747 199.564 118.404 200.907 116.747 200.907 curveto
-115.091 200.907 113.747 199.564 113.747 197.907 curveto
-113.747 196.25 115.091 194.907 116.747 194.907 curveto
-118.404 194.907 119.747 196.25 119.747 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-119.747 197.907 M
-119.747 199.564 118.404 200.907 116.747 200.907 curveto
-115.091 200.907 113.747 199.564 113.747 197.907 curveto
-113.747 196.25 115.091 194.907 116.747 194.907 curveto
-118.404 194.907 119.747 196.25 119.747 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-120.051 197.907 M
-120.051 199.564 118.708 200.907 117.051 200.907 curveto
-115.394 200.907 114.051 199.564 114.051 197.907 curveto
-114.051 196.25 115.394 194.907 117.051 194.907 curveto
-118.708 194.907 120.051 196.25 120.051 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-120.051 197.907 M
-120.051 199.564 118.708 200.907 117.051 200.907 curveto
-115.394 200.907 114.051 199.564 114.051 197.907 curveto
-114.051 196.25 115.394 194.907 117.051 194.907 curveto
-118.708 194.907 120.051 196.25 120.051 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-120.355 197.907 M
-120.355 199.564 119.012 200.907 117.355 200.907 curveto
-115.698 200.907 114.355 199.564 114.355 197.907 curveto
-114.355 196.25 115.698 194.907 117.355 194.907 curveto
-119.012 194.907 120.355 196.25 120.355 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-120.355 197.907 M
-120.355 199.564 119.012 200.907 117.355 200.907 curveto
-115.698 200.907 114.355 199.564 114.355 197.907 curveto
-114.355 196.25 115.698 194.907 117.355 194.907 curveto
-119.012 194.907 120.355 196.25 120.355 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-120.659 197.907 M
-120.659 199.564 119.316 200.907 117.659 200.907 curveto
-116.002 200.907 114.659 199.564 114.659 197.907 curveto
-114.659 196.25 116.002 194.907 117.659 194.907 curveto
-119.316 194.907 120.659 196.25 120.659 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-120.659 197.907 M
-120.659 199.564 119.316 200.907 117.659 200.907 curveto
-116.002 200.907 114.659 199.564 114.659 197.907 curveto
-114.659 196.25 116.002 194.907 117.659 194.907 curveto
-119.316 194.907 120.659 196.25 120.659 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-120.962 197.907 M
-120.962 199.564 119.619 200.907 117.962 200.907 curveto
-116.306 200.907 114.962 199.564 114.962 197.907 curveto
-114.962 196.25 116.306 194.907 117.962 194.907 curveto
-119.619 194.907 120.962 196.25 120.962 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-120.962 197.907 M
-120.962 199.564 119.619 200.907 117.962 200.907 curveto
-116.306 200.907 114.962 199.564 114.962 197.907 curveto
-114.962 196.25 116.306 194.907 117.962 194.907 curveto
-119.619 194.907 120.962 196.25 120.962 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-121.266 197.907 M
-121.266 199.564 119.923 200.907 118.266 200.907 curveto
-116.609 200.907 115.266 199.564 115.266 197.907 curveto
-115.266 196.25 116.609 194.907 118.266 194.907 curveto
-119.923 194.907 121.266 196.25 121.266 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.266 197.907 M
-121.266 199.564 119.923 200.907 118.266 200.907 curveto
-116.609 200.907 115.266 199.564 115.266 197.907 curveto
-115.266 196.25 116.609 194.907 118.266 194.907 curveto
-119.923 194.907 121.266 196.25 121.266 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-121.57 219.455 M
-121.57 221.112 120.227 222.455 118.57 222.455 curveto
-116.913 222.455 115.57 221.112 115.57 219.455 curveto
-115.57 217.799 116.913 216.455 118.57 216.455 curveto
-120.227 216.455 121.57 217.799 121.57 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.57 219.455 M
-121.57 221.112 120.227 222.455 118.57 222.455 curveto
-116.913 222.455 115.57 221.112 115.57 219.455 curveto
-115.57 217.799 116.913 216.455 118.57 216.455 curveto
-120.227 216.455 121.57 217.799 121.57 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-121.874 219.455 M
-121.874 221.112 120.53 222.455 118.874 222.455 curveto
-117.217 222.455 115.874 221.112 115.874 219.455 curveto
-115.874 217.799 117.217 216.455 118.874 216.455 curveto
-120.53 216.455 121.874 217.799 121.874 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.874 219.455 M
-121.874 221.112 120.53 222.455 118.874 222.455 curveto
-117.217 222.455 115.874 221.112 115.874 219.455 curveto
-115.874 217.799 117.217 216.455 118.874 216.455 curveto
-120.53 216.455 121.874 217.799 121.874 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-122.177 219.455 M
-122.177 221.112 120.834 222.455 119.177 222.455 curveto
-117.52 222.455 116.177 221.112 116.177 219.455 curveto
-116.177 217.799 117.52 216.455 119.177 216.455 curveto
-120.834 216.455 122.177 217.799 122.177 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-122.177 219.455 M
-122.177 221.112 120.834 222.455 119.177 222.455 curveto
-117.52 222.455 116.177 221.112 116.177 219.455 curveto
-116.177 217.799 117.52 216.455 119.177 216.455 curveto
-120.834 216.455 122.177 217.799 122.177 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-122.481 219.455 M
-122.481 221.112 121.138 222.455 119.481 222.455 curveto
-117.824 222.455 116.481 221.112 116.481 219.455 curveto
-116.481 217.799 117.824 216.455 119.481 216.455 curveto
-121.138 216.455 122.481 217.799 122.481 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-122.481 219.455 M
-122.481 221.112 121.138 222.455 119.481 222.455 curveto
-117.824 222.455 116.481 221.112 116.481 219.455 curveto
-116.481 217.799 117.824 216.455 119.481 216.455 curveto
-121.138 216.455 122.481 217.799 122.481 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-122.785 219.455 M
-122.785 221.112 121.442 222.455 119.785 222.455 curveto
-118.128 222.455 116.785 221.112 116.785 219.455 curveto
-116.785 217.799 118.128 216.455 119.785 216.455 curveto
-121.442 216.455 122.785 217.799 122.785 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-122.785 219.455 M
-122.785 221.112 121.442 222.455 119.785 222.455 curveto
-118.128 222.455 116.785 221.112 116.785 219.455 curveto
-116.785 217.799 118.128 216.455 119.785 216.455 curveto
-121.442 216.455 122.785 217.799 122.785 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-123.089 219.455 M
-123.089 221.112 121.745 222.455 120.089 222.455 curveto
-118.432 222.455 117.089 221.112 117.089 219.455 curveto
-117.089 217.799 118.432 216.455 120.089 216.455 curveto
-121.745 216.455 123.089 217.799 123.089 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-123.089 219.455 M
-123.089 221.112 121.745 222.455 120.089 222.455 curveto
-118.432 222.455 117.089 221.112 117.089 219.455 curveto
-117.089 217.799 118.432 216.455 120.089 216.455 curveto
-121.745 216.455 123.089 217.799 123.089 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-123.392 219.455 M
-123.392 221.112 122.049 222.455 120.392 222.455 curveto
-118.735 222.455 117.392 221.112 117.392 219.455 curveto
-117.392 217.799 118.735 216.455 120.392 216.455 curveto
-122.049 216.455 123.392 217.799 123.392 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-123.392 219.455 M
-123.392 221.112 122.049 222.455 120.392 222.455 curveto
-118.735 222.455 117.392 221.112 117.392 219.455 curveto
-117.392 217.799 118.735 216.455 120.392 216.455 curveto
-122.049 216.455 123.392 217.799 123.392 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-123.696 219.455 M
-123.696 221.112 122.353 222.455 120.696 222.455 curveto
-119.039 222.455 117.696 221.112 117.696 219.455 curveto
-117.696 217.799 119.039 216.455 120.696 216.455 curveto
-122.353 216.455 123.696 217.799 123.696 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-123.696 219.455 M
-123.696 221.112 122.353 222.455 120.696 222.455 curveto
-119.039 222.455 117.696 221.112 117.696 219.455 curveto
-117.696 217.799 119.039 216.455 120.696 216.455 curveto
-122.353 216.455 123.696 217.799 123.696 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-124 219.455 M
-124 221.112 122.657 222.455 121 222.455 curveto
-119.343 222.455 118 221.112 118 219.455 curveto
-118 217.799 119.343 216.455 121 216.455 curveto
-122.657 216.455 124 217.799 124 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124 219.455 M
-124 221.112 122.657 222.455 121 222.455 curveto
-119.343 222.455 118 221.112 118 219.455 curveto
-118 217.799 119.343 216.455 121 216.455 curveto
-122.657 216.455 124 217.799 124 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-124.304 219.455 M
-124.304 221.112 122.96 222.455 121.304 222.455 curveto
-119.647 222.455 118.304 221.112 118.304 219.455 curveto
-118.304 217.799 119.647 216.455 121.304 216.455 curveto
-122.96 216.455 124.304 217.799 124.304 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.304 219.455 M
-124.304 221.112 122.96 222.455 121.304 222.455 curveto
-119.647 222.455 118.304 221.112 118.304 219.455 curveto
-118.304 217.799 119.647 216.455 121.304 216.455 curveto
-122.96 216.455 124.304 217.799 124.304 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-124.607 219.455 M
-124.607 221.112 123.264 222.455 121.607 222.455 curveto
-119.95 222.455 118.607 221.112 118.607 219.455 curveto
-118.607 217.799 119.95 216.455 121.607 216.455 curveto
-123.264 216.455 124.607 217.799 124.607 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.607 219.455 M
-124.607 221.112 123.264 222.455 121.607 222.455 curveto
-119.95 222.455 118.607 221.112 118.607 219.455 curveto
-118.607 217.799 119.95 216.455 121.607 216.455 curveto
-123.264 216.455 124.607 217.799 124.607 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-124.911 219.455 M
-124.911 221.112 123.568 222.455 121.911 222.455 curveto
-120.254 222.455 118.911 221.112 118.911 219.455 curveto
-118.911 217.799 120.254 216.455 121.911 216.455 curveto
-123.568 216.455 124.911 217.799 124.911 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.911 219.455 M
-124.911 221.112 123.568 222.455 121.911 222.455 curveto
-120.254 222.455 118.911 221.112 118.911 219.455 curveto
-118.911 217.799 120.254 216.455 121.911 216.455 curveto
-123.568 216.455 124.911 217.799 124.911 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-125.215 219.455 M
-125.215 221.112 123.872 222.455 122.215 222.455 curveto
-120.558 222.455 119.215 221.112 119.215 219.455 curveto
-119.215 217.799 120.558 216.455 122.215 216.455 curveto
-123.872 216.455 125.215 217.799 125.215 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-125.215 219.455 M
-125.215 221.112 123.872 222.455 122.215 222.455 curveto
-120.558 222.455 119.215 221.112 119.215 219.455 curveto
-119.215 217.799 120.558 216.455 122.215 216.455 curveto
-123.872 216.455 125.215 217.799 125.215 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-125.518 219.455 M
-125.518 221.112 124.175 222.455 122.518 222.455 curveto
-120.862 222.455 119.518 221.112 119.518 219.455 curveto
-119.518 217.799 120.862 216.455 122.518 216.455 curveto
-124.175 216.455 125.518 217.799 125.518 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-125.518 219.455 M
-125.518 221.112 124.175 222.455 122.518 222.455 curveto
-120.862 222.455 119.518 221.112 119.518 219.455 curveto
-119.518 217.799 120.862 216.455 122.518 216.455 curveto
-124.175 216.455 125.518 217.799 125.518 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-125.822 219.455 M
-125.822 221.112 124.479 222.455 122.822 222.455 curveto
-121.165 222.455 119.822 221.112 119.822 219.455 curveto
-119.822 217.799 121.165 216.455 122.822 216.455 curveto
-124.479 216.455 125.822 217.799 125.822 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-125.822 219.455 M
-125.822 221.112 124.479 222.455 122.822 222.455 curveto
-121.165 222.455 119.822 221.112 119.822 219.455 curveto
-119.822 217.799 121.165 216.455 122.822 216.455 curveto
-124.479 216.455 125.822 217.799 125.822 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-126.126 219.455 M
-126.126 221.112 124.783 222.455 123.126 222.455 curveto
-121.469 222.455 120.126 221.112 120.126 219.455 curveto
-120.126 217.799 121.469 216.455 123.126 216.455 curveto
-124.783 216.455 126.126 217.799 126.126 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-126.126 219.455 M
-126.126 221.112 124.783 222.455 123.126 222.455 curveto
-121.469 222.455 120.126 221.112 120.126 219.455 curveto
-120.126 217.799 121.469 216.455 123.126 216.455 curveto
-124.783 216.455 126.126 217.799 126.126 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-126.43 219.455 M
-126.43 221.112 125.087 222.455 123.43 222.455 curveto
-121.773 222.455 120.43 221.112 120.43 219.455 curveto
-120.43 217.799 121.773 216.455 123.43 216.455 curveto
-125.087 216.455 126.43 217.799 126.43 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-126.43 219.455 M
-126.43 221.112 125.087 222.455 123.43 222.455 curveto
-121.773 222.455 120.43 221.112 120.43 219.455 curveto
-120.43 217.799 121.773 216.455 123.43 216.455 curveto
-125.087 216.455 126.43 217.799 126.43 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-126.733 219.455 M
-126.733 221.112 125.39 222.455 123.733 222.455 curveto
-122.077 222.455 120.733 221.112 120.733 219.455 curveto
-120.733 217.799 122.077 216.455 123.733 216.455 curveto
-125.39 216.455 126.733 217.799 126.733 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-126.733 219.455 M
-126.733 221.112 125.39 222.455 123.733 222.455 curveto
-122.077 222.455 120.733 221.112 120.733 219.455 curveto
-120.733 217.799 122.077 216.455 123.733 216.455 curveto
-125.39 216.455 126.733 217.799 126.733 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-127.037 219.455 M
-127.037 221.112 125.694 222.455 124.037 222.455 curveto
-122.38 222.455 121.037 221.112 121.037 219.455 curveto
-121.037 217.799 122.38 216.455 124.037 216.455 curveto
-125.694 216.455 127.037 217.799 127.037 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.037 219.455 M
-127.037 221.112 125.694 222.455 124.037 222.455 curveto
-122.38 222.455 121.037 221.112 121.037 219.455 curveto
-121.037 217.799 122.38 216.455 124.037 216.455 curveto
-125.694 216.455 127.037 217.799 127.037 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-127.341 219.455 M
-127.341 221.112 125.998 222.455 124.341 222.455 curveto
-122.684 222.455 121.341 221.112 121.341 219.455 curveto
-121.341 217.799 122.684 216.455 124.341 216.455 curveto
-125.998 216.455 127.341 217.799 127.341 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.341 219.455 M
-127.341 221.112 125.998 222.455 124.341 222.455 curveto
-122.684 222.455 121.341 221.112 121.341 219.455 curveto
-121.341 217.799 122.684 216.455 124.341 216.455 curveto
-125.998 216.455 127.341 217.799 127.341 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-127.645 219.455 M
-127.645 221.112 126.301 222.455 124.645 222.455 curveto
-122.988 222.455 121.645 221.112 121.645 219.455 curveto
-121.645 217.799 122.988 216.455 124.645 216.455 curveto
-126.301 216.455 127.645 217.799 127.645 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.645 219.455 M
-127.645 221.112 126.301 222.455 124.645 222.455 curveto
-122.988 222.455 121.645 221.112 121.645 219.455 curveto
-121.645 217.799 122.988 216.455 124.645 216.455 curveto
-126.301 216.455 127.645 217.799 127.645 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-127.948 219.455 M
-127.948 221.112 126.605 222.455 124.948 222.455 curveto
-123.292 222.455 121.948 221.112 121.948 219.455 curveto
-121.948 217.799 123.292 216.455 124.948 216.455 curveto
-126.605 216.455 127.948 217.799 127.948 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.948 219.455 M
-127.948 221.112 126.605 222.455 124.948 222.455 curveto
-123.292 222.455 121.948 221.112 121.948 219.455 curveto
-121.948 217.799 123.292 216.455 124.948 216.455 curveto
-126.605 216.455 127.948 217.799 127.948 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-128.252 219.455 M
-128.252 221.112 126.909 222.455 125.252 222.455 curveto
-123.595 222.455 122.252 221.112 122.252 219.455 curveto
-122.252 217.799 123.595 216.455 125.252 216.455 curveto
-126.909 216.455 128.252 217.799 128.252 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-128.252 219.455 M
-128.252 221.112 126.909 222.455 125.252 222.455 curveto
-123.595 222.455 122.252 221.112 122.252 219.455 curveto
-122.252 217.799 123.595 216.455 125.252 216.455 curveto
-126.909 216.455 128.252 217.799 128.252 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-128.556 219.455 M
-128.556 221.112 127.213 222.455 125.556 222.455 curveto
-123.899 222.455 122.556 221.112 122.556 219.455 curveto
-122.556 217.799 123.899 216.455 125.556 216.455 curveto
-127.213 216.455 128.556 217.799 128.556 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-128.556 219.455 M
-128.556 221.112 127.213 222.455 125.556 222.455 curveto
-123.899 222.455 122.556 221.112 122.556 219.455 curveto
-122.556 217.799 123.899 216.455 125.556 216.455 curveto
-127.213 216.455 128.556 217.799 128.556 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-128.86 219.455 M
-128.86 221.112 127.516 222.455 125.86 222.455 curveto
-124.203 222.455 122.86 221.112 122.86 219.455 curveto
-122.86 217.799 124.203 216.455 125.86 216.455 curveto
-127.516 216.455 128.86 217.799 128.86 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-128.86 219.455 M
-128.86 221.112 127.516 222.455 125.86 222.455 curveto
-124.203 222.455 122.86 221.112 122.86 219.455 curveto
-122.86 217.799 124.203 216.455 125.86 216.455 curveto
-127.516 216.455 128.86 217.799 128.86 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-129.163 219.455 M
-129.163 221.112 127.82 222.455 126.163 222.455 curveto
-124.506 222.455 123.163 221.112 123.163 219.455 curveto
-123.163 217.799 124.506 216.455 126.163 216.455 curveto
-127.82 216.455 129.163 217.799 129.163 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-129.163 219.455 M
-129.163 221.112 127.82 222.455 126.163 222.455 curveto
-124.506 222.455 123.163 221.112 123.163 219.455 curveto
-123.163 217.799 124.506 216.455 126.163 216.455 curveto
-127.82 216.455 129.163 217.799 129.163 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-129.467 219.455 M
-129.467 221.112 128.124 222.455 126.467 222.455 curveto
-124.81 222.455 123.467 221.112 123.467 219.455 curveto
-123.467 217.799 124.81 216.455 126.467 216.455 curveto
-128.124 216.455 129.467 217.799 129.467 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-129.467 219.455 M
-129.467 221.112 128.124 222.455 126.467 222.455 curveto
-124.81 222.455 123.467 221.112 123.467 219.455 curveto
-123.467 217.799 124.81 216.455 126.467 216.455 curveto
-128.124 216.455 129.467 217.799 129.467 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-129.771 219.455 M
-129.771 221.112 128.428 222.455 126.771 222.455 curveto
-125.114 222.455 123.771 221.112 123.771 219.455 curveto
-123.771 217.799 125.114 216.455 126.771 216.455 curveto
-128.428 216.455 129.771 217.799 129.771 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-129.771 219.455 M
-129.771 221.112 128.428 222.455 126.771 222.455 curveto
-125.114 222.455 123.771 221.112 123.771 219.455 curveto
-123.771 217.799 125.114 216.455 126.771 216.455 curveto
-128.428 216.455 129.771 217.799 129.771 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-130.075 219.455 M
-130.075 221.112 128.731 222.455 127.075 222.455 curveto
-125.418 222.455 124.075 221.112 124.075 219.455 curveto
-124.075 217.799 125.418 216.455 127.075 216.455 curveto
-128.731 216.455 130.075 217.799 130.075 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.075 219.455 M
-130.075 221.112 128.731 222.455 127.075 222.455 curveto
-125.418 222.455 124.075 221.112 124.075 219.455 curveto
-124.075 217.799 125.418 216.455 127.075 216.455 curveto
-128.731 216.455 130.075 217.799 130.075 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-130.378 219.455 M
-130.378 221.112 129.035 222.455 127.378 222.455 curveto
-125.721 222.455 124.378 221.112 124.378 219.455 curveto
-124.378 217.799 125.721 216.455 127.378 216.455 curveto
-129.035 216.455 130.378 217.799 130.378 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.378 219.455 M
-130.378 221.112 129.035 222.455 127.378 222.455 curveto
-125.721 222.455 124.378 221.112 124.378 219.455 curveto
-124.378 217.799 125.721 216.455 127.378 216.455 curveto
-129.035 216.455 130.378 217.799 130.378 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-130.682 219.455 M
-130.682 221.112 129.339 222.455 127.682 222.455 curveto
-126.025 222.455 124.682 221.112 124.682 219.455 curveto
-124.682 217.799 126.025 216.455 127.682 216.455 curveto
-129.339 216.455 130.682 217.799 130.682 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.682 219.455 M
-130.682 221.112 129.339 222.455 127.682 222.455 curveto
-126.025 222.455 124.682 221.112 124.682 219.455 curveto
-124.682 217.799 126.025 216.455 127.682 216.455 curveto
-129.339 216.455 130.682 217.799 130.682 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-130.986 219.455 M
-130.986 221.112 129.643 222.455 127.986 222.455 curveto
-126.329 222.455 124.986 221.112 124.986 219.455 curveto
-124.986 217.799 126.329 216.455 127.986 216.455 curveto
-129.643 216.455 130.986 217.799 130.986 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.986 219.455 M
-130.986 221.112 129.643 222.455 127.986 222.455 curveto
-126.329 222.455 124.986 221.112 124.986 219.455 curveto
-124.986 217.799 126.329 216.455 127.986 216.455 curveto
-129.643 216.455 130.986 217.799 130.986 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-131.289 219.455 M
-131.289 221.112 129.946 222.455 128.289 222.455 curveto
-126.633 222.455 125.289 221.112 125.289 219.455 curveto
-125.289 217.799 126.633 216.455 128.289 216.455 curveto
-129.946 216.455 131.289 217.799 131.289 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-131.289 219.455 M
-131.289 221.112 129.946 222.455 128.289 222.455 curveto
-126.633 222.455 125.289 221.112 125.289 219.455 curveto
-125.289 217.799 126.633 216.455 128.289 216.455 curveto
-129.946 216.455 131.289 217.799 131.289 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-131.593 241.004 M
-131.593 242.661 130.25 244.004 128.593 244.004 curveto
-126.936 244.004 125.593 242.661 125.593 241.004 curveto
-125.593 239.347 126.936 238.004 128.593 238.004 curveto
-130.25 238.004 131.593 239.347 131.593 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-131.593 241.004 M
-131.593 242.661 130.25 244.004 128.593 244.004 curveto
-126.936 244.004 125.593 242.661 125.593 241.004 curveto
-125.593 239.347 126.936 238.004 128.593 238.004 curveto
-130.25 238.004 131.593 239.347 131.593 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-131.897 241.004 M
-131.897 242.661 130.554 244.004 128.897 244.004 curveto
-127.24 244.004 125.897 242.661 125.897 241.004 curveto
-125.897 239.347 127.24 238.004 128.897 238.004 curveto
-130.554 238.004 131.897 239.347 131.897 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-131.897 241.004 M
-131.897 242.661 130.554 244.004 128.897 244.004 curveto
-127.24 244.004 125.897 242.661 125.897 241.004 curveto
-125.897 239.347 127.24 238.004 128.897 238.004 curveto
-130.554 238.004 131.897 239.347 131.897 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-132.201 241.004 M
-132.201 242.661 130.858 244.004 129.201 244.004 curveto
-127.544 244.004 126.201 242.661 126.201 241.004 curveto
-126.201 239.347 127.544 238.004 129.201 238.004 curveto
-130.858 238.004 132.201 239.347 132.201 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-132.201 241.004 M
-132.201 242.661 130.858 244.004 129.201 244.004 curveto
-127.544 244.004 126.201 242.661 126.201 241.004 curveto
-126.201 239.347 127.544 238.004 129.201 238.004 curveto
-130.858 238.004 132.201 239.347 132.201 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-132.504 241.004 M
-132.504 242.661 131.161 244.004 129.504 244.004 curveto
-127.848 244.004 126.504 242.661 126.504 241.004 curveto
-126.504 239.347 127.848 238.004 129.504 238.004 curveto
-131.161 238.004 132.504 239.347 132.504 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-132.504 241.004 M
-132.504 242.661 131.161 244.004 129.504 244.004 curveto
-127.848 244.004 126.504 242.661 126.504 241.004 curveto
-126.504 239.347 127.848 238.004 129.504 238.004 curveto
-131.161 238.004 132.504 239.347 132.504 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-132.808 241.004 M
-132.808 242.661 131.465 244.004 129.808 244.004 curveto
-128.151 244.004 126.808 242.661 126.808 241.004 curveto
-126.808 239.347 128.151 238.004 129.808 238.004 curveto
-131.465 238.004 132.808 239.347 132.808 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-132.808 241.004 M
-132.808 242.661 131.465 244.004 129.808 244.004 curveto
-128.151 244.004 126.808 242.661 126.808 241.004 curveto
-126.808 239.347 128.151 238.004 129.808 238.004 curveto
-131.465 238.004 132.808 239.347 132.808 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-133.112 241.004 M
-133.112 242.661 131.769 244.004 130.112 244.004 curveto
-128.455 244.004 127.112 242.661 127.112 241.004 curveto
-127.112 239.347 128.455 238.004 130.112 238.004 curveto
-131.769 238.004 133.112 239.347 133.112 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-133.112 241.004 M
-133.112 242.661 131.769 244.004 130.112 244.004 curveto
-128.455 244.004 127.112 242.661 127.112 241.004 curveto
-127.112 239.347 128.455 238.004 130.112 238.004 curveto
-131.769 238.004 133.112 239.347 133.112 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-133.416 241.004 M
-133.416 242.661 132.072 244.004 130.416 244.004 curveto
-128.759 244.004 127.416 242.661 127.416 241.004 curveto
-127.416 239.347 128.759 238.004 130.416 238.004 curveto
-132.072 238.004 133.416 239.347 133.416 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-133.416 241.004 M
-133.416 242.661 132.072 244.004 130.416 244.004 curveto
-128.759 244.004 127.416 242.661 127.416 241.004 curveto
-127.416 239.347 128.759 238.004 130.416 238.004 curveto
-132.072 238.004 133.416 239.347 133.416 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-133.719 241.004 M
-133.719 242.661 132.376 244.004 130.719 244.004 curveto
-129.063 244.004 127.719 242.661 127.719 241.004 curveto
-127.719 239.347 129.063 238.004 130.719 238.004 curveto
-132.376 238.004 133.719 239.347 133.719 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-133.719 241.004 M
-133.719 242.661 132.376 244.004 130.719 244.004 curveto
-129.063 244.004 127.719 242.661 127.719 241.004 curveto
-127.719 239.347 129.063 238.004 130.719 238.004 curveto
-132.376 238.004 133.719 239.347 133.719 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-134.023 241.004 M
-134.023 242.661 132.68 244.004 131.023 244.004 curveto
-129.366 244.004 128.023 242.661 128.023 241.004 curveto
-128.023 239.347 129.366 238.004 131.023 238.004 curveto
-132.68 238.004 134.023 239.347 134.023 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-134.023 241.004 M
-134.023 242.661 132.68 244.004 131.023 244.004 curveto
-129.366 244.004 128.023 242.661 128.023 241.004 curveto
-128.023 239.347 129.366 238.004 131.023 238.004 curveto
-132.68 238.004 134.023 239.347 134.023 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-134.327 241.004 M
-134.327 242.661 132.984 244.004 131.327 244.004 curveto
-129.67 244.004 128.327 242.661 128.327 241.004 curveto
-128.327 239.347 129.67 238.004 131.327 238.004 curveto
-132.984 238.004 134.327 239.347 134.327 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-134.327 241.004 M
-134.327 242.661 132.984 244.004 131.327 244.004 curveto
-129.67 244.004 128.327 242.661 128.327 241.004 curveto
-128.327 239.347 129.67 238.004 131.327 238.004 curveto
-132.984 238.004 134.327 239.347 134.327 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-134.631 241.004 M
-134.631 242.661 133.287 244.004 131.631 244.004 curveto
-129.974 244.004 128.631 242.661 128.631 241.004 curveto
-128.631 239.347 129.974 238.004 131.631 238.004 curveto
-133.287 238.004 134.631 239.347 134.631 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-134.631 241.004 M
-134.631 242.661 133.287 244.004 131.631 244.004 curveto
-129.974 244.004 128.631 242.661 128.631 241.004 curveto
-128.631 239.347 129.974 238.004 131.631 238.004 curveto
-133.287 238.004 134.631 239.347 134.631 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-134.934 241.004 M
-134.934 242.661 133.591 244.004 131.934 244.004 curveto
-130.277 244.004 128.934 242.661 128.934 241.004 curveto
-128.934 239.347 130.277 238.004 131.934 238.004 curveto
-133.591 238.004 134.934 239.347 134.934 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-134.934 241.004 M
-134.934 242.661 133.591 244.004 131.934 244.004 curveto
-130.277 244.004 128.934 242.661 128.934 241.004 curveto
-128.934 239.347 130.277 238.004 131.934 238.004 curveto
-133.591 238.004 134.934 239.347 134.934 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-135.238 241.004 M
-135.238 242.661 133.895 244.004 132.238 244.004 curveto
-130.581 244.004 129.238 242.661 129.238 241.004 curveto
-129.238 239.347 130.581 238.004 132.238 238.004 curveto
-133.895 238.004 135.238 239.347 135.238 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-135.238 241.004 M
-135.238 242.661 133.895 244.004 132.238 244.004 curveto
-130.581 244.004 129.238 242.661 129.238 241.004 curveto
-129.238 239.347 130.581 238.004 132.238 238.004 curveto
-133.895 238.004 135.238 239.347 135.238 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-135.542 241.004 M
-135.542 242.661 134.199 244.004 132.542 244.004 curveto
-130.885 244.004 129.542 242.661 129.542 241.004 curveto
-129.542 239.347 130.885 238.004 132.542 238.004 curveto
-134.199 238.004 135.542 239.347 135.542 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-135.542 241.004 M
-135.542 242.661 134.199 244.004 132.542 244.004 curveto
-130.885 244.004 129.542 242.661 129.542 241.004 curveto
-129.542 239.347 130.885 238.004 132.542 238.004 curveto
-134.199 238.004 135.542 239.347 135.542 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-135.846 241.004 M
-135.846 242.661 134.502 244.004 132.846 244.004 curveto
-131.189 244.004 129.846 242.661 129.846 241.004 curveto
-129.846 239.347 131.189 238.004 132.846 238.004 curveto
-134.502 238.004 135.846 239.347 135.846 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-135.846 241.004 M
-135.846 242.661 134.502 244.004 132.846 244.004 curveto
-131.189 244.004 129.846 242.661 129.846 241.004 curveto
-129.846 239.347 131.189 238.004 132.846 238.004 curveto
-134.502 238.004 135.846 239.347 135.846 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-136.149 241.004 M
-136.149 242.661 134.806 244.004 133.149 244.004 curveto
-131.492 244.004 130.149 242.661 130.149 241.004 curveto
-130.149 239.347 131.492 238.004 133.149 238.004 curveto
-134.806 238.004 136.149 239.347 136.149 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-136.149 241.004 M
-136.149 242.661 134.806 244.004 133.149 244.004 curveto
-131.492 244.004 130.149 242.661 130.149 241.004 curveto
-130.149 239.347 131.492 238.004 133.149 238.004 curveto
-134.806 238.004 136.149 239.347 136.149 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-136.453 241.004 M
-136.453 242.661 135.11 244.004 133.453 244.004 curveto
-131.796 244.004 130.453 242.661 130.453 241.004 curveto
-130.453 239.347 131.796 238.004 133.453 238.004 curveto
-135.11 238.004 136.453 239.347 136.453 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-136.453 241.004 M
-136.453 242.661 135.11 244.004 133.453 244.004 curveto
-131.796 244.004 130.453 242.661 130.453 241.004 curveto
-130.453 239.347 131.796 238.004 133.453 238.004 curveto
-135.11 238.004 136.453 239.347 136.453 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-136.757 241.004 M
-136.757 242.661 135.414 244.004 133.757 244.004 curveto
-132.1 244.004 130.757 242.661 130.757 241.004 curveto
-130.757 239.347 132.1 238.004 133.757 238.004 curveto
-135.414 238.004 136.757 239.347 136.757 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-136.757 241.004 M
-136.757 242.661 135.414 244.004 133.757 244.004 curveto
-132.1 244.004 130.757 242.661 130.757 241.004 curveto
-130.757 239.347 132.1 238.004 133.757 238.004 curveto
-135.414 238.004 136.757 239.347 136.757 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-137.06 241.004 M
-137.06 242.661 135.717 244.004 134.06 244.004 curveto
-132.404 244.004 131.06 242.661 131.06 241.004 curveto
-131.06 239.347 132.404 238.004 134.06 238.004 curveto
-135.717 238.004 137.06 239.347 137.06 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-137.06 241.004 M
-137.06 242.661 135.717 244.004 134.06 244.004 curveto
-132.404 244.004 131.06 242.661 131.06 241.004 curveto
-131.06 239.347 132.404 238.004 134.06 238.004 curveto
-135.717 238.004 137.06 239.347 137.06 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-137.364 241.004 M
-137.364 242.661 136.021 244.004 134.364 244.004 curveto
-132.707 244.004 131.364 242.661 131.364 241.004 curveto
-131.364 239.347 132.707 238.004 134.364 238.004 curveto
-136.021 238.004 137.364 239.347 137.364 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-137.364 241.004 M
-137.364 242.661 136.021 244.004 134.364 244.004 curveto
-132.707 244.004 131.364 242.661 131.364 241.004 curveto
-131.364 239.347 132.707 238.004 134.364 238.004 curveto
-136.021 238.004 137.364 239.347 137.364 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-137.668 241.004 M
-137.668 242.661 136.325 244.004 134.668 244.004 curveto
-133.011 244.004 131.668 242.661 131.668 241.004 curveto
-131.668 239.347 133.011 238.004 134.668 238.004 curveto
-136.325 238.004 137.668 239.347 137.668 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-137.668 241.004 M
-137.668 242.661 136.325 244.004 134.668 244.004 curveto
-133.011 244.004 131.668 242.661 131.668 241.004 curveto
-131.668 239.347 133.011 238.004 134.668 238.004 curveto
-136.325 238.004 137.668 239.347 137.668 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-137.972 241.004 M
-137.972 242.661 136.629 244.004 134.972 244.004 curveto
-133.315 244.004 131.972 242.661 131.972 241.004 curveto
-131.972 239.347 133.315 238.004 134.972 238.004 curveto
-136.629 238.004 137.972 239.347 137.972 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-137.972 241.004 M
-137.972 242.661 136.629 244.004 134.972 244.004 curveto
-133.315 244.004 131.972 242.661 131.972 241.004 curveto
-131.972 239.347 133.315 238.004 134.972 238.004 curveto
-136.629 238.004 137.972 239.347 137.972 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-138.275 241.004 M
-138.275 242.661 136.932 244.004 135.275 244.004 curveto
-133.619 244.004 132.275 242.661 132.275 241.004 curveto
-132.275 239.347 133.619 238.004 135.275 238.004 curveto
-136.932 238.004 138.275 239.347 138.275 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-138.275 241.004 M
-138.275 242.661 136.932 244.004 135.275 244.004 curveto
-133.619 244.004 132.275 242.661 132.275 241.004 curveto
-132.275 239.347 133.619 238.004 135.275 238.004 curveto
-136.932 238.004 138.275 239.347 138.275 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-138.579 241.004 M
-138.579 242.661 137.236 244.004 135.579 244.004 curveto
-133.922 244.004 132.579 242.661 132.579 241.004 curveto
-132.579 239.347 133.922 238.004 135.579 238.004 curveto
-137.236 238.004 138.579 239.347 138.579 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-138.579 241.004 M
-138.579 242.661 137.236 244.004 135.579 244.004 curveto
-133.922 244.004 132.579 242.661 132.579 241.004 curveto
-132.579 239.347 133.922 238.004 135.579 238.004 curveto
-137.236 238.004 138.579 239.347 138.579 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-138.883 262.552 M
-138.883 264.209 137.54 265.552 135.883 265.552 curveto
-134.226 265.552 132.883 264.209 132.883 262.552 curveto
-132.883 260.895 134.226 259.552 135.883 259.552 curveto
-137.54 259.552 138.883 260.895 138.883 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-138.883 262.552 M
-138.883 264.209 137.54 265.552 135.883 265.552 curveto
-134.226 265.552 132.883 264.209 132.883 262.552 curveto
-132.883 260.895 134.226 259.552 135.883 259.552 curveto
-137.54 259.552 138.883 260.895 138.883 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-139.187 284.1 M
-139.187 285.757 137.843 287.1 136.187 287.1 curveto
-134.53 287.1 133.187 285.757 133.187 284.1 curveto
-133.187 282.443 134.53 281.1 136.187 281.1 curveto
-137.843 281.1 139.187 282.443 139.187 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-139.187 284.1 M
-139.187 285.757 137.843 287.1 136.187 287.1 curveto
-134.53 287.1 133.187 285.757 133.187 284.1 curveto
-133.187 282.443 134.53 281.1 136.187 281.1 curveto
-137.843 281.1 139.187 282.443 139.187 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-139.49 284.1 M
-139.49 285.757 138.147 287.1 136.49 287.1 curveto
-134.834 287.1 133.49 285.757 133.49 284.1 curveto
-133.49 282.443 134.834 281.1 136.49 281.1 curveto
-138.147 281.1 139.49 282.443 139.49 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-139.49 284.1 M
-139.49 285.757 138.147 287.1 136.49 287.1 curveto
-134.834 287.1 133.49 285.757 133.49 284.1 curveto
-133.49 282.443 134.834 281.1 136.49 281.1 curveto
-138.147 281.1 139.49 282.443 139.49 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-139.794 284.1 M
-139.794 285.757 138.451 287.1 136.794 287.1 curveto
-135.137 287.1 133.794 285.757 133.794 284.1 curveto
-133.794 282.443 135.137 281.1 136.794 281.1 curveto
-138.451 281.1 139.794 282.443 139.794 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-139.794 284.1 M
-139.794 285.757 138.451 287.1 136.794 287.1 curveto
-135.137 287.1 133.794 285.757 133.794 284.1 curveto
-133.794 282.443 135.137 281.1 136.794 281.1 curveto
-138.451 281.1 139.794 282.443 139.794 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-140.098 284.1 M
-140.098 285.757 138.755 287.1 137.098 287.1 curveto
-135.441 287.1 134.098 285.757 134.098 284.1 curveto
-134.098 282.443 135.441 281.1 137.098 281.1 curveto
-138.755 281.1 140.098 282.443 140.098 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-140.098 284.1 M
-140.098 285.757 138.755 287.1 137.098 287.1 curveto
-135.441 287.1 134.098 285.757 134.098 284.1 curveto
-134.098 282.443 135.441 281.1 137.098 281.1 curveto
-138.755 281.1 140.098 282.443 140.098 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-140.402 284.1 M
-140.402 285.757 139.058 287.1 137.402 287.1 curveto
-135.745 287.1 134.402 285.757 134.402 284.1 curveto
-134.402 282.443 135.745 281.1 137.402 281.1 curveto
-139.058 281.1 140.402 282.443 140.402 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-140.402 284.1 M
-140.402 285.757 139.058 287.1 137.402 287.1 curveto
-135.745 287.1 134.402 285.757 134.402 284.1 curveto
-134.402 282.443 135.745 281.1 137.402 281.1 curveto
-139.058 281.1 140.402 282.443 140.402 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-140.705 284.1 M
-140.705 285.757 139.362 287.1 137.705 287.1 curveto
-136.048 287.1 134.705 285.757 134.705 284.1 curveto
-134.705 282.443 136.048 281.1 137.705 281.1 curveto
-139.362 281.1 140.705 282.443 140.705 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-140.705 284.1 M
-140.705 285.757 139.362 287.1 137.705 287.1 curveto
-136.048 287.1 134.705 285.757 134.705 284.1 curveto
-134.705 282.443 136.048 281.1 137.705 281.1 curveto
-139.362 281.1 140.705 282.443 140.705 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-141.009 284.1 M
-141.009 285.757 139.666 287.1 138.009 287.1 curveto
-136.352 287.1 135.009 285.757 135.009 284.1 curveto
-135.009 282.443 136.352 281.1 138.009 281.1 curveto
-139.666 281.1 141.009 282.443 141.009 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-141.009 284.1 M
-141.009 285.757 139.666 287.1 138.009 287.1 curveto
-136.352 287.1 135.009 285.757 135.009 284.1 curveto
-135.009 282.443 136.352 281.1 138.009 281.1 curveto
-139.666 281.1 141.009 282.443 141.009 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-141.313 284.1 M
-141.313 285.757 139.97 287.1 138.313 287.1 curveto
-136.656 287.1 135.313 285.757 135.313 284.1 curveto
-135.313 282.443 136.656 281.1 138.313 281.1 curveto
-139.97 281.1 141.313 282.443 141.313 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-141.313 284.1 M
-141.313 285.757 139.97 287.1 138.313 287.1 curveto
-136.656 287.1 135.313 285.757 135.313 284.1 curveto
-135.313 282.443 136.656 281.1 138.313 281.1 curveto
-139.97 281.1 141.313 282.443 141.313 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-141.617 284.1 M
-141.617 285.757 140.273 287.1 138.617 287.1 curveto
-136.96 287.1 135.617 285.757 135.617 284.1 curveto
-135.617 282.443 136.96 281.1 138.617 281.1 curveto
-140.273 281.1 141.617 282.443 141.617 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-141.617 284.1 M
-141.617 285.757 140.273 287.1 138.617 287.1 curveto
-136.96 287.1 135.617 285.757 135.617 284.1 curveto
-135.617 282.443 136.96 281.1 138.617 281.1 curveto
-140.273 281.1 141.617 282.443 141.617 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-141.92 284.1 M
-141.92 285.757 140.577 287.1 138.92 287.1 curveto
-137.263 287.1 135.92 285.757 135.92 284.1 curveto
-135.92 282.443 137.263 281.1 138.92 281.1 curveto
-140.577 281.1 141.92 282.443 141.92 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-141.92 284.1 M
-141.92 285.757 140.577 287.1 138.92 287.1 curveto
-137.263 287.1 135.92 285.757 135.92 284.1 curveto
-135.92 282.443 137.263 281.1 138.92 281.1 curveto
-140.577 281.1 141.92 282.443 141.92 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-142.224 284.1 M
-142.224 285.757 140.881 287.1 139.224 287.1 curveto
-137.567 287.1 136.224 285.757 136.224 284.1 curveto
-136.224 282.443 137.567 281.1 139.224 281.1 curveto
-140.881 281.1 142.224 282.443 142.224 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-142.224 284.1 M
-142.224 285.757 140.881 287.1 139.224 287.1 curveto
-137.567 287.1 136.224 285.757 136.224 284.1 curveto
-136.224 282.443 137.567 281.1 139.224 281.1 curveto
-140.881 281.1 142.224 282.443 142.224 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-142.528 284.1 M
-142.528 285.757 141.185 287.1 139.528 287.1 curveto
-137.871 287.1 136.528 285.757 136.528 284.1 curveto
-136.528 282.443 137.871 281.1 139.528 281.1 curveto
-141.185 281.1 142.528 282.443 142.528 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-142.528 284.1 M
-142.528 285.757 141.185 287.1 139.528 287.1 curveto
-137.871 287.1 136.528 285.757 136.528 284.1 curveto
-136.528 282.443 137.871 281.1 139.528 281.1 curveto
-141.185 281.1 142.528 282.443 142.528 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-142.831 284.1 M
-142.831 285.757 141.488 287.1 139.831 287.1 curveto
-138.175 287.1 136.831 285.757 136.831 284.1 curveto
-136.831 282.443 138.175 281.1 139.831 281.1 curveto
-141.488 281.1 142.831 282.443 142.831 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-142.831 284.1 M
-142.831 285.757 141.488 287.1 139.831 287.1 curveto
-138.175 287.1 136.831 285.757 136.831 284.1 curveto
-136.831 282.443 138.175 281.1 139.831 281.1 curveto
-141.488 281.1 142.831 282.443 142.831 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-143.135 284.1 M
-143.135 285.757 141.792 287.1 140.135 287.1 curveto
-138.478 287.1 137.135 285.757 137.135 284.1 curveto
-137.135 282.443 138.478 281.1 140.135 281.1 curveto
-141.792 281.1 143.135 282.443 143.135 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-143.135 284.1 M
-143.135 285.757 141.792 287.1 140.135 287.1 curveto
-138.478 287.1 137.135 285.757 137.135 284.1 curveto
-137.135 282.443 138.478 281.1 140.135 281.1 curveto
-141.792 281.1 143.135 282.443 143.135 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-143.439 284.1 M
-143.439 285.757 142.096 287.1 140.439 287.1 curveto
-138.782 287.1 137.439 285.757 137.439 284.1 curveto
-137.439 282.443 138.782 281.1 140.439 281.1 curveto
-142.096 281.1 143.439 282.443 143.439 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-143.439 284.1 M
-143.439 285.757 142.096 287.1 140.439 287.1 curveto
-138.782 287.1 137.439 285.757 137.439 284.1 curveto
-137.439 282.443 138.782 281.1 140.439 281.1 curveto
-142.096 281.1 143.439 282.443 143.439 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-143.743 284.1 M
-143.743 285.757 142.4 287.1 140.743 287.1 curveto
-139.086 287.1 137.743 285.757 137.743 284.1 curveto
-137.743 282.443 139.086 281.1 140.743 281.1 curveto
-142.4 281.1 143.743 282.443 143.743 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-143.743 284.1 M
-143.743 285.757 142.4 287.1 140.743 287.1 curveto
-139.086 287.1 137.743 285.757 137.743 284.1 curveto
-137.743 282.443 139.086 281.1 140.743 281.1 curveto
-142.4 281.1 143.743 282.443 143.743 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-144.046 197.907 M
-144.046 199.564 142.703 200.907 141.046 200.907 curveto
-139.39 200.907 138.046 199.564 138.046 197.907 curveto
-138.046 196.25 139.39 194.907 141.046 194.907 curveto
-142.703 194.907 144.046 196.25 144.046 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-144.046 197.907 M
-144.046 199.564 142.703 200.907 141.046 200.907 curveto
-139.39 200.907 138.046 199.564 138.046 197.907 curveto
-138.046 196.25 139.39 194.907 141.046 194.907 curveto
-142.703 194.907 144.046 196.25 144.046 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-144.35 176.359 M
-144.35 178.016 143.007 179.359 141.35 179.359 curveto
-139.693 179.359 138.35 178.016 138.35 176.359 curveto
-138.35 174.702 139.693 173.359 141.35 173.359 curveto
-143.007 173.359 144.35 174.702 144.35 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-144.35 176.359 M
-144.35 178.016 143.007 179.359 141.35 179.359 curveto
-139.693 179.359 138.35 178.016 138.35 176.359 curveto
-138.35 174.702 139.693 173.359 141.35 173.359 curveto
-143.007 173.359 144.35 174.702 144.35 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-144.654 197.907 M
-144.654 199.564 143.311 200.907 141.654 200.907 curveto
-139.997 200.907 138.654 199.564 138.654 197.907 curveto
-138.654 196.25 139.997 194.907 141.654 194.907 curveto
-143.311 194.907 144.654 196.25 144.654 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-144.654 197.907 M
-144.654 199.564 143.311 200.907 141.654 200.907 curveto
-139.997 200.907 138.654 199.564 138.654 197.907 curveto
-138.654 196.25 139.997 194.907 141.654 194.907 curveto
-143.311 194.907 144.654 196.25 144.654 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-144.958 176.359 M
-144.958 178.016 143.614 179.359 141.958 179.359 curveto
-140.301 179.359 138.958 178.016 138.958 176.359 curveto
-138.958 174.702 140.301 173.359 141.958 173.359 curveto
-143.614 173.359 144.958 174.702 144.958 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-144.958 176.359 M
-144.958 178.016 143.614 179.359 141.958 179.359 curveto
-140.301 179.359 138.958 178.016 138.958 176.359 curveto
-138.958 174.702 140.301 173.359 141.958 173.359 curveto
-143.614 173.359 144.958 174.702 144.958 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-145.261 176.359 M
-145.261 178.016 143.918 179.359 142.261 179.359 curveto
-140.605 179.359 139.261 178.016 139.261 176.359 curveto
-139.261 174.702 140.605 173.359 142.261 173.359 curveto
-143.918 173.359 145.261 174.702 145.261 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-145.261 176.359 M
-145.261 178.016 143.918 179.359 142.261 179.359 curveto
-140.605 179.359 139.261 178.016 139.261 176.359 curveto
-139.261 174.702 140.605 173.359 142.261 173.359 curveto
-143.918 173.359 145.261 174.702 145.261 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-145.565 176.359 M
-145.565 178.016 144.222 179.359 142.565 179.359 curveto
-140.908 179.359 139.565 178.016 139.565 176.359 curveto
-139.565 174.702 140.908 173.359 142.565 173.359 curveto
-144.222 173.359 145.565 174.702 145.565 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-145.565 176.359 M
-145.565 178.016 144.222 179.359 142.565 179.359 curveto
-140.908 179.359 139.565 178.016 139.565 176.359 curveto
-139.565 174.702 140.908 173.359 142.565 173.359 curveto
-144.222 173.359 145.565 174.702 145.565 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-145.869 176.359 M
-145.869 178.016 144.526 179.359 142.869 179.359 curveto
-141.212 179.359 139.869 178.016 139.869 176.359 curveto
-139.869 174.702 141.212 173.359 142.869 173.359 curveto
-144.526 173.359 145.869 174.702 145.869 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-145.869 176.359 M
-145.869 178.016 144.526 179.359 142.869 179.359 curveto
-141.212 179.359 139.869 178.016 139.869 176.359 curveto
-139.869 174.702 141.212 173.359 142.869 173.359 curveto
-144.526 173.359 145.869 174.702 145.869 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-146.173 176.359 M
-146.173 178.016 144.829 179.359 143.173 179.359 curveto
-141.516 179.359 140.173 178.016 140.173 176.359 curveto
-140.173 174.702 141.516 173.359 143.173 173.359 curveto
-144.829 173.359 146.173 174.702 146.173 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.173 176.359 M
-146.173 178.016 144.829 179.359 143.173 179.359 curveto
-141.516 179.359 140.173 178.016 140.173 176.359 curveto
-140.173 174.702 141.516 173.359 143.173 173.359 curveto
-144.829 173.359 146.173 174.702 146.173 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-146.476 176.359 M
-146.476 178.016 145.133 179.359 143.476 179.359 curveto
-141.819 179.359 140.476 178.016 140.476 176.359 curveto
-140.476 174.702 141.819 173.359 143.476 173.359 curveto
-145.133 173.359 146.476 174.702 146.476 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.476 176.359 M
-146.476 178.016 145.133 179.359 143.476 179.359 curveto
-141.819 179.359 140.476 178.016 140.476 176.359 curveto
-140.476 174.702 141.819 173.359 143.476 173.359 curveto
-145.133 173.359 146.476 174.702 146.476 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-146.78 176.359 M
-146.78 178.016 145.437 179.359 143.78 179.359 curveto
-142.123 179.359 140.78 178.016 140.78 176.359 curveto
-140.78 174.702 142.123 173.359 143.78 173.359 curveto
-145.437 173.359 146.78 174.702 146.78 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.78 176.359 M
-146.78 178.016 145.437 179.359 143.78 179.359 curveto
-142.123 179.359 140.78 178.016 140.78 176.359 curveto
-140.78 174.702 142.123 173.359 143.78 173.359 curveto
-145.437 173.359 146.78 174.702 146.78 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-147.084 176.359 M
-147.084 178.016 145.741 179.359 144.084 179.359 curveto
-142.427 179.359 141.084 178.016 141.084 176.359 curveto
-141.084 174.702 142.427 173.359 144.084 173.359 curveto
-145.741 173.359 147.084 174.702 147.084 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-147.084 176.359 M
-147.084 178.016 145.741 179.359 144.084 179.359 curveto
-142.427 179.359 141.084 178.016 141.084 176.359 curveto
-141.084 174.702 142.427 173.359 144.084 173.359 curveto
-145.741 173.359 147.084 174.702 147.084 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-147.388 176.359 M
-147.388 178.016 146.044 179.359 144.388 179.359 curveto
-142.731 179.359 141.388 178.016 141.388 176.359 curveto
-141.388 174.702 142.731 173.359 144.388 173.359 curveto
-146.044 173.359 147.388 174.702 147.388 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-147.388 176.359 M
-147.388 178.016 146.044 179.359 144.388 179.359 curveto
-142.731 179.359 141.388 178.016 141.388 176.359 curveto
-141.388 174.702 142.731 173.359 144.388 173.359 curveto
-146.044 173.359 147.388 174.702 147.388 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-147.691 176.359 M
-147.691 178.016 146.348 179.359 144.691 179.359 curveto
-143.034 179.359 141.691 178.016 141.691 176.359 curveto
-141.691 174.702 143.034 173.359 144.691 173.359 curveto
-146.348 173.359 147.691 174.702 147.691 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-147.691 176.359 M
-147.691 178.016 146.348 179.359 144.691 179.359 curveto
-143.034 179.359 141.691 178.016 141.691 176.359 curveto
-141.691 174.702 143.034 173.359 144.691 173.359 curveto
-146.348 173.359 147.691 174.702 147.691 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-147.995 176.359 M
-147.995 178.016 146.652 179.359 144.995 179.359 curveto
-143.338 179.359 141.995 178.016 141.995 176.359 curveto
-141.995 174.702 143.338 173.359 144.995 173.359 curveto
-146.652 173.359 147.995 174.702 147.995 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-147.995 176.359 M
-147.995 178.016 146.652 179.359 144.995 179.359 curveto
-143.338 179.359 141.995 178.016 141.995 176.359 curveto
-141.995 174.702 143.338 173.359 144.995 173.359 curveto
-146.652 173.359 147.995 174.702 147.995 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-148.299 176.359 M
-148.299 178.016 146.956 179.359 145.299 179.359 curveto
-143.642 179.359 142.299 178.016 142.299 176.359 curveto
-142.299 174.702 143.642 173.359 145.299 173.359 curveto
-146.956 173.359 148.299 174.702 148.299 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-148.299 176.359 M
-148.299 178.016 146.956 179.359 145.299 179.359 curveto
-143.642 179.359 142.299 178.016 142.299 176.359 curveto
-142.299 174.702 143.642 173.359 145.299 173.359 curveto
-146.956 173.359 148.299 174.702 148.299 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-148.602 176.359 M
-148.602 178.016 147.259 179.359 145.602 179.359 curveto
-143.946 179.359 142.602 178.016 142.602 176.359 curveto
-142.602 174.702 143.946 173.359 145.602 173.359 curveto
-147.259 173.359 148.602 174.702 148.602 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-148.602 176.359 M
-148.602 178.016 147.259 179.359 145.602 179.359 curveto
-143.946 179.359 142.602 178.016 142.602 176.359 curveto
-142.602 174.702 143.946 173.359 145.602 173.359 curveto
-147.259 173.359 148.602 174.702 148.602 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-148.906 176.359 M
-148.906 178.016 147.563 179.359 145.906 179.359 curveto
-144.249 179.359 142.906 178.016 142.906 176.359 curveto
-142.906 174.702 144.249 173.359 145.906 173.359 curveto
-147.563 173.359 148.906 174.702 148.906 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-148.906 176.359 M
-148.906 178.016 147.563 179.359 145.906 179.359 curveto
-144.249 179.359 142.906 178.016 142.906 176.359 curveto
-142.906 174.702 144.249 173.359 145.906 173.359 curveto
-147.563 173.359 148.906 174.702 148.906 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-149.21 176.359 M
-149.21 178.016 147.867 179.359 146.21 179.359 curveto
-144.553 179.359 143.21 178.016 143.21 176.359 curveto
-143.21 174.702 144.553 173.359 146.21 173.359 curveto
-147.867 173.359 149.21 174.702 149.21 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-149.21 176.359 M
-149.21 178.016 147.867 179.359 146.21 179.359 curveto
-144.553 179.359 143.21 178.016 143.21 176.359 curveto
-143.21 174.702 144.553 173.359 146.21 173.359 curveto
-147.867 173.359 149.21 174.702 149.21 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-149.514 176.359 M
-149.514 178.016 148.171 179.359 146.514 179.359 curveto
-144.857 179.359 143.514 178.016 143.514 176.359 curveto
-143.514 174.702 144.857 173.359 146.514 173.359 curveto
-148.171 173.359 149.514 174.702 149.514 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-149.514 176.359 M
-149.514 178.016 148.171 179.359 146.514 179.359 curveto
-144.857 179.359 143.514 178.016 143.514 176.359 curveto
-143.514 174.702 144.857 173.359 146.514 173.359 curveto
-148.171 173.359 149.514 174.702 149.514 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-149.817 176.359 M
-149.817 178.016 148.474 179.359 146.817 179.359 curveto
-145.161 179.359 143.817 178.016 143.817 176.359 curveto
-143.817 174.702 145.161 173.359 146.817 173.359 curveto
-148.474 173.359 149.817 174.702 149.817 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-149.817 176.359 M
-149.817 178.016 148.474 179.359 146.817 179.359 curveto
-145.161 179.359 143.817 178.016 143.817 176.359 curveto
-143.817 174.702 145.161 173.359 146.817 173.359 curveto
-148.474 173.359 149.817 174.702 149.817 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-150.121 176.359 M
-150.121 178.016 148.778 179.359 147.121 179.359 curveto
-145.464 179.359 144.121 178.016 144.121 176.359 curveto
-144.121 174.702 145.464 173.359 147.121 173.359 curveto
-148.778 173.359 150.121 174.702 150.121 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-150.121 176.359 M
-150.121 178.016 148.778 179.359 147.121 179.359 curveto
-145.464 179.359 144.121 178.016 144.121 176.359 curveto
-144.121 174.702 145.464 173.359 147.121 173.359 curveto
-148.778 173.359 150.121 174.702 150.121 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-150.425 176.359 M
-150.425 178.016 149.082 179.359 147.425 179.359 curveto
-145.768 179.359 144.425 178.016 144.425 176.359 curveto
-144.425 174.702 145.768 173.359 147.425 173.359 curveto
-149.082 173.359 150.425 174.702 150.425 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-150.425 176.359 M
-150.425 178.016 149.082 179.359 147.425 179.359 curveto
-145.768 179.359 144.425 178.016 144.425 176.359 curveto
-144.425 174.702 145.768 173.359 147.425 173.359 curveto
-149.082 173.359 150.425 174.702 150.425 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-150.729 176.359 M
-150.729 178.016 149.386 179.359 147.729 179.359 curveto
-146.072 179.359 144.729 178.016 144.729 176.359 curveto
-144.729 174.702 146.072 173.359 147.729 173.359 curveto
-149.386 173.359 150.729 174.702 150.729 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-150.729 176.359 M
-150.729 178.016 149.386 179.359 147.729 179.359 curveto
-146.072 179.359 144.729 178.016 144.729 176.359 curveto
-144.729 174.702 146.072 173.359 147.729 173.359 curveto
-149.386 173.359 150.729 174.702 150.729 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-151.032 176.359 M
-151.032 178.016 149.689 179.359 148.032 179.359 curveto
-146.376 179.359 145.032 178.016 145.032 176.359 curveto
-145.032 174.702 146.376 173.359 148.032 173.359 curveto
-149.689 173.359 151.032 174.702 151.032 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-151.032 176.359 M
-151.032 178.016 149.689 179.359 148.032 179.359 curveto
-146.376 179.359 145.032 178.016 145.032 176.359 curveto
-145.032 174.702 146.376 173.359 148.032 173.359 curveto
-149.689 173.359 151.032 174.702 151.032 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-151.336 176.359 M
-151.336 178.016 149.993 179.359 148.336 179.359 curveto
-146.679 179.359 145.336 178.016 145.336 176.359 curveto
-145.336 174.702 146.679 173.359 148.336 173.359 curveto
-149.993 173.359 151.336 174.702 151.336 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-151.336 176.359 M
-151.336 178.016 149.993 179.359 148.336 179.359 curveto
-146.679 179.359 145.336 178.016 145.336 176.359 curveto
-145.336 174.702 146.679 173.359 148.336 173.359 curveto
-149.993 173.359 151.336 174.702 151.336 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-151.64 176.359 M
-151.64 178.016 150.297 179.359 148.64 179.359 curveto
-146.983 179.359 145.64 178.016 145.64 176.359 curveto
-145.64 174.702 146.983 173.359 148.64 173.359 curveto
-150.297 173.359 151.64 174.702 151.64 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-151.64 176.359 M
-151.64 178.016 150.297 179.359 148.64 179.359 curveto
-146.983 179.359 145.64 178.016 145.64 176.359 curveto
-145.64 174.702 146.983 173.359 148.64 173.359 curveto
-150.297 173.359 151.64 174.702 151.64 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-151.944 176.359 M
-151.944 178.016 150.6 179.359 148.944 179.359 curveto
-147.287 179.359 145.944 178.016 145.944 176.359 curveto
-145.944 174.702 147.287 173.359 148.944 173.359 curveto
-150.6 173.359 151.944 174.702 151.944 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-151.944 176.359 M
-151.944 178.016 150.6 179.359 148.944 179.359 curveto
-147.287 179.359 145.944 178.016 145.944 176.359 curveto
-145.944 174.702 147.287 173.359 148.944 173.359 curveto
-150.6 173.359 151.944 174.702 151.944 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-152.247 176.359 M
-152.247 178.016 150.904 179.359 149.247 179.359 curveto
-147.59 179.359 146.247 178.016 146.247 176.359 curveto
-146.247 174.702 147.59 173.359 149.247 173.359 curveto
-150.904 173.359 152.247 174.702 152.247 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-152.247 176.359 M
-152.247 178.016 150.904 179.359 149.247 179.359 curveto
-147.59 179.359 146.247 178.016 146.247 176.359 curveto
-146.247 174.702 147.59 173.359 149.247 173.359 curveto
-150.904 173.359 152.247 174.702 152.247 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-152.551 176.359 M
-152.551 178.016 151.208 179.359 149.551 179.359 curveto
-147.894 179.359 146.551 178.016 146.551 176.359 curveto
-146.551 174.702 147.894 173.359 149.551 173.359 curveto
-151.208 173.359 152.551 174.702 152.551 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-152.551 176.359 M
-152.551 178.016 151.208 179.359 149.551 179.359 curveto
-147.894 179.359 146.551 178.016 146.551 176.359 curveto
-146.551 174.702 147.894 173.359 149.551 173.359 curveto
-151.208 173.359 152.551 174.702 152.551 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-152.855 176.359 M
-152.855 178.016 151.512 179.359 149.855 179.359 curveto
-148.198 179.359 146.855 178.016 146.855 176.359 curveto
-146.855 174.702 148.198 173.359 149.855 173.359 curveto
-151.512 173.359 152.855 174.702 152.855 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-152.855 176.359 M
-152.855 178.016 151.512 179.359 149.855 179.359 curveto
-148.198 179.359 146.855 178.016 146.855 176.359 curveto
-146.855 174.702 148.198 173.359 149.855 173.359 curveto
-151.512 173.359 152.855 174.702 152.855 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-153.159 176.359 M
-153.159 178.016 151.815 179.359 150.159 179.359 curveto
-148.502 179.359 147.159 178.016 147.159 176.359 curveto
-147.159 174.702 148.502 173.359 150.159 173.359 curveto
-151.815 173.359 153.159 174.702 153.159 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-153.159 176.359 M
-153.159 178.016 151.815 179.359 150.159 179.359 curveto
-148.502 179.359 147.159 178.016 147.159 176.359 curveto
-147.159 174.702 148.502 173.359 150.159 173.359 curveto
-151.815 173.359 153.159 174.702 153.159 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-153.462 176.359 M
-153.462 178.016 152.119 179.359 150.462 179.359 curveto
-148.805 179.359 147.462 178.016 147.462 176.359 curveto
-147.462 174.702 148.805 173.359 150.462 173.359 curveto
-152.119 173.359 153.462 174.702 153.462 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-153.462 176.359 M
-153.462 178.016 152.119 179.359 150.462 179.359 curveto
-148.805 179.359 147.462 178.016 147.462 176.359 curveto
-147.462 174.702 148.805 173.359 150.462 173.359 curveto
-152.119 173.359 153.462 174.702 153.462 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-153.766 176.359 M
-153.766 178.016 152.423 179.359 150.766 179.359 curveto
-149.109 179.359 147.766 178.016 147.766 176.359 curveto
-147.766 174.702 149.109 173.359 150.766 173.359 curveto
-152.423 173.359 153.766 174.702 153.766 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-153.766 176.359 M
-153.766 178.016 152.423 179.359 150.766 179.359 curveto
-149.109 179.359 147.766 178.016 147.766 176.359 curveto
-147.766 174.702 149.109 173.359 150.766 173.359 curveto
-152.423 173.359 153.766 174.702 153.766 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-154.07 176.359 M
-154.07 178.016 152.727 179.359 151.07 179.359 curveto
-149.413 179.359 148.07 178.016 148.07 176.359 curveto
-148.07 174.702 149.413 173.359 151.07 173.359 curveto
-152.727 173.359 154.07 174.702 154.07 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-154.07 176.359 M
-154.07 178.016 152.727 179.359 151.07 179.359 curveto
-149.413 179.359 148.07 178.016 148.07 176.359 curveto
-148.07 174.702 149.413 173.359 151.07 173.359 curveto
-152.727 173.359 154.07 174.702 154.07 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-154.373 176.359 M
-154.373 178.016 153.03 179.359 151.373 179.359 curveto
-149.717 179.359 148.373 178.016 148.373 176.359 curveto
-148.373 174.702 149.717 173.359 151.373 173.359 curveto
-153.03 173.359 154.373 174.702 154.373 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-154.373 176.359 M
-154.373 178.016 153.03 179.359 151.373 179.359 curveto
-149.717 179.359 148.373 178.016 148.373 176.359 curveto
-148.373 174.702 149.717 173.359 151.373 173.359 curveto
-153.03 173.359 154.373 174.702 154.373 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-154.677 197.907 M
-154.677 199.564 153.334 200.907 151.677 200.907 curveto
-150.02 200.907 148.677 199.564 148.677 197.907 curveto
-148.677 196.25 150.02 194.907 151.677 194.907 curveto
-153.334 194.907 154.677 196.25 154.677 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-154.677 197.907 M
-154.677 199.564 153.334 200.907 151.677 200.907 curveto
-150.02 200.907 148.677 199.564 148.677 197.907 curveto
-148.677 196.25 150.02 194.907 151.677 194.907 curveto
-153.334 194.907 154.677 196.25 154.677 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-154.981 219.455 M
-154.981 221.112 153.638 222.455 151.981 222.455 curveto
-150.324 222.455 148.981 221.112 148.981 219.455 curveto
-148.981 217.799 150.324 216.455 151.981 216.455 curveto
-153.638 216.455 154.981 217.799 154.981 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-154.981 219.455 M
-154.981 221.112 153.638 222.455 151.981 222.455 curveto
-150.324 222.455 148.981 221.112 148.981 219.455 curveto
-148.981 217.799 150.324 216.455 151.981 216.455 curveto
-153.638 216.455 154.981 217.799 154.981 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-155.285 219.455 M
-155.285 221.112 153.942 222.455 152.285 222.455 curveto
-150.628 222.455 149.285 221.112 149.285 219.455 curveto
-149.285 217.799 150.628 216.455 152.285 216.455 curveto
-153.942 216.455 155.285 217.799 155.285 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-155.285 219.455 M
-155.285 221.112 153.942 222.455 152.285 222.455 curveto
-150.628 222.455 149.285 221.112 149.285 219.455 curveto
-149.285 217.799 150.628 216.455 152.285 216.455 curveto
-153.942 216.455 155.285 217.799 155.285 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-155.588 219.455 M
-155.588 221.112 154.245 222.455 152.588 222.455 curveto
-150.932 222.455 149.588 221.112 149.588 219.455 curveto
-149.588 217.799 150.932 216.455 152.588 216.455 curveto
-154.245 216.455 155.588 217.799 155.588 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-155.588 219.455 M
-155.588 221.112 154.245 222.455 152.588 222.455 curveto
-150.932 222.455 149.588 221.112 149.588 219.455 curveto
-149.588 217.799 150.932 216.455 152.588 216.455 curveto
-154.245 216.455 155.588 217.799 155.588 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-155.892 219.455 M
-155.892 221.112 154.549 222.455 152.892 222.455 curveto
-151.235 222.455 149.892 221.112 149.892 219.455 curveto
-149.892 217.799 151.235 216.455 152.892 216.455 curveto
-154.549 216.455 155.892 217.799 155.892 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-155.892 219.455 M
-155.892 221.112 154.549 222.455 152.892 222.455 curveto
-151.235 222.455 149.892 221.112 149.892 219.455 curveto
-149.892 217.799 151.235 216.455 152.892 216.455 curveto
-154.549 216.455 155.892 217.799 155.892 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-156.196 241.004 M
-156.196 242.661 154.853 244.004 153.196 244.004 curveto
-151.539 244.004 150.196 242.661 150.196 241.004 curveto
-150.196 239.347 151.539 238.004 153.196 238.004 curveto
-154.853 238.004 156.196 239.347 156.196 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-156.196 241.004 M
-156.196 242.661 154.853 244.004 153.196 244.004 curveto
-151.539 244.004 150.196 242.661 150.196 241.004 curveto
-150.196 239.347 151.539 238.004 153.196 238.004 curveto
-154.853 238.004 156.196 239.347 156.196 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-156.5 241.004 M
-156.5 242.661 155.157 244.004 153.5 244.004 curveto
-151.843 244.004 150.5 242.661 150.5 241.004 curveto
-150.5 239.347 151.843 238.004 153.5 238.004 curveto
-155.157 238.004 156.5 239.347 156.5 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-156.5 241.004 M
-156.5 242.661 155.157 244.004 153.5 244.004 curveto
-151.843 244.004 150.5 242.661 150.5 241.004 curveto
-150.5 239.347 151.843 238.004 153.5 238.004 curveto
-155.157 238.004 156.5 239.347 156.5 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-156.803 241.004 M
-156.803 242.661 155.46 244.004 153.803 244.004 curveto
-152.147 244.004 150.803 242.661 150.803 241.004 curveto
-150.803 239.347 152.147 238.004 153.803 238.004 curveto
-155.46 238.004 156.803 239.347 156.803 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-156.803 241.004 M
-156.803 242.661 155.46 244.004 153.803 244.004 curveto
-152.147 244.004 150.803 242.661 150.803 241.004 curveto
-150.803 239.347 152.147 238.004 153.803 238.004 curveto
-155.46 238.004 156.803 239.347 156.803 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-157.107 241.004 M
-157.107 242.661 155.764 244.004 154.107 244.004 curveto
-152.45 244.004 151.107 242.661 151.107 241.004 curveto
-151.107 239.347 152.45 238.004 154.107 238.004 curveto
-155.764 238.004 157.107 239.347 157.107 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-157.107 241.004 M
-157.107 242.661 155.764 244.004 154.107 244.004 curveto
-152.45 244.004 151.107 242.661 151.107 241.004 curveto
-151.107 239.347 152.45 238.004 154.107 238.004 curveto
-155.764 238.004 157.107 239.347 157.107 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-157.411 241.004 M
-157.411 242.661 156.068 244.004 154.411 244.004 curveto
-152.754 244.004 151.411 242.661 151.411 241.004 curveto
-151.411 239.347 152.754 238.004 154.411 238.004 curveto
-156.068 238.004 157.411 239.347 157.411 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-157.411 241.004 M
-157.411 242.661 156.068 244.004 154.411 244.004 curveto
-152.754 244.004 151.411 242.661 151.411 241.004 curveto
-151.411 239.347 152.754 238.004 154.411 238.004 curveto
-156.068 238.004 157.411 239.347 157.411 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-157.715 241.004 M
-157.715 242.661 156.371 244.004 154.715 244.004 curveto
-153.058 244.004 151.715 242.661 151.715 241.004 curveto
-151.715 239.347 153.058 238.004 154.715 238.004 curveto
-156.371 238.004 157.715 239.347 157.715 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-157.715 241.004 M
-157.715 242.661 156.371 244.004 154.715 244.004 curveto
-153.058 244.004 151.715 242.661 151.715 241.004 curveto
-151.715 239.347 153.058 238.004 154.715 238.004 curveto
-156.371 238.004 157.715 239.347 157.715 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-158.018 241.004 M
-158.018 242.661 156.675 244.004 155.018 244.004 curveto
-153.361 244.004 152.018 242.661 152.018 241.004 curveto
-152.018 239.347 153.361 238.004 155.018 238.004 curveto
-156.675 238.004 158.018 239.347 158.018 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-158.018 241.004 M
-158.018 242.661 156.675 244.004 155.018 244.004 curveto
-153.361 244.004 152.018 242.661 152.018 241.004 curveto
-152.018 239.347 153.361 238.004 155.018 238.004 curveto
-156.675 238.004 158.018 239.347 158.018 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-158.322 241.004 M
-158.322 242.661 156.979 244.004 155.322 244.004 curveto
-153.665 244.004 152.322 242.661 152.322 241.004 curveto
-152.322 239.347 153.665 238.004 155.322 238.004 curveto
-156.979 238.004 158.322 239.347 158.322 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-158.322 241.004 M
-158.322 242.661 156.979 244.004 155.322 244.004 curveto
-153.665 244.004 152.322 242.661 152.322 241.004 curveto
-152.322 239.347 153.665 238.004 155.322 238.004 curveto
-156.979 238.004 158.322 239.347 158.322 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-158.626 241.004 M
-158.626 242.661 157.283 244.004 155.626 244.004 curveto
-153.969 244.004 152.626 242.661 152.626 241.004 curveto
-152.626 239.347 153.969 238.004 155.626 238.004 curveto
-157.283 238.004 158.626 239.347 158.626 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-158.626 241.004 M
-158.626 242.661 157.283 244.004 155.626 244.004 curveto
-153.969 244.004 152.626 242.661 152.626 241.004 curveto
-152.626 239.347 153.969 238.004 155.626 238.004 curveto
-157.283 238.004 158.626 239.347 158.626 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-158.93 241.004 M
-158.93 242.661 157.586 244.004 155.93 244.004 curveto
-154.273 244.004 152.93 242.661 152.93 241.004 curveto
-152.93 239.347 154.273 238.004 155.93 238.004 curveto
-157.586 238.004 158.93 239.347 158.93 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-158.93 241.004 M
-158.93 242.661 157.586 244.004 155.93 244.004 curveto
-154.273 244.004 152.93 242.661 152.93 241.004 curveto
-152.93 239.347 154.273 238.004 155.93 238.004 curveto
-157.586 238.004 158.93 239.347 158.93 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-159.233 241.004 M
-159.233 242.661 157.89 244.004 156.233 244.004 curveto
-154.576 244.004 153.233 242.661 153.233 241.004 curveto
-153.233 239.347 154.576 238.004 156.233 238.004 curveto
-157.89 238.004 159.233 239.347 159.233 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-159.233 241.004 M
-159.233 242.661 157.89 244.004 156.233 244.004 curveto
-154.576 244.004 153.233 242.661 153.233 241.004 curveto
-153.233 239.347 154.576 238.004 156.233 238.004 curveto
-157.89 238.004 159.233 239.347 159.233 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-159.537 241.004 M
-159.537 242.661 158.194 244.004 156.537 244.004 curveto
-154.88 244.004 153.537 242.661 153.537 241.004 curveto
-153.537 239.347 154.88 238.004 156.537 238.004 curveto
-158.194 238.004 159.537 239.347 159.537 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-159.537 241.004 M
-159.537 242.661 158.194 244.004 156.537 244.004 curveto
-154.88 244.004 153.537 242.661 153.537 241.004 curveto
-153.537 239.347 154.88 238.004 156.537 238.004 curveto
-158.194 238.004 159.537 239.347 159.537 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-159.841 241.004 M
-159.841 242.661 158.498 244.004 156.841 244.004 curveto
-155.184 244.004 153.841 242.661 153.841 241.004 curveto
-153.841 239.347 155.184 238.004 156.841 238.004 curveto
-158.498 238.004 159.841 239.347 159.841 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-159.841 241.004 M
-159.841 242.661 158.498 244.004 156.841 244.004 curveto
-155.184 244.004 153.841 242.661 153.841 241.004 curveto
-153.841 239.347 155.184 238.004 156.841 238.004 curveto
-158.498 238.004 159.841 239.347 159.841 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-160.145 241.004 M
-160.145 242.661 158.801 244.004 157.145 244.004 curveto
-155.488 244.004 154.145 242.661 154.145 241.004 curveto
-154.145 239.347 155.488 238.004 157.145 238.004 curveto
-158.801 238.004 160.145 239.347 160.145 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-160.145 241.004 M
-160.145 242.661 158.801 244.004 157.145 244.004 curveto
-155.488 244.004 154.145 242.661 154.145 241.004 curveto
-154.145 239.347 155.488 238.004 157.145 238.004 curveto
-158.801 238.004 160.145 239.347 160.145 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-160.448 241.004 M
-160.448 242.661 159.105 244.004 157.448 244.004 curveto
-155.791 244.004 154.448 242.661 154.448 241.004 curveto
-154.448 239.347 155.791 238.004 157.448 238.004 curveto
-159.105 238.004 160.448 239.347 160.448 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-160.448 241.004 M
-160.448 242.661 159.105 244.004 157.448 244.004 curveto
-155.791 244.004 154.448 242.661 154.448 241.004 curveto
-154.448 239.347 155.791 238.004 157.448 238.004 curveto
-159.105 238.004 160.448 239.347 160.448 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-160.752 241.004 M
-160.752 242.661 159.409 244.004 157.752 244.004 curveto
-156.095 244.004 154.752 242.661 154.752 241.004 curveto
-154.752 239.347 156.095 238.004 157.752 238.004 curveto
-159.409 238.004 160.752 239.347 160.752 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-160.752 241.004 M
-160.752 242.661 159.409 244.004 157.752 244.004 curveto
-156.095 244.004 154.752 242.661 154.752 241.004 curveto
-154.752 239.347 156.095 238.004 157.752 238.004 curveto
-159.409 238.004 160.752 239.347 160.752 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-161.056 241.004 M
-161.056 242.661 159.713 244.004 158.056 244.004 curveto
-156.399 244.004 155.056 242.661 155.056 241.004 curveto
-155.056 239.347 156.399 238.004 158.056 238.004 curveto
-159.713 238.004 161.056 239.347 161.056 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-161.056 241.004 M
-161.056 242.661 159.713 244.004 158.056 244.004 curveto
-156.399 244.004 155.056 242.661 155.056 241.004 curveto
-155.056 239.347 156.399 238.004 158.056 238.004 curveto
-159.713 238.004 161.056 239.347 161.056 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-161.359 241.004 M
-161.359 242.661 160.016 244.004 158.359 244.004 curveto
-156.703 244.004 155.359 242.661 155.359 241.004 curveto
-155.359 239.347 156.703 238.004 158.359 238.004 curveto
-160.016 238.004 161.359 239.347 161.359 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-161.359 241.004 M
-161.359 242.661 160.016 244.004 158.359 244.004 curveto
-156.703 244.004 155.359 242.661 155.359 241.004 curveto
-155.359 239.347 156.703 238.004 158.359 238.004 curveto
-160.016 238.004 161.359 239.347 161.359 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-161.663 241.004 M
-161.663 242.661 160.32 244.004 158.663 244.004 curveto
-157.006 244.004 155.663 242.661 155.663 241.004 curveto
-155.663 239.347 157.006 238.004 158.663 238.004 curveto
-160.32 238.004 161.663 239.347 161.663 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-161.663 241.004 M
-161.663 242.661 160.32 244.004 158.663 244.004 curveto
-157.006 244.004 155.663 242.661 155.663 241.004 curveto
-155.663 239.347 157.006 238.004 158.663 238.004 curveto
-160.32 238.004 161.663 239.347 161.663 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-161.967 241.004 M
-161.967 242.661 160.624 244.004 158.967 244.004 curveto
-157.31 244.004 155.967 242.661 155.967 241.004 curveto
-155.967 239.347 157.31 238.004 158.967 238.004 curveto
-160.624 238.004 161.967 239.347 161.967 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-161.967 241.004 M
-161.967 242.661 160.624 244.004 158.967 244.004 curveto
-157.31 244.004 155.967 242.661 155.967 241.004 curveto
-155.967 239.347 157.31 238.004 158.967 238.004 curveto
-160.624 238.004 161.967 239.347 161.967 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-162.271 241.004 M
-162.271 242.661 160.928 244.004 159.271 244.004 curveto
-157.614 244.004 156.271 242.661 156.271 241.004 curveto
-156.271 239.347 157.614 238.004 159.271 238.004 curveto
-160.928 238.004 162.271 239.347 162.271 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-162.271 241.004 M
-162.271 242.661 160.928 244.004 159.271 244.004 curveto
-157.614 244.004 156.271 242.661 156.271 241.004 curveto
-156.271 239.347 157.614 238.004 159.271 238.004 curveto
-160.928 238.004 162.271 239.347 162.271 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-162.574 241.004 M
-162.574 242.661 161.231 244.004 159.574 244.004 curveto
-157.918 244.004 156.574 242.661 156.574 241.004 curveto
-156.574 239.347 157.918 238.004 159.574 238.004 curveto
-161.231 238.004 162.574 239.347 162.574 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-162.574 241.004 M
-162.574 242.661 161.231 244.004 159.574 244.004 curveto
-157.918 244.004 156.574 242.661 156.574 241.004 curveto
-156.574 239.347 157.918 238.004 159.574 238.004 curveto
-161.231 238.004 162.574 239.347 162.574 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-162.878 241.004 M
-162.878 242.661 161.535 244.004 159.878 244.004 curveto
-158.221 244.004 156.878 242.661 156.878 241.004 curveto
-156.878 239.347 158.221 238.004 159.878 238.004 curveto
-161.535 238.004 162.878 239.347 162.878 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-162.878 241.004 M
-162.878 242.661 161.535 244.004 159.878 244.004 curveto
-158.221 244.004 156.878 242.661 156.878 241.004 curveto
-156.878 239.347 158.221 238.004 159.878 238.004 curveto
-161.535 238.004 162.878 239.347 162.878 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-163.182 241.004 M
-163.182 242.661 161.839 244.004 160.182 244.004 curveto
-158.525 244.004 157.182 242.661 157.182 241.004 curveto
-157.182 239.347 158.525 238.004 160.182 238.004 curveto
-161.839 238.004 163.182 239.347 163.182 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-163.182 241.004 M
-163.182 242.661 161.839 244.004 160.182 244.004 curveto
-158.525 244.004 157.182 242.661 157.182 241.004 curveto
-157.182 239.347 158.525 238.004 160.182 238.004 curveto
-161.839 238.004 163.182 239.347 163.182 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-163.486 262.552 M
-163.486 264.209 162.142 265.552 160.486 265.552 curveto
-158.829 265.552 157.486 264.209 157.486 262.552 curveto
-157.486 260.895 158.829 259.552 160.486 259.552 curveto
-162.142 259.552 163.486 260.895 163.486 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-163.486 262.552 M
-163.486 264.209 162.142 265.552 160.486 265.552 curveto
-158.829 265.552 157.486 264.209 157.486 262.552 curveto
-157.486 260.895 158.829 259.552 160.486 259.552 curveto
-162.142 259.552 163.486 260.895 163.486 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-163.789 262.552 M
-163.789 264.209 162.446 265.552 160.789 265.552 curveto
-159.132 265.552 157.789 264.209 157.789 262.552 curveto
-157.789 260.895 159.132 259.552 160.789 259.552 curveto
-162.446 259.552 163.789 260.895 163.789 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-163.789 262.552 M
-163.789 264.209 162.446 265.552 160.789 265.552 curveto
-159.132 265.552 157.789 264.209 157.789 262.552 curveto
-157.789 260.895 159.132 259.552 160.789 259.552 curveto
-162.446 259.552 163.789 260.895 163.789 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-164.093 262.552 M
-164.093 264.209 162.75 265.552 161.093 265.552 curveto
-159.436 265.552 158.093 264.209 158.093 262.552 curveto
-158.093 260.895 159.436 259.552 161.093 259.552 curveto
-162.75 259.552 164.093 260.895 164.093 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-164.093 262.552 M
-164.093 264.209 162.75 265.552 161.093 265.552 curveto
-159.436 265.552 158.093 264.209 158.093 262.552 curveto
-158.093 260.895 159.436 259.552 161.093 259.552 curveto
-162.75 259.552 164.093 260.895 164.093 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-164.397 262.552 M
-164.397 264.209 163.054 265.552 161.397 265.552 curveto
-159.74 265.552 158.397 264.209 158.397 262.552 curveto
-158.397 260.895 159.74 259.552 161.397 259.552 curveto
-163.054 259.552 164.397 260.895 164.397 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-164.397 262.552 M
-164.397 264.209 163.054 265.552 161.397 265.552 curveto
-159.74 265.552 158.397 264.209 158.397 262.552 curveto
-158.397 260.895 159.74 259.552 161.397 259.552 curveto
-163.054 259.552 164.397 260.895 164.397 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-164.701 262.552 M
-164.701 264.209 163.357 265.552 161.701 265.552 curveto
-160.044 265.552 158.701 264.209 158.701 262.552 curveto
-158.701 260.895 160.044 259.552 161.701 259.552 curveto
-163.357 259.552 164.701 260.895 164.701 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-164.701 262.552 M
-164.701 264.209 163.357 265.552 161.701 265.552 curveto
-160.044 265.552 158.701 264.209 158.701 262.552 curveto
-158.701 260.895 160.044 259.552 161.701 259.552 curveto
-163.357 259.552 164.701 260.895 164.701 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-165.004 262.552 M
-165.004 264.209 163.661 265.552 162.004 265.552 curveto
-160.347 265.552 159.004 264.209 159.004 262.552 curveto
-159.004 260.895 160.347 259.552 162.004 259.552 curveto
-163.661 259.552 165.004 260.895 165.004 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-165.004 262.552 M
-165.004 264.209 163.661 265.552 162.004 265.552 curveto
-160.347 265.552 159.004 264.209 159.004 262.552 curveto
-159.004 260.895 160.347 259.552 162.004 259.552 curveto
-163.661 259.552 165.004 260.895 165.004 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-165.308 284.1 M
-165.308 285.757 163.965 287.1 162.308 287.1 curveto
-160.651 287.1 159.308 285.757 159.308 284.1 curveto
-159.308 282.443 160.651 281.1 162.308 281.1 curveto
-163.965 281.1 165.308 282.443 165.308 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-165.308 284.1 M
-165.308 285.757 163.965 287.1 162.308 287.1 curveto
-160.651 287.1 159.308 285.757 159.308 284.1 curveto
-159.308 282.443 160.651 281.1 162.308 281.1 curveto
-163.965 281.1 165.308 282.443 165.308 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-165.612 284.1 M
-165.612 285.757 164.269 287.1 162.612 287.1 curveto
-160.955 287.1 159.612 285.757 159.612 284.1 curveto
-159.612 282.443 160.955 281.1 162.612 281.1 curveto
-164.269 281.1 165.612 282.443 165.612 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-165.612 284.1 M
-165.612 285.757 164.269 287.1 162.612 287.1 curveto
-160.955 287.1 159.612 285.757 159.612 284.1 curveto
-159.612 282.443 160.955 281.1 162.612 281.1 curveto
-164.269 281.1 165.612 282.443 165.612 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-165.916 284.1 M
-165.916 285.757 164.572 287.1 162.916 287.1 curveto
-161.259 287.1 159.916 285.757 159.916 284.1 curveto
-159.916 282.443 161.259 281.1 162.916 281.1 curveto
-164.572 281.1 165.916 282.443 165.916 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-165.916 284.1 M
-165.916 285.757 164.572 287.1 162.916 287.1 curveto
-161.259 287.1 159.916 285.757 159.916 284.1 curveto
-159.916 282.443 161.259 281.1 162.916 281.1 curveto
-164.572 281.1 165.916 282.443 165.916 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-166.219 284.1 M
-166.219 285.757 164.876 287.1 163.219 287.1 curveto
-161.562 287.1 160.219 285.757 160.219 284.1 curveto
-160.219 282.443 161.562 281.1 163.219 281.1 curveto
-164.876 281.1 166.219 282.443 166.219 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-166.219 284.1 M
-166.219 285.757 164.876 287.1 163.219 287.1 curveto
-161.562 287.1 160.219 285.757 160.219 284.1 curveto
-160.219 282.443 161.562 281.1 163.219 281.1 curveto
-164.876 281.1 166.219 282.443 166.219 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-166.523 284.1 M
-166.523 285.757 165.18 287.1 163.523 287.1 curveto
-161.866 287.1 160.523 285.757 160.523 284.1 curveto
-160.523 282.443 161.866 281.1 163.523 281.1 curveto
-165.18 281.1 166.523 282.443 166.523 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-166.523 284.1 M
-166.523 285.757 165.18 287.1 163.523 287.1 curveto
-161.866 287.1 160.523 285.757 160.523 284.1 curveto
-160.523 282.443 161.866 281.1 163.523 281.1 curveto
-165.18 281.1 166.523 282.443 166.523 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-166.827 284.1 M
-166.827 285.757 165.484 287.1 163.827 287.1 curveto
-162.17 287.1 160.827 285.757 160.827 284.1 curveto
-160.827 282.443 162.17 281.1 163.827 281.1 curveto
-165.484 281.1 166.827 282.443 166.827 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-166.827 284.1 M
-166.827 285.757 165.484 287.1 163.827 287.1 curveto
-162.17 287.1 160.827 285.757 160.827 284.1 curveto
-160.827 282.443 162.17 281.1 163.827 281.1 curveto
-165.484 281.1 166.827 282.443 166.827 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-167.13 284.1 M
-167.13 285.757 165.787 287.1 164.13 287.1 curveto
-162.474 287.1 161.13 285.757 161.13 284.1 curveto
-161.13 282.443 162.474 281.1 164.13 281.1 curveto
-165.787 281.1 167.13 282.443 167.13 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-167.13 284.1 M
-167.13 285.757 165.787 287.1 164.13 287.1 curveto
-162.474 287.1 161.13 285.757 161.13 284.1 curveto
-161.13 282.443 162.474 281.1 164.13 281.1 curveto
-165.787 281.1 167.13 282.443 167.13 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-167.434 284.1 M
-167.434 285.757 166.091 287.1 164.434 287.1 curveto
-162.777 287.1 161.434 285.757 161.434 284.1 curveto
-161.434 282.443 162.777 281.1 164.434 281.1 curveto
-166.091 281.1 167.434 282.443 167.434 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-167.434 284.1 M
-167.434 285.757 166.091 287.1 164.434 287.1 curveto
-162.777 287.1 161.434 285.757 161.434 284.1 curveto
-161.434 282.443 162.777 281.1 164.434 281.1 curveto
-166.091 281.1 167.434 282.443 167.434 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-167.738 284.1 M
-167.738 285.757 166.395 287.1 164.738 287.1 curveto
-163.081 287.1 161.738 285.757 161.738 284.1 curveto
-161.738 282.443 163.081 281.1 164.738 281.1 curveto
-166.395 281.1 167.738 282.443 167.738 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-167.738 284.1 M
-167.738 285.757 166.395 287.1 164.738 287.1 curveto
-163.081 287.1 161.738 285.757 161.738 284.1 curveto
-161.738 282.443 163.081 281.1 164.738 281.1 curveto
-166.395 281.1 167.738 282.443 167.738 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-168.042 284.1 M
-168.042 285.757 166.699 287.1 165.042 287.1 curveto
-163.385 287.1 162.042 285.757 162.042 284.1 curveto
-162.042 282.443 163.385 281.1 165.042 281.1 curveto
-166.699 281.1 168.042 282.443 168.042 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-168.042 284.1 M
-168.042 285.757 166.699 287.1 165.042 287.1 curveto
-163.385 287.1 162.042 285.757 162.042 284.1 curveto
-162.042 282.443 163.385 281.1 165.042 281.1 curveto
-166.699 281.1 168.042 282.443 168.042 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-168.345 284.1 M
-168.345 285.757 167.002 287.1 165.345 287.1 curveto
-163.689 287.1 162.345 285.757 162.345 284.1 curveto
-162.345 282.443 163.689 281.1 165.345 281.1 curveto
-167.002 281.1 168.345 282.443 168.345 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-168.345 284.1 M
-168.345 285.757 167.002 287.1 165.345 287.1 curveto
-163.689 287.1 162.345 285.757 162.345 284.1 curveto
-162.345 282.443 163.689 281.1 165.345 281.1 curveto
-167.002 281.1 168.345 282.443 168.345 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-168.649 284.1 M
-168.649 285.757 167.306 287.1 165.649 287.1 curveto
-163.992 287.1 162.649 285.757 162.649 284.1 curveto
-162.649 282.443 163.992 281.1 165.649 281.1 curveto
-167.306 281.1 168.649 282.443 168.649 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-168.649 284.1 M
-168.649 285.757 167.306 287.1 165.649 287.1 curveto
-163.992 287.1 162.649 285.757 162.649 284.1 curveto
-162.649 282.443 163.992 281.1 165.649 281.1 curveto
-167.306 281.1 168.649 282.443 168.649 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-168.953 284.1 M
-168.953 285.757 167.61 287.1 165.953 287.1 curveto
-164.296 287.1 162.953 285.757 162.953 284.1 curveto
-162.953 282.443 164.296 281.1 165.953 281.1 curveto
-167.61 281.1 168.953 282.443 168.953 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-168.953 284.1 M
-168.953 285.757 167.61 287.1 165.953 287.1 curveto
-164.296 287.1 162.953 285.757 162.953 284.1 curveto
-162.953 282.443 164.296 281.1 165.953 281.1 curveto
-167.61 281.1 168.953 282.443 168.953 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-169.257 284.1 M
-169.257 285.757 167.913 287.1 166.257 287.1 curveto
-164.6 287.1 163.257 285.757 163.257 284.1 curveto
-163.257 282.443 164.6 281.1 166.257 281.1 curveto
-167.913 281.1 169.257 282.443 169.257 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-169.257 284.1 M
-169.257 285.757 167.913 287.1 166.257 287.1 curveto
-164.6 287.1 163.257 285.757 163.257 284.1 curveto
-163.257 282.443 164.6 281.1 166.257 281.1 curveto
-167.913 281.1 169.257 282.443 169.257 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-169.56 284.1 M
-169.56 285.757 168.217 287.1 166.56 287.1 curveto
-164.904 287.1 163.56 285.757 163.56 284.1 curveto
-163.56 282.443 164.904 281.1 166.56 281.1 curveto
-168.217 281.1 169.56 282.443 169.56 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-169.56 284.1 M
-169.56 285.757 168.217 287.1 166.56 287.1 curveto
-164.904 287.1 163.56 285.757 163.56 284.1 curveto
-163.56 282.443 164.904 281.1 166.56 281.1 curveto
-168.217 281.1 169.56 282.443 169.56 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-169.864 284.1 M
-169.864 285.757 168.521 287.1 166.864 287.1 curveto
-165.207 287.1 163.864 285.757 163.864 284.1 curveto
-163.864 282.443 165.207 281.1 166.864 281.1 curveto
-168.521 281.1 169.864 282.443 169.864 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-169.864 284.1 M
-169.864 285.757 168.521 287.1 166.864 287.1 curveto
-165.207 287.1 163.864 285.757 163.864 284.1 curveto
-163.864 282.443 165.207 281.1 166.864 281.1 curveto
-168.521 281.1 169.864 282.443 169.864 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-170.168 284.1 M
-170.168 285.757 168.825 287.1 167.168 287.1 curveto
-165.511 287.1 164.168 285.757 164.168 284.1 curveto
-164.168 282.443 165.511 281.1 167.168 281.1 curveto
-168.825 281.1 170.168 282.443 170.168 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.168 284.1 M
-170.168 285.757 168.825 287.1 167.168 287.1 curveto
-165.511 287.1 164.168 285.757 164.168 284.1 curveto
-164.168 282.443 165.511 281.1 167.168 281.1 curveto
-168.825 281.1 170.168 282.443 170.168 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-170.472 284.1 M
-170.472 285.757 169.128 287.1 167.472 287.1 curveto
-165.815 287.1 164.472 285.757 164.472 284.1 curveto
-164.472 282.443 165.815 281.1 167.472 281.1 curveto
-169.128 281.1 170.472 282.443 170.472 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.472 284.1 M
-170.472 285.757 169.128 287.1 167.472 287.1 curveto
-165.815 287.1 164.472 285.757 164.472 284.1 curveto
-164.472 282.443 165.815 281.1 167.472 281.1 curveto
-169.128 281.1 170.472 282.443 170.472 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-170.775 219.455 M
-170.775 221.112 169.432 222.455 167.775 222.455 curveto
-166.118 222.455 164.775 221.112 164.775 219.455 curveto
-164.775 217.799 166.118 216.455 167.775 216.455 curveto
-169.432 216.455 170.775 217.799 170.775 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.775 219.455 M
-170.775 221.112 169.432 222.455 167.775 222.455 curveto
-166.118 222.455 164.775 221.112 164.775 219.455 curveto
-164.775 217.799 166.118 216.455 167.775 216.455 curveto
-169.432 216.455 170.775 217.799 170.775 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-171.079 219.455 M
-171.079 221.112 169.736 222.455 168.079 222.455 curveto
-166.422 222.455 165.079 221.112 165.079 219.455 curveto
-165.079 217.799 166.422 216.455 168.079 216.455 curveto
-169.736 216.455 171.079 217.799 171.079 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-171.079 219.455 M
-171.079 221.112 169.736 222.455 168.079 222.455 curveto
-166.422 222.455 165.079 221.112 165.079 219.455 curveto
-165.079 217.799 166.422 216.455 168.079 216.455 curveto
-169.736 216.455 171.079 217.799 171.079 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-171.383 219.455 M
-171.383 221.112 170.04 222.455 168.383 222.455 curveto
-166.726 222.455 165.383 221.112 165.383 219.455 curveto
-165.383 217.799 166.726 216.455 168.383 216.455 curveto
-170.04 216.455 171.383 217.799 171.383 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-171.383 219.455 M
-171.383 221.112 170.04 222.455 168.383 222.455 curveto
-166.726 222.455 165.383 221.112 165.383 219.455 curveto
-165.383 217.799 166.726 216.455 168.383 216.455 curveto
-170.04 216.455 171.383 217.799 171.383 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-171.687 219.455 M
-171.687 221.112 170.343 222.455 168.687 222.455 curveto
-167.03 222.455 165.687 221.112 165.687 219.455 curveto
-165.687 217.799 167.03 216.455 168.687 216.455 curveto
-170.343 216.455 171.687 217.799 171.687 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-171.687 219.455 M
-171.687 221.112 170.343 222.455 168.687 222.455 curveto
-167.03 222.455 165.687 221.112 165.687 219.455 curveto
-165.687 217.799 167.03 216.455 168.687 216.455 curveto
-170.343 216.455 171.687 217.799 171.687 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-171.99 219.455 M
-171.99 221.112 170.647 222.455 168.99 222.455 curveto
-167.333 222.455 165.99 221.112 165.99 219.455 curveto
-165.99 217.799 167.333 216.455 168.99 216.455 curveto
-170.647 216.455 171.99 217.799 171.99 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-171.99 219.455 M
-171.99 221.112 170.647 222.455 168.99 222.455 curveto
-167.333 222.455 165.99 221.112 165.99 219.455 curveto
-165.99 217.799 167.333 216.455 168.99 216.455 curveto
-170.647 216.455 171.99 217.799 171.99 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-172.294 219.455 M
-172.294 221.112 170.951 222.455 169.294 222.455 curveto
-167.637 222.455 166.294 221.112 166.294 219.455 curveto
-166.294 217.799 167.637 216.455 169.294 216.455 curveto
-170.951 216.455 172.294 217.799 172.294 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-172.294 219.455 M
-172.294 221.112 170.951 222.455 169.294 222.455 curveto
-167.637 222.455 166.294 221.112 166.294 219.455 curveto
-166.294 217.799 167.637 216.455 169.294 216.455 curveto
-170.951 216.455 172.294 217.799 172.294 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-172.598 219.455 M
-172.598 221.112 171.255 222.455 169.598 222.455 curveto
-167.941 222.455 166.598 221.112 166.598 219.455 curveto
-166.598 217.799 167.941 216.455 169.598 216.455 curveto
-171.255 216.455 172.598 217.799 172.598 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-172.598 219.455 M
-172.598 221.112 171.255 222.455 169.598 222.455 curveto
-167.941 222.455 166.598 221.112 166.598 219.455 curveto
-166.598 217.799 167.941 216.455 169.598 216.455 curveto
-171.255 216.455 172.598 217.799 172.598 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-172.901 219.455 M
-172.901 221.112 171.558 222.455 169.901 222.455 curveto
-168.245 222.455 166.901 221.112 166.901 219.455 curveto
-166.901 217.799 168.245 216.455 169.901 216.455 curveto
-171.558 216.455 172.901 217.799 172.901 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-172.901 219.455 M
-172.901 221.112 171.558 222.455 169.901 222.455 curveto
-168.245 222.455 166.901 221.112 166.901 219.455 curveto
-166.901 217.799 168.245 216.455 169.901 216.455 curveto
-171.558 216.455 172.901 217.799 172.901 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-173.205 219.455 M
-173.205 221.112 171.862 222.455 170.205 222.455 curveto
-168.548 222.455 167.205 221.112 167.205 219.455 curveto
-167.205 217.799 168.548 216.455 170.205 216.455 curveto
-171.862 216.455 173.205 217.799 173.205 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.205 219.455 M
-173.205 221.112 171.862 222.455 170.205 222.455 curveto
-168.548 222.455 167.205 221.112 167.205 219.455 curveto
-167.205 217.799 168.548 216.455 170.205 216.455 curveto
-171.862 216.455 173.205 217.799 173.205 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-173.509 219.455 M
-173.509 221.112 172.166 222.455 170.509 222.455 curveto
-168.852 222.455 167.509 221.112 167.509 219.455 curveto
-167.509 217.799 168.852 216.455 170.509 216.455 curveto
-172.166 216.455 173.509 217.799 173.509 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.509 219.455 M
-173.509 221.112 172.166 222.455 170.509 222.455 curveto
-168.852 222.455 167.509 221.112 167.509 219.455 curveto
-167.509 217.799 168.852 216.455 170.509 216.455 curveto
-172.166 216.455 173.509 217.799 173.509 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-173.813 219.455 M
-173.813 221.112 172.47 222.455 170.813 222.455 curveto
-169.156 222.455 167.813 221.112 167.813 219.455 curveto
-167.813 217.799 169.156 216.455 170.813 216.455 curveto
-172.47 216.455 173.813 217.799 173.813 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.813 219.455 M
-173.813 221.112 172.47 222.455 170.813 222.455 curveto
-169.156 222.455 167.813 221.112 167.813 219.455 curveto
-167.813 217.799 169.156 216.455 170.813 216.455 curveto
-172.47 216.455 173.813 217.799 173.813 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-174.116 219.455 M
-174.116 221.112 172.773 222.455 171.116 222.455 curveto
-169.46 222.455 168.116 221.112 168.116 219.455 curveto
-168.116 217.799 169.46 216.455 171.116 216.455 curveto
-172.773 216.455 174.116 217.799 174.116 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-174.116 219.455 M
-174.116 221.112 172.773 222.455 171.116 222.455 curveto
-169.46 222.455 168.116 221.112 168.116 219.455 curveto
-168.116 217.799 169.46 216.455 171.116 216.455 curveto
-172.773 216.455 174.116 217.799 174.116 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-174.42 219.455 M
-174.42 221.112 173.077 222.455 171.42 222.455 curveto
-169.763 222.455 168.42 221.112 168.42 219.455 curveto
-168.42 217.799 169.763 216.455 171.42 216.455 curveto
-173.077 216.455 174.42 217.799 174.42 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-174.42 219.455 M
-174.42 221.112 173.077 222.455 171.42 222.455 curveto
-169.763 222.455 168.42 221.112 168.42 219.455 curveto
-168.42 217.799 169.763 216.455 171.42 216.455 curveto
-173.077 216.455 174.42 217.799 174.42 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-174.724 219.455 M
-174.724 221.112 173.381 222.455 171.724 222.455 curveto
-170.067 222.455 168.724 221.112 168.724 219.455 curveto
-168.724 217.799 170.067 216.455 171.724 216.455 curveto
-173.381 216.455 174.724 217.799 174.724 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-174.724 219.455 M
-174.724 221.112 173.381 222.455 171.724 222.455 curveto
-170.067 222.455 168.724 221.112 168.724 219.455 curveto
-168.724 217.799 170.067 216.455 171.724 216.455 curveto
-173.381 216.455 174.724 217.799 174.724 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-175.028 219.455 M
-175.028 221.112 173.684 222.455 172.028 222.455 curveto
-170.371 222.455 169.028 221.112 169.028 219.455 curveto
-169.028 217.799 170.371 216.455 172.028 216.455 curveto
-173.684 216.455 175.028 217.799 175.028 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-175.028 219.455 M
-175.028 221.112 173.684 222.455 172.028 222.455 curveto
-170.371 222.455 169.028 221.112 169.028 219.455 curveto
-169.028 217.799 170.371 216.455 172.028 216.455 curveto
-173.684 216.455 175.028 217.799 175.028 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-175.331 219.455 M
-175.331 221.112 173.988 222.455 172.331 222.455 curveto
-170.675 222.455 169.331 221.112 169.331 219.455 curveto
-169.331 217.799 170.675 216.455 172.331 216.455 curveto
-173.988 216.455 175.331 217.799 175.331 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-175.331 219.455 M
-175.331 221.112 173.988 222.455 172.331 222.455 curveto
-170.675 222.455 169.331 221.112 169.331 219.455 curveto
-169.331 217.799 170.675 216.455 172.331 216.455 curveto
-173.988 216.455 175.331 217.799 175.331 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-175.635 133.263 M
-175.635 134.919 174.292 136.263 172.635 136.263 curveto
-170.978 136.263 169.635 134.919 169.635 133.263 curveto
-169.635 131.606 170.978 130.263 172.635 130.263 curveto
-174.292 130.263 175.635 131.606 175.635 133.263 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-175.635 133.263 M
-175.635 134.919 174.292 136.263 172.635 136.263 curveto
-170.978 136.263 169.635 134.919 169.635 133.263 curveto
-169.635 131.606 170.978 130.263 172.635 130.263 curveto
-174.292 130.263 175.635 131.606 175.635 133.263 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-175.939 176.359 M
-175.939 178.016 174.596 179.359 172.939 179.359 curveto
-171.282 179.359 169.939 178.016 169.939 176.359 curveto
-169.939 174.702 171.282 173.359 172.939 173.359 curveto
-174.596 173.359 175.939 174.702 175.939 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-175.939 176.359 M
-175.939 178.016 174.596 179.359 172.939 179.359 curveto
-171.282 179.359 169.939 178.016 169.939 176.359 curveto
-169.939 174.702 171.282 173.359 172.939 173.359 curveto
-174.596 173.359 175.939 174.702 175.939 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-176.243 176.359 M
-176.243 178.016 174.899 179.359 173.243 179.359 curveto
-171.586 179.359 170.243 178.016 170.243 176.359 curveto
-170.243 174.702 171.586 173.359 173.243 173.359 curveto
-174.899 173.359 176.243 174.702 176.243 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-176.243 176.359 M
-176.243 178.016 174.899 179.359 173.243 179.359 curveto
-171.586 179.359 170.243 178.016 170.243 176.359 curveto
-170.243 174.702 171.586 173.359 173.243 173.359 curveto
-174.899 173.359 176.243 174.702 176.243 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-176.546 176.359 M
-176.546 178.016 175.203 179.359 173.546 179.359 curveto
-171.889 179.359 170.546 178.016 170.546 176.359 curveto
-170.546 174.702 171.889 173.359 173.546 173.359 curveto
-175.203 173.359 176.546 174.702 176.546 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-176.546 176.359 M
-176.546 178.016 175.203 179.359 173.546 179.359 curveto
-171.889 179.359 170.546 178.016 170.546 176.359 curveto
-170.546 174.702 171.889 173.359 173.546 173.359 curveto
-175.203 173.359 176.546 174.702 176.546 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-176.85 176.359 M
-176.85 178.016 175.507 179.359 173.85 179.359 curveto
-172.193 179.359 170.85 178.016 170.85 176.359 curveto
-170.85 174.702 172.193 173.359 173.85 173.359 curveto
-175.507 173.359 176.85 174.702 176.85 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-176.85 176.359 M
-176.85 178.016 175.507 179.359 173.85 179.359 curveto
-172.193 179.359 170.85 178.016 170.85 176.359 curveto
-170.85 174.702 172.193 173.359 173.85 173.359 curveto
-175.507 173.359 176.85 174.702 176.85 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-177.154 176.359 M
-177.154 178.016 175.811 179.359 174.154 179.359 curveto
-172.497 179.359 171.154 178.016 171.154 176.359 curveto
-171.154 174.702 172.497 173.359 174.154 173.359 curveto
-175.811 173.359 177.154 174.702 177.154 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-177.154 176.359 M
-177.154 178.016 175.811 179.359 174.154 179.359 curveto
-172.497 179.359 171.154 178.016 171.154 176.359 curveto
-171.154 174.702 172.497 173.359 174.154 173.359 curveto
-175.811 173.359 177.154 174.702 177.154 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-177.458 176.359 M
-177.458 178.016 176.114 179.359 174.458 179.359 curveto
-172.801 179.359 171.458 178.016 171.458 176.359 curveto
-171.458 174.702 172.801 173.359 174.458 173.359 curveto
-176.114 173.359 177.458 174.702 177.458 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-177.458 176.359 M
-177.458 178.016 176.114 179.359 174.458 179.359 curveto
-172.801 179.359 171.458 178.016 171.458 176.359 curveto
-171.458 174.702 172.801 173.359 174.458 173.359 curveto
-176.114 173.359 177.458 174.702 177.458 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-177.761 176.359 M
-177.761 178.016 176.418 179.359 174.761 179.359 curveto
-173.104 179.359 171.761 178.016 171.761 176.359 curveto
-171.761 174.702 173.104 173.359 174.761 173.359 curveto
-176.418 173.359 177.761 174.702 177.761 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-177.761 176.359 M
-177.761 178.016 176.418 179.359 174.761 179.359 curveto
-173.104 179.359 171.761 178.016 171.761 176.359 curveto
-171.761 174.702 173.104 173.359 174.761 173.359 curveto
-176.418 173.359 177.761 174.702 177.761 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-178.065 176.359 M
-178.065 178.016 176.722 179.359 175.065 179.359 curveto
-173.408 179.359 172.065 178.016 172.065 176.359 curveto
-172.065 174.702 173.408 173.359 175.065 173.359 curveto
-176.722 173.359 178.065 174.702 178.065 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-178.065 176.359 M
-178.065 178.016 176.722 179.359 175.065 179.359 curveto
-173.408 179.359 172.065 178.016 172.065 176.359 curveto
-172.065 174.702 173.408 173.359 175.065 173.359 curveto
-176.722 173.359 178.065 174.702 178.065 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-178.369 176.359 M
-178.369 178.016 177.026 179.359 175.369 179.359 curveto
-173.712 179.359 172.369 178.016 172.369 176.359 curveto
-172.369 174.702 173.712 173.359 175.369 173.359 curveto
-177.026 173.359 178.369 174.702 178.369 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-178.369 176.359 M
-178.369 178.016 177.026 179.359 175.369 179.359 curveto
-173.712 179.359 172.369 178.016 172.369 176.359 curveto
-172.369 174.702 173.712 173.359 175.369 173.359 curveto
-177.026 173.359 178.369 174.702 178.369 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-178.672 176.359 M
-178.672 178.016 177.329 179.359 175.672 179.359 curveto
-174.016 179.359 172.672 178.016 172.672 176.359 curveto
-172.672 174.702 174.016 173.359 175.672 173.359 curveto
-177.329 173.359 178.672 174.702 178.672 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-178.672 176.359 M
-178.672 178.016 177.329 179.359 175.672 179.359 curveto
-174.016 179.359 172.672 178.016 172.672 176.359 curveto
-172.672 174.702 174.016 173.359 175.672 173.359 curveto
-177.329 173.359 178.672 174.702 178.672 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-178.976 176.359 M
-178.976 178.016 177.633 179.359 175.976 179.359 curveto
-174.319 179.359 172.976 178.016 172.976 176.359 curveto
-172.976 174.702 174.319 173.359 175.976 173.359 curveto
-177.633 173.359 178.976 174.702 178.976 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-178.976 176.359 M
-178.976 178.016 177.633 179.359 175.976 179.359 curveto
-174.319 179.359 172.976 178.016 172.976 176.359 curveto
-172.976 174.702 174.319 173.359 175.976 173.359 curveto
-177.633 173.359 178.976 174.702 178.976 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-179.28 176.359 M
-179.28 178.016 177.937 179.359 176.28 179.359 curveto
-174.623 179.359 173.28 178.016 173.28 176.359 curveto
-173.28 174.702 174.623 173.359 176.28 173.359 curveto
-177.937 173.359 179.28 174.702 179.28 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-179.28 176.359 M
-179.28 178.016 177.937 179.359 176.28 179.359 curveto
-174.623 179.359 173.28 178.016 173.28 176.359 curveto
-173.28 174.702 174.623 173.359 176.28 173.359 curveto
-177.937 173.359 179.28 174.702 179.28 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-179.584 176.359 M
-179.584 178.016 178.241 179.359 176.584 179.359 curveto
-174.927 179.359 173.584 178.016 173.584 176.359 curveto
-173.584 174.702 174.927 173.359 176.584 173.359 curveto
-178.241 173.359 179.584 174.702 179.584 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-179.584 176.359 M
-179.584 178.016 178.241 179.359 176.584 179.359 curveto
-174.927 179.359 173.584 178.016 173.584 176.359 curveto
-173.584 174.702 174.927 173.359 176.584 173.359 curveto
-178.241 173.359 179.584 174.702 179.584 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-179.887 176.359 M
-179.887 178.016 178.544 179.359 176.887 179.359 curveto
-175.231 179.359 173.887 178.016 173.887 176.359 curveto
-173.887 174.702 175.231 173.359 176.887 173.359 curveto
-178.544 173.359 179.887 174.702 179.887 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-179.887 176.359 M
-179.887 178.016 178.544 179.359 176.887 179.359 curveto
-175.231 179.359 173.887 178.016 173.887 176.359 curveto
-173.887 174.702 175.231 173.359 176.887 173.359 curveto
-178.544 173.359 179.887 174.702 179.887 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-180.191 176.359 M
-180.191 178.016 178.848 179.359 177.191 179.359 curveto
-175.534 179.359 174.191 178.016 174.191 176.359 curveto
-174.191 174.702 175.534 173.359 177.191 173.359 curveto
-178.848 173.359 180.191 174.702 180.191 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-180.191 176.359 M
-180.191 178.016 178.848 179.359 177.191 179.359 curveto
-175.534 179.359 174.191 178.016 174.191 176.359 curveto
-174.191 174.702 175.534 173.359 177.191 173.359 curveto
-178.848 173.359 180.191 174.702 180.191 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-180.495 176.359 M
-180.495 178.016 179.152 179.359 177.495 179.359 curveto
-175.838 179.359 174.495 178.016 174.495 176.359 curveto
-174.495 174.702 175.838 173.359 177.495 173.359 curveto
-179.152 173.359 180.495 174.702 180.495 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-180.495 176.359 M
-180.495 178.016 179.152 179.359 177.495 179.359 curveto
-175.838 179.359 174.495 178.016 174.495 176.359 curveto
-174.495 174.702 175.838 173.359 177.495 173.359 curveto
-179.152 173.359 180.495 174.702 180.495 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-180.799 176.359 M
-180.799 178.016 179.455 179.359 177.799 179.359 curveto
-176.142 179.359 174.799 178.016 174.799 176.359 curveto
-174.799 174.702 176.142 173.359 177.799 173.359 curveto
-179.455 173.359 180.799 174.702 180.799 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-180.799 176.359 M
-180.799 178.016 179.455 179.359 177.799 179.359 curveto
-176.142 179.359 174.799 178.016 174.799 176.359 curveto
-174.799 174.702 176.142 173.359 177.799 173.359 curveto
-179.455 173.359 180.799 174.702 180.799 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-181.102 176.359 M
-181.102 178.016 179.759 179.359 178.102 179.359 curveto
-176.446 179.359 175.102 178.016 175.102 176.359 curveto
-175.102 174.702 176.446 173.359 178.102 173.359 curveto
-179.759 173.359 181.102 174.702 181.102 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-181.102 176.359 M
-181.102 178.016 179.759 179.359 178.102 179.359 curveto
-176.446 179.359 175.102 178.016 175.102 176.359 curveto
-175.102 174.702 176.446 173.359 178.102 173.359 curveto
-179.759 173.359 181.102 174.702 181.102 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-181.406 176.359 M
-181.406 178.016 180.063 179.359 178.406 179.359 curveto
-176.749 179.359 175.406 178.016 175.406 176.359 curveto
-175.406 174.702 176.749 173.359 178.406 173.359 curveto
-180.063 173.359 181.406 174.702 181.406 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-181.406 176.359 M
-181.406 178.016 180.063 179.359 178.406 179.359 curveto
-176.749 179.359 175.406 178.016 175.406 176.359 curveto
-175.406 174.702 176.749 173.359 178.406 173.359 curveto
-180.063 173.359 181.406 174.702 181.406 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-181.71 176.359 M
-181.71 178.016 180.367 179.359 178.71 179.359 curveto
-177.053 179.359 175.71 178.016 175.71 176.359 curveto
-175.71 174.702 177.053 173.359 178.71 173.359 curveto
-180.367 173.359 181.71 174.702 181.71 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-181.71 176.359 M
-181.71 178.016 180.367 179.359 178.71 179.359 curveto
-177.053 179.359 175.71 178.016 175.71 176.359 curveto
-175.71 174.702 177.053 173.359 178.71 173.359 curveto
-180.367 173.359 181.71 174.702 181.71 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-182.014 176.359 M
-182.014 178.016 180.67 179.359 179.014 179.359 curveto
-177.357 179.359 176.014 178.016 176.014 176.359 curveto
-176.014 174.702 177.357 173.359 179.014 173.359 curveto
-180.67 173.359 182.014 174.702 182.014 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-182.014 176.359 M
-182.014 178.016 180.67 179.359 179.014 179.359 curveto
-177.357 179.359 176.014 178.016 176.014 176.359 curveto
-176.014 174.702 177.357 173.359 179.014 173.359 curveto
-180.67 173.359 182.014 174.702 182.014 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-182.317 176.359 M
-182.317 178.016 180.974 179.359 179.317 179.359 curveto
-177.66 179.359 176.317 178.016 176.317 176.359 curveto
-176.317 174.702 177.66 173.359 179.317 173.359 curveto
-180.974 173.359 182.317 174.702 182.317 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-182.317 176.359 M
-182.317 178.016 180.974 179.359 179.317 179.359 curveto
-177.66 179.359 176.317 178.016 176.317 176.359 curveto
-176.317 174.702 177.66 173.359 179.317 173.359 curveto
-180.974 173.359 182.317 174.702 182.317 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-182.621 176.359 M
-182.621 178.016 181.278 179.359 179.621 179.359 curveto
-177.964 179.359 176.621 178.016 176.621 176.359 curveto
-176.621 174.702 177.964 173.359 179.621 173.359 curveto
-181.278 173.359 182.621 174.702 182.621 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-182.621 176.359 M
-182.621 178.016 181.278 179.359 179.621 179.359 curveto
-177.964 179.359 176.621 178.016 176.621 176.359 curveto
-176.621 174.702 177.964 173.359 179.621 173.359 curveto
-181.278 173.359 182.621 174.702 182.621 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-182.925 176.359 M
-182.925 178.016 181.582 179.359 179.925 179.359 curveto
-178.268 179.359 176.925 178.016 176.925 176.359 curveto
-176.925 174.702 178.268 173.359 179.925 173.359 curveto
-181.582 173.359 182.925 174.702 182.925 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-182.925 176.359 M
-182.925 178.016 181.582 179.359 179.925 179.359 curveto
-178.268 179.359 176.925 178.016 176.925 176.359 curveto
-176.925 174.702 178.268 173.359 179.925 173.359 curveto
-181.582 173.359 182.925 174.702 182.925 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-183.229 176.359 M
-183.229 178.016 181.885 179.359 180.229 179.359 curveto
-178.572 179.359 177.229 178.016 177.229 176.359 curveto
-177.229 174.702 178.572 173.359 180.229 173.359 curveto
-181.885 173.359 183.229 174.702 183.229 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-183.229 176.359 M
-183.229 178.016 181.885 179.359 180.229 179.359 curveto
-178.572 179.359 177.229 178.016 177.229 176.359 curveto
-177.229 174.702 178.572 173.359 180.229 173.359 curveto
-181.885 173.359 183.229 174.702 183.229 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-183.532 176.359 M
-183.532 178.016 182.189 179.359 180.532 179.359 curveto
-178.875 179.359 177.532 178.016 177.532 176.359 curveto
-177.532 174.702 178.875 173.359 180.532 173.359 curveto
-182.189 173.359 183.532 174.702 183.532 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-183.532 176.359 M
-183.532 178.016 182.189 179.359 180.532 179.359 curveto
-178.875 179.359 177.532 178.016 177.532 176.359 curveto
-177.532 174.702 178.875 173.359 180.532 173.359 curveto
-182.189 173.359 183.532 174.702 183.532 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-183.836 176.359 M
-183.836 178.016 182.493 179.359 180.836 179.359 curveto
-179.179 179.359 177.836 178.016 177.836 176.359 curveto
-177.836 174.702 179.179 173.359 180.836 173.359 curveto
-182.493 173.359 183.836 174.702 183.836 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-183.836 176.359 M
-183.836 178.016 182.493 179.359 180.836 179.359 curveto
-179.179 179.359 177.836 178.016 177.836 176.359 curveto
-177.836 174.702 179.179 173.359 180.836 173.359 curveto
-182.493 173.359 183.836 174.702 183.836 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-184.14 176.359 M
-184.14 178.016 182.797 179.359 181.14 179.359 curveto
-179.483 179.359 178.14 178.016 178.14 176.359 curveto
-178.14 174.702 179.483 173.359 181.14 173.359 curveto
-182.797 173.359 184.14 174.702 184.14 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-184.14 176.359 M
-184.14 178.016 182.797 179.359 181.14 179.359 curveto
-179.483 179.359 178.14 178.016 178.14 176.359 curveto
-178.14 174.702 179.483 173.359 181.14 173.359 curveto
-182.797 173.359 184.14 174.702 184.14 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-184.443 176.359 M
-184.443 178.016 183.1 179.359 181.443 179.359 curveto
-179.787 179.359 178.443 178.016 178.443 176.359 curveto
-178.443 174.702 179.787 173.359 181.443 173.359 curveto
-183.1 173.359 184.443 174.702 184.443 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-184.443 176.359 M
-184.443 178.016 183.1 179.359 181.443 179.359 curveto
-179.787 179.359 178.443 178.016 178.443 176.359 curveto
-178.443 174.702 179.787 173.359 181.443 173.359 curveto
-183.1 173.359 184.443 174.702 184.443 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-184.747 176.359 M
-184.747 178.016 183.404 179.359 181.747 179.359 curveto
-180.09 179.359 178.747 178.016 178.747 176.359 curveto
-178.747 174.702 180.09 173.359 181.747 173.359 curveto
-183.404 173.359 184.747 174.702 184.747 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-184.747 176.359 M
-184.747 178.016 183.404 179.359 181.747 179.359 curveto
-180.09 179.359 178.747 178.016 178.747 176.359 curveto
-178.747 174.702 180.09 173.359 181.747 173.359 curveto
-183.404 173.359 184.747 174.702 184.747 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-185.051 176.359 M
-185.051 178.016 183.708 179.359 182.051 179.359 curveto
-180.394 179.359 179.051 178.016 179.051 176.359 curveto
-179.051 174.702 180.394 173.359 182.051 173.359 curveto
-183.708 173.359 185.051 174.702 185.051 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-185.051 176.359 M
-185.051 178.016 183.708 179.359 182.051 179.359 curveto
-180.394 179.359 179.051 178.016 179.051 176.359 curveto
-179.051 174.702 180.394 173.359 182.051 173.359 curveto
-183.708 173.359 185.051 174.702 185.051 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-185.355 176.359 M
-185.355 178.016 184.012 179.359 182.355 179.359 curveto
-180.698 179.359 179.355 178.016 179.355 176.359 curveto
-179.355 174.702 180.698 173.359 182.355 173.359 curveto
-184.012 173.359 185.355 174.702 185.355 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-185.355 176.359 M
-185.355 178.016 184.012 179.359 182.355 179.359 curveto
-180.698 179.359 179.355 178.016 179.355 176.359 curveto
-179.355 174.702 180.698 173.359 182.355 173.359 curveto
-184.012 173.359 185.355 174.702 185.355 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-185.658 176.359 M
-185.658 178.016 184.315 179.359 182.658 179.359 curveto
-181.002 179.359 179.658 178.016 179.658 176.359 curveto
-179.658 174.702 181.002 173.359 182.658 173.359 curveto
-184.315 173.359 185.658 174.702 185.658 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-185.658 176.359 M
-185.658 178.016 184.315 179.359 182.658 179.359 curveto
-181.002 179.359 179.658 178.016 179.658 176.359 curveto
-179.658 174.702 181.002 173.359 182.658 173.359 curveto
-184.315 173.359 185.658 174.702 185.658 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-185.962 176.359 M
-185.962 178.016 184.619 179.359 182.962 179.359 curveto
-181.305 179.359 179.962 178.016 179.962 176.359 curveto
-179.962 174.702 181.305 173.359 182.962 173.359 curveto
-184.619 173.359 185.962 174.702 185.962 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-185.962 176.359 M
-185.962 178.016 184.619 179.359 182.962 179.359 curveto
-181.305 179.359 179.962 178.016 179.962 176.359 curveto
-179.962 174.702 181.305 173.359 182.962 173.359 curveto
-184.619 173.359 185.962 174.702 185.962 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-186.266 219.455 M
-186.266 221.112 184.923 222.455 183.266 222.455 curveto
-181.609 222.455 180.266 221.112 180.266 219.455 curveto
-180.266 217.799 181.609 216.455 183.266 216.455 curveto
-184.923 216.455 186.266 217.799 186.266 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-186.266 219.455 M
-186.266 221.112 184.923 222.455 183.266 222.455 curveto
-181.609 222.455 180.266 221.112 180.266 219.455 curveto
-180.266 217.799 181.609 216.455 183.266 216.455 curveto
-184.923 216.455 186.266 217.799 186.266 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-186.57 219.455 M
-186.57 221.112 185.226 222.455 183.57 222.455 curveto
-181.913 222.455 180.57 221.112 180.57 219.455 curveto
-180.57 217.799 181.913 216.455 183.57 216.455 curveto
-185.226 216.455 186.57 217.799 186.57 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-186.57 219.455 M
-186.57 221.112 185.226 222.455 183.57 222.455 curveto
-181.913 222.455 180.57 221.112 180.57 219.455 curveto
-180.57 217.799 181.913 216.455 183.57 216.455 curveto
-185.226 216.455 186.57 217.799 186.57 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-186.873 219.455 M
-186.873 221.112 185.53 222.455 183.873 222.455 curveto
-182.217 222.455 180.873 221.112 180.873 219.455 curveto
-180.873 217.799 182.217 216.455 183.873 216.455 curveto
-185.53 216.455 186.873 217.799 186.873 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-186.873 219.455 M
-186.873 221.112 185.53 222.455 183.873 222.455 curveto
-182.217 222.455 180.873 221.112 180.873 219.455 curveto
-180.873 217.799 182.217 216.455 183.873 216.455 curveto
-185.53 216.455 186.873 217.799 186.873 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-187.177 219.455 M
-187.177 221.112 185.834 222.455 184.177 222.455 curveto
-182.52 222.455 181.177 221.112 181.177 219.455 curveto
-181.177 217.799 182.52 216.455 184.177 216.455 curveto
-185.834 216.455 187.177 217.799 187.177 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-187.177 219.455 M
-187.177 221.112 185.834 222.455 184.177 222.455 curveto
-182.52 222.455 181.177 221.112 181.177 219.455 curveto
-181.177 217.799 182.52 216.455 184.177 216.455 curveto
-185.834 216.455 187.177 217.799 187.177 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-187.481 219.455 M
-187.481 221.112 186.138 222.455 184.481 222.455 curveto
-182.824 222.455 181.481 221.112 181.481 219.455 curveto
-181.481 217.799 182.824 216.455 184.481 216.455 curveto
-186.138 216.455 187.481 217.799 187.481 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-187.481 219.455 M
-187.481 221.112 186.138 222.455 184.481 222.455 curveto
-182.824 222.455 181.481 221.112 181.481 219.455 curveto
-181.481 217.799 182.824 216.455 184.481 216.455 curveto
-186.138 216.455 187.481 217.799 187.481 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-187.785 219.455 M
-187.785 221.112 186.441 222.455 184.785 222.455 curveto
-183.128 222.455 181.785 221.112 181.785 219.455 curveto
-181.785 217.799 183.128 216.455 184.785 216.455 curveto
-186.441 216.455 187.785 217.799 187.785 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-187.785 219.455 M
-187.785 221.112 186.441 222.455 184.785 222.455 curveto
-183.128 222.455 181.785 221.112 181.785 219.455 curveto
-181.785 217.799 183.128 216.455 184.785 216.455 curveto
-186.441 216.455 187.785 217.799 187.785 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-188.088 219.455 M
-188.088 221.112 186.745 222.455 185.088 222.455 curveto
-183.431 222.455 182.088 221.112 182.088 219.455 curveto
-182.088 217.799 183.431 216.455 185.088 216.455 curveto
-186.745 216.455 188.088 217.799 188.088 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-188.088 219.455 M
-188.088 221.112 186.745 222.455 185.088 222.455 curveto
-183.431 222.455 182.088 221.112 182.088 219.455 curveto
-182.088 217.799 183.431 216.455 185.088 216.455 curveto
-186.745 216.455 188.088 217.799 188.088 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-188.392 219.455 M
-188.392 221.112 187.049 222.455 185.392 222.455 curveto
-183.735 222.455 182.392 221.112 182.392 219.455 curveto
-182.392 217.799 183.735 216.455 185.392 216.455 curveto
-187.049 216.455 188.392 217.799 188.392 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-188.392 219.455 M
-188.392 221.112 187.049 222.455 185.392 222.455 curveto
-183.735 222.455 182.392 221.112 182.392 219.455 curveto
-182.392 217.799 183.735 216.455 185.392 216.455 curveto
-187.049 216.455 188.392 217.799 188.392 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-188.696 219.455 M
-188.696 221.112 187.353 222.455 185.696 222.455 curveto
-184.039 222.455 182.696 221.112 182.696 219.455 curveto
-182.696 217.799 184.039 216.455 185.696 216.455 curveto
-187.353 216.455 188.696 217.799 188.696 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-188.696 219.455 M
-188.696 221.112 187.353 222.455 185.696 222.455 curveto
-184.039 222.455 182.696 221.112 182.696 219.455 curveto
-182.696 217.799 184.039 216.455 185.696 216.455 curveto
-187.353 216.455 188.696 217.799 188.696 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-189 219.455 M
-189 221.112 187.656 222.455 186 222.455 curveto
-184.343 222.455 183 221.112 183 219.455 curveto
-183 217.799 184.343 216.455 186 216.455 curveto
-187.656 216.455 189 217.799 189 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189 219.455 M
-189 221.112 187.656 222.455 186 222.455 curveto
-184.343 222.455 183 221.112 183 219.455 curveto
-183 217.799 184.343 216.455 186 216.455 curveto
-187.656 216.455 189 217.799 189 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-189.303 219.455 M
-189.303 221.112 187.96 222.455 186.303 222.455 curveto
-184.646 222.455 183.303 221.112 183.303 219.455 curveto
-183.303 217.799 184.646 216.455 186.303 216.455 curveto
-187.96 216.455 189.303 217.799 189.303 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.303 219.455 M
-189.303 221.112 187.96 222.455 186.303 222.455 curveto
-184.646 222.455 183.303 221.112 183.303 219.455 curveto
-183.303 217.799 184.646 216.455 186.303 216.455 curveto
-187.96 216.455 189.303 217.799 189.303 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-189.607 219.455 M
-189.607 221.112 188.264 222.455 186.607 222.455 curveto
-184.95 222.455 183.607 221.112 183.607 219.455 curveto
-183.607 217.799 184.95 216.455 186.607 216.455 curveto
-188.264 216.455 189.607 217.799 189.607 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.607 219.455 M
-189.607 221.112 188.264 222.455 186.607 222.455 curveto
-184.95 222.455 183.607 221.112 183.607 219.455 curveto
-183.607 217.799 184.95 216.455 186.607 216.455 curveto
-188.264 216.455 189.607 217.799 189.607 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-189.911 219.455 M
-189.911 221.112 188.568 222.455 186.911 222.455 curveto
-185.254 222.455 183.911 221.112 183.911 219.455 curveto
-183.911 217.799 185.254 216.455 186.911 216.455 curveto
-188.568 216.455 189.911 217.799 189.911 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.911 219.455 M
-189.911 221.112 188.568 222.455 186.911 222.455 curveto
-185.254 222.455 183.911 221.112 183.911 219.455 curveto
-183.911 217.799 185.254 216.455 186.911 216.455 curveto
-188.568 216.455 189.911 217.799 189.911 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-190.214 219.455 M
-190.214 221.112 188.871 222.455 187.214 222.455 curveto
-185.558 222.455 184.214 221.112 184.214 219.455 curveto
-184.214 217.799 185.558 216.455 187.214 216.455 curveto
-188.871 216.455 190.214 217.799 190.214 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-190.214 219.455 M
-190.214 221.112 188.871 222.455 187.214 222.455 curveto
-185.558 222.455 184.214 221.112 184.214 219.455 curveto
-184.214 217.799 185.558 216.455 187.214 216.455 curveto
-188.871 216.455 190.214 217.799 190.214 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-190.518 219.455 M
-190.518 221.112 189.175 222.455 187.518 222.455 curveto
-185.861 222.455 184.518 221.112 184.518 219.455 curveto
-184.518 217.799 185.861 216.455 187.518 216.455 curveto
-189.175 216.455 190.518 217.799 190.518 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-190.518 219.455 M
-190.518 221.112 189.175 222.455 187.518 222.455 curveto
-185.861 222.455 184.518 221.112 184.518 219.455 curveto
-184.518 217.799 185.861 216.455 187.518 216.455 curveto
-189.175 216.455 190.518 217.799 190.518 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-190.822 219.455 M
-190.822 221.112 189.479 222.455 187.822 222.455 curveto
-186.165 222.455 184.822 221.112 184.822 219.455 curveto
-184.822 217.799 186.165 216.455 187.822 216.455 curveto
-189.479 216.455 190.822 217.799 190.822 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-190.822 219.455 M
-190.822 221.112 189.479 222.455 187.822 222.455 curveto
-186.165 222.455 184.822 221.112 184.822 219.455 curveto
-184.822 217.799 186.165 216.455 187.822 216.455 curveto
-189.479 216.455 190.822 217.799 190.822 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-191.126 219.455 M
-191.126 221.112 189.783 222.455 188.126 222.455 curveto
-186.469 222.455 185.126 221.112 185.126 219.455 curveto
-185.126 217.799 186.469 216.455 188.126 216.455 curveto
-189.783 216.455 191.126 217.799 191.126 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-191.126 219.455 M
-191.126 221.112 189.783 222.455 188.126 222.455 curveto
-186.469 222.455 185.126 221.112 185.126 219.455 curveto
-185.126 217.799 186.469 216.455 188.126 216.455 curveto
-189.783 216.455 191.126 217.799 191.126 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-191.429 219.455 M
-191.429 221.112 190.086 222.455 188.429 222.455 curveto
-186.773 222.455 185.429 221.112 185.429 219.455 curveto
-185.429 217.799 186.773 216.455 188.429 216.455 curveto
-190.086 216.455 191.429 217.799 191.429 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-191.429 219.455 M
-191.429 221.112 190.086 222.455 188.429 222.455 curveto
-186.773 222.455 185.429 221.112 185.429 219.455 curveto
-185.429 217.799 186.773 216.455 188.429 216.455 curveto
-190.086 216.455 191.429 217.799 191.429 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-191.733 219.455 M
-191.733 221.112 190.39 222.455 188.733 222.455 curveto
-187.076 222.455 185.733 221.112 185.733 219.455 curveto
-185.733 217.799 187.076 216.455 188.733 216.455 curveto
-190.39 216.455 191.733 217.799 191.733 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-191.733 219.455 M
-191.733 221.112 190.39 222.455 188.733 222.455 curveto
-187.076 222.455 185.733 221.112 185.733 219.455 curveto
-185.733 217.799 187.076 216.455 188.733 216.455 curveto
-190.39 216.455 191.733 217.799 191.733 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-192.037 262.552 M
-192.037 264.209 190.694 265.552 189.037 265.552 curveto
-187.38 265.552 186.037 264.209 186.037 262.552 curveto
-186.037 260.895 187.38 259.552 189.037 259.552 curveto
-190.694 259.552 192.037 260.895 192.037 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-192.037 262.552 M
-192.037 264.209 190.694 265.552 189.037 265.552 curveto
-187.38 265.552 186.037 264.209 186.037 262.552 curveto
-186.037 260.895 187.38 259.552 189.037 259.552 curveto
-190.694 259.552 192.037 260.895 192.037 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-192.341 262.552 M
-192.341 264.209 190.998 265.552 189.341 265.552 curveto
-187.684 265.552 186.341 264.209 186.341 262.552 curveto
-186.341 260.895 187.684 259.552 189.341 259.552 curveto
-190.998 259.552 192.341 260.895 192.341 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-192.341 262.552 M
-192.341 264.209 190.998 265.552 189.341 265.552 curveto
-187.684 265.552 186.341 264.209 186.341 262.552 curveto
-186.341 260.895 187.684 259.552 189.341 259.552 curveto
-190.998 259.552 192.341 260.895 192.341 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-192.644 262.552 M
-192.644 264.209 191.301 265.552 189.644 265.552 curveto
-187.988 265.552 186.644 264.209 186.644 262.552 curveto
-186.644 260.895 187.988 259.552 189.644 259.552 curveto
-191.301 259.552 192.644 260.895 192.644 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-192.644 262.552 M
-192.644 264.209 191.301 265.552 189.644 265.552 curveto
-187.988 265.552 186.644 264.209 186.644 262.552 curveto
-186.644 260.895 187.988 259.552 189.644 259.552 curveto
-191.301 259.552 192.644 260.895 192.644 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-192.948 262.552 M
-192.948 264.209 191.605 265.552 189.948 265.552 curveto
-188.291 265.552 186.948 264.209 186.948 262.552 curveto
-186.948 260.895 188.291 259.552 189.948 259.552 curveto
-191.605 259.552 192.948 260.895 192.948 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-192.948 262.552 M
-192.948 264.209 191.605 265.552 189.948 265.552 curveto
-188.291 265.552 186.948 264.209 186.948 262.552 curveto
-186.948 260.895 188.291 259.552 189.948 259.552 curveto
-191.605 259.552 192.948 260.895 192.948 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-193.252 262.552 M
-193.252 264.209 191.909 265.552 190.252 265.552 curveto
-188.595 265.552 187.252 264.209 187.252 262.552 curveto
-187.252 260.895 188.595 259.552 190.252 259.552 curveto
-191.909 259.552 193.252 260.895 193.252 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-193.252 262.552 M
-193.252 264.209 191.909 265.552 190.252 265.552 curveto
-188.595 265.552 187.252 264.209 187.252 262.552 curveto
-187.252 260.895 188.595 259.552 190.252 259.552 curveto
-191.909 259.552 193.252 260.895 193.252 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-193.556 262.552 M
-193.556 264.209 192.212 265.552 190.556 265.552 curveto
-188.899 265.552 187.556 264.209 187.556 262.552 curveto
-187.556 260.895 188.899 259.552 190.556 259.552 curveto
-192.212 259.552 193.556 260.895 193.556 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-193.556 262.552 M
-193.556 264.209 192.212 265.552 190.556 265.552 curveto
-188.899 265.552 187.556 264.209 187.556 262.552 curveto
-187.556 260.895 188.899 259.552 190.556 259.552 curveto
-192.212 259.552 193.556 260.895 193.556 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-193.859 262.552 M
-193.859 264.209 192.516 265.552 190.859 265.552 curveto
-189.202 265.552 187.859 264.209 187.859 262.552 curveto
-187.859 260.895 189.202 259.552 190.859 259.552 curveto
-192.516 259.552 193.859 260.895 193.859 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-193.859 262.552 M
-193.859 264.209 192.516 265.552 190.859 265.552 curveto
-189.202 265.552 187.859 264.209 187.859 262.552 curveto
-187.859 260.895 189.202 259.552 190.859 259.552 curveto
-192.516 259.552 193.859 260.895 193.859 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-194.163 262.552 M
-194.163 264.209 192.82 265.552 191.163 265.552 curveto
-189.506 265.552 188.163 264.209 188.163 262.552 curveto
-188.163 260.895 189.506 259.552 191.163 259.552 curveto
-192.82 259.552 194.163 260.895 194.163 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-194.163 262.552 M
-194.163 264.209 192.82 265.552 191.163 265.552 curveto
-189.506 265.552 188.163 264.209 188.163 262.552 curveto
-188.163 260.895 189.506 259.552 191.163 259.552 curveto
-192.82 259.552 194.163 260.895 194.163 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-194.467 262.552 M
-194.467 264.209 193.124 265.552 191.467 265.552 curveto
-189.81 265.552 188.467 264.209 188.467 262.552 curveto
-188.467 260.895 189.81 259.552 191.467 259.552 curveto
-193.124 259.552 194.467 260.895 194.467 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-194.467 262.552 M
-194.467 264.209 193.124 265.552 191.467 265.552 curveto
-189.81 265.552 188.467 264.209 188.467 262.552 curveto
-188.467 260.895 189.81 259.552 191.467 259.552 curveto
-193.124 259.552 194.467 260.895 194.467 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-194.771 262.552 M
-194.771 264.209 193.427 265.552 191.771 265.552 curveto
-190.114 265.552 188.771 264.209 188.771 262.552 curveto
-188.771 260.895 190.114 259.552 191.771 259.552 curveto
-193.427 259.552 194.771 260.895 194.771 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-194.771 262.552 M
-194.771 264.209 193.427 265.552 191.771 265.552 curveto
-190.114 265.552 188.771 264.209 188.771 262.552 curveto
-188.771 260.895 190.114 259.552 191.771 259.552 curveto
-193.427 259.552 194.771 260.895 194.771 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-195.074 262.552 M
-195.074 264.209 193.731 265.552 192.074 265.552 curveto
-190.417 265.552 189.074 264.209 189.074 262.552 curveto
-189.074 260.895 190.417 259.552 192.074 259.552 curveto
-193.731 259.552 195.074 260.895 195.074 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-195.074 262.552 M
-195.074 264.209 193.731 265.552 192.074 265.552 curveto
-190.417 265.552 189.074 264.209 189.074 262.552 curveto
-189.074 260.895 190.417 259.552 192.074 259.552 curveto
-193.731 259.552 195.074 260.895 195.074 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-195.378 262.552 M
-195.378 264.209 194.035 265.552 192.378 265.552 curveto
-190.721 265.552 189.378 264.209 189.378 262.552 curveto
-189.378 260.895 190.721 259.552 192.378 259.552 curveto
-194.035 259.552 195.378 260.895 195.378 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-195.378 262.552 M
-195.378 264.209 194.035 265.552 192.378 265.552 curveto
-190.721 265.552 189.378 264.209 189.378 262.552 curveto
-189.378 260.895 190.721 259.552 192.378 259.552 curveto
-194.035 259.552 195.378 260.895 195.378 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-195.682 262.552 M
-195.682 264.209 194.339 265.552 192.682 265.552 curveto
-191.025 265.552 189.682 264.209 189.682 262.552 curveto
-189.682 260.895 191.025 259.552 192.682 259.552 curveto
-194.339 259.552 195.682 260.895 195.682 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-195.682 262.552 M
-195.682 264.209 194.339 265.552 192.682 265.552 curveto
-191.025 265.552 189.682 264.209 189.682 262.552 curveto
-189.682 260.895 191.025 259.552 192.682 259.552 curveto
-194.339 259.552 195.682 260.895 195.682 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-195.985 262.552 M
-195.985 264.209 194.642 265.552 192.985 265.552 curveto
-191.329 265.552 189.985 264.209 189.985 262.552 curveto
-189.985 260.895 191.329 259.552 192.985 259.552 curveto
-194.642 259.552 195.985 260.895 195.985 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-195.985 262.552 M
-195.985 264.209 194.642 265.552 192.985 265.552 curveto
-191.329 265.552 189.985 264.209 189.985 262.552 curveto
-189.985 260.895 191.329 259.552 192.985 259.552 curveto
-194.642 259.552 195.985 260.895 195.985 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-196.289 262.552 M
-196.289 264.209 194.946 265.552 193.289 265.552 curveto
-191.632 265.552 190.289 264.209 190.289 262.552 curveto
-190.289 260.895 191.632 259.552 193.289 259.552 curveto
-194.946 259.552 196.289 260.895 196.289 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-196.289 262.552 M
-196.289 264.209 194.946 265.552 193.289 265.552 curveto
-191.632 265.552 190.289 264.209 190.289 262.552 curveto
-190.289 260.895 191.632 259.552 193.289 259.552 curveto
-194.946 259.552 196.289 260.895 196.289 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-196.593 262.552 M
-196.593 264.209 195.25 265.552 193.593 265.552 curveto
-191.936 265.552 190.593 264.209 190.593 262.552 curveto
-190.593 260.895 191.936 259.552 193.593 259.552 curveto
-195.25 259.552 196.593 260.895 196.593 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-196.593 262.552 M
-196.593 264.209 195.25 265.552 193.593 265.552 curveto
-191.936 265.552 190.593 264.209 190.593 262.552 curveto
-190.593 260.895 191.936 259.552 193.593 259.552 curveto
-195.25 259.552 196.593 260.895 196.593 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-196.897 262.552 M
-196.897 264.209 195.554 265.552 193.897 265.552 curveto
-192.24 265.552 190.897 264.209 190.897 262.552 curveto
-190.897 260.895 192.24 259.552 193.897 259.552 curveto
-195.554 259.552 196.897 260.895 196.897 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-196.897 262.552 M
-196.897 264.209 195.554 265.552 193.897 265.552 curveto
-192.24 265.552 190.897 264.209 190.897 262.552 curveto
-190.897 260.895 192.24 259.552 193.897 259.552 curveto
-195.554 259.552 196.897 260.895 196.897 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-197.2 262.552 M
-197.2 264.209 195.857 265.552 194.2 265.552 curveto
-192.544 265.552 191.2 264.209 191.2 262.552 curveto
-191.2 260.895 192.544 259.552 194.2 259.552 curveto
-195.857 259.552 197.2 260.895 197.2 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-197.2 262.552 M
-197.2 264.209 195.857 265.552 194.2 265.552 curveto
-192.544 265.552 191.2 264.209 191.2 262.552 curveto
-191.2 260.895 192.544 259.552 194.2 259.552 curveto
-195.857 259.552 197.2 260.895 197.2 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-197.504 262.552 M
-197.504 264.209 196.161 265.552 194.504 265.552 curveto
-192.847 265.552 191.504 264.209 191.504 262.552 curveto
-191.504 260.895 192.847 259.552 194.504 259.552 curveto
-196.161 259.552 197.504 260.895 197.504 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-197.504 262.552 M
-197.504 264.209 196.161 265.552 194.504 265.552 curveto
-192.847 265.552 191.504 264.209 191.504 262.552 curveto
-191.504 260.895 192.847 259.552 194.504 259.552 curveto
-196.161 259.552 197.504 260.895 197.504 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-197.808 262.552 M
-197.808 264.209 196.465 265.552 194.808 265.552 curveto
-193.151 265.552 191.808 264.209 191.808 262.552 curveto
-191.808 260.895 193.151 259.552 194.808 259.552 curveto
-196.465 259.552 197.808 260.895 197.808 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-197.808 262.552 M
-197.808 264.209 196.465 265.552 194.808 265.552 curveto
-193.151 265.552 191.808 264.209 191.808 262.552 curveto
-191.808 260.895 193.151 259.552 194.808 259.552 curveto
-196.465 259.552 197.808 260.895 197.808 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-198.112 262.552 M
-198.112 264.209 196.769 265.552 195.112 265.552 curveto
-193.455 265.552 192.112 264.209 192.112 262.552 curveto
-192.112 260.895 193.455 259.552 195.112 259.552 curveto
-196.769 259.552 198.112 260.895 198.112 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-198.112 262.552 M
-198.112 264.209 196.769 265.552 195.112 265.552 curveto
-193.455 265.552 192.112 264.209 192.112 262.552 curveto
-192.112 260.895 193.455 259.552 195.112 259.552 curveto
-196.769 259.552 198.112 260.895 198.112 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-198.415 262.552 M
-198.415 264.209 197.072 265.552 195.415 265.552 curveto
-193.759 265.552 192.415 264.209 192.415 262.552 curveto
-192.415 260.895 193.759 259.552 195.415 259.552 curveto
-197.072 259.552 198.415 260.895 198.415 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-198.415 262.552 M
-198.415 264.209 197.072 265.552 195.415 265.552 curveto
-193.759 265.552 192.415 264.209 192.415 262.552 curveto
-192.415 260.895 193.759 259.552 195.415 259.552 curveto
-197.072 259.552 198.415 260.895 198.415 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-198.719 262.552 M
-198.719 264.209 197.376 265.552 195.719 265.552 curveto
-194.062 265.552 192.719 264.209 192.719 262.552 curveto
-192.719 260.895 194.062 259.552 195.719 259.552 curveto
-197.376 259.552 198.719 260.895 198.719 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-198.719 262.552 M
-198.719 264.209 197.376 265.552 195.719 265.552 curveto
-194.062 265.552 192.719 264.209 192.719 262.552 curveto
-192.719 260.895 194.062 259.552 195.719 259.552 curveto
-197.376 259.552 198.719 260.895 198.719 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-199.023 262.552 M
-199.023 264.209 197.68 265.552 196.023 265.552 curveto
-194.366 265.552 193.023 264.209 193.023 262.552 curveto
-193.023 260.895 194.366 259.552 196.023 259.552 curveto
-197.68 259.552 199.023 260.895 199.023 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-199.023 262.552 M
-199.023 264.209 197.68 265.552 196.023 265.552 curveto
-194.366 265.552 193.023 264.209 193.023 262.552 curveto
-193.023 260.895 194.366 259.552 196.023 259.552 curveto
-197.68 259.552 199.023 260.895 199.023 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-199.327 262.552 M
-199.327 264.209 197.983 265.552 196.327 265.552 curveto
-194.67 265.552 193.327 264.209 193.327 262.552 curveto
-193.327 260.895 194.67 259.552 196.327 259.552 curveto
-197.983 259.552 199.327 260.895 199.327 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-199.327 262.552 M
-199.327 264.209 197.983 265.552 196.327 265.552 curveto
-194.67 265.552 193.327 264.209 193.327 262.552 curveto
-193.327 260.895 194.67 259.552 196.327 259.552 curveto
-197.983 259.552 199.327 260.895 199.327 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-199.63 262.552 M
-199.63 264.209 198.287 265.552 196.63 265.552 curveto
-194.973 265.552 193.63 264.209 193.63 262.552 curveto
-193.63 260.895 194.973 259.552 196.63 259.552 curveto
-198.287 259.552 199.63 260.895 199.63 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-199.63 262.552 M
-199.63 264.209 198.287 265.552 196.63 265.552 curveto
-194.973 265.552 193.63 264.209 193.63 262.552 curveto
-193.63 260.895 194.973 259.552 196.63 259.552 curveto
-198.287 259.552 199.63 260.895 199.63 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-199.934 262.552 M
-199.934 264.209 198.591 265.552 196.934 265.552 curveto
-195.277 265.552 193.934 264.209 193.934 262.552 curveto
-193.934 260.895 195.277 259.552 196.934 259.552 curveto
-198.591 259.552 199.934 260.895 199.934 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-199.934 262.552 M
-199.934 264.209 198.591 265.552 196.934 265.552 curveto
-195.277 265.552 193.934 264.209 193.934 262.552 curveto
-193.934 260.895 195.277 259.552 196.934 259.552 curveto
-198.591 259.552 199.934 260.895 199.934 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-200.238 262.552 M
-200.238 264.209 198.895 265.552 197.238 265.552 curveto
-195.581 265.552 194.238 264.209 194.238 262.552 curveto
-194.238 260.895 195.581 259.552 197.238 259.552 curveto
-198.895 259.552 200.238 260.895 200.238 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-200.238 262.552 M
-200.238 264.209 198.895 265.552 197.238 265.552 curveto
-195.581 265.552 194.238 264.209 194.238 262.552 curveto
-194.238 260.895 195.581 259.552 197.238 259.552 curveto
-198.895 259.552 200.238 260.895 200.238 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-200.542 262.552 M
-200.542 264.209 199.198 265.552 197.542 265.552 curveto
-195.885 265.552 194.542 264.209 194.542 262.552 curveto
-194.542 260.895 195.885 259.552 197.542 259.552 curveto
-199.198 259.552 200.542 260.895 200.542 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-200.542 262.552 M
-200.542 264.209 199.198 265.552 197.542 265.552 curveto
-195.885 265.552 194.542 264.209 194.542 262.552 curveto
-194.542 260.895 195.885 259.552 197.542 259.552 curveto
-199.198 259.552 200.542 260.895 200.542 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-200.845 262.552 M
-200.845 264.209 199.502 265.552 197.845 265.552 curveto
-196.188 265.552 194.845 264.209 194.845 262.552 curveto
-194.845 260.895 196.188 259.552 197.845 259.552 curveto
-199.502 259.552 200.845 260.895 200.845 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-200.845 262.552 M
-200.845 264.209 199.502 265.552 197.845 265.552 curveto
-196.188 265.552 194.845 264.209 194.845 262.552 curveto
-194.845 260.895 196.188 259.552 197.845 259.552 curveto
-199.502 259.552 200.845 260.895 200.845 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-201.149 262.552 M
-201.149 264.209 199.806 265.552 198.149 265.552 curveto
-196.492 265.552 195.149 264.209 195.149 262.552 curveto
-195.149 260.895 196.492 259.552 198.149 259.552 curveto
-199.806 259.552 201.149 260.895 201.149 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-201.149 262.552 M
-201.149 264.209 199.806 265.552 198.149 265.552 curveto
-196.492 265.552 195.149 264.209 195.149 262.552 curveto
-195.149 260.895 196.492 259.552 198.149 259.552 curveto
-199.806 259.552 201.149 260.895 201.149 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-201.453 262.552 M
-201.453 264.209 200.11 265.552 198.453 265.552 curveto
-196.796 265.552 195.453 264.209 195.453 262.552 curveto
-195.453 260.895 196.796 259.552 198.453 259.552 curveto
-200.11 259.552 201.453 260.895 201.453 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-201.453 262.552 M
-201.453 264.209 200.11 265.552 198.453 265.552 curveto
-196.796 265.552 195.453 264.209 195.453 262.552 curveto
-195.453 260.895 196.796 259.552 198.453 259.552 curveto
-200.11 259.552 201.453 260.895 201.453 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-201.757 262.552 M
-201.757 264.209 200.413 265.552 198.757 265.552 curveto
-197.1 265.552 195.757 264.209 195.757 262.552 curveto
-195.757 260.895 197.1 259.552 198.757 259.552 curveto
-200.413 259.552 201.757 260.895 201.757 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-201.757 262.552 M
-201.757 264.209 200.413 265.552 198.757 265.552 curveto
-197.1 265.552 195.757 264.209 195.757 262.552 curveto
-195.757 260.895 197.1 259.552 198.757 259.552 curveto
-200.413 259.552 201.757 260.895 201.757 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-202.06 262.552 M
-202.06 264.209 200.717 265.552 199.06 265.552 curveto
-197.403 265.552 196.06 264.209 196.06 262.552 curveto
-196.06 260.895 197.403 259.552 199.06 259.552 curveto
-200.717 259.552 202.06 260.895 202.06 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-202.06 262.552 M
-202.06 264.209 200.717 265.552 199.06 265.552 curveto
-197.403 265.552 196.06 264.209 196.06 262.552 curveto
-196.06 260.895 197.403 259.552 199.06 259.552 curveto
-200.717 259.552 202.06 260.895 202.06 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-202.364 262.552 M
-202.364 264.209 201.021 265.552 199.364 265.552 curveto
-197.707 265.552 196.364 264.209 196.364 262.552 curveto
-196.364 260.895 197.707 259.552 199.364 259.552 curveto
-201.021 259.552 202.364 260.895 202.364 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-202.364 262.552 M
-202.364 264.209 201.021 265.552 199.364 265.552 curveto
-197.707 265.552 196.364 264.209 196.364 262.552 curveto
-196.364 260.895 197.707 259.552 199.364 259.552 curveto
-201.021 259.552 202.364 260.895 202.364 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-202.668 284.1 M
-202.668 285.757 201.325 287.1 199.668 287.1 curveto
-198.011 287.1 196.668 285.757 196.668 284.1 curveto
-196.668 282.443 198.011 281.1 199.668 281.1 curveto
-201.325 281.1 202.668 282.443 202.668 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-202.668 284.1 M
-202.668 285.757 201.325 287.1 199.668 287.1 curveto
-198.011 287.1 196.668 285.757 196.668 284.1 curveto
-196.668 282.443 198.011 281.1 199.668 281.1 curveto
-201.325 281.1 202.668 282.443 202.668 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-202.971 284.1 M
-202.971 285.757 201.628 287.1 199.971 287.1 curveto
-198.315 287.1 196.971 285.757 196.971 284.1 curveto
-196.971 282.443 198.315 281.1 199.971 281.1 curveto
-201.628 281.1 202.971 282.443 202.971 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-202.971 284.1 M
-202.971 285.757 201.628 287.1 199.971 287.1 curveto
-198.315 287.1 196.971 285.757 196.971 284.1 curveto
-196.971 282.443 198.315 281.1 199.971 281.1 curveto
-201.628 281.1 202.971 282.443 202.971 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-203.275 284.1 M
-203.275 285.757 201.932 287.1 200.275 287.1 curveto
-198.618 287.1 197.275 285.757 197.275 284.1 curveto
-197.275 282.443 198.618 281.1 200.275 281.1 curveto
-201.932 281.1 203.275 282.443 203.275 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-203.275 284.1 M
-203.275 285.757 201.932 287.1 200.275 287.1 curveto
-198.618 287.1 197.275 285.757 197.275 284.1 curveto
-197.275 282.443 198.618 281.1 200.275 281.1 curveto
-201.932 281.1 203.275 282.443 203.275 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-203.579 284.1 M
-203.579 285.757 202.236 287.1 200.579 287.1 curveto
-198.922 287.1 197.579 285.757 197.579 284.1 curveto
-197.579 282.443 198.922 281.1 200.579 281.1 curveto
-202.236 281.1 203.579 282.443 203.579 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-203.579 284.1 M
-203.579 285.757 202.236 287.1 200.579 287.1 curveto
-198.922 287.1 197.579 285.757 197.579 284.1 curveto
-197.579 282.443 198.922 281.1 200.579 281.1 curveto
-202.236 281.1 203.579 282.443 203.579 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-203.883 284.1 M
-203.883 285.757 202.54 287.1 200.883 287.1 curveto
-199.226 287.1 197.883 285.757 197.883 284.1 curveto
-197.883 282.443 199.226 281.1 200.883 281.1 curveto
-202.54 281.1 203.883 282.443 203.883 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-203.883 284.1 M
-203.883 285.757 202.54 287.1 200.883 287.1 curveto
-199.226 287.1 197.883 285.757 197.883 284.1 curveto
-197.883 282.443 199.226 281.1 200.883 281.1 curveto
-202.54 281.1 203.883 282.443 203.883 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-204.186 284.1 M
-204.186 285.757 202.843 287.1 201.186 287.1 curveto
-199.53 287.1 198.186 285.757 198.186 284.1 curveto
-198.186 282.443 199.53 281.1 201.186 281.1 curveto
-202.843 281.1 204.186 282.443 204.186 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-204.186 284.1 M
-204.186 285.757 202.843 287.1 201.186 287.1 curveto
-199.53 287.1 198.186 285.757 198.186 284.1 curveto
-198.186 282.443 199.53 281.1 201.186 281.1 curveto
-202.843 281.1 204.186 282.443 204.186 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-204.49 284.1 M
-204.49 285.757 203.147 287.1 201.49 287.1 curveto
-199.833 287.1 198.49 285.757 198.49 284.1 curveto
-198.49 282.443 199.833 281.1 201.49 281.1 curveto
-203.147 281.1 204.49 282.443 204.49 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-204.49 284.1 M
-204.49 285.757 203.147 287.1 201.49 287.1 curveto
-199.833 287.1 198.49 285.757 198.49 284.1 curveto
-198.49 282.443 199.833 281.1 201.49 281.1 curveto
-203.147 281.1 204.49 282.443 204.49 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-204.794 284.1 M
-204.794 285.757 203.451 287.1 201.794 287.1 curveto
-200.137 287.1 198.794 285.757 198.794 284.1 curveto
-198.794 282.443 200.137 281.1 201.794 281.1 curveto
-203.451 281.1 204.794 282.443 204.794 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-204.794 284.1 M
-204.794 285.757 203.451 287.1 201.794 287.1 curveto
-200.137 287.1 198.794 285.757 198.794 284.1 curveto
-198.794 282.443 200.137 281.1 201.794 281.1 curveto
-203.451 281.1 204.794 282.443 204.794 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-205.098 284.1 M
-205.098 285.757 203.754 287.1 202.098 287.1 curveto
-200.441 287.1 199.098 285.757 199.098 284.1 curveto
-199.098 282.443 200.441 281.1 202.098 281.1 curveto
-203.754 281.1 205.098 282.443 205.098 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-205.098 284.1 M
-205.098 285.757 203.754 287.1 202.098 287.1 curveto
-200.441 287.1 199.098 285.757 199.098 284.1 curveto
-199.098 282.443 200.441 281.1 202.098 281.1 curveto
-203.754 281.1 205.098 282.443 205.098 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-205.401 284.1 M
-205.401 285.757 204.058 287.1 202.401 287.1 curveto
-200.744 287.1 199.401 285.757 199.401 284.1 curveto
-199.401 282.443 200.744 281.1 202.401 281.1 curveto
-204.058 281.1 205.401 282.443 205.401 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-205.401 284.1 M
-205.401 285.757 204.058 287.1 202.401 287.1 curveto
-200.744 287.1 199.401 285.757 199.401 284.1 curveto
-199.401 282.443 200.744 281.1 202.401 281.1 curveto
-204.058 281.1 205.401 282.443 205.401 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-205.705 284.1 M
-205.705 285.757 204.362 287.1 202.705 287.1 curveto
-201.048 287.1 199.705 285.757 199.705 284.1 curveto
-199.705 282.443 201.048 281.1 202.705 281.1 curveto
-204.362 281.1 205.705 282.443 205.705 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-205.705 284.1 M
-205.705 285.757 204.362 287.1 202.705 287.1 curveto
-201.048 287.1 199.705 285.757 199.705 284.1 curveto
-199.705 282.443 201.048 281.1 202.705 281.1 curveto
-204.362 281.1 205.705 282.443 205.705 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-206.009 284.1 M
-206.009 285.757 204.666 287.1 203.009 287.1 curveto
-201.352 287.1 200.009 285.757 200.009 284.1 curveto
-200.009 282.443 201.352 281.1 203.009 281.1 curveto
-204.666 281.1 206.009 282.443 206.009 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-206.009 284.1 M
-206.009 285.757 204.666 287.1 203.009 287.1 curveto
-201.352 287.1 200.009 285.757 200.009 284.1 curveto
-200.009 282.443 201.352 281.1 203.009 281.1 curveto
-204.666 281.1 206.009 282.443 206.009 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-206.313 284.1 M
-206.313 285.757 204.969 287.1 203.313 287.1 curveto
-201.656 287.1 200.313 285.757 200.313 284.1 curveto
-200.313 282.443 201.656 281.1 203.313 281.1 curveto
-204.969 281.1 206.313 282.443 206.313 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-206.313 284.1 M
-206.313 285.757 204.969 287.1 203.313 287.1 curveto
-201.656 287.1 200.313 285.757 200.313 284.1 curveto
-200.313 282.443 201.656 281.1 203.313 281.1 curveto
-204.969 281.1 206.313 282.443 206.313 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-206.616 284.1 M
-206.616 285.757 205.273 287.1 203.616 287.1 curveto
-201.959 287.1 200.616 285.757 200.616 284.1 curveto
-200.616 282.443 201.959 281.1 203.616 281.1 curveto
-205.273 281.1 206.616 282.443 206.616 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-206.616 284.1 M
-206.616 285.757 205.273 287.1 203.616 287.1 curveto
-201.959 287.1 200.616 285.757 200.616 284.1 curveto
-200.616 282.443 201.959 281.1 203.616 281.1 curveto
-205.273 281.1 206.616 282.443 206.616 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-206.92 284.1 M
-206.92 285.757 205.577 287.1 203.92 287.1 curveto
-202.263 287.1 200.92 285.757 200.92 284.1 curveto
-200.92 282.443 202.263 281.1 203.92 281.1 curveto
-205.577 281.1 206.92 282.443 206.92 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-206.92 284.1 M
-206.92 285.757 205.577 287.1 203.92 287.1 curveto
-202.263 287.1 200.92 285.757 200.92 284.1 curveto
-200.92 282.443 202.263 281.1 203.92 281.1 curveto
-205.577 281.1 206.92 282.443 206.92 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-207.224 305.648 M
-207.224 307.305 205.881 308.648 204.224 308.648 curveto
-202.567 308.648 201.224 307.305 201.224 305.648 curveto
-201.224 303.992 202.567 302.648 204.224 302.648 curveto
-205.881 302.648 207.224 303.992 207.224 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-207.224 305.648 M
-207.224 307.305 205.881 308.648 204.224 308.648 curveto
-202.567 308.648 201.224 307.305 201.224 305.648 curveto
-201.224 303.992 202.567 302.648 204.224 302.648 curveto
-205.881 302.648 207.224 303.992 207.224 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-207.528 305.648 M
-207.528 307.305 206.184 308.648 204.528 308.648 curveto
-202.871 308.648 201.528 307.305 201.528 305.648 curveto
-201.528 303.992 202.871 302.648 204.528 302.648 curveto
-206.184 302.648 207.528 303.992 207.528 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-207.528 305.648 M
-207.528 307.305 206.184 308.648 204.528 308.648 curveto
-202.871 308.648 201.528 307.305 201.528 305.648 curveto
-201.528 303.992 202.871 302.648 204.528 302.648 curveto
-206.184 302.648 207.528 303.992 207.528 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-207.831 305.648 M
-207.831 307.305 206.488 308.648 204.831 308.648 curveto
-203.174 308.648 201.831 307.305 201.831 305.648 curveto
-201.831 303.992 203.174 302.648 204.831 302.648 curveto
-206.488 302.648 207.831 303.992 207.831 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-207.831 305.648 M
-207.831 307.305 206.488 308.648 204.831 308.648 curveto
-203.174 308.648 201.831 307.305 201.831 305.648 curveto
-201.831 303.992 203.174 302.648 204.831 302.648 curveto
-206.488 302.648 207.831 303.992 207.831 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-208.135 305.648 M
-208.135 307.305 206.792 308.648 205.135 308.648 curveto
-203.478 308.648 202.135 307.305 202.135 305.648 curveto
-202.135 303.992 203.478 302.648 205.135 302.648 curveto
-206.792 302.648 208.135 303.992 208.135 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-208.135 305.648 M
-208.135 307.305 206.792 308.648 205.135 308.648 curveto
-203.478 308.648 202.135 307.305 202.135 305.648 curveto
-202.135 303.992 203.478 302.648 205.135 302.648 curveto
-206.792 302.648 208.135 303.992 208.135 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-208.439 305.648 M
-208.439 307.305 207.096 308.648 205.439 308.648 curveto
-203.782 308.648 202.439 307.305 202.439 305.648 curveto
-202.439 303.992 203.782 302.648 205.439 302.648 curveto
-207.096 302.648 208.439 303.992 208.439 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-208.439 305.648 M
-208.439 307.305 207.096 308.648 205.439 308.648 curveto
-203.782 308.648 202.439 307.305 202.439 305.648 curveto
-202.439 303.992 203.782 302.648 205.439 302.648 curveto
-207.096 302.648 208.439 303.992 208.439 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-208.742 305.648 M
-208.742 307.305 207.399 308.648 205.742 308.648 curveto
-204.086 308.648 202.742 307.305 202.742 305.648 curveto
-202.742 303.992 204.086 302.648 205.742 302.648 curveto
-207.399 302.648 208.742 303.992 208.742 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-208.742 305.648 M
-208.742 307.305 207.399 308.648 205.742 308.648 curveto
-204.086 308.648 202.742 307.305 202.742 305.648 curveto
-202.742 303.992 204.086 302.648 205.742 302.648 curveto
-207.399 302.648 208.742 303.992 208.742 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-209.046 305.648 M
-209.046 307.305 207.703 308.648 206.046 308.648 curveto
-204.389 308.648 203.046 307.305 203.046 305.648 curveto
-203.046 303.992 204.389 302.648 206.046 302.648 curveto
-207.703 302.648 209.046 303.992 209.046 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-209.046 305.648 M
-209.046 307.305 207.703 308.648 206.046 308.648 curveto
-204.389 308.648 203.046 307.305 203.046 305.648 curveto
-203.046 303.992 204.389 302.648 206.046 302.648 curveto
-207.703 302.648 209.046 303.992 209.046 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-209.35 305.648 M
-209.35 307.305 208.007 308.648 206.35 308.648 curveto
-204.693 308.648 203.35 307.305 203.35 305.648 curveto
-203.35 303.992 204.693 302.648 206.35 302.648 curveto
-208.007 302.648 209.35 303.992 209.35 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-209.35 305.648 M
-209.35 307.305 208.007 308.648 206.35 308.648 curveto
-204.693 308.648 203.35 307.305 203.35 305.648 curveto
-203.35 303.992 204.693 302.648 206.35 302.648 curveto
-208.007 302.648 209.35 303.992 209.35 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-209.654 305.648 M
-209.654 307.305 208.311 308.648 206.654 308.648 curveto
-204.997 308.648 203.654 307.305 203.654 305.648 curveto
-203.654 303.992 204.997 302.648 206.654 302.648 curveto
-208.311 302.648 209.654 303.992 209.654 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-209.654 305.648 M
-209.654 307.305 208.311 308.648 206.654 308.648 curveto
-204.997 308.648 203.654 307.305 203.654 305.648 curveto
-203.654 303.992 204.997 302.648 206.654 302.648 curveto
-208.311 302.648 209.654 303.992 209.654 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-209.957 305.648 M
-209.957 307.305 208.614 308.648 206.957 308.648 curveto
-205.301 308.648 203.957 307.305 203.957 305.648 curveto
-203.957 303.992 205.301 302.648 206.957 302.648 curveto
-208.614 302.648 209.957 303.992 209.957 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-209.957 305.648 M
-209.957 307.305 208.614 308.648 206.957 308.648 curveto
-205.301 308.648 203.957 307.305 203.957 305.648 curveto
-203.957 303.992 205.301 302.648 206.957 302.648 curveto
-208.614 302.648 209.957 303.992 209.957 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-210.261 305.648 M
-210.261 307.305 208.918 308.648 207.261 308.648 curveto
-205.604 308.648 204.261 307.305 204.261 305.648 curveto
-204.261 303.992 205.604 302.648 207.261 302.648 curveto
-208.918 302.648 210.261 303.992 210.261 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-210.261 305.648 M
-210.261 307.305 208.918 308.648 207.261 308.648 curveto
-205.604 308.648 204.261 307.305 204.261 305.648 curveto
-204.261 303.992 205.604 302.648 207.261 302.648 curveto
-208.918 302.648 210.261 303.992 210.261 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-210.565 305.648 M
-210.565 307.305 209.222 308.648 207.565 308.648 curveto
-205.908 308.648 204.565 307.305 204.565 305.648 curveto
-204.565 303.992 205.908 302.648 207.565 302.648 curveto
-209.222 302.648 210.565 303.992 210.565 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-210.565 305.648 M
-210.565 307.305 209.222 308.648 207.565 308.648 curveto
-205.908 308.648 204.565 307.305 204.565 305.648 curveto
-204.565 303.992 205.908 302.648 207.565 302.648 curveto
-209.222 302.648 210.565 303.992 210.565 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-210.869 305.648 M
-210.869 307.305 209.525 308.648 207.869 308.648 curveto
-206.212 308.648 204.869 307.305 204.869 305.648 curveto
-204.869 303.992 206.212 302.648 207.869 302.648 curveto
-209.525 302.648 210.869 303.992 210.869 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-210.869 305.648 M
-210.869 307.305 209.525 308.648 207.869 308.648 curveto
-206.212 308.648 204.869 307.305 204.869 305.648 curveto
-204.869 303.992 206.212 302.648 207.869 302.648 curveto
-209.525 302.648 210.869 303.992 210.869 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-211.172 305.648 M
-211.172 307.305 209.829 308.648 208.172 308.648 curveto
-206.516 308.648 205.172 307.305 205.172 305.648 curveto
-205.172 303.992 206.516 302.648 208.172 302.648 curveto
-209.829 302.648 211.172 303.992 211.172 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-211.172 305.648 M
-211.172 307.305 209.829 308.648 208.172 308.648 curveto
-206.516 308.648 205.172 307.305 205.172 305.648 curveto
-205.172 303.992 206.516 302.648 208.172 302.648 curveto
-209.829 302.648 211.172 303.992 211.172 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-211.476 305.648 M
-211.476 307.305 210.133 308.648 208.476 308.648 curveto
-206.819 308.648 205.476 307.305 205.476 305.648 curveto
-205.476 303.992 206.819 302.648 208.476 302.648 curveto
-210.133 302.648 211.476 303.992 211.476 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-211.476 305.648 M
-211.476 307.305 210.133 308.648 208.476 308.648 curveto
-206.819 308.648 205.476 307.305 205.476 305.648 curveto
-205.476 303.992 206.819 302.648 208.476 302.648 curveto
-210.133 302.648 211.476 303.992 211.476 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-211.78 305.648 M
-211.78 307.305 210.437 308.648 208.78 308.648 curveto
-207.123 308.648 205.78 307.305 205.78 305.648 curveto
-205.78 303.992 207.123 302.648 208.78 302.648 curveto
-210.437 302.648 211.78 303.992 211.78 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-211.78 305.648 M
-211.78 307.305 210.437 308.648 208.78 308.648 curveto
-207.123 308.648 205.78 307.305 205.78 305.648 curveto
-205.78 303.992 207.123 302.648 208.78 302.648 curveto
-210.437 302.648 211.78 303.992 211.78 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-212.084 305.648 M
-212.084 307.305 210.74 308.648 209.084 308.648 curveto
-207.427 308.648 206.084 307.305 206.084 305.648 curveto
-206.084 303.992 207.427 302.648 209.084 302.648 curveto
-210.74 302.648 212.084 303.992 212.084 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-212.084 305.648 M
-212.084 307.305 210.74 308.648 209.084 308.648 curveto
-207.427 308.648 206.084 307.305 206.084 305.648 curveto
-206.084 303.992 207.427 302.648 209.084 302.648 curveto
-210.74 302.648 212.084 303.992 212.084 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-212.387 305.648 M
-212.387 307.305 211.044 308.648 209.387 308.648 curveto
-207.73 308.648 206.387 307.305 206.387 305.648 curveto
-206.387 303.992 207.73 302.648 209.387 302.648 curveto
-211.044 302.648 212.387 303.992 212.387 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-212.387 305.648 M
-212.387 307.305 211.044 308.648 209.387 308.648 curveto
-207.73 308.648 206.387 307.305 206.387 305.648 curveto
-206.387 303.992 207.73 302.648 209.387 302.648 curveto
-211.044 302.648 212.387 303.992 212.387 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-212.691 305.648 M
-212.691 307.305 211.348 308.648 209.691 308.648 curveto
-208.034 308.648 206.691 307.305 206.691 305.648 curveto
-206.691 303.992 208.034 302.648 209.691 302.648 curveto
-211.348 302.648 212.691 303.992 212.691 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-212.691 305.648 M
-212.691 307.305 211.348 308.648 209.691 308.648 curveto
-208.034 308.648 206.691 307.305 206.691 305.648 curveto
-206.691 303.992 208.034 302.648 209.691 302.648 curveto
-211.348 302.648 212.691 303.992 212.691 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-212.995 305.648 M
-212.995 307.305 211.652 308.648 209.995 308.648 curveto
-208.338 308.648 206.995 307.305 206.995 305.648 curveto
-206.995 303.992 208.338 302.648 209.995 302.648 curveto
-211.652 302.648 212.995 303.992 212.995 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-212.995 305.648 M
-212.995 307.305 211.652 308.648 209.995 308.648 curveto
-208.338 308.648 206.995 307.305 206.995 305.648 curveto
-206.995 303.992 208.338 302.648 209.995 302.648 curveto
-211.652 302.648 212.995 303.992 212.995 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-213.299 305.648 M
-213.299 307.305 211.955 308.648 210.299 308.648 curveto
-208.642 308.648 207.299 307.305 207.299 305.648 curveto
-207.299 303.992 208.642 302.648 210.299 302.648 curveto
-211.955 302.648 213.299 303.992 213.299 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-213.299 305.648 M
-213.299 307.305 211.955 308.648 210.299 308.648 curveto
-208.642 308.648 207.299 307.305 207.299 305.648 curveto
-207.299 303.992 208.642 302.648 210.299 302.648 curveto
-211.955 302.648 213.299 303.992 213.299 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-213.602 305.648 M
-213.602 307.305 212.259 308.648 210.602 308.648 curveto
-208.945 308.648 207.602 307.305 207.602 305.648 curveto
-207.602 303.992 208.945 302.648 210.602 302.648 curveto
-212.259 302.648 213.602 303.992 213.602 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-213.602 305.648 M
-213.602 307.305 212.259 308.648 210.602 308.648 curveto
-208.945 308.648 207.602 307.305 207.602 305.648 curveto
-207.602 303.992 208.945 302.648 210.602 302.648 curveto
-212.259 302.648 213.602 303.992 213.602 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-213.906 305.648 M
-213.906 307.305 212.563 308.648 210.906 308.648 curveto
-209.249 308.648 207.906 307.305 207.906 305.648 curveto
-207.906 303.992 209.249 302.648 210.906 302.648 curveto
-212.563 302.648 213.906 303.992 213.906 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-213.906 305.648 M
-213.906 307.305 212.563 308.648 210.906 308.648 curveto
-209.249 308.648 207.906 307.305 207.906 305.648 curveto
-207.906 303.992 209.249 302.648 210.906 302.648 curveto
-212.563 302.648 213.906 303.992 213.906 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-214.21 305.648 M
-214.21 307.305 212.867 308.648 211.21 308.648 curveto
-209.553 308.648 208.21 307.305 208.21 305.648 curveto
-208.21 303.992 209.553 302.648 211.21 302.648 curveto
-212.867 302.648 214.21 303.992 214.21 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-214.21 305.648 M
-214.21 307.305 212.867 308.648 211.21 308.648 curveto
-209.553 308.648 208.21 307.305 208.21 305.648 curveto
-208.21 303.992 209.553 302.648 211.21 302.648 curveto
-212.867 302.648 214.21 303.992 214.21 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-214.513 305.648 M
-214.513 307.305 213.17 308.648 211.513 308.648 curveto
-209.857 308.648 208.513 307.305 208.513 305.648 curveto
-208.513 303.992 209.857 302.648 211.513 302.648 curveto
-213.17 302.648 214.513 303.992 214.513 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-214.513 305.648 M
-214.513 307.305 213.17 308.648 211.513 308.648 curveto
-209.857 308.648 208.513 307.305 208.513 305.648 curveto
-208.513 303.992 209.857 302.648 211.513 302.648 curveto
-213.17 302.648 214.513 303.992 214.513 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-214.817 305.648 M
-214.817 307.305 213.474 308.648 211.817 308.648 curveto
-210.16 308.648 208.817 307.305 208.817 305.648 curveto
-208.817 303.992 210.16 302.648 211.817 302.648 curveto
-213.474 302.648 214.817 303.992 214.817 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-214.817 305.648 M
-214.817 307.305 213.474 308.648 211.817 308.648 curveto
-210.16 308.648 208.817 307.305 208.817 305.648 curveto
-208.817 303.992 210.16 302.648 211.817 302.648 curveto
-213.474 302.648 214.817 303.992 214.817 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-215.121 305.648 M
-215.121 307.305 213.778 308.648 212.121 308.648 curveto
-210.464 308.648 209.121 307.305 209.121 305.648 curveto
-209.121 303.992 210.464 302.648 212.121 302.648 curveto
-213.778 302.648 215.121 303.992 215.121 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-215.121 305.648 M
-215.121 307.305 213.778 308.648 212.121 308.648 curveto
-210.464 308.648 209.121 307.305 209.121 305.648 curveto
-209.121 303.992 210.464 302.648 212.121 302.648 curveto
-213.778 302.648 215.121 303.992 215.121 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-215.425 305.648 M
-215.425 307.305 214.082 308.648 212.425 308.648 curveto
-210.768 308.648 209.425 307.305 209.425 305.648 curveto
-209.425 303.992 210.768 302.648 212.425 302.648 curveto
-214.082 302.648 215.425 303.992 215.425 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-215.425 305.648 M
-215.425 307.305 214.082 308.648 212.425 308.648 curveto
-210.768 308.648 209.425 307.305 209.425 305.648 curveto
-209.425 303.992 210.768 302.648 212.425 302.648 curveto
-214.082 302.648 215.425 303.992 215.425 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-215.728 305.648 M
-215.728 307.305 214.385 308.648 212.728 308.648 curveto
-211.072 308.648 209.728 307.305 209.728 305.648 curveto
-209.728 303.992 211.072 302.648 212.728 302.648 curveto
-214.385 302.648 215.728 303.992 215.728 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-215.728 305.648 M
-215.728 307.305 214.385 308.648 212.728 308.648 curveto
-211.072 308.648 209.728 307.305 209.728 305.648 curveto
-209.728 303.992 211.072 302.648 212.728 302.648 curveto
-214.385 302.648 215.728 303.992 215.728 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-216.032 305.648 M
-216.032 307.305 214.689 308.648 213.032 308.648 curveto
-211.375 308.648 210.032 307.305 210.032 305.648 curveto
-210.032 303.992 211.375 302.648 213.032 302.648 curveto
-214.689 302.648 216.032 303.992 216.032 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-216.032 305.648 M
-216.032 307.305 214.689 308.648 213.032 308.648 curveto
-211.375 308.648 210.032 307.305 210.032 305.648 curveto
-210.032 303.992 211.375 302.648 213.032 302.648 curveto
-214.689 302.648 216.032 303.992 216.032 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-216.336 305.648 M
-216.336 307.305 214.993 308.648 213.336 308.648 curveto
-211.679 308.648 210.336 307.305 210.336 305.648 curveto
-210.336 303.992 211.679 302.648 213.336 302.648 curveto
-214.993 302.648 216.336 303.992 216.336 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-216.336 305.648 M
-216.336 307.305 214.993 308.648 213.336 308.648 curveto
-211.679 308.648 210.336 307.305 210.336 305.648 curveto
-210.336 303.992 211.679 302.648 213.336 302.648 curveto
-214.993 302.648 216.336 303.992 216.336 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-216.64 305.648 M
-216.64 307.305 215.296 308.648 213.64 308.648 curveto
-211.983 308.648 210.64 307.305 210.64 305.648 curveto
-210.64 303.992 211.983 302.648 213.64 302.648 curveto
-215.296 302.648 216.64 303.992 216.64 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-216.64 305.648 M
-216.64 307.305 215.296 308.648 213.64 308.648 curveto
-211.983 308.648 210.64 307.305 210.64 305.648 curveto
-210.64 303.992 211.983 302.648 213.64 302.648 curveto
-215.296 302.648 216.64 303.992 216.64 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-216.943 305.648 M
-216.943 307.305 215.6 308.648 213.943 308.648 curveto
-212.287 308.648 210.943 307.305 210.943 305.648 curveto
-210.943 303.992 212.287 302.648 213.943 302.648 curveto
-215.6 302.648 216.943 303.992 216.943 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-216.943 305.648 M
-216.943 307.305 215.6 308.648 213.943 308.648 curveto
-212.287 308.648 210.943 307.305 210.943 305.648 curveto
-210.943 303.992 212.287 302.648 213.943 302.648 curveto
-215.6 302.648 216.943 303.992 216.943 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-217.247 305.648 M
-217.247 307.305 215.904 308.648 214.247 308.648 curveto
-212.59 308.648 211.247 307.305 211.247 305.648 curveto
-211.247 303.992 212.59 302.648 214.247 302.648 curveto
-215.904 302.648 217.247 303.992 217.247 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-217.247 305.648 M
-217.247 307.305 215.904 308.648 214.247 308.648 curveto
-212.59 308.648 211.247 307.305 211.247 305.648 curveto
-211.247 303.992 212.59 302.648 214.247 302.648 curveto
-215.904 302.648 217.247 303.992 217.247 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-217.551 305.648 M
-217.551 307.305 216.208 308.648 214.551 308.648 curveto
-212.894 308.648 211.551 307.305 211.551 305.648 curveto
-211.551 303.992 212.894 302.648 214.551 302.648 curveto
-216.208 302.648 217.551 303.992 217.551 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-217.551 305.648 M
-217.551 307.305 216.208 308.648 214.551 308.648 curveto
-212.894 308.648 211.551 307.305 211.551 305.648 curveto
-211.551 303.992 212.894 302.648 214.551 302.648 curveto
-216.208 302.648 217.551 303.992 217.551 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-217.855 305.648 M
-217.855 307.305 216.511 308.648 214.855 308.648 curveto
-213.198 308.648 211.855 307.305 211.855 305.648 curveto
-211.855 303.992 213.198 302.648 214.855 302.648 curveto
-216.511 302.648 217.855 303.992 217.855 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-217.855 305.648 M
-217.855 307.305 216.511 308.648 214.855 308.648 curveto
-213.198 308.648 211.855 307.305 211.855 305.648 curveto
-211.855 303.992 213.198 302.648 214.855 302.648 curveto
-216.511 302.648 217.855 303.992 217.855 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-218.158 305.648 M
-218.158 307.305 216.815 308.648 215.158 308.648 curveto
-213.501 308.648 212.158 307.305 212.158 305.648 curveto
-212.158 303.992 213.501 302.648 215.158 302.648 curveto
-216.815 302.648 218.158 303.992 218.158 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-218.158 305.648 M
-218.158 307.305 216.815 308.648 215.158 308.648 curveto
-213.501 308.648 212.158 307.305 212.158 305.648 curveto
-212.158 303.992 213.501 302.648 215.158 302.648 curveto
-216.815 302.648 218.158 303.992 218.158 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-218.462 305.648 M
-218.462 307.305 217.119 308.648 215.462 308.648 curveto
-213.805 308.648 212.462 307.305 212.462 305.648 curveto
-212.462 303.992 213.805 302.648 215.462 302.648 curveto
-217.119 302.648 218.462 303.992 218.462 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-218.462 305.648 M
-218.462 307.305 217.119 308.648 215.462 308.648 curveto
-213.805 308.648 212.462 307.305 212.462 305.648 curveto
-212.462 303.992 213.805 302.648 215.462 302.648 curveto
-217.119 302.648 218.462 303.992 218.462 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-218.766 305.648 M
-218.766 307.305 217.423 308.648 215.766 308.648 curveto
-214.109 308.648 212.766 307.305 212.766 305.648 curveto
-212.766 303.992 214.109 302.648 215.766 302.648 curveto
-217.423 302.648 218.766 303.992 218.766 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-218.766 305.648 M
-218.766 307.305 217.423 308.648 215.766 308.648 curveto
-214.109 308.648 212.766 307.305 212.766 305.648 curveto
-212.766 303.992 214.109 302.648 215.766 302.648 curveto
-217.423 302.648 218.766 303.992 218.766 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-219.07 219.455 M
-219.07 221.112 217.726 222.455 216.07 222.455 curveto
-214.413 222.455 213.07 221.112 213.07 219.455 curveto
-213.07 217.799 214.413 216.455 216.07 216.455 curveto
-217.726 216.455 219.07 217.799 219.07 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-219.07 219.455 M
-219.07 221.112 217.726 222.455 216.07 222.455 curveto
-214.413 222.455 213.07 221.112 213.07 219.455 curveto
-213.07 217.799 214.413 216.455 216.07 216.455 curveto
-217.726 216.455 219.07 217.799 219.07 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-219.373 219.455 M
-219.373 221.112 218.03 222.455 216.373 222.455 curveto
-214.716 222.455 213.373 221.112 213.373 219.455 curveto
-213.373 217.799 214.716 216.455 216.373 216.455 curveto
-218.03 216.455 219.373 217.799 219.373 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-219.373 219.455 M
-219.373 221.112 218.03 222.455 216.373 222.455 curveto
-214.716 222.455 213.373 221.112 213.373 219.455 curveto
-213.373 217.799 214.716 216.455 216.373 216.455 curveto
-218.03 216.455 219.373 217.799 219.373 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-219.677 219.455 M
-219.677 221.112 218.334 222.455 216.677 222.455 curveto
-215.02 222.455 213.677 221.112 213.677 219.455 curveto
-213.677 217.799 215.02 216.455 216.677 216.455 curveto
-218.334 216.455 219.677 217.799 219.677 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-219.677 219.455 M
-219.677 221.112 218.334 222.455 216.677 222.455 curveto
-215.02 222.455 213.677 221.112 213.677 219.455 curveto
-213.677 217.799 215.02 216.455 216.677 216.455 curveto
-218.334 216.455 219.677 217.799 219.677 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-219.981 219.455 M
-219.981 221.112 218.638 222.455 216.981 222.455 curveto
-215.324 222.455 213.981 221.112 213.981 219.455 curveto
-213.981 217.799 215.324 216.455 216.981 216.455 curveto
-218.638 216.455 219.981 217.799 219.981 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-219.981 219.455 M
-219.981 221.112 218.638 222.455 216.981 222.455 curveto
-215.324 222.455 213.981 221.112 213.981 219.455 curveto
-213.981 217.799 215.324 216.455 216.981 216.455 curveto
-218.638 216.455 219.981 217.799 219.981 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-220.284 219.455 M
-220.284 221.112 218.941 222.455 217.284 222.455 curveto
-215.628 222.455 214.284 221.112 214.284 219.455 curveto
-214.284 217.799 215.628 216.455 217.284 216.455 curveto
-218.941 216.455 220.284 217.799 220.284 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-220.284 219.455 M
-220.284 221.112 218.941 222.455 217.284 222.455 curveto
-215.628 222.455 214.284 221.112 214.284 219.455 curveto
-214.284 217.799 215.628 216.455 217.284 216.455 curveto
-218.941 216.455 220.284 217.799 220.284 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-220.588 219.455 M
-220.588 221.112 219.245 222.455 217.588 222.455 curveto
-215.931 222.455 214.588 221.112 214.588 219.455 curveto
-214.588 217.799 215.931 216.455 217.588 216.455 curveto
-219.245 216.455 220.588 217.799 220.588 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-220.588 219.455 M
-220.588 221.112 219.245 222.455 217.588 222.455 curveto
-215.931 222.455 214.588 221.112 214.588 219.455 curveto
-214.588 217.799 215.931 216.455 217.588 216.455 curveto
-219.245 216.455 220.588 217.799 220.588 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-220.892 219.455 M
-220.892 221.112 219.549 222.455 217.892 222.455 curveto
-216.235 222.455 214.892 221.112 214.892 219.455 curveto
-214.892 217.799 216.235 216.455 217.892 216.455 curveto
-219.549 216.455 220.892 217.799 220.892 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-220.892 219.455 M
-220.892 221.112 219.549 222.455 217.892 222.455 curveto
-216.235 222.455 214.892 221.112 214.892 219.455 curveto
-214.892 217.799 216.235 216.455 217.892 216.455 curveto
-219.549 216.455 220.892 217.799 220.892 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-221.196 219.455 M
-221.196 221.112 219.853 222.455 218.196 222.455 curveto
-216.539 222.455 215.196 221.112 215.196 219.455 curveto
-215.196 217.799 216.539 216.455 218.196 216.455 curveto
-219.853 216.455 221.196 217.799 221.196 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.196 219.455 M
-221.196 221.112 219.853 222.455 218.196 222.455 curveto
-216.539 222.455 215.196 221.112 215.196 219.455 curveto
-215.196 217.799 216.539 216.455 218.196 216.455 curveto
-219.853 216.455 221.196 217.799 221.196 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-221.499 219.455 M
-221.499 221.112 220.156 222.455 218.499 222.455 curveto
-216.843 222.455 215.499 221.112 215.499 219.455 curveto
-215.499 217.799 216.843 216.455 218.499 216.455 curveto
-220.156 216.455 221.499 217.799 221.499 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.499 219.455 M
-221.499 221.112 220.156 222.455 218.499 222.455 curveto
-216.843 222.455 215.499 221.112 215.499 219.455 curveto
-215.499 217.799 216.843 216.455 218.499 216.455 curveto
-220.156 216.455 221.499 217.799 221.499 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-221.803 219.455 M
-221.803 221.112 220.46 222.455 218.803 222.455 curveto
-217.146 222.455 215.803 221.112 215.803 219.455 curveto
-215.803 217.799 217.146 216.455 218.803 216.455 curveto
-220.46 216.455 221.803 217.799 221.803 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.803 219.455 M
-221.803 221.112 220.46 222.455 218.803 222.455 curveto
-217.146 222.455 215.803 221.112 215.803 219.455 curveto
-215.803 217.799 217.146 216.455 218.803 216.455 curveto
-220.46 216.455 221.803 217.799 221.803 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-222.107 219.455 M
-222.107 221.112 220.764 222.455 219.107 222.455 curveto
-217.45 222.455 216.107 221.112 216.107 219.455 curveto
-216.107 217.799 217.45 216.455 219.107 216.455 curveto
-220.764 216.455 222.107 217.799 222.107 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-222.107 219.455 M
-222.107 221.112 220.764 222.455 219.107 222.455 curveto
-217.45 222.455 216.107 221.112 216.107 219.455 curveto
-216.107 217.799 217.45 216.455 219.107 216.455 curveto
-220.764 216.455 222.107 217.799 222.107 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-222.411 219.455 M
-222.411 221.112 221.067 222.455 219.411 222.455 curveto
-217.754 222.455 216.411 221.112 216.411 219.455 curveto
-216.411 217.799 217.754 216.455 219.411 216.455 curveto
-221.067 216.455 222.411 217.799 222.411 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-222.411 219.455 M
-222.411 221.112 221.067 222.455 219.411 222.455 curveto
-217.754 222.455 216.411 221.112 216.411 219.455 curveto
-216.411 217.799 217.754 216.455 219.411 216.455 curveto
-221.067 216.455 222.411 217.799 222.411 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-222.714 219.455 M
-222.714 221.112 221.371 222.455 219.714 222.455 curveto
-218.058 222.455 216.714 221.112 216.714 219.455 curveto
-216.714 217.799 218.058 216.455 219.714 216.455 curveto
-221.371 216.455 222.714 217.799 222.714 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-222.714 219.455 M
-222.714 221.112 221.371 222.455 219.714 222.455 curveto
-218.058 222.455 216.714 221.112 216.714 219.455 curveto
-216.714 217.799 218.058 216.455 219.714 216.455 curveto
-221.371 216.455 222.714 217.799 222.714 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-223.018 219.455 M
-223.018 221.112 221.675 222.455 220.018 222.455 curveto
-218.361 222.455 217.018 221.112 217.018 219.455 curveto
-217.018 217.799 218.361 216.455 220.018 216.455 curveto
-221.675 216.455 223.018 217.799 223.018 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-223.018 219.455 M
-223.018 221.112 221.675 222.455 220.018 222.455 curveto
-218.361 222.455 217.018 221.112 217.018 219.455 curveto
-217.018 217.799 218.361 216.455 220.018 216.455 curveto
-221.675 216.455 223.018 217.799 223.018 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-223.322 219.455 M
-223.322 221.112 221.979 222.455 220.322 222.455 curveto
-218.665 222.455 217.322 221.112 217.322 219.455 curveto
-217.322 217.799 218.665 216.455 220.322 216.455 curveto
-221.979 216.455 223.322 217.799 223.322 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-223.322 219.455 M
-223.322 221.112 221.979 222.455 220.322 222.455 curveto
-218.665 222.455 217.322 221.112 217.322 219.455 curveto
-217.322 217.799 218.665 216.455 220.322 216.455 curveto
-221.979 216.455 223.322 217.799 223.322 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-223.626 219.455 M
-223.626 221.112 222.282 222.455 220.626 222.455 curveto
-218.969 222.455 217.626 221.112 217.626 219.455 curveto
-217.626 217.799 218.969 216.455 220.626 216.455 curveto
-222.282 216.455 223.626 217.799 223.626 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-223.626 219.455 M
-223.626 221.112 222.282 222.455 220.626 222.455 curveto
-218.969 222.455 217.626 221.112 217.626 219.455 curveto
-217.626 217.799 218.969 216.455 220.626 216.455 curveto
-222.282 216.455 223.626 217.799 223.626 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-223.929 219.455 M
-223.929 221.112 222.586 222.455 220.929 222.455 curveto
-219.272 222.455 217.929 221.112 217.929 219.455 curveto
-217.929 217.799 219.272 216.455 220.929 216.455 curveto
-222.586 216.455 223.929 217.799 223.929 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-223.929 219.455 M
-223.929 221.112 222.586 222.455 220.929 222.455 curveto
-219.272 222.455 217.929 221.112 217.929 219.455 curveto
-217.929 217.799 219.272 216.455 220.929 216.455 curveto
-222.586 216.455 223.929 217.799 223.929 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-224.233 219.455 M
-224.233 221.112 222.89 222.455 221.233 222.455 curveto
-219.576 222.455 218.233 221.112 218.233 219.455 curveto
-218.233 217.799 219.576 216.455 221.233 216.455 curveto
-222.89 216.455 224.233 217.799 224.233 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-224.233 219.455 M
-224.233 221.112 222.89 222.455 221.233 222.455 curveto
-219.576 222.455 218.233 221.112 218.233 219.455 curveto
-218.233 217.799 219.576 216.455 221.233 216.455 curveto
-222.89 216.455 224.233 217.799 224.233 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-224.537 219.455 M
-224.537 221.112 223.194 222.455 221.537 222.455 curveto
-219.88 222.455 218.537 221.112 218.537 219.455 curveto
-218.537 217.799 219.88 216.455 221.537 216.455 curveto
-223.194 216.455 224.537 217.799 224.537 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-224.537 219.455 M
-224.537 221.112 223.194 222.455 221.537 222.455 curveto
-219.88 222.455 218.537 221.112 218.537 219.455 curveto
-218.537 217.799 219.88 216.455 221.537 216.455 curveto
-223.194 216.455 224.537 217.799 224.537 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-224.841 219.455 M
-224.841 221.112 223.497 222.455 221.841 222.455 curveto
-220.184 222.455 218.841 221.112 218.841 219.455 curveto
-218.841 217.799 220.184 216.455 221.841 216.455 curveto
-223.497 216.455 224.841 217.799 224.841 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-224.841 219.455 M
-224.841 221.112 223.497 222.455 221.841 222.455 curveto
-220.184 222.455 218.841 221.112 218.841 219.455 curveto
-218.841 217.799 220.184 216.455 221.841 216.455 curveto
-223.497 216.455 224.841 217.799 224.841 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-225.144 219.455 M
-225.144 221.112 223.801 222.455 222.144 222.455 curveto
-220.487 222.455 219.144 221.112 219.144 219.455 curveto
-219.144 217.799 220.487 216.455 222.144 216.455 curveto
-223.801 216.455 225.144 217.799 225.144 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-225.144 219.455 M
-225.144 221.112 223.801 222.455 222.144 222.455 curveto
-220.487 222.455 219.144 221.112 219.144 219.455 curveto
-219.144 217.799 220.487 216.455 222.144 216.455 curveto
-223.801 216.455 225.144 217.799 225.144 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-225.448 219.455 M
-225.448 221.112 224.105 222.455 222.448 222.455 curveto
-220.791 222.455 219.448 221.112 219.448 219.455 curveto
-219.448 217.799 220.791 216.455 222.448 216.455 curveto
-224.105 216.455 225.448 217.799 225.448 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-225.448 219.455 M
-225.448 221.112 224.105 222.455 222.448 222.455 curveto
-220.791 222.455 219.448 221.112 219.448 219.455 curveto
-219.448 217.799 220.791 216.455 222.448 216.455 curveto
-224.105 216.455 225.448 217.799 225.448 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-225.752 219.455 M
-225.752 221.112 224.409 222.455 222.752 222.455 curveto
-221.095 222.455 219.752 221.112 219.752 219.455 curveto
-219.752 217.799 221.095 216.455 222.752 216.455 curveto
-224.409 216.455 225.752 217.799 225.752 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-225.752 219.455 M
-225.752 221.112 224.409 222.455 222.752 222.455 curveto
-221.095 222.455 219.752 221.112 219.752 219.455 curveto
-219.752 217.799 221.095 216.455 222.752 216.455 curveto
-224.409 216.455 225.752 217.799 225.752 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-226.055 219.455 M
-226.055 221.112 224.712 222.455 223.055 222.455 curveto
-221.399 222.455 220.055 221.112 220.055 219.455 curveto
-220.055 217.799 221.399 216.455 223.055 216.455 curveto
-224.712 216.455 226.055 217.799 226.055 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-226.055 219.455 M
-226.055 221.112 224.712 222.455 223.055 222.455 curveto
-221.399 222.455 220.055 221.112 220.055 219.455 curveto
-220.055 217.799 221.399 216.455 223.055 216.455 curveto
-224.712 216.455 226.055 217.799 226.055 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-226.359 219.455 M
-226.359 221.112 225.016 222.455 223.359 222.455 curveto
-221.702 222.455 220.359 221.112 220.359 219.455 curveto
-220.359 217.799 221.702 216.455 223.359 216.455 curveto
-225.016 216.455 226.359 217.799 226.359 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-226.359 219.455 M
-226.359 221.112 225.016 222.455 223.359 222.455 curveto
-221.702 222.455 220.359 221.112 220.359 219.455 curveto
-220.359 217.799 221.702 216.455 223.359 216.455 curveto
-225.016 216.455 226.359 217.799 226.359 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-226.663 219.455 M
-226.663 221.112 225.32 222.455 223.663 222.455 curveto
-222.006 222.455 220.663 221.112 220.663 219.455 curveto
-220.663 217.799 222.006 216.455 223.663 216.455 curveto
-225.32 216.455 226.663 217.799 226.663 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-226.663 219.455 M
-226.663 221.112 225.32 222.455 223.663 222.455 curveto
-222.006 222.455 220.663 221.112 220.663 219.455 curveto
-220.663 217.799 222.006 216.455 223.663 216.455 curveto
-225.32 216.455 226.663 217.799 226.663 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-226.967 219.455 M
-226.967 221.112 225.624 222.455 223.967 222.455 curveto
-222.31 222.455 220.967 221.112 220.967 219.455 curveto
-220.967 217.799 222.31 216.455 223.967 216.455 curveto
-225.624 216.455 226.967 217.799 226.967 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-226.967 219.455 M
-226.967 221.112 225.624 222.455 223.967 222.455 curveto
-222.31 222.455 220.967 221.112 220.967 219.455 curveto
-220.967 217.799 222.31 216.455 223.967 216.455 curveto
-225.624 216.455 226.967 217.799 226.967 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-227.27 219.455 M
-227.27 221.112 225.927 222.455 224.27 222.455 curveto
-222.614 222.455 221.27 221.112 221.27 219.455 curveto
-221.27 217.799 222.614 216.455 224.27 216.455 curveto
-225.927 216.455 227.27 217.799 227.27 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.27 219.455 M
-227.27 221.112 225.927 222.455 224.27 222.455 curveto
-222.614 222.455 221.27 221.112 221.27 219.455 curveto
-221.27 217.799 222.614 216.455 224.27 216.455 curveto
-225.927 216.455 227.27 217.799 227.27 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-227.574 219.455 M
-227.574 221.112 226.231 222.455 224.574 222.455 curveto
-222.917 222.455 221.574 221.112 221.574 219.455 curveto
-221.574 217.799 222.917 216.455 224.574 216.455 curveto
-226.231 216.455 227.574 217.799 227.574 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.574 219.455 M
-227.574 221.112 226.231 222.455 224.574 222.455 curveto
-222.917 222.455 221.574 221.112 221.574 219.455 curveto
-221.574 217.799 222.917 216.455 224.574 216.455 curveto
-226.231 216.455 227.574 217.799 227.574 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-227.878 219.455 M
-227.878 221.112 226.535 222.455 224.878 222.455 curveto
-223.221 222.455 221.878 221.112 221.878 219.455 curveto
-221.878 217.799 223.221 216.455 224.878 216.455 curveto
-226.535 216.455 227.878 217.799 227.878 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.878 219.455 M
-227.878 221.112 226.535 222.455 224.878 222.455 curveto
-223.221 222.455 221.878 221.112 221.878 219.455 curveto
-221.878 217.799 223.221 216.455 224.878 216.455 curveto
-226.535 216.455 227.878 217.799 227.878 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-228.182 219.455 M
-228.182 221.112 226.839 222.455 225.182 222.455 curveto
-223.525 222.455 222.182 221.112 222.182 219.455 curveto
-222.182 217.799 223.525 216.455 225.182 216.455 curveto
-226.839 216.455 228.182 217.799 228.182 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-228.182 219.455 M
-228.182 221.112 226.839 222.455 225.182 222.455 curveto
-223.525 222.455 222.182 221.112 222.182 219.455 curveto
-222.182 217.799 223.525 216.455 225.182 216.455 curveto
-226.839 216.455 228.182 217.799 228.182 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-228.485 219.455 M
-228.485 221.112 227.142 222.455 225.485 222.455 curveto
-223.829 222.455 222.485 221.112 222.485 219.455 curveto
-222.485 217.799 223.829 216.455 225.485 216.455 curveto
-227.142 216.455 228.485 217.799 228.485 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-228.485 219.455 M
-228.485 221.112 227.142 222.455 225.485 222.455 curveto
-223.829 222.455 222.485 221.112 222.485 219.455 curveto
-222.485 217.799 223.829 216.455 225.485 216.455 curveto
-227.142 216.455 228.485 217.799 228.485 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-228.789 219.455 M
-228.789 221.112 227.446 222.455 225.789 222.455 curveto
-224.132 222.455 222.789 221.112 222.789 219.455 curveto
-222.789 217.799 224.132 216.455 225.789 216.455 curveto
-227.446 216.455 228.789 217.799 228.789 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-228.789 219.455 M
-228.789 221.112 227.446 222.455 225.789 222.455 curveto
-224.132 222.455 222.789 221.112 222.789 219.455 curveto
-222.789 217.799 224.132 216.455 225.789 216.455 curveto
-227.446 216.455 228.789 217.799 228.789 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-229.093 219.455 M
-229.093 221.112 227.75 222.455 226.093 222.455 curveto
-224.436 222.455 223.093 221.112 223.093 219.455 curveto
-223.093 217.799 224.436 216.455 226.093 216.455 curveto
-227.75 216.455 229.093 217.799 229.093 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-229.093 219.455 M
-229.093 221.112 227.75 222.455 226.093 222.455 curveto
-224.436 222.455 223.093 221.112 223.093 219.455 curveto
-223.093 217.799 224.436 216.455 226.093 216.455 curveto
-227.75 216.455 229.093 217.799 229.093 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-229.397 219.455 M
-229.397 221.112 228.053 222.455 226.397 222.455 curveto
-224.74 222.455 223.397 221.112 223.397 219.455 curveto
-223.397 217.799 224.74 216.455 226.397 216.455 curveto
-228.053 216.455 229.397 217.799 229.397 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-229.397 219.455 M
-229.397 221.112 228.053 222.455 226.397 222.455 curveto
-224.74 222.455 223.397 221.112 223.397 219.455 curveto
-223.397 217.799 224.74 216.455 226.397 216.455 curveto
-228.053 216.455 229.397 217.799 229.397 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-229.7 219.455 M
-229.7 221.112 228.357 222.455 226.7 222.455 curveto
-225.043 222.455 223.7 221.112 223.7 219.455 curveto
-223.7 217.799 225.043 216.455 226.7 216.455 curveto
-228.357 216.455 229.7 217.799 229.7 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-229.7 219.455 M
-229.7 221.112 228.357 222.455 226.7 222.455 curveto
-225.043 222.455 223.7 221.112 223.7 219.455 curveto
-223.7 217.799 225.043 216.455 226.7 216.455 curveto
-228.357 216.455 229.7 217.799 229.7 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-230.004 219.455 M
-230.004 221.112 228.661 222.455 227.004 222.455 curveto
-225.347 222.455 224.004 221.112 224.004 219.455 curveto
-224.004 217.799 225.347 216.455 227.004 216.455 curveto
-228.661 216.455 230.004 217.799 230.004 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-230.004 219.455 M
-230.004 221.112 228.661 222.455 227.004 222.455 curveto
-225.347 222.455 224.004 221.112 224.004 219.455 curveto
-224.004 217.799 225.347 216.455 227.004 216.455 curveto
-228.661 216.455 230.004 217.799 230.004 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-230.308 219.455 M
-230.308 221.112 228.965 222.455 227.308 222.455 curveto
-225.651 222.455 224.308 221.112 224.308 219.455 curveto
-224.308 217.799 225.651 216.455 227.308 216.455 curveto
-228.965 216.455 230.308 217.799 230.308 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-230.308 219.455 M
-230.308 221.112 228.965 222.455 227.308 222.455 curveto
-225.651 222.455 224.308 221.112 224.308 219.455 curveto
-224.308 217.799 225.651 216.455 227.308 216.455 curveto
-228.965 216.455 230.308 217.799 230.308 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-230.612 219.455 M
-230.612 221.112 229.268 222.455 227.612 222.455 curveto
-225.955 222.455 224.612 221.112 224.612 219.455 curveto
-224.612 217.799 225.955 216.455 227.612 216.455 curveto
-229.268 216.455 230.612 217.799 230.612 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-230.612 219.455 M
-230.612 221.112 229.268 222.455 227.612 222.455 curveto
-225.955 222.455 224.612 221.112 224.612 219.455 curveto
-224.612 217.799 225.955 216.455 227.612 216.455 curveto
-229.268 216.455 230.612 217.799 230.612 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-230.915 219.455 M
-230.915 221.112 229.572 222.455 227.915 222.455 curveto
-226.258 222.455 224.915 221.112 224.915 219.455 curveto
-224.915 217.799 226.258 216.455 227.915 216.455 curveto
-229.572 216.455 230.915 217.799 230.915 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-230.915 219.455 M
-230.915 221.112 229.572 222.455 227.915 222.455 curveto
-226.258 222.455 224.915 221.112 224.915 219.455 curveto
-224.915 217.799 226.258 216.455 227.915 216.455 curveto
-229.572 216.455 230.915 217.799 230.915 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-231.219 219.455 M
-231.219 221.112 229.876 222.455 228.219 222.455 curveto
-226.562 222.455 225.219 221.112 225.219 219.455 curveto
-225.219 217.799 226.562 216.455 228.219 216.455 curveto
-229.876 216.455 231.219 217.799 231.219 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-231.219 219.455 M
-231.219 221.112 229.876 222.455 228.219 222.455 curveto
-226.562 222.455 225.219 221.112 225.219 219.455 curveto
-225.219 217.799 226.562 216.455 228.219 216.455 curveto
-229.876 216.455 231.219 217.799 231.219 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-231.523 219.455 M
-231.523 221.112 230.18 222.455 228.523 222.455 curveto
-226.866 222.455 225.523 221.112 225.523 219.455 curveto
-225.523 217.799 226.866 216.455 228.523 216.455 curveto
-230.18 216.455 231.523 217.799 231.523 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-231.523 219.455 M
-231.523 221.112 230.18 222.455 228.523 222.455 curveto
-226.866 222.455 225.523 221.112 225.523 219.455 curveto
-225.523 217.799 226.866 216.455 228.523 216.455 curveto
-230.18 216.455 231.523 217.799 231.523 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-231.826 219.455 M
-231.826 221.112 230.483 222.455 228.826 222.455 curveto
-227.17 222.455 225.826 221.112 225.826 219.455 curveto
-225.826 217.799 227.17 216.455 228.826 216.455 curveto
-230.483 216.455 231.826 217.799 231.826 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-231.826 219.455 M
-231.826 221.112 230.483 222.455 228.826 222.455 curveto
-227.17 222.455 225.826 221.112 225.826 219.455 curveto
-225.826 217.799 227.17 216.455 228.826 216.455 curveto
-230.483 216.455 231.826 217.799 231.826 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-232.13 219.455 M
-232.13 221.112 230.787 222.455 229.13 222.455 curveto
-227.473 222.455 226.13 221.112 226.13 219.455 curveto
-226.13 217.799 227.473 216.455 229.13 216.455 curveto
-230.787 216.455 232.13 217.799 232.13 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-232.13 219.455 M
-232.13 221.112 230.787 222.455 229.13 222.455 curveto
-227.473 222.455 226.13 221.112 226.13 219.455 curveto
-226.13 217.799 227.473 216.455 229.13 216.455 curveto
-230.787 216.455 232.13 217.799 232.13 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-232.434 219.455 M
-232.434 221.112 231.091 222.455 229.434 222.455 curveto
-227.777 222.455 226.434 221.112 226.434 219.455 curveto
-226.434 217.799 227.777 216.455 229.434 216.455 curveto
-231.091 216.455 232.434 217.799 232.434 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-232.434 219.455 M
-232.434 221.112 231.091 222.455 229.434 222.455 curveto
-227.777 222.455 226.434 221.112 226.434 219.455 curveto
-226.434 217.799 227.777 216.455 229.434 216.455 curveto
-231.091 216.455 232.434 217.799 232.434 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-232.738 219.455 M
-232.738 221.112 231.395 222.455 229.738 222.455 curveto
-228.081 222.455 226.738 221.112 226.738 219.455 curveto
-226.738 217.799 228.081 216.455 229.738 216.455 curveto
-231.395 216.455 232.738 217.799 232.738 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-232.738 219.455 M
-232.738 221.112 231.395 222.455 229.738 222.455 curveto
-228.081 222.455 226.738 221.112 226.738 219.455 curveto
-226.738 217.799 228.081 216.455 229.738 216.455 curveto
-231.395 216.455 232.738 217.799 232.738 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-233.041 219.455 M
-233.041 221.112 231.698 222.455 230.041 222.455 curveto
-228.385 222.455 227.041 221.112 227.041 219.455 curveto
-227.041 217.799 228.385 216.455 230.041 216.455 curveto
-231.698 216.455 233.041 217.799 233.041 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-233.041 219.455 M
-233.041 221.112 231.698 222.455 230.041 222.455 curveto
-228.385 222.455 227.041 221.112 227.041 219.455 curveto
-227.041 217.799 228.385 216.455 230.041 216.455 curveto
-231.698 216.455 233.041 217.799 233.041 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-233.345 219.455 M
-233.345 221.112 232.002 222.455 230.345 222.455 curveto
-228.688 222.455 227.345 221.112 227.345 219.455 curveto
-227.345 217.799 228.688 216.455 230.345 216.455 curveto
-232.002 216.455 233.345 217.799 233.345 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-233.345 219.455 M
-233.345 221.112 232.002 222.455 230.345 222.455 curveto
-228.688 222.455 227.345 221.112 227.345 219.455 curveto
-227.345 217.799 228.688 216.455 230.345 216.455 curveto
-232.002 216.455 233.345 217.799 233.345 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-233.649 219.455 M
-233.649 221.112 232.306 222.455 230.649 222.455 curveto
-228.992 222.455 227.649 221.112 227.649 219.455 curveto
-227.649 217.799 228.992 216.455 230.649 216.455 curveto
-232.306 216.455 233.649 217.799 233.649 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-233.649 219.455 M
-233.649 221.112 232.306 222.455 230.649 222.455 curveto
-228.992 222.455 227.649 221.112 227.649 219.455 curveto
-227.649 217.799 228.992 216.455 230.649 216.455 curveto
-232.306 216.455 233.649 217.799 233.649 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-233.953 219.455 M
-233.953 221.112 232.61 222.455 230.953 222.455 curveto
-229.296 222.455 227.953 221.112 227.953 219.455 curveto
-227.953 217.799 229.296 216.455 230.953 216.455 curveto
-232.61 216.455 233.953 217.799 233.953 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-233.953 219.455 M
-233.953 221.112 232.61 222.455 230.953 222.455 curveto
-229.296 222.455 227.953 221.112 227.953 219.455 curveto
-227.953 217.799 229.296 216.455 230.953 216.455 curveto
-232.61 216.455 233.953 217.799 233.953 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-234.256 219.455 M
-234.256 221.112 232.913 222.455 231.256 222.455 curveto
-229.6 222.455 228.256 221.112 228.256 219.455 curveto
-228.256 217.799 229.6 216.455 231.256 216.455 curveto
-232.913 216.455 234.256 217.799 234.256 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-234.256 219.455 M
-234.256 221.112 232.913 222.455 231.256 222.455 curveto
-229.6 222.455 228.256 221.112 228.256 219.455 curveto
-228.256 217.799 229.6 216.455 231.256 216.455 curveto
-232.913 216.455 234.256 217.799 234.256 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-234.56 219.455 M
-234.56 221.112 233.217 222.455 231.56 222.455 curveto
-229.903 222.455 228.56 221.112 228.56 219.455 curveto
-228.56 217.799 229.903 216.455 231.56 216.455 curveto
-233.217 216.455 234.56 217.799 234.56 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-234.56 219.455 M
-234.56 221.112 233.217 222.455 231.56 222.455 curveto
-229.903 222.455 228.56 221.112 228.56 219.455 curveto
-228.56 217.799 229.903 216.455 231.56 216.455 curveto
-233.217 216.455 234.56 217.799 234.56 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-234.864 219.455 M
-234.864 221.112 233.521 222.455 231.864 222.455 curveto
-230.207 222.455 228.864 221.112 228.864 219.455 curveto
-228.864 217.799 230.207 216.455 231.864 216.455 curveto
-233.521 216.455 234.864 217.799 234.864 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-234.864 219.455 M
-234.864 221.112 233.521 222.455 231.864 222.455 curveto
-230.207 222.455 228.864 221.112 228.864 219.455 curveto
-228.864 217.799 230.207 216.455 231.864 216.455 curveto
-233.521 216.455 234.864 217.799 234.864 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-235.168 219.455 M
-235.168 221.112 233.824 222.455 232.168 222.455 curveto
-230.511 222.455 229.168 221.112 229.168 219.455 curveto
-229.168 217.799 230.511 216.455 232.168 216.455 curveto
-233.824 216.455 235.168 217.799 235.168 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-235.168 219.455 M
-235.168 221.112 233.824 222.455 232.168 222.455 curveto
-230.511 222.455 229.168 221.112 229.168 219.455 curveto
-229.168 217.799 230.511 216.455 232.168 216.455 curveto
-233.824 216.455 235.168 217.799 235.168 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-235.471 219.455 M
-235.471 221.112 234.128 222.455 232.471 222.455 curveto
-230.814 222.455 229.471 221.112 229.471 219.455 curveto
-229.471 217.799 230.814 216.455 232.471 216.455 curveto
-234.128 216.455 235.471 217.799 235.471 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-235.471 219.455 M
-235.471 221.112 234.128 222.455 232.471 222.455 curveto
-230.814 222.455 229.471 221.112 229.471 219.455 curveto
-229.471 217.799 230.814 216.455 232.471 216.455 curveto
-234.128 216.455 235.471 217.799 235.471 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-235.775 219.455 M
-235.775 221.112 234.432 222.455 232.775 222.455 curveto
-231.118 222.455 229.775 221.112 229.775 219.455 curveto
-229.775 217.799 231.118 216.455 232.775 216.455 curveto
-234.432 216.455 235.775 217.799 235.775 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-235.775 219.455 M
-235.775 221.112 234.432 222.455 232.775 222.455 curveto
-231.118 222.455 229.775 221.112 229.775 219.455 curveto
-229.775 217.799 231.118 216.455 232.775 216.455 curveto
-234.432 216.455 235.775 217.799 235.775 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-236.079 219.455 M
-236.079 221.112 234.736 222.455 233.079 222.455 curveto
-231.422 222.455 230.079 221.112 230.079 219.455 curveto
-230.079 217.799 231.422 216.455 233.079 216.455 curveto
-234.736 216.455 236.079 217.799 236.079 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-236.079 219.455 M
-236.079 221.112 234.736 222.455 233.079 222.455 curveto
-231.422 222.455 230.079 221.112 230.079 219.455 curveto
-230.079 217.799 231.422 216.455 233.079 216.455 curveto
-234.736 216.455 236.079 217.799 236.079 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-236.383 219.455 M
-236.383 221.112 235.039 222.455 233.383 222.455 curveto
-231.726 222.455 230.383 221.112 230.383 219.455 curveto
-230.383 217.799 231.726 216.455 233.383 216.455 curveto
-235.039 216.455 236.383 217.799 236.383 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-236.383 219.455 M
-236.383 221.112 235.039 222.455 233.383 222.455 curveto
-231.726 222.455 230.383 221.112 230.383 219.455 curveto
-230.383 217.799 231.726 216.455 233.383 216.455 curveto
-235.039 216.455 236.383 217.799 236.383 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-236.686 219.455 M
-236.686 221.112 235.343 222.455 233.686 222.455 curveto
-232.029 222.455 230.686 221.112 230.686 219.455 curveto
-230.686 217.799 232.029 216.455 233.686 216.455 curveto
-235.343 216.455 236.686 217.799 236.686 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-236.686 219.455 M
-236.686 221.112 235.343 222.455 233.686 222.455 curveto
-232.029 222.455 230.686 221.112 230.686 219.455 curveto
-230.686 217.799 232.029 216.455 233.686 216.455 curveto
-235.343 216.455 236.686 217.799 236.686 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-236.99 219.455 M
-236.99 221.112 235.647 222.455 233.99 222.455 curveto
-232.333 222.455 230.99 221.112 230.99 219.455 curveto
-230.99 217.799 232.333 216.455 233.99 216.455 curveto
-235.647 216.455 236.99 217.799 236.99 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-236.99 219.455 M
-236.99 221.112 235.647 222.455 233.99 222.455 curveto
-232.333 222.455 230.99 221.112 230.99 219.455 curveto
-230.99 217.799 232.333 216.455 233.99 216.455 curveto
-235.647 216.455 236.99 217.799 236.99 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-237.294 219.455 M
-237.294 221.112 235.951 222.455 234.294 222.455 curveto
-232.637 222.455 231.294 221.112 231.294 219.455 curveto
-231.294 217.799 232.637 216.455 234.294 216.455 curveto
-235.951 216.455 237.294 217.799 237.294 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-237.294 219.455 M
-237.294 221.112 235.951 222.455 234.294 222.455 curveto
-232.637 222.455 231.294 221.112 231.294 219.455 curveto
-231.294 217.799 232.637 216.455 234.294 216.455 curveto
-235.951 216.455 237.294 217.799 237.294 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-237.598 219.455 M
-237.598 221.112 236.254 222.455 234.598 222.455 curveto
-232.941 222.455 231.598 221.112 231.598 219.455 curveto
-231.598 217.799 232.941 216.455 234.598 216.455 curveto
-236.254 216.455 237.598 217.799 237.598 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-237.598 219.455 M
-237.598 221.112 236.254 222.455 234.598 222.455 curveto
-232.941 222.455 231.598 221.112 231.598 219.455 curveto
-231.598 217.799 232.941 216.455 234.598 216.455 curveto
-236.254 216.455 237.598 217.799 237.598 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-237.901 219.455 M
-237.901 221.112 236.558 222.455 234.901 222.455 curveto
-233.244 222.455 231.901 221.112 231.901 219.455 curveto
-231.901 217.799 233.244 216.455 234.901 216.455 curveto
-236.558 216.455 237.901 217.799 237.901 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-237.901 219.455 M
-237.901 221.112 236.558 222.455 234.901 222.455 curveto
-233.244 222.455 231.901 221.112 231.901 219.455 curveto
-231.901 217.799 233.244 216.455 234.901 216.455 curveto
-236.558 216.455 237.901 217.799 237.901 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-238.205 219.455 M
-238.205 221.112 236.862 222.455 235.205 222.455 curveto
-233.548 222.455 232.205 221.112 232.205 219.455 curveto
-232.205 217.799 233.548 216.455 235.205 216.455 curveto
-236.862 216.455 238.205 217.799 238.205 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-238.205 219.455 M
-238.205 221.112 236.862 222.455 235.205 222.455 curveto
-233.548 222.455 232.205 221.112 232.205 219.455 curveto
-232.205 217.799 233.548 216.455 235.205 216.455 curveto
-236.862 216.455 238.205 217.799 238.205 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-238.509 219.455 M
-238.509 221.112 237.166 222.455 235.509 222.455 curveto
-233.852 222.455 232.509 221.112 232.509 219.455 curveto
-232.509 217.799 233.852 216.455 235.509 216.455 curveto
-237.166 216.455 238.509 217.799 238.509 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-238.509 219.455 M
-238.509 221.112 237.166 222.455 235.509 222.455 curveto
-233.852 222.455 232.509 221.112 232.509 219.455 curveto
-232.509 217.799 233.852 216.455 235.509 216.455 curveto
-237.166 216.455 238.509 217.799 238.509 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-238.812 219.455 M
-238.812 221.112 237.469 222.455 235.812 222.455 curveto
-234.156 222.455 232.812 221.112 232.812 219.455 curveto
-232.812 217.799 234.156 216.455 235.812 216.455 curveto
-237.469 216.455 238.812 217.799 238.812 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-238.812 219.455 M
-238.812 221.112 237.469 222.455 235.812 222.455 curveto
-234.156 222.455 232.812 221.112 232.812 219.455 curveto
-232.812 217.799 234.156 216.455 235.812 216.455 curveto
-237.469 216.455 238.812 217.799 238.812 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-239.116 219.455 M
-239.116 221.112 237.773 222.455 236.116 222.455 curveto
-234.459 222.455 233.116 221.112 233.116 219.455 curveto
-233.116 217.799 234.459 216.455 236.116 216.455 curveto
-237.773 216.455 239.116 217.799 239.116 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-239.116 219.455 M
-239.116 221.112 237.773 222.455 236.116 222.455 curveto
-234.459 222.455 233.116 221.112 233.116 219.455 curveto
-233.116 217.799 234.459 216.455 236.116 216.455 curveto
-237.773 216.455 239.116 217.799 239.116 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-239.42 219.455 M
-239.42 221.112 238.077 222.455 236.42 222.455 curveto
-234.763 222.455 233.42 221.112 233.42 219.455 curveto
-233.42 217.799 234.763 216.455 236.42 216.455 curveto
-238.077 216.455 239.42 217.799 239.42 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-239.42 219.455 M
-239.42 221.112 238.077 222.455 236.42 222.455 curveto
-234.763 222.455 233.42 221.112 233.42 219.455 curveto
-233.42 217.799 234.763 216.455 236.42 216.455 curveto
-238.077 216.455 239.42 217.799 239.42 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-239.724 219.455 M
-239.724 221.112 238.381 222.455 236.724 222.455 curveto
-235.067 222.455 233.724 221.112 233.724 219.455 curveto
-233.724 217.799 235.067 216.455 236.724 216.455 curveto
-238.381 216.455 239.724 217.799 239.724 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-239.724 219.455 M
-239.724 221.112 238.381 222.455 236.724 222.455 curveto
-235.067 222.455 233.724 221.112 233.724 219.455 curveto
-233.724 217.799 235.067 216.455 236.724 216.455 curveto
-238.381 216.455 239.724 217.799 239.724 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-240.027 219.455 M
-240.027 221.112 238.684 222.455 237.027 222.455 curveto
-235.371 222.455 234.027 221.112 234.027 219.455 curveto
-234.027 217.799 235.371 216.455 237.027 216.455 curveto
-238.684 216.455 240.027 217.799 240.027 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-240.027 219.455 M
-240.027 221.112 238.684 222.455 237.027 222.455 curveto
-235.371 222.455 234.027 221.112 234.027 219.455 curveto
-234.027 217.799 235.371 216.455 237.027 216.455 curveto
-238.684 216.455 240.027 217.799 240.027 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-240.331 262.552 M
-240.331 264.209 238.988 265.552 237.331 265.552 curveto
-235.674 265.552 234.331 264.209 234.331 262.552 curveto
-234.331 260.895 235.674 259.552 237.331 259.552 curveto
-238.988 259.552 240.331 260.895 240.331 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-240.331 262.552 M
-240.331 264.209 238.988 265.552 237.331 265.552 curveto
-235.674 265.552 234.331 264.209 234.331 262.552 curveto
-234.331 260.895 235.674 259.552 237.331 259.552 curveto
-238.988 259.552 240.331 260.895 240.331 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-240.635 262.552 M
-240.635 264.209 239.292 265.552 237.635 265.552 curveto
-235.978 265.552 234.635 264.209 234.635 262.552 curveto
-234.635 260.895 235.978 259.552 237.635 259.552 curveto
-239.292 259.552 240.635 260.895 240.635 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-240.635 262.552 M
-240.635 264.209 239.292 265.552 237.635 265.552 curveto
-235.978 265.552 234.635 264.209 234.635 262.552 curveto
-234.635 260.895 235.978 259.552 237.635 259.552 curveto
-239.292 259.552 240.635 260.895 240.635 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-240.939 262.552 M
-240.939 264.209 239.595 265.552 237.939 265.552 curveto
-236.282 265.552 234.939 264.209 234.939 262.552 curveto
-234.939 260.895 236.282 259.552 237.939 259.552 curveto
-239.595 259.552 240.939 260.895 240.939 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-240.939 262.552 M
-240.939 264.209 239.595 265.552 237.939 265.552 curveto
-236.282 265.552 234.939 264.209 234.939 262.552 curveto
-234.939 260.895 236.282 259.552 237.939 259.552 curveto
-239.595 259.552 240.939 260.895 240.939 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-241.242 262.552 M
-241.242 264.209 239.899 265.552 238.242 265.552 curveto
-236.585 265.552 235.242 264.209 235.242 262.552 curveto
-235.242 260.895 236.585 259.552 238.242 259.552 curveto
-239.899 259.552 241.242 260.895 241.242 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-241.242 262.552 M
-241.242 264.209 239.899 265.552 238.242 265.552 curveto
-236.585 265.552 235.242 264.209 235.242 262.552 curveto
-235.242 260.895 236.585 259.552 238.242 259.552 curveto
-239.899 259.552 241.242 260.895 241.242 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-241.546 262.552 M
-241.546 264.209 240.203 265.552 238.546 265.552 curveto
-236.889 265.552 235.546 264.209 235.546 262.552 curveto
-235.546 260.895 236.889 259.552 238.546 259.552 curveto
-240.203 259.552 241.546 260.895 241.546 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-241.546 262.552 M
-241.546 264.209 240.203 265.552 238.546 265.552 curveto
-236.889 265.552 235.546 264.209 235.546 262.552 curveto
-235.546 260.895 236.889 259.552 238.546 259.552 curveto
-240.203 259.552 241.546 260.895 241.546 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-241.85 262.552 M
-241.85 264.209 240.507 265.552 238.85 265.552 curveto
-237.193 265.552 235.85 264.209 235.85 262.552 curveto
-235.85 260.895 237.193 259.552 238.85 259.552 curveto
-240.507 259.552 241.85 260.895 241.85 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-241.85 262.552 M
-241.85 264.209 240.507 265.552 238.85 265.552 curveto
-237.193 265.552 235.85 264.209 235.85 262.552 curveto
-235.85 260.895 237.193 259.552 238.85 259.552 curveto
-240.507 259.552 241.85 260.895 241.85 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-242.154 284.1 M
-242.154 285.757 240.81 287.1 239.154 287.1 curveto
-237.497 287.1 236.154 285.757 236.154 284.1 curveto
-236.154 282.443 237.497 281.1 239.154 281.1 curveto
-240.81 281.1 242.154 282.443 242.154 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-242.154 284.1 M
-242.154 285.757 240.81 287.1 239.154 287.1 curveto
-237.497 287.1 236.154 285.757 236.154 284.1 curveto
-236.154 282.443 237.497 281.1 239.154 281.1 curveto
-240.81 281.1 242.154 282.443 242.154 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-242.457 284.1 M
-242.457 285.757 241.114 287.1 239.457 287.1 curveto
-237.8 287.1 236.457 285.757 236.457 284.1 curveto
-236.457 282.443 237.8 281.1 239.457 281.1 curveto
-241.114 281.1 242.457 282.443 242.457 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-242.457 284.1 M
-242.457 285.757 241.114 287.1 239.457 287.1 curveto
-237.8 287.1 236.457 285.757 236.457 284.1 curveto
-236.457 282.443 237.8 281.1 239.457 281.1 curveto
-241.114 281.1 242.457 282.443 242.457 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-242.761 284.1 M
-242.761 285.757 241.418 287.1 239.761 287.1 curveto
-238.104 287.1 236.761 285.757 236.761 284.1 curveto
-236.761 282.443 238.104 281.1 239.761 281.1 curveto
-241.418 281.1 242.761 282.443 242.761 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-242.761 284.1 M
-242.761 285.757 241.418 287.1 239.761 287.1 curveto
-238.104 287.1 236.761 285.757 236.761 284.1 curveto
-236.761 282.443 238.104 281.1 239.761 281.1 curveto
-241.418 281.1 242.761 282.443 242.761 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-243.065 284.1 M
-243.065 285.757 241.722 287.1 240.065 287.1 curveto
-238.408 287.1 237.065 285.757 237.065 284.1 curveto
-237.065 282.443 238.408 281.1 240.065 281.1 curveto
-241.722 281.1 243.065 282.443 243.065 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-243.065 284.1 M
-243.065 285.757 241.722 287.1 240.065 287.1 curveto
-238.408 287.1 237.065 285.757 237.065 284.1 curveto
-237.065 282.443 238.408 281.1 240.065 281.1 curveto
-241.722 281.1 243.065 282.443 243.065 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-243.369 284.1 M
-243.369 285.757 242.025 287.1 240.369 287.1 curveto
-238.712 287.1 237.369 285.757 237.369 284.1 curveto
-237.369 282.443 238.712 281.1 240.369 281.1 curveto
-242.025 281.1 243.369 282.443 243.369 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-243.369 284.1 M
-243.369 285.757 242.025 287.1 240.369 287.1 curveto
-238.712 287.1 237.369 285.757 237.369 284.1 curveto
-237.369 282.443 238.712 281.1 240.369 281.1 curveto
-242.025 281.1 243.369 282.443 243.369 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-243.672 284.1 M
-243.672 285.757 242.329 287.1 240.672 287.1 curveto
-239.015 287.1 237.672 285.757 237.672 284.1 curveto
-237.672 282.443 239.015 281.1 240.672 281.1 curveto
-242.329 281.1 243.672 282.443 243.672 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-243.672 284.1 M
-243.672 285.757 242.329 287.1 240.672 287.1 curveto
-239.015 287.1 237.672 285.757 237.672 284.1 curveto
-237.672 282.443 239.015 281.1 240.672 281.1 curveto
-242.329 281.1 243.672 282.443 243.672 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-243.976 284.1 M
-243.976 285.757 242.633 287.1 240.976 287.1 curveto
-239.319 287.1 237.976 285.757 237.976 284.1 curveto
-237.976 282.443 239.319 281.1 240.976 281.1 curveto
-242.633 281.1 243.976 282.443 243.976 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-243.976 284.1 M
-243.976 285.757 242.633 287.1 240.976 287.1 curveto
-239.319 287.1 237.976 285.757 237.976 284.1 curveto
-237.976 282.443 239.319 281.1 240.976 281.1 curveto
-242.633 281.1 243.976 282.443 243.976 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-244.28 284.1 M
-244.28 285.757 242.937 287.1 241.28 287.1 curveto
-239.623 287.1 238.28 285.757 238.28 284.1 curveto
-238.28 282.443 239.623 281.1 241.28 281.1 curveto
-242.937 281.1 244.28 282.443 244.28 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-244.28 284.1 M
-244.28 285.757 242.937 287.1 241.28 287.1 curveto
-239.623 287.1 238.28 285.757 238.28 284.1 curveto
-238.28 282.443 239.623 281.1 241.28 281.1 curveto
-242.937 281.1 244.28 282.443 244.28 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-244.583 284.1 M
-244.583 285.757 243.24 287.1 241.583 287.1 curveto
-239.927 287.1 238.583 285.757 238.583 284.1 curveto
-238.583 282.443 239.927 281.1 241.583 281.1 curveto
-243.24 281.1 244.583 282.443 244.583 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-244.583 284.1 M
-244.583 285.757 243.24 287.1 241.583 287.1 curveto
-239.927 287.1 238.583 285.757 238.583 284.1 curveto
-238.583 282.443 239.927 281.1 241.583 281.1 curveto
-243.24 281.1 244.583 282.443 244.583 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-244.887 284.1 M
-244.887 285.757 243.544 287.1 241.887 287.1 curveto
-240.23 287.1 238.887 285.757 238.887 284.1 curveto
-238.887 282.443 240.23 281.1 241.887 281.1 curveto
-243.544 281.1 244.887 282.443 244.887 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-244.887 284.1 M
-244.887 285.757 243.544 287.1 241.887 287.1 curveto
-240.23 287.1 238.887 285.757 238.887 284.1 curveto
-238.887 282.443 240.23 281.1 241.887 281.1 curveto
-243.544 281.1 244.887 282.443 244.887 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-245.191 284.1 M
-245.191 285.757 243.848 287.1 242.191 287.1 curveto
-240.534 287.1 239.191 285.757 239.191 284.1 curveto
-239.191 282.443 240.534 281.1 242.191 281.1 curveto
-243.848 281.1 245.191 282.443 245.191 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-245.191 284.1 M
-245.191 285.757 243.848 287.1 242.191 287.1 curveto
-240.534 287.1 239.191 285.757 239.191 284.1 curveto
-239.191 282.443 240.534 281.1 242.191 281.1 curveto
-243.848 281.1 245.191 282.443 245.191 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-245.495 284.1 M
-245.495 285.757 244.152 287.1 242.495 287.1 curveto
-240.838 287.1 239.495 285.757 239.495 284.1 curveto
-239.495 282.443 240.838 281.1 242.495 281.1 curveto
-244.152 281.1 245.495 282.443 245.495 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-245.495 284.1 M
-245.495 285.757 244.152 287.1 242.495 287.1 curveto
-240.838 287.1 239.495 285.757 239.495 284.1 curveto
-239.495 282.443 240.838 281.1 242.495 281.1 curveto
-244.152 281.1 245.495 282.443 245.495 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-245.798 284.1 M
-245.798 285.757 244.455 287.1 242.798 287.1 curveto
-241.142 287.1 239.798 285.757 239.798 284.1 curveto
-239.798 282.443 241.142 281.1 242.798 281.1 curveto
-244.455 281.1 245.798 282.443 245.798 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-245.798 284.1 M
-245.798 285.757 244.455 287.1 242.798 287.1 curveto
-241.142 287.1 239.798 285.757 239.798 284.1 curveto
-239.798 282.443 241.142 281.1 242.798 281.1 curveto
-244.455 281.1 245.798 282.443 245.798 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-246.102 284.1 M
-246.102 285.757 244.759 287.1 243.102 287.1 curveto
-241.445 287.1 240.102 285.757 240.102 284.1 curveto
-240.102 282.443 241.445 281.1 243.102 281.1 curveto
-244.759 281.1 246.102 282.443 246.102 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-246.102 284.1 M
-246.102 285.757 244.759 287.1 243.102 287.1 curveto
-241.445 287.1 240.102 285.757 240.102 284.1 curveto
-240.102 282.443 241.445 281.1 243.102 281.1 curveto
-244.759 281.1 246.102 282.443 246.102 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-246.406 284.1 M
-246.406 285.757 245.063 287.1 243.406 287.1 curveto
-241.749 287.1 240.406 285.757 240.406 284.1 curveto
-240.406 282.443 241.749 281.1 243.406 281.1 curveto
-245.063 281.1 246.406 282.443 246.406 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-246.406 284.1 M
-246.406 285.757 245.063 287.1 243.406 287.1 curveto
-241.749 287.1 240.406 285.757 240.406 284.1 curveto
-240.406 282.443 241.749 281.1 243.406 281.1 curveto
-245.063 281.1 246.406 282.443 246.406 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-246.71 284.1 M
-246.71 285.757 245.366 287.1 243.71 287.1 curveto
-242.053 287.1 240.71 285.757 240.71 284.1 curveto
-240.71 282.443 242.053 281.1 243.71 281.1 curveto
-245.366 281.1 246.71 282.443 246.71 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-246.71 284.1 M
-246.71 285.757 245.366 287.1 243.71 287.1 curveto
-242.053 287.1 240.71 285.757 240.71 284.1 curveto
-240.71 282.443 242.053 281.1 243.71 281.1 curveto
-245.366 281.1 246.71 282.443 246.71 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-247.013 284.1 M
-247.013 285.757 245.67 287.1 244.013 287.1 curveto
-242.357 287.1 241.013 285.757 241.013 284.1 curveto
-241.013 282.443 242.357 281.1 244.013 281.1 curveto
-245.67 281.1 247.013 282.443 247.013 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-247.013 284.1 M
-247.013 285.757 245.67 287.1 244.013 287.1 curveto
-242.357 287.1 241.013 285.757 241.013 284.1 curveto
-241.013 282.443 242.357 281.1 244.013 281.1 curveto
-245.67 281.1 247.013 282.443 247.013 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-247.317 284.1 M
-247.317 285.757 245.974 287.1 244.317 287.1 curveto
-242.66 287.1 241.317 285.757 241.317 284.1 curveto
-241.317 282.443 242.66 281.1 244.317 281.1 curveto
-245.974 281.1 247.317 282.443 247.317 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-247.317 284.1 M
-247.317 285.757 245.974 287.1 244.317 287.1 curveto
-242.66 287.1 241.317 285.757 241.317 284.1 curveto
-241.317 282.443 242.66 281.1 244.317 281.1 curveto
-245.974 281.1 247.317 282.443 247.317 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-247.621 284.1 M
-247.621 285.757 246.278 287.1 244.621 287.1 curveto
-242.964 287.1 241.621 285.757 241.621 284.1 curveto
-241.621 282.443 242.964 281.1 244.621 281.1 curveto
-246.278 281.1 247.621 282.443 247.621 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-247.621 284.1 M
-247.621 285.757 246.278 287.1 244.621 287.1 curveto
-242.964 287.1 241.621 285.757 241.621 284.1 curveto
-241.621 282.443 242.964 281.1 244.621 281.1 curveto
-246.278 281.1 247.621 282.443 247.621 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-247.925 284.1 M
-247.925 285.757 246.581 287.1 244.925 287.1 curveto
-243.268 287.1 241.925 285.757 241.925 284.1 curveto
-241.925 282.443 243.268 281.1 244.925 281.1 curveto
-246.581 281.1 247.925 282.443 247.925 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-247.925 284.1 M
-247.925 285.757 246.581 287.1 244.925 287.1 curveto
-243.268 287.1 241.925 285.757 241.925 284.1 curveto
-241.925 282.443 243.268 281.1 244.925 281.1 curveto
-246.581 281.1 247.925 282.443 247.925 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-248.228 284.1 M
-248.228 285.757 246.885 287.1 245.228 287.1 curveto
-243.571 287.1 242.228 285.757 242.228 284.1 curveto
-242.228 282.443 243.571 281.1 245.228 281.1 curveto
-246.885 281.1 248.228 282.443 248.228 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-248.228 284.1 M
-248.228 285.757 246.885 287.1 245.228 287.1 curveto
-243.571 287.1 242.228 285.757 242.228 284.1 curveto
-242.228 282.443 243.571 281.1 245.228 281.1 curveto
-246.885 281.1 248.228 282.443 248.228 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-248.532 284.1 M
-248.532 285.757 247.189 287.1 245.532 287.1 curveto
-243.875 287.1 242.532 285.757 242.532 284.1 curveto
-242.532 282.443 243.875 281.1 245.532 281.1 curveto
-247.189 281.1 248.532 282.443 248.532 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-248.532 284.1 M
-248.532 285.757 247.189 287.1 245.532 287.1 curveto
-243.875 287.1 242.532 285.757 242.532 284.1 curveto
-242.532 282.443 243.875 281.1 245.532 281.1 curveto
-247.189 281.1 248.532 282.443 248.532 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-248.836 284.1 M
-248.836 285.757 247.493 287.1 245.836 287.1 curveto
-244.179 287.1 242.836 285.757 242.836 284.1 curveto
-242.836 282.443 244.179 281.1 245.836 281.1 curveto
-247.493 281.1 248.836 282.443 248.836 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-248.836 284.1 M
-248.836 285.757 247.493 287.1 245.836 287.1 curveto
-244.179 287.1 242.836 285.757 242.836 284.1 curveto
-242.836 282.443 244.179 281.1 245.836 281.1 curveto
-247.493 281.1 248.836 282.443 248.836 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-249.14 284.1 M
-249.14 285.757 247.796 287.1 246.14 287.1 curveto
-244.483 287.1 243.14 285.757 243.14 284.1 curveto
-243.14 282.443 244.483 281.1 246.14 281.1 curveto
-247.796 281.1 249.14 282.443 249.14 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-249.14 284.1 M
-249.14 285.757 247.796 287.1 246.14 287.1 curveto
-244.483 287.1 243.14 285.757 243.14 284.1 curveto
-243.14 282.443 244.483 281.1 246.14 281.1 curveto
-247.796 281.1 249.14 282.443 249.14 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-249.443 284.1 M
-249.443 285.757 248.1 287.1 246.443 287.1 curveto
-244.786 287.1 243.443 285.757 243.443 284.1 curveto
-243.443 282.443 244.786 281.1 246.443 281.1 curveto
-248.1 281.1 249.443 282.443 249.443 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-249.443 284.1 M
-249.443 285.757 248.1 287.1 246.443 287.1 curveto
-244.786 287.1 243.443 285.757 243.443 284.1 curveto
-243.443 282.443 244.786 281.1 246.443 281.1 curveto
-248.1 281.1 249.443 282.443 249.443 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-249.747 284.1 M
-249.747 285.757 248.404 287.1 246.747 287.1 curveto
-245.09 287.1 243.747 285.757 243.747 284.1 curveto
-243.747 282.443 245.09 281.1 246.747 281.1 curveto
-248.404 281.1 249.747 282.443 249.747 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-249.747 284.1 M
-249.747 285.757 248.404 287.1 246.747 287.1 curveto
-245.09 287.1 243.747 285.757 243.747 284.1 curveto
-243.747 282.443 245.09 281.1 246.747 281.1 curveto
-248.404 281.1 249.747 282.443 249.747 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-250.051 284.1 M
-250.051 285.757 248.708 287.1 247.051 287.1 curveto
-245.394 287.1 244.051 285.757 244.051 284.1 curveto
-244.051 282.443 245.394 281.1 247.051 281.1 curveto
-248.708 281.1 250.051 282.443 250.051 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-250.051 284.1 M
-250.051 285.757 248.708 287.1 247.051 287.1 curveto
-245.394 287.1 244.051 285.757 244.051 284.1 curveto
-244.051 282.443 245.394 281.1 247.051 281.1 curveto
-248.708 281.1 250.051 282.443 250.051 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-250.354 284.1 M
-250.354 285.757 249.011 287.1 247.354 287.1 curveto
-245.698 287.1 244.354 285.757 244.354 284.1 curveto
-244.354 282.443 245.698 281.1 247.354 281.1 curveto
-249.011 281.1 250.354 282.443 250.354 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-250.354 284.1 M
-250.354 285.757 249.011 287.1 247.354 287.1 curveto
-245.698 287.1 244.354 285.757 244.354 284.1 curveto
-244.354 282.443 245.698 281.1 247.354 281.1 curveto
-249.011 281.1 250.354 282.443 250.354 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-250.658 284.1 M
-250.658 285.757 249.315 287.1 247.658 287.1 curveto
-246.001 287.1 244.658 285.757 244.658 284.1 curveto
-244.658 282.443 246.001 281.1 247.658 281.1 curveto
-249.315 281.1 250.658 282.443 250.658 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-250.658 284.1 M
-250.658 285.757 249.315 287.1 247.658 287.1 curveto
-246.001 287.1 244.658 285.757 244.658 284.1 curveto
-244.658 282.443 246.001 281.1 247.658 281.1 curveto
-249.315 281.1 250.658 282.443 250.658 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-250.962 305.648 M
-250.962 307.305 249.619 308.648 247.962 308.648 curveto
-246.305 308.648 244.962 307.305 244.962 305.648 curveto
-244.962 303.992 246.305 302.648 247.962 302.648 curveto
-249.619 302.648 250.962 303.992 250.962 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-250.962 305.648 M
-250.962 307.305 249.619 308.648 247.962 308.648 curveto
-246.305 308.648 244.962 307.305 244.962 305.648 curveto
-244.962 303.992 246.305 302.648 247.962 302.648 curveto
-249.619 302.648 250.962 303.992 250.962 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-251.266 305.648 M
-251.266 307.305 249.923 308.648 248.266 308.648 curveto
-246.609 308.648 245.266 307.305 245.266 305.648 curveto
-245.266 303.992 246.609 302.648 248.266 302.648 curveto
-249.923 302.648 251.266 303.992 251.266 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-251.266 305.648 M
-251.266 307.305 249.923 308.648 248.266 308.648 curveto
-246.609 308.648 245.266 307.305 245.266 305.648 curveto
-245.266 303.992 246.609 302.648 248.266 302.648 curveto
-249.923 302.648 251.266 303.992 251.266 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-251.569 305.648 M
-251.569 307.305 250.226 308.648 248.569 308.648 curveto
-246.913 308.648 245.569 307.305 245.569 305.648 curveto
-245.569 303.992 246.913 302.648 248.569 302.648 curveto
-250.226 302.648 251.569 303.992 251.569 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-251.569 305.648 M
-251.569 307.305 250.226 308.648 248.569 308.648 curveto
-246.913 308.648 245.569 307.305 245.569 305.648 curveto
-245.569 303.992 246.913 302.648 248.569 302.648 curveto
-250.226 302.648 251.569 303.992 251.569 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-251.873 305.648 M
-251.873 307.305 250.53 308.648 248.873 308.648 curveto
-247.216 308.648 245.873 307.305 245.873 305.648 curveto
-245.873 303.992 247.216 302.648 248.873 302.648 curveto
-250.53 302.648 251.873 303.992 251.873 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-251.873 305.648 M
-251.873 307.305 250.53 308.648 248.873 308.648 curveto
-247.216 308.648 245.873 307.305 245.873 305.648 curveto
-245.873 303.992 247.216 302.648 248.873 302.648 curveto
-250.53 302.648 251.873 303.992 251.873 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-252.177 305.648 M
-252.177 307.305 250.834 308.648 249.177 308.648 curveto
-247.52 308.648 246.177 307.305 246.177 305.648 curveto
-246.177 303.992 247.52 302.648 249.177 302.648 curveto
-250.834 302.648 252.177 303.992 252.177 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-252.177 305.648 M
-252.177 307.305 250.834 308.648 249.177 308.648 curveto
-247.52 308.648 246.177 307.305 246.177 305.648 curveto
-246.177 303.992 247.52 302.648 249.177 302.648 curveto
-250.834 302.648 252.177 303.992 252.177 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-252.481 305.648 M
-252.481 307.305 251.137 308.648 249.481 308.648 curveto
-247.824 308.648 246.481 307.305 246.481 305.648 curveto
-246.481 303.992 247.824 302.648 249.481 302.648 curveto
-251.137 302.648 252.481 303.992 252.481 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-252.481 305.648 M
-252.481 307.305 251.137 308.648 249.481 308.648 curveto
-247.824 308.648 246.481 307.305 246.481 305.648 curveto
-246.481 303.992 247.824 302.648 249.481 302.648 curveto
-251.137 302.648 252.481 303.992 252.481 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-252.784 305.648 M
-252.784 307.305 251.441 308.648 249.784 308.648 curveto
-248.128 308.648 246.784 307.305 246.784 305.648 curveto
-246.784 303.992 248.128 302.648 249.784 302.648 curveto
-251.441 302.648 252.784 303.992 252.784 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-252.784 305.648 M
-252.784 307.305 251.441 308.648 249.784 308.648 curveto
-248.128 308.648 246.784 307.305 246.784 305.648 curveto
-246.784 303.992 248.128 302.648 249.784 302.648 curveto
-251.441 302.648 252.784 303.992 252.784 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-253.088 305.648 M
-253.088 307.305 251.745 308.648 250.088 308.648 curveto
-248.431 308.648 247.088 307.305 247.088 305.648 curveto
-247.088 303.992 248.431 302.648 250.088 302.648 curveto
-251.745 302.648 253.088 303.992 253.088 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-253.088 305.648 M
-253.088 307.305 251.745 308.648 250.088 308.648 curveto
-248.431 308.648 247.088 307.305 247.088 305.648 curveto
-247.088 303.992 248.431 302.648 250.088 302.648 curveto
-251.745 302.648 253.088 303.992 253.088 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-253.392 305.648 M
-253.392 307.305 252.049 308.648 250.392 308.648 curveto
-248.735 308.648 247.392 307.305 247.392 305.648 curveto
-247.392 303.992 248.735 302.648 250.392 302.648 curveto
-252.049 302.648 253.392 303.992 253.392 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-253.392 305.648 M
-253.392 307.305 252.049 308.648 250.392 308.648 curveto
-248.735 308.648 247.392 307.305 247.392 305.648 curveto
-247.392 303.992 248.735 302.648 250.392 302.648 curveto
-252.049 302.648 253.392 303.992 253.392 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-253.696 305.648 M
-253.696 307.305 252.352 308.648 250.696 308.648 curveto
-249.039 308.648 247.696 307.305 247.696 305.648 curveto
-247.696 303.992 249.039 302.648 250.696 302.648 curveto
-252.352 302.648 253.696 303.992 253.696 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-253.696 305.648 M
-253.696 307.305 252.352 308.648 250.696 308.648 curveto
-249.039 308.648 247.696 307.305 247.696 305.648 curveto
-247.696 303.992 249.039 302.648 250.696 302.648 curveto
-252.352 302.648 253.696 303.992 253.696 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-253.999 305.648 M
-253.999 307.305 252.656 308.648 250.999 308.648 curveto
-249.342 308.648 247.999 307.305 247.999 305.648 curveto
-247.999 303.992 249.342 302.648 250.999 302.648 curveto
-252.656 302.648 253.999 303.992 253.999 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-253.999 305.648 M
-253.999 307.305 252.656 308.648 250.999 308.648 curveto
-249.342 308.648 247.999 307.305 247.999 305.648 curveto
-247.999 303.992 249.342 302.648 250.999 302.648 curveto
-252.656 302.648 253.999 303.992 253.999 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-254.303 305.648 M
-254.303 307.305 252.96 308.648 251.303 308.648 curveto
-249.646 308.648 248.303 307.305 248.303 305.648 curveto
-248.303 303.992 249.646 302.648 251.303 302.648 curveto
-252.96 302.648 254.303 303.992 254.303 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-254.303 305.648 M
-254.303 307.305 252.96 308.648 251.303 308.648 curveto
-249.646 308.648 248.303 307.305 248.303 305.648 curveto
-248.303 303.992 249.646 302.648 251.303 302.648 curveto
-252.96 302.648 254.303 303.992 254.303 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-254.607 305.648 M
-254.607 307.305 253.264 308.648 251.607 308.648 curveto
-249.95 308.648 248.607 307.305 248.607 305.648 curveto
-248.607 303.992 249.95 302.648 251.607 302.648 curveto
-253.264 302.648 254.607 303.992 254.607 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-254.607 305.648 M
-254.607 307.305 253.264 308.648 251.607 308.648 curveto
-249.95 308.648 248.607 307.305 248.607 305.648 curveto
-248.607 303.992 249.95 302.648 251.607 302.648 curveto
-253.264 302.648 254.607 303.992 254.607 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-254.911 305.648 M
-254.911 307.305 253.567 308.648 251.911 308.648 curveto
-250.254 308.648 248.911 307.305 248.911 305.648 curveto
-248.911 303.992 250.254 302.648 251.911 302.648 curveto
-253.567 302.648 254.911 303.992 254.911 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-254.911 305.648 M
-254.911 307.305 253.567 308.648 251.911 308.648 curveto
-250.254 308.648 248.911 307.305 248.911 305.648 curveto
-248.911 303.992 250.254 302.648 251.911 302.648 curveto
-253.567 302.648 254.911 303.992 254.911 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-255.214 305.648 M
-255.214 307.305 253.871 308.648 252.214 308.648 curveto
-250.557 308.648 249.214 307.305 249.214 305.648 curveto
-249.214 303.992 250.557 302.648 252.214 302.648 curveto
-253.871 302.648 255.214 303.992 255.214 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-255.214 305.648 M
-255.214 307.305 253.871 308.648 252.214 308.648 curveto
-250.557 308.648 249.214 307.305 249.214 305.648 curveto
-249.214 303.992 250.557 302.648 252.214 302.648 curveto
-253.871 302.648 255.214 303.992 255.214 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-255.518 305.648 M
-255.518 307.305 254.175 308.648 252.518 308.648 curveto
-250.861 308.648 249.518 307.305 249.518 305.648 curveto
-249.518 303.992 250.861 302.648 252.518 302.648 curveto
-254.175 302.648 255.518 303.992 255.518 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-255.518 305.648 M
-255.518 307.305 254.175 308.648 252.518 308.648 curveto
-250.861 308.648 249.518 307.305 249.518 305.648 curveto
-249.518 303.992 250.861 302.648 252.518 302.648 curveto
-254.175 302.648 255.518 303.992 255.518 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-255.822 305.648 M
-255.822 307.305 254.479 308.648 252.822 308.648 curveto
-251.165 308.648 249.822 307.305 249.822 305.648 curveto
-249.822 303.992 251.165 302.648 252.822 302.648 curveto
-254.479 302.648 255.822 303.992 255.822 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-255.822 305.648 M
-255.822 307.305 254.479 308.648 252.822 308.648 curveto
-251.165 308.648 249.822 307.305 249.822 305.648 curveto
-249.822 303.992 251.165 302.648 252.822 302.648 curveto
-254.479 302.648 255.822 303.992 255.822 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-256.125 305.648 M
-256.125 307.305 254.782 308.648 253.125 308.648 curveto
-251.469 308.648 250.125 307.305 250.125 305.648 curveto
-250.125 303.992 251.469 302.648 253.125 302.648 curveto
-254.782 302.648 256.125 303.992 256.125 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-256.125 305.648 M
-256.125 307.305 254.782 308.648 253.125 308.648 curveto
-251.469 308.648 250.125 307.305 250.125 305.648 curveto
-250.125 303.992 251.469 302.648 253.125 302.648 curveto
-254.782 302.648 256.125 303.992 256.125 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-256.429 305.648 M
-256.429 307.305 255.086 308.648 253.429 308.648 curveto
-251.772 308.648 250.429 307.305 250.429 305.648 curveto
-250.429 303.992 251.772 302.648 253.429 302.648 curveto
-255.086 302.648 256.429 303.992 256.429 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-256.429 305.648 M
-256.429 307.305 255.086 308.648 253.429 308.648 curveto
-251.772 308.648 250.429 307.305 250.429 305.648 curveto
-250.429 303.992 251.772 302.648 253.429 302.648 curveto
-255.086 302.648 256.429 303.992 256.429 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-256.733 305.648 M
-256.733 307.305 255.39 308.648 253.733 308.648 curveto
-252.076 308.648 250.733 307.305 250.733 305.648 curveto
-250.733 303.992 252.076 302.648 253.733 302.648 curveto
-255.39 302.648 256.733 303.992 256.733 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-256.733 305.648 M
-256.733 307.305 255.39 308.648 253.733 308.648 curveto
-252.076 308.648 250.733 307.305 250.733 305.648 curveto
-250.733 303.992 252.076 302.648 253.733 302.648 curveto
-255.39 302.648 256.733 303.992 256.733 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-257.037 305.648 M
-257.037 307.305 255.694 308.648 254.037 308.648 curveto
-252.38 308.648 251.037 307.305 251.037 305.648 curveto
-251.037 303.992 252.38 302.648 254.037 302.648 curveto
-255.694 302.648 257.037 303.992 257.037 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-257.037 305.648 M
-257.037 307.305 255.694 308.648 254.037 308.648 curveto
-252.38 308.648 251.037 307.305 251.037 305.648 curveto
-251.037 303.992 252.38 302.648 254.037 302.648 curveto
-255.694 302.648 257.037 303.992 257.037 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-257.34 305.648 M
-257.34 307.305 255.997 308.648 254.34 308.648 curveto
-252.684 308.648 251.34 307.305 251.34 305.648 curveto
-251.34 303.992 252.684 302.648 254.34 302.648 curveto
-255.997 302.648 257.34 303.992 257.34 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-257.34 305.648 M
-257.34 307.305 255.997 308.648 254.34 308.648 curveto
-252.684 308.648 251.34 307.305 251.34 305.648 curveto
-251.34 303.992 252.684 302.648 254.34 302.648 curveto
-255.997 302.648 257.34 303.992 257.34 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-257.644 305.648 M
-257.644 307.305 256.301 308.648 254.644 308.648 curveto
-252.987 308.648 251.644 307.305 251.644 305.648 curveto
-251.644 303.992 252.987 302.648 254.644 302.648 curveto
-256.301 302.648 257.644 303.992 257.644 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-257.644 305.648 M
-257.644 307.305 256.301 308.648 254.644 308.648 curveto
-252.987 308.648 251.644 307.305 251.644 305.648 curveto
-251.644 303.992 252.987 302.648 254.644 302.648 curveto
-256.301 302.648 257.644 303.992 257.644 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-257.948 305.648 M
-257.948 307.305 256.605 308.648 254.948 308.648 curveto
-253.291 308.648 251.948 307.305 251.948 305.648 curveto
-251.948 303.992 253.291 302.648 254.948 302.648 curveto
-256.605 302.648 257.948 303.992 257.948 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-257.948 305.648 M
-257.948 307.305 256.605 308.648 254.948 308.648 curveto
-253.291 308.648 251.948 307.305 251.948 305.648 curveto
-251.948 303.992 253.291 302.648 254.948 302.648 curveto
-256.605 302.648 257.948 303.992 257.948 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-258.252 305.648 M
-258.252 307.305 256.908 308.648 255.252 308.648 curveto
-253.595 308.648 252.252 307.305 252.252 305.648 curveto
-252.252 303.992 253.595 302.648 255.252 302.648 curveto
-256.908 302.648 258.252 303.992 258.252 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-258.252 305.648 M
-258.252 307.305 256.908 308.648 255.252 308.648 curveto
-253.595 308.648 252.252 307.305 252.252 305.648 curveto
-252.252 303.992 253.595 302.648 255.252 302.648 curveto
-256.908 302.648 258.252 303.992 258.252 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-258.555 305.648 M
-258.555 307.305 257.212 308.648 255.555 308.648 curveto
-253.899 308.648 252.555 307.305 252.555 305.648 curveto
-252.555 303.992 253.899 302.648 255.555 302.648 curveto
-257.212 302.648 258.555 303.992 258.555 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-258.555 305.648 M
-258.555 307.305 257.212 308.648 255.555 308.648 curveto
-253.899 308.648 252.555 307.305 252.555 305.648 curveto
-252.555 303.992 253.899 302.648 255.555 302.648 curveto
-257.212 302.648 258.555 303.992 258.555 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-258.859 305.648 M
-258.859 307.305 257.516 308.648 255.859 308.648 curveto
-254.202 308.648 252.859 307.305 252.859 305.648 curveto
-252.859 303.992 254.202 302.648 255.859 302.648 curveto
-257.516 302.648 258.859 303.992 258.859 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-258.859 305.648 M
-258.859 307.305 257.516 308.648 255.859 308.648 curveto
-254.202 308.648 252.859 307.305 252.859 305.648 curveto
-252.859 303.992 254.202 302.648 255.859 302.648 curveto
-257.516 302.648 258.859 303.992 258.859 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-259.163 305.648 M
-259.163 307.305 257.82 308.648 256.163 308.648 curveto
-254.506 308.648 253.163 307.305 253.163 305.648 curveto
-253.163 303.992 254.506 302.648 256.163 302.648 curveto
-257.82 302.648 259.163 303.992 259.163 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-259.163 305.648 M
-259.163 307.305 257.82 308.648 256.163 308.648 curveto
-254.506 308.648 253.163 307.305 253.163 305.648 curveto
-253.163 303.992 254.506 302.648 256.163 302.648 curveto
-257.82 302.648 259.163 303.992 259.163 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-259.467 305.648 M
-259.467 307.305 258.123 308.648 256.467 308.648 curveto
-254.81 308.648 253.467 307.305 253.467 305.648 curveto
-253.467 303.992 254.81 302.648 256.467 302.648 curveto
-258.123 302.648 259.467 303.992 259.467 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-259.467 305.648 M
-259.467 307.305 258.123 308.648 256.467 308.648 curveto
-254.81 308.648 253.467 307.305 253.467 305.648 curveto
-253.467 303.992 254.81 302.648 256.467 302.648 curveto
-258.123 302.648 259.467 303.992 259.467 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-259.77 305.648 M
-259.77 307.305 258.427 308.648 256.77 308.648 curveto
-255.113 308.648 253.77 307.305 253.77 305.648 curveto
-253.77 303.992 255.113 302.648 256.77 302.648 curveto
-258.427 302.648 259.77 303.992 259.77 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-259.77 305.648 M
-259.77 307.305 258.427 308.648 256.77 308.648 curveto
-255.113 308.648 253.77 307.305 253.77 305.648 curveto
-253.77 303.992 255.113 302.648 256.77 302.648 curveto
-258.427 302.648 259.77 303.992 259.77 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-260.074 305.648 M
-260.074 307.305 258.731 308.648 257.074 308.648 curveto
-255.417 308.648 254.074 307.305 254.074 305.648 curveto
-254.074 303.992 255.417 302.648 257.074 302.648 curveto
-258.731 302.648 260.074 303.992 260.074 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-260.074 305.648 M
-260.074 307.305 258.731 308.648 257.074 308.648 curveto
-255.417 308.648 254.074 307.305 254.074 305.648 curveto
-254.074 303.992 255.417 302.648 257.074 302.648 curveto
-258.731 302.648 260.074 303.992 260.074 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-260.378 305.648 M
-260.378 307.305 259.035 308.648 257.378 308.648 curveto
-255.721 308.648 254.378 307.305 254.378 305.648 curveto
-254.378 303.992 255.721 302.648 257.378 302.648 curveto
-259.035 302.648 260.378 303.992 260.378 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-260.378 305.648 M
-260.378 307.305 259.035 308.648 257.378 308.648 curveto
-255.721 308.648 254.378 307.305 254.378 305.648 curveto
-254.378 303.992 255.721 302.648 257.378 302.648 curveto
-259.035 302.648 260.378 303.992 260.378 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-260.682 305.648 M
-260.682 307.305 259.338 308.648 257.682 308.648 curveto
-256.025 308.648 254.682 307.305 254.682 305.648 curveto
-254.682 303.992 256.025 302.648 257.682 302.648 curveto
-259.338 302.648 260.682 303.992 260.682 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-260.682 305.648 M
-260.682 307.305 259.338 308.648 257.682 308.648 curveto
-256.025 308.648 254.682 307.305 254.682 305.648 curveto
-254.682 303.992 256.025 302.648 257.682 302.648 curveto
-259.338 302.648 260.682 303.992 260.682 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-260.985 305.648 M
-260.985 307.305 259.642 308.648 257.985 308.648 curveto
-256.328 308.648 254.985 307.305 254.985 305.648 curveto
-254.985 303.992 256.328 302.648 257.985 302.648 curveto
-259.642 302.648 260.985 303.992 260.985 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-260.985 305.648 M
-260.985 307.305 259.642 308.648 257.985 308.648 curveto
-256.328 308.648 254.985 307.305 254.985 305.648 curveto
-254.985 303.992 256.328 302.648 257.985 302.648 curveto
-259.642 302.648 260.985 303.992 260.985 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-261.289 305.648 M
-261.289 307.305 259.946 308.648 258.289 308.648 curveto
-256.632 308.648 255.289 307.305 255.289 305.648 curveto
-255.289 303.992 256.632 302.648 258.289 302.648 curveto
-259.946 302.648 261.289 303.992 261.289 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-261.289 305.648 M
-261.289 307.305 259.946 308.648 258.289 308.648 curveto
-256.632 308.648 255.289 307.305 255.289 305.648 curveto
-255.289 303.992 256.632 302.648 258.289 302.648 curveto
-259.946 302.648 261.289 303.992 261.289 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-261.593 305.648 M
-261.593 307.305 260.25 308.648 258.593 308.648 curveto
-256.936 308.648 255.593 307.305 255.593 305.648 curveto
-255.593 303.992 256.936 302.648 258.593 302.648 curveto
-260.25 302.648 261.593 303.992 261.593 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-261.593 305.648 M
-261.593 307.305 260.25 308.648 258.593 308.648 curveto
-256.936 308.648 255.593 307.305 255.593 305.648 curveto
-255.593 303.992 256.936 302.648 258.593 302.648 curveto
-260.25 302.648 261.593 303.992 261.593 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-261.896 305.648 M
-261.896 307.305 260.553 308.648 258.896 308.648 curveto
-257.24 308.648 255.896 307.305 255.896 305.648 curveto
-255.896 303.992 257.24 302.648 258.896 302.648 curveto
-260.553 302.648 261.896 303.992 261.896 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-261.896 305.648 M
-261.896 307.305 260.553 308.648 258.896 308.648 curveto
-257.24 308.648 255.896 307.305 255.896 305.648 curveto
-255.896 303.992 257.24 302.648 258.896 302.648 curveto
-260.553 302.648 261.896 303.992 261.896 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-262.2 305.648 M
-262.2 307.305 260.857 308.648 259.2 308.648 curveto
-257.543 308.648 256.2 307.305 256.2 305.648 curveto
-256.2 303.992 257.543 302.648 259.2 302.648 curveto
-260.857 302.648 262.2 303.992 262.2 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-262.2 305.648 M
-262.2 307.305 260.857 308.648 259.2 308.648 curveto
-257.543 308.648 256.2 307.305 256.2 305.648 curveto
-256.2 303.992 257.543 302.648 259.2 302.648 curveto
-260.857 302.648 262.2 303.992 262.2 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-262.504 305.648 M
-262.504 307.305 261.161 308.648 259.504 308.648 curveto
-257.847 308.648 256.504 307.305 256.504 305.648 curveto
-256.504 303.992 257.847 302.648 259.504 302.648 curveto
-261.161 302.648 262.504 303.992 262.504 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-262.504 305.648 M
-262.504 307.305 261.161 308.648 259.504 308.648 curveto
-257.847 308.648 256.504 307.305 256.504 305.648 curveto
-256.504 303.992 257.847 302.648 259.504 302.648 curveto
-261.161 302.648 262.504 303.992 262.504 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-262.808 305.648 M
-262.808 307.305 261.465 308.648 259.808 308.648 curveto
-258.151 308.648 256.808 307.305 256.808 305.648 curveto
-256.808 303.992 258.151 302.648 259.808 302.648 curveto
-261.465 302.648 262.808 303.992 262.808 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-262.808 305.648 M
-262.808 307.305 261.465 308.648 259.808 308.648 curveto
-258.151 308.648 256.808 307.305 256.808 305.648 curveto
-256.808 303.992 258.151 302.648 259.808 302.648 curveto
-261.465 302.648 262.808 303.992 262.808 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-263.111 241.004 M
-263.111 242.661 261.768 244.004 260.111 244.004 curveto
-258.455 244.004 257.111 242.661 257.111 241.004 curveto
-257.111 239.347 258.455 238.004 260.111 238.004 curveto
-261.768 238.004 263.111 239.347 263.111 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-263.111 241.004 M
-263.111 242.661 261.768 244.004 260.111 244.004 curveto
-258.455 244.004 257.111 242.661 257.111 241.004 curveto
-257.111 239.347 258.455 238.004 260.111 238.004 curveto
-261.768 238.004 263.111 239.347 263.111 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-263.415 241.004 M
-263.415 242.661 262.072 244.004 260.415 244.004 curveto
-258.758 244.004 257.415 242.661 257.415 241.004 curveto
-257.415 239.347 258.758 238.004 260.415 238.004 curveto
-262.072 238.004 263.415 239.347 263.415 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-263.415 241.004 M
-263.415 242.661 262.072 244.004 260.415 244.004 curveto
-258.758 244.004 257.415 242.661 257.415 241.004 curveto
-257.415 239.347 258.758 238.004 260.415 238.004 curveto
-262.072 238.004 263.415 239.347 263.415 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-263.719 241.004 M
-263.719 242.661 262.376 244.004 260.719 244.004 curveto
-259.062 244.004 257.719 242.661 257.719 241.004 curveto
-257.719 239.347 259.062 238.004 260.719 238.004 curveto
-262.376 238.004 263.719 239.347 263.719 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-263.719 241.004 M
-263.719 242.661 262.376 244.004 260.719 244.004 curveto
-259.062 244.004 257.719 242.661 257.719 241.004 curveto
-257.719 239.347 259.062 238.004 260.719 238.004 curveto
-262.376 238.004 263.719 239.347 263.719 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-264.023 241.004 M
-264.023 242.661 262.679 244.004 261.023 244.004 curveto
-259.366 244.004 258.023 242.661 258.023 241.004 curveto
-258.023 239.347 259.366 238.004 261.023 238.004 curveto
-262.679 238.004 264.023 239.347 264.023 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-264.023 241.004 M
-264.023 242.661 262.679 244.004 261.023 244.004 curveto
-259.366 244.004 258.023 242.661 258.023 241.004 curveto
-258.023 239.347 259.366 238.004 261.023 238.004 curveto
-262.679 238.004 264.023 239.347 264.023 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-264.326 154.811 M
-264.326 156.468 262.983 157.811 261.326 157.811 curveto
-259.67 157.811 258.326 156.468 258.326 154.811 curveto
-258.326 153.154 259.67 151.811 261.326 151.811 curveto
-262.983 151.811 264.326 153.154 264.326 154.811 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-264.326 154.811 M
-264.326 156.468 262.983 157.811 261.326 157.811 curveto
-259.67 157.811 258.326 156.468 258.326 154.811 curveto
-258.326 153.154 259.67 151.811 261.326 151.811 curveto
-262.983 151.811 264.326 153.154 264.326 154.811 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-264.63 154.811 M
-264.63 156.468 263.287 157.811 261.63 157.811 curveto
-259.973 157.811 258.63 156.468 258.63 154.811 curveto
-258.63 153.154 259.973 151.811 261.63 151.811 curveto
-263.287 151.811 264.63 153.154 264.63 154.811 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-264.63 154.811 M
-264.63 156.468 263.287 157.811 261.63 157.811 curveto
-259.973 157.811 258.63 156.468 258.63 154.811 curveto
-258.63 153.154 259.973 151.811 261.63 151.811 curveto
-263.287 151.811 264.63 153.154 264.63 154.811 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-264.934 176.359 M
-264.934 178.016 263.591 179.359 261.934 179.359 curveto
-260.277 179.359 258.934 178.016 258.934 176.359 curveto
-258.934 174.702 260.277 173.359 261.934 173.359 curveto
-263.591 173.359 264.934 174.702 264.934 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-264.934 176.359 M
-264.934 178.016 263.591 179.359 261.934 179.359 curveto
-260.277 179.359 258.934 178.016 258.934 176.359 curveto
-258.934 174.702 260.277 173.359 261.934 173.359 curveto
-263.591 173.359 264.934 174.702 264.934 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-265.238 176.359 M
-265.238 178.016 263.894 179.359 262.238 179.359 curveto
-260.581 179.359 259.238 178.016 259.238 176.359 curveto
-259.238 174.702 260.581 173.359 262.238 173.359 curveto
-263.894 173.359 265.238 174.702 265.238 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-265.238 176.359 M
-265.238 178.016 263.894 179.359 262.238 179.359 curveto
-260.581 179.359 259.238 178.016 259.238 176.359 curveto
-259.238 174.702 260.581 173.359 262.238 173.359 curveto
-263.894 173.359 265.238 174.702 265.238 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-265.541 176.359 M
-265.541 178.016 264.198 179.359 262.541 179.359 curveto
-260.884 179.359 259.541 178.016 259.541 176.359 curveto
-259.541 174.702 260.884 173.359 262.541 173.359 curveto
-264.198 173.359 265.541 174.702 265.541 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-265.541 176.359 M
-265.541 178.016 264.198 179.359 262.541 179.359 curveto
-260.884 179.359 259.541 178.016 259.541 176.359 curveto
-259.541 174.702 260.884 173.359 262.541 173.359 curveto
-264.198 173.359 265.541 174.702 265.541 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-265.845 176.359 M
-265.845 178.016 264.502 179.359 262.845 179.359 curveto
-261.188 179.359 259.845 178.016 259.845 176.359 curveto
-259.845 174.702 261.188 173.359 262.845 173.359 curveto
-264.502 173.359 265.845 174.702 265.845 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-265.845 176.359 M
-265.845 178.016 264.502 179.359 262.845 179.359 curveto
-261.188 179.359 259.845 178.016 259.845 176.359 curveto
-259.845 174.702 261.188 173.359 262.845 173.359 curveto
-264.502 173.359 265.845 174.702 265.845 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-266.149 176.359 M
-266.149 178.016 264.806 179.359 263.149 179.359 curveto
-261.492 179.359 260.149 178.016 260.149 176.359 curveto
-260.149 174.702 261.492 173.359 263.149 173.359 curveto
-264.806 173.359 266.149 174.702 266.149 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-266.149 176.359 M
-266.149 178.016 264.806 179.359 263.149 179.359 curveto
-261.492 179.359 260.149 178.016 260.149 176.359 curveto
-260.149 174.702 261.492 173.359 263.149 173.359 curveto
-264.806 173.359 266.149 174.702 266.149 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-266.453 176.359 M
-266.453 178.016 265.109 179.359 263.453 179.359 curveto
-261.796 179.359 260.453 178.016 260.453 176.359 curveto
-260.453 174.702 261.796 173.359 263.453 173.359 curveto
-265.109 173.359 266.453 174.702 266.453 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-266.453 176.359 M
-266.453 178.016 265.109 179.359 263.453 179.359 curveto
-261.796 179.359 260.453 178.016 260.453 176.359 curveto
-260.453 174.702 261.796 173.359 263.453 173.359 curveto
-265.109 173.359 266.453 174.702 266.453 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-266.756 176.359 M
-266.756 178.016 265.413 179.359 263.756 179.359 curveto
-262.099 179.359 260.756 178.016 260.756 176.359 curveto
-260.756 174.702 262.099 173.359 263.756 173.359 curveto
-265.413 173.359 266.756 174.702 266.756 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-266.756 176.359 M
-266.756 178.016 265.413 179.359 263.756 179.359 curveto
-262.099 179.359 260.756 178.016 260.756 176.359 curveto
-260.756 174.702 262.099 173.359 263.756 173.359 curveto
-265.413 173.359 266.756 174.702 266.756 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-267.06 176.359 M
-267.06 178.016 265.717 179.359 264.06 179.359 curveto
-262.403 179.359 261.06 178.016 261.06 176.359 curveto
-261.06 174.702 262.403 173.359 264.06 173.359 curveto
-265.717 173.359 267.06 174.702 267.06 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-267.06 176.359 M
-267.06 178.016 265.717 179.359 264.06 179.359 curveto
-262.403 179.359 261.06 178.016 261.06 176.359 curveto
-261.06 174.702 262.403 173.359 264.06 173.359 curveto
-265.717 173.359 267.06 174.702 267.06 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-267.364 176.359 M
-267.364 178.016 266.021 179.359 264.364 179.359 curveto
-262.707 179.359 261.364 178.016 261.364 176.359 curveto
-261.364 174.702 262.707 173.359 264.364 173.359 curveto
-266.021 173.359 267.364 174.702 267.364 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-267.364 176.359 M
-267.364 178.016 266.021 179.359 264.364 179.359 curveto
-262.707 179.359 261.364 178.016 261.364 176.359 curveto
-261.364 174.702 262.707 173.359 264.364 173.359 curveto
-266.021 173.359 267.364 174.702 267.364 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-267.667 176.359 M
-267.667 178.016 266.324 179.359 264.667 179.359 curveto
-263.011 179.359 261.667 178.016 261.667 176.359 curveto
-261.667 174.702 263.011 173.359 264.667 173.359 curveto
-266.324 173.359 267.667 174.702 267.667 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-267.667 176.359 M
-267.667 178.016 266.324 179.359 264.667 179.359 curveto
-263.011 179.359 261.667 178.016 261.667 176.359 curveto
-261.667 174.702 263.011 173.359 264.667 173.359 curveto
-266.324 173.359 267.667 174.702 267.667 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-267.971 176.359 M
-267.971 178.016 266.628 179.359 264.971 179.359 curveto
-263.314 179.359 261.971 178.016 261.971 176.359 curveto
-261.971 174.702 263.314 173.359 264.971 173.359 curveto
-266.628 173.359 267.971 174.702 267.971 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-267.971 176.359 M
-267.971 178.016 266.628 179.359 264.971 179.359 curveto
-263.314 179.359 261.971 178.016 261.971 176.359 curveto
-261.971 174.702 263.314 173.359 264.971 173.359 curveto
-266.628 173.359 267.971 174.702 267.971 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-268.275 176.359 M
-268.275 178.016 266.932 179.359 265.275 179.359 curveto
-263.618 179.359 262.275 178.016 262.275 176.359 curveto
-262.275 174.702 263.618 173.359 265.275 173.359 curveto
-266.932 173.359 268.275 174.702 268.275 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-268.275 176.359 M
-268.275 178.016 266.932 179.359 265.275 179.359 curveto
-263.618 179.359 262.275 178.016 262.275 176.359 curveto
-262.275 174.702 263.618 173.359 265.275 173.359 curveto
-266.932 173.359 268.275 174.702 268.275 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-268.579 176.359 M
-268.579 178.016 267.236 179.359 265.579 179.359 curveto
-263.922 179.359 262.579 178.016 262.579 176.359 curveto
-262.579 174.702 263.922 173.359 265.579 173.359 curveto
-267.236 173.359 268.579 174.702 268.579 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-268.579 176.359 M
-268.579 178.016 267.236 179.359 265.579 179.359 curveto
-263.922 179.359 262.579 178.016 262.579 176.359 curveto
-262.579 174.702 263.922 173.359 265.579 173.359 curveto
-267.236 173.359 268.579 174.702 268.579 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-268.882 176.359 M
-268.882 178.016 267.539 179.359 265.882 179.359 curveto
-264.226 179.359 262.882 178.016 262.882 176.359 curveto
-262.882 174.702 264.226 173.359 265.882 173.359 curveto
-267.539 173.359 268.882 174.702 268.882 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-268.882 176.359 M
-268.882 178.016 267.539 179.359 265.882 179.359 curveto
-264.226 179.359 262.882 178.016 262.882 176.359 curveto
-262.882 174.702 264.226 173.359 265.882 173.359 curveto
-267.539 173.359 268.882 174.702 268.882 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-269.186 176.359 M
-269.186 178.016 267.843 179.359 266.186 179.359 curveto
-264.529 179.359 263.186 178.016 263.186 176.359 curveto
-263.186 174.702 264.529 173.359 266.186 173.359 curveto
-267.843 173.359 269.186 174.702 269.186 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-269.186 176.359 M
-269.186 178.016 267.843 179.359 266.186 179.359 curveto
-264.529 179.359 263.186 178.016 263.186 176.359 curveto
-263.186 174.702 264.529 173.359 266.186 173.359 curveto
-267.843 173.359 269.186 174.702 269.186 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-269.49 176.359 M
-269.49 178.016 268.147 179.359 266.49 179.359 curveto
-264.833 179.359 263.49 178.016 263.49 176.359 curveto
-263.49 174.702 264.833 173.359 266.49 173.359 curveto
-268.147 173.359 269.49 174.702 269.49 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-269.49 176.359 M
-269.49 178.016 268.147 179.359 266.49 179.359 curveto
-264.833 179.359 263.49 178.016 263.49 176.359 curveto
-263.49 174.702 264.833 173.359 266.49 173.359 curveto
-268.147 173.359 269.49 174.702 269.49 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-269.794 176.359 M
-269.794 178.016 268.451 179.359 266.794 179.359 curveto
-265.137 179.359 263.794 178.016 263.794 176.359 curveto
-263.794 174.702 265.137 173.359 266.794 173.359 curveto
-268.451 173.359 269.794 174.702 269.794 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-269.794 176.359 M
-269.794 178.016 268.451 179.359 266.794 179.359 curveto
-265.137 179.359 263.794 178.016 263.794 176.359 curveto
-263.794 174.702 265.137 173.359 266.794 173.359 curveto
-268.451 173.359 269.794 174.702 269.794 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-270.097 176.359 M
-270.097 178.016 268.754 179.359 267.097 179.359 curveto
-265.441 179.359 264.097 178.016 264.097 176.359 curveto
-264.097 174.702 265.441 173.359 267.097 173.359 curveto
-268.754 173.359 270.097 174.702 270.097 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-270.097 176.359 M
-270.097 178.016 268.754 179.359 267.097 179.359 curveto
-265.441 179.359 264.097 178.016 264.097 176.359 curveto
-264.097 174.702 265.441 173.359 267.097 173.359 curveto
-268.754 173.359 270.097 174.702 270.097 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-270.401 176.359 M
-270.401 178.016 269.058 179.359 267.401 179.359 curveto
-265.744 179.359 264.401 178.016 264.401 176.359 curveto
-264.401 174.702 265.744 173.359 267.401 173.359 curveto
-269.058 173.359 270.401 174.702 270.401 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-270.401 176.359 M
-270.401 178.016 269.058 179.359 267.401 179.359 curveto
-265.744 179.359 264.401 178.016 264.401 176.359 curveto
-264.401 174.702 265.744 173.359 267.401 173.359 curveto
-269.058 173.359 270.401 174.702 270.401 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-270.705 176.359 M
-270.705 178.016 269.362 179.359 267.705 179.359 curveto
-266.048 179.359 264.705 178.016 264.705 176.359 curveto
-264.705 174.702 266.048 173.359 267.705 173.359 curveto
-269.362 173.359 270.705 174.702 270.705 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-270.705 176.359 M
-270.705 178.016 269.362 179.359 267.705 179.359 curveto
-266.048 179.359 264.705 178.016 264.705 176.359 curveto
-264.705 174.702 266.048 173.359 267.705 173.359 curveto
-269.362 173.359 270.705 174.702 270.705 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-271.009 176.359 M
-271.009 178.016 269.665 179.359 268.009 179.359 curveto
-266.352 179.359 265.009 178.016 265.009 176.359 curveto
-265.009 174.702 266.352 173.359 268.009 173.359 curveto
-269.665 173.359 271.009 174.702 271.009 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-271.009 176.359 M
-271.009 178.016 269.665 179.359 268.009 179.359 curveto
-266.352 179.359 265.009 178.016 265.009 176.359 curveto
-265.009 174.702 266.352 173.359 268.009 173.359 curveto
-269.665 173.359 271.009 174.702 271.009 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-271.312 176.359 M
-271.312 178.016 269.969 179.359 268.312 179.359 curveto
-266.655 179.359 265.312 178.016 265.312 176.359 curveto
-265.312 174.702 266.655 173.359 268.312 173.359 curveto
-269.969 173.359 271.312 174.702 271.312 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-271.312 176.359 M
-271.312 178.016 269.969 179.359 268.312 179.359 curveto
-266.655 179.359 265.312 178.016 265.312 176.359 curveto
-265.312 174.702 266.655 173.359 268.312 173.359 curveto
-269.969 173.359 271.312 174.702 271.312 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-271.616 176.359 M
-271.616 178.016 270.273 179.359 268.616 179.359 curveto
-266.959 179.359 265.616 178.016 265.616 176.359 curveto
-265.616 174.702 266.959 173.359 268.616 173.359 curveto
-270.273 173.359 271.616 174.702 271.616 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-271.616 176.359 M
-271.616 178.016 270.273 179.359 268.616 179.359 curveto
-266.959 179.359 265.616 178.016 265.616 176.359 curveto
-265.616 174.702 266.959 173.359 268.616 173.359 curveto
-270.273 173.359 271.616 174.702 271.616 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-271.92 176.359 M
-271.92 178.016 270.577 179.359 268.92 179.359 curveto
-267.263 179.359 265.92 178.016 265.92 176.359 curveto
-265.92 174.702 267.263 173.359 268.92 173.359 curveto
-270.577 173.359 271.92 174.702 271.92 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-271.92 176.359 M
-271.92 178.016 270.577 179.359 268.92 179.359 curveto
-267.263 179.359 265.92 178.016 265.92 176.359 curveto
-265.92 174.702 267.263 173.359 268.92 173.359 curveto
-270.577 173.359 271.92 174.702 271.92 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-272.224 176.359 M
-272.224 178.016 270.88 179.359 269.224 179.359 curveto
-267.567 179.359 266.224 178.016 266.224 176.359 curveto
-266.224 174.702 267.567 173.359 269.224 173.359 curveto
-270.88 173.359 272.224 174.702 272.224 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-272.224 176.359 M
-272.224 178.016 270.88 179.359 269.224 179.359 curveto
-267.567 179.359 266.224 178.016 266.224 176.359 curveto
-266.224 174.702 267.567 173.359 269.224 173.359 curveto
-270.88 173.359 272.224 174.702 272.224 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-272.527 176.359 M
-272.527 178.016 271.184 179.359 269.527 179.359 curveto
-267.87 179.359 266.527 178.016 266.527 176.359 curveto
-266.527 174.702 267.87 173.359 269.527 173.359 curveto
-271.184 173.359 272.527 174.702 272.527 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-272.527 176.359 M
-272.527 178.016 271.184 179.359 269.527 179.359 curveto
-267.87 179.359 266.527 178.016 266.527 176.359 curveto
-266.527 174.702 267.87 173.359 269.527 173.359 curveto
-271.184 173.359 272.527 174.702 272.527 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-272.831 176.359 M
-272.831 178.016 271.488 179.359 269.831 179.359 curveto
-268.174 179.359 266.831 178.016 266.831 176.359 curveto
-266.831 174.702 268.174 173.359 269.831 173.359 curveto
-271.488 173.359 272.831 174.702 272.831 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-272.831 176.359 M
-272.831 178.016 271.488 179.359 269.831 179.359 curveto
-268.174 179.359 266.831 178.016 266.831 176.359 curveto
-266.831 174.702 268.174 173.359 269.831 173.359 curveto
-271.488 173.359 272.831 174.702 272.831 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-273.135 176.359 M
-273.135 178.016 271.792 179.359 270.135 179.359 curveto
-268.478 179.359 267.135 178.016 267.135 176.359 curveto
-267.135 174.702 268.478 173.359 270.135 173.359 curveto
-271.792 173.359 273.135 174.702 273.135 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-273.135 176.359 M
-273.135 178.016 271.792 179.359 270.135 179.359 curveto
-268.478 179.359 267.135 178.016 267.135 176.359 curveto
-267.135 174.702 268.478 173.359 270.135 173.359 curveto
-271.792 173.359 273.135 174.702 273.135 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-273.438 176.359 M
-273.438 178.016 272.095 179.359 270.438 179.359 curveto
-268.782 179.359 267.438 178.016 267.438 176.359 curveto
-267.438 174.702 268.782 173.359 270.438 173.359 curveto
-272.095 173.359 273.438 174.702 273.438 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-273.438 176.359 M
-273.438 178.016 272.095 179.359 270.438 179.359 curveto
-268.782 179.359 267.438 178.016 267.438 176.359 curveto
-267.438 174.702 268.782 173.359 270.438 173.359 curveto
-272.095 173.359 273.438 174.702 273.438 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-273.742 197.907 M
-273.742 199.564 272.399 200.907 270.742 200.907 curveto
-269.085 200.907 267.742 199.564 267.742 197.907 curveto
-267.742 196.25 269.085 194.907 270.742 194.907 curveto
-272.399 194.907 273.742 196.25 273.742 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-273.742 197.907 M
-273.742 199.564 272.399 200.907 270.742 200.907 curveto
-269.085 200.907 267.742 199.564 267.742 197.907 curveto
-267.742 196.25 269.085 194.907 270.742 194.907 curveto
-272.399 194.907 273.742 196.25 273.742 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-274.046 219.455 M
-274.046 221.112 272.703 222.455 271.046 222.455 curveto
-269.389 222.455 268.046 221.112 268.046 219.455 curveto
-268.046 217.799 269.389 216.455 271.046 216.455 curveto
-272.703 216.455 274.046 217.799 274.046 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-274.046 219.455 M
-274.046 221.112 272.703 222.455 271.046 222.455 curveto
-269.389 222.455 268.046 221.112 268.046 219.455 curveto
-268.046 217.799 269.389 216.455 271.046 216.455 curveto
-272.703 216.455 274.046 217.799 274.046 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-274.35 219.455 M
-274.35 221.112 273.007 222.455 271.35 222.455 curveto
-269.693 222.455 268.35 221.112 268.35 219.455 curveto
-268.35 217.799 269.693 216.455 271.35 216.455 curveto
-273.007 216.455 274.35 217.799 274.35 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-274.35 219.455 M
-274.35 221.112 273.007 222.455 271.35 222.455 curveto
-269.693 222.455 268.35 221.112 268.35 219.455 curveto
-268.35 217.799 269.693 216.455 271.35 216.455 curveto
-273.007 216.455 274.35 217.799 274.35 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-274.653 219.455 M
-274.653 221.112 273.31 222.455 271.653 222.455 curveto
-269.997 222.455 268.653 221.112 268.653 219.455 curveto
-268.653 217.799 269.997 216.455 271.653 216.455 curveto
-273.31 216.455 274.653 217.799 274.653 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-274.653 219.455 M
-274.653 221.112 273.31 222.455 271.653 222.455 curveto
-269.997 222.455 268.653 221.112 268.653 219.455 curveto
-268.653 217.799 269.997 216.455 271.653 216.455 curveto
-273.31 216.455 274.653 217.799 274.653 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-274.957 241.004 M
-274.957 242.661 273.614 244.004 271.957 244.004 curveto
-270.3 244.004 268.957 242.661 268.957 241.004 curveto
-268.957 239.347 270.3 238.004 271.957 238.004 curveto
-273.614 238.004 274.957 239.347 274.957 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-274.957 241.004 M
-274.957 242.661 273.614 244.004 271.957 244.004 curveto
-270.3 244.004 268.957 242.661 268.957 241.004 curveto
-268.957 239.347 270.3 238.004 271.957 238.004 curveto
-273.614 238.004 274.957 239.347 274.957 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-275.261 262.552 M
-275.261 264.209 273.918 265.552 272.261 265.552 curveto
-270.604 265.552 269.261 264.209 269.261 262.552 curveto
-269.261 260.895 270.604 259.552 272.261 259.552 curveto
-273.918 259.552 275.261 260.895 275.261 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-275.261 262.552 M
-275.261 264.209 273.918 265.552 272.261 265.552 curveto
-270.604 265.552 269.261 264.209 269.261 262.552 curveto
-269.261 260.895 270.604 259.552 272.261 259.552 curveto
-273.918 259.552 275.261 260.895 275.261 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-275.565 262.552 M
-275.565 264.209 274.222 265.552 272.565 265.552 curveto
-270.908 265.552 269.565 264.209 269.565 262.552 curveto
-269.565 260.895 270.908 259.552 272.565 259.552 curveto
-274.222 259.552 275.565 260.895 275.565 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-275.565 262.552 M
-275.565 264.209 274.222 265.552 272.565 265.552 curveto
-270.908 265.552 269.565 264.209 269.565 262.552 curveto
-269.565 260.895 270.908 259.552 272.565 259.552 curveto
-274.222 259.552 275.565 260.895 275.565 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-275.868 262.552 M
-275.868 264.209 274.525 265.552 272.868 265.552 curveto
-271.212 265.552 269.868 264.209 269.868 262.552 curveto
-269.868 260.895 271.212 259.552 272.868 259.552 curveto
-274.525 259.552 275.868 260.895 275.868 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-275.868 262.552 M
-275.868 264.209 274.525 265.552 272.868 265.552 curveto
-271.212 265.552 269.868 264.209 269.868 262.552 curveto
-269.868 260.895 271.212 259.552 272.868 259.552 curveto
-274.525 259.552 275.868 260.895 275.868 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-276.172 262.552 M
-276.172 264.209 274.829 265.552 273.172 265.552 curveto
-271.515 265.552 270.172 264.209 270.172 262.552 curveto
-270.172 260.895 271.515 259.552 273.172 259.552 curveto
-274.829 259.552 276.172 260.895 276.172 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-276.172 262.552 M
-276.172 264.209 274.829 265.552 273.172 265.552 curveto
-271.515 265.552 270.172 264.209 270.172 262.552 curveto
-270.172 260.895 271.515 259.552 273.172 259.552 curveto
-274.829 259.552 276.172 260.895 276.172 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-276.476 262.552 M
-276.476 264.209 275.133 265.552 273.476 265.552 curveto
-271.819 265.552 270.476 264.209 270.476 262.552 curveto
-270.476 260.895 271.819 259.552 273.476 259.552 curveto
-275.133 259.552 276.476 260.895 276.476 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-276.476 262.552 M
-276.476 264.209 275.133 265.552 273.476 265.552 curveto
-271.819 265.552 270.476 264.209 270.476 262.552 curveto
-270.476 260.895 271.819 259.552 273.476 259.552 curveto
-275.133 259.552 276.476 260.895 276.476 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-276.78 262.552 M
-276.78 264.209 275.436 265.552 273.78 265.552 curveto
-272.123 265.552 270.78 264.209 270.78 262.552 curveto
-270.78 260.895 272.123 259.552 273.78 259.552 curveto
-275.436 259.552 276.78 260.895 276.78 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-276.78 262.552 M
-276.78 264.209 275.436 265.552 273.78 265.552 curveto
-272.123 265.552 270.78 264.209 270.78 262.552 curveto
-270.78 260.895 272.123 259.552 273.78 259.552 curveto
-275.436 259.552 276.78 260.895 276.78 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-277.083 262.552 M
-277.083 264.209 275.74 265.552 274.083 265.552 curveto
-272.426 265.552 271.083 264.209 271.083 262.552 curveto
-271.083 260.895 272.426 259.552 274.083 259.552 curveto
-275.74 259.552 277.083 260.895 277.083 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-277.083 262.552 M
-277.083 264.209 275.74 265.552 274.083 265.552 curveto
-272.426 265.552 271.083 264.209 271.083 262.552 curveto
-271.083 260.895 272.426 259.552 274.083 259.552 curveto
-275.74 259.552 277.083 260.895 277.083 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-277.387 262.552 M
-277.387 264.209 276.044 265.552 274.387 265.552 curveto
-272.73 265.552 271.387 264.209 271.387 262.552 curveto
-271.387 260.895 272.73 259.552 274.387 259.552 curveto
-276.044 259.552 277.387 260.895 277.387 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-277.387 262.552 M
-277.387 264.209 276.044 265.552 274.387 265.552 curveto
-272.73 265.552 271.387 264.209 271.387 262.552 curveto
-271.387 260.895 272.73 259.552 274.387 259.552 curveto
-276.044 259.552 277.387 260.895 277.387 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-277.691 262.552 M
-277.691 264.209 276.348 265.552 274.691 265.552 curveto
-273.034 265.552 271.691 264.209 271.691 262.552 curveto
-271.691 260.895 273.034 259.552 274.691 259.552 curveto
-276.348 259.552 277.691 260.895 277.691 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-277.691 262.552 M
-277.691 264.209 276.348 265.552 274.691 265.552 curveto
-273.034 265.552 271.691 264.209 271.691 262.552 curveto
-271.691 260.895 273.034 259.552 274.691 259.552 curveto
-276.348 259.552 277.691 260.895 277.691 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-277.995 262.552 M
-277.995 264.209 276.651 265.552 274.995 265.552 curveto
-273.338 265.552 271.995 264.209 271.995 262.552 curveto
-271.995 260.895 273.338 259.552 274.995 259.552 curveto
-276.651 259.552 277.995 260.895 277.995 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-277.995 262.552 M
-277.995 264.209 276.651 265.552 274.995 265.552 curveto
-273.338 265.552 271.995 264.209 271.995 262.552 curveto
-271.995 260.895 273.338 259.552 274.995 259.552 curveto
-276.651 259.552 277.995 260.895 277.995 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-278.298 262.552 M
-278.298 264.209 276.955 265.552 275.298 265.552 curveto
-273.641 265.552 272.298 264.209 272.298 262.552 curveto
-272.298 260.895 273.641 259.552 275.298 259.552 curveto
-276.955 259.552 278.298 260.895 278.298 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-278.298 262.552 M
-278.298 264.209 276.955 265.552 275.298 265.552 curveto
-273.641 265.552 272.298 264.209 272.298 262.552 curveto
-272.298 260.895 273.641 259.552 275.298 259.552 curveto
-276.955 259.552 278.298 260.895 278.298 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-278.602 262.552 M
-278.602 264.209 277.259 265.552 275.602 265.552 curveto
-273.945 265.552 272.602 264.209 272.602 262.552 curveto
-272.602 260.895 273.945 259.552 275.602 259.552 curveto
-277.259 259.552 278.602 260.895 278.602 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-278.602 262.552 M
-278.602 264.209 277.259 265.552 275.602 265.552 curveto
-273.945 265.552 272.602 264.209 272.602 262.552 curveto
-272.602 260.895 273.945 259.552 275.602 259.552 curveto
-277.259 259.552 278.602 260.895 278.602 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-278.906 262.552 M
-278.906 264.209 277.563 265.552 275.906 265.552 curveto
-274.249 265.552 272.906 264.209 272.906 262.552 curveto
-272.906 260.895 274.249 259.552 275.906 259.552 curveto
-277.563 259.552 278.906 260.895 278.906 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-278.906 262.552 M
-278.906 264.209 277.563 265.552 275.906 265.552 curveto
-274.249 265.552 272.906 264.209 272.906 262.552 curveto
-272.906 260.895 274.249 259.552 275.906 259.552 curveto
-277.563 259.552 278.906 260.895 278.906 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-279.21 262.552 M
-279.21 264.209 277.866 265.552 276.21 265.552 curveto
-274.553 265.552 273.21 264.209 273.21 262.552 curveto
-273.21 260.895 274.553 259.552 276.21 259.552 curveto
-277.866 259.552 279.21 260.895 279.21 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-279.21 262.552 M
-279.21 264.209 277.866 265.552 276.21 265.552 curveto
-274.553 265.552 273.21 264.209 273.21 262.552 curveto
-273.21 260.895 274.553 259.552 276.21 259.552 curveto
-277.866 259.552 279.21 260.895 279.21 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-279.513 262.552 M
-279.513 264.209 278.17 265.552 276.513 265.552 curveto
-274.856 265.552 273.513 264.209 273.513 262.552 curveto
-273.513 260.895 274.856 259.552 276.513 259.552 curveto
-278.17 259.552 279.513 260.895 279.513 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-279.513 262.552 M
-279.513 264.209 278.17 265.552 276.513 265.552 curveto
-274.856 265.552 273.513 264.209 273.513 262.552 curveto
-273.513 260.895 274.856 259.552 276.513 259.552 curveto
-278.17 259.552 279.513 260.895 279.513 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-279.817 262.552 M
-279.817 264.209 278.474 265.552 276.817 265.552 curveto
-275.16 265.552 273.817 264.209 273.817 262.552 curveto
-273.817 260.895 275.16 259.552 276.817 259.552 curveto
-278.474 259.552 279.817 260.895 279.817 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-279.817 262.552 M
-279.817 264.209 278.474 265.552 276.817 265.552 curveto
-275.16 265.552 273.817 264.209 273.817 262.552 curveto
-273.817 260.895 275.16 259.552 276.817 259.552 curveto
-278.474 259.552 279.817 260.895 279.817 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-280.121 262.552 M
-280.121 264.209 278.778 265.552 277.121 265.552 curveto
-275.464 265.552 274.121 264.209 274.121 262.552 curveto
-274.121 260.895 275.464 259.552 277.121 259.552 curveto
-278.778 259.552 280.121 260.895 280.121 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-280.121 262.552 M
-280.121 264.209 278.778 265.552 277.121 265.552 curveto
-275.464 265.552 274.121 264.209 274.121 262.552 curveto
-274.121 260.895 275.464 259.552 277.121 259.552 curveto
-278.778 259.552 280.121 260.895 280.121 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-280.424 262.552 M
-280.424 264.209 279.081 265.552 277.424 265.552 curveto
-275.768 265.552 274.424 264.209 274.424 262.552 curveto
-274.424 260.895 275.768 259.552 277.424 259.552 curveto
-279.081 259.552 280.424 260.895 280.424 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-280.424 262.552 M
-280.424 264.209 279.081 265.552 277.424 265.552 curveto
-275.768 265.552 274.424 264.209 274.424 262.552 curveto
-274.424 260.895 275.768 259.552 277.424 259.552 curveto
-279.081 259.552 280.424 260.895 280.424 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-280.728 262.552 M
-280.728 264.209 279.385 265.552 277.728 265.552 curveto
-276.071 265.552 274.728 264.209 274.728 262.552 curveto
-274.728 260.895 276.071 259.552 277.728 259.552 curveto
-279.385 259.552 280.728 260.895 280.728 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-280.728 262.552 M
-280.728 264.209 279.385 265.552 277.728 265.552 curveto
-276.071 265.552 274.728 264.209 274.728 262.552 curveto
-274.728 260.895 276.071 259.552 277.728 259.552 curveto
-279.385 259.552 280.728 260.895 280.728 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-281.032 262.552 M
-281.032 264.209 279.689 265.552 278.032 265.552 curveto
-276.375 265.552 275.032 264.209 275.032 262.552 curveto
-275.032 260.895 276.375 259.552 278.032 259.552 curveto
-279.689 259.552 281.032 260.895 281.032 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-281.032 262.552 M
-281.032 264.209 279.689 265.552 278.032 265.552 curveto
-276.375 265.552 275.032 264.209 275.032 262.552 curveto
-275.032 260.895 276.375 259.552 278.032 259.552 curveto
-279.689 259.552 281.032 260.895 281.032 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-281.336 262.552 M
-281.336 264.209 279.993 265.552 278.336 265.552 curveto
-276.679 265.552 275.336 264.209 275.336 262.552 curveto
-275.336 260.895 276.679 259.552 278.336 259.552 curveto
-279.993 259.552 281.336 260.895 281.336 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-281.336 262.552 M
-281.336 264.209 279.993 265.552 278.336 265.552 curveto
-276.679 265.552 275.336 264.209 275.336 262.552 curveto
-275.336 260.895 276.679 259.552 278.336 259.552 curveto
-279.993 259.552 281.336 260.895 281.336 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-281.639 262.552 M
-281.639 264.209 280.296 265.552 278.639 265.552 curveto
-276.983 265.552 275.639 264.209 275.639 262.552 curveto
-275.639 260.895 276.983 259.552 278.639 259.552 curveto
-280.296 259.552 281.639 260.895 281.639 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-281.639 262.552 M
-281.639 264.209 280.296 265.552 278.639 265.552 curveto
-276.983 265.552 275.639 264.209 275.639 262.552 curveto
-275.639 260.895 276.983 259.552 278.639 259.552 curveto
-280.296 259.552 281.639 260.895 281.639 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-281.943 262.552 M
-281.943 264.209 280.6 265.552 278.943 265.552 curveto
-277.286 265.552 275.943 264.209 275.943 262.552 curveto
-275.943 260.895 277.286 259.552 278.943 259.552 curveto
-280.6 259.552 281.943 260.895 281.943 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-281.943 262.552 M
-281.943 264.209 280.6 265.552 278.943 265.552 curveto
-277.286 265.552 275.943 264.209 275.943 262.552 curveto
-275.943 260.895 277.286 259.552 278.943 259.552 curveto
-280.6 259.552 281.943 260.895 281.943 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-282.247 262.552 M
-282.247 264.209 280.904 265.552 279.247 265.552 curveto
-277.59 265.552 276.247 264.209 276.247 262.552 curveto
-276.247 260.895 277.59 259.552 279.247 259.552 curveto
-280.904 259.552 282.247 260.895 282.247 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-282.247 262.552 M
-282.247 264.209 280.904 265.552 279.247 265.552 curveto
-277.59 265.552 276.247 264.209 276.247 262.552 curveto
-276.247 260.895 277.59 259.552 279.247 259.552 curveto
-280.904 259.552 282.247 260.895 282.247 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-282.551 262.552 M
-282.551 264.209 281.207 265.552 279.551 265.552 curveto
-277.894 265.552 276.551 264.209 276.551 262.552 curveto
-276.551 260.895 277.894 259.552 279.551 259.552 curveto
-281.207 259.552 282.551 260.895 282.551 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-282.551 262.552 M
-282.551 264.209 281.207 265.552 279.551 265.552 curveto
-277.894 265.552 276.551 264.209 276.551 262.552 curveto
-276.551 260.895 277.894 259.552 279.551 259.552 curveto
-281.207 259.552 282.551 260.895 282.551 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-282.854 262.552 M
-282.854 264.209 281.511 265.552 279.854 265.552 curveto
-278.197 265.552 276.854 264.209 276.854 262.552 curveto
-276.854 260.895 278.197 259.552 279.854 259.552 curveto
-281.511 259.552 282.854 260.895 282.854 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-282.854 262.552 M
-282.854 264.209 281.511 265.552 279.854 265.552 curveto
-278.197 265.552 276.854 264.209 276.854 262.552 curveto
-276.854 260.895 278.197 259.552 279.854 259.552 curveto
-281.511 259.552 282.854 260.895 282.854 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-283.158 262.552 M
-283.158 264.209 281.815 265.552 280.158 265.552 curveto
-278.501 265.552 277.158 264.209 277.158 262.552 curveto
-277.158 260.895 278.501 259.552 280.158 259.552 curveto
-281.815 259.552 283.158 260.895 283.158 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-283.158 262.552 M
-283.158 264.209 281.815 265.552 280.158 265.552 curveto
-278.501 265.552 277.158 264.209 277.158 262.552 curveto
-277.158 260.895 278.501 259.552 280.158 259.552 curveto
-281.815 259.552 283.158 260.895 283.158 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-283.462 262.552 M
-283.462 264.209 282.119 265.552 280.462 265.552 curveto
-278.805 265.552 277.462 264.209 277.462 262.552 curveto
-277.462 260.895 278.805 259.552 280.462 259.552 curveto
-282.119 259.552 283.462 260.895 283.462 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-283.462 262.552 M
-283.462 264.209 282.119 265.552 280.462 265.552 curveto
-278.805 265.552 277.462 264.209 277.462 262.552 curveto
-277.462 260.895 278.805 259.552 280.462 259.552 curveto
-282.119 259.552 283.462 260.895 283.462 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-283.766 262.552 M
-283.766 264.209 282.422 265.552 280.766 265.552 curveto
-279.109 265.552 277.766 264.209 277.766 262.552 curveto
-277.766 260.895 279.109 259.552 280.766 259.552 curveto
-282.422 259.552 283.766 260.895 283.766 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-283.766 262.552 M
-283.766 264.209 282.422 265.552 280.766 265.552 curveto
-279.109 265.552 277.766 264.209 277.766 262.552 curveto
-277.766 260.895 279.109 259.552 280.766 259.552 curveto
-282.422 259.552 283.766 260.895 283.766 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-284.069 262.552 M
-284.069 264.209 282.726 265.552 281.069 265.552 curveto
-279.412 265.552 278.069 264.209 278.069 262.552 curveto
-278.069 260.895 279.412 259.552 281.069 259.552 curveto
-282.726 259.552 284.069 260.895 284.069 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-284.069 262.552 M
-284.069 264.209 282.726 265.552 281.069 265.552 curveto
-279.412 265.552 278.069 264.209 278.069 262.552 curveto
-278.069 260.895 279.412 259.552 281.069 259.552 curveto
-282.726 259.552 284.069 260.895 284.069 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-284.373 262.552 M
-284.373 264.209 283.03 265.552 281.373 265.552 curveto
-279.716 265.552 278.373 264.209 278.373 262.552 curveto
-278.373 260.895 279.716 259.552 281.373 259.552 curveto
-283.03 259.552 284.373 260.895 284.373 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-284.373 262.552 M
-284.373 264.209 283.03 265.552 281.373 265.552 curveto
-279.716 265.552 278.373 264.209 278.373 262.552 curveto
-278.373 260.895 279.716 259.552 281.373 259.552 curveto
-283.03 259.552 284.373 260.895 284.373 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-284.677 262.552 M
-284.677 264.209 283.334 265.552 281.677 265.552 curveto
-280.02 265.552 278.677 264.209 278.677 262.552 curveto
-278.677 260.895 280.02 259.552 281.677 259.552 curveto
-283.334 259.552 284.677 260.895 284.677 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-284.677 262.552 M
-284.677 264.209 283.334 265.552 281.677 265.552 curveto
-280.02 265.552 278.677 264.209 278.677 262.552 curveto
-278.677 260.895 280.02 259.552 281.677 259.552 curveto
-283.334 259.552 284.677 260.895 284.677 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-284.981 262.552 M
-284.981 264.209 283.637 265.552 281.981 265.552 curveto
-280.324 265.552 278.981 264.209 278.981 262.552 curveto
-278.981 260.895 280.324 259.552 281.981 259.552 curveto
-283.637 259.552 284.981 260.895 284.981 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-284.981 262.552 M
-284.981 264.209 283.637 265.552 281.981 265.552 curveto
-280.324 265.552 278.981 264.209 278.981 262.552 curveto
-278.981 260.895 280.324 259.552 281.981 259.552 curveto
-283.637 259.552 284.981 260.895 284.981 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-285.284 262.552 M
-285.284 264.209 283.941 265.552 282.284 265.552 curveto
-280.627 265.552 279.284 264.209 279.284 262.552 curveto
-279.284 260.895 280.627 259.552 282.284 259.552 curveto
-283.941 259.552 285.284 260.895 285.284 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-285.284 262.552 M
-285.284 264.209 283.941 265.552 282.284 265.552 curveto
-280.627 265.552 279.284 264.209 279.284 262.552 curveto
-279.284 260.895 280.627 259.552 282.284 259.552 curveto
-283.941 259.552 285.284 260.895 285.284 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-285.588 262.552 M
-285.588 264.209 284.245 265.552 282.588 265.552 curveto
-280.931 265.552 279.588 264.209 279.588 262.552 curveto
-279.588 260.895 280.931 259.552 282.588 259.552 curveto
-284.245 259.552 285.588 260.895 285.588 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-285.588 262.552 M
-285.588 264.209 284.245 265.552 282.588 265.552 curveto
-280.931 265.552 279.588 264.209 279.588 262.552 curveto
-279.588 260.895 280.931 259.552 282.588 259.552 curveto
-284.245 259.552 285.588 260.895 285.588 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-285.892 262.552 M
-285.892 264.209 284.549 265.552 282.892 265.552 curveto
-281.235 265.552 279.892 264.209 279.892 262.552 curveto
-279.892 260.895 281.235 259.552 282.892 259.552 curveto
-284.549 259.552 285.892 260.895 285.892 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-285.892 262.552 M
-285.892 264.209 284.549 265.552 282.892 265.552 curveto
-281.235 265.552 279.892 264.209 279.892 262.552 curveto
-279.892 260.895 281.235 259.552 282.892 259.552 curveto
-284.549 259.552 285.892 260.895 285.892 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-286.195 241.004 M
-286.195 242.661 284.852 244.004 283.195 244.004 curveto
-281.539 244.004 280.195 242.661 280.195 241.004 curveto
-280.195 239.347 281.539 238.004 283.195 238.004 curveto
-284.852 238.004 286.195 239.347 286.195 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-286.195 241.004 M
-286.195 242.661 284.852 244.004 283.195 244.004 curveto
-281.539 244.004 280.195 242.661 280.195 241.004 curveto
-280.195 239.347 281.539 238.004 283.195 238.004 curveto
-284.852 238.004 286.195 239.347 286.195 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-286.499 262.552 M
-286.499 264.209 285.156 265.552 283.499 265.552 curveto
-281.842 265.552 280.499 264.209 280.499 262.552 curveto
-280.499 260.895 281.842 259.552 283.499 259.552 curveto
-285.156 259.552 286.499 260.895 286.499 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-286.499 262.552 M
-286.499 264.209 285.156 265.552 283.499 265.552 curveto
-281.842 265.552 280.499 264.209 280.499 262.552 curveto
-280.499 260.895 281.842 259.552 283.499 259.552 curveto
-285.156 259.552 286.499 260.895 286.499 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-286.803 262.552 M
-286.803 264.209 285.46 265.552 283.803 265.552 curveto
-282.146 265.552 280.803 264.209 280.803 262.552 curveto
-280.803 260.895 282.146 259.552 283.803 259.552 curveto
-285.46 259.552 286.803 260.895 286.803 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-286.803 262.552 M
-286.803 264.209 285.46 265.552 283.803 265.552 curveto
-282.146 265.552 280.803 264.209 280.803 262.552 curveto
-280.803 260.895 282.146 259.552 283.803 259.552 curveto
-285.46 259.552 286.803 260.895 286.803 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-287.107 241.004 M
-287.107 242.661 285.764 244.004 284.107 244.004 curveto
-282.45 244.004 281.107 242.661 281.107 241.004 curveto
-281.107 239.347 282.45 238.004 284.107 238.004 curveto
-285.764 238.004 287.107 239.347 287.107 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-287.107 241.004 M
-287.107 242.661 285.764 244.004 284.107 244.004 curveto
-282.45 244.004 281.107 242.661 281.107 241.004 curveto
-281.107 239.347 282.45 238.004 284.107 238.004 curveto
-285.764 238.004 287.107 239.347 287.107 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-287.41 241.004 M
-287.41 242.661 286.067 244.004 284.41 244.004 curveto
-282.754 244.004 281.41 242.661 281.41 241.004 curveto
-281.41 239.347 282.754 238.004 284.41 238.004 curveto
-286.067 238.004 287.41 239.347 287.41 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-287.41 241.004 M
-287.41 242.661 286.067 244.004 284.41 244.004 curveto
-282.754 244.004 281.41 242.661 281.41 241.004 curveto
-281.41 239.347 282.754 238.004 284.41 238.004 curveto
-286.067 238.004 287.41 239.347 287.41 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-287.714 241.004 M
-287.714 242.661 286.371 244.004 284.714 244.004 curveto
-283.057 244.004 281.714 242.661 281.714 241.004 curveto
-281.714 239.347 283.057 238.004 284.714 238.004 curveto
-286.371 238.004 287.714 239.347 287.714 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-287.714 241.004 M
-287.714 242.661 286.371 244.004 284.714 244.004 curveto
-283.057 244.004 281.714 242.661 281.714 241.004 curveto
-281.714 239.347 283.057 238.004 284.714 238.004 curveto
-286.371 238.004 287.714 239.347 287.714 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-288.018 241.004 M
-288.018 242.661 286.675 244.004 285.018 244.004 curveto
-283.361 244.004 282.018 242.661 282.018 241.004 curveto
-282.018 239.347 283.361 238.004 285.018 238.004 curveto
-286.675 238.004 288.018 239.347 288.018 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-288.018 241.004 M
-288.018 242.661 286.675 244.004 285.018 244.004 curveto
-283.361 244.004 282.018 242.661 282.018 241.004 curveto
-282.018 239.347 283.361 238.004 285.018 238.004 curveto
-286.675 238.004 288.018 239.347 288.018 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-288.322 241.004 M
-288.322 242.661 286.978 244.004 285.322 244.004 curveto
-283.665 244.004 282.322 242.661 282.322 241.004 curveto
-282.322 239.347 283.665 238.004 285.322 238.004 curveto
-286.978 238.004 288.322 239.347 288.322 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-288.322 241.004 M
-288.322 242.661 286.978 244.004 285.322 244.004 curveto
-283.665 244.004 282.322 242.661 282.322 241.004 curveto
-282.322 239.347 283.665 238.004 285.322 238.004 curveto
-286.978 238.004 288.322 239.347 288.322 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-288.625 241.004 M
-288.625 242.661 287.282 244.004 285.625 244.004 curveto
-283.969 244.004 282.625 242.661 282.625 241.004 curveto
-282.625 239.347 283.969 238.004 285.625 238.004 curveto
-287.282 238.004 288.625 239.347 288.625 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-288.625 241.004 M
-288.625 242.661 287.282 244.004 285.625 244.004 curveto
-283.969 244.004 282.625 242.661 282.625 241.004 curveto
-282.625 239.347 283.969 238.004 285.625 238.004 curveto
-287.282 238.004 288.625 239.347 288.625 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-288.929 241.004 M
-288.929 242.661 287.586 244.004 285.929 244.004 curveto
-284.272 244.004 282.929 242.661 282.929 241.004 curveto
-282.929 239.347 284.272 238.004 285.929 238.004 curveto
-287.586 238.004 288.929 239.347 288.929 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-288.929 241.004 M
-288.929 242.661 287.586 244.004 285.929 244.004 curveto
-284.272 244.004 282.929 242.661 282.929 241.004 curveto
-282.929 239.347 284.272 238.004 285.929 238.004 curveto
-287.586 238.004 288.929 239.347 288.929 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-289.233 241.004 M
-289.233 242.661 287.89 244.004 286.233 244.004 curveto
-284.576 244.004 283.233 242.661 283.233 241.004 curveto
-283.233 239.347 284.576 238.004 286.233 238.004 curveto
-287.89 238.004 289.233 239.347 289.233 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-289.233 241.004 M
-289.233 242.661 287.89 244.004 286.233 244.004 curveto
-284.576 244.004 283.233 242.661 283.233 241.004 curveto
-283.233 239.347 284.576 238.004 286.233 238.004 curveto
-287.89 238.004 289.233 239.347 289.233 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-289.537 241.004 M
-289.537 242.661 288.193 244.004 286.537 244.004 curveto
-284.88 244.004 283.537 242.661 283.537 241.004 curveto
-283.537 239.347 284.88 238.004 286.537 238.004 curveto
-288.193 238.004 289.537 239.347 289.537 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-289.537 241.004 M
-289.537 242.661 288.193 244.004 286.537 244.004 curveto
-284.88 244.004 283.537 242.661 283.537 241.004 curveto
-283.537 239.347 284.88 238.004 286.537 238.004 curveto
-288.193 238.004 289.537 239.347 289.537 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-289.84 241.004 M
-289.84 242.661 288.497 244.004 286.84 244.004 curveto
-285.183 244.004 283.84 242.661 283.84 241.004 curveto
-283.84 239.347 285.183 238.004 286.84 238.004 curveto
-288.497 238.004 289.84 239.347 289.84 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-289.84 241.004 M
-289.84 242.661 288.497 244.004 286.84 244.004 curveto
-285.183 244.004 283.84 242.661 283.84 241.004 curveto
-283.84 239.347 285.183 238.004 286.84 238.004 curveto
-288.497 238.004 289.84 239.347 289.84 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-290.144 241.004 M
-290.144 242.661 288.801 244.004 287.144 244.004 curveto
-285.487 244.004 284.144 242.661 284.144 241.004 curveto
-284.144 239.347 285.487 238.004 287.144 238.004 curveto
-288.801 238.004 290.144 239.347 290.144 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-290.144 241.004 M
-290.144 242.661 288.801 244.004 287.144 244.004 curveto
-285.487 244.004 284.144 242.661 284.144 241.004 curveto
-284.144 239.347 285.487 238.004 287.144 238.004 curveto
-288.801 238.004 290.144 239.347 290.144 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-290.448 219.455 M
-290.448 221.112 289.105 222.455 287.448 222.455 curveto
-285.791 222.455 284.448 221.112 284.448 219.455 curveto
-284.448 217.799 285.791 216.455 287.448 216.455 curveto
-289.105 216.455 290.448 217.799 290.448 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-290.448 219.455 M
-290.448 221.112 289.105 222.455 287.448 222.455 curveto
-285.791 222.455 284.448 221.112 284.448 219.455 curveto
-284.448 217.799 285.791 216.455 287.448 216.455 curveto
-289.105 216.455 290.448 217.799 290.448 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-290.752 219.455 M
-290.752 221.112 289.408 222.455 287.752 222.455 curveto
-286.095 222.455 284.752 221.112 284.752 219.455 curveto
-284.752 217.799 286.095 216.455 287.752 216.455 curveto
-289.408 216.455 290.752 217.799 290.752 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-290.752 219.455 M
-290.752 221.112 289.408 222.455 287.752 222.455 curveto
-286.095 222.455 284.752 221.112 284.752 219.455 curveto
-284.752 217.799 286.095 216.455 287.752 216.455 curveto
-289.408 216.455 290.752 217.799 290.752 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-291.055 219.455 M
-291.055 221.112 289.712 222.455 288.055 222.455 curveto
-286.398 222.455 285.055 221.112 285.055 219.455 curveto
-285.055 217.799 286.398 216.455 288.055 216.455 curveto
-289.712 216.455 291.055 217.799 291.055 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-291.055 219.455 M
-291.055 221.112 289.712 222.455 288.055 222.455 curveto
-286.398 222.455 285.055 221.112 285.055 219.455 curveto
-285.055 217.799 286.398 216.455 288.055 216.455 curveto
-289.712 216.455 291.055 217.799 291.055 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-291.359 219.455 M
-291.359 221.112 290.016 222.455 288.359 222.455 curveto
-286.702 222.455 285.359 221.112 285.359 219.455 curveto
-285.359 217.799 286.702 216.455 288.359 216.455 curveto
-290.016 216.455 291.359 217.799 291.359 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-291.359 219.455 M
-291.359 221.112 290.016 222.455 288.359 222.455 curveto
-286.702 222.455 285.359 221.112 285.359 219.455 curveto
-285.359 217.799 286.702 216.455 288.359 216.455 curveto
-290.016 216.455 291.359 217.799 291.359 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-291.663 219.455 M
-291.663 221.112 290.32 222.455 288.663 222.455 curveto
-287.006 222.455 285.663 221.112 285.663 219.455 curveto
-285.663 217.799 287.006 216.455 288.663 216.455 curveto
-290.32 216.455 291.663 217.799 291.663 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-291.663 219.455 M
-291.663 221.112 290.32 222.455 288.663 222.455 curveto
-287.006 222.455 285.663 221.112 285.663 219.455 curveto
-285.663 217.799 287.006 216.455 288.663 216.455 curveto
-290.32 216.455 291.663 217.799 291.663 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-291.966 219.455 M
-291.966 221.112 290.623 222.455 288.966 222.455 curveto
-287.31 222.455 285.966 221.112 285.966 219.455 curveto
-285.966 217.799 287.31 216.455 288.966 216.455 curveto
-290.623 216.455 291.966 217.799 291.966 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-291.966 219.455 M
-291.966 221.112 290.623 222.455 288.966 222.455 curveto
-287.31 222.455 285.966 221.112 285.966 219.455 curveto
-285.966 217.799 287.31 216.455 288.966 216.455 curveto
-290.623 216.455 291.966 217.799 291.966 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-292.27 219.455 M
-292.27 221.112 290.927 222.455 289.27 222.455 curveto
-287.613 222.455 286.27 221.112 286.27 219.455 curveto
-286.27 217.799 287.613 216.455 289.27 216.455 curveto
-290.927 216.455 292.27 217.799 292.27 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-292.27 219.455 M
-292.27 221.112 290.927 222.455 289.27 222.455 curveto
-287.613 222.455 286.27 221.112 286.27 219.455 curveto
-286.27 217.799 287.613 216.455 289.27 216.455 curveto
-290.927 216.455 292.27 217.799 292.27 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-292.574 219.455 M
-292.574 221.112 291.231 222.455 289.574 222.455 curveto
-287.917 222.455 286.574 221.112 286.574 219.455 curveto
-286.574 217.799 287.917 216.455 289.574 216.455 curveto
-291.231 216.455 292.574 217.799 292.574 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-292.574 219.455 M
-292.574 221.112 291.231 222.455 289.574 222.455 curveto
-287.917 222.455 286.574 221.112 286.574 219.455 curveto
-286.574 217.799 287.917 216.455 289.574 216.455 curveto
-291.231 216.455 292.574 217.799 292.574 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-292.878 219.455 M
-292.878 221.112 291.535 222.455 289.878 222.455 curveto
-288.221 222.455 286.878 221.112 286.878 219.455 curveto
-286.878 217.799 288.221 216.455 289.878 216.455 curveto
-291.535 216.455 292.878 217.799 292.878 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-292.878 219.455 M
-292.878 221.112 291.535 222.455 289.878 222.455 curveto
-288.221 222.455 286.878 221.112 286.878 219.455 curveto
-286.878 217.799 288.221 216.455 289.878 216.455 curveto
-291.535 216.455 292.878 217.799 292.878 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-293.181 219.455 M
-293.181 221.112 291.838 222.455 290.181 222.455 curveto
-288.525 222.455 287.181 221.112 287.181 219.455 curveto
-287.181 217.799 288.525 216.455 290.181 216.455 curveto
-291.838 216.455 293.181 217.799 293.181 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-293.181 219.455 M
-293.181 221.112 291.838 222.455 290.181 222.455 curveto
-288.525 222.455 287.181 221.112 287.181 219.455 curveto
-287.181 217.799 288.525 216.455 290.181 216.455 curveto
-291.838 216.455 293.181 217.799 293.181 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-293.485 219.455 M
-293.485 221.112 292.142 222.455 290.485 222.455 curveto
-288.828 222.455 287.485 221.112 287.485 219.455 curveto
-287.485 217.799 288.828 216.455 290.485 216.455 curveto
-292.142 216.455 293.485 217.799 293.485 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-293.485 219.455 M
-293.485 221.112 292.142 222.455 290.485 222.455 curveto
-288.828 222.455 287.485 221.112 287.485 219.455 curveto
-287.485 217.799 288.828 216.455 290.485 216.455 curveto
-292.142 216.455 293.485 217.799 293.485 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-293.789 219.455 M
-293.789 221.112 292.446 222.455 290.789 222.455 curveto
-289.132 222.455 287.789 221.112 287.789 219.455 curveto
-287.789 217.799 289.132 216.455 290.789 216.455 curveto
-292.446 216.455 293.789 217.799 293.789 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-293.789 219.455 M
-293.789 221.112 292.446 222.455 290.789 222.455 curveto
-289.132 222.455 287.789 221.112 287.789 219.455 curveto
-287.789 217.799 289.132 216.455 290.789 216.455 curveto
-292.446 216.455 293.789 217.799 293.789 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-294.093 219.455 M
-294.093 221.112 292.749 222.455 291.093 222.455 curveto
-289.436 222.455 288.093 221.112 288.093 219.455 curveto
-288.093 217.799 289.436 216.455 291.093 216.455 curveto
-292.749 216.455 294.093 217.799 294.093 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-294.093 219.455 M
-294.093 221.112 292.749 222.455 291.093 222.455 curveto
-289.436 222.455 288.093 221.112 288.093 219.455 curveto
-288.093 217.799 289.436 216.455 291.093 216.455 curveto
-292.749 216.455 294.093 217.799 294.093 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-294.396 219.455 M
-294.396 221.112 293.053 222.455 291.396 222.455 curveto
-289.74 222.455 288.396 221.112 288.396 219.455 curveto
-288.396 217.799 289.74 216.455 291.396 216.455 curveto
-293.053 216.455 294.396 217.799 294.396 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-294.396 219.455 M
-294.396 221.112 293.053 222.455 291.396 222.455 curveto
-289.74 222.455 288.396 221.112 288.396 219.455 curveto
-288.396 217.799 289.74 216.455 291.396 216.455 curveto
-293.053 216.455 294.396 217.799 294.396 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-294.7 219.455 M
-294.7 221.112 293.357 222.455 291.7 222.455 curveto
-290.043 222.455 288.7 221.112 288.7 219.455 curveto
-288.7 217.799 290.043 216.455 291.7 216.455 curveto
-293.357 216.455 294.7 217.799 294.7 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-294.7 219.455 M
-294.7 221.112 293.357 222.455 291.7 222.455 curveto
-290.043 222.455 288.7 221.112 288.7 219.455 curveto
-288.7 217.799 290.043 216.455 291.7 216.455 curveto
-293.357 216.455 294.7 217.799 294.7 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-295.004 241.004 M
-295.004 242.661 293.661 244.004 292.004 244.004 curveto
-290.347 244.004 289.004 242.661 289.004 241.004 curveto
-289.004 239.347 290.347 238.004 292.004 238.004 curveto
-293.661 238.004 295.004 239.347 295.004 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-295.004 241.004 M
-295.004 242.661 293.661 244.004 292.004 244.004 curveto
-290.347 244.004 289.004 242.661 289.004 241.004 curveto
-289.004 239.347 290.347 238.004 292.004 238.004 curveto
-293.661 238.004 295.004 239.347 295.004 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-295.308 241.004 M
-295.308 242.661 293.964 244.004 292.308 244.004 curveto
-290.651 244.004 289.308 242.661 289.308 241.004 curveto
-289.308 239.347 290.651 238.004 292.308 238.004 curveto
-293.964 238.004 295.308 239.347 295.308 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-295.308 241.004 M
-295.308 242.661 293.964 244.004 292.308 244.004 curveto
-290.651 244.004 289.308 242.661 289.308 241.004 curveto
-289.308 239.347 290.651 238.004 292.308 238.004 curveto
-293.964 238.004 295.308 239.347 295.308 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-295.611 241.004 M
-295.611 242.661 294.268 244.004 292.611 244.004 curveto
-290.954 244.004 289.611 242.661 289.611 241.004 curveto
-289.611 239.347 290.954 238.004 292.611 238.004 curveto
-294.268 238.004 295.611 239.347 295.611 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-295.611 241.004 M
-295.611 242.661 294.268 244.004 292.611 244.004 curveto
-290.954 244.004 289.611 242.661 289.611 241.004 curveto
-289.611 239.347 290.954 238.004 292.611 238.004 curveto
-294.268 238.004 295.611 239.347 295.611 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-295.915 241.004 M
-295.915 242.661 294.572 244.004 292.915 244.004 curveto
-291.258 244.004 289.915 242.661 289.915 241.004 curveto
-289.915 239.347 291.258 238.004 292.915 238.004 curveto
-294.572 238.004 295.915 239.347 295.915 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-295.915 241.004 M
-295.915 242.661 294.572 244.004 292.915 244.004 curveto
-291.258 244.004 289.915 242.661 289.915 241.004 curveto
-289.915 239.347 291.258 238.004 292.915 238.004 curveto
-294.572 238.004 295.915 239.347 295.915 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-296.219 262.552 M
-296.219 264.209 294.876 265.552 293.219 265.552 curveto
-291.562 265.552 290.219 264.209 290.219 262.552 curveto
-290.219 260.895 291.562 259.552 293.219 259.552 curveto
-294.876 259.552 296.219 260.895 296.219 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-296.219 262.552 M
-296.219 264.209 294.876 265.552 293.219 265.552 curveto
-291.562 265.552 290.219 264.209 290.219 262.552 curveto
-290.219 260.895 291.562 259.552 293.219 259.552 curveto
-294.876 259.552 296.219 260.895 296.219 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-296.523 262.552 M
-296.523 264.209 295.179 265.552 293.523 265.552 curveto
-291.866 265.552 290.523 264.209 290.523 262.552 curveto
-290.523 260.895 291.866 259.552 293.523 259.552 curveto
-295.179 259.552 296.523 260.895 296.523 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-296.523 262.552 M
-296.523 264.209 295.179 265.552 293.523 265.552 curveto
-291.866 265.552 290.523 264.209 290.523 262.552 curveto
-290.523 260.895 291.866 259.552 293.523 259.552 curveto
-295.179 259.552 296.523 260.895 296.523 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-296.826 219.455 M
-296.826 221.112 295.483 222.455 293.826 222.455 curveto
-292.169 222.455 290.826 221.112 290.826 219.455 curveto
-290.826 217.799 292.169 216.455 293.826 216.455 curveto
-295.483 216.455 296.826 217.799 296.826 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-296.826 219.455 M
-296.826 221.112 295.483 222.455 293.826 222.455 curveto
-292.169 222.455 290.826 221.112 290.826 219.455 curveto
-290.826 217.799 292.169 216.455 293.826 216.455 curveto
-295.483 216.455 296.826 217.799 296.826 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-297.13 219.455 M
-297.13 221.112 295.787 222.455 294.13 222.455 curveto
-292.473 222.455 291.13 221.112 291.13 219.455 curveto
-291.13 217.799 292.473 216.455 294.13 216.455 curveto
-295.787 216.455 297.13 217.799 297.13 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-297.13 219.455 M
-297.13 221.112 295.787 222.455 294.13 222.455 curveto
-292.473 222.455 291.13 221.112 291.13 219.455 curveto
-291.13 217.799 292.473 216.455 294.13 216.455 curveto
-295.787 216.455 297.13 217.799 297.13 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-297.434 219.455 M
-297.434 221.112 296.091 222.455 294.434 222.455 curveto
-292.777 222.455 291.434 221.112 291.434 219.455 curveto
-291.434 217.799 292.777 216.455 294.434 216.455 curveto
-296.091 216.455 297.434 217.799 297.434 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-297.434 219.455 M
-297.434 221.112 296.091 222.455 294.434 222.455 curveto
-292.777 222.455 291.434 221.112 291.434 219.455 curveto
-291.434 217.799 292.777 216.455 294.434 216.455 curveto
-296.091 216.455 297.434 217.799 297.434 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-297.737 241.004 M
-297.737 242.661 296.394 244.004 294.737 244.004 curveto
-293.081 244.004 291.737 242.661 291.737 241.004 curveto
-291.737 239.347 293.081 238.004 294.737 238.004 curveto
-296.394 238.004 297.737 239.347 297.737 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-297.737 241.004 M
-297.737 242.661 296.394 244.004 294.737 244.004 curveto
-293.081 244.004 291.737 242.661 291.737 241.004 curveto
-291.737 239.347 293.081 238.004 294.737 238.004 curveto
-296.394 238.004 297.737 239.347 297.737 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-298.041 241.004 M
-298.041 242.661 296.698 244.004 295.041 244.004 curveto
-293.384 244.004 292.041 242.661 292.041 241.004 curveto
-292.041 239.347 293.384 238.004 295.041 238.004 curveto
-296.698 238.004 298.041 239.347 298.041 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-298.041 241.004 M
-298.041 242.661 296.698 244.004 295.041 244.004 curveto
-293.384 244.004 292.041 242.661 292.041 241.004 curveto
-292.041 239.347 293.384 238.004 295.041 238.004 curveto
-296.698 238.004 298.041 239.347 298.041 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-298.345 241.004 M
-298.345 242.661 297.002 244.004 295.345 244.004 curveto
-293.688 244.004 292.345 242.661 292.345 241.004 curveto
-292.345 239.347 293.688 238.004 295.345 238.004 curveto
-297.002 238.004 298.345 239.347 298.345 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-298.345 241.004 M
-298.345 242.661 297.002 244.004 295.345 244.004 curveto
-293.688 244.004 292.345 242.661 292.345 241.004 curveto
-292.345 239.347 293.688 238.004 295.345 238.004 curveto
-297.002 238.004 298.345 239.347 298.345 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-298.649 241.004 M
-298.649 242.661 297.306 244.004 295.649 244.004 curveto
-293.992 244.004 292.649 242.661 292.649 241.004 curveto
-292.649 239.347 293.992 238.004 295.649 238.004 curveto
-297.306 238.004 298.649 239.347 298.649 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-298.649 241.004 M
-298.649 242.661 297.306 244.004 295.649 244.004 curveto
-293.992 244.004 292.649 242.661 292.649 241.004 curveto
-292.649 239.347 293.992 238.004 295.649 238.004 curveto
-297.306 238.004 298.649 239.347 298.649 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-298.952 241.004 M
-298.952 242.661 297.609 244.004 295.952 244.004 curveto
-294.296 244.004 292.952 242.661 292.952 241.004 curveto
-292.952 239.347 294.296 238.004 295.952 238.004 curveto
-297.609 238.004 298.952 239.347 298.952 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-298.952 241.004 M
-298.952 242.661 297.609 244.004 295.952 244.004 curveto
-294.296 244.004 292.952 242.661 292.952 241.004 curveto
-292.952 239.347 294.296 238.004 295.952 238.004 curveto
-297.609 238.004 298.952 239.347 298.952 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-299.256 241.004 M
-299.256 242.661 297.913 244.004 296.256 244.004 curveto
-294.599 244.004 293.256 242.661 293.256 241.004 curveto
-293.256 239.347 294.599 238.004 296.256 238.004 curveto
-297.913 238.004 299.256 239.347 299.256 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-299.256 241.004 M
-299.256 242.661 297.913 244.004 296.256 244.004 curveto
-294.599 244.004 293.256 242.661 293.256 241.004 curveto
-293.256 239.347 294.599 238.004 296.256 238.004 curveto
-297.913 238.004 299.256 239.347 299.256 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-299.56 241.004 M
-299.56 242.661 298.217 244.004 296.56 244.004 curveto
-294.903 244.004 293.56 242.661 293.56 241.004 curveto
-293.56 239.347 294.903 238.004 296.56 238.004 curveto
-298.217 238.004 299.56 239.347 299.56 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-299.56 241.004 M
-299.56 242.661 298.217 244.004 296.56 244.004 curveto
-294.903 244.004 293.56 242.661 293.56 241.004 curveto
-293.56 239.347 294.903 238.004 296.56 238.004 curveto
-298.217 238.004 299.56 239.347 299.56 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-299.864 241.004 M
-299.864 242.661 298.52 244.004 296.864 244.004 curveto
-295.207 244.004 293.864 242.661 293.864 241.004 curveto
-293.864 239.347 295.207 238.004 296.864 238.004 curveto
-298.52 238.004 299.864 239.347 299.864 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-299.864 241.004 M
-299.864 242.661 298.52 244.004 296.864 244.004 curveto
-295.207 244.004 293.864 242.661 293.864 241.004 curveto
-293.864 239.347 295.207 238.004 296.864 238.004 curveto
-298.52 238.004 299.864 239.347 299.864 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-300.167 241.004 M
-300.167 242.661 298.824 244.004 297.167 244.004 curveto
-295.511 244.004 294.167 242.661 294.167 241.004 curveto
-294.167 239.347 295.511 238.004 297.167 238.004 curveto
-298.824 238.004 300.167 239.347 300.167 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-300.167 241.004 M
-300.167 242.661 298.824 244.004 297.167 244.004 curveto
-295.511 244.004 294.167 242.661 294.167 241.004 curveto
-294.167 239.347 295.511 238.004 297.167 238.004 curveto
-298.824 238.004 300.167 239.347 300.167 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-300.471 241.004 M
-300.471 242.661 299.128 244.004 297.471 244.004 curveto
-295.814 244.004 294.471 242.661 294.471 241.004 curveto
-294.471 239.347 295.814 238.004 297.471 238.004 curveto
-299.128 238.004 300.471 239.347 300.471 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-300.471 241.004 M
-300.471 242.661 299.128 244.004 297.471 244.004 curveto
-295.814 244.004 294.471 242.661 294.471 241.004 curveto
-294.471 239.347 295.814 238.004 297.471 238.004 curveto
-299.128 238.004 300.471 239.347 300.471 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-300.775 241.004 M
-300.775 242.661 299.432 244.004 297.775 244.004 curveto
-296.118 244.004 294.775 242.661 294.775 241.004 curveto
-294.775 239.347 296.118 238.004 297.775 238.004 curveto
-299.432 238.004 300.775 239.347 300.775 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-300.775 241.004 M
-300.775 242.661 299.432 244.004 297.775 244.004 curveto
-296.118 244.004 294.775 242.661 294.775 241.004 curveto
-294.775 239.347 296.118 238.004 297.775 238.004 curveto
-299.432 238.004 300.775 239.347 300.775 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-301.079 197.907 M
-301.079 199.564 299.735 200.907 298.079 200.907 curveto
-296.422 200.907 295.079 199.564 295.079 197.907 curveto
-295.079 196.25 296.422 194.907 298.079 194.907 curveto
-299.735 194.907 301.079 196.25 301.079 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-301.079 197.907 M
-301.079 199.564 299.735 200.907 298.079 200.907 curveto
-296.422 200.907 295.079 199.564 295.079 197.907 curveto
-295.079 196.25 296.422 194.907 298.079 194.907 curveto
-299.735 194.907 301.079 196.25 301.079 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-301.382 197.907 M
-301.382 199.564 300.039 200.907 298.382 200.907 curveto
-296.725 200.907 295.382 199.564 295.382 197.907 curveto
-295.382 196.25 296.725 194.907 298.382 194.907 curveto
-300.039 194.907 301.382 196.25 301.382 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-301.382 197.907 M
-301.382 199.564 300.039 200.907 298.382 200.907 curveto
-296.725 200.907 295.382 199.564 295.382 197.907 curveto
-295.382 196.25 296.725 194.907 298.382 194.907 curveto
-300.039 194.907 301.382 196.25 301.382 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-301.686 197.907 M
-301.686 199.564 300.343 200.907 298.686 200.907 curveto
-297.029 200.907 295.686 199.564 295.686 197.907 curveto
-295.686 196.25 297.029 194.907 298.686 194.907 curveto
-300.343 194.907 301.686 196.25 301.686 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-301.686 197.907 M
-301.686 199.564 300.343 200.907 298.686 200.907 curveto
-297.029 200.907 295.686 199.564 295.686 197.907 curveto
-295.686 196.25 297.029 194.907 298.686 194.907 curveto
-300.343 194.907 301.686 196.25 301.686 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-301.99 197.907 M
-301.99 199.564 300.647 200.907 298.99 200.907 curveto
-297.333 200.907 295.99 199.564 295.99 197.907 curveto
-295.99 196.25 297.333 194.907 298.99 194.907 curveto
-300.647 194.907 301.99 196.25 301.99 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-301.99 197.907 M
-301.99 199.564 300.647 200.907 298.99 200.907 curveto
-297.333 200.907 295.99 199.564 295.99 197.907 curveto
-295.99 196.25 297.333 194.907 298.99 194.907 curveto
-300.647 194.907 301.99 196.25 301.99 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-302.294 197.907 M
-302.294 199.564 300.95 200.907 299.294 200.907 curveto
-297.637 200.907 296.294 199.564 296.294 197.907 curveto
-296.294 196.25 297.637 194.907 299.294 194.907 curveto
-300.95 194.907 302.294 196.25 302.294 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-302.294 197.907 M
-302.294 199.564 300.95 200.907 299.294 200.907 curveto
-297.637 200.907 296.294 199.564 296.294 197.907 curveto
-296.294 196.25 297.637 194.907 299.294 194.907 curveto
-300.95 194.907 302.294 196.25 302.294 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-302.597 197.907 M
-302.597 199.564 301.254 200.907 299.597 200.907 curveto
-297.94 200.907 296.597 199.564 296.597 197.907 curveto
-296.597 196.25 297.94 194.907 299.597 194.907 curveto
-301.254 194.907 302.597 196.25 302.597 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-302.597 197.907 M
-302.597 199.564 301.254 200.907 299.597 200.907 curveto
-297.94 200.907 296.597 199.564 296.597 197.907 curveto
-296.597 196.25 297.94 194.907 299.597 194.907 curveto
-301.254 194.907 302.597 196.25 302.597 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-302.901 197.907 M
-302.901 199.564 301.558 200.907 299.901 200.907 curveto
-298.244 200.907 296.901 199.564 296.901 197.907 curveto
-296.901 196.25 298.244 194.907 299.901 194.907 curveto
-301.558 194.907 302.901 196.25 302.901 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-302.901 197.907 M
-302.901 199.564 301.558 200.907 299.901 200.907 curveto
-298.244 200.907 296.901 199.564 296.901 197.907 curveto
-296.901 196.25 298.244 194.907 299.901 194.907 curveto
-301.558 194.907 302.901 196.25 302.901 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-303.205 197.907 M
-303.205 199.564 301.862 200.907 300.205 200.907 curveto
-298.548 200.907 297.205 199.564 297.205 197.907 curveto
-297.205 196.25 298.548 194.907 300.205 194.907 curveto
-301.862 194.907 303.205 196.25 303.205 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-303.205 197.907 M
-303.205 199.564 301.862 200.907 300.205 200.907 curveto
-298.548 200.907 297.205 199.564 297.205 197.907 curveto
-297.205 196.25 298.548 194.907 300.205 194.907 curveto
-301.862 194.907 303.205 196.25 303.205 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-303.508 197.907 M
-303.508 199.564 302.165 200.907 300.508 200.907 curveto
-298.852 200.907 297.508 199.564 297.508 197.907 curveto
-297.508 196.25 298.852 194.907 300.508 194.907 curveto
-302.165 194.907 303.508 196.25 303.508 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-303.508 197.907 M
-303.508 199.564 302.165 200.907 300.508 200.907 curveto
-298.852 200.907 297.508 199.564 297.508 197.907 curveto
-297.508 196.25 298.852 194.907 300.508 194.907 curveto
-302.165 194.907 303.508 196.25 303.508 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-303.812 197.907 M
-303.812 199.564 302.469 200.907 300.812 200.907 curveto
-299.155 200.907 297.812 199.564 297.812 197.907 curveto
-297.812 196.25 299.155 194.907 300.812 194.907 curveto
-302.469 194.907 303.812 196.25 303.812 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-303.812 197.907 M
-303.812 199.564 302.469 200.907 300.812 200.907 curveto
-299.155 200.907 297.812 199.564 297.812 197.907 curveto
-297.812 196.25 299.155 194.907 300.812 194.907 curveto
-302.469 194.907 303.812 196.25 303.812 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-304.116 197.907 M
-304.116 199.564 302.773 200.907 301.116 200.907 curveto
-299.459 200.907 298.116 199.564 298.116 197.907 curveto
-298.116 196.25 299.459 194.907 301.116 194.907 curveto
-302.773 194.907 304.116 196.25 304.116 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-304.116 197.907 M
-304.116 199.564 302.773 200.907 301.116 200.907 curveto
-299.459 200.907 298.116 199.564 298.116 197.907 curveto
-298.116 196.25 299.459 194.907 301.116 194.907 curveto
-302.773 194.907 304.116 196.25 304.116 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-304.42 197.907 M
-304.42 199.564 303.077 200.907 301.42 200.907 curveto
-299.763 200.907 298.42 199.564 298.42 197.907 curveto
-298.42 196.25 299.763 194.907 301.42 194.907 curveto
-303.077 194.907 304.42 196.25 304.42 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-304.42 197.907 M
-304.42 199.564 303.077 200.907 301.42 200.907 curveto
-299.763 200.907 298.42 199.564 298.42 197.907 curveto
-298.42 196.25 299.763 194.907 301.42 194.907 curveto
-303.077 194.907 304.42 196.25 304.42 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-304.723 197.907 M
-304.723 199.564 303.38 200.907 301.723 200.907 curveto
-300.067 200.907 298.723 199.564 298.723 197.907 curveto
-298.723 196.25 300.067 194.907 301.723 194.907 curveto
-303.38 194.907 304.723 196.25 304.723 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-304.723 197.907 M
-304.723 199.564 303.38 200.907 301.723 200.907 curveto
-300.067 200.907 298.723 199.564 298.723 197.907 curveto
-298.723 196.25 300.067 194.907 301.723 194.907 curveto
-303.38 194.907 304.723 196.25 304.723 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-305.027 197.907 M
-305.027 199.564 303.684 200.907 302.027 200.907 curveto
-300.37 200.907 299.027 199.564 299.027 197.907 curveto
-299.027 196.25 300.37 194.907 302.027 194.907 curveto
-303.684 194.907 305.027 196.25 305.027 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-305.027 197.907 M
-305.027 199.564 303.684 200.907 302.027 200.907 curveto
-300.37 200.907 299.027 199.564 299.027 197.907 curveto
-299.027 196.25 300.37 194.907 302.027 194.907 curveto
-303.684 194.907 305.027 196.25 305.027 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-305.331 197.907 M
-305.331 199.564 303.988 200.907 302.331 200.907 curveto
-300.674 200.907 299.331 199.564 299.331 197.907 curveto
-299.331 196.25 300.674 194.907 302.331 194.907 curveto
-303.988 194.907 305.331 196.25 305.331 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-305.331 197.907 M
-305.331 199.564 303.988 200.907 302.331 200.907 curveto
-300.674 200.907 299.331 199.564 299.331 197.907 curveto
-299.331 196.25 300.674 194.907 302.331 194.907 curveto
-303.988 194.907 305.331 196.25 305.331 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-305.635 197.907 M
-305.635 199.564 304.292 200.907 302.635 200.907 curveto
-300.978 200.907 299.635 199.564 299.635 197.907 curveto
-299.635 196.25 300.978 194.907 302.635 194.907 curveto
-304.292 194.907 305.635 196.25 305.635 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-305.635 197.907 M
-305.635 199.564 304.292 200.907 302.635 200.907 curveto
-300.978 200.907 299.635 199.564 299.635 197.907 curveto
-299.635 196.25 300.978 194.907 302.635 194.907 curveto
-304.292 194.907 305.635 196.25 305.635 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-305.938 197.907 M
-305.938 199.564 304.595 200.907 302.938 200.907 curveto
-301.282 200.907 299.938 199.564 299.938 197.907 curveto
-299.938 196.25 301.282 194.907 302.938 194.907 curveto
-304.595 194.907 305.938 196.25 305.938 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-305.938 197.907 M
-305.938 199.564 304.595 200.907 302.938 200.907 curveto
-301.282 200.907 299.938 199.564 299.938 197.907 curveto
-299.938 196.25 301.282 194.907 302.938 194.907 curveto
-304.595 194.907 305.938 196.25 305.938 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-306.242 197.907 M
-306.242 199.564 304.899 200.907 303.242 200.907 curveto
-301.585 200.907 300.242 199.564 300.242 197.907 curveto
-300.242 196.25 301.585 194.907 303.242 194.907 curveto
-304.899 194.907 306.242 196.25 306.242 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-306.242 197.907 M
-306.242 199.564 304.899 200.907 303.242 200.907 curveto
-301.585 200.907 300.242 199.564 300.242 197.907 curveto
-300.242 196.25 301.585 194.907 303.242 194.907 curveto
-304.899 194.907 306.242 196.25 306.242 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-306.546 197.907 M
-306.546 199.564 305.203 200.907 303.546 200.907 curveto
-301.889 200.907 300.546 199.564 300.546 197.907 curveto
-300.546 196.25 301.889 194.907 303.546 194.907 curveto
-305.203 194.907 306.546 196.25 306.546 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-306.546 197.907 M
-306.546 199.564 305.203 200.907 303.546 200.907 curveto
-301.889 200.907 300.546 199.564 300.546 197.907 curveto
-300.546 196.25 301.889 194.907 303.546 194.907 curveto
-305.203 194.907 306.546 196.25 306.546 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-306.85 197.907 M
-306.85 199.564 305.506 200.907 303.85 200.907 curveto
-302.193 200.907 300.85 199.564 300.85 197.907 curveto
-300.85 196.25 302.193 194.907 303.85 194.907 curveto
-305.506 194.907 306.85 196.25 306.85 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-306.85 197.907 M
-306.85 199.564 305.506 200.907 303.85 200.907 curveto
-302.193 200.907 300.85 199.564 300.85 197.907 curveto
-300.85 196.25 302.193 194.907 303.85 194.907 curveto
-305.506 194.907 306.85 196.25 306.85 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-307.153 197.907 M
-307.153 199.564 305.81 200.907 304.153 200.907 curveto
-302.496 200.907 301.153 199.564 301.153 197.907 curveto
-301.153 196.25 302.496 194.907 304.153 194.907 curveto
-305.81 194.907 307.153 196.25 307.153 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-307.153 197.907 M
-307.153 199.564 305.81 200.907 304.153 200.907 curveto
-302.496 200.907 301.153 199.564 301.153 197.907 curveto
-301.153 196.25 302.496 194.907 304.153 194.907 curveto
-305.81 194.907 307.153 196.25 307.153 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-307.457 219.455 M
-307.457 221.112 306.114 222.455 304.457 222.455 curveto
-302.8 222.455 301.457 221.112 301.457 219.455 curveto
-301.457 217.799 302.8 216.455 304.457 216.455 curveto
-306.114 216.455 307.457 217.799 307.457 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-307.457 219.455 M
-307.457 221.112 306.114 222.455 304.457 222.455 curveto
-302.8 222.455 301.457 221.112 301.457 219.455 curveto
-301.457 217.799 302.8 216.455 304.457 216.455 curveto
-306.114 216.455 307.457 217.799 307.457 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-307.761 241.004 M
-307.761 242.661 306.418 244.004 304.761 244.004 curveto
-303.104 244.004 301.761 242.661 301.761 241.004 curveto
-301.761 239.347 303.104 238.004 304.761 238.004 curveto
-306.418 238.004 307.761 239.347 307.761 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-307.761 241.004 M
-307.761 242.661 306.418 244.004 304.761 244.004 curveto
-303.104 244.004 301.761 242.661 301.761 241.004 curveto
-301.761 239.347 303.104 238.004 304.761 238.004 curveto
-306.418 238.004 307.761 239.347 307.761 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-308.065 241.004 M
-308.065 242.661 306.721 244.004 305.065 244.004 curveto
-303.408 244.004 302.065 242.661 302.065 241.004 curveto
-302.065 239.347 303.408 238.004 305.065 238.004 curveto
-306.721 238.004 308.065 239.347 308.065 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-308.065 241.004 M
-308.065 242.661 306.721 244.004 305.065 244.004 curveto
-303.408 244.004 302.065 242.661 302.065 241.004 curveto
-302.065 239.347 303.408 238.004 305.065 238.004 curveto
-306.721 238.004 308.065 239.347 308.065 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-308.368 241.004 M
-308.368 242.661 307.025 244.004 305.368 244.004 curveto
-303.711 244.004 302.368 242.661 302.368 241.004 curveto
-302.368 239.347 303.711 238.004 305.368 238.004 curveto
-307.025 238.004 308.368 239.347 308.368 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-308.368 241.004 M
-308.368 242.661 307.025 244.004 305.368 244.004 curveto
-303.711 244.004 302.368 242.661 302.368 241.004 curveto
-302.368 239.347 303.711 238.004 305.368 238.004 curveto
-307.025 238.004 308.368 239.347 308.368 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-308.672 241.004 M
-308.672 242.661 307.329 244.004 305.672 244.004 curveto
-304.015 244.004 302.672 242.661 302.672 241.004 curveto
-302.672 239.347 304.015 238.004 305.672 238.004 curveto
-307.329 238.004 308.672 239.347 308.672 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-308.672 241.004 M
-308.672 242.661 307.329 244.004 305.672 244.004 curveto
-304.015 244.004 302.672 242.661 302.672 241.004 curveto
-302.672 239.347 304.015 238.004 305.672 238.004 curveto
-307.329 238.004 308.672 239.347 308.672 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-308.976 241.004 M
-308.976 242.661 307.633 244.004 305.976 244.004 curveto
-304.319 244.004 302.976 242.661 302.976 241.004 curveto
-302.976 239.347 304.319 238.004 305.976 238.004 curveto
-307.633 238.004 308.976 239.347 308.976 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-308.976 241.004 M
-308.976 242.661 307.633 244.004 305.976 244.004 curveto
-304.319 244.004 302.976 242.661 302.976 241.004 curveto
-302.976 239.347 304.319 238.004 305.976 238.004 curveto
-307.633 238.004 308.976 239.347 308.976 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-309.279 241.004 M
-309.279 242.661 307.936 244.004 306.279 244.004 curveto
-304.623 244.004 303.279 242.661 303.279 241.004 curveto
-303.279 239.347 304.623 238.004 306.279 238.004 curveto
-307.936 238.004 309.279 239.347 309.279 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-309.279 241.004 M
-309.279 242.661 307.936 244.004 306.279 244.004 curveto
-304.623 244.004 303.279 242.661 303.279 241.004 curveto
-303.279 239.347 304.623 238.004 306.279 238.004 curveto
-307.936 238.004 309.279 239.347 309.279 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-309.583 241.004 M
-309.583 242.661 308.24 244.004 306.583 244.004 curveto
-304.926 244.004 303.583 242.661 303.583 241.004 curveto
-303.583 239.347 304.926 238.004 306.583 238.004 curveto
-308.24 238.004 309.583 239.347 309.583 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-309.583 241.004 M
-309.583 242.661 308.24 244.004 306.583 244.004 curveto
-304.926 244.004 303.583 242.661 303.583 241.004 curveto
-303.583 239.347 304.926 238.004 306.583 238.004 curveto
-308.24 238.004 309.583 239.347 309.583 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-309.887 219.455 M
-309.887 221.112 308.544 222.455 306.887 222.455 curveto
-305.23 222.455 303.887 221.112 303.887 219.455 curveto
-303.887 217.799 305.23 216.455 306.887 216.455 curveto
-308.544 216.455 309.887 217.799 309.887 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-309.887 219.455 M
-309.887 221.112 308.544 222.455 306.887 222.455 curveto
-305.23 222.455 303.887 221.112 303.887 219.455 curveto
-303.887 217.799 305.23 216.455 306.887 216.455 curveto
-308.544 216.455 309.887 217.799 309.887 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-310.191 219.455 M
-310.191 221.112 308.848 222.455 307.191 222.455 curveto
-305.534 222.455 304.191 221.112 304.191 219.455 curveto
-304.191 217.799 305.534 216.455 307.191 216.455 curveto
-308.848 216.455 310.191 217.799 310.191 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-310.191 219.455 M
-310.191 221.112 308.848 222.455 307.191 222.455 curveto
-305.534 222.455 304.191 221.112 304.191 219.455 curveto
-304.191 217.799 305.534 216.455 307.191 216.455 curveto
-308.848 216.455 310.191 217.799 310.191 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-310.494 219.455 M
-310.494 221.112 309.151 222.455 307.494 222.455 curveto
-305.838 222.455 304.494 221.112 304.494 219.455 curveto
-304.494 217.799 305.838 216.455 307.494 216.455 curveto
-309.151 216.455 310.494 217.799 310.494 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-310.494 219.455 M
-310.494 221.112 309.151 222.455 307.494 222.455 curveto
-305.838 222.455 304.494 221.112 304.494 219.455 curveto
-304.494 217.799 305.838 216.455 307.494 216.455 curveto
-309.151 216.455 310.494 217.799 310.494 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-310.798 219.455 M
-310.798 221.112 309.455 222.455 307.798 222.455 curveto
-306.141 222.455 304.798 221.112 304.798 219.455 curveto
-304.798 217.799 306.141 216.455 307.798 216.455 curveto
-309.455 216.455 310.798 217.799 310.798 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-310.798 219.455 M
-310.798 221.112 309.455 222.455 307.798 222.455 curveto
-306.141 222.455 304.798 221.112 304.798 219.455 curveto
-304.798 217.799 306.141 216.455 307.798 216.455 curveto
-309.455 216.455 310.798 217.799 310.798 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-311.102 219.455 M
-311.102 221.112 309.759 222.455 308.102 222.455 curveto
-306.445 222.455 305.102 221.112 305.102 219.455 curveto
-305.102 217.799 306.445 216.455 308.102 216.455 curveto
-309.759 216.455 311.102 217.799 311.102 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-311.102 219.455 M
-311.102 221.112 309.759 222.455 308.102 222.455 curveto
-306.445 222.455 305.102 221.112 305.102 219.455 curveto
-305.102 217.799 306.445 216.455 308.102 216.455 curveto
-309.759 216.455 311.102 217.799 311.102 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-311.406 219.455 M
-311.406 221.112 310.063 222.455 308.406 222.455 curveto
-306.749 222.455 305.406 221.112 305.406 219.455 curveto
-305.406 217.799 306.749 216.455 308.406 216.455 curveto
-310.063 216.455 311.406 217.799 311.406 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-311.406 219.455 M
-311.406 221.112 310.063 222.455 308.406 222.455 curveto
-306.749 222.455 305.406 221.112 305.406 219.455 curveto
-305.406 217.799 306.749 216.455 308.406 216.455 curveto
-310.063 216.455 311.406 217.799 311.406 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-311.709 219.455 M
-311.709 221.112 310.366 222.455 308.709 222.455 curveto
-307.053 222.455 305.709 221.112 305.709 219.455 curveto
-305.709 217.799 307.053 216.455 308.709 216.455 curveto
-310.366 216.455 311.709 217.799 311.709 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-311.709 219.455 M
-311.709 221.112 310.366 222.455 308.709 222.455 curveto
-307.053 222.455 305.709 221.112 305.709 219.455 curveto
-305.709 217.799 307.053 216.455 308.709 216.455 curveto
-310.366 216.455 311.709 217.799 311.709 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-312.013 219.455 M
-312.013 221.112 310.67 222.455 309.013 222.455 curveto
-307.356 222.455 306.013 221.112 306.013 219.455 curveto
-306.013 217.799 307.356 216.455 309.013 216.455 curveto
-310.67 216.455 312.013 217.799 312.013 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-312.013 219.455 M
-312.013 221.112 310.67 222.455 309.013 222.455 curveto
-307.356 222.455 306.013 221.112 306.013 219.455 curveto
-306.013 217.799 307.356 216.455 309.013 216.455 curveto
-310.67 216.455 312.013 217.799 312.013 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-312.317 219.455 M
-312.317 221.112 310.974 222.455 309.317 222.455 curveto
-307.66 222.455 306.317 221.112 306.317 219.455 curveto
-306.317 217.799 307.66 216.455 309.317 216.455 curveto
-310.974 216.455 312.317 217.799 312.317 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-312.317 219.455 M
-312.317 221.112 310.974 222.455 309.317 222.455 curveto
-307.66 222.455 306.317 221.112 306.317 219.455 curveto
-306.317 217.799 307.66 216.455 309.317 216.455 curveto
-310.974 216.455 312.317 217.799 312.317 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-312.621 219.455 M
-312.621 221.112 311.277 222.455 309.621 222.455 curveto
-307.964 222.455 306.621 221.112 306.621 219.455 curveto
-306.621 217.799 307.964 216.455 309.621 216.455 curveto
-311.277 216.455 312.621 217.799 312.621 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-312.621 219.455 M
-312.621 221.112 311.277 222.455 309.621 222.455 curveto
-307.964 222.455 306.621 221.112 306.621 219.455 curveto
-306.621 217.799 307.964 216.455 309.621 216.455 curveto
-311.277 216.455 312.621 217.799 312.621 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-312.924 219.455 M
-312.924 221.112 311.581 222.455 309.924 222.455 curveto
-308.267 222.455 306.924 221.112 306.924 219.455 curveto
-306.924 217.799 308.267 216.455 309.924 216.455 curveto
-311.581 216.455 312.924 217.799 312.924 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-312.924 219.455 M
-312.924 221.112 311.581 222.455 309.924 222.455 curveto
-308.267 222.455 306.924 221.112 306.924 219.455 curveto
-306.924 217.799 308.267 216.455 309.924 216.455 curveto
-311.581 216.455 312.924 217.799 312.924 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-313.228 219.455 M
-313.228 221.112 311.885 222.455 310.228 222.455 curveto
-308.571 222.455 307.228 221.112 307.228 219.455 curveto
-307.228 217.799 308.571 216.455 310.228 216.455 curveto
-311.885 216.455 313.228 217.799 313.228 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-313.228 219.455 M
-313.228 221.112 311.885 222.455 310.228 222.455 curveto
-308.571 222.455 307.228 221.112 307.228 219.455 curveto
-307.228 217.799 308.571 216.455 310.228 216.455 curveto
-311.885 216.455 313.228 217.799 313.228 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-313.532 219.455 M
-313.532 221.112 312.189 222.455 310.532 222.455 curveto
-308.875 222.455 307.532 221.112 307.532 219.455 curveto
-307.532 217.799 308.875 216.455 310.532 216.455 curveto
-312.189 216.455 313.532 217.799 313.532 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-313.532 219.455 M
-313.532 221.112 312.189 222.455 310.532 222.455 curveto
-308.875 222.455 307.532 221.112 307.532 219.455 curveto
-307.532 217.799 308.875 216.455 310.532 216.455 curveto
-312.189 216.455 313.532 217.799 313.532 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-313.836 219.455 M
-313.836 221.112 312.492 222.455 310.836 222.455 curveto
-309.179 222.455 307.836 221.112 307.836 219.455 curveto
-307.836 217.799 309.179 216.455 310.836 216.455 curveto
-312.492 216.455 313.836 217.799 313.836 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-313.836 219.455 M
-313.836 221.112 312.492 222.455 310.836 222.455 curveto
-309.179 222.455 307.836 221.112 307.836 219.455 curveto
-307.836 217.799 309.179 216.455 310.836 216.455 curveto
-312.492 216.455 313.836 217.799 313.836 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-314.139 219.455 M
-314.139 221.112 312.796 222.455 311.139 222.455 curveto
-309.482 222.455 308.139 221.112 308.139 219.455 curveto
-308.139 217.799 309.482 216.455 311.139 216.455 curveto
-312.796 216.455 314.139 217.799 314.139 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-314.139 219.455 M
-314.139 221.112 312.796 222.455 311.139 222.455 curveto
-309.482 222.455 308.139 221.112 308.139 219.455 curveto
-308.139 217.799 309.482 216.455 311.139 216.455 curveto
-312.796 216.455 314.139 217.799 314.139 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-314.443 219.455 M
-314.443 221.112 313.1 222.455 311.443 222.455 curveto
-309.786 222.455 308.443 221.112 308.443 219.455 curveto
-308.443 217.799 309.786 216.455 311.443 216.455 curveto
-313.1 216.455 314.443 217.799 314.443 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-314.443 219.455 M
-314.443 221.112 313.1 222.455 311.443 222.455 curveto
-309.786 222.455 308.443 221.112 308.443 219.455 curveto
-308.443 217.799 309.786 216.455 311.443 216.455 curveto
-313.1 216.455 314.443 217.799 314.443 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-314.747 219.455 M
-314.747 221.112 313.404 222.455 311.747 222.455 curveto
-310.09 222.455 308.747 221.112 308.747 219.455 curveto
-308.747 217.799 310.09 216.455 311.747 216.455 curveto
-313.404 216.455 314.747 217.799 314.747 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-314.747 219.455 M
-314.747 221.112 313.404 222.455 311.747 222.455 curveto
-310.09 222.455 308.747 221.112 308.747 219.455 curveto
-308.747 217.799 310.09 216.455 311.747 216.455 curveto
-313.404 216.455 314.747 217.799 314.747 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-315.051 219.455 M
-315.051 221.112 313.707 222.455 312.051 222.455 curveto
-310.394 222.455 309.051 221.112 309.051 219.455 curveto
-309.051 217.799 310.394 216.455 312.051 216.455 curveto
-313.707 216.455 315.051 217.799 315.051 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-315.051 219.455 M
-315.051 221.112 313.707 222.455 312.051 222.455 curveto
-310.394 222.455 309.051 221.112 309.051 219.455 curveto
-309.051 217.799 310.394 216.455 312.051 216.455 curveto
-313.707 216.455 315.051 217.799 315.051 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-315.354 219.455 M
-315.354 221.112 314.011 222.455 312.354 222.455 curveto
-310.697 222.455 309.354 221.112 309.354 219.455 curveto
-309.354 217.799 310.697 216.455 312.354 216.455 curveto
-314.011 216.455 315.354 217.799 315.354 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-315.354 219.455 M
-315.354 221.112 314.011 222.455 312.354 222.455 curveto
-310.697 222.455 309.354 221.112 309.354 219.455 curveto
-309.354 217.799 310.697 216.455 312.354 216.455 curveto
-314.011 216.455 315.354 217.799 315.354 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-315.658 219.455 M
-315.658 221.112 314.315 222.455 312.658 222.455 curveto
-311.001 222.455 309.658 221.112 309.658 219.455 curveto
-309.658 217.799 311.001 216.455 312.658 216.455 curveto
-314.315 216.455 315.658 217.799 315.658 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-315.658 219.455 M
-315.658 221.112 314.315 222.455 312.658 222.455 curveto
-311.001 222.455 309.658 221.112 309.658 219.455 curveto
-309.658 217.799 311.001 216.455 312.658 216.455 curveto
-314.315 216.455 315.658 217.799 315.658 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-315.962 219.455 M
-315.962 221.112 314.619 222.455 312.962 222.455 curveto
-311.305 222.455 309.962 221.112 309.962 219.455 curveto
-309.962 217.799 311.305 216.455 312.962 216.455 curveto
-314.619 216.455 315.962 217.799 315.962 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-315.962 219.455 M
-315.962 221.112 314.619 222.455 312.962 222.455 curveto
-311.305 222.455 309.962 221.112 309.962 219.455 curveto
-309.962 217.799 311.305 216.455 312.962 216.455 curveto
-314.619 216.455 315.962 217.799 315.962 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-316.265 219.455 M
-316.265 221.112 314.922 222.455 313.265 222.455 curveto
-311.609 222.455 310.265 221.112 310.265 219.455 curveto
-310.265 217.799 311.609 216.455 313.265 216.455 curveto
-314.922 216.455 316.265 217.799 316.265 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-316.265 219.455 M
-316.265 221.112 314.922 222.455 313.265 222.455 curveto
-311.609 222.455 310.265 221.112 310.265 219.455 curveto
-310.265 217.799 311.609 216.455 313.265 216.455 curveto
-314.922 216.455 316.265 217.799 316.265 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-316.569 219.455 M
-316.569 221.112 315.226 222.455 313.569 222.455 curveto
-311.912 222.455 310.569 221.112 310.569 219.455 curveto
-310.569 217.799 311.912 216.455 313.569 216.455 curveto
-315.226 216.455 316.569 217.799 316.569 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-316.569 219.455 M
-316.569 221.112 315.226 222.455 313.569 222.455 curveto
-311.912 222.455 310.569 221.112 310.569 219.455 curveto
-310.569 217.799 311.912 216.455 313.569 216.455 curveto
-315.226 216.455 316.569 217.799 316.569 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-316.873 219.455 M
-316.873 221.112 315.53 222.455 313.873 222.455 curveto
-312.216 222.455 310.873 221.112 310.873 219.455 curveto
-310.873 217.799 312.216 216.455 313.873 216.455 curveto
-315.53 216.455 316.873 217.799 316.873 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-316.873 219.455 M
-316.873 221.112 315.53 222.455 313.873 222.455 curveto
-312.216 222.455 310.873 221.112 310.873 219.455 curveto
-310.873 217.799 312.216 216.455 313.873 216.455 curveto
-315.53 216.455 316.873 217.799 316.873 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-317.177 219.455 M
-317.177 221.112 315.834 222.455 314.177 222.455 curveto
-312.52 222.455 311.177 221.112 311.177 219.455 curveto
-311.177 217.799 312.52 216.455 314.177 216.455 curveto
-315.834 216.455 317.177 217.799 317.177 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-317.177 219.455 M
-317.177 221.112 315.834 222.455 314.177 222.455 curveto
-312.52 222.455 311.177 221.112 311.177 219.455 curveto
-311.177 217.799 312.52 216.455 314.177 216.455 curveto
-315.834 216.455 317.177 217.799 317.177 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-317.48 219.455 M
-317.48 221.112 316.137 222.455 314.48 222.455 curveto
-312.824 222.455 311.48 221.112 311.48 219.455 curveto
-311.48 217.799 312.824 216.455 314.48 216.455 curveto
-316.137 216.455 317.48 217.799 317.48 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-317.48 219.455 M
-317.48 221.112 316.137 222.455 314.48 222.455 curveto
-312.824 222.455 311.48 221.112 311.48 219.455 curveto
-311.48 217.799 312.824 216.455 314.48 216.455 curveto
-316.137 216.455 317.48 217.799 317.48 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-317.784 219.455 M
-317.784 221.112 316.441 222.455 314.784 222.455 curveto
-313.127 222.455 311.784 221.112 311.784 219.455 curveto
-311.784 217.799 313.127 216.455 314.784 216.455 curveto
-316.441 216.455 317.784 217.799 317.784 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-317.784 219.455 M
-317.784 221.112 316.441 222.455 314.784 222.455 curveto
-313.127 222.455 311.784 221.112 311.784 219.455 curveto
-311.784 217.799 313.127 216.455 314.784 216.455 curveto
-316.441 216.455 317.784 217.799 317.784 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-318.088 219.455 M
-318.088 221.112 316.745 222.455 315.088 222.455 curveto
-313.431 222.455 312.088 221.112 312.088 219.455 curveto
-312.088 217.799 313.431 216.455 315.088 216.455 curveto
-316.745 216.455 318.088 217.799 318.088 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-318.088 219.455 M
-318.088 221.112 316.745 222.455 315.088 222.455 curveto
-313.431 222.455 312.088 221.112 312.088 219.455 curveto
-312.088 217.799 313.431 216.455 315.088 216.455 curveto
-316.745 216.455 318.088 217.799 318.088 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-318.392 219.455 M
-318.392 221.112 317.048 222.455 315.392 222.455 curveto
-313.735 222.455 312.392 221.112 312.392 219.455 curveto
-312.392 217.799 313.735 216.455 315.392 216.455 curveto
-317.048 216.455 318.392 217.799 318.392 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-318.392 219.455 M
-318.392 221.112 317.048 222.455 315.392 222.455 curveto
-313.735 222.455 312.392 221.112 312.392 219.455 curveto
-312.392 217.799 313.735 216.455 315.392 216.455 curveto
-317.048 216.455 318.392 217.799 318.392 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-318.695 219.455 M
-318.695 221.112 317.352 222.455 315.695 222.455 curveto
-314.038 222.455 312.695 221.112 312.695 219.455 curveto
-312.695 217.799 314.038 216.455 315.695 216.455 curveto
-317.352 216.455 318.695 217.799 318.695 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-318.695 219.455 M
-318.695 221.112 317.352 222.455 315.695 222.455 curveto
-314.038 222.455 312.695 221.112 312.695 219.455 curveto
-312.695 217.799 314.038 216.455 315.695 216.455 curveto
-317.352 216.455 318.695 217.799 318.695 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-318.999 219.455 M
-318.999 221.112 317.656 222.455 315.999 222.455 curveto
-314.342 222.455 312.999 221.112 312.999 219.455 curveto
-312.999 217.799 314.342 216.455 315.999 216.455 curveto
-317.656 216.455 318.999 217.799 318.999 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-318.999 219.455 M
-318.999 221.112 317.656 222.455 315.999 222.455 curveto
-314.342 222.455 312.999 221.112 312.999 219.455 curveto
-312.999 217.799 314.342 216.455 315.999 216.455 curveto
-317.656 216.455 318.999 217.799 318.999 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-319.303 219.455 M
-319.303 221.112 317.96 222.455 316.303 222.455 curveto
-314.646 222.455 313.303 221.112 313.303 219.455 curveto
-313.303 217.799 314.646 216.455 316.303 216.455 curveto
-317.96 216.455 319.303 217.799 319.303 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.303 219.455 M
-319.303 221.112 317.96 222.455 316.303 222.455 curveto
-314.646 222.455 313.303 221.112 313.303 219.455 curveto
-313.303 217.799 314.646 216.455 316.303 216.455 curveto
-317.96 216.455 319.303 217.799 319.303 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-319.607 219.455 M
-319.607 221.112 318.263 222.455 316.607 222.455 curveto
-314.95 222.455 313.607 221.112 313.607 219.455 curveto
-313.607 217.799 314.95 216.455 316.607 216.455 curveto
-318.263 216.455 319.607 217.799 319.607 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.607 219.455 M
-319.607 221.112 318.263 222.455 316.607 222.455 curveto
-314.95 222.455 313.607 221.112 313.607 219.455 curveto
-313.607 217.799 314.95 216.455 316.607 216.455 curveto
-318.263 216.455 319.607 217.799 319.607 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-319.91 219.455 M
-319.91 221.112 318.567 222.455 316.91 222.455 curveto
-315.253 222.455 313.91 221.112 313.91 219.455 curveto
-313.91 217.799 315.253 216.455 316.91 216.455 curveto
-318.567 216.455 319.91 217.799 319.91 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.91 219.455 M
-319.91 221.112 318.567 222.455 316.91 222.455 curveto
-315.253 222.455 313.91 221.112 313.91 219.455 curveto
-313.91 217.799 315.253 216.455 316.91 216.455 curveto
-318.567 216.455 319.91 217.799 319.91 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-320.214 219.455 M
-320.214 221.112 318.871 222.455 317.214 222.455 curveto
-315.557 222.455 314.214 221.112 314.214 219.455 curveto
-314.214 217.799 315.557 216.455 317.214 216.455 curveto
-318.871 216.455 320.214 217.799 320.214 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-320.214 219.455 M
-320.214 221.112 318.871 222.455 317.214 222.455 curveto
-315.557 222.455 314.214 221.112 314.214 219.455 curveto
-314.214 217.799 315.557 216.455 317.214 216.455 curveto
-318.871 216.455 320.214 217.799 320.214 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-320.518 241.004 M
-320.518 242.661 319.175 244.004 317.518 244.004 curveto
-315.861 244.004 314.518 242.661 314.518 241.004 curveto
-314.518 239.347 315.861 238.004 317.518 238.004 curveto
-319.175 238.004 320.518 239.347 320.518 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-320.518 241.004 M
-320.518 242.661 319.175 244.004 317.518 244.004 curveto
-315.861 244.004 314.518 242.661 314.518 241.004 curveto
-314.518 239.347 315.861 238.004 317.518 238.004 curveto
-319.175 238.004 320.518 239.347 320.518 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-320.822 241.004 M
-320.822 242.661 319.478 244.004 317.822 244.004 curveto
-316.165 244.004 314.822 242.661 314.822 241.004 curveto
-314.822 239.347 316.165 238.004 317.822 238.004 curveto
-319.478 238.004 320.822 239.347 320.822 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-320.822 241.004 M
-320.822 242.661 319.478 244.004 317.822 244.004 curveto
-316.165 244.004 314.822 242.661 314.822 241.004 curveto
-314.822 239.347 316.165 238.004 317.822 238.004 curveto
-319.478 238.004 320.822 239.347 320.822 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-321.125 241.004 M
-321.125 242.661 319.782 244.004 318.125 244.004 curveto
-316.468 244.004 315.125 242.661 315.125 241.004 curveto
-315.125 239.347 316.468 238.004 318.125 238.004 curveto
-319.782 238.004 321.125 239.347 321.125 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-321.125 241.004 M
-321.125 242.661 319.782 244.004 318.125 244.004 curveto
-316.468 244.004 315.125 242.661 315.125 241.004 curveto
-315.125 239.347 316.468 238.004 318.125 238.004 curveto
-319.782 238.004 321.125 239.347 321.125 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-321.429 241.004 M
-321.429 242.661 320.086 244.004 318.429 244.004 curveto
-316.772 244.004 315.429 242.661 315.429 241.004 curveto
-315.429 239.347 316.772 238.004 318.429 238.004 curveto
-320.086 238.004 321.429 239.347 321.429 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-321.429 241.004 M
-321.429 242.661 320.086 244.004 318.429 244.004 curveto
-316.772 244.004 315.429 242.661 315.429 241.004 curveto
-315.429 239.347 316.772 238.004 318.429 238.004 curveto
-320.086 238.004 321.429 239.347 321.429 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-321.733 241.004 M
-321.733 242.661 320.39 244.004 318.733 244.004 curveto
-317.076 244.004 315.733 242.661 315.733 241.004 curveto
-315.733 239.347 317.076 238.004 318.733 238.004 curveto
-320.39 238.004 321.733 239.347 321.733 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-321.733 241.004 M
-321.733 242.661 320.39 244.004 318.733 244.004 curveto
-317.076 244.004 315.733 242.661 315.733 241.004 curveto
-315.733 239.347 317.076 238.004 318.733 238.004 curveto
-320.39 238.004 321.733 239.347 321.733 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-322.036 241.004 M
-322.036 242.661 320.693 244.004 319.036 244.004 curveto
-317.38 244.004 316.036 242.661 316.036 241.004 curveto
-316.036 239.347 317.38 238.004 319.036 238.004 curveto
-320.693 238.004 322.036 239.347 322.036 241.004 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-322.036 241.004 M
-322.036 242.661 320.693 244.004 319.036 244.004 curveto
-317.38 244.004 316.036 242.661 316.036 241.004 curveto
-316.036 239.347 317.38 238.004 319.036 238.004 curveto
-320.693 238.004 322.036 239.347 322.036 241.004 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-322.34 262.552 M
-322.34 264.209 320.997 265.552 319.34 265.552 curveto
-317.683 265.552 316.34 264.209 316.34 262.552 curveto
-316.34 260.895 317.683 259.552 319.34 259.552 curveto
-320.997 259.552 322.34 260.895 322.34 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-322.34 262.552 M
-322.34 264.209 320.997 265.552 319.34 265.552 curveto
-317.683 265.552 316.34 264.209 316.34 262.552 curveto
-316.34 260.895 317.683 259.552 319.34 259.552 curveto
-320.997 259.552 322.34 260.895 322.34 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-322.644 284.1 M
-322.644 285.757 321.301 287.1 319.644 287.1 curveto
-317.987 287.1 316.644 285.757 316.644 284.1 curveto
-316.644 282.443 317.987 281.1 319.644 281.1 curveto
-321.301 281.1 322.644 282.443 322.644 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-322.644 284.1 M
-322.644 285.757 321.301 287.1 319.644 287.1 curveto
-317.987 287.1 316.644 285.757 316.644 284.1 curveto
-316.644 282.443 317.987 281.1 319.644 281.1 curveto
-321.301 281.1 322.644 282.443 322.644 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-322.948 284.1 M
-322.948 285.757 321.605 287.1 319.948 287.1 curveto
-318.291 287.1 316.948 285.757 316.948 284.1 curveto
-316.948 282.443 318.291 281.1 319.948 281.1 curveto
-321.605 281.1 322.948 282.443 322.948 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-322.948 284.1 M
-322.948 285.757 321.605 287.1 319.948 287.1 curveto
-318.291 287.1 316.948 285.757 316.948 284.1 curveto
-316.948 282.443 318.291 281.1 319.948 281.1 curveto
-321.605 281.1 322.948 282.443 322.948 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-323.251 284.1 M
-323.251 285.757 321.908 287.1 320.251 287.1 curveto
-318.595 287.1 317.251 285.757 317.251 284.1 curveto
-317.251 282.443 318.595 281.1 320.251 281.1 curveto
-321.908 281.1 323.251 282.443 323.251 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-323.251 284.1 M
-323.251 285.757 321.908 287.1 320.251 287.1 curveto
-318.595 287.1 317.251 285.757 317.251 284.1 curveto
-317.251 282.443 318.595 281.1 320.251 281.1 curveto
-321.908 281.1 323.251 282.443 323.251 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-323.555 284.1 M
-323.555 285.757 322.212 287.1 320.555 287.1 curveto
-318.898 287.1 317.555 285.757 317.555 284.1 curveto
-317.555 282.443 318.898 281.1 320.555 281.1 curveto
-322.212 281.1 323.555 282.443 323.555 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-323.555 284.1 M
-323.555 285.757 322.212 287.1 320.555 287.1 curveto
-318.898 287.1 317.555 285.757 317.555 284.1 curveto
-317.555 282.443 318.898 281.1 320.555 281.1 curveto
-322.212 281.1 323.555 282.443 323.555 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-323.859 284.1 M
-323.859 285.757 322.516 287.1 320.859 287.1 curveto
-319.202 287.1 317.859 285.757 317.859 284.1 curveto
-317.859 282.443 319.202 281.1 320.859 281.1 curveto
-322.516 281.1 323.859 282.443 323.859 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-323.859 284.1 M
-323.859 285.757 322.516 287.1 320.859 287.1 curveto
-319.202 287.1 317.859 285.757 317.859 284.1 curveto
-317.859 282.443 319.202 281.1 320.859 281.1 curveto
-322.516 281.1 323.859 282.443 323.859 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-324.163 284.1 M
-324.163 285.757 322.819 287.1 321.163 287.1 curveto
-319.506 287.1 318.163 285.757 318.163 284.1 curveto
-318.163 282.443 319.506 281.1 321.163 281.1 curveto
-322.819 281.1 324.163 282.443 324.163 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-324.163 284.1 M
-324.163 285.757 322.819 287.1 321.163 287.1 curveto
-319.506 287.1 318.163 285.757 318.163 284.1 curveto
-318.163 282.443 319.506 281.1 321.163 281.1 curveto
-322.819 281.1 324.163 282.443 324.163 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-324.466 284.1 M
-324.466 285.757 323.123 287.1 321.466 287.1 curveto
-319.81 287.1 318.466 285.757 318.466 284.1 curveto
-318.466 282.443 319.81 281.1 321.466 281.1 curveto
-323.123 281.1 324.466 282.443 324.466 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-324.466 284.1 M
-324.466 285.757 323.123 287.1 321.466 287.1 curveto
-319.81 287.1 318.466 285.757 318.466 284.1 curveto
-318.466 282.443 319.81 281.1 321.466 281.1 curveto
-323.123 281.1 324.466 282.443 324.466 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-324.77 284.1 M
-324.77 285.757 323.427 287.1 321.77 287.1 curveto
-320.113 287.1 318.77 285.757 318.77 284.1 curveto
-318.77 282.443 320.113 281.1 321.77 281.1 curveto
-323.427 281.1 324.77 282.443 324.77 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-324.77 284.1 M
-324.77 285.757 323.427 287.1 321.77 287.1 curveto
-320.113 287.1 318.77 285.757 318.77 284.1 curveto
-318.77 282.443 320.113 281.1 321.77 281.1 curveto
-323.427 281.1 324.77 282.443 324.77 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-325.074 284.1 M
-325.074 285.757 323.731 287.1 322.074 287.1 curveto
-320.417 287.1 319.074 285.757 319.074 284.1 curveto
-319.074 282.443 320.417 281.1 322.074 281.1 curveto
-323.731 281.1 325.074 282.443 325.074 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-325.074 284.1 M
-325.074 285.757 323.731 287.1 322.074 287.1 curveto
-320.417 287.1 319.074 285.757 319.074 284.1 curveto
-319.074 282.443 320.417 281.1 322.074 281.1 curveto
-323.731 281.1 325.074 282.443 325.074 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-325.378 284.1 M
-325.378 285.757 324.034 287.1 322.378 287.1 curveto
-320.721 287.1 319.378 285.757 319.378 284.1 curveto
-319.378 282.443 320.721 281.1 322.378 281.1 curveto
-324.034 281.1 325.378 282.443 325.378 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-325.378 284.1 M
-325.378 285.757 324.034 287.1 322.378 287.1 curveto
-320.721 287.1 319.378 285.757 319.378 284.1 curveto
-319.378 282.443 320.721 281.1 322.378 281.1 curveto
-324.034 281.1 325.378 282.443 325.378 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-325.681 284.1 M
-325.681 285.757 324.338 287.1 322.681 287.1 curveto
-321.024 287.1 319.681 285.757 319.681 284.1 curveto
-319.681 282.443 321.024 281.1 322.681 281.1 curveto
-324.338 281.1 325.681 282.443 325.681 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-325.681 284.1 M
-325.681 285.757 324.338 287.1 322.681 287.1 curveto
-321.024 287.1 319.681 285.757 319.681 284.1 curveto
-319.681 282.443 321.024 281.1 322.681 281.1 curveto
-324.338 281.1 325.681 282.443 325.681 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-325.985 284.1 M
-325.985 285.757 324.642 287.1 322.985 287.1 curveto
-321.328 287.1 319.985 285.757 319.985 284.1 curveto
-319.985 282.443 321.328 281.1 322.985 281.1 curveto
-324.642 281.1 325.985 282.443 325.985 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-325.985 284.1 M
-325.985 285.757 324.642 287.1 322.985 287.1 curveto
-321.328 287.1 319.985 285.757 319.985 284.1 curveto
-319.985 282.443 321.328 281.1 322.985 281.1 curveto
-324.642 281.1 325.985 282.443 325.985 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-326.289 284.1 M
-326.289 285.757 324.946 287.1 323.289 287.1 curveto
-321.632 287.1 320.289 285.757 320.289 284.1 curveto
-320.289 282.443 321.632 281.1 323.289 281.1 curveto
-324.946 281.1 326.289 282.443 326.289 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-326.289 284.1 M
-326.289 285.757 324.946 287.1 323.289 287.1 curveto
-321.632 287.1 320.289 285.757 320.289 284.1 curveto
-320.289 282.443 321.632 281.1 323.289 281.1 curveto
-324.946 281.1 326.289 282.443 326.289 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-326.593 284.1 M
-326.593 285.757 325.249 287.1 323.593 287.1 curveto
-321.936 287.1 320.593 285.757 320.593 284.1 curveto
-320.593 282.443 321.936 281.1 323.593 281.1 curveto
-325.249 281.1 326.593 282.443 326.593 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-326.593 284.1 M
-326.593 285.757 325.249 287.1 323.593 287.1 curveto
-321.936 287.1 320.593 285.757 320.593 284.1 curveto
-320.593 282.443 321.936 281.1 323.593 281.1 curveto
-325.249 281.1 326.593 282.443 326.593 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-326.896 219.455 M
-326.896 221.112 325.553 222.455 323.896 222.455 curveto
-322.239 222.455 320.896 221.112 320.896 219.455 curveto
-320.896 217.799 322.239 216.455 323.896 216.455 curveto
-325.553 216.455 326.896 217.799 326.896 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-326.896 219.455 M
-326.896 221.112 325.553 222.455 323.896 222.455 curveto
-322.239 222.455 320.896 221.112 320.896 219.455 curveto
-320.896 217.799 322.239 216.455 323.896 216.455 curveto
-325.553 216.455 326.896 217.799 326.896 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-327.2 219.455 M
-327.2 221.112 325.857 222.455 324.2 222.455 curveto
-322.543 222.455 321.2 221.112 321.2 219.455 curveto
-321.2 217.799 322.543 216.455 324.2 216.455 curveto
-325.857 216.455 327.2 217.799 327.2 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-327.2 219.455 M
-327.2 221.112 325.857 222.455 324.2 222.455 curveto
-322.543 222.455 321.2 221.112 321.2 219.455 curveto
-321.2 217.799 322.543 216.455 324.2 216.455 curveto
-325.857 216.455 327.2 217.799 327.2 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-327.504 219.455 M
-327.504 221.112 326.161 222.455 324.504 222.455 curveto
-322.847 222.455 321.504 221.112 321.504 219.455 curveto
-321.504 217.799 322.847 216.455 324.504 216.455 curveto
-326.161 216.455 327.504 217.799 327.504 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-327.504 219.455 M
-327.504 221.112 326.161 222.455 324.504 222.455 curveto
-322.847 222.455 321.504 221.112 321.504 219.455 curveto
-321.504 217.799 322.847 216.455 324.504 216.455 curveto
-326.161 216.455 327.504 217.799 327.504 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-327.807 219.455 M
-327.807 221.112 326.464 222.455 324.807 222.455 curveto
-323.151 222.455 321.807 221.112 321.807 219.455 curveto
-321.807 217.799 323.151 216.455 324.807 216.455 curveto
-326.464 216.455 327.807 217.799 327.807 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-327.807 219.455 M
-327.807 221.112 326.464 222.455 324.807 222.455 curveto
-323.151 222.455 321.807 221.112 321.807 219.455 curveto
-321.807 217.799 323.151 216.455 324.807 216.455 curveto
-326.464 216.455 327.807 217.799 327.807 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-328.111 219.455 M
-328.111 221.112 326.768 222.455 325.111 222.455 curveto
-323.454 222.455 322.111 221.112 322.111 219.455 curveto
-322.111 217.799 323.454 216.455 325.111 216.455 curveto
-326.768 216.455 328.111 217.799 328.111 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-328.111 219.455 M
-328.111 221.112 326.768 222.455 325.111 222.455 curveto
-323.454 222.455 322.111 221.112 322.111 219.455 curveto
-322.111 217.799 323.454 216.455 325.111 216.455 curveto
-326.768 216.455 328.111 217.799 328.111 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-328.415 219.455 M
-328.415 221.112 327.072 222.455 325.415 222.455 curveto
-323.758 222.455 322.415 221.112 322.415 219.455 curveto
-322.415 217.799 323.758 216.455 325.415 216.455 curveto
-327.072 216.455 328.415 217.799 328.415 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-328.415 219.455 M
-328.415 221.112 327.072 222.455 325.415 222.455 curveto
-323.758 222.455 322.415 221.112 322.415 219.455 curveto
-322.415 217.799 323.758 216.455 325.415 216.455 curveto
-327.072 216.455 328.415 217.799 328.415 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-328.719 219.455 M
-328.719 221.112 327.376 222.455 325.719 222.455 curveto
-324.062 222.455 322.719 221.112 322.719 219.455 curveto
-322.719 217.799 324.062 216.455 325.719 216.455 curveto
-327.376 216.455 328.719 217.799 328.719 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-328.719 219.455 M
-328.719 221.112 327.376 222.455 325.719 222.455 curveto
-324.062 222.455 322.719 221.112 322.719 219.455 curveto
-322.719 217.799 324.062 216.455 325.719 216.455 curveto
-327.376 216.455 328.719 217.799 328.719 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-329.022 219.455 M
-329.022 221.112 327.679 222.455 326.022 222.455 curveto
-324.366 222.455 323.022 221.112 323.022 219.455 curveto
-323.022 217.799 324.366 216.455 326.022 216.455 curveto
-327.679 216.455 329.022 217.799 329.022 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-329.022 219.455 M
-329.022 221.112 327.679 222.455 326.022 222.455 curveto
-324.366 222.455 323.022 221.112 323.022 219.455 curveto
-323.022 217.799 324.366 216.455 326.022 216.455 curveto
-327.679 216.455 329.022 217.799 329.022 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-329.326 219.455 M
-329.326 221.112 327.983 222.455 326.326 222.455 curveto
-324.669 222.455 323.326 221.112 323.326 219.455 curveto
-323.326 217.799 324.669 216.455 326.326 216.455 curveto
-327.983 216.455 329.326 217.799 329.326 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-329.326 219.455 M
-329.326 221.112 327.983 222.455 326.326 222.455 curveto
-324.669 222.455 323.326 221.112 323.326 219.455 curveto
-323.326 217.799 324.669 216.455 326.326 216.455 curveto
-327.983 216.455 329.326 217.799 329.326 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-329.63 219.455 M
-329.63 221.112 328.287 222.455 326.63 222.455 curveto
-324.973 222.455 323.63 221.112 323.63 219.455 curveto
-323.63 217.799 324.973 216.455 326.63 216.455 curveto
-328.287 216.455 329.63 217.799 329.63 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-329.63 219.455 M
-329.63 221.112 328.287 222.455 326.63 222.455 curveto
-324.973 222.455 323.63 221.112 323.63 219.455 curveto
-323.63 217.799 324.973 216.455 326.63 216.455 curveto
-328.287 216.455 329.63 217.799 329.63 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-329.934 219.455 M
-329.934 221.112 328.59 222.455 326.934 222.455 curveto
-325.277 222.455 323.934 221.112 323.934 219.455 curveto
-323.934 217.799 325.277 216.455 326.934 216.455 curveto
-328.59 216.455 329.934 217.799 329.934 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-329.934 219.455 M
-329.934 221.112 328.59 222.455 326.934 222.455 curveto
-325.277 222.455 323.934 221.112 323.934 219.455 curveto
-323.934 217.799 325.277 216.455 326.934 216.455 curveto
-328.59 216.455 329.934 217.799 329.934 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-330.237 219.455 M
-330.237 221.112 328.894 222.455 327.237 222.455 curveto
-325.581 222.455 324.237 221.112 324.237 219.455 curveto
-324.237 217.799 325.581 216.455 327.237 216.455 curveto
-328.894 216.455 330.237 217.799 330.237 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-330.237 219.455 M
-330.237 221.112 328.894 222.455 327.237 222.455 curveto
-325.581 222.455 324.237 221.112 324.237 219.455 curveto
-324.237 217.799 325.581 216.455 327.237 216.455 curveto
-328.894 216.455 330.237 217.799 330.237 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-330.541 219.455 M
-330.541 221.112 329.198 222.455 327.541 222.455 curveto
-325.884 222.455 324.541 221.112 324.541 219.455 curveto
-324.541 217.799 325.884 216.455 327.541 216.455 curveto
-329.198 216.455 330.541 217.799 330.541 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-330.541 219.455 M
-330.541 221.112 329.198 222.455 327.541 222.455 curveto
-325.884 222.455 324.541 221.112 324.541 219.455 curveto
-324.541 217.799 325.884 216.455 327.541 216.455 curveto
-329.198 216.455 330.541 217.799 330.541 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-330.845 176.359 M
-330.845 178.016 329.502 179.359 327.845 179.359 curveto
-326.188 179.359 324.845 178.016 324.845 176.359 curveto
-324.845 174.702 326.188 173.359 327.845 173.359 curveto
-329.502 173.359 330.845 174.702 330.845 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-330.845 176.359 M
-330.845 178.016 329.502 179.359 327.845 179.359 curveto
-326.188 179.359 324.845 178.016 324.845 176.359 curveto
-324.845 174.702 326.188 173.359 327.845 173.359 curveto
-329.502 173.359 330.845 174.702 330.845 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-331.149 176.359 M
-331.149 178.016 329.805 179.359 328.149 179.359 curveto
-326.492 179.359 325.149 178.016 325.149 176.359 curveto
-325.149 174.702 326.492 173.359 328.149 173.359 curveto
-329.805 173.359 331.149 174.702 331.149 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-331.149 176.359 M
-331.149 178.016 329.805 179.359 328.149 179.359 curveto
-326.492 179.359 325.149 178.016 325.149 176.359 curveto
-325.149 174.702 326.492 173.359 328.149 173.359 curveto
-329.805 173.359 331.149 174.702 331.149 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-331.452 197.907 M
-331.452 199.564 330.109 200.907 328.452 200.907 curveto
-326.795 200.907 325.452 199.564 325.452 197.907 curveto
-325.452 196.25 326.795 194.907 328.452 194.907 curveto
-330.109 194.907 331.452 196.25 331.452 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-331.452 197.907 M
-331.452 199.564 330.109 200.907 328.452 200.907 curveto
-326.795 200.907 325.452 199.564 325.452 197.907 curveto
-325.452 196.25 326.795 194.907 328.452 194.907 curveto
-330.109 194.907 331.452 196.25 331.452 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-331.756 197.907 M
-331.756 199.564 330.413 200.907 328.756 200.907 curveto
-327.099 200.907 325.756 199.564 325.756 197.907 curveto
-325.756 196.25 327.099 194.907 328.756 194.907 curveto
-330.413 194.907 331.756 196.25 331.756 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-331.756 197.907 M
-331.756 199.564 330.413 200.907 328.756 200.907 curveto
-327.099 200.907 325.756 199.564 325.756 197.907 curveto
-325.756 196.25 327.099 194.907 328.756 194.907 curveto
-330.413 194.907 331.756 196.25 331.756 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-332.06 197.907 M
-332.06 199.564 330.717 200.907 329.06 200.907 curveto
-327.403 200.907 326.06 199.564 326.06 197.907 curveto
-326.06 196.25 327.403 194.907 329.06 194.907 curveto
-330.717 194.907 332.06 196.25 332.06 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-332.06 197.907 M
-332.06 199.564 330.717 200.907 329.06 200.907 curveto
-327.403 200.907 326.06 199.564 326.06 197.907 curveto
-326.06 196.25 327.403 194.907 329.06 194.907 curveto
-330.717 194.907 332.06 196.25 332.06 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-332.364 197.907 M
-332.364 199.564 331.02 200.907 329.364 200.907 curveto
-327.707 200.907 326.364 199.564 326.364 197.907 curveto
-326.364 196.25 327.707 194.907 329.364 194.907 curveto
-331.02 194.907 332.364 196.25 332.364 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-332.364 197.907 M
-332.364 199.564 331.02 200.907 329.364 200.907 curveto
-327.707 200.907 326.364 199.564 326.364 197.907 curveto
-326.364 196.25 327.707 194.907 329.364 194.907 curveto
-331.02 194.907 332.364 196.25 332.364 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-332.667 197.907 M
-332.667 199.564 331.324 200.907 329.667 200.907 curveto
-328.01 200.907 326.667 199.564 326.667 197.907 curveto
-326.667 196.25 328.01 194.907 329.667 194.907 curveto
-331.324 194.907 332.667 196.25 332.667 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-332.667 197.907 M
-332.667 199.564 331.324 200.907 329.667 200.907 curveto
-328.01 200.907 326.667 199.564 326.667 197.907 curveto
-326.667 196.25 328.01 194.907 329.667 194.907 curveto
-331.324 194.907 332.667 196.25 332.667 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-332.971 197.907 M
-332.971 199.564 331.628 200.907 329.971 200.907 curveto
-328.314 200.907 326.971 199.564 326.971 197.907 curveto
-326.971 196.25 328.314 194.907 329.971 194.907 curveto
-331.628 194.907 332.971 196.25 332.971 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-332.971 197.907 M
-332.971 199.564 331.628 200.907 329.971 200.907 curveto
-328.314 200.907 326.971 199.564 326.971 197.907 curveto
-326.971 196.25 328.314 194.907 329.971 194.907 curveto
-331.628 194.907 332.971 196.25 332.971 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-333.275 219.455 M
-333.275 221.112 331.932 222.455 330.275 222.455 curveto
-328.618 222.455 327.275 221.112 327.275 219.455 curveto
-327.275 217.799 328.618 216.455 330.275 216.455 curveto
-331.932 216.455 333.275 217.799 333.275 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-333.275 219.455 M
-333.275 221.112 331.932 222.455 330.275 222.455 curveto
-328.618 222.455 327.275 221.112 327.275 219.455 curveto
-327.275 217.799 328.618 216.455 330.275 216.455 curveto
-331.932 216.455 333.275 217.799 333.275 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-333.578 219.455 M
-333.578 221.112 332.235 222.455 330.578 222.455 curveto
-328.922 222.455 327.578 221.112 327.578 219.455 curveto
-327.578 217.799 328.922 216.455 330.578 216.455 curveto
-332.235 216.455 333.578 217.799 333.578 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-333.578 219.455 M
-333.578 221.112 332.235 222.455 330.578 222.455 curveto
-328.922 222.455 327.578 221.112 327.578 219.455 curveto
-327.578 217.799 328.922 216.455 330.578 216.455 curveto
-332.235 216.455 333.578 217.799 333.578 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-333.882 219.455 M
-333.882 221.112 332.539 222.455 330.882 222.455 curveto
-329.225 222.455 327.882 221.112 327.882 219.455 curveto
-327.882 217.799 329.225 216.455 330.882 216.455 curveto
-332.539 216.455 333.882 217.799 333.882 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-333.882 219.455 M
-333.882 221.112 332.539 222.455 330.882 222.455 curveto
-329.225 222.455 327.882 221.112 327.882 219.455 curveto
-327.882 217.799 329.225 216.455 330.882 216.455 curveto
-332.539 216.455 333.882 217.799 333.882 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-334.186 219.455 M
-334.186 221.112 332.843 222.455 331.186 222.455 curveto
-329.529 222.455 328.186 221.112 328.186 219.455 curveto
-328.186 217.799 329.529 216.455 331.186 216.455 curveto
-332.843 216.455 334.186 217.799 334.186 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-334.186 219.455 M
-334.186 221.112 332.843 222.455 331.186 222.455 curveto
-329.529 222.455 328.186 221.112 328.186 219.455 curveto
-328.186 217.799 329.529 216.455 331.186 216.455 curveto
-332.843 216.455 334.186 217.799 334.186 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-334.49 219.455 M
-334.49 221.112 333.147 222.455 331.49 222.455 curveto
-329.833 222.455 328.49 221.112 328.49 219.455 curveto
-328.49 217.799 329.833 216.455 331.49 216.455 curveto
-333.147 216.455 334.49 217.799 334.49 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-334.49 219.455 M
-334.49 221.112 333.147 222.455 331.49 222.455 curveto
-329.833 222.455 328.49 221.112 328.49 219.455 curveto
-328.49 217.799 329.833 216.455 331.49 216.455 curveto
-333.147 216.455 334.49 217.799 334.49 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-334.793 219.455 M
-334.793 221.112 333.45 222.455 331.793 222.455 curveto
-330.137 222.455 328.793 221.112 328.793 219.455 curveto
-328.793 217.799 330.137 216.455 331.793 216.455 curveto
-333.45 216.455 334.793 217.799 334.793 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-334.793 219.455 M
-334.793 221.112 333.45 222.455 331.793 222.455 curveto
-330.137 222.455 328.793 221.112 328.793 219.455 curveto
-328.793 217.799 330.137 216.455 331.793 216.455 curveto
-333.45 216.455 334.793 217.799 334.793 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-335.097 219.455 M
-335.097 221.112 333.754 222.455 332.097 222.455 curveto
-330.44 222.455 329.097 221.112 329.097 219.455 curveto
-329.097 217.799 330.44 216.455 332.097 216.455 curveto
-333.754 216.455 335.097 217.799 335.097 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-335.097 219.455 M
-335.097 221.112 333.754 222.455 332.097 222.455 curveto
-330.44 222.455 329.097 221.112 329.097 219.455 curveto
-329.097 217.799 330.44 216.455 332.097 216.455 curveto
-333.754 216.455 335.097 217.799 335.097 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-335.401 219.455 M
-335.401 221.112 334.058 222.455 332.401 222.455 curveto
-330.744 222.455 329.401 221.112 329.401 219.455 curveto
-329.401 217.799 330.744 216.455 332.401 216.455 curveto
-334.058 216.455 335.401 217.799 335.401 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-335.401 219.455 M
-335.401 221.112 334.058 222.455 332.401 222.455 curveto
-330.744 222.455 329.401 221.112 329.401 219.455 curveto
-329.401 217.799 330.744 216.455 332.401 216.455 curveto
-334.058 216.455 335.401 217.799 335.401 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-335.705 219.455 M
-335.705 221.112 334.361 222.455 332.705 222.455 curveto
-331.048 222.455 329.705 221.112 329.705 219.455 curveto
-329.705 217.799 331.048 216.455 332.705 216.455 curveto
-334.361 216.455 335.705 217.799 335.705 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-335.705 219.455 M
-335.705 221.112 334.361 222.455 332.705 222.455 curveto
-331.048 222.455 329.705 221.112 329.705 219.455 curveto
-329.705 217.799 331.048 216.455 332.705 216.455 curveto
-334.361 216.455 335.705 217.799 335.705 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-336.008 219.455 M
-336.008 221.112 334.665 222.455 333.008 222.455 curveto
-331.352 222.455 330.008 221.112 330.008 219.455 curveto
-330.008 217.799 331.352 216.455 333.008 216.455 curveto
-334.665 216.455 336.008 217.799 336.008 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-336.008 219.455 M
-336.008 221.112 334.665 222.455 333.008 222.455 curveto
-331.352 222.455 330.008 221.112 330.008 219.455 curveto
-330.008 217.799 331.352 216.455 333.008 216.455 curveto
-334.665 216.455 336.008 217.799 336.008 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-336.312 219.455 M
-336.312 221.112 334.969 222.455 333.312 222.455 curveto
-331.655 222.455 330.312 221.112 330.312 219.455 curveto
-330.312 217.799 331.655 216.455 333.312 216.455 curveto
-334.969 216.455 336.312 217.799 336.312 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-336.312 219.455 M
-336.312 221.112 334.969 222.455 333.312 222.455 curveto
-331.655 222.455 330.312 221.112 330.312 219.455 curveto
-330.312 217.799 331.655 216.455 333.312 216.455 curveto
-334.969 216.455 336.312 217.799 336.312 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-336.616 219.455 M
-336.616 221.112 335.273 222.455 333.616 222.455 curveto
-331.959 222.455 330.616 221.112 330.616 219.455 curveto
-330.616 217.799 331.959 216.455 333.616 216.455 curveto
-335.273 216.455 336.616 217.799 336.616 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-336.616 219.455 M
-336.616 221.112 335.273 222.455 333.616 222.455 curveto
-331.959 222.455 330.616 221.112 330.616 219.455 curveto
-330.616 217.799 331.959 216.455 333.616 216.455 curveto
-335.273 216.455 336.616 217.799 336.616 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-336.92 219.455 M
-336.92 221.112 335.576 222.455 333.92 222.455 curveto
-332.263 222.455 330.92 221.112 330.92 219.455 curveto
-330.92 217.799 332.263 216.455 333.92 216.455 curveto
-335.576 216.455 336.92 217.799 336.92 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-336.92 219.455 M
-336.92 221.112 335.576 222.455 333.92 222.455 curveto
-332.263 222.455 330.92 221.112 330.92 219.455 curveto
-330.92 217.799 332.263 216.455 333.92 216.455 curveto
-335.576 216.455 336.92 217.799 336.92 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-337.223 219.455 M
-337.223 221.112 335.88 222.455 334.223 222.455 curveto
-332.566 222.455 331.223 221.112 331.223 219.455 curveto
-331.223 217.799 332.566 216.455 334.223 216.455 curveto
-335.88 216.455 337.223 217.799 337.223 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-337.223 219.455 M
-337.223 221.112 335.88 222.455 334.223 222.455 curveto
-332.566 222.455 331.223 221.112 331.223 219.455 curveto
-331.223 217.799 332.566 216.455 334.223 216.455 curveto
-335.88 216.455 337.223 217.799 337.223 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-337.527 262.552 M
-337.527 264.209 336.184 265.552 334.527 265.552 curveto
-332.87 265.552 331.527 264.209 331.527 262.552 curveto
-331.527 260.895 332.87 259.552 334.527 259.552 curveto
-336.184 259.552 337.527 260.895 337.527 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-337.527 262.552 M
-337.527 264.209 336.184 265.552 334.527 265.552 curveto
-332.87 265.552 331.527 264.209 331.527 262.552 curveto
-331.527 260.895 332.87 259.552 334.527 259.552 curveto
-336.184 259.552 337.527 260.895 337.527 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-337.831 262.552 M
-337.831 264.209 336.488 265.552 334.831 265.552 curveto
-333.174 265.552 331.831 264.209 331.831 262.552 curveto
-331.831 260.895 333.174 259.552 334.831 259.552 curveto
-336.488 259.552 337.831 260.895 337.831 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-337.831 262.552 M
-337.831 264.209 336.488 265.552 334.831 265.552 curveto
-333.174 265.552 331.831 264.209 331.831 262.552 curveto
-331.831 260.895 333.174 259.552 334.831 259.552 curveto
-336.488 259.552 337.831 260.895 337.831 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-338.135 262.552 M
-338.135 264.209 336.791 265.552 335.135 265.552 curveto
-333.478 265.552 332.135 264.209 332.135 262.552 curveto
-332.135 260.895 333.478 259.552 335.135 259.552 curveto
-336.791 259.552 338.135 260.895 338.135 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-338.135 262.552 M
-338.135 264.209 336.791 265.552 335.135 265.552 curveto
-333.478 265.552 332.135 264.209 332.135 262.552 curveto
-332.135 260.895 333.478 259.552 335.135 259.552 curveto
-336.791 259.552 338.135 260.895 338.135 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-338.438 262.552 M
-338.438 264.209 337.095 265.552 335.438 265.552 curveto
-333.781 265.552 332.438 264.209 332.438 262.552 curveto
-332.438 260.895 333.781 259.552 335.438 259.552 curveto
-337.095 259.552 338.438 260.895 338.438 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-338.438 262.552 M
-338.438 264.209 337.095 265.552 335.438 265.552 curveto
-333.781 265.552 332.438 264.209 332.438 262.552 curveto
-332.438 260.895 333.781 259.552 335.438 259.552 curveto
-337.095 259.552 338.438 260.895 338.438 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-338.742 262.552 M
-338.742 264.209 337.399 265.552 335.742 265.552 curveto
-334.085 265.552 332.742 264.209 332.742 262.552 curveto
-332.742 260.895 334.085 259.552 335.742 259.552 curveto
-337.399 259.552 338.742 260.895 338.742 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-338.742 262.552 M
-338.742 264.209 337.399 265.552 335.742 265.552 curveto
-334.085 265.552 332.742 264.209 332.742 262.552 curveto
-332.742 260.895 334.085 259.552 335.742 259.552 curveto
-337.399 259.552 338.742 260.895 338.742 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-339.046 262.552 M
-339.046 264.209 337.703 265.552 336.046 265.552 curveto
-334.389 265.552 333.046 264.209 333.046 262.552 curveto
-333.046 260.895 334.389 259.552 336.046 259.552 curveto
-337.703 259.552 339.046 260.895 339.046 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-339.046 262.552 M
-339.046 264.209 337.703 265.552 336.046 265.552 curveto
-334.389 265.552 333.046 264.209 333.046 262.552 curveto
-333.046 260.895 334.389 259.552 336.046 259.552 curveto
-337.703 259.552 339.046 260.895 339.046 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-339.349 262.552 M
-339.349 264.209 338.006 265.552 336.349 265.552 curveto
-334.693 265.552 333.349 264.209 333.349 262.552 curveto
-333.349 260.895 334.693 259.552 336.349 259.552 curveto
-338.006 259.552 339.349 260.895 339.349 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-339.349 262.552 M
-339.349 264.209 338.006 265.552 336.349 265.552 curveto
-334.693 265.552 333.349 264.209 333.349 262.552 curveto
-333.349 260.895 334.693 259.552 336.349 259.552 curveto
-338.006 259.552 339.349 260.895 339.349 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-339.653 262.552 M
-339.653 264.209 338.31 265.552 336.653 265.552 curveto
-334.996 265.552 333.653 264.209 333.653 262.552 curveto
-333.653 260.895 334.996 259.552 336.653 259.552 curveto
-338.31 259.552 339.653 260.895 339.653 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-339.653 262.552 M
-339.653 264.209 338.31 265.552 336.653 265.552 curveto
-334.996 265.552 333.653 264.209 333.653 262.552 curveto
-333.653 260.895 334.996 259.552 336.653 259.552 curveto
-338.31 259.552 339.653 260.895 339.653 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-339.957 262.552 M
-339.957 264.209 338.614 265.552 336.957 265.552 curveto
-335.3 265.552 333.957 264.209 333.957 262.552 curveto
-333.957 260.895 335.3 259.552 336.957 259.552 curveto
-338.614 259.552 339.957 260.895 339.957 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-339.957 262.552 M
-339.957 264.209 338.614 265.552 336.957 265.552 curveto
-335.3 265.552 333.957 264.209 333.957 262.552 curveto
-333.957 260.895 335.3 259.552 336.957 259.552 curveto
-338.614 259.552 339.957 260.895 339.957 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-340.261 262.552 M
-340.261 264.209 338.918 265.552 337.261 265.552 curveto
-335.604 265.552 334.261 264.209 334.261 262.552 curveto
-334.261 260.895 335.604 259.552 337.261 259.552 curveto
-338.918 259.552 340.261 260.895 340.261 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-340.261 262.552 M
-340.261 264.209 338.918 265.552 337.261 265.552 curveto
-335.604 265.552 334.261 264.209 334.261 262.552 curveto
-334.261 260.895 335.604 259.552 337.261 259.552 curveto
-338.918 259.552 340.261 260.895 340.261 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-340.564 262.552 M
-340.564 264.209 339.221 265.552 337.564 265.552 curveto
-335.908 265.552 334.564 264.209 334.564 262.552 curveto
-334.564 260.895 335.908 259.552 337.564 259.552 curveto
-339.221 259.552 340.564 260.895 340.564 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-340.564 262.552 M
-340.564 264.209 339.221 265.552 337.564 265.552 curveto
-335.908 265.552 334.564 264.209 334.564 262.552 curveto
-334.564 260.895 335.908 259.552 337.564 259.552 curveto
-339.221 259.552 340.564 260.895 340.564 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-340.868 262.552 M
-340.868 264.209 339.525 265.552 337.868 265.552 curveto
-336.211 265.552 334.868 264.209 334.868 262.552 curveto
-334.868 260.895 336.211 259.552 337.868 259.552 curveto
-339.525 259.552 340.868 260.895 340.868 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-340.868 262.552 M
-340.868 264.209 339.525 265.552 337.868 265.552 curveto
-336.211 265.552 334.868 264.209 334.868 262.552 curveto
-334.868 260.895 336.211 259.552 337.868 259.552 curveto
-339.525 259.552 340.868 260.895 340.868 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-341.172 262.552 M
-341.172 264.209 339.829 265.552 338.172 265.552 curveto
-336.515 265.552 335.172 264.209 335.172 262.552 curveto
-335.172 260.895 336.515 259.552 338.172 259.552 curveto
-339.829 259.552 341.172 260.895 341.172 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-341.172 262.552 M
-341.172 264.209 339.829 265.552 338.172 265.552 curveto
-336.515 265.552 335.172 264.209 335.172 262.552 curveto
-335.172 260.895 336.515 259.552 338.172 259.552 curveto
-339.829 259.552 341.172 260.895 341.172 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-341.476 284.1 M
-341.476 285.757 340.132 287.1 338.476 287.1 curveto
-336.819 287.1 335.476 285.757 335.476 284.1 curveto
-335.476 282.443 336.819 281.1 338.476 281.1 curveto
-340.132 281.1 341.476 282.443 341.476 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-341.476 284.1 M
-341.476 285.757 340.132 287.1 338.476 287.1 curveto
-336.819 287.1 335.476 285.757 335.476 284.1 curveto
-335.476 282.443 336.819 281.1 338.476 281.1 curveto
-340.132 281.1 341.476 282.443 341.476 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-341.779 262.552 M
-341.779 264.209 340.436 265.552 338.779 265.552 curveto
-337.123 265.552 335.779 264.209 335.779 262.552 curveto
-335.779 260.895 337.123 259.552 338.779 259.552 curveto
-340.436 259.552 341.779 260.895 341.779 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-341.779 262.552 M
-341.779 264.209 340.436 265.552 338.779 265.552 curveto
-337.123 265.552 335.779 264.209 335.779 262.552 curveto
-335.779 260.895 337.123 259.552 338.779 259.552 curveto
-340.436 259.552 341.779 260.895 341.779 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-342.083 262.552 M
-342.083 264.209 340.74 265.552 339.083 265.552 curveto
-337.426 265.552 336.083 264.209 336.083 262.552 curveto
-336.083 260.895 337.426 259.552 339.083 259.552 curveto
-340.74 259.552 342.083 260.895 342.083 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-342.083 262.552 M
-342.083 264.209 340.74 265.552 339.083 265.552 curveto
-337.426 265.552 336.083 264.209 336.083 262.552 curveto
-336.083 260.895 337.426 259.552 339.083 259.552 curveto
-340.74 259.552 342.083 260.895 342.083 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-342.387 262.552 M
-342.387 264.209 341.044 265.552 339.387 265.552 curveto
-337.73 265.552 336.387 264.209 336.387 262.552 curveto
-336.387 260.895 337.73 259.552 339.387 259.552 curveto
-341.044 259.552 342.387 260.895 342.387 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-342.387 262.552 M
-342.387 264.209 341.044 265.552 339.387 265.552 curveto
-337.73 265.552 336.387 264.209 336.387 262.552 curveto
-336.387 260.895 337.73 259.552 339.387 259.552 curveto
-341.044 259.552 342.387 260.895 342.387 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-342.691 262.552 M
-342.691 264.209 341.347 265.552 339.691 265.552 curveto
-338.034 265.552 336.691 264.209 336.691 262.552 curveto
-336.691 260.895 338.034 259.552 339.691 259.552 curveto
-341.347 259.552 342.691 260.895 342.691 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-342.691 262.552 M
-342.691 264.209 341.347 265.552 339.691 265.552 curveto
-338.034 265.552 336.691 264.209 336.691 262.552 curveto
-336.691 260.895 338.034 259.552 339.691 259.552 curveto
-341.347 259.552 342.691 260.895 342.691 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-342.994 219.455 M
-342.994 221.112 341.651 222.455 339.994 222.455 curveto
-338.337 222.455 336.994 221.112 336.994 219.455 curveto
-336.994 217.799 338.337 216.455 339.994 216.455 curveto
-341.651 216.455 342.994 217.799 342.994 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-342.994 219.455 M
-342.994 221.112 341.651 222.455 339.994 222.455 curveto
-338.337 222.455 336.994 221.112 336.994 219.455 curveto
-336.994 217.799 338.337 216.455 339.994 216.455 curveto
-341.651 216.455 342.994 217.799 342.994 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-343.298 197.907 M
-343.298 199.564 341.955 200.907 340.298 200.907 curveto
-338.641 200.907 337.298 199.564 337.298 197.907 curveto
-337.298 196.25 338.641 194.907 340.298 194.907 curveto
-341.955 194.907 343.298 196.25 343.298 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-343.298 197.907 M
-343.298 199.564 341.955 200.907 340.298 200.907 curveto
-338.641 200.907 337.298 199.564 337.298 197.907 curveto
-337.298 196.25 338.641 194.907 340.298 194.907 curveto
-341.955 194.907 343.298 196.25 343.298 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-343.602 197.907 M
-343.602 199.564 342.259 200.907 340.602 200.907 curveto
-338.945 200.907 337.602 199.564 337.602 197.907 curveto
-337.602 196.25 338.945 194.907 340.602 194.907 curveto
-342.259 194.907 343.602 196.25 343.602 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-343.602 197.907 M
-343.602 199.564 342.259 200.907 340.602 200.907 curveto
-338.945 200.907 337.602 199.564 337.602 197.907 curveto
-337.602 196.25 338.945 194.907 340.602 194.907 curveto
-342.259 194.907 343.602 196.25 343.602 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-343.906 197.907 M
-343.906 199.564 342.562 200.907 340.906 200.907 curveto
-339.249 200.907 337.906 199.564 337.906 197.907 curveto
-337.906 196.25 339.249 194.907 340.906 194.907 curveto
-342.562 194.907 343.906 196.25 343.906 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-343.906 197.907 M
-343.906 199.564 342.562 200.907 340.906 200.907 curveto
-339.249 200.907 337.906 199.564 337.906 197.907 curveto
-337.906 196.25 339.249 194.907 340.906 194.907 curveto
-342.562 194.907 343.906 196.25 343.906 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-344.209 197.907 M
-344.209 199.564 342.866 200.907 341.209 200.907 curveto
-339.552 200.907 338.209 199.564 338.209 197.907 curveto
-338.209 196.25 339.552 194.907 341.209 194.907 curveto
-342.866 194.907 344.209 196.25 344.209 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-344.209 197.907 M
-344.209 199.564 342.866 200.907 341.209 200.907 curveto
-339.552 200.907 338.209 199.564 338.209 197.907 curveto
-338.209 196.25 339.552 194.907 341.209 194.907 curveto
-342.866 194.907 344.209 196.25 344.209 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-344.513 197.907 M
-344.513 199.564 343.17 200.907 341.513 200.907 curveto
-339.856 200.907 338.513 199.564 338.513 197.907 curveto
-338.513 196.25 339.856 194.907 341.513 194.907 curveto
-343.17 194.907 344.513 196.25 344.513 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-344.513 197.907 M
-344.513 199.564 343.17 200.907 341.513 200.907 curveto
-339.856 200.907 338.513 199.564 338.513 197.907 curveto
-338.513 196.25 339.856 194.907 341.513 194.907 curveto
-343.17 194.907 344.513 196.25 344.513 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-344.817 197.907 M
-344.817 199.564 343.474 200.907 341.817 200.907 curveto
-340.16 200.907 338.817 199.564 338.817 197.907 curveto
-338.817 196.25 340.16 194.907 341.817 194.907 curveto
-343.474 194.907 344.817 196.25 344.817 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-344.817 197.907 M
-344.817 199.564 343.474 200.907 341.817 200.907 curveto
-340.16 200.907 338.817 199.564 338.817 197.907 curveto
-338.817 196.25 340.16 194.907 341.817 194.907 curveto
-343.474 194.907 344.817 196.25 344.817 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-345.12 197.907 M
-345.12 199.564 343.777 200.907 342.12 200.907 curveto
-340.464 200.907 339.12 199.564 339.12 197.907 curveto
-339.12 196.25 340.464 194.907 342.12 194.907 curveto
-343.777 194.907 345.12 196.25 345.12 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-345.12 197.907 M
-345.12 199.564 343.777 200.907 342.12 200.907 curveto
-340.464 200.907 339.12 199.564 339.12 197.907 curveto
-339.12 196.25 340.464 194.907 342.12 194.907 curveto
-343.777 194.907 345.12 196.25 345.12 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-345.424 197.907 M
-345.424 199.564 344.081 200.907 342.424 200.907 curveto
-340.767 200.907 339.424 199.564 339.424 197.907 curveto
-339.424 196.25 340.767 194.907 342.424 194.907 curveto
-344.081 194.907 345.424 196.25 345.424 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-345.424 197.907 M
-345.424 199.564 344.081 200.907 342.424 200.907 curveto
-340.767 200.907 339.424 199.564 339.424 197.907 curveto
-339.424 196.25 340.767 194.907 342.424 194.907 curveto
-344.081 194.907 345.424 196.25 345.424 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-345.728 197.907 M
-345.728 199.564 344.385 200.907 342.728 200.907 curveto
-341.071 200.907 339.728 199.564 339.728 197.907 curveto
-339.728 196.25 341.071 194.907 342.728 194.907 curveto
-344.385 194.907 345.728 196.25 345.728 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-345.728 197.907 M
-345.728 199.564 344.385 200.907 342.728 200.907 curveto
-341.071 200.907 339.728 199.564 339.728 197.907 curveto
-339.728 196.25 341.071 194.907 342.728 194.907 curveto
-344.385 194.907 345.728 196.25 345.728 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-346.032 197.907 M
-346.032 199.564 344.689 200.907 343.032 200.907 curveto
-341.375 200.907 340.032 199.564 340.032 197.907 curveto
-340.032 196.25 341.375 194.907 343.032 194.907 curveto
-344.689 194.907 346.032 196.25 346.032 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-346.032 197.907 M
-346.032 199.564 344.689 200.907 343.032 200.907 curveto
-341.375 200.907 340.032 199.564 340.032 197.907 curveto
-340.032 196.25 341.375 194.907 343.032 194.907 curveto
-344.689 194.907 346.032 196.25 346.032 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-346.335 197.907 M
-346.335 199.564 344.992 200.907 343.335 200.907 curveto
-341.679 200.907 340.335 199.564 340.335 197.907 curveto
-340.335 196.25 341.679 194.907 343.335 194.907 curveto
-344.992 194.907 346.335 196.25 346.335 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-346.335 197.907 M
-346.335 199.564 344.992 200.907 343.335 200.907 curveto
-341.679 200.907 340.335 199.564 340.335 197.907 curveto
-340.335 196.25 341.679 194.907 343.335 194.907 curveto
-344.992 194.907 346.335 196.25 346.335 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-346.639 197.907 M
-346.639 199.564 345.296 200.907 343.639 200.907 curveto
-341.982 200.907 340.639 199.564 340.639 197.907 curveto
-340.639 196.25 341.982 194.907 343.639 194.907 curveto
-345.296 194.907 346.639 196.25 346.639 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-346.639 197.907 M
-346.639 199.564 345.296 200.907 343.639 200.907 curveto
-341.982 200.907 340.639 199.564 340.639 197.907 curveto
-340.639 196.25 341.982 194.907 343.639 194.907 curveto
-345.296 194.907 346.639 196.25 346.639 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-346.943 197.907 M
-346.943 199.564 345.6 200.907 343.943 200.907 curveto
-342.286 200.907 340.943 199.564 340.943 197.907 curveto
-340.943 196.25 342.286 194.907 343.943 194.907 curveto
-345.6 194.907 346.943 196.25 346.943 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-346.943 197.907 M
-346.943 199.564 345.6 200.907 343.943 200.907 curveto
-342.286 200.907 340.943 199.564 340.943 197.907 curveto
-340.943 196.25 342.286 194.907 343.943 194.907 curveto
-345.6 194.907 346.943 196.25 346.943 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-347.247 197.907 M
-347.247 199.564 345.904 200.907 344.247 200.907 curveto
-342.59 200.907 341.247 199.564 341.247 197.907 curveto
-341.247 196.25 342.59 194.907 344.247 194.907 curveto
-345.904 194.907 347.247 196.25 347.247 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-347.247 197.907 M
-347.247 199.564 345.904 200.907 344.247 200.907 curveto
-342.59 200.907 341.247 199.564 341.247 197.907 curveto
-341.247 196.25 342.59 194.907 344.247 194.907 curveto
-345.904 194.907 347.247 196.25 347.247 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-347.55 197.907 M
-347.55 199.564 346.207 200.907 344.55 200.907 curveto
-342.894 200.907 341.55 199.564 341.55 197.907 curveto
-341.55 196.25 342.894 194.907 344.55 194.907 curveto
-346.207 194.907 347.55 196.25 347.55 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-347.55 197.907 M
-347.55 199.564 346.207 200.907 344.55 200.907 curveto
-342.894 200.907 341.55 199.564 341.55 197.907 curveto
-341.55 196.25 342.894 194.907 344.55 194.907 curveto
-346.207 194.907 347.55 196.25 347.55 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-347.854 197.907 M
-347.854 199.564 346.511 200.907 344.854 200.907 curveto
-343.197 200.907 341.854 199.564 341.854 197.907 curveto
-341.854 196.25 343.197 194.907 344.854 194.907 curveto
-346.511 194.907 347.854 196.25 347.854 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-347.854 197.907 M
-347.854 199.564 346.511 200.907 344.854 200.907 curveto
-343.197 200.907 341.854 199.564 341.854 197.907 curveto
-341.854 196.25 343.197 194.907 344.854 194.907 curveto
-346.511 194.907 347.854 196.25 347.854 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-348.158 219.455 M
-348.158 221.112 346.815 222.455 345.158 222.455 curveto
-343.501 222.455 342.158 221.112 342.158 219.455 curveto
-342.158 217.799 343.501 216.455 345.158 216.455 curveto
-346.815 216.455 348.158 217.799 348.158 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-348.158 219.455 M
-348.158 221.112 346.815 222.455 345.158 222.455 curveto
-343.501 222.455 342.158 221.112 342.158 219.455 curveto
-342.158 217.799 343.501 216.455 345.158 216.455 curveto
-346.815 216.455 348.158 217.799 348.158 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-348.462 219.455 M
-348.462 221.112 347.118 222.455 345.462 222.455 curveto
-343.805 222.455 342.462 221.112 342.462 219.455 curveto
-342.462 217.799 343.805 216.455 345.462 216.455 curveto
-347.118 216.455 348.462 217.799 348.462 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-348.462 219.455 M
-348.462 221.112 347.118 222.455 345.462 222.455 curveto
-343.805 222.455 342.462 221.112 342.462 219.455 curveto
-342.462 217.799 343.805 216.455 345.462 216.455 curveto
-347.118 216.455 348.462 217.799 348.462 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-348.765 176.359 M
-348.765 178.016 347.422 179.359 345.765 179.359 curveto
-344.108 179.359 342.765 178.016 342.765 176.359 curveto
-342.765 174.702 344.108 173.359 345.765 173.359 curveto
-347.422 173.359 348.765 174.702 348.765 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-348.765 176.359 M
-348.765 178.016 347.422 179.359 345.765 179.359 curveto
-344.108 179.359 342.765 178.016 342.765 176.359 curveto
-342.765 174.702 344.108 173.359 345.765 173.359 curveto
-347.422 173.359 348.765 174.702 348.765 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-349.069 176.359 M
-349.069 178.016 347.726 179.359 346.069 179.359 curveto
-344.412 179.359 343.069 178.016 343.069 176.359 curveto
-343.069 174.702 344.412 173.359 346.069 173.359 curveto
-347.726 173.359 349.069 174.702 349.069 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-349.069 176.359 M
-349.069 178.016 347.726 179.359 346.069 179.359 curveto
-344.412 179.359 343.069 178.016 343.069 176.359 curveto
-343.069 174.702 344.412 173.359 346.069 173.359 curveto
-347.726 173.359 349.069 174.702 349.069 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-349.373 176.359 M
-349.373 178.016 348.03 179.359 346.373 179.359 curveto
-344.716 179.359 343.373 178.016 343.373 176.359 curveto
-343.373 174.702 344.716 173.359 346.373 173.359 curveto
-348.03 173.359 349.373 174.702 349.373 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-349.373 176.359 M
-349.373 178.016 348.03 179.359 346.373 179.359 curveto
-344.716 179.359 343.373 178.016 343.373 176.359 curveto
-343.373 174.702 344.716 173.359 346.373 173.359 curveto
-348.03 173.359 349.373 174.702 349.373 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-349.677 176.359 M
-349.677 178.016 348.333 179.359 346.677 179.359 curveto
-345.02 179.359 343.677 178.016 343.677 176.359 curveto
-343.677 174.702 345.02 173.359 346.677 173.359 curveto
-348.333 173.359 349.677 174.702 349.677 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-349.677 176.359 M
-349.677 178.016 348.333 179.359 346.677 179.359 curveto
-345.02 179.359 343.677 178.016 343.677 176.359 curveto
-343.677 174.702 345.02 173.359 346.677 173.359 curveto
-348.333 173.359 349.677 174.702 349.677 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-349.98 176.359 M
-349.98 178.016 348.637 179.359 346.98 179.359 curveto
-345.323 179.359 343.98 178.016 343.98 176.359 curveto
-343.98 174.702 345.323 173.359 346.98 173.359 curveto
-348.637 173.359 349.98 174.702 349.98 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-349.98 176.359 M
-349.98 178.016 348.637 179.359 346.98 179.359 curveto
-345.323 179.359 343.98 178.016 343.98 176.359 curveto
-343.98 174.702 345.323 173.359 346.98 173.359 curveto
-348.637 173.359 349.98 174.702 349.98 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-350.284 176.359 M
-350.284 178.016 348.941 179.359 347.284 179.359 curveto
-345.627 179.359 344.284 178.016 344.284 176.359 curveto
-344.284 174.702 345.627 173.359 347.284 173.359 curveto
-348.941 173.359 350.284 174.702 350.284 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-350.284 176.359 M
-350.284 178.016 348.941 179.359 347.284 179.359 curveto
-345.627 179.359 344.284 178.016 344.284 176.359 curveto
-344.284 174.702 345.627 173.359 347.284 173.359 curveto
-348.941 173.359 350.284 174.702 350.284 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-350.588 176.359 M
-350.588 178.016 349.245 179.359 347.588 179.359 curveto
-345.931 179.359 344.588 178.016 344.588 176.359 curveto
-344.588 174.702 345.931 173.359 347.588 173.359 curveto
-349.245 173.359 350.588 174.702 350.588 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-350.588 176.359 M
-350.588 178.016 349.245 179.359 347.588 179.359 curveto
-345.931 179.359 344.588 178.016 344.588 176.359 curveto
-344.588 174.702 345.931 173.359 347.588 173.359 curveto
-349.245 173.359 350.588 174.702 350.588 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-350.891 176.359 M
-350.891 178.016 349.548 179.359 347.891 179.359 curveto
-346.235 179.359 344.891 178.016 344.891 176.359 curveto
-344.891 174.702 346.235 173.359 347.891 173.359 curveto
-349.548 173.359 350.891 174.702 350.891 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-350.891 176.359 M
-350.891 178.016 349.548 179.359 347.891 179.359 curveto
-346.235 179.359 344.891 178.016 344.891 176.359 curveto
-344.891 174.702 346.235 173.359 347.891 173.359 curveto
-349.548 173.359 350.891 174.702 350.891 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-351.195 176.359 M
-351.195 178.016 349.852 179.359 348.195 179.359 curveto
-346.538 179.359 345.195 178.016 345.195 176.359 curveto
-345.195 174.702 346.538 173.359 348.195 173.359 curveto
-349.852 173.359 351.195 174.702 351.195 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-351.195 176.359 M
-351.195 178.016 349.852 179.359 348.195 179.359 curveto
-346.538 179.359 345.195 178.016 345.195 176.359 curveto
-345.195 174.702 346.538 173.359 348.195 173.359 curveto
-349.852 173.359 351.195 174.702 351.195 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-351.499 176.359 M
-351.499 178.016 350.156 179.359 348.499 179.359 curveto
-346.842 179.359 345.499 178.016 345.499 176.359 curveto
-345.499 174.702 346.842 173.359 348.499 173.359 curveto
-350.156 173.359 351.499 174.702 351.499 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-351.499 176.359 M
-351.499 178.016 350.156 179.359 348.499 179.359 curveto
-346.842 179.359 345.499 178.016 345.499 176.359 curveto
-345.499 174.702 346.842 173.359 348.499 173.359 curveto
-350.156 173.359 351.499 174.702 351.499 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-351.803 176.359 M
-351.803 178.016 350.46 179.359 348.803 179.359 curveto
-347.146 179.359 345.803 178.016 345.803 176.359 curveto
-345.803 174.702 347.146 173.359 348.803 173.359 curveto
-350.46 173.359 351.803 174.702 351.803 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-351.803 176.359 M
-351.803 178.016 350.46 179.359 348.803 179.359 curveto
-347.146 179.359 345.803 178.016 345.803 176.359 curveto
-345.803 174.702 347.146 173.359 348.803 173.359 curveto
-350.46 173.359 351.803 174.702 351.803 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-352.106 176.359 M
-352.106 178.016 350.763 179.359 349.106 179.359 curveto
-347.45 179.359 346.106 178.016 346.106 176.359 curveto
-346.106 174.702 347.45 173.359 349.106 173.359 curveto
-350.763 173.359 352.106 174.702 352.106 176.359 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-352.106 176.359 M
-352.106 178.016 350.763 179.359 349.106 179.359 curveto
-347.45 179.359 346.106 178.016 346.106 176.359 curveto
-346.106 174.702 347.45 173.359 349.106 173.359 curveto
-350.763 173.359 352.106 174.702 352.106 176.359 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-352.41 197.907 M
-352.41 199.564 351.067 200.907 349.41 200.907 curveto
-347.753 200.907 346.41 199.564 346.41 197.907 curveto
-346.41 196.25 347.753 194.907 349.41 194.907 curveto
-351.067 194.907 352.41 196.25 352.41 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-352.41 197.907 M
-352.41 199.564 351.067 200.907 349.41 200.907 curveto
-347.753 200.907 346.41 199.564 346.41 197.907 curveto
-346.41 196.25 347.753 194.907 349.41 194.907 curveto
-351.067 194.907 352.41 196.25 352.41 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-352.714 197.907 M
-352.714 199.564 351.371 200.907 349.714 200.907 curveto
-348.057 200.907 346.714 199.564 346.714 197.907 curveto
-346.714 196.25 348.057 194.907 349.714 194.907 curveto
-351.371 194.907 352.714 196.25 352.714 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-352.714 197.907 M
-352.714 199.564 351.371 200.907 349.714 200.907 curveto
-348.057 200.907 346.714 199.564 346.714 197.907 curveto
-346.714 196.25 348.057 194.907 349.714 194.907 curveto
-351.371 194.907 352.714 196.25 352.714 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-353.018 197.907 M
-353.018 199.564 351.675 200.907 350.018 200.907 curveto
-348.361 200.907 347.018 199.564 347.018 197.907 curveto
-347.018 196.25 348.361 194.907 350.018 194.907 curveto
-351.675 194.907 353.018 196.25 353.018 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-353.018 197.907 M
-353.018 199.564 351.675 200.907 350.018 200.907 curveto
-348.361 200.907 347.018 199.564 347.018 197.907 curveto
-347.018 196.25 348.361 194.907 350.018 194.907 curveto
-351.675 194.907 353.018 196.25 353.018 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-353.321 197.907 M
-353.321 199.564 351.978 200.907 350.321 200.907 curveto
-348.665 200.907 347.321 199.564 347.321 197.907 curveto
-347.321 196.25 348.665 194.907 350.321 194.907 curveto
-351.978 194.907 353.321 196.25 353.321 197.907 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-353.321 197.907 M
-353.321 199.564 351.978 200.907 350.321 200.907 curveto
-348.665 200.907 347.321 199.564 347.321 197.907 curveto
-347.321 196.25 348.665 194.907 350.321 194.907 curveto
-351.978 194.907 353.321 196.25 353.321 197.907 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-353.625 219.455 M
-353.625 221.112 352.282 222.455 350.625 222.455 curveto
-348.968 222.455 347.625 221.112 347.625 219.455 curveto
-347.625 217.799 348.968 216.455 350.625 216.455 curveto
-352.282 216.455 353.625 217.799 353.625 219.455 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-353.625 219.455 M
-353.625 221.112 352.282 222.455 350.625 222.455 curveto
-348.968 222.455 347.625 221.112 347.625 219.455 curveto
-347.625 217.799 348.968 216.455 350.625 216.455 curveto
-352.282 216.455 353.625 217.799 353.625 219.455 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-353.929 262.552 M
-353.929 264.209 352.586 265.552 350.929 265.552 curveto
-349.272 265.552 347.929 264.209 347.929 262.552 curveto
-347.929 260.895 349.272 259.552 350.929 259.552 curveto
-352.586 259.552 353.929 260.895 353.929 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-353.929 262.552 M
-353.929 264.209 352.586 265.552 350.929 265.552 curveto
-349.272 265.552 347.929 264.209 347.929 262.552 curveto
-347.929 260.895 349.272 259.552 350.929 259.552 curveto
-352.586 259.552 353.929 260.895 353.929 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-354.233 262.552 M
-354.233 264.209 352.889 265.552 351.233 265.552 curveto
-349.576 265.552 348.233 264.209 348.233 262.552 curveto
-348.233 260.895 349.576 259.552 351.233 259.552 curveto
-352.889 259.552 354.233 260.895 354.233 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-354.233 262.552 M
-354.233 264.209 352.889 265.552 351.233 265.552 curveto
-349.576 265.552 348.233 264.209 348.233 262.552 curveto
-348.233 260.895 349.576 259.552 351.233 259.552 curveto
-352.889 259.552 354.233 260.895 354.233 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-354.536 262.552 M
-354.536 264.209 353.193 265.552 351.536 265.552 curveto
-349.879 265.552 348.536 264.209 348.536 262.552 curveto
-348.536 260.895 349.879 259.552 351.536 259.552 curveto
-353.193 259.552 354.536 260.895 354.536 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-354.536 262.552 M
-354.536 264.209 353.193 265.552 351.536 265.552 curveto
-349.879 265.552 348.536 264.209 348.536 262.552 curveto
-348.536 260.895 349.879 259.552 351.536 259.552 curveto
-353.193 259.552 354.536 260.895 354.536 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-354.84 262.552 M
-354.84 264.209 353.497 265.552 351.84 265.552 curveto
-350.183 265.552 348.84 264.209 348.84 262.552 curveto
-348.84 260.895 350.183 259.552 351.84 259.552 curveto
-353.497 259.552 354.84 260.895 354.84 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-354.84 262.552 M
-354.84 264.209 353.497 265.552 351.84 265.552 curveto
-350.183 265.552 348.84 264.209 348.84 262.552 curveto
-348.84 260.895 350.183 259.552 351.84 259.552 curveto
-353.497 259.552 354.84 260.895 354.84 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-355.144 262.552 M
-355.144 264.209 353.801 265.552 352.144 265.552 curveto
-350.487 265.552 349.144 264.209 349.144 262.552 curveto
-349.144 260.895 350.487 259.552 352.144 259.552 curveto
-353.801 259.552 355.144 260.895 355.144 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-355.144 262.552 M
-355.144 264.209 353.801 265.552 352.144 265.552 curveto
-350.487 265.552 349.144 264.209 349.144 262.552 curveto
-349.144 260.895 350.487 259.552 352.144 259.552 curveto
-353.801 259.552 355.144 260.895 355.144 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-355.448 262.552 M
-355.448 264.209 354.104 265.552 352.448 265.552 curveto
-350.791 265.552 349.448 264.209 349.448 262.552 curveto
-349.448 260.895 350.791 259.552 352.448 259.552 curveto
-354.104 259.552 355.448 260.895 355.448 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-355.448 262.552 M
-355.448 264.209 354.104 265.552 352.448 265.552 curveto
-350.791 265.552 349.448 264.209 349.448 262.552 curveto
-349.448 260.895 350.791 259.552 352.448 259.552 curveto
-354.104 259.552 355.448 260.895 355.448 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-355.751 262.552 M
-355.751 264.209 354.408 265.552 352.751 265.552 curveto
-351.094 265.552 349.751 264.209 349.751 262.552 curveto
-349.751 260.895 351.094 259.552 352.751 259.552 curveto
-354.408 259.552 355.751 260.895 355.751 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-355.751 262.552 M
-355.751 264.209 354.408 265.552 352.751 265.552 curveto
-351.094 265.552 349.751 264.209 349.751 262.552 curveto
-349.751 260.895 351.094 259.552 352.751 259.552 curveto
-354.408 259.552 355.751 260.895 355.751 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-356.055 262.552 M
-356.055 264.209 354.712 265.552 353.055 265.552 curveto
-351.398 265.552 350.055 264.209 350.055 262.552 curveto
-350.055 260.895 351.398 259.552 353.055 259.552 curveto
-354.712 259.552 356.055 260.895 356.055 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-356.055 262.552 M
-356.055 264.209 354.712 265.552 353.055 265.552 curveto
-351.398 265.552 350.055 264.209 350.055 262.552 curveto
-350.055 260.895 351.398 259.552 353.055 259.552 curveto
-354.712 259.552 356.055 260.895 356.055 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-356.359 262.552 M
-356.359 264.209 355.016 265.552 353.359 265.552 curveto
-351.702 265.552 350.359 264.209 350.359 262.552 curveto
-350.359 260.895 351.702 259.552 353.359 259.552 curveto
-355.016 259.552 356.359 260.895 356.359 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-356.359 262.552 M
-356.359 264.209 355.016 265.552 353.359 265.552 curveto
-351.702 265.552 350.359 264.209 350.359 262.552 curveto
-350.359 260.895 351.702 259.552 353.359 259.552 curveto
-355.016 259.552 356.359 260.895 356.359 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-356.663 262.552 M
-356.663 264.209 355.319 265.552 353.663 265.552 curveto
-352.006 265.552 350.663 264.209 350.663 262.552 curveto
-350.663 260.895 352.006 259.552 353.663 259.552 curveto
-355.319 259.552 356.663 260.895 356.663 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-356.663 262.552 M
-356.663 264.209 355.319 265.552 353.663 265.552 curveto
-352.006 265.552 350.663 264.209 350.663 262.552 curveto
-350.663 260.895 352.006 259.552 353.663 259.552 curveto
-355.319 259.552 356.663 260.895 356.663 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-356.966 262.552 M
-356.966 264.209 355.623 265.552 353.966 265.552 curveto
-352.309 265.552 350.966 264.209 350.966 262.552 curveto
-350.966 260.895 352.309 259.552 353.966 259.552 curveto
-355.623 259.552 356.966 260.895 356.966 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-356.966 262.552 M
-356.966 264.209 355.623 265.552 353.966 265.552 curveto
-352.309 265.552 350.966 264.209 350.966 262.552 curveto
-350.966 260.895 352.309 259.552 353.966 259.552 curveto
-355.623 259.552 356.966 260.895 356.966 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-357.27 262.552 M
-357.27 264.209 355.927 265.552 354.27 265.552 curveto
-352.613 265.552 351.27 264.209 351.27 262.552 curveto
-351.27 260.895 352.613 259.552 354.27 259.552 curveto
-355.927 259.552 357.27 260.895 357.27 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-357.27 262.552 M
-357.27 264.209 355.927 265.552 354.27 265.552 curveto
-352.613 265.552 351.27 264.209 351.27 262.552 curveto
-351.27 260.895 352.613 259.552 354.27 259.552 curveto
-355.927 259.552 357.27 260.895 357.27 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-357.574 262.552 M
-357.574 264.209 356.231 265.552 354.574 265.552 curveto
-352.917 265.552 351.574 264.209 351.574 262.552 curveto
-351.574 260.895 352.917 259.552 354.574 259.552 curveto
-356.231 259.552 357.574 260.895 357.574 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-357.574 262.552 M
-357.574 264.209 356.231 265.552 354.574 265.552 curveto
-352.917 265.552 351.574 264.209 351.574 262.552 curveto
-351.574 260.895 352.917 259.552 354.574 259.552 curveto
-356.231 259.552 357.574 260.895 357.574 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-357.877 262.552 M
-357.877 264.209 356.534 265.552 354.877 265.552 curveto
-353.221 265.552 351.877 264.209 351.877 262.552 curveto
-351.877 260.895 353.221 259.552 354.877 259.552 curveto
-356.534 259.552 357.877 260.895 357.877 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-357.877 262.552 M
-357.877 264.209 356.534 265.552 354.877 265.552 curveto
-353.221 265.552 351.877 264.209 351.877 262.552 curveto
-351.877 260.895 353.221 259.552 354.877 259.552 curveto
-356.534 259.552 357.877 260.895 357.877 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-358.181 262.552 M
-358.181 264.209 356.838 265.552 355.181 265.552 curveto
-353.524 265.552 352.181 264.209 352.181 262.552 curveto
-352.181 260.895 353.524 259.552 355.181 259.552 curveto
-356.838 259.552 358.181 260.895 358.181 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-358.181 262.552 M
-358.181 264.209 356.838 265.552 355.181 265.552 curveto
-353.524 265.552 352.181 264.209 352.181 262.552 curveto
-352.181 260.895 353.524 259.552 355.181 259.552 curveto
-356.838 259.552 358.181 260.895 358.181 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-358.485 262.552 M
-358.485 264.209 357.142 265.552 355.485 265.552 curveto
-353.828 265.552 352.485 264.209 352.485 262.552 curveto
-352.485 260.895 353.828 259.552 355.485 259.552 curveto
-357.142 259.552 358.485 260.895 358.485 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-358.485 262.552 M
-358.485 264.209 357.142 265.552 355.485 265.552 curveto
-353.828 265.552 352.485 264.209 352.485 262.552 curveto
-352.485 260.895 353.828 259.552 355.485 259.552 curveto
-357.142 259.552 358.485 260.895 358.485 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-358.789 262.552 M
-358.789 264.209 357.446 265.552 355.789 265.552 curveto
-354.132 265.552 352.789 264.209 352.789 262.552 curveto
-352.789 260.895 354.132 259.552 355.789 259.552 curveto
-357.446 259.552 358.789 260.895 358.789 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-358.789 262.552 M
-358.789 264.209 357.446 265.552 355.789 265.552 curveto
-354.132 265.552 352.789 264.209 352.789 262.552 curveto
-352.789 260.895 354.132 259.552 355.789 259.552 curveto
-357.446 259.552 358.789 260.895 358.789 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-359.092 262.552 M
-359.092 264.209 357.749 265.552 356.092 265.552 curveto
-354.436 265.552 353.092 264.209 353.092 262.552 curveto
-353.092 260.895 354.436 259.552 356.092 259.552 curveto
-357.749 259.552 359.092 260.895 359.092 262.552 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-359.092 262.552 M
-359.092 264.209 357.749 265.552 356.092 265.552 curveto
-354.436 265.552 353.092 264.209 353.092 262.552 curveto
-353.092 260.895 354.436 259.552 356.092 259.552 curveto
-357.749 259.552 359.092 260.895 359.092 262.552 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-359.396 284.1 M
-359.396 285.757 358.053 287.1 356.396 287.1 curveto
-354.739 287.1 353.396 285.757 353.396 284.1 curveto
-353.396 282.443 354.739 281.1 356.396 281.1 curveto
-358.053 281.1 359.396 282.443 359.396 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-359.396 284.1 M
-359.396 285.757 358.053 287.1 356.396 287.1 curveto
-354.739 287.1 353.396 285.757 353.396 284.1 curveto
-353.396 282.443 354.739 281.1 356.396 281.1 curveto
-358.053 281.1 359.396 282.443 359.396 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-359.7 284.1 M
-359.7 285.757 358.357 287.1 356.7 287.1 curveto
-355.043 287.1 353.7 285.757 353.7 284.1 curveto
-353.7 282.443 355.043 281.1 356.7 281.1 curveto
-358.357 281.1 359.7 282.443 359.7 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-359.7 284.1 M
-359.7 285.757 358.357 287.1 356.7 287.1 curveto
-355.043 287.1 353.7 285.757 353.7 284.1 curveto
-353.7 282.443 355.043 281.1 356.7 281.1 curveto
-358.357 281.1 359.7 282.443 359.7 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-360.004 284.1 M
-360.004 285.757 358.66 287.1 357.004 287.1 curveto
-355.347 287.1 354.004 285.757 354.004 284.1 curveto
-354.004 282.443 355.347 281.1 357.004 281.1 curveto
-358.66 281.1 360.004 282.443 360.004 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-360.004 284.1 M
-360.004 285.757 358.66 287.1 357.004 287.1 curveto
-355.347 287.1 354.004 285.757 354.004 284.1 curveto
-354.004 282.443 355.347 281.1 357.004 281.1 curveto
-358.66 281.1 360.004 282.443 360.004 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-360.307 284.1 M
-360.307 285.757 358.964 287.1 357.307 287.1 curveto
-355.65 287.1 354.307 285.757 354.307 284.1 curveto
-354.307 282.443 355.65 281.1 357.307 281.1 curveto
-358.964 281.1 360.307 282.443 360.307 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-360.307 284.1 M
-360.307 285.757 358.964 287.1 357.307 287.1 curveto
-355.65 287.1 354.307 285.757 354.307 284.1 curveto
-354.307 282.443 355.65 281.1 357.307 281.1 curveto
-358.964 281.1 360.307 282.443 360.307 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-360.611 284.1 M
-360.611 285.757 359.268 287.1 357.611 287.1 curveto
-355.954 287.1 354.611 285.757 354.611 284.1 curveto
-354.611 282.443 355.954 281.1 357.611 281.1 curveto
-359.268 281.1 360.611 282.443 360.611 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-360.611 284.1 M
-360.611 285.757 359.268 287.1 357.611 287.1 curveto
-355.954 287.1 354.611 285.757 354.611 284.1 curveto
-354.611 282.443 355.954 281.1 357.611 281.1 curveto
-359.268 281.1 360.611 282.443 360.611 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-360.915 284.1 M
-360.915 285.757 359.572 287.1 357.915 287.1 curveto
-356.258 287.1 354.915 285.757 354.915 284.1 curveto
-354.915 282.443 356.258 281.1 357.915 281.1 curveto
-359.572 281.1 360.915 282.443 360.915 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-360.915 284.1 M
-360.915 285.757 359.572 287.1 357.915 287.1 curveto
-356.258 287.1 354.915 285.757 354.915 284.1 curveto
-354.915 282.443 356.258 281.1 357.915 281.1 curveto
-359.572 281.1 360.915 282.443 360.915 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-361.219 284.1 M
-361.219 285.757 359.875 287.1 358.219 287.1 curveto
-356.562 287.1 355.219 285.757 355.219 284.1 curveto
-355.219 282.443 356.562 281.1 358.219 281.1 curveto
-359.875 281.1 361.219 282.443 361.219 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-361.219 284.1 M
-361.219 285.757 359.875 287.1 358.219 287.1 curveto
-356.562 287.1 355.219 285.757 355.219 284.1 curveto
-355.219 282.443 356.562 281.1 358.219 281.1 curveto
-359.875 281.1 361.219 282.443 361.219 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-361.522 284.1 M
-361.522 285.757 360.179 287.1 358.522 287.1 curveto
-356.865 287.1 355.522 285.757 355.522 284.1 curveto
-355.522 282.443 356.865 281.1 358.522 281.1 curveto
-360.179 281.1 361.522 282.443 361.522 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-361.522 284.1 M
-361.522 285.757 360.179 287.1 358.522 287.1 curveto
-356.865 287.1 355.522 285.757 355.522 284.1 curveto
-355.522 282.443 356.865 281.1 358.522 281.1 curveto
-360.179 281.1 361.522 282.443 361.522 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-361.826 284.1 M
-361.826 285.757 360.483 287.1 358.826 287.1 curveto
-357.169 287.1 355.826 285.757 355.826 284.1 curveto
-355.826 282.443 357.169 281.1 358.826 281.1 curveto
-360.483 281.1 361.826 282.443 361.826 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-361.826 284.1 M
-361.826 285.757 360.483 287.1 358.826 287.1 curveto
-357.169 287.1 355.826 285.757 355.826 284.1 curveto
-355.826 282.443 357.169 281.1 358.826 281.1 curveto
-360.483 281.1 361.826 282.443 361.826 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-362.13 284.1 M
-362.13 285.757 360.787 287.1 359.13 287.1 curveto
-357.473 287.1 356.13 285.757 356.13 284.1 curveto
-356.13 282.443 357.473 281.1 359.13 281.1 curveto
-360.787 281.1 362.13 282.443 362.13 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.13 284.1 M
-362.13 285.757 360.787 287.1 359.13 287.1 curveto
-357.473 287.1 356.13 285.757 356.13 284.1 curveto
-356.13 282.443 357.473 281.1 359.13 281.1 curveto
-360.787 281.1 362.13 282.443 362.13 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-362.434 284.1 M
-362.434 285.757 361.09 287.1 359.434 287.1 curveto
-357.777 287.1 356.434 285.757 356.434 284.1 curveto
-356.434 282.443 357.777 281.1 359.434 281.1 curveto
-361.09 281.1 362.434 282.443 362.434 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.434 284.1 M
-362.434 285.757 361.09 287.1 359.434 287.1 curveto
-357.777 287.1 356.434 285.757 356.434 284.1 curveto
-356.434 282.443 357.777 281.1 359.434 281.1 curveto
-361.09 281.1 362.434 282.443 362.434 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-362.737 284.1 M
-362.737 285.757 361.394 287.1 359.737 287.1 curveto
-358.08 287.1 356.737 285.757 356.737 284.1 curveto
-356.737 282.443 358.08 281.1 359.737 281.1 curveto
-361.394 281.1 362.737 282.443 362.737 284.1 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-362.737 284.1 M
-362.737 285.757 361.394 287.1 359.737 287.1 curveto
-358.08 287.1 356.737 285.757 356.737 284.1 curveto
-356.737 282.443 358.08 281.1 359.737 281.1 curveto
-361.394 281.1 362.737 282.443 362.737 284.1 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-363.041 305.648 M
-363.041 307.305 361.698 308.648 360.041 308.648 curveto
-358.384 308.648 357.041 307.305 357.041 305.648 curveto
-357.041 303.992 358.384 302.648 360.041 302.648 curveto
-361.698 302.648 363.041 303.992 363.041 305.648 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-363.041 305.648 M
-363.041 307.305 361.698 308.648 360.041 308.648 curveto
-358.384 308.648 357.041 307.305 357.041 305.648 curveto
-357.041 303.992 358.384 302.648 360.041 302.648 curveto
-361.698 302.648 363.041 303.992 363.041 305.648 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-53 302.648 M
-59 302.648 lineto
-59 308.648 lineto
-53 308.648 lineto
-53 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-53 302.648 M
-59 302.648 lineto
-59 308.648 lineto
-53 308.648 lineto
-53 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-53.304 302.648 M
-59.304 302.648 lineto
-59.304 308.648 lineto
-53.304 308.648 lineto
-53.304 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-53.304 302.648 M
-59.304 302.648 lineto
-59.304 308.648 lineto
-53.304 308.648 lineto
-53.304 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-53.607 302.648 M
-59.607 302.648 lineto
-59.607 308.648 lineto
-53.607 308.648 lineto
-53.607 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-53.607 302.648 M
-59.607 302.648 lineto
-59.607 308.648 lineto
-53.607 308.648 lineto
-53.607 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-53.911 302.648 M
-59.911 302.648 lineto
-59.911 308.648 lineto
-53.911 308.648 lineto
-53.911 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-53.911 302.648 M
-59.911 302.648 lineto
-59.911 308.648 lineto
-53.911 308.648 lineto
-53.911 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-54.215 302.648 M
-60.215 302.648 lineto
-60.215 308.648 lineto
-54.215 308.648 lineto
-54.215 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-54.215 302.648 M
-60.215 302.648 lineto
-60.215 308.648 lineto
-54.215 308.648 lineto
-54.215 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-54.519 302.648 M
-60.519 302.648 lineto
-60.519 308.648 lineto
-54.519 308.648 lineto
-54.519 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-54.519 302.648 M
-60.519 302.648 lineto
-60.519 308.648 lineto
-54.519 308.648 lineto
-54.519 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-54.822 302.648 M
-60.822 302.648 lineto
-60.822 308.648 lineto
-54.822 308.648 lineto
-54.822 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-54.822 302.648 M
-60.822 302.648 lineto
-60.822 308.648 lineto
-54.822 308.648 lineto
-54.822 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-55.126 302.648 M
-61.126 302.648 lineto
-61.126 308.648 lineto
-55.126 308.648 lineto
-55.126 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-55.126 302.648 M
-61.126 302.648 lineto
-61.126 308.648 lineto
-55.126 308.648 lineto
-55.126 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-55.43 302.648 M
-61.43 302.648 lineto
-61.43 308.648 lineto
-55.43 308.648 lineto
-55.43 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-55.43 302.648 M
-61.43 302.648 lineto
-61.43 308.648 lineto
-55.43 308.648 lineto
-55.43 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-55.734 302.648 M
-61.734 302.648 lineto
-61.734 308.648 lineto
-55.734 308.648 lineto
-55.734 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-55.734 302.648 M
-61.734 302.648 lineto
-61.734 308.648 lineto
-55.734 308.648 lineto
-55.734 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-56.037 302.648 M
-62.037 302.648 lineto
-62.037 308.648 lineto
-56.037 308.648 lineto
-56.037 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-56.037 302.648 M
-62.037 302.648 lineto
-62.037 308.648 lineto
-56.037 308.648 lineto
-56.037 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-56.341 302.648 M
-62.341 302.648 lineto
-62.341 308.648 lineto
-56.341 308.648 lineto
-56.341 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-56.341 302.648 M
-62.341 302.648 lineto
-62.341 308.648 lineto
-56.341 308.648 lineto
-56.341 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-56.645 302.648 M
-62.645 302.648 lineto
-62.645 308.648 lineto
-56.645 308.648 lineto
-56.645 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-56.645 302.648 M
-62.645 302.648 lineto
-62.645 308.648 lineto
-56.645 308.648 lineto
-56.645 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-56.949 302.648 M
-62.949 302.648 lineto
-62.949 308.648 lineto
-56.949 308.648 lineto
-56.949 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-56.949 302.648 M
-62.949 302.648 lineto
-62.949 308.648 lineto
-56.949 308.648 lineto
-56.949 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-57.252 302.648 M
-63.252 302.648 lineto
-63.252 308.648 lineto
-57.252 308.648 lineto
-57.252 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-57.252 302.648 M
-63.252 302.648 lineto
-63.252 308.648 lineto
-57.252 308.648 lineto
-57.252 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-57.556 302.648 M
-63.556 302.648 lineto
-63.556 308.648 lineto
-57.556 308.648 lineto
-57.556 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-57.556 302.648 M
-63.556 302.648 lineto
-63.556 308.648 lineto
-57.556 308.648 lineto
-57.556 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-57.86 302.648 M
-63.86 302.648 lineto
-63.86 308.648 lineto
-57.86 308.648 lineto
-57.86 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-57.86 302.648 M
-63.86 302.648 lineto
-63.86 308.648 lineto
-57.86 308.648 lineto
-57.86 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-58.164 302.648 M
-64.164 302.648 lineto
-64.164 308.648 lineto
-58.164 308.648 lineto
-58.164 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-58.164 302.648 M
-64.164 302.648 lineto
-64.164 308.648 lineto
-58.164 308.648 lineto
-58.164 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-58.467 302.648 M
-64.467 302.648 lineto
-64.467 308.648 lineto
-58.467 308.648 lineto
-58.467 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-58.467 302.648 M
-64.467 302.648 lineto
-64.467 308.648 lineto
-58.467 308.648 lineto
-58.467 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-58.771 302.648 M
-64.771 302.648 lineto
-64.771 308.648 lineto
-58.771 308.648 lineto
-58.771 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-58.771 302.648 M
-64.771 302.648 lineto
-64.771 308.648 lineto
-58.771 308.648 lineto
-58.771 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-59.075 302.648 M
-65.075 302.648 lineto
-65.075 308.648 lineto
-59.075 308.648 lineto
-59.075 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-59.075 302.648 M
-65.075 302.648 lineto
-65.075 308.648 lineto
-59.075 308.648 lineto
-59.075 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-59.378 302.648 M
-65.378 302.648 lineto
-65.378 308.648 lineto
-59.378 308.648 lineto
-59.378 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-59.378 302.648 M
-65.378 302.648 lineto
-65.378 308.648 lineto
-59.378 308.648 lineto
-59.378 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-59.682 216.455 M
-65.682 216.455 lineto
-65.682 222.455 lineto
-59.682 222.455 lineto
-59.682 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-59.682 216.455 M
-65.682 216.455 lineto
-65.682 222.455 lineto
-59.682 222.455 lineto
-59.682 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-59.986 151.811 M
-65.986 151.811 lineto
-65.986 157.811 lineto
-59.986 157.811 lineto
-59.986 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-59.986 151.811 M
-65.986 151.811 lineto
-65.986 157.811 lineto
-59.986 157.811 lineto
-59.986 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-60.29 151.811 M
-66.29 151.811 lineto
-66.29 157.811 lineto
-60.29 157.811 lineto
-60.29 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-60.29 151.811 M
-66.29 151.811 lineto
-66.29 157.811 lineto
-60.29 157.811 lineto
-60.29 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-60.593 151.811 M
-66.593 151.811 lineto
-66.593 157.811 lineto
-60.593 157.811 lineto
-60.593 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-60.593 151.811 M
-66.593 151.811 lineto
-66.593 157.811 lineto
-60.593 157.811 lineto
-60.593 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-60.897 151.811 M
-66.897 151.811 lineto
-66.897 157.811 lineto
-60.897 157.811 lineto
-60.897 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-60.897 151.811 M
-66.897 151.811 lineto
-66.897 157.811 lineto
-60.897 157.811 lineto
-60.897 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-61.201 151.811 M
-67.201 151.811 lineto
-67.201 157.811 lineto
-61.201 157.811 lineto
-61.201 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-61.201 151.811 M
-67.201 151.811 lineto
-67.201 157.811 lineto
-61.201 157.811 lineto
-61.201 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-61.505 151.811 M
-67.505 151.811 lineto
-67.505 157.811 lineto
-61.505 157.811 lineto
-61.505 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-61.505 151.811 M
-67.505 151.811 lineto
-67.505 157.811 lineto
-61.505 157.811 lineto
-61.505 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-61.808 151.811 M
-67.808 151.811 lineto
-67.808 157.811 lineto
-61.808 157.811 lineto
-61.808 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-61.808 151.811 M
-67.808 151.811 lineto
-67.808 157.811 lineto
-61.808 157.811 lineto
-61.808 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-62.112 151.811 M
-68.112 151.811 lineto
-68.112 157.811 lineto
-62.112 157.811 lineto
-62.112 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-62.112 151.811 M
-68.112 151.811 lineto
-68.112 157.811 lineto
-62.112 157.811 lineto
-62.112 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-62.416 151.811 M
-68.416 151.811 lineto
-68.416 157.811 lineto
-62.416 157.811 lineto
-62.416 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-62.416 151.811 M
-68.416 151.811 lineto
-68.416 157.811 lineto
-62.416 157.811 lineto
-62.416 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-62.72 151.811 M
-68.72 151.811 lineto
-68.72 157.811 lineto
-62.72 157.811 lineto
-62.72 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-62.72 151.811 M
-68.72 151.811 lineto
-68.72 157.811 lineto
-62.72 157.811 lineto
-62.72 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-63.023 151.811 M
-69.023 151.811 lineto
-69.023 157.811 lineto
-63.023 157.811 lineto
-63.023 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.023 151.811 M
-69.023 151.811 lineto
-69.023 157.811 lineto
-63.023 157.811 lineto
-63.023 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-63.327 151.811 M
-69.327 151.811 lineto
-69.327 157.811 lineto
-63.327 157.811 lineto
-63.327 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.327 151.811 M
-69.327 151.811 lineto
-69.327 157.811 lineto
-63.327 157.811 lineto
-63.327 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-63.631 151.811 M
-69.631 151.811 lineto
-69.631 157.811 lineto
-63.631 157.811 lineto
-63.631 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.631 151.811 M
-69.631 151.811 lineto
-69.631 157.811 lineto
-63.631 157.811 lineto
-63.631 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-63.935 151.811 M
-69.935 151.811 lineto
-69.935 157.811 lineto
-63.935 157.811 lineto
-63.935 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-63.935 151.811 M
-69.935 151.811 lineto
-69.935 157.811 lineto
-63.935 157.811 lineto
-63.935 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-64.238 151.811 M
-70.238 151.811 lineto
-70.238 157.811 lineto
-64.238 157.811 lineto
-64.238 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-64.238 151.811 M
-70.238 151.811 lineto
-70.238 157.811 lineto
-64.238 157.811 lineto
-64.238 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-64.542 151.811 M
-70.542 151.811 lineto
-70.542 157.811 lineto
-64.542 157.811 lineto
-64.542 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-64.542 151.811 M
-70.542 151.811 lineto
-70.542 157.811 lineto
-64.542 157.811 lineto
-64.542 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-64.846 151.811 M
-70.846 151.811 lineto
-70.846 157.811 lineto
-64.846 157.811 lineto
-64.846 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-64.846 151.811 M
-70.846 151.811 lineto
-70.846 157.811 lineto
-64.846 157.811 lineto
-64.846 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-65.149 151.811 M
-71.149 151.811 lineto
-71.149 157.811 lineto
-65.149 157.811 lineto
-65.149 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-65.149 151.811 M
-71.149 151.811 lineto
-71.149 157.811 lineto
-65.149 157.811 lineto
-65.149 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-65.453 151.811 M
-71.453 151.811 lineto
-71.453 157.811 lineto
-65.453 157.811 lineto
-65.453 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-65.453 151.811 M
-71.453 151.811 lineto
-71.453 157.811 lineto
-65.453 157.811 lineto
-65.453 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-65.757 151.811 M
-71.757 151.811 lineto
-71.757 157.811 lineto
-65.757 157.811 lineto
-65.757 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-65.757 151.811 M
-71.757 151.811 lineto
-71.757 157.811 lineto
-65.757 157.811 lineto
-65.757 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-66.061 151.811 M
-72.061 151.811 lineto
-72.061 157.811 lineto
-66.061 157.811 lineto
-66.061 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.061 151.811 M
-72.061 151.811 lineto
-72.061 157.811 lineto
-66.061 157.811 lineto
-66.061 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-66.364 151.811 M
-72.364 151.811 lineto
-72.364 157.811 lineto
-66.364 157.811 lineto
-66.364 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.364 151.811 M
-72.364 151.811 lineto
-72.364 157.811 lineto
-66.364 157.811 lineto
-66.364 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-66.668 151.811 M
-72.668 151.811 lineto
-72.668 157.811 lineto
-66.668 157.811 lineto
-66.668 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.668 151.811 M
-72.668 151.811 lineto
-72.668 157.811 lineto
-66.668 157.811 lineto
-66.668 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-66.972 130.263 M
-72.972 130.263 lineto
-72.972 136.263 lineto
-66.972 136.263 lineto
-66.972 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-66.972 130.263 M
-72.972 130.263 lineto
-72.972 136.263 lineto
-66.972 136.263 lineto
-66.972 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-67.276 130.263 M
-73.276 130.263 lineto
-73.276 136.263 lineto
-67.276 136.263 lineto
-67.276 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-67.276 130.263 M
-73.276 130.263 lineto
-73.276 136.263 lineto
-67.276 136.263 lineto
-67.276 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-67.579 130.263 M
-73.579 130.263 lineto
-73.579 136.263 lineto
-67.579 136.263 lineto
-67.579 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-67.579 130.263 M
-73.579 130.263 lineto
-73.579 136.263 lineto
-67.579 136.263 lineto
-67.579 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-67.883 130.263 M
-73.883 130.263 lineto
-73.883 136.263 lineto
-67.883 136.263 lineto
-67.883 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-67.883 130.263 M
-73.883 130.263 lineto
-73.883 136.263 lineto
-67.883 136.263 lineto
-67.883 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-68.187 130.263 M
-74.187 130.263 lineto
-74.187 136.263 lineto
-68.187 136.263 lineto
-68.187 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-68.187 130.263 M
-74.187 130.263 lineto
-74.187 136.263 lineto
-68.187 136.263 lineto
-68.187 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-68.491 130.263 M
-74.491 130.263 lineto
-74.491 136.263 lineto
-68.491 136.263 lineto
-68.491 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-68.491 130.263 M
-74.491 130.263 lineto
-74.491 136.263 lineto
-68.491 136.263 lineto
-68.491 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-68.794 130.263 M
-74.794 130.263 lineto
-74.794 136.263 lineto
-68.794 136.263 lineto
-68.794 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-68.794 130.263 M
-74.794 130.263 lineto
-74.794 136.263 lineto
-68.794 136.263 lineto
-68.794 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-69.098 130.263 M
-75.098 130.263 lineto
-75.098 136.263 lineto
-69.098 136.263 lineto
-69.098 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.098 130.263 M
-75.098 130.263 lineto
-75.098 136.263 lineto
-69.098 136.263 lineto
-69.098 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-69.402 130.263 M
-75.402 130.263 lineto
-75.402 136.263 lineto
-69.402 136.263 lineto
-69.402 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.402 130.263 M
-75.402 130.263 lineto
-75.402 136.263 lineto
-69.402 136.263 lineto
-69.402 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-69.706 130.263 M
-75.706 130.263 lineto
-75.706 136.263 lineto
-69.706 136.263 lineto
-69.706 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-69.706 130.263 M
-75.706 130.263 lineto
-75.706 136.263 lineto
-69.706 136.263 lineto
-69.706 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-70.009 130.263 M
-76.009 130.263 lineto
-76.009 136.263 lineto
-70.009 136.263 lineto
-70.009 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-70.009 130.263 M
-76.009 130.263 lineto
-76.009 136.263 lineto
-70.009 136.263 lineto
-70.009 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-70.313 87.166 M
-76.313 87.166 lineto
-76.313 93.166 lineto
-70.313 93.166 lineto
-70.313 87.166 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-70.313 87.166 M
-76.313 87.166 lineto
-76.313 93.166 lineto
-70.313 93.166 lineto
-70.313 87.166 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-70.617 130.263 M
-76.617 130.263 lineto
-76.617 136.263 lineto
-70.617 136.263 lineto
-70.617 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-70.617 130.263 M
-76.617 130.263 lineto
-76.617 136.263 lineto
-70.617 136.263 lineto
-70.617 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-70.92 130.263 M
-76.92 130.263 lineto
-76.92 136.263 lineto
-70.92 136.263 lineto
-70.92 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-70.92 130.263 M
-76.92 130.263 lineto
-76.92 136.263 lineto
-70.92 136.263 lineto
-70.92 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-71.224 130.263 M
-77.224 130.263 lineto
-77.224 136.263 lineto
-71.224 136.263 lineto
-71.224 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-71.224 130.263 M
-77.224 130.263 lineto
-77.224 136.263 lineto
-71.224 136.263 lineto
-71.224 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-71.528 130.263 M
-77.528 130.263 lineto
-77.528 136.263 lineto
-71.528 136.263 lineto
-71.528 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-71.528 130.263 M
-77.528 130.263 lineto
-77.528 136.263 lineto
-71.528 136.263 lineto
-71.528 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-71.832 130.263 M
-77.832 130.263 lineto
-77.832 136.263 lineto
-71.832 136.263 lineto
-71.832 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-71.832 130.263 M
-77.832 130.263 lineto
-77.832 136.263 lineto
-71.832 136.263 lineto
-71.832 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-72.135 130.263 M
-78.135 130.263 lineto
-78.135 136.263 lineto
-72.135 136.263 lineto
-72.135 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.135 130.263 M
-78.135 130.263 lineto
-78.135 136.263 lineto
-72.135 136.263 lineto
-72.135 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-72.439 130.263 M
-78.439 130.263 lineto
-78.439 136.263 lineto
-72.439 136.263 lineto
-72.439 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.439 130.263 M
-78.439 130.263 lineto
-78.439 136.263 lineto
-72.439 136.263 lineto
-72.439 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-72.743 130.263 M
-78.743 130.263 lineto
-78.743 136.263 lineto
-72.743 136.263 lineto
-72.743 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-72.743 130.263 M
-78.743 130.263 lineto
-78.743 136.263 lineto
-72.743 136.263 lineto
-72.743 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-73.047 130.263 M
-79.047 130.263 lineto
-79.047 136.263 lineto
-73.047 136.263 lineto
-73.047 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-73.047 130.263 M
-79.047 130.263 lineto
-79.047 136.263 lineto
-73.047 136.263 lineto
-73.047 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-73.35 130.263 M
-79.35 130.263 lineto
-79.35 136.263 lineto
-73.35 136.263 lineto
-73.35 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-73.35 130.263 M
-79.35 130.263 lineto
-79.35 136.263 lineto
-73.35 136.263 lineto
-73.35 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-73.654 87.166 M
-79.654 87.166 lineto
-79.654 93.166 lineto
-73.654 93.166 lineto
-73.654 87.166 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-73.654 87.166 M
-79.654 87.166 lineto
-79.654 93.166 lineto
-73.654 93.166 lineto
-73.654 87.166 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-73.958 87.166 M
-79.958 87.166 lineto
-79.958 93.166 lineto
-73.958 93.166 lineto
-73.958 87.166 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-73.958 87.166 M
-79.958 87.166 lineto
-79.958 93.166 lineto
-73.958 93.166 lineto
-73.958 87.166 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-74.262 87.166 M
-80.262 87.166 lineto
-80.262 93.166 lineto
-74.262 93.166 lineto
-74.262 87.166 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-74.262 87.166 M
-80.262 87.166 lineto
-80.262 93.166 lineto
-74.262 93.166 lineto
-74.262 87.166 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-74.565 87.166 M
-80.565 87.166 lineto
-80.565 93.166 lineto
-74.565 93.166 lineto
-74.565 87.166 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-74.565 87.166 M
-80.565 87.166 lineto
-80.565 93.166 lineto
-74.565 93.166 lineto
-74.565 87.166 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-74.869 87.166 M
-80.869 87.166 lineto
-80.869 93.166 lineto
-74.869 93.166 lineto
-74.869 87.166 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-74.869 87.166 M
-80.869 87.166 lineto
-80.869 93.166 lineto
-74.869 93.166 lineto
-74.869 87.166 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-75.173 87.166 M
-81.173 87.166 lineto
-81.173 93.166 lineto
-75.173 93.166 lineto
-75.173 87.166 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-75.173 87.166 M
-81.173 87.166 lineto
-81.173 93.166 lineto
-75.173 93.166 lineto
-75.173 87.166 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-75.477 87.166 M
-81.477 87.166 lineto
-81.477 93.166 lineto
-75.477 93.166 lineto
-75.477 87.166 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-75.477 87.166 M
-81.477 87.166 lineto
-81.477 93.166 lineto
-75.477 93.166 lineto
-75.477 87.166 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-75.78 44.07 M
-81.78 44.07 lineto
-81.78 50.07 lineto
-75.78 50.07 lineto
-75.78 44.07 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-75.78 44.07 M
-81.78 44.07 lineto
-81.78 50.07 lineto
-75.78 50.07 lineto
-75.78 44.07 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-76.084 44.07 M
-82.084 44.07 lineto
-82.084 50.07 lineto
-76.084 50.07 lineto
-76.084 44.07 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-76.084 44.07 M
-82.084 44.07 lineto
-82.084 50.07 lineto
-76.084 50.07 lineto
-76.084 44.07 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-76.388 44.07 M
-82.388 44.07 lineto
-82.388 50.07 lineto
-76.388 50.07 lineto
-76.388 44.07 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-76.388 44.07 M
-82.388 44.07 lineto
-82.388 50.07 lineto
-76.388 50.07 lineto
-76.388 44.07 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-76.692 44.07 M
-82.692 44.07 lineto
-82.692 50.07 lineto
-76.692 50.07 lineto
-76.692 44.07 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-76.692 44.07 M
-82.692 44.07 lineto
-82.692 50.07 lineto
-76.692 50.07 lineto
-76.692 44.07 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-76.995 44.07 M
-82.995 44.07 lineto
-82.995 50.07 lineto
-76.995 50.07 lineto
-76.995 44.07 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-76.995 44.07 M
-82.995 44.07 lineto
-82.995 50.07 lineto
-76.995 50.07 lineto
-76.995 44.07 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-77.299 44.07 M
-83.299 44.07 lineto
-83.299 50.07 lineto
-77.299 50.07 lineto
-77.299 44.07 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-77.299 44.07 M
-83.299 44.07 lineto
-83.299 50.07 lineto
-77.299 50.07 lineto
-77.299 44.07 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-77.603 65.618 M
-83.603 65.618 lineto
-83.603 71.618 lineto
-77.603 71.618 lineto
-77.603 65.618 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-77.603 65.618 M
-83.603 65.618 lineto
-83.603 71.618 lineto
-77.603 71.618 lineto
-77.603 65.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-77.906 65.618 M
-83.906 65.618 lineto
-83.906 71.618 lineto
-77.906 71.618 lineto
-77.906 65.618 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-77.906 65.618 M
-83.906 65.618 lineto
-83.906 71.618 lineto
-77.906 71.618 lineto
-77.906 65.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-78.21 65.618 M
-84.21 65.618 lineto
-84.21 71.618 lineto
-78.21 71.618 lineto
-78.21 65.618 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-78.21 65.618 M
-84.21 65.618 lineto
-84.21 71.618 lineto
-78.21 71.618 lineto
-78.21 65.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-78.514 65.618 M
-84.514 65.618 lineto
-84.514 71.618 lineto
-78.514 71.618 lineto
-78.514 65.618 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-78.514 65.618 M
-84.514 65.618 lineto
-84.514 71.618 lineto
-78.514 71.618 lineto
-78.514 65.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-78.818 65.618 M
-84.818 65.618 lineto
-84.818 71.618 lineto
-78.818 71.618 lineto
-78.818 65.618 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-78.818 65.618 M
-84.818 65.618 lineto
-84.818 71.618 lineto
-78.818 71.618 lineto
-78.818 65.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-79.121 65.618 M
-85.121 65.618 lineto
-85.121 71.618 lineto
-79.121 71.618 lineto
-79.121 65.618 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-79.121 65.618 M
-85.121 65.618 lineto
-85.121 71.618 lineto
-79.121 71.618 lineto
-79.121 65.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-79.425 65.618 M
-85.425 65.618 lineto
-85.425 71.618 lineto
-79.425 71.618 lineto
-79.425 65.618 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-79.425 65.618 M
-85.425 65.618 lineto
-85.425 71.618 lineto
-79.425 71.618 lineto
-79.425 65.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-79.729 65.618 M
-85.729 65.618 lineto
-85.729 71.618 lineto
-79.729 71.618 lineto
-79.729 65.618 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-79.729 65.618 M
-85.729 65.618 lineto
-85.729 71.618 lineto
-79.729 71.618 lineto
-79.729 65.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-80.033 65.618 M
-86.033 65.618 lineto
-86.033 71.618 lineto
-80.033 71.618 lineto
-80.033 65.618 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.033 65.618 M
-86.033 65.618 lineto
-86.033 71.618 lineto
-80.033 71.618 lineto
-80.033 65.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-80.336 65.618 M
-86.336 65.618 lineto
-86.336 71.618 lineto
-80.336 71.618 lineto
-80.336 65.618 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.336 65.618 M
-86.336 65.618 lineto
-86.336 71.618 lineto
-80.336 71.618 lineto
-80.336 65.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-80.64 65.618 M
-86.64 65.618 lineto
-86.64 71.618 lineto
-80.64 71.618 lineto
-80.64 65.618 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.64 65.618 M
-86.64 65.618 lineto
-86.64 71.618 lineto
-80.64 71.618 lineto
-80.64 65.618 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-80.944 194.907 M
-86.944 194.907 lineto
-86.944 200.907 lineto
-80.944 200.907 lineto
-80.944 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-80.944 194.907 M
-86.944 194.907 lineto
-86.944 200.907 lineto
-80.944 200.907 lineto
-80.944 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-81.248 216.455 M
-87.248 216.455 lineto
-87.248 222.455 lineto
-81.248 222.455 lineto
-81.248 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-81.248 216.455 M
-87.248 216.455 lineto
-87.248 222.455 lineto
-81.248 222.455 lineto
-81.248 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-81.551 216.455 M
-87.551 216.455 lineto
-87.551 222.455 lineto
-81.551 222.455 lineto
-81.551 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-81.551 216.455 M
-87.551 216.455 lineto
-87.551 222.455 lineto
-81.551 222.455 lineto
-81.551 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-81.855 216.455 M
-87.855 216.455 lineto
-87.855 222.455 lineto
-81.855 222.455 lineto
-81.855 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-81.855 216.455 M
-87.855 216.455 lineto
-87.855 222.455 lineto
-81.855 222.455 lineto
-81.855 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-82.159 216.455 M
-88.159 216.455 lineto
-88.159 222.455 lineto
-82.159 222.455 lineto
-82.159 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-82.159 216.455 M
-88.159 216.455 lineto
-88.159 222.455 lineto
-82.159 222.455 lineto
-82.159 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-82.463 216.455 M
-88.463 216.455 lineto
-88.463 222.455 lineto
-82.463 222.455 lineto
-82.463 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-82.463 216.455 M
-88.463 216.455 lineto
-88.463 222.455 lineto
-82.463 222.455 lineto
-82.463 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-82.766 216.455 M
-88.766 216.455 lineto
-88.766 222.455 lineto
-82.766 222.455 lineto
-82.766 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-82.766 216.455 M
-88.766 216.455 lineto
-88.766 222.455 lineto
-82.766 222.455 lineto
-82.766 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-83.07 216.455 M
-89.07 216.455 lineto
-89.07 222.455 lineto
-83.07 222.455 lineto
-83.07 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.07 216.455 M
-89.07 216.455 lineto
-89.07 222.455 lineto
-83.07 222.455 lineto
-83.07 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-83.374 216.455 M
-89.374 216.455 lineto
-89.374 222.455 lineto
-83.374 222.455 lineto
-83.374 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.374 216.455 M
-89.374 216.455 lineto
-89.374 222.455 lineto
-83.374 222.455 lineto
-83.374 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-83.677 216.455 M
-89.677 216.455 lineto
-89.677 222.455 lineto
-83.677 222.455 lineto
-83.677 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.677 216.455 M
-89.677 216.455 lineto
-89.677 222.455 lineto
-83.677 222.455 lineto
-83.677 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-83.981 216.455 M
-89.981 216.455 lineto
-89.981 222.455 lineto
-83.981 222.455 lineto
-83.981 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.981 216.455 M
-89.981 216.455 lineto
-89.981 222.455 lineto
-83.981 222.455 lineto
-83.981 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-84.285 173.359 M
-90.285 173.359 lineto
-90.285 179.359 lineto
-84.285 179.359 lineto
-84.285 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-84.285 173.359 M
-90.285 173.359 lineto
-90.285 179.359 lineto
-84.285 179.359 lineto
-84.285 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-84.589 173.359 M
-90.589 173.359 lineto
-90.589 179.359 lineto
-84.589 179.359 lineto
-84.589 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-84.589 173.359 M
-90.589 173.359 lineto
-90.589 179.359 lineto
-84.589 179.359 lineto
-84.589 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-84.892 173.359 M
-90.892 173.359 lineto
-90.892 179.359 lineto
-84.892 179.359 lineto
-84.892 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-84.892 173.359 M
-90.892 173.359 lineto
-90.892 179.359 lineto
-84.892 179.359 lineto
-84.892 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-85.196 173.359 M
-91.196 173.359 lineto
-91.196 179.359 lineto
-85.196 179.359 lineto
-85.196 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-85.196 173.359 M
-91.196 173.359 lineto
-91.196 179.359 lineto
-85.196 179.359 lineto
-85.196 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-85.5 173.359 M
-91.5 173.359 lineto
-91.5 179.359 lineto
-85.5 179.359 lineto
-85.5 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-85.5 173.359 M
-91.5 173.359 lineto
-91.5 179.359 lineto
-85.5 179.359 lineto
-85.5 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-85.804 173.359 M
-91.804 173.359 lineto
-91.804 179.359 lineto
-85.804 179.359 lineto
-85.804 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-85.804 173.359 M
-91.804 173.359 lineto
-91.804 179.359 lineto
-85.804 179.359 lineto
-85.804 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-86.107 173.359 M
-92.107 173.359 lineto
-92.107 179.359 lineto
-86.107 179.359 lineto
-86.107 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-86.107 173.359 M
-92.107 173.359 lineto
-92.107 179.359 lineto
-86.107 179.359 lineto
-86.107 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-86.411 173.359 M
-92.411 173.359 lineto
-92.411 179.359 lineto
-86.411 179.359 lineto
-86.411 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-86.411 173.359 M
-92.411 173.359 lineto
-92.411 179.359 lineto
-86.411 179.359 lineto
-86.411 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-86.715 173.359 M
-92.715 173.359 lineto
-92.715 179.359 lineto
-86.715 179.359 lineto
-86.715 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-86.715 173.359 M
-92.715 173.359 lineto
-92.715 179.359 lineto
-86.715 179.359 lineto
-86.715 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-87.019 173.359 M
-93.019 173.359 lineto
-93.019 179.359 lineto
-87.019 179.359 lineto
-87.019 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.019 173.359 M
-93.019 173.359 lineto
-93.019 179.359 lineto
-87.019 179.359 lineto
-87.019 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-87.322 173.359 M
-93.322 173.359 lineto
-93.322 179.359 lineto
-87.322 179.359 lineto
-87.322 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.322 173.359 M
-93.322 173.359 lineto
-93.322 179.359 lineto
-87.322 179.359 lineto
-87.322 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-87.626 173.359 M
-93.626 173.359 lineto
-93.626 179.359 lineto
-87.626 179.359 lineto
-87.626 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.626 173.359 M
-93.626 173.359 lineto
-93.626 179.359 lineto
-87.626 179.359 lineto
-87.626 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-87.93 173.359 M
-93.93 173.359 lineto
-93.93 179.359 lineto
-87.93 179.359 lineto
-87.93 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-87.93 173.359 M
-93.93 173.359 lineto
-93.93 179.359 lineto
-87.93 179.359 lineto
-87.93 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-88.234 173.359 M
-94.234 173.359 lineto
-94.234 179.359 lineto
-88.234 179.359 lineto
-88.234 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-88.234 173.359 M
-94.234 173.359 lineto
-94.234 179.359 lineto
-88.234 179.359 lineto
-88.234 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-88.537 173.359 M
-94.537 173.359 lineto
-94.537 179.359 lineto
-88.537 179.359 lineto
-88.537 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-88.537 173.359 M
-94.537 173.359 lineto
-94.537 179.359 lineto
-88.537 179.359 lineto
-88.537 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-88.841 173.359 M
-94.841 173.359 lineto
-94.841 179.359 lineto
-88.841 179.359 lineto
-88.841 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-88.841 173.359 M
-94.841 173.359 lineto
-94.841 179.359 lineto
-88.841 179.359 lineto
-88.841 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-89.145 173.359 M
-95.145 173.359 lineto
-95.145 179.359 lineto
-89.145 179.359 lineto
-89.145 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-89.145 173.359 M
-95.145 173.359 lineto
-95.145 179.359 lineto
-89.145 179.359 lineto
-89.145 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-89.448 173.359 M
-95.448 173.359 lineto
-95.448 179.359 lineto
-89.448 179.359 lineto
-89.448 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-89.448 173.359 M
-95.448 173.359 lineto
-95.448 179.359 lineto
-89.448 179.359 lineto
-89.448 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-89.752 173.359 M
-95.752 173.359 lineto
-95.752 179.359 lineto
-89.752 179.359 lineto
-89.752 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-89.752 173.359 M
-95.752 173.359 lineto
-95.752 179.359 lineto
-89.752 179.359 lineto
-89.752 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-90.056 173.359 M
-96.056 173.359 lineto
-96.056 179.359 lineto
-90.056 179.359 lineto
-90.056 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-90.056 173.359 M
-96.056 173.359 lineto
-96.056 179.359 lineto
-90.056 179.359 lineto
-90.056 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-90.36 173.359 M
-96.36 173.359 lineto
-96.36 179.359 lineto
-90.36 179.359 lineto
-90.36 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-90.36 173.359 M
-96.36 173.359 lineto
-96.36 179.359 lineto
-90.36 179.359 lineto
-90.36 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-90.663 173.359 M
-96.663 173.359 lineto
-96.663 179.359 lineto
-90.663 179.359 lineto
-90.663 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-90.663 173.359 M
-96.663 173.359 lineto
-96.663 179.359 lineto
-90.663 179.359 lineto
-90.663 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-90.967 173.359 M
-96.967 173.359 lineto
-96.967 179.359 lineto
-90.967 179.359 lineto
-90.967 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-90.967 173.359 M
-96.967 173.359 lineto
-96.967 179.359 lineto
-90.967 179.359 lineto
-90.967 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-91.271 173.359 M
-97.271 173.359 lineto
-97.271 179.359 lineto
-91.271 179.359 lineto
-91.271 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-91.271 173.359 M
-97.271 173.359 lineto
-97.271 179.359 lineto
-91.271 179.359 lineto
-91.271 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-91.575 173.359 M
-97.575 173.359 lineto
-97.575 179.359 lineto
-91.575 179.359 lineto
-91.575 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-91.575 173.359 M
-97.575 173.359 lineto
-97.575 179.359 lineto
-91.575 179.359 lineto
-91.575 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-91.878 173.359 M
-97.878 173.359 lineto
-97.878 179.359 lineto
-91.878 179.359 lineto
-91.878 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-91.878 173.359 M
-97.878 173.359 lineto
-97.878 179.359 lineto
-91.878 179.359 lineto
-91.878 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-92.182 173.359 M
-98.182 173.359 lineto
-98.182 179.359 lineto
-92.182 179.359 lineto
-92.182 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-92.182 173.359 M
-98.182 173.359 lineto
-98.182 179.359 lineto
-92.182 179.359 lineto
-92.182 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-92.486 173.359 M
-98.486 173.359 lineto
-98.486 179.359 lineto
-92.486 179.359 lineto
-92.486 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-92.486 173.359 M
-98.486 173.359 lineto
-98.486 179.359 lineto
-92.486 179.359 lineto
-92.486 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-92.79 173.359 M
-98.79 173.359 lineto
-98.79 179.359 lineto
-92.79 179.359 lineto
-92.79 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-92.79 173.359 M
-98.79 173.359 lineto
-98.79 179.359 lineto
-92.79 179.359 lineto
-92.79 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-93.093 173.359 M
-99.093 173.359 lineto
-99.093 179.359 lineto
-93.093 179.359 lineto
-93.093 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-93.093 173.359 M
-99.093 173.359 lineto
-99.093 179.359 lineto
-93.093 179.359 lineto
-93.093 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-93.397 173.359 M
-99.397 173.359 lineto
-99.397 179.359 lineto
-93.397 179.359 lineto
-93.397 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-93.397 173.359 M
-99.397 173.359 lineto
-99.397 179.359 lineto
-93.397 179.359 lineto
-93.397 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-93.701 173.359 M
-99.701 173.359 lineto
-99.701 179.359 lineto
-93.701 179.359 lineto
-93.701 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-93.701 173.359 M
-99.701 173.359 lineto
-99.701 179.359 lineto
-93.701 179.359 lineto
-93.701 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-94.005 173.359 M
-100.005 173.359 lineto
-100.005 179.359 lineto
-94.005 179.359 lineto
-94.005 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-94.005 173.359 M
-100.005 173.359 lineto
-100.005 179.359 lineto
-94.005 179.359 lineto
-94.005 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-94.308 173.359 M
-100.308 173.359 lineto
-100.308 179.359 lineto
-94.308 179.359 lineto
-94.308 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-94.308 173.359 M
-100.308 173.359 lineto
-100.308 179.359 lineto
-94.308 179.359 lineto
-94.308 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-94.612 173.359 M
-100.612 173.359 lineto
-100.612 179.359 lineto
-94.612 179.359 lineto
-94.612 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-94.612 173.359 M
-100.612 173.359 lineto
-100.612 179.359 lineto
-94.612 179.359 lineto
-94.612 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-94.916 216.455 M
-100.916 216.455 lineto
-100.916 222.455 lineto
-94.916 222.455 lineto
-94.916 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-94.916 216.455 M
-100.916 216.455 lineto
-100.916 222.455 lineto
-94.916 222.455 lineto
-94.916 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-95.219 216.455 M
-101.219 216.455 lineto
-101.219 222.455 lineto
-95.219 222.455 lineto
-95.219 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-95.219 216.455 M
-101.219 216.455 lineto
-101.219 222.455 lineto
-95.219 222.455 lineto
-95.219 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-95.523 216.455 M
-101.523 216.455 lineto
-101.523 222.455 lineto
-95.523 222.455 lineto
-95.523 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-95.523 216.455 M
-101.523 216.455 lineto
-101.523 222.455 lineto
-95.523 222.455 lineto
-95.523 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-95.827 216.455 M
-101.827 216.455 lineto
-101.827 222.455 lineto
-95.827 222.455 lineto
-95.827 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-95.827 216.455 M
-101.827 216.455 lineto
-101.827 222.455 lineto
-95.827 222.455 lineto
-95.827 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-96.131 216.455 M
-102.131 216.455 lineto
-102.131 222.455 lineto
-96.131 222.455 lineto
-96.131 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-96.131 216.455 M
-102.131 216.455 lineto
-102.131 222.455 lineto
-96.131 222.455 lineto
-96.131 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-96.434 216.455 M
-102.434 216.455 lineto
-102.434 222.455 lineto
-96.434 222.455 lineto
-96.434 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-96.434 216.455 M
-102.434 216.455 lineto
-102.434 222.455 lineto
-96.434 222.455 lineto
-96.434 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-96.738 216.455 M
-102.738 216.455 lineto
-102.738 222.455 lineto
-96.738 222.455 lineto
-96.738 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-96.738 216.455 M
-102.738 216.455 lineto
-102.738 222.455 lineto
-96.738 222.455 lineto
-96.738 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-97.042 216.455 M
-103.042 216.455 lineto
-103.042 222.455 lineto
-97.042 222.455 lineto
-97.042 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-97.042 216.455 M
-103.042 216.455 lineto
-103.042 222.455 lineto
-97.042 222.455 lineto
-97.042 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-97.346 216.455 M
-103.346 216.455 lineto
-103.346 222.455 lineto
-97.346 222.455 lineto
-97.346 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-97.346 216.455 M
-103.346 216.455 lineto
-103.346 222.455 lineto
-97.346 222.455 lineto
-97.346 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-97.649 194.907 M
-103.649 194.907 lineto
-103.649 200.907 lineto
-97.649 200.907 lineto
-97.649 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-97.649 194.907 M
-103.649 194.907 lineto
-103.649 200.907 lineto
-97.649 200.907 lineto
-97.649 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-97.953 194.907 M
-103.953 194.907 lineto
-103.953 200.907 lineto
-97.953 200.907 lineto
-97.953 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-97.953 194.907 M
-103.953 194.907 lineto
-103.953 200.907 lineto
-97.953 200.907 lineto
-97.953 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-98.257 194.907 M
-104.257 194.907 lineto
-104.257 200.907 lineto
-98.257 200.907 lineto
-98.257 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-98.257 194.907 M
-104.257 194.907 lineto
-104.257 200.907 lineto
-98.257 200.907 lineto
-98.257 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-98.561 194.907 M
-104.561 194.907 lineto
-104.561 200.907 lineto
-98.561 200.907 lineto
-98.561 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-98.561 194.907 M
-104.561 194.907 lineto
-104.561 200.907 lineto
-98.561 200.907 lineto
-98.561 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-98.864 194.907 M
-104.864 194.907 lineto
-104.864 200.907 lineto
-98.864 200.907 lineto
-98.864 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-98.864 194.907 M
-104.864 194.907 lineto
-104.864 200.907 lineto
-98.864 200.907 lineto
-98.864 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-99.168 194.907 M
-105.168 194.907 lineto
-105.168 200.907 lineto
-99.168 200.907 lineto
-99.168 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-99.168 194.907 M
-105.168 194.907 lineto
-105.168 200.907 lineto
-99.168 200.907 lineto
-99.168 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-99.472 173.359 M
-105.472 173.359 lineto
-105.472 179.359 lineto
-99.472 179.359 lineto
-99.472 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-99.472 173.359 M
-105.472 173.359 lineto
-105.472 179.359 lineto
-99.472 179.359 lineto
-99.472 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-99.776 173.359 M
-105.776 173.359 lineto
-105.776 179.359 lineto
-99.776 179.359 lineto
-99.776 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-99.776 173.359 M
-105.776 173.359 lineto
-105.776 179.359 lineto
-99.776 179.359 lineto
-99.776 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-100.079 173.359 M
-106.079 173.359 lineto
-106.079 179.359 lineto
-100.079 179.359 lineto
-100.079 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-100.079 173.359 M
-106.079 173.359 lineto
-106.079 179.359 lineto
-100.079 179.359 lineto
-100.079 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-100.383 173.359 M
-106.383 173.359 lineto
-106.383 179.359 lineto
-100.383 179.359 lineto
-100.383 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-100.383 173.359 M
-106.383 173.359 lineto
-106.383 179.359 lineto
-100.383 179.359 lineto
-100.383 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-100.687 173.359 M
-106.687 173.359 lineto
-106.687 179.359 lineto
-100.687 179.359 lineto
-100.687 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-100.687 173.359 M
-106.687 173.359 lineto
-106.687 179.359 lineto
-100.687 179.359 lineto
-100.687 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-100.99 173.359 M
-106.99 173.359 lineto
-106.99 179.359 lineto
-100.99 179.359 lineto
-100.99 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-100.99 173.359 M
-106.99 173.359 lineto
-106.99 179.359 lineto
-100.99 179.359 lineto
-100.99 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-101.294 173.359 M
-107.294 173.359 lineto
-107.294 179.359 lineto
-101.294 179.359 lineto
-101.294 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-101.294 173.359 M
-107.294 173.359 lineto
-107.294 179.359 lineto
-101.294 179.359 lineto
-101.294 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-101.598 173.359 M
-107.598 173.359 lineto
-107.598 179.359 lineto
-101.598 179.359 lineto
-101.598 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-101.598 173.359 M
-107.598 173.359 lineto
-107.598 179.359 lineto
-101.598 179.359 lineto
-101.598 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-101.902 173.359 M
-107.902 173.359 lineto
-107.902 179.359 lineto
-101.902 179.359 lineto
-101.902 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-101.902 173.359 M
-107.902 173.359 lineto
-107.902 179.359 lineto
-101.902 179.359 lineto
-101.902 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-102.205 173.359 M
-108.205 173.359 lineto
-108.205 179.359 lineto
-102.205 179.359 lineto
-102.205 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-102.205 173.359 M
-108.205 173.359 lineto
-108.205 179.359 lineto
-102.205 179.359 lineto
-102.205 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-102.509 173.359 M
-108.509 173.359 lineto
-108.509 179.359 lineto
-102.509 179.359 lineto
-102.509 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-102.509 173.359 M
-108.509 173.359 lineto
-108.509 179.359 lineto
-102.509 179.359 lineto
-102.509 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-102.813 173.359 M
-108.813 173.359 lineto
-108.813 179.359 lineto
-102.813 179.359 lineto
-102.813 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-102.813 173.359 M
-108.813 173.359 lineto
-108.813 179.359 lineto
-102.813 179.359 lineto
-102.813 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-103.117 173.359 M
-109.117 173.359 lineto
-109.117 179.359 lineto
-103.117 179.359 lineto
-103.117 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-103.117 173.359 M
-109.117 173.359 lineto
-109.117 179.359 lineto
-103.117 179.359 lineto
-103.117 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-103.42 173.359 M
-109.42 173.359 lineto
-109.42 179.359 lineto
-103.42 179.359 lineto
-103.42 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-103.42 173.359 M
-109.42 173.359 lineto
-109.42 179.359 lineto
-103.42 179.359 lineto
-103.42 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-103.724 173.359 M
-109.724 173.359 lineto
-109.724 179.359 lineto
-103.724 179.359 lineto
-103.724 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-103.724 173.359 M
-109.724 173.359 lineto
-109.724 179.359 lineto
-103.724 179.359 lineto
-103.724 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-104.028 173.359 M
-110.028 173.359 lineto
-110.028 179.359 lineto
-104.028 179.359 lineto
-104.028 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-104.028 173.359 M
-110.028 173.359 lineto
-110.028 179.359 lineto
-104.028 179.359 lineto
-104.028 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-104.332 173.359 M
-110.332 173.359 lineto
-110.332 179.359 lineto
-104.332 179.359 lineto
-104.332 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-104.332 173.359 M
-110.332 173.359 lineto
-110.332 179.359 lineto
-104.332 179.359 lineto
-104.332 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-104.635 173.359 M
-110.635 173.359 lineto
-110.635 179.359 lineto
-104.635 179.359 lineto
-104.635 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-104.635 173.359 M
-110.635 173.359 lineto
-110.635 179.359 lineto
-104.635 179.359 lineto
-104.635 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-104.939 173.359 M
-110.939 173.359 lineto
-110.939 179.359 lineto
-104.939 179.359 lineto
-104.939 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-104.939 173.359 M
-110.939 173.359 lineto
-110.939 179.359 lineto
-104.939 179.359 lineto
-104.939 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-105.243 173.359 M
-111.243 173.359 lineto
-111.243 179.359 lineto
-105.243 179.359 lineto
-105.243 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-105.243 173.359 M
-111.243 173.359 lineto
-111.243 179.359 lineto
-105.243 179.359 lineto
-105.243 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-105.547 194.907 M
-111.547 194.907 lineto
-111.547 200.907 lineto
-105.547 200.907 lineto
-105.547 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-105.547 194.907 M
-111.547 194.907 lineto
-111.547 200.907 lineto
-105.547 200.907 lineto
-105.547 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-105.85 194.907 M
-111.85 194.907 lineto
-111.85 200.907 lineto
-105.85 200.907 lineto
-105.85 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-105.85 194.907 M
-111.85 194.907 lineto
-111.85 200.907 lineto
-105.85 200.907 lineto
-105.85 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-106.154 194.907 M
-112.154 194.907 lineto
-112.154 200.907 lineto
-106.154 200.907 lineto
-106.154 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-106.154 194.907 M
-112.154 194.907 lineto
-112.154 200.907 lineto
-106.154 200.907 lineto
-106.154 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-106.458 194.907 M
-112.458 194.907 lineto
-112.458 200.907 lineto
-106.458 200.907 lineto
-106.458 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-106.458 194.907 M
-112.458 194.907 lineto
-112.458 200.907 lineto
-106.458 200.907 lineto
-106.458 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-106.761 194.907 M
-112.761 194.907 lineto
-112.761 200.907 lineto
-106.761 200.907 lineto
-106.761 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-106.761 194.907 M
-112.761 194.907 lineto
-112.761 200.907 lineto
-106.761 200.907 lineto
-106.761 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-107.065 194.907 M
-113.065 194.907 lineto
-113.065 200.907 lineto
-107.065 200.907 lineto
-107.065 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-107.065 194.907 M
-113.065 194.907 lineto
-113.065 200.907 lineto
-107.065 200.907 lineto
-107.065 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-107.369 194.907 M
-113.369 194.907 lineto
-113.369 200.907 lineto
-107.369 200.907 lineto
-107.369 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-107.369 194.907 M
-113.369 194.907 lineto
-113.369 200.907 lineto
-107.369 200.907 lineto
-107.369 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-107.673 238.004 M
-113.673 238.004 lineto
-113.673 244.004 lineto
-107.673 244.004 lineto
-107.673 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-107.673 238.004 M
-113.673 238.004 lineto
-113.673 244.004 lineto
-107.673 244.004 lineto
-107.673 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-107.976 238.004 M
-113.976 238.004 lineto
-113.976 244.004 lineto
-107.976 244.004 lineto
-107.976 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-107.976 238.004 M
-113.976 238.004 lineto
-113.976 244.004 lineto
-107.976 244.004 lineto
-107.976 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-108.28 216.455 M
-114.28 216.455 lineto
-114.28 222.455 lineto
-108.28 222.455 lineto
-108.28 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-108.28 216.455 M
-114.28 216.455 lineto
-114.28 222.455 lineto
-108.28 222.455 lineto
-108.28 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-108.584 216.455 M
-114.584 216.455 lineto
-114.584 222.455 lineto
-108.584 222.455 lineto
-108.584 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-108.584 216.455 M
-114.584 216.455 lineto
-114.584 222.455 lineto
-108.584 222.455 lineto
-108.584 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-108.888 216.455 M
-114.888 216.455 lineto
-114.888 222.455 lineto
-108.888 222.455 lineto
-108.888 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-108.888 216.455 M
-114.888 216.455 lineto
-114.888 222.455 lineto
-108.888 222.455 lineto
-108.888 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-109.191 216.455 M
-115.191 216.455 lineto
-115.191 222.455 lineto
-109.191 222.455 lineto
-109.191 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-109.191 216.455 M
-115.191 216.455 lineto
-115.191 222.455 lineto
-109.191 222.455 lineto
-109.191 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-109.495 216.455 M
-115.495 216.455 lineto
-115.495 222.455 lineto
-109.495 222.455 lineto
-109.495 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-109.495 216.455 M
-115.495 216.455 lineto
-115.495 222.455 lineto
-109.495 222.455 lineto
-109.495 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-109.799 216.455 M
-115.799 216.455 lineto
-115.799 222.455 lineto
-109.799 222.455 lineto
-109.799 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-109.799 216.455 M
-115.799 216.455 lineto
-115.799 222.455 lineto
-109.799 222.455 lineto
-109.799 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-110.103 238.004 M
-116.103 238.004 lineto
-116.103 244.004 lineto
-110.103 244.004 lineto
-110.103 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-110.103 238.004 M
-116.103 238.004 lineto
-116.103 244.004 lineto
-110.103 244.004 lineto
-110.103 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-110.406 238.004 M
-116.406 238.004 lineto
-116.406 244.004 lineto
-110.406 244.004 lineto
-110.406 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-110.406 238.004 M
-116.406 238.004 lineto
-116.406 244.004 lineto
-110.406 244.004 lineto
-110.406 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-110.71 238.004 M
-116.71 238.004 lineto
-116.71 244.004 lineto
-110.71 244.004 lineto
-110.71 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-110.71 238.004 M
-116.71 238.004 lineto
-116.71 244.004 lineto
-110.71 244.004 lineto
-110.71 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-111.014 238.004 M
-117.014 238.004 lineto
-117.014 244.004 lineto
-111.014 244.004 lineto
-111.014 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-111.014 238.004 M
-117.014 238.004 lineto
-117.014 244.004 lineto
-111.014 244.004 lineto
-111.014 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-111.318 238.004 M
-117.318 238.004 lineto
-117.318 244.004 lineto
-111.318 244.004 lineto
-111.318 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-111.318 238.004 M
-117.318 238.004 lineto
-117.318 244.004 lineto
-111.318 244.004 lineto
-111.318 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-111.621 238.004 M
-117.621 238.004 lineto
-117.621 244.004 lineto
-111.621 244.004 lineto
-111.621 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-111.621 238.004 M
-117.621 238.004 lineto
-117.621 244.004 lineto
-111.621 244.004 lineto
-111.621 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-111.925 238.004 M
-117.925 238.004 lineto
-117.925 244.004 lineto
-111.925 244.004 lineto
-111.925 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-111.925 238.004 M
-117.925 238.004 lineto
-117.925 244.004 lineto
-111.925 244.004 lineto
-111.925 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-112.229 238.004 M
-118.229 238.004 lineto
-118.229 244.004 lineto
-112.229 244.004 lineto
-112.229 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-112.229 238.004 M
-118.229 238.004 lineto
-118.229 244.004 lineto
-112.229 244.004 lineto
-112.229 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-112.533 238.004 M
-118.533 238.004 lineto
-118.533 244.004 lineto
-112.533 244.004 lineto
-112.533 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-112.533 238.004 M
-118.533 238.004 lineto
-118.533 244.004 lineto
-112.533 244.004 lineto
-112.533 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-112.836 238.004 M
-118.836 238.004 lineto
-118.836 244.004 lineto
-112.836 244.004 lineto
-112.836 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-112.836 238.004 M
-118.836 238.004 lineto
-118.836 244.004 lineto
-112.836 244.004 lineto
-112.836 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-113.14 194.907 M
-119.14 194.907 lineto
-119.14 200.907 lineto
-113.14 200.907 lineto
-113.14 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-113.14 194.907 M
-119.14 194.907 lineto
-119.14 200.907 lineto
-113.14 200.907 lineto
-113.14 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-113.444 194.907 M
-119.444 194.907 lineto
-119.444 200.907 lineto
-113.444 200.907 lineto
-113.444 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-113.444 194.907 M
-119.444 194.907 lineto
-119.444 200.907 lineto
-113.444 200.907 lineto
-113.444 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-113.747 194.907 M
-119.747 194.907 lineto
-119.747 200.907 lineto
-113.747 200.907 lineto
-113.747 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-113.747 194.907 M
-119.747 194.907 lineto
-119.747 200.907 lineto
-113.747 200.907 lineto
-113.747 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-114.051 194.907 M
-120.051 194.907 lineto
-120.051 200.907 lineto
-114.051 200.907 lineto
-114.051 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-114.051 194.907 M
-120.051 194.907 lineto
-120.051 200.907 lineto
-114.051 200.907 lineto
-114.051 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-114.355 194.907 M
-120.355 194.907 lineto
-120.355 200.907 lineto
-114.355 200.907 lineto
-114.355 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-114.355 194.907 M
-120.355 194.907 lineto
-120.355 200.907 lineto
-114.355 200.907 lineto
-114.355 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-114.659 194.907 M
-120.659 194.907 lineto
-120.659 200.907 lineto
-114.659 200.907 lineto
-114.659 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-114.659 194.907 M
-120.659 194.907 lineto
-120.659 200.907 lineto
-114.659 200.907 lineto
-114.659 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-114.962 194.907 M
-120.962 194.907 lineto
-120.962 200.907 lineto
-114.962 200.907 lineto
-114.962 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-114.962 194.907 M
-120.962 194.907 lineto
-120.962 200.907 lineto
-114.962 200.907 lineto
-114.962 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-115.266 194.907 M
-121.266 194.907 lineto
-121.266 200.907 lineto
-115.266 200.907 lineto
-115.266 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-115.266 194.907 M
-121.266 194.907 lineto
-121.266 200.907 lineto
-115.266 200.907 lineto
-115.266 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-115.57 194.907 M
-121.57 194.907 lineto
-121.57 200.907 lineto
-115.57 200.907 lineto
-115.57 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-115.57 194.907 M
-121.57 194.907 lineto
-121.57 200.907 lineto
-115.57 200.907 lineto
-115.57 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-115.874 194.907 M
-121.874 194.907 lineto
-121.874 200.907 lineto
-115.874 200.907 lineto
-115.874 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-115.874 194.907 M
-121.874 194.907 lineto
-121.874 200.907 lineto
-115.874 200.907 lineto
-115.874 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-116.177 216.455 M
-122.177 216.455 lineto
-122.177 222.455 lineto
-116.177 222.455 lineto
-116.177 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-116.177 216.455 M
-122.177 216.455 lineto
-122.177 222.455 lineto
-116.177 222.455 lineto
-116.177 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-116.481 216.455 M
-122.481 216.455 lineto
-122.481 222.455 lineto
-116.481 222.455 lineto
-116.481 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-116.481 216.455 M
-122.481 216.455 lineto
-122.481 222.455 lineto
-116.481 222.455 lineto
-116.481 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-116.785 216.455 M
-122.785 216.455 lineto
-122.785 222.455 lineto
-116.785 222.455 lineto
-116.785 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-116.785 216.455 M
-122.785 216.455 lineto
-122.785 222.455 lineto
-116.785 222.455 lineto
-116.785 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-117.089 216.455 M
-123.089 216.455 lineto
-123.089 222.455 lineto
-117.089 222.455 lineto
-117.089 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-117.089 216.455 M
-123.089 216.455 lineto
-123.089 222.455 lineto
-117.089 222.455 lineto
-117.089 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-117.392 216.455 M
-123.392 216.455 lineto
-123.392 222.455 lineto
-117.392 222.455 lineto
-117.392 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-117.392 216.455 M
-123.392 216.455 lineto
-123.392 222.455 lineto
-117.392 222.455 lineto
-117.392 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-117.696 216.455 M
-123.696 216.455 lineto
-123.696 222.455 lineto
-117.696 222.455 lineto
-117.696 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-117.696 216.455 M
-123.696 216.455 lineto
-123.696 222.455 lineto
-117.696 222.455 lineto
-117.696 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-118 216.455 M
-124 216.455 lineto
-124 222.455 lineto
-118 222.455 lineto
-118 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-118 216.455 M
-124 216.455 lineto
-124 222.455 lineto
-118 222.455 lineto
-118 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-118.304 216.455 M
-124.304 216.455 lineto
-124.304 222.455 lineto
-118.304 222.455 lineto
-118.304 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-118.304 216.455 M
-124.304 216.455 lineto
-124.304 222.455 lineto
-118.304 222.455 lineto
-118.304 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-118.607 216.455 M
-124.607 216.455 lineto
-124.607 222.455 lineto
-118.607 222.455 lineto
-118.607 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-118.607 216.455 M
-124.607 216.455 lineto
-124.607 222.455 lineto
-118.607 222.455 lineto
-118.607 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-118.911 194.907 M
-124.911 194.907 lineto
-124.911 200.907 lineto
-118.911 200.907 lineto
-118.911 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-118.911 194.907 M
-124.911 194.907 lineto
-124.911 200.907 lineto
-118.911 200.907 lineto
-118.911 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-119.215 194.907 M
-125.215 194.907 lineto
-125.215 200.907 lineto
-119.215 200.907 lineto
-119.215 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-119.215 194.907 M
-125.215 194.907 lineto
-125.215 200.907 lineto
-119.215 200.907 lineto
-119.215 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-119.518 194.907 M
-125.518 194.907 lineto
-125.518 200.907 lineto
-119.518 200.907 lineto
-119.518 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-119.518 194.907 M
-125.518 194.907 lineto
-125.518 200.907 lineto
-119.518 200.907 lineto
-119.518 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-119.822 194.907 M
-125.822 194.907 lineto
-125.822 200.907 lineto
-119.822 200.907 lineto
-119.822 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-119.822 194.907 M
-125.822 194.907 lineto
-125.822 200.907 lineto
-119.822 200.907 lineto
-119.822 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-120.126 194.907 M
-126.126 194.907 lineto
-126.126 200.907 lineto
-120.126 200.907 lineto
-120.126 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-120.126 194.907 M
-126.126 194.907 lineto
-126.126 200.907 lineto
-120.126 200.907 lineto
-120.126 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-120.43 194.907 M
-126.43 194.907 lineto
-126.43 200.907 lineto
-120.43 200.907 lineto
-120.43 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-120.43 194.907 M
-126.43 194.907 lineto
-126.43 200.907 lineto
-120.43 200.907 lineto
-120.43 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-120.733 194.907 M
-126.733 194.907 lineto
-126.733 200.907 lineto
-120.733 200.907 lineto
-120.733 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-120.733 194.907 M
-126.733 194.907 lineto
-126.733 200.907 lineto
-120.733 200.907 lineto
-120.733 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-121.037 194.907 M
-127.037 194.907 lineto
-127.037 200.907 lineto
-121.037 200.907 lineto
-121.037 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.037 194.907 M
-127.037 194.907 lineto
-127.037 200.907 lineto
-121.037 200.907 lineto
-121.037 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-121.341 194.907 M
-127.341 194.907 lineto
-127.341 200.907 lineto
-121.341 200.907 lineto
-121.341 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.341 194.907 M
-127.341 194.907 lineto
-127.341 200.907 lineto
-121.341 200.907 lineto
-121.341 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-121.645 194.907 M
-127.645 194.907 lineto
-127.645 200.907 lineto
-121.645 200.907 lineto
-121.645 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.645 194.907 M
-127.645 194.907 lineto
-127.645 200.907 lineto
-121.645 200.907 lineto
-121.645 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-121.948 194.907 M
-127.948 194.907 lineto
-127.948 200.907 lineto
-121.948 200.907 lineto
-121.948 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-121.948 194.907 M
-127.948 194.907 lineto
-127.948 200.907 lineto
-121.948 200.907 lineto
-121.948 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-122.252 194.907 M
-128.252 194.907 lineto
-128.252 200.907 lineto
-122.252 200.907 lineto
-122.252 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-122.252 194.907 M
-128.252 194.907 lineto
-128.252 200.907 lineto
-122.252 200.907 lineto
-122.252 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-122.556 194.907 M
-128.556 194.907 lineto
-128.556 200.907 lineto
-122.556 200.907 lineto
-122.556 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-122.556 194.907 M
-128.556 194.907 lineto
-128.556 200.907 lineto
-122.556 200.907 lineto
-122.556 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-122.86 194.907 M
-128.86 194.907 lineto
-128.86 200.907 lineto
-122.86 200.907 lineto
-122.86 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-122.86 194.907 M
-128.86 194.907 lineto
-128.86 200.907 lineto
-122.86 200.907 lineto
-122.86 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-123.163 194.907 M
-129.163 194.907 lineto
-129.163 200.907 lineto
-123.163 200.907 lineto
-123.163 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-123.163 194.907 M
-129.163 194.907 lineto
-129.163 200.907 lineto
-123.163 200.907 lineto
-123.163 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-123.467 194.907 M
-129.467 194.907 lineto
-129.467 200.907 lineto
-123.467 200.907 lineto
-123.467 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-123.467 194.907 M
-129.467 194.907 lineto
-129.467 200.907 lineto
-123.467 200.907 lineto
-123.467 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-123.771 173.359 M
-129.771 173.359 lineto
-129.771 179.359 lineto
-123.771 179.359 lineto
-123.771 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-123.771 173.359 M
-129.771 173.359 lineto
-129.771 179.359 lineto
-123.771 179.359 lineto
-123.771 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-124.075 173.359 M
-130.075 173.359 lineto
-130.075 179.359 lineto
-124.075 179.359 lineto
-124.075 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.075 173.359 M
-130.075 173.359 lineto
-130.075 179.359 lineto
-124.075 179.359 lineto
-124.075 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-124.378 173.359 M
-130.378 173.359 lineto
-130.378 179.359 lineto
-124.378 179.359 lineto
-124.378 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.378 173.359 M
-130.378 173.359 lineto
-130.378 179.359 lineto
-124.378 179.359 lineto
-124.378 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-124.682 173.359 M
-130.682 173.359 lineto
-130.682 179.359 lineto
-124.682 179.359 lineto
-124.682 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.682 173.359 M
-130.682 173.359 lineto
-130.682 179.359 lineto
-124.682 179.359 lineto
-124.682 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-124.986 173.359 M
-130.986 173.359 lineto
-130.986 179.359 lineto
-124.986 179.359 lineto
-124.986 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.986 173.359 M
-130.986 173.359 lineto
-130.986 179.359 lineto
-124.986 179.359 lineto
-124.986 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-125.289 173.359 M
-131.289 173.359 lineto
-131.289 179.359 lineto
-125.289 179.359 lineto
-125.289 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-125.289 173.359 M
-131.289 173.359 lineto
-131.289 179.359 lineto
-125.289 179.359 lineto
-125.289 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-125.593 173.359 M
-131.593 173.359 lineto
-131.593 179.359 lineto
-125.593 179.359 lineto
-125.593 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-125.593 173.359 M
-131.593 173.359 lineto
-131.593 179.359 lineto
-125.593 179.359 lineto
-125.593 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-125.897 173.359 M
-131.897 173.359 lineto
-131.897 179.359 lineto
-125.897 179.359 lineto
-125.897 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-125.897 173.359 M
-131.897 173.359 lineto
-131.897 179.359 lineto
-125.897 179.359 lineto
-125.897 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-126.201 173.359 M
-132.201 173.359 lineto
-132.201 179.359 lineto
-126.201 179.359 lineto
-126.201 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-126.201 173.359 M
-132.201 173.359 lineto
-132.201 179.359 lineto
-126.201 179.359 lineto
-126.201 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-126.504 173.359 M
-132.504 173.359 lineto
-132.504 179.359 lineto
-126.504 179.359 lineto
-126.504 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-126.504 173.359 M
-132.504 173.359 lineto
-132.504 179.359 lineto
-126.504 179.359 lineto
-126.504 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-126.808 173.359 M
-132.808 173.359 lineto
-132.808 179.359 lineto
-126.808 179.359 lineto
-126.808 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-126.808 173.359 M
-132.808 173.359 lineto
-132.808 179.359 lineto
-126.808 179.359 lineto
-126.808 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-127.112 173.359 M
-133.112 173.359 lineto
-133.112 179.359 lineto
-127.112 179.359 lineto
-127.112 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.112 173.359 M
-133.112 173.359 lineto
-133.112 179.359 lineto
-127.112 179.359 lineto
-127.112 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-127.416 173.359 M
-133.416 173.359 lineto
-133.416 179.359 lineto
-127.416 179.359 lineto
-127.416 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.416 173.359 M
-133.416 173.359 lineto
-133.416 179.359 lineto
-127.416 179.359 lineto
-127.416 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-127.719 173.359 M
-133.719 173.359 lineto
-133.719 179.359 lineto
-127.719 179.359 lineto
-127.719 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.719 173.359 M
-133.719 173.359 lineto
-133.719 179.359 lineto
-127.719 179.359 lineto
-127.719 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-128.023 173.359 M
-134.023 173.359 lineto
-134.023 179.359 lineto
-128.023 179.359 lineto
-128.023 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-128.023 173.359 M
-134.023 173.359 lineto
-134.023 179.359 lineto
-128.023 179.359 lineto
-128.023 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-128.327 173.359 M
-134.327 173.359 lineto
-134.327 179.359 lineto
-128.327 179.359 lineto
-128.327 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-128.327 173.359 M
-134.327 173.359 lineto
-134.327 179.359 lineto
-128.327 179.359 lineto
-128.327 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-128.631 173.359 M
-134.631 173.359 lineto
-134.631 179.359 lineto
-128.631 179.359 lineto
-128.631 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-128.631 173.359 M
-134.631 173.359 lineto
-134.631 179.359 lineto
-128.631 179.359 lineto
-128.631 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-128.934 173.359 M
-134.934 173.359 lineto
-134.934 179.359 lineto
-128.934 179.359 lineto
-128.934 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-128.934 173.359 M
-134.934 173.359 lineto
-134.934 179.359 lineto
-128.934 179.359 lineto
-128.934 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-129.238 173.359 M
-135.238 173.359 lineto
-135.238 179.359 lineto
-129.238 179.359 lineto
-129.238 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-129.238 173.359 M
-135.238 173.359 lineto
-135.238 179.359 lineto
-129.238 179.359 lineto
-129.238 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-129.542 194.907 M
-135.542 194.907 lineto
-135.542 200.907 lineto
-129.542 200.907 lineto
-129.542 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-129.542 194.907 M
-135.542 194.907 lineto
-135.542 200.907 lineto
-129.542 200.907 lineto
-129.542 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-129.846 194.907 M
-135.846 194.907 lineto
-135.846 200.907 lineto
-129.846 200.907 lineto
-129.846 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-129.846 194.907 M
-135.846 194.907 lineto
-135.846 200.907 lineto
-129.846 200.907 lineto
-129.846 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-130.149 194.907 M
-136.149 194.907 lineto
-136.149 200.907 lineto
-130.149 200.907 lineto
-130.149 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.149 194.907 M
-136.149 194.907 lineto
-136.149 200.907 lineto
-130.149 200.907 lineto
-130.149 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-130.453 194.907 M
-136.453 194.907 lineto
-136.453 200.907 lineto
-130.453 200.907 lineto
-130.453 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.453 194.907 M
-136.453 194.907 lineto
-136.453 200.907 lineto
-130.453 200.907 lineto
-130.453 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-130.757 194.907 M
-136.757 194.907 lineto
-136.757 200.907 lineto
-130.757 200.907 lineto
-130.757 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.757 194.907 M
-136.757 194.907 lineto
-136.757 200.907 lineto
-130.757 200.907 lineto
-130.757 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-131.06 194.907 M
-137.06 194.907 lineto
-137.06 200.907 lineto
-131.06 200.907 lineto
-131.06 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-131.06 194.907 M
-137.06 194.907 lineto
-137.06 200.907 lineto
-131.06 200.907 lineto
-131.06 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-131.364 194.907 M
-137.364 194.907 lineto
-137.364 200.907 lineto
-131.364 200.907 lineto
-131.364 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-131.364 194.907 M
-137.364 194.907 lineto
-137.364 200.907 lineto
-131.364 200.907 lineto
-131.364 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-131.668 194.907 M
-137.668 194.907 lineto
-137.668 200.907 lineto
-131.668 200.907 lineto
-131.668 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-131.668 194.907 M
-137.668 194.907 lineto
-137.668 200.907 lineto
-131.668 200.907 lineto
-131.668 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-131.972 194.907 M
-137.972 194.907 lineto
-137.972 200.907 lineto
-131.972 200.907 lineto
-131.972 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-131.972 194.907 M
-137.972 194.907 lineto
-137.972 200.907 lineto
-131.972 200.907 lineto
-131.972 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-132.275 194.907 M
-138.275 194.907 lineto
-138.275 200.907 lineto
-132.275 200.907 lineto
-132.275 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-132.275 194.907 M
-138.275 194.907 lineto
-138.275 200.907 lineto
-132.275 200.907 lineto
-132.275 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-132.579 194.907 M
-138.579 194.907 lineto
-138.579 200.907 lineto
-132.579 200.907 lineto
-132.579 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-132.579 194.907 M
-138.579 194.907 lineto
-138.579 200.907 lineto
-132.579 200.907 lineto
-132.579 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-132.883 194.907 M
-138.883 194.907 lineto
-138.883 200.907 lineto
-132.883 200.907 lineto
-132.883 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-132.883 194.907 M
-138.883 194.907 lineto
-138.883 200.907 lineto
-132.883 200.907 lineto
-132.883 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-133.187 194.907 M
-139.187 194.907 lineto
-139.187 200.907 lineto
-133.187 200.907 lineto
-133.187 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-133.187 194.907 M
-139.187 194.907 lineto
-139.187 200.907 lineto
-133.187 200.907 lineto
-133.187 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-133.49 194.907 M
-139.49 194.907 lineto
-139.49 200.907 lineto
-133.49 200.907 lineto
-133.49 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-133.49 194.907 M
-139.49 194.907 lineto
-139.49 200.907 lineto
-133.49 200.907 lineto
-133.49 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-133.794 194.907 M
-139.794 194.907 lineto
-139.794 200.907 lineto
-133.794 200.907 lineto
-133.794 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-133.794 194.907 M
-139.794 194.907 lineto
-139.794 200.907 lineto
-133.794 200.907 lineto
-133.794 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-134.098 238.004 M
-140.098 238.004 lineto
-140.098 244.004 lineto
-134.098 244.004 lineto
-134.098 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-134.098 238.004 M
-140.098 238.004 lineto
-140.098 244.004 lineto
-134.098 244.004 lineto
-134.098 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-134.402 238.004 M
-140.402 238.004 lineto
-140.402 244.004 lineto
-134.402 244.004 lineto
-134.402 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-134.402 238.004 M
-140.402 238.004 lineto
-140.402 244.004 lineto
-134.402 244.004 lineto
-134.402 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-134.705 238.004 M
-140.705 238.004 lineto
-140.705 244.004 lineto
-134.705 244.004 lineto
-134.705 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-134.705 238.004 M
-140.705 238.004 lineto
-140.705 244.004 lineto
-134.705 244.004 lineto
-134.705 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-135.009 238.004 M
-141.009 238.004 lineto
-141.009 244.004 lineto
-135.009 244.004 lineto
-135.009 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-135.009 238.004 M
-141.009 238.004 lineto
-141.009 244.004 lineto
-135.009 244.004 lineto
-135.009 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-135.313 238.004 M
-141.313 238.004 lineto
-141.313 244.004 lineto
-135.313 244.004 lineto
-135.313 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-135.313 238.004 M
-141.313 238.004 lineto
-141.313 244.004 lineto
-135.313 244.004 lineto
-135.313 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-135.617 238.004 M
-141.617 238.004 lineto
-141.617 244.004 lineto
-135.617 244.004 lineto
-135.617 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-135.617 238.004 M
-141.617 238.004 lineto
-141.617 244.004 lineto
-135.617 244.004 lineto
-135.617 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-135.92 238.004 M
-141.92 238.004 lineto
-141.92 244.004 lineto
-135.92 244.004 lineto
-135.92 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-135.92 238.004 M
-141.92 238.004 lineto
-141.92 244.004 lineto
-135.92 244.004 lineto
-135.92 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-136.224 238.004 M
-142.224 238.004 lineto
-142.224 244.004 lineto
-136.224 244.004 lineto
-136.224 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-136.224 238.004 M
-142.224 238.004 lineto
-142.224 244.004 lineto
-136.224 244.004 lineto
-136.224 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-136.528 238.004 M
-142.528 238.004 lineto
-142.528 244.004 lineto
-136.528 244.004 lineto
-136.528 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-136.528 238.004 M
-142.528 238.004 lineto
-142.528 244.004 lineto
-136.528 244.004 lineto
-136.528 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-136.831 238.004 M
-142.831 238.004 lineto
-142.831 244.004 lineto
-136.831 244.004 lineto
-136.831 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-136.831 238.004 M
-142.831 238.004 lineto
-142.831 244.004 lineto
-136.831 244.004 lineto
-136.831 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-137.135 238.004 M
-143.135 238.004 lineto
-143.135 244.004 lineto
-137.135 244.004 lineto
-137.135 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-137.135 238.004 M
-143.135 238.004 lineto
-143.135 244.004 lineto
-137.135 244.004 lineto
-137.135 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-137.439 238.004 M
-143.439 238.004 lineto
-143.439 244.004 lineto
-137.439 244.004 lineto
-137.439 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-137.439 238.004 M
-143.439 238.004 lineto
-143.439 244.004 lineto
-137.439 244.004 lineto
-137.439 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-137.743 238.004 M
-143.743 238.004 lineto
-143.743 244.004 lineto
-137.743 244.004 lineto
-137.743 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-137.743 238.004 M
-143.743 238.004 lineto
-143.743 244.004 lineto
-137.743 244.004 lineto
-137.743 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-138.046 238.004 M
-144.046 238.004 lineto
-144.046 244.004 lineto
-138.046 244.004 lineto
-138.046 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-138.046 238.004 M
-144.046 238.004 lineto
-144.046 244.004 lineto
-138.046 244.004 lineto
-138.046 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-138.35 238.004 M
-144.35 238.004 lineto
-144.35 244.004 lineto
-138.35 244.004 lineto
-138.35 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-138.35 238.004 M
-144.35 238.004 lineto
-144.35 244.004 lineto
-138.35 244.004 lineto
-138.35 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-138.654 238.004 M
-144.654 238.004 lineto
-144.654 244.004 lineto
-138.654 244.004 lineto
-138.654 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-138.654 238.004 M
-144.654 238.004 lineto
-144.654 244.004 lineto
-138.654 244.004 lineto
-138.654 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-138.958 238.004 M
-144.958 238.004 lineto
-144.958 244.004 lineto
-138.958 244.004 lineto
-138.958 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-138.958 238.004 M
-144.958 238.004 lineto
-144.958 244.004 lineto
-138.958 244.004 lineto
-138.958 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-139.261 238.004 M
-145.261 238.004 lineto
-145.261 244.004 lineto
-139.261 244.004 lineto
-139.261 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-139.261 238.004 M
-145.261 238.004 lineto
-145.261 244.004 lineto
-139.261 244.004 lineto
-139.261 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-139.565 238.004 M
-145.565 238.004 lineto
-145.565 244.004 lineto
-139.565 244.004 lineto
-139.565 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-139.565 238.004 M
-145.565 238.004 lineto
-145.565 244.004 lineto
-139.565 244.004 lineto
-139.565 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-139.869 238.004 M
-145.869 238.004 lineto
-145.869 244.004 lineto
-139.869 244.004 lineto
-139.869 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-139.869 238.004 M
-145.869 238.004 lineto
-145.869 244.004 lineto
-139.869 244.004 lineto
-139.869 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-140.173 238.004 M
-146.173 238.004 lineto
-146.173 244.004 lineto
-140.173 244.004 lineto
-140.173 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-140.173 238.004 M
-146.173 238.004 lineto
-146.173 244.004 lineto
-140.173 244.004 lineto
-140.173 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-140.476 238.004 M
-146.476 238.004 lineto
-146.476 244.004 lineto
-140.476 244.004 lineto
-140.476 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-140.476 238.004 M
-146.476 238.004 lineto
-146.476 244.004 lineto
-140.476 244.004 lineto
-140.476 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-140.78 238.004 M
-146.78 238.004 lineto
-146.78 244.004 lineto
-140.78 244.004 lineto
-140.78 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-140.78 238.004 M
-146.78 238.004 lineto
-146.78 244.004 lineto
-140.78 244.004 lineto
-140.78 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-141.084 238.004 M
-147.084 238.004 lineto
-147.084 244.004 lineto
-141.084 244.004 lineto
-141.084 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-141.084 238.004 M
-147.084 238.004 lineto
-147.084 244.004 lineto
-141.084 244.004 lineto
-141.084 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-141.388 238.004 M
-147.388 238.004 lineto
-147.388 244.004 lineto
-141.388 244.004 lineto
-141.388 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-141.388 238.004 M
-147.388 238.004 lineto
-147.388 244.004 lineto
-141.388 244.004 lineto
-141.388 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-141.691 238.004 M
-147.691 238.004 lineto
-147.691 244.004 lineto
-141.691 244.004 lineto
-141.691 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-141.691 238.004 M
-147.691 238.004 lineto
-147.691 244.004 lineto
-141.691 244.004 lineto
-141.691 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-141.995 238.004 M
-147.995 238.004 lineto
-147.995 244.004 lineto
-141.995 244.004 lineto
-141.995 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-141.995 238.004 M
-147.995 238.004 lineto
-147.995 244.004 lineto
-141.995 244.004 lineto
-141.995 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-142.299 238.004 M
-148.299 238.004 lineto
-148.299 244.004 lineto
-142.299 244.004 lineto
-142.299 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-142.299 238.004 M
-148.299 238.004 lineto
-148.299 244.004 lineto
-142.299 244.004 lineto
-142.299 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-142.602 259.552 M
-148.602 259.552 lineto
-148.602 265.552 lineto
-142.602 265.552 lineto
-142.602 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-142.602 259.552 M
-148.602 259.552 lineto
-148.602 265.552 lineto
-142.602 265.552 lineto
-142.602 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-142.906 259.552 M
-148.906 259.552 lineto
-148.906 265.552 lineto
-142.906 265.552 lineto
-142.906 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-142.906 259.552 M
-148.906 259.552 lineto
-148.906 265.552 lineto
-142.906 265.552 lineto
-142.906 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-143.21 259.552 M
-149.21 259.552 lineto
-149.21 265.552 lineto
-143.21 265.552 lineto
-143.21 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-143.21 259.552 M
-149.21 259.552 lineto
-149.21 265.552 lineto
-143.21 265.552 lineto
-143.21 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-143.514 259.552 M
-149.514 259.552 lineto
-149.514 265.552 lineto
-143.514 265.552 lineto
-143.514 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-143.514 259.552 M
-149.514 259.552 lineto
-149.514 265.552 lineto
-143.514 265.552 lineto
-143.514 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-143.817 259.552 M
-149.817 259.552 lineto
-149.817 265.552 lineto
-143.817 265.552 lineto
-143.817 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-143.817 259.552 M
-149.817 259.552 lineto
-149.817 265.552 lineto
-143.817 265.552 lineto
-143.817 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-144.121 259.552 M
-150.121 259.552 lineto
-150.121 265.552 lineto
-144.121 265.552 lineto
-144.121 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-144.121 259.552 M
-150.121 259.552 lineto
-150.121 265.552 lineto
-144.121 265.552 lineto
-144.121 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-144.425 259.552 M
-150.425 259.552 lineto
-150.425 265.552 lineto
-144.425 265.552 lineto
-144.425 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-144.425 259.552 M
-150.425 259.552 lineto
-150.425 265.552 lineto
-144.425 265.552 lineto
-144.425 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-144.729 259.552 M
-150.729 259.552 lineto
-150.729 265.552 lineto
-144.729 265.552 lineto
-144.729 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-144.729 259.552 M
-150.729 259.552 lineto
-150.729 265.552 lineto
-144.729 265.552 lineto
-144.729 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-145.032 259.552 M
-151.032 259.552 lineto
-151.032 265.552 lineto
-145.032 265.552 lineto
-145.032 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-145.032 259.552 M
-151.032 259.552 lineto
-151.032 265.552 lineto
-145.032 265.552 lineto
-145.032 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-145.336 259.552 M
-151.336 259.552 lineto
-151.336 265.552 lineto
-145.336 265.552 lineto
-145.336 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-145.336 259.552 M
-151.336 259.552 lineto
-151.336 265.552 lineto
-145.336 265.552 lineto
-145.336 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-145.64 259.552 M
-151.64 259.552 lineto
-151.64 265.552 lineto
-145.64 265.552 lineto
-145.64 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-145.64 259.552 M
-151.64 259.552 lineto
-151.64 265.552 lineto
-145.64 265.552 lineto
-145.64 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-145.944 259.552 M
-151.944 259.552 lineto
-151.944 265.552 lineto
-145.944 265.552 lineto
-145.944 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-145.944 259.552 M
-151.944 259.552 lineto
-151.944 265.552 lineto
-145.944 265.552 lineto
-145.944 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-146.247 259.552 M
-152.247 259.552 lineto
-152.247 265.552 lineto
-146.247 265.552 lineto
-146.247 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.247 259.552 M
-152.247 259.552 lineto
-152.247 265.552 lineto
-146.247 265.552 lineto
-146.247 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-146.551 259.552 M
-152.551 259.552 lineto
-152.551 265.552 lineto
-146.551 265.552 lineto
-146.551 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.551 259.552 M
-152.551 259.552 lineto
-152.551 265.552 lineto
-146.551 265.552 lineto
-146.551 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-146.855 259.552 M
-152.855 259.552 lineto
-152.855 265.552 lineto
-146.855 265.552 lineto
-146.855 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-146.855 259.552 M
-152.855 259.552 lineto
-152.855 265.552 lineto
-146.855 265.552 lineto
-146.855 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-147.159 259.552 M
-153.159 259.552 lineto
-153.159 265.552 lineto
-147.159 265.552 lineto
-147.159 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-147.159 259.552 M
-153.159 259.552 lineto
-153.159 265.552 lineto
-147.159 265.552 lineto
-147.159 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-147.462 259.552 M
-153.462 259.552 lineto
-153.462 265.552 lineto
-147.462 265.552 lineto
-147.462 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-147.462 259.552 M
-153.462 259.552 lineto
-153.462 265.552 lineto
-147.462 265.552 lineto
-147.462 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-147.766 259.552 M
-153.766 259.552 lineto
-153.766 265.552 lineto
-147.766 265.552 lineto
-147.766 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-147.766 259.552 M
-153.766 259.552 lineto
-153.766 265.552 lineto
-147.766 265.552 lineto
-147.766 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-148.07 259.552 M
-154.07 259.552 lineto
-154.07 265.552 lineto
-148.07 265.552 lineto
-148.07 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-148.07 259.552 M
-154.07 259.552 lineto
-154.07 265.552 lineto
-148.07 265.552 lineto
-148.07 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-148.373 259.552 M
-154.373 259.552 lineto
-154.373 265.552 lineto
-148.373 265.552 lineto
-148.373 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-148.373 259.552 M
-154.373 259.552 lineto
-154.373 265.552 lineto
-148.373 265.552 lineto
-148.373 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-148.677 259.552 M
-154.677 259.552 lineto
-154.677 265.552 lineto
-148.677 265.552 lineto
-148.677 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-148.677 259.552 M
-154.677 259.552 lineto
-154.677 265.552 lineto
-148.677 265.552 lineto
-148.677 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-148.981 259.552 M
-154.981 259.552 lineto
-154.981 265.552 lineto
-148.981 265.552 lineto
-148.981 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-148.981 259.552 M
-154.981 259.552 lineto
-154.981 265.552 lineto
-148.981 265.552 lineto
-148.981 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-149.285 259.552 M
-155.285 259.552 lineto
-155.285 265.552 lineto
-149.285 265.552 lineto
-149.285 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-149.285 259.552 M
-155.285 259.552 lineto
-155.285 265.552 lineto
-149.285 265.552 lineto
-149.285 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-149.588 259.552 M
-155.588 259.552 lineto
-155.588 265.552 lineto
-149.588 265.552 lineto
-149.588 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-149.588 259.552 M
-155.588 259.552 lineto
-155.588 265.552 lineto
-149.588 265.552 lineto
-149.588 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-149.892 259.552 M
-155.892 259.552 lineto
-155.892 265.552 lineto
-149.892 265.552 lineto
-149.892 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-149.892 259.552 M
-155.892 259.552 lineto
-155.892 265.552 lineto
-149.892 265.552 lineto
-149.892 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-150.196 259.552 M
-156.196 259.552 lineto
-156.196 265.552 lineto
-150.196 265.552 lineto
-150.196 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-150.196 259.552 M
-156.196 259.552 lineto
-156.196 265.552 lineto
-150.196 265.552 lineto
-150.196 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-150.5 259.552 M
-156.5 259.552 lineto
-156.5 265.552 lineto
-150.5 265.552 lineto
-150.5 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-150.5 259.552 M
-156.5 259.552 lineto
-156.5 265.552 lineto
-150.5 265.552 lineto
-150.5 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-150.803 259.552 M
-156.803 259.552 lineto
-156.803 265.552 lineto
-150.803 265.552 lineto
-150.803 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-150.803 259.552 M
-156.803 259.552 lineto
-156.803 265.552 lineto
-150.803 265.552 lineto
-150.803 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-151.107 259.552 M
-157.107 259.552 lineto
-157.107 265.552 lineto
-151.107 265.552 lineto
-151.107 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-151.107 259.552 M
-157.107 259.552 lineto
-157.107 265.552 lineto
-151.107 265.552 lineto
-151.107 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-151.411 259.552 M
-157.411 259.552 lineto
-157.411 265.552 lineto
-151.411 265.552 lineto
-151.411 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-151.411 259.552 M
-157.411 259.552 lineto
-157.411 265.552 lineto
-151.411 265.552 lineto
-151.411 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-151.715 259.552 M
-157.715 259.552 lineto
-157.715 265.552 lineto
-151.715 265.552 lineto
-151.715 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-151.715 259.552 M
-157.715 259.552 lineto
-157.715 265.552 lineto
-151.715 265.552 lineto
-151.715 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-152.018 259.552 M
-158.018 259.552 lineto
-158.018 265.552 lineto
-152.018 265.552 lineto
-152.018 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-152.018 259.552 M
-158.018 259.552 lineto
-158.018 265.552 lineto
-152.018 265.552 lineto
-152.018 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-152.322 259.552 M
-158.322 259.552 lineto
-158.322 265.552 lineto
-152.322 265.552 lineto
-152.322 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-152.322 259.552 M
-158.322 259.552 lineto
-158.322 265.552 lineto
-152.322 265.552 lineto
-152.322 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-152.626 259.552 M
-158.626 259.552 lineto
-158.626 265.552 lineto
-152.626 265.552 lineto
-152.626 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-152.626 259.552 M
-158.626 259.552 lineto
-158.626 265.552 lineto
-152.626 265.552 lineto
-152.626 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-152.93 259.552 M
-158.93 259.552 lineto
-158.93 265.552 lineto
-152.93 265.552 lineto
-152.93 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-152.93 259.552 M
-158.93 259.552 lineto
-158.93 265.552 lineto
-152.93 265.552 lineto
-152.93 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-153.233 259.552 M
-159.233 259.552 lineto
-159.233 265.552 lineto
-153.233 265.552 lineto
-153.233 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-153.233 259.552 M
-159.233 259.552 lineto
-159.233 265.552 lineto
-153.233 265.552 lineto
-153.233 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-153.537 259.552 M
-159.537 259.552 lineto
-159.537 265.552 lineto
-153.537 265.552 lineto
-153.537 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-153.537 259.552 M
-159.537 259.552 lineto
-159.537 265.552 lineto
-153.537 265.552 lineto
-153.537 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-153.841 259.552 M
-159.841 259.552 lineto
-159.841 265.552 lineto
-153.841 265.552 lineto
-153.841 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-153.841 259.552 M
-159.841 259.552 lineto
-159.841 265.552 lineto
-153.841 265.552 lineto
-153.841 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-154.145 259.552 M
-160.145 259.552 lineto
-160.145 265.552 lineto
-154.145 265.552 lineto
-154.145 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-154.145 259.552 M
-160.145 259.552 lineto
-160.145 265.552 lineto
-154.145 265.552 lineto
-154.145 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-154.448 259.552 M
-160.448 259.552 lineto
-160.448 265.552 lineto
-154.448 265.552 lineto
-154.448 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-154.448 259.552 M
-160.448 259.552 lineto
-160.448 265.552 lineto
-154.448 265.552 lineto
-154.448 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-154.752 259.552 M
-160.752 259.552 lineto
-160.752 265.552 lineto
-154.752 265.552 lineto
-154.752 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-154.752 259.552 M
-160.752 259.552 lineto
-160.752 265.552 lineto
-154.752 265.552 lineto
-154.752 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-155.056 259.552 M
-161.056 259.552 lineto
-161.056 265.552 lineto
-155.056 265.552 lineto
-155.056 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-155.056 259.552 M
-161.056 259.552 lineto
-161.056 265.552 lineto
-155.056 265.552 lineto
-155.056 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-155.359 281.1 M
-161.359 281.1 lineto
-161.359 287.1 lineto
-155.359 287.1 lineto
-155.359 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-155.359 281.1 M
-161.359 281.1 lineto
-161.359 287.1 lineto
-155.359 287.1 lineto
-155.359 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-155.663 281.1 M
-161.663 281.1 lineto
-161.663 287.1 lineto
-155.663 287.1 lineto
-155.663 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-155.663 281.1 M
-161.663 281.1 lineto
-161.663 287.1 lineto
-155.663 287.1 lineto
-155.663 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-155.967 281.1 M
-161.967 281.1 lineto
-161.967 287.1 lineto
-155.967 287.1 lineto
-155.967 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-155.967 281.1 M
-161.967 281.1 lineto
-161.967 287.1 lineto
-155.967 287.1 lineto
-155.967 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-156.271 281.1 M
-162.271 281.1 lineto
-162.271 287.1 lineto
-156.271 287.1 lineto
-156.271 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-156.271 281.1 M
-162.271 281.1 lineto
-162.271 287.1 lineto
-156.271 287.1 lineto
-156.271 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-156.574 281.1 M
-162.574 281.1 lineto
-162.574 287.1 lineto
-156.574 287.1 lineto
-156.574 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-156.574 281.1 M
-162.574 281.1 lineto
-162.574 287.1 lineto
-156.574 287.1 lineto
-156.574 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-156.878 281.1 M
-162.878 281.1 lineto
-162.878 287.1 lineto
-156.878 287.1 lineto
-156.878 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-156.878 281.1 M
-162.878 281.1 lineto
-162.878 287.1 lineto
-156.878 287.1 lineto
-156.878 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-157.182 281.1 M
-163.182 281.1 lineto
-163.182 287.1 lineto
-157.182 287.1 lineto
-157.182 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-157.182 281.1 M
-163.182 281.1 lineto
-163.182 287.1 lineto
-157.182 287.1 lineto
-157.182 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-157.486 281.1 M
-163.486 281.1 lineto
-163.486 287.1 lineto
-157.486 287.1 lineto
-157.486 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-157.486 281.1 M
-163.486 281.1 lineto
-163.486 287.1 lineto
-157.486 287.1 lineto
-157.486 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-157.789 281.1 M
-163.789 281.1 lineto
-163.789 287.1 lineto
-157.789 287.1 lineto
-157.789 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-157.789 281.1 M
-163.789 281.1 lineto
-163.789 287.1 lineto
-157.789 287.1 lineto
-157.789 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-158.093 281.1 M
-164.093 281.1 lineto
-164.093 287.1 lineto
-158.093 287.1 lineto
-158.093 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-158.093 281.1 M
-164.093 281.1 lineto
-164.093 287.1 lineto
-158.093 287.1 lineto
-158.093 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-158.397 281.1 M
-164.397 281.1 lineto
-164.397 287.1 lineto
-158.397 287.1 lineto
-158.397 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-158.397 281.1 M
-164.397 281.1 lineto
-164.397 287.1 lineto
-158.397 287.1 lineto
-158.397 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-158.701 281.1 M
-164.701 281.1 lineto
-164.701 287.1 lineto
-158.701 287.1 lineto
-158.701 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-158.701 281.1 M
-164.701 281.1 lineto
-164.701 287.1 lineto
-158.701 287.1 lineto
-158.701 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-159.004 281.1 M
-165.004 281.1 lineto
-165.004 287.1 lineto
-159.004 287.1 lineto
-159.004 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-159.004 281.1 M
-165.004 281.1 lineto
-165.004 287.1 lineto
-159.004 287.1 lineto
-159.004 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-159.308 281.1 M
-165.308 281.1 lineto
-165.308 287.1 lineto
-159.308 287.1 lineto
-159.308 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-159.308 281.1 M
-165.308 281.1 lineto
-165.308 287.1 lineto
-159.308 287.1 lineto
-159.308 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-159.612 281.1 M
-165.612 281.1 lineto
-165.612 287.1 lineto
-159.612 287.1 lineto
-159.612 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-159.612 281.1 M
-165.612 281.1 lineto
-165.612 287.1 lineto
-159.612 287.1 lineto
-159.612 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-159.916 281.1 M
-165.916 281.1 lineto
-165.916 287.1 lineto
-159.916 287.1 lineto
-159.916 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-159.916 281.1 M
-165.916 281.1 lineto
-165.916 287.1 lineto
-159.916 287.1 lineto
-159.916 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-160.219 281.1 M
-166.219 281.1 lineto
-166.219 287.1 lineto
-160.219 287.1 lineto
-160.219 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-160.219 281.1 M
-166.219 281.1 lineto
-166.219 287.1 lineto
-160.219 287.1 lineto
-160.219 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-160.523 281.1 M
-166.523 281.1 lineto
-166.523 287.1 lineto
-160.523 287.1 lineto
-160.523 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-160.523 281.1 M
-166.523 281.1 lineto
-166.523 287.1 lineto
-160.523 287.1 lineto
-160.523 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-160.827 281.1 M
-166.827 281.1 lineto
-166.827 287.1 lineto
-160.827 287.1 lineto
-160.827 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-160.827 281.1 M
-166.827 281.1 lineto
-166.827 287.1 lineto
-160.827 287.1 lineto
-160.827 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-161.13 281.1 M
-167.13 281.1 lineto
-167.13 287.1 lineto
-161.13 287.1 lineto
-161.13 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-161.13 281.1 M
-167.13 281.1 lineto
-167.13 287.1 lineto
-161.13 287.1 lineto
-161.13 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-161.434 281.1 M
-167.434 281.1 lineto
-167.434 287.1 lineto
-161.434 287.1 lineto
-161.434 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-161.434 281.1 M
-167.434 281.1 lineto
-167.434 287.1 lineto
-161.434 287.1 lineto
-161.434 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-161.738 281.1 M
-167.738 281.1 lineto
-167.738 287.1 lineto
-161.738 287.1 lineto
-161.738 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-161.738 281.1 M
-167.738 281.1 lineto
-167.738 287.1 lineto
-161.738 287.1 lineto
-161.738 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-162.042 281.1 M
-168.042 281.1 lineto
-168.042 287.1 lineto
-162.042 287.1 lineto
-162.042 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-162.042 281.1 M
-168.042 281.1 lineto
-168.042 287.1 lineto
-162.042 287.1 lineto
-162.042 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-162.345 281.1 M
-168.345 281.1 lineto
-168.345 287.1 lineto
-162.345 287.1 lineto
-162.345 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-162.345 281.1 M
-168.345 281.1 lineto
-168.345 287.1 lineto
-162.345 287.1 lineto
-162.345 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-162.649 281.1 M
-168.649 281.1 lineto
-168.649 287.1 lineto
-162.649 287.1 lineto
-162.649 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-162.649 281.1 M
-168.649 281.1 lineto
-168.649 287.1 lineto
-162.649 287.1 lineto
-162.649 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-162.953 281.1 M
-168.953 281.1 lineto
-168.953 287.1 lineto
-162.953 287.1 lineto
-162.953 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-162.953 281.1 M
-168.953 281.1 lineto
-168.953 287.1 lineto
-162.953 287.1 lineto
-162.953 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-163.257 281.1 M
-169.257 281.1 lineto
-169.257 287.1 lineto
-163.257 287.1 lineto
-163.257 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-163.257 281.1 M
-169.257 281.1 lineto
-169.257 287.1 lineto
-163.257 287.1 lineto
-163.257 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-163.56 281.1 M
-169.56 281.1 lineto
-169.56 287.1 lineto
-163.56 287.1 lineto
-163.56 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-163.56 281.1 M
-169.56 281.1 lineto
-169.56 287.1 lineto
-163.56 287.1 lineto
-163.56 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-163.864 281.1 M
-169.864 281.1 lineto
-169.864 287.1 lineto
-163.864 287.1 lineto
-163.864 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-163.864 281.1 M
-169.864 281.1 lineto
-169.864 287.1 lineto
-163.864 287.1 lineto
-163.864 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-164.168 281.1 M
-170.168 281.1 lineto
-170.168 287.1 lineto
-164.168 287.1 lineto
-164.168 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-164.168 281.1 M
-170.168 281.1 lineto
-170.168 287.1 lineto
-164.168 287.1 lineto
-164.168 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-164.472 281.1 M
-170.472 281.1 lineto
-170.472 287.1 lineto
-164.472 287.1 lineto
-164.472 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-164.472 281.1 M
-170.472 281.1 lineto
-170.472 287.1 lineto
-164.472 287.1 lineto
-164.472 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-164.775 281.1 M
-170.775 281.1 lineto
-170.775 287.1 lineto
-164.775 287.1 lineto
-164.775 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-164.775 281.1 M
-170.775 281.1 lineto
-170.775 287.1 lineto
-164.775 287.1 lineto
-164.775 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-165.079 281.1 M
-171.079 281.1 lineto
-171.079 287.1 lineto
-165.079 287.1 lineto
-165.079 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-165.079 281.1 M
-171.079 281.1 lineto
-171.079 287.1 lineto
-165.079 287.1 lineto
-165.079 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-165.383 281.1 M
-171.383 281.1 lineto
-171.383 287.1 lineto
-165.383 287.1 lineto
-165.383 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-165.383 281.1 M
-171.383 281.1 lineto
-171.383 287.1 lineto
-165.383 287.1 lineto
-165.383 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-165.687 281.1 M
-171.687 281.1 lineto
-171.687 287.1 lineto
-165.687 287.1 lineto
-165.687 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-165.687 281.1 M
-171.687 281.1 lineto
-171.687 287.1 lineto
-165.687 287.1 lineto
-165.687 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-165.99 281.1 M
-171.99 281.1 lineto
-171.99 287.1 lineto
-165.99 287.1 lineto
-165.99 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-165.99 281.1 M
-171.99 281.1 lineto
-171.99 287.1 lineto
-165.99 287.1 lineto
-165.99 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-166.294 281.1 M
-172.294 281.1 lineto
-172.294 287.1 lineto
-166.294 287.1 lineto
-166.294 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-166.294 281.1 M
-172.294 281.1 lineto
-172.294 287.1 lineto
-166.294 287.1 lineto
-166.294 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-166.598 281.1 M
-172.598 281.1 lineto
-172.598 287.1 lineto
-166.598 287.1 lineto
-166.598 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-166.598 281.1 M
-172.598 281.1 lineto
-172.598 287.1 lineto
-166.598 287.1 lineto
-166.598 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-166.901 281.1 M
-172.901 281.1 lineto
-172.901 287.1 lineto
-166.901 287.1 lineto
-166.901 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-166.901 281.1 M
-172.901 281.1 lineto
-172.901 287.1 lineto
-166.901 287.1 lineto
-166.901 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-167.205 281.1 M
-173.205 281.1 lineto
-173.205 287.1 lineto
-167.205 287.1 lineto
-167.205 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-167.205 281.1 M
-173.205 281.1 lineto
-173.205 287.1 lineto
-167.205 287.1 lineto
-167.205 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-167.509 281.1 M
-173.509 281.1 lineto
-173.509 287.1 lineto
-167.509 287.1 lineto
-167.509 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-167.509 281.1 M
-173.509 281.1 lineto
-173.509 287.1 lineto
-167.509 287.1 lineto
-167.509 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-167.813 281.1 M
-173.813 281.1 lineto
-173.813 287.1 lineto
-167.813 287.1 lineto
-167.813 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-167.813 281.1 M
-173.813 281.1 lineto
-173.813 287.1 lineto
-167.813 287.1 lineto
-167.813 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-168.116 281.1 M
-174.116 281.1 lineto
-174.116 287.1 lineto
-168.116 287.1 lineto
-168.116 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-168.116 281.1 M
-174.116 281.1 lineto
-174.116 287.1 lineto
-168.116 287.1 lineto
-168.116 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-168.42 281.1 M
-174.42 281.1 lineto
-174.42 287.1 lineto
-168.42 287.1 lineto
-168.42 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-168.42 281.1 M
-174.42 281.1 lineto
-174.42 287.1 lineto
-168.42 287.1 lineto
-168.42 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-168.724 281.1 M
-174.724 281.1 lineto
-174.724 287.1 lineto
-168.724 287.1 lineto
-168.724 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-168.724 281.1 M
-174.724 281.1 lineto
-174.724 287.1 lineto
-168.724 287.1 lineto
-168.724 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-169.028 281.1 M
-175.028 281.1 lineto
-175.028 287.1 lineto
-169.028 287.1 lineto
-169.028 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-169.028 281.1 M
-175.028 281.1 lineto
-175.028 287.1 lineto
-169.028 287.1 lineto
-169.028 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-169.331 281.1 M
-175.331 281.1 lineto
-175.331 287.1 lineto
-169.331 287.1 lineto
-169.331 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-169.331 281.1 M
-175.331 281.1 lineto
-175.331 287.1 lineto
-169.331 287.1 lineto
-169.331 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-169.635 281.1 M
-175.635 281.1 lineto
-175.635 287.1 lineto
-169.635 287.1 lineto
-169.635 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-169.635 281.1 M
-175.635 281.1 lineto
-175.635 287.1 lineto
-169.635 287.1 lineto
-169.635 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-169.939 281.1 M
-175.939 281.1 lineto
-175.939 287.1 lineto
-169.939 287.1 lineto
-169.939 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-169.939 281.1 M
-175.939 281.1 lineto
-175.939 287.1 lineto
-169.939 287.1 lineto
-169.939 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-170.243 281.1 M
-176.243 281.1 lineto
-176.243 287.1 lineto
-170.243 287.1 lineto
-170.243 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.243 281.1 M
-176.243 281.1 lineto
-176.243 287.1 lineto
-170.243 287.1 lineto
-170.243 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-170.546 281.1 M
-176.546 281.1 lineto
-176.546 287.1 lineto
-170.546 287.1 lineto
-170.546 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.546 281.1 M
-176.546 281.1 lineto
-176.546 287.1 lineto
-170.546 287.1 lineto
-170.546 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-170.85 281.1 M
-176.85 281.1 lineto
-176.85 287.1 lineto
-170.85 287.1 lineto
-170.85 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.85 281.1 M
-176.85 281.1 lineto
-176.85 287.1 lineto
-170.85 287.1 lineto
-170.85 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-171.154 281.1 M
-177.154 281.1 lineto
-177.154 287.1 lineto
-171.154 287.1 lineto
-171.154 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-171.154 281.1 M
-177.154 281.1 lineto
-177.154 287.1 lineto
-171.154 287.1 lineto
-171.154 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-171.458 281.1 M
-177.458 281.1 lineto
-177.458 287.1 lineto
-171.458 287.1 lineto
-171.458 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-171.458 281.1 M
-177.458 281.1 lineto
-177.458 287.1 lineto
-171.458 287.1 lineto
-171.458 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-171.761 281.1 M
-177.761 281.1 lineto
-177.761 287.1 lineto
-171.761 287.1 lineto
-171.761 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-171.761 281.1 M
-177.761 281.1 lineto
-177.761 287.1 lineto
-171.761 287.1 lineto
-171.761 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-172.065 281.1 M
-178.065 281.1 lineto
-178.065 287.1 lineto
-172.065 287.1 lineto
-172.065 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-172.065 281.1 M
-178.065 281.1 lineto
-178.065 287.1 lineto
-172.065 287.1 lineto
-172.065 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-172.369 281.1 M
-178.369 281.1 lineto
-178.369 287.1 lineto
-172.369 287.1 lineto
-172.369 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-172.369 281.1 M
-178.369 281.1 lineto
-178.369 287.1 lineto
-172.369 287.1 lineto
-172.369 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-172.672 281.1 M
-178.672 281.1 lineto
-178.672 287.1 lineto
-172.672 287.1 lineto
-172.672 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-172.672 281.1 M
-178.672 281.1 lineto
-178.672 287.1 lineto
-172.672 287.1 lineto
-172.672 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-172.976 281.1 M
-178.976 281.1 lineto
-178.976 287.1 lineto
-172.976 287.1 lineto
-172.976 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-172.976 281.1 M
-178.976 281.1 lineto
-178.976 287.1 lineto
-172.976 287.1 lineto
-172.976 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-173.28 281.1 M
-179.28 281.1 lineto
-179.28 287.1 lineto
-173.28 287.1 lineto
-173.28 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.28 281.1 M
-179.28 281.1 lineto
-179.28 287.1 lineto
-173.28 287.1 lineto
-173.28 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-173.584 281.1 M
-179.584 281.1 lineto
-179.584 287.1 lineto
-173.584 287.1 lineto
-173.584 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.584 281.1 M
-179.584 281.1 lineto
-179.584 287.1 lineto
-173.584 287.1 lineto
-173.584 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-173.887 281.1 M
-179.887 281.1 lineto
-179.887 287.1 lineto
-173.887 287.1 lineto
-173.887 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-173.887 281.1 M
-179.887 281.1 lineto
-179.887 287.1 lineto
-173.887 287.1 lineto
-173.887 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-174.191 281.1 M
-180.191 281.1 lineto
-180.191 287.1 lineto
-174.191 287.1 lineto
-174.191 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-174.191 281.1 M
-180.191 281.1 lineto
-180.191 287.1 lineto
-174.191 287.1 lineto
-174.191 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-174.495 238.004 M
-180.495 238.004 lineto
-180.495 244.004 lineto
-174.495 244.004 lineto
-174.495 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-174.495 238.004 M
-180.495 238.004 lineto
-180.495 244.004 lineto
-174.495 244.004 lineto
-174.495 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-174.799 238.004 M
-180.799 238.004 lineto
-180.799 244.004 lineto
-174.799 244.004 lineto
-174.799 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-174.799 238.004 M
-180.799 238.004 lineto
-180.799 244.004 lineto
-174.799 244.004 lineto
-174.799 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-175.102 238.004 M
-181.102 238.004 lineto
-181.102 244.004 lineto
-175.102 244.004 lineto
-175.102 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-175.102 238.004 M
-181.102 238.004 lineto
-181.102 244.004 lineto
-175.102 244.004 lineto
-175.102 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-175.406 151.811 M
-181.406 151.811 lineto
-181.406 157.811 lineto
-175.406 157.811 lineto
-175.406 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-175.406 151.811 M
-181.406 151.811 lineto
-181.406 157.811 lineto
-175.406 157.811 lineto
-175.406 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-175.71 151.811 M
-181.71 151.811 lineto
-181.71 157.811 lineto
-175.71 157.811 lineto
-175.71 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-175.71 151.811 M
-181.71 151.811 lineto
-181.71 157.811 lineto
-175.71 157.811 lineto
-175.71 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-176.014 151.811 M
-182.014 151.811 lineto
-182.014 157.811 lineto
-176.014 157.811 lineto
-176.014 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-176.014 151.811 M
-182.014 151.811 lineto
-182.014 157.811 lineto
-176.014 157.811 lineto
-176.014 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-176.317 151.811 M
-182.317 151.811 lineto
-182.317 157.811 lineto
-176.317 157.811 lineto
-176.317 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-176.317 151.811 M
-182.317 151.811 lineto
-182.317 157.811 lineto
-176.317 157.811 lineto
-176.317 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-176.621 151.811 M
-182.621 151.811 lineto
-182.621 157.811 lineto
-176.621 157.811 lineto
-176.621 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-176.621 151.811 M
-182.621 151.811 lineto
-182.621 157.811 lineto
-176.621 157.811 lineto
-176.621 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-176.925 151.811 M
-182.925 151.811 lineto
-182.925 157.811 lineto
-176.925 157.811 lineto
-176.925 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-176.925 151.811 M
-182.925 151.811 lineto
-182.925 157.811 lineto
-176.925 157.811 lineto
-176.925 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-177.229 151.811 M
-183.229 151.811 lineto
-183.229 157.811 lineto
-177.229 157.811 lineto
-177.229 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-177.229 151.811 M
-183.229 151.811 lineto
-183.229 157.811 lineto
-177.229 157.811 lineto
-177.229 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-177.532 130.263 M
-183.532 130.263 lineto
-183.532 136.263 lineto
-177.532 136.263 lineto
-177.532 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-177.532 130.263 M
-183.532 130.263 lineto
-183.532 136.263 lineto
-177.532 136.263 lineto
-177.532 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-177.836 130.263 M
-183.836 130.263 lineto
-183.836 136.263 lineto
-177.836 136.263 lineto
-177.836 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-177.836 130.263 M
-183.836 130.263 lineto
-183.836 136.263 lineto
-177.836 136.263 lineto
-177.836 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-178.14 130.263 M
-184.14 130.263 lineto
-184.14 136.263 lineto
-178.14 136.263 lineto
-178.14 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-178.14 130.263 M
-184.14 130.263 lineto
-184.14 136.263 lineto
-178.14 136.263 lineto
-178.14 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-178.443 130.263 M
-184.443 130.263 lineto
-184.443 136.263 lineto
-178.443 136.263 lineto
-178.443 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-178.443 130.263 M
-184.443 130.263 lineto
-184.443 136.263 lineto
-178.443 136.263 lineto
-178.443 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-178.747 130.263 M
-184.747 130.263 lineto
-184.747 136.263 lineto
-178.747 136.263 lineto
-178.747 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-178.747 130.263 M
-184.747 130.263 lineto
-184.747 136.263 lineto
-178.747 136.263 lineto
-178.747 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-179.051 130.263 M
-185.051 130.263 lineto
-185.051 136.263 lineto
-179.051 136.263 lineto
-179.051 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-179.051 130.263 M
-185.051 130.263 lineto
-185.051 136.263 lineto
-179.051 136.263 lineto
-179.051 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-179.355 130.263 M
-185.355 130.263 lineto
-185.355 136.263 lineto
-179.355 136.263 lineto
-179.355 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-179.355 130.263 M
-185.355 130.263 lineto
-185.355 136.263 lineto
-179.355 136.263 lineto
-179.355 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-179.658 130.263 M
-185.658 130.263 lineto
-185.658 136.263 lineto
-179.658 136.263 lineto
-179.658 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-179.658 130.263 M
-185.658 130.263 lineto
-185.658 136.263 lineto
-179.658 136.263 lineto
-179.658 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-179.962 130.263 M
-185.962 130.263 lineto
-185.962 136.263 lineto
-179.962 136.263 lineto
-179.962 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-179.962 130.263 M
-185.962 130.263 lineto
-185.962 136.263 lineto
-179.962 136.263 lineto
-179.962 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-180.266 130.263 M
-186.266 130.263 lineto
-186.266 136.263 lineto
-180.266 136.263 lineto
-180.266 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-180.266 130.263 M
-186.266 130.263 lineto
-186.266 136.263 lineto
-180.266 136.263 lineto
-180.266 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-180.57 130.263 M
-186.57 130.263 lineto
-186.57 136.263 lineto
-180.57 136.263 lineto
-180.57 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-180.57 130.263 M
-186.57 130.263 lineto
-186.57 136.263 lineto
-180.57 136.263 lineto
-180.57 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-180.873 130.263 M
-186.873 130.263 lineto
-186.873 136.263 lineto
-180.873 136.263 lineto
-180.873 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-180.873 130.263 M
-186.873 130.263 lineto
-186.873 136.263 lineto
-180.873 136.263 lineto
-180.873 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-181.177 130.263 M
-187.177 130.263 lineto
-187.177 136.263 lineto
-181.177 136.263 lineto
-181.177 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-181.177 130.263 M
-187.177 130.263 lineto
-187.177 136.263 lineto
-181.177 136.263 lineto
-181.177 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-181.481 130.263 M
-187.481 130.263 lineto
-187.481 136.263 lineto
-181.481 136.263 lineto
-181.481 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-181.481 130.263 M
-187.481 130.263 lineto
-187.481 136.263 lineto
-181.481 136.263 lineto
-181.481 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-181.785 130.263 M
-187.785 130.263 lineto
-187.785 136.263 lineto
-181.785 136.263 lineto
-181.785 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-181.785 130.263 M
-187.785 130.263 lineto
-187.785 136.263 lineto
-181.785 136.263 lineto
-181.785 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-182.088 130.263 M
-188.088 130.263 lineto
-188.088 136.263 lineto
-182.088 136.263 lineto
-182.088 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-182.088 130.263 M
-188.088 130.263 lineto
-188.088 136.263 lineto
-182.088 136.263 lineto
-182.088 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-182.392 130.263 M
-188.392 130.263 lineto
-188.392 136.263 lineto
-182.392 136.263 lineto
-182.392 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-182.392 130.263 M
-188.392 130.263 lineto
-188.392 136.263 lineto
-182.392 136.263 lineto
-182.392 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-182.696 130.263 M
-188.696 130.263 lineto
-188.696 136.263 lineto
-182.696 136.263 lineto
-182.696 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-182.696 130.263 M
-188.696 130.263 lineto
-188.696 136.263 lineto
-182.696 136.263 lineto
-182.696 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-183 130.263 M
-189 130.263 lineto
-189 136.263 lineto
-183 136.263 lineto
-183 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-183 130.263 M
-189 130.263 lineto
-189 136.263 lineto
-183 136.263 lineto
-183 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-183.303 130.263 M
-189.303 130.263 lineto
-189.303 136.263 lineto
-183.303 136.263 lineto
-183.303 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-183.303 130.263 M
-189.303 130.263 lineto
-189.303 136.263 lineto
-183.303 136.263 lineto
-183.303 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-183.607 130.263 M
-189.607 130.263 lineto
-189.607 136.263 lineto
-183.607 136.263 lineto
-183.607 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-183.607 130.263 M
-189.607 130.263 lineto
-189.607 136.263 lineto
-183.607 136.263 lineto
-183.607 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-183.911 130.263 M
-189.911 130.263 lineto
-189.911 136.263 lineto
-183.911 136.263 lineto
-183.911 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-183.911 130.263 M
-189.911 130.263 lineto
-189.911 136.263 lineto
-183.911 136.263 lineto
-183.911 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-184.214 130.263 M
-190.214 130.263 lineto
-190.214 136.263 lineto
-184.214 136.263 lineto
-184.214 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-184.214 130.263 M
-190.214 130.263 lineto
-190.214 136.263 lineto
-184.214 136.263 lineto
-184.214 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-184.518 130.263 M
-190.518 130.263 lineto
-190.518 136.263 lineto
-184.518 136.263 lineto
-184.518 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-184.518 130.263 M
-190.518 130.263 lineto
-190.518 136.263 lineto
-184.518 136.263 lineto
-184.518 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-184.822 130.263 M
-190.822 130.263 lineto
-190.822 136.263 lineto
-184.822 136.263 lineto
-184.822 130.263 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-184.822 130.263 M
-190.822 130.263 lineto
-190.822 136.263 lineto
-184.822 136.263 lineto
-184.822 130.263 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-185.126 151.811 M
-191.126 151.811 lineto
-191.126 157.811 lineto
-185.126 157.811 lineto
-185.126 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-185.126 151.811 M
-191.126 151.811 lineto
-191.126 157.811 lineto
-185.126 157.811 lineto
-185.126 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-185.429 151.811 M
-191.429 151.811 lineto
-191.429 157.811 lineto
-185.429 157.811 lineto
-185.429 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-185.429 151.811 M
-191.429 151.811 lineto
-191.429 157.811 lineto
-185.429 157.811 lineto
-185.429 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-185.733 151.811 M
-191.733 151.811 lineto
-191.733 157.811 lineto
-185.733 157.811 lineto
-185.733 151.811 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-185.733 151.811 M
-191.733 151.811 lineto
-191.733 157.811 lineto
-185.733 157.811 lineto
-185.733 151.811 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-186.037 173.359 M
-192.037 173.359 lineto
-192.037 179.359 lineto
-186.037 179.359 lineto
-186.037 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-186.037 173.359 M
-192.037 173.359 lineto
-192.037 179.359 lineto
-186.037 179.359 lineto
-186.037 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-186.341 173.359 M
-192.341 173.359 lineto
-192.341 179.359 lineto
-186.341 179.359 lineto
-186.341 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-186.341 173.359 M
-192.341 173.359 lineto
-192.341 179.359 lineto
-186.341 179.359 lineto
-186.341 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-186.644 173.359 M
-192.644 173.359 lineto
-192.644 179.359 lineto
-186.644 179.359 lineto
-186.644 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-186.644 173.359 M
-192.644 173.359 lineto
-192.644 179.359 lineto
-186.644 179.359 lineto
-186.644 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-186.948 173.359 M
-192.948 173.359 lineto
-192.948 179.359 lineto
-186.948 179.359 lineto
-186.948 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-186.948 173.359 M
-192.948 173.359 lineto
-192.948 179.359 lineto
-186.948 179.359 lineto
-186.948 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-187.252 173.359 M
-193.252 173.359 lineto
-193.252 179.359 lineto
-187.252 179.359 lineto
-187.252 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-187.252 173.359 M
-193.252 173.359 lineto
-193.252 179.359 lineto
-187.252 179.359 lineto
-187.252 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-187.556 173.359 M
-193.556 173.359 lineto
-193.556 179.359 lineto
-187.556 179.359 lineto
-187.556 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-187.556 173.359 M
-193.556 173.359 lineto
-193.556 179.359 lineto
-187.556 179.359 lineto
-187.556 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-187.859 173.359 M
-193.859 173.359 lineto
-193.859 179.359 lineto
-187.859 179.359 lineto
-187.859 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-187.859 173.359 M
-193.859 173.359 lineto
-193.859 179.359 lineto
-187.859 179.359 lineto
-187.859 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-188.163 173.359 M
-194.163 173.359 lineto
-194.163 179.359 lineto
-188.163 179.359 lineto
-188.163 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-188.163 173.359 M
-194.163 173.359 lineto
-194.163 179.359 lineto
-188.163 179.359 lineto
-188.163 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-188.467 173.359 M
-194.467 173.359 lineto
-194.467 179.359 lineto
-188.467 179.359 lineto
-188.467 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-188.467 173.359 M
-194.467 173.359 lineto
-194.467 179.359 lineto
-188.467 179.359 lineto
-188.467 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-188.771 173.359 M
-194.771 173.359 lineto
-194.771 179.359 lineto
-188.771 179.359 lineto
-188.771 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-188.771 173.359 M
-194.771 173.359 lineto
-194.771 179.359 lineto
-188.771 179.359 lineto
-188.771 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-189.074 173.359 M
-195.074 173.359 lineto
-195.074 179.359 lineto
-189.074 179.359 lineto
-189.074 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.074 173.359 M
-195.074 173.359 lineto
-195.074 179.359 lineto
-189.074 179.359 lineto
-189.074 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-189.378 173.359 M
-195.378 173.359 lineto
-195.378 179.359 lineto
-189.378 179.359 lineto
-189.378 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.378 173.359 M
-195.378 173.359 lineto
-195.378 179.359 lineto
-189.378 179.359 lineto
-189.378 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-189.682 173.359 M
-195.682 173.359 lineto
-195.682 179.359 lineto
-189.682 179.359 lineto
-189.682 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.682 173.359 M
-195.682 173.359 lineto
-195.682 179.359 lineto
-189.682 179.359 lineto
-189.682 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-189.985 173.359 M
-195.985 173.359 lineto
-195.985 179.359 lineto
-189.985 179.359 lineto
-189.985 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-189.985 173.359 M
-195.985 173.359 lineto
-195.985 179.359 lineto
-189.985 179.359 lineto
-189.985 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-190.289 173.359 M
-196.289 173.359 lineto
-196.289 179.359 lineto
-190.289 179.359 lineto
-190.289 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-190.289 173.359 M
-196.289 173.359 lineto
-196.289 179.359 lineto
-190.289 179.359 lineto
-190.289 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-190.593 173.359 M
-196.593 173.359 lineto
-196.593 179.359 lineto
-190.593 179.359 lineto
-190.593 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-190.593 173.359 M
-196.593 173.359 lineto
-196.593 179.359 lineto
-190.593 179.359 lineto
-190.593 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-190.897 173.359 M
-196.897 173.359 lineto
-196.897 179.359 lineto
-190.897 179.359 lineto
-190.897 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-190.897 173.359 M
-196.897 173.359 lineto
-196.897 179.359 lineto
-190.897 179.359 lineto
-190.897 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-191.2 173.359 M
-197.2 173.359 lineto
-197.2 179.359 lineto
-191.2 179.359 lineto
-191.2 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-191.2 173.359 M
-197.2 173.359 lineto
-197.2 179.359 lineto
-191.2 179.359 lineto
-191.2 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-191.504 173.359 M
-197.504 173.359 lineto
-197.504 179.359 lineto
-191.504 179.359 lineto
-191.504 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-191.504 173.359 M
-197.504 173.359 lineto
-197.504 179.359 lineto
-191.504 179.359 lineto
-191.504 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-191.808 173.359 M
-197.808 173.359 lineto
-197.808 179.359 lineto
-191.808 179.359 lineto
-191.808 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-191.808 173.359 M
-197.808 173.359 lineto
-197.808 179.359 lineto
-191.808 179.359 lineto
-191.808 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-192.112 173.359 M
-198.112 173.359 lineto
-198.112 179.359 lineto
-192.112 179.359 lineto
-192.112 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-192.112 173.359 M
-198.112 173.359 lineto
-198.112 179.359 lineto
-192.112 179.359 lineto
-192.112 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-192.415 173.359 M
-198.415 173.359 lineto
-198.415 179.359 lineto
-192.415 179.359 lineto
-192.415 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-192.415 173.359 M
-198.415 173.359 lineto
-198.415 179.359 lineto
-192.415 179.359 lineto
-192.415 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-192.719 173.359 M
-198.719 173.359 lineto
-198.719 179.359 lineto
-192.719 179.359 lineto
-192.719 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-192.719 173.359 M
-198.719 173.359 lineto
-198.719 179.359 lineto
-192.719 179.359 lineto
-192.719 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-193.023 173.359 M
-199.023 173.359 lineto
-199.023 179.359 lineto
-193.023 179.359 lineto
-193.023 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-193.023 173.359 M
-199.023 173.359 lineto
-199.023 179.359 lineto
-193.023 179.359 lineto
-193.023 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-193.327 173.359 M
-199.327 173.359 lineto
-199.327 179.359 lineto
-193.327 179.359 lineto
-193.327 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-193.327 173.359 M
-199.327 173.359 lineto
-199.327 179.359 lineto
-193.327 179.359 lineto
-193.327 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-193.63 173.359 M
-199.63 173.359 lineto
-199.63 179.359 lineto
-193.63 179.359 lineto
-193.63 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-193.63 173.359 M
-199.63 173.359 lineto
-199.63 179.359 lineto
-193.63 179.359 lineto
-193.63 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-193.934 173.359 M
-199.934 173.359 lineto
-199.934 179.359 lineto
-193.934 179.359 lineto
-193.934 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-193.934 173.359 M
-199.934 173.359 lineto
-199.934 179.359 lineto
-193.934 179.359 lineto
-193.934 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-194.238 173.359 M
-200.238 173.359 lineto
-200.238 179.359 lineto
-194.238 179.359 lineto
-194.238 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-194.238 173.359 M
-200.238 173.359 lineto
-200.238 179.359 lineto
-194.238 179.359 lineto
-194.238 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-194.542 173.359 M
-200.542 173.359 lineto
-200.542 179.359 lineto
-194.542 179.359 lineto
-194.542 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-194.542 173.359 M
-200.542 173.359 lineto
-200.542 179.359 lineto
-194.542 179.359 lineto
-194.542 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-194.845 173.359 M
-200.845 173.359 lineto
-200.845 179.359 lineto
-194.845 179.359 lineto
-194.845 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-194.845 173.359 M
-200.845 173.359 lineto
-200.845 179.359 lineto
-194.845 179.359 lineto
-194.845 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-195.149 173.359 M
-201.149 173.359 lineto
-201.149 179.359 lineto
-195.149 179.359 lineto
-195.149 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-195.149 173.359 M
-201.149 173.359 lineto
-201.149 179.359 lineto
-195.149 179.359 lineto
-195.149 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-195.453 173.359 M
-201.453 173.359 lineto
-201.453 179.359 lineto
-195.453 179.359 lineto
-195.453 173.359 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-195.453 173.359 M
-201.453 173.359 lineto
-201.453 179.359 lineto
-195.453 179.359 lineto
-195.453 173.359 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-195.757 216.455 M
-201.757 216.455 lineto
-201.757 222.455 lineto
-195.757 222.455 lineto
-195.757 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-195.757 216.455 M
-201.757 216.455 lineto
-201.757 222.455 lineto
-195.757 222.455 lineto
-195.757 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-196.06 216.455 M
-202.06 216.455 lineto
-202.06 222.455 lineto
-196.06 222.455 lineto
-196.06 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-196.06 216.455 M
-202.06 216.455 lineto
-202.06 222.455 lineto
-196.06 222.455 lineto
-196.06 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-196.364 216.455 M
-202.364 216.455 lineto
-202.364 222.455 lineto
-196.364 222.455 lineto
-196.364 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-196.364 216.455 M
-202.364 216.455 lineto
-202.364 222.455 lineto
-196.364 222.455 lineto
-196.364 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-196.668 238.004 M
-202.668 238.004 lineto
-202.668 244.004 lineto
-196.668 244.004 lineto
-196.668 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-196.668 238.004 M
-202.668 238.004 lineto
-202.668 244.004 lineto
-196.668 244.004 lineto
-196.668 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-196.971 238.004 M
-202.971 238.004 lineto
-202.971 244.004 lineto
-196.971 244.004 lineto
-196.971 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-196.971 238.004 M
-202.971 238.004 lineto
-202.971 244.004 lineto
-196.971 244.004 lineto
-196.971 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-197.275 238.004 M
-203.275 238.004 lineto
-203.275 244.004 lineto
-197.275 244.004 lineto
-197.275 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-197.275 238.004 M
-203.275 238.004 lineto
-203.275 244.004 lineto
-197.275 244.004 lineto
-197.275 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-197.579 238.004 M
-203.579 238.004 lineto
-203.579 244.004 lineto
-197.579 244.004 lineto
-197.579 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-197.579 238.004 M
-203.579 238.004 lineto
-203.579 244.004 lineto
-197.579 244.004 lineto
-197.579 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-197.883 238.004 M
-203.883 238.004 lineto
-203.883 244.004 lineto
-197.883 244.004 lineto
-197.883 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-197.883 238.004 M
-203.883 238.004 lineto
-203.883 244.004 lineto
-197.883 244.004 lineto
-197.883 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-198.186 238.004 M
-204.186 238.004 lineto
-204.186 244.004 lineto
-198.186 244.004 lineto
-198.186 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-198.186 238.004 M
-204.186 238.004 lineto
-204.186 244.004 lineto
-198.186 244.004 lineto
-198.186 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-198.49 238.004 M
-204.49 238.004 lineto
-204.49 244.004 lineto
-198.49 244.004 lineto
-198.49 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-198.49 238.004 M
-204.49 238.004 lineto
-204.49 244.004 lineto
-198.49 244.004 lineto
-198.49 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-198.794 238.004 M
-204.794 238.004 lineto
-204.794 244.004 lineto
-198.794 244.004 lineto
-198.794 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-198.794 238.004 M
-204.794 238.004 lineto
-204.794 244.004 lineto
-198.794 244.004 lineto
-198.794 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-199.098 238.004 M
-205.098 238.004 lineto
-205.098 244.004 lineto
-199.098 244.004 lineto
-199.098 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-199.098 238.004 M
-205.098 238.004 lineto
-205.098 244.004 lineto
-199.098 244.004 lineto
-199.098 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-199.401 238.004 M
-205.401 238.004 lineto
-205.401 244.004 lineto
-199.401 244.004 lineto
-199.401 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-199.401 238.004 M
-205.401 238.004 lineto
-205.401 244.004 lineto
-199.401 244.004 lineto
-199.401 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-199.705 238.004 M
-205.705 238.004 lineto
-205.705 244.004 lineto
-199.705 244.004 lineto
-199.705 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-199.705 238.004 M
-205.705 238.004 lineto
-205.705 244.004 lineto
-199.705 244.004 lineto
-199.705 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-200.009 238.004 M
-206.009 238.004 lineto
-206.009 244.004 lineto
-200.009 244.004 lineto
-200.009 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-200.009 238.004 M
-206.009 238.004 lineto
-206.009 244.004 lineto
-200.009 244.004 lineto
-200.009 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-200.313 238.004 M
-206.313 238.004 lineto
-206.313 244.004 lineto
-200.313 244.004 lineto
-200.313 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-200.313 238.004 M
-206.313 238.004 lineto
-206.313 244.004 lineto
-200.313 244.004 lineto
-200.313 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-200.616 238.004 M
-206.616 238.004 lineto
-206.616 244.004 lineto
-200.616 244.004 lineto
-200.616 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-200.616 238.004 M
-206.616 238.004 lineto
-206.616 244.004 lineto
-200.616 244.004 lineto
-200.616 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-200.92 238.004 M
-206.92 238.004 lineto
-206.92 244.004 lineto
-200.92 244.004 lineto
-200.92 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-200.92 238.004 M
-206.92 238.004 lineto
-206.92 244.004 lineto
-200.92 244.004 lineto
-200.92 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-201.224 238.004 M
-207.224 238.004 lineto
-207.224 244.004 lineto
-201.224 244.004 lineto
-201.224 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-201.224 238.004 M
-207.224 238.004 lineto
-207.224 244.004 lineto
-201.224 244.004 lineto
-201.224 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-201.528 238.004 M
-207.528 238.004 lineto
-207.528 244.004 lineto
-201.528 244.004 lineto
-201.528 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-201.528 238.004 M
-207.528 238.004 lineto
-207.528 244.004 lineto
-201.528 244.004 lineto
-201.528 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-201.831 238.004 M
-207.831 238.004 lineto
-207.831 244.004 lineto
-201.831 244.004 lineto
-201.831 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-201.831 238.004 M
-207.831 238.004 lineto
-207.831 244.004 lineto
-201.831 244.004 lineto
-201.831 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-202.135 238.004 M
-208.135 238.004 lineto
-208.135 244.004 lineto
-202.135 244.004 lineto
-202.135 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-202.135 238.004 M
-208.135 238.004 lineto
-208.135 244.004 lineto
-202.135 244.004 lineto
-202.135 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-202.439 238.004 M
-208.439 238.004 lineto
-208.439 244.004 lineto
-202.439 244.004 lineto
-202.439 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-202.439 238.004 M
-208.439 238.004 lineto
-208.439 244.004 lineto
-202.439 244.004 lineto
-202.439 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-202.742 238.004 M
-208.742 238.004 lineto
-208.742 244.004 lineto
-202.742 244.004 lineto
-202.742 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-202.742 238.004 M
-208.742 238.004 lineto
-208.742 244.004 lineto
-202.742 244.004 lineto
-202.742 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-203.046 238.004 M
-209.046 238.004 lineto
-209.046 244.004 lineto
-203.046 244.004 lineto
-203.046 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-203.046 238.004 M
-209.046 238.004 lineto
-209.046 244.004 lineto
-203.046 244.004 lineto
-203.046 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-203.35 238.004 M
-209.35 238.004 lineto
-209.35 244.004 lineto
-203.35 244.004 lineto
-203.35 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-203.35 238.004 M
-209.35 238.004 lineto
-209.35 244.004 lineto
-203.35 244.004 lineto
-203.35 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-203.654 238.004 M
-209.654 238.004 lineto
-209.654 244.004 lineto
-203.654 244.004 lineto
-203.654 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-203.654 238.004 M
-209.654 238.004 lineto
-209.654 244.004 lineto
-203.654 244.004 lineto
-203.654 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-203.957 238.004 M
-209.957 238.004 lineto
-209.957 244.004 lineto
-203.957 244.004 lineto
-203.957 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-203.957 238.004 M
-209.957 238.004 lineto
-209.957 244.004 lineto
-203.957 244.004 lineto
-203.957 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-204.261 238.004 M
-210.261 238.004 lineto
-210.261 244.004 lineto
-204.261 244.004 lineto
-204.261 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-204.261 238.004 M
-210.261 238.004 lineto
-210.261 244.004 lineto
-204.261 244.004 lineto
-204.261 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-204.565 238.004 M
-210.565 238.004 lineto
-210.565 244.004 lineto
-204.565 244.004 lineto
-204.565 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-204.565 238.004 M
-210.565 238.004 lineto
-210.565 244.004 lineto
-204.565 244.004 lineto
-204.565 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-204.869 238.004 M
-210.869 238.004 lineto
-210.869 244.004 lineto
-204.869 244.004 lineto
-204.869 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-204.869 238.004 M
-210.869 238.004 lineto
-210.869 244.004 lineto
-204.869 244.004 lineto
-204.869 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-205.172 238.004 M
-211.172 238.004 lineto
-211.172 244.004 lineto
-205.172 244.004 lineto
-205.172 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-205.172 238.004 M
-211.172 238.004 lineto
-211.172 244.004 lineto
-205.172 244.004 lineto
-205.172 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-205.476 238.004 M
-211.476 238.004 lineto
-211.476 244.004 lineto
-205.476 244.004 lineto
-205.476 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-205.476 238.004 M
-211.476 238.004 lineto
-211.476 244.004 lineto
-205.476 244.004 lineto
-205.476 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-205.78 238.004 M
-211.78 238.004 lineto
-211.78 244.004 lineto
-205.78 244.004 lineto
-205.78 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-205.78 238.004 M
-211.78 238.004 lineto
-211.78 244.004 lineto
-205.78 244.004 lineto
-205.78 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-206.084 238.004 M
-212.084 238.004 lineto
-212.084 244.004 lineto
-206.084 244.004 lineto
-206.084 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-206.084 238.004 M
-212.084 238.004 lineto
-212.084 244.004 lineto
-206.084 244.004 lineto
-206.084 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-206.387 238.004 M
-212.387 238.004 lineto
-212.387 244.004 lineto
-206.387 244.004 lineto
-206.387 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-206.387 238.004 M
-212.387 238.004 lineto
-212.387 244.004 lineto
-206.387 244.004 lineto
-206.387 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-206.691 238.004 M
-212.691 238.004 lineto
-212.691 244.004 lineto
-206.691 244.004 lineto
-206.691 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-206.691 238.004 M
-212.691 238.004 lineto
-212.691 244.004 lineto
-206.691 244.004 lineto
-206.691 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-206.995 238.004 M
-212.995 238.004 lineto
-212.995 244.004 lineto
-206.995 244.004 lineto
-206.995 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-206.995 238.004 M
-212.995 238.004 lineto
-212.995 244.004 lineto
-206.995 244.004 lineto
-206.995 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-207.299 238.004 M
-213.299 238.004 lineto
-213.299 244.004 lineto
-207.299 244.004 lineto
-207.299 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-207.299 238.004 M
-213.299 238.004 lineto
-213.299 244.004 lineto
-207.299 244.004 lineto
-207.299 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-207.602 238.004 M
-213.602 238.004 lineto
-213.602 244.004 lineto
-207.602 244.004 lineto
-207.602 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-207.602 238.004 M
-213.602 238.004 lineto
-213.602 244.004 lineto
-207.602 244.004 lineto
-207.602 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-207.906 238.004 M
-213.906 238.004 lineto
-213.906 244.004 lineto
-207.906 244.004 lineto
-207.906 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-207.906 238.004 M
-213.906 238.004 lineto
-213.906 244.004 lineto
-207.906 244.004 lineto
-207.906 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-208.21 238.004 M
-214.21 238.004 lineto
-214.21 244.004 lineto
-208.21 244.004 lineto
-208.21 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-208.21 238.004 M
-214.21 238.004 lineto
-214.21 244.004 lineto
-208.21 244.004 lineto
-208.21 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-208.513 238.004 M
-214.513 238.004 lineto
-214.513 244.004 lineto
-208.513 244.004 lineto
-208.513 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-208.513 238.004 M
-214.513 238.004 lineto
-214.513 244.004 lineto
-208.513 244.004 lineto
-208.513 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-208.817 238.004 M
-214.817 238.004 lineto
-214.817 244.004 lineto
-208.817 244.004 lineto
-208.817 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-208.817 238.004 M
-214.817 238.004 lineto
-214.817 244.004 lineto
-208.817 244.004 lineto
-208.817 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-209.121 238.004 M
-215.121 238.004 lineto
-215.121 244.004 lineto
-209.121 244.004 lineto
-209.121 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-209.121 238.004 M
-215.121 238.004 lineto
-215.121 244.004 lineto
-209.121 244.004 lineto
-209.121 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-209.425 259.552 M
-215.425 259.552 lineto
-215.425 265.552 lineto
-209.425 265.552 lineto
-209.425 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-209.425 259.552 M
-215.425 259.552 lineto
-215.425 265.552 lineto
-209.425 265.552 lineto
-209.425 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-209.728 259.552 M
-215.728 259.552 lineto
-215.728 265.552 lineto
-209.728 265.552 lineto
-209.728 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-209.728 259.552 M
-215.728 259.552 lineto
-215.728 265.552 lineto
-209.728 265.552 lineto
-209.728 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-210.032 259.552 M
-216.032 259.552 lineto
-216.032 265.552 lineto
-210.032 265.552 lineto
-210.032 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-210.032 259.552 M
-216.032 259.552 lineto
-216.032 265.552 lineto
-210.032 265.552 lineto
-210.032 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-210.336 259.552 M
-216.336 259.552 lineto
-216.336 265.552 lineto
-210.336 265.552 lineto
-210.336 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-210.336 259.552 M
-216.336 259.552 lineto
-216.336 265.552 lineto
-210.336 265.552 lineto
-210.336 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-210.64 259.552 M
-216.64 259.552 lineto
-216.64 265.552 lineto
-210.64 265.552 lineto
-210.64 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-210.64 259.552 M
-216.64 259.552 lineto
-216.64 265.552 lineto
-210.64 265.552 lineto
-210.64 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-210.943 259.552 M
-216.943 259.552 lineto
-216.943 265.552 lineto
-210.943 265.552 lineto
-210.943 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-210.943 259.552 M
-216.943 259.552 lineto
-216.943 265.552 lineto
-210.943 265.552 lineto
-210.943 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-211.247 259.552 M
-217.247 259.552 lineto
-217.247 265.552 lineto
-211.247 265.552 lineto
-211.247 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-211.247 259.552 M
-217.247 259.552 lineto
-217.247 265.552 lineto
-211.247 265.552 lineto
-211.247 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-211.551 259.552 M
-217.551 259.552 lineto
-217.551 265.552 lineto
-211.551 265.552 lineto
-211.551 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-211.551 259.552 M
-217.551 259.552 lineto
-217.551 265.552 lineto
-211.551 265.552 lineto
-211.551 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-211.855 259.552 M
-217.855 259.552 lineto
-217.855 265.552 lineto
-211.855 265.552 lineto
-211.855 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-211.855 259.552 M
-217.855 259.552 lineto
-217.855 265.552 lineto
-211.855 265.552 lineto
-211.855 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-212.158 259.552 M
-218.158 259.552 lineto
-218.158 265.552 lineto
-212.158 265.552 lineto
-212.158 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-212.158 259.552 M
-218.158 259.552 lineto
-218.158 265.552 lineto
-212.158 265.552 lineto
-212.158 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-212.462 259.552 M
-218.462 259.552 lineto
-218.462 265.552 lineto
-212.462 265.552 lineto
-212.462 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-212.462 259.552 M
-218.462 259.552 lineto
-218.462 265.552 lineto
-212.462 265.552 lineto
-212.462 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-212.766 259.552 M
-218.766 259.552 lineto
-218.766 265.552 lineto
-212.766 265.552 lineto
-212.766 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-212.766 259.552 M
-218.766 259.552 lineto
-218.766 265.552 lineto
-212.766 265.552 lineto
-212.766 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-213.07 259.552 M
-219.07 259.552 lineto
-219.07 265.552 lineto
-213.07 265.552 lineto
-213.07 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-213.07 259.552 M
-219.07 259.552 lineto
-219.07 265.552 lineto
-213.07 265.552 lineto
-213.07 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-213.373 259.552 M
-219.373 259.552 lineto
-219.373 265.552 lineto
-213.373 265.552 lineto
-213.373 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-213.373 259.552 M
-219.373 259.552 lineto
-219.373 265.552 lineto
-213.373 265.552 lineto
-213.373 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-213.677 259.552 M
-219.677 259.552 lineto
-219.677 265.552 lineto
-213.677 265.552 lineto
-213.677 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-213.677 259.552 M
-219.677 259.552 lineto
-219.677 265.552 lineto
-213.677 265.552 lineto
-213.677 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-213.981 259.552 M
-219.981 259.552 lineto
-219.981 265.552 lineto
-213.981 265.552 lineto
-213.981 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-213.981 259.552 M
-219.981 259.552 lineto
-219.981 265.552 lineto
-213.981 265.552 lineto
-213.981 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-214.284 259.552 M
-220.284 259.552 lineto
-220.284 265.552 lineto
-214.284 265.552 lineto
-214.284 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-214.284 259.552 M
-220.284 259.552 lineto
-220.284 265.552 lineto
-214.284 265.552 lineto
-214.284 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-214.588 259.552 M
-220.588 259.552 lineto
-220.588 265.552 lineto
-214.588 265.552 lineto
-214.588 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-214.588 259.552 M
-220.588 259.552 lineto
-220.588 265.552 lineto
-214.588 265.552 lineto
-214.588 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-214.892 259.552 M
-220.892 259.552 lineto
-220.892 265.552 lineto
-214.892 265.552 lineto
-214.892 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-214.892 259.552 M
-220.892 259.552 lineto
-220.892 265.552 lineto
-214.892 265.552 lineto
-214.892 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-215.196 194.907 M
-221.196 194.907 lineto
-221.196 200.907 lineto
-215.196 200.907 lineto
-215.196 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-215.196 194.907 M
-221.196 194.907 lineto
-221.196 200.907 lineto
-215.196 200.907 lineto
-215.196 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-215.499 194.907 M
-221.499 194.907 lineto
-221.499 200.907 lineto
-215.499 200.907 lineto
-215.499 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-215.499 194.907 M
-221.499 194.907 lineto
-221.499 200.907 lineto
-215.499 200.907 lineto
-215.499 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-215.803 194.907 M
-221.803 194.907 lineto
-221.803 200.907 lineto
-215.803 200.907 lineto
-215.803 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-215.803 194.907 M
-221.803 194.907 lineto
-221.803 200.907 lineto
-215.803 200.907 lineto
-215.803 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-216.107 194.907 M
-222.107 194.907 lineto
-222.107 200.907 lineto
-216.107 200.907 lineto
-216.107 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-216.107 194.907 M
-222.107 194.907 lineto
-222.107 200.907 lineto
-216.107 200.907 lineto
-216.107 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-216.411 194.907 M
-222.411 194.907 lineto
-222.411 200.907 lineto
-216.411 200.907 lineto
-216.411 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-216.411 194.907 M
-222.411 194.907 lineto
-222.411 200.907 lineto
-216.411 200.907 lineto
-216.411 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-216.714 194.907 M
-222.714 194.907 lineto
-222.714 200.907 lineto
-216.714 200.907 lineto
-216.714 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-216.714 194.907 M
-222.714 194.907 lineto
-222.714 200.907 lineto
-216.714 200.907 lineto
-216.714 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-217.018 194.907 M
-223.018 194.907 lineto
-223.018 200.907 lineto
-217.018 200.907 lineto
-217.018 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-217.018 194.907 M
-223.018 194.907 lineto
-223.018 200.907 lineto
-217.018 200.907 lineto
-217.018 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-217.322 194.907 M
-223.322 194.907 lineto
-223.322 200.907 lineto
-217.322 200.907 lineto
-217.322 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-217.322 194.907 M
-223.322 194.907 lineto
-223.322 200.907 lineto
-217.322 200.907 lineto
-217.322 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-217.626 194.907 M
-223.626 194.907 lineto
-223.626 200.907 lineto
-217.626 200.907 lineto
-217.626 194.907 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-217.626 194.907 M
-223.626 194.907 lineto
-223.626 200.907 lineto
-217.626 200.907 lineto
-217.626 194.907 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-217.929 238.004 M
-223.929 238.004 lineto
-223.929 244.004 lineto
-217.929 244.004 lineto
-217.929 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-217.929 238.004 M
-223.929 238.004 lineto
-223.929 244.004 lineto
-217.929 244.004 lineto
-217.929 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-218.233 238.004 M
-224.233 238.004 lineto
-224.233 244.004 lineto
-218.233 244.004 lineto
-218.233 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-218.233 238.004 M
-224.233 238.004 lineto
-224.233 244.004 lineto
-218.233 244.004 lineto
-218.233 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-218.537 238.004 M
-224.537 238.004 lineto
-224.537 244.004 lineto
-218.537 244.004 lineto
-218.537 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-218.537 238.004 M
-224.537 238.004 lineto
-224.537 244.004 lineto
-218.537 244.004 lineto
-218.537 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-218.841 238.004 M
-224.841 238.004 lineto
-224.841 244.004 lineto
-218.841 244.004 lineto
-218.841 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-218.841 238.004 M
-224.841 238.004 lineto
-224.841 244.004 lineto
-218.841 244.004 lineto
-218.841 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-219.144 238.004 M
-225.144 238.004 lineto
-225.144 244.004 lineto
-219.144 244.004 lineto
-219.144 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-219.144 238.004 M
-225.144 238.004 lineto
-225.144 244.004 lineto
-219.144 244.004 lineto
-219.144 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-219.448 238.004 M
-225.448 238.004 lineto
-225.448 244.004 lineto
-219.448 244.004 lineto
-219.448 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-219.448 238.004 M
-225.448 238.004 lineto
-225.448 244.004 lineto
-219.448 244.004 lineto
-219.448 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-219.752 238.004 M
-225.752 238.004 lineto
-225.752 244.004 lineto
-219.752 244.004 lineto
-219.752 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-219.752 238.004 M
-225.752 238.004 lineto
-225.752 244.004 lineto
-219.752 244.004 lineto
-219.752 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-220.055 238.004 M
-226.055 238.004 lineto
-226.055 244.004 lineto
-220.055 244.004 lineto
-220.055 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-220.055 238.004 M
-226.055 238.004 lineto
-226.055 244.004 lineto
-220.055 244.004 lineto
-220.055 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-220.359 238.004 M
-226.359 238.004 lineto
-226.359 244.004 lineto
-220.359 244.004 lineto
-220.359 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-220.359 238.004 M
-226.359 238.004 lineto
-226.359 244.004 lineto
-220.359 244.004 lineto
-220.359 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-220.663 238.004 M
-226.663 238.004 lineto
-226.663 244.004 lineto
-220.663 244.004 lineto
-220.663 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-220.663 238.004 M
-226.663 238.004 lineto
-226.663 244.004 lineto
-220.663 244.004 lineto
-220.663 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-220.967 238.004 M
-226.967 238.004 lineto
-226.967 244.004 lineto
-220.967 244.004 lineto
-220.967 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-220.967 238.004 M
-226.967 238.004 lineto
-226.967 244.004 lineto
-220.967 244.004 lineto
-220.967 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-221.27 238.004 M
-227.27 238.004 lineto
-227.27 244.004 lineto
-221.27 244.004 lineto
-221.27 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.27 238.004 M
-227.27 238.004 lineto
-227.27 244.004 lineto
-221.27 244.004 lineto
-221.27 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-221.574 238.004 M
-227.574 238.004 lineto
-227.574 244.004 lineto
-221.574 244.004 lineto
-221.574 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.574 238.004 M
-227.574 238.004 lineto
-227.574 244.004 lineto
-221.574 244.004 lineto
-221.574 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-221.878 238.004 M
-227.878 238.004 lineto
-227.878 244.004 lineto
-221.878 244.004 lineto
-221.878 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-221.878 238.004 M
-227.878 238.004 lineto
-227.878 244.004 lineto
-221.878 244.004 lineto
-221.878 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-222.182 238.004 M
-228.182 238.004 lineto
-228.182 244.004 lineto
-222.182 244.004 lineto
-222.182 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-222.182 238.004 M
-228.182 238.004 lineto
-228.182 244.004 lineto
-222.182 244.004 lineto
-222.182 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-222.485 238.004 M
-228.485 238.004 lineto
-228.485 244.004 lineto
-222.485 244.004 lineto
-222.485 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-222.485 238.004 M
-228.485 238.004 lineto
-228.485 244.004 lineto
-222.485 244.004 lineto
-222.485 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-222.789 238.004 M
-228.789 238.004 lineto
-228.789 244.004 lineto
-222.789 244.004 lineto
-222.789 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-222.789 238.004 M
-228.789 238.004 lineto
-228.789 244.004 lineto
-222.789 244.004 lineto
-222.789 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-223.093 238.004 M
-229.093 238.004 lineto
-229.093 244.004 lineto
-223.093 244.004 lineto
-223.093 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-223.093 238.004 M
-229.093 238.004 lineto
-229.093 244.004 lineto
-223.093 244.004 lineto
-223.093 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-223.397 238.004 M
-229.397 238.004 lineto
-229.397 244.004 lineto
-223.397 244.004 lineto
-223.397 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-223.397 238.004 M
-229.397 238.004 lineto
-229.397 244.004 lineto
-223.397 244.004 lineto
-223.397 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-223.7 238.004 M
-229.7 238.004 lineto
-229.7 244.004 lineto
-223.7 244.004 lineto
-223.7 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-223.7 238.004 M
-229.7 238.004 lineto
-229.7 244.004 lineto
-223.7 244.004 lineto
-223.7 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-224.004 238.004 M
-230.004 238.004 lineto
-230.004 244.004 lineto
-224.004 244.004 lineto
-224.004 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-224.004 238.004 M
-230.004 238.004 lineto
-230.004 244.004 lineto
-224.004 244.004 lineto
-224.004 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-224.308 238.004 M
-230.308 238.004 lineto
-230.308 244.004 lineto
-224.308 244.004 lineto
-224.308 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-224.308 238.004 M
-230.308 238.004 lineto
-230.308 244.004 lineto
-224.308 244.004 lineto
-224.308 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-224.612 238.004 M
-230.612 238.004 lineto
-230.612 244.004 lineto
-224.612 244.004 lineto
-224.612 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-224.612 238.004 M
-230.612 238.004 lineto
-230.612 244.004 lineto
-224.612 244.004 lineto
-224.612 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-224.915 238.004 M
-230.915 238.004 lineto
-230.915 244.004 lineto
-224.915 244.004 lineto
-224.915 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-224.915 238.004 M
-230.915 238.004 lineto
-230.915 244.004 lineto
-224.915 244.004 lineto
-224.915 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-225.219 238.004 M
-231.219 238.004 lineto
-231.219 244.004 lineto
-225.219 244.004 lineto
-225.219 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-225.219 238.004 M
-231.219 238.004 lineto
-231.219 244.004 lineto
-225.219 244.004 lineto
-225.219 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-225.523 238.004 M
-231.523 238.004 lineto
-231.523 244.004 lineto
-225.523 244.004 lineto
-225.523 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-225.523 238.004 M
-231.523 238.004 lineto
-231.523 244.004 lineto
-225.523 244.004 lineto
-225.523 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-225.826 259.552 M
-231.826 259.552 lineto
-231.826 265.552 lineto
-225.826 265.552 lineto
-225.826 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-225.826 259.552 M
-231.826 259.552 lineto
-231.826 265.552 lineto
-225.826 265.552 lineto
-225.826 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-226.13 259.552 M
-232.13 259.552 lineto
-232.13 265.552 lineto
-226.13 265.552 lineto
-226.13 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-226.13 259.552 M
-232.13 259.552 lineto
-232.13 265.552 lineto
-226.13 265.552 lineto
-226.13 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-226.434 259.552 M
-232.434 259.552 lineto
-232.434 265.552 lineto
-226.434 265.552 lineto
-226.434 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-226.434 259.552 M
-232.434 259.552 lineto
-232.434 265.552 lineto
-226.434 265.552 lineto
-226.434 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-226.738 259.552 M
-232.738 259.552 lineto
-232.738 265.552 lineto
-226.738 265.552 lineto
-226.738 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-226.738 259.552 M
-232.738 259.552 lineto
-232.738 265.552 lineto
-226.738 265.552 lineto
-226.738 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-227.041 259.552 M
-233.041 259.552 lineto
-233.041 265.552 lineto
-227.041 265.552 lineto
-227.041 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.041 259.552 M
-233.041 259.552 lineto
-233.041 265.552 lineto
-227.041 265.552 lineto
-227.041 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-227.345 259.552 M
-233.345 259.552 lineto
-233.345 265.552 lineto
-227.345 265.552 lineto
-227.345 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.345 259.552 M
-233.345 259.552 lineto
-233.345 265.552 lineto
-227.345 265.552 lineto
-227.345 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-227.649 259.552 M
-233.649 259.552 lineto
-233.649 265.552 lineto
-227.649 265.552 lineto
-227.649 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.649 259.552 M
-233.649 259.552 lineto
-233.649 265.552 lineto
-227.649 265.552 lineto
-227.649 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-227.953 259.552 M
-233.953 259.552 lineto
-233.953 265.552 lineto
-227.953 265.552 lineto
-227.953 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-227.953 259.552 M
-233.953 259.552 lineto
-233.953 265.552 lineto
-227.953 265.552 lineto
-227.953 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-228.256 259.552 M
-234.256 259.552 lineto
-234.256 265.552 lineto
-228.256 265.552 lineto
-228.256 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-228.256 259.552 M
-234.256 259.552 lineto
-234.256 265.552 lineto
-228.256 265.552 lineto
-228.256 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-228.56 259.552 M
-234.56 259.552 lineto
-234.56 265.552 lineto
-228.56 265.552 lineto
-228.56 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-228.56 259.552 M
-234.56 259.552 lineto
-234.56 265.552 lineto
-228.56 265.552 lineto
-228.56 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-228.864 259.552 M
-234.864 259.552 lineto
-234.864 265.552 lineto
-228.864 265.552 lineto
-228.864 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-228.864 259.552 M
-234.864 259.552 lineto
-234.864 265.552 lineto
-228.864 265.552 lineto
-228.864 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-229.168 259.552 M
-235.168 259.552 lineto
-235.168 265.552 lineto
-229.168 265.552 lineto
-229.168 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-229.168 259.552 M
-235.168 259.552 lineto
-235.168 265.552 lineto
-229.168 265.552 lineto
-229.168 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-229.471 259.552 M
-235.471 259.552 lineto
-235.471 265.552 lineto
-229.471 265.552 lineto
-229.471 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-229.471 259.552 M
-235.471 259.552 lineto
-235.471 265.552 lineto
-229.471 265.552 lineto
-229.471 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-229.775 259.552 M
-235.775 259.552 lineto
-235.775 265.552 lineto
-229.775 265.552 lineto
-229.775 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-229.775 259.552 M
-235.775 259.552 lineto
-235.775 265.552 lineto
-229.775 265.552 lineto
-229.775 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-230.079 259.552 M
-236.079 259.552 lineto
-236.079 265.552 lineto
-230.079 265.552 lineto
-230.079 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-230.079 259.552 M
-236.079 259.552 lineto
-236.079 265.552 lineto
-230.079 265.552 lineto
-230.079 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-230.383 259.552 M
-236.383 259.552 lineto
-236.383 265.552 lineto
-230.383 265.552 lineto
-230.383 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-230.383 259.552 M
-236.383 259.552 lineto
-236.383 265.552 lineto
-230.383 265.552 lineto
-230.383 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-230.686 259.552 M
-236.686 259.552 lineto
-236.686 265.552 lineto
-230.686 265.552 lineto
-230.686 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-230.686 259.552 M
-236.686 259.552 lineto
-236.686 265.552 lineto
-230.686 265.552 lineto
-230.686 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-230.99 238.004 M
-236.99 238.004 lineto
-236.99 244.004 lineto
-230.99 244.004 lineto
-230.99 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-230.99 238.004 M
-236.99 238.004 lineto
-236.99 244.004 lineto
-230.99 244.004 lineto
-230.99 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-231.294 238.004 M
-237.294 238.004 lineto
-237.294 244.004 lineto
-231.294 244.004 lineto
-231.294 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-231.294 238.004 M
-237.294 238.004 lineto
-237.294 244.004 lineto
-231.294 244.004 lineto
-231.294 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-231.598 238.004 M
-237.598 238.004 lineto
-237.598 244.004 lineto
-231.598 244.004 lineto
-231.598 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-231.598 238.004 M
-237.598 238.004 lineto
-237.598 244.004 lineto
-231.598 244.004 lineto
-231.598 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-231.901 238.004 M
-237.901 238.004 lineto
-237.901 244.004 lineto
-231.901 244.004 lineto
-231.901 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-231.901 238.004 M
-237.901 238.004 lineto
-237.901 244.004 lineto
-231.901 244.004 lineto
-231.901 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-232.205 238.004 M
-238.205 238.004 lineto
-238.205 244.004 lineto
-232.205 244.004 lineto
-232.205 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-232.205 238.004 M
-238.205 238.004 lineto
-238.205 244.004 lineto
-232.205 244.004 lineto
-232.205 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-232.509 238.004 M
-238.509 238.004 lineto
-238.509 244.004 lineto
-232.509 244.004 lineto
-232.509 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-232.509 238.004 M
-238.509 238.004 lineto
-238.509 244.004 lineto
-232.509 244.004 lineto
-232.509 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-232.812 238.004 M
-238.812 238.004 lineto
-238.812 244.004 lineto
-232.812 244.004 lineto
-232.812 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-232.812 238.004 M
-238.812 238.004 lineto
-238.812 244.004 lineto
-232.812 244.004 lineto
-232.812 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-233.116 238.004 M
-239.116 238.004 lineto
-239.116 244.004 lineto
-233.116 244.004 lineto
-233.116 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-233.116 238.004 M
-239.116 238.004 lineto
-239.116 244.004 lineto
-233.116 244.004 lineto
-233.116 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-233.42 238.004 M
-239.42 238.004 lineto
-239.42 244.004 lineto
-233.42 244.004 lineto
-233.42 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-233.42 238.004 M
-239.42 238.004 lineto
-239.42 244.004 lineto
-233.42 244.004 lineto
-233.42 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-233.724 238.004 M
-239.724 238.004 lineto
-239.724 244.004 lineto
-233.724 244.004 lineto
-233.724 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-233.724 238.004 M
-239.724 238.004 lineto
-239.724 244.004 lineto
-233.724 244.004 lineto
-233.724 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-234.027 238.004 M
-240.027 238.004 lineto
-240.027 244.004 lineto
-234.027 244.004 lineto
-234.027 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-234.027 238.004 M
-240.027 238.004 lineto
-240.027 244.004 lineto
-234.027 244.004 lineto
-234.027 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-234.331 238.004 M
-240.331 238.004 lineto
-240.331 244.004 lineto
-234.331 244.004 lineto
-234.331 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-234.331 238.004 M
-240.331 238.004 lineto
-240.331 244.004 lineto
-234.331 244.004 lineto
-234.331 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-234.635 238.004 M
-240.635 238.004 lineto
-240.635 244.004 lineto
-234.635 244.004 lineto
-234.635 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-234.635 238.004 M
-240.635 238.004 lineto
-240.635 244.004 lineto
-234.635 244.004 lineto
-234.635 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-234.939 238.004 M
-240.939 238.004 lineto
-240.939 244.004 lineto
-234.939 244.004 lineto
-234.939 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-234.939 238.004 M
-240.939 238.004 lineto
-240.939 244.004 lineto
-234.939 244.004 lineto
-234.939 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-235.242 238.004 M
-241.242 238.004 lineto
-241.242 244.004 lineto
-235.242 244.004 lineto
-235.242 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-235.242 238.004 M
-241.242 238.004 lineto
-241.242 244.004 lineto
-235.242 244.004 lineto
-235.242 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-235.546 238.004 M
-241.546 238.004 lineto
-241.546 244.004 lineto
-235.546 244.004 lineto
-235.546 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-235.546 238.004 M
-241.546 238.004 lineto
-241.546 244.004 lineto
-235.546 244.004 lineto
-235.546 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-235.85 238.004 M
-241.85 238.004 lineto
-241.85 244.004 lineto
-235.85 244.004 lineto
-235.85 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-235.85 238.004 M
-241.85 238.004 lineto
-241.85 244.004 lineto
-235.85 244.004 lineto
-235.85 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-236.154 238.004 M
-242.154 238.004 lineto
-242.154 244.004 lineto
-236.154 244.004 lineto
-236.154 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-236.154 238.004 M
-242.154 238.004 lineto
-242.154 244.004 lineto
-236.154 244.004 lineto
-236.154 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-236.457 238.004 M
-242.457 238.004 lineto
-242.457 244.004 lineto
-236.457 244.004 lineto
-236.457 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-236.457 238.004 M
-242.457 238.004 lineto
-242.457 244.004 lineto
-236.457 244.004 lineto
-236.457 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-236.761 238.004 M
-242.761 238.004 lineto
-242.761 244.004 lineto
-236.761 244.004 lineto
-236.761 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-236.761 238.004 M
-242.761 238.004 lineto
-242.761 244.004 lineto
-236.761 244.004 lineto
-236.761 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-237.065 238.004 M
-243.065 238.004 lineto
-243.065 244.004 lineto
-237.065 244.004 lineto
-237.065 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-237.065 238.004 M
-243.065 238.004 lineto
-243.065 244.004 lineto
-237.065 244.004 lineto
-237.065 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-237.369 238.004 M
-243.369 238.004 lineto
-243.369 244.004 lineto
-237.369 244.004 lineto
-237.369 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-237.369 238.004 M
-243.369 238.004 lineto
-243.369 244.004 lineto
-237.369 244.004 lineto
-237.369 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-237.672 238.004 M
-243.672 238.004 lineto
-243.672 244.004 lineto
-237.672 244.004 lineto
-237.672 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-237.672 238.004 M
-243.672 238.004 lineto
-243.672 244.004 lineto
-237.672 244.004 lineto
-237.672 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-237.976 238.004 M
-243.976 238.004 lineto
-243.976 244.004 lineto
-237.976 244.004 lineto
-237.976 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-237.976 238.004 M
-243.976 238.004 lineto
-243.976 244.004 lineto
-237.976 244.004 lineto
-237.976 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-238.28 238.004 M
-244.28 238.004 lineto
-244.28 244.004 lineto
-238.28 244.004 lineto
-238.28 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-238.28 238.004 M
-244.28 238.004 lineto
-244.28 244.004 lineto
-238.28 244.004 lineto
-238.28 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-238.583 238.004 M
-244.583 238.004 lineto
-244.583 244.004 lineto
-238.583 244.004 lineto
-238.583 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-238.583 238.004 M
-244.583 238.004 lineto
-244.583 244.004 lineto
-238.583 244.004 lineto
-238.583 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-238.887 238.004 M
-244.887 238.004 lineto
-244.887 244.004 lineto
-238.887 244.004 lineto
-238.887 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-238.887 238.004 M
-244.887 238.004 lineto
-244.887 244.004 lineto
-238.887 244.004 lineto
-238.887 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-239.191 238.004 M
-245.191 238.004 lineto
-245.191 244.004 lineto
-239.191 244.004 lineto
-239.191 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-239.191 238.004 M
-245.191 238.004 lineto
-245.191 244.004 lineto
-239.191 244.004 lineto
-239.191 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-239.495 238.004 M
-245.495 238.004 lineto
-245.495 244.004 lineto
-239.495 244.004 lineto
-239.495 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-239.495 238.004 M
-245.495 238.004 lineto
-245.495 244.004 lineto
-239.495 244.004 lineto
-239.495 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-239.798 238.004 M
-245.798 238.004 lineto
-245.798 244.004 lineto
-239.798 244.004 lineto
-239.798 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-239.798 238.004 M
-245.798 238.004 lineto
-245.798 244.004 lineto
-239.798 244.004 lineto
-239.798 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-240.102 238.004 M
-246.102 238.004 lineto
-246.102 244.004 lineto
-240.102 244.004 lineto
-240.102 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-240.102 238.004 M
-246.102 238.004 lineto
-246.102 244.004 lineto
-240.102 244.004 lineto
-240.102 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-240.406 238.004 M
-246.406 238.004 lineto
-246.406 244.004 lineto
-240.406 244.004 lineto
-240.406 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-240.406 238.004 M
-246.406 238.004 lineto
-246.406 244.004 lineto
-240.406 244.004 lineto
-240.406 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-240.71 238.004 M
-246.71 238.004 lineto
-246.71 244.004 lineto
-240.71 244.004 lineto
-240.71 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-240.71 238.004 M
-246.71 238.004 lineto
-246.71 244.004 lineto
-240.71 244.004 lineto
-240.71 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-241.013 238.004 M
-247.013 238.004 lineto
-247.013 244.004 lineto
-241.013 244.004 lineto
-241.013 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-241.013 238.004 M
-247.013 238.004 lineto
-247.013 244.004 lineto
-241.013 244.004 lineto
-241.013 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-241.317 238.004 M
-247.317 238.004 lineto
-247.317 244.004 lineto
-241.317 244.004 lineto
-241.317 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-241.317 238.004 M
-247.317 238.004 lineto
-247.317 244.004 lineto
-241.317 244.004 lineto
-241.317 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-241.621 216.455 M
-247.621 216.455 lineto
-247.621 222.455 lineto
-241.621 222.455 lineto
-241.621 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-241.621 216.455 M
-247.621 216.455 lineto
-247.621 222.455 lineto
-241.621 222.455 lineto
-241.621 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-241.925 216.455 M
-247.925 216.455 lineto
-247.925 222.455 lineto
-241.925 222.455 lineto
-241.925 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-241.925 216.455 M
-247.925 216.455 lineto
-247.925 222.455 lineto
-241.925 222.455 lineto
-241.925 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-242.228 216.455 M
-248.228 216.455 lineto
-248.228 222.455 lineto
-242.228 222.455 lineto
-242.228 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-242.228 216.455 M
-248.228 216.455 lineto
-248.228 222.455 lineto
-242.228 222.455 lineto
-242.228 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-242.532 216.455 M
-248.532 216.455 lineto
-248.532 222.455 lineto
-242.532 222.455 lineto
-242.532 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-242.532 216.455 M
-248.532 216.455 lineto
-248.532 222.455 lineto
-242.532 222.455 lineto
-242.532 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-242.836 216.455 M
-248.836 216.455 lineto
-248.836 222.455 lineto
-242.836 222.455 lineto
-242.836 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-242.836 216.455 M
-248.836 216.455 lineto
-248.836 222.455 lineto
-242.836 222.455 lineto
-242.836 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-243.14 216.455 M
-249.14 216.455 lineto
-249.14 222.455 lineto
-243.14 222.455 lineto
-243.14 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-243.14 216.455 M
-249.14 216.455 lineto
-249.14 222.455 lineto
-243.14 222.455 lineto
-243.14 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-243.443 216.455 M
-249.443 216.455 lineto
-249.443 222.455 lineto
-243.443 222.455 lineto
-243.443 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-243.443 216.455 M
-249.443 216.455 lineto
-249.443 222.455 lineto
-243.443 222.455 lineto
-243.443 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-243.747 216.455 M
-249.747 216.455 lineto
-249.747 222.455 lineto
-243.747 222.455 lineto
-243.747 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-243.747 216.455 M
-249.747 216.455 lineto
-249.747 222.455 lineto
-243.747 222.455 lineto
-243.747 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-244.051 216.455 M
-250.051 216.455 lineto
-250.051 222.455 lineto
-244.051 222.455 lineto
-244.051 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-244.051 216.455 M
-250.051 216.455 lineto
-250.051 222.455 lineto
-244.051 222.455 lineto
-244.051 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-244.354 216.455 M
-250.354 216.455 lineto
-250.354 222.455 lineto
-244.354 222.455 lineto
-244.354 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-244.354 216.455 M
-250.354 216.455 lineto
-250.354 222.455 lineto
-244.354 222.455 lineto
-244.354 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-244.658 216.455 M
-250.658 216.455 lineto
-250.658 222.455 lineto
-244.658 222.455 lineto
-244.658 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-244.658 216.455 M
-250.658 216.455 lineto
-250.658 222.455 lineto
-244.658 222.455 lineto
-244.658 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-244.962 216.455 M
-250.962 216.455 lineto
-250.962 222.455 lineto
-244.962 222.455 lineto
-244.962 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-244.962 216.455 M
-250.962 216.455 lineto
-250.962 222.455 lineto
-244.962 222.455 lineto
-244.962 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-245.266 216.455 M
-251.266 216.455 lineto
-251.266 222.455 lineto
-245.266 222.455 lineto
-245.266 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-245.266 216.455 M
-251.266 216.455 lineto
-251.266 222.455 lineto
-245.266 222.455 lineto
-245.266 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-245.569 216.455 M
-251.569 216.455 lineto
-251.569 222.455 lineto
-245.569 222.455 lineto
-245.569 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-245.569 216.455 M
-251.569 216.455 lineto
-251.569 222.455 lineto
-245.569 222.455 lineto
-245.569 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-245.873 216.455 M
-251.873 216.455 lineto
-251.873 222.455 lineto
-245.873 222.455 lineto
-245.873 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-245.873 216.455 M
-251.873 216.455 lineto
-251.873 222.455 lineto
-245.873 222.455 lineto
-245.873 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-246.177 216.455 M
-252.177 216.455 lineto
-252.177 222.455 lineto
-246.177 222.455 lineto
-246.177 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-246.177 216.455 M
-252.177 216.455 lineto
-252.177 222.455 lineto
-246.177 222.455 lineto
-246.177 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-246.481 216.455 M
-252.481 216.455 lineto
-252.481 222.455 lineto
-246.481 222.455 lineto
-246.481 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-246.481 216.455 M
-252.481 216.455 lineto
-252.481 222.455 lineto
-246.481 222.455 lineto
-246.481 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-246.784 216.455 M
-252.784 216.455 lineto
-252.784 222.455 lineto
-246.784 222.455 lineto
-246.784 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-246.784 216.455 M
-252.784 216.455 lineto
-252.784 222.455 lineto
-246.784 222.455 lineto
-246.784 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-247.088 238.004 M
-253.088 238.004 lineto
-253.088 244.004 lineto
-247.088 244.004 lineto
-247.088 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-247.088 238.004 M
-253.088 238.004 lineto
-253.088 244.004 lineto
-247.088 244.004 lineto
-247.088 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-247.392 238.004 M
-253.392 238.004 lineto
-253.392 244.004 lineto
-247.392 244.004 lineto
-247.392 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-247.392 238.004 M
-253.392 238.004 lineto
-253.392 244.004 lineto
-247.392 244.004 lineto
-247.392 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-247.696 238.004 M
-253.696 238.004 lineto
-253.696 244.004 lineto
-247.696 244.004 lineto
-247.696 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-247.696 238.004 M
-253.696 238.004 lineto
-253.696 244.004 lineto
-247.696 244.004 lineto
-247.696 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-247.999 238.004 M
-253.999 238.004 lineto
-253.999 244.004 lineto
-247.999 244.004 lineto
-247.999 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-247.999 238.004 M
-253.999 238.004 lineto
-253.999 244.004 lineto
-247.999 244.004 lineto
-247.999 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-248.303 238.004 M
-254.303 238.004 lineto
-254.303 244.004 lineto
-248.303 244.004 lineto
-248.303 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-248.303 238.004 M
-254.303 238.004 lineto
-254.303 244.004 lineto
-248.303 244.004 lineto
-248.303 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-248.607 238.004 M
-254.607 238.004 lineto
-254.607 244.004 lineto
-248.607 244.004 lineto
-248.607 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-248.607 238.004 M
-254.607 238.004 lineto
-254.607 244.004 lineto
-248.607 244.004 lineto
-248.607 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-248.911 238.004 M
-254.911 238.004 lineto
-254.911 244.004 lineto
-248.911 244.004 lineto
-248.911 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-248.911 238.004 M
-254.911 238.004 lineto
-254.911 244.004 lineto
-248.911 244.004 lineto
-248.911 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-249.214 238.004 M
-255.214 238.004 lineto
-255.214 244.004 lineto
-249.214 244.004 lineto
-249.214 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-249.214 238.004 M
-255.214 238.004 lineto
-255.214 244.004 lineto
-249.214 244.004 lineto
-249.214 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-249.518 238.004 M
-255.518 238.004 lineto
-255.518 244.004 lineto
-249.518 244.004 lineto
-249.518 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-249.518 238.004 M
-255.518 238.004 lineto
-255.518 244.004 lineto
-249.518 244.004 lineto
-249.518 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-249.822 238.004 M
-255.822 238.004 lineto
-255.822 244.004 lineto
-249.822 244.004 lineto
-249.822 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-249.822 238.004 M
-255.822 238.004 lineto
-255.822 244.004 lineto
-249.822 244.004 lineto
-249.822 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-250.125 238.004 M
-256.125 238.004 lineto
-256.125 244.004 lineto
-250.125 244.004 lineto
-250.125 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-250.125 238.004 M
-256.125 238.004 lineto
-256.125 244.004 lineto
-250.125 244.004 lineto
-250.125 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-250.429 238.004 M
-256.429 238.004 lineto
-256.429 244.004 lineto
-250.429 244.004 lineto
-250.429 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-250.429 238.004 M
-256.429 238.004 lineto
-256.429 244.004 lineto
-250.429 244.004 lineto
-250.429 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-250.733 238.004 M
-256.733 238.004 lineto
-256.733 244.004 lineto
-250.733 244.004 lineto
-250.733 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-250.733 238.004 M
-256.733 238.004 lineto
-256.733 244.004 lineto
-250.733 244.004 lineto
-250.733 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-251.037 238.004 M
-257.037 238.004 lineto
-257.037 244.004 lineto
-251.037 244.004 lineto
-251.037 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-251.037 238.004 M
-257.037 238.004 lineto
-257.037 244.004 lineto
-251.037 244.004 lineto
-251.037 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-251.34 216.455 M
-257.34 216.455 lineto
-257.34 222.455 lineto
-251.34 222.455 lineto
-251.34 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-251.34 216.455 M
-257.34 216.455 lineto
-257.34 222.455 lineto
-251.34 222.455 lineto
-251.34 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-251.644 216.455 M
-257.644 216.455 lineto
-257.644 222.455 lineto
-251.644 222.455 lineto
-251.644 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-251.644 216.455 M
-257.644 216.455 lineto
-257.644 222.455 lineto
-251.644 222.455 lineto
-251.644 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-251.948 216.455 M
-257.948 216.455 lineto
-257.948 222.455 lineto
-251.948 222.455 lineto
-251.948 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-251.948 216.455 M
-257.948 216.455 lineto
-257.948 222.455 lineto
-251.948 222.455 lineto
-251.948 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-252.252 238.004 M
-258.252 238.004 lineto
-258.252 244.004 lineto
-252.252 244.004 lineto
-252.252 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-252.252 238.004 M
-258.252 238.004 lineto
-258.252 244.004 lineto
-252.252 244.004 lineto
-252.252 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-252.555 259.552 M
-258.555 259.552 lineto
-258.555 265.552 lineto
-252.555 265.552 lineto
-252.555 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-252.555 259.552 M
-258.555 259.552 lineto
-258.555 265.552 lineto
-252.555 265.552 lineto
-252.555 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-252.859 259.552 M
-258.859 259.552 lineto
-258.859 265.552 lineto
-252.859 265.552 lineto
-252.859 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-252.859 259.552 M
-258.859 259.552 lineto
-258.859 265.552 lineto
-252.859 265.552 lineto
-252.859 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-253.163 259.552 M
-259.163 259.552 lineto
-259.163 265.552 lineto
-253.163 265.552 lineto
-253.163 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-253.163 259.552 M
-259.163 259.552 lineto
-259.163 265.552 lineto
-253.163 265.552 lineto
-253.163 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-253.467 259.552 M
-259.467 259.552 lineto
-259.467 265.552 lineto
-253.467 265.552 lineto
-253.467 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-253.467 259.552 M
-259.467 259.552 lineto
-259.467 265.552 lineto
-253.467 265.552 lineto
-253.467 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-253.77 259.552 M
-259.77 259.552 lineto
-259.77 265.552 lineto
-253.77 265.552 lineto
-253.77 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-253.77 259.552 M
-259.77 259.552 lineto
-259.77 265.552 lineto
-253.77 265.552 lineto
-253.77 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-254.074 259.552 M
-260.074 259.552 lineto
-260.074 265.552 lineto
-254.074 265.552 lineto
-254.074 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-254.074 259.552 M
-260.074 259.552 lineto
-260.074 265.552 lineto
-254.074 265.552 lineto
-254.074 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-254.378 259.552 M
-260.378 259.552 lineto
-260.378 265.552 lineto
-254.378 265.552 lineto
-254.378 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-254.378 259.552 M
-260.378 259.552 lineto
-260.378 265.552 lineto
-254.378 265.552 lineto
-254.378 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-254.682 259.552 M
-260.682 259.552 lineto
-260.682 265.552 lineto
-254.682 265.552 lineto
-254.682 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-254.682 259.552 M
-260.682 259.552 lineto
-260.682 265.552 lineto
-254.682 265.552 lineto
-254.682 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-254.985 259.552 M
-260.985 259.552 lineto
-260.985 265.552 lineto
-254.985 265.552 lineto
-254.985 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-254.985 259.552 M
-260.985 259.552 lineto
-260.985 265.552 lineto
-254.985 265.552 lineto
-254.985 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-255.289 259.552 M
-261.289 259.552 lineto
-261.289 265.552 lineto
-255.289 265.552 lineto
-255.289 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-255.289 259.552 M
-261.289 259.552 lineto
-261.289 265.552 lineto
-255.289 265.552 lineto
-255.289 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-255.593 259.552 M
-261.593 259.552 lineto
-261.593 265.552 lineto
-255.593 265.552 lineto
-255.593 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-255.593 259.552 M
-261.593 259.552 lineto
-261.593 265.552 lineto
-255.593 265.552 lineto
-255.593 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-255.896 259.552 M
-261.896 259.552 lineto
-261.896 265.552 lineto
-255.896 265.552 lineto
-255.896 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-255.896 259.552 M
-261.896 259.552 lineto
-261.896 265.552 lineto
-255.896 265.552 lineto
-255.896 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-256.2 259.552 M
-262.2 259.552 lineto
-262.2 265.552 lineto
-256.2 265.552 lineto
-256.2 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-256.2 259.552 M
-262.2 259.552 lineto
-262.2 265.552 lineto
-256.2 265.552 lineto
-256.2 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-256.504 259.552 M
-262.504 259.552 lineto
-262.504 265.552 lineto
-256.504 265.552 lineto
-256.504 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-256.504 259.552 M
-262.504 259.552 lineto
-262.504 265.552 lineto
-256.504 265.552 lineto
-256.504 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-256.808 259.552 M
-262.808 259.552 lineto
-262.808 265.552 lineto
-256.808 265.552 lineto
-256.808 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-256.808 259.552 M
-262.808 259.552 lineto
-262.808 265.552 lineto
-256.808 265.552 lineto
-256.808 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-257.111 259.552 M
-263.111 259.552 lineto
-263.111 265.552 lineto
-257.111 265.552 lineto
-257.111 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-257.111 259.552 M
-263.111 259.552 lineto
-263.111 265.552 lineto
-257.111 265.552 lineto
-257.111 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-257.415 259.552 M
-263.415 259.552 lineto
-263.415 265.552 lineto
-257.415 265.552 lineto
-257.415 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-257.415 259.552 M
-263.415 259.552 lineto
-263.415 265.552 lineto
-257.415 265.552 lineto
-257.415 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-257.719 281.1 M
-263.719 281.1 lineto
-263.719 287.1 lineto
-257.719 287.1 lineto
-257.719 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-257.719 281.1 M
-263.719 281.1 lineto
-263.719 287.1 lineto
-257.719 287.1 lineto
-257.719 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-258.023 281.1 M
-264.023 281.1 lineto
-264.023 287.1 lineto
-258.023 287.1 lineto
-258.023 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-258.023 281.1 M
-264.023 281.1 lineto
-264.023 287.1 lineto
-258.023 287.1 lineto
-258.023 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-258.326 281.1 M
-264.326 281.1 lineto
-264.326 287.1 lineto
-258.326 287.1 lineto
-258.326 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-258.326 281.1 M
-264.326 281.1 lineto
-264.326 287.1 lineto
-258.326 287.1 lineto
-258.326 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-258.63 281.1 M
-264.63 281.1 lineto
-264.63 287.1 lineto
-258.63 287.1 lineto
-258.63 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-258.63 281.1 M
-264.63 281.1 lineto
-264.63 287.1 lineto
-258.63 287.1 lineto
-258.63 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-258.934 281.1 M
-264.934 281.1 lineto
-264.934 287.1 lineto
-258.934 287.1 lineto
-258.934 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-258.934 281.1 M
-264.934 281.1 lineto
-264.934 287.1 lineto
-258.934 287.1 lineto
-258.934 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-259.238 281.1 M
-265.238 281.1 lineto
-265.238 287.1 lineto
-259.238 287.1 lineto
-259.238 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-259.238 281.1 M
-265.238 281.1 lineto
-265.238 287.1 lineto
-259.238 287.1 lineto
-259.238 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-259.541 281.1 M
-265.541 281.1 lineto
-265.541 287.1 lineto
-259.541 287.1 lineto
-259.541 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-259.541 281.1 M
-265.541 281.1 lineto
-265.541 287.1 lineto
-259.541 287.1 lineto
-259.541 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-259.845 281.1 M
-265.845 281.1 lineto
-265.845 287.1 lineto
-259.845 287.1 lineto
-259.845 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-259.845 281.1 M
-265.845 281.1 lineto
-265.845 287.1 lineto
-259.845 287.1 lineto
-259.845 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-260.149 281.1 M
-266.149 281.1 lineto
-266.149 287.1 lineto
-260.149 287.1 lineto
-260.149 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-260.149 281.1 M
-266.149 281.1 lineto
-266.149 287.1 lineto
-260.149 287.1 lineto
-260.149 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-260.453 281.1 M
-266.453 281.1 lineto
-266.453 287.1 lineto
-260.453 287.1 lineto
-260.453 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-260.453 281.1 M
-266.453 281.1 lineto
-266.453 287.1 lineto
-260.453 287.1 lineto
-260.453 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-260.756 281.1 M
-266.756 281.1 lineto
-266.756 287.1 lineto
-260.756 287.1 lineto
-260.756 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-260.756 281.1 M
-266.756 281.1 lineto
-266.756 287.1 lineto
-260.756 287.1 lineto
-260.756 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-261.06 281.1 M
-267.06 281.1 lineto
-267.06 287.1 lineto
-261.06 287.1 lineto
-261.06 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-261.06 281.1 M
-267.06 281.1 lineto
-267.06 287.1 lineto
-261.06 287.1 lineto
-261.06 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-261.364 281.1 M
-267.364 281.1 lineto
-267.364 287.1 lineto
-261.364 287.1 lineto
-261.364 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-261.364 281.1 M
-267.364 281.1 lineto
-267.364 287.1 lineto
-261.364 287.1 lineto
-261.364 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-261.667 281.1 M
-267.667 281.1 lineto
-267.667 287.1 lineto
-261.667 287.1 lineto
-261.667 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-261.667 281.1 M
-267.667 281.1 lineto
-267.667 287.1 lineto
-261.667 287.1 lineto
-261.667 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-261.971 259.552 M
-267.971 259.552 lineto
-267.971 265.552 lineto
-261.971 265.552 lineto
-261.971 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-261.971 259.552 M
-267.971 259.552 lineto
-267.971 265.552 lineto
-261.971 265.552 lineto
-261.971 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-262.275 259.552 M
-268.275 259.552 lineto
-268.275 265.552 lineto
-262.275 265.552 lineto
-262.275 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-262.275 259.552 M
-268.275 259.552 lineto
-268.275 265.552 lineto
-262.275 265.552 lineto
-262.275 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-262.579 259.552 M
-268.579 259.552 lineto
-268.579 265.552 lineto
-262.579 265.552 lineto
-262.579 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-262.579 259.552 M
-268.579 259.552 lineto
-268.579 265.552 lineto
-262.579 265.552 lineto
-262.579 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-262.882 259.552 M
-268.882 259.552 lineto
-268.882 265.552 lineto
-262.882 265.552 lineto
-262.882 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-262.882 259.552 M
-268.882 259.552 lineto
-268.882 265.552 lineto
-262.882 265.552 lineto
-262.882 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-263.186 259.552 M
-269.186 259.552 lineto
-269.186 265.552 lineto
-263.186 265.552 lineto
-263.186 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-263.186 259.552 M
-269.186 259.552 lineto
-269.186 265.552 lineto
-263.186 265.552 lineto
-263.186 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-263.49 259.552 M
-269.49 259.552 lineto
-269.49 265.552 lineto
-263.49 265.552 lineto
-263.49 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-263.49 259.552 M
-269.49 259.552 lineto
-269.49 265.552 lineto
-263.49 265.552 lineto
-263.49 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-263.794 259.552 M
-269.794 259.552 lineto
-269.794 265.552 lineto
-263.794 265.552 lineto
-263.794 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-263.794 259.552 M
-269.794 259.552 lineto
-269.794 265.552 lineto
-263.794 265.552 lineto
-263.794 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-264.097 259.552 M
-270.097 259.552 lineto
-270.097 265.552 lineto
-264.097 265.552 lineto
-264.097 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-264.097 259.552 M
-270.097 259.552 lineto
-270.097 265.552 lineto
-264.097 265.552 lineto
-264.097 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-264.401 259.552 M
-270.401 259.552 lineto
-270.401 265.552 lineto
-264.401 265.552 lineto
-264.401 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-264.401 259.552 M
-270.401 259.552 lineto
-270.401 265.552 lineto
-264.401 265.552 lineto
-264.401 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-264.705 259.552 M
-270.705 259.552 lineto
-270.705 265.552 lineto
-264.705 265.552 lineto
-264.705 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-264.705 259.552 M
-270.705 259.552 lineto
-270.705 265.552 lineto
-264.705 265.552 lineto
-264.705 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-265.009 259.552 M
-271.009 259.552 lineto
-271.009 265.552 lineto
-265.009 265.552 lineto
-265.009 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-265.009 259.552 M
-271.009 259.552 lineto
-271.009 265.552 lineto
-265.009 265.552 lineto
-265.009 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-265.312 259.552 M
-271.312 259.552 lineto
-271.312 265.552 lineto
-265.312 265.552 lineto
-265.312 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-265.312 259.552 M
-271.312 259.552 lineto
-271.312 265.552 lineto
-265.312 265.552 lineto
-265.312 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-265.616 259.552 M
-271.616 259.552 lineto
-271.616 265.552 lineto
-265.616 265.552 lineto
-265.616 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-265.616 259.552 M
-271.616 259.552 lineto
-271.616 265.552 lineto
-265.616 265.552 lineto
-265.616 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-265.92 259.552 M
-271.92 259.552 lineto
-271.92 265.552 lineto
-265.92 265.552 lineto
-265.92 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-265.92 259.552 M
-271.92 259.552 lineto
-271.92 265.552 lineto
-265.92 265.552 lineto
-265.92 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-266.224 259.552 M
-272.224 259.552 lineto
-272.224 265.552 lineto
-266.224 265.552 lineto
-266.224 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-266.224 259.552 M
-272.224 259.552 lineto
-272.224 265.552 lineto
-266.224 265.552 lineto
-266.224 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-266.527 259.552 M
-272.527 259.552 lineto
-272.527 265.552 lineto
-266.527 265.552 lineto
-266.527 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-266.527 259.552 M
-272.527 259.552 lineto
-272.527 265.552 lineto
-266.527 265.552 lineto
-266.527 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-266.831 259.552 M
-272.831 259.552 lineto
-272.831 265.552 lineto
-266.831 265.552 lineto
-266.831 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-266.831 259.552 M
-272.831 259.552 lineto
-272.831 265.552 lineto
-266.831 265.552 lineto
-266.831 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-267.135 259.552 M
-273.135 259.552 lineto
-273.135 265.552 lineto
-267.135 265.552 lineto
-267.135 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-267.135 259.552 M
-273.135 259.552 lineto
-273.135 265.552 lineto
-267.135 265.552 lineto
-267.135 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-267.438 259.552 M
-273.438 259.552 lineto
-273.438 265.552 lineto
-267.438 265.552 lineto
-267.438 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-267.438 259.552 M
-273.438 259.552 lineto
-273.438 265.552 lineto
-267.438 265.552 lineto
-267.438 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-267.742 259.552 M
-273.742 259.552 lineto
-273.742 265.552 lineto
-267.742 265.552 lineto
-267.742 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-267.742 259.552 M
-273.742 259.552 lineto
-273.742 265.552 lineto
-267.742 265.552 lineto
-267.742 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-268.046 259.552 M
-274.046 259.552 lineto
-274.046 265.552 lineto
-268.046 265.552 lineto
-268.046 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-268.046 259.552 M
-274.046 259.552 lineto
-274.046 265.552 lineto
-268.046 265.552 lineto
-268.046 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-268.35 259.552 M
-274.35 259.552 lineto
-274.35 265.552 lineto
-268.35 265.552 lineto
-268.35 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-268.35 259.552 M
-274.35 259.552 lineto
-274.35 265.552 lineto
-268.35 265.552 lineto
-268.35 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-268.653 259.552 M
-274.653 259.552 lineto
-274.653 265.552 lineto
-268.653 265.552 lineto
-268.653 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-268.653 259.552 M
-274.653 259.552 lineto
-274.653 265.552 lineto
-268.653 265.552 lineto
-268.653 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-268.957 259.552 M
-274.957 259.552 lineto
-274.957 265.552 lineto
-268.957 265.552 lineto
-268.957 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-268.957 259.552 M
-274.957 259.552 lineto
-274.957 265.552 lineto
-268.957 265.552 lineto
-268.957 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-269.261 259.552 M
-275.261 259.552 lineto
-275.261 265.552 lineto
-269.261 265.552 lineto
-269.261 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-269.261 259.552 M
-275.261 259.552 lineto
-275.261 265.552 lineto
-269.261 265.552 lineto
-269.261 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-269.565 259.552 M
-275.565 259.552 lineto
-275.565 265.552 lineto
-269.565 265.552 lineto
-269.565 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-269.565 259.552 M
-275.565 259.552 lineto
-275.565 265.552 lineto
-269.565 265.552 lineto
-269.565 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-269.868 259.552 M
-275.868 259.552 lineto
-275.868 265.552 lineto
-269.868 265.552 lineto
-269.868 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-269.868 259.552 M
-275.868 259.552 lineto
-275.868 265.552 lineto
-269.868 265.552 lineto
-269.868 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-270.172 259.552 M
-276.172 259.552 lineto
-276.172 265.552 lineto
-270.172 265.552 lineto
-270.172 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-270.172 259.552 M
-276.172 259.552 lineto
-276.172 265.552 lineto
-270.172 265.552 lineto
-270.172 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-270.476 259.552 M
-276.476 259.552 lineto
-276.476 265.552 lineto
-270.476 265.552 lineto
-270.476 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-270.476 259.552 M
-276.476 259.552 lineto
-276.476 265.552 lineto
-270.476 265.552 lineto
-270.476 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-270.78 259.552 M
-276.78 259.552 lineto
-276.78 265.552 lineto
-270.78 265.552 lineto
-270.78 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-270.78 259.552 M
-276.78 259.552 lineto
-276.78 265.552 lineto
-270.78 265.552 lineto
-270.78 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-271.083 259.552 M
-277.083 259.552 lineto
-277.083 265.552 lineto
-271.083 265.552 lineto
-271.083 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-271.083 259.552 M
-277.083 259.552 lineto
-277.083 265.552 lineto
-271.083 265.552 lineto
-271.083 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-271.387 259.552 M
-277.387 259.552 lineto
-277.387 265.552 lineto
-271.387 265.552 lineto
-271.387 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-271.387 259.552 M
-277.387 259.552 lineto
-277.387 265.552 lineto
-271.387 265.552 lineto
-271.387 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-271.691 259.552 M
-277.691 259.552 lineto
-277.691 265.552 lineto
-271.691 265.552 lineto
-271.691 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-271.691 259.552 M
-277.691 259.552 lineto
-277.691 265.552 lineto
-271.691 265.552 lineto
-271.691 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-271.995 259.552 M
-277.995 259.552 lineto
-277.995 265.552 lineto
-271.995 265.552 lineto
-271.995 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-271.995 259.552 M
-277.995 259.552 lineto
-277.995 265.552 lineto
-271.995 265.552 lineto
-271.995 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-272.298 259.552 M
-278.298 259.552 lineto
-278.298 265.552 lineto
-272.298 265.552 lineto
-272.298 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-272.298 259.552 M
-278.298 259.552 lineto
-278.298 265.552 lineto
-272.298 265.552 lineto
-272.298 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-272.602 281.1 M
-278.602 281.1 lineto
-278.602 287.1 lineto
-272.602 287.1 lineto
-272.602 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-272.602 281.1 M
-278.602 281.1 lineto
-278.602 287.1 lineto
-272.602 287.1 lineto
-272.602 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-272.906 281.1 M
-278.906 281.1 lineto
-278.906 287.1 lineto
-272.906 287.1 lineto
-272.906 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-272.906 281.1 M
-278.906 281.1 lineto
-278.906 287.1 lineto
-272.906 287.1 lineto
-272.906 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-273.21 281.1 M
-279.21 281.1 lineto
-279.21 287.1 lineto
-273.21 287.1 lineto
-273.21 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-273.21 281.1 M
-279.21 281.1 lineto
-279.21 287.1 lineto
-273.21 287.1 lineto
-273.21 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-273.513 281.1 M
-279.513 281.1 lineto
-279.513 287.1 lineto
-273.513 287.1 lineto
-273.513 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-273.513 281.1 M
-279.513 281.1 lineto
-279.513 287.1 lineto
-273.513 287.1 lineto
-273.513 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-273.817 281.1 M
-279.817 281.1 lineto
-279.817 287.1 lineto
-273.817 287.1 lineto
-273.817 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-273.817 281.1 M
-279.817 281.1 lineto
-279.817 287.1 lineto
-273.817 287.1 lineto
-273.817 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-274.121 281.1 M
-280.121 281.1 lineto
-280.121 287.1 lineto
-274.121 287.1 lineto
-274.121 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-274.121 281.1 M
-280.121 281.1 lineto
-280.121 287.1 lineto
-274.121 287.1 lineto
-274.121 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-274.424 281.1 M
-280.424 281.1 lineto
-280.424 287.1 lineto
-274.424 287.1 lineto
-274.424 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-274.424 281.1 M
-280.424 281.1 lineto
-280.424 287.1 lineto
-274.424 287.1 lineto
-274.424 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-274.728 281.1 M
-280.728 281.1 lineto
-280.728 287.1 lineto
-274.728 287.1 lineto
-274.728 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-274.728 281.1 M
-280.728 281.1 lineto
-280.728 287.1 lineto
-274.728 287.1 lineto
-274.728 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-275.032 281.1 M
-281.032 281.1 lineto
-281.032 287.1 lineto
-275.032 287.1 lineto
-275.032 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-275.032 281.1 M
-281.032 281.1 lineto
-281.032 287.1 lineto
-275.032 287.1 lineto
-275.032 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-275.336 281.1 M
-281.336 281.1 lineto
-281.336 287.1 lineto
-275.336 287.1 lineto
-275.336 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-275.336 281.1 M
-281.336 281.1 lineto
-281.336 287.1 lineto
-275.336 287.1 lineto
-275.336 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-275.639 281.1 M
-281.639 281.1 lineto
-281.639 287.1 lineto
-275.639 287.1 lineto
-275.639 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-275.639 281.1 M
-281.639 281.1 lineto
-281.639 287.1 lineto
-275.639 287.1 lineto
-275.639 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-275.943 281.1 M
-281.943 281.1 lineto
-281.943 287.1 lineto
-275.943 287.1 lineto
-275.943 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-275.943 281.1 M
-281.943 281.1 lineto
-281.943 287.1 lineto
-275.943 287.1 lineto
-275.943 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-276.247 281.1 M
-282.247 281.1 lineto
-282.247 287.1 lineto
-276.247 287.1 lineto
-276.247 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-276.247 281.1 M
-282.247 281.1 lineto
-282.247 287.1 lineto
-276.247 287.1 lineto
-276.247 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-276.551 281.1 M
-282.551 281.1 lineto
-282.551 287.1 lineto
-276.551 287.1 lineto
-276.551 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-276.551 281.1 M
-282.551 281.1 lineto
-282.551 287.1 lineto
-276.551 287.1 lineto
-276.551 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-276.854 281.1 M
-282.854 281.1 lineto
-282.854 287.1 lineto
-276.854 287.1 lineto
-276.854 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-276.854 281.1 M
-282.854 281.1 lineto
-282.854 287.1 lineto
-276.854 287.1 lineto
-276.854 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-277.158 281.1 M
-283.158 281.1 lineto
-283.158 287.1 lineto
-277.158 287.1 lineto
-277.158 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-277.158 281.1 M
-283.158 281.1 lineto
-283.158 287.1 lineto
-277.158 287.1 lineto
-277.158 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-277.462 281.1 M
-283.462 281.1 lineto
-283.462 287.1 lineto
-277.462 287.1 lineto
-277.462 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-277.462 281.1 M
-283.462 281.1 lineto
-283.462 287.1 lineto
-277.462 287.1 lineto
-277.462 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-277.766 281.1 M
-283.766 281.1 lineto
-283.766 287.1 lineto
-277.766 287.1 lineto
-277.766 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-277.766 281.1 M
-283.766 281.1 lineto
-283.766 287.1 lineto
-277.766 287.1 lineto
-277.766 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-278.069 281.1 M
-284.069 281.1 lineto
-284.069 287.1 lineto
-278.069 287.1 lineto
-278.069 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-278.069 281.1 M
-284.069 281.1 lineto
-284.069 287.1 lineto
-278.069 287.1 lineto
-278.069 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-278.373 281.1 M
-284.373 281.1 lineto
-284.373 287.1 lineto
-278.373 287.1 lineto
-278.373 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-278.373 281.1 M
-284.373 281.1 lineto
-284.373 287.1 lineto
-278.373 287.1 lineto
-278.373 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-278.677 281.1 M
-284.677 281.1 lineto
-284.677 287.1 lineto
-278.677 287.1 lineto
-278.677 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-278.677 281.1 M
-284.677 281.1 lineto
-284.677 287.1 lineto
-278.677 287.1 lineto
-278.677 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-278.981 281.1 M
-284.981 281.1 lineto
-284.981 287.1 lineto
-278.981 287.1 lineto
-278.981 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-278.981 281.1 M
-284.981 281.1 lineto
-284.981 287.1 lineto
-278.981 287.1 lineto
-278.981 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-279.284 281.1 M
-285.284 281.1 lineto
-285.284 287.1 lineto
-279.284 287.1 lineto
-279.284 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-279.284 281.1 M
-285.284 281.1 lineto
-285.284 287.1 lineto
-279.284 287.1 lineto
-279.284 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-279.588 281.1 M
-285.588 281.1 lineto
-285.588 287.1 lineto
-279.588 287.1 lineto
-279.588 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-279.588 281.1 M
-285.588 281.1 lineto
-285.588 287.1 lineto
-279.588 287.1 lineto
-279.588 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-279.892 281.1 M
-285.892 281.1 lineto
-285.892 287.1 lineto
-279.892 287.1 lineto
-279.892 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-279.892 281.1 M
-285.892 281.1 lineto
-285.892 287.1 lineto
-279.892 287.1 lineto
-279.892 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-280.195 281.1 M
-286.195 281.1 lineto
-286.195 287.1 lineto
-280.195 287.1 lineto
-280.195 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-280.195 281.1 M
-286.195 281.1 lineto
-286.195 287.1 lineto
-280.195 287.1 lineto
-280.195 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-280.499 281.1 M
-286.499 281.1 lineto
-286.499 287.1 lineto
-280.499 287.1 lineto
-280.499 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-280.499 281.1 M
-286.499 281.1 lineto
-286.499 287.1 lineto
-280.499 287.1 lineto
-280.499 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-280.803 281.1 M
-286.803 281.1 lineto
-286.803 287.1 lineto
-280.803 287.1 lineto
-280.803 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-280.803 281.1 M
-286.803 281.1 lineto
-286.803 287.1 lineto
-280.803 287.1 lineto
-280.803 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-281.107 281.1 M
-287.107 281.1 lineto
-287.107 287.1 lineto
-281.107 287.1 lineto
-281.107 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-281.107 281.1 M
-287.107 281.1 lineto
-287.107 287.1 lineto
-281.107 287.1 lineto
-281.107 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-281.41 281.1 M
-287.41 281.1 lineto
-287.41 287.1 lineto
-281.41 287.1 lineto
-281.41 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-281.41 281.1 M
-287.41 281.1 lineto
-287.41 287.1 lineto
-281.41 287.1 lineto
-281.41 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-281.714 281.1 M
-287.714 281.1 lineto
-287.714 287.1 lineto
-281.714 287.1 lineto
-281.714 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-281.714 281.1 M
-287.714 281.1 lineto
-287.714 287.1 lineto
-281.714 287.1 lineto
-281.714 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-282.018 281.1 M
-288.018 281.1 lineto
-288.018 287.1 lineto
-282.018 287.1 lineto
-282.018 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-282.018 281.1 M
-288.018 281.1 lineto
-288.018 287.1 lineto
-282.018 287.1 lineto
-282.018 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-282.322 281.1 M
-288.322 281.1 lineto
-288.322 287.1 lineto
-282.322 287.1 lineto
-282.322 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-282.322 281.1 M
-288.322 281.1 lineto
-288.322 287.1 lineto
-282.322 287.1 lineto
-282.322 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-282.625 281.1 M
-288.625 281.1 lineto
-288.625 287.1 lineto
-282.625 287.1 lineto
-282.625 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-282.625 281.1 M
-288.625 281.1 lineto
-288.625 287.1 lineto
-282.625 287.1 lineto
-282.625 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-282.929 281.1 M
-288.929 281.1 lineto
-288.929 287.1 lineto
-282.929 287.1 lineto
-282.929 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-282.929 281.1 M
-288.929 281.1 lineto
-288.929 287.1 lineto
-282.929 287.1 lineto
-282.929 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-283.233 216.455 M
-289.233 216.455 lineto
-289.233 222.455 lineto
-283.233 222.455 lineto
-283.233 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-283.233 216.455 M
-289.233 216.455 lineto
-289.233 222.455 lineto
-283.233 222.455 lineto
-283.233 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-283.537 216.455 M
-289.537 216.455 lineto
-289.537 222.455 lineto
-283.537 222.455 lineto
-283.537 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-283.537 216.455 M
-289.537 216.455 lineto
-289.537 222.455 lineto
-283.537 222.455 lineto
-283.537 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-283.84 216.455 M
-289.84 216.455 lineto
-289.84 222.455 lineto
-283.84 222.455 lineto
-283.84 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-283.84 216.455 M
-289.84 216.455 lineto
-289.84 222.455 lineto
-283.84 222.455 lineto
-283.84 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-284.144 216.455 M
-290.144 216.455 lineto
-290.144 222.455 lineto
-284.144 222.455 lineto
-284.144 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-284.144 216.455 M
-290.144 216.455 lineto
-290.144 222.455 lineto
-284.144 222.455 lineto
-284.144 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-284.448 216.455 M
-290.448 216.455 lineto
-290.448 222.455 lineto
-284.448 222.455 lineto
-284.448 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-284.448 216.455 M
-290.448 216.455 lineto
-290.448 222.455 lineto
-284.448 222.455 lineto
-284.448 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-284.752 216.455 M
-290.752 216.455 lineto
-290.752 222.455 lineto
-284.752 222.455 lineto
-284.752 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-284.752 216.455 M
-290.752 216.455 lineto
-290.752 222.455 lineto
-284.752 222.455 lineto
-284.752 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-285.055 216.455 M
-291.055 216.455 lineto
-291.055 222.455 lineto
-285.055 222.455 lineto
-285.055 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-285.055 216.455 M
-291.055 216.455 lineto
-291.055 222.455 lineto
-285.055 222.455 lineto
-285.055 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-285.359 216.455 M
-291.359 216.455 lineto
-291.359 222.455 lineto
-285.359 222.455 lineto
-285.359 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-285.359 216.455 M
-291.359 216.455 lineto
-291.359 222.455 lineto
-285.359 222.455 lineto
-285.359 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-285.663 216.455 M
-291.663 216.455 lineto
-291.663 222.455 lineto
-285.663 222.455 lineto
-285.663 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-285.663 216.455 M
-291.663 216.455 lineto
-291.663 222.455 lineto
-285.663 222.455 lineto
-285.663 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-285.966 216.455 M
-291.966 216.455 lineto
-291.966 222.455 lineto
-285.966 222.455 lineto
-285.966 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-285.966 216.455 M
-291.966 216.455 lineto
-291.966 222.455 lineto
-285.966 222.455 lineto
-285.966 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-286.27 216.455 M
-292.27 216.455 lineto
-292.27 222.455 lineto
-286.27 222.455 lineto
-286.27 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-286.27 216.455 M
-292.27 216.455 lineto
-292.27 222.455 lineto
-286.27 222.455 lineto
-286.27 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-286.574 216.455 M
-292.574 216.455 lineto
-292.574 222.455 lineto
-286.574 222.455 lineto
-286.574 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-286.574 216.455 M
-292.574 216.455 lineto
-292.574 222.455 lineto
-286.574 222.455 lineto
-286.574 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-286.878 216.455 M
-292.878 216.455 lineto
-292.878 222.455 lineto
-286.878 222.455 lineto
-286.878 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-286.878 216.455 M
-292.878 216.455 lineto
-292.878 222.455 lineto
-286.878 222.455 lineto
-286.878 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-287.181 216.455 M
-293.181 216.455 lineto
-293.181 222.455 lineto
-287.181 222.455 lineto
-287.181 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-287.181 216.455 M
-293.181 216.455 lineto
-293.181 222.455 lineto
-287.181 222.455 lineto
-287.181 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-287.485 216.455 M
-293.485 216.455 lineto
-293.485 222.455 lineto
-287.485 222.455 lineto
-287.485 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-287.485 216.455 M
-293.485 216.455 lineto
-293.485 222.455 lineto
-287.485 222.455 lineto
-287.485 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-287.789 216.455 M
-293.789 216.455 lineto
-293.789 222.455 lineto
-287.789 222.455 lineto
-287.789 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-287.789 216.455 M
-293.789 216.455 lineto
-293.789 222.455 lineto
-287.789 222.455 lineto
-287.789 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-288.093 216.455 M
-294.093 216.455 lineto
-294.093 222.455 lineto
-288.093 222.455 lineto
-288.093 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-288.093 216.455 M
-294.093 216.455 lineto
-294.093 222.455 lineto
-288.093 222.455 lineto
-288.093 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-288.396 216.455 M
-294.396 216.455 lineto
-294.396 222.455 lineto
-288.396 222.455 lineto
-288.396 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-288.396 216.455 M
-294.396 216.455 lineto
-294.396 222.455 lineto
-288.396 222.455 lineto
-288.396 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-288.7 216.455 M
-294.7 216.455 lineto
-294.7 222.455 lineto
-288.7 222.455 lineto
-288.7 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-288.7 216.455 M
-294.7 216.455 lineto
-294.7 222.455 lineto
-288.7 222.455 lineto
-288.7 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-289.004 216.455 M
-295.004 216.455 lineto
-295.004 222.455 lineto
-289.004 222.455 lineto
-289.004 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-289.004 216.455 M
-295.004 216.455 lineto
-295.004 222.455 lineto
-289.004 222.455 lineto
-289.004 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-289.308 216.455 M
-295.308 216.455 lineto
-295.308 222.455 lineto
-289.308 222.455 lineto
-289.308 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-289.308 216.455 M
-295.308 216.455 lineto
-295.308 222.455 lineto
-289.308 222.455 lineto
-289.308 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-289.611 216.455 M
-295.611 216.455 lineto
-295.611 222.455 lineto
-289.611 222.455 lineto
-289.611 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-289.611 216.455 M
-295.611 216.455 lineto
-295.611 222.455 lineto
-289.611 222.455 lineto
-289.611 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-289.915 216.455 M
-295.915 216.455 lineto
-295.915 222.455 lineto
-289.915 222.455 lineto
-289.915 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-289.915 216.455 M
-295.915 216.455 lineto
-295.915 222.455 lineto
-289.915 222.455 lineto
-289.915 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-290.219 216.455 M
-296.219 216.455 lineto
-296.219 222.455 lineto
-290.219 222.455 lineto
-290.219 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-290.219 216.455 M
-296.219 216.455 lineto
-296.219 222.455 lineto
-290.219 222.455 lineto
-290.219 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-290.523 216.455 M
-296.523 216.455 lineto
-296.523 222.455 lineto
-290.523 222.455 lineto
-290.523 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-290.523 216.455 M
-296.523 216.455 lineto
-296.523 222.455 lineto
-290.523 222.455 lineto
-290.523 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-290.826 216.455 M
-296.826 216.455 lineto
-296.826 222.455 lineto
-290.826 222.455 lineto
-290.826 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-290.826 216.455 M
-296.826 216.455 lineto
-296.826 222.455 lineto
-290.826 222.455 lineto
-290.826 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-291.13 216.455 M
-297.13 216.455 lineto
-297.13 222.455 lineto
-291.13 222.455 lineto
-291.13 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-291.13 216.455 M
-297.13 216.455 lineto
-297.13 222.455 lineto
-291.13 222.455 lineto
-291.13 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-291.434 216.455 M
-297.434 216.455 lineto
-297.434 222.455 lineto
-291.434 222.455 lineto
-291.434 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-291.434 216.455 M
-297.434 216.455 lineto
-297.434 222.455 lineto
-291.434 222.455 lineto
-291.434 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-291.737 216.455 M
-297.737 216.455 lineto
-297.737 222.455 lineto
-291.737 222.455 lineto
-291.737 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-291.737 216.455 M
-297.737 216.455 lineto
-297.737 222.455 lineto
-291.737 222.455 lineto
-291.737 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-292.041 216.455 M
-298.041 216.455 lineto
-298.041 222.455 lineto
-292.041 222.455 lineto
-292.041 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-292.041 216.455 M
-298.041 216.455 lineto
-298.041 222.455 lineto
-292.041 222.455 lineto
-292.041 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-292.345 216.455 M
-298.345 216.455 lineto
-298.345 222.455 lineto
-292.345 222.455 lineto
-292.345 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-292.345 216.455 M
-298.345 216.455 lineto
-298.345 222.455 lineto
-292.345 222.455 lineto
-292.345 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-292.649 216.455 M
-298.649 216.455 lineto
-298.649 222.455 lineto
-292.649 222.455 lineto
-292.649 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-292.649 216.455 M
-298.649 216.455 lineto
-298.649 222.455 lineto
-292.649 222.455 lineto
-292.649 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-292.952 216.455 M
-298.952 216.455 lineto
-298.952 222.455 lineto
-292.952 222.455 lineto
-292.952 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-292.952 216.455 M
-298.952 216.455 lineto
-298.952 222.455 lineto
-292.952 222.455 lineto
-292.952 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-293.256 216.455 M
-299.256 216.455 lineto
-299.256 222.455 lineto
-293.256 222.455 lineto
-293.256 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-293.256 216.455 M
-299.256 216.455 lineto
-299.256 222.455 lineto
-293.256 222.455 lineto
-293.256 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-293.56 216.455 M
-299.56 216.455 lineto
-299.56 222.455 lineto
-293.56 222.455 lineto
-293.56 216.455 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-293.56 216.455 M
-299.56 216.455 lineto
-299.56 222.455 lineto
-293.56 222.455 lineto
-293.56 216.455 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-293.864 238.004 M
-299.864 238.004 lineto
-299.864 244.004 lineto
-293.864 244.004 lineto
-293.864 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-293.864 238.004 M
-299.864 238.004 lineto
-299.864 244.004 lineto
-293.864 244.004 lineto
-293.864 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-294.167 238.004 M
-300.167 238.004 lineto
-300.167 244.004 lineto
-294.167 244.004 lineto
-294.167 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-294.167 238.004 M
-300.167 238.004 lineto
-300.167 244.004 lineto
-294.167 244.004 lineto
-294.167 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-294.471 238.004 M
-300.471 238.004 lineto
-300.471 244.004 lineto
-294.471 244.004 lineto
-294.471 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-294.471 238.004 M
-300.471 238.004 lineto
-300.471 244.004 lineto
-294.471 244.004 lineto
-294.471 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-294.775 238.004 M
-300.775 238.004 lineto
-300.775 244.004 lineto
-294.775 244.004 lineto
-294.775 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-294.775 238.004 M
-300.775 238.004 lineto
-300.775 244.004 lineto
-294.775 244.004 lineto
-294.775 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-295.079 238.004 M
-301.079 238.004 lineto
-301.079 244.004 lineto
-295.079 244.004 lineto
-295.079 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-295.079 238.004 M
-301.079 238.004 lineto
-301.079 244.004 lineto
-295.079 244.004 lineto
-295.079 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-295.382 238.004 M
-301.382 238.004 lineto
-301.382 244.004 lineto
-295.382 244.004 lineto
-295.382 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-295.382 238.004 M
-301.382 238.004 lineto
-301.382 244.004 lineto
-295.382 244.004 lineto
-295.382 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-295.686 238.004 M
-301.686 238.004 lineto
-301.686 244.004 lineto
-295.686 244.004 lineto
-295.686 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-295.686 238.004 M
-301.686 238.004 lineto
-301.686 244.004 lineto
-295.686 244.004 lineto
-295.686 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-295.99 238.004 M
-301.99 238.004 lineto
-301.99 244.004 lineto
-295.99 244.004 lineto
-295.99 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-295.99 238.004 M
-301.99 238.004 lineto
-301.99 244.004 lineto
-295.99 244.004 lineto
-295.99 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-296.294 238.004 M
-302.294 238.004 lineto
-302.294 244.004 lineto
-296.294 244.004 lineto
-296.294 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-296.294 238.004 M
-302.294 238.004 lineto
-302.294 244.004 lineto
-296.294 244.004 lineto
-296.294 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-296.597 238.004 M
-302.597 238.004 lineto
-302.597 244.004 lineto
-296.597 244.004 lineto
-296.597 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-296.597 238.004 M
-302.597 238.004 lineto
-302.597 244.004 lineto
-296.597 244.004 lineto
-296.597 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-296.901 238.004 M
-302.901 238.004 lineto
-302.901 244.004 lineto
-296.901 244.004 lineto
-296.901 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-296.901 238.004 M
-302.901 238.004 lineto
-302.901 244.004 lineto
-296.901 244.004 lineto
-296.901 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-297.205 238.004 M
-303.205 238.004 lineto
-303.205 244.004 lineto
-297.205 244.004 lineto
-297.205 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-297.205 238.004 M
-303.205 238.004 lineto
-303.205 244.004 lineto
-297.205 244.004 lineto
-297.205 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-297.508 238.004 M
-303.508 238.004 lineto
-303.508 244.004 lineto
-297.508 244.004 lineto
-297.508 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-297.508 238.004 M
-303.508 238.004 lineto
-303.508 244.004 lineto
-297.508 244.004 lineto
-297.508 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-297.812 238.004 M
-303.812 238.004 lineto
-303.812 244.004 lineto
-297.812 244.004 lineto
-297.812 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-297.812 238.004 M
-303.812 238.004 lineto
-303.812 244.004 lineto
-297.812 244.004 lineto
-297.812 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-298.116 238.004 M
-304.116 238.004 lineto
-304.116 244.004 lineto
-298.116 244.004 lineto
-298.116 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-298.116 238.004 M
-304.116 238.004 lineto
-304.116 244.004 lineto
-298.116 244.004 lineto
-298.116 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-298.42 238.004 M
-304.42 238.004 lineto
-304.42 244.004 lineto
-298.42 244.004 lineto
-298.42 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-298.42 238.004 M
-304.42 238.004 lineto
-304.42 244.004 lineto
-298.42 244.004 lineto
-298.42 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-298.723 238.004 M
-304.723 238.004 lineto
-304.723 244.004 lineto
-298.723 244.004 lineto
-298.723 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-298.723 238.004 M
-304.723 238.004 lineto
-304.723 244.004 lineto
-298.723 244.004 lineto
-298.723 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-299.027 238.004 M
-305.027 238.004 lineto
-305.027 244.004 lineto
-299.027 244.004 lineto
-299.027 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-299.027 238.004 M
-305.027 238.004 lineto
-305.027 244.004 lineto
-299.027 244.004 lineto
-299.027 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-299.331 238.004 M
-305.331 238.004 lineto
-305.331 244.004 lineto
-299.331 244.004 lineto
-299.331 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-299.331 238.004 M
-305.331 238.004 lineto
-305.331 244.004 lineto
-299.331 244.004 lineto
-299.331 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-299.635 238.004 M
-305.635 238.004 lineto
-305.635 244.004 lineto
-299.635 244.004 lineto
-299.635 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-299.635 238.004 M
-305.635 238.004 lineto
-305.635 244.004 lineto
-299.635 244.004 lineto
-299.635 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-299.938 238.004 M
-305.938 238.004 lineto
-305.938 244.004 lineto
-299.938 244.004 lineto
-299.938 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-299.938 238.004 M
-305.938 238.004 lineto
-305.938 244.004 lineto
-299.938 244.004 lineto
-299.938 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-300.242 238.004 M
-306.242 238.004 lineto
-306.242 244.004 lineto
-300.242 244.004 lineto
-300.242 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-300.242 238.004 M
-306.242 238.004 lineto
-306.242 244.004 lineto
-300.242 244.004 lineto
-300.242 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-300.546 238.004 M
-306.546 238.004 lineto
-306.546 244.004 lineto
-300.546 244.004 lineto
-300.546 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-300.546 238.004 M
-306.546 238.004 lineto
-306.546 244.004 lineto
-300.546 244.004 lineto
-300.546 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-300.85 238.004 M
-306.85 238.004 lineto
-306.85 244.004 lineto
-300.85 244.004 lineto
-300.85 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-300.85 238.004 M
-306.85 238.004 lineto
-306.85 244.004 lineto
-300.85 244.004 lineto
-300.85 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-301.153 238.004 M
-307.153 238.004 lineto
-307.153 244.004 lineto
-301.153 244.004 lineto
-301.153 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-301.153 238.004 M
-307.153 238.004 lineto
-307.153 244.004 lineto
-301.153 244.004 lineto
-301.153 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-301.457 238.004 M
-307.457 238.004 lineto
-307.457 244.004 lineto
-301.457 244.004 lineto
-301.457 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-301.457 238.004 M
-307.457 238.004 lineto
-307.457 244.004 lineto
-301.457 244.004 lineto
-301.457 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-301.761 238.004 M
-307.761 238.004 lineto
-307.761 244.004 lineto
-301.761 244.004 lineto
-301.761 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-301.761 238.004 M
-307.761 238.004 lineto
-307.761 244.004 lineto
-301.761 244.004 lineto
-301.761 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-302.065 238.004 M
-308.065 238.004 lineto
-308.065 244.004 lineto
-302.065 244.004 lineto
-302.065 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-302.065 238.004 M
-308.065 238.004 lineto
-308.065 244.004 lineto
-302.065 244.004 lineto
-302.065 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-302.368 238.004 M
-308.368 238.004 lineto
-308.368 244.004 lineto
-302.368 244.004 lineto
-302.368 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-302.368 238.004 M
-308.368 238.004 lineto
-308.368 244.004 lineto
-302.368 244.004 lineto
-302.368 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-302.672 238.004 M
-308.672 238.004 lineto
-308.672 244.004 lineto
-302.672 244.004 lineto
-302.672 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-302.672 238.004 M
-308.672 238.004 lineto
-308.672 244.004 lineto
-302.672 244.004 lineto
-302.672 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-302.976 238.004 M
-308.976 238.004 lineto
-308.976 244.004 lineto
-302.976 244.004 lineto
-302.976 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-302.976 238.004 M
-308.976 238.004 lineto
-308.976 244.004 lineto
-302.976 244.004 lineto
-302.976 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-303.279 238.004 M
-309.279 238.004 lineto
-309.279 244.004 lineto
-303.279 244.004 lineto
-303.279 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-303.279 238.004 M
-309.279 238.004 lineto
-309.279 244.004 lineto
-303.279 244.004 lineto
-303.279 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-303.583 238.004 M
-309.583 238.004 lineto
-309.583 244.004 lineto
-303.583 244.004 lineto
-303.583 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-303.583 238.004 M
-309.583 238.004 lineto
-309.583 244.004 lineto
-303.583 244.004 lineto
-303.583 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-303.887 238.004 M
-309.887 238.004 lineto
-309.887 244.004 lineto
-303.887 244.004 lineto
-303.887 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-303.887 238.004 M
-309.887 238.004 lineto
-309.887 244.004 lineto
-303.887 244.004 lineto
-303.887 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-304.191 238.004 M
-310.191 238.004 lineto
-310.191 244.004 lineto
-304.191 244.004 lineto
-304.191 238.004 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-304.191 238.004 M
-310.191 238.004 lineto
-310.191 244.004 lineto
-304.191 244.004 lineto
-304.191 238.004 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-304.494 259.552 M
-310.494 259.552 lineto
-310.494 265.552 lineto
-304.494 265.552 lineto
-304.494 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-304.494 259.552 M
-310.494 259.552 lineto
-310.494 265.552 lineto
-304.494 265.552 lineto
-304.494 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-304.798 259.552 M
-310.798 259.552 lineto
-310.798 265.552 lineto
-304.798 265.552 lineto
-304.798 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-304.798 259.552 M
-310.798 259.552 lineto
-310.798 265.552 lineto
-304.798 265.552 lineto
-304.798 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-305.102 259.552 M
-311.102 259.552 lineto
-311.102 265.552 lineto
-305.102 265.552 lineto
-305.102 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-305.102 259.552 M
-311.102 259.552 lineto
-311.102 265.552 lineto
-305.102 265.552 lineto
-305.102 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-305.406 259.552 M
-311.406 259.552 lineto
-311.406 265.552 lineto
-305.406 265.552 lineto
-305.406 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-305.406 259.552 M
-311.406 259.552 lineto
-311.406 265.552 lineto
-305.406 265.552 lineto
-305.406 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-305.709 259.552 M
-311.709 259.552 lineto
-311.709 265.552 lineto
-305.709 265.552 lineto
-305.709 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-305.709 259.552 M
-311.709 259.552 lineto
-311.709 265.552 lineto
-305.709 265.552 lineto
-305.709 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-306.013 259.552 M
-312.013 259.552 lineto
-312.013 265.552 lineto
-306.013 265.552 lineto
-306.013 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-306.013 259.552 M
-312.013 259.552 lineto
-312.013 265.552 lineto
-306.013 265.552 lineto
-306.013 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-306.317 259.552 M
-312.317 259.552 lineto
-312.317 265.552 lineto
-306.317 265.552 lineto
-306.317 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-306.317 259.552 M
-312.317 259.552 lineto
-312.317 265.552 lineto
-306.317 265.552 lineto
-306.317 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-306.621 259.552 M
-312.621 259.552 lineto
-312.621 265.552 lineto
-306.621 265.552 lineto
-306.621 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-306.621 259.552 M
-312.621 259.552 lineto
-312.621 265.552 lineto
-306.621 265.552 lineto
-306.621 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-306.924 259.552 M
-312.924 259.552 lineto
-312.924 265.552 lineto
-306.924 265.552 lineto
-306.924 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-306.924 259.552 M
-312.924 259.552 lineto
-312.924 265.552 lineto
-306.924 265.552 lineto
-306.924 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-307.228 259.552 M
-313.228 259.552 lineto
-313.228 265.552 lineto
-307.228 265.552 lineto
-307.228 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-307.228 259.552 M
-313.228 259.552 lineto
-313.228 265.552 lineto
-307.228 265.552 lineto
-307.228 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-307.532 259.552 M
-313.532 259.552 lineto
-313.532 265.552 lineto
-307.532 265.552 lineto
-307.532 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-307.532 259.552 M
-313.532 259.552 lineto
-313.532 265.552 lineto
-307.532 265.552 lineto
-307.532 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-307.836 259.552 M
-313.836 259.552 lineto
-313.836 265.552 lineto
-307.836 265.552 lineto
-307.836 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-307.836 259.552 M
-313.836 259.552 lineto
-313.836 265.552 lineto
-307.836 265.552 lineto
-307.836 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-308.139 259.552 M
-314.139 259.552 lineto
-314.139 265.552 lineto
-308.139 265.552 lineto
-308.139 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-308.139 259.552 M
-314.139 259.552 lineto
-314.139 265.552 lineto
-308.139 265.552 lineto
-308.139 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-308.443 259.552 M
-314.443 259.552 lineto
-314.443 265.552 lineto
-308.443 265.552 lineto
-308.443 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-308.443 259.552 M
-314.443 259.552 lineto
-314.443 265.552 lineto
-308.443 265.552 lineto
-308.443 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-308.747 259.552 M
-314.747 259.552 lineto
-314.747 265.552 lineto
-308.747 265.552 lineto
-308.747 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-308.747 259.552 M
-314.747 259.552 lineto
-314.747 265.552 lineto
-308.747 265.552 lineto
-308.747 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-309.051 259.552 M
-315.051 259.552 lineto
-315.051 265.552 lineto
-309.051 265.552 lineto
-309.051 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-309.051 259.552 M
-315.051 259.552 lineto
-315.051 265.552 lineto
-309.051 265.552 lineto
-309.051 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-309.354 259.552 M
-315.354 259.552 lineto
-315.354 265.552 lineto
-309.354 265.552 lineto
-309.354 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-309.354 259.552 M
-315.354 259.552 lineto
-315.354 265.552 lineto
-309.354 265.552 lineto
-309.354 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-309.658 259.552 M
-315.658 259.552 lineto
-315.658 265.552 lineto
-309.658 265.552 lineto
-309.658 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-309.658 259.552 M
-315.658 259.552 lineto
-315.658 265.552 lineto
-309.658 265.552 lineto
-309.658 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-309.962 259.552 M
-315.962 259.552 lineto
-315.962 265.552 lineto
-309.962 265.552 lineto
-309.962 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-309.962 259.552 M
-315.962 259.552 lineto
-315.962 265.552 lineto
-309.962 265.552 lineto
-309.962 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-310.265 259.552 M
-316.265 259.552 lineto
-316.265 265.552 lineto
-310.265 265.552 lineto
-310.265 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-310.265 259.552 M
-316.265 259.552 lineto
-316.265 265.552 lineto
-310.265 265.552 lineto
-310.265 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-310.569 259.552 M
-316.569 259.552 lineto
-316.569 265.552 lineto
-310.569 265.552 lineto
-310.569 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-310.569 259.552 M
-316.569 259.552 lineto
-316.569 265.552 lineto
-310.569 265.552 lineto
-310.569 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-310.873 259.552 M
-316.873 259.552 lineto
-316.873 265.552 lineto
-310.873 265.552 lineto
-310.873 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-310.873 259.552 M
-316.873 259.552 lineto
-316.873 265.552 lineto
-310.873 265.552 lineto
-310.873 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-311.177 259.552 M
-317.177 259.552 lineto
-317.177 265.552 lineto
-311.177 265.552 lineto
-311.177 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-311.177 259.552 M
-317.177 259.552 lineto
-317.177 265.552 lineto
-311.177 265.552 lineto
-311.177 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-311.48 259.552 M
-317.48 259.552 lineto
-317.48 265.552 lineto
-311.48 265.552 lineto
-311.48 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-311.48 259.552 M
-317.48 259.552 lineto
-317.48 265.552 lineto
-311.48 265.552 lineto
-311.48 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-311.784 259.552 M
-317.784 259.552 lineto
-317.784 265.552 lineto
-311.784 265.552 lineto
-311.784 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-311.784 259.552 M
-317.784 259.552 lineto
-317.784 265.552 lineto
-311.784 265.552 lineto
-311.784 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-312.088 259.552 M
-318.088 259.552 lineto
-318.088 265.552 lineto
-312.088 265.552 lineto
-312.088 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-312.088 259.552 M
-318.088 259.552 lineto
-318.088 265.552 lineto
-312.088 265.552 lineto
-312.088 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-312.392 259.552 M
-318.392 259.552 lineto
-318.392 265.552 lineto
-312.392 265.552 lineto
-312.392 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-312.392 259.552 M
-318.392 259.552 lineto
-318.392 265.552 lineto
-312.392 265.552 lineto
-312.392 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-312.695 259.552 M
-318.695 259.552 lineto
-318.695 265.552 lineto
-312.695 265.552 lineto
-312.695 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-312.695 259.552 M
-318.695 259.552 lineto
-318.695 265.552 lineto
-312.695 265.552 lineto
-312.695 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-312.999 259.552 M
-318.999 259.552 lineto
-318.999 265.552 lineto
-312.999 265.552 lineto
-312.999 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-312.999 259.552 M
-318.999 259.552 lineto
-318.999 265.552 lineto
-312.999 265.552 lineto
-312.999 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-313.303 259.552 M
-319.303 259.552 lineto
-319.303 265.552 lineto
-313.303 265.552 lineto
-313.303 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-313.303 259.552 M
-319.303 259.552 lineto
-319.303 265.552 lineto
-313.303 265.552 lineto
-313.303 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-313.607 259.552 M
-319.607 259.552 lineto
-319.607 265.552 lineto
-313.607 265.552 lineto
-313.607 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-313.607 259.552 M
-319.607 259.552 lineto
-319.607 265.552 lineto
-313.607 265.552 lineto
-313.607 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-313.91 259.552 M
-319.91 259.552 lineto
-319.91 265.552 lineto
-313.91 265.552 lineto
-313.91 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-313.91 259.552 M
-319.91 259.552 lineto
-319.91 265.552 lineto
-313.91 265.552 lineto
-313.91 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-314.214 259.552 M
-320.214 259.552 lineto
-320.214 265.552 lineto
-314.214 265.552 lineto
-314.214 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-314.214 259.552 M
-320.214 259.552 lineto
-320.214 265.552 lineto
-314.214 265.552 lineto
-314.214 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-314.518 259.552 M
-320.518 259.552 lineto
-320.518 265.552 lineto
-314.518 265.552 lineto
-314.518 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-314.518 259.552 M
-320.518 259.552 lineto
-320.518 265.552 lineto
-314.518 265.552 lineto
-314.518 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-314.822 259.552 M
-320.822 259.552 lineto
-320.822 265.552 lineto
-314.822 265.552 lineto
-314.822 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-314.822 259.552 M
-320.822 259.552 lineto
-320.822 265.552 lineto
-314.822 265.552 lineto
-314.822 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-315.125 259.552 M
-321.125 259.552 lineto
-321.125 265.552 lineto
-315.125 265.552 lineto
-315.125 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-315.125 259.552 M
-321.125 259.552 lineto
-321.125 265.552 lineto
-315.125 265.552 lineto
-315.125 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-315.429 259.552 M
-321.429 259.552 lineto
-321.429 265.552 lineto
-315.429 265.552 lineto
-315.429 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-315.429 259.552 M
-321.429 259.552 lineto
-321.429 265.552 lineto
-315.429 265.552 lineto
-315.429 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-315.733 259.552 M
-321.733 259.552 lineto
-321.733 265.552 lineto
-315.733 265.552 lineto
-315.733 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-315.733 259.552 M
-321.733 259.552 lineto
-321.733 265.552 lineto
-315.733 265.552 lineto
-315.733 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-316.036 259.552 M
-322.036 259.552 lineto
-322.036 265.552 lineto
-316.036 265.552 lineto
-316.036 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-316.036 259.552 M
-322.036 259.552 lineto
-322.036 265.552 lineto
-316.036 265.552 lineto
-316.036 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-316.34 259.552 M
-322.34 259.552 lineto
-322.34 265.552 lineto
-316.34 265.552 lineto
-316.34 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-316.34 259.552 M
-322.34 259.552 lineto
-322.34 265.552 lineto
-316.34 265.552 lineto
-316.34 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-316.644 259.552 M
-322.644 259.552 lineto
-322.644 265.552 lineto
-316.644 265.552 lineto
-316.644 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-316.644 259.552 M
-322.644 259.552 lineto
-322.644 265.552 lineto
-316.644 265.552 lineto
-316.644 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-316.948 259.552 M
-322.948 259.552 lineto
-322.948 265.552 lineto
-316.948 265.552 lineto
-316.948 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-316.948 259.552 M
-322.948 259.552 lineto
-322.948 265.552 lineto
-316.948 265.552 lineto
-316.948 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-317.251 259.552 M
-323.251 259.552 lineto
-323.251 265.552 lineto
-317.251 265.552 lineto
-317.251 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-317.251 259.552 M
-323.251 259.552 lineto
-323.251 265.552 lineto
-317.251 265.552 lineto
-317.251 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-317.555 259.552 M
-323.555 259.552 lineto
-323.555 265.552 lineto
-317.555 265.552 lineto
-317.555 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-317.555 259.552 M
-323.555 259.552 lineto
-323.555 265.552 lineto
-317.555 265.552 lineto
-317.555 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-317.859 259.552 M
-323.859 259.552 lineto
-323.859 265.552 lineto
-317.859 265.552 lineto
-317.859 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-317.859 259.552 M
-323.859 259.552 lineto
-323.859 265.552 lineto
-317.859 265.552 lineto
-317.859 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-318.163 259.552 M
-324.163 259.552 lineto
-324.163 265.552 lineto
-318.163 265.552 lineto
-318.163 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-318.163 259.552 M
-324.163 259.552 lineto
-324.163 265.552 lineto
-318.163 265.552 lineto
-318.163 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-318.466 259.552 M
-324.466 259.552 lineto
-324.466 265.552 lineto
-318.466 265.552 lineto
-318.466 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-318.466 259.552 M
-324.466 259.552 lineto
-324.466 265.552 lineto
-318.466 265.552 lineto
-318.466 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-318.77 259.552 M
-324.77 259.552 lineto
-324.77 265.552 lineto
-318.77 265.552 lineto
-318.77 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-318.77 259.552 M
-324.77 259.552 lineto
-324.77 265.552 lineto
-318.77 265.552 lineto
-318.77 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-319.074 259.552 M
-325.074 259.552 lineto
-325.074 265.552 lineto
-319.074 265.552 lineto
-319.074 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.074 259.552 M
-325.074 259.552 lineto
-325.074 265.552 lineto
-319.074 265.552 lineto
-319.074 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-319.378 259.552 M
-325.378 259.552 lineto
-325.378 265.552 lineto
-319.378 265.552 lineto
-319.378 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.378 259.552 M
-325.378 259.552 lineto
-325.378 265.552 lineto
-319.378 265.552 lineto
-319.378 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-319.681 259.552 M
-325.681 259.552 lineto
-325.681 265.552 lineto
-319.681 265.552 lineto
-319.681 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.681 259.552 M
-325.681 259.552 lineto
-325.681 265.552 lineto
-319.681 265.552 lineto
-319.681 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-319.985 259.552 M
-325.985 259.552 lineto
-325.985 265.552 lineto
-319.985 265.552 lineto
-319.985 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-319.985 259.552 M
-325.985 259.552 lineto
-325.985 265.552 lineto
-319.985 265.552 lineto
-319.985 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-320.289 259.552 M
-326.289 259.552 lineto
-326.289 265.552 lineto
-320.289 265.552 lineto
-320.289 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-320.289 259.552 M
-326.289 259.552 lineto
-326.289 265.552 lineto
-320.289 265.552 lineto
-320.289 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-320.593 259.552 M
-326.593 259.552 lineto
-326.593 265.552 lineto
-320.593 265.552 lineto
-320.593 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-320.593 259.552 M
-326.593 259.552 lineto
-326.593 265.552 lineto
-320.593 265.552 lineto
-320.593 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-320.896 259.552 M
-326.896 259.552 lineto
-326.896 265.552 lineto
-320.896 265.552 lineto
-320.896 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-320.896 259.552 M
-326.896 259.552 lineto
-326.896 265.552 lineto
-320.896 265.552 lineto
-320.896 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-321.2 259.552 M
-327.2 259.552 lineto
-327.2 265.552 lineto
-321.2 265.552 lineto
-321.2 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-321.2 259.552 M
-327.2 259.552 lineto
-327.2 265.552 lineto
-321.2 265.552 lineto
-321.2 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-321.504 259.552 M
-327.504 259.552 lineto
-327.504 265.552 lineto
-321.504 265.552 lineto
-321.504 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-321.504 259.552 M
-327.504 259.552 lineto
-327.504 265.552 lineto
-321.504 265.552 lineto
-321.504 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-321.807 259.552 M
-327.807 259.552 lineto
-327.807 265.552 lineto
-321.807 265.552 lineto
-321.807 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-321.807 259.552 M
-327.807 259.552 lineto
-327.807 265.552 lineto
-321.807 265.552 lineto
-321.807 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-322.111 259.552 M
-328.111 259.552 lineto
-328.111 265.552 lineto
-322.111 265.552 lineto
-322.111 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-322.111 259.552 M
-328.111 259.552 lineto
-328.111 265.552 lineto
-322.111 265.552 lineto
-322.111 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-322.415 259.552 M
-328.415 259.552 lineto
-328.415 265.552 lineto
-322.415 265.552 lineto
-322.415 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-322.415 259.552 M
-328.415 259.552 lineto
-328.415 265.552 lineto
-322.415 265.552 lineto
-322.415 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-322.719 259.552 M
-328.719 259.552 lineto
-328.719 265.552 lineto
-322.719 265.552 lineto
-322.719 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-322.719 259.552 M
-328.719 259.552 lineto
-328.719 265.552 lineto
-322.719 265.552 lineto
-322.719 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-323.022 259.552 M
-329.022 259.552 lineto
-329.022 265.552 lineto
-323.022 265.552 lineto
-323.022 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-323.022 259.552 M
-329.022 259.552 lineto
-329.022 265.552 lineto
-323.022 265.552 lineto
-323.022 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-323.326 259.552 M
-329.326 259.552 lineto
-329.326 265.552 lineto
-323.326 265.552 lineto
-323.326 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-323.326 259.552 M
-329.326 259.552 lineto
-329.326 265.552 lineto
-323.326 265.552 lineto
-323.326 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-323.63 259.552 M
-329.63 259.552 lineto
-329.63 265.552 lineto
-323.63 265.552 lineto
-323.63 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-323.63 259.552 M
-329.63 259.552 lineto
-329.63 265.552 lineto
-323.63 265.552 lineto
-323.63 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-323.934 259.552 M
-329.934 259.552 lineto
-329.934 265.552 lineto
-323.934 265.552 lineto
-323.934 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-323.934 259.552 M
-329.934 259.552 lineto
-329.934 265.552 lineto
-323.934 265.552 lineto
-323.934 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-324.237 259.552 M
-330.237 259.552 lineto
-330.237 265.552 lineto
-324.237 265.552 lineto
-324.237 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-324.237 259.552 M
-330.237 259.552 lineto
-330.237 265.552 lineto
-324.237 265.552 lineto
-324.237 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-324.541 259.552 M
-330.541 259.552 lineto
-330.541 265.552 lineto
-324.541 265.552 lineto
-324.541 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-324.541 259.552 M
-330.541 259.552 lineto
-330.541 265.552 lineto
-324.541 265.552 lineto
-324.541 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-324.845 259.552 M
-330.845 259.552 lineto
-330.845 265.552 lineto
-324.845 265.552 lineto
-324.845 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-324.845 259.552 M
-330.845 259.552 lineto
-330.845 265.552 lineto
-324.845 265.552 lineto
-324.845 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-325.149 259.552 M
-331.149 259.552 lineto
-331.149 265.552 lineto
-325.149 265.552 lineto
-325.149 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-325.149 259.552 M
-331.149 259.552 lineto
-331.149 265.552 lineto
-325.149 265.552 lineto
-325.149 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-325.452 259.552 M
-331.452 259.552 lineto
-331.452 265.552 lineto
-325.452 265.552 lineto
-325.452 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-325.452 259.552 M
-331.452 259.552 lineto
-331.452 265.552 lineto
-325.452 265.552 lineto
-325.452 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-325.756 281.1 M
-331.756 281.1 lineto
-331.756 287.1 lineto
-325.756 287.1 lineto
-325.756 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-325.756 281.1 M
-331.756 281.1 lineto
-331.756 287.1 lineto
-325.756 287.1 lineto
-325.756 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-326.06 281.1 M
-332.06 281.1 lineto
-332.06 287.1 lineto
-326.06 287.1 lineto
-326.06 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-326.06 281.1 M
-332.06 281.1 lineto
-332.06 287.1 lineto
-326.06 287.1 lineto
-326.06 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-326.364 281.1 M
-332.364 281.1 lineto
-332.364 287.1 lineto
-326.364 287.1 lineto
-326.364 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-326.364 281.1 M
-332.364 281.1 lineto
-332.364 287.1 lineto
-326.364 287.1 lineto
-326.364 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-326.667 281.1 M
-332.667 281.1 lineto
-332.667 287.1 lineto
-326.667 287.1 lineto
-326.667 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-326.667 281.1 M
-332.667 281.1 lineto
-332.667 287.1 lineto
-326.667 287.1 lineto
-326.667 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-326.971 281.1 M
-332.971 281.1 lineto
-332.971 287.1 lineto
-326.971 287.1 lineto
-326.971 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-326.971 281.1 M
-332.971 281.1 lineto
-332.971 287.1 lineto
-326.971 287.1 lineto
-326.971 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-327.275 281.1 M
-333.275 281.1 lineto
-333.275 287.1 lineto
-327.275 287.1 lineto
-327.275 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-327.275 281.1 M
-333.275 281.1 lineto
-333.275 287.1 lineto
-327.275 287.1 lineto
-327.275 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-327.578 281.1 M
-333.578 281.1 lineto
-333.578 287.1 lineto
-327.578 287.1 lineto
-327.578 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-327.578 281.1 M
-333.578 281.1 lineto
-333.578 287.1 lineto
-327.578 287.1 lineto
-327.578 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-327.882 281.1 M
-333.882 281.1 lineto
-333.882 287.1 lineto
-327.882 287.1 lineto
-327.882 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-327.882 281.1 M
-333.882 281.1 lineto
-333.882 287.1 lineto
-327.882 287.1 lineto
-327.882 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-328.186 281.1 M
-334.186 281.1 lineto
-334.186 287.1 lineto
-328.186 287.1 lineto
-328.186 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-328.186 281.1 M
-334.186 281.1 lineto
-334.186 287.1 lineto
-328.186 287.1 lineto
-328.186 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-328.49 281.1 M
-334.49 281.1 lineto
-334.49 287.1 lineto
-328.49 287.1 lineto
-328.49 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-328.49 281.1 M
-334.49 281.1 lineto
-334.49 287.1 lineto
-328.49 287.1 lineto
-328.49 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-328.793 259.552 M
-334.793 259.552 lineto
-334.793 265.552 lineto
-328.793 265.552 lineto
-328.793 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-328.793 259.552 M
-334.793 259.552 lineto
-334.793 265.552 lineto
-328.793 265.552 lineto
-328.793 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-329.097 259.552 M
-335.097 259.552 lineto
-335.097 265.552 lineto
-329.097 265.552 lineto
-329.097 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-329.097 259.552 M
-335.097 259.552 lineto
-335.097 265.552 lineto
-329.097 265.552 lineto
-329.097 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-329.401 259.552 M
-335.401 259.552 lineto
-335.401 265.552 lineto
-329.401 265.552 lineto
-329.401 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-329.401 259.552 M
-335.401 259.552 lineto
-335.401 265.552 lineto
-329.401 265.552 lineto
-329.401 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-329.705 259.552 M
-335.705 259.552 lineto
-335.705 265.552 lineto
-329.705 265.552 lineto
-329.705 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-329.705 259.552 M
-335.705 259.552 lineto
-335.705 265.552 lineto
-329.705 265.552 lineto
-329.705 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-330.008 259.552 M
-336.008 259.552 lineto
-336.008 265.552 lineto
-330.008 265.552 lineto
-330.008 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-330.008 259.552 M
-336.008 259.552 lineto
-336.008 265.552 lineto
-330.008 265.552 lineto
-330.008 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-330.312 259.552 M
-336.312 259.552 lineto
-336.312 265.552 lineto
-330.312 265.552 lineto
-330.312 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-330.312 259.552 M
-336.312 259.552 lineto
-336.312 265.552 lineto
-330.312 265.552 lineto
-330.312 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-330.616 259.552 M
-336.616 259.552 lineto
-336.616 265.552 lineto
-330.616 265.552 lineto
-330.616 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-330.616 259.552 M
-336.616 259.552 lineto
-336.616 265.552 lineto
-330.616 265.552 lineto
-330.616 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-330.92 259.552 M
-336.92 259.552 lineto
-336.92 265.552 lineto
-330.92 265.552 lineto
-330.92 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-330.92 259.552 M
-336.92 259.552 lineto
-336.92 265.552 lineto
-330.92 265.552 lineto
-330.92 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-331.223 259.552 M
-337.223 259.552 lineto
-337.223 265.552 lineto
-331.223 265.552 lineto
-331.223 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-331.223 259.552 M
-337.223 259.552 lineto
-337.223 265.552 lineto
-331.223 265.552 lineto
-331.223 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-331.527 259.552 M
-337.527 259.552 lineto
-337.527 265.552 lineto
-331.527 265.552 lineto
-331.527 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-331.527 259.552 M
-337.527 259.552 lineto
-337.527 265.552 lineto
-331.527 265.552 lineto
-331.527 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-331.831 259.552 M
-337.831 259.552 lineto
-337.831 265.552 lineto
-331.831 265.552 lineto
-331.831 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-331.831 259.552 M
-337.831 259.552 lineto
-337.831 265.552 lineto
-331.831 265.552 lineto
-331.831 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-332.135 259.552 M
-338.135 259.552 lineto
-338.135 265.552 lineto
-332.135 265.552 lineto
-332.135 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-332.135 259.552 M
-338.135 259.552 lineto
-338.135 265.552 lineto
-332.135 265.552 lineto
-332.135 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-332.438 259.552 M
-338.438 259.552 lineto
-338.438 265.552 lineto
-332.438 265.552 lineto
-332.438 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-332.438 259.552 M
-338.438 259.552 lineto
-338.438 265.552 lineto
-332.438 265.552 lineto
-332.438 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-332.742 259.552 M
-338.742 259.552 lineto
-338.742 265.552 lineto
-332.742 265.552 lineto
-332.742 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-332.742 259.552 M
-338.742 259.552 lineto
-338.742 265.552 lineto
-332.742 265.552 lineto
-332.742 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-333.046 259.552 M
-339.046 259.552 lineto
-339.046 265.552 lineto
-333.046 265.552 lineto
-333.046 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-333.046 259.552 M
-339.046 259.552 lineto
-339.046 265.552 lineto
-333.046 265.552 lineto
-333.046 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-333.349 259.552 M
-339.349 259.552 lineto
-339.349 265.552 lineto
-333.349 265.552 lineto
-333.349 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-333.349 259.552 M
-339.349 259.552 lineto
-339.349 265.552 lineto
-333.349 265.552 lineto
-333.349 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-333.653 259.552 M
-339.653 259.552 lineto
-339.653 265.552 lineto
-333.653 265.552 lineto
-333.653 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-333.653 259.552 M
-339.653 259.552 lineto
-339.653 265.552 lineto
-333.653 265.552 lineto
-333.653 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-333.957 259.552 M
-339.957 259.552 lineto
-339.957 265.552 lineto
-333.957 265.552 lineto
-333.957 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-333.957 259.552 M
-339.957 259.552 lineto
-339.957 265.552 lineto
-333.957 265.552 lineto
-333.957 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-334.261 259.552 M
-340.261 259.552 lineto
-340.261 265.552 lineto
-334.261 265.552 lineto
-334.261 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-334.261 259.552 M
-340.261 259.552 lineto
-340.261 265.552 lineto
-334.261 265.552 lineto
-334.261 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-334.564 259.552 M
-340.564 259.552 lineto
-340.564 265.552 lineto
-334.564 265.552 lineto
-334.564 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-334.564 259.552 M
-340.564 259.552 lineto
-340.564 265.552 lineto
-334.564 265.552 lineto
-334.564 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-334.868 259.552 M
-340.868 259.552 lineto
-340.868 265.552 lineto
-334.868 265.552 lineto
-334.868 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-334.868 259.552 M
-340.868 259.552 lineto
-340.868 265.552 lineto
-334.868 265.552 lineto
-334.868 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-335.172 259.552 M
-341.172 259.552 lineto
-341.172 265.552 lineto
-335.172 265.552 lineto
-335.172 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-335.172 259.552 M
-341.172 259.552 lineto
-341.172 265.552 lineto
-335.172 265.552 lineto
-335.172 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-335.476 259.552 M
-341.476 259.552 lineto
-341.476 265.552 lineto
-335.476 265.552 lineto
-335.476 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-335.476 259.552 M
-341.476 259.552 lineto
-341.476 265.552 lineto
-335.476 265.552 lineto
-335.476 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-335.779 259.552 M
-341.779 259.552 lineto
-341.779 265.552 lineto
-335.779 265.552 lineto
-335.779 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-335.779 259.552 M
-341.779 259.552 lineto
-341.779 265.552 lineto
-335.779 265.552 lineto
-335.779 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-336.083 259.552 M
-342.083 259.552 lineto
-342.083 265.552 lineto
-336.083 265.552 lineto
-336.083 259.552 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-336.083 259.552 M
-342.083 259.552 lineto
-342.083 265.552 lineto
-336.083 265.552 lineto
-336.083 259.552 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-336.387 281.1 M
-342.387 281.1 lineto
-342.387 287.1 lineto
-336.387 287.1 lineto
-336.387 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-336.387 281.1 M
-342.387 281.1 lineto
-342.387 287.1 lineto
-336.387 287.1 lineto
-336.387 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-336.691 281.1 M
-342.691 281.1 lineto
-342.691 287.1 lineto
-336.691 287.1 lineto
-336.691 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-336.691 281.1 M
-342.691 281.1 lineto
-342.691 287.1 lineto
-336.691 287.1 lineto
-336.691 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-336.994 281.1 M
-342.994 281.1 lineto
-342.994 287.1 lineto
-336.994 287.1 lineto
-336.994 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-336.994 281.1 M
-342.994 281.1 lineto
-342.994 287.1 lineto
-336.994 287.1 lineto
-336.994 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-337.298 281.1 M
-343.298 281.1 lineto
-343.298 287.1 lineto
-337.298 287.1 lineto
-337.298 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-337.298 281.1 M
-343.298 281.1 lineto
-343.298 287.1 lineto
-337.298 287.1 lineto
-337.298 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-337.602 281.1 M
-343.602 281.1 lineto
-343.602 287.1 lineto
-337.602 287.1 lineto
-337.602 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-337.602 281.1 M
-343.602 281.1 lineto
-343.602 287.1 lineto
-337.602 287.1 lineto
-337.602 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-337.906 281.1 M
-343.906 281.1 lineto
-343.906 287.1 lineto
-337.906 287.1 lineto
-337.906 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-337.906 281.1 M
-343.906 281.1 lineto
-343.906 287.1 lineto
-337.906 287.1 lineto
-337.906 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-338.209 281.1 M
-344.209 281.1 lineto
-344.209 287.1 lineto
-338.209 287.1 lineto
-338.209 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-338.209 281.1 M
-344.209 281.1 lineto
-344.209 287.1 lineto
-338.209 287.1 lineto
-338.209 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-338.513 281.1 M
-344.513 281.1 lineto
-344.513 287.1 lineto
-338.513 287.1 lineto
-338.513 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-338.513 281.1 M
-344.513 281.1 lineto
-344.513 287.1 lineto
-338.513 287.1 lineto
-338.513 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-338.817 281.1 M
-344.817 281.1 lineto
-344.817 287.1 lineto
-338.817 287.1 lineto
-338.817 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-338.817 281.1 M
-344.817 281.1 lineto
-344.817 287.1 lineto
-338.817 287.1 lineto
-338.817 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-339.12 281.1 M
-345.12 281.1 lineto
-345.12 287.1 lineto
-339.12 287.1 lineto
-339.12 281.1 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-339.12 281.1 M
-345.12 281.1 lineto
-345.12 287.1 lineto
-339.12 287.1 lineto
-339.12 281.1 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-339.424 302.648 M
-345.424 302.648 lineto
-345.424 308.648 lineto
-339.424 308.648 lineto
-339.424 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-339.424 302.648 M
-345.424 302.648 lineto
-345.424 308.648 lineto
-339.424 308.648 lineto
-339.424 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-339.728 302.648 M
-345.728 302.648 lineto
-345.728 308.648 lineto
-339.728 308.648 lineto
-339.728 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-339.728 302.648 M
-345.728 302.648 lineto
-345.728 308.648 lineto
-339.728 308.648 lineto
-339.728 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-340.032 302.648 M
-346.032 302.648 lineto
-346.032 308.648 lineto
-340.032 308.648 lineto
-340.032 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-340.032 302.648 M
-346.032 302.648 lineto
-346.032 308.648 lineto
-340.032 308.648 lineto
-340.032 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-340.335 302.648 M
-346.335 302.648 lineto
-346.335 308.648 lineto
-340.335 308.648 lineto
-340.335 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-340.335 302.648 M
-346.335 302.648 lineto
-346.335 308.648 lineto
-340.335 308.648 lineto
-340.335 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-340.639 302.648 M
-346.639 302.648 lineto
-346.639 308.648 lineto
-340.639 308.648 lineto
-340.639 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-340.639 302.648 M
-346.639 302.648 lineto
-346.639 308.648 lineto
-340.639 308.648 lineto
-340.639 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-340.943 302.648 M
-346.943 302.648 lineto
-346.943 308.648 lineto
-340.943 308.648 lineto
-340.943 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-340.943 302.648 M
-346.943 302.648 lineto
-346.943 308.648 lineto
-340.943 308.648 lineto
-340.943 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-341.247 302.648 M
-347.247 302.648 lineto
-347.247 308.648 lineto
-341.247 308.648 lineto
-341.247 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-341.247 302.648 M
-347.247 302.648 lineto
-347.247 308.648 lineto
-341.247 308.648 lineto
-341.247 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-341.55 302.648 M
-347.55 302.648 lineto
-347.55 308.648 lineto
-341.55 308.648 lineto
-341.55 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-341.55 302.648 M
-347.55 302.648 lineto
-347.55 308.648 lineto
-341.55 308.648 lineto
-341.55 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-341.854 302.648 M
-347.854 302.648 lineto
-347.854 308.648 lineto
-341.854 308.648 lineto
-341.854 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-341.854 302.648 M
-347.854 302.648 lineto
-347.854 308.648 lineto
-341.854 308.648 lineto
-341.854 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-342.158 302.648 M
-348.158 302.648 lineto
-348.158 308.648 lineto
-342.158 308.648 lineto
-342.158 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-342.158 302.648 M
-348.158 302.648 lineto
-348.158 308.648 lineto
-342.158 308.648 lineto
-342.158 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-342.462 302.648 M
-348.462 302.648 lineto
-348.462 308.648 lineto
-342.462 308.648 lineto
-342.462 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-342.462 302.648 M
-348.462 302.648 lineto
-348.462 308.648 lineto
-342.462 308.648 lineto
-342.462 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-342.765 302.648 M
-348.765 302.648 lineto
-348.765 308.648 lineto
-342.765 308.648 lineto
-342.765 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-342.765 302.648 M
-348.765 302.648 lineto
-348.765 308.648 lineto
-342.765 308.648 lineto
-342.765 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-343.069 302.648 M
-349.069 302.648 lineto
-349.069 308.648 lineto
-343.069 308.648 lineto
-343.069 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-343.069 302.648 M
-349.069 302.648 lineto
-349.069 308.648 lineto
-343.069 308.648 lineto
-343.069 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-343.373 302.648 M
-349.373 302.648 lineto
-349.373 308.648 lineto
-343.373 308.648 lineto
-343.373 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-343.373 302.648 M
-349.373 302.648 lineto
-349.373 308.648 lineto
-343.373 308.648 lineto
-343.373 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-343.677 302.648 M
-349.677 302.648 lineto
-349.677 308.648 lineto
-343.677 308.648 lineto
-343.677 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-343.677 302.648 M
-349.677 302.648 lineto
-349.677 308.648 lineto
-343.677 308.648 lineto
-343.677 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-343.98 302.648 M
-349.98 302.648 lineto
-349.98 308.648 lineto
-343.98 308.648 lineto
-343.98 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-343.98 302.648 M
-349.98 302.648 lineto
-349.98 308.648 lineto
-343.98 308.648 lineto
-343.98 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-344.284 302.648 M
-350.284 302.648 lineto
-350.284 308.648 lineto
-344.284 308.648 lineto
-344.284 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-344.284 302.648 M
-350.284 302.648 lineto
-350.284 308.648 lineto
-344.284 308.648 lineto
-344.284 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-344.588 302.648 M
-350.588 302.648 lineto
-350.588 308.648 lineto
-344.588 308.648 lineto
-344.588 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-344.588 302.648 M
-350.588 302.648 lineto
-350.588 308.648 lineto
-344.588 308.648 lineto
-344.588 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-344.891 302.648 M
-350.891 302.648 lineto
-350.891 308.648 lineto
-344.891 308.648 lineto
-344.891 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-344.891 302.648 M
-350.891 302.648 lineto
-350.891 308.648 lineto
-344.891 308.648 lineto
-344.891 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-345.195 302.648 M
-351.195 302.648 lineto
-351.195 308.648 lineto
-345.195 308.648 lineto
-345.195 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-345.195 302.648 M
-351.195 302.648 lineto
-351.195 308.648 lineto
-345.195 308.648 lineto
-345.195 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-345.499 302.648 M
-351.499 302.648 lineto
-351.499 308.648 lineto
-345.499 308.648 lineto
-345.499 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-345.499 302.648 M
-351.499 302.648 lineto
-351.499 308.648 lineto
-345.499 308.648 lineto
-345.499 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-345.803 302.648 M
-351.803 302.648 lineto
-351.803 308.648 lineto
-345.803 308.648 lineto
-345.803 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-345.803 302.648 M
-351.803 302.648 lineto
-351.803 308.648 lineto
-345.803 308.648 lineto
-345.803 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-346.106 302.648 M
-352.106 302.648 lineto
-352.106 308.648 lineto
-346.106 308.648 lineto
-346.106 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-346.106 302.648 M
-352.106 302.648 lineto
-352.106 308.648 lineto
-346.106 308.648 lineto
-346.106 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-346.41 302.648 M
-352.41 302.648 lineto
-352.41 308.648 lineto
-346.41 308.648 lineto
-346.41 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-346.41 302.648 M
-352.41 302.648 lineto
-352.41 308.648 lineto
-346.41 308.648 lineto
-346.41 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-346.714 302.648 M
-352.714 302.648 lineto
-352.714 308.648 lineto
-346.714 308.648 lineto
-346.714 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-346.714 302.648 M
-352.714 302.648 lineto
-352.714 308.648 lineto
-346.714 308.648 lineto
-346.714 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-347.018 302.648 M
-353.018 302.648 lineto
-353.018 308.648 lineto
-347.018 308.648 lineto
-347.018 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-347.018 302.648 M
-353.018 302.648 lineto
-353.018 308.648 lineto
-347.018 308.648 lineto
-347.018 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-347.321 302.648 M
-353.321 302.648 lineto
-353.321 308.648 lineto
-347.321 308.648 lineto
-347.321 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-347.321 302.648 M
-353.321 302.648 lineto
-353.321 308.648 lineto
-347.321 308.648 lineto
-347.321 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-347.625 302.648 M
-353.625 302.648 lineto
-353.625 308.648 lineto
-347.625 308.648 lineto
-347.625 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-347.625 302.648 M
-353.625 302.648 lineto
-353.625 308.648 lineto
-347.625 308.648 lineto
-347.625 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-347.929 302.648 M
-353.929 302.648 lineto
-353.929 308.648 lineto
-347.929 308.648 lineto
-347.929 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-347.929 302.648 M
-353.929 302.648 lineto
-353.929 308.648 lineto
-347.929 308.648 lineto
-347.929 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-348.233 302.648 M
-354.233 302.648 lineto
-354.233 308.648 lineto
-348.233 308.648 lineto
-348.233 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-348.233 302.648 M
-354.233 302.648 lineto
-354.233 308.648 lineto
-348.233 308.648 lineto
-348.233 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-348.536 302.648 M
-354.536 302.648 lineto
-354.536 308.648 lineto
-348.536 308.648 lineto
-348.536 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-348.536 302.648 M
-354.536 302.648 lineto
-354.536 308.648 lineto
-348.536 308.648 lineto
-348.536 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-348.84 302.648 M
-354.84 302.648 lineto
-354.84 308.648 lineto
-348.84 308.648 lineto
-348.84 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-348.84 302.648 M
-354.84 302.648 lineto
-354.84 308.648 lineto
-348.84 308.648 lineto
-348.84 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-349.144 302.648 M
-355.144 302.648 lineto
-355.144 308.648 lineto
-349.144 308.648 lineto
-349.144 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-349.144 302.648 M
-355.144 302.648 lineto
-355.144 308.648 lineto
-349.144 308.648 lineto
-349.144 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-349.448 302.648 M
-355.448 302.648 lineto
-355.448 308.648 lineto
-349.448 308.648 lineto
-349.448 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-349.448 302.648 M
-355.448 302.648 lineto
-355.448 308.648 lineto
-349.448 308.648 lineto
-349.448 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-349.751 302.648 M
-355.751 302.648 lineto
-355.751 308.648 lineto
-349.751 308.648 lineto
-349.751 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-349.751 302.648 M
-355.751 302.648 lineto
-355.751 308.648 lineto
-349.751 308.648 lineto
-349.751 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-350.055 302.648 M
-356.055 302.648 lineto
-356.055 308.648 lineto
-350.055 308.648 lineto
-350.055 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-350.055 302.648 M
-356.055 302.648 lineto
-356.055 308.648 lineto
-350.055 308.648 lineto
-350.055 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-350.359 302.648 M
-356.359 302.648 lineto
-356.359 308.648 lineto
-350.359 308.648 lineto
-350.359 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-350.359 302.648 M
-356.359 302.648 lineto
-356.359 308.648 lineto
-350.359 308.648 lineto
-350.359 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-350.663 302.648 M
-356.663 302.648 lineto
-356.663 308.648 lineto
-350.663 308.648 lineto
-350.663 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-350.663 302.648 M
-356.663 302.648 lineto
-356.663 308.648 lineto
-350.663 308.648 lineto
-350.663 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-350.966 302.648 M
-356.966 302.648 lineto
-356.966 308.648 lineto
-350.966 308.648 lineto
-350.966 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-350.966 302.648 M
-356.966 302.648 lineto
-356.966 308.648 lineto
-350.966 308.648 lineto
-350.966 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-351.27 302.648 M
-357.27 302.648 lineto
-357.27 308.648 lineto
-351.27 308.648 lineto
-351.27 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-351.27 302.648 M
-357.27 302.648 lineto
-357.27 308.648 lineto
-351.27 308.648 lineto
-351.27 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-351.574 302.648 M
-357.574 302.648 lineto
-357.574 308.648 lineto
-351.574 308.648 lineto
-351.574 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-351.574 302.648 M
-357.574 302.648 lineto
-357.574 308.648 lineto
-351.574 308.648 lineto
-351.574 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-351.877 302.648 M
-357.877 302.648 lineto
-357.877 308.648 lineto
-351.877 308.648 lineto
-351.877 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-351.877 302.648 M
-357.877 302.648 lineto
-357.877 308.648 lineto
-351.877 308.648 lineto
-351.877 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-352.181 302.648 M
-358.181 302.648 lineto
-358.181 308.648 lineto
-352.181 308.648 lineto
-352.181 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-352.181 302.648 M
-358.181 302.648 lineto
-358.181 308.648 lineto
-352.181 308.648 lineto
-352.181 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-352.485 302.648 M
-358.485 302.648 lineto
-358.485 308.648 lineto
-352.485 308.648 lineto
-352.485 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-352.485 302.648 M
-358.485 302.648 lineto
-358.485 308.648 lineto
-352.485 308.648 lineto
-352.485 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-352.789 302.648 M
-358.789 302.648 lineto
-358.789 308.648 lineto
-352.789 308.648 lineto
-352.789 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-352.789 302.648 M
-358.789 302.648 lineto
-358.789 308.648 lineto
-352.789 308.648 lineto
-352.789 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-353.092 302.648 M
-359.092 302.648 lineto
-359.092 308.648 lineto
-353.092 308.648 lineto
-353.092 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-353.092 302.648 M
-359.092 302.648 lineto
-359.092 308.648 lineto
-353.092 308.648 lineto
-353.092 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-353.396 302.648 M
-359.396 302.648 lineto
-359.396 308.648 lineto
-353.396 308.648 lineto
-353.396 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-353.396 302.648 M
-359.396 302.648 lineto
-359.396 308.648 lineto
-353.396 308.648 lineto
-353.396 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-353.7 302.648 M
-359.7 302.648 lineto
-359.7 308.648 lineto
-353.7 308.648 lineto
-353.7 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-353.7 302.648 M
-359.7 302.648 lineto
-359.7 308.648 lineto
-353.7 308.648 lineto
-353.7 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-354.004 302.648 M
-360.004 302.648 lineto
-360.004 308.648 lineto
-354.004 308.648 lineto
-354.004 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-354.004 302.648 M
-360.004 302.648 lineto
-360.004 308.648 lineto
-354.004 308.648 lineto
-354.004 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-354.307 302.648 M
-360.307 302.648 lineto
-360.307 308.648 lineto
-354.307 308.648 lineto
-354.307 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-354.307 302.648 M
-360.307 302.648 lineto
-360.307 308.648 lineto
-354.307 308.648 lineto
-354.307 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-354.611 302.648 M
-360.611 302.648 lineto
-360.611 308.648 lineto
-354.611 308.648 lineto
-354.611 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-354.611 302.648 M
-360.611 302.648 lineto
-360.611 308.648 lineto
-354.611 308.648 lineto
-354.611 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-354.915 302.648 M
-360.915 302.648 lineto
-360.915 308.648 lineto
-354.915 308.648 lineto
-354.915 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-354.915 302.648 M
-360.915 302.648 lineto
-360.915 308.648 lineto
-354.915 308.648 lineto
-354.915 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-355.219 302.648 M
-361.219 302.648 lineto
-361.219 308.648 lineto
-355.219 308.648 lineto
-355.219 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-355.219 302.648 M
-361.219 302.648 lineto
-361.219 308.648 lineto
-355.219 308.648 lineto
-355.219 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-355.522 302.648 M
-361.522 302.648 lineto
-361.522 308.648 lineto
-355.522 308.648 lineto
-355.522 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-355.522 302.648 M
-361.522 302.648 lineto
-361.522 308.648 lineto
-355.522 308.648 lineto
-355.522 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-355.826 302.648 M
-361.826 302.648 lineto
-361.826 308.648 lineto
-355.826 308.648 lineto
-355.826 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-355.826 302.648 M
-361.826 302.648 lineto
-361.826 308.648 lineto
-355.826 308.648 lineto
-355.826 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-356.13 302.648 M
-362.13 302.648 lineto
-362.13 308.648 lineto
-356.13 308.648 lineto
-356.13 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-356.13 302.648 M
-362.13 302.648 lineto
-362.13 308.648 lineto
-356.13 308.648 lineto
-356.13 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-356.434 302.648 M
-362.434 302.648 lineto
-362.434 308.648 lineto
-356.434 308.648 lineto
-356.434 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-356.434 302.648 M
-362.434 302.648 lineto
-362.434 308.648 lineto
-356.434 308.648 lineto
-356.434 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-356.737 302.648 M
-362.737 302.648 lineto
-362.737 308.648 lineto
-356.737 308.648 lineto
-356.737 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-356.737 302.648 M
-362.737 302.648 lineto
-362.737 308.648 lineto
-356.737 308.648 lineto
-356.737 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-357.041 302.648 M
-363.041 302.648 lineto
-363.041 308.648 lineto
-357.041 308.648 lineto
-357.041 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-357.041 302.648 M
-363.041 302.648 lineto
-363.041 308.648 lineto
-357.041 308.648 lineto
-357.041 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-357.345 302.648 M
-363.345 302.648 lineto
-363.345 308.648 lineto
-357.345 308.648 lineto
-357.345 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-357.345 302.648 M
-363.345 302.648 lineto
-363.345 308.648 lineto
-357.345 308.648 lineto
-357.345 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-357.648 302.648 M
-363.648 302.648 lineto
-363.648 308.648 lineto
-357.648 308.648 lineto
-357.648 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-357.648 302.648 M
-363.648 302.648 lineto
-363.648 308.648 lineto
-357.648 308.648 lineto
-357.648 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-357.952 302.648 M
-363.952 302.648 lineto
-363.952 308.648 lineto
-357.952 308.648 lineto
-357.952 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-357.952 302.648 M
-363.952 302.648 lineto
-363.952 308.648 lineto
-357.952 308.648 lineto
-357.952 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-358.256 302.648 M
-364.256 302.648 lineto
-364.256 308.648 lineto
-358.256 308.648 lineto
-358.256 302.648 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-56 34.141 M
-56 305.648 lineto
-388 305.648 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-358.256 302.648 M
-364.256 302.648 lineto
-364.256 308.648 lineto
-358.256 308.648 lineto
-358.256 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-0.5 setlinewidth
-newpath
-56 34.141 M
-388 34.141 lineto
-388 305.648 lineto
-56 305.648 lineto
-56 34.141 lineto
-closepath
-stroke
-grestore
-%%Trailer
-%%Pages: 1
-%%EOF
diff --git a/sim/gobs/wiki/rb01-small.zsh b/sim/gobs/wiki/rb01-small.zsh
deleted file mode 100755
index 582ae73..0000000
--- a/sim/gobs/wiki/rb01-small.zsh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/zsh
-
-NAME="rb01-small"
-# SEED="seed=821"
-CLASS=gobs.sweep.x.Rebuild01
-
-SWEEPDIR=$( dirname $0 )
-
-source ${SWEEPDIR}/sweep.zsh
diff --git a/sim/gobs/wiki/rb02-small.cfg b/sim/gobs/wiki/rb02-small.cfg
deleted file mode 100644
index d5ff9bb..0000000
--- a/sim/gobs/wiki/rb02-small.cfg
+++ /dev/null
@@ -1,76 +0,0 @@
-
-# Simulator configuration
-
-# Basics:
-
-include = rb_output.cfg
-
-# Statistics:
-
-# Rebuild traffic over time analysis:
-plot.traffic.interval = 10
-
-### Parameters for GOBS Simulator run
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 16
-# Number of servers:
-nodes.min = 12
-nodes.max = 16
-# Step through nodes: See AbstractSweep.values()
-nodes.step = literal_20,30,40
-# Number of files:
-files = 6
-# Number of faults:
-faults = 2
-# Number of accesses:
-reads = 0
-writes = 0
-
-mttf = 500
-
-### Choose a PlacementScheme implementation:
-
-#impl.placement = Kademlia
-impl.placement = Nearest
-#impl.placement = VertexGroups
-
-vertexgroups.prefix = 6
-# Replica selection: See Replicated.locateSource()
-replica.source = primary
-
-### Choose a NodeScheme implementation:
-
-# impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
-
-### Choose one of the following FileFactory sections:
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PlainFiles
-# File size:
-file.size = 140
-# Strip size:
-file.strip = 4
-# File/object replicas:
-file.replicas = 3
-# Number of objects per file:
-file.width = 3
-
-# FileFactory implementation TraceFiles
-#impl.filefactory = TraceFiles
-# Trace filename:
-#filetrace = traces/test01.trace
-
-# FileFactory implementation RandomFiles
-#impl.filefactory = RandomFiles
-# Max size of big files:
-#filebigmax = 100
-# Min size of big files:
-#filebigmin = 50
-# Max size of small files:
-#filesmallmax = 20
-# Min size of small files:
-#filesmallmin = 0
diff --git a/sim/gobs/wiki/rb02-small.eps b/sim/gobs/wiki/rb02-small.eps
deleted file mode 100755
index cdf3d23..0000000
--- a/sim/gobs/wiki/rb02-small.eps
+++ /dev/null
@@ -1,7417 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: (Apache XML Graphics Commons: EPS Generator for Java2D)
-%%CreationDate: 2009-12-04T15:53:03
-%%Pages: (atend)
-%%BoundingBox: 0 0 400 400
-%%LanguageLevel: 3
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset (Apache XML Graphics Std ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2001-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (Basic set of procedures used by the XML Graphics project \(Batik and FOP\))
-/bd{bind def}bind def
-/ld{load def}bd
-/M/moveto ld
-/RM/rmoveto ld
-/t/show ld
-/A/ashow ld
-/cp/closepath ld
-/re {4 2 roll M
-1 index 0 rlineto
-0 exch rlineto
-neg 0 rlineto
-cp } bd
-/_ctm matrix def
-/_tm matrix def
-/BT { _ctm currentmatrix pop matrix _tm copy pop 0 0 moveto } bd
-/ET { _ctm setmatrix } bd
-/iTm { _ctm setmatrix _tm concat } bd
-/Tm { _tm astore pop iTm 0 0 moveto } bd
-/ux 0.0 def
-/uy 0.0 def
-/F {
- /Tp exch def
- /Tf exch def
- Tf findfont Tp scalefont setfont
- /cf Tf def /cs Tp def /cw ( ) stringwidth pop def
-} bd
-/ULS {currentpoint /uy exch def /ux exch def} bd
-/ULE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add moveto Tcx uy To add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/OLE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs add moveto Tcx uy To add cs add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/SOE {
- /Tcx currentpoint pop def
- gsave
- newpath
- cf findfont cs scalefont dup
- /FontMatrix get 0 get /Ts exch def /FontInfo get dup
- /UnderlinePosition get Ts mul /To exch def
- /UnderlineThickness get Ts mul /Tt exch def
- ux uy To add cs 10 mul 26 idiv add moveto Tcx uy To add cs 10 mul 26 idiv add lineto
- Tt setlinewidth stroke
- grestore
-} bd
-/QUADTO {
-/Y22 exch store
-/X22 exch store
-/Y21 exch store
-/X21 exch store
-currentpoint
-/Y21 load 2 mul add 3 div exch
-/X21 load 2 mul add 3 div exch
-/X21 load 2 mul /X22 load add 3 div
-/Y21 load 2 mul /Y22 load add 3 div
-/X22 load /Y22 load curveto
-} bd
-/SSPD {
-dup length /d exch dict def
-{
-/v exch def
-/k exch def
-currentpagedevice k known {
-/cpdv currentpagedevice k get def
-v cpdv ne {
-/upd false def
-/nullv v type /nulltype eq def
-/nullcpdv cpdv type /nulltype eq def
-nullv nullcpdv or
-{
-/upd true def
-} {
-/sametype v type cpdv type eq def
-sametype {
-v type /arraytype eq {
-/vlen v length def
-/cpdvlen cpdv length def
-vlen cpdvlen eq {
-0 1 vlen 1 sub {
-/i exch def
-/obj v i get def
-/cpdobj cpdv i get def
-obj cpdobj ne {
-/upd true def
-exit
-} if
-} for
-} {
-/upd true def
-} ifelse
-} {
-v type /dicttype eq {
-v {
-/dv exch def
-/dk exch def
-/cpddv cpdv dk get def
-dv cpddv ne {
-/upd true def
-exit
-} if
-} forall
-} {
-/upd true def
-} ifelse
-} ifelse
-} if
-} ifelse
-upd true eq {
-d k v put
-} if
-} if
-} if
-} forall
-d length 0 gt {
-d setpagedevice
-} if
-} bd
-%%EndResource
-%%BeginResource: procset (Apache XML Graphics EPS ProcSet) 1.0 0
-%%Version: 1.0 0
-%%Copyright: (Copyright 2002-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0)
-%%Title: (EPS procedures used by the Apache XML Graphics project \(Batik and FOP\))
-/BeginEPSF { %def
-/b4_Inc_state save def % Save state for cleanup
-/dict_count countdictstack def % Count objects on dict stack
-/op_count count 1 sub def % Count objects on operand stack
-userdict begin % Push userdict on dict stack
-/showpage { } def % Redefine showpage, { } = null proc
-0 setgray 0 setlinecap % Prepare graphics state
-1 setlinewidth 0 setlinejoin
-10 setmiterlimit [ ] 0 setdash newpath
-/languagelevel where % If level not equal to 1 then
-{pop languagelevel % set strokeadjust and
-1 ne % overprint to their defaults.
-{false setstrokeadjust false setoverprint
-} if
-} if
-} bd
-/EndEPSF { %def
-count op_count sub {pop} repeat % Clean up stacks
-countdictstack dict_count sub {end} repeat
-b4_Inc_state restore
-} bd
-%%EndResource
-%%EndProlog
-%%Page: 1 1
-%%PageBoundingBox: 0 0 400 400
-%%BeginPageSetup
-[1 0 0 -1 0 400] concat
-%%EndPageSetup
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-newpath
-141.394 21.01 M
-136.94 21.01 lineto
-132.894 15.682 lineto
-131.581 15.682 lineto
-131.581 21.01 lineto
-127.94 21.01 lineto
-127.94 6.463 lineto
-133.8 6.463 lineto
-135.003 6.463 135.901 6.619 QUADTO
-136.8 6.775 137.565 7.244 QUADTO
-138.347 7.744 138.808 8.51 QUADTO
-139.269 9.275 139.269 10.463 QUADTO
-139.269 12.135 138.511 13.174 QUADTO
-137.753 14.213 136.503 14.822 QUADTO
-141.394 21.01 lineto
-closepath
-135.519 10.916 M
-135.519 10.369 135.308 9.979 QUADTO
-135.097 9.588 134.612 9.369 QUADTO
-134.269 9.229 133.847 9.189 QUADTO
-133.425 9.15 132.8 9.15 QUADTO
-131.581 9.15 lineto
-131.581 13.057 lineto
-132.628 13.057 lineto
-133.378 13.057 133.917 12.963 QUADTO
-134.456 12.869 134.815 12.572 QUADTO
-135.175 12.291 135.347 11.916 QUADTO
-135.519 11.541 135.519 10.916 QUADTO
-closepath
-147.884 21.307 M
-144.774 21.307 143.126 19.822 QUADTO
-141.478 18.338 141.478 15.588 QUADTO
-141.478 12.9 143.017 11.299 QUADTO
-144.556 9.697 147.337 9.697 QUADTO
-149.853 9.697 151.118 11.057 QUADTO
-152.384 12.416 152.384 14.947 QUADTO
-152.384 16.182 lineto
-144.899 16.182 lineto
-144.946 16.932 145.22 17.447 QUADTO
-145.493 17.963 145.946 18.26 QUADTO
-146.384 18.572 146.97 18.705 QUADTO
-147.556 18.838 148.243 18.838 QUADTO
-148.837 18.838 149.415 18.705 QUADTO
-149.993 18.572 150.478 18.354 QUADTO
-150.899 18.166 151.251 17.955 QUADTO
-151.603 17.744 151.837 17.572 QUADTO
-152.196 17.572 lineto
-152.196 20.4 lineto
-151.774 20.557 151.431 20.697 QUADTO
-151.087 20.838 150.478 20.994 QUADTO
-149.915 21.135 149.329 21.221 QUADTO
-148.743 21.307 147.884 21.307 QUADTO
-closepath
-149.024 14.119 M
-148.993 13.025 148.517 12.463 QUADTO
-148.04 11.9 147.071 11.9 QUADTO
-146.071 11.9 145.509 12.494 QUADTO
-144.946 13.088 144.884 14.119 QUADTO
-149.024 14.119 lineto
-closepath
-161.399 15.447 M
-161.399 13.807 160.899 13.104 QUADTO
-160.399 12.4 159.368 12.4 QUADTO
-158.915 12.4 158.462 12.541 QUADTO
-158.009 12.682 157.571 12.979 QUADTO
-157.571 18.494 lineto
-157.899 18.619 158.251 18.674 QUADTO
-158.603 18.729 158.946 18.729 QUADTO
-160.181 18.729 160.79 17.908 QUADTO
-161.399 17.088 161.399 15.447 QUADTO
-closepath
-164.899 15.369 M
-164.899 17.994 163.571 19.611 QUADTO
-162.243 21.229 160.274 21.229 QUADTO
-159.462 21.229 158.853 21.041 QUADTO
-158.243 20.854 157.571 20.463 QUADTO
-157.415 21.01 lineto
-154.149 21.01 lineto
-154.149 5.807 lineto
-157.571 5.807 lineto
-157.571 11.182 lineto
-158.321 10.541 159.103 10.143 QUADTO
-159.884 9.744 160.899 9.744 QUADTO
-162.821 9.744 163.86 11.236 QUADTO
-164.899 12.729 164.899 15.369 QUADTO
-closepath
-176.974 21.01 M
-173.552 21.01 lineto
-173.552 19.791 lineto
-172.661 20.541 171.919 20.924 QUADTO
-171.177 21.307 170.146 21.307 QUADTO
-168.521 21.307 167.606 20.275 QUADTO
-166.692 19.244 166.692 17.182 QUADTO
-166.692 10.041 lineto
-170.13 10.041 lineto
-170.13 15.479 lineto
-170.13 16.338 170.177 16.869 QUADTO
-170.224 17.4 170.38 17.775 QUADTO
-170.536 18.119 170.864 18.291 QUADTO
-171.192 18.463 171.786 18.463 QUADTO
-172.146 18.463 172.638 18.291 QUADTO
-173.13 18.119 173.552 17.822 QUADTO
-173.552 10.041 lineto
-176.974 10.041 lineto
-176.974 21.01 lineto
-closepath
-183.011 21.01 M
-179.589 21.01 lineto
-179.589 10.041 lineto
-183.011 10.041 lineto
-183.011 21.01 lineto
-closepath
-183.104 8.479 M
-179.495 8.479 lineto
-179.495 5.807 lineto
-183.104 5.807 lineto
-183.104 8.479 lineto
-closepath
-189.046 21.01 M
-185.624 21.01 lineto
-185.624 5.807 lineto
-189.046 5.807 lineto
-189.046 21.01 lineto
-closepath
-201.628 21.01 M
-198.206 21.01 lineto
-198.206 19.869 lineto
-197.878 20.135 197.456 20.447 QUADTO
-197.034 20.76 196.706 20.916 QUADTO
-196.3 21.119 195.894 21.213 QUADTO
-195.487 21.307 194.94 21.307 QUADTO
-193.065 21.307 191.972 19.76 QUADTO
-190.878 18.213 190.878 15.604 QUADTO
-190.878 14.166 191.245 13.111 QUADTO
-191.612 12.057 192.269 11.275 QUADTO
-192.862 10.572 193.714 10.158 QUADTO
-194.565 9.744 195.519 9.744 QUADTO
-196.378 9.744 196.925 9.924 QUADTO
-197.472 10.104 198.206 10.479 QUADTO
-198.206 5.807 lineto
-201.628 5.807 lineto
-201.628 21.01 lineto
-closepath
-198.206 17.979 M
-198.206 12.604 lineto
-197.956 12.479 197.542 12.393 QUADTO
-197.128 12.307 196.847 12.307 QUADTO
-195.612 12.307 194.995 13.166 QUADTO
-194.378 14.025 194.378 15.572 QUADTO
-194.378 17.197 194.87 17.916 QUADTO
-195.362 18.635 196.456 18.635 QUADTO
-196.909 18.635 197.37 18.463 QUADTO
-197.831 18.291 198.206 17.979 QUADTO
-closepath
-213.091 21.01 M
-213.091 9.244 lineto
-208.794 9.244 lineto
-208.794 6.463 lineto
-221.044 6.463 lineto
-221.044 9.244 lineto
-216.747 9.244 lineto
-216.747 21.01 lineto
-213.091 21.01 lineto
-closepath
-229.712 13.275 M
-229.431 13.275 lineto
-229.228 13.213 228.86 13.174 QUADTO
-228.493 13.135 228.04 13.135 QUADTO
-227.509 13.135 226.915 13.291 QUADTO
-226.321 13.447 225.774 13.666 QUADTO
-225.774 21.01 lineto
-222.353 21.01 lineto
-222.353 10.041 lineto
-225.774 10.041 lineto
-225.774 11.619 lineto
-226.009 11.4 226.423 11.072 QUADTO
-226.837 10.744 227.181 10.557 QUADTO
-227.54 10.322 228.032 10.166 QUADTO
-228.524 10.01 228.978 10.01 QUADTO
-229.134 10.01 229.337 10.018 QUADTO
-229.54 10.025 229.712 10.041 QUADTO
-229.712 13.275 lineto
-closepath
-237.071 18.15 M
-237.071 15.869 lineto
-236.196 15.947 235.657 16.01 QUADTO
-235.118 16.072 234.603 16.26 QUADTO
-234.149 16.416 233.907 16.736 QUADTO
-233.665 17.057 233.665 17.588 QUADTO
-233.665 18.354 234.079 18.643 QUADTO
-234.493 18.932 235.306 18.932 QUADTO
-235.743 18.932 236.212 18.729 QUADTO
-236.681 18.525 237.071 18.15 QUADTO
-closepath
-237.071 19.854 M
-236.712 20.135 236.438 20.369 QUADTO
-236.165 20.604 235.696 20.838 QUADTO
-235.228 21.072 234.798 21.189 QUADTO
-234.368 21.307 233.587 21.307 QUADTO
-232.118 21.307 231.157 20.33 QUADTO
-230.196 19.354 230.196 17.869 QUADTO
-230.196 16.65 230.688 15.893 QUADTO
-231.181 15.135 232.103 14.697 QUADTO
-233.024 14.244 234.313 14.072 QUADTO
-235.603 13.9 237.087 13.807 QUADTO
-237.087 13.744 lineto
-237.087 12.838 236.415 12.486 QUADTO
-235.743 12.135 234.415 12.135 QUADTO
-233.806 12.135 232.993 12.361 QUADTO
-232.181 12.588 231.415 12.916 QUADTO
-231.118 12.916 lineto
-231.118 10.275 lineto
-231.634 10.135 232.767 9.932 QUADTO
-233.899 9.729 235.04 9.729 QUADTO
-237.884 9.729 239.173 10.674 QUADTO
-240.462 11.619 240.462 13.541 QUADTO
-240.462 21.01 lineto
-237.071 21.01 lineto
-237.071 19.854 lineto
-closepath
-250.013 8.385 M
-249.747 8.385 lineto
-249.544 8.338 249.13 8.244 QUADTO
-248.716 8.15 248.341 8.15 QUADTO
-247.31 8.15 246.935 8.533 QUADTO
-246.56 8.916 246.56 9.947 QUADTO
-246.56 10.041 lineto
-249.278 10.041 lineto
-249.278 12.432 lineto
-246.669 12.432 lineto
-246.669 21.01 lineto
-243.263 21.01 lineto
-243.263 12.432 lineto
-241.888 12.432 lineto
-241.888 10.041 lineto
-243.263 10.041 lineto
-243.263 9.744 lineto
-243.263 7.729 244.317 6.721 QUADTO
-245.372 5.713 247.513 5.713 QUADTO
-248.247 5.713 248.896 5.768 QUADTO
-249.544 5.822 250.013 5.916 QUADTO
-250.013 8.385 lineto
-closepath
-257.659 8.385 M
-257.394 8.385 lineto
-257.19 8.338 256.776 8.244 QUADTO
-256.362 8.15 255.987 8.15 QUADTO
-254.956 8.15 254.581 8.533 QUADTO
-254.206 8.916 254.206 9.947 QUADTO
-254.206 10.041 lineto
-256.925 10.041 lineto
-256.925 12.432 lineto
-254.315 12.432 lineto
-254.315 21.01 lineto
-250.909 21.01 lineto
-250.909 12.432 lineto
-249.534 12.432 lineto
-249.534 10.041 lineto
-250.909 10.041 lineto
-250.909 9.744 lineto
-250.909 7.729 251.964 6.721 QUADTO
-253.019 5.713 255.159 5.713 QUADTO
-255.894 5.713 256.542 5.768 QUADTO
-257.19 5.822 257.659 5.916 QUADTO
-257.659 8.385 lineto
-closepath
-261.712 21.01 M
-258.29 21.01 lineto
-258.29 10.041 lineto
-261.712 10.041 lineto
-261.712 21.01 lineto
-closepath
-261.806 8.479 M
-258.196 8.479 lineto
-258.196 5.807 lineto
-261.806 5.807 lineto
-261.806 8.479 lineto
-closepath
-269.7 21.307 M
-268.341 21.307 267.216 20.963 QUADTO
-266.091 20.619 265.263 19.9 QUADTO
-264.435 19.197 263.981 18.119 QUADTO
-263.528 17.041 263.528 15.572 QUADTO
-263.528 13.994 264.021 12.893 QUADTO
-264.513 11.791 265.372 11.072 QUADTO
-266.185 10.4 267.294 10.072 QUADTO
-268.403 9.744 269.606 9.744 QUADTO
-270.513 9.744 271.419 9.955 QUADTO
-272.325 10.166 273.247 10.619 QUADTO
-273.247 13.541 lineto
-272.81 13.541 lineto
-272.606 13.354 272.31 13.119 QUADTO
-272.013 12.885 271.653 12.682 QUADTO
-271.278 12.479 270.81 12.338 QUADTO
-270.341 12.197 269.778 12.197 QUADTO
-268.466 12.197 267.747 13.111 QUADTO
-267.028 14.025 267.028 15.572 QUADTO
-267.028 17.213 267.794 18.025 QUADTO
-268.56 18.838 269.825 18.838 QUADTO
-270.481 18.838 270.966 18.689 QUADTO
-271.45 18.541 271.81 18.338 QUADTO
-272.138 18.135 272.388 17.916 QUADTO
-272.638 17.697 272.81 17.525 QUADTO
-273.247 17.525 lineto
-273.247 20.447 lineto
-272.95 20.572 272.567 20.744 QUADTO
-272.185 20.916 271.778 21.025 QUADTO
-271.278 21.15 270.849 21.229 QUADTO
-270.419 21.307 269.7 21.307 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-71.356 376.516 M
-328.644 376.516 lineto
-328.644 399 lineto
-71.356 399 lineto
-71.356 376.516 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-71.856 377.016 M
-328.144 377.016 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-71.856 398.5 M
-328.144 398.5 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-71.856 398.5 M
-71.856 377.016 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-newpath
-328.144 398.5 M
-328.144 377.016 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-75.356 387.758 M
-89.356 387.758 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-79.356 384.758 M
-85.356 384.758 lineto
-85.356 390.758 lineto
-79.356 390.758 lineto
-79.356 384.758 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-79.356 384.758 M
-85.356 384.758 lineto
-85.356 390.758 lineto
-79.356 390.758 lineto
-79.356 384.758 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-99.747 386.428 M
-99.747 386.99 99.544 387.498 QUADTO
-99.341 388.006 98.981 388.365 QUADTO
-98.544 388.818 97.935 389.045 QUADTO
-97.325 389.271 96.388 389.271 QUADTO
-95.403 389.271 lineto
-95.403 392.521 lineto
-94.247 392.521 lineto
-94.247 383.803 lineto
-96.435 383.803 lineto
-97.2 383.803 97.747 383.928 QUADTO
-98.294 384.053 98.716 384.334 QUADTO
-99.2 384.678 99.474 385.186 QUADTO
-99.747 385.693 99.747 386.428 QUADTO
-closepath
-98.544 386.459 M
-98.544 386.006 98.388 385.67 QUADTO
-98.231 385.334 97.919 385.131 QUADTO
-97.638 384.943 97.271 384.865 QUADTO
-96.903 384.787 96.356 384.787 QUADTO
-95.403 384.787 lineto
-95.403 388.271 lineto
-96.2 388.271 lineto
-96.903 388.271 97.333 388.162 QUADTO
-97.763 388.053 98.044 387.756 QUADTO
-98.31 387.49 98.427 387.178 QUADTO
-98.544 386.865 98.544 386.459 QUADTO
-closepath
-99.909 392.521 M
-102.862 383.803 lineto
-104.284 383.803 lineto
-107.222 392.521 lineto
-106.003 392.521 lineto
-105.206 390.084 lineto
-101.878 390.084 lineto
-101.081 392.521 lineto
-99.909 392.521 lineto
-closepath
-104.894 389.1 M
-103.534 384.975 lineto
-102.206 389.1 lineto
-104.894 389.1 lineto
-closepath
-110.479 392.678 M
-109.542 392.678 108.87 392.482 QUADTO
-108.198 392.287 107.62 392.006 QUADTO
-107.62 390.553 lineto
-107.698 390.553 lineto
-108.276 391.084 109.003 391.381 QUADTO
-109.729 391.678 110.401 391.678 QUADTO
-111.37 391.678 111.862 391.279 QUADTO
-112.354 390.881 112.354 390.225 QUADTO
-112.354 389.693 112.097 389.365 QUADTO
-111.839 389.037 111.276 388.881 QUADTO
-110.87 388.771 110.534 388.693 QUADTO
-110.198 388.615 109.698 388.49 QUADTO
-109.245 388.365 108.886 388.186 QUADTO
-108.526 388.006 108.245 387.709 QUADTO
-107.979 387.428 107.831 387.037 QUADTO
-107.683 386.646 107.683 386.131 QUADTO
-107.683 385.068 108.511 384.35 QUADTO
-109.339 383.631 110.62 383.631 QUADTO
-111.354 383.631 112.003 383.779 QUADTO
-112.651 383.928 113.214 384.193 QUADTO
-113.214 385.584 lineto
-113.12 385.584 lineto
-112.714 385.209 112.065 384.928 QUADTO
-111.417 384.646 110.698 384.646 QUADTO
-109.886 384.646 109.386 385.021 QUADTO
-108.886 385.396 108.886 386.006 QUADTO
-108.886 386.568 109.183 386.896 QUADTO
-109.479 387.225 110.026 387.381 QUADTO
-110.401 387.475 110.933 387.6 QUADTO
-111.464 387.725 111.823 387.834 QUADTO
-112.729 388.115 113.144 388.67 QUADTO
-113.558 389.225 113.558 390.037 QUADTO
-113.558 390.553 113.347 391.045 QUADTO
-113.136 391.537 112.761 391.881 QUADTO
-112.339 392.271 111.808 392.475 QUADTO
-111.276 392.678 110.479 392.678 QUADTO
-closepath
-116.774 392.521 M
-116.774 384.834 lineto
-113.853 384.834 lineto
-113.853 383.803 lineto
-120.868 383.803 lineto
-120.868 384.834 lineto
-117.931 384.834 lineto
-117.931 392.521 lineto
-116.774 392.521 lineto
-closepath
-131.735 392.521 M
-130.438 392.521 lineto
-126.579 384.99 lineto
-126.579 392.521 lineto
-125.501 392.521 lineto
-125.501 383.803 lineto
-127.142 383.803 lineto
-130.657 390.709 lineto
-130.657 383.803 lineto
-131.735 383.803 lineto
-131.735 392.521 lineto
-closepath
-140.229 387.943 M
-133.745 387.943 lineto
-133.745 387.006 lineto
-140.229 387.006 lineto
-140.229 387.943 lineto
-closepath
-140.229 390.396 M
-133.745 390.396 lineto
-133.745 389.459 lineto
-140.229 389.459 lineto
-140.229 390.396 lineto
-closepath
-147.382 392.521 M
-141.991 392.521 lineto
-141.991 391.303 lineto
-142.569 390.74 143.085 390.24 QUADTO
-143.601 389.74 144.101 389.193 QUADTO
-145.085 388.1 145.452 387.436 QUADTO
-145.819 386.771 145.819 386.068 QUADTO
-145.819 385.709 145.702 385.436 QUADTO
-145.585 385.162 145.382 384.975 QUADTO
-145.179 384.803 144.913 384.717 QUADTO
-144.647 384.631 144.319 384.631 QUADTO
-144.007 384.631 143.687 384.709 QUADTO
-143.366 384.787 143.085 384.896 QUADTO
-142.835 385.006 142.608 385.146 QUADTO
-142.382 385.287 142.241 385.381 QUADTO
-142.179 385.381 lineto
-142.179 384.146 lineto
-142.538 383.959 143.187 383.787 QUADTO
-143.835 383.615 144.413 383.615 QUADTO
-145.632 383.615 146.319 384.264 QUADTO
-147.007 384.912 147.007 386.021 QUADTO
-147.007 386.521 146.89 386.959 QUADTO
-146.772 387.396 146.554 387.756 QUADTO
-146.351 388.146 146.046 388.521 QUADTO
-145.741 388.896 145.397 389.256 QUADTO
-144.851 389.85 144.171 390.498 QUADTO
-143.491 391.146 143.085 391.521 QUADTO
-147.382 391.521 lineto
-147.382 392.521 lineto
-closepath
-153.964 388.162 M
-153.964 390.506 153.284 391.607 QUADTO
-152.604 392.709 151.183 392.709 QUADTO
-149.729 392.709 149.058 391.584 QUADTO
-148.386 390.459 148.386 388.162 QUADTO
-148.386 385.803 149.073 384.709 QUADTO
-149.761 383.615 151.183 383.615 QUADTO
-152.62 383.615 153.292 384.748 QUADTO
-153.964 385.881 153.964 388.162 QUADTO
-closepath
-152.464 390.818 M
-152.636 390.381 152.706 389.717 QUADTO
-152.776 389.053 152.776 388.162 QUADTO
-152.776 387.256 152.706 386.592 QUADTO
-152.636 385.928 152.464 385.49 QUADTO
-152.292 385.053 151.979 384.818 QUADTO
-151.667 384.584 151.183 384.584 QUADTO
-150.698 384.584 150.378 384.818 QUADTO
-150.058 385.053 149.886 385.506 QUADTO
-149.714 385.959 149.644 386.639 QUADTO
-149.573 387.318 149.573 388.162 QUADTO
-149.573 389.084 149.628 389.701 QUADTO
-149.683 390.318 149.87 390.803 QUADTO
-150.042 391.256 150.354 391.498 QUADTO
-150.667 391.74 151.183 391.74 QUADTO
-151.667 391.74 151.979 391.506 QUADTO
-152.292 391.271 152.464 390.818 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-160.452 387.758 M
-174.452 387.758 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-170.452 387.758 M
-170.452 389.415 169.109 390.758 167.452 390.758 curveto
-165.795 390.758 164.452 389.415 164.452 387.758 curveto
-164.452 386.101 165.795 384.758 167.452 384.758 curveto
-169.109 384.758 170.452 386.101 170.452 387.758 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-170.452 387.758 M
-170.452 389.415 169.109 390.758 167.452 390.758 curveto
-165.795 390.758 164.452 389.415 164.452 387.758 curveto
-164.452 386.101 165.795 384.758 167.452 384.758 curveto
-169.109 384.758 170.452 386.101 170.452 387.758 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-184.843 386.428 M
-184.843 386.99 184.64 387.498 QUADTO
-184.437 388.006 184.077 388.365 QUADTO
-183.64 388.818 183.03 389.045 QUADTO
-182.421 389.271 181.483 389.271 QUADTO
-180.499 389.271 lineto
-180.499 392.521 lineto
-179.343 392.521 lineto
-179.343 383.803 lineto
-181.53 383.803 lineto
-182.296 383.803 182.843 383.928 QUADTO
-183.39 384.053 183.812 384.334 QUADTO
-184.296 384.678 184.569 385.186 QUADTO
-184.843 385.693 184.843 386.428 QUADTO
-closepath
-183.64 386.459 M
-183.64 386.006 183.483 385.67 QUADTO
-183.327 385.334 183.015 385.131 QUADTO
-182.733 384.943 182.366 384.865 QUADTO
-181.999 384.787 181.452 384.787 QUADTO
-180.499 384.787 lineto
-180.499 388.271 lineto
-181.296 388.271 lineto
-181.999 388.271 182.429 388.162 QUADTO
-182.858 388.053 183.14 387.756 QUADTO
-183.405 387.49 183.522 387.178 QUADTO
-183.64 386.865 183.64 386.459 QUADTO
-closepath
-185.005 392.521 M
-187.958 383.803 lineto
-189.38 383.803 lineto
-192.317 392.521 lineto
-191.099 392.521 lineto
-190.302 390.084 lineto
-186.974 390.084 lineto
-186.177 392.521 lineto
-185.005 392.521 lineto
-closepath
-189.989 389.1 M
-188.63 384.975 lineto
-187.302 389.1 lineto
-189.989 389.1 lineto
-closepath
-195.575 392.678 M
-194.638 392.678 193.966 392.482 QUADTO
-193.294 392.287 192.716 392.006 QUADTO
-192.716 390.553 lineto
-192.794 390.553 lineto
-193.372 391.084 194.099 391.381 QUADTO
-194.825 391.678 195.497 391.678 QUADTO
-196.466 391.678 196.958 391.279 QUADTO
-197.45 390.881 197.45 390.225 QUADTO
-197.45 389.693 197.192 389.365 QUADTO
-196.935 389.037 196.372 388.881 QUADTO
-195.966 388.771 195.63 388.693 QUADTO
-195.294 388.615 194.794 388.49 QUADTO
-194.341 388.365 193.981 388.186 QUADTO
-193.622 388.006 193.341 387.709 QUADTO
-193.075 387.428 192.927 387.037 QUADTO
-192.778 386.646 192.778 386.131 QUADTO
-192.778 385.068 193.606 384.35 QUADTO
-194.435 383.631 195.716 383.631 QUADTO
-196.45 383.631 197.099 383.779 QUADTO
-197.747 383.928 198.31 384.193 QUADTO
-198.31 385.584 lineto
-198.216 385.584 lineto
-197.81 385.209 197.161 384.928 QUADTO
-196.513 384.646 195.794 384.646 QUADTO
-194.981 384.646 194.481 385.021 QUADTO
-193.981 385.396 193.981 386.006 QUADTO
-193.981 386.568 194.278 386.896 QUADTO
-194.575 387.225 195.122 387.381 QUADTO
-195.497 387.475 196.028 387.6 QUADTO
-196.56 387.725 196.919 387.834 QUADTO
-197.825 388.115 198.239 388.67 QUADTO
-198.653 389.225 198.653 390.037 QUADTO
-198.653 390.553 198.442 391.045 QUADTO
-198.231 391.537 197.856 391.881 QUADTO
-197.435 392.271 196.903 392.475 QUADTO
-196.372 392.678 195.575 392.678 QUADTO
-closepath
-201.87 392.521 M
-201.87 384.834 lineto
-198.948 384.834 lineto
-198.948 383.803 lineto
-205.964 383.803 lineto
-205.964 384.834 lineto
-203.026 384.834 lineto
-203.026 392.521 lineto
-201.87 392.521 lineto
-closepath
-216.831 392.521 M
-215.534 392.521 lineto
-211.675 384.99 lineto
-211.675 392.521 lineto
-210.597 392.521 lineto
-210.597 383.803 lineto
-212.237 383.803 lineto
-215.753 390.709 lineto
-215.753 383.803 lineto
-216.831 383.803 lineto
-216.831 392.521 lineto
-closepath
-225.325 387.943 M
-218.841 387.943 lineto
-218.841 387.006 lineto
-225.325 387.006 lineto
-225.325 387.943 lineto
-closepath
-225.325 390.396 M
-218.841 390.396 lineto
-218.841 389.459 lineto
-225.325 389.459 lineto
-225.325 390.396 lineto
-closepath
-229.446 384.631 M
-229.118 384.631 228.806 384.709 QUADTO
-228.493 384.787 228.181 384.896 QUADTO
-227.899 385.021 227.696 385.146 QUADTO
-227.493 385.271 227.321 385.396 QUADTO
-227.259 385.396 lineto
-227.259 384.146 lineto
-227.634 383.943 228.29 383.779 QUADTO
-228.946 383.615 229.54 383.615 QUADTO
-230.134 383.615 230.571 383.732 QUADTO
-231.009 383.85 231.368 384.1 QUADTO
-231.759 384.381 231.954 384.779 QUADTO
-232.149 385.178 232.149 385.725 QUADTO
-232.149 386.443 231.673 386.982 QUADTO
-231.196 387.521 230.54 387.678 QUADTO
-230.54 387.756 lineto
-230.806 387.803 231.126 387.936 QUADTO
-231.446 388.068 231.712 388.318 QUADTO
-231.978 388.568 232.149 388.967 QUADTO
-232.321 389.365 232.321 389.928 QUADTO
-232.321 390.521 232.118 391.014 QUADTO
-231.915 391.506 231.54 391.896 QUADTO
-231.165 392.287 230.626 392.498 QUADTO
-230.087 392.709 229.399 392.709 QUADTO
-228.743 392.709 228.103 392.545 QUADTO
-227.462 392.381 227.009 392.162 QUADTO
-227.009 390.928 lineto
-227.103 390.928 lineto
-227.462 391.193 228.087 391.443 QUADTO
-228.712 391.693 229.337 391.693 QUADTO
-229.681 391.693 230.048 391.576 QUADTO
-230.415 391.459 230.649 391.209 QUADTO
-230.884 390.943 231.009 390.631 QUADTO
-231.134 390.318 231.134 389.85 QUADTO
-231.134 389.381 230.993 389.076 QUADTO
-230.853 388.771 230.603 388.584 QUADTO
-230.368 388.412 230.024 388.342 QUADTO
-229.681 388.271 229.29 388.271 QUADTO
-228.79 388.271 lineto
-228.79 387.303 lineto
-229.181 387.303 lineto
-229.978 387.303 230.47 386.928 QUADTO
-230.962 386.553 230.962 385.834 QUADTO
-230.962 385.506 230.837 385.271 QUADTO
-230.712 385.037 230.509 384.896 QUADTO
-230.29 384.74 230.017 384.686 QUADTO
-229.743 384.631 229.446 384.631 QUADTO
-closepath
-239.06 388.162 M
-239.06 390.506 238.38 391.607 QUADTO
-237.7 392.709 236.278 392.709 QUADTO
-234.825 392.709 234.153 391.584 QUADTO
-233.481 390.459 233.481 388.162 QUADTO
-233.481 385.803 234.169 384.709 QUADTO
-234.856 383.615 236.278 383.615 QUADTO
-237.716 383.615 238.388 384.748 QUADTO
-239.06 385.881 239.06 388.162 QUADTO
-closepath
-237.56 390.818 M
-237.731 390.381 237.802 389.717 QUADTO
-237.872 389.053 237.872 388.162 QUADTO
-237.872 387.256 237.802 386.592 QUADTO
-237.731 385.928 237.56 385.49 QUADTO
-237.388 385.053 237.075 384.818 QUADTO
-236.763 384.584 236.278 384.584 QUADTO
-235.794 384.584 235.474 384.818 QUADTO
-235.153 385.053 234.981 385.506 QUADTO
-234.81 385.959 234.739 386.639 QUADTO
-234.669 387.318 234.669 388.162 QUADTO
-234.669 389.084 234.724 389.701 QUADTO
-234.778 390.318 234.966 390.803 QUADTO
-235.138 391.256 235.45 391.498 QUADTO
-235.763 391.74 236.278 391.74 QUADTO
-236.763 391.74 237.075 391.506 QUADTO
-237.388 391.271 237.56 390.818 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-245.548 387.758 M
-259.548 387.758 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-252.548 384.758 M
-255.548 390.758 lineto
-249.548 390.758 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-252.548 384.758 M
-255.548 390.758 lineto
-249.548 390.758 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-269.938 386.428 M
-269.938 386.99 269.735 387.498 QUADTO
-269.532 388.006 269.173 388.365 QUADTO
-268.735 388.818 268.126 389.045 QUADTO
-267.517 389.271 266.579 389.271 QUADTO
-265.595 389.271 lineto
-265.595 392.521 lineto
-264.438 392.521 lineto
-264.438 383.803 lineto
-266.626 383.803 lineto
-267.392 383.803 267.938 383.928 QUADTO
-268.485 384.053 268.907 384.334 QUADTO
-269.392 384.678 269.665 385.186 QUADTO
-269.938 385.693 269.938 386.428 QUADTO
-closepath
-268.735 386.459 M
-268.735 386.006 268.579 385.67 QUADTO
-268.423 385.334 268.11 385.131 QUADTO
-267.829 384.943 267.462 384.865 QUADTO
-267.095 384.787 266.548 384.787 QUADTO
-265.595 384.787 lineto
-265.595 388.271 lineto
-266.392 388.271 lineto
-267.095 388.271 267.524 388.162 QUADTO
-267.954 388.053 268.235 387.756 QUADTO
-268.501 387.49 268.618 387.178 QUADTO
-268.735 386.865 268.735 386.459 QUADTO
-closepath
-270.101 392.521 M
-273.054 383.803 lineto
-274.476 383.803 lineto
-277.413 392.521 lineto
-276.194 392.521 lineto
-275.397 390.084 lineto
-272.069 390.084 lineto
-271.272 392.521 lineto
-270.101 392.521 lineto
-closepath
-275.085 389.1 M
-273.726 384.975 lineto
-272.397 389.1 lineto
-275.085 389.1 lineto
-closepath
-280.671 392.678 M
-279.733 392.678 279.062 392.482 QUADTO
-278.39 392.287 277.812 392.006 QUADTO
-277.812 390.553 lineto
-277.89 390.553 lineto
-278.468 391.084 279.194 391.381 QUADTO
-279.921 391.678 280.593 391.678 QUADTO
-281.562 391.678 282.054 391.279 QUADTO
-282.546 390.881 282.546 390.225 QUADTO
-282.546 389.693 282.288 389.365 QUADTO
-282.03 389.037 281.468 388.881 QUADTO
-281.062 388.771 280.726 388.693 QUADTO
-280.39 388.615 279.89 388.49 QUADTO
-279.437 388.365 279.077 388.186 QUADTO
-278.718 388.006 278.437 387.709 QUADTO
-278.171 387.428 278.022 387.037 QUADTO
-277.874 386.646 277.874 386.131 QUADTO
-277.874 385.068 278.702 384.35 QUADTO
-279.53 383.631 280.812 383.631 QUADTO
-281.546 383.631 282.194 383.779 QUADTO
-282.843 383.928 283.405 384.193 QUADTO
-283.405 385.584 lineto
-283.312 385.584 lineto
-282.905 385.209 282.257 384.928 QUADTO
-281.608 384.646 280.89 384.646 QUADTO
-280.077 384.646 279.577 385.021 QUADTO
-279.077 385.396 279.077 386.006 QUADTO
-279.077 386.568 279.374 386.896 QUADTO
-279.671 387.225 280.218 387.381 QUADTO
-280.593 387.475 281.124 387.6 QUADTO
-281.655 387.725 282.015 387.834 QUADTO
-282.921 388.115 283.335 388.67 QUADTO
-283.749 389.225 283.749 390.037 QUADTO
-283.749 390.553 283.538 391.045 QUADTO
-283.327 391.537 282.952 391.881 QUADTO
-282.53 392.271 281.999 392.475 QUADTO
-281.468 392.678 280.671 392.678 QUADTO
-closepath
-286.966 392.521 M
-286.966 384.834 lineto
-284.044 384.834 lineto
-284.044 383.803 lineto
-291.06 383.803 lineto
-291.06 384.834 lineto
-288.122 384.834 lineto
-288.122 392.521 lineto
-286.966 392.521 lineto
-closepath
-301.927 392.521 M
-300.63 392.521 lineto
-296.771 384.99 lineto
-296.771 392.521 lineto
-295.692 392.521 lineto
-295.692 383.803 lineto
-297.333 383.803 lineto
-300.849 390.709 lineto
-300.849 383.803 lineto
-301.927 383.803 lineto
-301.927 392.521 lineto
-closepath
-310.421 387.943 M
-303.937 387.943 lineto
-303.937 387.006 lineto
-310.421 387.006 lineto
-310.421 387.943 lineto
-closepath
-310.421 390.396 M
-303.937 390.396 lineto
-303.937 389.459 lineto
-310.421 389.459 lineto
-310.421 390.396 lineto
-closepath
-317.792 389.521 M
-316.761 389.521 lineto
-316.761 392.521 lineto
-315.636 392.521 lineto
-315.636 389.521 lineto
-311.776 389.521 lineto
-311.776 388.287 lineto
-315.683 383.803 lineto
-316.761 383.803 lineto
-316.761 388.584 lineto
-317.792 388.584 lineto
-317.792 389.521 lineto
-closepath
-315.636 388.584 M
-315.636 385.178 lineto
-312.698 388.584 lineto
-315.636 388.584 lineto
-closepath
-324.155 388.162 M
-324.155 390.506 323.476 391.607 QUADTO
-322.796 392.709 321.374 392.709 QUADTO
-319.921 392.709 319.249 391.584 QUADTO
-318.577 390.459 318.577 388.162 QUADTO
-318.577 385.803 319.265 384.709 QUADTO
-319.952 383.615 321.374 383.615 QUADTO
-322.812 383.615 323.483 384.748 QUADTO
-324.155 385.881 324.155 388.162 QUADTO
-closepath
-322.655 390.818 M
-322.827 390.381 322.897 389.717 QUADTO
-322.968 389.053 322.968 388.162 QUADTO
-322.968 387.256 322.897 386.592 QUADTO
-322.827 385.928 322.655 385.49 QUADTO
-322.483 385.053 322.171 384.818 QUADTO
-321.858 384.584 321.374 384.584 QUADTO
-320.89 384.584 320.569 384.818 QUADTO
-320.249 385.053 320.077 385.506 QUADTO
-319.905 385.959 319.835 386.639 QUADTO
-319.765 387.318 319.765 388.162 QUADTO
-319.765 389.084 319.819 389.701 QUADTO
-319.874 390.318 320.062 390.803 QUADTO
-320.233 391.256 320.546 391.498 QUADTO
-320.858 391.74 321.374 391.74 QUADTO
-321.858 391.74 322.171 391.506 QUADTO
-322.483 391.271 322.655 390.818 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-1 setgray
-newpath
-59.633 34.141 M
-388 34.141 lineto
-388 326.133 lineto
-59.633 326.133 lineto
-59.633 34.141 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-59.633 330.133 M
-388 330.133 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-62.42 341.779 M
-62.42 344.123 61.74 345.225 QUADTO
-61.061 346.326 59.639 346.326 QUADTO
-58.186 346.326 57.514 345.201 QUADTO
-56.842 344.076 56.842 341.779 QUADTO
-56.842 339.42 57.529 338.326 QUADTO
-58.217 337.232 59.639 337.232 QUADTO
-61.076 337.232 61.748 338.365 QUADTO
-62.42 339.498 62.42 341.779 QUADTO
-closepath
-60.92 344.436 M
-61.092 343.998 61.162 343.334 QUADTO
-61.232 342.67 61.232 341.779 QUADTO
-61.232 340.873 61.162 340.209 QUADTO
-61.092 339.545 60.92 339.107 QUADTO
-60.748 338.67 60.436 338.436 QUADTO
-60.123 338.201 59.639 338.201 QUADTO
-59.154 338.201 58.834 338.436 QUADTO
-58.514 338.67 58.342 339.123 QUADTO
-58.17 339.576 58.1 340.256 QUADTO
-58.029 340.936 58.029 341.779 QUADTO
-58.029 342.701 58.084 343.318 QUADTO
-58.139 343.936 58.326 344.42 QUADTO
-58.498 344.873 58.811 345.115 QUADTO
-59.123 345.357 59.639 345.357 QUADTO
-60.123 345.357 60.436 345.123 QUADTO
-60.748 344.889 60.92 344.436 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-59.633 332.133 M
-59.633 330.133 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-93.106 346.139 M
-87.715 346.139 lineto
-87.715 344.92 lineto
-88.293 344.357 88.809 343.857 QUADTO
-89.324 343.357 89.824 342.811 QUADTO
-90.809 341.717 91.176 341.053 QUADTO
-91.543 340.389 91.543 339.686 QUADTO
-91.543 339.326 91.426 339.053 QUADTO
-91.309 338.779 91.106 338.592 QUADTO
-90.903 338.42 90.637 338.334 QUADTO
-90.371 338.248 90.043 338.248 QUADTO
-89.731 338.248 89.41 338.326 QUADTO
-89.09 338.404 88.809 338.514 QUADTO
-88.559 338.623 88.332 338.764 QUADTO
-88.106 338.904 87.965 338.998 QUADTO
-87.903 338.998 lineto
-87.903 337.764 lineto
-88.262 337.576 88.91 337.404 QUADTO
-89.559 337.232 90.137 337.232 QUADTO
-91.356 337.232 92.043 337.881 QUADTO
-92.731 338.529 92.731 339.639 QUADTO
-92.731 340.139 92.614 340.576 QUADTO
-92.496 341.014 92.278 341.373 QUADTO
-92.074 341.764 91.77 342.139 QUADTO
-91.465 342.514 91.121 342.873 QUADTO
-90.574 343.467 89.895 344.115 QUADTO
-89.215 344.764 88.809 345.139 QUADTO
-93.106 345.139 lineto
-93.106 346.139 lineto
-closepath
-99.547 343.357 M
-99.547 343.998 99.344 344.537 QUADTO
-99.141 345.076 98.782 345.467 QUADTO
-98.407 345.857 97.86 346.092 QUADTO
-97.313 346.326 96.641 346.326 QUADTO
-96.016 346.326 95.407 346.186 QUADTO
-94.797 346.045 94.36 345.826 QUADTO
-94.36 344.592 lineto
-94.438 344.592 lineto
-94.563 344.686 94.821 344.811 QUADTO
-95.078 344.936 95.375 345.045 QUADTO
-95.719 345.17 96.008 345.24 QUADTO
-96.297 345.311 96.657 345.311 QUADTO
-97 345.311 97.336 345.186 QUADTO
-97.672 345.061 97.922 344.779 QUADTO
-98.125 344.514 98.242 344.17 QUADTO
-98.36 343.826 98.36 343.357 QUADTO
-98.36 342.889 98.235 342.592 QUADTO
-98.11 342.295 97.875 342.107 QUADTO
-97.61 341.873 97.25 341.787 QUADTO
-96.891 341.701 96.438 341.701 QUADTO
-95.953 341.701 95.477 341.771 QUADTO
-95 341.842 94.703 341.904 QUADTO
-94.703 337.42 lineto
-99.5 337.42 lineto
-99.5 338.436 lineto
-95.844 338.436 lineto
-95.844 340.764 lineto
-96.047 340.732 96.258 340.725 QUADTO
-96.469 340.717 96.625 340.717 QUADTO
-97.297 340.717 97.758 340.826 QUADTO
-98.219 340.936 98.657 341.264 QUADTO
-99.094 341.592 99.321 342.084 QUADTO
-99.547 342.576 99.547 343.357 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-93.625 332.133 M
-93.625 330.133 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-126.989 343.357 M
-126.989 343.998 126.786 344.537 QUADTO
-126.583 345.076 126.223 345.467 QUADTO
-125.848 345.857 125.301 346.092 QUADTO
-124.754 346.326 124.083 346.326 QUADTO
-123.458 346.326 122.848 346.186 QUADTO
-122.239 346.045 121.801 345.826 QUADTO
-121.801 344.592 lineto
-121.879 344.592 lineto
-122.004 344.686 122.262 344.811 QUADTO
-122.52 344.936 122.817 345.045 QUADTO
-123.161 345.17 123.45 345.24 QUADTO
-123.739 345.311 124.098 345.311 QUADTO
-124.442 345.311 124.778 345.186 QUADTO
-125.114 345.061 125.364 344.779 QUADTO
-125.567 344.514 125.684 344.17 QUADTO
-125.801 343.826 125.801 343.357 QUADTO
-125.801 342.889 125.676 342.592 QUADTO
-125.551 342.295 125.317 342.107 QUADTO
-125.051 341.873 124.692 341.787 QUADTO
-124.333 341.701 123.879 341.701 QUADTO
-123.395 341.701 122.919 341.771 QUADTO
-122.442 341.842 122.145 341.904 QUADTO
-122.145 337.42 lineto
-126.942 337.42 lineto
-126.942 338.436 lineto
-123.286 338.436 lineto
-123.286 340.764 lineto
-123.489 340.732 123.7 340.725 QUADTO
-123.911 340.717 124.067 340.717 QUADTO
-124.739 340.717 125.2 340.826 QUADTO
-125.661 340.936 126.098 341.264 QUADTO
-126.536 341.592 126.762 342.084 QUADTO
-126.989 342.576 126.989 343.357 QUADTO
-closepath
-133.68 341.779 M
-133.68 344.123 133.001 345.225 QUADTO
-132.321 346.326 130.899 346.326 QUADTO
-129.446 346.326 128.774 345.201 QUADTO
-128.102 344.076 128.102 341.779 QUADTO
-128.102 339.42 128.79 338.326 QUADTO
-129.477 337.232 130.899 337.232 QUADTO
-132.336 337.232 133.008 338.365 QUADTO
-133.68 339.498 133.68 341.779 QUADTO
-closepath
-132.18 344.436 M
-132.352 343.998 132.422 343.334 QUADTO
-132.493 342.67 132.493 341.779 QUADTO
-132.493 340.873 132.422 340.209 QUADTO
-132.352 339.545 132.18 339.107 QUADTO
-132.008 338.67 131.696 338.436 QUADTO
-131.383 338.201 130.899 338.201 QUADTO
-130.415 338.201 130.094 338.436 QUADTO
-129.774 338.67 129.602 339.123 QUADTO
-129.43 339.576 129.36 340.256 QUADTO
-129.29 340.936 129.29 341.779 QUADTO
-129.29 342.701 129.344 343.318 QUADTO
-129.399 343.936 129.586 344.42 QUADTO
-129.758 344.873 130.071 345.115 QUADTO
-130.383 345.357 130.899 345.357 QUADTO
-131.383 345.357 131.696 345.123 QUADTO
-132.008 344.889 132.18 344.436 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.618 332.133 M
-127.618 330.133 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-161.184 338.717 M
-157.403 346.139 lineto
-156.153 346.139 lineto
-160.153 338.436 lineto
-155.638 338.436 lineto
-155.638 337.42 lineto
-161.184 337.42 lineto
-161.184 338.717 lineto
-closepath
-167.532 343.357 M
-167.532 343.998 167.329 344.537 QUADTO
-167.126 345.076 166.766 345.467 QUADTO
-166.391 345.857 165.845 346.092 QUADTO
-165.298 346.326 164.626 346.326 QUADTO
-164.001 346.326 163.391 346.186 QUADTO
-162.782 346.045 162.345 345.826 QUADTO
-162.345 344.592 lineto
-162.423 344.592 lineto
-162.548 344.686 162.806 344.811 QUADTO
-163.063 344.936 163.36 345.045 QUADTO
-163.704 345.17 163.993 345.24 QUADTO
-164.282 345.311 164.641 345.311 QUADTO
-164.985 345.311 165.321 345.186 QUADTO
-165.657 345.061 165.907 344.779 QUADTO
-166.11 344.514 166.227 344.17 QUADTO
-166.345 343.826 166.345 343.357 QUADTO
-166.345 342.889 166.22 342.592 QUADTO
-166.095 342.295 165.86 342.107 QUADTO
-165.595 341.873 165.235 341.787 QUADTO
-164.876 341.701 164.423 341.701 QUADTO
-163.938 341.701 163.462 341.771 QUADTO
-162.985 341.842 162.688 341.904 QUADTO
-162.688 337.42 lineto
-167.485 337.42 lineto
-167.485 338.436 lineto
-163.829 338.436 lineto
-163.829 340.764 lineto
-164.032 340.732 164.243 340.725 QUADTO
-164.454 340.717 164.61 340.717 QUADTO
-165.282 340.717 165.743 340.826 QUADTO
-166.204 340.936 166.641 341.264 QUADTO
-167.079 341.592 167.306 342.084 QUADTO
-167.532 342.576 167.532 343.357 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-161.61 332.133 M
-161.61 330.133 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-191.355 346.139 M
-187.105 346.139 lineto
-187.105 345.248 lineto
-188.683 345.248 lineto
-188.683 339.404 lineto
-187.105 339.404 lineto
-187.105 338.607 lineto
-187.995 338.607 188.425 338.35 QUADTO
-188.855 338.092 188.901 337.389 QUADTO
-189.808 337.389 lineto
-189.808 345.248 lineto
-191.355 345.248 lineto
-191.355 346.139 lineto
-closepath
-198.39 341.779 M
-198.39 344.123 197.71 345.225 QUADTO
-197.03 346.326 195.609 346.326 QUADTO
-194.155 346.326 193.484 345.201 QUADTO
-192.812 344.076 192.812 341.779 QUADTO
-192.812 339.42 193.499 338.326 QUADTO
-194.187 337.232 195.609 337.232 QUADTO
-197.046 337.232 197.718 338.365 QUADTO
-198.39 339.498 198.39 341.779 QUADTO
-closepath
-196.89 344.436 M
-197.062 343.998 197.132 343.334 QUADTO
-197.202 342.67 197.202 341.779 QUADTO
-197.202 340.873 197.132 340.209 QUADTO
-197.062 339.545 196.89 339.107 QUADTO
-196.718 338.67 196.405 338.436 QUADTO
-196.093 338.201 195.609 338.201 QUADTO
-195.124 338.201 194.804 338.436 QUADTO
-194.484 338.67 194.312 339.123 QUADTO
-194.14 339.576 194.069 340.256 QUADTO
-193.999 340.936 193.999 341.779 QUADTO
-193.999 342.701 194.054 343.318 QUADTO
-194.109 343.936 194.296 344.42 QUADTO
-194.468 344.873 194.78 345.115 QUADTO
-195.093 345.357 195.609 345.357 QUADTO
-196.093 345.357 196.405 345.123 QUADTO
-196.718 344.889 196.89 344.436 QUADTO
-closepath
-204.941 341.779 M
-204.941 344.123 204.261 345.225 QUADTO
-203.581 346.326 202.159 346.326 QUADTO
-200.706 346.326 200.034 345.201 QUADTO
-199.362 344.076 199.362 341.779 QUADTO
-199.362 339.42 200.05 338.326 QUADTO
-200.737 337.232 202.159 337.232 QUADTO
-203.597 337.232 204.269 338.365 QUADTO
-204.941 339.498 204.941 341.779 QUADTO
-closepath
-203.441 344.436 M
-203.612 343.998 203.683 343.334 QUADTO
-203.753 342.67 203.753 341.779 QUADTO
-203.753 340.873 203.683 340.209 QUADTO
-203.612 339.545 203.441 339.107 QUADTO
-203.269 338.67 202.956 338.436 QUADTO
-202.644 338.201 202.159 338.201 QUADTO
-201.675 338.201 201.355 338.436 QUADTO
-201.034 338.67 200.862 339.123 QUADTO
-200.691 339.576 200.62 340.256 QUADTO
-200.55 340.936 200.55 341.779 QUADTO
-200.55 342.701 200.605 343.318 QUADTO
-200.659 343.936 200.847 344.42 QUADTO
-201.019 344.873 201.331 345.115 QUADTO
-201.644 345.357 202.159 345.357 QUADTO
-202.644 345.357 202.956 345.123 QUADTO
-203.269 344.889 203.441 344.436 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-195.603 332.133 M
-195.603 330.133 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-225.347 346.139 M
-221.097 346.139 lineto
-221.097 345.248 lineto
-222.675 345.248 lineto
-222.675 339.404 lineto
-221.097 339.404 lineto
-221.097 338.607 lineto
-221.988 338.607 222.417 338.35 QUADTO
-222.847 338.092 222.894 337.389 QUADTO
-223.8 337.389 lineto
-223.8 345.248 lineto
-225.347 345.248 lineto
-225.347 346.139 lineto
-closepath
-232.351 346.139 M
-226.96 346.139 lineto
-226.96 344.92 lineto
-227.538 344.357 228.054 343.857 QUADTO
-228.57 343.357 229.07 342.811 QUADTO
-230.054 341.717 230.421 341.053 QUADTO
-230.788 340.389 230.788 339.686 QUADTO
-230.788 339.326 230.671 339.053 QUADTO
-230.554 338.779 230.351 338.592 QUADTO
-230.148 338.42 229.882 338.334 QUADTO
-229.617 338.248 229.288 338.248 QUADTO
-228.976 338.248 228.656 338.326 QUADTO
-228.335 338.404 228.054 338.514 QUADTO
-227.804 338.623 227.578 338.764 QUADTO
-227.351 338.904 227.21 338.998 QUADTO
-227.148 338.998 lineto
-227.148 337.764 lineto
-227.507 337.576 228.156 337.404 QUADTO
-228.804 337.232 229.382 337.232 QUADTO
-230.601 337.232 231.288 337.881 QUADTO
-231.976 338.529 231.976 339.639 QUADTO
-231.976 340.139 231.859 340.576 QUADTO
-231.742 341.014 231.523 341.373 QUADTO
-231.32 341.764 231.015 342.139 QUADTO
-230.71 342.514 230.367 342.873 QUADTO
-229.82 343.467 229.14 344.115 QUADTO
-228.46 344.764 228.054 345.139 QUADTO
-232.351 345.139 lineto
-232.351 346.139 lineto
-closepath
-238.792 343.357 M
-238.792 343.998 238.589 344.537 QUADTO
-238.386 345.076 238.027 345.467 QUADTO
-237.652 345.857 237.105 346.092 QUADTO
-236.558 346.326 235.886 346.326 QUADTO
-235.261 346.326 234.652 346.186 QUADTO
-234.042 346.045 233.605 345.826 QUADTO
-233.605 344.592 lineto
-233.683 344.592 lineto
-233.808 344.686 234.066 344.811 QUADTO
-234.324 344.936 234.621 345.045 QUADTO
-234.964 345.17 235.253 345.24 QUADTO
-235.542 345.311 235.902 345.311 QUADTO
-236.246 345.311 236.581 345.186 QUADTO
-236.917 345.061 237.167 344.779 QUADTO
-237.371 344.514 237.488 344.17 QUADTO
-237.605 343.826 237.605 343.357 QUADTO
-237.605 342.889 237.48 342.592 QUADTO
-237.355 342.295 237.121 342.107 QUADTO
-236.855 341.873 236.496 341.787 QUADTO
-236.136 341.701 235.683 341.701 QUADTO
-235.199 341.701 234.722 341.771 QUADTO
-234.246 341.842 233.949 341.904 QUADTO
-233.949 337.42 lineto
-238.746 337.42 lineto
-238.746 338.436 lineto
-235.089 338.436 lineto
-235.089 340.764 lineto
-235.292 340.732 235.503 340.725 QUADTO
-235.714 340.717 235.871 340.717 QUADTO
-236.542 340.717 237.003 340.826 QUADTO
-237.464 340.936 237.902 341.264 QUADTO
-238.339 341.592 238.566 342.084 QUADTO
-238.792 342.576 238.792 343.357 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-229.595 332.133 M
-229.595 330.133 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-259.34 346.139 M
-255.09 346.139 lineto
-255.09 345.248 lineto
-256.668 345.248 lineto
-256.668 339.404 lineto
-255.09 339.404 lineto
-255.09 338.607 lineto
-255.98 338.607 256.41 338.35 QUADTO
-256.84 338.092 256.886 337.389 QUADTO
-257.793 337.389 lineto
-257.793 345.248 lineto
-259.34 345.248 lineto
-259.34 346.139 lineto
-closepath
-266.234 343.357 M
-266.234 343.998 266.031 344.537 QUADTO
-265.828 345.076 265.468 345.467 QUADTO
-265.093 345.857 264.547 346.092 QUADTO
-264 346.326 263.328 346.326 QUADTO
-262.703 346.326 262.093 346.186 QUADTO
-261.484 346.045 261.047 345.826 QUADTO
-261.047 344.592 lineto
-261.125 344.592 lineto
-261.25 344.686 261.508 344.811 QUADTO
-261.765 344.936 262.062 345.045 QUADTO
-262.406 345.17 262.695 345.24 QUADTO
-262.984 345.311 263.343 345.311 QUADTO
-263.687 345.311 264.023 345.186 QUADTO
-264.359 345.061 264.609 344.779 QUADTO
-264.812 344.514 264.929 344.17 QUADTO
-265.047 343.826 265.047 343.357 QUADTO
-265.047 342.889 264.922 342.592 QUADTO
-264.797 342.295 264.562 342.107 QUADTO
-264.297 341.873 263.937 341.787 QUADTO
-263.578 341.701 263.125 341.701 QUADTO
-262.64 341.701 262.164 341.771 QUADTO
-261.687 341.842 261.39 341.904 QUADTO
-261.39 337.42 lineto
-266.187 337.42 lineto
-266.187 338.436 lineto
-262.531 338.436 lineto
-262.531 340.764 lineto
-262.734 340.732 262.945 340.725 QUADTO
-263.156 340.717 263.312 340.717 QUADTO
-263.984 340.717 264.445 340.826 QUADTO
-264.906 340.936 265.343 341.264 QUADTO
-265.781 341.592 266.008 342.084 QUADTO
-266.234 342.576 266.234 343.357 QUADTO
-closepath
-272.925 341.779 M
-272.925 344.123 272.246 345.225 QUADTO
-271.566 346.326 270.144 346.326 QUADTO
-268.691 346.326 268.019 345.201 QUADTO
-267.347 344.076 267.347 341.779 QUADTO
-267.347 339.42 268.035 338.326 QUADTO
-268.722 337.232 270.144 337.232 QUADTO
-271.582 337.232 272.254 338.365 QUADTO
-272.925 339.498 272.925 341.779 QUADTO
-closepath
-271.425 344.436 M
-271.597 343.998 271.668 343.334 QUADTO
-271.738 342.67 271.738 341.779 QUADTO
-271.738 340.873 271.668 340.209 QUADTO
-271.597 339.545 271.425 339.107 QUADTO
-271.254 338.67 270.941 338.436 QUADTO
-270.629 338.201 270.144 338.201 QUADTO
-269.66 338.201 269.34 338.436 QUADTO
-269.019 338.67 268.847 339.123 QUADTO
-268.675 339.576 268.605 340.256 QUADTO
-268.535 340.936 268.535 341.779 QUADTO
-268.535 342.701 268.59 343.318 QUADTO
-268.644 343.936 268.832 344.42 QUADTO
-269.004 344.873 269.316 345.115 QUADTO
-269.629 345.357 270.144 345.357 QUADTO
-270.629 345.357 270.941 345.123 QUADTO
-271.254 344.889 271.425 344.436 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-263.588 332.133 M
-263.588 330.133 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-293.332 346.139 M
-289.082 346.139 lineto
-289.082 345.248 lineto
-290.66 345.248 lineto
-290.66 339.404 lineto
-289.082 339.404 lineto
-289.082 338.607 lineto
-289.973 338.607 290.402 338.35 QUADTO
-290.832 338.092 290.879 337.389 QUADTO
-291.785 337.389 lineto
-291.785 345.248 lineto
-293.332 345.248 lineto
-293.332 346.139 lineto
-closepath
-300.43 338.717 M
-296.648 346.139 lineto
-295.398 346.139 lineto
-299.398 338.436 lineto
-294.883 338.436 lineto
-294.883 337.42 lineto
-300.43 337.42 lineto
-300.43 338.717 lineto
-closepath
-306.777 343.357 M
-306.777 343.998 306.574 344.537 QUADTO
-306.371 345.076 306.012 345.467 QUADTO
-305.637 345.857 305.09 346.092 QUADTO
-304.543 346.326 303.871 346.326 QUADTO
-303.246 346.326 302.637 346.186 QUADTO
-302.027 346.045 301.59 345.826 QUADTO
-301.59 344.592 lineto
-301.668 344.592 lineto
-301.793 344.686 302.051 344.811 QUADTO
-302.309 344.936 302.605 345.045 QUADTO
-302.949 345.17 303.238 345.24 QUADTO
-303.527 345.311 303.887 345.311 QUADTO
-304.23 345.311 304.566 345.186 QUADTO
-304.902 345.061 305.152 344.779 QUADTO
-305.355 344.514 305.473 344.17 QUADTO
-305.59 343.826 305.59 343.357 QUADTO
-305.59 342.889 305.465 342.592 QUADTO
-305.34 342.295 305.105 342.107 QUADTO
-304.84 341.873 304.48 341.787 QUADTO
-304.121 341.701 303.668 341.701 QUADTO
-303.184 341.701 302.707 341.771 QUADTO
-302.23 341.842 301.934 341.904 QUADTO
-301.934 337.42 lineto
-306.73 337.42 lineto
-306.73 338.436 lineto
-303.074 338.436 lineto
-303.074 340.764 lineto
-303.277 340.732 303.488 340.725 QUADTO
-303.699 340.717 303.855 340.717 QUADTO
-304.527 340.717 304.988 340.826 QUADTO
-305.449 340.936 305.887 341.264 QUADTO
-306.324 341.592 306.551 342.084 QUADTO
-306.777 342.576 306.777 343.357 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-297.58 332.133 M
-297.58 330.133 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-327.778 346.139 M
-322.387 346.139 lineto
-322.387 344.92 lineto
-322.965 344.357 323.481 343.857 QUADTO
-323.996 343.357 324.496 342.811 QUADTO
-325.481 341.717 325.848 341.053 QUADTO
-326.215 340.389 326.215 339.686 QUADTO
-326.215 339.326 326.098 339.053 QUADTO
-325.981 338.779 325.778 338.592 QUADTO
-325.574 338.42 325.309 338.334 QUADTO
-325.043 338.248 324.715 338.248 QUADTO
-324.403 338.248 324.082 338.326 QUADTO
-323.762 338.404 323.481 338.514 QUADTO
-323.231 338.623 323.004 338.764 QUADTO
-322.778 338.904 322.637 338.998 QUADTO
-322.574 338.998 lineto
-322.574 337.764 lineto
-322.934 337.576 323.582 337.404 QUADTO
-324.231 337.232 324.809 337.232 QUADTO
-326.028 337.232 326.715 337.881 QUADTO
-327.403 338.529 327.403 339.639 QUADTO
-327.403 340.139 327.285 340.576 QUADTO
-327.168 341.014 326.949 341.373 QUADTO
-326.746 341.764 326.442 342.139 QUADTO
-326.137 342.514 325.793 342.873 QUADTO
-325.246 343.467 324.567 344.115 QUADTO
-323.887 344.764 323.481 345.139 QUADTO
-327.778 345.139 lineto
-327.778 346.139 lineto
-closepath
-334.36 341.779 M
-334.36 344.123 333.68 345.225 QUADTO
-333 346.326 331.578 346.326 QUADTO
-330.125 346.326 329.453 345.201 QUADTO
-328.781 344.076 328.781 341.779 QUADTO
-328.781 339.42 329.469 338.326 QUADTO
-330.156 337.232 331.578 337.232 QUADTO
-333.016 337.232 333.688 338.365 QUADTO
-334.36 339.498 334.36 341.779 QUADTO
-closepath
-332.86 344.436 M
-333.031 343.998 333.102 343.334 QUADTO
-333.172 342.67 333.172 341.779 QUADTO
-333.172 340.873 333.102 340.209 QUADTO
-333.031 339.545 332.86 339.107 QUADTO
-332.688 338.67 332.375 338.436 QUADTO
-332.063 338.201 331.578 338.201 QUADTO
-331.094 338.201 330.774 338.436 QUADTO
-330.453 338.67 330.281 339.123 QUADTO
-330.11 339.576 330.039 340.256 QUADTO
-329.969 340.936 329.969 341.779 QUADTO
-329.969 342.701 330.024 343.318 QUADTO
-330.078 343.936 330.266 344.42 QUADTO
-330.438 344.873 330.75 345.115 QUADTO
-331.063 345.357 331.578 345.357 QUADTO
-332.063 345.357 332.375 345.123 QUADTO
-332.688 344.889 332.86 344.436 QUADTO
-closepath
-340.91 341.779 M
-340.91 344.123 340.231 345.225 QUADTO
-339.551 346.326 338.129 346.326 QUADTO
-336.676 346.326 336.004 345.201 QUADTO
-335.332 344.076 335.332 341.779 QUADTO
-335.332 339.42 336.02 338.326 QUADTO
-336.707 337.232 338.129 337.232 QUADTO
-339.567 337.232 340.239 338.365 QUADTO
-340.91 339.498 340.91 341.779 QUADTO
-closepath
-339.41 344.436 M
-339.582 343.998 339.653 343.334 QUADTO
-339.723 342.67 339.723 341.779 QUADTO
-339.723 340.873 339.653 340.209 QUADTO
-339.582 339.545 339.41 339.107 QUADTO
-339.239 338.67 338.926 338.436 QUADTO
-338.614 338.201 338.129 338.201 QUADTO
-337.645 338.201 337.324 338.436 QUADTO
-337.004 338.67 336.832 339.123 QUADTO
-336.66 339.576 336.59 340.256 QUADTO
-336.52 340.936 336.52 341.779 QUADTO
-336.52 342.701 336.574 343.318 QUADTO
-336.629 343.936 336.817 344.42 QUADTO
-336.989 344.873 337.301 345.115 QUADTO
-337.614 345.357 338.129 345.357 QUADTO
-338.614 345.357 338.926 345.123 QUADTO
-339.239 344.889 339.41 344.436 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-331.573 332.133 M
-331.573 330.133 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-361.77 346.139 M
-356.379 346.139 lineto
-356.379 344.92 lineto
-356.958 344.357 357.473 343.857 QUADTO
-357.989 343.357 358.489 342.811 QUADTO
-359.473 341.717 359.84 341.053 QUADTO
-360.208 340.389 360.208 339.686 QUADTO
-360.208 339.326 360.09 339.053 QUADTO
-359.973 338.779 359.77 338.592 QUADTO
-359.567 338.42 359.301 338.334 QUADTO
-359.036 338.248 358.708 338.248 QUADTO
-358.395 338.248 358.075 338.326 QUADTO
-357.754 338.404 357.473 338.514 QUADTO
-357.223 338.623 356.997 338.764 QUADTO
-356.77 338.904 356.629 338.998 QUADTO
-356.567 338.998 lineto
-356.567 337.764 lineto
-356.926 337.576 357.575 337.404 QUADTO
-358.223 337.232 358.801 337.232 QUADTO
-360.02 337.232 360.708 337.881 QUADTO
-361.395 338.529 361.395 339.639 QUADTO
-361.395 340.139 361.278 340.576 QUADTO
-361.161 341.014 360.942 341.373 QUADTO
-360.739 341.764 360.434 342.139 QUADTO
-360.129 342.514 359.786 342.873 QUADTO
-359.239 343.467 358.559 344.115 QUADTO
-357.879 344.764 357.473 345.139 QUADTO
-361.77 345.139 lineto
-361.77 346.139 lineto
-closepath
-368.321 346.139 M
-362.93 346.139 lineto
-362.93 344.92 lineto
-363.508 344.357 364.024 343.857 QUADTO
-364.54 343.357 365.04 342.811 QUADTO
-366.024 341.717 366.391 341.053 QUADTO
-366.758 340.389 366.758 339.686 QUADTO
-366.758 339.326 366.641 339.053 QUADTO
-366.524 338.779 366.321 338.592 QUADTO
-366.118 338.42 365.852 338.334 QUADTO
-365.586 338.248 365.258 338.248 QUADTO
-364.946 338.248 364.626 338.326 QUADTO
-364.305 338.404 364.024 338.514 QUADTO
-363.774 338.623 363.547 338.764 QUADTO
-363.321 338.904 363.18 338.998 QUADTO
-363.118 338.998 lineto
-363.118 337.764 lineto
-363.477 337.576 364.126 337.404 QUADTO
-364.774 337.232 365.352 337.232 QUADTO
-366.571 337.232 367.258 337.881 QUADTO
-367.946 338.529 367.946 339.639 QUADTO
-367.946 340.139 367.829 340.576 QUADTO
-367.711 341.014 367.493 341.373 QUADTO
-367.29 341.764 366.985 342.139 QUADTO
-366.68 342.514 366.336 342.873 QUADTO
-365.79 343.467 365.11 344.115 QUADTO
-364.43 344.764 364.024 345.139 QUADTO
-368.321 345.139 lineto
-368.321 346.139 lineto
-closepath
-374.762 343.357 M
-374.762 343.998 374.559 344.537 QUADTO
-374.356 345.076 373.997 345.467 QUADTO
-373.622 345.857 373.075 346.092 QUADTO
-372.528 346.326 371.856 346.326 QUADTO
-371.231 346.326 370.622 346.186 QUADTO
-370.012 346.045 369.575 345.826 QUADTO
-369.575 344.592 lineto
-369.653 344.592 lineto
-369.778 344.686 370.036 344.811 QUADTO
-370.293 344.936 370.59 345.045 QUADTO
-370.934 345.17 371.223 345.24 QUADTO
-371.512 345.311 371.872 345.311 QUADTO
-372.215 345.311 372.551 345.186 QUADTO
-372.887 345.061 373.137 344.779 QUADTO
-373.34 344.514 373.458 344.17 QUADTO
-373.575 343.826 373.575 343.357 QUADTO
-373.575 342.889 373.45 342.592 QUADTO
-373.325 342.295 373.09 342.107 QUADTO
-372.825 341.873 372.465 341.787 QUADTO
-372.106 341.701 371.653 341.701 QUADTO
-371.168 341.701 370.692 341.771 QUADTO
-370.215 341.842 369.918 341.904 QUADTO
-369.918 337.42 lineto
-374.715 337.42 lineto
-374.715 338.436 lineto
-371.059 338.436 lineto
-371.059 340.764 lineto
-371.262 340.732 371.473 340.725 QUADTO
-371.684 340.717 371.84 340.717 QUADTO
-372.512 340.717 372.973 340.826 QUADTO
-373.434 340.936 373.872 341.264 QUADTO
-374.309 341.592 374.536 342.084 QUADTO
-374.762 342.576 374.762 343.357 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-365.565 332.133 M
-365.565 330.133 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-211.823 365.78 M
-210.354 365.78 209.69 365.179 QUADTO
-209.026 364.577 209.026 363.202 QUADTO
-209.026 359.608 lineto
-208.104 359.608 lineto
-208.104 357.952 lineto
-209.026 357.952 lineto
-209.026 355.749 lineto
-211.417 355.749 lineto
-211.417 357.952 lineto
-213.714 357.952 lineto
-213.714 359.608 lineto
-211.417 359.608 lineto
-211.417 362.343 lineto
-211.417 362.733 211.425 363.038 QUADTO
-211.433 363.343 211.526 363.577 QUADTO
-211.636 363.812 211.878 363.952 QUADTO
-212.12 364.093 212.573 364.093 QUADTO
-212.776 364.093 213.081 364.015 QUADTO
-213.386 363.937 213.511 363.874 QUADTO
-213.714 363.874 lineto
-213.714 365.562 lineto
-213.323 365.655 212.886 365.718 QUADTO
-212.448 365.78 211.823 365.78 QUADTO
-closepath
-217.094 365.624 M
-214.703 365.624 lineto
-214.703 357.952 lineto
-217.094 357.952 lineto
-217.094 365.624 lineto
-closepath
-217.156 356.858 M
-214.625 356.858 lineto
-214.625 354.983 lineto
-217.156 354.983 lineto
-217.156 356.858 lineto
-closepath
-228.1 365.624 M
-228.1 361.796 lineto
-228.1 361.218 228.076 360.827 QUADTO
-228.053 360.437 227.959 360.202 QUADTO
-227.85 359.952 227.631 359.835 QUADTO
-227.412 359.718 227.037 359.718 QUADTO
-226.756 359.718 226.49 359.843 QUADTO
-226.225 359.968 225.912 360.187 QUADTO
-225.912 365.624 lineto
-223.506 365.624 lineto
-223.506 361.796 lineto
-223.506 361.233 223.482 360.835 QUADTO
-223.459 360.437 223.35 360.202 QUADTO
-223.256 359.952 223.037 359.835 QUADTO
-222.818 359.718 222.443 359.718 QUADTO
-222.146 359.718 221.865 359.858 QUADTO
-221.584 359.999 221.318 360.187 QUADTO
-221.318 365.624 lineto
-218.928 365.624 lineto
-218.928 357.952 lineto
-221.318 357.952 lineto
-221.318 358.796 lineto
-221.896 358.296 222.42 358.015 QUADTO
-222.943 357.733 223.584 357.733 QUADTO
-224.303 357.733 224.834 358.069 QUADTO
-225.365 358.405 225.646 359.062 QUADTO
-226.334 358.421 226.943 358.077 QUADTO
-227.553 357.733 228.178 357.733 QUADTO
-228.725 357.733 229.146 357.905 QUADTO
-229.568 358.077 229.865 358.421 QUADTO
-230.178 358.78 230.342 359.296 QUADTO
-230.506 359.812 230.506 360.624 QUADTO
-230.506 365.624 lineto
-228.1 365.624 lineto
-closepath
-236.2 365.827 M
-234.028 365.827 232.872 364.788 QUADTO
-231.716 363.749 231.716 361.827 QUADTO
-231.716 359.952 232.794 358.827 QUADTO
-233.872 357.702 235.81 357.702 QUADTO
-237.575 357.702 238.466 358.655 QUADTO
-239.356 359.608 239.356 361.374 QUADTO
-239.356 362.233 lineto
-234.106 362.233 lineto
-234.153 362.78 234.341 363.132 QUADTO
-234.528 363.483 234.841 363.702 QUADTO
-235.153 363.921 235.56 364.007 QUADTO
-235.966 364.093 236.45 364.093 QUADTO
-236.872 364.093 237.278 364.007 QUADTO
-237.685 363.921 238.013 363.765 QUADTO
-238.31 363.64 238.56 363.483 QUADTO
-238.81 363.327 238.966 363.218 QUADTO
-239.216 363.218 lineto
-239.216 365.187 lineto
-238.919 365.312 238.677 365.413 QUADTO
-238.435 365.515 238.013 365.608 QUADTO
-237.622 365.718 237.208 365.772 QUADTO
-236.794 365.827 236.2 365.827 QUADTO
-closepath
-236.997 360.796 M
-236.981 360.046 236.646 359.647 QUADTO
-236.31 359.249 235.622 359.249 QUADTO
-234.935 359.249 234.544 359.663 QUADTO
-234.153 360.077 234.106 360.796 QUADTO
-236.997 360.796 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-55.633 34.141 M
-55.633 326.133 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-38.961 326.537 M
-38.961 328.881 38.281 329.982 QUADTO
-37.602 331.084 36.18 331.084 QUADTO
-34.727 331.084 34.055 329.959 QUADTO
-33.383 328.834 33.383 326.537 QUADTO
-33.383 324.178 34.07 323.084 QUADTO
-34.758 321.99 36.18 321.99 QUADTO
-37.617 321.99 38.289 323.123 QUADTO
-38.961 324.256 38.961 326.537 QUADTO
-closepath
-37.461 329.193 M
-37.633 328.756 37.703 328.092 QUADTO
-37.773 327.428 37.773 326.537 QUADTO
-37.773 325.631 37.703 324.967 QUADTO
-37.633 324.303 37.461 323.865 QUADTO
-37.289 323.428 36.977 323.193 QUADTO
-36.664 322.959 36.18 322.959 QUADTO
-35.695 322.959 35.375 323.193 QUADTO
-35.055 323.428 34.883 323.881 QUADTO
-34.711 324.334 34.641 325.014 QUADTO
-34.57 325.693 34.57 326.537 QUADTO
-34.57 327.459 34.625 328.076 QUADTO
-34.68 328.693 34.867 329.178 QUADTO
-35.039 329.631 35.352 329.873 QUADTO
-35.664 330.115 36.18 330.115 QUADTO
-36.664 330.115 36.977 329.881 QUADTO
-37.289 329.646 37.461 329.193 QUADTO
-closepath
-41.965 330.896 M
-40.559 330.896 lineto
-40.559 329.225 lineto
-41.965 329.225 lineto
-41.965 330.896 lineto
-closepath
-49.145 326.537 M
-49.145 328.881 48.465 329.982 QUADTO
-47.785 331.084 46.363 331.084 QUADTO
-44.91 331.084 44.238 329.959 QUADTO
-43.566 328.834 43.566 326.537 QUADTO
-43.566 324.178 44.254 323.084 QUADTO
-44.941 321.99 46.363 321.99 QUADTO
-47.801 321.99 48.473 323.123 QUADTO
-49.145 324.256 49.145 326.537 QUADTO
-closepath
-47.645 329.193 M
-47.816 328.756 47.887 328.092 QUADTO
-47.957 327.428 47.957 326.537 QUADTO
-47.957 325.631 47.887 324.967 QUADTO
-47.816 324.303 47.645 323.865 QUADTO
-47.473 323.428 47.16 323.193 QUADTO
-46.848 322.959 46.363 322.959 QUADTO
-45.879 322.959 45.559 323.193 QUADTO
-45.238 323.428 45.066 323.881 QUADTO
-44.895 324.334 44.824 325.014 QUADTO
-44.754 325.693 44.754 326.537 QUADTO
-44.754 327.459 44.809 328.076 QUADTO
-44.863 328.693 45.051 329.178 QUADTO
-45.223 329.631 45.535 329.873 QUADTO
-45.848 330.115 46.363 330.115 QUADTO
-46.848 330.115 47.16 329.881 QUADTO
-47.473 329.646 47.645 329.193 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-53.633 326.133 M
-55.633 326.133 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-38.961 300.053 M
-38.961 302.396 38.281 303.498 QUADTO
-37.602 304.599 36.18 304.599 QUADTO
-34.727 304.599 34.055 303.474 QUADTO
-33.383 302.349 33.383 300.053 QUADTO
-33.383 297.693 34.07 296.599 QUADTO
-34.758 295.506 36.18 295.506 QUADTO
-37.617 295.506 38.289 296.638 QUADTO
-38.961 297.771 38.961 300.053 QUADTO
-closepath
-37.461 302.709 M
-37.633 302.271 37.703 301.607 QUADTO
-37.773 300.943 37.773 300.053 QUADTO
-37.773 299.146 37.703 298.482 QUADTO
-37.633 297.818 37.461 297.381 QUADTO
-37.289 296.943 36.977 296.709 QUADTO
-36.664 296.474 36.18 296.474 QUADTO
-35.695 296.474 35.375 296.709 QUADTO
-35.055 296.943 34.883 297.396 QUADTO
-34.711 297.849 34.641 298.529 QUADTO
-34.57 299.209 34.57 300.053 QUADTO
-34.57 300.974 34.625 301.592 QUADTO
-34.68 302.209 34.867 302.693 QUADTO
-35.039 303.146 35.352 303.388 QUADTO
-35.664 303.631 36.18 303.631 QUADTO
-36.664 303.631 36.977 303.396 QUADTO
-37.289 303.162 37.461 302.709 QUADTO
-closepath
-41.965 304.412 M
-40.559 304.412 lineto
-40.559 302.74 lineto
-41.965 302.74 lineto
-41.965 304.412 lineto
-closepath
-48.66 304.412 M
-44.41 304.412 lineto
-44.41 303.521 lineto
-45.988 303.521 lineto
-45.988 297.678 lineto
-44.41 297.678 lineto
-44.41 296.881 lineto
-45.301 296.881 45.73 296.623 QUADTO
-46.16 296.365 46.207 295.662 QUADTO
-47.113 295.662 lineto
-47.113 303.521 lineto
-48.66 303.521 lineto
-48.66 304.412 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-53.633 299.648 M
-55.633 299.648 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-38.961 273.568 M
-38.961 275.912 38.281 277.013 QUADTO
-37.602 278.115 36.18 278.115 QUADTO
-34.727 278.115 34.055 276.99 QUADTO
-33.383 275.865 33.383 273.568 QUADTO
-33.383 271.209 34.07 270.115 QUADTO
-34.758 269.021 36.18 269.021 QUADTO
-37.617 269.021 38.289 270.154 QUADTO
-38.961 271.287 38.961 273.568 QUADTO
-closepath
-37.461 276.224 M
-37.633 275.787 37.703 275.123 QUADTO
-37.773 274.459 37.773 273.568 QUADTO
-37.773 272.662 37.703 271.998 QUADTO
-37.633 271.334 37.461 270.896 QUADTO
-37.289 270.459 36.977 270.224 QUADTO
-36.664 269.99 36.18 269.99 QUADTO
-35.695 269.99 35.375 270.224 QUADTO
-35.055 270.459 34.883 270.912 QUADTO
-34.711 271.365 34.641 272.045 QUADTO
-34.57 272.724 34.57 273.568 QUADTO
-34.57 274.49 34.625 275.107 QUADTO
-34.68 275.724 34.867 276.209 QUADTO
-35.039 276.662 35.352 276.904 QUADTO
-35.664 277.146 36.18 277.146 QUADTO
-36.664 277.146 36.977 276.912 QUADTO
-37.289 276.677 37.461 276.224 QUADTO
-closepath
-41.965 277.927 M
-40.559 277.927 lineto
-40.559 276.255 lineto
-41.965 276.255 lineto
-41.965 277.927 lineto
-closepath
-49.113 277.927 M
-43.723 277.927 lineto
-43.723 276.709 lineto
-44.301 276.146 44.816 275.646 QUADTO
-45.332 275.146 45.832 274.599 QUADTO
-46.816 273.505 47.184 272.841 QUADTO
-47.551 272.177 47.551 271.474 QUADTO
-47.551 271.115 47.434 270.841 QUADTO
-47.316 270.568 47.113 270.38 QUADTO
-46.91 270.209 46.645 270.123 QUADTO
-46.379 270.037 46.051 270.037 QUADTO
-45.738 270.037 45.418 270.115 QUADTO
-45.098 270.193 44.816 270.302 QUADTO
-44.566 270.412 44.34 270.552 QUADTO
-44.113 270.693 43.973 270.787 QUADTO
-43.91 270.787 lineto
-43.91 269.552 lineto
-44.27 269.365 44.918 269.193 QUADTO
-45.566 269.021 46.145 269.021 QUADTO
-47.363 269.021 48.051 269.67 QUADTO
-48.738 270.318 48.738 271.427 QUADTO
-48.738 271.927 48.621 272.365 QUADTO
-48.504 272.802 48.285 273.162 QUADTO
-48.082 273.552 47.777 273.927 QUADTO
-47.473 274.302 47.129 274.662 QUADTO
-46.582 275.255 45.902 275.904 QUADTO
-45.223 276.552 44.816 276.927 QUADTO
-49.113 276.927 lineto
-49.113 277.927 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-53.633 273.164 M
-55.633 273.164 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-38.961 247.083 M
-38.961 249.427 38.281 250.529 QUADTO
-37.602 251.63 36.18 251.63 QUADTO
-34.727 251.63 34.055 250.505 QUADTO
-33.383 249.38 33.383 247.083 QUADTO
-33.383 244.724 34.07 243.63 QUADTO
-34.758 242.537 36.18 242.537 QUADTO
-37.617 242.537 38.289 243.669 QUADTO
-38.961 244.802 38.961 247.083 QUADTO
-closepath
-37.461 249.74 M
-37.633 249.302 37.703 248.638 QUADTO
-37.773 247.974 37.773 247.083 QUADTO
-37.773 246.177 37.703 245.513 QUADTO
-37.633 244.849 37.461 244.412 QUADTO
-37.289 243.974 36.977 243.74 QUADTO
-36.664 243.505 36.18 243.505 QUADTO
-35.695 243.505 35.375 243.74 QUADTO
-35.055 243.974 34.883 244.427 QUADTO
-34.711 244.88 34.641 245.56 QUADTO
-34.57 246.24 34.57 247.083 QUADTO
-34.57 248.005 34.625 248.623 QUADTO
-34.68 249.24 34.867 249.724 QUADTO
-35.039 250.177 35.352 250.419 QUADTO
-35.664 250.662 36.18 250.662 QUADTO
-36.664 250.662 36.977 250.427 QUADTO
-37.289 250.193 37.461 249.74 QUADTO
-closepath
-41.965 251.443 M
-40.559 251.443 lineto
-40.559 249.771 lineto
-41.965 249.771 lineto
-41.965 251.443 lineto
-closepath
-46.082 243.552 M
-45.754 243.552 45.441 243.63 QUADTO
-45.129 243.708 44.816 243.818 QUADTO
-44.535 243.943 44.332 244.068 QUADTO
-44.129 244.193 43.957 244.318 QUADTO
-43.895 244.318 lineto
-43.895 243.068 lineto
-44.27 242.865 44.926 242.701 QUADTO
-45.582 242.537 46.176 242.537 QUADTO
-46.77 242.537 47.207 242.654 QUADTO
-47.645 242.771 48.004 243.021 QUADTO
-48.395 243.302 48.59 243.701 QUADTO
-48.785 244.099 48.785 244.646 QUADTO
-48.785 245.365 48.309 245.904 QUADTO
-47.832 246.443 47.176 246.599 QUADTO
-47.176 246.677 lineto
-47.441 246.724 47.762 246.857 QUADTO
-48.082 246.99 48.348 247.24 QUADTO
-48.613 247.49 48.785 247.888 QUADTO
-48.957 248.287 48.957 248.849 QUADTO
-48.957 249.443 48.754 249.935 QUADTO
-48.551 250.427 48.176 250.818 QUADTO
-47.801 251.208 47.262 251.419 QUADTO
-46.723 251.63 46.035 251.63 QUADTO
-45.379 251.63 44.738 251.466 QUADTO
-44.098 251.302 43.645 251.083 QUADTO
-43.645 249.849 lineto
-43.738 249.849 lineto
-44.098 250.115 44.723 250.365 QUADTO
-45.348 250.615 45.973 250.615 QUADTO
-46.316 250.615 46.684 250.498 QUADTO
-47.051 250.38 47.285 250.13 QUADTO
-47.52 249.865 47.645 249.552 QUADTO
-47.77 249.24 47.77 248.771 QUADTO
-47.77 248.302 47.629 247.998 QUADTO
-47.488 247.693 47.238 247.505 QUADTO
-47.004 247.333 46.66 247.263 QUADTO
-46.316 247.193 45.926 247.193 QUADTO
-45.426 247.193 lineto
-45.426 246.224 lineto
-45.816 246.224 lineto
-46.613 246.224 47.105 245.849 QUADTO
-47.598 245.474 47.598 244.755 QUADTO
-47.598 244.427 47.473 244.193 QUADTO
-47.348 243.958 47.145 243.818 QUADTO
-46.926 243.662 46.652 243.607 QUADTO
-46.379 243.552 46.082 243.552 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-53.633 246.679 M
-55.633 246.679 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-38.961 220.599 M
-38.961 222.943 38.281 224.044 QUADTO
-37.602 225.146 36.18 225.146 QUADTO
-34.727 225.146 34.055 224.021 QUADTO
-33.383 222.896 33.383 220.599 QUADTO
-33.383 218.24 34.07 217.146 QUADTO
-34.758 216.052 36.18 216.052 QUADTO
-37.617 216.052 38.289 217.185 QUADTO
-38.961 218.318 38.961 220.599 QUADTO
-closepath
-37.461 223.255 M
-37.633 222.818 37.703 222.154 QUADTO
-37.773 221.49 37.773 220.599 QUADTO
-37.773 219.693 37.703 219.029 QUADTO
-37.633 218.365 37.461 217.927 QUADTO
-37.289 217.49 36.977 217.255 QUADTO
-36.664 217.021 36.18 217.021 QUADTO
-35.695 217.021 35.375 217.255 QUADTO
-35.055 217.49 34.883 217.943 QUADTO
-34.711 218.396 34.641 219.075 QUADTO
-34.57 219.755 34.57 220.599 QUADTO
-34.57 221.521 34.625 222.138 QUADTO
-34.68 222.755 34.867 223.24 QUADTO
-35.039 223.693 35.352 223.935 QUADTO
-35.664 224.177 36.18 224.177 QUADTO
-36.664 224.177 36.977 223.943 QUADTO
-37.289 223.708 37.461 223.255 QUADTO
-closepath
-41.965 224.958 M
-40.559 224.958 lineto
-40.559 223.286 lineto
-41.965 223.286 lineto
-41.965 224.958 lineto
-closepath
-49.332 221.958 M
-48.301 221.958 lineto
-48.301 224.958 lineto
-47.176 224.958 lineto
-47.176 221.958 lineto
-43.316 221.958 lineto
-43.316 220.724 lineto
-47.223 216.24 lineto
-48.301 216.24 lineto
-48.301 221.021 lineto
-49.332 221.021 lineto
-49.332 221.958 lineto
-closepath
-47.176 221.021 M
-47.176 217.615 lineto
-44.238 221.021 lineto
-47.176 221.021 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-53.633 220.195 M
-55.633 220.195 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-38.961 194.114 M
-38.961 196.458 38.281 197.56 QUADTO
-37.602 198.661 36.18 198.661 QUADTO
-34.727 198.661 34.055 197.536 QUADTO
-33.383 196.411 33.383 194.114 QUADTO
-33.383 191.755 34.07 190.661 QUADTO
-34.758 189.567 36.18 189.567 QUADTO
-37.617 189.567 38.289 190.7 QUADTO
-38.961 191.833 38.961 194.114 QUADTO
-closepath
-37.461 196.771 M
-37.633 196.333 37.703 195.669 QUADTO
-37.773 195.005 37.773 194.114 QUADTO
-37.773 193.208 37.703 192.544 QUADTO
-37.633 191.88 37.461 191.442 QUADTO
-37.289 191.005 36.977 190.771 QUADTO
-36.664 190.536 36.18 190.536 QUADTO
-35.695 190.536 35.375 190.771 QUADTO
-35.055 191.005 34.883 191.458 QUADTO
-34.711 191.911 34.641 192.591 QUADTO
-34.57 193.271 34.57 194.114 QUADTO
-34.57 195.036 34.625 195.653 QUADTO
-34.68 196.271 34.867 196.755 QUADTO
-35.039 197.208 35.352 197.45 QUADTO
-35.664 197.692 36.18 197.692 QUADTO
-36.664 197.692 36.977 197.458 QUADTO
-37.289 197.224 37.461 196.771 QUADTO
-closepath
-41.965 198.474 M
-40.559 198.474 lineto
-40.559 196.802 lineto
-41.965 196.802 lineto
-41.965 198.474 lineto
-closepath
-49.004 195.692 M
-49.004 196.333 48.801 196.872 QUADTO
-48.598 197.411 48.238 197.802 QUADTO
-47.863 198.192 47.316 198.427 QUADTO
-46.77 198.661 46.098 198.661 QUADTO
-45.473 198.661 44.863 198.521 QUADTO
-44.254 198.38 43.816 198.161 QUADTO
-43.816 196.927 lineto
-43.895 196.927 lineto
-44.02 197.021 44.277 197.146 QUADTO
-44.535 197.271 44.832 197.38 QUADTO
-45.176 197.505 45.465 197.575 QUADTO
-45.754 197.646 46.113 197.646 QUADTO
-46.457 197.646 46.793 197.521 QUADTO
-47.129 197.396 47.379 197.114 QUADTO
-47.582 196.849 47.699 196.505 QUADTO
-47.816 196.161 47.816 195.692 QUADTO
-47.816 195.224 47.691 194.927 QUADTO
-47.566 194.63 47.332 194.442 QUADTO
-47.066 194.208 46.707 194.122 QUADTO
-46.348 194.036 45.895 194.036 QUADTO
-45.41 194.036 44.934 194.107 QUADTO
-44.457 194.177 44.16 194.239 QUADTO
-44.16 189.755 lineto
-48.957 189.755 lineto
-48.957 190.771 lineto
-45.301 190.771 lineto
-45.301 193.099 lineto
-45.504 193.067 45.715 193.06 QUADTO
-45.926 193.052 46.082 193.052 QUADTO
-46.754 193.052 47.215 193.161 QUADTO
-47.676 193.271 48.113 193.599 QUADTO
-48.551 193.927 48.777 194.419 QUADTO
-49.004 194.911 49.004 195.692 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-53.633 193.71 M
-55.633 193.71 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-38.961 167.63 M
-38.961 169.974 38.281 171.075 QUADTO
-37.602 172.177 36.18 172.177 QUADTO
-34.727 172.177 34.055 171.052 QUADTO
-33.383 169.927 33.383 167.63 QUADTO
-33.383 165.27 34.07 164.177 QUADTO
-34.758 163.083 36.18 163.083 QUADTO
-37.617 163.083 38.289 164.216 QUADTO
-38.961 165.349 38.961 167.63 QUADTO
-closepath
-37.461 170.286 M
-37.633 169.849 37.703 169.184 QUADTO
-37.773 168.52 37.773 167.63 QUADTO
-37.773 166.724 37.703 166.059 QUADTO
-37.633 165.395 37.461 164.958 QUADTO
-37.289 164.52 36.977 164.286 QUADTO
-36.664 164.052 36.18 164.052 QUADTO
-35.695 164.052 35.375 164.286 QUADTO
-35.055 164.52 34.883 164.974 QUADTO
-34.711 165.427 34.641 166.106 QUADTO
-34.57 166.786 34.57 167.63 QUADTO
-34.57 168.552 34.625 169.169 QUADTO
-34.68 169.786 34.867 170.27 QUADTO
-35.039 170.724 35.352 170.966 QUADTO
-35.664 171.208 36.18 171.208 QUADTO
-36.664 171.208 36.977 170.974 QUADTO
-37.289 170.739 37.461 170.286 QUADTO
-closepath
-41.965 171.989 M
-40.559 171.989 lineto
-40.559 170.317 lineto
-41.965 170.317 lineto
-41.965 171.989 lineto
-closepath
-49.238 169.161 M
-49.238 169.833 49.02 170.403 QUADTO
-48.801 170.974 48.426 171.349 QUADTO
-48.035 171.755 47.543 171.966 QUADTO
-47.051 172.177 46.473 172.177 QUADTO
-45.879 172.177 45.395 171.974 QUADTO
-44.91 171.77 44.535 171.38 QUADTO
-44.098 170.911 43.84 170.114 QUADTO
-43.582 169.317 43.582 168.161 QUADTO
-43.582 167.02 43.816 166.106 QUADTO
-44.051 165.192 44.535 164.505 QUADTO
-45.004 163.849 45.754 163.474 QUADTO
-46.504 163.099 47.488 163.099 QUADTO
-47.785 163.099 48.035 163.13 QUADTO
-48.285 163.161 48.488 163.224 QUADTO
-48.488 164.349 lineto
-48.426 164.349 lineto
-48.27 164.255 47.973 164.184 QUADTO
-47.676 164.114 47.332 164.114 QUADTO
-46.254 164.114 45.582 164.849 QUADTO
-44.91 165.583 44.785 167.02 QUADTO
-45.191 166.739 45.637 166.575 QUADTO
-46.082 166.411 46.598 166.411 QUADTO
-47.113 166.411 47.496 166.513 QUADTO
-47.879 166.614 48.285 166.927 QUADTO
-48.77 167.302 49.004 167.856 QUADTO
-49.238 168.411 49.238 169.161 QUADTO
-closepath
-48.051 169.208 M
-48.051 168.661 47.91 168.302 QUADTO
-47.77 167.942 47.457 167.677 QUADTO
-47.223 167.489 46.934 167.434 QUADTO
-46.645 167.38 46.348 167.38 QUADTO
-45.926 167.38 45.543 167.505 QUADTO
-45.16 167.63 44.785 167.864 QUADTO
-44.77 167.989 44.762 168.106 QUADTO
-44.754 168.224 44.754 168.411 QUADTO
-44.754 169.317 44.934 169.872 QUADTO
-45.113 170.427 45.379 170.724 QUADTO
-45.629 170.989 45.895 171.099 QUADTO
-46.16 171.208 46.473 171.208 QUADTO
-47.176 171.208 47.613 170.708 QUADTO
-48.051 170.208 48.051 169.208 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-53.633 167.225 M
-55.633 167.225 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-38.961 141.145 M
-38.961 143.489 38.281 144.591 QUADTO
-37.602 145.692 36.18 145.692 QUADTO
-34.727 145.692 34.055 144.567 QUADTO
-33.383 143.442 33.383 141.145 QUADTO
-33.383 138.786 34.07 137.692 QUADTO
-34.758 136.598 36.18 136.598 QUADTO
-37.617 136.598 38.289 137.731 QUADTO
-38.961 138.864 38.961 141.145 QUADTO
-closepath
-37.461 143.801 M
-37.633 143.364 37.703 142.7 QUADTO
-37.773 142.036 37.773 141.145 QUADTO
-37.773 140.239 37.703 139.575 QUADTO
-37.633 138.911 37.461 138.473 QUADTO
-37.289 138.036 36.977 137.801 QUADTO
-36.664 137.567 36.18 137.567 QUADTO
-35.695 137.567 35.375 137.801 QUADTO
-35.055 138.036 34.883 138.489 QUADTO
-34.711 138.942 34.641 139.622 QUADTO
-34.57 140.301 34.57 141.145 QUADTO
-34.57 142.067 34.625 142.684 QUADTO
-34.68 143.301 34.867 143.786 QUADTO
-35.039 144.239 35.352 144.481 QUADTO
-35.664 144.723 36.18 144.723 QUADTO
-36.664 144.723 36.977 144.489 QUADTO
-37.289 144.255 37.461 143.801 QUADTO
-closepath
-41.965 145.505 M
-40.559 145.505 lineto
-40.559 143.833 lineto
-41.965 143.833 lineto
-41.965 145.505 lineto
-closepath
-49.207 138.083 M
-45.426 145.505 lineto
-44.176 145.505 lineto
-48.176 137.801 lineto
-43.66 137.801 lineto
-43.66 136.786 lineto
-49.207 136.786 lineto
-49.207 138.083 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-53.633 140.741 M
-55.633 140.741 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-38.961 114.661 M
-38.961 117.004 38.281 118.106 QUADTO
-37.602 119.208 36.18 119.208 QUADTO
-34.727 119.208 34.055 118.083 QUADTO
-33.383 116.958 33.383 114.661 QUADTO
-33.383 112.301 34.07 111.208 QUADTO
-34.758 110.114 36.18 110.114 QUADTO
-37.617 110.114 38.289 111.247 QUADTO
-38.961 112.379 38.961 114.661 QUADTO
-closepath
-37.461 117.317 M
-37.633 116.879 37.703 116.215 QUADTO
-37.773 115.551 37.773 114.661 QUADTO
-37.773 113.754 37.703 113.09 QUADTO
-37.633 112.426 37.461 111.989 QUADTO
-37.289 111.551 36.977 111.317 QUADTO
-36.664 111.083 36.18 111.083 QUADTO
-35.695 111.083 35.375 111.317 QUADTO
-35.055 111.551 34.883 112.004 QUADTO
-34.711 112.458 34.641 113.137 QUADTO
-34.57 113.817 34.57 114.661 QUADTO
-34.57 115.583 34.625 116.2 QUADTO
-34.68 116.817 34.867 117.301 QUADTO
-35.039 117.754 35.352 117.997 QUADTO
-35.664 118.239 36.18 118.239 QUADTO
-36.664 118.239 36.977 118.004 QUADTO
-37.289 117.77 37.461 117.317 QUADTO
-closepath
-41.965 119.02 M
-40.559 119.02 lineto
-40.559 117.348 lineto
-41.965 117.348 lineto
-41.965 119.02 lineto
-closepath
-47.832 112.333 M
-47.832 111.739 47.441 111.348 QUADTO
-47.051 110.958 46.348 110.958 QUADTO
-45.707 110.958 45.301 111.309 QUADTO
-44.895 111.661 44.895 112.254 QUADTO
-44.895 112.692 45.105 112.989 QUADTO
-45.316 113.286 45.738 113.536 QUADTO
-45.91 113.629 46.285 113.801 QUADTO
-46.66 113.973 46.957 114.083 QUADTO
-47.473 113.692 47.652 113.278 QUADTO
-47.832 112.864 47.832 112.333 QUADTO
-closepath
-48.004 116.692 M
-48.004 116.161 47.793 115.84 QUADTO
-47.582 115.52 46.973 115.192 QUADTO
-46.77 115.083 46.441 114.958 QUADTO
-46.113 114.833 45.691 114.661 QUADTO
-45.207 114.973 44.949 115.45 QUADTO
-44.691 115.926 44.691 116.52 QUADTO
-44.691 117.317 45.168 117.833 QUADTO
-45.645 118.348 46.363 118.348 QUADTO
-47.113 118.348 47.559 117.903 QUADTO
-48.004 117.458 48.004 116.692 QUADTO
-closepath
-46.363 119.223 M
-45.707 119.223 45.176 119.028 QUADTO
-44.645 118.833 44.27 118.473 QUADTO
-43.895 118.114 43.707 117.629 QUADTO
-43.52 117.145 43.52 116.614 QUADTO
-43.52 115.895 43.895 115.301 QUADTO
-44.27 114.708 44.988 114.364 QUADTO
-44.988 114.333 lineto
-44.348 113.958 44.035 113.512 QUADTO
-43.723 113.067 43.723 112.395 QUADTO
-43.723 111.411 44.473 110.754 QUADTO
-45.223 110.098 46.363 110.098 QUADTO
-47.551 110.098 48.27 110.723 QUADTO
-48.988 111.348 48.988 112.317 QUADTO
-48.988 112.895 48.645 113.473 QUADTO
-48.301 114.051 47.66 114.379 QUADTO
-47.66 114.411 lineto
-48.41 114.77 48.809 115.278 QUADTO
-49.207 115.786 49.207 116.583 QUADTO
-49.207 117.708 48.395 118.465 QUADTO
-47.582 119.223 46.363 119.223 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-53.633 114.256 M
-55.633 114.256 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-38.961 88.176 M
-38.961 90.52 38.281 91.621 QUADTO
-37.602 92.723 36.18 92.723 QUADTO
-34.727 92.723 34.055 91.598 QUADTO
-33.383 90.473 33.383 88.176 QUADTO
-33.383 85.817 34.07 84.723 QUADTO
-34.758 83.629 36.18 83.629 QUADTO
-37.617 83.629 38.289 84.762 QUADTO
-38.961 85.895 38.961 88.176 QUADTO
-closepath
-37.461 90.832 M
-37.633 90.395 37.703 89.731 QUADTO
-37.773 89.067 37.773 88.176 QUADTO
-37.773 87.27 37.703 86.606 QUADTO
-37.633 85.942 37.461 85.504 QUADTO
-37.289 85.067 36.977 84.832 QUADTO
-36.664 84.598 36.18 84.598 QUADTO
-35.695 84.598 35.375 84.832 QUADTO
-35.055 85.067 34.883 85.52 QUADTO
-34.711 85.973 34.641 86.653 QUADTO
-34.57 87.332 34.57 88.176 QUADTO
-34.57 89.098 34.625 89.715 QUADTO
-34.68 90.332 34.867 90.817 QUADTO
-35.039 91.27 35.352 91.512 QUADTO
-35.664 91.754 36.18 91.754 QUADTO
-36.664 91.754 36.977 91.52 QUADTO
-37.289 91.286 37.461 90.832 QUADTO
-closepath
-41.965 92.536 M
-40.559 92.536 lineto
-40.559 90.864 lineto
-41.965 90.864 lineto
-41.965 92.536 lineto
-closepath
-47.957 87.395 M
-47.957 86.504 47.793 85.942 QUADTO
-47.629 85.379 47.348 85.082 QUADTO
-47.082 84.801 46.816 84.692 QUADTO
-46.551 84.582 46.238 84.582 QUADTO
-45.52 84.582 45.09 85.098 QUADTO
-44.66 85.614 44.66 86.598 QUADTO
-44.66 87.145 44.801 87.504 QUADTO
-44.941 87.864 45.27 88.129 QUADTO
-45.488 88.301 45.77 88.364 QUADTO
-46.051 88.426 46.363 88.426 QUADTO
-46.738 88.426 47.176 88.293 QUADTO
-47.613 88.161 47.941 87.942 QUADTO
-47.941 87.864 47.949 87.715 QUADTO
-47.957 87.567 47.957 87.395 QUADTO
-closepath
-43.473 86.645 M
-43.473 85.973 43.691 85.418 QUADTO
-43.91 84.864 44.301 84.457 QUADTO
-44.66 84.067 45.184 83.848 QUADTO
-45.707 83.629 46.254 83.629 QUADTO
-46.848 83.629 47.34 83.832 QUADTO
-47.832 84.036 48.191 84.426 QUADTO
-48.645 84.895 48.887 85.676 QUADTO
-49.129 86.457 49.129 87.645 QUADTO
-49.129 88.739 48.887 89.707 QUADTO
-48.645 90.676 48.176 91.317 QUADTO
-47.676 91.989 46.965 92.348 QUADTO
-46.254 92.707 45.223 92.707 QUADTO
-44.988 92.707 44.723 92.684 QUADTO
-44.457 92.661 44.238 92.582 QUADTO
-44.238 91.457 lineto
-44.285 91.457 lineto
-44.441 91.551 44.746 91.621 QUADTO
-45.051 91.692 45.379 91.692 QUADTO
-46.535 91.692 47.191 90.942 QUADTO
-47.848 90.192 47.926 88.786 QUADTO
-47.457 89.098 47.035 89.246 QUADTO
-46.613 89.395 46.113 89.395 QUADTO
-45.629 89.395 45.23 89.286 QUADTO
-44.832 89.176 44.426 88.879 QUADTO
-43.957 88.52 43.715 87.973 QUADTO
-43.473 87.426 43.473 86.645 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-53.633 87.772 M
-55.633 87.772 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-38.477 66.051 M
-34.227 66.051 lineto
-34.227 65.16 lineto
-35.805 65.16 lineto
-35.805 59.317 lineto
-34.227 59.317 lineto
-34.227 58.52 lineto
-35.117 58.52 35.547 58.262 QUADTO
-35.977 58.004 36.023 57.301 QUADTO
-36.93 57.301 lineto
-36.93 65.16 lineto
-38.477 65.16 lineto
-38.477 66.051 lineto
-closepath
-41.965 66.051 M
-40.559 66.051 lineto
-40.559 64.379 lineto
-41.965 64.379 lineto
-41.965 66.051 lineto
-closepath
-49.145 61.692 M
-49.145 64.035 48.465 65.137 QUADTO
-47.785 66.238 46.363 66.238 QUADTO
-44.91 66.238 44.238 65.113 QUADTO
-43.566 63.988 43.566 61.692 QUADTO
-43.566 59.332 44.254 58.238 QUADTO
-44.941 57.145 46.363 57.145 QUADTO
-47.801 57.145 48.473 58.278 QUADTO
-49.145 59.41 49.145 61.692 QUADTO
-closepath
-47.645 64.348 M
-47.816 63.91 47.887 63.246 QUADTO
-47.957 62.582 47.957 61.692 QUADTO
-47.957 60.785 47.887 60.121 QUADTO
-47.816 59.457 47.645 59.02 QUADTO
-47.473 58.582 47.16 58.348 QUADTO
-46.848 58.113 46.363 58.113 QUADTO
-45.879 58.113 45.559 58.348 QUADTO
-45.238 58.582 45.066 59.035 QUADTO
-44.895 59.488 44.824 60.168 QUADTO
-44.754 60.848 44.754 61.692 QUADTO
-44.754 62.613 44.809 63.231 QUADTO
-44.863 63.848 45.051 64.332 QUADTO
-45.223 64.785 45.535 65.028 QUADTO
-45.848 65.27 46.363 65.27 QUADTO
-46.848 65.27 47.16 65.035 QUADTO
-47.473 64.801 47.645 64.348 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-53.633 61.287 M
-55.633 61.287 lineto
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.251 setgray
-newpath
-38.477 39.566 M
-34.227 39.566 lineto
-34.227 38.676 lineto
-35.805 38.676 lineto
-35.805 32.832 lineto
-34.227 32.832 lineto
-34.227 32.035 lineto
-35.117 32.035 35.547 31.777 QUADTO
-35.977 31.52 36.023 30.816 QUADTO
-36.93 30.816 lineto
-36.93 38.676 lineto
-38.477 38.676 lineto
-38.477 39.566 lineto
-closepath
-41.965 39.566 M
-40.559 39.566 lineto
-40.559 37.895 lineto
-41.965 37.895 lineto
-41.965 39.566 lineto
-closepath
-48.66 39.566 M
-44.41 39.566 lineto
-44.41 38.676 lineto
-45.988 38.676 lineto
-45.988 32.832 lineto
-44.41 32.832 lineto
-44.41 32.035 lineto
-45.301 32.035 45.73 31.777 QUADTO
-46.16 31.52 46.207 30.816 QUADTO
-47.113 30.816 lineto
-47.113 38.676 lineto
-48.66 38.676 lineto
-48.66 39.566 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-0.502 setgray
-2 setlinecap
-10.0 setmiterlimit
-newpath
-53.633 34.803 M
-55.633 34.803 lineto
-stroke
-grestore
-gsave
-[0 -1 1 0 -160.6875 199.58594] concat
-newpath
-199.586 160.688 M
-199.586 560.688 lineto
--200.414 560.688 lineto
--200.414 160.688 lineto
-199.586 160.688 lineto
-closepath
-clip
-0.251 setgray
-newpath
--27.543 185.897 M
--28.496 185.897 -29.285 185.655 QUADTO
--30.074 185.413 -30.652 184.929 QUADTO
--31.23 184.429 -31.551 183.671 QUADTO
--31.871 182.913 -31.871 181.882 QUADTO
--31.871 180.788 -31.527 180.015 QUADTO
--31.184 179.241 -30.59 178.741 QUADTO
--30.012 178.257 -29.23 178.03 QUADTO
--28.449 177.804 -27.621 177.804 QUADTO
--26.98 177.804 -26.348 177.952 QUADTO
--25.715 178.101 -25.059 178.413 QUADTO
--25.059 180.476 lineto
--25.371 180.476 lineto
--25.512 180.335 -25.723 180.171 QUADTO
--25.934 180.007 -26.184 179.866 QUADTO
--26.434 179.726 -26.762 179.624 QUADTO
--27.09 179.522 -27.496 179.522 QUADTO
--28.418 179.522 -28.918 180.163 QUADTO
--29.418 180.804 -29.418 181.882 QUADTO
--29.418 183.038 -28.879 183.608 QUADTO
--28.34 184.179 -27.465 184.179 QUADTO
--27.012 184.179 -26.668 184.077 QUADTO
--26.324 183.976 -26.074 183.835 QUADTO
--25.84 183.679 -25.668 183.53 QUADTO
--25.496 183.382 -25.371 183.257 QUADTO
--25.059 183.257 lineto
--25.059 185.304 lineto
--25.277 185.397 -25.543 185.515 QUADTO
--25.809 185.632 -26.09 185.694 QUADTO
--26.434 185.804 -26.738 185.851 QUADTO
--27.043 185.897 -27.543 185.897 QUADTO
-closepath
--16.566 181.866 M
--16.566 183.757 -17.598 184.843 QUADTO
--18.629 185.929 -20.52 185.929 QUADTO
--22.41 185.929 -23.449 184.843 QUADTO
--24.488 183.757 -24.488 181.866 QUADTO
--24.488 179.944 -23.449 178.858 QUADTO
--22.41 177.772 -20.52 177.772 QUADTO
--18.645 177.772 -17.605 178.866 QUADTO
--16.566 179.96 -16.566 181.866 QUADTO
-closepath
--19.02 181.866 M
--19.02 181.194 -19.129 180.733 QUADTO
--19.238 180.272 -19.441 180.007 QUADTO
--19.645 179.726 -19.918 179.608 QUADTO
--20.191 179.491 -20.52 179.491 QUADTO
--20.848 179.491 -21.105 179.593 QUADTO
--21.363 179.694 -21.582 179.976 QUADTO
--21.785 180.241 -21.91 180.702 QUADTO
--22.035 181.163 -22.035 181.866 QUADTO
--22.035 182.569 -21.918 183.007 QUADTO
--21.801 183.444 -21.613 183.71 QUADTO
--21.426 183.976 -21.137 184.093 QUADTO
--20.848 184.21 -20.504 184.21 QUADTO
--20.223 184.21 -19.926 184.093 QUADTO
--19.629 183.976 -19.441 183.726 QUADTO
--19.238 183.429 -19.129 183.015 QUADTO
--19.02 182.601 -19.02 181.866 QUADTO
-closepath
--7.77 181.757 M
--7.77 183.585 -8.699 184.718 QUADTO
--9.629 185.851 -11.004 185.851 QUADTO
--11.566 185.851 -11.996 185.718 QUADTO
--12.426 185.585 -12.895 185.304 QUADTO
--12.895 188.507 lineto
--15.285 188.507 lineto
--15.285 178.022 lineto
--12.895 178.022 lineto
--12.895 178.819 lineto
--12.379 178.366 -11.832 178.085 QUADTO
--11.285 177.804 -10.566 177.804 QUADTO
--9.223 177.804 -8.496 178.866 QUADTO
--7.77 179.929 -7.77 181.757 QUADTO
-closepath
--10.207 181.804 M
--10.207 180.679 -10.551 180.171 QUADTO
--10.895 179.663 -11.629 179.663 QUADTO
--11.957 179.663 -12.277 179.765 QUADTO
--12.598 179.866 -12.895 180.069 QUADTO
--12.895 183.944 lineto
--12.707 184.022 -12.48 184.054 QUADTO
--12.254 184.085 -11.941 184.085 QUADTO
--11.066 184.085 -10.637 183.515 QUADTO
--10.207 182.944 -10.207 181.804 QUADTO
-closepath
--4.083 185.694 M
--6.474 185.694 lineto
--6.474 178.022 lineto
--4.083 178.022 lineto
--4.083 185.694 lineto
-closepath
--4.021 176.929 M
--6.552 176.929 lineto
--6.552 175.054 lineto
--4.021 175.054 lineto
--4.021 176.929 lineto
-closepath
-1.673 185.897 M
--0.499 185.897 -1.655 184.858 QUADTO
--2.812 183.819 -2.812 181.897 QUADTO
--2.812 180.022 -1.733 178.897 QUADTO
--0.655 177.772 1.282 177.772 QUADTO
-3.048 177.772 3.938 178.726 QUADTO
-4.829 179.679 4.829 181.444 QUADTO
-4.829 182.304 lineto
--0.421 182.304 lineto
--0.374 182.851 -0.187 183.202 QUADTO
-0.001 183.554 0.313 183.772 QUADTO
-0.626 183.991 1.032 184.077 QUADTO
-1.438 184.163 1.923 184.163 QUADTO
-2.345 184.163 2.751 184.077 QUADTO
-3.157 183.991 3.485 183.835 QUADTO
-3.782 183.71 4.032 183.554 QUADTO
-4.282 183.397 4.438 183.288 QUADTO
-4.688 183.288 lineto
-4.688 185.257 lineto
-4.392 185.382 4.149 185.483 QUADTO
-3.907 185.585 3.485 185.679 QUADTO
-3.095 185.788 2.681 185.843 QUADTO
-2.267 185.897 1.673 185.897 QUADTO
-closepath
-2.47 180.866 M
-2.454 180.116 2.118 179.718 QUADTO
-1.782 179.319 1.095 179.319 QUADTO
-0.407 179.319 0.017 179.733 QUADTO
--0.374 180.147 -0.421 180.866 QUADTO
-2.47 180.866 lineto
-closepath
-8.392 185.913 M
-7.548 185.913 6.79 185.726 QUADTO
-6.032 185.538 5.548 185.288 QUADTO
-5.548 183.272 lineto
-5.751 183.272 lineto
-5.907 183.397 6.126 183.554 QUADTO
-6.345 183.71 6.735 183.882 QUADTO
-7.079 184.038 7.501 184.155 QUADTO
-7.923 184.272 8.407 184.272 QUADTO
-8.923 184.272 9.306 184.108 QUADTO
-9.688 183.944 9.688 183.616 QUADTO
-9.688 183.335 9.509 183.202 QUADTO
-9.329 183.069 8.813 182.944 QUADTO
-8.548 182.882 8.134 182.804 QUADTO
-7.72 182.726 7.392 182.616 QUADTO
-6.485 182.335 6.032 181.788 QUADTO
-5.579 181.241 5.579 180.335 QUADTO
-5.579 179.835 5.813 179.374 QUADTO
-6.048 178.913 6.517 178.569 QUADTO
-6.97 178.21 7.642 178.007 QUADTO
-8.313 177.804 9.157 177.804 QUADTO
-9.97 177.804 10.649 177.968 QUADTO
-11.329 178.132 11.782 178.351 QUADTO
-11.782 180.288 lineto
-11.595 180.288 lineto
-11.47 180.194 11.204 180.038 QUADTO
-10.938 179.882 10.688 179.757 QUADTO
-10.392 179.616 10.017 179.53 QUADTO
-9.642 179.444 9.251 179.444 QUADTO
-8.735 179.444 8.376 179.624 QUADTO
-8.017 179.804 8.017 180.101 QUADTO
-8.017 180.351 8.196 180.507 QUADTO
-8.376 180.663 8.97 180.804 QUADTO
-9.267 180.882 9.665 180.952 QUADTO
-10.063 181.022 10.438 181.147 QUADTO
-11.267 181.413 11.696 181.929 QUADTO
-12.126 182.444 12.126 183.288 QUADTO
-12.126 183.835 11.868 184.327 QUADTO
-11.61 184.819 11.157 185.147 QUADTO
-10.657 185.507 9.993 185.71 QUADTO
-9.329 185.913 8.392 185.913 QUADTO
-closepath
-19.761 185.694 M
-17.37 185.694 lineto
-17.37 178.022 lineto
-19.761 178.022 lineto
-19.761 185.694 lineto
-closepath
-19.823 176.929 M
-17.292 176.929 lineto
-17.292 175.054 lineto
-19.823 175.054 lineto
-19.823 176.929 lineto
-closepath
-28.782 185.694 M
-26.376 185.694 lineto
-26.376 181.882 lineto
-26.376 181.429 26.337 180.96 QUADTO
-26.298 180.491 26.204 180.272 QUADTO
-26.079 180.022 25.845 179.905 QUADTO
-25.61 179.788 25.22 179.788 QUADTO
-24.923 179.788 24.626 179.897 QUADTO
-24.329 180.007 23.985 180.257 QUADTO
-23.985 185.694 lineto
-21.595 185.694 lineto
-21.595 178.022 lineto
-23.985 178.022 lineto
-23.985 178.866 lineto
-24.563 178.366 25.126 178.085 QUADTO
-25.688 177.804 26.36 177.804 QUADTO
-27.532 177.804 28.157 178.546 QUADTO
-28.782 179.288 28.782 180.694 QUADTO
-28.782 185.694 lineto
-closepath
-39.564 176.866 M
-39.377 176.866 lineto
-39.236 176.819 38.947 176.757 QUADTO
-38.658 176.694 38.393 176.694 QUADTO
-37.674 176.694 37.408 176.96 QUADTO
-37.143 177.226 37.143 177.96 QUADTO
-37.143 178.022 lineto
-39.049 178.022 lineto
-39.049 179.679 lineto
-37.236 179.679 lineto
-37.236 185.694 lineto
-34.83 185.694 lineto
-34.83 179.679 lineto
-33.877 179.679 lineto
-33.877 178.022 lineto
-34.83 178.022 lineto
-34.83 177.804 lineto
-34.83 176.397 35.572 175.694 QUADTO
-36.314 174.991 37.814 174.991 QUADTO
-38.33 174.991 38.783 175.03 QUADTO
-39.236 175.069 39.564 175.132 QUADTO
-39.564 176.866 lineto
-closepath
-42.401 185.694 M
-40.011 185.694 lineto
-40.011 175.054 lineto
-42.401 175.054 lineto
-42.401 185.694 lineto
-closepath
-46.626 185.694 M
-44.235 185.694 lineto
-44.235 178.022 lineto
-46.626 178.022 lineto
-46.626 185.694 lineto
-closepath
-46.688 176.929 M
-44.157 176.929 lineto
-44.157 175.054 lineto
-46.688 175.054 lineto
-46.688 176.929 lineto
-closepath
-53.038 183.272 M
-53.038 179.788 lineto
-52.866 179.71 52.608 179.655 QUADTO
-52.351 179.601 52.085 179.601 QUADTO
-51.226 179.601 50.788 180.155 QUADTO
-50.351 180.71 50.351 181.71 QUADTO
-50.351 182.21 50.421 182.554 QUADTO
-50.491 182.897 50.663 183.179 QUADTO
-50.835 183.429 51.108 183.562 QUADTO
-51.382 183.694 51.819 183.694 QUADTO
-52.132 183.694 52.444 183.585 QUADTO
-52.757 183.476 53.038 183.272 QUADTO
-closepath
-55.429 184.819 M
-55.429 185.882 55.124 186.624 QUADTO
-54.819 187.366 54.288 187.788 QUADTO
-53.757 188.21 53.007 188.397 QUADTO
-52.257 188.585 51.351 188.585 QUADTO
-50.585 188.585 49.897 188.483 QUADTO
-49.21 188.382 48.71 188.257 QUADTO
-48.71 186.335 lineto
-48.991 186.335 lineto
-49.163 186.413 49.405 186.491 QUADTO
-49.647 186.569 49.897 186.632 QUADTO
-50.194 186.71 50.476 186.757 QUADTO
-50.757 186.804 51.038 186.804 QUADTO
-51.647 186.804 52.054 186.679 QUADTO
-52.46 186.554 52.679 186.319 QUADTO
-52.882 186.085 52.96 185.757 QUADTO
-53.038 185.429 53.038 184.944 QUADTO
-53.038 184.804 lineto
-52.632 185.147 52.108 185.366 QUADTO
-51.585 185.585 51.022 185.585 QUADTO
-49.522 185.585 48.718 184.616 QUADTO
-47.913 183.647 47.913 181.663 QUADTO
-47.913 180.757 48.163 180.038 QUADTO
-48.413 179.319 48.851 178.819 QUADTO
-49.272 178.335 49.874 178.069 QUADTO
-50.476 177.804 51.132 177.804 QUADTO
-51.71 177.804 52.179 177.952 QUADTO
-52.647 178.101 53.022 178.366 QUADTO
-53.116 178.022 lineto
-55.429 178.022 lineto
-55.429 184.819 lineto
-closepath
-64.459 185.694 M
-62.053 185.694 lineto
-62.053 181.882 lineto
-62.053 181.429 62.014 180.96 QUADTO
-61.975 180.491 61.881 180.272 QUADTO
-61.756 180.022 61.521 179.905 QUADTO
-61.287 179.788 60.896 179.788 QUADTO
-60.6 179.788 60.303 179.897 QUADTO
-60.006 180.007 59.662 180.257 QUADTO
-59.662 185.694 lineto
-57.271 185.694 lineto
-57.271 175.054 lineto
-59.662 175.054 lineto
-59.662 178.866 lineto
-60.24 178.366 60.803 178.085 QUADTO
-61.365 177.804 62.037 177.804 QUADTO
-63.209 177.804 63.834 178.546 QUADTO
-64.459 179.288 64.459 180.694 QUADTO
-64.459 185.694 lineto
-closepath
-69.171 185.851 M
-67.702 185.851 67.038 185.249 QUADTO
-66.374 184.647 66.374 183.272 QUADTO
-66.374 179.679 lineto
-65.452 179.679 lineto
-65.452 178.022 lineto
-66.374 178.022 lineto
-66.374 175.819 lineto
-68.765 175.819 lineto
-68.765 178.022 lineto
-71.062 178.022 lineto
-71.062 179.679 lineto
-68.765 179.679 lineto
-68.765 182.413 lineto
-68.765 182.804 68.772 183.108 QUADTO
-68.78 183.413 68.874 183.647 QUADTO
-68.983 183.882 69.226 184.022 QUADTO
-69.468 184.163 69.921 184.163 QUADTO
-70.124 184.163 70.429 184.085 QUADTO
-70.733 184.007 70.858 183.944 QUADTO
-71.062 183.944 lineto
-71.062 185.632 lineto
-70.671 185.726 70.233 185.788 QUADTO
-69.796 185.851 69.171 185.851 QUADTO
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-93.625 34.141 M
-93.625 326.133 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-127.618 34.141 M
-127.618 326.133 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-161.61 34.141 M
-161.61 326.133 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-195.603 34.141 M
-195.603 326.133 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-229.595 34.141 M
-229.595 326.133 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-263.588 34.141 M
-263.588 326.133 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-297.58 34.141 M
-297.58 326.133 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-331.573 34.141 M
-331.573 326.133 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-365.565 34.141 M
-365.565 326.133 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-59.633 326.133 M
-388 326.133 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-59.633 299.648 M
-388 299.648 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-59.633 273.164 M
-388 273.164 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-59.633 246.679 M
-388 246.679 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-59.633 220.195 M
-388 220.195 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-59.633 193.71 M
-388 193.71 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-59.633 167.225 M
-388 167.225 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-59.633 140.741 M
-388 140.741 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-59.633 114.256 M
-388 114.256 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-59.633 87.772 M
-388 87.772 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-59.633 61.287 M
-388 61.287 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 setgray
-[2 2] 0 setdash
-2 setlinejoin
-2 setlinejoin
-0.5 setlinewidth
-newpath
-59.633 34.803 M
-388 34.803 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-59.633 74.53 M
-73.23 74.53 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-73.23 74.53 M
-86.827 74.53 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-86.827 74.53 M
-100.424 74.53 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-100.424 74.53 M
-114.021 74.53 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-114.021 74.53 M
-127.618 206.952 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-127.618 206.952 M
-141.215 206.952 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-141.215 206.952 M
-154.812 206.952 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-154.812 206.952 M
-168.409 206.952 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-168.409 206.952 M
-182.006 220.195 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-182.006 220.195 M
-195.603 299.648 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-195.603 299.648 M
-209.2 299.648 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-209.2 299.648 M
-222.797 299.648 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-222.797 299.648 M
-236.394 299.648 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-236.394 299.648 M
-249.991 312.891 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-59.633 71.881 M
-73.23 71.881 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-73.23 71.881 M
-86.827 71.881 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-86.827 71.881 M
-100.424 71.881 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-100.424 71.881 M
-114.021 71.881 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-114.021 71.881 M
-127.618 167.225 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-127.618 167.225 M
-141.215 167.225 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-141.215 167.225 M
-154.812 167.225 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-154.812 167.225 M
-168.409 167.225 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-168.409 167.225 M
-182.006 188.413 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-182.006 188.413 M
-195.603 273.164 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-195.603 273.164 M
-209.2 273.164 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-209.2 273.164 M
-222.797 273.164 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-222.797 273.164 M
-236.394 273.164 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-236.394 273.164 M
-249.991 304.945 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-249.991 304.945 M
-263.588 315.539 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-263.588 315.539 M
-277.185 315.539 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-277.185 315.539 M
-290.782 315.539 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-290.782 315.539 M
-304.379 315.539 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-59.633 48.045 M
-73.23 48.045 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-73.23 48.045 M
-86.827 48.045 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-86.827 48.045 M
-100.424 48.045 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-100.424 48.045 M
-114.021 48.045 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-114.021 48.045 M
-127.618 101.014 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-127.618 101.014 M
-141.215 101.014 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-141.215 101.014 M
-154.812 101.014 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-154.812 101.014 M
-168.409 101.014 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-168.409 101.014 M
-182.006 101.014 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-182.006 101.014 M
-195.603 206.952 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-195.603 206.952 M
-209.2 206.952 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-209.2 206.952 M
-222.797 206.952 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-222.797 206.952 M
-236.394 206.952 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-236.394 206.952 M
-249.991 220.195 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-249.991 220.195 M
-263.588 286.406 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-263.588 286.406 M
-277.185 286.406 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-277.185 286.406 M
-290.782 286.406 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-290.782 286.406 M
-304.379 286.406 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-304.379 286.406 M
-317.976 312.891 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-317.976 312.891 M
-331.573 312.891 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-331.573 312.891 M
-345.169 312.891 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-345.169 312.891 M
-358.766 312.891 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-2 setlinejoin
-2 setlinejoin
-newpath
-358.766 312.891 M
-372.363 312.891 lineto
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-59.633 71.53 M
-62.633 77.53 lineto
-56.633 77.53 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-59.633 71.53 M
-62.633 77.53 lineto
-56.633 77.53 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-73.23 71.53 M
-76.23 77.53 lineto
-70.23 77.53 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-73.23 71.53 M
-76.23 77.53 lineto
-70.23 77.53 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-86.827 71.53 M
-89.827 77.53 lineto
-83.827 77.53 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-86.827 71.53 M
-89.827 77.53 lineto
-83.827 77.53 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-100.424 71.53 M
-103.424 77.53 lineto
-97.424 77.53 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-100.424 71.53 M
-103.424 77.53 lineto
-97.424 77.53 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-114.021 71.53 M
-117.021 77.53 lineto
-111.021 77.53 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-114.021 71.53 M
-117.021 77.53 lineto
-111.021 77.53 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-127.618 203.952 M
-130.618 209.952 lineto
-124.618 209.952 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-127.618 203.952 M
-130.618 209.952 lineto
-124.618 209.952 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-141.215 203.952 M
-144.215 209.952 lineto
-138.215 209.952 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-141.215 203.952 M
-144.215 209.952 lineto
-138.215 209.952 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-154.812 203.952 M
-157.812 209.952 lineto
-151.812 209.952 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-154.812 203.952 M
-157.812 209.952 lineto
-151.812 209.952 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-168.409 203.952 M
-171.409 209.952 lineto
-165.409 209.952 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-168.409 203.952 M
-171.409 209.952 lineto
-165.409 209.952 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-182.006 217.195 M
-185.006 223.195 lineto
-179.006 223.195 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-182.006 217.195 M
-185.006 223.195 lineto
-179.006 223.195 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-195.603 296.648 M
-198.603 302.648 lineto
-192.603 302.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-195.603 296.648 M
-198.603 302.648 lineto
-192.603 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-209.2 296.648 M
-212.2 302.648 lineto
-206.2 302.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-209.2 296.648 M
-212.2 302.648 lineto
-206.2 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-222.797 296.648 M
-225.797 302.648 lineto
-219.797 302.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-222.797 296.648 M
-225.797 302.648 lineto
-219.797 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-236.394 296.648 M
-239.394 302.648 lineto
-233.394 302.648 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-236.394 296.648 M
-239.394 302.648 lineto
-233.394 302.648 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-newpath
-249.991 309.891 M
-252.991 315.891 lineto
-246.991 315.891 lineto
-closepath
-eofill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 1 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-249.991 309.891 M
-252.991 315.891 lineto
-246.991 315.891 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-62.633 71.881 M
-62.633 73.538 61.29 74.881 59.633 74.881 curveto
-57.976 74.881 56.633 73.538 56.633 71.881 curveto
-56.633 70.224 57.976 68.881 59.633 68.881 curveto
-61.29 68.881 62.633 70.224 62.633 71.881 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-62.633 71.881 M
-62.633 73.538 61.29 74.881 59.633 74.881 curveto
-57.976 74.881 56.633 73.538 56.633 71.881 curveto
-56.633 70.224 57.976 68.881 59.633 68.881 curveto
-61.29 68.881 62.633 70.224 62.633 71.881 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-76.23 71.881 M
-76.23 73.538 74.887 74.881 73.23 74.881 curveto
-71.573 74.881 70.23 73.538 70.23 71.881 curveto
-70.23 70.224 71.573 68.881 73.23 68.881 curveto
-74.887 68.881 76.23 70.224 76.23 71.881 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-76.23 71.881 M
-76.23 73.538 74.887 74.881 73.23 74.881 curveto
-71.573 74.881 70.23 73.538 70.23 71.881 curveto
-70.23 70.224 71.573 68.881 73.23 68.881 curveto
-74.887 68.881 76.23 70.224 76.23 71.881 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-89.827 71.881 M
-89.827 73.538 88.484 74.881 86.827 74.881 curveto
-85.17 74.881 83.827 73.538 83.827 71.881 curveto
-83.827 70.224 85.17 68.881 86.827 68.881 curveto
-88.484 68.881 89.827 70.224 89.827 71.881 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-89.827 71.881 M
-89.827 73.538 88.484 74.881 86.827 74.881 curveto
-85.17 74.881 83.827 73.538 83.827 71.881 curveto
-83.827 70.224 85.17 68.881 86.827 68.881 curveto
-88.484 68.881 89.827 70.224 89.827 71.881 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-103.424 71.881 M
-103.424 73.538 102.081 74.881 100.424 74.881 curveto
-98.767 74.881 97.424 73.538 97.424 71.881 curveto
-97.424 70.224 98.767 68.881 100.424 68.881 curveto
-102.081 68.881 103.424 70.224 103.424 71.881 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-103.424 71.881 M
-103.424 73.538 102.081 74.881 100.424 74.881 curveto
-98.767 74.881 97.424 73.538 97.424 71.881 curveto
-97.424 70.224 98.767 68.881 100.424 68.881 curveto
-102.081 68.881 103.424 70.224 103.424 71.881 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-117.021 71.881 M
-117.021 73.538 115.678 74.881 114.021 74.881 curveto
-112.364 74.881 111.021 73.538 111.021 71.881 curveto
-111.021 70.224 112.364 68.881 114.021 68.881 curveto
-115.678 68.881 117.021 70.224 117.021 71.881 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-117.021 71.881 M
-117.021 73.538 115.678 74.881 114.021 74.881 curveto
-112.364 74.881 111.021 73.538 111.021 71.881 curveto
-111.021 70.224 112.364 68.881 114.021 68.881 curveto
-115.678 68.881 117.021 70.224 117.021 71.881 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-130.618 167.225 M
-130.618 168.882 129.275 170.225 127.618 170.225 curveto
-125.961 170.225 124.618 168.882 124.618 167.225 curveto
-124.618 165.569 125.961 164.225 127.618 164.225 curveto
-129.275 164.225 130.618 165.569 130.618 167.225 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-130.618 167.225 M
-130.618 168.882 129.275 170.225 127.618 170.225 curveto
-125.961 170.225 124.618 168.882 124.618 167.225 curveto
-124.618 165.569 125.961 164.225 127.618 164.225 curveto
-129.275 164.225 130.618 165.569 130.618 167.225 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-144.215 167.225 M
-144.215 168.882 142.872 170.225 141.215 170.225 curveto
-139.558 170.225 138.215 168.882 138.215 167.225 curveto
-138.215 165.569 139.558 164.225 141.215 164.225 curveto
-142.872 164.225 144.215 165.569 144.215 167.225 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-144.215 167.225 M
-144.215 168.882 142.872 170.225 141.215 170.225 curveto
-139.558 170.225 138.215 168.882 138.215 167.225 curveto
-138.215 165.569 139.558 164.225 141.215 164.225 curveto
-142.872 164.225 144.215 165.569 144.215 167.225 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-157.812 167.225 M
-157.812 168.882 156.469 170.225 154.812 170.225 curveto
-153.155 170.225 151.812 168.882 151.812 167.225 curveto
-151.812 165.569 153.155 164.225 154.812 164.225 curveto
-156.469 164.225 157.812 165.569 157.812 167.225 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-157.812 167.225 M
-157.812 168.882 156.469 170.225 154.812 170.225 curveto
-153.155 170.225 151.812 168.882 151.812 167.225 curveto
-151.812 165.569 153.155 164.225 154.812 164.225 curveto
-156.469 164.225 157.812 165.569 157.812 167.225 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-171.409 167.225 M
-171.409 168.882 170.066 170.225 168.409 170.225 curveto
-166.752 170.225 165.409 168.882 165.409 167.225 curveto
-165.409 165.569 166.752 164.225 168.409 164.225 curveto
-170.066 164.225 171.409 165.569 171.409 167.225 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-171.409 167.225 M
-171.409 168.882 170.066 170.225 168.409 170.225 curveto
-166.752 170.225 165.409 168.882 165.409 167.225 curveto
-165.409 165.569 166.752 164.225 168.409 164.225 curveto
-170.066 164.225 171.409 165.569 171.409 167.225 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-185.006 188.413 M
-185.006 190.07 183.663 191.413 182.006 191.413 curveto
-180.349 191.413 179.006 190.07 179.006 188.413 curveto
-179.006 186.756 180.349 185.413 182.006 185.413 curveto
-183.663 185.413 185.006 186.756 185.006 188.413 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-185.006 188.413 M
-185.006 190.07 183.663 191.413 182.006 191.413 curveto
-180.349 191.413 179.006 190.07 179.006 188.413 curveto
-179.006 186.756 180.349 185.413 182.006 185.413 curveto
-183.663 185.413 185.006 186.756 185.006 188.413 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-198.603 273.164 M
-198.603 274.821 197.26 276.164 195.603 276.164 curveto
-193.946 276.164 192.603 274.821 192.603 273.164 curveto
-192.603 271.507 193.946 270.164 195.603 270.164 curveto
-197.26 270.164 198.603 271.507 198.603 273.164 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-198.603 273.164 M
-198.603 274.821 197.26 276.164 195.603 276.164 curveto
-193.946 276.164 192.603 274.821 192.603 273.164 curveto
-192.603 271.507 193.946 270.164 195.603 270.164 curveto
-197.26 270.164 198.603 271.507 198.603 273.164 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-212.2 273.164 M
-212.2 274.821 210.857 276.164 209.2 276.164 curveto
-207.543 276.164 206.2 274.821 206.2 273.164 curveto
-206.2 271.507 207.543 270.164 209.2 270.164 curveto
-210.857 270.164 212.2 271.507 212.2 273.164 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-212.2 273.164 M
-212.2 274.821 210.857 276.164 209.2 276.164 curveto
-207.543 276.164 206.2 274.821 206.2 273.164 curveto
-206.2 271.507 207.543 270.164 209.2 270.164 curveto
-210.857 270.164 212.2 271.507 212.2 273.164 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-225.797 273.164 M
-225.797 274.821 224.453 276.164 222.797 276.164 curveto
-221.14 276.164 219.797 274.821 219.797 273.164 curveto
-219.797 271.507 221.14 270.164 222.797 270.164 curveto
-224.453 270.164 225.797 271.507 225.797 273.164 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-225.797 273.164 M
-225.797 274.821 224.453 276.164 222.797 276.164 curveto
-221.14 276.164 219.797 274.821 219.797 273.164 curveto
-219.797 271.507 221.14 270.164 222.797 270.164 curveto
-224.453 270.164 225.797 271.507 225.797 273.164 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-239.394 273.164 M
-239.394 274.821 238.05 276.164 236.394 276.164 curveto
-234.737 276.164 233.394 274.821 233.394 273.164 curveto
-233.394 271.507 234.737 270.164 236.394 270.164 curveto
-238.05 270.164 239.394 271.507 239.394 273.164 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-239.394 273.164 M
-239.394 274.821 238.05 276.164 236.394 276.164 curveto
-234.737 276.164 233.394 274.821 233.394 273.164 curveto
-233.394 271.507 234.737 270.164 236.394 270.164 curveto
-238.05 270.164 239.394 271.507 239.394 273.164 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-252.991 304.945 M
-252.991 306.602 251.647 307.945 249.991 307.945 curveto
-248.334 307.945 246.991 306.602 246.991 304.945 curveto
-246.991 303.288 248.334 301.945 249.991 301.945 curveto
-251.647 301.945 252.991 303.288 252.991 304.945 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-252.991 304.945 M
-252.991 306.602 251.647 307.945 249.991 307.945 curveto
-248.334 307.945 246.991 306.602 246.991 304.945 curveto
-246.991 303.288 248.334 301.945 249.991 301.945 curveto
-251.647 301.945 252.991 303.288 252.991 304.945 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-266.588 315.539 M
-266.588 317.196 265.244 318.539 263.588 318.539 curveto
-261.931 318.539 260.588 317.196 260.588 315.539 curveto
-260.588 313.882 261.931 312.539 263.588 312.539 curveto
-265.244 312.539 266.588 313.882 266.588 315.539 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-266.588 315.539 M
-266.588 317.196 265.244 318.539 263.588 318.539 curveto
-261.931 318.539 260.588 317.196 260.588 315.539 curveto
-260.588 313.882 261.931 312.539 263.588 312.539 curveto
-265.244 312.539 266.588 313.882 266.588 315.539 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-280.185 315.539 M
-280.185 317.196 278.841 318.539 277.185 318.539 curveto
-275.528 318.539 274.185 317.196 274.185 315.539 curveto
-274.185 313.882 275.528 312.539 277.185 312.539 curveto
-278.841 312.539 280.185 313.882 280.185 315.539 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-280.185 315.539 M
-280.185 317.196 278.841 318.539 277.185 318.539 curveto
-275.528 318.539 274.185 317.196 274.185 315.539 curveto
-274.185 313.882 275.528 312.539 277.185 312.539 curveto
-278.841 312.539 280.185 313.882 280.185 315.539 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-293.782 315.539 M
-293.782 317.196 292.438 318.539 290.782 318.539 curveto
-289.125 318.539 287.782 317.196 287.782 315.539 curveto
-287.782 313.882 289.125 312.539 290.782 312.539 curveto
-292.438 312.539 293.782 313.882 293.782 315.539 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-293.782 315.539 M
-293.782 317.196 292.438 318.539 290.782 318.539 curveto
-289.125 318.539 287.782 317.196 287.782 315.539 curveto
-287.782 313.882 289.125 312.539 290.782 312.539 curveto
-292.438 312.539 293.782 313.882 293.782 315.539 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-newpath
-307.379 315.539 M
-307.379 317.196 306.035 318.539 304.379 318.539 curveto
-302.722 318.539 301.379 317.196 301.379 315.539 curveto
-301.379 313.882 302.722 312.539 304.379 312.539 curveto
-306.035 312.539 307.379 313.882 307.379 315.539 curveto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-0.333 0.333 1 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-307.379 315.539 M
-307.379 317.196 306.035 318.539 304.379 318.539 curveto
-302.722 318.539 301.379 317.196 301.379 315.539 curveto
-301.379 313.882 302.722 312.539 304.379 312.539 curveto
-306.035 312.539 307.379 313.882 307.379 315.539 curveto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-56.633 45.045 M
-62.633 45.045 lineto
-62.633 51.045 lineto
-56.633 51.045 lineto
-56.633 45.045 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-56.633 45.045 M
-62.633 45.045 lineto
-62.633 51.045 lineto
-56.633 51.045 lineto
-56.633 45.045 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-70.23 45.045 M
-76.23 45.045 lineto
-76.23 51.045 lineto
-70.23 51.045 lineto
-70.23 45.045 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-70.23 45.045 M
-76.23 45.045 lineto
-76.23 51.045 lineto
-70.23 51.045 lineto
-70.23 45.045 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-83.827 45.045 M
-89.827 45.045 lineto
-89.827 51.045 lineto
-83.827 51.045 lineto
-83.827 45.045 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-83.827 45.045 M
-89.827 45.045 lineto
-89.827 51.045 lineto
-83.827 51.045 lineto
-83.827 45.045 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-97.424 45.045 M
-103.424 45.045 lineto
-103.424 51.045 lineto
-97.424 51.045 lineto
-97.424 45.045 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-97.424 45.045 M
-103.424 45.045 lineto
-103.424 51.045 lineto
-97.424 51.045 lineto
-97.424 45.045 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-111.021 45.045 M
-117.021 45.045 lineto
-117.021 51.045 lineto
-111.021 51.045 lineto
-111.021 45.045 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-111.021 45.045 M
-117.021 45.045 lineto
-117.021 51.045 lineto
-111.021 51.045 lineto
-111.021 45.045 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-124.618 98.014 M
-130.618 98.014 lineto
-130.618 104.014 lineto
-124.618 104.014 lineto
-124.618 98.014 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-124.618 98.014 M
-130.618 98.014 lineto
-130.618 104.014 lineto
-124.618 104.014 lineto
-124.618 98.014 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-138.215 98.014 M
-144.215 98.014 lineto
-144.215 104.014 lineto
-138.215 104.014 lineto
-138.215 98.014 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-138.215 98.014 M
-144.215 98.014 lineto
-144.215 104.014 lineto
-138.215 104.014 lineto
-138.215 98.014 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-151.812 98.014 M
-157.812 98.014 lineto
-157.812 104.014 lineto
-151.812 104.014 lineto
-151.812 98.014 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-151.812 98.014 M
-157.812 98.014 lineto
-157.812 104.014 lineto
-151.812 104.014 lineto
-151.812 98.014 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-165.409 98.014 M
-171.409 98.014 lineto
-171.409 104.014 lineto
-165.409 104.014 lineto
-165.409 98.014 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-165.409 98.014 M
-171.409 98.014 lineto
-171.409 104.014 lineto
-165.409 104.014 lineto
-165.409 98.014 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-179.006 98.014 M
-185.006 98.014 lineto
-185.006 104.014 lineto
-179.006 104.014 lineto
-179.006 98.014 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-179.006 98.014 M
-185.006 98.014 lineto
-185.006 104.014 lineto
-179.006 104.014 lineto
-179.006 98.014 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-192.603 203.952 M
-198.603 203.952 lineto
-198.603 209.952 lineto
-192.603 209.952 lineto
-192.603 203.952 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-192.603 203.952 M
-198.603 203.952 lineto
-198.603 209.952 lineto
-192.603 209.952 lineto
-192.603 203.952 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-206.2 203.952 M
-212.2 203.952 lineto
-212.2 209.952 lineto
-206.2 209.952 lineto
-206.2 203.952 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-206.2 203.952 M
-212.2 203.952 lineto
-212.2 209.952 lineto
-206.2 209.952 lineto
-206.2 203.952 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-219.797 203.952 M
-225.797 203.952 lineto
-225.797 209.952 lineto
-219.797 209.952 lineto
-219.797 203.952 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-219.797 203.952 M
-225.797 203.952 lineto
-225.797 209.952 lineto
-219.797 209.952 lineto
-219.797 203.952 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-233.394 203.952 M
-239.394 203.952 lineto
-239.394 209.952 lineto
-233.394 209.952 lineto
-233.394 203.952 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-233.394 203.952 M
-239.394 203.952 lineto
-239.394 209.952 lineto
-233.394 209.952 lineto
-233.394 203.952 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-246.991 217.195 M
-252.991 217.195 lineto
-252.991 223.195 lineto
-246.991 223.195 lineto
-246.991 217.195 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-246.991 217.195 M
-252.991 217.195 lineto
-252.991 223.195 lineto
-246.991 223.195 lineto
-246.991 217.195 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-260.588 283.406 M
-266.588 283.406 lineto
-266.588 289.406 lineto
-260.588 289.406 lineto
-260.588 283.406 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-260.588 283.406 M
-266.588 283.406 lineto
-266.588 289.406 lineto
-260.588 289.406 lineto
-260.588 283.406 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-274.185 283.406 M
-280.185 283.406 lineto
-280.185 289.406 lineto
-274.185 289.406 lineto
-274.185 283.406 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-274.185 283.406 M
-280.185 283.406 lineto
-280.185 289.406 lineto
-274.185 289.406 lineto
-274.185 283.406 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-287.782 283.406 M
-293.782 283.406 lineto
-293.782 289.406 lineto
-287.782 289.406 lineto
-287.782 283.406 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-287.782 283.406 M
-293.782 283.406 lineto
-293.782 289.406 lineto
-287.782 289.406 lineto
-287.782 283.406 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-301.379 283.406 M
-307.379 283.406 lineto
-307.379 289.406 lineto
-301.379 289.406 lineto
-301.379 283.406 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-301.379 283.406 M
-307.379 283.406 lineto
-307.379 289.406 lineto
-301.379 289.406 lineto
-301.379 283.406 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-314.976 309.891 M
-320.976 309.891 lineto
-320.976 315.891 lineto
-314.976 315.891 lineto
-314.976 309.891 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-314.976 309.891 M
-320.976 309.891 lineto
-320.976 315.891 lineto
-314.976 315.891 lineto
-314.976 309.891 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-328.573 309.891 M
-334.573 309.891 lineto
-334.573 315.891 lineto
-328.573 315.891 lineto
-328.573 309.891 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-328.573 309.891 M
-334.573 309.891 lineto
-334.573 315.891 lineto
-328.573 315.891 lineto
-328.573 309.891 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-342.169 309.891 M
-348.169 309.891 lineto
-348.169 315.891 lineto
-342.169 315.891 lineto
-342.169 309.891 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-342.169 309.891 M
-348.169 309.891 lineto
-348.169 315.891 lineto
-342.169 315.891 lineto
-342.169 309.891 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-355.766 309.891 M
-361.766 309.891 lineto
-361.766 315.891 lineto
-355.766 315.891 lineto
-355.766 309.891 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-355.766 309.891 M
-361.766 309.891 lineto
-361.766 315.891 lineto
-355.766 315.891 lineto
-355.766 309.891 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-newpath
-369.363 309.891 M
-375.363 309.891 lineto
-375.363 315.891 lineto
-369.363 315.891 lineto
-369.363 309.891 lineto
-closepath
-fill
-grestore
-gsave
-newpath
-59.633 34.141 M
-59.633 326.133 lineto
-388 326.133 lineto
-388 34.141 lineto
-closepath
-clip
-1 0.333 0.333 setrgbcolor
-2 setlinecap
-10.0 setmiterlimit
-newpath
-369.363 309.891 M
-375.363 309.891 lineto
-375.363 315.891 lineto
-369.363 315.891 lineto
-369.363 309.891 lineto
-closepath
-stroke
-grestore
-gsave
-newpath
-0 0 M
-400 0 lineto
-400 400 lineto
-0 400 lineto
-0 0 lineto
-closepath
-clip
-2 setlinecap
-10.0 setmiterlimit
-0.5 setlinewidth
-newpath
-59.633 34.141 M
-388 34.141 lineto
-388 326.133 lineto
-59.633 326.133 lineto
-59.633 34.141 lineto
-closepath
-stroke
-grestore
-%%Trailer
-%%Pages: 1
-%%EOF
diff --git a/sim/gobs/wiki/rb02.cfg b/sim/gobs/wiki/rb02.cfg
deleted file mode 100644
index e5164c7..0000000
--- a/sim/gobs/wiki/rb02.cfg
+++ /dev/null
@@ -1,59 +0,0 @@
-
-# Simulator configuration
-
-# Basics:
-
-include = rb_output.cfg
-
-# Statistics:
-
-# Rebuild traffic over time analysis:
-plot.traffic.interval = 100
-
-regimen.skip = true
-
-### Parameters for GOBS Simulator run
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 16
-# Number of servers:
-nodes.min = 12
-nodes.max = 16
-# Step through nodes: See AbstractSweep.values()
-nodes.step = literal_20
-# Number of files:
-files = 10
-# Number of faults:
-faults = 3
-# Number of accesses:
-reads = 0
-writes = 0
-# Rebuild transfer rate:
-rebuild.rate = 1000
-
-mttf = 2000
-mttr = 800
-
-### Choose a PlacementScheme implementation:
-
-#impl.placement = Kademlia
-impl.placement = Nearest
-#impl.placement = VertexGroups
-
-vertexgroups.prefix = 6
-# Replica selection: See Replicated.locateSource()
-replica.source = primary
-
-### Choose a NodeScheme implementation:
-
-# impl.nodefactory = RandomNodes
-impl.nodefactory = SimpleNodes
-
-### Choose one of the following FileFactory sections:
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PDSIFiles
-# File size:
-file.pdsi.points = 0.01,1;0.2,1024;1.0,1M
diff --git a/sim/gobs/wiki/rb02.zsh b/sim/gobs/wiki/rb02.zsh
deleted file mode 100755
index ccd55b5..0000000
--- a/sim/gobs/wiki/rb02.zsh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/zsh
-
-CP=${CLASSPATH}:./src
-
-SEED="seed=821"
-{
- java -cp ${CP} gobs.sweep.x.Rebuild02 \
- -n 100 -p sweeps rb02.cfg ${SEED} -o rb02.eps
-} >& rb02.out
diff --git a/sim/gobs/wiki/rb_output.cfg b/sim/gobs/wiki/rb_output.cfg
deleted file mode 100644
index e0c30c4..0000000
--- a/sim/gobs/wiki/rb_output.cfg
+++ /dev/null
@@ -1,18 +0,0 @@
-
-# Basics:
-
-# Print all properties at simulation start
-print.properties = true
-# Print nodes and objects at startup (true/false)
-print.initialnodes = true
-# Print nodes and objects after each rebuild (true/false)
-print.nodes = false
-# Print object tranfers during rebuilds (true/false)
-print.rebuilds = true
-# Print file information (true/false)
-print.files = false
-# Print load change statistics (true/false)
-print.loaddiffs = false
-# Print user accesses
-print.accesses = false
-
diff --git a/sim/gobs/wiki/system_size_100_1000.cfg b/sim/gobs/wiki/system_size_100_1000.cfg
deleted file mode 100644
index a2ca98d..0000000
--- a/sim/gobs/wiki/system_size_100_1000.cfg
+++ /dev/null
@@ -1,25 +0,0 @@
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 32
-# Number of files:
-files = 3000
-# Number of faults:
-faults = 1
-
-# Number of servers:
-step = literal_100,1000
-minNodes = 0
-maxNodes = 0
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PlainFiles
-# File size:
-file.size = 14
-# Strip size:
-file.strip = 4
-# File/object replicas:
-file.replicas = 3
-# Number of objects per file:
-file.width = 10
diff --git a/sim/gobs/wiki/system_size_20-1000.cfg b/sim/gobs/wiki/system_size_20-1000.cfg
deleted file mode 100644
index 6b34218..0000000
--- a/sim/gobs/wiki/system_size_20-1000.cfg
+++ /dev/null
@@ -1,29 +0,0 @@
-
-### System size: servers and files/objects
-### 20-1000 servers, selected exponentially
-### 3000 files * 10 objects * 3 replicas = 90,000 objects
-
-# Number of servers:
-minNodes = 20
-maxNodes = 1000
-step = exps
-
-### General parameters:
-
-# Bit-length of addresses:
-B = 32
-# Number of files:
-files = 3000
-# Number of faults:
-faults = 1
-
-# FileFactory implementation PlainFiles
-impl.filefactory = PlainFiles
-# File size:
-file.size = 14
-# Strip size:
-file.strip = 4
-# File/object replicas:
-file.replicas = 3
-# Number of objects per file:
-file.width = 10
hooks/post-receive
--
Triton Repository
1
0
Triton Repository branch, aesop-dist, updated. 050bd2cf97b72782d97037a0d6018c9c7b3e1e03
by noreply@mcs.anl.gov 16 Dec '11
by noreply@mcs.anl.gov 16 Dec '11
16 Dec '11
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Triton Repository".
The branch, aesop-dist has been updated
via 050bd2cf97b72782d97037a0d6018c9c7b3e1e03 (commit)
from fcb4b33ed3753cbcff8f9da91e74cf966d6da2a2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 050bd2cf97b72782d97037a0d6018c9c7b3e1e03
Author: Phil Carns <carns(a)mcs.anl.gov>
Date: Fri Dec 16 16:21:17 2011 -0500
move resources included with aesop to aesop dir
- right now this is just the timer resource
-----------------------------------------------------------------------
Summary of changes:
code/configure.ac | 4 ++--
code/src/aesop/aesop-support.hae | 2 +-
.../blocking/lonely-pbranch-variable-scope.ae | 5 +++--
.../aesop/parser/tests/blocking/lonely-pbranch.ae | 5 +++--
.../aesop/parser/tests/blocking/lonely-pbranch2.ae | 5 +++--
.../aesop/parser/tests/blocking/lonely-pbranch3.ae | 5 +++--
.../aesop/parser/tests/blocking/lonely-pbranch4.ae | 5 +++--
.../{common => aesop}/resources/timer/module.mk.in | 2 +-
.../resources/timer/test/module.mk.in | 2 +-
.../resources/timer/test/pthread-compare.ae | 2 +-
.../resources/timer/test/timer-cancel.ae | 2 +-
.../resources/timer/test/timer1.ae | 2 +-
.../resources/timer/test/timer2.ae | 2 +-
code/src/{common => aesop}/resources/timer/timer.c | 2 +-
.../{common => aesop}/resources/timer/timer.hae | 0
code/src/aesop/tests/test-hints.ae | 2 +-
16 files changed, 26 insertions(+), 21 deletions(-)
rename code/src/{common => aesop}/resources/timer/module.mk.in (62%)
rename code/src/{common => aesop}/resources/timer/test/module.mk.in (80%)
rename code/src/{common => aesop}/resources/timer/test/pthread-compare.ae (98%)
rename code/src/{common => aesop}/resources/timer/test/timer-cancel.ae (97%)
rename code/src/{common => aesop}/resources/timer/test/timer1.ae (96%)
rename code/src/{common => aesop}/resources/timer/test/timer2.ae (96%)
rename code/src/{common => aesop}/resources/timer/timer.c (99%)
rename code/src/{common => aesop}/resources/timer/timer.hae (100%)
Diff of changes:
diff --git a/code/configure.ac b/code/configure.ac
index d8bc7db..a9a55f3 100644
--- a/code/configure.ac
+++ b/code/configure.ac
@@ -372,8 +372,8 @@ AC_CONFIG_FILES([maint/aecc], [chmod +x maint/aecc])
AC_OUTPUT([Makefile
src/common/module.mk
src/common/libev/module.mk
-src/common/resources/timer/test/module.mk
-src/common/resources/timer/module.mk
+src/aesop/resources/timer/test/module.mk
+src/aesop/resources/timer/module.mk
src/aesop/module.mk
src/aesop/tests/module.mk
src/aesop/parser/module.mk
diff --git a/code/src/aesop/aesop-support.hae b/code/src/aesop/aesop-support.hae
index 81d7056..e4c58e9 100644
--- a/code/src/aesop/aesop-support.hae
+++ b/code/src/aesop/aesop-support.hae
@@ -3,7 +3,7 @@
#include "src/aesop/aesop.h"
#include "src/aesop/resource.h"
-#include "src/common/resources/timer/timer.hae"
+#include "src/aesop/resources/timer/timer.hae"
#define aesop_cancel_branches_wait() \
{ \
diff --git a/code/src/aesop/parser/tests/blocking/lonely-pbranch-variable-scope.ae b/code/src/aesop/parser/tests/blocking/lonely-pbranch-variable-scope.ae
index 14e3a0b..82a8f7d 100644
--- a/code/src/aesop/parser/tests/blocking/lonely-pbranch-variable-scope.ae
+++ b/code/src/aesop/parser/tests/blocking/lonely-pbranch-variable-scope.ae
@@ -1,7 +1,8 @@
+#include <assert.h>
+
#include "src/aesop/aesop.h"
#include "src/aesop/parser/tests/blocking/btest.hae"
-#include <assert.h>
-#include "src/common/resources/timer/timer.hae"
+#include "src/aesop/resources/timer/timer.hae"
static __blocking void lonely_pbranch(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/lonely-pbranch.ae b/code/src/aesop/parser/tests/blocking/lonely-pbranch.ae
index c6564be..ffd0adb 100644
--- a/code/src/aesop/parser/tests/blocking/lonely-pbranch.ae
+++ b/code/src/aesop/parser/tests/blocking/lonely-pbranch.ae
@@ -1,7 +1,8 @@
+#include <assert.h>
+
#include "src/aesop/aesop.h"
#include "src/aesop/parser/tests/blocking/btest.hae"
-#include <assert.h>
-#include "src/common/resources/timer/timer.hae"
+#include "src/aesop/resources/timer/timer.hae"
static __blocking void lonely_pbranch(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/lonely-pbranch2.ae b/code/src/aesop/parser/tests/blocking/lonely-pbranch2.ae
index 7918f90..c264f58 100644
--- a/code/src/aesop/parser/tests/blocking/lonely-pbranch2.ae
+++ b/code/src/aesop/parser/tests/blocking/lonely-pbranch2.ae
@@ -1,7 +1,8 @@
+#include <assert.h>
+
#include "src/aesop/aesop.h"
#include "src/aesop/parser/tests/blocking/btest.hae"
-#include <assert.h>
-#include "src/common/resources/timer/timer.hae"
+#include "src/aesop/resources/timer/timer.hae"
static __blocking void lonely_pbranch(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/lonely-pbranch3.ae b/code/src/aesop/parser/tests/blocking/lonely-pbranch3.ae
index 6958f4b..412b0bd 100644
--- a/code/src/aesop/parser/tests/blocking/lonely-pbranch3.ae
+++ b/code/src/aesop/parser/tests/blocking/lonely-pbranch3.ae
@@ -1,7 +1,8 @@
+#include <assert.h>
+
#include "src/aesop/aesop.h"
#include "src/aesop/parser/tests/blocking/btest.hae"
-#include <assert.h>
-#include "src/common/resources/timer/timer.hae"
+#include "src/aesop/resources/timer/timer.hae"
static __blocking void noop(void)
{
diff --git a/code/src/aesop/parser/tests/blocking/lonely-pbranch4.ae b/code/src/aesop/parser/tests/blocking/lonely-pbranch4.ae
index e1e8d47..8bbd442 100644
--- a/code/src/aesop/parser/tests/blocking/lonely-pbranch4.ae
+++ b/code/src/aesop/parser/tests/blocking/lonely-pbranch4.ae
@@ -1,7 +1,8 @@
+#include <assert.h>
+
#include "src/aesop/aesop.h"
#include "src/aesop/parser/tests/blocking/btest.hae"
-#include <assert.h>
-#include "src/common/resources/timer/timer.hae"
+#include "src/aesop/resources/timer/timer.hae"
static __blocking void lonely_pbranch(void)
{
diff --git a/code/src/common/resources/timer/module.mk.in b/code/src/aesop/resources/timer/module.mk.in
similarity index 62%
rename from code/src/common/resources/timer/module.mk.in
rename to code/src/aesop/resources/timer/module.mk.in
index dae449f..97c1cab 100644
--- a/code/src/common/resources/timer/module.mk.in
+++ b/code/src/aesop/resources/timer/module.mk.in
@@ -1,4 +1,4 @@
-DIR := src/common/resources/timer
+DIR := src/aesop/resources/timer
AESOP_HDR += $(DIR)/timer.hae
diff --git a/code/src/common/resources/timer/test/module.mk.in b/code/src/aesop/resources/timer/test/module.mk.in
similarity index 80%
rename from code/src/common/resources/timer/test/module.mk.in
rename to code/src/aesop/resources/timer/test/module.mk.in
index 40b9fdf..016e252 100644
--- a/code/src/common/resources/timer/test/module.mk.in
+++ b/code/src/aesop/resources/timer/test/module.mk.in
@@ -1,4 +1,4 @@
-DIR := src/common/resources/timer/test
+DIR := src/aesop/resources/timer/test
AETESTSRC += $(DIR)/timer1.ae \
$(DIR)/pthread-compare.ae \
diff --git a/code/src/common/resources/timer/test/pthread-compare.ae b/code/src/aesop/resources/timer/test/pthread-compare.ae
similarity index 98%
rename from code/src/common/resources/timer/test/pthread-compare.ae
rename to code/src/aesop/resources/timer/test/pthread-compare.ae
index 3bbfab3..8e44e29 100644
--- a/code/src/common/resources/timer/test/pthread-compare.ae
+++ b/code/src/aesop/resources/timer/test/pthread-compare.ae
@@ -2,7 +2,7 @@
#include <sys/time.h>
#include "src/aesop/aesop.h"
-#include "src/common/resources/timer/timer.hae"
+#include "src/aesop/resources/timer/timer.hae"
triton_mutex_t mutex = TRITON_MUTEX_INITIALIZER;
diff --git a/code/src/common/resources/timer/test/timer-cancel.ae b/code/src/aesop/resources/timer/test/timer-cancel.ae
similarity index 97%
rename from code/src/common/resources/timer/test/timer-cancel.ae
rename to code/src/aesop/resources/timer/test/timer-cancel.ae
index ba66955..2925c1b 100644
--- a/code/src/common/resources/timer/test/timer-cancel.ae
+++ b/code/src/aesop/resources/timer/test/timer-cancel.ae
@@ -1,7 +1,7 @@
#include <stdio.h>
#include "src/aesop/aesop.h"
-#include "src/common/resources/timer/timer.hae"
+#include "src/aesop/resources/timer/timer.hae"
#include "src/aesop/aesop-support.hae"
static __blocking int dotimer(void)
diff --git a/code/src/common/resources/timer/test/timer1.ae b/code/src/aesop/resources/timer/test/timer1.ae
similarity index 96%
rename from code/src/common/resources/timer/test/timer1.ae
rename to code/src/aesop/resources/timer/test/timer1.ae
index 8a71f0a..3dd815b 100644
--- a/code/src/common/resources/timer/test/timer1.ae
+++ b/code/src/aesop/resources/timer/test/timer1.ae
@@ -1,7 +1,7 @@
#include <stdio.h>
#include "src/aesop/aesop.h"
-#include "src/common/resources/timer/timer.hae"
+#include "src/aesop/resources/timer/timer.hae"
static __blocking int dotimer(void)
{
diff --git a/code/src/common/resources/timer/test/timer2.ae b/code/src/aesop/resources/timer/test/timer2.ae
similarity index 96%
rename from code/src/common/resources/timer/test/timer2.ae
rename to code/src/aesop/resources/timer/test/timer2.ae
index 675b52c..9d7dd3b 100644
--- a/code/src/common/resources/timer/test/timer2.ae
+++ b/code/src/aesop/resources/timer/test/timer2.ae
@@ -1,7 +1,7 @@
#include <stdio.h>
#include "src/aesop/aesop.h"
-#include "src/common/resources/timer/timer.hae"
+#include "src/aesop/resources/timer/timer.hae"
int exit_loop = 0;
diff --git a/code/src/common/resources/timer/timer.c b/code/src/aesop/resources/timer/timer.c
similarity index 99%
rename from code/src/common/resources/timer/timer.c
rename to code/src/aesop/resources/timer/timer.c
index 8fec89a..310f249 100644
--- a/code/src/common/resources/timer/timer.c
+++ b/code/src/aesop/resources/timer/timer.c
@@ -10,7 +10,7 @@
#include "src/aesop/aesop.h"
#include "src/aesop/op.h"
#include "src/aesop/opcache.h"
-#include "src/common/resources/timer/timer.h"
+#include "src/aesop/resources/timer/timer.h"
#include "src/common/libev/ev.h"
/* NOTES:
diff --git a/code/src/common/resources/timer/timer.hae b/code/src/aesop/resources/timer/timer.hae
similarity index 100%
rename from code/src/common/resources/timer/timer.hae
rename to code/src/aesop/resources/timer/timer.hae
diff --git a/code/src/aesop/tests/test-hints.ae b/code/src/aesop/tests/test-hints.ae
index 4bd528b..291d94e 100644
--- a/code/src/aesop/tests/test-hints.ae
+++ b/code/src/aesop/tests/test-hints.ae
@@ -1,6 +1,6 @@
#include "src/aesop/aesop.h"
-#include "src/common/resources/timer/timer.hae"
+#include "src/aesop/resources/timer/timer.hae"
__blocking void do_blocking3(void)
{
hooks/post-receive
--
Triton Repository
1
0